首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Solidigm:无序IO访问优化CXL内存性能

Solidigm:无序IO访问优化CXL内存性能

作者头像
数据存储前沿技术
发布2025-02-11 16:59:01
发布2025-02-11 16:59:01
5930
举报

关键要点

1. CXL技术将内存与存储设备连接起来,提高性能和效率。

2. U-IO是一种新的TLP格式,可实现DMA P2P路由。

3. 需要进行系统和协议的启用工作来支持这些新功能。

关于Solidigm[1]

Solidigm 是一家全球领先的创新NAND闪存解决方案提供商。该公司源自于2020年10月SK海力士与英特尔签订的协议,收购了英特尔的NAND和固态硬盘(SSD)业务。Solidigm于2021年12月30日正式成立,成为SK海力士在美国的独立子公司。

基于CXL的访存应用场景

DRAM在CXL上的经济性推动生态系统的采用。机架是新的服务器。

  • • 针对特定工作负载划分资源集群
    • • 更快、更密集的本地存储可能取代SAN
    • • “近”内存提供降低SSD成本的机会

多级CXL交换机拓扑将一些资源放置得更近,而其他资源则放得更远。

  • • 需要分层解决方案
    • • 低温层的内存成本仲裁
    • • 访问内省辅助
  • • 优化跨交换机P2P流以提高性能,并减轻上游CXL通道的负担
    • • 无序IO和回收失效嗅探

区分近存/原存应用场景

在CXL之前,连贯内存总是存在于“根复合体的另一侧”。

CXL内存现在距离加速器或存储设备仅一步交换。

由于主代理跟踪对等CXL内存的连贯状态,DMA事务必须通过它进行路由,这会造成:

  • • 上游CXL通道拥堵
  • • 遍历延迟

DMA(Direct Memory Access,直接内存访问)是一种允许外部设备(如硬盘、网络接口卡等)直接访问系统内存的技术,而无需经过中央处理器(CPU)。这意味着外部设备可以在不占用CPU资源的情况下读取或写入内存,从而提高数据传输的效率和速度。 主要特点:

  1. 1. 效率:减轻CPU负担,提高数据传输速度。
  2. 2. 并行处理:设备可以同时与内存进行数据传输,而CPU可以执行其他任务。
  3. 3. 降低延迟:直接访问内存减少了数据传输的延迟。

DMA通常用于需要大量数据传输的场景,例如音频、视频流或大规模数据处理。

图中红色虚线路径是基于CXL交换机实现的内存扩展,其数据访问方式,Home Agent在这种模式下会产生大量路由工作,成为数据传输瓶颈

基于CXL的远距离内存访问需要解决上述问题!

解决方法

  • • PCI-SIG 引入了一种新的 TLP 格式,称为 无序 IO(Unordered IO)
    • • 使得直接的 DMA 点对点(P2P)路由通过交换机成为可能。
  • • CXL 引入了一种新的请求类型,称为 回退失效嗅探(Back Invalidate Snoop)
    • • 使得从属的 CXL.mem 设备能够发起一致性状态更新。

现在 P2P DMA 可以产生一致性数据。

通过4步来实现无序IO访问:

  1. 1. UIO DMA请求
  2. 2. 后备无效快照请求
  3. 3. 后备无效快照及数据响应
  4. 4. DMA数据移动

如何理解 回退失效嗅探(Back Invalidate Snoop)?

回退失效嗅探(Back Invalidate Snoop)是一种用于维护缓存一致性的新请求类型,主要应用在 CXL(Compute Express Link)架构中。 以下是对其的理解:

  1. 1. 缓存一致性:在多处理器系统中,各处理器可能有各自的缓存,确保这些缓存中的数据保持一致是非常重要的。回退失效嗅探的主要目的是在多个处理器或设备之间实现这一点。
  2. 2. 请求机制:当一个 CXL.mem 设备需要更新其缓存中的数据时,它可以发起一个回退失效嗅探请求。这种请求会通知系统中的其他设备,标记某些数据为“失效”,即这些数据不再有效。
  3. 3. 状态更新:通过这种机制,CXL.mem 设备能够主动更新其数据状态,确保其他设备在访问数据时所使用的是最新的和一致的版本。
  4. 4. 提高性能:这种方法通过减少不必要的缓存更新和数据传输,提高了整体系统性能和效率,降低了延迟。

与NVMe的联系

  • • U-IO写操作是非发布的,具有性能惩罚。
  • • NVMe设备仅应在以下情况下启动U-IO DMA:
    1. 1. DMA操作专门针对开关对等体的地址。
    2. 2. CXL交换机结构支持直接U-IO点对点路由。
    3. 3. 目标CXL.mem设备支持回退失效。

系统和协议启用工作是必需的。

行动呼吁

  • • U-IO是一个新的PCIe Gen6 TLP格式
    • • 联系您的NVMe/PCI IP供应商以获取支持路线图
  • • NVMe中对“U-IO可选择性”的协议支持
    • • 需要整个联盟的合作以实现TPAR
  1. 1. TLP格式:TLP(Transaction Layer Packet) 格式是PCIe(Peripheral Component Interconnect Express)协议中的一种数据传输格式,用于在设备之间传送数据。TLP包含了控制信息和数据负载,确保数据的有效传输和完整性。
  2. 2. TPAR:TPAR(Transactional Performance Analysis Report) 是一种用于评估和分析存储系统性能的报告,通常涉及对事务性能的监控和优化。它帮助开发者和工程师理解系统在处理事务时的效率和瓶颈。

总结

文章讨论了CXL如何为NVMe设备提供新的可能性,特别是在利用U-IO(无序I/O)进行数据传输方面。U-IO作为一种新型的PCIe Gen6交易格式,可以实现非阻塞写入操作,提高数据处理速度。然而,为了充分利用这些新功能,需要硬件、固件以及协议层面的支持和合作。

引用链接

[1] 关于Solidigm: https://metaso.cn/s/3fQffDO

---【本文完】---

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关键要点
    • 关于Solidigm[1]
    • 基于CXL的访存应用场景
    • 区分近存/原存应用场景
    • 解决方法
    • 与NVMe的联系
    • 行动呼吁
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档