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

次世代メモリ「HBM2」の詳細が明らかに

次世代GPUから将来のAPUまでカバーするHBM2規格

 今後のコンピュータシステムのカギとなるメモリ「HBM2」の概要が見えてきた。HBM2は、Through Silicon Via(TSV)技術を使ったスタックメモリで、現在、AMDが採用しているHBM1の後継となる。HBM2によって、2016年のGPUは、1TB/secのメモリ帯域を実現すると見られる。しかし、ハイエンドGPUだけに事実上限定されているHBM1に対して、HBM2では、より広範なアプリケーションの採用が期待されている。

 HBM2では、データ転送レートが、従来の2倍の2Gbpsになり、消費電力あたりの帯域が大幅に増えた。また、製造メーカーにはSK hynixだけでなく、Samsung Semiconductorが加わった。容量はダイあたり8G-bitに増え、ECC機能もオプションで加わり、そのほかにもスードチャネル(Pseudo Channel:疑似チャネル)モードなど新機能が加わった。さらに、実装面でも大幅な改良がなされ、第1世代のHBMとは別物といっていいDRAMに進化した。今年(2016年)1月から2月に開催された半導体カンファレンス「ISSCC(IEEE International Solid-State Circuits Conference)」では、HBM2の実装が明らかにされた。

 HBM(High Bandwidth Memory)は、1,024-bitの超広メモリインターフェイスを使う積層DRAM技術だ。ベースダイの上にDRAMチップをTSV技術を使って積層する。DRAMダイは2から8層の積層が想定されている。

 HBMでは、従来のメモリ規格と比べると、格段に高いメモリ帯域を、相対的に少ない消費電力で得られることが特徴だ。難点は、製造やアセンブリのコストが高いこと、CPUやGPUとのパッケージ化にTSVインタポーザが現状では必要であることなど。HBM2ではさまざまな改良が加わった結果として、帯域あたりのコストも下げることが可能になっている。

メモリのロードマップ
PDF版はこちら

2層スタックでフル帯域を得ることができるHBM2規格

 HBMは、128-bitのメモリチャネルを8チャネル束ねて1,024-bitのインターフェイス構成を取っている。個々のメモリチャネルは独立して動作が可能だ。フルのメモリ帯域は、8チャネルの1,024-bit I/Oをフルに使うことで得られる。

 HBM1では、フルのメモリ帯域を得るためには4-Hi(4層)スタックでなければならなかった。これは、HBM1のDRAMダイが2チャネルまでしかサポートできないためだ。HBM1では、フルの8チャネルのためには、2チャネル(256-bit)のDRAMダイを4個積層した4-Hi(4層)スタックが必要だった。4-Hiスタックで、2チャネル×4ダイ=8チャネルとなる。

 それに対して、HBM2では1個のDRAMダイあたり4チャネル(512-bit)のインターフェイスをサポートできるようにした。そのため、2-Hi(2層)スタックでも、8チャネル(1,024-bit)構成にすることが可能で、フルのメモリ帯域を得ることができる。2-Hiスタックで、4チャネル×2ダイ=8チャネル(1,024-bit)となる。このアーキテクチャの概要もISSCCで明らかになった。以前の記事での推測に誤りがあったので、ここで訂正したい。

 面白いのは、同じHBM2でも、アーキテクチャがSamsungとSK hynixで大きく異なること。JEDECスペックでは、HBM2は各ダイにつき2チャネル/4スードチャネルとなっている。Samsungの実装はJEDECスペック通りで、1ダイにつき2チャネル/4スードチャネルで、2-Hi時にだけ1ダイ4チャネルに変わる。ところが、SK hynixはもともと1ダイにつき4チャネル/8スードチャネルとなっている。アーキテクチャの違いの根底には、HBMをモジュール単位で考えるか、個々のDRAMチップを独立したチップとして考えるかのコンセプトの違いが反映されている。

JEDECスペックそのままのSamsungのHBM2

 Samsungでは、実際にはダイ当たりのチャネル構成は、スタックの数によって異なる。ダイあたり2チャネルは、4-Hiスタックと8-Hiスタック時で、2-Hi時には1ダイにつき4チャネル/8スードチャネルに切り替わる。4-Hi/8-Hiスタック時には、各ダイの有効I/Oは256-bit。しかし、2-Hiスタック時には、各ダイのI/Oは512-bitとなり、ダイあたりのメモリ帯域は2倍になる。

SamsungのHBM2の4-Hi/8-Hiスタック時のチャネルとバンクの構成

 上のスライドはSamsungのHBM2ダイアーキテクチャで、左と右で異なるチャネルとなる。左の青の矢印と、右の緑の矢印で異なるチャネルだ。スライドによると、SamsungのHBM2ダイは、1チャネルあたり16バンクのメモリバンク構成。ただし、ISCC時には、発表者は1スードチャネル当たり16バンクと言っており、その場合は1チャネル32バンクとなる。実際、図では1チャネル32バンクに見えるが、チャネルが2つのDWORDに分かれているため、2個のサブバンクで1バンクの構成となっている可能性が高い。

 HBM2では128-bitの1チャネルを、2つの64-bitチャネルに分割して使う「Pseudo Channel」モードがある。I/Oは、64-bitのDWORDがそれぞれ異なるスードチャネルとなる。それぞれのスードチャネルは、分割されたDRAMバンクに独立した64-bitインターフェイスでアクセスする。あたかも、64-bit(x64)のチャネルが、各チャネル毎に2つづつあるかのように振る舞う。しかし、実際には2つに分割されたスードチャネルは、1個のAWORD (Address Buffer)を共有する。スードチャネル時には、上の図のチャネルの左右がそれぞれスードチャネルに分かれる。

SamsungのHBM2の2-Hiスタック時のチャネルとバンクの構成

 2-Hiスタック時にはチャネルとバンクの組み合わせが変わる。各スードチャネルが上下で異なるチャネルに分割される。ダイ上では左上、左下、右上、右下で異なるチャネルとなる。上の図で4色に色分けされた矢印が4チャネルだ。スライドでは各チャネルが8バンクとなっている。その場合、2-Hi時のスードチャネルは4バンクとなる。ちなみに、8-Hiスタックは4-Hiスタックをベースに2ランク構成にしたものになる。

Samsungと大きく異なるSK hynixのHBM2アーキテクチャ

 SK hynixのアーキテクチャはSamsungとはかなり異なっている。4-Hi/8-Hiスタック時でも、1ダイにつき4チャネル/8スードチャネルとなっている。1ダイに4チャネルなので、2ダイを使う2-Hiスタックで8チャネルのフルスピードとなる。2-Hi時には、例えば、1つ目のダイ「Slice 0」がチャネル0/2/4/6の4チャネル。2つ目のダイ「Slice 1」がチャネル1/3/5/7の4チャネルの構成となる。2-Hiスタックの合計で8チャネルとなる。

SK hynixのHBM2のダイアーキテクチャ

 では、4-Hi/8-Hiスタック時にはどうなるのか。SK hynixの実装では、4-Hi時には4チャネルのダイを4層に重ねるため、下の2スタックと上の2スタックで同じチャネル構成となる。例えば、チャネル0なら、1つ目のダイ「Slice0」と3つ目のダイ「Slice2」に分散される。8-Hiスタック構成ではこれがさらに繰り返され、アッパースライスとローワースライスのランクに分かれた構成となる。

各スタック厚毎のSK hynixのHBMのチャネル構成

 SK hynixの仕様には、2-Hiスタックから4-Hi、8-Hiまでのチャネルアーキテクチャを統一できるという利点がある。Samsungアーキテクチャの場合は、4-Hi/8-Hiスタック時と2-Hiスタック時でダイ上のチャネルとメモリバンクの割り当てが変わる。それに対して、SK hynixは、バンクとチャネルのアサイメントは変わらない。

 SK hynixの実装では、1ダイが4チャネルの構成で、各チャネルが16バンク。スードチャネルモード時には1ダイが8チャネルで、各スードチャネルが8バンクとなる。4-Hiスタックの場合は、2ダイを使うため、チャネルあたりのバンク数は32バンクの計算となる。

SK hynixのHBMスペック

ベースダイに多くの機能を移したSK hynix HBM2

 SK hynixのHBM2アーキテクチャでは、タイミングのズレであるスキュー問題が、Samsungアーキテクチャより問題になる。SK hynixの場合、4-Hi/8-Hiスタックで、同じチャネルのアクセスが複数のダイに分散して、タイミングにディレイが生じる。Samsungの場合は4-Hiでは1チャネルが1つのダイであるため、この問題が発生しない。

 そのため、SK hynixではタイミングスキューを均質化するために、ベースダイからの信号出力「core pipe-out(POUT)」のタイミングを調整する機構を組み込んだ。コマンドバッファにディレイ回路を拡充した。ベースダイの機能を拡充したことで、このアーキテクチャが可能になった。

 また、SK hynixのHBM2では、従来は各DRAMダイ側にあった「address/command decoders(COMDEC)」も、ベースダイ側に取りこまれている。DRAMダイは、DRAMメモリセルとバッファ、最小のペリフェラルのシンプルな構成となった。また、パワージェネレータもDRAMダイからベースダイに移されている。

 HBM1世代は、個々のDRAMダイが独立した機能を持っていた。これは、もともとHBMの規格化が始まった時点では、ベースダイのない構成も考えられていた名残だと思われる。それに対して、HBM2ではベースダイが多くの機能を担当するアーキテクチャへと変わっている。特に、SK hynixでその傾向が顕著で、モジュール全体でHBM DRAMという考え方が進んだ。その結果、DRAMダイアーキテクチャも、1ダイ4チャネル標準へと変化したと見られる。

テスト機能を織り込んだベースダイ

 HBM1世代のベースダイの機能は、まず、TSVインタポーザ上のパッドから、DRAMダイに接続するパッドまでのルーティングだ。DRAMダイ側のマイクロバンプパッドは、DRAMダイの中央に配置されている。それに対して、スタック外との接続のマイクロバンプパッドは、コントローラチップとの距離を最短にするため外側に配置されている。この間のルーティングを行なう。

ベースダイを使ったHBMの配線
PDF版はこちら

 しかし、実際のHBM製品でそれ以上に重要なベースダイ(Samsungはバッファダイと呼ぶ)の機能はテスティングだ。DRAMダイのテストを行ない、欠陥を補完する。HBM DRAMダイでは、中央部がTSVエリアとなっているが、通常は複数のTSVホールで1つのI/Oを構成する。Samsungは、このTSVホールにもビルドインの欠陥の検知と修正のシステムを組み込んだと発表している。

 DRAMは本来熱に弱いが、HBMはTSV積層のためにウェハシンニング(ウェハを薄く加工する)が行なわれていることもあり、温度が上がりやすい。そのため、HBMでは正確な温度を検知し、リフレッシュコントロールを行なうことが重要となっている。例えば、Samsungでは、DRAMダイ上の温度をセンサーで検知し、積層したDRAMダイ間の距離も含めて、空間的な温度差を計算、それに合わせて、ダイ上のメモリセルエリアを8分割してリフレッシュを制御する。

20nmプロセスへ移行したHBM

 アーキテクチャを除けば、今回発表されたSamsungとSK hynixのHBM2はよく似ている。どちらも、DRAMとしては最も微細な20nmプロセスで製造される。SK hynixの第1世代のHBM1の製造プロセスは枯れた29nmプロセスだった。

 スペック上の転送レートは2Gbpsで、メモリ帯域は256GB/sec。4個のスタックで、1TB/secのメモリ帯域を実現する。また、既に述べたように2-Hi/4-Hi/8-Hiの各スタックをサポートする。メモリ容量はどちらも8G-bitで、4-Hiスタック時のメモリ容量は4GBとなる。8-Hiでは8GBで、4個の8-Hiスタックで32GBのメモリ容量となる。2-Hiスタックでは2GBとなる。

HBM2のスタック容量
PDF版はこちら
SamsungのHBM2ダイ
SK hynixのHBM2のスペックとHBM1のスペックの比較
SK hynixのHBM2ダイ

 また、両社のHBM2とも、ECCをオプションでサポートする。そのために、ダイ自体は9G-bit容量となっており、容量のうち1G-bit分をECCビットに使うことができる。HBMの特性から、ECCはDRAMダイを付加するのではなく、ダイ自体にECCメモリを内蔵する。以前は、HBMではECC機能はDRAMのインターナル処理になる可能性があるとされていたが、実際には従来型のメモリコントローラ側での制御のECC機能も提供する。ECCビットは、データバス128-bitに対して16-bitとなっている。

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