レビューメディア「ジグソー」

SandForceドライバをIntelが造り込んだ渾身のSSD 520

Intel SSD 520
Intel SSD 520
SSD520シリーズはIntelが1年半もの時間を費してSandForceドライバを最適化し、エンタープライズドメインにも切り込もうとするほどの渾身の力作だ。通常使ってる分には、例えば同じSandForceのOCZと性能に大差ないが、OPするやいなや書き込み速度と寿命(endurance)の劇的な改善をもたらすというふれこみだ。そんなSSDを試す機会を与えて頂いて本当にうれしい。

SSDを高速化するために、様々な小技が考案されている。SSDの問題の本質は、
(1)書き込みは1ページ(4KB)ずつ可能だが
(2)書き込むにはページが消去されていなければならず
(3)その消去はブロック単位(256KB)でしか出来ない
というNANDメモリの特性にある。そのためデータの書き込みが1回で終わらず、ブロックの中に使えないページが生じる。書き込み回数の増加(write amplification)は書き込み速度と寿命の低下に直結する。

オーバープロビジョニング(overprovisioning略してOP)とは、SSDの一部を管理領域としてデータ領域と区別し、データの書き込み、移動、ガーベッジコレクションなどを効率化・高速化する仕組みである。

SSDを買ってくると、128GBとか256GBとか切りの良い2進数になってるやつはOP領域が無い可能性が高い。一方、SSD520のように120GBとか240GBとかで売られてるやつは、始めから8GBから16GB(6.25%)がOPにわりあてられている。

今回の企画は、さらにマニュアルでOP領域を増やしたらどうなるかということで、これをレベルで表すと次のようになるらしい(出典は忘れた)。

 レベル1:SSDのファームウェアでOP領域を確保
 レベル2:別パーティションのフォーマットされていない領域(OSから見えない)
 レベル3:別パーティションにフォーマットされている領域(OSから見えている)
 レベル4:同一パーティション内の(もちろんフォーマットされた)未使用領域

レベル1から4に下がるにつれて、OP効果が薄れるのではないかという気がするが、これをデータとして示したものを見たことは無い。レベル4でもOPが効くんだと言ってるサイトもあって、それが本当なら別にSecure EraseとかSSD Toolboxとか面倒くさいプロセスは必要ないということになる。

ということで、本レビューのテーマは、本当にOPのレベルによって効果が違うのかどうか、これを実証してみる。

さらに重要なポイントは、SSDが空っぽの時とほぼ満杯の時で、OPの効果が違うかどうか、というところ。SSDがいっぱいになるにつれて、或いはSSDがヘタレて書き込み可能なメモリが減ったときに、OPが小さいとデータの取り回しに余分な時間がかかるようになってくるのではないかと予想される。これまでのレビューでOPの効能が中々見えていない理由はその辺にあるんじゃないか。SSDの耐久性が問題になってくるような限界ではじめて、OPの本領が発揮されるんじゃないかと期待している。

[追記 9月7日]

まず、送って頂いたモノはこちら。
SSD 520
SSD 520

システムは以前のレビューで頂いたIntelのH67マザー。
DH67BL
DH67BL

Core i3-2125 (3.30GHz)
CFDのDDR3-1333メモリ 8G x 4 (32GB)
64bit Windows 7

ドライバはIntelサイト(ココ)から最新バージョンをインスコ。チップセットドライバ、Intel Rapid Storage Techonology (RST)ドライバなど。RSTドライバは、Intel SSD Toolboxの動作に必要になることがあるらしいので注意。


今回の課題は、OPの手順を説明し、OPの前後でファイル転送やCMDのスコアを比較する。OPをどれくらい取るかということで、storagereview.comのIntel SSD 520 Enterprise Review(ココ
)を参考に、20%でやってみた。箱から出したままのSSD520をDH67BLのSATA3につなぐと、
device
device


A.これをクイックフォーマットして(ユーザ使用領域240GB)、
1.CDMでスコア(random, 0 fill)
2.約30GBのファイルを連続転送して時間を計測
3.97%までいっぱいにしてから、再度CDMのスコア

B.それからSecure Eraseをやって、HDAT2でOPを20%(ユーザ使用領域192GB)に設定してから、
1.CDMでスコア
2.約30GBのファイルを連続転送して時間を計測
3.97%までいっぱいにしてから、再度CDMのスコア

C.さらにOP20%でSSDを97%使用した状態でCDMを繰り返し実行してみた。


■Secure Eraseのやり方■

Intel SSD Toolbox 3.0は(ココ)からダウンロードしてインスコ。
SSD Toolbox
SSD Toolbox

今回は、OPなしの状態でベンチして使ってるので、SSD Toolboxを立ち上げると、
Secure Erase 1
Secure Erase 1

パーティションを削除してから出直すように言われるので、コンパネに戻って「ボリュームの削除」をやる。
Secure Erase 2
Secure Erase 2

SSD Toolboxに戻ると消去ボタンが生きてるので
Secure Erase 3
Secure Erase 3

これをポチっと。すると電源コードを抜いて挿し直せと言われる。んー、うるさい。
Secure Erase 4
Secure Erase 4

でも言われた通りにすると、実行ボタンが現れる。
Secure Erase 5
Secure Erase 5

で、あっという間に終わった。早かった。
Secure Erase 6
Secure Erase 6



■OPの切り方(HDAT2)■

HDAT2のサイトからHDAT2ISO_49B1.EXEというファイルをダウンロードする。
HDAT2
HDAT2

自己解凍ファイルになっているので、実行するとhdat2_v49b1.isoというファイルに化ける。これをDVDに焼く。

で、ここからはIDEソケットを持つマザーがあると便利。BIOSでSATAモードをIDEにしておいて、SSD520はSATAにつないで、IDE接続のDVDドライブはIDEに刺して、先ほどのHDAT2のDVDから立ち上げる。コマンドラインから
[SATA]S:\> HDAT2
と打って、後はSET MAX (HPA)メニューを選んでInsetボタンを押して数字を直接入力。
user: 375102128 (セクタ): 192.05 GB
hidden: 93760000 (セクタ): 48.01 GB
S(et)で決定。
240GBを基にすると192GBは20%がOPに使われる計算。

次に、OPを切ったSSD 520をDH67BLのSATA3に戻して、もう一度シングルパーティションにフォーマット(クイック)。これがその結果。
format
format



■結果■

まず、OPあり・なしでのファイル転送時間。これは、28.8GBのテキストファイルを繰り返しSSD520に書き込むというもので、SSDがいっぱいになるまで全く転送時間に違いは生じない(正確に69秒=417MB/sec)。

次にCDMのスコア。
まとめ
まとめ

これは、CDM Nano Pico Editionで、1000MBの読み書きを7回、ランダムデータと0Fillで実行したもので、「空」はSSDをデータでいっぱいにする前(空っぽの状態)、「満」はSSDを97%までデータで埋めた状態。4K WriteでOPなしが落ち込んでいるようにも見えるが、SSDをデータで埋めてやると逆に戻っているので今ひとつ再現性に欠ける。全体として見ると、この程度の負荷ではOPの効果は見えていない。1000MBを7回書き込んでも7GBにしかならないから、SSDの残り容量約5GBをもっと何度も書きなおしてやらないと性能劣化が起こらないということだろう。

参考にしたStorage Reviewの記事では、steady state(定常状態)でのスコアを出しているので、ある程度の回数書き込みを繰り返した後のスコアだと思う。SSDに書き込みすると、最初はスコアが落ちるけど、ある程度の回数を過ぎると安定したスコアになるということかな。この辺りも、まだ良く分からないところ。

ということで、SSDをいっぱいにした状態で何度も書き込みを繰り返してみた。とは言っても、今のところ8回まで(締切時間のため)。OPは20%のまま、スコアに変化のあった4K QD32だけプロットした。他のスコアはほとんど動かない(リードもライトも)。
リピート
リピート

0Fillは変化ないけど、randomデータの書き込みで3回目に「何か」起こってるようだ。その後も、以前ほどのスピードが出なくなってる。まだこれくらいの書き込み回数では、はっきり分かるほどの性能劣化の傾向が見えない。OP20%が効いてるのかも知れないし、そうではないかも知れない。もっと回数を増やして、OP20%で差が分かる程度になったら、再度Secure Erase, OPなしに戻して同じような書き込みテストをしてみようと思う。


[追記 9月8日]

叩き続けてみた。
SSD520のテスト条件
SSD520のテスト条件

OPは20%のままで、少しファイルを足してSSDの残り容量をきっちり4GBにした上で(図の上段)、CMDのrandomデータを 4000MBで9回という試行(つまり36GBの書き込み)を12回続けると、書き込み速度の低下が見れるようになった。
OP20%のストレス・テスト
OP20%のストレス・テスト

残り容量SSDの1%という過酷な条件で、残り容量と同じ大きさのランダムデータを繰り返し書き込むと、OP20%でも流石に書き込みが遅くなる・・・誰もそんな使い方しないって。でも、そんなことしないと、このSSDはヘタれてこない。(横軸はCMDの試行回数、縦軸はCMDスコア)

それに、とても面白い傾向が出ている。

4KBというのはページ・サイズ、512KBは2ブロックの大きさということを思い出して欲しい。シークエンシャルと4Kは変化しないのに、512Kと4K QD32の速度が落ちたり戻ったりという非常に興味深い変化を示している。SSDの書き込み特性を反映しているに違いない。queue depth (QD)は、ここでは32回分の書き込みをまとめてやっちゃうということで、ページサイズのランダム書き込みは落ちないけどそれ以上の大きさの書き込み性能が劣化する、しかも一過性に落ちて回復することもあるということは、OPのお陰かどうか分からないが、書き込み不良セクがが発生しても退避領域の活用によってもとの書き込み速度に戻っているんじゃないかと思う。

次は、SSD520を一旦Secure EraseしてOPを無くして同じストレステストをやってみる。OP20%と比べて速度劣化の傾向が早くなることを期待している。

[追記 9月9日]

OP20%を消去する。

1.コンパネの管理ツールからコンピュータの管理>記憶域>ディスクの管理をたどって、SSD520のボリュームを削除(右クリックメニュー)
2.SSD ToolboxでSecure Eraseを実行
3.IDE-DVDドライブのあるPCを使って、SATAモードをIDEに設定して、HDAT2を使ってOPを0%に設定

HDAT2 DVDから起動
HDAT2 DVDから起動

コマンドラインからHDAT2
コマンドラインからHDAT2

SSD520を選んでENTERメニュー
SSD520を選んでENTERメニュー

SET MAX (HPA) menuを選んでENTER
SET MAX (HPA) menuを選んでENTER

Set Max Addressを選んでENTER
Set Max Addressを選んでENTER

New hiddenをゼロにセットしてSで設定
New hiddenをゼロにセットしてSで設定


4.SSD520をもとのPCにつないで、もう一度コンパネのコンピュータの管理からクイックフォーマットしてシングルパーティションを切る

これで240GBのパーティションになるので、236GBまでデータで埋めたあと、CMDのrandamデータの4000MBを9回試行するストレス・テストを実行。
OPなしのストレス・テスト
OPなしのストレス・テスト

OPなしとOP20%の違いをまとめると、

1.シークエンシャル書き込み
 OPなしでは3-4回目に20%の速度低下
 OP20%では、2回目で13%の速度低下
 即ち、OP20%の方がOPなしに比べて約7%の速度が改善している。

2.4K書き込み
 どちらも、ほぼ一定。差はない。

3.512Kランダム書き込み
 OPなしでは、3回目以降19%の速度低下
 OP20%では、3回目に最大39%まで落ち込むが、その後元の速度に回復する
 OP20%では、何か自己修復のようなことが起こっているみたいだ。

4.4K queue depth 32のランダム書き込み
 OPなしでは、3回目と9回めに段階的に11%、57%の速度低下
 OP20%では、2回目から45%の速度低下が発生するが、一時的に10%の低下まで回復し、その後51%まで徐々に速度低下する
 ここでは二点、OP20%の効果が見える。一つは最大の速度低下が軽減されること(約6%)、もう一つは速度低下が一時的に回復すること。


■オーバープロビジョニング(OP)の効果

SSDの書き込み速度はSSDを使うにつれて低下する。特に未使用状態から、SSD520 240GBの場合は4GBの空きスペースに対して70GB程度の書き込みをした頃から、ランダム書き込みが10〜20%低下し始め、その後比較的安定する(=定常状態)。OPは定常状態に於いて速度低下を軽減する効果があり、OPなしに比べて6−7%の速度改善をもたらす。

SSD520の場合、HDAT2でOPをしない状態で既に16GBの外から見えない領域がOPとして使われており、INTELのドライバはこれを最大限に活かすよう設計されているはずだ。従って、マニュアルでOPしなくても、SSD520は書き込み速度の劣化に対して一定の耐性を与えられていると考えられる。より多くの領域をOPとして与えると、高負荷使用時の速度低下を軽減する効果がある。

今回の企画で多くのレビューアーがOPの効果を見いだせなかった理由は、負荷が足りなかったため。目安としては、空き領域の20倍程度以上の書き込みをしないと効果が見えない。

今後の課題は、HDAT2を使わずに、単に別パーティションに切った領域がOPとして機能するかどうかを検証すること。

[続く]

25人がこのレビューをCOOLしました!

コメント (4)

  • リーダーさん

    2012/09/07

    うちはまだ明確な効果が出せていないので
    続きがとっても気になります(^^
  • sorrowさん

    2012/09/07

    リーダーさん、コメント有難うございます。
    中々OPの効果が見えないですね。もっとも、これくらいの書き込みで性能劣化したらいけないのかも。もっと残り1GBくらいまでギリギリ埋めてから、1000MBの書き込みテストしてみようと思ってます。
  • リーダーさん

    2012/09/08

    速度アップが見たかったです。
    難しい課題でしたね。
他1件のコメントを表示

ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。

YouTube の動画を挿入

YouTube の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ニコニコ動画の動画を挿入

ニコニコ動画の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ZIGSOWリンク挿入

検索対象とキーワードを入力してください

    外部リンクを挿入

    リンク先の URL とタイトルを入力してください

    URL を正しく入力してください。

    画像を挿入(最大サイズ20MB)

    画像を選択してください

    ファイルサイズが20MBを超えています

    別の画像を追加

    ほかのユーザーのレビュー

    ZIGSOW にログイン

    ZIGSOW会員登録(無料)はこちらから