週刊アスキー

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

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

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

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

東芝メモリのHMB対応シングルパッケージSSD「BG4」。

 SSDの製造をコストダウンする方法はいくつかあるが、最も効果的な方法はDRAMを省くことだ。しかし、DRAMレス設計のSSDは広域なランダムアクセス性能の低下という代償も伴う。

 この課題の解決策として注目されているのが、「HMB」(Host Memory Buffer)という機能である。本稿ではNVMe SSDの低価格化を推し進める“切り札”とも言えるHMBの技術的特徴や実際の効果を東芝メモリの開発したHMB対応NVMe SSD「BG4」の検証結果でレポートする。

SSDにおけるDRAMの役割とは?

 多くのSSDに搭載されているDRAM(外部メモリー)だが、その最も大きな役割は、「アドレス変換テーブル」をキャッシュすることにある。

 SSDでは、ホスト(OS)からはシーケンシャルに見える連続データであっても内部的にはあえてランダムな場所に記録することで、製品寿命の最大化や高速化を実現している。アドレス変換テーブルはその管理に利用するデータで、NANDなどの不揮発性メモリーのどこに目的のデータが記録されているかが記されている。

 そして、アドレス変換テーブル自体も不揮発性メモリーに記録されているのだが、それをDRAMにキャッシュするとアクセス性能を高速化できる。アドレス変換テーブルへのアクセスが速くなれば、それだけ目的のデータへのアクセスにかかる時間が短くなるためだ。

 DRAMは不揮発性メモリーよりもアクセスが高速で、特に現在主流のNANDメモリーと比べると遥かに短い時間でアクセスできる。つまり、DRAMにアドレス変換テーブル全体をキャッシュしておけば、SSDの全領域に対するアクセス性能を高めることができるというわけだ。

 また、DRAMは他の用途にも利用できる。例えば、実際のデータのリード/ライトキャッシュとして利用したり、ガーベージコレクションの作業領域としても利用できる。DRAMの第一の用途はアドレス変換テーブルのキャッシュにあるが、余った領域はSSDの効率的な管理や高速化のために活用されている。

DRAMレスSSDで外部メモリーを利用可能にするHMB

 では、SSDのコストダウンを図るためにDRAMを省くとどうなるのだろうか。

 SSDのコントローラーには少容量のSRAMが内部に用意されている。DRAMを省くと、このSRAMのみでさまざまな作業のやりくりを行なうことになる。つまり、DRAMレスSSDでもSRAMにアドレス管理テーブルのキャッシュを行なえるのだが、容量が少ない。それゆえ、キャッシュできるアドレス変換テーブルのエリアが狭くなるのだ。

 DRAMレスSSDにおいて、特に広域のランダムアクセス性能がDRAM搭載SSDと比べて劣る理由がここにある。DRAMレスSSDでは広範囲のアクセスが発生するとSRAMのミスヒットが頻発し、結果として遅い不揮発性メモリー上のアドレス変換テーブルへのアクセスが増える。それゆえ、実際のデータのアクセスが遅くなるのだ。

 低速なSATA SSDならまだしも、高速アクセスできるポテンシャルを備えるNVMe SSDにおいては致命的となる。

 HMBは、この課題を解消するために考案された機能だ。HMBに対応したPCなどのホスト機器に搭載しているメインメモリーの一部を間借りして、外部メモリー(バッファー)として活用できる。

HMBの仕組み。画像は東芝メモリのサイトから抜粋。

 もちろん、HMBで確保したメモリーはPCI Express経由でアクセスされるため、SSDのコントローラーに直結しているDRAMと比べるとアクセス時間はかかる。しかし、NANDメモリーにアクセスするよりは速い。つまり、HMBで確保したメインメモリーにアドレス変換テーブルをキャッシュすれば、ランダムアクセス性能の向上が見込めるというわけだ。

この記事をシェアしよう

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

この連載の記事