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

    文章

    10456

    浏览量

    206608
  • 内存控制器
    +关注

    关注

    0

    文章

    31

    浏览量

    8804

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

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

收藏 人收藏

    评论

    相关推荐

    利用CXL技术重构基于RDMA的内存解耦合

    本文提出了一种基于RDMA和CXL的新型低延迟、高可扩展性的内存解耦合系统Rcmp。其显著特点是通过CXL提高了基于RDMA系统的性能,并利用RDMA克服了CXL的距离限制。
    发表于 02-29 10:05 550次阅读
    利用<b class='flag-5'>CXL</b>技术重构基于RDMA的内存解耦合

    什么是CXL技术?CXL的三种模式、类型、应用

    CXL的目标:解决CPU和设备、设备和设备之间的内存鸿沟。服务器有巨大的内存池和数量庞大的基于PCIe运算加速器,每个上面都有很大的内存。内存的分割已经造成巨大的浪费、不便和性能下降。CXL就是为解决这个问题而诞生。
    的头像 发表于 01-11 16:53 678次阅读
    什么是<b class='flag-5'>CXL</b>技术?<b class='flag-5'>CXL</b>的三种模式、类型、应用

    解码CXL存储器扩展设备(上)

    解码CXL存储器扩展设备(上)
    的头像 发表于 12-04 15:33 223次阅读
    解码<b class='flag-5'>CXL</b>存储器扩展设备(上)

    什么是CXL?一文了解高速互联技术CXL

    Compute Express Link(CXL)作为一种先进的互连技术,在当今高性能计算领域引起了广泛关注
    的头像 发表于 11-29 15:26 1709次阅读
    什么是<b class='flag-5'>CXL</b>?一文了解高速互联技术<b class='flag-5'>CXL</b>

    关于CXL的功能与特性详解

    CXL.io 和CXL.cache 是CXL 协定中的两个子协定,它们的功能和用途有所不同,主要是为了引入非对称的概念;CXL.io 类似于PCIe 的事件(event),主要用于初始
    的头像 发表于 11-22 15:43 555次阅读
    关于<b class='flag-5'>CXL</b>的功能与特性详解

    CXL技术的三种模式 CXL技术与其他技术的对比

    CXL的目标:解决CPU和设备、设备和设备之间的内存鸿沟。服务器有巨大的内存池和数量庞大的基于PCIe运算加速器,每个上面都有很大的内存。内存的分割已经造成巨大的浪费、不便和性能下降。CXL就是为解决这个问题而诞生。
    发表于 10-30 14:30 5254次阅读
    <b class='flag-5'>CXL</b>技术的三种模式 <b class='flag-5'>CXL</b>技术与其他技术的对比

    基于FPGA实现Mem加法器

    前段时间和几个人闲谈,看看在FPGA里面实现一个Mem加法器怎么玩儿
    的头像 发表于 10-17 10:22 315次阅读
    基于FPGA实现<b class='flag-5'>Mem</b>加法器

    什么是CXL技术?CXL的三种模式、类型、应用

    更快的数据传输速度:CXL技术可以实现高达25GB/s的数据传输速度,比目前常用的PCIe 4.0技术还要快。这意味着在数据中心等高性能应用场景下,可以更快地进行数据处理和传输。 更低的延迟
    发表于 09-27 09:26 2499次阅读
    什么是<b class='flag-5'>CXL</b>技术?<b class='flag-5'>CXL</b>的三种模式、类型、应用

    澜起科技MXC芯片率先列入CXL官网的合规供应商清单

    上海2023年8月21日 /美通社/ -- 近日,澜起科技的CXL内存扩展控制器(MXC)芯片成功通过了CXL联盟组织的CXL1.1合规测试,被列入CXL官网的合规供应商清单(
    的头像 发表于 08-22 05:11 466次阅读
    澜起科技MXC芯片率先列入<b class='flag-5'>CXL</b>官网的合规供应商清单

    澜起科技MXC芯片成功通过CXL联盟组织的CXL1.1合规测试

    近日,澜起科技的CXL内存扩展控制器(MXC)芯片成功通过了CXL联盟组织的CXL1.1合规测试,被列入CXL官网的合规供应商清单。澜起科技是全球首家进入
    的头像 发表于 08-18 09:14 764次阅读

    揭开CXL的神秘面纱:概述

    CXL 是一种在主机(通常是 CPU)和设备(通常是附加了内存的加速器)之间实现高带宽、低延迟链接的技术。CXL 堆栈专为低延迟而设计,使用 PCIe 电气和附加卡的标准 PCIe 外形规格。CXL 使用灵活的处理器端口,可以自
    的头像 发表于 05-26 10:33 3372次阅读
    揭开<b class='flag-5'>CXL</b>的神秘面纱:概述

    CXL 2.0设备发现的迷人路径

    CXL 2.0 规范在 PCIe 配置空间映射寄存器中定义了多个新的 PCIe 指定供应商特定扩展功能 (DVSEC)。以下是 CXL 2.0 设备的一些强制性 DVSEC。
    的头像 发表于 05-25 17:22 1040次阅读
    <b class='flag-5'>CXL</b> 2.0设备发现的迷人路径

    访问CXL 2.0设备中的内存映射寄存器

    计算快速链接 (CXL) 1.1 和 CXL 2.0 规范在内存映射寄存器的放置和访问方式上有所不同。CXL 1.1 规范将内存映射寄存器放置在 RCRB(根复合寄存器块)中,而 CXL
    的头像 发表于 05-25 16:56 1253次阅读
    访问<b class='flag-5'>CXL</b> 2.0设备中的内存映射寄存器

    使用经过验证的CXL IDE构建安全芯片

    CXL 2.0规范为 CXL.io 和CXL.cache/CXL.mem协议引入了IDE原理图。CXL.io 途径使用 PCIe 规范定义的
    的头像 发表于 05-25 16:41 906次阅读
    使用经过验证的<b class='flag-5'>CXL</b> IDE构建安全芯片

    三星电子研发首款DRAM 扩大CXL生态系统

    基于先进CXL 2.0的128GB CXL DRAM将于今年量产,加速下一代存储器解决方案的商用化
    发表于 05-15 17:02 192次阅读