SSDのNand消去ブロックサイズを確認する方法


14

私は最近、Crucial M500 240GB SSD(20nm NAND)を手に入れました、そしてそれを分割する最良の方法を見つけようとしています。現在、私はfdisk -cuセクターから使用しています2048

nand page size16KB だと思います。

私はそれが何であるかをどこにも見つけることができませんnand erase block size

この特定のシリーズのSSDをパーティション分割することについての答えや一般的なアドバイスを知っている人はいますか?


1
ドライブを開き、NANDチップの部品番号をグーグルにする必要がある場合があります。
LawrenceC

回答:


7

この情報は、SSD製造元の仕様で公開されることもありますが、特にCFまたはSDメモリカードの場合は、公開されないこともあります。Googleを使用して調査を行った他の誰かを検索するのではなく、FlashBenchを使用して自分で推定することができます。ここからダウンロード:https : //github.com/bradfa/flashbench

このツールはSSDをランダムに読み取り、読み取り時間を示すテーブルをプロットします。(SSDへの書き込みは既に完了しているはずです。すべての消去されたページの読み取りは、コントローラーチップによってシミュレートされることが多いためです。)ブロックサイズで時間の中断を探すことで、消去ブロックサイズを推測できます。ここにサンプルがありREADMEます:

==消去ブロックとページサイズを推測します==

''flashbench -a <device>''

これは、さまざまなサイズの境界を越えて小さな読み取りを行う単純な読み取り専用テストです。例:

$ 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

これは、2の累乗のアラインされたブロックの境界の周りで2つの1024バイトの読み取りを実行するためのアクセス時間を示しています。128 MBユニットの最後の読み取りには約735マイクロ秒かかり、このユニットの最後のブロックと次のブロックの最初のブロックを一緒に読み取るには約1080マイクロ秒かかり、128 MBユニットの最初の2つのブロックを読み取るには約780マイクロ秒かかります。

ここで最も興味深い数字は最後の数字で、2番目の数字と最初と3番目の平均の差は324マイクロ秒です。これらの数値はすべて、4 MBから128 MBまでのすべてのユニットでほぼ同じです。

ただし、2 MBから16 KBまで、最後の列の値ははるかに低くなっています。これは、4 MB境界でメモリカードが行うことは他の境界では発生しないことを示しています。ここでは、4 MBは消去ブロックサイズであり、セグメントまたはアロケーションユニットサイズとも呼ばれます。この消去ブロックサイズは、これに続く他のテストで使用する必要があります。

同様に、16 KBと8 KBの境界はどちらも特別です。これについての論理的な説明は、カードには8 KBページがありますが、マルチプレーンアクセスを使用して2つの8 KBページを同時に読み取ることができるということです。

一部のカードは特定のブロックサイズのアクセスを使用して明確なパターンを表示するだけで、他のカードはパターンを表示しません。つまり、数を異なる方法で決定する必要があります。

また、完全に書き込まれなかったカードは、事前に消去されたセグメントのアクセス時間が書き込まれたものとは異なるため、異なる動作を示す場合があります。


2

もう1つの試みは、実際のブロックサイズを乗算した境界に合わせることです。

このコンセプトでは、1MBの境界で整列するのが最も一般的であるため、ブロックサイズが4kbであるか16kbであるかは関係ありません。これらはすべて2と1M未満のマルチプライになるので、その境界に位置合わせすると、すべてに適合します。

ただし、この概念の適用は、何を調整するかによって異なります。大容量記憶装置の開始時に1MBを失うことは完全に許容できますが、別のシナリオで何回も失うことは受け入れられない場合があります。


1

消去ブロックのサイズはアライメントには影響せず、M500はガベージコレクションをサポートしているため、パフォーマンスは問題になりません。M500で使用されているNANDに基づいて消去ブロックサイズを決定するのに役立つ、micronのサイトからこのPDFの 2ページ目を参照してください。

アラインメントのアドバイスに関しては、この素晴らしいスーパーユーザー投稿をチェックしてください。

これがページのスクリーンショットです。 ここに画像の説明を入力してください


2
この場合、この図のどこに消去ブロックサイズを指定するのでしょうか。
hbogert 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.