買ってみたらこうだった!

NVMe SSD RAIDで6GB/s超え、Ryzen ThreadripperのRAID機能を試してみた

AMD X399搭載マザーは足回りもかなり強力! text by 坂本はじめ

 10月上旬より、Ryzen Threadripper環境でNVMe SSDのRAIDボリュームが構築できる機能の提供が開始された。現在、多くのX399チップセット搭載マザーボードがUEFIのアップデートによりRAID機能に対応している。

 そこで、編集部に転がっているM.2 SSDをかき集め、NVMe RAID機能でRAID 0ボリュームを構築し、そのパフォーマンスをチェックしてみた。

 Ryzen ThreadripperはCPUのコア/スレッド数が注目されているが、足回りもかなり強力なので、映像編集などで超高速ストレージが必要なユーザーは参考にしてもらいたい。

NVMe RAID機能の利用には対応UEFIが公開されているマザーボードが必要

 Ryzen Threadripper環境に追加されたNVMe RAID機能を利用するためには、同機能に対応するUEFIアップデートが適用されたX399チップセット搭載マザーボードが必要だ。

3基のM.2スロットを備えるMSI X399 GAMING PRO CARBON
すべてのM.2スロットに着脱可能なヒートスプレッダ「M.2 Shield」を備えている

 今回の検証では、MSI製のX399チップセット搭載マザーボード「X399 GAMING PRO CARBON」を用意した。CPUのPCI Expressレーンに直結したM.2スロットを3基備えており、「7B09v16」以降のバージョンのUEFIにアップデートすることで、NVMe RAID機能が利用可能となる。

 また必要となるWindows用のドライバもマザーボードのサポートページから入手可能だ。「X399 GAMING PRO CARBON」であれば、製品サポートページのドライバ欄にあるOn-Board PIDE/SATA Driversの項目(※リンクはWindows 10 64bit用)から入手できる。

M.2 SSDを装着したところ。全てのM.2 SSDがPCI Express 3.0 ×4レーン接続で動作可能だ
UEFI上からRAIDの設定を行えるほか、OS上からRAIDアレイを管理できるユーティリティもAMDの公式サイトで公開されている。

 なお、Ryzen Threadripper向けNVMe RAID機能を利用して構築できるRAIDレベルは0/1/10の3種類。構築したRAIDボリュームはブートドライブとして利用することが可能であり、OSインストール用のドライブとして利用することもできる。オプションキーが必要になるIntelのX299チップセットとは異なり、標準の状態で制約無く使用することができる。

 今回はRAID 0 ボリュームをテストするが、用途によってはRAID 1やRAID 10でSSDの故障に対処するのも良いだろう。

2GB/sオーバーのM.2 SSD×3基でテスト、使用するSSDの仕様と性能を確認

 今回、NVMe RAIDボリュームを構築するために用意したSSDは、Plextor M8PeGの256GBモデル「PX-256M8PeG」、Samsung SSD 950 PROの256GBモデル「MZ-V5P256」、Samsung SSD 960 EVOの500GBモデル「MZ-V6E500」という色々と不揃いな3台だ。各SSDのスペックとベンチマーク結果は以下の通り。

なお、ベンチマークソフトは、SSD向けに調整されている「CrystalDiskMark 6.0.0」と、これまで通りの挙動を引き継ぐ「CrystalDiskMark 5.5.0」の2種でテストしている。

各SSDの主な仕様
Plextor M8PeG 256GBモデル「PX-256M8PeG」
CrystalDiskMark 6.0.0の実行結果 (PX-256M8PeG)
CrystalDiskMark 5.5.0の実行結果 (PX-256M8PeG)
Samsung SSD 950 PRO 256GBモデルモデル「MZ-V5P256」
CrystalDiskMark 6.0.0の実行結果 (MZ-V5P256)
CrystalDiskMark 5.5.0の実行結果 (MZ-V5P256)
Samsung SSD 960 EVO 500GBモデル「MZ-V6E500」
CrystalDiskMark 6.0.0の実行結果 (MZ-V6E500)
CrystalDiskMark 5.5.0の実行結果 (MZ-V6E500)

 性能や記憶容量の異なるストレージでRAID 0 ボリュームを構築した場合、記憶容量は「最も少ないストレージ×台数」、パフォーマンスは「最も低速なストレージ×台数」となる。今回の場合、容量については256GBが2台と500GBが1台という構成なので、RAID 0 ボリュームの記憶容量は最大256GB×3で768GBになるわけだ。

 性能については、各SSD単体のパフォーマンスをみてみると、シーケンシャルリードが最も遅いのはMZ-V5P256の約2,200MB/sec、シーケンシャルライトではPX-256M8PeGの約890MB/secなので、RAID 0 ボリュームに期待できる最大の性能は、シーケンシャルリード約6,600MB/s、シーケンシャルライト約2,670MB/s程度と予想できる。

リード6GB/s超え!RAID 0 ボリュームのパフォーマンスをチェック

 さて、では実際に構築したRAID 0 ボリュームのパフォーマンスをチェックしていこう。

 NVMe RAID機能で構築したRAID 0 ボリュームをDドライブとしてフォーマットし、CrystalDiskMarkを実行した結果が以下のスクリーンショットだ。

CrystalDiskMark 6.0.0の実行結果 (RAID 0 ボリューム)
CrystalDiskMark 5.5.0の実行結果 (RAID 0 ボリューム)

 シーケンシャルアクセス性能は、リードが6.1GB/sec前後、ライトは2.65GB/s程度となった。SSD単体の性能から予想されたパフォーマンスと比較すると、リード性能は約92%、ライト性能は約99%であり、オーバーヘッドなどを考慮するとほぼ理想通りのパフォーマンスを発揮しているようだ。

 4KiBのランダムアクセス性能に関しては「単体で最も遅いストレージ×台数」というRAID 0の原則通りのパフォーマンスアップは見られない。4KiB-Q32T1テストなどではいずれの単体SSDよりパフォーマンスが悪化している。シーケンシャル性能を求める場合には有効だが、ランダムアクセス性能を高める目的には適さないのかもしれない。

 以下のスクリーンショットは、RAIDボリュームにOSをインストールした上で実行したベンチマークテストの結果だ。リード性能は1GB/sec近く低下しているが、ライト性能に関しては大きな落ち込みは見られない。OSの処理なども同じドライブで行われることを考えると、かなりの性能といえるだろう。

CrystalDiskMark 6.0.0の実行結果 (OSインストール時)
CrystalDiskMark 5.5.0の実行結果 (OSインストール時)

超高速ストレージの構築や余ったSSDの有効活用に

 NVMe RAID機能はRyzen Threadripperが持つ64レーンのPCI Express 3.0を有効活用する手段の一つだ。動画編集などで高速なシーケンシャルアクセス性能を持ったストレージが必要なユーザーにとって魅力的な機能と言えるだろう。

 また、明確な目的が無くとも、今回のように不揃いなSSDを束ねて高性能なストレージを作り出せるのは面白い。中途半端な容量のM.2 SSDを余らせているようなら、NVMe RAIDを用いて高速なシステムドライブやゲームインストール用ストレージとして使ってみるのも良いだろう。

実際にデータを読み出した際の速度。ベンチマークだけで無く、実際に使用した際もリードは6GB/sの速度を発揮する
OS起動ディスクに使用して負荷をかけた際の速度。起動ドライブとして使用してもしっかりと性能は発揮される。