【轉】深度解讀Chiplet互連標準UCIe
深度解讀Chiplet互連標準UCIe
馬青年
屁顛屁顛的小馬駒
2 人贊同了該文章
BrodieWang:深度解讀Chiplet互連標準UCIe24 贊同 · 2 評論文章
本文最初發(fā)表于微信公眾號“車輪上的電腦”
深度解讀Chiplet互連標準“UCIe” (qq.com)
今年三月份出現(xiàn)的UCIe, 即Universal Chiplet Interconnect Express,是Intel、AMD、ARM、高通、三星、臺積電、日月光、Google Cloud、Meta和微軟等公司聯(lián)合推出的Die-to-Die互連標準,其主要目的是統(tǒng)一Chiplet(芯粒)之間的互連接口標準,打造一個開放性的Chiplet生態(tài)系統(tǒng)。UCIe在解決Chiplet標準化方面具有劃時代意義。
到目前為止,已經(jīng)成功商用的Die-to-Die互連接口協(xié)議多達十幾種,主要分為串行接口協(xié)議和并行接口協(xié)議。串行接口及協(xié)議有LR、MR、VSR、XSR、USR、PCIe、NVLink(NVIDIA),用于Cache一致性的CXL、CCIX、TileLink、OpenCAPI等;并行接口及協(xié)議有AIB/MDIO(Intel)、LIPINCON(TSMC)、Infinity Fabric(AMD)、OpenHBI(Xilinx)、BoW(OCP ODSA)、INNOLINK(Innosilicon)等。比較而言,串行接口一般延遲比較大,而并行接口可以做到更低延遲,但也會消耗更多的Die-to-Die互連管腳;而且因為要盡量保證多組管腳之間延遲的一致,所以每個管腳不易做到高速率。下面,讓我們從以下幾個層面來共同探討、解讀UCIe互連標準。
1 UCIe架構概覽
UCIe主要包括協(xié)議層(Protocol Layer)、適配層(Adapter Layer)和物理層(Physical Layer)。
UCIe協(xié)議層支持已經(jīng)廣泛使用的協(xié)議PCIe6.0、CXL2.0、CXL3.0,還支持用戶自定義的Streaming 協(xié)議來映射其他傳輸協(xié)議,協(xié)議層把數(shù)據(jù)轉換成Flit包進行傳輸。用戶通過用UCIe的適配層和PHY來替換PCIe/CXL的PHY和Link重傳功能,就可以實現(xiàn)更低功耗和性能更優(yōu)的Die-to-Die互連接口。
適配層在協(xié)議層和物理層中間,當協(xié)議層有多個協(xié)議同時工作時,ARB/MUX用來在多個協(xié)議之間進行選擇和仲裁。協(xié)議層提供CRC和Retry機制來以獲得更好的BER(Bit Error Rate)指標。同時負責Link狀態(tài)的管理,與對端UCIe Link進行協(xié)議相關參數(shù)的交換。
物理層主要用來解析Flit包在UCIe Data Lane上進行傳輸,主要包括Link Training、Lane Repair、Lane Reversal、Scrambling/De‐scrambling、Sideband Training等。
圖1 UCIe分層結構和功能
01?Package
UCIe支持兩種封裝,Standard Package (2D) 和Advanced Package (2.5D)。Standard Package主要用于低成本、長距離(10mm到25mm)互連,Bump間距要求為100um到130um,互連線在有機襯底上進行布局布線即可實現(xiàn)Die間數(shù)據(jù)傳輸。
圖2 Standard Package封裝示意圖
圖3 Standard Package特性指標
Advanced Package主要用于高性能、短距離(小于2mm)互連,以獲得更大傳輸帶寬和更低延遲。但其Bump間距要求為25um到55um,一般要通過Interposer或者Silicon Bridge進行互連,封裝成本比較高,下圖示例了三種不同的封裝形式。
圖4 使用Silicon Bridge的Advanced Package
圖5 使用Interposer的Advanced Package
圖6 使用Interposer和Silicon Bridge的Advanced Package
圖7 Advanced Package特性指標
02?Interface
UCIe定義了協(xié)議層和適配層之間的傳輸接口FDI (Flit-aware D2D Interface),適配層和物理層之間的傳輸接口RDI(Raw D2D Interface)。UCIe 定義了一組Die-to-Die之間的物理接口,稱為module。每個module包含Main Band用于數(shù)據(jù)傳輸,Side Band用于寄存器配置、初始化和Link Training,其頻率固定跑在800MHz,Side Band相關邏輯電路需要處于“always on”電壓域。
一個Standard Package module包含的信號線如下圖所示,其中包括16個單端TX數(shù)據(jù)線(16 TX Lane)和16個單端RX數(shù)據(jù)線(16 RX Lane)。Side Band由兩組不同方向的單端數(shù)據(jù)線和時鐘線組成。
圖8 Standard Package module
一個Advanced Package module包含的信號線如下圖所示,其中包括64個單端TX數(shù)據(jù)線和64個單端RX數(shù)據(jù)線,每32個數(shù)據(jù)管腳提供2個額外的管腳用于Lane repair,而Standard Package module沒有額外管腳用于Lane repair。Side Band由兩組不同方向的單端數(shù)據(jù)線和時鐘線組成。
圖9 Advanced Package module
單個module在Standard Package中是一個x16的數(shù)據(jù)接口,在Advanced Package中是一個x64的數(shù)據(jù)接口。可以通過使用single module來實現(xiàn)帶寬擴展,每個module可以獨立運行于不同頻率。
圖10 Single module configuration for Standard Package
UCIe允許2個或者4個module的配置,如圖11和圖12所示,這時每個配置中的module不能獨立運行。
圖11 Two module configuration for Standard Package
圖12 Four module configuration for Standard Package
03?Speed and Clock
如圖13中的Die Edge Bandwidth Density是Die-to-Die接口的一個關鍵指標,其假設條件為45um(Advanced Package)和110um(Standard Package)的bump pitch。
圖13 UCIe帶寬指標
對Advanced Package ,UCIe支持較寬范圍的bump pitch(25 ~55um),隨著工藝進步,更小的bump pitch將會成為主流,這樣可以降低接口工作頻率,減小面積,降低功耗。如下圖14。
圖14 UCIe Advanced Package接口頻率
下圖為時鐘架構圖,時鐘頻率一般是數(shù)據(jù)速率的1/2(雙沿采樣),當數(shù)據(jù)速率為24GT/s或32GT/s時,時鐘頻率可以是數(shù)據(jù)速率的1/4。當數(shù)據(jù)速率變高時,發(fā)送端必須支持Per Lane de-skew,因為接收端的眼圖會變得更小,任何數(shù)據(jù)Lane之間的skew都會導致鏈路性能的下降。
圖15 隨路時鐘架構
圖16 隨路時鐘頻率和速率
04?Latency
除了帶寬,Latency是另外一個重要指標。UCIe Specification 1.0中提出了小于等于2ns的指標,這主要包括適配層和物理層的延遲,即從發(fā)送端的FDI接口到PHY Main Band接口,然后再從接收端的PHY Main Band接口到FDI接口的延遲(TX+RX)。其中沒有包括接口信號在有機襯底或者Interposer上的布線延遲,也沒有包括協(xié)議層處理延遲,如果采用PCIe或CXL,延遲一般較大,UCIe要想用在對延時比較敏感的互連場景,比如CPU Die和CPU Die之間的連接,還是比較困難的。
圖17 UCIe功耗延遲指標
2 協(xié)議層
UCIe支持PCIe 6.0 Standard 256B Flit Mode、CXL 2.0 "CXL 68B-Enhanced Flit Mode"和CXL3.0 "CXL 256B Flit Mode” ,其子協(xié)議CXL.io, CXL.cache, CXL.mem是單獨協(xié)商的,不支持CXL 1.1。在這些模式下,Retry機制在適配層實現(xiàn)。
PCIe6.0、CXL2.0和CXL3.0都支持一種模式叫RAW Mode,用戶自定義的Streaming協(xié)議只支持RAW Mode,在這種模式下,所有64B或者256B數(shù)據(jù)都由協(xié)議層填充,適配層做透明傳輸,CRC、FEC和Retry都由協(xié)議層處理。
協(xié)議層支持的協(xié)議模式和Flit格式在SOC集成時或者Die bring up時確定。在協(xié)商過程中適配層通過FDI接口把這些信息作為Link Training的一部分傳給協(xié)議層。
圖18 64B RAW Mode數(shù)據(jù)格式
圖19 PCIe 6.0 Standard 256B Flit Mode數(shù)據(jù)格式
3 適配層
UCIe可以配置2個協(xié)議棧運行在同一個物理鏈路(physical Link)上,通過多路選擇器來選擇不同的協(xié)議棧,條件是兩個協(xié)議棧的帶寬總和不能超過一個物理鏈路的帶寬。適配層可以在協(xié)議Flit后插入空Flit,來解決物理鏈路和RDI接口之間的速率不匹配問題。
圖20適配層復用兩個CXL協(xié)議棧
在Main Band上傳送Flit數(shù)據(jù)之前,首先要進行Link的初始化。如下圖總共分為4個Stage,比如Stage 0 每個Die獨立進行,下圖藍色方框大小不一樣表示不同的Die用不同的時間來完成初始化。Stage 3涉及到適配層之間的參數(shù)交換,用來Die之間進行協(xié)議和Flit格式的協(xié)商。
圖21 Link初始化步驟
當協(xié)議層發(fā)送64 Byte Flit數(shù)據(jù),適配層一般會在有效數(shù)據(jù)Flit的前面加上2 Byte Flit Header,后面加上2 Byte CRC值,對于256B Flit一般需要額外增加2 Byte CRC,每128B Flit對應2 Byte CRC。
適配層最主要的一項功能是CRC、FEC、Retry,CRC最多可以檢測3bit隨機錯誤。
當Link速度超過8GT/s時,適配層必須支持Retry機制(除了RAW Mode)。如果在最初Link bring up過程中使能Retry機制,即使Link速率在運行過程中下降,也不能在運行過程中關閉Retry機制,只能在下次Link bring up時關閉。UCIe中的Retry機制是PCIe 6.0 Flit Mode下Retry機制的簡化版。
4 物理層
物理層主要包括邏輯物理層、電氣物理層和AFE(analog front-end)。限于篇幅,這里主要介紹Byte to Lane Map、Lane reversal、Lane repair和Equalization。
圖22物理層構成
數(shù)據(jù)包是通過Byte形式傳輸?shù)模聢D顯示了一個Byte是在4個時鐘周期內如何映射到一個Data Lane上傳輸?shù)摹?/p>
圖23 Byte to Lane Mapping
下圖演示了一個CXL 256B Flit如何在一個x64的接口上進行映射傳輸,每個Byte占用一個Lane。
圖24 Byte map for x64 interface
Lane reversal主要用于一個module內的物理接口信號,比如近端Die的Data Lane 0連接到遠端Die的Data Lane (N-1) ,Data Lane 1連接到遠端Die的Data Lane (N-2) 。Standard Package 中N為16,Advanced Package中N為64。
Lane repair只有Advanced Package支持,每個module支持4個冗余Bump用于Data Lane,一個冗余Bump用于Clock和Track Lane,一個冗余Bump用于Valid Lane。
每32個Data Lane都有對應的2個冗余Data Bump用來進行修復使用,TRD_P [1:0] 對應TD_P[31:0],TRD_P[3:2]對應TD_P[63:32],RRD_P[1:0]對應RD_P[31:0],RRD_P[3:2]對應RD_P[63:32]。當有些Data Lane有問題后,通過如下圖左移或者右移的方式進行Lane重映射,把有問題的Bump移除掉。
圖25 Data Lane repair
當數(shù)據(jù)速率達到16GT/s時,推薦使能發(fā)送端的Equalization,到24GT/s或32GT/s時,必須使能發(fā)送端的Equalization以緩解通道間的碼間干擾(ISI)效益。接收端的Equalization是可選的,在發(fā)送端沒有Equalization的時候,使能接收端Equalization可以保證鏈路運行正常。
下圖是在不同數(shù)據(jù)速率下的原始BER,對于BER為1E-15的情況,必須使能CRC和Retry機制來確保FIT(Failure In Time)遠小于1(1 FIT = 1 device failure in 109 Hours)。對于BER為1E-27的情況,可以使能parity或者CRC來確保FIT遠小于1。
圖26原始BER
5 總結
UCIe物理接口采用雙沿采樣,數(shù)據(jù)速率一般是時鐘頻率的兩倍,可以認為是一種并行Die-to-Die接口標準;但是,協(xié)議層如果采用PCIe或者CXL,協(xié)議層的延遲估計要超過10ns或者更多,在對延遲敏感的場景中使用有局限性,離真正的“通用”還有一定距離。如果用戶自定義協(xié)議層可以做到比PCIe或CXL更低延遲,相信UCIe應用的范圍將會更加廣闊。
說明:
1.本文是對UCIe Specification Revision 1.0核心內容的提煉,若讀者想對其中細節(jié)做進一步了解,可以參考其官方文檔。
2.圖片來源:UCIe Specification Revision 1.0
發(fā)布于 2023-07-27 11:14?IP 屬地江蘇