記憶體介面:為什麼 DDR5 的訊號比 DDR4 難處理
後來,這個概念也被延伸到消費級的 UDIMM,也就是所謂的 CUDIMM(Clocked UDIMM)。CUDIMM 把 CKD 放進消費級模組,讓高頻(6400 MT/s 以上)的時脈可以透過本地重新驅動而保持乾淨。這其實反向說明了一件事:在 DDR5 的頻率下,直接把時脈從主機板拉到 DIMM 上,訊號已經劣化到需要「中途加油站」的程度。DDR4 時代並不需要這種設計,這本身就是 DDR5 訊號更難處理的直接證據。
1.1V 工作電壓與更小的雜訊容限
DDR4 的 VDDQ 是 1.2V,DDR5 降到 1.1V。電壓降低的好處是功耗下降(P ∝ CV²f),但代價是雜訊容限(noise margin)也跟著壓縮。同樣大小的絕對雜訊(例如 30 mV 的電源漣波),在 1.2V 系統中佔的比例較小,在 1.1V 系統中佔的比例較大。更別提 DDR5 的資料速率更高、單位間隔更短,任何一點電壓抖動換算成時序抖動(jitter)的效應都會被放大。
此外,DDR5 把參考電壓 Vref 從外部供給改為內部產生(內部 VrefDQ 與 VrefCA),並透過訓練來調整。這雖然提升了彈性,但也意味著 Vref 的準確度取決於晶片內部的電路匹配與溫度補償。當溫度變化時,Vref 若漂移,整個取樣準位就會偏移,眼圖的上下開啟度會不對稱地縮小。
二、訊號完整性(SI)的物理本質:為什麼速度越快越難
談完架構,我們回到物理層面。訊號完整性本質上是一場「時間」與「能量」的戰爭:你要在越來越短的時間內,把一個乾淨的位準送到接收端,並且讓接收端在正確的時刻判斷它是 0 還是 1。DDR5 把時間壓縮了,卻沒有辦法把通道的物理特性一起壓縮,於是所有的劣化機制都被放大。
單位間隔(UI)縮小與眼圖閉合
單位間隔(Unit Interval, UI)是一個位元所佔的時間。DDR4-3200 的資料時脈是 1600 MHz,UI 約為 0.625 ns;DDR5-4800 的資料時脈是 2400 MHz,UI 約為 0.417 ns;到了 DDR5-6400,UI 只剩 0.3125 ns;DDR5-8000 更是只有 0.25 ns。也就是說,從 DDR4 到 DDR5 高頻,可用來判斷一個位元的時間窗口縮小了一半以上。
眼圖(Eye Diagram)是觀察這件事最直觀的工具。眼圖的張開程度代表「有多少時間與電壓的餘裕可以正確取樣」。當 UI 縮小,眼圖在水平方向被壓縮;當上升時間(rise time)沒有等比例變快(因為通道的頻寬有限),眼圖在垂直方向也會被壓縮。兩邊一夾,眼圖就閉合了。眼圖閉合到一個程度,接收端就會開始誤判,BER(Bit Error Rate)就會上升。
實務上,DDR5 在 4800 MT/s 時的眼圖,往往還比 DDR4-3200 在高負載下的眼圖更難看。這不是因為 DDR5 的電路比較差,而是因為同樣的通道損耗,在更高的頻率下被放大得更嚴重。通道的插入損耗(Insertion Loss)大致隨頻率上升而增加,頻率翻倍,損耗可能增加好幾 dB。這就是為什麼 DDR5 主機板特別強調「記憶體走線要短、要直、要少過孔」。
Fly-by 拓撲、反射與阻抗不連續
DDR4 與 DDR5 的 DIMM 都採用 Fly-by 拓撲:命令/位址/時脈訊號從 DIMM 的一端進入,沿途「分支」給每一顆 DRAM,最後在另一端以終端電阻吸收。這種拓撲的好處是走線簡單、可以支援較多的顆粒;壞處是每一個分支點都是一個阻抗不連續,會產生反射。
在 DDR4 的頻率下,這些反射還有時間在一個 UI 之內衰減掉,或者可以被寫入均衡(Write Leveling)與時序訓練吸收。但在 DDR5 的頻率下,UI 變短,反射來回的時間相對變長(相對於 UI),反射的殘留就會落在下一個或下下個位元的取樣點上,形成碼際干擾(Inter-Symbol Interference, ISI)。ISI 的特徵是「前面傳過的位元會影響現在這個位元」,在眼圖上會看到眼圖的開口變得不對稱、甚至出現多個「眼睛」。
DIMM 插槽本身就是一個很大的阻抗不連續。金手指與插槽的接觸電阻、插槽的寄生電容與電感,都會在高速下造成明顯的反射。DDR5 的插槽為了支援更高頻,在機械與電氣設計上都做了調整,但物理限制仍然存在。這也是為什麼「插兩條比插四條穩」、「插 A2/B2 比插 A1/B1 穩」這類經驗法則在 DDR5 上依然成立,甚至更明顯。
串擾(Crosstalk)與 ISI
串擾是相鄰走線之間的電磁耦合。當一條線上的訊號快速切換時,會透過互容與互感在隔壁的線上感應出雜訊。DDR5 因為走線密度提高、子通道增加,串擾的來源變多;又因為 UI 變短,串擾的持續時間相對變長,對取樣的影響更大。
串擾可以分為近端串擾(NEXT)與遠端串擾(FEXT)。在記憶體匯流排這種多線並行的結構中,最麻煩的是「同時切換」造成的同步雜訊:當多條資料線同時由 0 變 1 或由 1 變 0,電源與接地平面上的電流會瞬間變化,透過電源分配網路(PDN)的阻抗產生電壓波動,這個波動又回頭影響到驅動器的輸出位準。這種現象稱為 Simultaneous Switching Noise(SSN)或 Ground Bounce,是 DDR5 高頻下眼圖劣化的主要來源之一。
ISI 與串擾常常是「複合」出現的。一個位元受到前面位元的 ISI 影響,又受到隔壁線的串擾影響,兩者疊加之後,眼圖的某一個角落就會被吃掉。這也是為什麼 DDR5 的驗證不能只看「單一訊號」的眼圖,而必須看「最差情況的位元組合」(worst-case pattern),例如連續 0 之後接連續 1 的資料樣式。
抖動(Jitter)與時序預算
抖動是訊號邊緣在時間上的不確定性。抖動的來源包括時脈源的相位雜訊、電源漣波造成的延遲變化、串擾造成的邊緣位移,以及溫度的隨機變化。DDR5 的時序預算(timing budget)本來就比 DDR4 緊,任何一點抖動都會直接從時序邊限(timing margin)中扣掉。
DDR5 的時序預算可以粗略想成:UI 減去驅動器輸出偏斜、通道傳播延遲差、接收器建立/保持時間、抖動、以及各種不確定性。當 UI 只有 0.3125 ns(312.5 ps),而抖動可能就佔掉幾十 ps,剩下的邊限其實非常有限。這也是為什麼 DDR5 特別強調「訓練」(training)——因為靜態的時序設計已經很難涵蓋所有變異,必須靠開機時的動態校正來把時序對齊到最佳點。
三、DDR5 用來補救的技術:DFE、訓練與 CRC
面對這些劣化,JEDEC 當然不是兩手一攤。DDR5 導入了幾項關鍵技術來「對抗」通道的物理限制。理解這些技術,才能理解為什麼 DDR5 的訊號「難處理」卻「還能用」。
判決回饋等化(DFE)
DFE(Decision Feedback Equalizer)是 DDR5 接收端最重要的一項新技術。它的原理是:接收端根據「已經判決過的位元」來預測並扣掉通道造成的 ISI。比如說,如果前一個位元是 1,通道的殘留會讓現在這個位元的位準偏高,DFE 就根據前一個位元的判決結果,把輸入訊號減去一個對應的補償量,讓取樣點回到中心。
DFE 的好處是不會放大雜訊(因為它只處理已經判決的位元,不會像線性等化器那樣把雜訊一起放大),而且可以針對不同的通道特性調整 Tap 數量與係數。但它的限制是:它依賴「判決正確」。如果前一個位元判錯了,DFE 就會用錯誤的資訊去補償,造成錯誤擴散(error propagation)。這也是為什麼 DDR5 的 DFE 係數需要透過訓練來決定,並且在不同頻率、不同 DIMM 配置下都要重新訓練。
對設計者來說,DFE 的存在意味著「訊號不能只看靜態眼圖」。因為 DFE 是動態調整的,量測時必須考慮 DFE 開啟與關閉的差異,也要考慮訓練後的實際補償量。很多時候,一條「眼圖看起來還行」的通道,在 DFE 訓練後反而因為係數不當而變差;反之,一條「眼圖很醜」的通道,在 DFE 正確補償後卻能穩定工作。
Training 模式與 DQS 震盪器
DDR5 的訓練項目比 DDR4 多得多,包括寫入均衡(Write Leveling)、讀取閘道訓練(Read Gate Training)、讀寫資料眼訓練(Read/Write DQ Training)、CA 訓練、CS 訓練、Vref 訓練等等。這些訓練的目的,是在開機時量測實際的時序關係,然後把延遲與電壓設定調整到最佳點。
其中一個有趣的機制是 DQS 震盪器(DQS Oscillator)。在訓練模式下,DRAM 可以自行產生 DQS 訊號(而不依賴控制器送來的 DQS),讓控制器可以量測 DQS 與 DQ 之間的實際延遲。這解決了「控制器不知道 DIMM 內部延遲」的問題,但也增加了訓練的複雜度:不同的 DIMM、不同的顆粒、不同的溫度,都可能需要不同的訓練結果。
訓練的存在,讓 DDR5 的系統設計從「靜態匹配」變成「動態補償」。好處是彈性大,壞處是訓練本身也會失敗。訓練失敗的原因可能是訊號太差、可能是溫度補償不對、也可能是 PMIC 的雜訊在訓練期間剛好很大。這就是為什麼有些 DDR5 系統「第一次開機不穩、重開幾次就穩」,或者「冷機不穩、熱機就穩」——訓練結果對環境非常敏感。
CRC 與 On-die ECC:容錯不等於訊號變好
DDR5 在資料傳輸中加入了 CRC(Cyclic Redundancy Check),可以偵測傳輸過程中的錯誤並要求重傳。同時,DDR5 的 DRAM 顆粒內部也有 On-die ECC,可以偵測並修正顆粒內部的位元錯誤。這些機制常被誤解為「DDR5 訊號比較好,所以有容錯」,但實際上正好相反:正是因為訊號變難處理、錯誤率上升,才需要這些容錯機制來維持系統穩定。
CRC 與 On-die ECC 是「事後補救」,不是「事前預防」。它們可以讓系統在訊號邊限很窄的情況下仍然正常工作,但代價是效能(重傳會增加延遲)與除錯難度(錯誤被修正了,你看不到問題,直到邊限被吃光才突然崩潰)。對驗證工程師來說,最危險的系統不是「會出錯」的系統,而是「錯誤都被 ECC 吃掉、看起來很穩」的系統,因為你無法從系統層面觀察到訊號的真實健康狀況。
四、電源完整性(PI):被低估的戰場
如果說訊號完整性是 DDR5 的「正面戰場」,那電源完整性就是「後勤補給」。很多 DDR5 的訊號問題,追根究柢其實是電源問題。電源不乾淨,訊號再好也會被拖垮。
PMIC 位置與熱雜訊
前面提過,DDR5 把 PMIC 搬到 DIMM 上。這顆 PMIC 通常是多相降壓轉換器,切換頻率在數百 kHz 到數 MHz 之間。它的開關節點(switch node)電壓擺幅很大(從 0 到輸入電壓),dv/dt 很高,是典型的電磁干擾源。由於它與 DRAM 顆粒的距離只有幾公分甚至幾毫米,耦合路徑非常短,雜訊很容易透過空間輻射或傳導進入 DRAM 的電源腳。
更麻煩的是熱。PMIC 的轉換效率雖然高,但在高負載下仍然會發熱,而 DIMM 的空間狹小、散熱條件差,PMIC 的熱會直接傳導到旁邊的 DRAM 顆粒。DRAM 的輸出驅動能力與時序特性都會隨溫度變化,溫度上升會讓驅動器變慢、讓漏電流增加、讓時序邊限縮小。這種「電源雜訊 + 熱」的複合效應,是 DDR5 高頻不穩定的常見原因,也是為什麼很多高階 DDR5 模組要加裝散熱片、甚至風扇。
去耦電容策略與 PDN 阻抗
DDR5 模組上的去耦電容數量比 DDR4 少(因為部分功能被 PMIC 取代),但這不代表去耦不重要,反而代表每一顆電容的角色更關鍵。PDN(Power Delivery Network)的目標是在整個頻寬內維持低阻抗,讓負載瞬間抽電流時,電壓不會掉太多。
PDN 阻抗在低頻由大電容(bulk capacitor)負責,中頻由陶瓷電容(MLCC)負責,高頻則由封裝與晶片內部的電容負責。DDR5 的資料速率高,切換電流的高頻成分豐富,如果中高頻的 PDN 阻抗沒有壓好,就會在電源上產生與資料樣式相關的漣波,這個漣波又會調變訊號的位準,形成「資料相關抖動」(Data-Dependent Jitter, DDJ)。
實務上,DDR5 模組的電容配置非常講究「位置」而非「數量」。一顆放在 DRAM 電源腳旁邊的小電容,效果可能遠勝於十顆放在模組邊緣的大電容。這也是為什麼 DDR5 模組的 layout 往往是各家廠商的機密——同樣的電路,layout 不同,訊號品質可以差很多。
VDDQ 與 VPP 的相互干擾
DDR5 的 VPP(1.8V)主要供給 DRAM 內部的字元線驅動電路,VDDQ(1.1V)供給 I/O。這兩組電源在晶片內部有各自的網路,但在模組層級,它們共用同一個 PMIC、同一片 PCB、同一組接地。當 VPP 因為字元線啟動而瞬間抽電流時,會透過共接的接地阻抗影響 VDDQ 的參考位準;反之亦然。
這種「電源之間的相互干擾」在 DDR4 時代也存在,但 DDR5 因為電壓更低、電流更大、切換更頻繁,效應更明顯。驗證時如果只量 VDDQ 的漣波、不看 VPP 的變化,很可能會漏掉真正的問題來源。
五、PCB 與主機板設計實務
理解了原理,接下來談實務。對主機板與模組設計者來說,DDR5 的 layout 有幾個「不能妥協」的原則。這些原則不是玄學,而是從前面的物理分析直接推導出來的。
走線長度匹配與阻抗控制
DDR5 的資料線(DQ/DQS)長度匹配要求比 DDR4 嚴格得多。因為 UI 變短,同樣的長度差換算成時間差就更大。一般來說,同一個 byte lane 內的 DQ 與 DQS 長度差要控制在很小的範圍內,不同 byte lane 之間則透過訓練來補償。
阻抗控制方面,單端訊號通常要求 40~50 歐姆,差分訊號(DQS、時脈)則要求 80~100 歐姆。阻抗不只是「線寬」決定,還牽涉到層疊結構、參考平面距離、以及周圍走線的耦合。DDR5 的走線密度高,常常會出現「為了閃避而改變線寬」或「參考平面被切割」的狀況,這些都會造成阻抗不連續,進而產生反射。
特別要注意的是「參考平面完整性」。DDR5 的訊號線需要一個連續的參考平面(通常是地平面)來提供回流路徑。如果參考平面被電源分割、被過孔陣列切割、或者被其他訊號穿越,回流路徑就會被迫繞路,形成迴路面積變大、電感增加、串擾加劇。這是 DDR5 layout 最常見的錯誤之一,也是最難用肉眼檢查出來的問題。
層疊結構與參考平面
DDR5 主機板通常需要 6 層以上的 PCB,高階板甚至用到 8 層或 10 層。層疊設計的目標是讓每一條高速訊號線都有一個完整的參考平面,並且讓電源平面與地平面盡量靠近,形成天然的平面電容,降低 PDN 阻抗。
常見的層疊會把高速訊號層安排在內層,夾在兩個平面之間,形成「帶狀線」(stripline)結構,這樣可以獲得較好的阻抗控制與較低的輻射。但內層走線的損耗比外層高(因為經過更多的介質),所以有時候又會把關鍵訊號放在外層(微帶線),再用較大的線寬與間距來控制阻抗。這是一個取捨,沒有標準答案,取決於板子的層數、成本與散熱需求。
連接器與 DIMM 插槽的影響
DIMM 插槽是整個通道中最難處理的一段。它的寄生電容(約 1~2 pF)與寄生電感(約 1~2 nH)會在高速下造成明顯的阻抗不連續,而且插槽的機械公差會讓不同插槽的電氣特性略有差異。DDR5 的插槽為了支援更高頻,在接點設計、遮罩、接地腳配置上都做了改良,但物理限制仍然存在。
這也是為什麼「記憶體插哪個插槽」在 DDR5 上比以前更重要。主機板廠商通常會建議優先使用離 CPU 較遠的插槽(例如 A2/B2),因為這些插槽的走線通常經過最佳化,且不會因為「空插槽」的殘留分支(stub)而造成反射。是的,空插槽本身就是一個 stub,會造成反射。DDR5 對這種反射比 DDR4 更敏感,所以「插滿四條」在 DDR5 上往往比 DDR4 更難穩定高頻。
六、驗證與量測:怎麼知道訊號真的沒問題
設計完之後,怎麼確認訊號真的沒問題?DDR5 的驗證比 DDR4 複雜得多,因為很多問題是「動態」的、是「訓練後」的、是「溫度相關」的。傳統的靜態量測已經不足以涵蓋所有狀況。
眼圖與 BER
眼圖仍然是最基本的工具,但 DDR5 的眼圖量測需要考慮幾個點。第一,量測點要盡量靠近接收端(DRAM 的球墊或接腳),因為通道的損耗會讓眼圖在傳輸過程中逐漸閉合。第二,量測時要考慮 DFE 的狀態,因為 DFE 開啟與關閉下的眼圖差異很大。第三,要量測「最差情況」的資料樣式,而不是隨機資料。
BER(Bit Error Rate)則是更直接的指標。DDR5 的目標 BER 通常在 1E-16 到 1E-18 的等級,但要在實驗室裡量到這麼低的 BER 非常耗時。實務上會用「浴缸曲線」(bathtub curve)搭配外插法,或者用 BER Contour 來估算時序與電壓的邊限。這些量測需要高速示波器、邏輯分析儀、以及專門的記憶體協定分析工具,設備成本很高。
時序邊限(Timing Margin)
除了眼圖,時序邊限的量測也很重要。做法是「掃描」某一個參數(例如 DQS 的延遲、Vref 的電壓),觀察在什麼範圍內系統仍然能正常運作。這個範圍就是邊限。邊限越大,系統越穩健;邊限越小,就越容易受溫度、電壓、製程變異的影響。
DDR5 的時序邊限通常比 DDR4 小很多。以一個典型的 DDR5-5600 系統為例,DQS 的延遲邊限可能只有幾十 ps,而 DDR4-3200 可能有上百 ps。這意味著 DDR5 的系統對環境變化更敏感,也更需要良好的散熱與電源設計。
七、常見迷思與實務建議
最後,整理幾個在社群與實務上常見的迷思,以及對應的建議。
實務建議方面,如果你是在設計 DDR5 系統,請優先確保:電源平面完整、參考平面不被打斷、走線盡量短且少過孔、去耦電容靠近負載、PMIC 與 DRAM 有適當的散熱。如果你是在使用 DDR5 系統,請注意:使用廠商建議的插槽、保持機殼通風、避免在高温環境下長時間高負載運作、BIOS 更新到最新版(訓練演算法常常會更新)。
八、結語
DDR5 的訊號之所以比 DDR4 難處理,不是單一原因造成的,而是「更高的頻率、更小的 UI、更低的工作電壓、更複雜的供電架構、更密集的走線」這幾個因素疊加之後的結果。速度只是表象,架構的改變才是根本。從 64 位元到 2×32 位元子通道、從板端供電到 On-DIMM PMIC、從外部 Vref 到內部 Vref、從 BL8 到 BL16,每一個改變都讓訊號鏈變得更複雜,也讓設計與驗證的門檻更高。
但同時,DDR5 也導入了 DFE、更完整的訓練機制、CRC 與 On-die ECC 等技術來對抗這些劣化。這些技術讓 DDR5 在物理極限邊緣仍然能穩定工作,但也讓系統行為變得更動態、更難預測。對工程師來說,這意味著「靜態設計」已經不夠,必須理解訓練、理解電源、理解熱,才能做出真正穩定的系統。
下次當你看到一條 DDR5 模組上那顆小小的 PMIC、那片散熱片、那些變少的電容,希望你能想到這篇文章談的這些事。記憶體介面的進步,從來不是單純的「頻率數字變大」,而是一連串工程取捨的結果。而這些取捨,正是 DDR5 訊號處理之所以困難、也之所以迷人的地方。