SSD'nin Nand silme blok boyutunu nasıl belirleyebilirim?


14

Son zamanlarda Crucial M500 240GB SSD (20nm NAND) aldım ve bölmenin en iyi yolunu bulmaya çalışıyorum. Şu anda fdisk -cusektörde başlamayı kullanıyorum 2048.

Ben nand page size16KB olduğuna inanıyorum .

Bunun ne nand erase block sizeolduğunu hiçbir yerde bulamıyorum .

Bu sorunun cevabını veya bu özel SSD serilerini bölümlere ayırmaya ilişkin genel tavsiyeyi bilen var mı?


1
Sürücünün açılması ve NAND çiplerindeki parça numaralarının Google'da aranması gerekebilir.
LawrenceC

Yanıtlar:


9

Bu bilgiler bazen SSD üreticisinin teknik özelliklerinde yayınlanır, ancak diğer zamanlarda özellikle CF veya SD bellek kartları için mevcut değildir. Araştırmayı yapan başka birini aramak için Google'ı kullanmanın dışında, FlashBench'i kullanarak kendiniz tahmin etmeye çalışabilirsiniz. Buradan indirin: https://github.com/bradfa/flashbench

Bu araç bir SSD üzerinde rastgele okumalar yapar ve okuma sürelerini gösteren bir tablo çizer. (SSD'ye zaten bazı yazılar yazmış olmalısınız, çünkü tamamen silinen sayfaları okumak genellikle denetleyici yongası tarafından simüle edilir.) Blok boyutuna göre zaman aralarını arayarak silme blok boyutunun ne olduğunu çıkarabilirsiniz. İşte bir örnek README:

== Sanırım blok ve sayfa boyutlarını sil ==

''flashbench -a <device>''

Bu, çeşitli boyutlardaki sınırlar boyunca küçük okumalar yapan basit bir salt okunur testtir. Misal:

$ sudo ./flashbench -a /dev/mmcblk0  --blocksize=1024
align 134217728 pre 735µs       on 1.08ms       post 780µs      diff 324µs
align 67108864  pre 736µs       on 1.05ms       post 763µs      diff 300µs
align 33554432  pre 722µs       on 1.04ms       post 763µs      diff 294µs
align 16777216  pre 727µs       on 1.05ms       post 772µs      diff 302µs
align 8388608   pre 724µs       on 1.04ms       post 768µs      diff 299µs
align 4194304   pre 741µs       on 1.08ms       post 788µs      diff 317µs
align 2097152   pre 745µs       on 950µs        post 811µs      diff 171µs
align 1048576   pre 745µs       on 945µs        post 807µs      diff 169µs
align 524288    pre 743µs       on 936µs        post 799µs      diff 165µs
align 262144    pre 746µs       on 948µs        post 809µs      diff 171µs
align 131072    pre 737µs       on 935µs        post 804µs      diff 165µs
align 65536     pre 735µs       on 925µs        post 796µs      diff 159µs
align 32768     pre 735µs       on 925µs        post 800µs      diff 157µs
align 16384     pre 745µs       on 911µs        post 781µs      diff 148µs
align 8192      pre 785µs       on 808µs        post 725µs      diff 53.3µs
align 4096      pre 784µs       on 788µs        post 779µs      diff 5.85µs
align 2048      pre 787µs       on 793µs        post 789µs      diff 4.65µs

Bu, iki hizalanmış bloğun gücü sınırları çevresinde iki 1024 bayt okuma yapmak için erişim sürelerini gösterir. 128 MB'lık bir birimin sonunda okuma işlemi yaklaşık 735 mikrosaniye sürer, bu birimin son bloğunu bir sonrakinin ilk bloğu ile birlikte okumak yaklaşık 1080 mikrosaniye sürer ve 128 MB'lik bir birimdeki ilk iki bloğu okumak 780 mikrosaniye sürer.

Buradaki en ilginç sayı sonuncusu, ikinci sayı ile birinci ve üçüncünün ortalaması arasındaki fark 324 mikrosaniyedir. Bu sayılar, 4 MB ile 128 MB arasındaki tüm birimler için kabaca aynı kalır.

Ancak, 2 MB'den 16 KB'ye kadar, son sütunun değeri çok daha düşüktür. Bu, hafıza kartının 4 MB sınırında ne yaparsa yapsın diğer sınırlarda gerçekleşmediğini gösterir. Buradaki eğitimli tahmin, 4 MB'nin, segment veya ayırma birimi boyutu olarak da adlandırılan silme bloğu boyutu olmasıdır. Bu silme blok boyutu, bunu izleyen diğer testlerde kullanılmalıdır.

Benzer şekilde, hem 16 KB hem de 8 KB sınırları özeldir. Bunun mantıklı açıklaması, kartın 8 KB sayfasının olması, ancak aynı anda iki 8 KB sayfayı okumak için çok düzlemli erişimleri kullanabilmesidir.

Bazı kartlar yalnızca belirli blok boyutlarındaki girişleri kullanarak net bir desen gösterirken, diğer kartlar herhangi bir desen göstermez, yani sayıların farklı belirlenmesi gerekir.

Ayrıca, önceden tam olarak yazılmamış kartlar farklı bir davranış gösterebilir, çünkü önceden silinmiş segmentlerdeki erişim süreleri yazılanlardan farklıdır.


2

Başka bir girişim, herhangi bir pratik blok boyutunun çarpımı olan bir sınır üzerinde hizalamaktır.

Bu kavramla, 1MB sınırında hizalamak en yaygın olanıdır, bu nedenle blok boyutunun 4 veya 16kb olması önemli değildir; bunların hepsi birden fazla 2M ve 1M'nin altında olacak, böylece bu sınıra uyum sağlamak hepsine uyacak.

Ancak, bu kavramı uygulamak neyi hizaladığınıza bağlıdır; yığın bir depolama aygıtının başında 1MB kaybetmek tamamen kabul edilebilir bir durumdur ve farklı bir senaryoda birçok kez kaybedilmeyebilir.


1

Silme bloğu boyutunun hizalama üzerinde bir etkisi yoktur ve M500 çöp toplamayı destekler, bu nedenle performans bir sorun değildir. M500'inizde kullanılan NAND'ye göre silme blok boyutunu belirlemenize yardımcı olacak mikron'un sitesinden bu PDF'nin 2. sayfasına bakın .

Hizalama tavsiyesine göre, lütfen bu harika Superuser Post'a göz atın .

Sayfanın ekran görüntüsü: resim açıklamasını buraya girin


2
Bu durumda, bu diyagramda silme bloğu boyutu nerede verilecektir?
hbogert
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.