CN101727413A - 使用完成者对存储器区域排序要求的知识来修改事务属性 - Google Patents

使用完成者对存储器区域排序要求的知识来修改事务属性 Download PDF

Info

Publication number
CN101727413A
CN101727413A CN200910208029A CN200910208029A CN101727413A CN 101727413 A CN101727413 A CN 101727413A CN 200910208029 A CN200910208029 A CN 200910208029A CN 200910208029 A CN200910208029 A CN 200910208029A CN 101727413 A CN101727413 A CN 101727413A
Authority
CN
China
Prior art keywords
ordering
finish
endpoint device
read
pending
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
CN200910208029A
Other languages
English (en)
Other versions
CN101727413B (zh
Inventor
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 CN201210586797.9A priority Critical patent/CN102981984B/zh
Publication of CN101727413A publication Critical patent/CN101727413A/zh
Application granted granted Critical
Publication of CN101727413B publication Critical patent/CN101727413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)
  • Power Sources (AREA)

Abstract

一种通过设置读取完成中的排序属性来放宽读取完成的排序的方法和系统。放宽的排序属性允许读取完成绕开待决写入。

Description

使用完成者对存储器区域排序要求的知识来修改事务属性
技术领域
本发明的实施例一般涉及事务排序,尤其涉及允许修改严格排序的系统和方法。
背景技术
外围组件互连(PCI)是于1992年开发的第二代并行总线架构,其作为行业标准架构(ISA)总线的替代。在PCI中,所有设备共享相同的双向、32位(或64位)并行信号路径。PCI总线带来优于ISA总线的数个优点,包括处理器独立性、缓冲隔离、总线主控、以及实在的即插即用操作。PCI高速(PCI Express,PCIe)是被设计用来替代PCI总线的第三代通用串行I/O互连。并非总线,PCIe是围绕被称为通道(lane)的点对点串行链路而构造的。
PCI高速的点对点串行链路架构非常适合经由分布式多处理器架构模型的分布式处理。分布式处理器一般被优化用于实现数据分组处理功能。与严重依赖于高速缓存以提高性能的通用CPU不同,分布式处理器在分组处理上缺乏局部性并且需要高性能I/O,这已推动设计者提出创新架构以减少处理等待时间,同时仍以高数据率处理分组。
目前,PCIe中的事务排序属性和类似互连必须由请求者来设置。由于主CPU是通用资源,因此它们通常不具有根据正执行的活动的具体要求来设置排序属性的能力,并且必然落后于最低的公共平均水平,这导致低性能。CPU至IO读取通常是性能最关键的系统事务,因为CPU核可能停转以等待结果。改进这种读取的性能因此通过释放CPU资源供其它更有用工作用就直接导致整个系统性能的提高。
附图说明
通过参考用来说明本发明的实施例的以下描述和附图,可最好地理解本发明。
图1是图解宽松排序属性的PCIe请求报头的示意图解。
图2是图解宽松排序属性的PCIe完成报头的示意图解。
图3是本发明的一个实施例的示意图解。
图4是本发明的另一个实施例的示意图解。
具体实施方式
如说明书及权利要求书中所使用的,单数形式的“一”、“一个”以及“该”包括复数引用,除非上下文另外明确地指出。“根联合体”(“RC”)是将中央处理单元(“CPU”或“处理器”)和存储器连接到PCI高速开关结构的PCI高速设备。根联合体代表处理器生成事务请求。“请求者”是作出请求的任何设备。“完成者”是服务请求的任何实体。“媒介”是请求者与完成者之间的任何设备,诸如开关。通常,媒介仅向前传递请求。如说明书和权利要求书中所使用的“上游”指示往根联合体的流。“下游”指示远离根联合体的流。“区域”是由地址或地址范围定义的存储器部分。设备例如可能希望用于存储对设备的指令的一个区域和用于由设备产生或消耗的数据的另一个区域有不同行为。
本发明的实施例描述如何通过使IO设备基于该设备对因事务而异的要求的理解来修改完成的排序属性,来恢复迷失于不必要的严格排序的一些性能以用于CPU至IO设备读取。作为严格排序问题的示例,考虑如果初始要花费2μs来完成的读取可被改进到1μs,则这1μs之差可被“返回”给核心以完成有用工作——这是足以执行数千指令的时间。当前系统频繁地在CPU至IO设备读取上引发0.6μs到若干μs的等待时间。较大系统针对常规排序的CPU至IO设备读取可能引发4μs的等待时间。这种延迟中的大部分是由于禁止完成绕开写入的常规排序要求造成的。由于常常存在大量的IO设备至主存写入业务,因此对CPU的读取完成常常简单地因这许多写入造成的排队延迟而延迟。
PCIe和类似的互连将排序属性与事务相关联以允许最优化处理。例如,在PCI/PCIe中,默认排序规则要求读取完成等待所有先前发出的在同一方向上流动的写入,作为PCI生产者/消费者排序模型的正确要求。然而,这种模型对于大多数情形而言过于保守。例如,在读取描述IO设备的状态的数据结构之前通常必须清空IO设备写入主存。清空设备写入常常通过使CPU读取设备来完成。然而,一旦清空读取完成,附加的设备状态读取通常不必针对上游写入进行排序。此外,通常不必针对来自无关设备的上游写入来排序CPU的读取,即使PCI/PCIe默认排序规则要求该行为。
通常,主CPU无法知晓如何标注读取请求以指示所要求的排序属性。然而,IO设备通常知晓哪些区域要求常规排序而哪些不要求。在各设备之间、设备内的一个寄存器与同一设备中另一个寄存器之间、以及甚至是针对基于如何访问该寄存器的一个寄存器,排序要求可能显著变化。排序要求的知识理论上可通过在主机上运行的设备驱动软件来传达,但大多数当前架构CPU不提供这样做的机制。然而,通常IO设备自身具有排序要求的知识。然而,IO设备不能标记CPU至设备请求——该事务的这部分必须在假定应用最保守的排序要求下处理,除非某种其它机制另行作出指示。
在许多情形中,加诸于各完成上的排序要求导致显著的停转。然而使用本发明的系统和方法,可由IO设备标记排序要求,用于在恰适之处放宽排序要求。排序要求取决于实现架构。在本发明的一个实施例中,该架构是PCIe。PCIe设备能访问被称为宽松排序(RO)的排序属性。
图1示出PCIe请求报头中的RO比特的位置。通常,在请求中将RO比特设为0,除非存在为CPU提供用以理解哪些请求可允许RO比特被置位的信息的某种机制。根据现有的PCIe规则,由完成者简单地将RO比特(以及相关联的排序含意)从请求复制到完成中。图2示出PCIe完成报头中的相应宽松排序(RO)比特。
在当今的PCI-x/PCIe中,RO比特仅在其在对应的请求中被置位的情况下才在完成报头中被置位。这种策略对于设备读取至主存有意义,因为假定该设备“知晓”哪些请求可标注RO而哪些不能。本发明的实施例认识到针对设备返回的完成,CPU读取设备可标注RO。这允许完成绕开无关的设备写入存储器。
图3示出可如何由IO设备置位宽松排序属性(在这种情形中为PCI/PCIe完成的RO比特)的示例。在该示例中,系统100包括3个PCI/PCIe端点1、2、3。然而,系统100可具有任何数目的PCI/PCIe端点。前两个PCI/PCIe端点1、2经由PCIe互连122连接到开关108。开关108通过另一个PCIe互连122连接到根综合体110。第三PCI/PCIe端点3经由PCIe互连122直接连接到根综合体110。根综合体110包括输入/输出控制器集线器控制器(ICH)112、存储器控制器集线器(MCH)114、主存116、以及CPU 118。输入/输出控制器集线器控制器(ICH)112经由桌面管理接口(DMI)120连接到存储器控制器集线器(MCH)114。
在该实施例中,端点2和3将数据写入主存116。这些写入与端点1的活动无关。CPU核118读取端点1。常规PCI排序规则在这些写入可能与读取数据相关的(过度保守的)假定下禁止完成绕开对存储器的写入。这种行为是PCI生产者/消费者模型所要求的。通常,端点1“知晓”CPU正读取的数据是否与未完结的写入存储器相关,并且如果与未完结的写入有关系,则将不指示读取完成的RO。然而,在大多数情形中,端点1“知晓”该读取与任何未完结的写入无关,并且在这种情形中端点1可安全地关于RO标注该完成。
图4图解本发明的另一个实施例,其中寻址设备集成在根综合体110中。系统200包括连接到输入/输出控制集线器控制器(ICH)112的2个集成端点124、126。输入/输出控制器集线器控制器(ICH)11经由桌面管理接口(DMI)120连接到存储器控制器集线器(MCH)114。存储器控制器集线器(MCH)114连接到CPU 118和主存116。该实施例包括单个PCI/PCIe端点1。然而,系统100可具有任何数目的集成寻址设备124、126或PCI/PCIe端点1。
在许多情形中,集成寻址设备124、126按照很好地定义的方式使用,并且能够简化用于确定何时可接受完成排序放宽的机制。注意,完成排序的具体处理无需遵守PCIe RO要求。即,根据所需成本/益处,可使得本发明的其它实施例更简单或更复杂。
图4示出其根综合体集成设备参与完成排序放宽方案的系统。在图4中所示的系统中,可实现以下策略或其它类似策略。
●认识到CPU读取集成设备针对从其它集成设备写入主存可能从来没有排序要求
●认识到CPU读取集成设备针对从非集成设备写入主存可能从来没有排序要求
●认识到CPU读取非集成设备针对从其它集成设备写入主存可能从来没有排序要求
●认识到CPU读取非集成设备针对从其它非集成设备写入主存可能从来没有排序要求
以上示例是用PCI/PCIe RO属性例示的。然而,本发明不局限于PCI/PCIe RO。在更一般性情形中,排序属性可不同于RO。此外,表达排序属性的方式可能不同。完成者具有用于确定是否能从默认行为安全地修改完成排序的知识是充分的。此外,以上示例是以针对上游写入排序的形式来例示的。然而,该系统是对称的。即,排序属性也可被放宽以改变针对下游写入的排序。
本发明的实施例可提供对于宽泛的计算机系统合需的性能改进。PC兼容的架构系统被特别约束,因为与支持传统硬件和软件相关联的要求使得很难实现排序放宽。然而,以上描述的机制在PC环境中工作良好。
虽然本发明已用本发明的若干实施例的形式进行了描述,但本领域普通技术人员将认识到,本发明并不被限定于所描述的本发明的实施例,而是可以用落在所附权利要求书的精神和范围内的修改和变更来实践。因此本说明书应被认为是说明性的而不是限制性的。

Claims (25)

1.一种数据处理系统,包括:
事务排序机制,其被配置成确定是否能放宽读取完成的排序属性,且被进一步配置成在适当的情况下放宽所述排序属性,
其中放宽的排序属性允许所述读取完成绕开待决写入。
2.如权利要求1所述的系统,其特征在于,所述事务排序机制被配置成设置完成报头中的放宽排序比特,并且绕开发生在外围组件互连中。
3.如权利要求1所述的系统,其特征在于,所述事务排序机制被配置成设置完成报头中的放宽排序比特,并且绕开发生在桌面管理接口中。
4.如权利要求1所述的系统,其特征在于,所述系统包括第一端点设备,所述第一端点设备包括所述事务排序机制。
5.如权利要求4所述的系统,其特征在于,所述事务排序机制适于基于所述第一端点设备对因事务而异的要求的理解来放宽所述排序属性。
6.如权利要求4所述的系统,其特征在于,所述系统包括附加端点设备,并且放宽比特的设置允许所述读取完成绕开来自所述附加端点设备的待决写入。
7.如权利要求1所述的系统,其特征在于,还包括集成在根综合体中的端点设备。
8.如权利要求7所述的系统,其特征在于,还包括附加端点设备。
9.如权利要求8所述的系统,其特征在于,所述附加端点设备中的至少一个位于所述根综合体中。
10.一种方法,包括:
确定是否能放宽读取完成的排序属性以允许所述读取完成绕开一个或多个待决写入;
设置所述读取完成的所述排序属性以允许所述读取完成绕开所述一个或多个待决写入。
11.如权利要求10所述的方法,其特征在于,还包括确定第一端点设备的读取完成是否与所述一个或多个待决写入相关。
12.如权利要求10所述的方法,其特征在于,设置所述排序属性包括设置完成报头中的放宽排序比特,并且其中绕开发生在外围组件互连中。
13.如权利要求10所述的方法,其特征在于,设置所述排序属性包括设置完成报头中的放宽排序比特,并且其中绕开发生在桌面管理接口中。
14.如权利要求10所述的方法,其特征在于,确定是否能放宽读取完成的排序属性是基于所述第一端点设备对因事务而异的要求的理解的。
15.如权利要求12所述的方法,其特征在于,还包括所述读取完成绕开所述一个或多个待决写入。
16.如权利要求13所述的方法,其特征在于,还包括所述读取完成绕开所述一个或多个待决写入。
17.如权利要求11所述的方法,其特征在于,所述一个或多个待决写入来自一个或多个附加端点设备。
18.如权利要求17所述的方法,其特征在于,所述一个或多个附加端点设备中的至少一个集成在根综合体中。
19.如权利要求18所述的方法,其特征在于,还包括:
从中央处理单元向所述第一端点设备发送读取请求,所述第一端点设备集成在所述根综合体中;以及
从所述第一端点设备向主存发送所述读取完成,
其中所述排序属性可总是被设置成允许所述读取完成绕开来自所述至少一个附加集成设备的一个或多个待决写入。
20.如权利要求18所述的方法,其特征在于,还包括:
从中央处理单元向所述第一端点设备发送读取请求,所述第一端点设备集成在所述根综合体中;以及
从所述第一端点设备向主存发送所述读取完成,
其中所述排序属性可总是被设置成允许所述读取完成绕开来自附加的非集成设备的一个或多个待决写入。
21.如权利要求18所述的方法,其特征在于,还包括:
从中央处理单元向所述第一端点设备发送读取请求,所述第一端点设备并非集成在所述根综合体中;以及
从所述第一端点设备向主存发送所述读取完成,
其中所述排序属性可总是被设置成允许所述读取完成绕开来自所述至少一个附加集成设备的一个或多个待决写入。
22.如权利要求18所述的方法,其特征在于,还包括:
从中央处理单元向所述第一端点设备发送读取请求,所述第一端点设备并非集成在所述根综合体中;以及
从所述第一端点设备向主存发送所述读取完成,
其中所述排序属性可总是被设置成允许所述读取完成绕开来自附加的非集成设备的一个或多个待决写入。
23.一种装置,包括:
用于确定是否能放宽读取完成的排序属性以允许所述读取完成绕开一个或多个待决写入的装置;
用于设置所述读取完成的所述排序属性以允许绕开所述一个或多个待决写入的装置。
24.如权利要求23所述的装置,其特征在于,所述用于设置所述排序属性的装置包括用于设置完成报头中的放宽排序比特的装置。
25.如权利要求23所述的装置,其特征在于,所述装置是外围组件互连。
CN200910208029.8A 2008-10-15 2009-10-14 使用完成者对存储器区域排序要求的知识来修改事务属性 Active CN101727413B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210586797.9A CN102981984B (zh) 2008-10-15 2009-10-14 使用完成者对存储器区域排序要求的知识来修改事务属性

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/252,303 2008-10-15
US12/252,303 US8108584B2 (en) 2008-10-15 2008-10-15 Use of completer knowledge of memory region ordering requirements to modify transaction attributes

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201210586797.9A Division CN102981984B (zh) 2008-10-15 2009-10-14 使用完成者对存储器区域排序要求的知识来修改事务属性

Publications (2)

Publication Number Publication Date
CN101727413A true CN101727413A (zh) 2010-06-09
CN101727413B CN101727413B (zh) 2013-09-11

Family

ID=41462384

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200910208029.8A Active CN101727413B (zh) 2008-10-15 2009-10-14 使用完成者对存储器区域排序要求的知识来修改事务属性
CN201210586797.9A Active CN102981984B (zh) 2008-10-15 2009-10-14 使用完成者对存储器区域排序要求的知识来修改事务属性

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201210586797.9A Active CN102981984B (zh) 2008-10-15 2009-10-14 使用完成者对存储器区域排序要求的知识来修改事务属性

Country Status (6)

Country Link
US (2) US8108584B2 (zh)
JP (3) JP5479020B2 (zh)
CN (2) CN101727413B (zh)
DE (2) DE102009049078B4 (zh)
GB (1) GB2464403B (zh)
TW (2) TWI420319B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104081722A (zh) * 2012-01-13 2014-10-01 英特尔公司 SoC构造中的高效对等通信支持
CN107710173A (zh) * 2015-05-29 2018-02-16 高通股份有限公司 用于存储器管理单元的多线程转换及事务重新排序
CN110688332A (zh) * 2019-09-12 2020-01-14 无锡江南计算技术研究所 一种面向高速消息传输的pcie数据传输系统及计算机

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108584B2 (en) * 2008-10-15 2012-01-31 Intel Corporation Use of completer knowledge of memory region ordering requirements to modify transaction attributes
WO2011052002A1 (en) * 2009-10-27 2011-05-05 Hitachi, Ltd. Storage system mounted with plurality of processors
US9129071B2 (en) * 2012-10-24 2015-09-08 Texas Instruments Incorporated Coherence controller slot architecture allowing zero latency write commit
KR102065664B1 (ko) 2013-08-09 2020-01-13 삼성전자 주식회사 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법
US10013385B2 (en) 2014-11-13 2018-07-03 Cavium, Inc. Programmable validation of transaction requests
US9569362B2 (en) * 2014-11-13 2017-02-14 Cavium, Inc. Programmable ordering and prefetch
US10127968B2 (en) * 2015-08-03 2018-11-13 Intel Corporation Method and apparatus for completing pending write requests to volatile memory prior to transitioning to self-refresh mode
US10223307B2 (en) * 2017-06-15 2019-03-05 International Business Machines Corporation Management of data transaction from I/O devices
US10353833B2 (en) 2017-07-11 2019-07-16 International Business Machines Corporation Configurable ordering controller for coupling transactions
US11762785B2 (en) * 2021-05-03 2023-09-19 Mellanox Technologies, Ltd. Peripheral component interconnect attributes shared using address bits

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3255908B2 (ja) * 1988-06-30 2002-02-12 エルジー・セミコン・カンパニー・リミテッド メモリー制御ユニット
GB2230120B (en) * 1989-04-07 1992-12-02 Intel Corp Read/write ordering apparatus and method for a microprocessor
US5418940A (en) * 1993-08-04 1995-05-23 International Business Machines Corporation Method and means for detecting partial page writes and avoiding initializing new pages on DASD in a transaction management system environment
US5530933A (en) * 1994-02-24 1996-06-25 Hewlett-Packard Company Multiprocessor system for maintaining cache coherency by checking the coherency in the order of the transactions being issued on the bus
US5657472A (en) * 1995-03-31 1997-08-12 Sun Microsystems, Inc. Memory transaction execution system and method for multiprocessor system having independent parallel transaction queues associated with each processor
US5790870A (en) * 1995-12-15 1998-08-04 Compaq Computer Corporation Bus error handler for PERR# and SERR# on dual PCI bus system
US6272600B1 (en) * 1996-11-15 2001-08-07 Hyundai Electronics America Memory request reordering in a data processing system
US5860126A (en) * 1996-12-17 1999-01-12 Intel Corporation Controlling shared memory access ordering in a multi-processing system using an acquire/release consistency model
US5878237A (en) * 1997-07-11 1999-03-02 Compaq Computer Corp. Apparatus, method and system for a comuter CPU and memory to PCI bridge having a pluarlity of physical PCI buses
US6145052A (en) * 1997-11-04 2000-11-07 Western Digital Corporation Disk drive with adaptive pooling for command reordering
US6038646A (en) * 1998-01-23 2000-03-14 Sun Microsystems, Inc. Method and apparatus for enforcing ordered execution of reads and writes across a memory interface
US6816934B2 (en) * 2000-12-22 2004-11-09 Hewlett-Packard Development Company, L.P. Computer system with registered peripheral component interconnect device for processing extended commands and attributes according to a registered peripheral component interconnect protocol
US6175889B1 (en) * 1998-10-21 2001-01-16 Compaq Computer Corporation Apparatus, method and system for a computer CPU and memory to high speed peripheral interconnect bridge having a plurality of physical buses with a single logical bus number
US6625683B1 (en) * 1999-08-23 2003-09-23 Advanced Micro Devices, Inc. Automatic early PCI transaction retry
US6490635B1 (en) * 2000-04-28 2002-12-03 Western Digital Technologies, Inc. Conflict detection for queued command handling in disk drive controller
JP2002043544A (ja) * 2000-07-21 2002-02-08 Mitsubishi Electric Corp 半導体装置およびその製造方法
US6615295B2 (en) * 2000-12-26 2003-09-02 Hewlett-Packard Development Company, L.P. Relaxed read completion ordering in a system using transaction order queue
US6757768B1 (en) * 2001-05-17 2004-06-29 Cisco Technology, Inc. Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node
US7177971B2 (en) 2001-08-24 2007-02-13 Intel Corporation General input/output architecture, protocol and related methods to provide isochronous channels
US6801970B2 (en) * 2001-09-30 2004-10-05 Hewlett-Packard Development Company, L.P. Priority transaction support on the PCI-X bus
US6754737B2 (en) * 2001-12-24 2004-06-22 Hewlett-Packard Development Company, L.P. Method and apparatus to allow dynamic variation of ordering enforcement between transactions in a strongly ordered computer interconnect
US7184399B2 (en) * 2001-12-28 2007-02-27 Intel Corporation Method for handling completion packets with a non-successful completion status
US20030145136A1 (en) * 2002-01-31 2003-07-31 Tierney Gregory E. Method and apparatus for implementing a relaxed ordering model in a computer system
US7047374B2 (en) * 2002-02-25 2006-05-16 Intel Corporation Memory read/write reordering
US20050289306A1 (en) * 2004-06-28 2005-12-29 Sridhar Muthrasanallur Memory read requests passing memory writes
JP4410190B2 (ja) * 2005-03-24 2010-02-03 富士通株式会社 PCI−Express通信システム
US8516165B2 (en) * 2005-10-19 2013-08-20 Nvidia Corporation System and method for encoding packet header to enable higher bandwidth efficiency across bus links
US7721023B2 (en) * 2005-11-15 2010-05-18 International Business Machines Corporation I/O address translation method for specifying a relaxed ordering for I/O accesses
US7698498B2 (en) * 2005-12-29 2010-04-13 Intel Corporation Memory controller with bank sorting and scheduling
US7461210B1 (en) * 2006-04-14 2008-12-02 Tilera Corporation Managing set associative cache memory according to entry type
US7949794B2 (en) * 2006-11-02 2011-05-24 Intel Corporation PCI express enhancements and extensions
KR100823171B1 (ko) * 2007-02-01 2008-04-18 삼성전자주식회사 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
US8108584B2 (en) * 2008-10-15 2012-01-31 Intel Corporation Use of completer knowledge of memory region ordering requirements to modify transaction attributes

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104081722A (zh) * 2012-01-13 2014-10-01 英特尔公司 SoC构造中的高效对等通信支持
US9755997B2 (en) 2012-01-13 2017-09-05 Intel Corporation Efficient peer-to-peer communication support in SoC fabrics
CN104081722B (zh) * 2012-01-13 2018-05-22 英特尔公司 SoC构造中的高效对等通信支持
CN107710173A (zh) * 2015-05-29 2018-02-16 高通股份有限公司 用于存储器管理单元的多线程转换及事务重新排序
CN110688332A (zh) * 2019-09-12 2020-01-14 无锡江南计算技术研究所 一种面向高速消息传输的pcie数据传输系统及计算机

Also Published As

Publication number Publication date
JP2016033823A (ja) 2016-03-10
GB0918065D0 (en) 2009-12-02
CN102981984B (zh) 2016-04-06
CN101727413B (zh) 2013-09-11
JP5479020B2 (ja) 2014-04-23
JP6141379B2 (ja) 2017-06-07
TWI420319B (zh) 2013-12-21
GB2464403B (en) 2011-08-24
DE102009049078A1 (de) 2010-05-20
US20120096212A1 (en) 2012-04-19
GB2464403A (en) 2010-04-21
US20100095032A1 (en) 2010-04-15
TW201019128A (en) 2010-05-16
DE102009061252B3 (de) 2023-04-20
CN102981984A (zh) 2013-03-20
JP2014041618A (ja) 2014-03-06
JP2010097615A (ja) 2010-04-30
TW201329732A (zh) 2013-07-16
DE102009049078B4 (de) 2015-03-05
TWI548997B (zh) 2016-09-11
US8307144B2 (en) 2012-11-06
JP5824488B2 (ja) 2015-11-25
US8108584B2 (en) 2012-01-31

Similar Documents

Publication Publication Date Title
CN101727413B (zh) 使用完成者对存储器区域排序要求的知识来修改事务属性
EP3796179A1 (en) System, apparatus and method for processing remote direct memory access operations with a device-attached memory
US6587905B1 (en) Dynamic data bus allocation
US6535941B1 (en) Method and apparatus for avoiding data bus grant starvation in a non-fair, prioritized arbiter for a split bus system with independent address and data bus grants
KR101036445B1 (ko) 다중 버스트 프로토콜 장치 제어기
TW200534110A (en) A method for supporting improved burst transfers on a coherent bus
US20200159681A1 (en) Information processor with tightly coupled smart memory unit
CN104932996B (zh) 用于控制链路接口的未使用硬件的功率消耗的方法、装置和系统
CN103116551B (zh) 应用于CLB总线的NorFLASH存储接口模块
TW484068B (en) Method and system for resolution of transaction collisions to achieve global coherence in a distributed symmetric multiprocessor system
US20040068603A1 (en) Reordering of requests between an initiator and the request queue of a bus controller
US20070038790A1 (en) Integrated circuit devices, methods, and computer program products for monitoring a bus
CN115686769A (zh) 根据cxl协议处理一致存储器事务的系统、装置和方法
JP2021522608A (ja) ストリーミングデータ転送のためのフロー圧縮を用いたデータ処理ネットワーク
US11093276B2 (en) System and method for batch accessing
CN100587680C (zh) 管理分离总线上总线代理之间的数据流的方法和系统
US7987437B2 (en) Structure for piggybacking multiple data tenures on a single data bus grant to achieve higher bus utilization
US9697059B2 (en) Virtualized communication sockets for multi-flow access to message channel infrastructure within CPU
US7073004B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
CN114281726B (zh) 用于soc芯片的系统架构及外设通信方法
CN107003959B (zh) 虚拟遗留线
CN115297169A (zh) 数据处理方法、装置、电子设备及介质
CN114064198A (zh) 经由os接口表的单numa域内的多虚拟numa域
JP2000066946A (ja) メモリコントローラ
JP2009042992A (ja) バス制御装置

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