コンテンツにスキップ

DDR5とは

DDR5とは、サーバやPCで使うDRAMモジュール向けの規格世代です。 Samsungは、転送速度が最大8,000Mbpsに達し、複雑化するワークロードの要求に応えるとしています1。

DRAMのセルは、世代が変わってもトランジスタ1個とキャパシタ1個のままです。速度を上げる工夫は、そのセルをどう並べ、どう順番に触るかという外側で行われます。DDR5の変更は、帯域を稼ぐ組み方の変更と、速度を上げて減った余裕を埋める手当ての2つに分かれ、手当ての多くはチップの内側とモジュールの上へ移りました。

バンクを倍にすると、準備中のバンクの裏で別のバンクを動かせる

Section titled “バンクを倍にすると、準備中のバンクの裏で別のバンクを動かせる”
バンクの切り替え
1つのバンクだけを使うバンクデータバス空き時間準備中のバンクの裏で別のバンクを使うバンクAバンクBバンクCバンクDデータバスバンクの準備データの転送
バンクが1つだと、準備の間はデータバスが空きます。準備の間に別のバンクへ触れば、その間も転送を進められ、外から見た待ち時間が埋まります。

DDR5はバーストレングスを8から16へ、バンク数を16から32へ倍にしました1。Samsungは、DDR4に対して最大2.5倍の帯域を実現したとしています。

DRAMのセルは1回アクセスするたびに内部で準備の時間が要りますが、その間にほかのバンクへアクセスできれば、外から見た待ち時間は埋まります。バンクが多いほど、同時に進められる仕事が増えます。部品のバンク構成は、x4品とx8品が8バンクグループ × 4バンク、x16品が4バンクグループ × 4バンクです。

バーストレングスを倍にすると、アドレスを指定する手間は同じまま運ぶデータが倍になり、手間に対する成果が上がります。内部の先読み(プリフェッチ)も、DDR4の8nからDDR5では16nへ倍になっています。

通り道を32ビット幅の2本に割ったので、バーストが16になった

Section titled “通り道を32ビット幅の2本に割ったので、バーストが16になった”
幅 × バースト = 64バイト
DDR464バイト64ビットバースト81チャネルDDR564バイト32ビットECC 8ビットサブチャネルA64バイトサブチャネルBバースト16データECC
長方形の高さが通り道の幅、長さがバーストの回数で、面積が1回に取り出すデータ量です。DDR5は幅を半分にしてバーストを倍にしたので、1本あたりの64バイトは変わらず、取りにいく口が2つになりました。

DDR4のDIMMには、64ビットぶんの信号線が1組ありました。バーストレングス8なら、1回の読み出しで64ビット × 8 = 512ビット、つまり64バイトが出てきます。CPUがメモリから1回に引き出す単位(キャッシュライン)は64バイトなので、ちょうど1本ぶんが揃います。

DDR5は、この64ビットを32ビットずつ2組に割りました。DDR5のDIMMは2つのチャネルを持ち、各チャネルが40ビット幅(データ32ビットと8ビットのECC)です2。幅が半分になったぶん、同じ64バイトを揃えるには倍の回数が要るため、バーストレングスが16になりました。32ビット × 16 = 512ビット = 64バイトです。BL16なら、1本のDIMMサブチャネルだけで64バイトのキャッシュラインを取り出せます3。

「1回で運ぶ量が倍になる」のは、DRAMチップ1個を単位にしたときの姿です。DIMM1枚を単位にすると、1回に取り出す64バイトは同じままで、その64バイトを取りにいく口が2つになりました。Micronは、DIMMあたりの独立した2チャネルが、DDR4に比べてデータの取り回しと同時並行の作業を改善するとしています3。バンクを倍にしたことと合わせて、DDR5は「待たされる時間を他の仕事で埋める」方向へ設計を振っています。

速度を上げて減った余裕は、等化と信号方式とクロックの分割で埋める

Section titled “速度を上げて減った余裕は、等化と信号方式とクロックの分割で埋める”

速度が上がると1ビットぶんの時間が短くなり、前のビットの波形の尾が次のビットへ重なって、受け取る側から見た波形の開き(アイ開口)が狭くなります。Rambusは、DDR5がDFE(decision feedback equalization)を新たに取り入れ、より高いIO速度とデータレートを可能にしたとしています2。Micronは、DDR5がDQ受信側の等化(DFE)を持ち、DRAM内部で受け取ったDQデータの目の開きを改善するとしています。先に受け取ったビットの影響を差し引いてから、次のビットの0と1を見分ける方式です。

電圧も下がりました。DDR5ではDRAMとRCDの電圧が1.2 Vから1.1 Vへ下がります2。電圧を下げると1回の充放電で使う電力は減りますが、0と1を隔てる電圧の幅も狭くなります。Rambusは、ランクとハーフチャネルごとに独立したクロックを与えて信号品質を上げ、VDDを下げたことで小さくなったノイズマージンに対処するとしています2。DFEやオンダイECCも、この狭くなった余裕を埋めるための手当てです。

コマンド/アドレス(CA)の信号方式も替わりました。CA信号はSSTLからPODLへ変わり、ピンを高の状態に置いている間は静的な電力を消費しません2。

電源づくりをマザーボードからモジュールの上へ移した

Section titled “電源づくりをマザーボードからモジュールの上へ移した”
電圧をつくる場所
DDR4レギュレータ1 Vを長い経路でIRドロップDIMMDDR512 VPMIC降圧4系統・LDO 3系統DRAMへ1.1 V・1.8 VDIMMマザーボード
DDR4は低い電圧のまま長い経路で送るので、経路で電圧が落ちます。DDR5は12Vで送ってDIMMの上のPMICで電圧をつくるため、低い電圧を運ぶ距離が短くなります。

DDR5のオンモジュールPMICは12Vを受け取り、モジュール上の各部品が要求する電圧を自前でつくります4。Rambusは、マザーボードから1Vを送り届ける代わりに12Vをモジュールへ送るので、配電経路のIRドロップ(電流と抵抗の積で生じる電圧降下)の問題が大きく減るとしています。同じ電力を運ぶとき、電圧が高いほど流れる電流は小さくなり、経路の抵抗で失われるぶんも小さくなるからです。電源の生成をモジュール側へ移すと、供給点がチップに近づき、電圧の揺れも減ります。

DDR5サーバPMICの構成は4、4つの降圧スイッチングレギュレータと3つのLDOレギュレータです。つくる電圧は、部品の仕様でVDD/VDDQ/VPP = 1.1/1.1/1.8 Vです(DDR4は 1.2/1.2/2.5 V)。

Rambusは、DIMMごとにPMICを載せることでシステムの電力負荷をより細かい単位で扱えるとしています2。マザーボード上の面積が空き、メモリスロットを満載した最悪条件に合わせてマザーボード側のレギュレータを設計する手間も消えることも挙げています。Samsungは、on-DIMM PMICがより効率的な電源制御と安定した電力供給を可能にし、HPCサーバ環境での信頼性ある動作を支えるとしています。同社は、改善した電源管理と最適化した構成によって、DDR4に対して20%を超える電力効率の向上1を挙げています。

オンダイECCはチップの内側、ECCメモリはモジュールの機能

Section titled “オンダイECCはチップの内側、ECCメモリはモジュールの機能”

「DDR5にはECCが入っている」と「ECCメモリを買った」は、指しているものが別々です。Samsungは、DDR5に適用されたODECC(on-die error-correction code)が1ビットの誤りを訂正し、データを多く扱う負荷の下でも信頼性を高めるとしています1。同社はODECCがデータの完全性と信頼性の維持を助け、安定した高性能動作を支えるとも書いています。チップの内部で誤りを訂正するため、外へ出る前に直せます。

Micronの仕様では、DDR5のオンダイECCは「128b+8b SEC, error check and scrub」で3、128ビットのデータに8ビットの検査用ビットを足し、1ビットの誤りを訂正します(SEC = single error correction、単一誤り訂正)。その効能はチップ上のRAS(reliability, availability, serviceability = 信頼性・可用性・保守性)の強化で、守る範囲はDRAMチップの内側です。

サーバやワークステーションで言う「ECCメモリ」は、モジュール側の機能を指します。サーバ用に設計されたRDIMMには、初期状態でECC機能が入っています5。SamsungはUDIMMとECC UDIMMを別の製品として掲げ6、ECC UDIMMをデータの完全性を高める誤り訂正機能を加えたものとしています。DDR5のDRAMチップが一律にオンダイECCを持つことと、そのチップを載せたモジュールがECC対応として売られていることは、別々に決まります。

大容量化に合わせて、誤りへの手当てとリフレッシュの工夫が揃ってきた

Section titled “大容量化に合わせて、誤りへの手当てとリフレッシュの工夫が揃ってきた”

Rambusは、DDR5がオンダイECC、error transparency mode、post-package repair、read/write CRC modeといった機能を備え2、より大容量のDRAMを支えるとしています。DDR5のバッファ付きDIMMでは、1ダイのパッケージで最大64GbのDRAMを使えます2。DDR4は最大16Gbでした。Micronは、32Gbのモノリシックダイで128GBのRDIMMを実現するとしています3。1枚に載るビット数が増えるほど、どこかで1ビットが化ける確率も積み上がるため、こうした手当てが世代とともに揃ってきました。

DRAMはキャパシタに溜めた電荷で1と0を保つため、放っておくと電荷が抜け、定期的に読み直して同じ値を入れ直す動作(リフレッシュ)が要ります。容量が増えるほど、この動作に取られる時間の割合も上がります。DDR5のREFsb(same-bank refresh)は、各バンクグループの中の1つのバンクを対象にしたリフレッシュを可能にします。対象を1バンクへ絞れるぶん、リフレッシュ中でも他のバンクへ触れる余地を残せます。

モジュールの上には、RCD・PMIC・SPD Hubと温度センサが載る

Section titled “モジュールの上には、RCD・PMIC・SPD Hubと温度センサが載る”

DDR5では、DRAMチップ以外の部品がモジュール基板の上で増えました。

RCD(registering clock driver、レジスタードクロックドライバ)は、RDIMM上のDRAMへコマンド/アドレス信号、チップセレクト、クロックを配る制御系の中心チップです7。Samsungは、このレジスタがDRAMチップへ届く前にコマンドとアドレスの信号を安定させ、メモリコントローラ側の電気的な負荷を軽くするとしています。Rambusによれば、DDR5のRCDは片側あたり4本のクロックを出力します2(DDR4は片側2本)。

DDR5サーバDIMMのチップセットは、DDR4のSPD ICをSPD Hub ICへ置き換え、温度センサIC(TS)を2個足しました2。SPD HubはI3Cバス経由でシステム設定と熱管理に要るデータをやり取りし、それ自体にも温度センサを内蔵します7。TS 2個とSPD Hubを合わせて、RDIMM1枚あたり3点の熱テレメトリになり2、1枚のモジュールの中でどこが熱くなっているのかを切り分けられます。

RCDを載せるかどうかで、モジュールの性格が変わります。Samsungは、RDIMMがレジスタでコマンドとアドレスを緩衝するぶん、UDIMMよりわずかに遅延が乗る5一方、より大きな容量と安定性、拡張性をサーバ環境へ提供するとしています。UDIMMはレジスタや緩衝段を挟まず、メモリコントローラと直接やり取りするため、遅延の面で有利だと同社は書いています。

部品の仕様とモジュールの仕様は、上限が別

Section titled “部品の仕様とモジュールの仕様は、上限が別”

数値は、部品(DRAMチップ単体)とモジュールで別々に決まっています。DDR5の部品の主な仕様3は次のとおりです。

  • データレート 4,800〜8,800 MT/s
  • 電源電圧 VDD/VDDQ/VPP = 1.1/1.1/1.8 V(DDR4は 1.2/1.2/2.5 V)
  • ダイ容量 16Gb/24Gb/32Gb
  • バンク構成 8バンクグループ × 4バンク(x4/x8品)、x16品は4バンクグループ × 4バンク
  • プリフェッチ 16n(DDR4は8n)、バーストレングス BL16(DDR4はBL8)

モジュールでは、SamsungのDDR5 RDIMMが最大8,000 Mbps・最大256 GB、DDR5 UDIMMが最大5,600 Mbps・最大48 GBです。Micronは、自社のDDR5 RDIMMで最大9200 MT/s、MRDIMMで最大8800 MT/sとしています3。同じDDR5でも、モジュールの種類とメーカーで上限に開きがあり、いずれも製品系列としての上限値です。

MT/sは1秒あたりの転送回数、Mbpsは信号線1本が1秒に運ぶビット数を指します。DDR系では1回の転送で1本あたり1ビットを運ぶため、両者は同じ数字になります。

DDR5とは何ですか?

サーバやPCで使うDRAMモジュール向けの規格世代です。Samsungは、転送速度が最大8,000Mbpsに達し、複雑化するワークロードの要求に応えるとしています。

DDR4と比べて何が変わりましたか?

バーストレングスを8から16へ、バンク数を16から32へ、いずれも倍にしました。DIMMは32ビット幅の2チャネルに分かれ、電源電圧は1.2Vから1.1Vへ下がりました。Samsungは、DDR4に対して最大2.5倍の帯域を実現したとしています。

バンクを増やすと何が良いのですか?

待ち時間を隠せます。1つのバンクが読み書きの準備をしている間、別のバンクへアクセスできるためです。バンクが多いほど同時に進められる作業が増え、実効的な帯域が上がります。

バーストレングスとは何ですか?

1回のアクセスで連続して転送するデータの個数です。8から16へ倍にすると、同じ回数のアクセスで運べる量が倍になり、アドレスを指定する手間に対して運ぶ量が増えます。

オンダイECCとは何ですか?

チップの内部で誤りを訂正する仕組みです。Samsungは、DDR5に適用されたODECC(on-die error-correction code)技術が1ビットの誤りを訂正し、データの完全性と信頼性の維持を助けるとしています。

電源管理はどう変わりましたか?

12Vを受けるPMICがモジュールの上に載り、各部品の電圧をそこでつくります。Samsungは、on-DIMM PMICがより効率的な電源制御と安定した電力供給を可能にするとし、DDR4に対して20%を超える電力効率の向上を挙げています。

DDR5のDIMMにチャネルが2つあるとは、どういう意味ですか?

64ビットぶんの信号線を32ビットずつ2組に割り、それぞれを独立して動かすという意味です。各チャネルは40ビット幅(データ32ビットとECC 8ビット)で、バーストレングス16なら512ビット、つまり64バイトのキャッシュライン1本ぶんが1回で揃います。

オンダイECCが付いたDDR5は、そのままECCメモリと呼べますか?

別々の項目です。オンダイECCはDRAMチップ側の仕様「128b+8b SEC, error check and scrub」で、効能はチップ上のRAS強化です。サーバ用のRDIMMは初期状態でECC機能を持ち、UDIMMとECC UDIMMは別の製品です。守る範囲がDRAMチップの内側か、モジュールを含むかが違います。

同じDDR5でも製品ごとに速度の上限に開きがあるのはなぜですか?

部品としての仕様と、モジュールとしての仕様が別だからです。MicronのDDR5部品のデータレートは4,800〜8,800 MT/sで、SamsungのDDR5モジュールはRDIMMが最大8,000 Mbps、UDIMMが最大5,600 Mbpsです。モジュールの種類ごとに基板と補助チップの構成が異なるため、上限も別になります。

メモリモジュールの温度はどこで測っていますか?

DDR5のサーバ用モジュールでは3点です。SPD Hubが温度センサを内蔵し、DIMMあたり2個の温度センサIC(TS)と合わせて、モジュール1枚あたり3点の熱テレメトリになります。

  • DRAMとは── セルの原理と、系列が複数ある理由
8件を表示
  1. 1
    Samsung Semiconductor:DDR5semiconductor.samsung.com abcd
  2. 2
  3. 3
  4. 4
  5. 5
    Samsung Semiconductor:RDIMMsemiconductor.samsung.com ab
  6. 6
    Samsung Semiconductor:UDIMMsemiconductor.samsung.com ↩
  7. 7
  8. 8
    Samsung Semiconductor:DRAMsemiconductor.samsung.com