自21世紀(jì)初正式創(chuàng)立以來(lái),PCI Express(PCIe)接口就成為了數(shù)據(jù)中心和計(jì)算應(yīng)用中芯片間數(shù)據(jù)傳輸?shù)男袠I(yè)標(biāo)準(zhǔn)。GPU、FPGA和TPU等特定加速卡都是通過(guò)PCIe接口與各個(gè)計(jì)算節(jié)點(diǎn)快速傳輸數(shù)據(jù)。
不同芯片之間的業(yè)務(wù)流數(shù)據(jù)通過(guò)PCIe接口傳輸
圖源:ADLINK
自2015年以來(lái),全球數(shù)據(jù)流量猛增。隨著數(shù)據(jù)中心轉(zhuǎn)向100G以太網(wǎng)甚至更高,服務(wù)器和網(wǎng)絡(luò)設(shè)備中的 PCIe互連成為瓶頸。下圖展示了PCIe標(biāo)準(zhǔn)的演進(jìn)趨勢(shì),可以看出PCIe 2.0到3.0/4.0,分別花費(fèi)了5年和7年的時(shí)間。但是PCIe 4.0到5.0,再到6.0,時(shí)間間隔卻分別只有2年和3年,而且PCIe 6.0 64GT/s的傳輸速度也是3.0標(biāo)準(zhǔn)的8倍。
PCIe性能加速曲線
PCIe 6.0 規(guī)范支持?jǐn)?shù)據(jù)中心向800G以太網(wǎng)的切換,800 Gb/s所需的帶寬為100 GB/s,在x16 PCIe 6.0鏈路配置下,單向帶寬可以達(dá)到128 GB/s,在多個(gè)端口做鏈路聚合之后,完全支持1.6T 以太網(wǎng)的帶寬需求。
NVLink專注于Nvida的GPU間數(shù)據(jù)交換,滿足大規(guī)模并行處理和AI模型訓(xùn)練等高性能計(jì)算任務(wù)的帶寬需求。而PCIe則憑借其開(kāi)放性和廣泛的兼容性,迅速適應(yīng)市場(chǎng)變化和技術(shù)演進(jìn)。
PCIe 6.0提供了高達(dá)64 GT/s的單向傳輸速率,顯著提高了數(shù)據(jù)吞吐量。在能效方面,PCIe 6.0采用了PAM-4,以優(yōu)化功耗和信號(hào)完整性。因此,PCIe 6.0成為多GPU顯卡互聯(lián)的首選。
CXL 3.0基于PCIe 6.0協(xié)議,CXL內(nèi)存池共享技術(shù)支持跨 CPU、GPU、FPGA 等設(shè)備的內(nèi)存統(tǒng)一編址,可將分散的內(nèi)存聚合為共享池,動(dòng)態(tài)分配給不同任務(wù)。通過(guò)CXL連接的內(nèi)存擴(kuò)展卡,單服務(wù)器內(nèi)存容量可從TB 級(jí)提升至PB級(jí),突破大模型訓(xùn)練的內(nèi)存限制,同時(shí)減少采購(gòu)高價(jià)HBM。
NVMe(Non-Volatile Memory Express)是一種專為固態(tài)硬盤(pán)(SSD)設(shè)計(jì)的存儲(chǔ)協(xié)議,旨在充分利用 PCIe總線的高速帶寬,提供高性能、低延遲的存儲(chǔ)解決方案。PCIe 6.0 為 NVMe 存儲(chǔ)設(shè)備提供了更高的帶寬和更低的延遲,顯著提升了存儲(chǔ)性能和能效,為數(shù)據(jù)存儲(chǔ)提供高速、低延遲的存儲(chǔ)方案。
PCIe 5.0使用傳統(tǒng)的NRZ(Non-Return-to-Zero)調(diào)制方式,當(dāng)數(shù)據(jù)速率達(dá)到32GT/s時(shí),奈奎斯特頻率也達(dá)到16GHz,頻率升高帶來(lái)的損耗與耦合噪聲和串?dāng)_的增加,使得PCIe 5.0信道成為最難處理的NRZ信道。
PCIe 6.0使用PAM-4調(diào)制,PAM-4使用四個(gè)信號(hào)電平(0, 1, 2, 3),形成三個(gè)“眼”(eye),每個(gè)電平對(duì)應(yīng)兩位數(shù)據(jù)。這種多電平調(diào)制方式顯著提高了數(shù)據(jù)傳輸效率。
PCIe 5.0的單眼眼圖與PCIe 6.0的3眼眼圖
PCIe 5.0和PCIe 6.0的信號(hào)奈奎斯特頻率都是16GHz,但是PAM-4的四個(gè)電壓電平在一個(gè)UI中使用2bit編碼,而NRZ是1bit編碼,因此使數(shù)據(jù)速率提高了一倍。
由于發(fā)射端(TX)的總體電壓擺幅沒(méi)有增加,PAM-4每只眼的可用電壓僅為NRZ的1/3。因此,信號(hào)對(duì)噪聲更加敏感,對(duì)于在TX和RX之間信號(hào)完整性的要求更高。從NRZ信號(hào)轉(zhuǎn)換為PAM-4信號(hào),對(duì)于信號(hào)抖動(dòng)的要求要提高2倍,同時(shí)會(huì)導(dǎo)致信噪比(SNR)退化9.6dB,因此封裝和PCB中的串?dāng)_和回波損耗也比PCIe 5.0高。
噪聲敏感性增加意味著我們用于PCIe的1e-12誤碼率(BER)不可行,并且需要前向糾錯(cuò) (FEC),因?yàn)镻AM-4信令的BER將比1e-12高幾個(gè)數(shù)量級(jí),第一位誤碼率(FBER)的目標(biāo)是1e-6。前向糾錯(cuò) (FEC) 彌補(bǔ)了這種性能上的不足。PCIe 6.0規(guī)范將額外的FEC延遲限制為2 納秒或更短。為了將鏈路重試幾率保持在較低水平,F(xiàn)EC和CRC(循環(huán)冗余校驗(yàn))需要協(xié)同工作。
因此PCIe 6.0采用了256字節(jié)FLIT作為標(biāo)準(zhǔn)大小的數(shù)據(jù)傳輸單元,為了支持FEC的固定數(shù)據(jù)包大小要求,PCIe 6.0 包含基于流控制單元 (FLIT) 的編碼。通過(guò)消除在物理層對(duì)數(shù)據(jù)包進(jìn)行分組的必要性,此修改還簡(jiǎn)化了數(shù)據(jù)管理程序,降低了延遲并提高了效率。
PCIe 6.0引入了一種新的低功耗狀態(tài),稱為L(zhǎng)0p,允許PCIe 6.0鏈路在不中斷數(shù)據(jù)流的情況下擴(kuò)展帶寬利用率,從而降低功耗。在前幾代中,為了改變鏈路寬度,整個(gè)鏈路重新訓(xùn)練時(shí),流量會(huì)中斷幾微秒,但L0p允許鏈路關(guān)閉通道,從而降低功耗,同時(shí)始終保持至少一個(gè)通道處于活動(dòng)狀態(tài),即使其他通道正在進(jìn)行鏈路訓(xùn)練。需要注意的是,這種新的低功耗模式僅在FLIT模式下可用,而L0s支持非FLIT模式。
這種新的低功耗模式是對(duì)稱的,這意味著TX和RX一起縮放,并且支持FLIT模式的重定時(shí)器也支持這種模式。在處于L0p期間空閑通道的PHY功耗預(yù)計(jì)與關(guān)閉通道時(shí)的功耗相近。
由于PCIE 6.0使用了PAM4信號(hào)制式,在36 dB損耗鏈路下,是無(wú)法達(dá)到1E-06誤碼率要求的。因此,PCIe 6.0規(guī)范不得不將整個(gè)物理通道的總損耗值降低到32 dB。
PCIe信號(hào)傳輸鏈路示意圖
如上圖PCIe信號(hào)的傳輸鏈路典型圖示,PCIe卡通過(guò)CEM連接器與主板上的芯片建立起來(lái)信號(hào)傳輸通道。因此在信號(hào)傳輸?shù)倪^(guò)程中會(huì)產(chǎn)生PCB走線損耗、封裝損耗、連接器損耗、過(guò)孔損耗等。PCIe 6.0規(guī)范對(duì)于各個(gè)部分的損耗要求如下:
PCIe6.0 規(guī)范對(duì)于傳輸損耗的要求
如上圖PCIe 6.0規(guī)范所示,對(duì)于PCB所產(chǎn)生的最大損耗不能超過(guò)13.5dB,只有PCB的損耗達(dá)到1.00dB/inch的時(shí)候,走線長(zhǎng)度才能達(dá)到常規(guī)的13.5inch長(zhǎng)度。
現(xiàn)階段,PCIE 4.0 16GT/s的速率,主板已經(jīng)要使用Megtron 4/Megtron 6板材,考慮到CPU芯片的尺寸在不斷增大,在PCIE 5.0和PCIE 6.0時(shí)代,主板PCB板材需要進(jìn)一步提升到Megtron 6/Megtron 7等級(jí)。銅箔類型需優(yōu)選HVLP(低粗糙度)以上等級(jí),以減少信號(hào)因趨膚效應(yīng)產(chǎn)生的損耗。