週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

DRAMレスSSDでも高速アクセスを実現!

HMBはNVMe SSD低価格化の切り札!?東芝メモリ「BG4」で実力検証

2019年03月19日 11時00分更新

HMBの設定はレジストリで変更可能

 次に検証の設定について説明しておく。HMBはWindows 10 Ver1607(Anniversary Update)からサポートが始まっている。そのため、最新のWindows 10を利用していれば、特に問題なく使用できる。なお、HMBの設定はデフォルトでオンに設定されており、対応SSDを接続するだけで特に設定を行なわなくても自動的にHMBが使用される。

 確保されたメモリーの容量はイベントビューアーで確認できる。また、レジストリを変更することで、HMBのオン/オフの設定を行なえるほか、確保するメモリーの容量を任意に設定することも可能だ。HMBのオン/オフを切り替えたいときは、レジストリエディターで下記を開く。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Control\StorPort

 開いた後に「HmbAllocationPolicy」という名称のキーを「DWORD」で新規作成。値に「0」を設定すると、次回パソコン起動時にHMBがオフに設定される。「1」を設定するとドライブが最小容量として規定している容量の割り当てを試みる。「2」を設定すると、ドライブの推奨値の割り当てを試みる。

「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorPort」内に「HmbAllocationPolicy」というキーを作成することで、HMBのオン/オフをレジストリで制御できる。

 HMBで任意の容量を割り当てたいときの設定は少々面倒だ。まず設定に必要となるSSDのフォーマットの文字列を確認する。この確認はデバイスマネージャーで行なうのだが、設定したいSSDのプロパティを開き、[詳細]タブをクリックしてプロパティに「親」を選択する。

 すると、値に「PCI\VEN_nnnn&DEV_nnnn&...(中略)...&REV_nn」(nは英数字)という文字列が表示される。この中で設定に必要となるのは、先頭部分の「VEN_nnnn&DEV_nnnn」という文字列とその後に出てくる「&REV_nn」の文字列だ。この文字列をメモなどに控えておく。

HMBで確保したいメモリーの容量を設定したいときは、デバイスマネージャーでSSDのプロパティを開き、親の値を確認する必要がある。必要になるのは「VEN_nnnn&DEV_nnnn」という文字列と、その後に出てくる「&REV_nn」の文字列だ。

 次に「HmbAllocationPolicy」のレジストリを削除するか、値に「2」を設定し、レジストリエディターで下記を開く。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Services\StorNVMe\Parameters\Device

 開いたら「HostMemoryBufferBytes」という名称のキーを「複数行文字列値」で新規作成する。HostMemoryBufferBytesのキーを作成したら、値にデバイスマネージャーで確認しておいた文字列を「VEN_nnnn&DEV_nnnn&REV_nn <設定したい容量(バイト)>」の形式で入力する。

 このとき、容量を2進法のバイト数で入力する必要がある点に注意してほしい。例えば、「64MB」と設定する場合は「64000000」ではなく、「67108864」と設定する必要がある。また、HMB対応SSDで確保可能な最大容量以上の設定を行なうと、HMBの設定は「オフ」になるので注意が必要だ。

 なお、レジストリで設定可能なメモリーの最大容量については、使用しているドライブによって異なるようだ。BG4の場合、デフォルトで確保されるのは「61MB」だが、レジストリを変更することで最大「64MB」の容量を設定でき、今回のテスト環境では問題なく指定した64MBのメモリーを確保していた。

「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\StorNVMe\Parameters\Device」内に「HostMemoryBufferBytes」という名称のキーを作成すれば、HMBで確保するメモリー容量を設定できる。上記では64MBのメモリーを設定している。

 HMBで確保されたメモリーの容量はイベントビューアーで確認できるが、そのためにはカスタムビューの作成も必要になる。イベントビューアーでイベントソースに「StorPort」を選択したカスタムビューを作成すると、このログでHMBで確保したメモリー容量の確認を行なえる。レジストリでHMBの設定を変更する場合は、必ずイベントビューアーで動作の確認することをオススメする。

HMBで確保されたメモリーの容量はイベントビューアーで確認できる。画像はBG4を利用した場合にHMBで確保されたメモリーの容量を表示している。「Actually Allocated」の項目が確保されたメモリーの容量だ。

HMBで確保されたメモリーの容量を表示するには、イベントビューアーでカスタムビューを作成する必要がある。画面は、カスタビューの作成画面。「ソースごと」を選択し、イベントソースに「StorPort」を選択してカスタムビューを作成する。

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう

この連載の記事