米国の半導体標準規格策定を目的とする業界団体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倍に増える」となります

コマンド入力の適用拡大でパッケージのピン数を削減 アドレッシングの増加は、単純にはパッケージの入出力ピン数の増加をもたらす。入出力ピン数の増加は、パッケージの外形寸法の拡大、すなわち実装占有面積の拡大を意味する。あまり好ましいことではない。 そこで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を短くできる。ただし、待機時の消費電力は増加する可能性がある。

同じパターンのデータ書き込みを自動的に繰り返す DDR5メモリで追加する新しい機能の説明を続けよう。データの書き込みでは、同じパターンのデータの書き込みを自動的に繰り返すモードを追加する予定である。このモードの名称は未定であり、まだ詳細は決まっていない。 このモードによる利点は明らかだ。まず、消費電力が減る。メモリコントローラは、同じパターンのデータを繰り返し送信する必要がない。つまり、コントローラ側ではデータ送信の消費電力がなくなり、DRAM側ではデータ受信とデータバスの消費電力がなくなる。DRAM内部のデータバッファに保存してあるパターンデータをメモリセルアレイに書き込むだけである。 さらに、メモリコントローラが解放されるので、別の動作に移行できる。すなわち、メモリサブシステムの性能が向上する。

DRAM内のすべてのデータをゼロに書き戻す またDDR5メモリでは、DRAM内のすべてのビットをゼロに書き戻すモード「ファストゼロモード(Fast Zero Mode)」を追加する。メモリセルアレイに格納してあるビットのすべてをゼロにする必要があるのは、たとえば初期化(イニシャライズ)である。DRAMとコントローラの間で微妙なタイミングを調整する「トレーニング」では、あらかじめ初期化を実行する。 「ファストゼロモード」を利用すると、DRAMに大量のデータを一気に送る工程が省ける。消費電力が減るとともに、大量のデータ書き込みによる電源電圧低下の心配、すなわち書き込み不良発生の恐れがなくなる。「ファストゼロモード」の所要時間は数msで、書き戻しが完了すると、コントローラに作業完了を通知する仕様となっている。