Granite River Labs, GRL
郄雅楠 Josie Qie
PCI-Express(Peripheral Component Interconnect Express),是一種高性能高帶寬的串行通信標準,自PCIe推出以來,已經成為服務器(Server)和PC上的最重要的接口。PCIe以較低的生產成本,顯著提升了系統的吞吐量,可擴展性和靈活性。為了實現更高的數據吞吐率,PCI-SIG協會不斷更新傳輸速率,其發展如圖1所示。
圖1:PCIe標準的發展
隨著信號傳輸速率的提升,信號傳輸過程中的損耗也更嚴重,多種因素的干擾包括信道質量、傳輸速率等,從而影響接收端對信號的判決。信號失真越嚴重,則誤碼率越高,進而影響通訊性能。為了在接收端獲取易於判決的優質信號,可在發送端和接收端對信號進行補償,保證其最大程度的在接收端收到可識別的信號眼圖。對信號進行補償的過程,稱為信號均衡。
由於PCIe 1.0和PCIe 2.0使用的物理介質是普遍的FR4 PCB板材和廉價的接插件,為保證在該介質上的有效信號傳輸,PCI-SIG協會使用了8b/10b編碼和發送端的固定參數的去加重(De-emphasis)均衡,其過程無需進行均衡參數協商。
- 在PCIe 1.0中,去加重值是固定值-3.5dB
- 在PCIe 2.0中,去加重值是固定值-3.5dB 和 -6dB,無法動態調整
隨著速率增加到8.0GT/s及以上,信號傳輸過程中的完整性問題日益突出,僅採用傳統的去加重方法無法實現高質量的信號傳輸,收發端間需要協商均衡係數來獲得最優的傳輸性能。其次,為了繼續使用傳統的FR4板材和廉價的接插件,且兼容原有的1,2代設備,PCI-SIG協會對規範做了2方面改進:
- 使用128b/130b編碼替代8b/10b編碼,大幅提高了編碼效率
- 使用動態均衡技術替代靜態均衡技術。通過動態調整均衡的設置,使其在接收端獲得最優的眼圖,該動態均衡技術在規範中稱作鏈路均衡(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中的架構
電氣子層
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結構中的物理層的邏輯子層內。
圖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子狀態轉移(來源: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所示:
圖5:8GT/s 動態均衡流程圖(來源:PCI-SIG)
2.3.2 16GT/s時,DSP與USP的均衡係數協商過程如圖6所示
圖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條件下,以穩定支持的最高速率來傳輸數據。
本文件中規格特性及其說明若有修改恕不另行通知。
參考文獻
- PCI Express Architecture PHY Test Specification, Revision 3.0
- PCI Express Architecture PHY Test Specification, Revision 4.0, Version 1.0
- PCI Express Architecture PHY Test Specification, Revision 5.0, Version 1.0
- PCI Express Base Specification Revision 4.0 Version 0.7
作者
GRL上海测试工程师 郄雅楠 Josie Qie
諾丁漢大學電子通信和計算機工程碩士研究生。具有USB、SATA、PCIe等相關高速總線測試經驗,協助客戶解決測試問題並且取得認證。