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

不揮発性メモリをDIMMスロットに装着する標準規格「NVDIMM」

 DDR3 DRAMと不揮発性メモリを混載したDIMM(Dual-Inline Memory Module)が製品化されたのは、比較的最近のことだ。およそ5年前、2010年8月11日に技術ベンチャーのAgigA Techが、DDR3 DRAMのDIMMスロットに装着できる不揮発性DIMM製品「AGIGARAM DDR3 NVDIMM」を発表した。翌年の2011年10月18日には、技術ベンチャーのViking TechonogyがDDR3 DRAMのDIMMスロットに装着するDIMM製品「ArxCis-NV」を発表した。

 両社のDIMM製品はいずれも、DRAMとNANDフラッシュメモリの両方を搭載したもの。DIMMの電源が遮断されたときに、DRAMのデータをNANDフラッシュメモリに自動で転送する機能と、電源が復活したときにNANDフラッシュメモリのデータをDRAMに書き戻す機能を備える。いわゆる「バックアップ機能付きのDRAM DIMM」である。DDRメモリ・コントローラからは、通常のDDR3 DRAM DIMMと同様に見える。OSやアプリケーションなどのソフトウェアを修正する必要はない。

DDR3 DRAMのDIMMスロットに装着できる不揮発性DIMM製品「AGIGARAM DDR3 NVDIMM」。記憶容量が2GB/4GB/8GBの製品を用意している

 2012年11月14日には、大手半導体メモリベンダーのMicron TechnologyとAgigA Techが、不揮発性DIMMの開発と製造で提携すると発表した。開発したのはDRAMとNANDフラッシュメモリを混載したDIMMで、製品コンセプトは先に登場した「AGIGARAM」および「ArxCis-NV」と同じである。

 動きが多彩かつ活発になってきたのは、昨年(2014年)からだ。昨年1月20日にNANDフラッシュ大手ベンダーのSanDiskと子会社のSMART Storage Systemsは共同で、400GBときわめて大きな記憶容量の不揮発性DIMM「ULLtraDIMM」を製品化したと発表した。「ULLtraDIMM」はNANDフラッシュメモリとコントローラ・ロジックを搭載しており、DDR3 DRAM DIMMのスロットに装着して使う。ただしDRAMは搭載していない。システムからは、メモリバスに接続されたSSDに見える。「DIMMスロットに載せるSSD」という新しい形の不揮発性DIMMが登場したことになる。

2013年8月に米国カリフォルニア州シリコンバレーで開催されたフラッシュメモリ業界のイベント「Flash Memory Summit(FMS) 2013」の展示会場。SMART Storage Systemsのブースでは、2014年1月の正式発表よりも一足早く「ULLtraDIMM」が披露されていた

 2014年8月6日には、AgigA TechがDDR4 DRAMのDIMMスロットに装着する不揮発性DIMM「AGIGARAM DDR4 NVDIMM」を開発してサンプル出荷を始めたと発表し、続く同年10月21日には、半導体メモリ大手のSK HynixがDDR4 DRAMのDIMMスロットに装着可能な16GBの不揮発性DIMMを開発したと発表した。また今年(2015年)8月の「Flash Memory Summit(FMS)」では、Viking Techonogyが不揮発性DIMM「ArxCis-NV」のDDR4 DIMMタイプ品を展示会に出品した。いずれもDDR4 DRAMとNANDフラッシュメモリ、コントローラ・ロジックなどを搭載したDIMMである。

「Flash Memory Summit(FMS)2015」の展示会場にViking Techonogyが出品したDDR4 DIMMタイプの不揮発性DIMM「ArxCis-NV」。右手前が「ArxCis-NV」のDIMMカード。左手奥はバックアップ電源用のスーパーキャパシタ搭載PCIeボード

標準化作業が不揮発性DIMMの普及を促す

 DRAM用DIMMの外形寸法やピン配置などは、半導体の業界団体JEDECによって標準規格が定められている。例えばピン数だと、DDR3 DRAMのDIMMは240ピン、DDR4 DRAMのDIMMは288ピンである。この標準規格に準拠したDIMMを、モジュールベンダーは販売する。ユーザーであるサーバー開発企業やPC開発企業などは、複数のモジュールベンダーからDIMMを調達し、システムに組み込める。調達先が複数であることは、安定した部品調達には欠かせない。標準規格とマルチベンダーの両輪が、DIMMを始めとする部品の普及を促す。

 ただし、DDR3 DIMMやDDR4 DIMMなどの規格仕様はこれまで、不揮発性メモリの搭載を考慮してこなかった。そこで遅くとも昨年には、不揮発性DIMMの標準化作業が始まったと見られる。作業に携わったのは主にJEDECと、ストレージの業界団体SNIA(Storage Networking Industry Association)である。今年の5月26日にはJEDECが、DDR4メモリのDIMMスロットに装着する不揮発性DIMM「NVDIMM」の標準規格を策定したと発表した。JEDECは仕様を今年の後半に公表すると発表したが、9月15日現在の時点では、仕様書は公表されていないようだ。

 ただし、昨年から今年にかけて、JEDECやSNIAなどの業界団体やNVDIMMの規格策定に関わったベンダーは、「NVDIMM」の仕様を明らかにし始めてきた。そこで本稿では、これまでの公表資料を手がかりに、NVDIMM規格の概要をご紹介したい。

NVDIMMの標準規格を策定している作業グループ

DRAM DIMM規格の追加仕様として策定

 まず前提となるのはDRAM DIMM規格の存在である。JEDECの公表資料によるとNVDIMMの標準規格は、DDR4 DRAM DIMM規格の追加仕様として策定した。ただしSNIAの公表資料ではDDR4メモリだけではなく、DDR3メモリもNVDIMM規格の対象に含めている。

 次に規格の対象とするメモリは、不揮発性メモリ全般である。NANDフラッシュメモリだけでなく、3DXPointメモリや磁気メモリ、相変化メモリ、抵抗変化メモリなども含まれる。

 そして規格仕様は1つではない。少なくとも3種類の規格が存在する。「NVDIMM-N」規格と「NVDIMM-F」規格、「NVDIMM-P」規格である。「NVDIMM-N」と「NVDIMM-F」は仕様の策定が完了している。「NVDIMM-P」は仕様が提案され、検討されているところだと見られる。

NVDIMM規格は少なくとも3種類

 本コラムの前回は、NANDフラッシュメモリをDIMMに載せる動きを解説した。その中でNANDフラッシュ搭載DIMMには、大別すると、2種類の製品があると述べた。

 1つは、DRAMとNANDフラッシュメモリを混載したDIMMである。通常はDRAM DIMMとして使用し、電源が遮断されたときのバックアップ用メモリとしてNANDフラッシュメモリを使う。このコンセプトを承継したのが、「NVDIMM-N」規格である。

 もう1つは、メモリとしてはNANDフラッシュだけを搭載したDIMMである。DRAMよりもはるかに大きな記憶容量を搭載可能なSSDとして使う。このコンセプトを継承したのが、「NVDIMM-F」規格である。

 そして「NVDIMM-P」規格のDIMMは、DRAMと不揮発性メモリの両方を搭載し、DRAMよりもはるかに大きな記憶容量の不揮発性メモリを格納したモジュールである。

不揮発性DIMMのメモリ構成と対応する標準規格
NVDIMM-NとNVDIMM-F、NVDIMM-Pの違い

NVDIMM-NとNVDIMM-F、NVDIMM-Pの概要

 NVDIMM-NとNVDIMM-F、NVDIMM-Pは、粗く言ってしまうとNVDIMM-Nがメモリ、NVDIMM-Fがストレージ、NVDIMM-Pがメモリとストレージのハイブリッドである。

 NVDIMM-Nは、DRAMと不揮発性メモリを同じ記憶容量で混載したDIMMである。DRAMを記憶媒体とするシステム・メモリ(主記憶)であり、CPU側(およびOS側)から見えてアクセスが可能なのはDRAMだけである。不揮発性メモリはCPU側(およびOS側)からは見えないし、アクセスもできない。不揮発性メモリはDIMMの内部でバックアップメモリとして機能するだけである。NVDIMM-Nはホスト側からの見かけは、DRAM DIMMとほぼ変わらない。

 NVDIMM-Fは不揮発性メモリを搭載したDIMMである。DRAMは搭載しない。不揮発性メモリを記憶媒体とするストレージである。CPU側およびOS側からは、ストレージとして見えており、ストレージ内部の不揮発性メモリにアクセスできる。ただしアクセスの遅延時間(レイテンシ)はNVDIMM-Nに比べるとはるかに長い。そしてNVDIMM-Fの記憶容量は、NVDIMM-Nよりもはるかに大きいことを想定している。DRAM DIMMでは得られないような大きな記憶容量を獲得しているものの、DRAM DIMMに比べるとアクセスが遅い。

 NVDIMM-PはDRAMと不揮発性メモリを混載したDIMMである。NVDIMM-Nと違うのは、不揮発性メモリの記憶容量がDRAMの記憶容量よりもはるかに大きいDIMMを想定していることだ。そしてNVDIMM-Pは、2つの動作モードを備える。1つはNVDIMM-Nと同じ動作モードである。DRAMをシステム・メモリ(主記憶)として利用し、不揮発性メモリをバックアップメモリとして使う。もう1つはNVDIMM-Fと同じ動作モードである。不揮発性メモリを記憶媒体とするストレージとして動作する。このとき、DRAMはストレージ用のバッファメモリとして利用できる。

NVDIMM-NとNVDIMM-F、NVDIMM-Pの概要

NVDIMM-Nに必須のバックアップ電源

 NVDIMM-Nについてもう少し詳しく説明しよう。最初はNVDIMM-Nのバックアップ動作である。

 何らかの原因でDIMMの電源が遮断されると、NVDIMM-Nは自動的にDRAMのデータを不揮発性メモリに転送する。この時にバックアップ電源として使われるのは、スーパーキャパシタ(大容量コンデンサ)である。8GBクラスの記憶容量の場合、通常は数十秒でデータの転送が完了する。なおDDR3タイプの最大容量は8GB、DDR4タイプの最大容量は16GBとなっている。

 データの転送が完了すると、NVDIMM-Nは自動的に自らの電源を遮断する。そしてDIMMに供給される電源の復帰を待つ。電源が復帰したら、不揮発性メモリのデータをDRAMに書き戻す。書き戻しに必要な時間は転送に必要な時間の半分強である。そしてスーパーキャパシタを充電する。スーパーキャパシタの充電が完了するまでの時間は数分と短い。

NVDIMM-Nの内部ブロックと動作

 JEDECの公表資料によると、このバックアップ動作を考慮したピン配置の変更が、DDR4 DIMMの規格仕様に追加された。まず、1番ピンと145番ピンが12Vの電源供給ピンになる。12V電源ピンの役割は、スーパーキャパシタの充電、あるいはバックアップ電源の供給(ホスト側から非常用電源を供給する)である。スーパーキャパシタを持たないNVDIMM-Nでは、システムが非常用電源を供給する仕組みを装備する。非常用電源が働くのは、DRAMのデータを不揮発性メモリに転送している期間(「セーブ期間」と呼んでいる)だけである。

 それから230番ピンがセーブ信号(SAVE_n)ピンになる。データの転送作業の開始タイミングを知らせる信号ピンである。セーブ信号(SAVE_n)ピンがあることによって、データの転送作業を素早く始められる。

DDR4 DIMMにNVDIMM-N用のピン配置を追加
12V電源ピンの概要
セーブ信号(SAVE_n)ピンの概要

SSDをメモリバスに載せるNVDIMM-F

 続いてNVDIMM-Fをもう少し詳しく説明しよう。NVDIMM-Nに比べると、NVDIMM-Fは公表されている資料がはるかに少ない。このため、説明がやや断片的になってしまう。あらかじめご了承されたい。

 NVDIMM-Fは、SSDをDDR4メモリバスに載せるための規格である。DIMMに載せるメモリは不揮発性メモリだけで、DRAM DIMMよりも記憶容量は大幅に大きい。DDR3メモリバスに大容量NANDフラッシュメモリのDIMMを載せた製品「ULLtraDIMM」のDDR4メモリバージョンであるとも言える。

 NVDIMM-Fでは記憶容量を明記していない。「ULLtraDIMM」が最大400GBでなので、少なくとも512GB〜1TBの記憶容量は想定しているものと見られる。このような大きな容量を小さなDIMMカードに詰め込める半導体メモリは現状では、NANDフラッシュメモリしかない。

 この結果、NVDIMM-Fは不揮発性メモリとは言うものの、実質的にはNANDフラッシュメモリを想定した規格となっている。NANDフラッシュメモリを想定しているので、SSDをDDRバスに載せた規格になっているともみなせる。NANDフラッシュメモリはバイト(B)単位のアクセスができないからだ。4KBといったブロック単位のアクセスになってしまう。

 このため、NVDIMM-Fのアクセス単位はキャッシュラインではなく、ブロック単位である。遅延時間はマイクロ秒で、NVDIMM-Nに比べるとはるかに長い。このあたりは規格というよりも、NANDフラッシュメモリを搭載していることによる、性能の違いだと言える。

NVDIMM-Fの内部ブロック
一般的なストレージ(左)と、NVDIMM-N(中央)、NVDIMM-F(右)の違い

製品開発の後追いとなっているNVDIMM規格

 標準規格にはおおよそ2通りある。1つは将来の製品化に向けて、あらかじめ技術仕様や製品仕様を共通化してこうとするもの。もう1つは既に製品が存在しており、製品の仕様を共通化することで、さらなる普及を図ろうとするもの。NVDIMMの標準規格は明らかに後者である。既にNVDIMM規格の範囲を超えた製品が市場に登場しようとしている。

 1つはDiablo Technologiesが開発した「Memory1」である。DDR4 DIMMにNANDフラッシュメモリを乗せながら、CPU側からはDRAMと同様のシステム・メモリ(キャッシュラインのアクセスが可能)に見えるような工夫を盛り込んだ不揮発性DIMMだ。記憶容量は256GBで、DRAM DIMMの16GB/32GBよりもはるかに大きい。

 もう1つはIntelとMicron Technologyが共同開発した不揮発性メモリ「3DXPoint」をDIMMに搭載して製品化する動きである。2015年8月に開催されたIntelの開発者向けフォーラム「IDF2015」では、3DXPointメモリを搭載したDDR4 DIMMを開発していくと表明した。3DXPointメモリはバイト単位の書き換えが可能なので、NVDIMM-Fと同様のオール不揮発性メモリのDIMMでありながら、NVDIMM-Nと同様のキャッシュライン単位のアクセスが可能になる。

3DXPointメモリを搭載したDDR4 DIMMの概要

 こうなってくると、さらに新たな規格「NVDIMM-X(Xはアルファベットの意味)」が必要になってきそうだ。かといってあまりに規格が増えると、標準化の意味をなさなくなるかもしれない。そのくらい、NANDフラッシュメモリと不揮発性メモリの応用製品は今、動きが賑やかになっていると言える。

(福田 昭)