推出CXL内存互连计划,Rambus也开始迈入CXL领域

作为新一代服务器系统架构的热点,CXL前瞻:服务器领域将迎来怎样的新架构时代!一文对CXL组织自2019年成立以来的进展,CXL协议的特点和未来在服务器中的应用方式做了一番梳理和分析。从业界目前的关注度上可以看到,使用CXL协议进行服务器内存扩展和内存池化,这是CXL协议最吸引人的地方。要达成这一目的,除了由Intel推动在CPU侧集成CXL接口之外,还需要业界不同厂家开发对应的CXL控制器模块或芯片。在Microchip率先推出支持CXL协议的Retimer和Switch芯片之后,Rambus通过推出CXL内存互连计划,也开始加入这一领域。

在Rambus的历史上,开发过PCIe、CCIX等多种芯片接口IP。为了快速进入CXL领域,Rambus在不久前完成了对PLDA和AnalogX这两家芯片IP供应商的收购。

PLDA公司的业务范畴

PLDA(奥肯斯科技)是一家成立于1996年的法国公司,致力于为半导体行业提供领先的高速互连协议和技术IP。在2020年,PLDA宣布全面支持CXL和Gen-Z协议,其最新开发的Xpress LINK控制器IP是可参数化的CXL软IP控制器,专为ASIC和FPGA实现而设计。在PCIe Gen5协议的基础上,该控制器可以支持CXL的三种协议形式(CXL.io、CXL.cache和CXL.mem),以及CXL规范里定义的三种CXL设备类型。

AnalogX则是一家低功耗、多标准连接SerDes IP解决方案供应商,可以为用户提供芯片内部的PHY模块IP。

通过对PLDA和AnalogX这两家公司的收购,为Rambus提供了开发CXL产品所需要的关键技术。

Xpress LINK控制器对CXL.io协议的支持是较为容易的,毕竟CXL.io就是完全基于PCIe物理层。CXL.cache协议则提供了各类加速设备(如NIC卡)对CPU下挂主存的访问。通过CPU和加速模块之间的CXL总线,加速模块可以使用与CPU直接相连的内存,用于处理对内存容量要求较高的工作负载。如果没有CXL总线,加速模块只能去访问SSD或硬盘,用于存放负载运行过程中的临时数据,而这类相对较低速度存储介质的访问将极大地增加数据传输的延时。

CXL.memory协议是CXL规范最大的亮点,通过该协议,CPU具有了访问各类加速设备、内存扩展设备上所带内存的能力。如果CPU下挂的DDR内存容量不能够满足负载应用的需求,CPU就可以通过CXL总线去访问CXL内存扩展设备,使得应用负载获得超过主存容量之外的更大内存空间。

CXL内存扩展设备内部逻辑框图

 最基本的CXL内存扩展设备内部具有一个CXL Controller和一个DDR Controller。CXL控制器用于和一个主设备(CPU)相连,DDR控制器则用于访问多个NAND颗粒。这些都是在CXL 1.0规范里进行定义,然后由Microchip、Rambus这样的厂家来具体实现的芯片IP。

到了CXL 2.0阶段,用于内存池化的CXL Switch在规范中得到了定义。用于形成池化内存的内存扩展设备可以是支持CXL 1.0、1.1或2.0规范的设备。对于只支持CXL 1.0/1.1规范的设备,同一时刻只能被一个主设备访问,这样的CXL设备将会被看成一个单一的逻辑设备。对于支持CXL 2.0规范的设备,则可以被划分成多个逻辑设备,允许最多16个主设备通过CXL端口对该CXL设备进行访问。

通过CXL Switch实现内存的池化
 

使用了CXL Switch的架构仍然具有一定的局限性。首先,CXL 2.0 Switch不能像PCIe Switch那样进行级联。CXL Switch的上行端口只能与主设备相连,下行端口只能与CXL设备相连。其次,也是更重要的一点,通过CXL Switch互连不可避免地会增加传输延时。

于是,在通过CXL Switch实现多个主设备和多个CXL设备连接的同时,为了将CXL协议的性能发挥到极致,CXL联盟进一步借鉴了交换机中的做法,在多个主设备和多个CXL设备间实现直连架构。在这样的直连架构里,所谓的“CXL Switch”芯片将起到crossbar的功能,使得主设备能够点对点地访问CXL设备,而不会在CXL Switch芯片里面存在明显的缓冲。如此一来,由CXL Switch带来的延时将会降到最小。但作为实现代价,这样的CXL Switch将需要较多的功耗和较强的数据转发功能。而与之对应的CXL设备,将需要在芯片内部放置多个与不同主设备相连的CXL控制器。

CXL 2.0直连架构

 CXL 2.0直连架构的优势在延时数据方面有着直观的体现。从Rambus公布的数据来看,CXL 2.0规范里定义的内存访问延时在20~40ns之间。通过使用PLDA和AnalogX的PHY和CXL控制器IP,CXL设备和主设备间的直连延时可以降低到12ns。

CXL 2.0带来的延时性能提升

 Rambus基于Xpress LINK CXL控制器IP的具体产品虽然还没有公布,但从上面的延时数据和下面的逻辑框图来看,Rambus符合CXL规范的产品将极具竞争力。

Xpress LINK CXL控制器内部逻辑框图

一旦有了CXL控制器芯片,不论是Rambus或Microchip这样的芯片厂家,还是Samsung这样的内存颗粒厂家,甚至服务器系统厂家,就都可以开发基于CXL协议的各式各样内存扩展模块。不久前Samsung公布的E3.S形态内存扩展模块只是一个开端(据说该模块内部使用的就是Microchip的CXL控制器芯片),基于传统的PCIe Add-in-Card(AIC)形态,也可以在服务器内部进行内存容量的扩展。

使用CXL控制器芯片开发的内存扩展卡

在AIC卡上放几个DIMM插槽,直接使用标准的DDR内存条,这是在EDSFF形态存储模块之外的一种内存扩展方式。对于能力更强的厂家,甚至可以直接在AIC卡上放置CXL控制器芯片和DDR颗粒,自己做一块专有的内存扩展卡。至于现在业界常用的M.2 SSD存储模块,也可以拿来改装为内存扩展模块。

有了基于CXL总线的多种形态内存扩展模块,服务器内部的内存分配和扩展就可以更为灵活。在购买服务器时,CPU下挂的主存容量可以按照常规负载的需求进行配置,而不需去特别考虑极端情况下的应用需求。一旦服务器的主存不能满足负载需要,立刻就可以通过CXL总线来扩展内存容量,从而实现更高的内存利用率和更好的TCO成本。这应该就是CXL联盟所期望的解耦设计和应用了。

总 结

不论是Intel还是Rambus或Microchip,在CXL联盟里所做的工作,都是在通过内存扩展和池化的解决方案来推动数据中心架构的转型。设备解耦的话题在数据中心领域已经谈论了很多年,站在2021年的当下,这一目标已经越来越近。对应的,不论是服务器还是数据中心,未来都将面对新的技术革新。

下一篇
« Prev Post
上一篇
Next Post »