DDR世代比較 ─ プリフェッチ・バンクグループ・帯域進化
なぜDDR5はクロックが大きく伸びていないのに帯域が倍増するのか。プリフェッチ深度・バースト長・バンクグループという三つの仕掛けで世代の進化を一望し、表記の数字を正しく読めるようになります。
- 1.DDRの帯域進化の主役はコアクロックではなくプリフェッチ深度で、DDRが2nビット、DDR2が4n、DDR3/4が8n、DDR5が16nと深くし、低速なセルから一度に取り出す幅を倍々にしてI/O速度を稼ぐ。
- 2.DDR5は1モジュールを32ビット幅×2サブチャネルに分割しバンクグループを32個へ増やすことで、深いプリフェッチで長くなったバースト長(BL16)でも並列性を保ち、実効帯域を引き上げる。
- 3.DDR2の1.8V、DDR3の1.5V、DDR4の1.2V、DDR5の1.1Vと動作電圧を下げ、DDR5はVRMをモジュール上へ載せPMICで電源を内製化して、転送レートを上げつつ消費電力増を抑えている。
なぜ世代が変わると帯域が倍になるのか
DDR(Double Data Rate)SDRAMの世代表記を見ると、DDR4-3200やDDR5-6400のように転送レートが世代ごとにおおよそ倍々で伸びています。素朴には「メモリセルが2倍速く動くようになった」と思いがちですが、それは誤りです。DRAMセルそのもののアクセス速度(コアクロック)はほとんど上がっていません。1990年代から現在まで、セルの基本動作周波数は概ね100〜400MHz程度の範囲に留まっています。物理的にコンデンサへ電荷を充放電する時間(tRCDやtRPなどのコアタイミング)は、ナノ秒単位で見るとDDRからDDR5までほぼ横ばいです。
ではなぜ帯域が倍増し続けるのか。答えは遅いセルから一度に取り出すデータ幅を倍にし、それを速いI/Oクロックで吐き出すという分業です。この「一度に取り出す幅」を決めるのがプリフェッチ深度であり、DDRの帯域進化を理解する最重要概念です。
プリフェッチ ─ 遅いコアと速いI/Oの分業
DRAMは内部で3つの異なる周波数領域を持ちます。これを混同すると表記の数字を読み違えます。
コアクロック(セル動作) : 例 200MHz ← ほぼ世代不変、物理が律速
I/Oバスクロック : 例 800MHz ← 世代ごとに上昇
転送レート(DDRなので2倍) : 例 1600MT/s ← 表記の数字
プリフェッチとは、低速なセルアレイから1回のコアアクセスで複数ビットをまとめて読み出し、内部バッファに溜めてから高速I/Oでシリアルに送り出す仕組みです。プリフェッチ深度がnビットなら、コア1サイクルでn個分のデータを取り出せるため、I/Oは外部に対しコアのn倍の速度で動けます。
DDR3(8nプリフェッチ)の例
コア1アクセス: セルアレイから 8ビット幅×データ線 を同時取得
│
▼ 内部 8:1 シリアライザ
I/O: コアの4倍速 × DDRの2倍 = 8回分を連続送出(バースト)
世代ごとのプリフェッチ深度の深化が、帯域進化の系統樹の幹です。年代と分岐を整理します。
| 世代 | 登場時期 | プリフェッチ | バースト長(BL) | 代表転送レート | 動作電圧 |
|---|---|---|---|---|---|
| SDR SDRAM | 1990年代後半 | 1n | 可変(1/2/4/8) | 100〜166MT/s | 3.3V |
| DDR | 2000年頃 | 2n | 2/4/8 | 200〜400MT/s | 2.5V |
| DDR2 | 2003年頃 | 4n | 4/8 | 400〜1066MT/s | 1.8V |
| DDR3 | 2007年頃 | 8n | 8(BC4) | 800〜2133MT/s | 1.5V |
| DDR4 | 2014年頃 | 8n | 8(BC4) | 1600〜3200MT/s | 1.2V |
| DDR5 | 2020年頃 | 16n | 16(BL32) | 3200〜6400MT/s+ | 1.1V |
DDR2→DDR3はプリフェッチを4n→8nへ倍にして帯域を倍にできました。しかしDDR4はDDR3と同じ8nのままです。プリフェッチをさらに深くすると、1回のアクセスで取り出すデータ幅が広がりすぎ、バースト長が長くなって1回の転送で連続アクセスせざるを得ない範囲(バースト境界)が肥大化し、短いランダムアクセスの効率(バス利用率)が落ちるためです。DDR4は深度を据え置き、後述のバンクグループで並列性を稼ぐ方向に舵を切りました。DDR5は16nへ深めつつ、モジュールを2分割することでこの弊害を回避しています。
バースト長 ─ プリフェッチが決める転送の最小単位
プリフェッチ深度を深くすると、I/Oが1回のコマンドで連続送出するデータ数(バースト長, BL)も同じだけ長くなります。DDR3/DDR4はBL8(8回連続)、DDR5はBL16が基本です。バスが64ビット幅なら、1バーストで運ぶデータ量は次のようになります。
DDR4: 64bit × BL8 = 512bit = 64バイト ← ちょうどキャッシュライン1本
DDR5: 32bit × BL16 = 512bit = 64バイト ← サブチャネル化で同じ64Bを維持
ここに設計の妙があります。64バイトはキャッシュメモリのライン長と一致します。CPUがキャッシュミスで主記憶から運ぶ最小単位が64バイトなので、1バーストでちょうどライン1本を満たせると無駄がありません。DDR5はバス幅を32ビットへ半減させてBLを16へ倍増させることで、深いプリフェッチでも1バーストあたりの転送量を64バイトに保ったわけです。これは偶然ではなく、メモリ階層全体との整合を取った設計判断です。
バンクグループ ─ 並列性で深いプリフェッチを救う
セルアクセスが遅いという根本制約は、プリフェッチだけでは隠しきれません。同じバンクへ連続アクセスすると、行のプリチャージとアクティブ(tRC)が律速になり、I/Oをいくら速くしても空き時間が生じます。これを埋めるのがバンクの並列化です。
DRAMは内部を複数のバンク(独立にアクティブな行を持てる単位)に分け、あるバンクがプリチャージ中でも別バンクへアクセスできます。DDR4はここにバンクグループという階層を追加しました。同一グループ内の連続アクセスには余分な遅延(tCCD_L, ロング)が課されますが、異なるグループへ交互にアクセスすれば短い遅延(tCCD_S, ショート)で済みます。
DDR3: 8バンク(フラット)
DDR4: 4バンクグループ × 4バンク = 16バンク
DDR5: 8バンクグループ × 4バンク = 32バンク(1チャネルあたり)
深いプリフェッチで長くなったバーストを途切れなく流すには、I/Oが1つのバーストを送出している間に、次のバーストのデータを別バンクグループで準備しておく必要があります。グループ数が多いほど「準備済みの別グループ」を見つけやすく、メモリコントローラがアクセスを異なるグループへ振り分けて(バンク/グループインタリーブ)コアの遅延を隠せます。DDR5がグループを32へ増やしたのは、16nプリフェッチの長いバーストを並列性で支えるためです。
DDR5のサブチャネル化 ─ もう一段の並列化
DDR5の最大の構造変化は、1つのDIMM(64ビット幅)を32ビット幅の独立した2サブチャネルに分割した点です。各サブチャネルが独自のコマンド/アドレスバスを持ち、別々のメモリ要求を同時に処理できます。
DDR4 DIMM: 64bit を1チャネルとして一括制御
└ 1コマンドで64bit分のバーストを支配
DDR5 DIMM: 32bit ┬ サブチャネルA(独立コマンド)
└ サブチャネルB(独立コマンド)
└ 2つの要求を並行処理 → 細粒度アクセスの効率向上
幅を半分にしBLを倍にしても、1バーストの転送量(64バイト)は前述の通り不変です。むしろ独立した要求を2本同時に発行できるぶん、ランダム性の高いワークロードでの実効帯域とバス利用率が上がります。PCI Expressが太い1本のリンクより複数レーンの並列で帯域を稼ぐのと同様に、メモリも「幅を広げる」より「独立した細いチャネルを増やす」方向へ進化しています。
電圧低下と電源の内製化
転送レートを上げれば、何もしなければ消費電力(動的電力は周波数と電圧の2乗に比例)が膨らみます。これを抑える主軸が動作電圧の世代ごとの低下です。DDR2の1.8VからDDR3の1.5V、DDR4の1.2V、DDR5の1.1Vへと下げ、スイッチング電力を削ってきました。電圧低下は同時に信号マージンを狭めるため、各世代でオンダイ終端(ODT)や、DDR4以降のデータバス反転(DBI)、訓練(トレーニング)による信号品質の作り込みが必須になります。
DDR4まではマザーボードのVRMがメモリ電圧を供給していました。DDR5ではPMIC(Power Management IC)をDIMM上に搭載し、12V入力から必要電圧を各モジュールで生成します。これにより電源ノイズをモジュール内に閉じ込め、高速化で厳しくなった電圧精度を確保しています。電源管理がCPU側からメモリモジュール側へ移譲された点は、運用・故障切り分けの観点でもDDR4までと大きく異なります。
HBMとLPDDR ─ 同じ原理の異なる最適化
DDRと同じSDRAM技術を、別の目的へ振った派生がHBMとLPDDRです。系統としては同じ幹から分かれた枝で、最適化の軸が異なります。
| 種別 | 最適化軸 | 幅・接続 | 帯域の稼ぎ方 | 主な用途 |
|---|---|---|---|---|
| DDR (標準) | 容量・汎用・コスト | 64bit/DIMM, 基板配線 | クロック×プリフェッチ | PC・サーバーの主記憶 |
| LPDDR | 低消費電力・実装密度 | 16/32bit, 基板直付け | 低電圧・短配線で省電力 | スマホ・ノート・組込 |
| HBM | 超広帯域 | 1024bit超, シリコン貫通(TSV)で積層 | 極端な広幅×中速で帯域最大化 | GPU・AI・HPC |
LPDDRは配線を短くしてバスを基板に直付けし(着脱不可)、低電圧と省電力モード(部分アレイのセルフリフレッシュ等)で電力効率を最優先します。HBMは発想を逆転させ、クロックを上げる代わりに幅を極端に広げる戦略です。DRAMダイをTSV(シリコン貫通電極)で垂直に積層し、1024ビット超の広大なバスをインターポーザ上でプロセッサと結びます。1ピンあたりの速度は控えめでも、ピン数が桁違いに多いため総帯域はDDRを大きく上回ります。GPUのメモリ階層が膨大な並列スレッドを飢えさせないために、この広幅戦略のHBMを採用するのは必然です。
「DDRの帯域進化はコアクロックでなくプリフェッチ深度(2n/4n/8n/8n/16n)の深化が主因」「DDRはダブルデータレート=クロックの立上り/立下り両方で転送」「DDR4の新機軸はバンクグループ、DDR5はサブチャネル化とPMIC搭載」「電圧は世代ごとに低下(DDR2:1.8→DDR5:1.1V)」が頻出です。BL×バス幅=キャッシュライン64バイトの一致も問われます。
まとめ
- DDRの帯域進化を駆動するのはコアクロックではなくプリフェッチ深度で、2n→4n→8n→16nと深め、遅いセルから一度に取り出す幅を倍にして高速I/Oで吐き出す分業が本質。
- プリフェッチを深めるとバースト長が伸びる。DDR5はバス幅を32ビットへ半減しBL16にすることで、1バースト=64バイト(キャッシュライン1本)を保った。
- セルの遅さはバンクの並列化で隠す。DDR4のバンクグループ、DDR5の32バンク+2サブチャネル化が、深いプリフェッチの長バーストを途切れなく流す鍵。
- 電圧低下(1.8→1.1V)とDDR5のPMICモジュール搭載で、転送レート上昇に伴う消費電力増を抑制している。
- HBMは広幅×中速、LPDDRは低電圧×短配線と、同じSDRAM技術を別軸で最適化した派生で、用途に応じて系統が分岐している。
各世代の数字がメモリ階層全体のどこに効くかはメモリ階層図を、主記憶の下にあるストレージ側の制約はNANDフラッシュとSSDの内部を併せて参照してください。
CPU/メモリ/ディスク Article
DDR世代比較 ─ プリフェッチ・バンクグループ・帯域進化を実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
DDR
比較で見る軸
難易度: advanced / カテゴリ: CPU/メモリ/ディスク / タグ数: 5
導入後に効く点
DDR5は1モジュールを32ビット幅×2サブチャネルに分割しバンクグループを32個へ増やすことで、深いプリフェッチで長くなったバースト長(BL16)でも並列性を保ち、実効帯域を引き上げる。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- CPU/メモリ/ディスク
- タグ数
- 5
判断チェックリスト
- 自社の用途が「DDR / メモリ」に近いか確認する。
- 強みである「DDRの帯域進化の主役はコアクロックではなくプリフェッチ深度で、DDRが2nビット、DDR2が4n、DDR3/4が8n、DDR5が16nと深くし、低速なセルから一度に取り出す幅を倍々にしてI/O速度を稼ぐ。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。