Seagateのハイブリッドディスクを使ってみる

動機

搭載されたフラッシュ部分がHDDへのライトバックキャッシュとして動作しているかを確認する。
高速なストレージが求められている場面ではSSDを使うのがもはや定石になりつつあるのだけど、容量やビット単価から導入しにくい場面もある。データベースなどで数百GBの規模になっており、今から分割するのが困難な場合など。通常はその場合、BBU付きのRAIDカードなどで書き込み性能を補うのだが、これもやはり高価だったりする。そこでハイブリッドディスクへの交換のみで同期書き込みの性能向上を図ることができるかを確認する。
RAIDカードのキャッシュは通常512MBのものが多いなか、この製品ではフラッシュ部分に4GBのSLCを使っている。

価格

ドスパラで320GBの物を約13kで購入。これは同じくSeagateの2.5インチSATA 320GBのディスクが5k前後で購入できることを考えると、2倍以上のビット単価である。恐らく競合はSSDであると見込んでいるのであろうSSDとの比較ではIntelのX25-Vが価格的には一番近く、40GBで10k前後。

製品名 サイズ 価格(ドスパラ調べ) GB単価(円)
Momentus XT 320G 12980 40.6
Momentus 7200.4 320G 4980 15.6
X25-V 40G 10470 261.8

SSDは高価だと感じるけどHDDそのままでは嫌だという層に向けた製品のようなので、値段もまさにそのような位置付け。HDDの約2.5倍、SSDの1/6程度

条件

シーケンシャルリード

Barracuda LP
Timing buffered disk reads: 332 MB in 3.01 seconds = 110.14 MB/sec
Momentus XT
Timing buffered disk reads: 278 MB in 3.01 seconds = 92.33 MB/sec

2.5インチにしては健闘しているか。5400rpmの低消費電力のディスクにすら負けているとも言える。

ランダムI/O

sysbenchのfileioモードを使って測定した。データサイズは256MBと8GB、アクセスパターンはrndrd,rndwr,rndrw、ページキャッシュの影響を排除するためdirect i/oにしてフラッシュ部分にデータが乗るよう初回の実行は捨てて2回目で測定。

データサイズ アクセスパターン I/O発行回数 アクセス時間の95%tile
256M rndrd 217.15 45.77ms
256M rndrw 178.44 78.54ms
256M rndwr 252.90 24.11ms
8G rndrd 149.31 64.50ms
8G rndrw 172.62 77.65ms
8G rndwr 197.67 28.33ms

と、まあ全然速くない。かろうじてフラッシュが乗っていることを実感できるのはアクセス時間の最小値が0.15msから0.25msぐらいになるということ。OS側のキャッシュが効かない条件での測定なのでこの数字は純粋にドライブ自体のキャッシュが効いているものと言える。普通の3.5インチのドライブに対しても同様の測定を行なったが、最小値はおおむねドライブのベア性能が見えただけなのでここだけは高速化が顕著に出ている。

総評

このドライブはデータベースなどを置くためのものというより、通常のPCで使ったときにパフォーマンスが伸びることをうたっているので今回の測定はそもそも不適当だったのだがそれを差し引いても若干失望するほどの性能。宣伝では主記憶をキャッシュ容量分(4GB)増やすよりは小さなコストでより近い効果を発揮できるとしている。今回の測定結果を見る限りでは、SLCのセルを使っているというフラッシュ部分もそれほど速くはないか、アルゴリズムが単純ではないため簡単に効果を得るのは難しそうである。宣伝にあるOS起動時のスピードアップなどは、主記憶を増やしても効果を実感し難い場面でありこのドライブの不揮発フラッシュの効果が見えそうな場面ではある。
そもそもの動機であったライトバック動作をしているか否かについては、アクセス時間の最小値からしているように見受けられる。しかし、フラッシュ部分全体を単純にライトバックキャッシュとして使わないためか、あるいはそもそもフラッシュ部分が遅いのかいまひとつ性能の向上への寄与が小さいように思われる。
ただし、今回の測定結果はこの製品の主たるターゲットであるPCでの利用での性能が低いことを示すものではありません。

追記

このディスクはアイドル状態のときに直前にアクセスしたデータをフラッシュ部に移しているのではないかという情報を得たので追試

  • データを作成
  • ランダムリードでそのファイルへアクセス
  • 300秒待つ
  • データファイルへランダムアクセス

という順序。
それぞれ毎秒でのI/Oの発行回数

データサイズ アクセスパターン 前回の測定結果 今回の結果
256M rndrd 217.15 566.83
256M rndrw 178.44 223.17
256M rndwr 252.90 198.23
8G rndrd 149.31 144.08
8G rndrw 172.62 135.98
8G rndwr 197.67 162.78