JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

塞進更多位元:PAM4 與鏈路訓練

幾十年來,讓鏈路更快的祕方很簡單:把脈衝送得更快就好。但到了每秒約 28 千兆位元,銅線本身開始反抗,再加快只會讓訊號更糟。本篇要講的,是衝破那道牆的巧妙手法——用 **PAM4** 把兩個位元塞進每一個脈衝——以及現代鏈路如何在開機時醒來、量測自己的通道,並透過**鏈路訓練**把自己調到完美。

跑道盡頭的那道牆

想像你沿著一條又長又窄的走廊把網球丟給朋友。丟得慢,每顆球都乾乾淨淨地到達,朋友輕鬆接住。丟快一點,走廊就開始有影響——球擦到牆、留下小回音、彼此開始糊在一起。最後你丟得太快,朋友再也分不出一顆球在哪結束、下一顆從哪開始。印刷電路板上的一條銅走線,正是那條走廊;而三十年來整個產業加速的策略,就只是把球丟得更快——把 baud rate(鮑率),也就是每秒送出的符號數,加倍。

這策略一直管用——直到物理寄來帳單。銅通道並不會平均地衰減所有頻率。高頻,也就是又尖又快的邊緣,因為集膚效應與介質損耗,被打壓得遠比低頻嚴重。你訊號送得越快,能量就越集中在那些被懲罰的高頻上。更糟的是,損耗並非線性成長——它大致隨「頻率乘距離」的平方根增加,所以把速率加倍,往往讓以分貝計的損耗不止加倍。等你來到 56 GBaud,一條實際的背板通道可以吞掉 30 到 40 dB插入損耗。那是電壓上千倍甚至更多的衰減。抵達接收端的訊號,是一道糊掉的、幽靈般的殘影。

一個脈衝兩個位元:PAM4 的構想

如果不能把符號送得更快,那就讓*每個符號攜帶更多資訊*。這正是 PAM4 的全部構想——Pulse Amplitude Modulation(脈衝振幅調變),用 4 個準位。傳統序列鏈路是二元的:線不是高(1)就是低(0)。那是兩個準位,叫做 NRZ(不歸零),每個符號剛好攜帶一個位元。PAM4 改為定義四個不同的電壓準位。有四個準位,你就能在每個符號編碼兩個位元——00、01、11、10 這四組——所以你在相同符號率下攜帶兩倍的資料。一條 56 GBaud 的 PAM4 鏈路傳輸每秒 112 千兆位元的資料,但它的邊緣仍維持在 56 GBaud 訊號那較溫和、28 GHz 等級的頻率內容。你避開損耗牆,靠的不是硬碰通道,而是對它索求更少。

  NRZ (1 bit/symbol)              PAM4 (2 bits/symbol)

  V                               V
  hi --___    ___    ___          L3 --___          ___   = 11
        |    |   |    |           L2 --   \___   ___/      = 10
  lo ---'    '---'   '---         L1 --       \_/          = 01
       1   0   1    0             L0 --                   = 00

  one threshold, ONE eye          three thresholds, THREE eyes
  full swing per decision         swing split into thirds
NRZ 把擺幅切一刀;PAM4 切成三刀,在 NRZ 原本一個大眼的位置,疊起三個小眼。

當然,天下沒有白吃的午餐,帳單就出現在眼圖裡。NRZ 訊號只有一個判決門檻坐落在擺幅中央,所以它畫出一個眼——一塊張開的區域,接收端在此取樣以判定是 1 還是 0。PAM4 必須分辨四個準位,這代表三個門檻與三個垂直堆疊的眼。關鍵在於,這三個眼共用著與單一 NRZ 眼*相同的總電壓擺幅*。所以每個 PAM4 眼大約只有三分之一高。一筆勾銷,你就先送掉了約 9.5 dB 的垂直裕度——那就是 20·log₁₀(3)——而這還是在第一顆雜訊電子登場之前。

出錯的新方法

把眼壓扁,不只縮小裕度——它還憑空發明了 NRZ 從不必擔心的全新出錯機制。第一個純粹是算術:三個眼意味著訊號可能越過門檻的邊緣多了三倍,所以在相同雜訊下,原始的符號錯誤率高得多。PAM4 系統通常運作在校正前的位元錯誤率(BER)約 1e-4 到 1e-6——比健康 NRZ 鏈路所交付的 1e-12 到 1e-15 慘上天文等級——並倚賴強力的前向錯誤更正(FEC,如 Reed–Solomon RS(544,514))把應用層的有效 BER 拉回到 1e-15。沒有 FEC,PAM4 根本收不了斂。

第二個機制更微妙、且為 PAM4 獨有:準位失配與非線性。四個準位必須等距,三個眼才會等高;但真實的發射端驅動器並非完美線性——準位之間的間隔可能變得不均。工程師用一個叫 RLM(Ratio of Level Mismatch,準位失配比)的指標追蹤它,1.0 為完美,標準要求大致 ≥0.95。一個把上端範圍壓縮的驅動器,會把上方那個眼擠到閉合,而下方的眼看起來還好好的;只檢查一個眼的量測會漏掉它。

為何鏈路必須自我訓練

在第 4 級你已認識等化器家族:前饋等化器(FFE)與 TX 預強調,對發射訊號做預先失真以抵消通道的塗抹;連續時間線性等化器(CTLE),在接收端拉抬被打壓的高頻;以及判決回授等化器(DFE),減去過往符號拖出的回音。它們每一個都有*抽頭設定(tap settings)*——一組旋鈕,決定要拉抬多重、預失真多少、要從每個過往符號減去多少。

問題在這裡:沒有一組唯一正確的設定。理想的抽頭值完全取決於*這條特定的通道*——確切的走線長度、連接器、過孔、封裝、纜線,甚至溫度。一塊 CPU 距其 SerDes 夥伴只有兩吋的主機板,只需溫和的等化;一條穿過三個連接器的 30 吋背板,則需要把等化器催到極限。同一顆晶片要出貨到這兩種情境。沒有任何出廠設定能對每條通道都正確,而且在系統組裝之前,通道甚至無從得知。所以鏈路必須在開機時量測自己的通道並自我調整——這就是鏈路訓練與適應

一次訓練握手的解剖

當兩個 PAM4 端點上電——比方一個 PCIe 6.0 根聯合體與一個端點,或一條背板上的兩個 112G 乙太網埠——它們不會劈頭就送資料。它們跑一段編排好的開機序列。首先建立一條粗糙但堅固的鏈路,好讓兩端至少能交換控制訊息;這通常意味著退到一個慢速、充分理解的模式(PCIe 一級一級地訓練上去;乙太網的 IEEE 802.3 Clause 72/136/162 定義了專用的訓練訊框)。然後真正的工作開始:接收端評估進來的眼,把係數調整請求送回遠端發射器,把 FFE/預強調抽頭一步步走向能把三個眼都張到最開的值。

  1. 取得鎖定。 接收端的時脈與資料回復(CDR)鎖上進來的邊緣,一段已知的訓練樣式(常為 PRBS 序列)讓接收端建立通道響應的圖像。
  2. 調整接收端自己的旋鈕。 CTLE 的峰化與 DFE 抽頭在本地自動調整——通常以一個 LMS(最小均方)迴路,微調每個抽頭,使取樣準位與理想目標之間的誤差最小化。
  3. 協商遠端發射器。 透過反向通道,接收端請求增減遠端 FFE/預強調係數(前游標、主游標、後游標),並在每一步後觀察自己的眼是否改善。
  4. 收斂並評定優劣指標。 兩端反覆迭代,直到品質指標——眼高/眼寬,或估計的 BER——不再改善。設定隨即凍結。
  5. 進入資料模式。 鏈路退出訓練,FEC 引擎開啟,真實流量開始流動。許多鏈路接著讓接收端的適應*在背景靜靜地持續運行*,以追蹤溫度與電壓造成的緩慢漂移。
  56 GBaud PAM4  (112 Gb/s)  -- a worked picture
  -----------------------------------------------
  symbol rate        : 56 GBaud      (Tsym ~ 17.9 ps)
  bits per symbol    : 2  -> 112 Gb/s raw line rate
  channel loss @ Nyq : ~30 dB  (Nyquist = 28 GHz)
  three eyes, each   : ~1/3 of swing  -> ~9.5 dB SNR hit
  pre-FEC BER        : ~1e-4 ......... (looks 'broken')
  RS(544,514) FEC    :        |  corrects bursts
  post-FEC BER       : <1e-15  <-- delivered to user
  link-training time : tens of ms, runs ONCE at startup
一條 112G PAM4 鏈路的頭條數字——以及為何 1e-4 的原始錯誤率仍能交付一條完美無瑕的連線。

在示波器上看見它

若你有機會在高階即時示波器上探測一條運作中的 PAM4 鏈路,那畫面難以忘懷。NRZ 鏈路顯示一個清脆張開的眼,PAM4 則顯示三個堆疊的小眼,像個迷你紅綠燈——而在訓練之前,它們可能全糊成一片閉合,是一道毫無開口、垂直的雜訊汙跡。接著你看著接收端的適應啟動:眼圖由內而外*綻放*張開,三個開口隨著等化器抵消通道的塗抹而一個接一個浮現。這是整個高速 I/O 領域中,最生動的一場示範,告訴你等化並非可有可無的裝飾——它是這條鏈路得以運作的唯一原因。

值得停下來想想,這對我們現在如何看待一條鏈路意味著什麼。1990 年代的序列鏈路是個*訊號*問題:設計乾淨的驅動器、佈一條受控阻抗的走線,位元就會到達。現代的 112G PAM4 鏈路則是個內建回授迴路的*系統*問題。發射器、通道、接收器、適應演算法與 FEC 引擎是共同設計的;沒有任何一個能獨立運作。這條鏈路與其說是一條線,不如說是一個微小、自我校準的通訊系統,恰好住在一個連接器裡——它是支配你手機數據機與深空無線電鏈路的同一套通道容量與等化理念的直系後裔。