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

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

Info

Publication number
CN104123262A
CN104123262A CN201410310637.0A CN201410310637A CN104123262A CN 104123262 A CN104123262 A CN 104123262A CN 201410310637 A CN201410310637 A CN 201410310637A CN 104123262 A CN104123262 A CN 104123262A
Authority
CN
China
Prior art keywords
affairs
request
equipment
attribute
ido
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.)
Granted
Application number
CN201410310637.0A
Other languages
English (en)
Other versions
CN104123262B (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
Publication of CN104123262A publication Critical patent/CN104123262A/zh
Application granted granted Critical
Publication of CN104123262B publication Critical patent/CN104123262B/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

Abstract

本文描述一种用于管理系统中的事务数据的通信的装置,包括:用于进行如下操作的逻辑:标识在第一事务之后发出的特定事务,其中所述特定事务将包括基于标识符的定序(IDO)属性,并且所述第一事务将包括已提交的请求;确定所述特定事务的IDO属性被置位;以及至少部分基于被置位的IDO属性而允许所述特定事务通过所述第一事务。

Description

在PCIExpress上启用基于ID的流的方法和装置
本申请是美国优先权号US12/474,480、中国国家申请号201010194859.2、中国国家申请日2010年5月27日、题为“在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。在一个实施例中,FSB106是如下文所述的串行点对点互连。
系统存储器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包括请求者ID415(字节4和5),请求者ID415可引用进行请求的代理/设备并作为全局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置位的存储器写或消息请求被允许传递任何其它存储器写或消息请求,如果它们的请求者的ID415是不同的话(c)。
根据单元格510,:不严格的定序属性位404清零且ID定序位402清零的读请求不允许通过(a);不严格的定序属性位404置位且ID定序位402清零的读请求不允许通过(b);以及不严格的定序属性位404清零或置位且ID定序位402置位的读请求被允许传递任何其它存储器写或消息请求,如果它们的请求者的ID415是不同的话(c)。
根据单元格515,I/O或配置写请求不能传递存储器写或消息请求。这保护了支持生产者/消费者使用模型所需的强制写定序。
根据单元格520,:不严格的定序属性位404清零且ID定序位402清零的读完成不允许通过(a);不严格的定序属性位404置位且ID定序位402清零的读完成被允许通过(b);而不严格的定序属性位404清零且ID定序位402置位的读完成被允许传递任何其它存储器写或消息请求,如果其完结者的ID不同于存储器写的请求者的ID415。
最后,根据单元格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 (31)

1.一种用于管理系统中的事务数据的通信的装置,包括:
用于进行如下操作的逻辑:
标识在第一事务之后发出的特定事务,其中所述特定事务将包括基于标识符的定序(IDO)属性,并且所述第一事务将包括已提交的请求;
确定所述特定事务的IDO属性被置位;以及
至少部分基于被置位的IDO属性而允许所述特定事务通过所述第一事务。
2.如权利要求1所述的装置,其特征在于,所述逻辑被至少部分实现在硬件电路中。
3.如权利要求1-2中任意一项所述的装置,其特征在于,所述特定事务通过所述第一事务进一步是基于:对所述第一事务的请求者标识符不同于所述特定事务的请求者标识符的确定。
4.如权利要求1-3中任意一项所述的装置,其特征在于,所述逻辑进一步用于确定所述第一事务的请求者标识符不同于所述特定事务的请求者标识符。
5.如权利要求1-4中任意一项所述的装置,其特征在于,所述逻辑进一步用于从所述第一事务的首部来标识所述第一事务的请求者标识符,并从所述特定事务的首部来标识所述特定事务的请求者标识符。
6.如权利要求1-5中任意一项所述的装置,其特征在于,所述已提交的请求包括存储器写请求。
7.如权利要求1-6中任意一项所述的装置,其特征在于,所述已提交的请求包括消息请求。
8.如权利要求1-7中任意一项所述的装置,其特征在于,所述特定事务包括已提交的请求。
9.如权利要求1-8中任意一项所述的装置,其特征在于,所述特定事务包括未提交的请求。
10.如权利要求1-9中任意一项所述的装置,其特征在于,所述未提交的请求包括如下之一:读请求和带有数据未提交的请求。
11.如权利要求1-10中任意一项所述的装置,其特征在于,所述第一事务和所述特定事务经由点对点串行数据链路来接收。
12.如权利要求1-11中任意一项所述的装置,其特征在于,所述串行数据链路是外设部件互连Express(PCIe)兼容的。
13.如权利要求1-12中任意一项所述的装置,其特征在于,所述特定事务包括首部,所述首部包括请求者标识符、不严格的定序属性字段、以及IDO属性字段。
14.如权利要求1-13中任意一项所述的装置,其特征在于,所述IDO属性字段包括单个位。
15.如权利要求1-14中任意一项所述的装置,其特征在于,当所述不严格的定序属性字段被置位时,所述特定事务将被允许通过所述第一事务。
16.如权利要求1-15中任意一项所述的装置,其特征在于,所述逻辑进一步用于确定所述不严格的定序属性字段是否被置位。
17.一种用于管理系统中的事务数据的通信的装置,包括:
分层协议栈,包括:事务处理层逻辑、链路层逻辑、以及物理层逻辑,所述事务处理层逻辑用于:
标识被迟延的第一事务,所述第一事务将包括首部数据,该首部数据将包括第一请求者标识符,所述第一事务将包括已提交的请求;
标识在第一事务之后发出的第二事务,其中所述第二事务将包括首部数据,该首部数据将包括:第二请求者标识符、不严格的定序属性字段、以及基于标识符的定序(IDO)属性,并且所述第二事务将包括下组中的一个:另一个已提交的请求、未提交的读请求、以及带有数据的未提交的请求;
确定所述第二事务的IDO属性被置位;
确定所述第二事务的不严格的定序属性字段是否被置位,其中,当所述不严格的定序属性字段被置位且所述第二事务是已提交的请求和带有数据的未提交的请求中的一个时,所述第二事务被允许通过所述第一事务;
确定所述第一请求者标识符和所述第二请求者标识符是不同的;以及
至少部分基于被置位的IDO属性以及所述请求者标识符和所述第二请求者标识符是不同的确定,允许所述第二事务通过所述第一事务。
18.一种用于管理系统中的事务数据的通信的方法,其特征在于,包括:
标识在第一事务之后发出的第二事务,其中所述第二事务将包括基于标识符的定序(IDO)属性,并且所述第一事务将包括已提交的请求;
确定所述第二事务的IDO属性被置位;以及
至少部分基于被置位的IDO属性而允许所述第二事务通过所述第一事务。
19.如权利要求18所述的方法,其特征在于,进一步包括:
标识在第一事务之后发出的第二事务,其中所述第二事务将包括基于标识符的定序(IDO)属性,并且所述第一事务将包括已提交的请求;
确定所述第二事务的IDO属性被置位;以及
至少部分基于被置位的IDO属性而允许所述第二事务通过所述第一事务。
20.如权利要求18-19中任意一项所述的方法,其特征在于,进一步包括:
确定所述第一事务的请求者标识符不同于所述第二事务的请求者标识符,其中允许所述第二事务通过所述第一事务是进一步基于所述第一事务的请求者标识符不同于所述第二事务的请求者标识符的确定。
21.如权利要求18-20中任意一项所述的方法,其特征在于,确定所述第一事务的请求者标识符不同于所述第二事务的请求者标识符包括:
标识在所述第一事务的首部数据中的所述第一事务的请求者标识符,以及标识在所述第二事务的首部数据中的所述第二事务的请求者标识符。
22.如权利要求18-21中任意一项所述的方法,其特征在于,所述第二事务进一步包括不严格的定序属性字段,且所述方法进一步包括:
确定所述第二事务的不严格的定序属性字段是否被置位,其中,当所述不严格的定序属性字段被置位时所述第二事务被允许通过所述第一事务。
23.如权利要求18-22中任意一项所述的方法,其特征在于,进一步包括:
接收所述第一事务;以及
接收所述第二事务。
24.一种用于管理系统中的事务数据的通信的设备,所述设备包括用于执行权利要求18-23中任意一项所述方法的装置。
25.一种设备,包括逻辑,所述逻辑的至少一部分是硬件逻辑,所述逻辑用于执行权利要求18-23中任意一项所述的方法。
26.一种用于对事务数据进行通信的系统,其特征在于,所述系统包括:
第一I/O设备;
第二I/O设备;以及
第三I/O设备,通信耦合至所述第一I/O设备和所述第二I/O设备,所述第三I/O设备用于:
从所述第一I/O设备接收第一事务;
从所述第二I/O设备接收所述第一事务之后的第二事务;
确定所述第二事务的基于标识符的定序(IDO)属性被置位;以及
至少部分基于被置位的IDO属性而允许所述第二事务通过所述第一事务。
27.如权利要求26所述的系统,其特征在于,所述第三I/O设备进一步用于确定所述第一事务的请求者标识符不同于所述第二事务的请求者标识符,其中允许所述第二事务通过所述第一事务进一步基于所述第一事务的请求者标识符不同于所述第二事务的请求者标识符的确定。
28.如权利要求26所述的系统,其特征在于,所述第三I/O设备是开关。
29.如权利要求28所述的系统,其特征在于,所述第一I/O设备包括如下至少之一:微处理器、图形加速器、以及存储器控制器。
30.如权利要求28所述的系统,其特征在于,所述第一I/O设备包括如下至少之一:微处理器、图形加速器、以及存储器控制器。
31.如权利要求26所述的系统,其特征在于,所述第三I/O设备经由PCIe兼容的串行点对点互连而通信耦合到所述第一I/O设备和所述第二I/O设备。
CN201410310637.0A 2009-05-29 2010-05-27 在PCIExpress上启用基于ID的流的方法和装置 Active CN104123262B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/474,480 2009-05-29
US12/474,480 US8199759B2 (en) 2009-05-29 2009-05-29 Method and apparatus for enabling ID based streams over PCI express
CN201010194859.2A CN101901205B (zh) 2009-05-29 2010-05-27 在PCIExpress上启用基于ID的流的方法和装置

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
CN104123262A true CN104123262A (zh) 2014-10-29
CN104123262B CN104123262B (zh) 2018-03-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 Before (1)

Application Number Title Priority Date Filing Date
CN201010194859.2A Active CN101901205B (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) DE202010018100U1 (zh)
RU (2) RU2509348C2 (zh)
TW (2) TWI568220B (zh)
WO (1) WO2010138230A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110580202A (zh) * 2019-06-04 2019-12-17 阿里巴巴集团控股有限公司 服务器系统内消息的处理方法、装置及系统

Families Citing this family (15)

* 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
WO2011150346A2 (en) * 2010-05-28 2011-12-01 Laurich Lawrence A Accelerator system for use with secure data storage
US9411763B2 (en) 2012-01-13 2016-08-09 Intel Corporation Allocation of flow control credits for high performance devices
US9600431B2 (en) 2012-10-22 2017-03-21 Intel Corporation High performance interconnect physical layer
DE112013003723B4 (de) * 2012-10-22 2018-09-13 Intel Corporation Hochleistungsfähige physikalische Kopplungsstrukturschicht
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
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN1669011A (zh) * 2002-05-14 2005-09-14 微米技术有限公司 无序的动态随机存取存储器序列器
US7443869B2 (en) * 2003-08-04 2008-10-28 Intel Corporation Deadlock avoidance queuing mechanism

Family Cites Families (20)

* 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
KR100750036B1 (ko) 2001-08-24 2007-08-16 인텔 코오퍼레이션 플로우 제어를 구현하는 범용 입출력 아키텍쳐, 프로토콜및 관련 방법
US6691192B2 (en) * 2001-08-24 2004-02-10 Intel Corporation Enhanced general input/output architecture and related methods for establishing virtual channels therein
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
US6912612B2 (en) 2002-02-25 2005-06-28 Intel Corporation Shared bypass bus structure
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN1669011A (zh) * 2002-05-14 2005-09-14 微米技术有限公司 无序的动态随机存取存储器序列器
US7443869B2 (en) * 2003-08-04 2008-10-28 Intel Corporation Deadlock avoidance queuing mechanism

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110580202A (zh) * 2019-06-04 2019-12-17 阿里巴巴集团控股有限公司 服务器系统内消息的处理方法、装置及系统

Also Published As

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

Similar Documents

Publication Publication Date Title
CN101901205B (zh) 在PCIExpress上启用基于ID的流的方法和装置
CN104536940B (zh) 发送/接收具有扩展头部的分组的互连装置以及相关联的片上系统与计算机可读存储介质
KR101686360B1 (ko) 다중슬롯 링크 계층 플릿에서의 제어 메시징
US8135873B2 (en) Information processing device for performing information exchange between a PCI express bus and a non-PCI express bus interface
US7827325B2 (en) Device, system, and method of speculative packet transmission
CN102981984B (zh) 使用完成者对存储器区域排序要求的知识来修改事务属性
CN107113084A (zh) 首标奇偶错误处理
JP2006189937A (ja) 受信装置、送受信装置、受信方法及び送受信方法
JP2005332250A (ja) データ処理装置およびフロー制御方法
CN103003808A (zh) 用于访问PCI Express 兼容设备的资源的系统和方法
CN104798010A (zh) 至少部分的串行存储协议兼容帧转换
TW202121879A (zh) 透過虛擬匯流排編碼傳播遙測資訊的系統、設備及方法
CN105765484B (zh) 输入输出数据对齐
CN1636198B (zh) 用于传送流动分组的装置、系统和方法
TWI246651B (en) An enhanced general input/output architecture and related methods for establishing virtual channels therein
CN117931481A (zh) 一种实时与分时系统数据快速交换的方法
WO2014035584A1 (en) Limiting bandwidth for write transactions across networks of components in computer systems
CN109885508A (zh) 高速外设组件互连标准总线系统及其数据传输方法、装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant