福田昭のセミコン業界最前線

NANDを使った256GBのDDR4互換DIMM「Memory1」をDiabloが解説

〜〜NANDメモリを使う揮発性DIMMという構造

 NANDフラッシュメモリ応用製品の開発ベンチャーであるカナダのDiablo Technologiesは2015年8月5日に、256GBと大容量でDDR4互換のNANDフラッシュ搭載DIMMMemory1を開発したと発表した。日本では販売代理店のアドテックが8月7日にMemory1を発表している。

 Memory1は、NANDフラッシュメモリを搭載することで、256GBときわめて大きな記憶容量を実現したDDR4互換のメモリモジュールである。DDR4 DRAMのDIMMスロットにそのまま差し込んで使える。DDR4 DRAMのDIMMをMemory1に交換することで、主記憶を大幅に増やせる。

 Diablo Technologies(以降、Diabloと表記)はフラッシュメモリに関する世界最大のイベント「Flash Memory Summit(FMS)」で8月11日(現地時間)に基調講演を、8月13日(同)午前に一般講演を実施し、Memory1の概要を解説した。また併設の展示会にMemory1を実装したサーバーを実物出品した。

「Memory1」を実装したサーバーの実物展示
Memory1の外観。DDR4互換のDIMMソケットに装着する

大容量と低コスト、低消費を両立させるNANDフラッシュ

 主記憶用DDR4互換DIMMのメモリに一般的なDDR4 DRAMではなく、NANDフラッシュメモリを採用するメリットはいくつか存在する。

 まず、記憶容量当たりの単価(コスト)が低いこと。DiabloはNANDフラッシュメモリの採用によってDRAMの約10分の1に下がると主張する。次に、記憶容量当たりの消費電力が低いこと。Diabloは消費電力が約3分の1に低下すると述べていた。そして単位面積当たりの記憶容量が増加すること。Diabloは記憶容量が約10倍に増加すると主張する。

DRAMと比較したNANDフラッシュメモリの利点

主記憶容量1TBのサーバーを容易に実現

 Memory1の最大の特徴は、主記憶容量が1TB以上のコンピュータを容易に実現できることだ。マイクロプロセッサ(CPU)が、2本のDDR4メモリチャンネルとDDR4コントローラを内蔵していると仮定しよう。DDR4互換DIMMスロットの数は合計で4個である。ここでDRAM DIMMを装着すると、一般的に入手可能なDRAM DIMMの最大容量は64GBであるから、サーバーの主記憶容量は最大で256GBになる。これに対してMemory1の記憶容量は256GBなので、サーバーの主記憶容量は1TBに達する。主記憶の容量は4倍になる。そして記憶容量当たりの単価は10分の1なので、主記憶のメモリコストはDRAMに比べ、4割に下がる。コストが下がり、容量が増える。非常に有り難いDIMMだと言える。

 気になるのは、既存のリソース(ハードウェアとソフトウエア)がそのまま利用可能かどうかだ。Diabloは一般講演で、CPUとサーバー、ハードウェア、OS(オペレーティングシステム)、アプリケーションのいずれも変更する必要はない、と説明していた。

 サーバーなどのコンピュータシステムにMemory1を実装するときは、専用のソフトウェアをシステムにインストールする必要がある。言い換えると、Diabloはメモリモジュールと専用ソフトウェアをセットで販売する。この専用ソフトウェアが、Memory1をホスト側からはDDR4 DRAMのDIMMと同様に見えるように働く。つまり、DIMMのハードウェアの違い(DRAMとNANDフラッシュメモリの違い)を隠ぺいする。

Memory1の概要と互換性

NANDフラッシュ搭載だが不揮発性ではない

 Memory1は不揮発性のメモリモジュールではない。この点は重要なので、注意を喚起しておきたい。電源が落ちたり、システムがリセットしたりすると、Memory1が格納しているデータはすべて失われる。この点は、DRAMを搭載したDIMMと変わらない。

 NANDフラッシュメモリを搭載したDIMMと言えば、いわゆるバックアップ用のNVDIMM(不揮発性DIMM)を想像しがちだ。バックアップ用NVDIMMは停電あるいはリセットが発生したときにスーパーキャパシタで一定の時間だけDRAMの電源を維持し、DRAMからNANDフラッシュメモリにデータをコピーする。

 これに対してMemory1はバックアップ用電源(スーパーキャパシタあるいは二次電池)を持たない。また電源が落ちたり、システムがリセットしたりしても、バックアップ動作はしない。Memory1とNVDIMM(不揮発性DIMM)は本質的に違う。Memory1ではNANDフラッシュメモリの重要な性質「不揮発性」を切り捨てている。

 それではMemory1の利点は何か。DRAMよりも低いコストでDRAMよりも大きな記憶容量を入手できることだ。NANDフラッシュメモリのビットコストがDRAMよりもはるかに低いことと、消費電力がDRAMよりも低いことを活用した「超大容量で低消費電力のメモリモジュール(DIMM)」が、Memory1の位置付けである。

 DRAMとNANDフラッシュメモリを比べた場合、NANDフラッシュメモリには弱点がある。1つは、書き換えに時間がかかること。もう1つは、データ書き換えの回数に制限があることだ。このため、主記憶のすべてをMemory1にすることは、Diabloでは推奨していない。Memory1の記憶容量を「10」とすると、DRAMの記憶容量を「1」は確保しておく必要がある。例えばMemory1の記憶容量が合計で1TBあるときは、DDR4 DRAM DIMMの容量を少なくとも100GB(実際には容量を自由には選べないので128GBになるだろう)ほど、用意しておく。このDRAM DIMMは、NANDフラッシュメモリ部分における書き換えレイテンシの緩和と書き換え回数寿命の延長に役立つ。

DRAM DIMMとMemory1(NANDフラッシュメモリのDIMM)が混在したメモリアーキテクチャ

メモリモジュールの世界が変わる

 エンタープライズ用サーバーやデータセンター用サーバーなどのメモリ階層では、DRAM DIMMの主記憶はキャッシュメモリ層として扱われる。主記憶の下層には複数の外部記憶(ストレージ)層が存在する。

 これらのサーバーでは現在、主記憶の容量を拡大することでシステム性能を向上することが求められている。しかしサーバーボードに搭載可能なDIMMスロットの数量は限られており、さらにDRAMモジュールは、記憶容量がシステム側の要求よりも小さく、記憶容量当たりのコストがシステム側の要求よりも高いという問題を抱える。この問題を解決する手段の1つが、記憶容量当たりのコストがDRAMよりも大幅に低い、NANDフラッシュメモリをDRAM DIMMの代替に適用することだ。

 DRAM DIMMが抱えるもう1つの問題は消費電力である。DRAMは、記憶しているデータを定期的に書き直す動作(リフレッシュ動作)を必要とする。このリフレッシュ動作によって消費する電流が無視できない。DRAMにアクセスしなくても(待機時でも)、一定の電力が消費されるからだ。ところがNANDフラッシュメモリはリフレッシュ動作がなく、待機時の消費電流はきわめて低い。消費電力の低減が要求されるサーバーでは、この点も有り難い。

 NANDフラッシュメモリのデータ読み出し性能は非常に高く、DRAMに近い。ただしNANDフラッシュメモリにおけるデータの書き込みは、DRAMよりもはるかに時間がかかる。また書き換え回数の制限がある。これらの弱点は、ソフトウェアあるいはハードウェアによって解決しなければならない。

 Memory1の詳しい製品仕様、例えば読み出しサイクル時間や書き換えサイクル時間、電源電圧、消費電流などは明らかにされていない。謎がまだ残る。しかし製品コンセプトは、主記憶の世界を一変させる可能性を秘めている。今後、Memory1と同じコンセプトのモジュール製品がほかのベンダーから登場することは、ほぼ間違いないだろう。今後しばらくは目が離せない製品テーマになりそうだ。

【お詫びと訂正】初出時のサブタイトルに不正確な表現があったため、訂正いたしました。

(福田 昭)