进入正文

突破存储器带宽和容量限制:三星 CXL 存储器扩展设备

  • 邮件
Expanding the Limits of Memory Bandwidth and Density: Samsung’s CXL™ DRAM Memory Expander
Expanding the Limits of Memory Bandwidth and Density: Samsung’s CXL™ DRAM Memory Expander

by Kapil Sethi

三星半导体 DRAM 产品计划部高级经理

近年来,人工智能、机器学习和云计算等技术的发展,催生了海量的数据。随着数据驱动型技术的兴起,对更强大计算机硬件架构的需求也随之而生。为了创造强大的处理器,人们在单个处理器芯片上集成越来越多的内核,以满足数据密集型应用的处理和性能需求。但存储器带宽和容量未能跟上 CPU 内核数量的增长步伐,使处理器和存储器性能之间出现鸿沟。 而存储器容量和带宽方面的需求得不到满足,正在推动现有存储器技术突破藩篱。由于现有常规 DRAM 设计的局限,使存储器容量的扩展难以突破既定量级,因此需要全新的存储器接口技术。此外,人工智能 (AI) 和大数据的兴起推动了异构计算的潮流,多个不同类型的处理器能够并行处理大量数据。 鉴于这样的趋势,必须针对异构计算和组合基础架构开发下一代互联技术,以实现高效的资源利用。 什么是 Compute Express Link™ (CXL)? CXL↗是 CXL™联盟开发的一项开放式互联新标准,基于 PCIe 物理层的高速、低延迟 CPU 到设备互连技术。 CXL 可在主机 CPU 和互联设备(例如加速器和存储器扩展设备)之间提供高效连接。 CXL 事务层由汇总到单个链路的三个动态多路通信子协议组成。这些协议分别称为 CXL.io、CXL.cache 和 CXL.mem。CXL 设备连接到 CXL 主机时,通过 CXL.io 协议进行发现、枚举、配置和管理。CXL.cache 支持 CXL 设备访问处理器内存,CXL.mem 则支持处理器访问 CXL 设备存储器。CXL.cache 和 CXL.mem 协议栈已通过优化实现低延迟。
CXL 联盟确定了三种不同的设备类型:

• Type 1 CXL 设备是一种缓存设备,例如加速器和 SmartNICs(智能网卡)。Type 1 设备可通过 CXL.cache 事务访问主机内存,并维护与主机内存一致的本地缓存。 • Type 2 CXL 设备是 GPU 和 FPGA(现场可编程逻辑门阵列,AI芯片的一种),具有挂载到设备的 DDR 和 HBM 等存储器。Type 2 CXL 设备可以像 Type 1 CXL 设备一样直接访问主机挂载的存储器。除此之外,Type 2 CXL 设备具有本地地址空间,主机 CPU 可以通过 CXL.mem 事务查看和访问该地址空间。 • Type 3 CXL 设备是内存扩展设备,支持主机处理器通过 cxl.mem 事务一致地访问 CXL 设备存储器缓存。Type 3 CXL 设备可用于实现存储器容量和带宽的扩展。

本文将着重探讨 Type 3 CXL 设备。 CXL 的特点和优势
CXL 的一个重要特点是它可确保直接挂载的 CPU 存储器与 CXL 设备上的存储器保持一致,使得主机和 CXL 设备可以无缝读取相同的数据。CXL 主机有一个归属代理作为管理器,它使用 CXL.io 和 CXL.mem 事务来一致地访问挂载的存储器 为什么这一点很重要?因为这让 CXL 主机和 CXL 设备能够运行和处理共享的数据,并能确保在同一存储器位置读取相同副本的数据。归属代理不允许同时更改数据,所以每次(主机或挂载的设备)发起更改时,归属代理都会确保所有数据副本保持一致。 CXL 的另一个重要特点是它允许通过 CXL 接口将各种类型(例如易失性、持久性等)的存储器挂载到主机,因此与底层存储器技术无关。此外,CXL.mem 事务支持按字节寻址,并且可像 DDR 存储器一样加载/存储事务。因此,挂载的 CXL 存储器如同最终应用原生挂载的 DDR 存储器。 CXL 2.0 规范还支持交换和内存池。切换功能可实现存储器扩展,池化允许动态分配和释放存储器资源,从而提高整体系统效率。CXL 完整性和数据加密定义了通过 CXL 链路传输数据时实现保密性、完整性和重放保护的机制。
图:使用 Type 3 CXL 存储器扩展设备扩展存储器容量
图:使用 Type 3 CXL 存储器扩展设备扩展存储器容量
图:使用 Type 3 CXL 存储器扩展设备扩展存储器容量
过去,要提升系统的存储器容量和带宽,就必须增加原生 CPU 存储器通道的数量。但是,增加存储器通道数会增加 CPU 工程复杂性并推高成本。Type 3 CXL 存储器扩展设备提供灵活而强大的方案,无需增加主 CPU 存储器通道的数量,即可扩展存储器容量和带宽。 三星 CXL 存储器扩展器和开源 CXL 软件 三星于 2021 年 5 月推出创新的 Type 3 CXL 存储器扩展器原型。此原型存储器扩展设备已经在多个下一代服务器 CPU 平台成功通过验证。此外,CXL 存储器扩展设备原型还在多个最终客户的服务器系统中通过实际应用和工作负载测试。 目前,三星正在测试一种新的 Type 3 CXL DRAM 存储器扩展设备产品,采用专用集成电路 (ASIC) CXL 控制器构建,将为 CXL 技术的商业化铺平道路。这一扩展设备采用 EDSFF (E3.S) 外形尺寸,适合下一代大容量企业级服务器和数据中心。
三星新推出的 CXL 存储器扩展设备模组配备高达 512GB 的 DDR5 DRAM 存储器,可将服务器的存储器容量扩展到几十TB,同时还将存储器带宽扩大到每秒几TB。CXL 存储器扩展设备使用 x8 PCIe 5.0 接口连接到 CPU,每条通道的最大传输速率为 32GT/s。 此外,三星还推出了开源 CXL 软件解决方案,即可扩展存储器开发套件 (SMDK)。它包含了一系列软件工具和 API(应用程序编程接口),支持存储器和 CXL 存储器扩展设备在异构存储器系统中无缝协作。借助 SMDK,系统开发人员无需修改现有的应用环境,即可将 CXL 存储器轻松集成到高级系统中,从而加速 CXL 生态系统的普及。 三星 CXL 存储器扩展设备将于 2022 年第 3 季度开放早期评估,版本 1.1 SMDK 现已在 GitHub↗ 开放。

* GitHub:是一个面向开源及私有软件项目的托管平台。 * 本文的产品图片以及型号、数据、功能、性能、规格参数等仅供参考,三星有可能对上述内容进行改进,具体信息请参照产品实物、产品说明书或者三星半导体官网(https://semiconductor.samsung.com/cn/)。除非经特殊说明,本广告中所涉及的数据均为三星内部测试结果,本广告中涉及的对比均为与三星产品相比较。