Intelは4月2日(米国時間、日本時間4月3日)に報道発表を行ない、DRAMとフラッシュメモリの中間の特徴を持つOptane DC Persistent Memoryを発表し、同日に発表したデータセンター向けプロセッサ、“Cascade Lake-AP”こと「第2世代Xeon スケーラブル・プロセッサ(以下第2世代Xeon SP)」でサポートすることを明らかにした。 Optane DC Persistent Memoryは、Intelが「3D XPoint(スリーディークロスポイント)」の開発のコードネームで開発してきた高速なフラッシュメモリを、DRAMインターフェイスであるDDR4のデータ信号で利用できるようにしたメモリモジュールとなる。

DRAMとフラッシュメモリの隙間を埋めるOptane DC Persistent Memory 現在のPCやPCサーバーのメモリやストレージは、階層型になっている。一番プロセッサに近いところに、もっともプロセッサの速度に近いSRAMを利用したキャッシュ(L1、L2、LLCなど)があり、その次にDRAMを利用したメインメモリ、そしてフラッシュメモリを利用したSSDなどのストレージとなっている。 CPUがつねに使うデータは、キャッシュやメインメモリに置いて処理を行ない、何度も使わないデータはストレージに格納して使うというのが、今のコンピュータでは一般的な仕組みとなる。 これは、SRAMやDRAMは電源を切るとデータが消えてしまい(揮発性メモリ)、フラッシュメモリのような大容量化は実現が難しいが、より高速であるという特徴を備えており、フラッシュメモリやHDDなどは、CPUから見ると低速だが、電源を切ってもデータを保持する特性(不揮発性メモリ)を持っているという、それぞれの利点を活かすためにこうした階層構造になっているのだ。 だが、Intelが開発した3D XPointは、フラッシュメモリを超える、DRAMに近い低レイテンシ(CPUがデータを読み書きするまでの時間が短い)を実現しており、かつDRAMよりも大容量を低コストで実現でき、不揮発性メモリでもあるため、電源を切ってもデータは保持されるという特徴がある。 この3D XPointの特徴を活かして、メインメモリの代わりとして使うことで、大容量のメインメモリを、より低コストで実現するというコンセプトで作られたのがOptane DC Persistent Memoryだ。

DDR4インターフェイスとDIMM形状を採用したOptane DC Persistent Memory Optane DC Persistent Memoryは、ハードウェアと電気信号の観点から、DDR4のメモリモジュールと互換性を持つよう作られており、両者は混在して利用できる(ただし、後述するようにソフトウェア的には改変が必要になる場合がある)。容量は、発表時点では128GBから512GBの容量のモジュールが提供される。 Intelは、Optane DC Persistent Memoryのために、特別なコントローラ(Optane DC Persistent Memory Controller)を開発し、それをモジュール上に搭載することで、DDR4の電気信号で、OptaneのフラッシュメモリをDRAMのように利用できるようにしている。 ただし、その利用には、DRAMコントローラの側で追加のプロトコルをサポートしている必要があるため、CPU側のメモリコントローラが、Optane DC Persistent Memoryに対応している必要がある。 Intelはすでに初代Xeon SP(Skylake-SP)で、Optane DC Persistent Memoryをサポートする仕組みをメモリコントローラに入れており、Googleなど特定顧客によるベータテストでは、初代Xeon SPで検証が行なわれてきた。 今回、Optane DC Persistent Memoryを正式にサポートすることになった第2世代Xeon SP(Cascade Lake-AP)は、基本的にSkylake-SPの改良版となるので、当然メモリコントーラはOptane DC Persistent Memoryをサポートしている。 なお、3D XPointは不揮発のフラッシュメモリとなるため、データは電源を切っても保持される。このため、悪意がある人がデータセンターに忍び込み、Optane DC Persistent Memoryのモジュールをスロットから引き抜き、データを読み取るというこも考えられないわけではない。 このため、Optane DC Persistent Memoryは、パスフレーズを利用して256bit AESによる暗号化に対応している。揮発のDRAMやSRAMであれば、電源を落とせばデータは消えてしまうため、そうした心配をする必要はないが、不揮発であるOptaneでは、盗難を考慮した仕組みが用意されている。Intelによれば、初のハードウェア暗号化されたメモリモジュールになるということだ。 なお、DRAMに比べると読み書きの回数に制限があるフラッシュメモリを、メインメモリに使うとなると耐久性に不安を感じる人もいると思われるが、Intelによれば、Optane DC Persistent Memoryのスペック上の書き込みの限界は、PBW(Petabytes Written)に設定されており、365日使い続けたとして5年は持つ計算になるという。

メモリモードとAppダイレクトという2つのモードを採用している Optane DC Persistent Memoryには、2つの動作環境が用意されており、それがメモリモードとAppダイレクトモードの2つだ。 すでに述べたとおり、Optane DC Persistent MemoryはDRAMと混在して利用する。同じメモリチャネルに混在させるときには、OptaneがよりCPUに近いスロットに、DRAMを遠いスロットに実装する必要がある。1つのCPUソケットに対して、最大6つまでのOptane DC Persistent Memoryのモジュールを装着できる。 メモリモードとは、混在しているDRAMとOptane DC Persistent Memoryのうち、DRAMをキャッシュとして、Optaneをメインメモリとして使うかたちだ。メインメモリの容量はOptaneの容量になるが、ソフトウェア側の改変が一切必要なく、そのままOptaneの大容量と、DRAMの低レイテンシという両方の特徴を利用することが可能だ。 これに対して、Appダイレクトモードでは、アプリケーションソフトウェアの側が、DRAMとOptaneをそれぞれ別々に利用する。 たとえば、DRAM側にはプログラム本体を置いて低レイテンシで使い、Optane側にはストレージの代わりに大容量のデータなどを置いて利用する。SAPのHANAのようなインメモリデータベースなど、大容量のデータベースをメモリ上に展開するアプリケーションで効果のあるモードだ。 Intelによれば、HANAは最新版ですでにこのAppダイレクトモードに対応しており、データは不揮発のOptane上に展開されて保持されるので、仮にシステムを再起動してもデータは保持されているので、再起動後にストレージからメモリにデータをコピーする時間がなくなり、再起動にかかる時間が従来よりも圧倒的に短くなるとのことだ。 その効果だが、Intelが公開したベンチマークデータだと、RedisをMemtierベンチマークでVMあたり1つのRedisを実行すると、メモリモードでは最大で8倍多くVMを実行可能になり、同じ6TBの容量で比較した場合には、30%のコスト削減が実現できるという。