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

Intelの次期CPU「Haswell」のeDRAMの謎

Intelが隠すHaswellのeDRAM技術

 Intelは、次期CPU「Haswell」(ハズウェル)について、ひた隠しに隠している要素が2つある。1つは、統合電圧レギュレータ(iVR)で、もう1つが、オンパケージのeDRAM(組み込みDRAM)だ。iVRはIntelのプロセス技術に深く関わる技術要素で、言ってみれば、Intelの切り札だ。だから、実シリコンが出回るまでは、箝口令状態で情報を抑えようとしているのもよく分かる。では、eDRAMはどうなのか。

 Haswellのうち、GPUコアが最大構成のGT3ではeDRAMをパッケージに取り込んだ「GT3e」(コードネームCrystalwell)構成が用意されている。eDRAMと言っても、これはCPUダイ(半導体本体)に混載するのではなく、CPUダイとeDRAMダイを同じパッケージにMCM(Multi-Chip Module)で封止すると見られる。

 IntelがカスタムeDRAMのダイをDRAMベンダーに製造させているのなら、ここまでひた隠しにするのは奇妙だ。しかし、カスタムeDRAMをIntel自身で製造するというなら、話が違ってくる。Intelが隠す理由もよく分かる。このところ、半導体業界で、盛り上がっているのはこの話題だ。

 事の起こりは、6月に京都で開催される「VLSI Symposium」(Symposium on VLSI Technology)で、Intelが22nmプロセスのeDRAMの技術発表を行なうことが明らかになった事だ。このeDRAM技術が、Haswell GT3eに使われるeDRAMではないかという推測を、CPU媒体として有名なRealworldtechのDavid Kanter氏が記事にしたことで、一気に業界に広まった。

 Intelの22nmロジックプロセスはFinFET 3Dトランジスタで、VLSI Symposiumで発表する22nmのeDRAMもロジック部はFinFETを使う。今のDRAMは、容量を稼ぐためにセルキャパシタが極端なアスペクト比の立体構造になっているので、DRAMは本来的に“3D”だが、IntelのeDRAMではロジックトランジスタも3Dになる。VLSI SymposiumのAdvance Programによると、Intelの22nm eDRAMは、Capacitor-Over-Bitline(COB)でmetal-insulator-metal(MIM)型のキャパシタを使う。配線層側にスタックを形成する、ロジックとの混載に有利な構造だ。セルサイズは0.029平方μmで、メモリ密度は17.5Mb/平方mm、メモリマクロサイズは128Mb。リテンション時間は95℃に100μs以上となっている。

HaswellのeDRAMが示す重要なサイン

 HaswellのeDRAMには3つの重要な意味がある。(1)Haswell eDRAMがもしIntel製なら、Intelが自社のプロセスのオプションとしてeDRAMを使えるようになった。(2)Intelが今後のメモリ帯域の拡大をオンパッケージのメモリに頼る方向へと切り替え始めた可能性がある。(3)将来のコンピューティングノードが、プロセッサとメモリのタイトな統合へと向かう可能性が出てきた。

 Haswell eDRAMが、もしIntel製なら、それは、IntelがeDRAMを学会発表レベルではなく、製品化レベルに持って行くことができることを意味している。Intelは、自ら作り出したDRAMビジネスから撤退して以来、主にロジック製品をビジネスにしてきた。久々にDRAMに戻ることになる。

 Intelが開発したのは、ロジックとの混載を前提としたeDRAMであるため、IntelはIBMのようにeDRAMを他のロジック製品と統合できるようになる。IBMはサーバーCPUなどの大容量キャッシュとしてeDRAMを使っているが、Intelにも同様な利用の可能性が開ける。

 IntelがHaswell GT3eでeDRAMをパッケージに取り込む目的は、大型GPUコアに必要なメモリ帯域の確保にある。Haswellでは最大構成のGPUコアの演算ユニット数を大幅に増やしたからだ(といってもAMDの半分でしかないが)。これは、Intelがメモリ帯域の拡大を、汎用のDDRメモリの転送レート向上に頼らなくなりつつあることを示している。

Intel GPUのプロセッサユニット※PDF版はこちら
Haswellのブロックダイヤグラム

 この動きは、HBM(High Bandwidth Memory)やWide I/O 2といった今後のJEDEC(半導体の規格策定団体)メモリの流れとも一致している。今後のメモリ階層は、近いオンパッケージの広帯域メモリと、遠くて拡張可能なオンボードのモジュールメモリの2本立てになって行く可能性がある。

 ポストDRAMの新世代不揮発性メモリを考えた場合は、さらに大きな転換の可能性が見えてくる。eDRAMよりロジックと混載が容易な、DRAM並かそれ以上に大容量で、DRAM並の性能の不揮発性メモリが実現すれば、オンパッケージのDRAMを置き換え、さらにオンダイかスタックでの統合が広まる可能性がある。

 こうして展望すると、GT3eは単純にHaswellの製品バリエーションの1つとして捕らえるべきではない。Intelの大きな戦略の先触れとして見るべきであることが分かってくる。

新しい不揮発性メモリ※PDF版はこちら

IDF Beijingで明かされたHaswellのeDRAMの位置付け

 GT3eのeDRAMには謎が多く、そもそも、メモリ帯域やインターフェイス、容量など全てが明らかになっていない。メモリ階層の中でどいうい位置付けになるかだけは、IDF Beijingで明かされた。それによると、eDRAMは新たなキャッシュ階層として組み込まれるという。

 ただし、eDRAMの容量全てがハードウェア管理のキャッシュとして使われるのか、シェーダから明示的にアクセスできるスクラッチパッドメモリ領域なども取ることができるのか、といったことは明らかにされていない。もっとも、Intelの流儀なら、コードが複雑になるスクラッチパッドメモリは使わない可能性が高い。特に、そのメモリ領域がGT3eでしか使えないというなら、なおさらだ。他のGPU構成とコードの一貫性が保てなくなるからだ。ただし、グラフィックスタスク時に、プログラム側からは不可視の形で、特定の領域を特定の目的のために確保する可能性はある。

 Intelの現在のGPUコアはL3までのキャッシュ階層をGPUコア内部に備えている。CPU側のLLキャッシュのGPU領域とは別だ。ここに、かなりの容量のeDRAMキャッシュが加わることになる。eDRAMチップの容量は512Mbits(64MB)から1Gbits(128MB)と色々と推測が出ているが、メモリセルサイズから考えると1Gbitsあたりがありそうな容量だ。

Intel Haswellグラフィックコアのダイヤグラム(推測)※PDF版はこちら

 メモリインターフェイスはどうなるのか。DDR3なのかLPDDR3なのか。

 カスタム設計のeDRAMなら、コモディティのDRAMのインターフェイスをそのまま使う必要がない。そもそも、このeDRAMは、GPU統合によるメモリ帯域と内部バス帯域の不足を解消するためのものなので、チップ当たりのメモリ帯域を広く取る必要がある。それも、モバイル向けなので、できる限り低い消費電力で。そのため、メモリインターフェイス自体もカスタム設計だと見られる。

Haswell GT3eのeDRAMのインターフェイスの実装方式

 Haswell GT3eのeDRAMは、Haswellダイのどの部分に接続されているのか。Haswellは、例によってリングバスの端、メモリコントローラから一番遠いところにGPUコアを据えるという設計になっている。GPUコアは、メモリにアクセスするにはリングバスを、CPUコア数分経由してその先のメモリコントローラにアクセスしなければならない。メモリアクセスが一番多いGPUコアを、メモリコントローラから引き離す設計だ。

Haswell 4コア版の概要(推測)※PDF版はこちら

 Intelがこの設計を採っている理由の1つは、CPUコアやGPUコアの設計バリエーションを増やすという製造上のニーズだ。下は、Sandy Bridgeでのダイバリエーションの設計方法で、4コアからチョップしてバリエーションを作り出していることが分かる。GPUコアが端にあるなら、CPUコア+キャッシュスライスは全て同じ設計にできる上に、GPUコアの設計も変えやすい。また、Intel CPUのリングバスの帯域がかなり広いことも、この設計を可能にしている。

Sandy Bridge 2コアと4コアの比較(推測)※PDF版はこちら

 このように、Intel CPUの場合は、GPUコアとメモリコントローラが離された構成であるため、eDRAMのコントローラをどこに配置するかがポイントとなる。GPUコア側か、それともDRAMインターフェイスがあるシステムエージェント(SA)側か。Ivy Bridge以降のIntel GPUコアは内部に現在は3階層のキャッシュを備えている。GPUのメモリ階層を増やすというなら、GPUコア側にインターフェイスを持つのが合理的だ。そうでなければ、そもそもリングバス越しのアクセスになり、リングバスの帯域消費を減らすという目的に合わないからだ。

 もっとも、Haswell GT3eのダイは、これまでのIntel CPUのチョップのパターンとは合わないため、リングバスとGPUコアの関係が変わっている可能性もある。下はHaswellのダイ面積比から推定した、Haswellでのダイバリエーションの開発の流れだ。

Haswellのダイのバリエーション※PDF版はこちら

 4CPUコアとGT2 GPUコアの「4+2」をベースに考えると、2CPUコアにGT2 GPUコアの「2+2」と、2CPUコアにGT3 GPUコアの「2+3」は、ほぼぴったりと想定されるチョップのパターンに当てはまる面積だ。しかし、4CPUコアにGT3 GPUコアの「4+3」構成はこのパターンから外れている。eDRAMが接続されるのは最後の4+3のダイで、このダイだけはサウスブリッジも統合している。そして、通常のクライアント版Intel CPUの、1重リングにコアが連なる細長いダイとは異なる。そのため、リングのトポロジが異なっている可能性がある。

 ちなみに、Intel CPUには、CPUコア側にLL(Last Level)キャッシュがあり、このキャッシュもGPUが共有する。LLキャッシュはスライス毎にリングバスストップに接続されており、GPUコアからのアクセスにはリングバスを経由する。グラフィックスドライバがLLキャッシュ上に、キャッシュWay単位でGPU利用領域を確保する。このLLキャッシュの使い方もIntel GPUの大きな特徴だが、eDRAMを載せた場合はGPUキャッシュがずっと大きくなるため、GT3eではGPUにとってのLLキャッシュの意味も変わってくる。

Sandy BridgeのLLC共有

 また、HaswellのeDRAMにCPUがアクセスできるのかどうかも、現状ではわかっていない。さらには、CPUのキャッシュとしても機能するのかという点から、そもそもeDRAMはリングバスのリングストップに直結されているのか、といった点も疑問のまま残されている。とは言え、6月のHaswell発表時には、まだGT3eのタイプは登場しないので、その時点でも明かされない可能性が高い。

IntelはeDRAM技術をどう使うのか

 Intelが開発したeDRAMは、ロジック回路との混載を前提としたもので、汎用の単体DRAMとはメモリセルが大きく異なる。メモリ密度は通常のDRAMよりずっと低いため、単体のDRAMとしてビジネスが成り立つ技術ではない。カスタムDRAMや、ロジック回路との混載のための技術だ。ちなみに、Xbox 360の採用しているeDRAMの場合は、eDRAM側にもグラフィックスロジックを載せているが、Intelの場合は、eDRAMがオプション的な位置づけであるため、その可能性は低い。

XboxがCPU GPU SoCを採用する理由

 IntelのeDRAM技術だけを見るなら、ポイントはHaswell GT3eのほかに、より発展させた使い方をして行くのかどうかという点にある。eDRAMを混載する場合は、プロセスの複雑化に見合うだけの利点がある利用方法でなければならないという制約がある。すでに触れたサーバーのキャッシュは、IBMで実証された使い方だが、Intelの場合はモバイル製品もあり、その方面での利用も可能だ。Haswell GT3eのeDRAMがIntel製だった場合、eDRAMの他の展開を注目し続ける必要がある。

IBMのBlueGene/Qチップは32MBのeDRAMキャッシュを搭載している

 もう1つのGT3eの側面であるオンパッケージのメモリという側面は、より重要な意味を持っている。長期的に見れば、Intelが、オンパッケージに封止するメモリをより広汎に使うことは明らかだ。それは、Intelもヘテロジニアス(Heterogeneous:異種混合)化を強化する方向に向かっているからだ。

メモリ帯域はオンパッケージのメモリで稼ぐ方向へ?

 ヘテロジニアス構成で、GPUのような並列プロセッサの比率を高めると、それに合わせて膨大なメモリ帯域が必要となる。例えば、PlayStation 4(PS4)では、その問題の解決のためにGDDR5をメモリに採用した。しかし、汎用のDDRメモリのメモリ帯域向上は、そのニーズに追いつかない。ギャップは、当面は開く一方で、CPUメーカーはこの問題を解決しなければならない。

 Intelは、最初はDDR系メモリの高速化で帯域問題を解決しようとしていた節がある。JEDEC(半導体の規格策定団体)でのDDR4の規格策定の最初の段階では、IntelはDDR4の高速化に熱心に活動していた。ところが、ある時点からIntelはコモディティのDDR系メモリの高速化には熱が入らなくなったように見える。

 これは、モジュール増設を目的としたDDR系メモリの高速化は諦め、メモリ帯域はオンパッケージなどのメモリで稼ぐ戦略に転換したためとも考えられる。実際、DDR4の仕様が大人しいところに落ち着いた頃から、超広インターフェイス幅のメモリ技術の話が盛り上がってきた。それが、シリコン貫通ビア(TSV:Through Silicon Via)を使うHBMやWide I/O系やHybrid Memory Cube(HMC)などだ。

第1世代のHBM

 現在では、HBMまたはWide I/O 2による、クライアント側のCPU+GPUのメモリ帯域拡張を、IntelもAMDも考えていることは間違いない。特に、TSVインタポーザを使った2.5Dのソリューションが興隆したことで、超広帯域メモリを妥当なコストでパッケージ内に統合する可能性が高まった。TSVインタポーザを使うなら、CPU/APU側にTSVを使う必要がないから、ぐっとハードルが低くなる。ただし、オンパッケージのメモリはキャッシュなのか、キャッシュならタグはどうするのか、といったさまざまな問題がある。

パフォーマンスメモリのバンド幅ロードマップ※PDF版はこちら
スタックドDRAMソリューション※PDF版はこちら

 その意味では、Haswell GT3eはそうしたオンパッケージの広帯域メモリの流れを2~3年前倒した、先行的な実装と見ることもできる。ちなみに、HMCを入れていないのは、HMCはむしろオンボードでやや距離を離したメモリとして(HMCの2.5Dも提案されているが)の利用が注目されているからだ。

 もちろん、選択肢としては、もしIntelがHaswell以降にeDRAM技術を持つなら、クライアントCPUにオンダイのeDRAMを大容量キャッシュとして取りこむという方法もある。ただし、その場合は、新プロセスの立ち上げ時にeDRAMを毎世代間に合わせなければならない。これもかなりハードルが高いはずだが、選択肢としてはある。

 こうして概観すると、Haswell GT3eのeDRAMの重要性が見えてくる。製品としての重要性よりも、技術的な方向性の側面での重要度の方がはるかに大きい。Intelやメモリ技術がどこに向かうのかが、透けて見えるからだ。

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