福田昭のセミコン業界最前線
なぜ3D XpointベースのSSDは期待通りの性能が出ないのか
2016年8月29日 06:00
IntelとMicron Technologyが昨年(2015年)の7月28日(米国時間)に共同開発を発表した革新的な大容量不揮発性メモリ技術「3D Xpoint Technology」は、シリコンダイの性能では「NANDフラッシュメモリの1,000倍も高速」であり、「NANDフラッシュメモリの1,000倍も書き換え寿命」が長く、「DRAMの10倍の記憶密度」を有すると喧伝されていた。
試作チップとして披露されたシリコンダイの記憶容量は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技術ベース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倍に伸びてしまう。あまり望ましい状況とは言えない。
アプリケーションレベルでの性能向上は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」である。
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倍を超える開きが生じることがある。
これまで見てきたように、OptaneとQuantXにはまだ改良の余地が十分にあるし、性能の評価方法にも再考の余地がある。未完成なコントローラでアプリケーションの処理性能が3倍~4倍あるというのは、むしろ、凄いことだとも言える。現時点で3D Xpoint技術ベースSSDの評価を下すのは、早すぎる。まだしばらくは、様子を見るべきだろう。