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

在PCIExpress上启用基于ID的流的方法和装置制造方法及图纸

技术编号:4015707 阅读:194 留言:0更新日期:2012-04-11 18:40
本文描述一种在外设部件互连Express(PCIe)上启用基于ID的流的方法和装置。在这方面介绍了一种装置,包括:对要在串行点对点互连上发送的数据包定序的存储器定序逻辑,如果第二数据包包括指示第二数据包是次序无关的属性标志置位并且如果所述第二数据包包括与第一数据包关联的ID不同的ID,则存储器定序逻辑用在第一数据包之后到达的第二数据包绕过迟延的第一数据包。

【技术实现步骤摘要】

本专利技术涉及互连领域,尤其涉及在PCIExpress上启用基于ID的流。
技术介绍
计算机系统包括大量组件和元件。这些组件经常经由总线或互连耦合。以往,输 入/输出(I/O)设备通过被称为外设部件互连(PCI)的传统多站式并行总线架构耦合在一 起。近来,被称为PCIExpress (PCIe)的新一代I/O总线已被用来通过利用一系列物理层通 信协议来促进设备间更快速的互连。PCIE架构包括在设备间通信的分层协议。例如,物理层、链路层和事务处理层 (transaction layer)构成PCIE协议栈。PCIe链路是围绕被称为巷道(lane)的串行点 对点连接的专用单向对建立的。设备之间的链路包括某一数量的巷道,例如1、2、16、32 等。当前的 PCIE 规范,即基本规范 2. 0,可从 http://www. pcisig. com/specifications/ pciexpress/ 获得。已创立传统PCIe定序规则以实现制造者_消费者编程模型。在这种模型下,需要 从特定设备读出以促成在其之前产生的写入。这种编程模型确保某一存储器位置X的读出 将总是获得写入到该存储器位置的最近数据。然而,这种定序需求造成来自一个请求流的请求(具有同一请求方和同一目的地 的读或写事务序列)干扰另一独立的请求。这种干扰可能造成严重的性能瓶颈。当读请求 是等待时间敏感的,如果未提交的请求被阻塞在已提交的请求之后,那么这个问题是尤为 严重的。附图说明本专利技术以示例示出并且不旨在受附图的限制。图1示出包括串行点对点互连以连接计算机系统中的I/O设备的系统的实施例。图2示出分层协议栈的一个实施例。图3示出存储器定序逻辑的一个实施例。图4示出包括基于ID的定序标志的数据包的实施例。图5示出定序表的一个实施例。图6示出启用基于设备ID的流的流程图的实施例。具体实施例方式在下面的说明中给出许多具体细节,例如具体互连、具体数据包/消息、数据包/ 消息中的具体字段和位置、逻辑/高速缓存的具体位置等,以提供对本专利技术的透彻理解。然 而对本领域内技术人员显而易见地,实现本专利技术不必采用这些具体细节。在其它实例中,例 如高速缓存逻辑/应用、外设部件互连Express(PCIe)消息收发协议、事务中的PCIe字段 /数据包以及其它PCIe基本实现的公知组件或方法未被详细描述以防不必要地遮盖本专利技术。本文描述的方法和装置用于在PCIe上启用基于ID的流。具体地说,开关中排队 的请求的旁路是参照(因信用(credits)或例如页错的其它事件)迟延(stall)的已提交 请求讨论的。然而,启用基于ID的流的方法和装置不受此限,因为它们可实现在例如任意 输入/输出设备或其它计算机组件的任何集成电路设备上或关联于任何集成电路设备,以 及与任意类型的串行点对点互连结合。串行点对点分层的协议链路/互连参见图1,示出了包括经由串行链路耦合于控制器中枢的设备的系统的实施例。系 统100包括处理器105和耦合于控制器中枢115的系统存储器110。处理器105包括任何 处理元件,例如微处理器、主处理器、嵌入式处理器、协处理器或其它处理器。处理器105通 过前端总线(FSB) 106耦合于控制器中枢115。在一个实施例中,FSB 106是如下文所述的 串行点对点互连。系统存储器110包括任何存储设备,例如随机存取存储器(RAM)、非易失(NV)存储 器或可由系统100中的设备访问的其它存储器。系统存储器110通过存储器接口 116耦合 于控制器中枢115。存储器接口的示例包括双倍数据率(DDR)存储器接口、双通道DDR存储 器接口和动态RAM (DRAM)存储器接口。在一个实施例中,控制器中枢115是外设部件互连Express (PCIe或PCIE)互连 分层结构的根中枢或根控制器。控制器中枢115的示例包括芯片组、存储器控制器中枢 (MCH)、北桥、互连控制器中枢(ICH)、南桥以及根控制器/中枢。通常术语芯片组指两个物 理上分开的控制器中枢,即耦合于互连控制器中枢(ICH)的存储器控制器中枢(MCH)。这里,控制器中枢115通过串行链路119耦合于开关/桥120。也可被称为接口 / 端口 117、121的输入/输出模块117、121包括/应用分层协议栈以提供控制器中枢115和 开关120之间的通信。例如模块117、118、121、122、124、126、129和131的模块可用硬件、 软件、固件或其任意组合实现。此外,在不同实施例中,模块边界通常是变化的并且功能是 一起实现或单独实现的。在一个实施例中,多个设备能耦合于开关120。开关120在上游——即向上,朝向根控制器的层次——将来自设备125、128的数 据包/消息路由至控制器中枢115并在下游——即向下,远离根控制器的层次——将数据 包/消息从处理器105或系统存储器110路由至设备125、128。设备125、128包括要耦合 于电子系统的任何内部或外部设备或组件,例如I/O设备、网络接口控制器(NIC)、附加卡、 音频处理器、网络处理器、硬盘驱动器、存储设备、⑶/DVD ROM、监视器、打印机、鼠标、键盘、 路由器、便携式存储设备、防火墙设备、通用串行总线(USB)设备、扫描仪以及其它输入/输 出设备。开关120包括如下文中更详细描述的存储器定序逻辑140以启用基于设备ID的 流。图形加速器130也通过串行链路132耦合于控制器中枢115。在一个实施例中,图 形加速器130耦合于MCH,所述MCH耦合于ICH。开关120并因此I/O设备125、128则耦合 于ICH。I/O模块131、118也实现分层协议栈以在图形加速器130和控制器中枢115之间通{曰。转向图2,示出了分层协议栈的一个实施例。分层协议栈200包括任何分层通信 栈,例如快速路径互连(QPI)栈、PCIe栈或其它协议栈。在一个实施例中,协议栈200是包5含事务处理层205、链路层210和物理层220的PCIe协议栈。例如图1中接口 117、118、 121、122、124、126、129和131的接口可被表示为通信协议栈200。表示为通信协议栈也被 称为实现/包含协议栈的模块或接口。事各处理层在一个实施例中,事务处理层205在设备处理核心和例如数据链路层210和物理 层220的互连架构之间提供接口。在这个方面,事务处理层205的主要责任是数据包(即 事务处理层数据包或TLP)的组装和拆分。PCIe实现拆分事务,即具有按时间分隔的请求和 响应的事务,允许在目标设备对于响应采集数据的同时链路承载其它通信量。此外,PCIe利用基于信用的流程控制。在这种机制下,设备通告事务处理层205中 每个接收缓冲器的信用的初始量。处于链路相对端的外部设备,例如图1中的控制器中枢 115,对每个TLP所消耗的信用数目予以计数。如果事务没有超出信用极限,则发送该事务。 在接收到响应后,恢复某一数量的信用。信用机制的优点是假设没有遇到信用极限则信用 返回的等待时间不会影响性能。在一个实施例中,四个事务地址空间包括配置地址空间、存储器地址空间、输入/ 输出地址空和消息地址空间。存储器空间事务包括要将数据传至存储器映射的位置/从存 储器映射的位置传送的读本文档来自技高网...

【技术保护点】
一种装置,包括:对要在串行点对点互连端口上发送的数据包定序的存储器定序逻辑,如果第二数据包包括指示所述第二数据包是次序无关的属性标志置位并且如果所述第二数据包包括与包含在第一数据包中的ID不同的ID,则所述存储器定序逻辑用在所述第一数据包之后到达的所述第二数据包绕过迟延的第一数据包。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:A辛格豪尔D哈利曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:US

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

1