オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
次世代GPU向けの新メモリ「GDDR5X」は,今までと何が違うのか? 改良点を仕様書から読み解いてみた
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2016/02/06 00:00

ニュース

次世代GPU向けの新メモリ「GDDR5X」は,今までと何が違うのか? 改良点を仕様書から読み解いてみた

GDDR5Xの仕様書表紙
画像集 No.004のサムネイル画像 / 次世代GPU向けの新メモリ「GDDR5X」は,今までと何が違うのか? 改良点を仕様書から読み解いてみた
 既報のとおり,メモリ技術の標準化団体であるJEDEC Solid State Technology Association(以下,JEDEC)は,JESD232」という名称で,新しいメモリ規格「GDDR5X SGRAM」(以下,GDDR5X)の仕様を公開した。2016年以降に登場するGPUで利用されるであろう,新しいメモリの規格であり,今後は読者が目にする機会も多くなると思われる。
 基本的な特徴はすでに報じたとおりであるが,今回はその詳細について,もう少し踏み込んで説明したい。

GDDR5とGDDR5Xの主な違いとは?


 そもそもGDDR5Xは,「JESD212」として策定された「GDDR5 SGRAM」(以下,GDDR5)の拡張版という位置付けにある規格だ。よって,ベースとなるのはGDDR5であり,GDDR5互換の動作モードもある。つまり,GDDR5Xに対応したGPUは,GDDR5XだけでなくGDDR5を使うことも理論的には可能だ。もちろん,商品構成としてそれに意味があるのかどうかは,また別の問題ではあるが。

 そんなGDDR5とGDDR5Xにおける仕様上の大きな違いを列挙すると以下のようになる。細かい説明は後段でしていくので,分からない用語・略語は,とりあえず読み飛ばしてかまわない。

信号速度:GDDR5は,コマンドのみがシングルデータレート(CK)で,データ(CK)およびアドレス(CK)はダブルデータレート(CK/WCK_t)だった。GDDR5Xでは,コマンドとアドレスは変わらないものの,データのみダブルデータレート(DDR Mode,WCK)もしくはクアッドデータレート(QDR Mode,WCK)に高速化された。
プリフェッチ長:GDDR5は,8nプリフェッチのみ。GDDR5Xでは,DDR Modeの場合は8nプリフェッチで,QDR Modeの場合は16nプリフェッチとなっている。
メモリ容量:GDDR5の記憶容量は,1チップあたり512Mbit,1Gbit,2Gbit,4Gbit,8Gbitの5種類あり,512Mbitのみ8バンク構成,ほかは16バンク構成だった。GDDR5Xの記憶容量は,1チップあたり4Gbit,6Gbit,8Gbit,12Gbit,16Gbitの6種類で,いずれも16バンク構成。
FIFO長の定義:出力バッファである「Read FIFO」の深さは,GDDR5が4〜6で可変(製品ごとに定義可能)なのに対して,GDDR5Xは6で固定。
PODの扱い:メモリバスの終端となる「擬似オープンドレイン」(Pseudo Open Drain,POD)は,GDDR5が「POD-15」および「POD-135」の両対応なのに対して,GDDR5XはPOD-135のみ。
供給電圧:GDDR5はメモリチップへの供給電圧(VDD)と信号ピンへの電圧(VDDQ)が1.5Vと1.35Vの両対応なのに対して,GDDR5Xは1.35Vのみとなった。またPump Voltage(Vpp)は,GDDR5が3.3Vだったのに対して,GDDR5Xでは1.8Vとなった。
パッケージ:GDDR5のメモリチップは,170ピンBGAなのに対して,GDDR5Xは190ピンBGAになった。

 ちなみに,GDDR5Xの特徴として挙げられる信号速度(転送速度)は,「CK」と「WCK」という2種類のクロックで決まるのだが,その数字そのものは,実はJESD212やJESD232には記載されていない。その理由は,それぞれの仕様書の冒頭に書かれている。

Some aspects of the GDDR5(GDDR5X) standard such as AC timings were not standardized. Some features are optional and therefore may vary among vendors. In all cases, vendor data sheets should be consulted for specifics.

GDDR5(GDDR5X)のACタイミングのいくつかのパラメータなどは標準化を行っていない。これらはオプション扱いであり,ベンダーの間で差がある。こうしたパラメータは,ベンダーのデータシートを確認してほしい。

 要は,製造技術の進歩で向上する信号速度を仕様で定めるのは難しい面があるので,それならば規格の中に数字で明記することは止めますよ,というわけだ。実際,GDDR5の場合も,規格化当初は「5Gbpsが限界」といわれていたものだが,6Gbps,7Gbpsと高速化されていき,最近はついに8Gbpsに達するなど,当初の予想を大きく上回るほど,通信速度が向上したので妥当な判断と思う。
 ほかに細かいところでは,メモリチップの製造企業を示す4bitの「Vendor ID」がいろいろと変わっている。消えてしまったベンダーやGDDRの製造を止めてしまったベンダーに割り当てていたVender IDは,「Reserved」に変更されたのだが,その数が多いのだ(表1)。つまり,GDDR5Xの製造を手がける企業がそれだけ減ったわけであり,メモリビジネスの厳しさがうかがえる。

表1 GDDR5とGDDR5XにおけるVender ID(二進数)
Vendor ID GDDR5 GDDR5X
0000 Reserved Reserved
0001 Samsung Electronics Samsung Electronics
0010 Qimonda Reserved
0011 Elpida Reserved
0100 Etron Technology Reserved
0101 Nanya Technology Reserved
0110 Hynix SK Hynix
0111 Winbond Electronics Reserved
1001 ESMT※1 Reserved
1111 Micron Technology Micron Technology

※1 Elite Semiconductor Memory Technology


データレートは1.75倍の最大14Gbpsに

プリフェッチの増大でGPU側の改良も必要に


 GDDR5Xで規格化されたほとんどの要素は,GDDR5そのままである。コマンドやアドレス,エラー検出用に使うError Detection Code(EDC)といった信号線の速度は,GDDR5から変わっていない。
 そもそもGDDR5では,過去との互換性維持のために残されている仕様も少なくなかった。たとえば,GDDR5Xでは,VDDやVDDQの電圧が1.35Vのみになり,GDDR5にあった1.5Vは削られているが,現在のGDDR5メモリチップやGPUは1.35Vで動作するので,GDDR5Xで1.5Vのサポートを削っても,影響はないわけだ。

 そんなGDDR5XとGDDR5の主な相違点は,信号速度とプリフェッチ,容量,そしてパッケージというあたりになる。順に説明していこう。

 まずは信号速度だが,単純にGDDR5チップの倍となった。メモリメーカーであるMicron Technology(以下,Micron)は,「DRAM Component Part Numbering System」(関連リンク,リンク先はPDF)というメモリチップの型番説明書を公開しているのだが,そこにGDDR5とGDDR5Xの信号速度が書かれている。
 それを見ると,GDDR5のクロックは1.25GHz,1.5GHz,1.75GHz,2GHzとなっており,それぞれ信号速度では5Gbps,6Gbps,7Gbps,8Gbpsに相当するのに対して,GDDR5Xは1.25GHz,1.5GHz,1.75GHzとなっており,それぞれ10Gbps,12Gbps,14Gbpsに相当するといった具合だ。

 画像1は,GDDR5Xの仕様書にある信号の模式図だ。GDDR5Xの仕様書にある信号の模式図をもとにして,説明用に作成したのが画像1-Aおよび画像1-Bだ。ここで注目してほしいのは,転送タイミングを示す信号「WCK_t」「WCK_c」と,データの転送を図式化した「DQ DBI_n」である。
 DDRモード(画像1-A)の場合,「WCK_t」という元々のクロックと,これの位相をひっくり返した「WCK_c」というクロックの2つを利用して,それぞれの立ち上がり(0から1になるタイミング)で,データバス(DQ DBI_n)にデータを出力する。そのため読み取り側は,WCK_tとWCK_cの立ち上がりでデータバスからデータを読み取ればいい。
 ところがQDR Modeの場合,DDRの2倍の数だけデータを出力する必要がある。そのため,GDDR5XのメモリチップとGPU内のメモリコントローラは,内部でWCK_t,WCK_cのクロック信号速度を2倍にし,2倍速クロックの両方の立ち上がりで同期を取り,データバスへの出力,読み取りを行っているわけだ。

画像集 No.013のサムネイル画像 / 次世代GPU向けの新メモリ「GDDR5X」は,今までと何が違うのか? 改良点を仕様書から読み解いてみた
画像1-A:GDDR5Xの信号模式図。DDRの場合
画像集 No.012のサムネイル画像 / 次世代GPU向けの新メモリ「GDDR5X」は,今までと何が違うのか? 改良点を仕様書から読み解いてみた
画像1-B:GDDR5Xの信号模式図。QDRの場合(いずれもJESD232より引用)

 この結果として,転送速度もそのまま倍になる。たとえばの話だが,「GeForce GTX 980 Ti」はメモリインタフェースが384bitで,メモリの実クロックが1753MHzなので,メモリバス帯域幅は約336GB/sとなるが,これを仮にGDDR5Xに置き換えたとすれば,約673GB/s相当になる計算だ。

 さて,信号の転送速度を倍増させることそのものは難しくないが,メモリチップを同じように倍速で駆動させるのは無理がある。唯一可能性があるのは,バンクの数を倍にすることだ。これは,「プリフェッチ」の数として知られている。プリフェッチとは何かは後段で説明するが,GDDRの場合は表2のようになる。

表2 GDDRメモリのプリフェッチ数
GDDR(GDDR1) 2nプリフェッチ
GDDR2 4nプリフェッチ
GDDR3 4nプリフェッチ
GDDR4 8nプリフェッチ
GDDR5 8nプリフェッチ×2
GDDR5X 16nプリフェッチ×2

 「8nプリフェッチ」というのは,あるアドレスに対してリクエストを出すと,そこから「8つ分の連続したアドレスにあるデータ」が返されるという仕組みを示す。メモリの内部的には,連続した8つのメモリセルにまとめてリクエストを出し,これを受け取ったらまとめて送り出すという動作になる。
 たとえば,GDDR4の世代で信号速度は3.2Gbpsあたりまで到達したが,メモリセルそのものは400MHzで駆動されていた。そこで,8つのセルから同時に読み出して順次送り出すことで,3.2Gbpsの信号速度を実現している。

 この手法は,高速化には有利であるものの,その半面,1回のリクエストでまとめて送り出されるデータ量が増えるというデメリットもある。8nプリフェッチの場合,1回のリクエストで32byte分(256bit)が読み出される計算になるが,GDDR5の世代では問題になった。メモリセルの動作速度を考えると,16nプリフェッチにしたいのだが,そうすると1回のリクエストで読み出されるデータ量は64byte(512bit)になり,少々大きすぎるのだ。
 そこでGDDR5では,アドレスを2つ指定して,おのおのが8nプリフェッチで動作するという「8nプリフェッチ×2」方式を実装した。一方,GDDR5Xでは,さすがに8nプリフェッチを継続するのは無理があったのか,「16nプリフェッチ×2」となっている。つまり,1回アドレスを指定すると,64byte分の塊がやってくることになったわけだ。

 ところが,GPUの内部構成を考えると,16nプリフェッチはちょっと難しい問題をはらむ。従来のGPUコアは,いずれも32byteのアクセス単位でアクセスを最適化しているからだ。ところが,GDDR5Xが16nプリフェッチを採用すると,今度は64byteがまとめてやってくることになる。
 たとえば,図1のように,各シェーダグループ(NVIDIAがいうところのSM,またはSMX,AMDでいうならCU)が32byte単位でメモリからデータを読むリクエストを出した場合,GDDR5ならばそのまま32byte単位で取り込まれる。ところがGDDR5Xになると,図2のように要求した領域の続いた32byte分,計64byte分がまとめて読み出されるのだ。

画像集 No.005のサムネイル画像 / 次世代GPU向けの新メモリ「GDDR5X」は,今までと何が違うのか? 改良点を仕様書から読み解いてみた
図1:8nプリフェッチの場合,シェーダグループが32byte分のデータを要求すると,32byteが読み込まれる
画像集 No.006のサムネイル画像 / 次世代GPU向けの新メモリ「GDDR5X」は,今までと何が違うのか? 改良点を仕様書から読み解いてみた
図2:16nプリフェッチの場合,シェーダグループが32byte分しか必要としなくても,64byte分が読み込まれる

 もちろん,シェーダグループがもっと大きな単位,たとえば64byteや128byte,256byteといった単位でアクセスしているのであれば,読み込んだデータも無駄にならないのだが,逆に32byte単位でのランダムアクセスなどでは,転送したデータの半分が無駄になってしまう。これでは,せっかくメモリ帯域幅を倍増させても,実効メモリ帯域幅は半分に落ちてしまうことになる。つまり,GDDR5Xを効率よく活用するには,GPU側の対応が必要になる部分もあるわけだ。


GDDR5Xはパッケージサイズが小さくなり,ピン数は20ピン増える


 次の相違点である容量は,メモリ増量の要求に応じてという面もあるだろうが,そもそもGDDR5Xは,GDDR5メモリチップ2つをパッケージ内部でインタリーブさせたような構成になるので,容量が倍になるのは必然であった。
 ただ,1チップで16Gbit(=2GB)という構成が用意されるので,メモリバス幅256bitの場合,8チップを使った片面実装のグラフィックスカードで最大16GB,16チップによる両面実装では最大32GBという,非常に大容量のメモリを搭載するグラフィックスカードを構成できる。仮に,第2世代Maxwellアーキテクチャである「GM200」のような384bitのメモリバス幅だと,メモリ搭載量は片面で24GB,両面だと48GBに達するのだ。
 ちなみに,GDDR5Xの最小は4Gbit(0.5GB)なので,256bit幅の片面実装で4GBという計算になる。GDDR5Xを利用するグラフィックスカードのメモリ搭載量の下限は,おそらくこのあたりになるだろう。

 4つめの相違点がパッケージである。容量が増えたにも関わらず,パッケージサイズそのものは,GDDR5XのほうがGDDR5よりも,わずかに小型化されていたりする。

  • GDDR5:12×14×1.1mm
  • GDDR5X:10×14×1.1mm

 ただ,先述したとおり,端子となるボールのピン数は,GDDR5が170であるのに対して,GDDR5Xは190と,20ピンほど増えた。そのため,ピン同士の間隔はGDDR5が0.8mmなのに対して,GDDR5Xは0.65mmまで狭くなっている。また,ピンの高さも変わっており,GDDR5が0.35mm±0.05mmとなっているのに対して,GDDR5Xは最低0.21mm以上と,若干小さくなった。つまり,GDDR5とGDDR5Xでは,メモリチップの配線はまったく互換性がないというわけだ。

 ちなみに,メモリチップのピンレイアウトも当然大きく変わっている。下に掲載した画像2がGDDR5,画像3がGDDR5Xのピンレイアウトだ。大きな違いは,GDDR5だとデータピン(DQxx,濃い緑色の部分)を横方向に分離して,間にGNDを挟む形になっていたのが,GDDR5Xではデータピンをまとめて,外側(1,2,13,14列)にVSS(グランド)やVDD(DRAMセル用電源)を集めているあたりだろうか。
 ちなみに,追加された20ピンのほとんどが,VDDとVDDQ(信号用電源),VPP(ポンプアップ用電源)なのは興味深いところだ。

画像集 No.007のサムネイル画像 / 次世代GPU向けの新メモリ「GDDR5X」は,今までと何が違うのか? 改良点を仕様書から読み解いてみた
画像2:GDDR5のピンレイアウト(JESD212より引用)
画像集 No.008のサムネイル画像 / 次世代GPU向けの新メモリ「GDDR5X」は,今までと何が違うのか? 改良点を仕様書から読み解いてみた
画像3:GDDR5Xのピンレイアウト(JESD232より引用)

 パッケージとは直接関係ないが,GDDR5Xでひょっとすると面倒な問題になるかもしれないのが,配線である。画像4はGDDR5の,画像5はGDDR5Xの推奨配線レイアウト例だ。GDDR5Xの例が少ないのは,いろいろ複雑な構成を考慮する必要がないから少ないというだけの理由であるが,面倒なのは片面実装(Single Side)と両面実装(Clamshell)の切り替えである。

画像4:GDDR5の推奨配線レイアウト例(JESD212より引用)
画像集 No.009のサムネイル画像 / 次世代GPU向けの新メモリ「GDDR5X」は,今までと何が違うのか? 改良点を仕様書から読み解いてみた

画像5:GDDR5Xの推奨配線レイアウト例(JESD232より引用)
画像集 No.010のサムネイル画像 / 次世代GPU向けの新メモリ「GDDR5X」は,今までと何が違うのか? 改良点を仕様書から読み解いてみた

図3:一般的なGDDR5搭載グラフィックスカードの基板における配線
画像集 No.011のサムネイル画像 / 次世代GPU向けの新メモリ「GDDR5X」は,今までと何が違うのか? 改良点を仕様書から読み解いてみた
 GDDR5を利用するグラフィックスカードの基板は,図3のような構成になっているものが多い。データ線(DQ ×16)の半分は表側(図上側)のメモリチップにつながっているが,残りの半分は基板の両面につながるスタブ状になっているのだ(黄色の破線で囲んだ部分)。
 メモリチップを表側だけに配置する場合,破線で囲んだ配線は表側にだけつながった状態になる。ここでメモリチップの動作を32bitモードにすると,すべてのデータ線は表側のメモリチップと信号をやり取りする。一方で,両面に実装する場合,破線で囲んだ配線は,表裏両面のメモリチップにつながった状態になってしまう。だが,ここでメモリチップを16bitモードで動作させると,表側につながった配線にはデータが流れないようになり,裏側のメモリチップにだけ流れるようになるのである。
 これにより,同じ基板を使いながら,たとえば4GBと8GBとか,6GBと12GBというように,メモリ搭載量の異なるグラフィックスカードを製造することが可能になるというわけだ。

 問題は,GDDR5Xのように信号が高速化した場合,黄色の破線で囲まれた構造が許されるかどうかである。実はGDDR5世代でも,データ線にこうした分岐は“作るべきではない”のだが,やったら動いたので製品でも採用したというのが実情だ。はたしてこれがGDDR5Xでも同じように動くかどうか,ちょっと微妙なところである。
 もしこれが駄目な場合は,片面実装と両面実装で異なる基板を使うか,もしくは途中に信号のスイッチを入れて分岐させるかになるだろう。ただ,さすがにスイッチを使うのは非現実的と思われるので,実際に製品化するとなったら,片面実装と両面実装で基板を変えることになるのではないかと思う。


GDDR5Xの懸念は消費電力増とコスト


 さて,ここまでがGDDR5Xの仕様書に書かれている特徴となる。ここからは,仕様書に書かれていない話を少し取り上げて,本稿を締めくくりたいと思う。

 まずは消費電力の問題だ。信号速度を倍にするという時点で,GDDR5Xでは,間違いなく通信に要する電力が倍以上に増える。また,16nプリフェッチ×2方式を採用することで,DRAMセルの中でアクティブになる領域もざっくり倍に増えることになり,ここでの消費電力も倍近い(※静的な消費電力は容量に依存する)。トータルすると,GDDR5Xでは消費電力がおおむね2倍近く増える,という問題が生じるわけだ。
 こうなると,「GDDR5Xには,HBMに対する優位性がある」とMicronが主張するとおりになるかどうか,ちょっと微妙なところになる。HBMは,バス幅を広げて(1024bit),その代わり転送速度は控えめ(HBM1が500MHz DDR,HBM2は1GHz DDR)にしており,消費電力あたりのメモリ帯域幅という観点では,GDDR5Xよりも有利と考えられるためだ。HBMでは,メモリチップ側にもコントローラが必要になるので,その分だけ消費電力は増えるが,それを加味しても,HBMのほうがやや有利と思われる。この要素は,とくに車載機器のように発熱への要求が厳しいシーンでの採用には,ややネガティブな要素だろう。

 価格も微妙な問題だ。基本的にメモリ容量で決まるのは間違いないが,GDDR5メモリと比べて,GDDR5Xメモリには若干のプレミア価格が付くのも間違いない。Micronは,「HBM2よりも価格面で有利」とアピールする試算を示しているが,メモリ帯域幅あたりの価格という観点では,やや怪しいところである。
 加えて,GPU側に10Gbpsを超えるGDDR5X対応メモリコントローラを搭載しなければならないという点もネックといえよう。一応,Rambusが2011年に,12.8Gbpsのシングルエンド信号に対応したメモリコントローラIPの動作デモを披露しているので,これを利用すればGDDR5Xへの対応は可能になる。だが逆に言えば,メモリコントローラをすべて,こうしたものに入れ替えなければいけないという話でもあるので,それなりの追加コストがかかってしまう。

 NVIDIAは,次世代GPUである「Pascal」世代で,ハイエンドにHBM2,ミドルレンジはGDDR5Xを採用するという話になっているのだが,具体的なスペックや採用するメモリのスペックなどは,まだ公表されていない。ただ,Micronはメモリの型番説明書にGDDR5Xを追加済みであるわけで,量産準備を整えているのは間違いないところだ。早ければ2016年の前半にも,GDDR5Xを採用するグラフィックスカードを目にすることができるかもしれない。

JEDECによるGDDR5Xのプレスリリース(英語)


  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:03月18日〜03月19日