HOME > PC > RAID > SSDのRAID実験



S S D の R A I D 実 験 


2008年9月9日発売された Intel の「X25-M Mainstream SATA SSD」は 80GB 2.5インチタイプのMLCのSSDで読出250MB/s・書込70MB/s とすばらしい性能である。発売当時の価格は\89,800であった。2008年12月12日現在の価格は\55,800である。
一方、Silicon Power の SSD SP032GBSSD650S25 は、2008年12月12日の時点で7,948円読出165MB/s・書込95MB/sである。2008年12月12日時点で価格的には1/7の格安SSD(SDHCカードより安い!)を複数RAIDにするとIntelの高級SSDの性能に匹敵するようになるのかどうか知りたかったので、1個単体のSSD から 6個までで構築した RAID 0 でのSSDを用いてベンチマークテストと実用テストを行ってみました。

RAID は GIGABYTEのマザーボード「EP45-DS3R」に搭載された chipset の southbridge である 「ICH10R」 のオンボードRAID機能を用いた。このボードは RAID機能のない「EP45-DS3」より1,000円高いだけで購入できた。




格安SSD 6個を用いて RAID 0 を構築すると HDTunePro 4MB file のグラフの読み取り値で Read 605MB/s Write 376MB/s の最大値が得られた。


使用した実験用パソコンのスペックは次の通りです。
 CPU: Core 2 Duo E8600 3.33GHz, 1333MHz FSB, 6MB L2 cache
 RAM: Samsung M378T5663RZ3-CF7 DDR2 PC6400 2GB × 2枚
 Northbridge: Intel P45
 Southbridge: Intel ICH10R
 Motherboard: GIGABYTE EP45-DS3R
 Boot HDD (C: drive): HDS721616PLAT80 (Hitachi 7200rpm 160GB UltraATA133)
 SSD Format: FAT 32
 Graphics: GIGABYTE GeForce 7300GS (nVIDIA 7300GS)
 Powered by: GOURIKI-P-550A
 Power switch: AINEX KM-01
 OS: WinXP SP1


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

RAIDは同じ容量で同じ速度の格安SSDをRAID実験に用いることとし、最初の@ABCの実験ではSilicon Power の MLC の SSD SP032GBSSD650S25 を1個ずつ追加しながら4個まで用いてベンチマークテストを行い、次の実験DEではOCZ OCZSSD2-2C30G をさらに1個ずつ2個まで追加して、合計6個の RAID 0 を構築した。(右写真)
この2種類のSSDは RAID 0 にして同一性能部品として使えることも実験的にわかった。

RAID 0 は実験では異種のSSDでも可能で転送速度も向上した。極端な例として16GBのSSDと640GBのHDDで RAID 0 のベンチマークテストやWindowsXPをインストールしてOSが起動するかソフトが動くかをテストしてみたが、OSはちゃんと起動しソフトも完全に作動し、ベンチマークテストでも転送速度が向上した。したがって Silicon Power の SSD 4個と OCZ 2個の合計6個を用いた RAID 0 実験は全く問題ないと判断し、結果的にも i-RAM 5個・6個の実験とよく似たデータが出たので、同じSSDをわざわざ6個買いそろえなくても、手持ちのSSDを組み合わせれば十分と判断しました。

実験は順に、@は1個単体のSSD、Aは2個のSSDを stripe size 128KB で RAID 0、Bは3個のSSDを stripe size 128KB で RAID 0、Cは4個のSSDを stripe size 128KB で RAID 0、Dは5個のSSDを stripe size 128KB で RAID 0、Eは6個のSSDを stripe size 128KB で RAID 0 である。

CrystalDiskMark(左) と HDTunePro 64MB file(右) の結果を並べて見てみましょう。

 @ SSD 1個
@ CrystalDiskMark で Read 169MB/s Write 92MB/s、HDTunePro のグラフの読み取り値で Read 174MB/s Write 86MB/s であった。


 A SSD 2個
A CrystalDiskMark で Read 260MB/s Write 166MB/s、HDTunePro のグラフの読み取り値で Read 247MB/s Write 168MB/s であった。


 B SSD 3個
B CrystalDiskMark で Read 356MB/s Write 243MB/s、HDTunePro のグラフの読み取り値で Read 348MB/s Write 250MB/s であった。

 C SSD 4個
C CrystalDiskMark で Read 471MB/s Write 339MB/s、HDTunePro のグラフの読み取り値で Read 432MB/s Write 327MB/s であった。


 D SSD 5個
D CrystalDiskMark で Read 469MB/s Write 324MB/s、HDTunePro のグラフの読み取り値で Read 540MB/s Write 388MB/s であった。


 E SSD 6個
E CrystalDiskMark で Read 491MB/s Write 340MB/s、HDTunePro のグラフの読み取り値で Read 592MB/s Write 382MB/s であった。(ただし冒頭のグラフのように HDTunePro 4MB file の場合は、グラフの読み取り値で Read 605MB/s Write 376MB/s であった。)

i-RAM 5個・6個のRAID実験の場合と同じく、このオンボードRAIDシステムではSSD4個までは RAID 0 を組む SSD を1個増やすごとに CrystalDiskMark と HDTunePro のベンチ結果が共に向上したが、5個を越えると HDTunePro のベンチ結果のみ向上し、CrystalDiskMark のベンチ結果は変わらなかった。今回のベンチマークのデータは次ページに載せておきました。
 
 話は本題とそれますが、
 この6個の格安SSDで Intel
 X25-MX25-E 並の高性能をどうしても
 期待される方は、左の CrystalDiskMark の
 thumb nail をクリックしてください。



§2. 実用テスト (SSD Installation to PC)

CrystalDiskMark と HDTunePro のベンチマークテスト計測結果がi-RAM 5個・6個のRAID実験の時と同様にくい違いが出てくるので、実際にOS上で実用的には転送速度がどうなっているのかと、OS上でSSDでの読み書きが交錯したときの転送遅延について調べるために Windows に付属した「エクスプローラ(=Windows Explorer)」を用いて、「コピー&ペースト(C&P)」・「Write(W)」・「Read(R)」 の速度をRamDiskも使用して測ってみることにした。
計測の材料としてFAT32の上限に近い 4,194,304KB のOSのバックアップファイルを用いた。

1.SSD内での「コピー&ペースト」の転送速度計測実験は、FAT32でフォーマットした 単体のnon-RAID および 2個から6個のRAID0 のSSDのドライブの中で行うこととし、上記の 4,194,304KB のファイルを同じドライブ内で右クリックメニューにある「コピー(C)」を左クリックで選択したのち、再度右クリックを行いメニュー内の「貼り付け(P)」を左クリックで選択して同じSSDドライブ内にコピー&ペーストすることにより、読み書きが交錯するようにした場合の転送速度を計測した。時間はストップウォッチで用手計測したのでベンチマークテストの結果よりはばらつきが出るため、それぞれ2度計測して平均値を利用することにした。システムメモリーにキャッシュされてしまったデータをコピーすると読出し速度が含まれなくなってしまうため、2度目以降にコピー&ペースト実験する際には前回コピーした物と違う複製ファイルを選択した。

2.SSDへの「Write」の転送速度計測実験は、RAM disk に書き込んでおいた上記の 4,194,304KB のファイルを 単体のnon-RAID および 2個から6個のRAID0 のSSDのドライブの中に書き込むことによって、その書込時間を計測した。 この時間もストップウォッチで用手計測したためベンチマークテストの結果に比べてばらつきが出るため、それぞれ2度計測して平均値を利用することにした。
RAM disk に書き込んでおいた上記の 4,194,304KB のファイルを RAM disk から読み出す時間はRamDiskのページの一番上の CrystalDiskMark の結果で示した実験データ(Read 5116MB/s)を用いて計算すると 0.82秒(4,194,304KB÷5,116,000KB/s)であるので、この時間は得られた生データから差し引いて考える必要があるが、RAM disk はとても高速であるので約3%程度でわずかである。

3.SSDからの「Read」の転送速度計測実験は、単体のnon-RAID および 2個から6個のRAID0 のSSDのドライブの中に書き込んでおいた上記の 4,194,304KB のファイルを SSDから読み出して RAM disk に書き込むことによって、その書込時間を計測した。この時間も同様にストップウォッチで用手計測したためベンチマークテストの結果に比べてばらつきが出るため、それぞれ2度計測して平均値を利用することにした。
RAM disk にこの 4,194,304KB のファイルを書き込む時間はRamDiskのページの一番上の CrystalDiskMark の結果で示した実験データ(Write 3068MB/s)を用いて計算すると 1.36秒(4,194,304KB÷3,068,000KB/s)であるので、この時間は得られた生データから差し引いて考える必要があるが、RAM disk はとても高速であるのでこれもまた概ね3%程度とわずかである。

4.最後に、RAIDの性能が発揮されているのかという点と、プチフリーズの原因となる読み書きの交錯した場合の転送速度の遅延を調べるために、 「コピー&ペースト(C&P)」するために純粋な「Write(W)」と「Read(R)」の合計時間よりどれだけ多くかかったかの比を計算して、「読書交錯遅延倍率」と仮に名付けた。
(「純粋なWrite(Wnet)秒」=「計測されたWrite(W)秒-0.82秒」で「純粋なRead(Rnet)秒=「計測された純粋なRead(R)秒-1.36秒」である。)

すなわち、 「読書交錯遅延倍率(DelayRatio)」=(C&P)/{(Wnet)+(Rnet)}=(C&P)/{(W-0.82)+(R-1.36)} である。

コピー&ペーストを行う実験はSSDでプチフリーズの原因となる読み書きが交錯する実験なので「読書交錯遅延倍率」の結果に特に関心があった。

この実験に使用したパソコンのスペックは次の通りです。Service Pack 1 ではマザーボードに8GBのSDRAMメモリーを搭載しても Gavotte Ramdisk の RAM disk ドライブの容量が 1.99GB になってしまうので、 RAM disk ドライブの容量が 4.74GBとれる Servive Pack 2 にOSを入れ替えて実験した。RAM disk ドライブの領域を確保するためにSDRAMメモリーを上のベンチマークテストの時より更に4GB追加して8GBとした。

 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 HDD (C: drive): HDS721616PLAT80 (Hitachi 7200rpm 160GB UltraATA133)
 SSD Format: FAT 32
 Graphics: GIGABYTE GeForce 7300GS (nVIDIA 7300GS)
 Powered by: GOURIKI-P-550A
 Power switch: AINEX KM-01
 OS: WinXP SP2


最初にストップウォッチで計測した時間の生データです。1回目と2回目の計測データを並べて記載します。
@ SSD 1個単体:  「コピー&ペースト(C&P)」294.79s 292.55,「Write(W)」47.53s 47.97s,「Read(R)」36.79s 31.25s
A SSD 2個 RAID0: 「コピー&ペースト(C&P)」183.77s 178.46,「Write(W)」31.67s 30.94s,「Read(R)」41.47s 34.63s
B SSD 3個 RAID0: 「コピー&ペースト(C&P)」189.02s 176.45,「Write(W)」31.18s 31.64s,「Read(R)」36.16s 36.24s
C SSD 4個 RAID0: 「コピー&ペースト(C&P)」145.41s 140.48,「Write(W)」31.99s 32.16s,「Read(R)」42.06s 41.93s
D SSD 5個 RAID0: 「コピー&ペースト(C&P)」89.51s 85.47,「Write(W)」29.38s 29.67s,「Read(R)」36.20s 34.18s
E SSD 6個 RAID0: 「コピー&ペースト(C&P)」80.56s 79.26,「Write(W)」30.44s 29.79s,「Read(R)」43.13s 40.02s


平均値をとると次のようになります。
@ SSD 1個単体:  「コピー&ペースト(C&P)」293.67s,「Write(W)」47.75s,「Read(R)」34.02s
A SSD 2個 RAID0: 「コピー&ペースト(C&P)」181.12s,「Write(W)」31.31s,「Read(R)」38.05s
B SSD 3個 RAID0: 「コピー&ペースト(C&P)」182.74s,「Write(W)」31.41s,「Read(R)」36.20s
C SSD 4個 RAID0: 「コピー&ペースト(C&P)」142.95s,「Write(W)」32.08s,「Read(R)」42.00s
D SSD 5個 RAID0: 「コピー&ペースト(C&P)」87.49s,「Write(W)」29.53s,「Read(R)」35.19s
E SSD 6個 RAID0: 「コピー&ペースト(C&P)」79.91s,「Write(W)」30.12s,「Read(R)」41.58s


RAM disk の読み書きの転送時間を引きました。
@ SSD 1個単体:  「コピー&ペースト(C&P)」293.67s,「Write(Wnet)」46.93s,「Read(Rnet)」32.66s
A SSD 2個 RAID0: 「コピー&ペースト(C&P)」181.12s,「Write(Wnet)」30.49s,「Read(Rnet)」36.69s
B SSD 3個 RAID0: 「コピー&ペースト(C&P)」182.74s,「Write(Wnet)」30.59s,「Read(Rnet)」34.84s
C SSD 4個 RAID0: 「コピー&ペースト(C&P)」142.95s,「Write(Wnet)」31.26s,「Read(Rnet)」40.64s
D SSD 5個 RAID0: 「コピー&ペースト(C&P)」87.49s,「Write(Wnet)」28.71s,「Read(Rnet)」33.83s
E SSD 6個 RAID0: 「コピー&ペースト(C&P)」79.91s,「Write(Wnet)」29.30s,「Read(Rnet)」40.22s


「読書交錯遅延倍率(DelayRatio)」=(C&P)/(W-0.82)+(R-1.36)を計算しました。
@ SSD 1個単体:  「読書交錯遅延倍率(DelayRatio)」=3.69
A SSD 2個 RAID0: 「読書交錯遅延倍率(DelayRatio)」=2.70
B SSD 3個 RAID0: 「読書交錯遅延倍率(DelayRatio)」=2.79
C SSD 4個 RAID0: 「読書交錯遅延倍率(DelayRatio)」=1.99
D SSD 5個 RAID0: 「読書交錯遅延倍率(DelayRatio)」=1.40
E SSD 6個 RAID0: 「読書交錯遅延倍率(DelayRatio)」=1.15

JMicron 製SSD controller chip「JMF602」がプチフリーズの原因と言われ出していますが、これほど明白な結論が出るとは思いませんでした。RAIDを組まずに「JMF602」だけにSSD単体で読書交錯負荷をかけた場合に、単純に書込みのみと読出しのみの作業を行った場合に比べて 3.69倍もの時間がかかっていました。
それに比べてオンボードRAIDにしただけでも、RAIDを組むSSDの個数を増やすにつれて、読書交錯負荷をかけた場合にも転送遅延がなくなり、6個のSSDをRAIDにした場合の「読書交錯遅延倍率」は 1.15 に過ぎず、単純に書込みのみと読出しのみの作業を行った場合に比べて読書交錯負荷がかかってもわずか15%遅延するだけであることが分かりました。これがRAIDでプチフリが起こりにくい理由でしょう。

実際に2個のSSDのRAID0の実験でプチフリ解消を確認された方もいます。2個でもたまにフリーズが発生して、フリーズが完全になくなるのは4個以上といっている方もいらっしゃいます。また、NTFSではファイルの作成や更新でトランザクションログ を記録するため読み書きが交錯しますが、ジャーナリングファイルシステムのないFAT32でプチフリが解消したという方もいます。まだ使ってみていませんが、このソフトプチフリが検査できるかもしれません。OCZは公式サイトでプチフリ解消のOSの設定方法を紹介しています。

ノートパソコンのようにRAIDを組みにくい環境では、このような読み書きの交錯を避けるためには、WindowsからLinuxにOSを入れ替えてしまうのもいいだろうと思っています。Linuxのext2やext3などのファイルシステムはNTFSやFATとは別の哲学で設計されており、本来はマルチユーザーを想定して複数のユーザーが同時に複数のファイルにアクセスする事を前提に作られているのですが、これがSSDにとっては好都合で、読み書きの交錯が起こりにくく、上記実験結果のような読書交錯遅延メカニズムによるフリーズが発生しにくい仕組みとなっています。
SSDは構造上、HDDのように高速な先頭部分にデータを集める必要性がないため ext2・ext3などのファイルシステムでも速度が低下する心配がなく、さらに、Linuxではswapも別のパーティションで行っているのでシステムパーティションのデータが断片化しにくく SSDの得意なより高速な sequential read/write としてデータ処理ができます。LinuxはSSDが出現する将来を見据えて設計されたような未来型OSとも言えます。
さらにまた、LinuxではSSDへの書込みが初めから deviceレベルのみならずOSレベルでもウェアレベリングを行っていることになり、読書交錯遅延が発生しにくいという利点のみならず、SSD自体が長寿命化するという利点もあると考えられます。(Linuxでの実験結果)


追加実験として Mtron MSD-SATA3535016 で上記と同様に読書交錯遅延倍率計測実験をしてみました。
Mtron 1個単体生データ: 「コピー&ペースト(C&P)」104.96s 103.38,「Write(W)」39.95s 39.87s,「Read(R)」53.16s 53.23s
平均は「コピー&ペースト(C&P)」104.17s,「Write(W)」39.91s,「Read(R)」53.20s
RAM disk の読み書き分を引いて 「コピー&ペースト(C&P)」104.17s,「Write(Wnet)」39.09s,「Read(Rnet)」51.84s
「読書交錯遅延倍率(DelayRatio)」: 「読書交錯遅延倍率(DelayRatio)」=1.15

新品のMtronのSSDでは、JMicron製「JMF602」チップ採用のSSD6個をRAIDにしたぐらいの読書交錯遅延倍率(DelayRatio)が出たので、現時点でプチフリの苦情が少ない理由が納得できました。

ちなみに HDD (HDS721616PLAT80)で同じ実験をしてみました。
HDD 1個単体生データ: 「コピー&ペースト(C&P)」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)」=1.64 (ヘッドがプラッタ上のデータを seek する時間があることを考えると64%余分に転送時間がかかるのは妥当な感じです。)


SSDを5個・6個 RAIDにした場合 CrystalDiskMark のベンチマークテストの結果で転送速度が向上しなくても「エクスプローラ(=Windows Explorer)」で計測した「読書交錯遅延倍率」は著減するので、SSDの場合は特にRAIDを組むSSDの数が多い程よいと考え、私はこの結果から、web閲覧用にとても気に入っていた i-RAM 2個の RAID のパソコンを格安SSD6個のRAIDに変えてしまいました。(しかも同じSSDを6個そろえるのではなくて買ってしまったSSDの寄せ集めRAIDです。)プチフリどころか i-RAM 2個の RAID より高速で快適です。SSDの長寿命化と高速化のために、もちろんIEのキャッシュは RAM disk に移動してあります。バックアップソフトを含めてソフトはすべて作動するし、バックアップ時間もちゃんとベンチマークテストの結果通り i-RAM 2個のRAIDよりも短縮しています。この実験システムで2週間ほど楽しんでみましたが、私のRAIDシステムではプチフリもシステム上のトラブルも全くありませんでした。十分確認したあと、ふと考えることがありました。昔、洋酒が高価だった頃、学生時代に海外旅行のおみやげにもらった高級洋酒がもったいなくて手を付けられずほこりだらけになるまで飾っておいたことがあります。減るのがもったいなくて飲めませんでした。このサイトの12月8日の所にSSDが「快適な速さで壊れていく。」と書いてあります。実験用のSSDもやはり減るのがもったいないので、使っても減らない i-RAM 2個の RAID に戻してしまいました。気持ち的にはまだ学生頃の貧しさから解放されていません。

上の実験でわかった、SSDの場合は特にRAIDを組むSSDの数が多い程よいということを Intel は知っているのでしょうか。Intel 「X25-M Mainstream SATA SSD」は内部で10chものRAIDを組んでいるのがうなずけます。P4にしろC2DにしろC2Qにしろ、物欲が前面に出ると Intel にたっぷりとお金を払ってしまう羽目になった方が自作派の方には私を含めて他にもたくさんいらっしゃることでしょう。

SSDの今回のRAID実験で分かったことは、Intel の「X25-M Mainstream SATA SSD」は、2008年12月12日現在の価格は\55,800で、80GB、読出250MB/s・書込70MB/s、耐久時間は120万時間(MTBF=Mean Time Before Failure) であるが、一方、Silicon Power の SSD SP032GBSSD650S25 を6個 RAID 0 ストライピングにすると、2008年12月12日の時点で\7,948×6=\47,688(85%の価格)で、192GB(2.4倍の容量)で、Read 605MB/s(2.4倍の読出速度)・Write 376MB/s(5.3倍の書込速度)、耐久時間は比較相対的に考えると900万時間MTBF(RAID 0で使用した場合に、同じ容量のデータを取り扱う場合に関しては、それぞれのSSDへの書き込み量が1/6になると考えると、アレイ全体としてSSD単体の6倍耐久性が向上することになり、相対的には150万時間×6とみなして、7.5倍のMTBFに相当するとも言えます) となります。

格安SSDを集めてオンボードRAID機能を利用した場合に、Intelの高級SSDの性能に匹敵するようなものができるかどうか知りたかったのですが、皆さんならどちらを選ばれるでしょうか? 今回のSSDの価格低下が JMicron 製「JMF602」搭載SSDをプチフリSSDとしての投げ売りでなくて、本当に消費者のための値下げであることを期待しています。(もし、投げ売りでもRAIDを組めばたぶん大丈夫!今後使い込んでみないと何が起こるのか本当のことは未知の世界ですが。)

後日、OCZSSD2-2C30G をさらに2個購入して、8台のSSDでAreca ARC-1231MLを用いて RAID 0 でストライピングを行ってベンチマークテストを行いました。関心のある方は右のリンクをクリックしてください。(8台のJMF602チップSSDのRAID 0の結果

今回のJMicron製「JMF602」チップ採用のSSD6個のストライピングRAIDのベンチマークの結果一覧は次のページに載せました。

こんなSSDが未来のSSDでしょう。