HOME > PC > SSD vs. HDD > SandForce

English


SandForce controller SSD のベンチマークテスト結果 



2010年1月30日にSandForce controller採用のSSD「G-Monster2 SFV1」が発売されたが、100GBで約7万5千円と高額で、その後紹介されたOCZ「SSD2-1VTXLE200G」も200GBで約9万円と高額であった。
2010年5月26日なって、やっと、SandForce controller採用のOCZ Vertex 2 シリーズが50GBで2万円以下の購入しやすい価格発売となった。公称スペックは驚異的な高速スペックで(特にライト)、リード最大285MB/s、ライト最大275MB/sである。

「SSDの最大連続書込速度=NAND素子の最大書込速度×チャンネル数」

という自明の理があり、SSDのモジュール内のパーツの物理的構成によりSSDのインターフェースでの最高速度が決定され、最高速度自体には本来自ずと限界があるが、実用段階においては、これより遅いものをこれに近づけたり、これを速く見せかけたりして、操作上の体感速度を向上させることができるし、インターフェースでの律速段階(bottleneck)を取り除いてSSDモジュールの本来持てる速度を最大限に利用することもできる。

最高速度より遅いものを最高速度に近づける方法としては、4KBの小さなデータでも512KBの1ブロックに記録したりしたためRandomの書き込み速度が遅かったもの(JMF602)を、細かいデータをまとめて書き込む(=Write amplificationの改善)ことによって書き込み速度を回復させるX25-M G1・G2やToshiba SSDがあり、これが現在主流である。

他に速くする方法としては、従来から行われていたものとしてはcacheの利用があり、ハード的にはSSDにDRAM cacheを搭載したり(IndilinxJMF612)、RAIDカードなどで大きなcacheのあるものを利用したり(Areca)、ソフト的には接続はIDEのままでdriverを変更してマザーボードのRAM cacheを利用するもの(電机本舗 driver)や、applicationを利用してRAM cacheを利用するもの(FlashFireMach-Drive)、ハード・ソフト両者を利用するものとして接続をAHCIとしてIMSM(Intel Matrix Storage Manager)・IRST(Intel Rapid Storage Technology Driver)などのdriverを用いてRAM cacheを利用するX25-M G2のRandom 4KB QD32などがあった。

接続インターフェースでの律速段階(bottleneck)を取り除くものとしてはSATA 6Gbpsを利用するRealSSD C300がある。SATA 6GbpsのPCIe接続カードを利用した場合には、現状ではRAID 0でチャンネル数を増やしかつ接続方法をPCIe接続にして転送速度を向上させるRAIDカードを利用したシステムに実用上近いと言え、マザーボード自体にSATA 6Gbpsのインターフェースが搭載されていなければ、RAIDカードを利用したシステムとほぼ同じ原理とも言え、現時点ではAreca ARC-1231MLなどのRAIDカードと複数のSSDを使った方が、RealSSD C300単体より当然の事ながら高速ベンチが得られている。

充分に圧縮されたデータやrandomのデータでは不可能な方法であるが、圧縮可能なデータでは、データを圧縮して転送することによってSSDの最大連続書込速度をSSDの物理的最高速度より速く見せかける方法がある。これを利用したものとして、今回、SandForce controllerのSSDが発売され、2010年5月には安価になってきたので、1個購入して、2010年6月5日にベンチマークテストと簡単な実用テストを行ってみました。


§1. ベンチマークテスト (Benchmarks)

最初に使用した実験用パソコンのスペックは次の通りです。
 CPU: Core 2 Duo E8600 3.33GHz, 1333MHz FSB, 6MB L2 cache
 RAM: Samsung M378T5663RZ3-CF7 DDR2 PC6400 2GB × 4枚
 Northbridge: Intel P45
 Southbridge: Intel ICH10R
 Motherboard: GIGABYTE EP45-DS3R
 Boot SSD: CSSD-PM32NL IDE接続
 GFX: GIGABYTE GeForce 7300GS (nVIDIA 7300GS)
 Powered by: GOURIKI-P-550A
 OS: WinXP SP1

@最初に、ファイルシステムはすべてNTFSとしてVertex 2をSATA 3Gbps IDEモードで接続し、CrystalDiskMark 3.0 Alpha3 で計測サイズを @a 100MB・@b 1000MB としてベンチマーク測定を行ってみました。

@a 100MB @b 1000MB

@CrystalDiskMark 3.0 Alpha3 の100MBでの計測結果は Sequential Read が 175.2MB/s Sequential Write が 98.46MB/s、1000MBでの計測結果は Sequential Read が 171.8MB/s Sequential Write が 99.47MB/s でした。

価格.comのスレ主のクチコミ「期待してたのに」と同じ結果。クチコミの通りIndilinx並である。しかも、NCQも効いていない。そこでBoot SSDを交換して、次の実験システムにしてみた。

 CPU: Core 2 Duo E8600 3.33GHz, 1333MHz FSB, 6MB L2 cache
 RAM: Samsung M378T5663RZ3-CF7 DDR2 PC6400 2GB × 4枚
 Northbridge: Intel P45
 Southbridge: Intel ICH10R
 Motherboard: GIGABYTE EP45-DS3R
 Boot SSD: ANS-9010 (2ポートRAID 0でIMSM導入済みのもの) SATAポートはRAID接続
 GFX: GIGABYTE GeForce 7300GS (nVIDIA 7300GS)
 Powered by: GOURIKI-P-550A
 OS: WinXP SP2

ASandForce搭載Vertex2をファイルシステムはNTFSでSATA 3Gbps RAID(AHCI)モード接続、CrystalDiskMark 3.0 Alpha3 で計測サイズ @a 100MB・@b 1000MB にてベンチ測定した。

Aa 100MB Ab 1000MB

ARandom 4KのQD32は向上し、NCQ対応らしいベンチ結果になったが、Sequential Write は遅くIndilinxやX25-M並である。圧縮不可能なデータではこれが限界である。

CrystalDiskMark 3.0 では、圧縮困難なrandomなデータだけではなく、圧縮可能な 0 fill や 1 fill で転送速度を測定することが可能になった。

B今度は、SandForce搭載Vertex2をファイルシステムはNTFSでSATA 3Gbps RAID(AHCI)モード接続、CrystalDiskMark 3.0.0d の 0 fill で計測サイズ Ba 100MB・Bb 1000MB にてベンチ測定した。

Ba 100MB Bb 1000MB

BCrystalDiskMark 3.0.0d の100MBでの計測結果は Sequential Read が 269.8MB/s Sequential Write が 263.5MB/s、1000MBでの計測結果は Sequential Read が 268.7MB/s Sequential Write が 263.9MB/s となり、やっと公称スペックに近いベンチ結果が得られた。公称スペックは圧縮可能なデータの場合における最大限に圧縮された場合の最大転送速度であることがわかった。
(エルミタージュ秋葉原の紹介記事が詳細であるが、私の結果とこの記事の結果はRandom Write 4KB QD32の結果だけ相違がある。後述するblog内容と関連するが、Southbridgeのdriverの違いによるものであろう。Standard Microsoft Windows 7 driversの方は注意が必要かもしれない。)

C0fillと1fillでベンチマークに差があるのか念のため確認してみたが、両者のベンチ結果はほぼ同じであった。

Ca 0fill Cb 1fill

C話題が少しそれるが、私はCrystalDiskMark 3.0.0が出て、SSD使いにとっては便利な世の中になったと思う。今までは、SecureEraseにもTRIMにも対応していないSSDの速度回復には、デフラグ後大きなファイルを書き込んでそれを0fillで消去するしか速度回復の手だてがなかった。もうWeb siteは消滅したが、当たりのよかったMtronはSLCなので私の寿命やエジプトのミイラの寿命より長くて西暦9838年まで使えるものもあって、SSDだけ製造会社より長寿命で困りものである。そこで、このSSDをdefragglerでデフラグ後、CrystalDiskMark 3.0.0でtest sizeを4GBとしてSequentialの 0fill 1回計測テストを行うだけで4GB分のTRIMを発行したこととなり、実用上4GB分を簡単に速度回復できるのでいい時代になったと思いました。(しょっちゅうAllで5回計測して楽しんでいる方から見れば「お安い御用」だと推測します。)ただしMtronがSandForceの様に圧縮記録していなければの話ですが、たぶん大丈夫でしょう。


DCrystalDiskInfo 3.1.1のデータを見てリードエラーレートが赤信号で、健康状態が「危険」と出て驚くが、2010年5月30日のCrystalDiskInfo 3.6.0を用いて確認すると健康状態は「正常」と出るので問題はない。

CDI 3.1.1 CDI 3.6.0

また、SandForce controller採用のSSD「Gmonster2 SFV1」でSecureErase未対応との記事があったが、Vertex2では SecureErase実行直前に「enhanced secure erase」対応の表示は出ないが "This drive supports the security set features" と出るので対応していそうであるが、1個しか持っていないのでまだ実行はしていない。
SandForce controller採用のSSDは他に Mach Xtreme TechnologyPatriot からも発売されている。
Mach Xtreme Technologyの製品については、SecureEraseを実行してS.M.A.R.T.のデータに異常が出たという報告がある。


§2. 実用テスト

E最後に実用試験として、「読書交錯遅延倍率(DelayRatio)」(仮称) の測定を行ってみました。
実験方法の詳細についてはリンク先をご覧下さい。

Ea OCZ Vertex 2 MLC 50GB 1個単体の結果:
「コピー&ペースト(C&P)」2回の用手計測データ: 128.64s 132.62,「Write(W)」43.75s 43.39s,「Read(R)」43.61s 41.79s
「コピー&ペースト(C&P)」平均値: 130.63s,「Write(W)」43.57s,「Read(R)」42.70s
RAM disk の読み書き分を引いて 「コピー&ペースト(C&P)」128.64s,「Write(Wnet)」42.75s,「Read(Rnet)」41.34s
「読書交錯遅延倍率(DelayRatio)」: 「読書交錯遅延倍率(DelayRatio)」=(C&P)/{(Wnet)+(Rnet)}=(C&P)/{(W-0.82)+(R-1.36)}=1.53

過去に同じ実験をしてみたSSDやHDDのデータを比較のため下に小さなフォントで再掲します。

Eb OCZ Core V2 MLC 30GB 1個単体 (JMF602):
「コピー&ペースト(C&P)」2回の用手計測データ: 294.79s 292.55,「Write(W)」47.53s 47.97s,「Read(R)」36.79s 31.25s
「コピー&ペースト(C&P)」平均値: 293.67s,「Write(W)」47.75s,「Read(R)」34.02s
RAM disk の読み書き分を引いて 「コピー&ペースト(C&P)」293.67s,「Write(Wnet)」46.93s,「Read(Rnet)」32.66s
「読書交錯遅延倍率(DelayRatio)」: 「読書交錯遅延倍率(DelayRatio)」=(C&P)/{(Wnet)+(Rnet)}=(C&P)/{(W-0.82)+(R-1.36)}=3.69

Ec OCZ Vertex (Indilinx)MLC 30GB 1個単体:
「コピー&ペースト(C&P)」2回の用手計測データ: 156.33s 156.08,「Write(W)」47.30s 45.18s,「Read(R)」24.88s 21.88s
「コピー&ペースト(C&P)」平均値: 156.21s,「Write(W)」46.24s,「Read(R)」23.38s
RAM disk の読み書き分を引いて 「コピー&ペースト(C&P)」156.21s,「Write(Wnet)」45.42s,「Read(Rnet)」22.02s
「読書交錯遅延倍率(DelayRatio)」: 「読書交錯遅延倍率(DelayRatio)」=(C&P)/{(Wnet)+(Rnet)}=(C&P)/{(W-0.82)+(R-1.36)}=2.32

Ed Intel X25-M (G1) MLC 80GB 1個単体:
「コピー&ペースト(C&P)」2回の用手計測データ: 72.05s 72.04,「Write(W)」55.58s 54.07s,「Read(R)」25.55s 25.57s
「コピー&ペースト(C&P)」平均値: 72.05s,「Write(W)」54.83s,「Read(R)」25.56s
RAM disk の読み書き分を引いて 「コピー&ペースト(C&P)」72.05s,「Write(Wnet)」54.01s,「Read(Rnet)」24.20s
「読書交錯遅延倍率(DelayRatio)」: 「読書交錯遅延倍率(DelayRatio)」=(C&P)/{(Wnet)+(Rnet)}=(C&P)/{(W-0.82)+(R-1.36)}=0.92

Ee Toshiba SSD (THNS128GG4BBAA) MLC 128GB 1個単体の結果:
「コピー&ペースト(C&P)」2回の用手計測データ: 68.37s 66.47,「Write(W)」23.83s 23.06s,「Read(R)」26.87s 25.96s
「コピー&ペースト(C&P)」平均値: 67.42s,「Write(W)」23.45s,「Read(R)」26.42s
RAM disk の読み書き分を引いて 「コピー&ペースト(C&P)」67.42s,「Write(Wnet)」22.63s,「Read(Rnet)」25.06s
「読書交錯遅延倍率(DelayRatio)」: 「読書交錯遅延倍率(DelayRatio)」=(C&P)/{(Wnet)+(Rnet)}=(C&P)/{(W-0.82)+(R-1.36)}=1.41

Ef Samsung MCCOE64G5MPP-0VA SLC 64GB 1個単体:
「コピー&ペースト(C&P)」2回の用手計測データ: 94.61s 94.22,「Write(W)」46.81s 48.01s,「Read(R)」46.00s 48.78s
「コピー&ペースト(C&P)」平均値: 94.42s,「Write(W)」47.41s,「Read(R)」47.39s
RAM disk の読み書き分を引いて 「コピー&ペースト(C&P)」94.42s,「Write(Wnet)」46.59s,「Read(Rnet)」46.03s
「読書交錯遅延倍率(DelayRatio)」: 「読書交錯遅延倍率(DelayRatio)」=(C&P)/{(Wnet)+(Rnet)}=(C&P)/{(W-0.82)+(R-1.36)}=1.02

Eg HDD (HDS721616PLAT80) 1個単体:
「コピー&ペースト(C&P)」2回の用手計測データ: 199.06s 200.82,「Write(W)」64.82s 62.62s,「Read(R)」57.04s 63.57s
「コピー&ペースト(C&P)」平均値: 199.94s,「Write(W)」63.72s,「Read(R)」60.31s
RAM disk の読み書き分を引いて 「コピー&ペースト(C&P)」199.94s,「Write(Wnet)」62.90s,「Read(Rnet)」58.95s
「読書交錯遅延倍率(DelayRatio)」: 「読書交錯遅延倍率(DelayRatio)」=(C&P)/{(Wnet)+(Rnet)}=(C&P)/{(W-0.82)+(R-1.36)}=1.64


F実用テスト結果の考察:

a) 読書交錯遅延倍率(DelayRatio)はプチフリの原因である読み書きが交錯した場合の転送速度の遅れが何倍になるかの計測で、DRAM cacheが搭載されている場合は問題ないが、ANS-9010ではデスクトップ上で作業画面のフレームの位置を移動する際に全くひっかかりがなく滑らかであるが、SSDではひっかかることがよくある事から考えると、PC操作のスムーズ性を推測する上で依然重要な指標である。この数値は下記の通りです。(数値が小さい方が操作性がスムーズでよい。)

JMF602(3.69) > Indilinx(2.32) > HDD(1.64) > SandForce(1.53) > Toshiba SSD(1.41) > Samsung SLC(1.02) > X25-M(0.92)

JMF602 と Indilinx は HDD より悪かったが、SandForce controller採用の SSD は X25-M や Samsung SLC Toshiba SSD と並んで HDD より良いグループに入り、とても使いやすいと推定される。

b) 実際に 4,194,304KB のファイルを同じドライブ内でコピー&ペースト(C&P)に要した時間では下記のようになり、SandForce controller採用のVertex 2 はToshibaやIntelのSSDの2倍近くの時間を同じドライブ内でのコピー&ペーストに要して、実用テスト上は公称スペックのような高速SSDでないとの結果になった。(秒数が小さい方が実用上高速)

JMF602(293.67秒) > HDD(199.94秒) >Indilinx(156.21秒) > Sandforce(130.63秒) > Samsung SLC(94.42秒) > X25-M(72.05秒)> Toshiba SSD(67.42秒)

圧縮されていないデータの実用転送実験結果は公称スペックから得られる印象ほどよくなかったので、圧縮率の高い動画やJPEG画像の取り扱いやバックアップファイルの臨時保管には向かないSSDであると考えられ、また、圧縮記録するため速度低下した場合にもTRIMで速度回復が低いという実験結果もある。
2010年5月26日のBeHardwareのblogによれば、IntelのSouthbridgeにIntel RST drivers(IRST )を適用したときはTRIMが効くが、standard Microsoft Windows 7 driversやAMDやSATAのPCIeカードのdriversでは現時点ではTRIMが効かないそうである。

データを圧縮して転送速度を上げようと試みはWindows Vistaでも行われたが、充分圧縮されたmp2・m2ts・flv・jpgなどのデータについては圧縮処理をしないXPよりかえって転送速度が落ちてしまったという過去の経緯がある。不必要な圧縮を行えば、圧縮・解凍自体に余分な時間を要するからである。

最初のベンチ結果@a・@bを見ると Random 4Kを始めとして書込速度自体はX25-Mを大きく上回っているものが多い。このことから、SandForce controller内蔵のSSDは、小サイズのSSDを購入して、それにOSをインストールしてOfficeの利用やWebの閲覧に利用するとX25-M並に利用価値が高いと思われ、価格競争力があれば今後充分X25-Mのライバルとなりうる。

実用上は、使用時の引っかかり感がなくメンテナンス・フリーでどんなOSでもCPU(Southbridge)でも 転送速度の落ちない Toshiba SSD が私は最も好きで、ベンチ結果もふまえて総合的に考えると、次に X25-MJMF612CSSD-SM64WJ2) > SandForceIndilinxJMF612CSSD-SM64WJ3) の順に使いやすいというのが、上記の実用実験結果をふまえた私の個人的な印象である。