福田昭のセミコン業界最前線
次世代のサーバー/ハイエンドPC向けDRAMモジュール「DDR5 DIMM」
2017年9月11日 06:00
米国の半導体標準規格策定を目的とする業界団体JEDECは、次世代のサーバー/ハイエンドPCに向けたDRAMモジュール「DDR5 DIMM(Dual In-line Memory Module)」の技術仕様を策定中である。
既報(次世代のサーバー/ハイエンドPC向けDRAM「DDR5メモリ」参照)のとおり、JEDECは次世代のサーバー/ハイエンドPCに向けたDRAM「DDR5 DRAM」の技術仕様を策定している。DDR5 DIMMは、このDDR5 DRAMを搭載するモジュールである。この策定作業はDRAMチップと同様に、来年(2018年)には完了させる予定だ。実際に製品が登場するのは、2020年頃になると見られる。
3種類のグレードがあるDRAM DIMM
DDR5 DIMMの概要を説明するまえに、標準的なDRAMモジュールであるDRAM DIMM(注: 以降はとくに断らないかぎり、DRAM DIMMを「DIMM」とだけ表記する)についておさらいしておこう。
サーバー/ハイエンドPC 向けのDIMMにはおおよそ、3種類のモジュールが存在する。性能とコストがともに低い側から高い側に並べると、「UDIMM(アンバッファDIMM: Unbuffered DIMM)」、次に「RDIMM(レジスタ付きDIMM: Registered DIMM)」、最後に「LRDIMM(負荷低減DIMM: Load Reduced DIMM)」となる。3種類のグレードがあるとも言える。
UDIMMは基本的には、DIMMボードにはDRAMチップとSPD(Serial Presence Detect)チップ(SPDチップについてはセンチュリーマイクロの嶋野氏の解説記事(メモリモジュールに“SPD”という情報があるのを知っていますか?)が詳しい)しか載っていない。このため、もっともコストが低い。一方で信号波形を整形する仕組みがあまりないので、メモリチャンネルに接続できるDIMMの枚数とランク数、メモリチャンネルのデータ転送速度(帯域幅)は、少なく低くなる。
RDIMMは、DIMMの入出力信号のなかでアドレス(Add)/コマンド(Cmd)信号を「RCD(Register Clock Driver)」と呼ぶICチップでバッファすることで、信号波形をきれいに整形したDIMMである。言い換えると、DIMMボードにはDRAMとSPDのほかに、RCDが載る。RCDの搭載によってDIMMボードのコストは高くなるものの、UDIMMに比べるとメモリチャンネルに接続可能なDIMMの枚数とランク数は増加する。
そしてLRDIMMは、DIMMの入出力信号のなかでアドレス(Add)/コマンド(Cmd)信号だけでなく、データ(Data)信号もバッファすることで信号波形をきれいに整形したDIMMである。言い換えると、DIMMボードにはDRAMチップとSPDチップのほかに、RCDチップとDB(Data Buffer)チップが載る。DIMMボードのコストはもっとも高くなるものの、メモリチャンネル当たりのDIMM枚数とランク数を多くとれ、帯域幅を高く確保しやすい。
電圧レギュレータをDIMMに載せる
DDR4世代のDIMMとDDR5世代のDIMMにおける最大の違いは、電圧レギュレータの搭載だ。DDR4世代までは、メモリコントローラを載せたボード(通常はマザーボード)に電圧レギュレータを載せ、DIMMの複数種類の電源ピンを通じてDRAMに電源電圧を供給していた。
しかしDDR5世代では、従来の手法では安定な電源電圧の供給が困難になる。DDR5 DRAMの技術仕様では、電源電圧の変動幅が±3%に縮まるからだ。DRAMの電源電圧は1.1Vになると決まっているので、許容できる変動幅は±0.033V(33mV)にすぎない。電源電圧の変動を抑えることは、DRAMの入出力データ転送速度を安定に高めるためには、きわめて重要である。
そこでDDR5 DIMMでは、DIMMボードに「PMIC (Power Management IC)」と呼ぶ電圧レギュレータICを搭載し、DRAMに電源を供給する。電圧レギュレータICの搭載は、安定な電源電圧を供給することのほか、DIMMのピン数を節約するという意味もある。
入出力バス幅は80bitに拡大
DIMMボードのピン数は、現行のDDR4世代が片面144ピンずつあり、合計で288ピンだった。次世代のDDR5 DIMMでも、DIMMボードのピン数は変わらない。片面144ピン、両面で288ピンである。
ただし、入出力信号のバス幅とアドレス(Add)/コマンド(Cmd)信号のバス幅は大きく変わる。まず、入出力信号のバス幅はDDR4世代が72bitであるのが、DDR5世代では80bitに増える。具体的には、DDR4世代では64bitの入出力信号に対して8bitのパリティ信号を追加していたのが、DDR5世代では64bitの入出力信号に対して16bitのパリティ信号を付加する。パリティ信号の増加によって誤り訂正能力を強める。
アドレス(Add)/コマンド(Cmd)信号のバス幅は、DDR4世代では24bitのシングルチャンネルだった。DDR5世代では、7bitのデュアルチャンネル、合計で14bitに変わる。また信号の送信速度をDDR4世代のSDR(Single Data Rate)から、DDR5世代ではチャンネル当たりでDDR(Double Data Rate)に高める。デュアルチャンネル化と送信速度の向上によってDIMMのピン数を削減しつつ、短い所要時間でアドレス(Add)/コマンド(Cmd)信号の入力を完了させる。
DIMMボードの外形寸法は、DDR4世代では長さが133.5mm、高さが31.25mmだった。DDR5世代では、ピン数が変わらないことから、長さは133.5mmを維持すると見られる。高さは基本的には変わらないものの、電圧レギュレータ(PMIC)の追加というペナルティがあるため、わずかに高くなることが考えられる。DIMMボードを載せるメモリサブシステムに空間的な余裕はさほどなく、ボードの寸法があまり拡大することは許されない。
メモリサブシステムの帯域幅は300GB/秒を突破
DRAMモジュール(DRAM DIMM)によって構成するメモリサブシステムは、DDR5世代への移行によって帯域幅(データ転送速度)が大幅に向上する。DDR4世代のメモリサブシステムは、メモリチャンネルの数が4チャンネルあるいは6チャンネルである。これがDDR5世代では、12チャンネルに増える。DRAM(あるいはDIMM)のピン当たりの帯域幅が同じだとしても、メモリサブシステムとしての帯域幅は2倍~3倍に増えることになる。
一方、メモリチャンネル当たりに実装可能なDIMMボードの枚数は減少する。DDR4世代では、4チャンネルの場合に最大で3枚のDIMMボードを実装できた。これがDDR5世代では、最大で2枚に減少する。そしてDIMMボード当たりで2チャンネルのメモリチャンネルをDDR5世代では扱うので、チャンネル数が増えてもメモリサブシステムのDIMMボード枚数は12枚で、DDR4世代の6チャンネル構成と変わらない。つまり、DRAMの記憶容量と搭載数(DIMMボード1枚当たり)が同じだと、メモリサブシステム全体の記憶容量は増えない。帯域幅の向上を優先したアーキテクチャとなっている。
差動伝送で帯域幅の向上とピン数の削減を両立
これまで説明してきたDDR5世代のDIMMは、過去のDDR世代のDIMM技術の延長線上に存在している。すなわち、既存技術の改良による帯域幅(データ転送速度)の向上という手法である。これに対し、既存技術からやや離れた技術仕様のDIMMが、DDR5世代では検討されている。
それは信号伝送の方式を、既存技術のシングルエンド方式から、差動(ディファレンシャル)方式へと変更することで、帯域幅を上げることだ。JEDECではこのDIMMを、「DDIMM(差動DIMM: Differential DIMM)」と呼んでいる。差動方式の導入によって帯域幅(データ転送速度)を大幅に引き上げるとともに、DIMMのピン数を削減する。
DDIMMでは、DRAMの入出力信号をほぼすべて「ユニファイドバッファ(UB: Unified Buffer)」と呼ぶバッファに集め、8bit幅の差動信号に変換してからDIMMボードのピンに接続する。データの入出力は双方向ではなく、DRAMへのデータ書き込み(ダウンストリーム(DS))とDRAMからのデータ読み出し(アップストリーム(US))を分離している。ダウンストリーム(DS)とアップストリーム(US)はそれぞれ2チャンネルあり、合計で32bit幅となる。差動伝送なので、ピン数は64ピンとなり、既存技術のDDR5 DIMMの80ピンに比べるとピン数が減少する。
DDR5 DRAMを搭載するDDIMMのピン数は200ピンである。先ほどまで説明していたDDR5 DIMM(RDIMMやLRDIMMなど)が288ピンであるのに比べると、大幅に減少する。したがってDIMMボードの小型化を狙える。
ピン(差動対)当たりのデータ転送速度は25.6Gbps以上と、きわめて高い。25.6Gbpsの場合に読み出しあるいは書き込みの帯域幅は最大で「25.6×8×2/8」、すなわち51.2GB/sとなる。これはピン当たり3.2Gbpsでデータを転送するDDR5 LRDIMMの約2倍の帯域幅に相当する。
FBDIMMの復活と改良でDDIMMを実現
DDR系DIMMの歴史に詳しい方はすでにお気づきかと思うが、DDR5 DDIMMはDDR2 DRAM世代で登場して消えていった「FBDIMM(フルバッファDIMM: Fully Buffered DIMM)」技術と似ている。
FBDIMMはDDIMMと同様に、高速伝送のために差動伝送を採用した。このために「AMB(Advanced Memory Buffer)」と呼ぶ統合バッファを搭載し、DDR2 DRAMチップの入出力信号(シングルエンド信号)をAMBで差動信号に変換していた。ちなみにアップストリームは10bit幅、ダウンストリームは14bit幅とやや広め。DIMMボードのピン数は240ピンとほかのDDR2 DIMMと同じである。
FBDIMMは優れた技術だったのだが、DDR3世代には受け継がれることなく、DDR2世代かぎりで消えていった。その大きな理由は3つある。1つは、AMBの搭載によるコストの上昇がかなり大きかったこと、もう1つは、FBDIMM技術の特許を所有する企業が使用料を請求したため、コストがさらに上乗せされたこと、最後に、DDR2世代の性能向上(動作周波数の向上)が予想外に進んだことでFBDIMMの優位性が損なわれたことである。
メインメモリの不揮発化という大きなうねり
DDR5で提案されているDDIMMは、FBDIMMと同じ轍を踏むのだろうか。それとも、次々世代(DDR6世代?)では本命となっていくDIMM技術なのだろうか。予測は簡単ではないものの、DDR2世代に比べると明確なことがある。既存技術、すなわちシングルエンドが現在では、行き詰まりつつあることだ。その点では、差動伝送は有利だと言える。ただし統合バッファの搭載によるコストの増大は、現在でも無視できない。
一方でDDIMMでピン数が大幅に削減されていることは、ピン数を揃えることで小型化よりもフォームファクタの互換性を重視したFBDIMMとは、設計思想が違うことがうかがえる。差動伝送では、メモリチャンネル当たりに搭載可能なDIMMボードの枚数が増えるので、ボードの外形寸法が小さくなることは実装占有空間の節約につながるのでありがたい。
DDIMM登場の背景にあるのは、不揮発性メモリを搭載するモジュール「NVDIMM(Non-Volatile DIMM)」がDDR4世代から普及しはじめると見られることだ。NVDIMMはこれもJEDECが技術仕様を策定中で、おもに3種類のNVDIMMが規格化されることが決まっている。同時にDDR4 DRAMモジュールのLRDIMM(負荷低減DIMM)規格は、第2世代からはNVDIMMとの混載を前提としたものに変更された。具体的には、RCD(Register Clock Driver)の仕様がNVDIMM対応に変えられた。
このNVDIMMの搭載を前提とするサーバー/ハイエンドPCのメインメモリのトレンドは、DDR5 DIMMにも受け継がれる。UDIMM、RDIMM、LRDIMMのなかでハイエンドのLRDIMMは、DDR4の第2世代と同様にNVDIMMの混載が規格化される。
DRAM DIMMとNVDIMMの混載は、高速に書き換えを繰り返すデータよりも、書き換えの頻度が少なくてアクセスの主流が読み出しであるデータと相性が良い。それではデータを頻繁に書き換える高速書き換えの用途をになうのは、何になるのだろうか。この部分をになうのが、DDIMMだとも見える。DDIMMはNVDIMMとは技術仕様がまったく違うので、混載は考えにくい。
ただしFBDIMMでもそうだったのだが、DDIMMにも遅延時間(レイテンシ)が相当に長いという弱点が存在する。小容量データのランダムアクセスが続くと、差動DIMMはその利点を活かせない。長大なストリーミングデータを高速に書き込む用途が、DDIMMには適している。
DDR5世代のDIMMに関する技術仕様は、詳細がまだ決まっていない。変更の可能性が残る。詳細が固まると見られる来年を、辛抱強く待ちたいと思う。