CXL Consortium

自從CXL聯盟2019年3月發布CXL第1版規格以來,目前已先後推出3個世代,一共有6個版本,包括1.0、1.1、2.0、3.0 、3.1,以及剛在2024年底發表的3.2版。

最早的CXL 1.0,提供基於PCIe 5.0實體層技術而成的快取一致性協定(Cache Coherent Protocol),讓CPU可以存取周邊運算加速裝置(如GPU、DPU)的記憶體。2019年9月發布的CXL 1.1,則引進周邊裝置層級的記憶體擴展能力(Device-Level Memory Expansion),以及一致性加速器模式(Coherent Accleartor Mode),可讓CPU存取記憶體擴充模組的記憶體,或是讓沒有獨立記憶體的周邊裝置存取CPU的記憶體,進而實現3種周邊裝置型態(Type 1、Type 2與Type 3)。

2020年11月推出的CXL 2.0,又引進CXL裝置間的交換連接(Switching)功能,可讓主機CPU與CXL周邊裝置之間構成多對多的連接,同時連接多個CXL周邊裝置,藉此構成分散式的記憶體池(Memory Polling),也新增了「確保資料完整性與加密的機制(Integrity and Data Encryption,IDE)」,如硬體式安全協定引擎、硬體式信任根(Hardware Root of Trust)等。

然後,是2022年8月發表的CXL 3.0,改用基於PAM-4編碼的PCIe 6.0作為實體層,藉此可將傳輸頻寬提升一倍,還引進了多層式交換(Multi-Level Switching)、主機端多重類型周邊裝置連接等新架構,可以組成規模更大、更複雜的CXL網狀連接應用架構,另外,CXL 3.0還有強化的硬體一致性機制,周邊裝置間的點對點記憶體直接存取(Direct Memory Access for Peer-to-Peer),彈性的記憶體共享(Memory Sharing),以及新的256位元流量控制單元規格等一系列新功能。

增強擴展性與安全性的CXL 3.1

我們兩年多前首次介紹CXL技術時,當時CXL規格剛發展到3.0版,在此之後,CXL聯盟又先後推出3.1與3.2等2個延伸改進版本,接下來,我們便聚焦於這部分的新進展。

首先,是2023年11月推出的CXL 3.1,重點放在底層網路連接架構的改進,以便能建構規模更大的CXL應用環境,引進的新功能包括:基於連接埠的路由(Port Based Routing,PBR),全域整合記憶體(Global Integrated Memory,GIM)、Fabric管理API、可信任安全協定(Trusted Security Protocol,TSP)等。

其中基於連接埠的路由(PBR),目的是為更大規模的CXL連接應用提供基礎,CXL先前只支援樹狀連接架構的階層式路由(Hierarchy Based Routing),裝置到裝置之間的連接,路徑僅有1條,CXL 3.1則可藉由PBR功能,讓裝置與裝置間的連接路徑不只有1條,從而能支援樹狀、環形、網格、星型、蝶型與多維(multi-dimensional)等多種連接拓樸架構,支援更大規模的記憶體連接定址。

同時,擁有PBR功能的CXL交換器,對GPU等加速器的周邊裝置,透過點對點直接記憶體存取的方式,提供直接使用Type 3 CXL記憶體模組的能力,擴展GPU等加速器的記憶體資源。

另一個新增設的全域整合記憶體(GIM)功能,則是由多部主機或周邊裝置的記憶體資源,集中組成統一定址記憶體空間,可讓主機與主機、主機與周邊裝置之間,藉此進行高效率的相互存取。

至於Fabric管理API則能搭配PBR架構的交換器,提供追蹤CXL環境中各類事件的方法。

可信任安全協定(TSP)的目的,則是改善大規模CXL應用環境的安全性,例如雲端供應商的多租戶虛擬機器環境,共享CXL周邊裝置的情況,此時可透過TSP來提供存取權限控制、虛擬機器隔離、靜態與動態加密等功能,確保存取共享記憶體資源時的安全性。

提高監控管理與安全性的CXL 3.2

最新的是2024年12月發布的CXL 3.2,重點放在管理與安全性的改善,提供一系列增強的監控與安全性功能。

其中關於CXL記憶體管理監控的功能增強,包括:用於記憶體分層管理的CXL熱頁監控單元(CXL Hot-Page Monitoring Unit,CHMU),可依效能分層管理記憶體,並將第2層記憶體中頻繁存取的熱頁(Hot-Page)遷移到效能更高的第1層記憶體。

CXL 3.2還提供了具有更高監控精細度的通用事件紀錄(Common event record)功能,可相容於PCIe的管理訊息傳遞(Management Message Pass Through),以及CXL線上韌體啟動功能等。

關於CXL裝置在作業系統與應用程式方面的功能改進,CXL 3.2則有下列這些新功能,像是:幫助改善記憶體資料傳輸可用性的封裝後修復(Post Package Repair,PPR)增強功能,以及對CXL記憶體設備的額外效能監控功能。

關於改進安全性的新功能,則是對CXL 3.1引進的可信任安全協定(TSP)提供進一步的增強,包括將CXL 2.0引進的完整性與資料加密機制(IDE)擴展到身分驗證,以提高安全性,並增強互操作性(interoperability)的合規性(compliance)測試。

在CXL 3.2提供的TSP增強相關功能中,還有兩項針對CXL.mem一致性快取協定的安全性改善。

首先,是針對主機管理的一致性記憶體裝置(Host-only Coherent Host-Managed Device Memory,HDM-H),亦即單純的Type 3類型CXL記憶體擴展裝置,為其定址區域提供新的Meta位元(Meta-bits)儲存功能。

另一項新功能,主要是針對採用後向失效(Back-Invalidation)、維持一致性的記憶體裝置(這類裝置被稱為HDM-DB),簡言之,這是可修改自身位於主機端記憶體內快取資料的Type 2或Type 3類型CXL裝置,提高安全性。

邁向超大規模應用環境的CXL架構

回顧CXL技術過去5年以來的發展演進歷程,我們可以清楚見到這項技術逐步成長,由簡單的小規模應用,如今邁向複雜、大規模的應用環境。

例如,最早登場的CXL 1.0與CXL 1.1,實現了讓主機CPU與周邊裝置相互存取記憶體資源的目標,並能透過擴充模組擴展CPU記憶體資源,但CPU與CXL周邊裝置之間,只能一對一互連,以致應用規模有限。

接下來的CXL 2.0,則引進多對多的交換連接架構,不僅大幅擴展了應用規模,讓多臺主機與CXL周邊裝置互連,還能藉此組成跨不同裝置、可彈性配置的分散式記憶體池。

而到了CXL 3.x,又採用更高傳輸頻寬的底層通道(即PCIe 6.0),引進多層式交換連接架構,以及更多樣化的連接拓樸結構,將CXL應用環境的規模,一舉擴大到數千個裝置的等級。

隨著應用規模的擴大與複雜化,自CXL 2.0起,也陸續引進一系列安全性與監控管理功能,如CXL 2.0導入的完整性與資料加密機制(IDE),CXL 3.1的可信任安全協定(TSP),CXL 3.2對快取一致性協定的安全性改善等,以確保大規模複雜連接環境下的安全性。

而這一系列發展的最終目的,便是讓CXL能適用由成千上萬個處理器或加速器,所組成的超大規模運算環境,從而為雲端資料中心、高效能運算與AI應用等環境,提供更靈活,更具效益的記憶體資源運用架構。


 CXL規格發展的階段區分 

 規格版本:CXL 1.x 

■ 應用規模:小型

■ 連接架構:點對點連接

■ 規格發展要項:實現主機CPU端與周邊裝置記憶體之間的互連,提供3種周邊裝置型態


 規格版本:CXL 2.0 

■ 應用規模:中型

■ 連接架構:單層交換連接

■ 規格發展要項:● 實現記憶體池應用

● 改進安全性(引進資料完整性,以及加密機制)


 規格版本:CXL 3.x 

■ 應用規模:大型

■ 連接架構:多層交換連接與多種連接拓樸

■ 規格發展要項:● 提高傳輸頻寬(搭配PCIe 6.0)

● 支援CPU與周邊裝置的大規模複雜連接

● 提供周邊裝置的DMA互連方式

● 改善安全性(引入TSP可信任安全協定,改進一致性快取安全)

● 增強監控與管理功能

資料來源:iThome整理,2025年4月


 CXL關鍵新功能:擴展互連環境的新路由架構 

CXL原本採用的階層式路由(HBR)(上圖),只提供樹狀連接拓樸,主機與周邊裝置間的連接路徑單一。

到了CXL 3.1,透過引進基於連接埠的路由(PBR)(上圖),可提供多元的連接路徑,進而支援環形、網格、蝶型等多種連接拓樸結構,構成更大規模、更複雜的主機與周邊裝置連結環境。圖片來源/ CXL Consortium


 CXL關鍵新功能:可信任安全協定 

透過CXL 3.1引進的可信任安全協定(TSP),能在不同用戶虛擬機器共享CXL周邊裝置的環境中,提供存取權限控制、虛擬機器隔離、靜態與動態加密等功能,確保存取共享記憶體資源的安全性。圖片來源/ CXL Consortium


 CXL關鍵新功能:全域整合記憶體 

CXL 3.1引進的全域整合記憶體(GIM)功能,可以將多臺主機與周邊裝置的記憶體,組成統一定址的記憶體空間,從而讓主機與周邊裝置能夠藉此架構進行高效率的存取。圖片來源/ CXL Consortium

熱門新聞

Advertisement