2009年8月13日木曜日

USBフラッシュメモリはストライピングで高速化するか?

先日、偶然にもほぼ同じ性能のフラッシュメモリが3個手に入ったので、ソフトウェアストライピングがどこまで有効なのかを検証してみる事にしました。ちなみに、購入金額は1個あたり100円(笑)。検証環境としてはPowerBookG4/12"/1GHzモデルのUSB2.0ポートに、4ポートのバスパワーハブを接続して、フラッシュメモリを装着。ストライピングのRAIDセットを構築した後に、XBench1.3によるベンチマークを実行しています。ちなみに、使用したフラッシュメモリはバッファロー社のRUF2-E1GL-BLで、約1GBの容量です。フォーマットはleopard環境下でディスクユーティリティを用い、RAIDでストライピングRAIDセットを構築しています。従って、ほぼ完全なソフトウェアRAIDと言う事になります。
なお、グラフ化に当たっては、転送速度そのものをベースにして行ない、フォーマット等も標準状態で設定されています。


シーケンシャルアクセスの結果を見ると、ライトは2個によるストライピングが高速と言う結果がでており、意外にも3個使いの場合はそれほど高速とは言えません。リードについては3個使いが最速を維持したため、総合評価は3個使いが取りましたが、2個使いも善戦しています。ただ、4KBlock時のリードが一個使いよりも遅い事から、ファイルの容量によって、実際の転送時間等はかなり大幅にかわってくると推測されます。それ以外は、全体としてはストライピングが有効であると判断できます。




一方、ランダムアクセスでは、シーケンシャルアクセスとは違った結果がでています。256KBlockのリードはシーケンシャルと同傾向ですが、それ以外は1個使いが健闘しています。設定を変えれば違う結論になるのかもしれませんが、少なくともランダムアクセスに限れば、大容量のファイルの取り扱い以外であれば、ストライピングである意味は見いだせない事になります。
通常で購入する金額を考えると、コストパフォーマンス的にはよくないとしか言えない結論になります。2個使ったら2倍になるとか、3個だと3倍になるなんて言う結果がでれば良かったのですが、思ったよりものびない結果となっています。