後藤弘茂のWeekly海外ニュース

Intelの新メモリ「3D XPoint」がDIMMで投入される背景

7倍しか速くない3D XPoint SSDのデモ

 Intelは先週サンフランシスコで開催した技術カンファレンス「Intel Developer Forum(IDF)」冒頭の基調講演で、新メモリ技術「3D XPoint」を大々的に取り上げた。以前の記事で、今年(2015年)のIDFでは、3D XPointメモリが最大の焦点になると予測したが、実際、キーノートでは、CPUについてはほとんど触れず、3D XPointをメモリの大変革として押し出した。

 さらに、3D XPointメモリの実チップを使ったSSDのデモを公開。現在のNANDフラッシュメモリよりも、“7倍も”高速であることをアピールした。いや、正確には“7倍しか”高速にならないデモだ。しか、と書いたのは、IntelとMicronが3D XPointメモリのメモリセル自体の性能をNANDの1,000倍と謳っているからだ。

3D XPointメモリをベースにした技術を「Optane Technology」とブランディング
NANDの1000倍の性能のはずが、SSDでは7倍強の性能差に
Intelは3D XPointメモリをさまざまなフォームファクタのSSDで導入

 もちろん、1,000倍が7倍になったのにはいくつか理由がある。まず、PCI Expressの帯域の制約があり、性能が頭打ちになる。また、計測しているのはI/Oアクセス性能のIOPSで、メモリとしての真のランダムアクセス性能ではない。NANDと3D XPointメモリでは、アクセシビリティの粒度が全く異なり、3D XPointメモリはワード単位の細粒度のランダムアクセスではNANDに対して圧倒的に強いはずだが、その特徴は活かされない。

NVMe SSDでの3D XPointのNANDに対する利点の説明

 また、NAND SSDが通常高速化のためにキャッシュを使っていることも影響する。ちなみに、3D XPoint SSDは、3D XPointメモリをストレージの素子として使っており、3D XPointのキャッシュとNANDストレージの組み合わせのソリューションではないという。3D XPointメモリのSSDは、キャッシュを不要にした、よりシンプルな構成にできる可能性がある。

 こうした要素が絡み合うため、この7倍という数字比較は、あまり意味を持たない。それよりも重要なことは、3D XPointメモリが最も性能を発揮できる場所は、もはやI/Oの先にぶら下がったSSDではないことだ。

 そもそも、SSD領域では、3D XPointは3D NANDのビット/コストには敵わないので、3D XPointの競争力も低い。3D XPointメモリが真価を活かすことができる場所は、レイテンシでも帯域でもよりCPUに近く、CPUがメモリ空間にマップできる位置だ。つまり、CPU側のDRAMソケットに乗った時が、最大限に性能を発揮できることになる。

 こうした背景から、3D XPointは、新しいメモリとして、据えられる場所もSATA/PCI Expressの先から、DIMMソケットへと変わってくる可能性が高い。もちろん、3D XPoint SSDも併存する。しかし、それは割高でも高速なSSDを求める一部ユーザーのためもので、3D XPointが速いというイメージを人々に受け付ける役割を果たすと見られる。

ストレージクラスメモリとして初の成功となるか

 3D XPointメモリは、いわゆる「ストレージクラスメモリ(Storage Class Memory:SCM)」のカテゴリに入るメモリだ。NANDよりも高速高性能で、DRAMより大容量。DRAMとNANDの間に開いた大きなギャップを埋めるメモリ技術だ。ストレージクラスメモリの必要性は、ここ何年かの間、メモリ関係のカンファレンスでは毎回叫ばれていた。実際、多数のメモリ技術がストレージクラスメモリとして開発されてきた。

メモリ/ストレージ階層の中で3D XPointの位置

 3D XPointメモリが、これまでの新メモリの試みと異なるのは、最初から128G-bitという実用レベルの大容量ダイ(半導体本体)で登場すること。発表を見る限り、ちょうどストレージクラスメモリのど真ん中を突いたスペックであること。そして、最初からIntel自身という超強力なユーザーがついていること。

 新メモリ技術は、常に「チキン&エッグ問題」に直面する。タマゴ(量産とコスト低減)が先か、ニワトリ(顧客の採用)が先かという古典的な問題だ。新メモリは顧客に浸透して量産されれば安くなる。安くなれば、顧客がより積極的に使うようになる。しかし、顧客がつかない状態だと、量産を軌道に載せることは難しい。すると、コストを下げることも難しくなる。ところが、3D XPointメモリの場合は、最初からIntelという業界の最大顧客がついている。Intelが同社のSSD製品やサーバーソリューションに採用するなら、それだけでかなりの顧客を期待できる。

 3D XPointメモリは、そうした要素が揃っているため、ストレージクラスの新メモリとして初めて成功する可能性が高い。もちろん、Intel/Micronグループがこの新メモリを外販するのか、外販するとしたらどの程度の価格なのか、といった疑問は残る。しかし、Intelプラットフォームだけでも、かなりの量になるため、第1段階の普及のきっかけまでは突破できそうだ。

メモリ業界が求める究極の新メモリ

よりCPUに近いDIMMソケットに新メモリを

 現在、進んでいるメモリ/ストレージ階層の改革のポイントは、旧来のCPU-DRAMワーキングメモリ-HDDストレージという浅い階層を根底から改良することにある。DRAMとHDDの間の途方もないレイテンシと帯域とアクセス性能のギャップを埋める階層を作る。SSDはその第1歩だが、CPUにより近いところにも階層を設ける。

MicronがIDFで示した3D XPoint製品の位置付け

 改革は、新メモリ技術の開発と、新メモリを接続する階層の両側面から進められている。3D XPointメモリは、メモリ素子自体が、フラッシュメモリとは異なる全く新しい技術である。そして、すでに説明したように、高速性ゆえに、3D XPointメモリは、嵌め込まれるメモリ/ストレージ階層も異なって来る。そのため、Intelは、3D XPointをDIMMのフォームファクタでも提供する。

IntelのBill Liszenske氏

 Intelで3D XPointメモリを担当するBill Liszenske氏は、IDFのグループインタビュで次のように説明した。「我々は、複数のフォームファクタのSSDとDIMMで3D XPointを提供する。SSDが先で来年(2016年)になる。DIMMはその後だ。

 我々が作る3D XPointのDIMMは、将来のXeonで動作する。ただし、注意して欲しいのは、DIMMの時期や対応するXeon世代について、我々は、2016年とも次のXeonとも言っていない。また、どんな種類のクライアントアーキテクチャまたは、クライアント向けのDIMMで3D XPointを提供するとも言っていない。

 3D XPointのDIMMは、標準的なDDR4 DIMMソケットに挿すことができる。プロトコルなどの詳細については答えることができない。また、このDIMMは、OSからは独立となる。サポートのためにOSに変更を加える必要はない」。

 実際にはIntelはスライド中で、次のXeonで3D XPoint DIMMをサポートすると説明している。DIMMソケットには、現在、NANDが浸透を始めており、Intelも急ぐ必要がある。

書き換え可能回数の制約

 DIMMソケットは、不揮発性メモリにとって、新しいフロンティアだ。現在のシステムでは、DRAMインターフェイスとI/O系インターフェイスの間に、大きな帯域とレイテンシのギャップがある。このギャップは、従来のインターフェイスが、DRAMと物理ドライブという構成を前提としたものであるために存在する。

 そのため、性能的にその間に入るストレージクラスメモリは、性能を活かそうとしたら、DRAMのための広い帯域と低レイテンシを備えたDRAMインターフェイス側を利用するしかない。また、3D XPointのようなワード単位でアドレスを振ることができるメモリは、DIMMソケットは適している。ページベースの大きな粒度でしかアドレスできないNANDと異なり、3D XPointメモリはDRAMのようなワードベースの細粒度のアドレスが可能だ。

 「NANDは大きなブロックでのリード/ライト動作だが、3D XPointはクロスポイント(でメモリセルをセレクトするアーキテクチャ)なので、真にワードアドレッサブルだ。ずっとDRAMに近い。だから、DRAMソケットに3D XPointをフィットさせることに意味がある」とLiszenske氏は説明する。

 ただし、3D XPointも含めて大半のストレージクラスメモリは、DRAMと全く同じように扱うことはできない。書き換え可能回数に制約があるからだ。

 3D XPointメモリも、NANDより書き換え可能回数がはるかに多いとはいえ、事実上書き換え回数に制限がないDRAMと比べれば制約がある。また、アクセスレイテンシもDRAMほど短くはならないと見られる。DIMMソケットに挿したとしても、DRAMと同じように扱うことはできない。

 そのため、OSからDRAM同様に扱うことができるようにするためには、何らかのハードウェアの仕掛けが必要となる。これは、3D XPoint対応Xeonが内蔵するメモリコントローラを3D XPointメモリに最適化することで実現すると見られる。もちろん、長期的にはOS側で対応することで、DRAMと3D XPointを連続したメモリ空間で、より有効に使うことができるようになるだろう。メモリ階層アウェアなソフトウェア層は、将来の方向だと見られるが、それまでは、隠蔽する必要がある。

DRAM DIMMをライトバックキャッシュとして使う

 JEDEC(半導体の標準化団体)も、NANDをターゲットとした不揮発性メモリDIMMの規格「NVDIMM」を3タイプ策定または策定しつつある。NVDIMMは、DRAMとNANDを混載することを前提としており、規格によって、どちらかの物理メモリをメモリ空間にマップする。NANDのメモリ容量を活かすことができるほか、システムが落ちた時も、メモリ内容が保持されるのが重要なポイントだ。

 Intelの3D XPoint DIMMは、JEDEC規格とは異なる可能性が高い。3D XPoint DIMMは、モジュール上にDRAMは載せず、3D XPointメモリだけを搭載する可能性が高い。ただし、DRAM DIMMを併用することを前提としている。Intelのスライドには、DRAM側のDIMMが、ライトバックキャッシュとして働くと説明されている。これは、3D XPointメモリの物理メモリをメモリ空間にマップし、DRAMがその手前のキャッシュとして働く仕組みだと見られる。Intelは、こうした構成のメモリに関する特許も出願している。それは、SkylakeのeDRAMアーキテクチャとも絡んでいる。

DRAM DIMMをライトバックキャッシュとする3D XPoint DIMMソリューション

 いずれにせよ、3D XPointをメモリソケットに持って来ることは、3D XPointのデータセンタ向けのソリューションのカギになるだろう。3D XPointでの本命は、SSDではなくDIMMだ。ちなみにIntelは、SSDはサーバーとクライアントに向けて提供するが、DIMMは当面はサーバー用だ。DIMMに大容量メモリを欲しいというニーズは、まずサーバー側にあるからだ。膨大なインメモリデータベースや、システム回復の高速化など、サーバー側では大容量の不揮発性メモリを必要とする領域がある。

3D XPointメモリの将来アプリケーション
3D XPointメモリは、まず大規模システムから

 もちろん、長期的にはPC、どころか、むしろもっと小さなクライアントでも3D XPointが来る可能性がある。3D XPointメモリはクロスポイントメモリであるため、ロジックプロセスと比較的相性がいい。IoT(The Internet of Things)向けの組み込みMCUで、現在SRAMのワーキングメモリと現在エンベデッドフラッシュのストレージを3D XPointメモリに置き換えるといったことも考えられるかも知れない。そうすると、組み込みメモリが前提のMCUでAndroidのようなリッチOSを走らせることも可能になる。こうして概観すると、3D XPointメモリから始まる新メモリが、革新的な要素になることが分かる。

(後藤 弘茂 (Hiroshige Goto) E-mail