了解CXL SSD如何提高性能

日期: 2023-04-06 作者:Jim Handy翻译:邹铮 来源:TechTarget中国 英文

最新研究开发和模拟SSD以利用Compute Express Link接口来加速其操作。他们打算通过这个接口提供一个大型持久内存池,比全DRAM池便宜。

CXL SSD也是利用存储网络行业协会(SNIA)NVM 编程模型的替代方法,因为非易失性 DIMM 价格昂贵,英特尔正在逐步减少对傲腾的支持。当CXL SSD与使用该模型的下一代程序相结合时,企业将看到好处。这种新型存储应该为未来的计算系统提供急需的推动力。

CXL SSD可能会在具有大内存要求的应用程序中变得流行。但是,我们可能还不清楚为什么CXL SSD的

什么是基于CXLSSD

CXL和PCIe之间的区别可能并不明显。在信号层面,这两者确实相同,但两者的协议不同。CXL选择比PCIe更快的协议,尽管CXL.io支持标准PCIe I/O设备。

CXL的开发是为了支持服务器主板(远内存)以外的大型内存池,以增加驻留在服务器主板上的内存(近内存)。所有这些内存都映射到服务器的内存地址空间中,并属于服务器处理器芯片的内存管理单元的管理。

CXL需要管理一致性,这与PCIe不同。任何内存地址的内容(无论是近内存还是远内存)的当前时间都可能晚于处理器缓存中该地址的副本。在另一个处理器尝试读取该内存地址之前,这都不是大问题。CXL的内存一致性机制有进行详细说明,以确保如果在其他处理器的缓存中存在更新的数据,则旧数据永远不会找到机会进入处理器。

软件通过字节语义访问 CXL.mem 或 CXL.cache 设备上的内存,该软件将其视为与服务器主板本身的内存相同。如果 SSD 是 CXL 设备,则它还必须与软件和 CXL.mem 协议进行通信,就好像它是内存一样。

标准 SSD 使用块语义通过 PCIe 总线上的 NVMe 进行通信。对于 CXL 标准,这种通信已变得 CXL.io。

CXL 管理必然较慢的远内存和近内存之间的不同时序。CXL SSD 将其发挥到极致:该驱动器可以选择像标准 SSD 一样慢地执行,并且 CXL 通道使用内存语义管理发往处理器的数据。预计CXL SSD具有相对巨大的缓存,以最大程度地减少这种缓慢的操作。

性能与NVMe SSD不同。

三星:这是发展方向

三星是CXL接口上SSD的倡导者,在2022年闪存峰会上,三星展示了该公司称之为“内存语义 SSD”(MS-SSD)的东西。

MS-SSD背后的理论是,从软件的角度来看,驱动器中的持久媒体是通过内存字节语义访问,而不是通常用于SSD的块语义。

I/O语义(块语义)通过中断驱动的系统运行,这也许是1980年代初以来的常态。当时,该软件的 I/O 例程可能会在不被注意的情况下为磁盘访问增加毫秒级的延迟。这是处理比处理器慢得多的 I/O 设备的好方法。

在 2000 年代初期,当 SSD 首次开始获得广泛接受时,SSD 用户注意到 I/O 例程减慢了 SSD 的速度。对该软件的新关注提高了其速度,但磁盘 I/O 的基本结构(通过处理器中断进行管理)限制了改进的程度。

与此同时,在1990年代,DRAM总线已经同步,它必须尽可能快地运行,因此,总线被剥夺了任何暂停慢速存储设备的能力。内存是唯一可以附加到内存通道的东西。存储被迫通过 I/O 通道。

当持续内存出现时,软件元素成为一个问题。下面这张图以图形方式描绘了这一点。

这张由SNIA提供的图片显示CXL发展的一个原因。

这张由SNIA提供的图片显示CXL发展的一个原因。

上下条的红色部分表示软件的 I/O 堆栈导致的延迟。在上条,它是总访问时间的可管理部分,代表 NVMe NAND 闪存 SSD 的时间。在下条,其中包括英特尔傲腾持久内存模块,红色部分约占总延迟的一半。

50% 的速度损失是不可接受的,这使得CXL发展作为更快接口。CXL以接近内存的速度运行,但与双倍数据速率内存总线不同,它可以处理不同速度的内存。

通过设计带有 CXL 接口的 SSD,三星打开了使用 SSD 作为内存的大门。因此,SNIA和各种软件公司为支持Optane等持久内存所做的所有工作都可以与廉价的基于NAND闪存的存储一起使用。SNIA NVM 编程模型是软件用来利用英特尔傲腾持久内存功能的协议,现在还有一个额外的用途:它将在 CXL 接口上支持 NAND 闪存 SSD。

但是,由于NAND闪存速度很慢,三星的设计使用大型DRAM来缓存尽可能多的SSD。三星在闪存峰会上展示的2 TB原型具有高达16 GB的内部DRAM缓存。如此大的缓存可能是 CXL SSD 的常态。

不过,大缓存是有回报的。在三星在该活动中分享的基准测试中,该公司表示,与现有SSD相比,它能够将随机读取性能提高约1900%。三星声称,MS-SSD可以作为服务器内存的2 TB扩展呈现给其主机。该内存的平均延迟取决于 SSD 内部缓存的命中率。

并非所有此 SSD 的 2 TB 都需要映射为内存。三星的设备可以分为内存区域和SSD区域,由CXL.mem或 CXL.io 提供服务,三星称之为“双模式”操作。这旨在提供更大的灵活性。

持续性的可能性

三星的第一代原型不支持内存持续性。这需要一些工作,因为整个16 GB的DRAM需要在停电期间保持活动状态,无论是在停电期间还是直到其全部内容可以写入SSD的NAND闪存。这两种情况都需要大量的储存能量,无论是在电池还是超级电容器中。该公司的目标是在其第二个原型中包含持续内存操作,该原型计划于去年年底完成。

如果CXL SSD被接受作为持续内存,存储管理员的工作将像英特尔的傲腾成为主流时那样发展。软件和芯片供应商希望自动数据管理软件能够向存储管理员隐藏所有问题,但会考虑数据安全性,因为敏感数据可能同时驻留在CXL SSD和传统 SSD 中,后者映射到内存存储架构较慢层。

CXL SSD的其他开发成果

三星并不是唯一一家计划在CXL接口上支持SSD的公司。Kioxia公开讨论了围绕该公司专有的XL-Flash芯片设计的概念验证基于CXL的SSD。XL-Flash是NAND闪存,专注于速度,大概是为了响应3D XPoint内存的引入,一些公司最初认为这是对标准NAND闪存SSD的威胁。Kixia的CXL SSD设计侧重于64字节事务的速度,特别是64字节随机写入。

该公司解释说,他们希望其设计的性能几乎与DRAM一样快,并且比Optane更快。它支持的内存比近内存 DRAM 大两个数量级,比近内存傲腾持久内存 DIMM 大 10 倍。Kioxia设计使用大型预取缓冲区,但与三星设计的不同之处在于增加了硬件压缩以帮助提高速度。随着数据更小,SSD 需要的带宽更少,并且可以加快写入速度。该公司的目标是在本季度推出其CXL SSD模拟器。

此外,韩国科学技术高级研究所的计算机架构和内存系统实验室(CAMEL)与RISC-V和OpenExpress合作,一直在对CXL SSD进行仿真,以更好地了解它可能提供的性能优势。它对模拟器进行了编程,以模拟基于三星超高速Z-NAND芯片的32 GB SSD的操作 – 有点类似于Kioxia XL-Flash,并将其操作与具有大型DRAM的系统进行比较。

性能高度依赖于 SSD 中数据的位置;这是很自然的,因为高局部性意味着大部分SSD访问将到达SSD的DRAM缓存,而不是其NAND闪存。对于高局部性,CXL SSD 提供的数据延迟仅为 CPU 本地 DRAM 的 2.4 倍。然而,在频谱的低局部端,CXL SSD 的延迟是 DRAM 的 84 倍。显然,CXL SSD 为大型数据集高度本地化的应用程序带来了更高的性能。

CAMEL还发现,NVMe SSD在高局部性应用中的延迟是CXL SSD的129倍。但是,在低局部应用中,它的延迟仅比 CXL SSD 高出约 50%。

这种局部敏感性反映了三星的发现,其 CXL SSD 在缓存命中期间以大约 2000 万 IOPS 的速度运行,在 128 字节随机读取时具有亚微秒级延迟。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

翻译

邹铮
邹铮

相关推荐