第11世代Core iプロセッサー以降で搭載されたIntel VMDは、Windowsインストール時にSSDが見えなくなる問題を起こしますが、SSDのアクセス速度アップなどのメリットがあるとの噂もあります。
Intel VMD環境ではWindows 11/10を最適なパーティション構成でインストールするためのスクリプトが失敗するとのコメントを頂いたため詳しく調べてみました。
概要
こちらの記事にスクリプトが正しく実行できないとコメントを頂きました。
コメントで教えて頂いた環境はIntel VMDが有効になった環境でした。コメントを頂いた時点では、Intel VMDに対応した環境が手元になく、状況は推測するしかなかったので想定される対応方法をお伝えしました。
ただ、Intel VMDはすべての環境で有効にされていると資料にはあったため、早急に対応しなければとは思っていました。その後、Intel VMDに対応したIntel NUC13を入手したので今回詳しく調べてみました。
以下の説明ではできるだけ解釈や翻訳の誤りが無いように、Intelサイトから集めた情報とその英語原文で説明します。日本語訳はIntelが用意した英語ページを機械翻訳したページですが、若干分かり難いので原文を読んだ方がよいでしょう。Intelの英語ページは日本語訳ページが存在すればURLの「us/en」を「jp/ja」に変更することで表示できます。
Intel VMDとIntel RST
Intel VMDと非常に関係が深い技術にIntel RSTがあります。Intel VMDを説明する前にIntel RSTについて説明します。
Intel RSTとは
Intel RTSとは、Intel Rapid Storage Technologyの略で、ストレージについてパフォーマンス向上、データ保護、システム拡張性を実現する機能です。パフォーマンス向上と消費電力低減の効果は、ストレージドライブの台数には関係なく得られます。複数のストレージドライブで構成すれば、故障時のデータ損失に対する保護性能を向上させることができます。
パフォーマンスの向上は、最も頻繁に使用されアクセスされるデータに対して、高い応答性を提供するアルゴリズムで実現されます。この実現にはOptaneメモリーも関係していましたが、第12世代以降のCore iプロセッサーではOptaneメモリーはサポートされませんので、Optaneメモリーをキャッシュメモリーとして使えません。
データの保護と、システムの拡張性はRAIDの構築により実現されます。構築可能なRAIDのレベルは、RAID 0(ストライピング)、RAID 1(ミラーリング)、RAID 5(ストライピング+分散パリティ)、RAID 10(ストライピング+ミラーリング)で、その他のRAIDレベルは構築できません。
Intel RSTは古くからIntel CPUに搭載されている機能で、チップセットのSATAに接続されているストレージについては、ホットプラグがサポートされています。ホットプラグとはシステムが稼働状態であっても、故障したストレージを外して交換することができる機能です。
Intel RSTは時代に合わせてバージョンアップしておりSATAだけでなく、Optaneメモリー、M.2 NVMe SSDなどにも対応していますが、CPUや接続しているストレージによってサポートされるIntel RSTドライバーのバージョンが細かく別れています。
Intel VMDとは
Intel VMDとは、Intel Volume Management Deviceの略で、NVMeベースのSSDドライブに高性能のホットプラグ機能とLED制御機能を実現する技術です。
利用できる環境は限定されており、第11世代以降のCore iプロセッサーと対応チップセットまたはSoC、Intel VMD対応BIOSを搭載したシステムで利用できます。
Intel VMDはIntel RSTの後継ではなく併存しており、Intel VMDはIntel RSTをNVMeに拡張したものと考えることができます。
スペックシートには併記されずIntel RSTかIntel VMDのどちらかへの対応が明記されています。
Intel VMDドライバーと呼ばれるものは存在せず、Intel RSTドライバーを利用します。
そして重要なことですが、こちらの資料(日本語訳)よるとIntel VMDをサポートするシステムは、既定でIntel VMDが有効になっているとのことです。
Important considerations
- The Intel RST VMD driver should not be uninstalled/removed after installation. This could result in an Inaccessible Boot Device blue screen and potential data loss.
- The VMD device is always enabled on a platform where VMD device is deployed. There is a possible configuration where VMD does not own any device. This is an empty VMD configuration. As a result of this, the Intel RST VMD driver should always be installed on such a platform to avoid a yellow bang device in Window’s Device Manager.
しかし、実際はメーカー次第のようで、IntelのNUC13でも既定では無効になっていました。
時代の変遷
IntelはチップセットのICHシリーズでRAIDを実現してからIntel RSTを使ってSATAのRAIDをサポートしてきました。当初はSATAに接続するのはHDDだけでしたが、SSDが発売され徐々にHDDからSSDにシフトして行きました。
しかし初期のSSDは高価でRAIDを構成するには容量も価格もHDDと比べてコストが合わず、HDDとSSDの性能差を埋めるものとして、キャッシュSSDであるOptaneメモリーが発売されました。
この時代のRAIDはHDDとOptaneメモリーで構成した場合でも、故障したHDDはSATA接続なので従来のIntel RSTのホットプラグ機能で交換可能でした。
しかしSSDは急速な容量増加と価格低下からHDDに置き換わっていきます。こうなるとHDDに置き換わったSSDにはキャッシュSSDも不要となるため、IntelはOptaneメモリーの生産を終了させました。
それでも時代はSATA接続のSSDに満足せず、更に高速で小型なM.2接続のNVMeが主流となります。
NVMeはPCI Express接続なのでSATAのホットプラグ機能は使えません。そこでNVMeでRAIDを組むことを想定して、PCI Expressでのホットプラグを実現するIntel VMDを開発したと思われます。
Intel VMDを有効にする手順
Intel VMDを使うには第11世代以降のCore iプロセッサーを搭載していて、更にBIOSでIntel VMDに対応している必要があります。BIOSで対応しているということはチップセットまたはSoCもIntel RST及びIntel VMDに対応しているということになります。
Intel VMDを使うには次の手順で進めます。
BIOSでのIntel VMDの有効化
まずはBIOSに入ります。入り方は起動時に[DEL]、[F2]などのキーを押しますが、どのキーを押せば入れるかはパソコンまたはマザーボードのマニュアルを見てください。
これはIntel NUC13のものですが、既定では「Enable VMD controller (Enable for RAID)」にチェックが入っていません。
チェックを入れると追加の項目が表示されますがこれらは変更しません。この時点ではまだ「SunDisk Ultra 3D NVMe」は「M.2 Slot 1」にあります。
変更を保存してから再起動して、再度BIOSに入ります。
「M.2 Slot 1」は「Control by VMD」になり、「Storage Device Information under VMD」の「NVMe Device underVMD」に「SunDisk Ultra 3D NVMe」が移っています。
この状態で保存して終了すればBIOSの設定は完了です。
Windowsのインストール
Intel VMDを使う上で大きな問題は、Windows 11/10にIntel RSTドライバーが同梱されていないことです。そのためIntel VMDを有効にするとIntel VMD管理下のストレージが見えなくなります。
Windows 11に同梱されるようにするとの方針だったようですが、Windows 11 バージョン23H2にも同梱されていないため今後も個別での対応が必要でしょう。
Windows 11/10をクリーンインストールする場合、Windowsセットアップでインストール場所を選択する画面になると、インストール場所とするストレージが表示されません。
そのため予めIntel RSTドライバーを展開してインストールメディアにコピーしておく必要があります。Intel RSTドライバーはパソコンやマザーボードメーカーがカスタマイズしている場合もあるため、Intel汎用のものではなくパソコンメーカーなどが配布しているものを使用します。特に利用できるバージョンにも制約があるため最新の汎用版ではなく、パソコンメーカーなどが配布しているバージョンを使用してください。
Intel RSTドライバー(SetupRST.exe)だけでインストール用のドライバーが個別に用意されていない場合は、
- SetupRST.exe -extractdrivers <展開先フォルダー>
でドライバーだけを抽出できます。
インストール場所の選択画面が表示されたら「ドライバーの読み込み」をクリックします。
「参照」をクリックします。
ここではインストールメディアの「IRST」フォルダーにIntel RSTドライバーをコピーしてありますので、そのフォルダーを選択して「OK」をクリックします。
インストールするドライバーの選択画面で2つのドライバーが表示されます。
- Intel RST VMD Controller XXXX(XXXXはパソコンによって異なる)
- Intel RST VMD Managed Controller 09AB
どちらを選択すべきかですが、結論から言えばどちらでも構いません。
Intelの説明(日本語訳)では「Intel RST VMD Managed Controller 09AB」を選択するようにとのことです。
Resolution
In the latest Intel platforms, Intel® Volume Management Device (Intel® VMD) is used to manage storage devices with the Intel® RST software.The Intel VMD hardware generates 'dummy' devices for multi-function devices when mapped, these functions may be visible to the Windows® operating system.
The correct selection would be the 0x09AB as this will cover these devices and make sure there are no Yellow bands in the Device Manager for the dummy values.
一方、DELLの説明では前者を選択しています。Windows 11/10をインストール後は両方ともインストールされるのですが、「Intel RST VMD Managed Controller 09AB」は実体のないドライバーなので、結局どちらを選択しても構いません。
ドライバーを選択したら「次へ」をクリックします。するとストレージが表示されるのでWindowsをインストールすることができるようになります。
なお、RAIDを組まない限りストレージの内容は書き変わりませんので、Windows 11/10がインストールされている状態からIntel VMDを有効化することは可能です。ただし、Intel RSTドライバーを使ってWindowsがブートするように構成しなければならないため、Windows 11/10を上書きインストールする必要があります。上書きインストールするとWindows 11/10とユーザーデータ以外は初期化されます。アプリなどはファイルは残っていても正しくインストールされた状態ではないため再インストールが必要となります。
もう一つの注意点としてインストールメディアが認識された後で、Intel RSTドライバーによりストレージが認識されるため、ドライブ番号が「0」ではなく「1」となります。
「Windows 11/10を最適なパーティション構成でクリーンインストールする方法(改訂版)」で紹介したスクリプトを使用する場合は次の3ファイルの内容の
- Create-Partitions-System-v2.txt
- Create-Partitions-with-Data-MS-v2.txt
- Create-Partitions-with-Data-v2.txt
「select disk 0」を「select disk 1」に書き換えてから実行する必要があります。こちらは書換えないで済むように改訂する予定です。
Intel RSTドライバーのインストール
Windows 11/10のインストールが完了したらIntel RSTドライバーをインストールします。
パソコンメーカーサイトまたはマザーボードメーカーサイトからダウンロードしたIntel RSTドライバーをインストールしますが、Intel RSTドライバーはシステムによって対応するバージョンが違うので適切なバージョンをインストールしてください。
ダウンロードした「SetupRST.exe」を実行します。
ユーザーアカウント制御が表示された後、この画面が表示されるので「次へ」をクリックします。
ソフトウェア使用許諾契約書に同意する場合はチェックすると「次へ」が表示されるのでクリックします。
Intel RSTドライバーはアンインストールできません。承知の上で続けるなら「次へ」をクリックします。
コントロールアプリはMicrosoft Storeからインストールされますが、インストーラーからインストールしないと動作しない場合があるそうなので、必ずチェックして「次へ」をクリックします。
インストールが完了するのを待ちます。
完了したら「再起動」をクリックしてパソコンを再起動します。
再起動したらスタートメニューに登録された「Intel Optane Memory and Storage Management」を起動します。
再度、ソフトウェア使用許諾契約書に同意するかを聞いてくるので同意する場合はチェックして、表示された「次へ」をクリックします。
これがメイン画面です。
接続されているストレージをクリックするとプロパティが表示されますが、NVMeは表示されるだけで何も操作はできません。
このパソコンのSATAポートには何も接続されていません。
RAIDの構成画面ですが、NVMeが1台だけなのでRAIDは構成できません。
第13世代Core iプロセッサーなのでOptaneメモリーには対応していません。
この画面もSATAのためのものです。
通知などの設定を行います。
アプリの情報です。
SATAポートに複数のストレージを接続してRAIDを構成しない限り、「Intel Optane Memory and Storage Management」アプリで操作できることはありません。
Intel RSTは機能しているはずなので、それはCPU、チップセット、ドライバーの間で自動的に最適化を行っているはずです。
ドライバーについて
Intel VMDを無効にした場合と有効にした場合とで、デバイスマネージャーの表示を見てみます。
Intel VMDを無効にした場合
Intel VMDを無効にした状態、すなわち一般的なWindows 11/10パソコンの状態です。
「記憶域コントローラー」には「Microsoft記憶域コントローラー」と「標準NVM Expressコントローラー」があります。
「Microsoft記憶域コントローラー」はNVMe以外のストレージをコントロールしていると思われます。
「spacedump.sys、spaceport.sys」という2つのドライバーで構成されています。
「標準NVM Expressコントローラー」はNVMe SSDをコントロールしていると思われます。
こちらは「stornvme.sys」という1つのドライバーで構成されています。
Intel VMDを有効にした場合
Intel VMDを有効にした状態です。
ソフトウェアコンポーネントに「Intel (R) Optane(TM) Memory and Storage Management Component」が追加されています。
ドライバーとして登録されていますが実体はありません。Optaneメモリーが搭載されていれば変わるのかもしれません。
Intel RST、Intel VMDドライバーです。A77Fの部分はパソコンによって変わります。
ドライバーファイルを見るとサービスとしても動作しているようです。
もう一つのIntel RST、Intel VMDドライバーですが、こちらは実体がありません。
「Microsoft記憶域コントローラー」はNVMe以外のストレージをコントロールしていると思われるため、NVMe SSDがIntel VMD管理下になっても他のストレージ、例えばUSBメモリーやポータブルSSDなどをコントロールするために残っています。
「spacedump.sys、spaceport.sys」という2つのドライバーで構成されているのも変わりません。
ベンチマーク
Intel VMDを利用するメリットは、RAIDを使わなくても5%から10%程度のSSDアクセス速度の改善があるという噂があるからです。噂というのはネット上の記事を見ても人によって値がマチマチで信頼に欠けるからです。
今回はNUC13上でCrystalDiskMark 8.0.4cを使って測定してみました。正確な値を知りたいためWindows 11 バージョン22H2に最新の累積更新プログラムまで適用して、ドライバーもすべてインストールしてデバイスマネージャーにエラーが表示されない状態にしています。
左がIntel VMDが有効、右がIntel VMDが無効の場合です。
これだけでは分かり辛いので、各3回実行して平均を取りました。
VMD有効 | VMD無効 | 無効を基準 とした変動 |
||||
---|---|---|---|---|---|---|
Read | Write | Read | Write | Read | Write | |
SEQ1M Q8T1 |
2463.49 | 1983.95 | 2455.60 | 1983.62 | 0.3% | 0.0% |
SEQ1M Q1T1 |
1917.60 | 1945.31 | 1893.70 | 1938.96 | 1.3% | 0.3% |
RND4K Q32T1 |
437.89 | 470.91 | 452.24 | 447.92 | -3.2% | 5.1% |
RND4K Q1T1 |
53.36 | 163.65 | 51.87 | 153.20 | 2.9% | 6.8% |
この数値だけを見ると、わずかですがランダムアクセスで改善は見られるようです。それでも、この程度では体感できないでしょう。
Intel VMDの問題
Intel VMDはIntelとしては、すべてのシステムで有効にして出荷してもらう方針だったようですが、メーカーごとに対応が分かれたのはやはり問題があるからです。
Bootの問題
Windows 11/10がブートするにはシステムドライブが読める状態でなければなりません。Intel VMDを有効にした場合、Intel RSTドライバーを使ってインストールしたWindows 11/10でなければなりません。
そしてIntel RSTドライバーを使ってインストールしたWindows 11/10システムディスクを、Intel VMDが使えないシステムに接続してもWindows 11/10は起動しません。このようにブルースクリーンとなります。
その後自動的に再起動して再度ブルースクリーンとなり、その後自動修復が始まります。
結果的に何をやっても起動しないため初期化を行うこととなります。
どのような時にこのような事態になるかというと、パソコンが突然故障したが急ぎの作業があり、新しいパソコンを入手してもセットアップなどを行っている時間が無く、壊れたパソコンからSSDを載せ替えてそのまま使おうとする場合です。
新しいパソコンがIntel VMDに対応していない、または、作業者がIntel VMDを知らないと上記のようなことになります。
Intel VMDの有効/無効でストレージ内のデータは書き換えられないので、ユーザーデータは影響を受けませんがWindowsの初期化によりアプリが使えなくなります。
Intel NUC13特有の問題?
いろいろ調べていて妙な現象に遭遇しました。
これはIntel VMDを有効にしたパソコンが、起動して30分程度経ってから測定した結果です。
シーケンシャルアクセスのスピードが1/3程度まで低下しています。
何度も再起動したり、クリーンインストールし直したりしましたが結果は変わりませんでした。
Intel VMDを無効にしてインストールした場合はこのような現象は発生しなかったのでNVMe SSDが故障しているわけではありません。ランダムアクセス性能はそれほど落ちていないのでIntel RSTが効いているようにも思えます。
原因として考えられるのはSoCまたはBIOSのバグです。
通常、Intel Core iプロセッサーは対応するチップセットとセットでシステムが組まれます。ところがIntel NUCはチップセットの代わりに専用設計のSoC(日本語訳)が使用されています。デフォルトで無効にされているIntel VMDはあまりテストされておらず、バグが残っているのかもしれません。今後BIOSのアップデートで改善する可能性はありますが、NUC13に関してはこれほど性能低下があるとIntel VMDは使えません。
手元にあるIntel VMDが使えるシステムはIntel NUC13だけなので、Intel NUC13固有の問題なのかどうかは分かりません。
まとめ
Intel VMDは非常に癖があるシステムです。Intel RSTがどのようなストレージでも改善効果があるといっても、やはりRAIDで使ってこそ真価を発揮するものだと思います。
HDDからSSDに移行してスピードと故障率が大幅に改善された現状においては、デスクトップパソコン、ノートパソコンにRAIDは不要な機能であるため、Intel VMDおよびIntel RSTも不要と言えるでしょう。
Intel VMDを有効にするかどうか迷った時は、無効にすることをお勧めします。
どうしても有効にしてみたい場合は、自分のパソコンで効果があるかデータを取って判断してください。改善される項目や改善率は搭載しているチップセットやBIOS、SSDによって大きく変わるからです。
コメント