快速火起来的CXL到底是什么?CXL与 PCIe 5两者有何关联

电子芯技术 2021-11-23

三星pcidram

3634 字丨阅读本文需 9 分钟

美光科技宣布放弃进一步开发3D XPoint,转而专注于快速兴起的Compute Express Link(CXL)互连标准相关产品。美光科技并不是第一家推出CXL相关产品的公司。

Rambus也在整合其多种知识产权,并进行一些收购,以应对快速增长的CXL市场。而三星最近也推出了高性能DRAM模块。

三星的DDR5 DRAM内存模块专门用于数据密集型应用,例如人工智能(AI)和高性能计算(HPC),这类应用均需要能够显著扩展内存容量和带宽的服务器系统。自2019年CXL联盟成立以来,三星一直与多家数据中心、服务器和芯片制造商合作开发下一代接口技术。图1所示为三星的首款CXL内存模块DDR5 DRAM。三星认为CXL将在2022年获得广泛关注,届时DDR5应是带宽、容量扩展、速度、可靠性以及电源效率方面最具性价比的解决方案。

图1:三星的首款CXL内存模块DDR5 DRAM。(图片来源:三星)

三星电子数据中心平台集团副总裁兼负责人Cheolmin Park表示,公司已收到来自一些大数据中心和OEM客户的许多正面反馈和众多合作提案,这些客户感兴趣的一些新兴应用均要求更大的内存容量和带宽。“要在系统级别提升带宽和容量,我们认为,基于DRAM的CXL内存扩展将是最佳解决方案。”Park预计,三星与客户就CXL和DDR进行的合作将在今年下半年开始展现成果。“我们预计整个市场对三星CXL内存的需求将持续稳步增长。”

促进这一市场发展的原因在于,用于实现CXL的技术(如PCIe接口技术)已经过验证并广泛商业化。“类似于将DDR控制器集成到AP或CPU中,将DDR接口与CXL控制器集成在一起应该不会有什么困难。”但他也承认,对于支持CXL接口的加速 器和网络接口卡,保持点对点通信或直接内存访问(DMA)的稳定可能具有一定的难度。

Park表示,三星的CXL内存是添加了一个CXL层来对现有PCIe基础设施进行优化,从而满足客户对内存扩展的需求。他们还将提供CXL内存软件开发套件(CMDK),确保其性能、系统可靠性、软件环境和安全性与传统内存系统相当。他表示,三星选择在DRAM中采用DDR5,是因为他们预计到2022年服务器系统实际支持CXL时,基于CXL的DRAM将成为主流。“我们预计,在带宽、容量扩展、速度、可靠性以及能效方面,DDR5将是最具性价比的解决方案。”

尽管CXL还不是主流,但Park表示,随着英特尔、AMD和ARM服务器平台对CXL的支持越来越多,现在应该重视这个市场了。“市场对CXL内存的需求不断增加,我们相信现在是主机和设备制造商通力合作为CXL构建大规模生态系统的最佳时机。”他表示,三星会继续探索如何将CXL的应用扩展到DRAM之外,包括NAND和存储类内存(SCM)。

IDC固态存储和支持技术研究副总裁Jeff Janukowicz表示,人们对通过扩展内存池来支持某些下一代工作负载有着浓厚的兴趣,无论是存内数据库还是人工智能和机器学习(ML)等新兴应用,对性能都有着更高的要求。“CXL这样的技术恰好可以在这里找到用武之地。”他说,除了DRAM,一些SCM产品也转而应用CXL接口就不足为奇了。

内存并不是CXL产品的唯一用途。CXL联盟成员Microchip Technology凭借其XpressConnect CXL 2.0重定时器脱颖而出,该产品支持AI、ML和其他计算任务所需的超低延迟信号传输,从而满足数据中心工作负载的高性能计算需求。PCIe重定时器通常是一颗放置在PCB上的集成电路(IC)芯片,可用于扩展PCIe总线的长度。重定时器能够双向输出重新生成的信号,就像一个新的PCIe设备,解决由互连、PCB和电缆变化引起的不连续性(这些不连续性常会导致PCIe信号不佳)。

图2:CXL内存扩展为主机(CPU)提供了更多的主内存,可以满足大容量工作负载的高性能要求,而CXL内存池最终支持分解与组合。(图片来源:Rambus)

对Rambus而言,CXL不仅仅是一种池内存,它还利用其IP来推动最近出台的CXL内存互连计划,以支持不断发展的数据中心架构及服务器工作负载的持续增长和专业化。该公司IP内核总经理Matt Jones表示,公司收购了CXL和PCIe数字控制器供应商PLDA和PHY供应商AnalogX,有力地补充了公司的服务器内存接口芯片产品和专业技术。从本质上讲,Rambus的IP可以分为两半,存储器部分和芯片对芯片部分,后者包括Serdes接口。“这些收购完美贴合我们的计划。”Jones指出。

Jones说,Rambus意识到数据中心的新架构正从作为计算单元的服务器转变为分解模型,这样计算资源就可以进行“组合”来满足不同工作负载的需求(图2)。一段时间以来,扩展或池设备一直是该公司研究的方向。他说,CXL内存互连计划对Rambus意义重大,他们将各式各样的模块整合在一起,包括CXL、PCIe PHY、与主机处理器和其他设备连接的控制器、DDR内存PHY、与内存设备连接的控制器,以及先进的加密内核和安全协议引擎,以实现安全的固件下载,并利用完整性和数据加密(IDE)安全功能来防止数据篡改和物理攻击。

Rambus研究员Steve Woo表示,随着数据中心架构的演进,公司越来越重视半导体和数据路径的安全性,十年前的收购开始在公司的CXL战略中发挥重要作用。另外,位于主机处理器和实际DRAM之间并与DIMM相连的缓冲芯片也起到一定作用。“我们拥有很好的芯片产品,还有很多出色的模块,可以在CPU和实际存储设备之间的缓冲区中工作。”

Woo指出,随着新兴数据架构的出现,计算不再是瓶颈。CXL技术支持在服务器机箱外使用大型内存池,我们可以根据需要进行配置,并在完成任务后释放资源。“这实际上事关数据与数据移动,人们希望找到与CPU关联没那么紧密的内存方法。”

什么是Compute Express Link?

Compute Express Link (CXL) 是一种开放标准的行业支持的缓存一致性互连,用于处理器、内存扩展和加速 器的链接。从本质上讲,CXL 技术维护 CPU 内存空间和连接设备上的内存之间的内存一致性。这可以实现资源共享(或池化)以获得更高的性能,降低软件堆栈的复杂性,并降低整体系统成本。CXL 联盟已经确定了可从新互连中受益的三类主要设备:

类型 1 设备:智能 NIC 等加速 器通常缺乏本地内存。但是,它们可以利用 CXL.io 协议和 CXL.cache 与主机处理器的 DDR 内存进行通信。

类型 2 设备: GPU、ASIC 和 FPGA 都配备了 DDR 或 HBM 内存,并且可以使用 CXL.memory 协议以及 CXL.io 和 CXL.cache,使主机处理器的内存本地可用于加速 器——并且加速 器的内存在本地可供 CPU 使用。它们还位于同一个缓存一致域中,有助于提升异构工作负载。

类型 3 设备: CXL.io 和 CXL.memory 协议可用于内存扩展和池化。例如,连接到 CXL 总线的缓冲区可用于实现 DRAM 容量扩展、增加内存带宽或添加持久内存,而不会丢失 DRAM 插槽。在现实世界中,这意味着以前取代 DRAM 的高速、低延迟存储设备可以用支持 CXL 的设备代替它。这些可能包括各种形式因素的非易失性技术,例如附加卡、U.2 和 EDSFF。

CXL 协议和标准

Compute Express Link (CXL) 标准通过三种协议支持各种用例,当中包括:CXL.io、CXL.cache 和 CXL.memory。

CXL.io:该协议在功能上等同于 PCIe 5.0 协议,并利用了 PCIe 的广泛行业采用和熟悉程度。作为基础通信协议,CXL.io 用途广泛,可解决广泛的用例。

CXL.cache:该协议专为更具体的应用程序而设计,使加速 器能够有效地访问和缓存主机内存以优化性能。

CXL.memory:该协议使主机(例如处理器)能够使用加载/存储命令访问设备连接的内存。

这三种协议共同促进了计算设备(例如 CPU 主机和 AI 加速 器)之间内存资源的一致共享。从本质上讲,这通过启用共享内存的通信来简化编程。

Compute Express Link 与 PCIe 5:这两者有何关联?

CXL 2.0 建立在PCIe 5.0的物理和电气接口之上,其协议建立一致性、简化软件堆栈并保持与现有标准的兼容性。

具体来说,CXL 利用 PCIe 5 功能,允许备用协议使用物理 PCIe 层。当启用 CXL 的加速 器插入 x16 插槽时,设备以默认的 PCI Express 1.0 传输速率 (2.5 GT/s) 与主机处理器的端口协商。Compute Express Link 事务协议仅在双方都支持 CXL 时激活。否则,它们将作为 PCIe 设备运行。

根据VentureBeat 的Chris Angelini 的说法,CXL 和 PCIe 5 的对齐意味着这两种设备类别都可以以 32 GT/s(每秒千兆传输)或高达 64 GB/s 的速度通过 16 通道链路在每个方向上传输数据。

Angelini 还指出,CXL 的性能需求很可能成为采用 PCIe 6.0 的驱动因素。

CXL 的特点和优势

简化和改进低延迟连接和内存一致性可显着提高计算性能和效率,同时降低 TCO。

此外,CXL 内存扩展功能可实现超出当今服务器中紧密绑定的 DIMM 插槽的额外容量和带宽。CXL 可以通过连接 CXL 的设备向 CPU 主机处理器添加更多内存。当与持久内存配对时,低延迟 CXL 链接允许 CPU 主机结合 DRAM 内存使用此额外内存。大容量工作负载的性能取决于大内存容量,例如 AI。

考虑到这些是大多数企业和数据中心运营商正在投资的工作负载类型,CXL 的优势显而易见。

CXL 2.0 规范:有什么新变化?

Compute express link (cxl):内存池图 – Rambus

(1)内存池

CXL 2.0 支持切换以启用内存池。使用 CXL 2.0 交换机,主机可以访问池中的一个或多个设备。尽管主机必须启用 CXL 2.0 才能利用此功能,但内存设备可以是启用 CXL 1.0、1.1 和 2.0 的硬件的混合。在 1.0/1.1 中,设备被限制为一次只能由一台主机访问的单个逻辑设备。但是,2.0 级别的设备可以分区为多个逻辑设备,最多允许 16 台主机同时访问内存的不同部分。

例如,主机 1 (H1) 可以使用设备 1 (D1) 中一半的内存和设备 2 (D2) 中四分之一的内存,以使其工作负载的内存需求与内存池中的可用容量精确匹配. 设备 D1 和 D2 中的剩余容量可供一台或多台其他主机使用,最多可达 16 台。设备 D3 和 D4(分别启用 CXL 1.0 和 1.1)一次只能由一台主机使用。

(2)交换

通过迁移到 CXL 2.0 直连架构,数据中心可以获得主内存扩展的性能优势,以及池化内存的效率和总体拥有成本 (TCO) 优势。

假设所有主机和设备都支持 CXL 2.0,“交换”通过 CXL 内存池芯片中的交叉开关合并到内存设备中。这可以保持较低的延迟,但需要更强大的芯片,因为它现在负责由交换机执行的控制平面功能。

通过低延迟直接连接,连接的内存设备可以使用 DDR DRAM 来扩展主机主内存。这可以在非常灵活的基础上完成,因为主机能够根据需要访问任意数量的设备的全部或部分容量来处理特定工作负载。

(3)“按需”记忆范式

类似于拼车,CXL 2.0 根据“需要”为主机分配内存,从而提供更高的内存利用率和效率。该架构提供了为标称工作负载(而不是最坏情况)配置服务器主内存的选项,能够在需要高容量工作负载时访问池,并为 TCO 提供进一步的好处。

最终,CXL 内存池模型可以支持向服务器分解和可组合性的根本转变。在这种范式中,计算、内存和存储的离散单元可以按需组合,以有效满足任何工作负载的需求。

(4)完整性和数据加密 (IDE)

分解(或分离服务器架构的组件)会增加攻击面。这正是 CXL 包含安全设计方法的原因。具体来说,所有三个 CXL 协议都通过提供机密性、完整性和重放保护的完整性和数据加密 (IDE) 来保护。IDE 在 CXL 主机和设备芯片中实例化的硬件级安全协议引擎中实现,以满足 CXL 的高速数据速率要求,而不会引入额外的延迟。

应该注意的是,CXL 芯片和系统本身需要防止篡改和网络攻击的保护措施。在 CXL 芯片中实现的硬件信任根可以为安全启动和安全固件下载的安全性和支持要求提供此基础。

为了推动CXL的发展,行业企业成立了一个CXL 联盟。这是一个开放的行业标准组织,旨在开发技术规范,以促进新兴使用模型的突破性性能,同时支持数据中心加速 器和其他高速增强的开放生态系统。

文章来源: 半导体行业观察, EDN电子技术设计

免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处本网。非本网作品均来自其他媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如您发现有任何侵权内容,请依照下方联系方式进行沟通,我们将第一时间进行处理。

0赞 好资讯,需要你的鼓励
来自:电子芯技术
0

参与评论

登录后参与讨论 0/1000

为你推荐

加载中...