電腦科普

關於記憶體DDR5(資料取材於網路)

整理自網路上的 DDR 基礎課程教材,重新編寫為白話版

手機、電腦、伺服器裡都有一顆「記憶體」,它決定了機器能同時做多少事、跑得多順。 近年的新機器幾乎都換上了 DDR5。 這篇文章把一套專業的 DDR 課程內容,改寫成不須電子背景也能看懂的版本: 從「為什麼一定要用 DRAM」,一路講到「DDR5 內部到底怎麼運作、為什麼要訓練它」。

本文架構
  1. DDR 是什麼?三個字母的意義
  2. 記憶體三兄弟:DDR / LPDDR / GDDR
  3. 為什麼非用 DRAM 不可?
  4. DRAM 的兩大天性與兩大挑戰
  5. 記憶體內部組織:通道、Rank、Bank
  6. 頻寬怎麼算?
  7. DDR 怎麼「講話」:訊號與命令
  8. 晶片裡的 DDR 子系統:控制器與 PHY
  9. 為什麼要「訓練」記憶體?
  10. 十個常見誤解釐清
  11. DDR 的未來

一、DDR 是什麼?三個字母的意義

DDR = Double Data Rate(雙倍資料率)。 時鐘訊號像節拍器一樣「噠、噠、噠」地跳,而 DDR 的資料在上升與下降兩個瞬間都傳送, 所以資料速率是時鐘頻率的兩倍

時鐘 CK(節拍) 資料 DQ 每個橘色虛線(上升沿與下降沿)都送出一次資料
圖一:一個時鐘週期傳兩筆資料,這就是「雙倍資料率」

DRAM = Dynamic Random Access Memory(動態隨機存取記憶體), 是記憶體的「材質」。而晶片裡負責跟它打交道的整套電路,稱為 SoC DDR 子系統——您可以把 SoC 想成「大腦」, 而 DDR 子系統就是大腦裡專門管倉庫的那個部門。

一句話記住: DDR 講的是「怎麼傳」(雙倍速率),DRAM 講的是「用什麼存」(動態記憶體), 兩者合起來就是我們口中的「記憶體」。

二、記憶體三兄弟:DDR / LPDDR / GDDR

同樣是記憶體,會依「功耗」與「速度」的需求分成三種,這也是課程一開始就澄清的重點:

類型封装形態常見場合特點最新版本
DDR(DIMM) 可插拔模組 伺服器、桌上電腦 適合不在意功耗的場合;儲存密度高、方便更換 DDR5
LPDDR 直接焊在板子上 手機、手錶、筆電 適合對功耗敏感的移動設備(LP = Low Power) LPDDR5X
GDDR 直接焊在板子上 顯示卡、AI 加速卡 追求極高頻率與極大頻寬 GDDR6X

為什麼要分這麼多種? 因為「省電」與「快」往往互相拉扯。手機要的是省電(LPDDR), 顯卡要的是爆量頻寬(GDDR),而桌機/伺服器要的是容量大、好擴充(DDR)。

三、為什麼非用 DRAM 不可?

電腦是「馮紐曼架構」:運算單元要不斷地從儲存處拿資料、算完再放回去。 儲存處如果用太慢的媒體,運算再快也沒用——這就是所謂的記憶體牆。 課程用四種儲存單元做了很清楚的比較:

儲存單元組成速度成本/面積角色比喻
Register(暫存器)約 20 顆電晶體最快面積大、非常貴手上的筆
SRAM約 6 顆電晶體比 Register 慢面積小很多桌面
DRAM1 電晶體 + 1 電容較慢、且在片外面積非常小、便宜房間裡的衣櫃
Flash/硬碟不同工藝非常慢、無法支撐即時運算最便宜遠處的倉庫
Register SRAM(快取) DRAM(主記憶體) Flash / 硬碟 愈上面:愈快、愈貴 愈下面:愈慢、愈便宜 容量 需求 往上遞減
圖二:DRAM 是「便宜、容量大、速度尚可」的甜蜜點,所以成為主記憶體的唯一選擇

課程特別強調: DDR 對整個 SoC 而言不是輔助角色,而是關鍵路徑之一—— 因為所有運算單元(CPU、GPU、NPU…)都得排隊通過它去存取資料, 它的頻寬與延遲直接決定整顆晶片的表現。

四、DRAM 的兩大天性與兩大挑戰

天性一:它住在「片外」(off-chip)

DRAM 不是做在 SoC 晶片裡面,而是在外面(插在電路板上的模組、或焊在旁邊的獨立晶片), 資料得跑過電路板上的走線才能到達。這帶來一連串麻煩:

眼圖(Eye Diagram) 可取樣 時機 + 電壓 眼圖是「把很多筆訊號疊在一起」 中間空白處=真正能安全取樣的 時間與電壓範圍 眼睛愈小 → 愈容易讀錯資料 這就是為什麼需要各種「訓練」來校正
圖三:訊號跑得越快、距離越遠,「眼睛」就越小,取樣就越難

天性二:它是「動態」的——不刷新就會忘光

DRAM 用一個電晶體當開關、一個電容當儲存。電容就像一個小水桶, 桶子會慢慢漏水(漏電),所以資料放久了會自然消失。 因此控制器必須定期發送「刷新(Refresh)」命令幫它補回來; DRAM 本身也能進入自刷新(Self-Refresh)模式自行維持。

別搞混兩件事: 「動態」指的是沒刷新就會忘; 「易失性(Volatile)」指的是斷電就忘。兩者原因不同,課程特別提醒不要混為一談。

電容=小水桶,會慢慢漏水 剛寫入 過一段時間(漏電) Refresh 補滿 控制器必須 定期刷新, 否則資料會消失
圖四:DRAM 的資料靠電容維持,需要定期刷新

五、記憶體內部組織:通道、Rank、Bank

課程花了不少篇幅講清楚這幾個名詞,因為它們直接關係到「容量」與「頻寬」:

名稱是什麼作用
Channel(通道) 一組獨立的資料線與命令線 DDR 以 x64 為一個通道;LPDDR 以 x16 為一個通道。 通道數越多,總頻寬越大
Rank 同一通道上的一組晶片 目的是在同一通道上增加容量;晶片選擇(CS)各自獨立, 但命令/位址(CA)與資料(DQ)線是共用
Bank Group / Bank 晶片內部的儲存庫分區 用來彌補儲存單元速度慢的缺點:一邊存取、一邊準備下一筆
Row / Column 儲存庫裡的橫列與直行 就像倉庫的「貨架」與「格位」,先開架(Activate)再取物
Channel 通道(DDR 為 x64) Rank 0(CS0) Bank Group 0 Bank 0~3 Bank Group 1 Bank 4~7 每個 Bank 內有許多 Row(列)與 Column(行) 先 Activate 開啟某一列 → 再 Read / Write Rank 1(CS1) Bank Group 0 Bank 0~3 Bank Group 1 Bank 4~7 同通道的兩個 Rank 共用 CA 與 DQ 線 → 只能輪流使用,容量加倍但頻寬不變
圖五:記憶體的階層組織(通道 → Rank → Bank Group → Bank → Row)

課程重點(常見誤解):把 Rank 數翻倍,頻寬就會翻倍」——錯! 不管有幾個 Rank,它們都共用同一個通道, 所以只能增加容量,無法增加頻寬。 想要更大頻寬,得提高速率增加通道數

六、頻寬怎麼算?

課程給的公式很簡單,值得記下來:

頻寬 = 每根腳的資料速率(data rate per pin)× 資料位寬(pin 數)

課程例題一:需要 5 GB/s

採 LPDDR5X、單通道(16 bit):
5 GB/s = 5 × 8 Gb/s = 資料速率 × 16
→ 資料速率 = 2500 Mbps。而 LPDDR5X 最高可達 8533 Mbps, 所以單通道就夠用

課程例題二:需要 30 GB/s

同樣 LPDDR5X 8533 Mbps:
30 × 8 Gb/s = 8533 Mbps × 16 × N 通道
→ N ≈ 1.76,所以單通道不夠,需要兩個通道才能滿足。

課程舉的真實例子:Apple M1

項目數值
通道數8
DRAM 類型LPDDR4X
最高速率4266 Mbps
最高總頻寬8 × 16 bit × 4266 Mbps = 68,256 MB/s

看懂這題,就看懂了記憶體規格: 頻寬 = 幾個通道 × 每通道幾條線 × 每條線跑多快。 這也是為什麼手機晶片要不斷增加通道數與速率。

七、DDR 怎麼「講話」:訊號與命令

常見的幾組訊號

訊號用途備註
CK命令與位址的時鐘命令類訊號跟著它走
WCK資料的時鐘(DDR5/LPDDR5 新增)資料類訊號跟著它走
DQ資料線真正搬資料的腳
DMI資料遮罩/錯誤指示屬於資料訊號,與 WCK 對齊
RDQS讀取時的資料選通來源仍是 WCK
CA / CS命令/位址、晶片選擇與 CK 對齊
ZQ阻抗校正用的參考外接電阻:DDR/LPDDR 為 240 Ω、GDDR 為 120 Ω

課程澄清的關鍵: 資料速率(data rate)指的是 DQ 的頻率,也就是 WCK 頻率的兩倍—— 不是 CK 的兩倍!很多人會直覺以為是 CK,這是錯的。

常用的幾個命令

Activate 開啟目標列 Read 發出讀取命令 資料回傳 經 DQ 送回來 Precharge 關閉該列 中間需等待 tRCD(列開啟到可讀取的延遲) 若同一列的資料要連續讀很多筆,就不用每次重新 Activate —— 這就是「row-hit」,效率最高
圖六:讀一筆資料的簡化流程

八、晶片裡的 DDR 子系統:控制器與 PHY

在 SoC(系統單晶片)內部,負責記憶體的一整套電路稱為 DDR 子系統,典型成員包括:

有趣的是它的擺放位置:因為 DRAM 在晶片外面,DDR 子系統必須靠近晶片邊緣 才好拉線出去(課程特別糾正了「應該放晶片中央」的直覺誤解)。

SoC 晶片內部 CPU GPU NPU… 互連 AXI DDR 控制器 調度 · 位址映射 ECC · 讀寫切換 DFI DDR PHY 頻域轉換 · SI Training · ReTrain 片外 DRAM(DDR5 模組) 板級走線 控制器與 PHY 之間用標準化的 DFI 介面溝通
圖七:SoC 內部的 DDR 子系統(控制器負責調度,PHY 負責電氣訊號)

控制器(Controller)在做什麼?

功能面:把系統用的 AXI 協議轉換成 DDR 協議;保證資料完整性。
性能面:追求效率最高、延遲最小。
常見特性:ECC(錯誤修正)、RAS(可靠性)、QoS(服務品質)、ODT(晶粒終端電阻)。

它的三大核心機制是:位址映射(Address Mapping)亂序優化(Out of Order)讀寫切換(Read Write Switch)。 課程用一連串問答把「調度智慧」講得很透:

PHY 在做什麼?

五大任務:介面轉換(DFI ↔ DDR)、頻域轉換、訊號完整性(SI)、初始化與訓練、重新訓練(ReTrain)。

其中「頻域轉換」最值得一說:控制器的時鐘頻率較低(例如 800MHz), 但 DRAM 的 WCK 頻率很高(例如 3200MHz),兩者差了 4 倍。 DFI 介面上的 phase(相位)就是用來處理這個落差—— 1:4 的比例就需要 4 個 phase 來搬資料。

課程例子: LPDDR5 速率 6400 Mbps → DRAM 的 WCK 為 3200MHz → PHY 高速時鐘 3200MHz, 而控制器時鐘 800MHz → Clock Ratio = 1:4 → 需要 4 個 phase

PHY 的內部架構大致包含:數位 PHY 與類比 PHY、PLL、Data Slice、 並串轉換(PISO/SIPO)、跨時鐘域的 Async FIFO、以及用 RDQS 取樣的 Read Latch。 業界常見的供應商有 Rambus、Synopsys、Cadence 等。

九、為什麼要「訓練」記憶體?

這是整套課程中最實用的一段。DDR5 每次開機時,都會先做一連串初始化:

Power Ramp → Reset → Initialization → ZQ Calibration → Training → 正常讀寫

其中的 Training 又包含:命令匯流排訓練(CBT)WCK2CK 訓練DQ 訓練(DQT)

為什麼非訓練不可?

因為在沒有訓練的情況下,這些訊號組合可能沒有對齊

不對齊的原因來自 PVT(製程、電壓、溫度)的差異, 以及 SoC 內部路徑、電路板走線、DRAM 內部路徑長短不一

訓練前:取樣時機沒對準 → 可能讀錯 時鐘取樣點 資料區塊(偏移了) 訓練後:取樣點落在資料正中央 → 穩定可靠 取樣點正好落在每塊資料中間 就像合唱團上台前要對錶、試音:每個人從不同地方出發、速度不同,不先對齊就會各唱各的
圖八:訓練(Training)的目的就是讓取樣時機與資料對齊

幾個課程強調的重點

主題課程結論
ZQ 校正 DRAM 與 SoC 兩端都必須做;而且隨溫度變化還要再做
CBT 與 DQT 的順序 不能顛倒——因為 DQ 訓練需要先有高頻的 CA
訓練只做一次嗎? 一般情況下每次上電都要做(例外是某些 one-store 方案)
完全不做訓練能動嗎? 低頻下是有可能正常工作的
ReTrain(重新訓練) 跑一段時間後溫度變了,延遲跟著漂移,原本對齊好的訊號會偏移, 所以要重新校正
硬體 vs 軟體訓練 沒有哪個絕對更好:硬體快但不靈活,軟體慢但靈活, 兩者也常混合使用

白話總結: DDR5 的速度快到「訊號在電路板上跑的每一分毫延遲都要計較」, 所以每次開機都得先量測、校正、對齊,才能安心開始搬資料。 這也是為什麼 DDR5 開機比 DDR4 慢一點點的原因之一。

十、十個常見誤解釐清

以下都是課程中特別提出來糾正的觀念,很適合拿來自我檢查:

1. 把 Rank 數翻倍,頻寬就會翻倍?

錯。同通道的所有 Rank 共用 CA 與 DQ 線,只增加容量,不增加頻寬。 要增頻寬請提高速率或增加通道數。

2. 資料速率(data rate)是 CK 頻率的兩倍?

錯。資料速率指的是 DQ 的頻率, 也就是 WCK 頻率的兩倍,與 CK 無關。

3. DMI 訊號應該與 CK 對齊?

錯。DMI 與 DQ 一樣屬於資料訊號,要與 WCK 對齊

4. 讀取時只需要 RDQS,不需要 WCK?

錯。RDQS 的來源依然是 WCK,所以 WCK 仍然必要。

5. WCK 必須與 CK 完全對齊、不能有任何偏差?

錯。允許有偏差,但必須落在規定的範圍內(tWCK2CK 的最小值~最大值)。

6. ZQ 校正只做一次就好?

錯。它是必要的,而且隨溫度變化還要再做;SoC 與 DRAM 兩端都要。

7. DDR 對 SoC 只是輔助角色?

錯。DDR 是整個計算環節的關鍵路徑之一,對 SoC 性能至關重要。

8. DDR 這麼重要,應該放在晶片正中央?

錯。因為要與片外 DRAM 互連,在佈局上通常放在晶片邊緣

9. 為了效率,讀寫應該盡可能頻繁切換?

錯。讀寫切換本身有代價(相關時序參數較大),能連續就連續。

10. 開頁策略(open page)一定優於關頁策略(closed page)?

錯。哪種更好取決於實際場景,沒有絕對答案。

十一、DDR 的未來

課程最後對未來下的判斷很明確:

換句話說,DDR5 只是這條演進路線上的其中一站: 速率會繼續往上推,而如何在更快的同時維持省電與穩定,才是真正的挑戰。

給一般讀者的一句話: 記憶體不是「越大越快就好」的簡單零件,而是晶片與外部世界之間最關鍵的橋樑。 下一次您看到「DDR5-6000」這樣的規格時,就會知道那背後藏著多少工程細節。

本文為科普整理,內容取材自網路上的 DDR 基礎課程教材,經重新編寫與白話化而成。
文中數據與技術細節僅供理解參考,實際規格請以 JEDEC 標準與各廠商官方文件為準。