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

なぜ3D XpointベースのSSDは期待通りの性能が出ないのか

 IntelとMicron Technologyが昨年(2015年)の7月28日(米国時間)に共同開発を発表した革新的な大容量不揮発性メモリ技術「3D Xpoint Technology」は、シリコンダイの性能では「NANDフラッシュメモリの1,000倍も高速」であり、「NANDフラッシュメモリの1,000倍も書き換え寿命」が長く、「DRAMの10倍の記憶密度」を有すると喧伝されていた。

IntelとMicron Technologyが昨年(2015年)7月28日に革新的な不揮発性な不揮発性メモリを共同開発したとアナウンスした時の講演スライド。この時は性能比較が抽象化されていてよく分からないところがあった
2016年4月13日~14日に中国の深センで開催された開発者向けイベント「IDF 2016」の技術トラックでIntelが示した「3D Xpoint Technology」の講演スライド。NANDフラッシュメモリとの比較対象はレイテンシ(遅延時間)と書き込みサイクル、記憶密度の違いはDRAMとの比較であることが下端の注釈に明記されており、かなり分かりやすくなっている

 試作チップとして披露されたシリコンダイの記憶容量は128Gbitと非常に大きかった。2015年7月の発表時点では、NANDフラッシュメモリの最大記憶容量とほぼ等しく、DRAMをはるかに超える。過去にここまで大容量化したシリコンダイは、次世代大容量不揮発性メモリでは存在しなかった。

主記憶とストレージのギャップを埋める理想のメモリ

 コンピュータシステムのメモリ階層で常に問題となってきたのが、メモリとストレージの速度ギャップ(レイテンシの違い)である。キャシュメモリ層のレイテンシを1とすると、主記憶層ではレイテンシが10倍になる。これは主にキャッシュメモリのハードウェア技術であるSRAMと主記憶のハードウェア技術であるDRAMの、アクセス時間の違いによって生じる。ただし1階層下がることでレイテンシが10倍になるというのは、記憶容量が10倍~100倍に増えることと両立させると、メモリサブシステムの性能が高いまま維持される。非常に良好なバランスと言える。

 しかし主記憶層とその下の層、すなわちストレージのSSD(Solid State Drive)層との間には、非常に大きな性能ギャップが存在している。レイテンシの違いが1万倍もあるのだ。主記憶のすぐ下にくるメモリ階層のレイテンシは理想的には、10倍~100倍が望ましい。SSDに比べると1,000分の1~100分の1である。

 SSDの記憶素子は当然だが、NANDフラッシュメモリである。このNANDフラッシュメモリに対してレイテンシを1,000分の1と縮め、主記憶層のすぐ下の層にふさわしい性能をアピールしたのが3D Xpoint技術だと言える。

ストレージ・クラス・メモリの位置付け
3D Xpoint技術によるメモリの位置付け。Intelが2016年8月16日~18日に米国サンフランシスコで開催した開発者向けイベント「IDF2016」の講演スライド

3D Xpoint技術ベースSSDの試作と評価

 IntelとMicron Technology(以降は「Micron」と記述)はそれぞれ、3D Xpoint技術ベースのSSDに独自の製品ブランド名を名付けるとともに、試作したSSDの性能を評価した結果を公表し始めた。Intelは昨年7月のアナウンス時点でSSDブランド「Optane(オプテイン)」を発表済みである。Micronは今年(2016年)8月に米国サンタクララで開催されたイベント「フラッシュメモリサミット(FMS)」でSSDブランド「QuantX(クアンテックス)」を発表し、試作したSSDを披露した。

 3D Xpoint技術ベースのSSDは現在のところ、昨年の7月にアナウンスしたほどには、性能差を得られていない。SSDの最高速インターフェイスである「NVMe」(PCIeベースのSSD専用インターフェイス)を搭載したNANDフラッシュメモリのSSDと比較すると、3D Xpoint技術ベースSSDのレイテンシは約10分の1、入出力速度(IOPS)は約10倍というのが、得られている性能である。言い換えるとレイテンシではDRAMの主記憶と、まだ1,000倍くらいの差がある。これではデータのアクセス先がSSDになった途端に、データを待つ時間が主記憶の1,000倍に伸びてしまう。あまり望ましい状況とは言えない。

3D Xpoint技術ベースのSSDで得られている性能。IntelとMicronの公表資料を基に作成した。なお3D Xpoint技術ベースのSSDはいずれも、外部インターフェイスにNVMeを採用している
既存のNVMeインターフェイスSSD(P7300)と、3D Xpoint技術ベースのSSD (Optane)をレイテンシ(遅延時間)とIOPSで比較。2016年4月13日~14日に中国の深センで開催された「IDF 2016」の技術トラックでIntelが示した講演スライド
既存のNVMeインターフェイスSSD(P7300)と、3D Xpoint技術ベースのSSD (Optane)をアプリケーションレベルのレイテンシ(遅延時間)で比較した時の内訳。左がP7300で、約90μsのレイテンシがある。右がOptaneで、10μs強にレイテンシが短縮された。Intelが2016年8月16日~18日に米国サンフランシスコで開催した開発者向けイベント「IDF2016」の講演スライド
3D Xpoint技術ベースのSSD のブランド名をMicronが「QuantX」と発表した時の性能に関するスライド。IOPSはNANDフラッシュSSDに比べて10倍(浅いキューの場合)、反応速度はNANDフラッシュSSDに比べて10倍、実装面積はDRAMの4分の1とある。2016年8月9日~11日に米国サンタクララで開催されたイベント「FMS(フラッシュメモリサミット)」の基調講演でMicronが発表した
読み出しレイテンシと書き込みレイテンシの実測データ。3D Xpoint技術ベースのSSD「QuantX」は、NANDフラッシュベースのSSDに比べて読み書きともにレイテンシが約10分の1に減少している。2016年8月9日~11日に米国サンタクララで開催されたイベント「FMS」の基調講演でMicronが発表したスライド

アプリケーションレベルでの性能向上は3倍~4倍に留まる

 Intelは、2016年8月16日~18日に米国サンフランシスコで開催した開発者向けイベント「IDF2016」で、3D Xpoint技術ベースのSSD(Optane)がアプリケーションレベルでどの程度に性能を向上させているかを評価した結果を示した。まとめると、性能向上は3倍~4倍に留まった。

 比較評価に仕様したアプリケーションは、コンピュータ・グラフィックスによるアニメーション生成ソフトウェア「Houdini」、PC向けベンチマークソフトウェア「PCMark Vantage v1.2.0」、データベース向けベンチマークソフトウェア「Aerospike Certification Tool(ACT)」、データベース向けベンチマークソフトウェア「RocksdB」である。

アプリケーションの処理における性能の比較。Intelが2016年8月の「IDF2016」で発表した結果をまとめたもの
アニメーション生成ソフトウェア「Houdini」のレンダリング処理を分析した結果。Optane(下)ではSSDの待ち時間が明確に減少していることが分かる。Intelが2016年8月16日~18日に米国サンフランシスコで開催した開発者向けイベント「IDF2016」の講演スライド
PC用ベンチマークソフトウェア「PCMark Vantage v1.2.0」による評価結果。Optaneのスコアは2倍~4倍と高い。Intelが2016年8月16日~18に米国サンフランシスコで開催した開発者向けイベント「IDF2016」の講演スライド
データベース向けベンチマークソフトウェア「Aerospike Certification Tool(ACT)」による評価結果。Intelが2016年8月16日~18日に米国サンフランシスコで開催した開発者向けイベント「IDF2016」の講演スライド
データベース向けベンチマークソフトウェア「RocksdB」による評価結果。スループット(左)で3倍、レイテンシ(右)で10倍の性能向上を達成している。Intelが2016年8月16日~18日に米国サンフランシスコで開催した開発者向けイベント「IDF2016」の講演スライド

3D Xpoint技術ベースSSDの性能は向上の余地がある

 これまで見てきたように、3D Xpoint技術ベースSSDである「Optane」と「QuantX」の性能は、SSD単体の測定で10倍の向上、SSDを組み込んだアプリケーションの処理能力で3倍の向上、という水準に達している。昨年7月に「1,000倍」を連呼していたデビューイベントに比べると、SSDの性能はかなり地味に見える。その理由はいくつか考えられる。

  • 1)メモリチップの性能が当初のアナウンスに比べて低い
  • 2)コントローラの性能(完成度)が低い
  • 3)ソフトウェアの性能(完成度)が低い
  • 4)測定条件が、3D Xpoint技術ベースSSDの性能を引き出せていない

 1)は、シリコンダイレベルの具体的な性能数値が明らかにされていないので、良く分からない。

 2)は、十分にあり得る。まずコントローラのハードウェアは市販品ではASICであるのに対し、試作品ではFPGAであることが多い。「QuantX」のコントローラはFPGAベースであることを筆者はFMSのMicronショウルームで確認している。FPGAベースだと、性能でASICベースを超えることは難しい。そもそもコントローラのアルゴリズムが、実績のあるNANDフラッシュメモリに比べ、3D Xpoint技術のシリコンダイに最適化されていない可能性が少なくない。

 3)も、十分にあり得る。コントローラのFPGAはCPUコア内蔵品と考えられるので、ソフトウェア(ファームウェア)を必要とする。ここも最適化が不足している可能性がある。

 4)は、事実として起こっている。例えば、キューの深さ(QD : Que Depth)とレイテンシ、IOPS、それから読み書き動作の関係である。NANDフラッシュメモリベースのSSDには、QDが深くなると書き込み動作が著しく遅くなる(レイテンシが急激に長くなる)傾向がある(読み出し動作だけだとレイテンシは短く、IOPSは高い)。これに対して3D Xpoint技術ベースSSDは、書き込み動作があってもレイテンシはあまり増加せず、IOPSの低下はあまりない。QDが16といった深さになると、レイテンシには1,000倍を超える開きが生じることがある。

NANDフラッシュメモリをベースとするSSD(P3700)を読み出し70%、書き込み30%で動作させた時のQD(キューの深さ)によるレイテンシとIOPSの変化。QDを増やすとIOPSは徐々に上昇するものの、レイテンシが大幅に増加する。2016年8月16日~18日に米国サンフランシスコで開催した開発者向けイベント「IDF2016」の講演スライド
読み出し70%、書き込み30%の条件で、3D Xpoint技術ベースSSD(Optane)とNANDフラッシュベースSSD(P3700)のレイテンシとIOPSを比較した結果。プロットはQDの深さ(下方向と左方向が浅い)。OptaneはQDを深くするとIOPSは順調に上昇するものの、レイテンシがまったく増加しないことが分かる。2016年8月16日~18日に米国サンフランシスコで開催した開発者向けイベント「IDF2016」の講演スライド

 これまで見てきたように、OptaneとQuantXにはまだ改良の余地が十分にあるし、性能の評価方法にも再考の余地がある。未完成なコントローラでアプリケーションの処理性能が3倍~4倍あるというのは、むしろ、凄いことだとも言える。現時点で3D Xpoint技術ベースSSDの評価を下すのは、早すぎる。まだしばらくは、様子を見るべきだろう。