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

NVIDIAが次世代GPU「Pascal」のHBM2アーキテクチャを公開

TSMCのCoWoS技術を使ってHBM2をパッケージに統合

 NVIDIAは先週、米サンノゼで主催した「GTC(GPU Technology Conference)」で次世代GPU「Pascal(パスカル)」のHBM(High Bandwidth Memory)2について概要を明らかにした。メモリ帯域は720GB/secで、ECC(Error Correcting Code)もサポートされる。

 HBMは高性能グラフィックスではGDDR5の後継となるメモリ技術だ。極めて幅の広いメモリインターフェイスを使って、超広帯域メモリを実現する。HBM系メモリは、Through Silicon Via(TSV)技術とマイクロバンプ技術を使ってDRAMダイを積層する。DRAMダイの最下層にはベースダイが配置され、ベースダイと各DRAMダイとDRAMダイ同士はTSVとマイクロバンプで垂直接続される。

メモリとパッケージは「CoWoS with HBM2」と記述されている
中央のNVIDIAロゴのダイがGPU、その周囲の4個のモジュールが4ダイをスタックしたHBM2
PDF版はこちら

 Pascal GP100では、GPUダイとベースダイは、TSMCの「CoWoS(Chip-On-Wafer-On-Substrate)」技術によって接続される。CoWoSはTSVシリコンインタポーザを使って複数のダイを1パッケージに統合する技術だ。GPUとHBMモジュールの間のデータバスは1,024-bit幅。128-bit幅のチャネルを8チャネル束ねたインターフェイスとなっている。GP100は、合計4モジュールを接続するため、データバスは合計で4,096-bitとなる。メモリチャネルは合計で32チャネル(スードメモリチャネルでは64)となる。

SK hynixはGTC(GPU Technology Conference)の展示会場でHBMを展示
GTCの会場となったSan Jose McEnery Convention Center

AMDのHBM1に続いてNVIDIAは2世代目のHBM2を採用

 HBMはAMDのRadeon R9 Fury(Fiji)が、昨年(2015年)夏に最初に採用した。Fijiが採用したのは第1世代のHBM1。それに対して、NVIDIAがGP100で使うのは第2世代のHBM2だ。どちらもHBMを4モジュール使い、インターフェイスは4,096-bit幅。しかし、FijiのHBM1は転送レートが1Gbpsで、512GB/secのメモリ帯域であるのに対して、GP100のHBM2は1.44Gbpsで、720GB/secのメモリ帯域を実現している。

メモリの転送レートと帯域のチャート
PDF版はこちら

 MaxwellベースのTesla M40(GM200)、KeplerのTesla K40(GK110)とも、GDDR5でメモリ帯域は288GB/sec。GP100のメモリ帯域は2.5倍となる。同じGM200でも、グラフィックス向け製品の「GeForce GTX Titan X」は336GB/secの帯域なので、Tesla P100は約2.14倍となる。

 ただし、HBMには、帯域だけでなく、帯域あたりのエネルギーが小さいという利点もある。GDDR5はビットあたりのエネルギーが18~22pj(ピコジュール、pj/bit)であるのに対して、HBMは6~7pj/bit。そのため、帯域を広げても電力は抑えられる。言い換えれば、HBMでないとこれだけの広帯域を一定の電力で得ることができない。

さらに広メモリ帯域版のGP100の登場の可能性も

 HBM2は、スペックでは2Gbpsの転送レートまで可能だ。選別すれば2Gbps以上でも動作可能だという。そのため、今後のGP100系製品では、メモリ帯域はさらに広がると見られる。これまでの例では、Tesla系はメモリの安定動作を重視するため、GeForce系よりもメモリの転送レートが低めに設定されている。GP100のグラフィックス向けGeForce版では、同じGP100でも、メモリ転送レートが高めになる可能性がある。

HBMアーキテクチャ

 HBMは、ベースダイとその上に積層されたDRAMダイで構成されるモジュールとして提供される。DRAMダイのスタックは2-hi(2ダイ)、4-hi(4ダイ)、8-hi(8ダイ)の3種類のバリエーションで提供される。HBM2では、1ダイあたり2チャネルまたは4チャネル。そのため、2チャネルでも4チャネルでも同じピーク帯域が得られる。8ダイのスタックの場合は2ランクの構成となる。

 HBM1は、SK hynixだけが製造し、ダイあたりのDRAMの容量は2G-bitだった。そのため、4個のダイをスタックした4-Hiスタックを4モジュール使うFijiのメモリ容量は4GBだった。それに対して、HBM2では、チップ当たりのDRAMの規格容量が8G-bitとなる。Tesla P100は、4個のDRAMダイの4-Hiスタックを使っている。メモリ容量は、4-Hiスタックを4モジュールで16GB。今後登場するだろう、8ダイの8-Hiスタックバージョンの場合に32GBとなる。グラフィックスでは、これだけの容量はオーバーキルだが、HBM2自体は2ダイでも同等のメモリ帯域を保つことができる。8GBの低コスト構成も可能だ。

2G-bitのHBM1と8G-bitのHBM2の容量の違い
PDF版はこちら

シリコンインタポーザを使う新しいパッケージング技術

 HBM2とGPUは下の図のように、インタポーザの上に乗っている。図でシリコンキャリアと示されているのがそれだ。シリコンキャリアはTSV技術を使っており、ダイはウエハシンニング(wafer thinning)プロセスで薄化されている。シリコンキャリアの上面はマイクロバンプでGPUとHBMに、下面はC4バンプでサブストレートと接続する。

GP100とHBM2の断面図
TSMCのCoWoS技術

 上の断面写真の左がHBM2スタックだ。最下層の横に長いダイがベースロジックダイだ。その上に3層になっているのがHBM2のDRAMダイ。4層めのDRAMダイは上のスペーサとくっついているため区別できない。スペーサによって、HBMの積層ダイ数が何枚であっても同じ720um厚に揃えられる。

Samsungによるスタックの断面写真
ダイのスタック数に関わらず、スペーサによってモジュールの高さは720μmに揃えられる
この断面図では最上部のダイがスペーサと接していることが分かる

製造がスタートしたばかりのHBM2がGP100の出荷量を決める

 今回発表されたTesla P100(GP100)は、SamsungのHBM2を使っている。Samsungは、今年(2016年)前半からHBM2の量産をスタートさせている。しかし、新DRAMの量産は、通常は限定された量でスタートし、ラーニングカーブが上がるにつれてボリュームを増やして行く。今回は、加えてTSVスタッキングであるため、「known good stacked die(KGSD)」の製造プロセスを確立して行く必要もある。あるJEDEC関係者は、HBM2がハイボリュームで入手できるようになるのは2017年に入ってから、と以前語っていた。Samsungが前倒しで量産を進めているが、当初は、HBM2の出荷量はある程度限定されると予想される。

 GP100を製造するTSMCの16nm FinFETプロセス自体は、既に量産開始からある程度の時間が経っており、製造リスクが小さい。それに対して、HBM2はぎりぎりのタイミングでの採用となっている。そのためか、GTCのキーノートスピーチでの、NVIDIAのJen-Hsun Huang(ジェンセン・フアン)氏(Co-founder, President and CEO)の説明も次のようだった。

 「(Tesla P100の)製造は今行なっている。“すぐに”出荷するだろう。最初はクラウド向けに提供し、次に来年の第1四半期までにはOEMから出荷される」。

Tesla P100は来年(2017年)からOEMからも提供される

 Tesla P100は、今年(2016年)いっぱいは限定された顧客向けとなる。おそらく、Tesla P100の足を引っ張る材料は、このHBM2の量産だ。HBM2は2ランクで8-Hiスタックも可能だが、32GBメモリ容量版のGP100ボードの提供は、来年(2017年)になるだろう。

Jen-Hsun Huang(ジェンスン・フアン)氏(Co-founder, President and CEO)

合計で32メモリチャネルを制御する8個のメモリコントローラ

 HBM規格では、各スタック毎に1,024-bitのインターフェイスで、128-bitのチャネルを8チャネル含む。HBM2では、128-bitのチャネルをさらに分割して、2つのスードチャネル(pseudo channels)として使うことができる。GP100は、4個のHBM2スタックを使う。そのため、メモリチャネルは32チャネル、64スードチャネルとなる。

 それに対して、GP100のメモリコントローラは合計で8コントローラ。各コントローラが、4チャネルまたは8スードチャネルのチャネルを制御することになる。言い換えれば、2つのメモリコントローラで1個のHBM2スタックを制御している。この構成で、HBM2の多メモリチャネルを効率的にコントロールできるかどうかは、実際のチップが出るまでは、まだ分からない。

スタックにつき8チャネル/16スードチャネル
2個のメモリコントローラが1スタックを制御する

ECCフリーを実現する1Gbitsのエクストラビットを搭載

 Tesla P100はECC(Error Correcting Code)フリーを謳っている。オンチップメモリのECCはもちろん、外部メモリのECCも、性能や容量のペナルティなしに実現できるという意味だ。実は、これもHBM2の機能によって実現されている。

 GDDR5では、ECCにはコストが必要だった。GDDR5では、ECCサポートのためにメモリ容量の一部をECC bitsに割かなければならなかった。NVIDIAによると、GK110 Kepler GPUで12GB GDDR5メモリの場合、6.25%にあたる750MBをECCに割いていた。GDDR5では、ECCのためのエクストラダイは搭載しないためだ。また、ECC bitsアクセスのためにメモリ帯域も多少食われることになる。

 ところが、HBM2はオプションでECCをサポートする。HBM2のDRAMダイは、SamsungとSK hynixともに規格容量が8Gbitsだ。しかし、どちらもECCサポートのために、追加の1Gbits分のメモリを搭載している。そのため、ECCを有効にしても、8Gbitから容量が削られない。従来のDRAMのように、ECC bits分のダイを増やすことはHBMアーキテクチャでは難しく、また、GDDR5のように容量を削ることも避けたかったためと見られる。

Samsungは9Gbitsをダイに搭載している
SK hynixのHBM2のスペック。各ダイには1GbitsのECCセルを含む9Gbitsが実装されている
NVIDIAも12.5%のECC容量をHBM2に持たせると説明している

 また、HBM2ではECC bitsアクセスによってメモリ帯域も削られることがない。JEDEC規格では、HBM2では、各チャネルのデータバスは128-bit幅だが、ECCを有効にする場合は各チャネルに16-bitのECCのチェックビットアクセスバスが有効になる。メインのデータバスは使われないため、データ帯域は維持される。

 JEDECのHBM規格は、もともとAMDとSK hynixが中心となって策定した。しかし、HBM2からはNVIDIAとIntelが策定に積極的に加わり、両社が望む機能を盛り込んだ。ECC機能もNVIDIAが強く望んだ機能だったという。HBM1を見送ったNVIDIAは、HBM2から採用した。しかし、HBM2とPascalのタイミングは、実際には少しずれている。しばらくは、NVIDIAはHBM2の供給に苦しむことになりそうだ。

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