週刊アスキー

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

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

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

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

とはいえ制限が多いHMB、現状での用途は限られる

 低コストなDRAMレスSSDでも高速化が見込めるということで期待されているHMB機能なのだが、実際の利用にはいくつかの制限がある。最も大きな制限は、SSDが希望する容量のメモリーが割り当てられる保証がないことである。

 HMB対応のSSDには希望するメモリーの最小容量と推奨容量の2つの情報があらかじめ用意されている。ホスト(OS)はこの情報を参考に実際に割り当てるメモリー容量を決定するが、ホストのメモリーの空き容量が少ない場合、最悪のケースではまったく割り当てないということもある。

 また、最小と推奨の間の任意の容量が割り当てられるケースもある。割り当てられるメモリー領域も連続した領域となっておらず、断片化した複数の領域によって構成されるなんてこともあるのだ。

HMB対応SSDが希望するメモリーの最小容量と推奨容量の2つの情報は、NVMe SSDの詳細なドライブ情報を取得可能なアプリで確認できる。画像は「Intel SSD Toolbox」でBG4の詳細情報を確認したもの。ワード272-275の「Host Memory Buffer Preferred Size」が推奨容量(4KB単位)で、276-279の「Host Memory Buffer Minimum Size」が最低容量の情報だ。

 また、HMBによってホストのメインメモリーが割り当てられるのは、OSにデバイスドライバーが読み込まれたときである。つまり、それまでは普通のDRAMレスSSDとして振る舞うことになる。前述の「最悪割り当てなし」というケースやHMB非対応の環境で利用するケースも考慮すると、HMB対応SSDはDRAMレスSSDとして問題ない動作が行なえる必要があるほか、HMBが有効になった場合にそれを活用する動作の2種類の動作が求められる。これは開発難易度が上がることを意味する。

 HMBで確保されたメモリー領域は暗号化されてないという課題もあり、ユーザーの生のデータを置いてしまうと、そのデータを読み出されて情報漏えいにつながる危険性もある。これを回避するにはSSDのコントローラー側でHMBで確保されたメモリー領域のデータをはじめから暗号化しておくといった工夫も求められる。

 というわけで、HMB対応SSDはこれらの制限から現状の利用用途がかなり限定されている。具体的には、アドレス変換テーブルのキャッシュだ。コントローラー直結のDRAMで活用されているその他の機能も、工夫を凝らせばHMBで実装できる可能性はある。しかし、工夫を盛り込むには時間が必要だ。しばらくの間は、HMBの利用用途がアドレス変換テーブルのキャッシュに限定される可能性が高いだろう。

 さらに、HMBで実際に確保されるメモリーの容量は、アドレス変換テーブル全体をキャッシュできるほどの容量には達していないという現実もある。アドレス変換テーブル全体をキャッシュするには、おおまかに言ってSSD容量の1000分の1の容量が必要になる。例えば、1TBのSSDの場合、アドレス変換テーブル全体のキャッシュに必要な容量は1GB程度になる。

 タブレットPCや低価格ノートPCなどでは、メインメモリー搭載量が4GBぐらいの製品が多い。組み込み向けの製品ではもっと少ないこともあるので、アドレス変換テーブル全体をキャッシュさせてしまうと、OSを含むホストの動きを妨げかねないので現実的ではない。ゆえに、HMB機能でキャッシュさせるアドレス変換テーブルのエリアは「ユーザーが日常的に使っているぶん」ぐらいに落ち着くだろう。

東芝メモリのHMB対応NVMe SSD「BG4」で検証

 前置きが長くなってしまったが、ここからはHMBの実際の効能を見ていこう。検証に使用したのは、東芝メモリのHMB対応NVMe SSD「BG4」である。まずは、BG4の特長を紹介する。

 BG4は、東芝メモリの開発した第2世代HMB対応SSDである。前世代の「BG3」では、NANDメモリーに64層の「BiCS3」を採用していたが、BG4では最新の96層の「BiCS4」を採用。容量は128GB、256GB、512GB、1TBの4種類をラインアップする。

 また、BG4ではインターフェースの高速化が図られている。前作BG3ではPCI Express 3.0×2接続だったが、BG4ではPCI Express 3.0×4接続を採用。これによって、大幅なリード性能の高速化を実現している。

東芝メモリのBG4の512GBモデル(左)と1TBモデル(右)。ワンチップSSDであるため、基盤に実装している部品が少ない。「M.2 2230」という非常に小さいモジュール基板で提供。

前世代の「BG3」(右)の切り欠きはMキーとBキーに対応していたが、BG4(左)のM.2 2230モジュールではMキーのみのサポート。

一般的な「M.2 2280」のモジュールを採用するSAMSUNGのNVMe SSD「970 EVO Plus」(下)と比べると、BG4(上の)のM.2 2230モジュールは非常に小さい。

 BGシリーズ最大の特長は、シングルパッケージのワンチップSSDとして設計されていることだ。BGシリーズはNANDメモリーとコントローラーをひとつのパッケージに収めており、フォームファクターは面実装用の「M.2 1620」で、M.2 BGA SSDとも呼ばれているタイプだ。

 シングルパッケージのSSDには「eMMC」や「UFS」といった規格もあるが、BGシリーズはNVMe SSDとして設計されており、既存のシングルパッケージのSSDのなかでは最速クラスの製品となる。今回の検証では、BG4をM.2 2230のモジュール基板に実装したタイプの製品を利用している。

この記事をシェアしよう

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

この連載の記事