10/10/10 23:03:35 Fg1qdVm7
ついにねんがんのSSD(SSDN-ST64B/東芝HG2 OEM)を手に入れて
URLリンク(thunk.org)
のページとか見ながらSSDの扱い方を実験してるんですが、その後も
- メーカが努力してるから512B/sectorとして使うのでOKだよ
- マテ、チップ1つでも16KB/pageとかなんだからそれに合わせろよ
- いやいや、並列チャネル数分は掛け算して16*16=256KBとかにしろよ
- いやいや、消去ブロックサイズは32pageだから更にx32程じゃないの?
とか諸説あるようで、自分のSSDをどう構成するのが一番よいのか判断付かず困りました。
自分で実験してみると、ストレートに書いた場合の最高性能は256-512KB/block付近で
hdparm -t近く出るので
並列チャネル論が正しく、かつ、ブロック消去は非同期に行われる。よって
イレースブロックサイズは考えず、ページサイズとチャネル数を推測できればよい。
が有力なんですが、一方でわざとアライメントを外したデータでテストすると
512B-1/blockから2KB-1/blockの書き込みが妙に高効率(アライメントが揃う
場合と等速)の上、4KB-1から16KB-1/blockのアクセスで突然半減します。
挙動としては8KBのブロックが中にあって、だからそこからわずかにアライメントが
ずれるケースで境界を跨ぎまくって最悪効率になってるような動き。
いまの所、mkfsでは4KB/inode(挙動的には8KB/inodeだけど、これはたぶんLinuxの側でネックになる)にして
stripe-widthを256KBか512KBにする構成が自分のSSDにはよさそうだ、となったのですが、
他の人はどうやってSSDの構成チェックしてるんでしょうか?何かアホみたいに面倒で・・・