私は最近、Crucial M500 240GB SSD(20nm NAND)を手に入れました、そしてそれを分割する最良の方法を見つけようとしています。現在、セクターfdisk -cu
から2048
を使用しています。
nand page size
は16KBだと思います。
nand erase block size
の用途がどこにもありません。
この特定のシリーズのSSDをパーティション分割することについての答えや一般的なアドバイスを知っている人はいますか?
この情報は、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ページを同時に読み取ることができるということです。
一部のカードは特定のブロックサイズのアクセスを使用して明確なパターンを表示するだけですが、他のカードはパターンを表示しないため、数値を異なる方法で決定する必要があります。
また、完全に書き込まれなかったカードは、事前に消去されたセグメントへのアクセス時間が書き込まれたものと異なるため、異なる動作を示す場合があります。
別の試みは、実際のブロックサイズの倍数である境界に合わせることです。
この概念では、1MBの境界に揃えることが最も一般的であるため、ブロックサイズが4kbであるか16kbであるかは関係ありません。これらはすべて2と1M未満のマルチプライになるので、その境界で整列すると、すべてに適合します。
ただし、この概念の適用は、何を調整するかによって異なります。大容量記憶装置の開始時に1MBを失うことは完全に許容できますが、別のシナリオでは何回も失うことはできない場合があります。
消去ブロックサイズはアライメントに影響を与えません。M500はガベージコレクションをサポートしているため、パフォーマンスは問題になりません。 M-500で使用されているNANDに基づいて消去ブロックサイズを決定するのに役立つ this PDF micron's site の2ページ目を参照してください。
アラインメントのアドバイスに関しては、これをチェックしてください fantastic Superuser Post 。
これがページのスクリーンショットです。