SSDでHDDを高速化「StoreMI 2.0」は何が変わったのか
読み書きが高速なSSDを、低速だが大容量かつ安価なHDDに組み合わせることで、両者の良いところ取りをする技術は昔から存在する。この手の技術で自作PCユーザーによく知られているものといえば、インテルの「Intel Rapid Storage Technology」だろう。だがAMDにも「StoreMI」というソリューションが存在する。
だがこのStoreMIは、中々に波乱の人生(?)を歩んでいる。第2世代Ryzen登場の頃にリリースされたものの、今年3月に提供が突然終了した。このStoreMI(バージョン1系列)は、Enmotus社「FuzeDrive」のライセンスをAMDが取得して提供していたもので、何らかの理由でライセンスの継続が切れたため提供が終了したと推測される。
だがStoreMIは今年7月、Ryzen 3000XTシリーズ発表の裏で復活している。この新しいStoreMI“バージョン2.0”(以降StoreMI 2.0と表記する)は、EnmotusではなくAMDが構築したものだ。StoreMI 2.0は新設計のもと、リブートしたテクノロジーと言ってよいだろう。
そこで、今回はこのStoreMI 2.0の使い勝手はいかほどのものか、簡単ではあるがチェックしてみたい。
StoreMI 2.0の動作環境とインストール
まずStoreMI 2.0の動作環境を解説しておこう。StoreMI 2.0に対応するCPUは、第3世代RyzenもしくはRyzen PRO 4000Gシリーズ、つまりZen 2世代のRyzen、もしくはThreadripper(こちらは全世代)となる。チップセットは7月時点ではX570限定になっていたが、8月下旬時点のバージョン(2.0.0.0103 BETA)では、X570のほかにTRX40/X399/B550も動作対象になっている。なお、X470やB450は今年第3四半期に対応予定となっている。
StoreMI 2.0のインストールには、少なくとも1台ずつのHDDとSSDがシステムに接続されている必要があるが、SSDをシステムドライブとして使っている場合は、さらに別のSSDが必要になるので注意したい。今なら256GBクラスのNVMe SSDが5000〜6000円程度で手に入るので、SSDが別途必要という制約は、ギリギリ許せるといったところか。
ここで、提供が終了した旧StoreMIとStoreMI 2.0で何が違うかについて、解説しておきたい。以前レビューした旧StoreMIでは、データ入りHDDに対しSSDを追加するほかに、データ入りSSDにHDDを組み合わせるといったオペレーションも可能だったし、これを利用してデータ入りSSDにSSDを組み合わせることや、メモリーをキャッシュとして追加することもできた。
しかし、StoreMI 2.0では、すでにデータが入っているHDDに対し、キャッシュ用SSDを追加するというオペレーションのみになる。合体後のドライブは容量が特に増える訳ではなく、WindowsのUI(エクスプローラー)から完全に隠蔽される形になる。
また、旧StoreMIではキャッシュのSSDは256GBまでしか使われない(FuzeDriveにアップグレードすれば増量可能)という制限があったが、StoreMI 2.0ではSSDの全領域がキャッシュとして組み込まれる。提供する機能をシンプルにしつつ、設定にかかる手間も高速化したようだ。
PCI Express Gen4のSSD速度と どれだけ差が出るか検証
今回の検証環境を紹介しよう。手元にあったHDDは7200回転の12TBモデル、キャッシュ用SSDはPCI Express Gen4の1TBモデルと、StoreMI 2.0で運用するにはかなりオーバースペックな感じだが、その辺はご容赦いただきたい。StoreMI 2.0で構築したドライブがPCI Express Gen4の速度限界にどこまで迫れるか、という観点で見てほしい。
検証環境 CPU AMD「Ryzen 9 3950X」
(16コア/32スレッド、3.5GHz~4.7GHz) グラフィックス AMD「Radeon RX 5700」リファレンスカード SSD Corsair「Force MP600 CSSD-F1000GBMP600」×2
(1TB SSD、NVMe対応 M.2規格、OS用とキャッシュ用に各1) HDD Seagate「IronWolf ST12000VN0008」
(HDD、7200rpm、12TB) 電源ユニット Super Flower「Leadex Platinum 2000W」
(2000W、80Plus Platinum) CPUクーラー Corsair「iCUE H115i PRO RGB XT」
(簡易水冷、280mm) OS Windows 10 Pro 64bit版
(May 2020 Update) StoreMI 2.0の検証に入る前に、今回使用したSSDとHDDを単体で使用した場合の読み書き速度をチェックしておこう。検証は「CrystalDiskMark」を使用し、テストデータのサイズを1GiB/4GiB/16GiB/64GiBの4通りで計測した。
以上の結果から、今回使用するSSDはシーケンシャルリード(SEQ1M Q8T1)5000MB/sec、シーケンシャルライト4200MB/sec、HDDはシーケンシャルリード253MB/sec、シーケンシャルライト245MB/sec(全て前後)であり、データサイズにほとんど影響を受けないという点に注目したい。
データサイズが小さいほどリード速度はSSDに近くなる
ではStoreMI 2.0でHDDの読み書き速度がどの程度改善されるか検証してみよう。この手のキャッシュ技術の常として、最初はHDDに近い性能しか出ないが、アクセスを繰り返すとSSDにキャッシュとして蓄積され速度が向上する。そのため複数回の計測が欠かせない。
そこで今回は「CrystalDiskMark」で読み書き速度を計測し、どの程度で前掲したSSD単体の読み書き性能に近くなるかを見てみたい(ただし計測は10回を上限とする)。CrystalDiskMarkの1回のランが終わったら、約2分のインターバルをおき次のランを実施。10回のランが終わったらStoreMI 2.0でキャッシュを1度解除してから再構築し(手順毎に再起動含む)、その上で新しいテストサイズに設定したCrystalDiskMarkを実行する……という手順を踏んでいる。
ここでもテストサイズを1GiB/4GiB/8GiB/16GiB/64GiBの4通りに変え検証してみた。シーケンシャルリード/ライトの値だけに注目して10回の試行の結果をプロットしたのが下のグラフとなる。
シーケンシャルリードでは、StoreMI 2.0の効果がよく観察できたが、テストサイズがある程度小さくないと実感しにくいことも示されている。テストサイズが1GiBなら、2回目のランでシーケンシャルリードはSSDのそれと同じになったが、4GiBでは6回目で到達。それ以上になるとさらに効果が薄くなり、16GiB以上では10回繰り返してようやく1000MB/sec付近に上昇する。巨大な動画ファイルの読み出しよりも、アプリやゲーム起動時に読み込まれる小さなファイルに対するキャッシュ効果の方が大きいと推測できる。
また今回のテストでは、いくつかの条件で突然速度が出なくなる現象もみられた。例えば8GiBの場合、8回目で1400MB/secに到達したのに、9回目では250GB/secに下落、だが10回目には3500MB/secに復帰している。今回の観測範囲内では、速度低下はあっても一時的なもので、また同じリード処理をするとキャッシュが効くようになると考えられる。
リードの優秀さとは対照的なのが、シーケンシャルライトの数値だ。ここではテストデータサイズの大小にほぼ関係なく、初回は220GB/secあたりにとどまる。その後回数を重ねると最終的に250GB/secあたりで頭打ちになる。テストサイズが小さいほど少ない試行回数で頭打ちになると予想したが、試行2回目でシーケンシャルライトが250GB/secに到達したのは1GiB時のみで、4GiB以上だと試行4回目でようやく250GB/sec近くになる。
つまりStoreMI 2.0はHDDに組み合わせたSSDを、リードキャッシュとして使うために特化したソリューションなのだ。SSDがこれだけ普及した今、SSDは頻繁に読み書きするような動的なデータ置き場として使い、HDDは蓄積した写真や動画、あるいは起動する頻度の低めなゲームといった静的なデータを蓄積するために運用するのが定番化している。StoreMI 2.0はこの静的データへのアクセスをいかに快速化させるかにフォーカスしているといえるだろう。
では簡単ではあるが、ゲームにおける読み込み待ち時間の短縮にStoreMI 2.0がどの程度有効か見ていこう。テストは「ファイナルファンタジーXIV: 漆黒のヴィランズ ベンチマーク」(FF14ベンチ)とし、ベンチのラン終了時に提示される合計ロード時間を比較する。画質は“最高品質”、1920×1080ドットとし、2分間隔で5回計測して、その推移をプロットしてみた。FF14ベンチは最初からHDDにコピーされた状態でキャッシュの有効化や計測を実施している。
どちらも初回は22秒前後でほぼ同じだが、StoreMI 2.0でキャッシュを有効にした状態ではベンチマークを完走させるたびに時間が短縮。最終的にはHDDのみの時の半分程度の時間に短縮した。実際のゲームの待ち時間はデータの展開やシェーダー構築など、SSDの性能が効かない領域での待ちが多いが、ファイルの読み込みが多いタイプのゲームなら、StoreMI 2.0で相当なパフォーマンスアップが期待できるだろう。
シンプルで軽快にはなったが、謎の挙動も気になる
StoreMI 2.0は旧StoreMIとは似ているようで細部が異なるソリューションに仕上がっている。旧StoreMIはSSDのキャッシュの他にメインメモリーをキャッシュとして使うという付加機能も付いている一方で、構築や解除も気楽にはいかない感じだった。だがStoreMI 2.0はメモリーキャッシュは削除され、CrystalDiskMarkで見る限り書き込みにはキャッシュが効いていない。データドライブを少しでも高速化したい人で、かつSSDが余っている人向けのソリューションといえる。
とはいえ、まだベータ版であるため今後機能が追加されることも十分あり得る。冒頭に書いた通り、B450やX470チップセット向けの対応もこれからの状態だ。現時点での実装では劇的に高速化したと体感できるシチュエーションは少ないが、今後の改善に期待したい。
■関連サイト
AMD StoreMI 公式ページ