CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

2022中國資料與儲存峰會期間,CXL大記憶體論壇在線上召開,瀾起科技技術市場經理邱錚在論壇上發表了題為《CXL記憶體擴充套件解決方案》的主題演講,內容介紹了CXL互聯協議在解決記憶體發展瓶頸方面的價值,並以瀾起科技的MXC為例,介紹了具體的實現方案。

以下內容根據演講速記整理而來:

關於瀾起科技的簡要介紹

瀾起科技是一家國際領先的資料處理及互連晶片設計公司,主要致力於為雲計算、人工智慧領域提供高效能、低功耗的晶片解決方案。

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

瀾起科技在伺服器市場深耕多年,旗下有津逮繫列的CPU®,有安全記憶體模組,可提供高效能的安全伺服器平臺。在互連晶片方面,瀾起科技在伺服器記憶體介面晶片市場上已經處於世界領先地位,如今正積極拓展CXL記憶體這一新興領域。

記憶體系統的發展趨勢

隨著雲計算、人工智慧、高效能計算等技術的發展,處理器的算力不斷地在提高,處理器的核心數也越來越多,這也推動了對記憶體大容量、高頻寬的需求。

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

從下圖可見,過去幾年來,平均分配到每個計算核心的記憶體容量在不斷增加,從早期的3、4GB每個核心,到4-6GB每個核心。2021年,每個計算核心上面平均要分配8—10GB的記憶體容量。

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

從頻寬來看,雖然整機的記憶體總頻寬是在不斷提升,但是相對於核心數來說,每個核心上面的記憶體頻寬提升並不明顯。

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

從記憶體成本發展的趨勢來看,過去十幾二十年來,隨著DDR記憶體的發展,單位記憶體的成本在不斷下降。但近幾年來,下降的趨勢變得更平緩了。

很重要的原因在於,由於記憶體的基本單元之一是電容,而電容的尺寸在目前情況下很難再進一步縮小,這制約了記憶體製程的進一步提升,隨著記憶體容量不斷提升,記憶體條的成本就會上升。

記憶體容量和頻寬持續發展面臨的巨大阻礙

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

如今,一方面需要更大容量的記憶體,一方面又需要高頻寬的記憶體訪問能力,如何增加記憶體的頻寬和容量呢?

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

以往的做法中,就是在處理器當中增加記憶體通道,從上圖可見,處理器支援的記憶體的通道數,從早期的3通道、4通道,發展到了現在的6個記憶體通道、8個記憶體通道,將來的處理器還會支援12個記憶體通道。

然而,處理器支援的記憶體通道不可能無限地增加下去。

因為,每增加一個DDR記憶體通道,都要增加很多訊號,隨著通道數的增加,處理器要處理的訊號數量會越來越多,這對於處理器的封裝設計,以及主機板的PCB設計來說,都是很大的挑戰。

另外,隨著記憶體控制器越來越多,也會對處理器的功耗和散熱設計帶來很多的問題。

從經濟性的角度來看,現有的DDR記憶體延時低,但是成本較高,市場上出現了一些新的儲存介質,雖然延遲比較大,效能比較差,但是成本很低。如果系統能夠支援不同的儲存層級,意味著成本上面可進行一些最佳化。

但是,目前處理器主流的DDR介面無法相容多種儲存介質,雖然處理器可以透過PCIe介面來支援其他的儲存介質,但無法在系統的角度保持不同儲存介質間的快取一致性,資料傳輸的效率無法進一步提升。

CXL為記憶體技術進化提供了新的維度

CXL協議的出現,為解決記憶體系統存在的諸多問題提供了一個很好的解決方案。

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

CXL是一個開放的工業標準,由英特爾首先提出,業界許多領先的企業,包括處理器廠商,記憶體廠商,晶片設計廠商,以及OEM、CSP的廠商,都加入到了這個聯盟當中。

CXL協議在物理側上沿用了PCIe Gen5的規範,這也為高頻寬提供了很好的基礎。在物理層之上,它定義了三種不同的協議,根據支援的協議數量的不同,可以把CXL裝置大致分成三個型別。

今天我們主要看第三種裝置型別,也就是CXL的記憶體擴充套件。

裝置三的型別,主要是支援CXL。mem協議,主機的處理器透過這個協議,把這個記憶體讀寫的請求,傳送到CXL的控制器,CXL控制器再把這些請求轉給後面的記憶體控制器,並完成相應的指令。

透過CXL序列介面,處理器可以利用相對較少的訊號數量來擴充記憶體的頻寬和容量。同時,CXL控制器來解耦了處理器對儲存介質的依賴,使得不同的儲存介質都可以透過各自的CXL控制器連到同一個處理器上。

於是,從系統的視角來看,這就形成了可統一管理的、具有不同特性的儲存空間。

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

從上圖可以看到CXL與主機的連線方式,以及它在系統的體系當中的位置。

左側是一個CXL裝置,右側是一個支援CXL協議的處理器,兩者主要透過三種協議連線到一起的,分別是:CXL。io,CXL。mem和CXL。cache。

CXL。io協議跟PCIe的協議基本上保持一致,主要用於裝置的發現、配置、初始化,還有一些中斷等服務,CXL。io的資料和PCIe一樣,都是走到處理器的IO部分。

CXL。cache和CXL。mem是CXL新定義的協議:CXL。mem協議主要用於處理器訪問裝置記憶體,CXL。cache協議主要是用於裝置來訪問系統的記憶體。

這兩種協議的資料,跟CXL。io不同,它是統一納入到處理器的記憶體一致性管理單元。所以,它的資料延時相比於傳統的PCIe或者說CXL。io來說就能夠大大地縮小。

從邏輯上來看的話,裝置的記憶體控制器,就等價於處理器的記憶體控制器。裝置上的這些異構處理核心,包括GP-GPU和一些加速器單元都等價於主機處理器的計算核心,等價於CPU的核心。

從主機處理器的角度來看,記憶體發過來請求,都是從記憶體一致性管理單元發出來的。根據記憶體請求不同的地址範圍,這些請求,要麼傳送到處理器自己的記憶體控制器上面,要麼傳送到CXL裝置上面的記憶體控制器。

同理,裝置商的計算核心的記憶體訪問請求,也跟跟主機處理器一樣,也需要傳送到記憶體一致性的管理單元。由記憶體一致性管理單元來處理各個快取的一致性的問題。最後才將相應的資料,傳送到裝置上的計算核心。

如此一來,記憶體、裝置的記憶體,在系統中是統一分配和管理的,它由主機和這些裝置共享,還能保持快取的一致性,這就使得資料的訪問效率大大地提高。

CXL記憶體模組是使用CXL作為記憶體互連技術的記憶體模組,它擺脫了傳統DDR模組的限制。

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

如上圖所示,它可以把不同的成本,不同效能的儲存介質,透過CXL的介面連線到系統當中。

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

上圖是傳統的儲存層級圖,傳統的DDR記憶體延遲是在100納秒左右,傳統的SSD裝置的延遲在100微秒的級別,兩者中間存在很大的Gap。

CXL可以連線不同的儲存介質,填補中間的空檔,使得整個記憶體系統在效能上和成本上都得到了大幅最佳化。

瀾起科技在CXL產品上的進展

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

瀾起科技作為CXL聯盟的成員之一,也很早就啟動了CXL記憶體擴充套件專案。

2022年第二季度,瀾起科技研發生產出了業界第一款的CXL記憶體擴充套件控制器,叫Memory Expander Controller,簡稱MXC,它屬於CXL第三類的裝置,也就是CXL。mem裝置。

MXC相容CXL 1。1和2。0的規範,支援標準的DDR4和DDR5介面,可以廣泛地應用在不同的模組型別上。比如傳統的PCIe卡的形式,或者是新型的EDSFF的形態,或者伺服器的背板。

MXC支援標準的DIMMS記憶體條,也可以支援記憶體Onboard的設計。瀾起科技在很早之前就跟業界主流的DRAM廠商、平臺廠商,像MemVerge這樣的軟體方案廠商展開合作,來共同推動CXL生態的發展。

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

MXC晶片能夠為處理器提供高頻寬、低延時的記憶體訪問,實現高效的記憶體資源共享,降低系統軟體棧的複雜度,降低資料中心總體記憶體的成本。

CXL控制器方面,MXC晶片支援CXL。mem和CXL。io協議,物理層上是一個X8 PCIe5的介面,最高速度能夠支援32GT/s。MXC晶片支援豐富的RAS特性。

DDR控制器方面,MXC晶片相容JEDEC標準的DDR4/5的規範,可以支援UDIMM、RDIMM和OnBoard的設計。支援的速率最高DDR4-3200MT/s,DDR5-4800MT/s,還支援一些低功耗的模式。

MXC晶片是記憶體擴充套件和池化的關鍵器件。

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

在一個伺服器的節點當中,MXC晶片可以以不同的模組形態,進行記憶體的頻寬和容量擴充套件,滿足一些高記憶體頻寬的業務需求。也可以在新平臺中,繼續使用DDR4的記憶體條,來降低記憶體的成本。

隨著將來CXL 2。0平臺的推出以及Switch交換機的推出,多個CXL的模組還可以組成一個記憶體池,透過Switch交換機連線到多個伺服器節點,靈活地滿足各臺伺服器對記憶體的需求。

記憶體池化應用的價值

在CXL技術出現之前,記憶體和處理器是緊耦合的,記憶體都部署在伺服器節點內。

CXL大佬說(4):瀾起科技的CXL記憶體擴充套件技術簡介

有調查發現,記憶體成本是佔整個伺服器成本的比例很高,但是在實際使用中,記憶體的使用效率並不高,有的記憶體空間根本沒有被訪問,有的記憶體空間則存放了一些比較冷的資料,它訪問的頻率其實很低。

這部分的記憶體沒能很好地發揮它的價值,如果用CXL來做池化,這意味著單節點伺服器可以部署較少的記憶體,大部分的記憶體可以從伺服器當中解耦出來,透過CXL技術,形成一個記憶體池,連線到多個伺服器上。

在使用中,透過Switch將記憶體動態地分配到有需要的伺服器上,從而可以大大提高記憶體的使用效率,使得資料中心用較低的記憶體成本,能夠滿足實際業務的需求。

以上,就是此次分享的主要內容,瀾起科技關注到CXL會推動資料中心的記憶體架構的變革,也將繼續跟我們的合作伙伴一起,為CXL技術的發展做出貢獻。