1、现状

PCIe 6.0已经废弃了该协议,至于废弃的原因PCIe 6.0 ver0.9版本没有说。

YY一下原因:

(1)把cacheline的内容copy到EP保存,在cacheline内容更新时让host发LN message通知EP更新,这种方式看起来就挺不靠谱。首先就存在延时问题,也就说host那边更新了cacheline,然后发送LN message通知EP更新保存在EP的cacheline的副本,这两个时间之内,两边的cache是不一致的。其次即使不考虑延时问题,LN message丢失了怎么办?如果LN message本身就出了PCIe错误怎么办?

(2)intel的CXL协议有对应CXL.memory,但是CXL把cache一致性问题放在CPU端其实也有点不靠谱。CXL.cache是解决了Device访问host memory的cache问题,让Device访问host memory可以先从cache访问,cache miss后再从memory访问。但是processor访问device内的memory,如果对应的BAR不映射成uncache的,感觉也存在LN一样的问题(没有研究过CXL协议,仅从框图猜测)

2、Lightweight Notification (LN) Protocol

LN协议使得EP可以感知host memory的cacheline的变化。

LN机制利用EP端的Cache来降低系统带宽需求并降低时延。LN协议允许EP注册host memory中的Cacheline,所谓注册Cacheline是指把host memory Cacheline的内容copy一份放到EP本地,并且Cacheline内容改变时,LNC需要通知该EP。

PCIe系统中采用LN协议有以下潜在优点:

3、典型的LN系统

在EP端的LN Requester(LNR)发送LN read/write请求并接受LN message。在host端的LN Completer(LNC)接受LN read/write请求,并在cacheline更新时发送LN message通知LNR。

(1)LN read:LN bit为1的memory read请求。

(2)LN write:LN bit 为1的memory write的请求。

(3)LN completion:LN bit 为1的completion with data请求。


(4)LN message:携带64bit address(cacheline)的Vendor-defined type1 MsgD。

4、LN protocol操作

LN read

  1. LNR发出LN read从host memory中copy cacheline的内容到EP本地(LN为1的memory 读)。
  2. LNC通过LN completion返回cacheline的内容(completion with data),并且记录该LNR已经注册了该cacheline(即该LNR关心该cacheline内容的变化)。
  3. 当LNC的cacheline的内容发生变化时,LNC使用LN message通知LNR,cacheline的内容更新了。

LN write

  1. LNR向host memory的cacheline发起LN write,请求写host memory的cacheline(LN为1的memory写请求)。
  2. LNC记录该LNR已经注册了该cacheline(memory写请求,不用回复completion)。
  3. 当LNC的cacheline的内容发生变化时,LNC使用LN message通知LNR,cacheline的内容更新了。

5、LN相关的寄存器

(1)针对EP的LN requester extended cap寄存器

(2)针对RootPort的LN system CLS

【82】PCIe LN协议相关推荐

  1. synopsys PCIE IP协议解析

    synopsys PCIE IP协议解析 1.Overview Core支持单个Pcie内核的Loopback功能,该功能主要为了做芯片验证,以及在没有远程接收器件的情况下完成自己的回环.同时,Cor ...

  2. 简单概述PCIe总线协议

    初步认识pcie协议 PCI总线在PC界已然一统江湖多年,应用已然广泛,PCI的总线已蔚然成风.科技日益发展,需求不断膨胀,经过计算机技术10年的发展,包括摩尔定律的不断验证,PCI总线已渐渐感觉力不 ...

  3. pcie总线协议入门基础知识

    1. PCIe基础知识 PCI-Express是一种高速串行计算机扩展总线标准,它原来的名称为"3GIO",是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线 ...

  4. M.2接口SSD固态硬盘的SATA NGFF协议和PCIe NVMe协议介绍

    一. m.2接口 M.2接口,是一种新的主机接口方案,可以兼容多种通信协议,如sata.PCIe.USB.HSIC.UART.SMBus等.M.2接口,是Intel推出的一种替代MSATA新的接口规范 ...

  5. [固态硬盘协议 第2回] PCIE 相对 SATA 的 4 大优势详解

    目录 前言: 1. 性能有数倍的提升及原因 1.1 IO 队列个数 1.2 PCI-E是全双工模式 1.3 PCI-E通道数量更多 1.4 PCIE 持续迭代更新 2. 可大幅降低延迟 3. 自动功耗 ...

  6. PCIe总线(协议简述)

    PCIe总线(协议简述) 转自:https://www.cnblogs.com/YINBin/p/10946247.html    PCIe总线(协议简述) - 那些城市那些人 - 博客园 1. PC ...

  7. 【回眸】牛客网刷刷刷!嵌入式软件中也会遇到的嵌入式硬件,通讯,通讯协议专题(一)

    前言 最近继续刷题,看看嵌入式软件还需要了解一些嵌入式硬件中的通讯协议和常用接口协议 比如说SPI CAN I2C 通讯协议专题 1.波特率 波特率= 每秒传送的字符数 * 字符位数.串口的工作模式为 ...

  8. SATA、mSATA、M.2、M.2(NVMe)、PCIE固态硬盘接口详解

    固态硬盘 概念 固态驱动器(Solid State Drive),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵列而制成的硬盘,因为台湾英语里把固体电容称之为Solid而得名.SSD由控制单元和存储单元 ...

  9. PCIe设备在一个系统中是如何发现与访问的

    PCIe设备在一个系统中是如何发现与访问的 硬盘是大家都很熟悉的设备,一路走来,从HDD到SSD,从SATA到NVMe,作为NVMe SSD的前端接口,PCIe再次进入我们的视野.作为x86体系关键的 ...

最新文章

  1. 安装Intel图像处理IPP库
  2. [How TO]-如何编写Linux kernel documentation
  3. Collatz猜想 (Hailstone)(3n + 1猜想)
  4. 在node.js中建立你的第一个HTTp服务器
  5. mpiBlast安装详解以及使用说明
  6. 跨域技术(JSONP与CROS)
  7. tensorFlow13卷积神经网络发展
  8. 杭州市政府数据容灾集中备份业务整体外包(2009)项目招标公告
  9. oracle 两表两列数据对比_【SQL】根据两列信息,整合两张表数据
  10. idea 编译内存溢出
  11. Linux硬链接和符号链接(转)
  12. 毕业设计php做个人网站,个人网站的设计与实现
  13. 微信无法连接到服务器1-10091,微信能登录但是被限制功能了怎么解封
  14. SAP ABAP BDC录屏 数据导入和检验-实例
  15. 深扒:基于UEBA的数据使用安全防护
  16. 模拟集成电路笔记 | 第三部分 | Chapter 5-6
  17. 当用户用input() 函数输入演员名字在屏幕 上打印出xx出演电影xx
  18. 车载大屏仪表用什么软件开发的
  19. Ubuntu 16.04下Intel SGX SDK环境搭建(硬件不支持情况)
  20. btrfs的介绍与使用

热门文章

  1. 疾病研究:8岁男童成为美国首位接受基因治疗的杜氏进行性肌营养不良患者
  2. HTML课程表制作(利用html、css、table表格知识)
  3. 程序员的十年工作创业经历
  4. 易语言和python交互[易语言源码|贝贝吧,易语言修改快捷方式进行微信多开的代码...
  5. Linux服务管理-zabbix监控邮箱告警配置
  6. 【学习笔记】:PointNet的补充材料
  7. ESP32-S3 自带usb/jtag初步尝试体验
  8. 如何快速拉近与客户的关系?
  9. linux rm和rmdir区别,Linux命令rmdir和rm的区别
  10. IDEN_CURRENT相关问题