0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CXL.mem是什么?

安芯教育科技 来源:安芯教育科技 作者:安芯教育科技 2022-11-02 09:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

3.3 CXL.mem

3.3.1 介绍

CXL内存协议被称作CXL.mem。CXL.mem定义了CPU和内存之间的传输接口。该协议可用于多个不同的内存连接选项,包括当内存控制器位于主机CPU中时,或当内存控制器位于加速器设备内时,或当内存控制器移动到内存缓冲芯片时。

CPU中的一致性引擎使用CXL.mem请求和响应与内存接口。在此配置中,CPU一致性引擎被视为CXL.mem主设备(Master),内存设备被视为CXL.mem从设备(Subordinate)。主设备负责向从设备发起读写请求,从设备负责响应主设备的读写请求。

当从设备是一个加速器时,CXL.mem协议认为设备内部也有一个一致性引擎(Device Coherency Engine,简称DCOH)。

从Master到Subordinate的CXL.mem事务被称作M2S;反过来,从Subordinate到Master的事务称作S2M。

M2S事务只有两种消息类型:

无数据的请求(Req)

有数据的请求(RwD)

对应的,S2M事务也只有两种类型:

无数据的响应(NDR)

有数据的响应(DRS)

3.3.2 内存QoS遥测

内存QoS遥测是内存设备的一种机制,用于在CXL.mem请求的每个响应消息中指示其当前负载级别(DevLoad)。这使主机能够根据负载级别来衡量对部分设备、单个设备或设备组的CXL.mem请求的速率,从而优化这些内存设备的性能,同时限制结构拥塞。

插播一句,QoS是Quality of Service的缩写,翻译过来就是服务质量。对于内存系统而言,带宽和延时受到一定的限制,如何向其它的模块提供服务是一个系统问题。SoC有的模块可能带宽需求不大,但是对于延时要求很高,比如显示模块。而有的模块对于带宽要求很大,但是延时可以略高,比如数据处理器。如果对SoC所有模块的内存需求一视同仁,可能影响整个系统的运行。利用QoS机制,可以对每个模块的内存访问排列顺序,达到内存系统的最佳利用。

内存QoS遥测内容比较绕,我也没看太懂,暂时略过,不影响CXL的学习。

3.3.3 M2S请求(Req)

Req消息是无数据请求,消息字段定义如下:

186a0bf4-5a4d-11ed-a3b6-dac502259ad0.png

各字段的编码和详细解释就不贴图了,如果有需要,大家可以去协议里面查找。

3.3.4 M2S带数据请求(RwD)

RwD是有数据请求,消息字段定义如下:

18ac9eb0-5a4d-11ed-a3b6-dac502259ad0.png

3.3.5 S2M无数据响应(NDR)

NDR消息类包含从Subordinate到Master的完成和指示,不带数据。

1950206c-5a4d-11ed-a3b6-dac502259ad0.png

3.3.6 S2M数据响应(DRS)

DRS消息类包含从Subordinate到Master读取的内存数据。

19752dbc-5a4d-11ed-a3b6-dac502259ad0.png

3.3.7 转发和排序规则

在多跳互连网络中,Req和RwD消息的每一跳都需要信用值

如果请求和MemRdFwd或MemWrFwd指向相同的缓存行地址,则M2S Req通道中的CXL.mem请求不能发送MemRdFwd或MemWrFwd

NDR和DRS消息需要在源位置预先分配

在CXL.mem上,只有在写入完成后,写入数据才能保证对以后的访问可见

CXL.mem请求需要在设备上进行转发,而不依赖于任何设备启动请求

缓存行的M2S和S2M数据传输不能与其它缓存行交织

3.4 事务顺序总结(Transaction Ordering Summary)

没什么重要内容,暂时略过。

3.5 到设备挂载内存(DAM)的事务流

3.5.1 Type 1和Type 2的事务流

3.5.1.1 注释和假设

下面的示意图做了如下假设:

设备内部有一个设备一致性引擎,称作DCOH

DCOH里包含一个监听过滤器,是用来追踪监听设备的缓存

DCOH有一个偏置表查找机制,具体实现依赖于设备

设备特定的流程,如下图红色箭头所示,不需要完全遵守下图,具体实现取决于设备

197ecd04-5a4d-11ed-a3b6-dac502259ad0.png

3.5.1.2 主机请求

主机发起的可缓存读(Cacheable read)示例如下图。主机请求获得一个缓存行的非独占副本。主机发送MemRd,SnpData给设备,设备DCOH接收到SnpData,在侦听过滤器中查找此缓存行。如果SF Hit(图中绿色字体),设备将该缓存行状态从Exclusive变为Shared(图中绿色字体)。随后将数据和响应发给DCOH,DCOH收到之后,回复Cmp-S给主机,然后将数据通过MemData发送给主机。

1988022a-5a4d-11ed-a3b6-dac502259ad0.png

CXL协议中还给了好几个示例,就不一一贴上了。

3.5.1.3 设备请求(主机偏向和设备偏向)

到设备挂载内存的设备读取示例如下图,包含两个流程分支。第一个,设备向设备挂载的内存发起读请求,由于配置成主机偏向(图中的紫色字体),设备要向主机发送一致性请求。主机在解析完一致性后,在CXL.mem上发送MemRdFwd以完成事务,此时设备可以在内部完成读取。第二个,配置成设备偏向,设备读取可以在设备内完成,不需要向主机发送请求。

19958670-5a4d-11ed-a3b6-dac502259ad0.png

同样的,后面还有几个流程示例,先不贴了。

3.5.2 Type2和Type 3的内存流

为了支持节省延迟,CXL.mem包含一个推测性内存读取命令(MemSpecRd),用于在主代理解决一致性之前启动内存访问。解决完一致性问题后,主机可能会发出请求读取(MemRd,MemRdOwn),设备应与较早的MemSpecRd合并以节省延迟,见下图。为了避免性能影响,建议将MemSpecRd命令视为低优先级,以避免其它正常请求访问增加延迟。

19c0aa76-5a4d-11ed-a3b6-dac502259ad0.png

3.6 Type 3设备的事务流

Type 3设备是内存扩展器,它既不缓存主机内存,也不需要主机主动管理设备缓存。因此,Type 3设备没有DCOH代理。主机将这些设备视为分解的内存控制器。到Type 3设备的事务流简化为两个类,即读和写。

M2S读取Type 2设备与Type 3设备的关键区别在于,Type 3设备没有S2M NDR响应消息。与Type 2设备一样,向Type 3设备的写入完成也需要S2M NDR Cmp消息

19cdf474-5a4d-11ed-a3b6-dac502259ad0.png

19f6e924-5a4d-11ed-a3b6-dac502259ad0.png

本章总结:这一章的内容极多,很多地方看的也是晕头转向,先搭个架子在这,以后有需要或者有时间再来仔细研究。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11223

    浏览量

    223008
  • 内存控制器
    +关注

    关注

    0

    文章

    40

    浏览量

    9347

原文标题:技术分享 | CXL学习(五)

文章出处:【微信号:Ithingedu,微信公众号:安芯教育科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    紫光国芯荣获2025年度CXL产品技术创新奖

    2025年11月18日,以“释放数据潜能,加速智能涌现”为主题的2025中国数据与存储峰会在北京隆重举办。在峰会同期揭晓的“2025中国存储风云榜”评选中,紫光国芯凭借其行业领先的CXL内存扩展主控
    的头像 发表于 11-19 17:07 1393次阅读
    紫光国芯荣获2025年度<b class='flag-5'>CXL</b>产品技术创新奖

    请问platform_mem_desc[ ] 数组有什么作用啊?

    struct mem_desc platform_mem_desc[] = { {0x00000000, 0x80000000, 0x00000000, DEVICE_MEM
    发表于 10-13 06:17

    (MEM_ISUSED(mem)) 内存分配问题求解

    (MEM_ISUSED(mem)) assertion failed at function:rt_smem_free, line number:530 请问最后这一句是什么原因造成的?
    发表于 09-15 08:10

    让高性能计算芯片设计与CXL规范修订保持同步

    这篇技术文章探讨了这些更新带来的技术挑战和工程考量因素,并引用了最近在支持CXL 3.0实际工作项目中所积累的示例。
    的头像 发表于 09-04 16:55 2245次阅读
    让高性能计算芯片设计与<b class='flag-5'>CXL</b>规范修订保持同步

    64GT/s+8000MT/s:澜起CXL 3.1芯片破解数据中心内存瓶颈

    。     M88MX6852:性能卓越,满足多元需求   M88MX6852芯片全面支持CXL.memCXL.io协议,其核心使命是为下一代数据中心服务器打造更高带宽、更低延迟的内存扩展和池化解决方案。在数据传输方面
    的头像 发表于 09-02 09:12 2097次阅读
    64GT/s+8000MT/s:澜起<b class='flag-5'>CXL</b> 3.1芯片破解数据中心内存瓶颈

    澜起科技推出CXL® 3.1内存扩展控制器,助力下一代数据中心基础设施性能升级

    澜起科技今日宣布,推出基于CXL® 3.1 Type 3标准设计的内存扩展控制器(MXC)芯片M88MX6852,并已开始向主要客户送样测试。该芯片全面支持CXL.memCXL.io协议,致力于为
    的头像 发表于 09-01 10:56 590次阅读

    第二代AMD Versal Premium系列SoC满足各种CXL应用需求

    第二代 AMD Versal Premium 系列自适应 SoC 是一款多功能且可配置的平台,提供全面的 CXL 3.1 子系统。该系列自适应 SoC 旨在满足从简单到复杂的各种 CXL 应用需求
    的头像 发表于 04-24 14:52 977次阅读
    第二代AMD Versal Premium系列SoC满足各种<b class='flag-5'>CXL</b>应用需求

    Arm Neoverse CMN S3 推动Compute Express Link (CXL) 存储创新

    (CXL) 规范而设计,可促进计算与存储之间的无缝通信,从而推动新一代设备的发展。   随着以数据为中心的应用不断增长,CXL 等技术将给存储领域带来巨大
    发表于 04-09 18:19 1017次阅读
    Arm Neoverse CMN S3 推动Compute Express Link (<b class='flag-5'>CXL</b>) 存储创新

    新思科技解读CXL 3.1标准

    Compute Express Link(CXL)于2019年首次发布,是处理器与AI加速器、内存缓冲区、智能网络接口卡、持久性存储器和固态驱动器等设备之间的开放式行业标准互连技术。作为一种行业标准
    的头像 发表于 03-11 15:07 987次阅读
    新思科技解读<b class='flag-5'>CXL</b> 3.1标准

    SMART Modular CXL AIC内存扩充卡获CXL联盟认证

    近日,全球领先的整合型内存与储存解决方案提供商SMART Modular世迈科技(隶属于Penguin Solutions™集团)宣布,其4-DIMM和8-DIMM CXL®(Compute
    的头像 发表于 02-14 10:15 717次阅读

    SMART Modular世迈科技CXL内存扩充卡获CXL联盟认证

    SMART Modular世迈科技近日宣布其4-DIMM和8-DIMM CXL®(Compute Express Link®)内存扩充卡已成功通过CXL 2.0认证测试,并正式被列入CXL联盟的整合
    的头像 发表于 02-05 15:59 719次阅读

    澜起科技正式推出PCIe 6.x/CXL 3.x Retimer芯片

    澜起科技近日正式对外宣布,其最新研发的PCIe® 6.x/CXL® 3.x Retimer芯片已成功问世,并已顺利向客户送样。这一创新成果标志着澜起科技在PCIe/CXL互连领域再次取得了重大突破
    的头像 发表于 01-22 15:08 1085次阅读

    澜起科技推出PCIe 6.x/CXL 3.x Retimer芯片

    澜起科技今日宣布推出其最新研发的PCIe 6.x/CXL 3.x Retimer芯片,并已向客户成功送样,旨在为人工智能和云计算等应用场景提供性能更卓越的PCIe互连解决方案。这是澜起科技继成功推出
    的头像 发表于 01-22 10:51 992次阅读

    澜起科技CXL®内存扩展控制器芯片通过CXL 2.0合规性测试

    近日,澜起科技在CXL(Compute Express Link)技术领域取得了又一重要里程碑。其自主研发的CXL®内存扩展控制器(MXC)芯片成功通过了CXL 2.0合规性测试,并被列入CX
    的头像 发表于 01-21 14:44 1483次阅读

    澜起科技MXC芯片列入首批CXL 2.0合规供应商清单

    近日,澜起科技研发的CXL内存扩展控制器(MXC)芯片成功通过了CXL 2.0合规性测试,列入CXL联盟公布的首批CXL 2.0合规供应商清单。这是继2023年率先列入
    的头像 发表于 01-21 10:32 973次阅读
    澜起科技MXC芯片列入首批<b class='flag-5'>CXL</b> 2.0合规供应商清单