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

広帯域と大容量にフォーカスした“第2世代”のHBM2メモリ

HBM2規格の本当の性能を実現する第2世代のHBM2

 メモリ-ストレージ階層でワーキングメモリは、プロセッサの近く(同一パッケージ内)に据える“ニアメモリ(Near Memory)”と、拡張メモリスロットの“ファーメモリ(Far Memory)”に分極しつつある。ニアメモリ側はより広帯域かつ大容量に向かい、ファーメモリ側は不揮発性メモリも加えたハイブリッドで超大容量へと向かう。規格としてはニアメモリが「HBM(High Bandwidth Memory)2」とその後継のHBM3など、ファーメモリがDDR5とNVDIMM系となる。

 このうち、ニアメモリであるHBMは、当初の予定とは異なる展開になりつつある。広帯域と大容量に比重が置かれ、低容量帯への展開は後回しになりつつある。現在のHBMの顧客であるハイエンドの高性能コンピューティング(HPC)の市場での広帯域メモリ需要が盛り上がっているためだ。

 現在のHBMの主要な顧客は、ひたすら広帯域と大容量を求めている。そのため、DRAMベンダーのHBM2メモリ自身も、より広帯域かつ大容量にフォーカスしたアーキテクチャへとターンしている。HBM2だけでなく、ポストHBM2の議論でも、ローコストのコンシューマ向けHBM規格が立ち消えになるなど、変化が生じている。

メインストリームDRAMのロードマップ
PDF版はこちら
Samsungが2016年のHotChipsで説明したコンシューマ向けHBMのプラン

 HBM2は、モジュールあたり256GB/sec以上の広帯域メモリを実現するDRAM技術だ。HBMを製造する2社のうちの1社SK hynixは、米サンフランシスコで2月に開催された半導体カンファレンス「ISSCC(IEEE International Solid-State Circuits Conference)」で、新しいHBM2メモリを発表(「12.3 A 1.2V 64Gb 341GB/s HBM2 Stacked DRAM with Spiral Point-to-Point TSV Structure and Improved Bank Group Data Control」J. H. Cho et. al,)した。HBM系メモリでは2015年に最初の世代のHBMが市場に導入、2016年に第2世代のHBM2が登場したが、今回SK hynixが発表したのはHBM2の改良型となる。

 同様に、HBM2を供給するSamsungも第2世代のHBM2「AquaBolt(アクアボルト)」を発表した。製品としてのデータ転送レートは2.4Gbpsで、1スタックあたりのメモリ帯域は307GB/secとなる。HBMを供給する2社が、同じタイミングで第2世代の改良版HBM2を発表したという状況だ。

 HBM2は、スペック上は最大2Gbpsの転送レートで、1スタックのメモリ帯域は256GB/sec、積層するDRAMは8ダイとなる予定だった。4スタック構成なら、メモリ帯域は1TB/secで、メモリ容量は8層スタックの「8Hi」で32GBに達するはずだった。しかし、実際の製品では、広帯域と大容量の両立が難しかった。スペックの上限を下回る転送レートに留まるか、フルの転送レート時には消費電力が大きくなる製品仕様となっていた。

 そこで、HBMメーカーのSK hynixとSamsungは、データ転送レートをスペック以上に引き上げ、8Hiのスタックでも低電力でフル性能を発揮できる新世代HBM2の開発を進めてきた。この2世代目のHBM2からが、本来の広帯域と大容量を達成する、本当のHBM2だと言ってもいい。

4チャネル/ダイから2チャネル/ダイへの変化

 SK hynixがISSCCで発表した第2世代HBM2には、アーキテクチャ上で従来のHBM2から大きな変更があった。それは、TSVで積層するDRAM同士の接続トポロジーだ。第1世代のHBM2では、SK hynixはマルチドロップ接続を行なっていたが、今回の第2世代HBM2では、SK hynixはポイントツーの接続を行なっている。

 HBMでは、ボトムに制御を行なうベースロジックダイがあり、その上にDRAMのダイが積層されTSVで配線されている。SK hynixの第1世代のHBM2では、積層される全てのDRAMダイに、各メモリチャネルごとに「TX(Transmitter:送信)/RX(Reciever:受信)」が配置されていた。つまり、8チャネル全てに対してのTX/RXがあり、積層DRAMダイ全てが接続されたマルチドロップ構成だった。それに対して、SK hynixの第2世代のHBM2では、1チャネルにつき、各ランクに1個のDRAMダイだけがTX/RXで接続される。各ダイにつき、2個のチャネルのTX/RXだけがある。

HBMシステムの
PDF版はこちら
左が旧HBM2のマルチドロップアーキテクチャ、右が新しいHBM2のスパイラルポイントツーポイント
HBMのチャネル
PDF版はこちら

 この変更にともなって、SK hynixのHBM2 DRAMは、1ダイあたりのチャネル数が変更された。従来の第1世代HBM2は、1ダイにつき4チャネルだったが、今回の第2世代HBM2では、1ダイに2チャネルに変わった。ちなみに、Samsungの第1世代HBM2も、ダイあたり2チャネルと4チャネルのコンフィギュラブルなダイとなっていた。

 第1世代HBM2から第2世代HBM2での、1ダイ4チャネルから1ダイ2チャネルへの変更。これは、HBM2のターゲットとする市場の変化や、HBMメモリの方向性の変化を示している。HBMには、4個のDRAMダイを積層する「4Hi」と8個のダイを積層する「8Hi」、それに2個のダイの「2Hi」がある。SK hynixの第1世代HBM2が当初1ダイに4チャネルの実装としたのは、2個のDRAMダイの構成の2Hiでフルメモリ帯域を実現するためだった。

SK hynixの第1世代と第2世代のHBM2でのチャネル構成の変化。左がSK hynixの第1世代のHBM2、右が第2世代
PDF版はこちら
SK hynixの第1世代HBM2のチャネル構成
SK hynixの第2世代HBM2のチャネル構成

 HBMアーキテクチャでは、128-bit幅のメモリチャネルを8チャネル1組で取り扱う。128-bit x 8チャネル=1,024-bitで、1,024-bitのメモリバス幅となる。最初のHBM2では、SK hynixもSamsungも、1個のダイあたり最大4チャネルでバス幅は合計で512-bitとなる。ダイあたりの帯域は2Gbps時に128GB/secとなり、2個のダイで8チャネルのフル帯域を達成できた。

小容量需要を考えた第1世代HBM2の2Hi仕様

 HBM2では、当初、2Hiでフル帯域を確保することで、DRAM容量は小さい方がいいがメモリ帯域はフルに欲しいという顧客をカバーしようとしていた。HBM2は、SamsungとSK hynixともに8Gbits(ECCを含めると9Gbits)のダイあたりメモリ容量だ。スタックあたりのメモリ容量は4Hiで4GB、8Hiで8GBとなる。しかし、2Hiでは2GBに抑えられる。

 たとえば、256GB/secのメモリ帯域は欲しいが、メモリ容量は2GB程度でいい、という用途なら2Hiが適していることになる。512GB/secのメモリ帯域なら2Hiで4GB容量となる。キャッシュ的な用途やコンシューマ機器なら、この帯域と容量のバランスが適合しそうだ。実際に、HBM2が導入された当初は、そうした説明がなされていた。

HBM2のスタックダイ数とメモリ容量の関係
PDF版はこちら
最初の世代のHBM2では、2Hiの低容量をフル帯域でサポートできることが売りの1つだった
HBM2では容量と帯域が異なる幅広いアプリケーションに適用させる構想だった

 しかし、今回のSK hynixの新しいHBM2では2チャネル/ダイなので、フル帯域が実現できるのは4Hiと8Hi構成だけとなる。今回の実装では、HBM2の8チャネル 1,024-bitのインターフェイスのうち、各ダイに実装されているのは2チャネル 256-bitだけだ。無理やり2Hiを製品化しても、メモリチャネル数が半減して帯域が半分になってしまうことになる。

SK hynixのHBM2の2Hi時のチャネル構成
PDF版はこちら

 その反面、新しいHBM2では、各ダイの実装は楽になった。SK hynixでは、従来のHBM2では、実際には各ダイに8チャネル全てのTX/RXが実装されており、チャネルから見た場合はマルチチャネルの接続となっていた。それが、今回は各ダイに2チャネル分のTX/RXとなり、チャネルから見るとベースダイとDRAMダイがポイントツーポイントで接続される(2ランクの8Hiの場合はポイントツー2ポイント)形態となった。結果として、8Hiでもインターフェイスを高速にドライブすることが容易となった。

 つまり、最初のHBM2は、メモリ容量が小さなアプリケーション用途に合わせた設計になっていた。そのため、メモリ容量が必要な用途では性能を発揮することが難しい設計だった。それに対して、新しいHBM2は、メモリ容量が大きなアプリケーションでフルの性能を発揮できるだろう設計となっている。その一方で、新しいHBM2では、2Hiの小容量のアプリケーションはカバーされていない。これは、HBM2の現実の市場とマッチしている。