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

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

Info

Publication number
CN102981984B
CN102981984B CN201210586797.9A CN201210586797A CN102981984B CN 102981984 B CN102981984 B CN 102981984B CN 201210586797 A CN201210586797 A CN 201210586797A CN 102981984 B CN102981984 B CN 102981984B
Authority
CN
China
Prior art keywords
grouping
sequence
particular transaction
relaxing
complete
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
CN201210586797.9A
Other languages
English (en)
Other versions
CN102981984A (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
Publication of CN102981984A publication Critical patent/CN102981984A/zh
Application granted granted Critical
Publication of CN102981984B publication Critical patent/CN102981984B/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/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

使用完成者对存储器区域排序要求的知识来修改事务属性
本申请是优先权为US12/252,303、优先权日为2008年10月15日、中国国家申请号为200910208029.8、题为“使用完成者对存储器区域排序要求的知识来修改事务属性”的申请的分案申请。
技术领域
本发明的实施例一般涉及事务排序,尤其涉及允许修改严格排序的系统和方法。
背景技术
外围组件互连(PCI)是于1992年开发的第二代并行总线架构,其作为行业标准架构(ISA)总线的替代。在PCI中,所有设备共享相同的双向、32位(或64位)并行信号路径。PCI总线带来优于ISA总线的数个优点,包括处理器独立性、缓冲隔离、总线主控、以及实在的即插即用操作。PCI高速(PCIExpress,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、以及CPU118。输入/输出控制器集线器控制器(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连接到CPU118和主存116。该实施例包括单个PCI/PCIe端点1。然而,系统100可具有任何数目的集成寻址设备124、126或PCI/PCIe端点1。
在许多情形中,集成寻址设备124、126按照很好地定义的方式使用,并且能够简化用于确定何时可接受完成排序放宽的机制。注意,完成排序的具体处理无需遵守PCIeRO要求。即,根据所需成本/益处,可使得本发明的其它实施例更简单或更复杂。
图4示出其根综合体集成设备参与完成排序放宽方案的系统。在图4中所示的系统中,可实现以下策略或其它类似策略。
·认识到CPU读取集成设备针对从其它集成设备写入主存可能从来没有排序要求
·认识到CPU读取集成设备针对从非集成设备写入主存可能从来没有排序要求
·认识到CPU读取非集成设备针对从其它集成设备写入主存可能从来没有排序要求
·认识到CPU读取非集成设备针对从其它非集成设备写入主存可能从来没有排序要求
以上示例是用PCI/PCIeRO属性例示的。然而,本发明不局限于PCI/PCIeRO。在更一般性情形中,排序属性可不同于RO。此外,表达排序属性的方式可能不同。完成者具有用于确定是否能从默认行为安全地修改完成排序的知识是充分的。此外,以上示例是以针对上游写入排序的形式来例示的。然而,该系统是对称的。即,排序属性也可被放宽以改变针对下游写入的排序。
本发明的实施例可提供对于宽泛的计算机系统合需的性能改进。PC兼容的架构系统被特别约束,因为与支持传统硬件和软件相关联的要求使得很难实现排序放宽。然而,以上描述的机制在PC环境中工作良好。
虽然本发明已用本发明的若干实施例的形式进行了描述,但本领域普通技术人员将认识到,本发明并不被限定于所描述的本发明的实施例,而是可以用落在所附权利要求书的精神和范围内的修改和变更来实践。因此本说明书应被认为是说明性的而不是限制性的。

Claims (30)

1.一种数据处理装置,包括:
第一根综合体集成端点(RCIE),其中所述第一RCIE与根综合体集成,并且所述第一RCIE被配置为:
在互连上接收特定事务的分组,所述互连包括一个或多个点对点串行链路,其中所述分组包括识别请求者的请求分组;
识别排序属性是否被设置在所述请求分组中以指示放宽的排序被应用到所述特定事务;
确定应用放宽的排序以完成所述特定事务的机会,其中所述特定事务包括读取,所述放宽的排序允许所述完成绕开与根综合体集成的第二RCIE有关的写入;以及
生成用于所述特定事务的完成分组,其中所述完成分组包括完成首部、完成者标识符、完成状态标识符以及路由标识符,所述完成首部包括排序属性字段,所述排序属性字段被设置为指示放宽的排序被用于所述完成。
2.如权利要求1所述的装置,其特征在于,所述第一RCIE被用于在完成分组中设置排序属性,以指示放宽的排序被用于所述完成。
3.如权利要求1所述的装置,其特征在于,所述互连包括如下中的至少之一:支持外围组件互连高速(PCIe)协议层的物理层,以及包括一个或多个其他协议的物理层。
4.如权利要求1所述的装置,其特征在于,所述第一RCIE进一步被配置为设置所述排序属性。
5.如权利要求4所述的装置,其特征在于,所述特定事务是系统中的多个事务中的一个,并且在设置所述排序属性之前,根据第一排序来完成所述多个事务,其中所述特定事务根据第一排序在所述多个事务中的第二事务之后完成,所述写入对应于所述第二事务,并将放宽的排序应用于所述特定事务,以使得所述特定事务在所述第二事务之前完成。
6.如权利要求5所述的装置,其特征在于,所述特定事务包括读取事务,并且所述第二事务包括写入事务。
7.如权利要求6所述的装置,其特征在于,所述特定事务涉及对第一设备的存储器的读取以及对不同的I/O设备的存储器的写入。
8.如权利要求5所述的装置,其特征在于,所述特定事务由所述第一RCIE完成,所述第二事务由所述第二RCIE完成。
9.如权利要求1所述的装置,其特征在于,所述排序属性包括被包括在所述分组的首部中的字段。
10.如权利要求9所述的装置,其特征在于,所述排序属性字段包括至少两个比特。
11.如权利要求1所述的装置,其特征在于,所述请求分组指示放宽的排序还没有被设置。
12.如权利要求1所述的装置,其特征在于,所述第一RCIE进一步被配置为:
生成带有所述排序属性的完成分组,以指示放宽的排序被应用到所述特定事务的完成;以及
在所述互连上将所述完成分组发送给所述请求者。
13.如权利要求12所述的装置,其特征在于,所述完成分组包括带有放宽的排序属性字段的首部。
14.如权利要求13所述的装置,其特征在于,所述完成分组的首部包括路由标识符字段,所述路由标识符字段标识所述请求者。
15.如权利要求14所述的装置,其特征在于,所述路由标识符字段的值基本上匹配于所述请求分组的首部中所包括的值。
16.如权利要求13所述的装置,其特征在于,所述完成分组的首部进一步包括完成者标识符以及完成状态标识符,所述完成者标识符对应于一设备。
17.如权利要求1所述的装置,其特征在于,所述特定事务是系统中的多个事务中的一个,并且确定设置排序属性的机会包括:确定所述特定事务的完成将不会与所述多个事务中的其他事务的完成相冲突。
18.一种数据处理装置,包括:
根综合体集成端点(RCIE),被配置为:
从一请求中确认:放宽的排序被应用以完成与所述请求相对应的事务层完成分组,其中所述事务层完成分组包括读取请求的完成,所述放宽的排序允许所述完成绕开另一个RCIE的写入完成;
组装所述事务层完成分组以包括分组首部,其中所述分组首部包括放宽的排序字段、完成者标识符字段、以及完成状态字段;以及
将完成分组在互连上发送到一设备,其中所述完成分组对应于与所述设备有关的请求。
19.如权利要求18所述的装置,其特征在于,所述互连包括如下中的至少之一:支持外围组件互连高速(PCIe)协议层的物理层,以及包括一个或多个其他协议的物理层。
20.如权利要求18所述的装置,其特征在于,所述互连包括PCIe兼容互连。
21.一种数据处理装置,包括:
第一根综合体集成端点(RCIE),被配置为用于:
在互连上接收特定事务的分组,所述分组包括请求者的请求分组,所述请求包括I/O读取请求;
从所述请求分组的事务层分组首部的排序属性字段中标识放宽的排序是否被应用到所述请求的完成;以及
生成用于所述特定事务的完成分组,其中所述完成分组包括完成首部、完成者标识符、完成状态标识符、以及路由标识符,所述完成首部包括排序属性字段,所述排序属性字段被设置以指示放宽的排序被应用到所述完成;
其中所述特定事务被包括在多个事务中,并且将放宽的排序应用到所述特定事务的完成使得所述特定事务的完成是在所述多个事务中所包括的至少一个存储器写入事务之前被完成的,所述写入事务由另一个RCIE执行。
22.一种数据处理方法,包括:
在互连上接收特定事务的请求分组,其中所述特定事务包括请求和完成,并且所述分组对应于来自请求者的请求;
从所述请求分组中标识所述请求分组中的排序属性指示放宽的排序不被应用到所述特定事务;以及
基于确定一个或多个设备中的至少一个设备是否包括根综合体集成端点(RCIE),并进一步基于所述特定事务,来确定设置排序属性以将放宽的排序应用到所述特定事务的机会,所述特定事务包括读取;以及
生成完成分组,所述完成分组带有的排序属性至少部分基于所述机会而被设置以指示放宽的排序被应用到所述特定事务,其中所述互连的排序规则将写入完成安排在读取完成之前,并且所述放宽的排序允许所述读取的完成绕开由至少另一个RCIE所进行的一个或多个写入的完成。
23.如权利要求22所述的方法,其特征在于,所述特定事务是系统中的多个事务中的一个,并且确定设置排序属性的机会包括:确定所述特定事务的完成将不会与所述多个事务中的其他事务的完成相冲突。
24.如权利要求23所述的方法,其特征在于,不使用对所述特定事务的放宽的排序,所述多个事务根据第一排序来完成,并且将放宽的排序应用到所述特定事务使得所述多个事务根据不同的第二排序来完成。
25.如权利要求22所述的方法,其特征在于,生成所述完成分组包括:组装分组首部,所述分组首部包括排序属性字段,所述排序属性字段被设置以指示放宽的排序被应用到所述特定事务。
26.如权利要求22所述的方法,其特征在于,还包括:在所述互连上将所述完成分组发送到所述请求者。
27.一种数据处理系统,还包括:
第一设备;
第二设备,包括根综合体集成端点(RCIE),所述RCIE与根综合体集成,所述第二设备包括I/O模块,所述I/O模块被至少一个处理器执行以:
在互连上接收请求分组,其中所述请求分组对应于来自所述第一设备的请求,所述请求分组对应于读取事务;
从所述请求分组中标识在所述请求分组中设置了排序属性以指示放宽的排序被应用到所述请求的完成,所述放宽的排序允许所述完成绕开与根综合体集成的另一个RCIE的至少一个写入完成;
生成完成分组,所述完成分组对应于所述完成,其中所述完成分组包括排序属性,所述排序属性被设置以指示放宽的排序被应用到所述完成;以及
在所述互连上将所述完成分组发送到所述第一设备。
28.如权利要求27所述的系统,其特征在于,所述请求分组指示放宽的排序还没有被设置。
29.如权利要求27所述的系统,其特征在于,所述第一设备包括第一端点设备,所述第二设备包括第二端点设备。
30.如权利要求27所述的系统,其特征在于,还包括:所述根综合体。
CN201210586797.9A 2008-10-15 2009-10-14 使用完成者对存储器区域排序要求的知识来修改事务属性 Active CN102981984B (zh)

Applications Claiming Priority (3)

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
CN200910208029.8A CN101727413B (zh) 2008-10-15 2009-10-14 使用完成者对存储器区域排序要求的知识来修改事务属性

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
CN102981984A CN102981984A (zh) 2013-03-20
CN102981984B true CN102981984B (zh) 2016-04-06

Family

ID=41462384

Family Applications (2)

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

Family Applications After (1)

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

Country Status (6)

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

Families Citing this family (13)

* 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
US8402195B2 (en) * 2009-10-27 2013-03-19 Hitachi, Ltd. Storage system mounted with plurality of processors
WO2013105967A1 (en) * 2012-01-13 2013-07-18 Intel Corporation Efficient peer-to-peer communication support in soc fabrics
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
US10007619B2 (en) * 2015-05-29 2018-06-26 Qualcomm Incorporated Multi-threaded translation and transaction re-ordering for memory management units
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
CN110688332B (zh) * 2019-09-12 2021-01-15 无锡江南计算技术研究所 一种面向高速消息传输的pcie数据传输系统及计算机
US11762785B2 (en) * 2021-05-03 2023-09-19 Mellanox Technologies, Ltd. Peripheral component interconnect attributes shared using address bits

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6801970B2 (en) * 2001-09-30 2004-10-05 Hewlett-Packard Development Company, L.P. Priority transaction support on the PCI-X bus
US6976135B1 (en) * 1996-11-15 2005-12-13 Magnachip Semiconductor Memory request reordering in a data processing system

Family Cites Families (30)

* 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
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 半導体装置およびその製造方法
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
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
US20040022094A1 (en) * 2002-02-25 2004-02-05 Sivakumar Radhakrishnan Cache usage for concurrent multiple streams
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976135B1 (en) * 1996-11-15 2005-12-13 Magnachip Semiconductor Memory request reordering in a data processing system
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
US6801970B2 (en) * 2001-09-30 2004-10-05 Hewlett-Packard Development Company, L.P. Priority transaction support on the PCI-X bus

Also Published As

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

Similar Documents

Publication Publication Date Title
CN102981984B (zh) 使用完成者对存储器区域排序要求的知识来修改事务属性
CN110647480B (zh) 数据处理方法、远程直接访存网卡和设备
KR101467932B1 (ko) 상호접속부에서 멀티-쓰레드 오더링된 큐들에 대한 공유 저장기
US9064051B2 (en) Issuing requests to a fabric
KR100925572B1 (ko) 상이한 길이의 캐시 위치 내의 캐시 코히어런시를 위한시스템, 방법, 프로세스 및 장치
CN101901205B (zh) 在PCIExpress上启用基于ID的流的方法和装置
US20040117561A1 (en) Snoop filter bypass
US8874976B2 (en) Providing error handling support to legacy devices
JP2021530813A (ja) 専用低レイテンシリンクを使用した複数のハードウェアアクセラレータのための統合されたアドレス空間
CN108604209A (zh) 扁平化端口桥
US20070073977A1 (en) Early global observation point for a uniprocessor system
JP2021522608A (ja) ストリーミングデータ転送のためのフロー圧縮を用いたデータ処理ネットワーク
WO2016049807A1 (zh) 多核处理器系统的缓存目录处理方法和目录控制器
US20060149885A1 (en) Enforcing global ordering through a caching bridge in a multicore multiprocessor system
TWI750386B (zh) 匯流排系統
RU2643622C1 (ru) Вычислительный модуль
US8593472B1 (en) System and method for accessing a frame buffer via a storage driver
US20220035530A1 (en) Systems and methods for processing copy commands
US7073004B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
CN114064198A (zh) 经由os接口表的单numa域内的多虚拟numa域
CN114281726A (zh) 用于soc芯片的系统架构及外设通信方法
Wang Analysis of NIC and Test of PCI Multi-Bus Simulator
CN112585593A (zh) 链路层数据打包和封包流控制方案
JPH10269190A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1183133

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1183133

Country of ref document: HK