福田昭のセミコン業界最前線
次世代のサーバー/ハイエンドPC向けDRAM「DDR5メモリ」
2017年8月23日 12:24
米国の半導体標準規格策定を目的とする業界団体JEDECは、次世代のサーバー/ハイエンドPCに向けたDRAM「DDR5 DRAM」の技術仕様を策定中である。この策定作業は、来年(2018年)には完了させる予定だ。実際に製品が登場するのは、2020年頃になるとみられる。
DDR5 DRAMは、現行のサーバー/ハイエンドPC向けDRAM「DDR4 DRAM」と比べ、2倍の最大データ転送速度(バンド幅)を実現する。
具体的には、DDR4 DRAMが入出力ピン当たりで1,600MT/s~3,200MT/s(あるいは1,600Mbps~3,200Mbps)をカバーするのに対し、DDR5 DRAMは入出力ピン当たりで3,200MT/s~6,400MT/s(あるいは3,200Mbps~6,400Mbps)をカバーする予定である。64bit幅のDRAMモジュール(DIMM:Dual In-line Memory Module)では、25.6GB/s~51.2GB/sの最大データ転送速度となる。
シリコンダイ当たりの記憶容量は4倍に拡大
DDR5 DRAMの技術仕様では、DRAMの微細化と高密度化のトレンドに合わせ、シリコンダイ当たりの記憶容量が増加し、8Gbit~64Gbitとなる。現行のDDR4 DRAMではシリコンダイ当たりの記憶容量を、2Gbit~16Gbitとしていた。DDR5の記憶容量は、DDR4の4倍に拡大する。入出力バスの幅は4bitあるいは8bit、16bitである。このバス幅はDDR4と変わらない。
データ転送速度の向上に伴う消費電力の増加を抑えるため、電源電圧はさらに下がる。DDR4ではコア電圧と入出力電圧がともに1.2Vだった。DDR5ではこれが、ともに1.1Vとなる。電源電圧の低減比率は前の世代に比べて8.3%と、かなり狭くなってきた。電源電圧を下げる余地はもう、ほとんどないことがうかがえる。
データをプリフェッチするビット数は、DDR4の8bitプリフェッチから、DDR5ではバンド幅拡大を目的に16bitプリフェッチに倍増する。さらに、メモリバンクのバンクグループ数を、DDR4の4グループからDDR5では8グループと、これも倍増することでバンド幅の拡大をねらう。これらの変更によって、最大データ転送速度の向上を図っている。
複数のメモリバンクをまとめるバンクグループは、DDR4から導入された要素技術だ。入出力バッファをバンクグループごとのローカルバッファと、すべてのローカルバッファとつながるグローバルバッファの2階層構成にしてある。異なるバンクグループに連続してアクセスすることで、データ転送速度を高められる。
メモリバンクの数は、DDR5では16バンクあるいは32バンクとなる。DDR4では16バンクのみだった。DDR5はバンクグループが8個あるので、各グループが内蔵するメモリバンクは2バンクあるいは4バンクとなる。DDR4では各グループが内蔵するメモリバンクは4バンクで固定だった。メモリバンク1個当たりの記憶容量はDDR5が最大2Gbit、DDR4が最大1Gbitで、最大の粒度はDDR5では2倍に増える。
【お詫びと訂正】初出時に「DDR5とDDR4のメモリバンク1個当たりの記憶容量は最大1Gbitで、最大の粒度は変わらない」としておりましたが、正しくは「メモリバンク1個当たりの記憶容量はDDR5が最大2Gbit、DDR4が最大1Gbitで、最大の粒度はDDR5では2倍に増える」となります
列(カラム)、バンクグループ、3DSのアドレッシングが1bitずつ増加
前述のように、DDR5では最大の記憶容量が4倍に拡大する。これは、メモリアドレスを指定する行(ロウ)アドレスと列(カラム)アドレスのどちらかが増えることを意味する。DDR5では列アドレスが最大で11bit(入出力幅が4bitのシリコンダイの場合)となり、DDR4の最大10bitから増える。
【お詫びと訂正】初出時に「DDR5では最大の記憶容量が2倍に拡大する」としておりましたが、4倍の誤りです。お詫びして訂正させていただきます。
またバンクグループの数がDDR5では8グループとなり、DDR4の4グループから増えた。このため、バンクグループを指定するアドレスは3bitとなり、DDR4の2bitから増えている。
それからDDR5メモリでは、シリコンダイを3次元積層(3DS)する枚数が最大16枚となり、DDR4メモリの最大8枚から倍増する。このため、3DSでのアドレスも1bit増える。
コマンド入力の適用拡大でパッケージのピン数を削減
アドレッシングの増加は、単純にはパッケージの入出力ピン数の増加をもたらす。入出力ピン数の増加は、パッケージの外形寸法の拡大、すなわち実装占有面積の拡大を意味する。あまり好ましいことではない。
そこでDDR5 DRAMでは、いくつかの工夫によってパッケージのピンを削減した。たとえば先程の3次元積層(3DS)用アドレスの増加では、行(ロウ)アドレスの17番ピン(R17ピン)と3DSアドレスの3番ピン(CID3ピン)を共用することによって、ピン数の増加を抑えている。
このほか、オンダイ終端ステート(ODTステート)用のODTピンと、クロックイネーブル用のCKEピンをDDR5メモリでは削除した。ODTステートへはコマンド入力で移行する。
CKEピンは、パワーダウンモードと自己リフレッシュ(セルフリフレッシュ)モードへの移行に使われていた。DDR5メモリでは、パワーダウンモードへの移行と脱出のいずれもがコマンド入力によって実行される。
自己リフレッシュモードへの移行はコマンド入力ベースである。自己リフレッシュモードを脱出するときはコマンドベースではなく、チップセレクトピン(CSピン)を低レベルから高レベルに遷移させる(自己リフレッシュモードを維持するときはCSピンを低レベルにホールドしておく)。
2クロックサイクルのコマンド入力
なお、コマンド入力による制御はDDR4メモリでも多用されていた。DDR5メモリでは前述のパワーダウンや自己リフレッシュなどの新しいコマンドを追加するほかに、コマンド入力のタイミング制御を変更する。
具体的には、1クロックサイクルでコマンドを入力する「シングルサイクルコマンド(Single Cycle Commands)」と、2クロックサイクルでコマンドを入力する「2サイクルコマンド(Two Cycle Commands)」に分けた。
「2サイクルコマンド」の追加は、コマンド入力に必要な情報が増えたため、一部のコマンドは1クロックですべての情報を入力することが不可能になったからだ。たとえば基本動作である書き込み(ライト)と読み出し(リード)はいずれも、2サイクルコマンドである。また2サイクルコマンドの設置は、将来の追加コマンドに備えるという意味合いもある。
リフレッシュに伴うアクセスペナルティを減らす
DRAMに特有の動作に、「リフレッシュ」がある。DRAMはメモリセルのキャパシタに信号電荷を蓄積している。ただしリーク電流によって時間経過とともに信号電荷がかなりの速さで減少していく。そこで一定の時間が経過する度に、すべてのキャパシタに信号電荷を再び書き込んでいる。この再書き込み動作をリフレッシュと呼ぶ。
リフレッシュはDRAMに必須の動作なのだが、大きな問題点が2つある。1つは、リフレッシュ中のメモリセルに対しては、データの読み書きができないことである。このため、場合によっては、アクセス時間(レイテンシ)が伸びてしまう。もう1つは、リフレッシュは待機時の消費電力を増やすことである。また同時に数多くのメモリセルに対してリフレッシュをかけると、瞬間的に消費電流が増大して電源電圧が低下する恐れがある。
リフレッシュ動作を決めるパラメータはおもに2つで、1つはリフレッシュ動作の間隔を示すリフレッシュインターバル時間(tREFi)、もう1つはリフレッシュ動作自体の期間を示すリフレッシュサイクル時間(tRFC)である。リフレッシュインターバル時間は、長いことが望ましい。待機時の消費電流が下がるからだ。そしてリフレッシュサイクル時間は、短いことが望ましい。平均的なアクセスペナルティが下がるからだ。
DDR5メモリでは、記憶容量がDDR4メモリよりも大きくなる。記憶容量の拡大は、リフレッシュサイクル時間の増大を意味する。すなわち、平均的なアクセスペナルティが悪化する。
アクセスペナルティを減らすには、リフレッシュサイクル時間(tRFC)を短くする。つまり、1回にリフレッシュをかける記憶容量を小さくする。DDR5メモリでは、メモリバンクグループで同じ番号のバンク(バンク0~バンク3のどれか)に対してだけリフレッシュをかけるモード「同一バンクリフレッシュ(Refresh Same Bank)」を設けることで、リフレッシュサイクル時間を4分の1の減らせるようにしている。
DDR5メモリではほかに、リフレッシュインターバル時間(tREFi)を短くすることで、リフレッシュサイクル時間(tRFC)を短くするモード「ファイングレインリフレッシュ(Fine Grain Refresh)」も用意している。これはDDR4メモリで導入済みのモードだ。tREFiが短くなると、キャパシタ信号電荷がリークによって失われる割り合いが少なくなる。したがってキャパシタの電荷を充電するための時間が減少し、tRFCを短くできる。ただし、待機時の消費電力は増加する可能性がある。
誤り訂正(ECC)機能をシリコンダイに載せる
DDR5メモリの信頼性を維持するための大きな変化に、1bitの誤り訂正(ECC)機能をシリコンダイに載せることがある。DDR4メモリまでは、ECC機能はメモリコントローラに搭載しており、DRAMシリコンダイにはECC機能を載せていなかった。しかしDDR5世代では、シリコンダイ面積の増加を承知のうえで、オンダイECCを実装する。
オンダイECCを実装する大きな理由は、リフレッシュインターバルにおける不良ビットの発生増大である。20nm世代の微細加工技術が主力であるDDR4世代に比べ、1Xnm~1Ynm世代が主力となるDDR5世代では、リフレッシュインターバルにおける蓄積信号電荷の消失によって発生する不良ビットの数が増え、無視できなくなる。電荷の消失によってビットが反転すると、リフレッシュ動作による再書き込みでは救済できない。これをECCの採用によって緩和する。
同じパターンのデータ書き込みを自動的に繰り返す
DDR5メモリで追加する新しい機能の説明を続けよう。データの書き込みでは、同じパターンのデータの書き込みを自動的に繰り返すモードを追加する予定である。このモードの名称は未定であり、まだ詳細は決まっていない。
このモードによる利点は明らかだ。まず、消費電力が減る。メモリコントローラは、同じパターンのデータを繰り返し送信する必要がない。つまり、コントローラ側ではデータ送信の消費電力がなくなり、DRAM側ではデータ受信とデータバスの消費電力がなくなる。DRAM内部のデータバッファに保存してあるパターンデータをメモリセルアレイに書き込むだけである。
さらに、メモリコントローラが解放されるので、別の動作に移行できる。すなわち、メモリサブシステムの性能が向上する。
DRAM内のすべてのデータをゼロに書き戻す
またDDR5メモリでは、DRAM内のすべてのビットをゼロに書き戻すモード「ファストゼロモード(Fast Zero Mode)」を追加する。メモリセルアレイに格納してあるビットのすべてをゼロにする必要があるのは、たとえば初期化(イニシャライズ)である。DRAMとコントローラの間で微妙なタイミングを調整する「トレーニング」では、あらかじめ初期化を実行する。
「ファストゼロモード」を利用すると、DRAMに大量のデータを一気に送る工程が省ける。消費電力が減るとともに、大量のデータ書き込みによる電源電圧低下の心配、すなわち書き込み不良発生の恐れがなくなる。「ファストゼロモード」の所要時間は数msで、書き戻しが完了すると、コントローラに作業完了を通知する仕様となっている。
受信回路には信号の整形回路を搭載
このほか、DRAMシリコンダイの受信回路に、信号の整形回路を搭載することが予定されている。整形回路には、判定帰還型等化器(DFE :Decision Feedback Equalizer)を使う。
入出力ピン当たりのデータ転送速度が3,200Mbpsを超えるようになると、転送するデータ信号のパルスが後続の信号パルスに干渉する「シンボル間干渉(ISI:Inter Symbol Interference)」が相当悪化する。このため、DRAMパッケージのピン(ボール端子)に到達する信号は、かなりの歪みを抱えることになる。そこで歪みを整形する回路が必要となってくる。整形アルゴリズムにDFEを選択したのは、挿入損失が低くて雑音が増えないからだとする。
DDR5メモリの技術仕様は、まだ本格的には固まっていない。追加機能の詳細には詰められていない部分がある。来年に向けて、熟成を待ちたい。