CN101901205B - 在PCIExpress上启用基于ID的流的方法和装置 - Google Patents

在PCIExpress上启用基于ID的流的方法和装置 Download PDF

Info

Publication number
CN101901205B
CN101901205B CN201010194859.2A CN201010194859A CN101901205B CN 101901205 B CN101901205 B CN 101901205B CN 201010194859 A CN201010194859 A CN 201010194859A CN 101901205 B CN101901205 B CN 101901205B
Authority
CN
China
Prior art keywords
packet
request
submit
port
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010194859.2A
Other languages
English (en)
Other versions
CN101901205A (zh
Inventor
A·辛格豪尔
D·哈利曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to CN201410310637.0A priority Critical patent/CN104123262B/zh
Publication of CN101901205A publication Critical patent/CN101901205A/zh
Application granted granted Critical
Publication of CN101901205B publication Critical patent/CN101901205B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

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

Description

在PCIExpress上启用基于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)、附加卡、音频处理器、网络处理器、硬盘驱动器、存储设备、CD/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是包含事务处理层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所消耗的信用数目予以计数。如果事务没有超出信用极限,则发送该事务。在接收到响应后,恢复某一数量的信用。信用机制的优点是假设没有遇到信用极限则信用返回的等待时间不会影响性能。
在一个实施例中,四个事务地址空间包括配置地址空间、存储器地址空间、输入/输出地址空和消息地址空间。存储器空间事务包括要将数据传至存储器映射的位置/从存储器映射的位置传送的读请求和写请求中的一个或多个。在一个实施例中,存储器空间事务能使用两种不同的地址格式,例如32位地址的短地址格式或例如64位地址的长地址格式。配置空间事务用来访问PCI设备的配置空间。对配置空间的事务包括读请求和写请求。消息空间事务(或简称为消息)被定义为支持PCIe代理之间的带内通信。
因此,在一个实施例中,事务处理层205组装数据包首部/有效负载206。数据包首部/有效负载的格式可在PCIe规范中找到,即可在http://www.pcisig.com/specifications/pciexpress/获得的PCIe基本规范2.0中找到。
链路层
也被称为数据链路层210的链路层210充当事务处理层205和物理层220之间的中间阶级。在一个实施例中,数据链路层210的责任是提供在链路的两组件之间交换事务处理层数据包(TLP)的可靠机制。数据链路层210的一侧接受由事务处理层205组装的TLP,施加数据包序列标识符211(即识别号或数据包号),计算并施加检错码(即CRC212),并将经修正的TLP提交给物理层220以在物理上传输至外部设备。
物理层
在一个实施例中,物理层220包括逻辑子块221和电子块222以将数据包在物理上传输至外部设备。这里,逻辑子块221负责物理层221的“数字”功能。在这个方面,逻辑子块包括预备由物理子块222发送的传出信息的发送部,以及在将所接收信息传至链路层210前识别和预备所接收信息的接收部。
物理块222包括发送机和接收机。发送机由带码元的逻辑子块221提供,发送机串行化所述码元并将其发送至外部设备上。向接收机提供来自外部设备的串行化码元,接收机将所接收的信号变换成比特流。比特流被解串行化并提供给逻辑子块221。在一个实施例中,采用8b/10b传输码,其中发送/接收十比特码元。这里,使用特殊码元来用帧223对数据包组帧。另外在一个例子中,接收机还提供从传入的串行流恢复的码元时钟。
如上所述,尽管事务处理层205、链路层210和物理层220是参照PCIe协议栈的特定实施例描述的,然而分层协议栈不受此限。实际上,可纳入实现任何分层协议。作为示例,表示为分层协议的端口/接口包括:(1)组装数据包的第一层,即事务处理层;使数据包序列化的第二层,即链路层;以及发送数据包的第三层,即物理层。
接着参见图3,示出了存储器定序逻辑的实施例。如图所示,智能开关300包括存储器定序逻辑305、提交的请求队列308(包括提交的请求310A-N)和指针322、未提交的请求队列314(包括未提交的请求316A-N)和指针324、完成队列318(包括完成320A-N)和指针326以及端口350(它可以是上游或下游端口)。
存储器定序逻辑305实现启用基于设备ID的流的方法,例如参照图6描述的方法,并可包括基于ID的定序激励器322、队列选择器334、指针处理器336、请求者/完成者ID比较器338和IDO标志检验340。
参见图4,示出了包含基于ID的定序标志的数据包的实施例。数据包指的是要在总线/互连上传输的任何请求、消息、访问或其它信息组。在所示实施例中,数据包400包括其它信息字段405。其它信息405的例子包括预留字段、格式字段、类型字段、属性字段、长度字段、PCIe专用字段或任何其它协议专用字段。另外,数据包400包括请求者ID 415(字节4和5),请求者ID 415可引用进行请求的代理/设备并作为全局ID/事务描述符的一部分或包括全局ID/事务ID,数据包400还可包括引用地址位置的地址字段420。
属性位402、404可启用如图所示的定序模型450、455、460和465。可使用字节1的当前预留位2的属性位402表示基于ID的定序标志,该标志可置为请求者或完成者以指示请求或完成是次序无关的并可绕过所提交的请求。
接着参见图5,示出了定序表的一个实施例。表500类似于PCI规范的表2-24,但有所改变以允许在某些情况下由独立请求流绕过较早排队但被迟延的已提交存储器写或消息请求(列2)。
根据单元格505,:不严格的定序属性位404清零且ID定序位402清零的存储器写或消息请求不允许通过(a);不严格的定序属性位404置位且ID定序位402清零的存储器写或消息请求被允许通过(b),以及不严格的定序属性位404清零且ID定序位402置位的存储器写或消息请求被允许传递任何其它存储器写或消息请求,如果它们的请求者的ID 415是不同的话(c)。
根据单元格510,:不严格的定序属性位404清零且ID定序位402清零的读请求不允许通过(a);不严格的定序属性位404置位且ID定序位402清零的读请求不允许通过(b);以及不严格的定序属性位404清零或置位且ID定序位402置位的读请求被允许传递任何其它存储器写或消息请求,如果它们的请求者的ID 415是不同的话(c)。
根据单元格515,I/O或配置写请求不能传递存储器写或消息请求。这保护了支持生产者/消费者使用模型所需的强制写定序。
根据单元格520,:不严格的定序属性位404清零且ID定序位402清零的读完成不允许通过(a);不严格的定序属性位404置位且ID定序位402清零的读完成被允许通过(b);而不严格的定序属性位404清零且ID定序位402置位的读完成被允许传递任何其它存储器写或消息请求,如果其完结者的ID不同于存储器写的请求者的ID 415。
最后,根据单元格525,I/O或配置写完成被允许被存储器写和消息请求阻塞或传递存储器写和消息请求。这类事务实际上沿相反方向移动,并因此不具有定序关系。
接着参见图6,示出了启用基于设备ID的流的流程图的实施例。在流程605中,基于ID的定序激励器332判断是否存在绕过已提交请求的机会。在一个实施例中,如果确定已提交请求被迟延,则激励器332使处理前进至流程610。
在流程610,队列选择器334则选择队列以寻找要传输的备选数据包。在一个实施例中,选择器334基于哪个队列具有最多条目而选择已提交的请求队列308、未提交的请求队列314或完成队列318。在另一实施例中,选择器334总是首先选择未提交的请求队列314以寻找备选数据包。在流程615中,如果之前的潜在备选数据包不被允许通过(即不是来自独立流或ID定序位402未被置位),则指针处理器336可例如递增指针322、324、326中的一个或多个。
接着,在流程620,请求者/完成者ID比较器338判断潜在备选数据包的请求者/完成者ID是否不同于已提交请求队列308中任何早先接收的已提交请求。在一个实施例中,比较器338使用与每一未提交请求和完成一起存储的已提交请求指针来确定已提交请求队列308中哪些已提交请求在潜在备选数据包之前被接收到。如果潜在备选数据包被确定为来自早先接收的已提交请求的独立流,则处理继续至流程625。否则,处理返回到流程605。
在流程625,IDO标志检验340验证潜在备选数据包中ID定序位402是否被置位,如果是的话,在流程630备选数据包在端口350上传输。否则,处理返回到流程605。
上述方法、软件、固件或代码的实施例可藉由存储在处理元件可执行的机器可访问或机器可读介质上的指令或代码来实现。机器可访问/可读介质包括以机器(例如计算机或电子系统)可读的形式提供(即存储和/或传输)信息的任何机制。例如,机器可访问介质包括随机存取存储器(RAM),例如静态RAM(SRAM)或动态RAM(DRAM)、ROM、磁或光存储介质、闪存设备、电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号)等。
在本说明书中提到的“一个实施例”或“一实施例”表示结合该实施例描述的特定特征、结构或特点被包含在本发明的至少一个实施例中。因此,本说明书中多处出现的术语“在一个实施例中”或“在一实施例中”不必全部指同一实施例。此外,在一个或多个实施例中可以按任何适宜的方式将特定的特征、结构或特点结合起来。
在前面的说明书中,已参照特定示例性实施例给出了详细说明。然而,显然可就此作出多种修改和变化而不脱离如所附权利要求书所述的本发明更宽的精神和范围。因此,说明书和附图被认为是说明性的而非限定性的。此外,前面对实施例和其它示例性语言的使用不必指同一实施例或同一示例,而是可以指不同和独特的实施例或可能是同一实施例。

Claims (20)

1.一种用于在PCI Express上启用基于ID的流的装置,包括:
对要在串行点对点互连端口上发送的数据包定序的存储器定序逻辑单元,如果第二数据包包括指示所述第二数据包是次序无关的属性标志置位并且如果所述第二数据包包括与包含在第一数据包中的ID不同的ID,则所述存储器定序逻辑单元绕过迟延的第一数据包并发送所述第二数据包,所述第二数据包是在所述第一数据包之后到达的。
2.如权利要求1所述的装置,其特征在于,还包括存储器逻辑单元,如果所述第二数据包包括与排队发送的每个早先接收的数据包中包含的ID不同的ID,则所述存储器逻辑单元绕过迟延的第一数据包并发送所述第二数据包,所述第二数据包是在所述第一数据包之后到达的。
3.如权利要求1所述的装置,其特征在于,所述第二数据包包括未提交的请求数据包,并且所述第二数据包ID包括请求者ID。
4.如权利要求1所述的装置,其特征在于,所述第二数据包包括完成数据包,且所述第二数据包ID包括完成者ID。
5.如权利要求1所述的装置,其特征在于,所述ID包括数据包的首部的字节4和5。
6.如权利要求1所述的装置,其特征在于,所述第一和第二数据包均包含处于已提交请求队列中的写请求。
7.如权利要求1所述的装置,其特征在于,所述串行点对点互连是外设部件互连Express PCIE链路,并且所述装置进一步包括与所述PCIE链路通信耦合的处理器、系统存储器和图形加速器。
8.如权利要求1所述的装置,其特征在于,所述端口是下游端口。
9.一种用于在PCI Express上启用基于ID的流的装置,包括:
沿串行点对点链路传输数据包的端口;
存储要在所述端口上传输的已提交请求的数据包的第一队列单元;
存储要在所述端口上传输的未提交请求的数据包的第二队列单元;以及
逻辑单元,用于如果未提交请求的首部包括指示所述未提交请求是次序无关的属性标志且所述未提交请求的首部包括与第一队列单元中早先接收的已提交请求的请求者ID不同的请求者ID,则选择性地绕过来自所述第一队列单元的迟延的已提交请求并在所述端口上传输来自第二队列单元的未提交请求,所述未提交请求是在迟延的已提交请求之后接收到的。
10.如权利要求9所述的装置,其特征在于,还包括存储要在所述端口上传输的完成数据包的第三队列单元,如果所述完成的首部指示所述未提交请求是次序无关的且如果所述完成的首部包括与所述第一队列单元中早先接收的已提交请求的请求者ID不同的完成者ID,则所述逻辑单元选择性地绕过来自所述第一队列单元的迟延的已提交请求并在所述端口上传输来自所述第三队列单元的所述完成,所述完成是在迟延的已提交请求之后接收到的。
11.如权利要求9所述的装置,其特征在于,还包括如果一已提交请求的首部指示所述未提交请求是次序无关的且所述已提交请求的首部包括与迟延的已提交请求的请求者ID不同的请求者ID,则所述逻辑单元选择性地绕过来自所述第一队列单元的延迟的已提交请求并在所述端口上发送来自第一队列单元的已提交请求,所述请求是在迟延的已提交请求之后接收到的。
12.如权利要求9所述的装置,其特征在于,所述端口是上游端口。
13.如权利要求9所述的装置,其特征在于,还包括可通信地耦合于串行点对点链路的处理器、系统存储器和图形加速器。
14.如权利要求9所述的装置,其特征在于,还包括:所述第二队列单元用来存储与每个未提交请求数据包关联的已提交请求指针以指示存储在所述第一队列单元中的哪些已提交请求是在每个未提交请求数据包之前接收到的。
15.如权利要求9所述的装置,其特征在于,所述属性标志包括所述未提交请求的数据包首部的字节1的位2。
16.一种用于在PCI Express上启用基于ID的流的装置,包括:
包括包含协议栈的输入/输出(I/O)模块的设备,所述协议栈包括物理层、链路层、事务处理层,其中所述协议栈在串行点对点链路上传输第一数据包和第二数据包,所述第二数据包包括标志置位以指示所述第二数据包的操作是次序无关的,其中如果所述第二数据包包括与包含在第一数据包中的ID所不同的ID,则绕过迟延的第一数据包,并发送在所述第一数据包之后到达接收侧的所述第二数据包。
17.如权利要求16所述的装置,其特征在于,指示所述操作是次序无关的所述标志置位包括所述数据包首部的字节1的位2。
18.如权利要求16所述的装置,其特征在于,所述操作选自组:存储器写或消息请求、读请求、I/O或配置写请求、读完成和I/O或配置写完成。
19.如权利要求16所述的装置,其特征在于,所述设备选自组:加速器、输入/输出设备、控制器中枢、根控制器、开关和处理器。
20.如权利要求19所述的装置,其特征在于,还包括所述设备可通信地耦合于系统存储器和多个附加设备以构成一系统。
CN201010194859.2A 2009-05-29 2010-05-27 在PCIExpress上启用基于ID的流的方法和装置 Active CN101901205B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410310637.0A CN104123262B (zh) 2009-05-29 2010-05-27 在PCIExpress上启用基于ID的流的方法和装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/474,480 US8199759B2 (en) 2009-05-29 2009-05-29 Method and apparatus for enabling ID based streams over PCI express
US12/474,480 2009-05-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201410310637.0A Division CN104123262B (zh) 2009-05-29 2010-05-27 在PCIExpress上启用基于ID的流的方法和装置

Publications (2)

Publication Number Publication Date
CN101901205A CN101901205A (zh) 2010-12-01
CN101901205B true CN101901205B (zh) 2014-07-30

Family

ID=43220157

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201010194859.2A Active CN101901205B (zh) 2009-05-29 2010-05-27 在PCIExpress上启用基于ID的流的方法和装置
CN201410310637.0A Active CN104123262B (zh) 2009-05-29 2010-05-27 在PCIExpress上启用基于ID的流的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201410310637.0A Active CN104123262B (zh) 2009-05-29 2010-05-27 在PCIExpress上启用基于ID的流的方法和装置

Country Status (8)

Country Link
US (1) US8199759B2 (zh)
JP (2) JP2012527036A (zh)
KR (1) KR101298862B1 (zh)
CN (2) CN101901205B (zh)
DE (2) DE112010002178T5 (zh)
RU (2) RU2559727C2 (zh)
TW (2) TWI568220B (zh)
WO (1) WO2010138230A2 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8199759B2 (en) 2009-05-29 2012-06-12 Intel Corporation Method and apparatus for enabling ID based streams over PCI express
CN103238305A (zh) * 2010-05-28 2013-08-07 安全第一公司 用于安全数据储存的加速器系统
US9411763B2 (en) 2012-01-13 2016-08-09 Intel Corporation Allocation of flow control credits for high performance devices
KR101754890B1 (ko) * 2012-10-22 2017-07-06 인텔 코포레이션 고성능 인터커넥트 물리 계층
US9600431B2 (en) 2012-10-22 2017-03-21 Intel Corporation High performance interconnect physical layer
US9558143B2 (en) 2014-05-09 2017-01-31 Micron Technology, Inc. Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device
US9602464B2 (en) 2014-12-12 2017-03-21 Intel Corporation Apparatus, system and method for allocating identifiers to components of a control system
US10176126B1 (en) * 2015-06-29 2019-01-08 Cadence Design Systems, Inc. Methods, systems, and computer program product for a PCI implementation handling multiple packets
US11216396B2 (en) * 2016-09-29 2022-01-04 Intel Corporation Persistent memory write semantics on PCIe with existing TLP definition
US10353833B2 (en) 2017-07-11 2019-07-16 International Business Machines Corporation Configurable ordering controller for coupling transactions
CN108471384B (zh) * 2018-07-02 2020-07-28 北京百度网讯科技有限公司 用于端到端通信的报文转发的方法和装置
US11477049B2 (en) * 2018-08-02 2022-10-18 Xilinx, Inc. Logical transport over a fixed PCIE physical transport network
CN110580202A (zh) * 2019-06-04 2019-12-17 阿里巴巴集团控股有限公司 服务器系统内消息的处理方法、装置及系统
US11748285B1 (en) * 2019-06-25 2023-09-05 Amazon Technologies, Inc. Transaction ordering management
KR102529761B1 (ko) 2021-03-18 2023-05-09 에스케이하이닉스 주식회사 PCIe 디바이스 및 그 동작 방법
KR102496994B1 (ko) * 2021-03-23 2023-02-09 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7443869B2 (en) * 2003-08-04 2008-10-28 Intel Corporation Deadlock avoidance queuing mechanism

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3505728B2 (ja) * 1993-01-13 2004-03-15 株式会社日立製作所 記憶制御装置
US6138192A (en) * 1996-12-31 2000-10-24 Compaq Computer Corporation Delivering a request to write or read data before delivering an earlier write request
US6385708B1 (en) * 1998-11-16 2002-05-07 Infineon Technologies Ag Using a timing-look-up-table and page timers to determine the time between two consecutive memory accesses
US6691192B2 (en) * 2001-08-24 2004-02-10 Intel Corporation Enhanced general input/output architecture and related methods for establishing virtual channels therein
WO2003019394A1 (en) 2001-08-24 2003-03-06 Intel Corporation A general input/output architecture, protocol and related methods to support legacy interrupts
US6728790B2 (en) * 2001-10-15 2004-04-27 Advanced Micro Devices, Inc. Tagging and arbitration mechanism in an input/output node of a computer system
US20040022094A1 (en) 2002-02-25 2004-02-05 Sivakumar Radhakrishnan Cache usage for concurrent multiple streams
US7149857B2 (en) * 2002-05-14 2006-12-12 Micron Technology, Inc. Out of order DRAM sequencer
DE10234934A1 (de) * 2002-07-31 2004-03-18 Advanced Micro Devices, Inc., Sunnyvale Antwortreihenwiederherstellungsmechanismus
US7444558B2 (en) * 2003-12-31 2008-10-28 Intel Corporation Programmable measurement mode for a serial point to point link
US7165131B2 (en) * 2004-04-27 2007-01-16 Intel Corporation Separating transactions into different virtual channels
US7957428B2 (en) * 2004-05-21 2011-06-07 Intel Corporation Methods and apparatuses to effect a variable-width link
US20050289306A1 (en) * 2004-06-28 2005-12-29 Sridhar Muthrasanallur Memory read requests passing memory writes
CN100456273C (zh) * 2005-03-24 2009-01-28 富士通株式会社 PCI-Express通信系统及其通信方法
US7461190B2 (en) * 2005-08-11 2008-12-02 P.A. Semi, Inc. Non-blocking address switch with shallow per agent queues
US7664904B2 (en) 2006-03-10 2010-02-16 Ricoh Company, Limited High speed serial switch fabric performing mapping of traffic classes onto virtual channels
US20080005484A1 (en) 2006-06-30 2008-01-03 Joshi Chandra P Cache coherency controller management
US7836220B2 (en) * 2006-08-17 2010-11-16 Apple Inc. Network direct memory access
US7949794B2 (en) * 2006-11-02 2011-05-24 Intel Corporation PCI express enhancements and extensions
US8050290B2 (en) * 2007-05-16 2011-11-01 Wilocity, Ltd. Wireless peripheral interconnect bus
US7904629B2 (en) * 2007-10-02 2011-03-08 NVON, Inc. Virtualized bus device
US8199759B2 (en) 2009-05-29 2012-06-12 Intel Corporation Method and apparatus for enabling ID based streams over PCI express

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7443869B2 (en) * 2003-08-04 2008-10-28 Intel Corporation Deadlock avoidance queuing mechanism

Also Published As

Publication number Publication date
CN104123262B (zh) 2018-03-30
US20100303079A1 (en) 2010-12-02
RU2559727C2 (ru) 2015-08-10
JP2014017006A (ja) 2014-01-30
KR101298862B1 (ko) 2013-08-21
TW201101044A (en) 2011-01-01
RU2013146508A (ru) 2015-04-27
CN104123262A (zh) 2014-10-29
DE202010018100U1 (de) 2014-04-09
WO2010138230A2 (en) 2010-12-02
JP2012527036A (ja) 2012-11-01
WO2010138230A3 (en) 2011-01-20
TW201636865A (zh) 2016-10-16
TWI568220B (zh) 2017-01-21
CN101901205A (zh) 2010-12-01
DE112010002178T5 (de) 2012-09-20
RU2509348C2 (ru) 2014-03-10
KR20120024669A (ko) 2012-03-14
JP5897524B2 (ja) 2016-03-30
TWI633442B (zh) 2018-08-21
RU2011153260A (ru) 2013-07-10
US8199759B2 (en) 2012-06-12

Similar Documents

Publication Publication Date Title
CN101901205B (zh) 在PCIExpress上启用基于ID的流的方法和装置
TWI570563B (zh) 後置中斷架構
US7827325B2 (en) Device, system, and method of speculative packet transmission
CN101681325B (zh) 修改PCI Express封包摘要的设备、系统和方法
CN104536940B (zh) 发送/接收具有扩展头部的分组的互连装置以及相关联的片上系统与计算机可读存储介质
KR101686360B1 (ko) 다중슬롯 링크 계층 플릿에서의 제어 메시징
CN100416528C (zh) 增强型通用输入/输出体系结构及在其中建立虚拟信道的有关方法
CN100357922C (zh) 用于实现流控制的方法和通用输入/输出接口
CN102981984B (zh) 使用完成者对存储器区域排序要求的知识来修改事务属性
US20070112995A1 (en) Dynamic buffer space allocation
CN105718390A (zh) 共享存储器链路中的低功率进入
JP2006189937A (ja) 受信装置、送受信装置、受信方法及び送受信方法
JP2005332250A (ja) データ処理装置およびフロー制御方法
CN103003808A (zh) 用于访问PCI Express 兼容设备的资源的系统和方法
US20050089033A1 (en) Method, system, and program for constructing a packet
CN105765484B (zh) 输入输出数据对齐
TWI246651B (en) An enhanced general input/output architecture and related methods for establishing virtual channels therein
CN117931481A (zh) 一种实时与分时系统数据快速交换的方法
TWI240859B (en) Error forwarding in an enhanced general input/output architecture and related methods

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant