By GRL Team on 四月 21, 2023

優化PCIe高速訊號傳輸的秘密——動態鏈路均衡

Granite River Labs, GRL
郄雅楠 Josie Qie

PCI-Express(Peripheral Component Interconnect Express),是一種高性能高帶寬的串行通信標準,自PCIe推出以來,已經成為服務器(Server)和PC上的最重要的接口。PCIe以較低的生產成本,顯著提升了系統的吞吐量,可擴展性和靈活性。為了實現更高的數據吞吐率,PCI-SIG協會不斷更新傳輸速率,其發展如圖1所示。

圖1PCIe標準的發展

圖1:PCIe標準的發展

隨著信號傳輸速率的提升,信號傳輸過程中的損耗也更嚴重,多種因素的干擾包括信道質量、傳輸速率等,從而影響接收端對信號的判決。信號失真越嚴重,則誤碼率越高,進而影響通訊性能。為了在接收端獲取易於判決的優質信號,可在發送端和接收端對信號進行補償,保證其最大程度的在接收端收到可識別的信號眼圖。對信號進行補償的過程,稱為信號均衡。

由於PCIe 1.0和PCIe 2.0使用的物理介質是普遍的FR4 PCB板材和廉價的接插件,為保證在該介質上的有效信號傳輸,PCI-SIG協會使用了8b/10b編碼和發送端的固定參數的去加重(De-emphasis)均衡,其過程無需進行均衡參數協商。

  1. 在PCIe 1.0中,去加重值是固定值-3.5dB
  2. 在PCIe 2.0中,去加重值是固定值-3.5dB 和 -6dB,無法動態調整

隨著速率增加到8.0GT/s及以上,信號傳輸過程中的完整性問題日益突出,僅採用傳統的去加重方法無法實現高質量的信號傳輸,收發端間需要協商均衡係數來獲得最優的傳輸性能。其次,為了繼續使用傳統的FR4板材和廉價的接插件,且兼容原有的1,2代設備,PCI-SIG協會對規範做了2方面改進:

  1. 使用128b/130b編碼替代8b/10b編碼,大幅提高了編碼效率
  2. 使用動態均衡技術替代靜態均衡技術。通過動態調整均衡的設置,使其在接收端獲得最優的眼圖,該動態均衡技術在規範中稱作鏈路均衡(Link Equalization,LEQ)

PCIe 3.0 & PCIe 4.0 & PCIe 5.0 鏈路均衡

在鏈路訓練(link training)之後,所有PCIe設備可能會進行鏈路均衡過程來建立設備間穩定的連接。鏈路均衡是一個鏈路優化過程,通過調節Tx (傳輸端)和Rx (接收端)的設置,提高信號質量,使PCIe鏈路以最穩定且更快的速率傳輸。鏈路均衡適用於支持PCIe Gen3 及以上的設備,且由於PCIe在Gen3及以上的每一代均需優化連接,因此鏈路均衡過程可能發生多次。例如:若所有PCIe設備為Gen5,則有3次鏈路均衡過程(第1次:Gen1-Gen3;第2次:Gen3-Gen4;第3次:Gen4-Gen5)。鏈路均衡通過PCIe 規範中定義的preset值來實現,preset指不同的預過沖(Preshoot)和去加重(De-emphasis)的組合。對於Gen3和Gen4,有11個preset值,即preset0-preset10。對於不同的鏈路情況,系統要求Rx端發送Tx EQ preset設置請求給Tx端,讓其做對應的preset均衡設置;Tx端發送Rx EQ均衡設置,要求Rx端做相應的設置,最終獲得一個最優的均衡組合和Rx端的眼圖。

對於不同端口的preset值,是通過鏈路均衡協商,直到通過phase 0-3給所有鏈路均衡過程協商出其最優的preset值。

鏈路均衡涉及上行端口(Upstream port)和下行端口(Downstream port)之間的精確動態協商,該協商過程是在一定的時間範圍內,去調整優化Tx端和Rx端的均衡濾波器,因此鏈路的誤碼率在BER ≤ 1E-12範圍內運行。該協商過程同時發生在2個層面,一是電氣子層(Electrical level),二是邏輯子層(Protocol level)。鏈路均衡在PCIe結構中所處位置如圖2所示。

圖2鏈路均衡在PCIe中的架構

圖2:鏈路均衡在PCIe中的架構 

 

電氣子層 

Tx端均衡:

  • 預加重(Pre-emphasis):PCIe高速串行信號在信道傳輸中,由於高頻分量的衰減大於低頻分量,造成信號失真,且高頻分量主要集中於信號的上升沿和下降沿。為了補償信號中高頻成分的衰減,預加重在信號發送時,提高跳變沿的信號幅度,來提升高頻分量。
  • 去加重(De-emphasis):由於信號中高頻成分衰減大於低頻,去加重是降低跳變沿   之外的信號幅度,即降低低頻分量。
  • FFE (Feed-forward Equalizer) 前向反饋均衡器:FFE通常利用有限衝激響應濾波器 實現,即將延時的信號按不同的權重相加。通過控制權重的大小可調整均衡強度。FFE提高信號中的高頻分量,來實現信道補償。

Rx端均衡:

  • CTLE (Continuous-Time Linear Equalizer) ,連續時間線性均衡器:CTLE均衡器類似無源高通濾波器,CTLE使得信號低頻分量被抑制,導致信號高頻分量與低頻分量幅值區別縮小。缺點是會衰減信號中的低頻成分,並放大了傳輸系統的高頻噪聲,會惡化系統的信噪比。
  • DFE (Decision Feedback Equalizer) ,判決反饋均衡器:位於線性均衡器之後,是一種非線性均衡器。它由兩個橫向濾波器和一個判決器構成。兩個橫向濾波器分別為   前饋濾波器(Feed Forward Filter,FFF)和反饋濾波器(FeedBack Filter, FBF)。用於眼圖張開的情況。此均衡器不會放大高頻噪聲,缺點是只能處理碼後干擾,無法消除碼前干擾,設計複雜,耗電。  

FFE和CTLE可去除大部分由碼間串擾引入的抖動,DFE可進一步去除碼間串擾和部分由於阻抗失配所造成的反射。

邏輯子層

鏈路訓練狀態機LTSSM(Link Training and Status State Machine)如圖3所示,位於PCIe結構中的物理層的邏輯子層內。

圖3LTSSM的主要狀態轉換圖

圖3:LTSSM的主要狀態轉換圖 (來源:PCI-SIG)

動態均衡協商發生在LTSSM中的Recovery子狀態。通過該方式,來動態調整鏈路上的均衡設定值。通過動態的鏈路均衡,保證了鏈路的TX EQ為最優值,同時,本地端和對端也會同時調整RX EQ。通過TX EQ和RX EQ的動態調整,可實現靈活適應不同的信道。

上電後初次均衡的基本過程:
上電後以2.5GT/s的速率依次從Detect – Polling- Configuration – L0 – Recovery。 由於USP(Upstream Port)和DSP(Downstream Port)在polling狀態都聲明支持8GT/s及更高速率,通過由USP(或DSP)發起調速請求,DSP(或USP)發起均衡請求,然後在Recovery狀態開始調速和均衡。

PCIe均衡係數協商

收發端在鏈路訓練的過程中進行Tx/Rx端參數的動態協商,是在LTSSM Recovery狀態中的Recovery.Equalization裡。均衡係數的協商包括4個階段,即Phase 0-3 (DSP:Phase1-Phase3; USP: Phase0-Phase3),其中Phase 2 和 Phase3 是可選擇的。Recovery子狀態轉移如圖4所示。

圖4  Recovery子狀態轉移

圖4  Recovery子狀態轉移(來源:PCI-SIG)

Phase0:鏈路均衡的第一階段。DSP給USP的每條lane發送所需的傳輸端preset值,這些preset值通過TS2(Training Sequence 2)訓練序列傳達。USP在接收到DSP的請求後,USP提升鏈路的數據傳輸速率至Gen3(8 GT/s),並發出包含有其收到的preset值的TS1(Training Sequence 1)訓練序列返回至DSP。當Gen3的連接實現後,鏈路均衡將進入Phase1。


Phase1:儘管有出現鏈路質量差的可能性,但相同的TS1會被重複發送,來確保DSP接收到正確的preset值。這是為了充分優化鏈路,以便能夠交換TS1並且完成用於精調目的的剩餘鏈路均衡階段。當鏈路的誤碼率實現BER≤10e-4 ,鏈路均衡進入Phase 2。


Phase2:DSP通過TS1發送均衡請求去調整USP的preset值,直至獲得最優設置,鏈路的誤碼率應滿足BER ≤ 1E-12。


Phase3:USP通過TS1發送均衡請求去調整DSP的preset值,直至獲得最優設置,鏈路的誤碼率應滿足BER ≤ 1E-12。
當Phase3完成後,鏈路均衡也完成了,且PCIe鏈路的誤碼率應滿足BER ≤ 1E-12。然而,對於一些有長信道鏈路的主板設計,這種信號質量無法實現,可能需要另外的信號調節。在這種情況下,中繼器(如ReDriver,ReTimer)被用來做信號調節,並在PCIe設備和Root complex(在CPU,存儲設備和PCIe設備之間的重要連接部分)之間提供高質量信號。此時鏈路以Gen3的速率進入L0狀態,並在該速率進行穩定通信。對於更高的傳輸速率,PCIe設備必須進行多次鏈路均衡過程。

2.3.1 8GT/s時,DSP與USP的均衡係數協商過程如圖5所示:

圖58GTs 動態均衡流程圖

圖5:8GT/s 動態均衡流程圖(來源:PCI-SIG)

2.3.2 16GT/s時,DSP與USP的均衡係數協商過程如圖6所示

圖616GTs 動態均衡流程圖

圖6:16GT/s 動態均衡流程圖(來源:PCI-SIG)

多種均衡模式

最傳統的PCIe均衡模式為全均衡模式(Full Equalization Mode)。在某一指定目標速率的鏈路訓練中,通常採用全均衡模式,從低速率的均衡開始,再進行較高速率的均衡,直到完成目標速率的均衡。由於PCIe傳輸速率不斷加倍,均衡的次數不斷增加,耗時更多,影響系統性能。為節省均衡的耗時,從Gen5起,PCIe支持跨越其中間速率的均衡。對於原生傳輸質量極好的鏈路,也可關閉均衡。

Equalization bypass to highest rate

當雙方設備均支持並且開啟了Equalization bypass to highest rate時,才可跳過中間速率的均衡。在鏈路訓練過程中,雙方設備在LTSSM的Configuration狀態通過交換TS序列來協商是否使用Equalization bypass to highest rate模式。若協商後選擇該模式進行鏈路訓練,則只進行一次切速,即當鏈路在2.5GT/s的L0狀態後,進入Recovery直接切速至最高速率(32GT/s及以上),進行一次均衡。若最高速率均衡失敗且重複均衡也失敗,則須考慮降速。

No equalization needed

若雙方均支持32GT/s及以上速率,且支持No equalization needed,在鏈路質量極好或本地存有之前均衡preset值的前提下,可選擇該模式,不做EQ,以最快速度建立連接。在鏈路訓練過程中,雙方設備在LTSSM的Configuration狀態通過交換TS序列來協商是否使用No equalization needed模式。

均衡結果判斷

針對PCIe3.0及以上的傳輸速率,判別均衡是否成功,本質是看傳輸的誤碼率。在某個傳輸速率下,單獨調整每一條Lane的收發端均衡器係數,使得鏈路上所有有效Lane上的傳輸誤碼率滿足BER ≤1E-12,則認為該傳輸速率均衡完成,若在特定的響應時間內無法達到該指標,則該速率均衡失敗。關於最大響應時間,Base(PCI Express Base Specification Revision 4.0 Version 0.7)規定值為500㎱,CEM(PCI Express Architecture PHY Test Specification, Revision 4.0, Version 1.0)規定值為1㎲。從過程上判斷,均衡成功即LTSSM.Equalization完成了Phase0 - Phase 3的轉換並正常進入了下一狀態。 

結論

PCI-Express是一種高速串行計算機擴展總線標準。PCIe設備要經過鏈路訓練,來建立Root complex和不同PCIe 設備之間的連接。PCIe設備被允許以Gen1(2.5GT/s)的傳輸速率來發送和接收數據。若所連接的全部PCIe設備支持Gen3(8GT/s)及以上的速率,PCIe設備將進行鏈路均衡過程來建立更高速率的PCIe鏈路。鏈路均衡經過4個階段的調節,允許在該誤碼率BER ≤ 1E-12條件下,以穩定支持的最高速率來傳輸數據。

訂閱GRL技術文章

本文件中規格特性及其說明若有修改恕不另行通知。

參考文獻

  1. PCI Express Architecture PHY Test Specification, Revision 3.0
  2. PCI Express Architecture PHY Test Specification, Revision 4.0, Version 1.0
  3. PCI Express Architecture PHY Test Specification, Revision 5.0, Version 1.0
  4. PCI Express Base Specification Revision 4.0 Version 0.7 

作者

GRL上海测试工程师 郄雅楠 Josie Qie

諾丁漢大學電子通信和計算機工程碩士研究生。具有USB、SATA、PCIe等相關高速總線測試經驗,協助客戶解決測試問題並且取得認證。

 

Published by GRL Team 四月 21, 2023