瀾起科技在服務(wù)器市場深耕多年,旗下有津逮系列的CPU?,有安全內(nèi)存模組,可提供高性能的安全服務(wù)器平臺。在互連芯片方面,瀾起科技在服務(wù)器內(nèi)存接口芯片市場上已經(jīng)處于世界領(lǐng)先地位,如今正積極拓展CXL內(nèi)存這一新興領(lǐng)域。

內(nèi)存系統(tǒng)的發(fā)展趨勢

隨著云計(jì)算、人工智能、高性能計(jì)算等技術(shù)的發(fā)展,處理器的算力不斷地在提高,處理器的核心數(shù)也越來越多,這也推動了對內(nèi)存大容量、高帶寬的需求。

從下圖可見,過去幾年來,平均分配到每個計(jì)算核心的內(nèi)存容量在不斷增加,從早期的3、4GB每個核心,到4-6GB每個核心。2021年,每個計(jì)算核心上面平均要分配8—10GB的內(nèi)存容量。

從帶寬來看,雖然整機(jī)的內(nèi)存總帶寬是在不斷提升,但是相對于核心數(shù)來說,每個核心上面的內(nèi)存帶寬提升并不明顯。

從內(nèi)存成本發(fā)展的趨勢來看,過去十幾二十年來,隨著DDR內(nèi)存的發(fā)展,單位內(nèi)存的成本在不斷下降。但近幾年來,下降的趨勢變得更平緩了。

很重要的原因在于,由于內(nèi)存的基本單元之一是電容,而電容的尺寸在目前情況下很難再進(jìn)一步縮小,這制約了內(nèi)存制程的進(jìn)一步提升,隨著內(nèi)存容量不斷提升,內(nèi)存條的成本就會上升。

內(nèi)存容量和帶寬持續(xù)發(fā)展面臨的巨大阻礙

如今,一方面需要更大容量的內(nèi)存,一方面又需要高帶寬的內(nèi)存訪問能力,如何增加內(nèi)存的帶寬和容量呢?

以往的做法中,就是在處理器當(dāng)中增加內(nèi)存通道,從上圖可見,處理器支持的內(nèi)存的通道數(shù),從早期的3通道、4通道,發(fā)展到了現(xiàn)在的6個內(nèi)存通道、8個內(nèi)存通道,將來的處理器還會支持12個內(nèi)存通道。

然而,處理器支持的內(nèi)存通道不可能無限地增加下去。

因?yàn)椋吭黾右粋€DDR內(nèi)存通道,都要增加很多信號,隨著通道數(shù)的增加,處理器要處理的信號數(shù)量會越來越多,這對于處理器的封裝設(shè)計(jì),以及主板的PCB設(shè)計(jì)來說,都是很大的挑戰(zhàn)。

另外,隨著內(nèi)存控制器越來越多,也會對處理器的功耗和散熱設(shè)計(jì)帶來很多的問題。

從經(jīng)濟(jì)性的角度來看,現(xiàn)有的DDR內(nèi)存延時低,但是成本較高,市場上出現(xiàn)了一些新的存儲介質(zhì),雖然延遲比較大,性能比較差,但是成本很低。如果系統(tǒng)能夠支持不同的存儲層級,意味著成本上面可進(jìn)行一些優(yōu)化。

但是,目前處理器主流的DDR接口無法兼容多種存儲介質(zhì),雖然處理器可以通過PCIe接口來支持其他的存儲介質(zhì),但無法在系統(tǒng)的角度保持不同存儲介質(zhì)間的緩存一致性,數(shù)據(jù)傳輸?shù)男薀o法進(jìn)一步提升。

CXL為內(nèi)存技術(shù)進(jìn)化提供了新的維度

CXL協(xié)議的出現(xiàn),為解決內(nèi)存系統(tǒng)存在的諸多問題提供了一個很好的解決方案。

CXL是一個開放的工業(yè)標(biāo)準(zhǔn),由英特爾首先提出,業(yè)界許多領(lǐng)先的企業(yè),包括處理器廠商,內(nèi)存廠商,芯片設(shè)計(jì)廠商,以及OEM、CSP的廠商,都加入到了這個聯(lián)盟當(dāng)中。

CXL協(xié)議在物理側(cè)上沿用了PCIe Gen5的規(guī)范,這也為高帶寬提供了很好的基礎(chǔ)。在物理層之上,它定義了三種不同的協(xié)議,根據(jù)支持的協(xié)議數(shù)量的不同,可以把CXL設(shè)備大致分成三個類型。

今天我們主要看第三種設(shè)備類型,也就是CXL的內(nèi)存擴(kuò)展。

設(shè)備三的類型,主要是支持CXL.mem協(xié)議,主機(jī)的處理器通過這個協(xié)議,把這個內(nèi)存讀寫的請求,發(fā)送到CXL的控制器,CXL控制器再把這些請求轉(zhuǎn)給后面的內(nèi)存控制器,并完成相應(yīng)的指令。

通過CXL串行接口,處理器可以利用相對較少的信號數(shù)量來擴(kuò)充內(nèi)存的帶寬和容量。同時,CXL控制器來解耦了處理器對存儲介質(zhì)的依賴,使得不同的存儲介質(zhì)都可以通過各自的CXL控制器連到同一個處理器上。

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

從上圖可以看到CXL與主機(jī)的連接方式,以及它在系統(tǒng)的體系當(dāng)中的位置。

左側(cè)是一個CXL設(shè)備,右側(cè)是一個支持CXL協(xié)議的處理器,兩者主要通過三種協(xié)議連接到一起的,分別是:CXL.io,CXL.mem和CXL.cache。

CXL.io協(xié)議跟PCIe的協(xié)議基本上保持一致,主要用于設(shè)備的發(fā)現(xiàn)、配置、初始化,還有一些中斷等服務(wù),CXL.io的數(shù)據(jù)和PCIe一樣,都是走到處理器的IO部分。

CXL.cache和CXL.mem是CXL新定義的協(xié)議:CXL.mem協(xié)議主要用于處理器訪問設(shè)備內(nèi)存,CXL.cache協(xié)議主要是用于設(shè)備來訪問系統(tǒng)的內(nèi)存。

這兩種協(xié)議的數(shù)據(jù),跟CXL.io不同,它是統(tǒng)一納入到處理器的內(nèi)存一致性管理單元。所以,它的數(shù)據(jù)延時相比于傳統(tǒng)的PCIe或者說CXL.io來說就能夠大大地縮小。

從邏輯上來看的話,設(shè)備的內(nèi)存控制器,就等價于處理器的內(nèi)存控制器。設(shè)備上的這些異構(gòu)處理核心,包括GP-GPU和一些加速器單元都等價于主機(jī)處理器的計(jì)算核心,等價于CPU的核心。

從主機(jī)處理器的角度來看,內(nèi)存發(fā)過來請求,都是從內(nèi)存一致性管理單元發(fā)出來的。根據(jù)內(nèi)存請求不同的地址范圍,這些請求,要么發(fā)送到處理器自己的內(nèi)存控制器上面,要么發(fā)送到CXL設(shè)備上面的內(nèi)存控制器。

同理,設(shè)備商的計(jì)算核心的內(nèi)存訪問請求,也跟跟主機(jī)處理器一樣,也需要發(fā)送到內(nèi)存一致性的管理單元。由內(nèi)存一致性管理單元來處理各個緩存的一致性的問題。最后才將相應(yīng)的數(shù)據(jù),發(fā)送到設(shè)備上的計(jì)算核心。

如此一來,內(nèi)存、設(shè)備的內(nèi)存,在系統(tǒng)中是統(tǒng)一分配和管理的,它由主機(jī)和這些設(shè)備共享,還能保持緩存的一致性,這就使得數(shù)據(jù)的訪問效率大大地提高。

CXL內(nèi)存模組是使用CXL作為內(nèi)存互連技術(shù)的內(nèi)存模組,它擺脫了傳統(tǒng)DDR模組的限制。

如上圖所示,它可以把不同的成本,不同性能的存儲介質(zhì),通過CXL的接口連接到系統(tǒng)當(dāng)中。

上圖是傳統(tǒng)的存儲層級圖,傳統(tǒng)的DDR內(nèi)存延遲是在100納秒左右,傳統(tǒng)的SSD設(shè)備的延遲在100微秒的級別,兩者中間存在很大的Gap。

CXL可以連接不同的存儲介質(zhì),填補(bǔ)中間的空檔,使得整個內(nèi)存系統(tǒng)在性能上和成本上都得到了大幅優(yōu)化。

瀾起科技在CXL產(chǎn)品上的進(jìn)展

瀾起科技作為CXL聯(lián)盟的成員之一,也很早就啟動了CXL內(nèi)存擴(kuò)展項(xiàng)目。

2022年第二季度,瀾起科技研發(fā)生產(chǎn)出了業(yè)界第一款的CXL內(nèi)存擴(kuò)展控制器,叫Memory Expander Controller,簡稱MXC,它屬于CXL第三類的設(shè)備,也就是CXL.mem設(shè)備。

MXC兼容CXL 1.1和2.0的規(guī)范,支持標(biāo)準(zhǔn)的DDR4和DDR5接口,可以廣泛地應(yīng)用在不同的模組類型上。比如傳統(tǒng)的PCIe卡的形式,或者是新型的EDSFF的形態(tài),或者服務(wù)器的背板。

MXC支持標(biāo)準(zhǔn)的DIMMS內(nèi)存條,也可以支持內(nèi)存Onboard的設(shè)計(jì)。瀾起科技在很早之前就跟業(yè)界主流的DRAM廠商、平臺廠商,像MemVerge這樣的軟件方案廠商展開合作,來共同推動CXL生態(tài)的發(fā)展。

MXC芯片能夠?yàn)樘幚砥魈峁└邘?、低延時的內(nèi)存訪問,實(shí)現(xiàn)高效的內(nèi)存資源共享,降低系統(tǒng)軟件棧的復(fù)雜度,降低數(shù)據(jù)中心總體內(nèi)存的成本。

CXL控制器方面,MXC芯片支持CXL.mem和CXL.io協(xié)議,物理層上是一個X8 PCIe5的接口,最高速度能夠支持32GT/s。MXC芯片支持豐富的RAS特性。

DDR控制器方面,MXC芯片兼容JEDEC標(biāo)準(zhǔn)的DDR4/5的規(guī)范,可以支持UDIMM、RDIMM和OnBoard的設(shè)計(jì)。支持的速率最高DDR4-3200MT/s,DDR5-4800MT/s,還支持一些低功耗的模式。

MXC芯片是內(nèi)存擴(kuò)展和池化的關(guān)鍵器件。

在一個服務(wù)器的節(jié)點(diǎn)當(dāng)中,MXC芯片可以以不同的模組形態(tài),進(jìn)行內(nèi)存的帶寬和容量擴(kuò)展,滿足一些高內(nèi)存帶寬的業(yè)務(wù)需求。也可以在新平臺中,繼續(xù)使用DDR4的內(nèi)存條,來降低內(nèi)存的成本。

隨著將來CXL 2.0平臺的推出以及Switch交換機(jī)的推出,多個CXL的模組還可以組成一個內(nèi)存池,通過Switch交換機(jī)連接到多個服務(wù)器節(jié)點(diǎn),靈活地滿足各臺服務(wù)器對內(nèi)存的需求。

內(nèi)存池化應(yīng)用的價值

在CXL技術(shù)出現(xiàn)之前,內(nèi)存和處理器是緊耦合的,內(nèi)存都部署在服務(wù)器節(jié)點(diǎn)內(nèi)。

有調(diào)查發(fā)現(xiàn),內(nèi)存成本是占整個服務(wù)器成本的比例很高,但是在實(shí)際使用中,內(nèi)存的使用效率并不高,有的內(nèi)存空間根本沒有被訪問,有的內(nèi)存空間則存放了一些比較冷的數(shù)據(jù),它訪問的頻率其實(shí)很低。

這部分的內(nèi)存沒能很好地發(fā)揮它的價值,如果用CXL來做池化,這意味著單節(jié)點(diǎn)服務(wù)器可以部署較少的內(nèi)存,大部分的內(nèi)存可以從服務(wù)器當(dāng)中解耦出來,通過CXL技術(shù),形成一個內(nèi)存池,連接到多個服務(wù)器上。

在使用中,通過Switch將內(nèi)存動態(tài)地分配到有需要的服務(wù)器上,從而可以大大提高內(nèi)存的使用效率,使得數(shù)據(jù)中心用較低的內(nèi)存成本,能夠滿足實(shí)際業(yè)務(wù)的需求。

以上,就是此次分享的主要內(nèi)容,瀾起科技關(guān)注到CXL會推動數(shù)據(jù)中心的內(nèi)存架構(gòu)的變革,也將繼續(xù)跟我們的合作伙伴一起,為CXL技術(shù)的發(fā)展做出貢獻(xiàn)。

分享到

zhupb

相關(guān)推薦