当前位置: 首页 > 专利查询>英特尔公司专利>正文

对存储器及对等设备的双播PCIe入站写入制造技术

技术编号:11500047 阅读:67 留言:0更新日期:2015-05-22 20:09
用于支持从PCIe设备向存储器和对等PCIe设备的入站系统存储器写入的双播的方法及装置。在PCIe根复合体处接收来自第一PCIe的入站系统存储器写入请求并且检查存储器地址以便确定其是否落入为双播操作定义的地址窗口内。如果是,从入站系统存储器写入请求生成IO写入请求并将其发送到与地址窗口相关的第二PCIe设备。在并行操作期间,原始入站系统存储器写入请求被转发到被配置成用于接收这种写入请求的系统代理。

【技术实现步骤摘要】
【国外来华专利技术】对存储器及对等设备的双播PCIe入站写入
本专利技术的领域总体上涉及计算机系统,并且更具体地但是不排他地涉及从PCIe设备向存储器和对等设备的入站写入的双播。
技术介绍
计算机系统通常使用一个或多个互连来方便系统组件(诸如处理器和存储器之间)之间的通信。互连和/或扩展接口还可用于支持内置和添加设备,诸如I/O(输入/输出)设备和扩展卡等等。许多年来,在引入了个人计算机之后,主要的互连形式是并行总线。并行总线结构用于内部数据传送和扩展总线,诸如ISA(工业标准架构)、MAC(微通道架构)、EISA(扩展工业标准架构)以及VESA局部总线。在20世纪90年代早期,英特尔公司引入了PCI(外围组件互连)计算机总线。PCI不仅通过增加总线速度而且通过引入使用共享地址和数据线的自动配置和基于事务的数据传送,改进了早期的总线技术。随着时间流逝,计算机处理器时钟频率以比并行总线时钟频率更快的步伐增加。结果是,计算机工作负载经常受限于互连瓶颈而不是处理器速度。尽管并行总线支持每个周期传送大量的数据(例如,PCI-X下的32或甚至64位),其时钟频率受限于定时斜变考虑因素,导致了实际受限于最大总线速度。为了克服这个问题,开发了高速串行互连。早期串行互连的示例包括串行ATA、USB(通用串行总线)、火线、以及RapidIO。广泛使用的另一种标准串行互连是快速PCI快速(也称为PCIe),其在2004年在PCIe1.0标准下引入。PCIe被设计成用于替换旧的PCI和PCI-X标准同时提供继承支持。PCIe采用点到点串行链路而不是共享并行总线架构。每个链路支持使用一个或多个通道的两个PCIe端口之间的点到点通信信道,其中,每个通道包括双向串行链路。使用交叉交换机架构物理地路由这些通道,这同时支持多个设备之间的通信。其固有优点的结果是,PCIe已经替换PCI成为当今个人计算机中最流行的互连。PCIe是PCI-SIG(特殊兴趣小组)管理的行业标准。进来,PCI-SIG添加了PCIe多播标准规范。在PCI基础规范修订3.0版本1.0的章节6.14中定义的PCIe多播规范下,PCIe发起设备可使用单个写入事务向多个PCIe目标进行写入。然而,PCIe多播规范未定义如何并发地使用单个写入事务实现从PCIe发起设备向系统存储器以及对等PCIe设备的写入。此外,PCIe多播规范为必须被配置成用于支持这种附加功能的各种PCIe设备增加了复杂性。相比之下,能够以对这种事务中涉及的实体具有最小影响的方式执行对系统存储器和对等PCIe设备的双播将会是有利的。附图简要描述当结合附图时,前述方面和本专利技术的许多伴随优势将变得更加容易认识到,正如通过参照以下详细描述更好地理解到的那样,其中,贯穿各种视图,相同的参考标号指代相同的部件,除非另外指明:图1是通用PCIe架构的示图;图2是示出PCIe堆栈的各层以及每层的分组(packet)组装/拆分的细节的示图;图3是示出根据一个实施例的向系统存储器和到PCIe对等设备双播入站存储器写入事务的组合示意框图和消息流程图;图4示出示例性输入写入事务流的双播;图5是与3DW或4DW存储器请求事务层分组相关联的3DW和4DW存储器请求头部的示意图;以及图6是示出实现在此公开的实施例的各方面所采用的示例性处理器和平台配置的所选组件的示意框图。实施方案描述在此描述了用于支持从PCIe设备向存储器和对等PCIe设备的入站写入的双播的方法和装置的实施例。在以下描述中,列出了许多特定细节以便提供本专利技术实施例的透彻理解。然而,本领域普通技术人员将认识到可在没有这些特定细节中的一项或多项的情况下或者在具有其他方法、组件、材料等等的情况下实践本专利技术。在其他情况下,未详细地示出或描述公知的结构、材料、或操作以便避免混淆本专利技术的各方面。贯穿本说明书对“一个实施例”或“实施例”的引用是指在此结合该实施例所描述的特定特征、结构或特性包括在本专利技术的至少一个实施例中。因此,贯穿本说明书,短语“在一个实施例中”或“在实施例中”在各种地方的出现并非必须全部指代相同的实施例。而且,特定特征、结构或特性可在一个或多个实施例中以任意适当的方式组合。在此公开的实施例涉及用于支持从PCIe设备向存储器和对等PCIe设备的入站写入的双播的方法及装置。为了更好地理解实施例的各方面,提供了在图1中示出的通用PCIe架构的以下简要讨论。在PCIe架构的核心处,PCIe根复合体(RC)100耦合到处理器102和存储器104。PCIeRC100被描绘为包括三个根端口106-1、106-2以及106-3。根端口106-1经由PCIe链路110和PCIe端口112连接到PCIe端点108。根端口106-2连接到PCIe到PCI/PCI-X网桥114,该网桥114用作PCIe和多个PCI/PCI-X设备116之间的接口。根端口106-3经由PCIe链路118和PCIe端口120连接到交换机116。交换机116被描绘为连接到一对传统端点122和124以及一对PCIe端点126和128。这些连接由PCIe链路130、132、134和136以及端口138、140、142、144、146、148、150和152促成。根复合体表示将CPU/存储器子系统连接到IO(输入/输出)的IO层次的根。如图1所示,根复合体可支持一个或多个PCIe端口。每个接口定义单独的层次域。每个层次域可由单个端点或包含一个或多个交换机组件和端点的子层次构成。根复合体可任选地支持层次域之间的对等事务的路由。端点是指一类功能,可以是代表其自身或者代表不同的非PCIe设备(除了PCI设备或主机CPU)(例如,PCIe附接图形控制器或PCIe-USB主机控制器)的PCIe事务的请求者或完成者。端点可被分类为传统、PCIe或者根复合体集成端点。PCIe支持使用由用于传输和接收中的每一者的一个或多个通道构成的串行链路的点到点互连。PCIe链路具有至少一个通道,每个通道表示一组差分信号对(一对用于传输,一对用于接收)。为了扩展带宽,链路可汇聚标记为xN的多条通道,其中,N可以是所支持的链路宽度中的任一个。例如,在PCIe3.0规范下,PCIe链路包括针对x1、x2、x4、x8、xl2、xl6和x32通道宽度的操作。在硬件初始化期间,在由位于链路的每个末端的两个代理协商链路宽度和操作频率之后设置每个PCIe链路。图2的示图200示出PCIe分层协议和TLP(事务层分组)组装/拆分的细节。在PCIe下,以分组化形式在两个PCIe端点或端口之间传送数据,如设备A和设备B所示。如上所述,PCIe链路包括单通道或多通道点到点互连。而且,在相反的方向上在单向点到点互连对中配置点到点互连,从而使得每个链路对支持双向通信。传送源自发送者或传输者,并且由接收者接收。正在发送的数据通过传输(Tx)路径传输并且相应的数据通过接收(Rx)路径接收。在PCIe设备之间交换的主要两类分组是高级事务层分组(TLP)以及被称为数据链路层分组(DLLP)的低级链路维护分组。共同地,各种TLP和DLLP使得两个PCIe设备能够可靠地执行存储器、IO和配置空间事务并且使用消息来发起功率管理事件、生成中断、报告错误等等。PCIe标准的三个低层包括事务本文档来自技高网...

【技术保护点】
一种方法,包括:从第一快速外围组件互连(PCIe)设备接收入站系统存储器写入请求;以及向系统存储器和第二PCIe设备中的每一个双播与所述入站系统存储器写入请求相对应的写入请求。

【技术特征摘要】
【国外来华专利技术】2012.10.19 US 13/656,1341.一种用于通信的方法,包括:从第一快速外围组件互连PCIe外围输入/输出IO设备接收入站系统存储器写入请求;以及通过使用PCIe根复合体并基于所述入站系统存储器写入请求为第二快速外围组件互连PCIe外围IO设备生成输入/输出IO写入请求,来向系统存储器和所述第二快速外围组件互连PCIe外围输入输出IO设备中的每一个双播与所述入站系统存储器写入请求相对应的写入请求,其中所述输入输出IO写入请求被配置成在被所述第二快速外围组件互连PCIe外围输入输出IO设备接收时使所述第二快速外围组件互连PCIe外围输入输出IO设备将所述输入输出IO写入请求中包含的数据写入所述第二快速外围组件互连PCIe外围输入输出IO设备上的存储器,以及其中所述快速外围组件互连PCIe根复合体是包含所述第一和第二快速外围组件互连PCIe外围输入输出IO设备的输入输出IO层次的根。2.如权利要求1所述的方法,进一步包括:将所述入站系统存储器写入请求或其副本之一转发到被配置成用于从快速外围组件互连PCIe外围输入输出IO设备接收入站系统存储器写入请求的代理。3.如权利要求2所述的方法,进一步包括:将与所述入站系统存储器写入请求相对应的地址转换为与所述第二快速外围组件互连PCIe外围输入输出IO设备的输入输出IO写入请求相对应的地址。4.如权利要求2所述的方法,进一步包括定义实现入站系统存储器写入请求的双播所针对的地址窗口,每个地址窗口包括系统存储器地址范围,对于所述系统存储器地址范围,具有在所述范围内的地址的入站系统存储器写入请求要被双播到与所述地址窗口相关联的快速外围组件互连PCIe外围输入输出IO设备。5.如权利要求4所述的方法,其中,至少一个地址窗口由地址偏移和从所述地址偏移偏离的地址范围定义,所述方法进一步包括:检查所述入站系统存储器写入请求的地址信息;确定与所述地址信息相对应的偏移;确定从所述地址偏离的地址;以及应用所确定的地址作为所述输入输出IO写入请求的地址。6.如权利要求5所述的方法,其中,所述入站系统存储器写入请求包括第一地址字段和第二地址字段,并且所述偏移在所述第一地址字段中定义。7.如权利要求2-6中任一项所述的方法,其中,所述入站系统存储器写入请求包括与第一高速缓存行相对应的数据以及标识所述第一高速缓存行的系统存储器地址的64位地址,并且其中,所述输入输出IO写入请求包括标识要将与所述第一高速缓存行相对应的数据写入所述第二快速外围组件互连PCIe外围输入输出IO设备所采用的地址的32位地址。8.如先前权利要求1-6中任一项所述的方法,进一步包括采用快速外围组件互连PCIe根复合体中的逻辑单元以便促成入站系统存储器写入请求的双播。9.如先前权利要求1-6中任一项所述的方法,其中,所述第一和第二快速外围组件互连PCIe外围输入输出IO设备中的每一个是对等设备。10.如先前权利要求1-6中任一项所述的方法,其中,所述第一和第二快速外围组件互连PCIe外围输入输出IO设备中的每一个包括网络接口控制器NIC。11.如权利要求1-6中任一项所述的方法,其中,所述第一和第二快速外围组件互连PCIe外围输入输出IO设备中的每一个包括存储控制器。12.如权利要求1-6中任一项所述的方法,其中,所述第一和第二快速外围组件互连PCIe外围输入输出IO设备中的每一个包括Infiniband主机总线适配器。13.一种用于通信的设备,包括逻辑单元,所述逻辑单元被配置成用于:从第一快速外围组件互连PCIe外围输入输出IO设备接收入站系统存储器写入请求;以及通过使用快速外围组件互连PCIe根复合体并基于所述入站系统存储器写入请求为第二快速外围组件互连PCIe外围输入输出IO设备生成输入/输出IO写入请求,来向系统存储器和所述第二快速外围组件互连PCIe外围输入输出IO设备中的每一个双播与所述入站系统存储器写入请求相对应的写入请求,其中所述输入输出IO写入请求被配置成在被所述第二快速外围组件互连PCIe外围输入输出IO设备接收时使所述第二快速外围组件互连PCIe外围输入输出IO设备将所述输入输出IO写入请求中包含的数据写入所述第二快速外围组件互连PCIe外围输入输出IO设备上的存储器,以及其中所述快速外围组件互连...

【专利技术属性】
技术研发人员:J·古德提L·常
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1