VIPで自作PC @ Wiki

SSD3

最終更新:

vippcpc

- view
だれでも歓迎! 編集

SDD

X-25M

+ クリックで展開
  • 良く情弱が「SSD」の事を「SDD」と間違える。「SDD」というのは一般的に「Super Density Disc」や「STOP! DRUNK DRIVING」を意味し、SSD とは何の関係も無い。ADTEC の製品の中に「シリコンディスクドライブ (SDD)」があるがこれは固有の商品名であり古い製品なので最大でも 4GB までのラインナップになっており一般ユーザーが使いこなすのはやや難しいだろう。「SDD」のような情弱用語の類例として「インストロール」「アウトルックエクスプローラー」「X-25M (正しくは X25-M)」等がある (X-25 という航空機が存在するが、SSD とは無関係である)。他にもパソコンのことを「パソ」、ハードディスクドライブを「ハード」等と意味不明の略し方をしたら間違いなく情弱なので相手をするだけ無駄である。


IOPS

+ クリックで展開
  • IOPS(=InputOutputPerSecond)は、一秒間にどれだけの I/O を処理できるかを数値で表したもの。特に QD=32 と書いてある場合は NCQ 有効かつキュー深度が 32 の時の数値。
  • 例えばブロックサイズ 4KB 時のランダムリードが 20MB/s (20480KB/s) の場合、20480/4 でランダムリード 4KB 時の IOPS は 5120 IOPS となる。
  • ランダムリード 4KB 時の IOPS が 10,000 IOPS ならばランダムリード 4KB 時の I/O スループットは 4KB * 10,000回 = 40,000KB = 約 39MB/s である。


シーケンシャルアクセスとは

+ クリックで展開
  • シーケンシャルとは論理アドレス順に順次アクセスするアクセス方法。システムドライブの場合は実用時にはシーケンシャルアクセスは多くなく、特に SSD の場合はデフラグしないのが普通なのでいくら巨大なファイルであっても通常断片化しており大半は 512byte~16KB の小さいブロックサイズでのランダムアクセス状態になってしまう。シーケンシャル性能"だけ"がいくら高速になっても体感速度は向上しないし、特別にシーケンシャル速度が高くないといけない用途でもない限りはシーケンシャル速度が 100MB/s を下回っていても体感速度はそれほど悪くはならない。よく雑誌の提灯ライターが「xxxMB/s の超高速 SSD 発売!」や「これからの時代は SATA 6Gbps だ!」等とシーケンシャル以外は大して速くも無い SSD を高速と印象付けている。


なんで SSD ってランダムアクセスとシーケンシャルアクセス速度が違うの?

+ クリックで展開
  • 大抵の SSD は NAND フラッシュメモリを複数搭載していて、可能であれば複数のチップに並列アクセスをかけるので、シーケンシャル (というより大きなブロックサイズや NCQ QD=32 時のようにいっぺんに大量の要求が来た際の) アクセスが高速になる。

  • ~4KB 程度の小さいブロックサイズでのアクセスの場合
┏┓ ┏┓ ┏┓ ┏┓
┃┃ ┃┃ ┃┃ ┃┃← NAND フラッシュメモリ
┗┛ ┗┛ ┗┛ ┗┛
 ┃  │  │  │
 ┗━┓│  │┌─┘
  ┏┻┷━━┷┷┓
  ┃      ┃← SSD コントローラ
3xnm 世代の主要な NAND フラッシュメモリのページサイズは 4KB なので、
殆どの SSD では 4KB 単位のアクセスの場合は 1ch アクセスになる

  • 16KB~ 程度の大きめのブロックサイズでのアクセスの場合
┏┓ ┏┓ ┏┓ ┏┓
┃┃ ┃┃ ┃┃ ┃┃← NAND フラッシュメモリ
┗┛ ┗┛ ┗┛ ┗┛
 ┃  ┃  ┃  ┃
 ┗━┓┃  ┃┏━┛
  ┏┻┻━━┻┻┓
  ┃      ┃← SSD コントローラ
大きなブロックサイズでのアクセスの際は 4ch/5ch/8ch/10ch/16ch 等の並列アクセスになり
RAID0 のような原理で高速になる。

RAID0 した方がいいよね?だって僕、速いの好きだし・・・

+ クリックで展開
①,Trim が使用不能になり、継続使用すると SSD によっては大きく速度低下する
②,ドライバによるが、大抵は S.M.A.R.T. が読めなくなる
③,もちろん信頼性も低下する
④,RAIDBIOS のせいで起動が遅くなる
⑤,オンボードのしょぼいソフトウェア RAID ではランダムアクセス性能は殆ど伸びないか、むしろ低下する事も
⑥,シーケンシャルだけが必要なのであれば HDD を 3~4 台で RAID0 した方が安い
  • 以上の理由から、特に容量によって速度が違う機種の小容量版を複数台で RAID0 するより大容量版を一台単機で使用した方が基本的に長い目で見て快適である。よく厨雑誌でアホな RAID0 組んだ記事が載っているが、特に理由が無い限りは RAID0 はしない方が良い。それでもわざわざ SSD で RAID を組むだけの理由があるなら速度低下しにくい東芝製やエンタープライズ向けの速度低下したとしても高速な SLC 搭載 SSD でどうぞ。

  • JMF601/602 搭載 SSD の場合、特にランダム書き込みが集中した場合にレスポンスが極端に悪くなる (=プチフリ) する事がわかっており、JMF601/602 以外でも NAND フラッシュメモリの管理方法が良くない SSD では同様の現象が発生する可能性がある。この場合 RAID0 を組むとランダムライトを二台で分散するとプチフリは発生しにくくなる。(速くなるのではなく遅くなりにくくなる) 特に JMF601/602 は Trim コマンドに対応していない為、空き領域のデフラグ・各種 OS の軽量化設定・各種プチフリ防止ソフトに加えて RAID0 を組むといった手段を使う他無い。その他のコンパクトフラッシュ・各種メモリーカード・その他 Trim コマンドに対応していない SSD の場合は高速化というよりも高負荷時の体感速度悪化を軽減する意味では RAID0 は有効な場合もある。

  • Intel X25-M G2、SSD 320、SandForce 製 SSD コントローラー搭載 SSD では書き込みが多数行われるとリアルタイム GC で物理アドレスレベルの断片化を解消する動作が確認されており、このようなリアルタイム GC の為にある程度以上は速度低下しないもののリアルタイム GC が行われている瞬間にレスポンスが悪化する。このような場合も RAID0 を組む事で体感速度の悪化を減らす事が出来るものの、Trim コマンドが使用出来ないため長期間使用すると大きく速度低下してしまい、RAID0 を組む事による信頼性の低下は避けられない為、リアルタイム GC 中の動作の引っ掛かりが気になるのであれば GC 中もそれ程引っかかり感の出ない SLC 搭載 SSD か東芝製 SSD を単体で使用した方が無難である。


ランダム 4KB とは

+ クリックで展開
  • HDD の場合は機種が違っても基本構造が同じである為ランダム 4KB だけでの比較も十分実用的であったが、SSD では構造が非常に複雑かつ機種によって構造が全く違う為、HDD と異なりランダム 4KB だけに最適化する事も可能な上、ランダム 4KB だけは速いが少し条件が変わると非常に遅くなる機種もある。ランダム 4KB 等の簡易テストはその SSD の特徴の一側面を確認する事は出来るものの、総合的な性能とは殆ど関係ないと言える。

  • SSD のデータシートによくランダム 4KB の IOPS(QD=32) のスコアが記載されているが、そもそもランダム 4KB という指標そのものが当てにならないだけでなくメーカーによって計測条件がまちまちである為 (計測に使用したベンチーマークソフト、queue depth、スパン、パーティションアライメントetc。例えば X25-M G2 80GB の RW4KB の 6600IOPS という公称スペックもドライブ全域ではなく 8GB の範囲(スパン)のみ計測した場合の話で、ドライブ全域を計測すると 300IOPS まで低下する) メーカーや計測環境が違うと正確な比較は出来ない。よく雑誌の提灯ライターがランダム 4KB だけでランダムアクセス性能を比べて初心者が騙されている。

  • しかし東芝製 SSD は各種実使用系 (Real world) のベンチマークでは逆に高いスコアが出ている。ランダム 4KB が実用時とは異なったかなり特殊な条件下の速度を計測している為このような違いが出る。1234567891011


NCQ QD=32

+ クリックで展開
  • NCQ (ネイティブ・コマンド・キューイング) とは SATA2.5 で追加された命令の一つで NCQ に対応した SATA ホストコントローラに接続し AHCI モードで使用可能になり、キュー深度は最大 32 (QD=32)。SCSI/SAS の場合 TCQ (タグ・コマンド・キューイング) という同等の機能があり、SCSI なら TCQ QD=255、SAS なら TCQ QD=64 まで対応している。単体の HDD の場合はこれらのコマンドキューイングを使用したとしても物理的にヘッドをシークさせる必要がある為誤差程度しか性能は向上せず、RAID 等の多数の HDD を束ねたストレージではそれなりに性能が向上する。

    SSD の場合は通常内部で複数の NAND フラッシュメモリを束ねた構造をしている為、機種によってはこれらのコマンドキューイングを使用するとベンチマーク上ではかなりスコアが向上する機種もあるが、実用時ではコマンドキューイングを有効利用するためには各種の条件が揃っている必要があり、個人用途ではほぼ無意味な機能である。

    ClystalDiskMark の他、メジャーなベンチは NCQ に対応しており業界紙でもない個人向けの PC 雑誌のライターが良く QD=32 の数字を比較して SSD の優劣を決めているという微笑ましい場面が良くあるが、こういった風潮の為 Intel SSD 510 (NCQ 有効時にあまりスコアが伸びない) や東芝製 SSD 全般 (現在のところ NCQ に対応した機種は無い) 等の性能が不当に過小評価され、逆に個人用途でほぼ無意味な NCQ の効果が高い SSD が不当に高く評価されている。



  • つまり、NCQ は CPU の各種拡張命令やマルチコア対応同様、アプリケーション側の対応が無ければ意味が無い

  • 例え複数の同期ファイル I/O を使用するアプリケーションが同時にドライブにアクセスしたとしてもコマンドキューイングは使用されない。同期ファイル I/O はいくつ同時に発行されても順番に実行されるだけで同時実行される訳ではない。CrystalDiskMark を使用して非同期 I/O コマンドを使用しない通常のアプリケーションでは全く NCQ の効果がない事を確認する方法は以下の通り

1、まず NCQ 対応環境と NCQ 有効時のスコアの伸びが大きい SSD (X25-M や SandForce) を用意し、
  デフォルトの設定で CDM を一つ起動し [4KB] と [4KB QD=32] のスコアを計測する。

2、次に CDM を一旦終了し、再度二つ以上起動し、計測回数を [1] にし
  (CDM 同梱のヘルプファイルによると CDM は計測回数を増やした場合一番高かったスコアを表示する。
  その為回数を増やすと正確に計測できない。) 同時に計測する
  (余り同時起動数が多いと、各 CDM のベンチ開始のボタンをクリックするタイミングのズレが大きくなり
  正確な同時テストではなくなってしまうため同時起動数は 2~4 程度が良いだろう)。
  そして各 CDM の [4KB] のリードかライトのスコアを合計する。

3、1 で単体で計測した時のスコアと比較する。元々 CDM は計測誤差の大きいベンチソフトであるし、
  ベンチ開始のボタンをクリックする時間差も影響するので多少の誤差は出るものの、各 CDM のスコア合計は 1 で計測した
  [4KB] のスコアとほぼ同じになり [4KB QD=32] のスコアには大きく届かない。

  その他様々な非同期 I/O コマンドを使用しないベンチマークでも確認可能。

  • 非同期ファイル I/O 対応のクライアント向けアプリケーションの一例 (今のところ、これ以外には確認できていない)
    • 各種ベンチマークソフト
    • DVD Shrink (DVDリッピングソフト、非同期ファイル I/O を有効にする設定項目がある)
      • 尚、折角の非同期ファイル I/O も複数同時に発行されなければ同期ファイル I/O とパフォーマンスに大差ない。サーバーやデータベース用のアプリケーションは非同期ファイル I/O を多用するものが多く、こういった環境であれば深いキュー深度できちんとスケーリングしかつ保証書き込み量の多い SLC かつ SAS インターフェースのエンタープライズ向け SSD がお勧めである。




ClystalDiskMark

+ クリックで展開
  • 作者の好意で無償で提供されている HDD 時代に開発が始まったフリーのベンチマークソフト。
    手軽に使用出来る為ユーザー (一部のレビューサイトや SSD ベンダー含む) は多いが、手軽な分精度は高くなく絶対的指標とすることは困難である。またユーザーがこのベンチマークソフトの使用方法を理解していない為誤った使用方法や計測をしている場合が多々見られる。
    どんなベンチマークソフトであっても使用するからには最低限そのベンチマークソフトの使用方法や向き不向きや特徴を熟知していなければならない。

  • CrystalDiskMark の特徴 (CDM 同梱のヘルプファイルを良く読む事)
  • ファイルシステムを介してテストを行う。このためパーティションやデータを保ったまま計測が行えるので手軽であるが、ベンチスコアはファイルシステムの使用状況に大きく左右されてしまう。例えば空き領域が少ない場合やファイルシステムが断片化している場合に計測を行うとテストデータが分散してしまい、シーケンシャル速度を計測しているつもりでも実際にはランダム性能を計測してしまう。またパーティションアライメントの影響を受ける。

  • テストデータは 50~4000MB (デフォルトは 1000MB) と少なく、計測されるアドレスは完全にランダム (ファイルシステム上の空いている場所) である。この為実際には速度低下している SSD も計測したアドレスだけたまたま高いスコアが出れば速度低下していないように見えるし、速度低下していない SSD も GC 等が行われている瞬間に計測した場合速度低下しているように見えてしまう。
    HDD のようにプラッタ外周の方がシーケンシャル・ランダム共に高速なデバイスの場合、先頭付近だけ計測すれば異常に高いスコアになり、ファイルシステム上の空き領域が少ない場合はプラッタ内周を計測してしまい異常に低いスコアになる。
    また 100MB 等の非常に小さいテストデータを使用すると DRAM キャッシュが大きく影響し実使用時と乖離したスコアになったりする。
    SSD によってはドライブ全域に書き込みを行うと途中から速度がドロップする機種もあるが、そういう特徴を把握する事も出来ない。
    またランダム 4KB のテストに関しては例えテストデータに 1000MB 等を設定しても実際のテストで数十 MB しか書き込まれない (タスクマネージャ・リソースモニタで確認可能)

  • 計測回数を 1~9 回から選択できる (デフォルトは 5 回) が、表示されるスコアは平均値ではなく最大値である。
    そのため CrystalDiskMark を複数回計測する設定で複数同時実行したスコアを合計したりすると異常な数値になる。
    複数同時実行する場合は必ず計測回数は 1 回にする事。


  • CrystalDiskMark で計測できる速度はシーケンシャル・ランダム 512KB、ランダム 4KB、ランダム 4KB(QD=32)のそれぞれのリード/ライト。これらの速度の意味は前述の項目を参照し、自分が今何を計測しているのかを良く理解し、正しく評価する事。

  • ベンチマークソフト共通のお約束
    • ベンチスコアは BIOS、チップセット、OS やその設定、ドライバ、各種省電力機能に大きく左右される。
      これらの要素のせいで HDD/SSD 本来の性能を計測出来ない場合があり、HDD/SSD 本来の性能を計測する為にはこれらの設定の変更・OS のクリーンインストール・専用の環境の構築等が必要がある。
    • OS やアプリケーションがインストールされているドライブには常になんらかのアクセスが発生しており正確に計測する事は出来ない。
    • SSD のピーク性能を計測する場合は必ず直前に Secure Erase を行う事。
    • 計測する度にスコアが上下するのは当たり前。より精度の高いスコアを出す為には何十回も計測し平均値を出す事。


各種ベンチマークスコア・レビュー・メーカー公称スペックの罠

+ クリックで展開
  • ベンチマークソフトはあくまで SSD の性能の一側面だけを切り取って数値化するソフトであって、今のところ SSD の性能を総合的に評価できるものは少ない。HDD と異なり SSD は構造が複雑になり、HDD と異なり状況によって様々な挙動を見せる。SSD を評価する場合は様々なベンチマークソフトで総合的に評価する事。実用時の性能を計測する事を意識し、様々なブロックサイズやリード・ライトを混在させたパターンで計測する実用系のベンチマークソフトであっても 4KB 未満のブロックサイズ (512byte/1KB) や非データコマンド (IDENTIFY DEVICE コマンド、Trim コマンド、S.M.A.R.T.コマンド) まで混在させて計測するベンチマークソフトは今のところ確認できず、この点で実用系のベンチマークも Real World には辿り着いていない。(これらのコマンドのバグが原因でフリーズしたり、これらのコマンドを受けるとその後暫くパフォーマンスが低下する機種もある)

  • 各種レビューではライターの知識不足や提灯が原因で不正確であったり偏っているものが多々見受けられる。またメーカーの公称スペックも基本的に良い事しか書かれていない。
  1. クライアント PC にはほぼ無関係な NCQ 有効時のスコアを計測している
    ベンチマークソフトでは NCQ 無効時のスコアも計測できる場合が多いが、レビューによっては NCQ 有効時のスコアしか掲載しない、説明不足の為事情に詳しくないユーザーが NCQ 有効時のスコアしか見ない、最悪の場合 NCQ が有効である事を明記しない等の場合がある
  2. ランダムアクセス性能を計測する際、4KB 未満のブロックサイズでの計測をしない
    Windows + NTFS の組み合わせでは無駄に 512byte や 1KB 単位のアクセスが多用される為これらの小ブロックサイズのランダムアクセス性能も重要となる。他の OS やファイルシステムでは重要でない場合もある。HD Tune、ATTO Disk Benchmark 等では計測可能だがレビューサイトでは取り上げない場合が多い
  3. ドライブの一部分しか計測しない
    大抵のベンチマークソフトでは計測範囲を指定出来るが、ドライブの一部分しか計測しないレビューや公称スペックもある。 (Intel の X25-M G2、SSD 310、SSD 320 等。ドライブ全体の内 8GB のみの計測のスコアが表記されている) 計測範囲が狭いとその分キャッシュが効き易い為キャッシュの性能(だけ)が良い SSD やドライブ全体に書き込みを行うと途中から速度が落ちるような SSD が不当に高く評価される。
  4. ピーク(最大)性能のみ計測しアベレージ(平均値)やミニマム(最小)性能を計測しない
    性能が不安定な SSD の評価が不当に高くなる。
  5. 新品時や SecureErase 直後のベンチスコアしか計測しない、或いは劣化のさせ方が不十分
    SSD は通常購入してから数ヶ月~数年は継続使用するものであり、頻繁に SecureErase でもしない限り使用時間の大半は劣化した状態 (空きページ・ブロックが減少し、しかもウェアレベリングや GC が十分な回数発生しアドレス変換テーブルが十分な回数書き換えられ、かつ論理アドレス上でも十分に断片化した状態) で使用する事になる。従ってある程度の劣化状態でのスコアを (も) 計測するべきである。大半の SSD は Trim コマンドが有効な状態であれば速度低下はしにくくなるものの全く速度低下を起こさない訳ではなく、中には Trim コマンドが有効でも大きく速度低下すると同時に数秒のフリーズを伴う機種もあるので新品状態のスコアを並べるだけだと速度低下が大きい SSD が不当に高く評価される事になる
  6. バグ・癖・相性問題を一切取り上げない、或いはバグが無い前提の記事
    例えば SF-1200 搭載 SSD の場合最新ファームウェアでも特定の環境で正常に動作しないしその情報を OCZ が公開している。また過去にバグファーム入りの機種をリリースしたメーカーの新機種にはバグがあるリスクがある。しかし特に日本のメディアはこういったネガティブな面を取り上げずに「最速!」等と購買意欲を煽るだけの場合が多い。バグの中には全データがクリアされたり使用中に SSD がハングアップするもの等致命的な例もあり、性能云々なんかよりよっぽど重要で最も重視するべき事項である

  • 提灯レビュー(というより色々酷いレビュー)の一例
    • (魚拓)”C300”の後継モデル「Crucial Real SSD C400」でキュンキュン遊ぶ (1/2)
    • (魚拓)”C300”の後継モデル「Crucial Real SSD C400」でキュンキュン遊ぶ (2/2)
      • この記事では RealSSD C300 の 64GB、RealSSD C400 の 256GB、Intel SSD 320 の 300GB を比較しているが、RealSSD は容量によって大きく書き込み速度が異なり、最低性能の 64GB 版の C300 と性能の高い 256GB 版の C400 を比較し C400 の方が高速であるという結論を強引に導き出している。更に、CrystalDiskMark の RealSSD C300 64GB 版のスコアが異常に低く、わざとパーティションアライメントを合わせていない可能性が高い。また、記事中で Real SSD C400 のコントローラーチップが「88SS9174-BKK2」であると紹介されているが、実際には「88SS9174-BLD2」である。(写真で確認出来る) そして (2/2) の締めの部分で「評価で使用した256Mバイトモデル」と書かれているが、実際には 256"G"バイトモデルが正しい。


で、何を重視すれば速い SSD を見分けられんの?三行で頼む

+ クリックで展開
  • バグでフリーズしたり極端に速度低下しない事。
  • リアルタイム GC が頻繁に行われない事。リアルタイム GC が頻繁に行われる SSD はその瞬間もっさりする。
  • 512byte~128KB…等の様々なブロックサイズで安定して速い事。どれかが極端に遅いと駄目だし一つだけ突出しても意味無い。


タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

記事メニュー
目安箱バナー