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)均衡,其過程無需進行均衡參數協商。
隨著速率增加到8.0GT/s及以上,信號傳輸過程中的完整性問題日益突出,僅採用傳統的去加重方法無法實現高質量的信號傳輸,收發端間需要協商均衡係數來獲得最優的傳輸性能。其次,為了繼續使用傳統的FR4板材和廉價的接插件,且兼容原有的1,2代設備,PCI-SIG協會對規範做了2方面改進:
在鏈路訓練(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端均衡:
Rx端均衡:
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狀態開始調速和均衡。
收發端在鏈路訓練的過程中進行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條件下,以穩定支持的最高速率來傳輸數據。
本文件中規格特性及其說明若有修改恕不另行通知。
諾丁漢大學電子通信和計算機工程碩士研究生。具有USB、SATA、PCIe等相關高速總線測試經驗,協助客戶解決測試問題並且取得認證。