福田昭のセミコン業界最前線
次世代ハイエンドDRAM「DDR4」の全貌
(2013/3/4 00:00)
米国の業界団体JEDECは10年ほど前から、DDR3タイプDRAM(DDR3 DRAM)の次世代に相当するDRAM(DDR4タイプDRAM)の共通技術仕様を策定してきた。技術仕様は2012年にまとまり、9月には標準規格「JESD79-4」として一般に公開された。現在では無償で、標準規格の仕様書(PDF形式)をJEDECのWebサイトから入手できる。
この仕様書は全体で214ページもあり、全文を読破するにはかなりの時間がかかる。また仕様書だけでは、重要なポイントとそうでもないポイントの強弱を読み取ることが簡単ではない。そこでJEDECは、DDR4 DRAMの全体像を解説するワークショップ「JEDEC DDR4 Workshop」を2013年2月6日~7日(現地時間)に米国カリフォルニア州サンタクララで開催した。
DDR4 DRAMは2013年中にはサーバーへの搭載が始まり、2014年にはサーバー用DRAMの主力仕様になると期待されている。JEDECのチェアマンを務めるMian Quddus氏は2月6日のワークショップで始めに挨拶し、2014年に出荷されるサーバーの5割がDDR4 DRAMを搭載可能、3割がDDR3 DRAMとDDR4 DRAMの両方を搭載可能、2割がDDR3 DRAMを搭載可能になるとの予測を述べていた。
DDR3タイプの2倍のデータ転送速度を達成へ
DDR世代のDRAMはこれまで、各世代ごとに最大データ転送速度(バンド幅)を2倍に増やしてきた。DDR4世代ではDDR3世代の2倍のデータ転送速度を実現する。入出力ピン当たりの速度では、DDR4世代は2,133Mbps、2,400Mbps、2,666Mbps、3,200Mbpsをカバーする計画である。当初は2,133Mbpsと2,400MbpsのDDR4 DRAMチップが製品化される。DRAMモジュール(DIMM:Dual In-line Memory Module)では17GB/secと19.2GB/secの最大データ転送速度となる。
電源電圧は1.2Vと2.5Vの2種類が必要に
DDR4世代とDDR3世代ではデータ転送速度のほか、電源電圧、終端方式、DIMM形状などが違うほか、DDR4世代では数多くの新しい機能が追加されている。一方でプリフェッチのビット数やDRAMパッケージのフォームファクタなどは変わらない。
例えば電源電圧はDDR3がコア部1.5V、入出力部1.5Vであったのに対し、DDR4ではコア部1.2V、入出力部1.2Vと下がる。電源電圧を下げるのは、消費電力の増大を抑えるためである。ただし許容される電源電圧の変動幅は±5%と変わらないので、変動幅の絶対値では電源回路に対する制約が、より厳しくなったとも言える。
電源電圧では、2.5Vの電源電圧を別に供給することがDDR4世代での大きな違いだ。DDR3世代まではデータ書き込みを高速化するためにワード線電圧を内部昇圧していたのだが、昇圧回路によるシリコン面積の増加と消費電力の増加が無視できなくなった。仮に1.2Vから2.5Vを昇圧回路によって得るとすると、シリコンダイ面積で2%~4%の増加になるという。また昇圧回路の効率は10%程度と低く、無駄な消費電力が生じる。DDR4タイプでは2.5Vの電源を別に供給することで、DRAMシリコンダイ内部の昇圧回路を省いた。ただしユーザーから見ると外部の電源回路が複雑になり、メモリサブシステム全体としてはコストが上昇する可能性がある。あまり有り難くない仕様変更とも言える。
データ線の終端方式はDDR3世代ではCTT(Center Tapped Termination)だったのが、DDR4世代ではPOD(Pseudo Open Drain)となる。PODはデータ線の論理値が「低(またはゼロ)」のときだけ、入出力バッファが電流を消費する。このため、CTTに比べると消費電流が低くて済む。また、「DBI(Data Bus Inversion)」と呼ぶ機能の導入によって論理値が低のデータピンを全体の半分以下に抑え、消費電流をさらに減らせるようになっている。
接地を大幅に強化したメモリモジュール
DRAMモジュールは、標準のDIMMと小型のSO-DIMMに分けて説明しよう。まず標準のDIMMについて解説する。DDR3世代とDDR4世代の大きな違いは、接地の大幅な強化にある。DDR3のモジュールでは信号ピン2本に対して接地ピン1本を割り当てていたのだが、DDR4のモジュールでは信号ピン1本に対して接地ピン1本を割り当てる。このためモジュール全体のピン数がDDR3の240ピンからDDR4では284ピンに増加した。ただしモジュールの長さは、DDR3とDDR4ともに133.35mmで変わらない。ピンのピッチをDDR3の1.0mmから、DDR4では0.8mmに詰めたためである。
そのほかDDR4世代ではモジュール基板の高さがわずかに増えている。ピン数の増加によってモジュール基板の配線の密度が上がり、引き回しに必要な高さが増えたためとみられる。またモジュール基板のエッジには、わずかな傾斜が付けられた。モジュールをソケットに挿入するときに必要な力を軽くするためである。
小型メモリモジュールのSO-DIMMでも、標準のDIMMと同様に接地を大幅に強化した。信号ピン1本に対して接地ピン1本を割り当てることで、ピン数をDDR3の204ピンから、DDR4では256ピンに増やした。ピンのピッチはDDR3の0.6mmから、DDR4では0.5mmに狭められた。このほかSO-DIMMでもエラー訂正(ECC)をサポートすることが必須となった。
バンクグループの切り換えで転送速度を向上
DDR世代のSDRAMは、DDR3世代まではあらかじめ読み込む(プリフェッチする)データを増やすことで、世代ごとにデータ転送速度の最大値を高めてきた。このプリフェッチビットは、DDRが2bit、DDR2が4bit、DDR3が8bitだった。
この伝統に則れば、DDR4では16bitプリフェッチを採用することになる。しかし実際にはDDR3と同じ8bitプリフェッチを採用した。16bitプリフェッチを導入するとデータバッファのシリコンダイ面積がさらに増える。これを嫌った。その代わりに、「バンクグループ(Bank Group)」という考え方を導入してデータ転送速度を高めた。
DDR3 DRAMではメモリセルアレイを8個のメモリバンクに分割しており、すべてのメモリバンクが1つの入出力バッファにつながっていた。DDR4 DRAMではメモリセルアレイを16個のメモリバンクに分割し、4個のメモリバンクを1個のバンクグループにまとめた。そして入出力バッファを4個のローカルバッファと1個のグローバルバッファの2階層構成とし、各バンクグループを個別にローカルバッファに接続した。4個のローカルバッファが1個のグローバルバッファにつながり、データとして入出力される。そして異なるバンクグループに連続してアクセスすることで、データ転送速度の最大値をDDR3の2倍に高めた。
多用途レジスタで使い勝手を高める
DDR4 DRAMで追加された機能は20を超える。追加された機能には、消費電力を低減するための機能、データ転送の信頼性を維持するための機能、アクセス性能を高めるための機能、信号品質を向上させる機能などがある。すべてを紹介することは難しいので、ここからは主な追加機能を解説しよう。
最も大きな新機能は、「多用途レジスタ(MPR:Multi Purpose Register)」の導入だろう。DRAMコントローラの設計を容易にするために設けられた機能で、ページ0~ページ3までの4種類のMPRがある。各ページは4個の8bitレジスタで構成されているので、全体では16個の8bitレジスタが用意されている。MPRを読み書きするときはDRAMコントローラから、メモリセルアレイにアクセスするのではなく、アクセス先をMPRに切り換える。
MPRはページの違いに応じ、4種類の用途が存在する。1)ページ0:データパターンの格納、2)ページ1:エラーログの格納、3)ページ2:モードレジスタの内容、4)ページ3:DRAMメーカーだけが自由に使える領域、である。
さらに詳しく見ていこう。「ページ0」はトレーニング用のデータパターンである。ここでトレーニングとは、DRAM側でのデータ入出力のタイミングがバス内で一致するように、メモリコントローラ側でタイミングを調整する作業を指す。ページ0のレジスタには初めはデフォルト値が入っており、DRAMコントローラが後からレジスタの値を書き換えられる。
「ページ1」は、エラーログが格納されている。DRAMコントローラからは読み出しだけが可能なレジスタである。アドレス値やエラーのステータスなどが格納されている。
「ページ2」は、「モードレジスタ(MR:Mode Register)」の内容が格納されている。DDR4タイプのSDRAMは「MR0」~「MR6」までの7種類のモードレジスタを装備しており、DRAMコントローラがモードレジスタの内容を書き換えられる。なおMRの内容書き換えには「MRS(Mode Resister Set)コマンド」と呼ぶコマンドを使う。モードレジスタとは違い、MPRのページ2の内容はDRAMコントローラからは書き換えられない。読み出しだけが可能である。
「ページ3」は、DRAMメーカーだけが使える領域である。DRAMコントローラからは読み出しだけが可能で、ユーザーが使うことはできない。
CRC符号で書き込みデータの誤りを検出
DDR4 DRAMのような超高速メモリになると、DRAMコントローラとDRAMの間でちょっとしたノイズの混入によって信号の論理値が変わりかねない。そこでデータ信号やコマンド信号/アドレス信号などを伝送するときに誤りの発生を検出する機能をDDR4では追加している。
例えばデータ信号の書き込みでは、書き込みデータとともに巡回冗長検査(CRC:Cyclic Redundancy Check)符号を送る機能「Write Data CRC」を設けた。DRAMコントローラで書き込みデータからCRC符号を生成し、書き込みデータとCRC符号をまとめてDRAMに送る。DRAMでは書き込みデータからCRC符号を生成し、DRAMコントローラから送られてきたCRC符号の値と比較する。両者に違いがあった場合は、DRAMはエラー発生のフラグをDRAMコントローラに送信する。
CRC符号の長さは8bitで、DBIを含めた72bitの書き込みデータから8bitのCRC符号を生成する。CRC符号の生成には272個の2入力XOR論理ゲートを使う。論理段数は6段で、かなり深い。当然ながら「Write Data CRC」を使うと書き込みのスループットは低下する。
誤り検出符号で最も簡便かつ高速で一般的なのは1bitのパリティ符号だが、2bit以上の誤りが発生したときに検出できなくなるという弱点がある。CRC符号は2bit誤りでも検出するし、奇数bitの誤りは2bit以上でも検出するので、パリティ符号よりも複雑なものの、誤りの検出範囲が広い。
コマンドとアドレスにはパリティを付加
コマンド信号とアドレス信号に関しては、パリティビットを付加することで誤りを検出する機能「C/A Parity」を用意した。具体的にはDRAMコントローラで偶数パリティを生成し、パリティビットをコマンド信号/アドレス信号と並列にDRAMへ送信する。DDR4 DRAMではこのため、パリティ専用ピン「PAR」が設けられている。DRAMは受信したコマンド信号/アドレス信号からパリティビットを生成し、受信したパリティビットの値と比較する。誤りを検出したときは「Alert_n」ピンの出力が「低」に下がり、DRAMコントローラに誤りの発生を伝える。
複数のシリコンダイを積層して大容量化
このほかDDR4 DRAMの標準規格で検討されているのが、「3DS」と呼ぶ、シリコンダイを3次元に積層する技術の共通仕様である。
シリコンダイを2枚重ねあるいは4枚重ねで1個のパッケージに封入する技術そのものは、特に珍しくはない。NANDフラッシュメモリでは、シリコンダイ積層技術がごく普通に使われている。ほかにはNANDフラッシュメモリとDRAMのシリコンダイを積層したり、モバイル機器用プロセッサとモバイルDRAMのシリコンダイを積層したりした半導体製品も少なくない。DRAMでも2枚のシリコンダイを積層して記憶容量を増やした製品が以前から存在する。
こういった既存のシリコンダイ積層技術は、シリコンダイの電極とパッケージの電極を並行に接続してある。パッケージの1個の電極から、複数のワイヤーが伸びて各シリコンダイの対応する電極とつながっている。
このワイヤー接続によるシリコンダイ積層技術は、低いコストで大容量が得られる。一方、ワイヤーの本数増によって寄生インダクタンスと寄生キャパシタンスが大きくなり、消費電力が増大するとともに信号品質が劣化するという問題を抱える。なお2枚のシリコンダイを積層した製品はDDP(Dual Die Package)、4枚のシリコンダイを積層した製品はQDP(Quad Die Package)と呼ばれることもある。
マスタースレーブ方式で低消費と高速を実現
DDR4のような超高速メモリでは、DDPあるいはQDPのような既存のシリコンダイ積層技術では寄生素子の増大によって高速化に対応できない可能性がある。そこで、寄生インダクタンスと寄生キャパシタンスが小さく、低消費電力で高速化に適したシリコンダイ積層技術の仕様「3DS」が考案された。
「3DS」では複数のシリコンダイの中で、1枚がマスターのシリコンダイとなり、残りがスレーブのシリコンダイとなる。マスターのシリコンダイだけがパッケージの電極と接続し、外部とつながる。このためパッケージの外から見ると、寄生素子はシングルダイのパッケージとまったく変わらない。言い換えると、マスターダイは外部とのインターフェイスロジックを搭載しているのに対し、スレーブダイはシリコンダイ間を接続する回路だけを備える。つまり、マスターとスレーブは異なるシリコンになる。この点は、同じシリコンを重ねる既存の積層技術とまったく違う。
今のところ「3DS」として想定されているのは、最大で8枚、そのほかに4枚または2枚のDRAMシリコンダイを重ねた仕様である。最下層のDRAMダイがマスターとなり、その上に重ねたDRAMダイがスレーブとなる。あるいは、マスターDRAMダイの代わりにインターフェイスとなるロジックのシリコンダイを最下層に配置し、その上に複数のDRAMダイを重ねる仕様も考えられている。
積み重ねたシリコンダイ同士を接続する技術には、シリコン貫通ビア(TSV:Through Silicon Via)技術が想定されている。TSV技術とはシリコンダイを貫通する孔を開けて柱状の金属電極(普通は銅電極)を埋め込み、シリコンダイの表と裏を電気的に接続する技術。既存のワイヤー接続に比べると、はるかに高密度で高速かつ低消費電力のパッケージ内部接続技術である。
「3DS」が製品化されて市場に普及するかどうかは、不透明な部分が残る。最大の敵はコストの増加だ。マスターDRAMとスレーブDRAMの作り分けはシリコンダイの製造コストを増加させる。インターフェイスロジックにしても同様である。3DS専用のDRAMコントローラが必要なことも、コストの増大要因になる。さらに、TSV接続によるコスト増がどのくらいになるのかが分からない。TSV接続技術のコストが、既存のワイヤー接続技術に比べて高くつくことは間違いない。コストの低い技術が常に主流となってきたDRAMの歴史を振り返ると、低コスト最優先の価値観が変わらない限り、「3DS」はDRAMに普及しないようにも思える。このあたりは行方を見守っていきたい。