CN100504824C - 用于处理读取请求的方法、设备和系统 - Google Patents
用于处理读取请求的方法、设备和系统 Download PDFInfo
- Publication number
- CN100504824C CN100504824C CNB2004800088820A CN200480008882A CN100504824C CN 100504824 C CN100504824 C CN 100504824C CN B2004800088820 A CNB2004800088820 A CN B2004800088820A CN 200480008882 A CN200480008882 A CN 200480008882A CN 100504824 C CN100504824 C CN 100504824C
- Authority
- CN
- China
- Prior art keywords
- data
- reading
- port
- read
- request
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
公开了一种动态组合和发送数据的方法和设备。所述方法包括接收来自存储器的部分满足读取请求的数据以响应来自请求者的请求。所述方法还包括在用于转发读取请求的数据的端口空闲时将数据转发给请求者。如果端口忙,存储数据以便在收到部分满足读取请求的其它数据时与其组合,以及在端口不忙时将组合的数据转发给请求者。在一个实施例中,所述端口为PCI ExpressTM端口。
Description
技术领域
本发明涉及计算机技术,更具体地说,涉及计算机系统内的部件的接口上的数据传递。
背景技术
计算机系统通常包括处理器、芯片组、主存储器以及多个外围部件。处理器还包括高速缓冲存储器。虽然数据一般存储在主存储器中,但是通常在高速缓冲存储器中存储当前所需数据的副本,以便于快速访问该数据。存储在高速缓冲存储器中的单个数据项通常被称为高速缓存行。不同计算机系统中的高速缓存行大小有所不同。
可通过芯片组的部件在计算机系统内的处理器、主存储器和外围部件之间传输数据。通常,通过芯片组的存储器控制器集线器在计算机系统内的主存储器和其它部件之间传输数据。对于目标为主存储器的大型入站读取事务,数据请求通常被存储器控制器集线器分解为更小的读取。每次读取从主存储器取回一条高速缓存行的数据,这通常被称为读取完成。例如,64字节高速缓存行系统在八个读取完成内完成对512字节数据的请求,其中每次读取完成包括一条高速缓存行的数据,即64字节。以高速缓存行的量完成请求,因为处理器和存储器控制器通常以高速缓存行的量操作。
由于计算机技术的创新(例如运行在10GHz的高速微处理器),现有的并行输入/输出互连、即十年前开发的外围部件互连(“PCI”)再也无法满足高速和带宽的需求。为了应对高速和带宽的需求,开发出了串行输入/输出互连。最新的串行输入/输出互连是PCI ExpressTM(“PCIExpress”是PCI-Special Interest Group的商标),它是第三代输入/输出互连。PCI ExpressTM是一种高速串行互连,能够为一次读取请求发送多个读取完成。在PCI ExpressTM上,从存储器取回数据的大请求可能会在若干事务处理内完成。每次事务处理返回部分满足请求的数据。返回的数据可能包含一条高速缓存行的数据。
如上所述,PCI ExpressTM上的读取请求可能导致若干读取完成。现有方法一次处理一个读取完成。换句话说,当接口接收读取完成时,它会等待PCI ExpressTM不忙时通过PCI ExpressTM端口将读取完成发送给请求者。以固定的大小通过PCI ExpressTM端口每次逐一发送读取完成,即使多个读取完成可能组合成一个更大的完成。采用以前的方法是因为它简单并且在多个请求者之间公平。但是,这个方法效率极低,因为没有充分利用PCI ExpressTM端口的带宽。实现64字节高速缓存行系统的接口仅能达到72%的效率。
发明内容
本发明提供一种用于处理读取请求的方法,包括:将读取请求分解为多个读取;将多个读取发送到存储装置;接收响应多个读取中的一个读取的数据;如果用于转发读取请求的数据的端口空闲,则转发数据;如果端口忙,则存储数据,以便在收到响应多个读取中的另一读取的其它数据时与其它数据组合;以及在端口不忙时转发所组合的数据。
本发明还提供一种用于处理读取请求的方法,包括:将读取请求分解为多个读取;将多个读取发送到存储装置;接收响应多个读取中的一个读取的数据;存储数据,以便在收到响应多个读取中的另一读取的其它数据时与其它数据组合;以及在所组合的数据达到预定大小时,通过串行端口转发所组合的数据。
本发明还提供一种用于处理读取请求的设备,包括:读取跟踪器,用于将读取请求分解为多个读取;第一端口,用于接收响应多个读取中的一个读取的数据;第二端口,其中在第二端口空闲时经由第二端口转发数据;缓冲区,用于在第二端口忙时存储数据;以及组合器,在经由第一端口接收到响应多个读取中的另一读取的其它数据时,将所存储的数据与其它数据组合,其中在第二端口不忙时,第二端口转发所组合的数据。
本发明还提供一种用于处理读取请求的设备,包括:读取跟踪器,用于将读取请求分解为多个读取;第一端口,用于接收响应多个读取中的一个读取的数据;缓冲区,用于存储数据;组合器,用于在经由第一端口接收到响应多个读取中的另一读取的其它数据时,将数据与其它数据组合;以及串行端口,用于在所组合的数据达到预定大小时转发所组合的数据。
本发明还提供一种用于处理读取请求的系统,包括:图形芯片;以及耦合到图形芯片的集线器。该集线器包括读取跟踪器,将读取请求分解为多个读取;第一端口,接收响应多个读取中的一个读取的数据;第二端口,其中在第二端口空闲时经由第二端口转发数据;缓冲区,在第二端口忙时存储数据;以及组合器,在经由第一端口接收到响应多个读取中的另一读取的其它数据时,将所存储的数据与其它数据组合,其中在第二端口不忙时,第二端口转发所组合的数据。
本发明一种用于处理读取请求的系统,包括:图形芯片;以及耦合到图形芯片的集线器。该集线器包括读取跟踪器,将读取请求分解为多个读取;第一端口,接收响应多个读取中的一个读取的数据;缓冲区,存储数据;组合器,在经由第一端口收到响应多个读取中的另一读取的其它数据时将数据与其它数据组合;以及串行端口,在所组合的数据达到预定大小时转发所组合的数据。
附图说明
通过以下详细说明和附图,将会更完整地理解本发明的实施例,但不应将本发明限制于所示的具体实施例,它们仅用于说明和理解。
图1表示存储器控制器集线器的接口的一个实施例。
图2表示流程图,描述在存储器控制器集线器的PCI ExpressTM接口中处理读取请求的一个实施例。
图3表示计算机系统的一个实施例。
具体实施方式
描述一种组合读取完成的方法和设备。以下描述中,阐述了诸如特定配置、数据大小、缓冲区容量之类的许多细节,以便提供对本发明实施例的透彻理解。但是,本领域的技术人员应该理解,实现本发明的每个实施例可能并不需要这些具体细节。
图1表示芯片组内装置的接口190的一个实施例。在一个实施例中,所述装置是存储器控制器集线器。在另一个实施例中,所述装置是I/O控制器集线器。接口190接收对来自存储器130的数据的读取请求110。在一个实施例中,存储器是计算机系统的处理器的组成部分。在另一个实施例中,存储器是不同于处理器的装置。从计算机系统内的另一部件、例如处理器或输入/输出控制器集线器发送读取请求110。发送读取请求110的装置在下文被称为请求者。读取请求110请求的数据大小有时会不同。例如,请求的数据一次可能是一条高速缓存行,另一次可能是四条高速缓存行。读取请求110可以被分解为多个读取,也可以不被分解,这取决于读取请求110的大小。例如,在一个实施例中,不分解64字节的读取请求。在另一实施例中,512字节的读取请求110被逻辑电路、即读取跟踪器115分解为八个读取120。在图1的实例中,512字节的请求110被分解为八个读取120,称为读取1-读取8。每个读取120被发送到存储器130,以便从存储器130取回一条高速缓存行的数据。存储器130发送一条高速缓存行的数据到接口190以响应每个读取120。这些数据高速缓存行在下文中被称为读取完成1-读取完成8。例如,读取完成8148从存储器130被发送以响应图1中的读取8128。
图1中的接口具有串行输入/输出端口170。在一个实施例中,所述串行输入/输出端口为PCI ExpressTM端口170。虽然以下讨论主要集中于PCI ExpressTM,但是应该理解,所公开的技术适用于任何串行输入/输出互连。
应该注意,在PCI ExpressTM上,给定读取请求的读取完成必须按顺序返回给请求者。例如,在一个包括PCI ExpressTM端口170的实施例中,在接收读取完成1-读取完成7之前接收读取完成8。由于在PCIExpress上读取完成必须按顺序返回给请求者,读取完成8被临时存储在缓冲区150中,直至接收到读取完成1-读取完成7。然后将八个读取完成组合到一个组合中。通过PCI-Express端口170在一次事务处理中将该组合发送到请求者。应该理解,采用其它类型互连的实施例对于指定的读取请求可能不需要按顺序返回读取完成。
在一个实施例中,在收到读取完成1时,逻辑装置180检查PCIExpressTM端口170是否空闲。如果PCI-ExpressTM端口170空闲,则将接收的读取完成1通过PCI-ExpressTM端口170发送给请求者。如果PCIExpressTM端口170忙,则一个实施例会将读取完成1保存在缓冲区150中,直至接收到所有其它的读取完成,即读取完成2-读取完成8,然后在一次事务处理中将八个读取完成的组合发送给请求者。这个方法通过充分利用PCI ExpressTM端口170的带宽来提高效率。但是,这个方法增加了接口190的等待时间。备选实施例只要PCI-ExpressTM端口170变得空闲,则将收到的读取完成1发送给请求者,而不用等待从存储器130接收到所有的读取完成。这样提高了接口190的效率,避免不必要地增加接口190的等待时间。
在一个实施例中,如果PCI ExpressTM端口170忙,则会将收到的读取完成暂时存储在缓冲区150中。缓冲区150的容量可以随不同的实施例而有所不同,只要缓冲区150可以容纳至少两条高速缓存行的数据。缓冲区150可以存储PCI ExpressTM端口170在一次事务处理中可以发送的最大高速缓存行数量。例如,图1中的缓冲区150具有八条高速缓存行的容量。在其它实施例中,可以使用四条高速缓存行或十六条高速缓存行等的缓冲区。应该理解,此处的描述仅用作示例,在本发明的其它实施例中可以使用其它容量的缓冲区。
缓冲区150中可能已经存储了一个或多个响应请求110的读取完成。如果有任何先前收到的读取完成存储在缓冲区150中,则将收到的最后读取完成与先前收到的读取完成组合。图1表示在缓冲区150中排队的八个读取完成的队列。组合器160将读取完成140组合成八条高速缓存行数据的组合。一旦确定PCI-ExpressTM端口170不忙,则将所述组合在一次事务处理中通过PCI-ExpressTM端口170发送给请求者。组合读取完成140以便在单个事务处理中将它们发送给请求者,这增加了接口的效率,因为这可以更好地利用PCI-ExpressTM端口170的带宽。
这一实施例在PCI ExpressTM端口170忙时提高了效率,并减少了PCI ExpressTM端口170空闲时的等待时间。这一动态方法为接口190提供了灵活性,可以同时满足高效和低等待时间的要求。
为了确定PCI-ExpressTM端口170是否可用,接口190内的逻辑装置180监视PCI-ExpressTM端口170。逻辑装置180根据PCI ExpressTM端口170的状态产生输出。接口190决定是否将读取完成存储在缓冲区150中以响应逻辑装置180的输出。例如,假设收到读取完成1并且逻辑装置180指示PCI ExpressTM端口170空闲,则会将读取完成1发送给请求者。否则,将读取完成1存储在缓冲区150中。此处的描述仅用作示例。显然,逻辑装置180可以执行其它功能,只要不背离所附权利要求的范围和界限。
图2表示流程图,描述在计算机芯片组内装置的PCI ExpressTM接口中处理读取请求的一个实施例。虽然以下实例主要集中于PCIExpressTM接口,但是应当清楚,所公开的技术同样适用于采用其它类型串行接口的计算机系统内的其它部件。在一个实施例中,装置接收来自请求者的读取请求(处理框210)。在一个实施例中,读取请求被分解为若干个读取(处理框220)。例如,512字节的读取请求被分解为八个读取,读取1-读取8。这些读取被发送到存储器(处理框230)。每个读取取回一条高速缓存行的数据的读取完成。在一个实施例中,读取完成1-读取完成8从存储器中返回以分别响应读取1-读取8。
在收到一条高速缓存行的数据时,假设是读取完成k(处理框240),在一个实例中,其中索引k是介于1和8之间的整数,一个实施例会检查读取完成k是否符合要发送到请求者的顺序(处理框250)。如果读取完成k不符合要发送到请求者的顺序,则将读取完成k存储在缓冲区中(处理框255)。否则,检查PCI ExpressTM端口是否空闲(处理框260)。如果PCI ExpressTM端口忙,则将数据存储在缓冲区中(处理框255)。如果端口空闲,则组合读取完成k与缓冲区中存储的符合要发送到请求者的顺序的任何读取完成(处理框270)。然后,通过PCI ExpressTM端口将读取完成k或包括读取完成k的读取完成组合发送到请求者(处理框290)。一个实施例则检查读取请求的所有读取完成是否都已被发送到请求者以完全满足读取请求(处理框295)。如果仍未完全满足该读取请求,则一个实施例会接收其它的读取完成(处理框240)并重复这一过程。否则,该读取请求已完全得到满足,因为所有读取完成都已发送到请求者(处理框299)。
应该注意,按顺序将读取完成发送到请求者的要求可能不适用于其它类型的串行互连。此外,应该理解,机会读取完成组合技术适用于采用任何串行输入/输出互连的计算机系统。但是,为了便于说明,以下讨论主要集中于采用如图3所示PCI ExpressTM体系结构的计算机系统。
图3表示示范计算机系统,包括处理器310、集线器320、多个存储装置340以及多个外围部件350。处理器310耦合到作为计算机芯片组的一部分的集线器320。在一个实施例中,所述集线器是存储器控制器集线器。在另一个实施例中,所述集线器是I/O控制器集线器。所述集线器320具有多个端口。在一个实施例中,端口中至少一个为PCI ExpressTM端口325。在一个实施例中,多个存储装置340耦合到集线器320。在另一个实施例中,存储器是处理器310的组成部分且系统中没有单独的存储装置。多个外围部件350通过端口325连接至集线器320。在一个实施例中,外围部件350包括图形芯片。在一个实施例中,端口325中的一个或多个为PCI ExpressTM端口。应该注意,存储装置340和外围部件350的数量随不同的计算机系统而有所不同。此外,芯片组可能包括除集线器320以外的部件。图3中的系统配置仅用于说明目的。本发明的其它实施例可以采用不同的系统配置或不同的互连标准。
在一个实施例中,集线器320接收来自外围部件350或处理器310的从存储器340中取回数据的请求。发送请求的装置在下文中被称作请求者。在集线器320收到请求时,它可以将请求分解为多个读取,也可以不分解,这取决于请求的大小。在以下讨论中,假设请求被分解为多个读取。然后,集线器320发送读取以从存储器340取回数据。对于每个读取,集线器320从存储装置340之一接收部分满足请求的一条高速缓存行的数据。收到的高速缓存行的数据在本文中被称为读取完成。
在一个实施例中,集线器320还包括逻辑装置、缓冲区以及PCIExpressTM端口325。其它实施例可能包括不同类型的串行端口。应该注意,对于PCI ExpressTM,指定请求的读取完成被按顺序发送到请求者。但是,顺序要求不一定适用于其它类型的串行输入/输出端口。一个实施例中包括PCI ExpressTM端口325,在收到读取完成1时,集线器320内的逻辑装置会检查PCI ExpressTM端口325是否空闲。如果端口325空闲,则将读取完成1通过PCI-ExpressTM端口325发送到请求者。但是,如果端口325忙,则将读取完成1暂时存储在集线器320内的缓冲区中。在本发明的不同实施例中可以使用各种容量的缓冲区,如2条高速缓存行或4条高速缓存行等。此外,如果缓冲区中已经存储了部分满足请求的其它数据,则会将刚刚收到的读取完成与其它数据进行组合。如果在将读取完成存储在缓冲区之后但在将读取完成发送到请求者之前收到其它数据,则会将其它数据与存储在缓冲区中的读取完成进行组合。逻辑装置监视PCI ExpressTM端口325以确定端口325是否可用。一旦PCI ExpressTM端口325可用,则将组合的数据在单个事务处理中通过PCI ExpressTM端口325发送到请求者。
上述讨论仅描述本发明的一些示范实施例。本领域的技术人员将通过这些讨论、附图以及权利要求认识到,在不背离所附权利要求的精神和范围的情况下,可以作出各种修改。因此,描述应被视为说明性的而不是限制性的。
Claims (21)
1.一种用于处理读取请求的方法,包括:
将所述读取请求分解为多个读取;
将所述多个读取发送到存储装置;
接收响应所述多个读取中的一个读取的数据;
如果用于转发所述读取请求的数据的端口空闲,则转发所述数据;
如果所述端口忙,则存储所述数据,以便在收到响应所述多个读取中的另一读取的其它数据时与所述其它数据组合;以及
在所述端口不忙时转发所组合的数据。
2.如权利要求1所述的方法,其特征在于,还包括监视所述端口以确定所述端口是否空闲。
3.如权利要求1所述的方法,其特征在于,所述多个读取中的每个读取取回满足相应读取的一条高速缓存行的数据。
4.如权利要求3所述的方法,其特征在于,所述端口为能够发送多个读取完成以响应单个读取的串行端口。
5.一种用于处理读取请求的方法,包括:
将所述读取请求分解为多个读取;
将所述多个读取发送到存储装置;
接收响应所述多个读取中的一个读取的数据;
存储所述数据,以便在收到响应所述多个读取中的另一读取的其它数据时与所述其它数据组合;以及
在所组合的数据达到预定大小时,通过串行端口转发所组合的数据。
6.如权利要求5所述的方法,其特征在于,所述多个读取中的每个读取取回满足相应读取的一条高速缓存行的数据。
7.如权利要求5所述的方法,其特征在于,所述串行端口为能够发送多个读取完成以响应单个读取的串行端口。
8.一种用于处理读取请求的设备,包括:
读取跟踪器,用于将所述读取请求分解为多个读取;
第一端口,用于接收响应所述多个读取中的一个读取的数据;
第二端口,其中在所述第二端口空闲时经由所述第二端口转发所述数据;
缓冲区,用于在所述第二端口忙时存储所述数据;以及
组合器,在经由所述第一端口接收到响应所述多个读取中的另一读取的其它数据时,将所存储的数据与所述其它数据组合,其中在所述第二端口不忙时,所述第二端口转发所组合的数据。
9.如权利要求8所述的设备,其特征在于,还包括监视所述第二端口以确定所述第二端口是否忙的第一电路。
10.如权利要求8所述的设备,其特征在于,所述多个读取中的每个读取取回满足相应读取的一条高速缓存行的数据。
11.如权利要求8所述的设备,其特征在于,所述第二端口为能够发送多个读取完成以响应单个读取的串行端口。
12.一种用于处理读取请求的设备,包括:
读取跟踪器,用于将所述读取请求分解为多个读取;
第一端口,用于接收响应所述多个读取中的一个读取的数据;
缓冲区,用于存储所述数据;
组合器,用于在经由所述第一端口接收到响应所述多个读取中的另一读取的其它数据时,将所述数据与所述其它数据组合;以及
串行端口,用于在所组合的数据达到预定大小时转发所组合的数据。
13.如权利要求12所述的设备,其特征在于,所述多个读取中的每个读取取回满足相应读取的一条高速缓存行的数据。
14.如权利要求12所述的设备,其特征在于,所述串行端口为能够发送多个读取完成以响应单个读取的串行端口。
15.一种用于处理读取请求的系统,包括:
图形芯片;以及
耦合到所述图形芯片的集线器,其中所述集线器包括
读取跟踪器,将所述读取请求分解为多个读取;
第一端口,接收响应所述多个读取中的一个读取的数据;
第二端口,其中在所述第二端口空闲时经由所述第二端口转发所述数据;
缓冲区,在所述第二端口忙时存储所述数据;以及
组合器,在经由所述第一端口接收到响应所述多个读取中的另一读取的其它数据时,将所存储的数据与所述其它数据组合,其中在所述第二端口不忙时,所述第二端口转发所组合的数据。
16.如权利要求15所述的系统,其特征在于,所述集线器还包括监视所述第二端口以确定所述第二端口是否忙的第一电路。
17.如权利要求15所述的系统,其特征在于,所述多个读取中的每一个取回满足相应读取的一条高速缓存行的数据。
18.如权利要求15所述的系统,其特征在于,所述第二端口为能够发送多个读取完成以响应单个读取的串行端口。
19.一种用于处理读取请求的系统,包括:
图形芯片;以及
耦合到所述图形芯片的集线器,其中所述集线器包括
读取跟踪器,将所述读取请求分解为多个读取;
第一端口,接收响应所述多个读取中的一个读取的数据;
缓冲区,存储所述数据;
组合器,在经由所述第一端口收到响应所述多个读取中的另一读取的其它数据时将所述数据与所述其它数据组合;以及
串行端口,在所组合的数据达到预定大小时转发所组合的数据。
20.如权利要求19所述的系统,其特征在于,所述多个读取中的每一个取回满足相应读取的一条高速缓存行的数据。
21.如权利要求19所述的系统,其特征在于,所述串行端口为能够发送多个读取完成以响应单个读取的串行端口。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/404,982 US7000041B2 (en) | 2003-03-31 | 2003-03-31 | Method and an apparatus to efficiently handle read completions that satisfy a read request |
US10/404,982 | 2003-03-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1768333A CN1768333A (zh) | 2006-05-03 |
CN100504824C true CN100504824C (zh) | 2009-06-24 |
Family
ID=33130479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800088820A Expired - Fee Related CN100504824C (zh) | 2003-03-31 | 2004-02-11 | 用于处理读取请求的方法、设备和系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7000041B2 (zh) |
EP (1) | EP1609072A1 (zh) |
KR (1) | KR100807443B1 (zh) |
CN (1) | CN100504824C (zh) |
TW (1) | TWI285816B (zh) |
WO (1) | WO2004095299A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103597457A (zh) * | 2011-06-01 | 2014-02-19 | 国际商业机器公司 | 避免设备中的非公布请求死锁 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7000041B2 (en) * | 2003-03-31 | 2006-02-14 | Intel Corporation | Method and an apparatus to efficiently handle read completions that satisfy a read request |
JP2004355351A (ja) * | 2003-05-29 | 2004-12-16 | Hitachi Ltd | サーバ装置 |
US7246191B2 (en) * | 2005-03-31 | 2007-07-17 | Intel Corporation | Method and apparatus for memory interface |
CN100524266C (zh) * | 2005-07-11 | 2009-08-05 | 辉达公司 | 在总线上以包的形式传输数据传输请求的方法及设备 |
US7624221B1 (en) | 2005-08-01 | 2009-11-24 | Nvidia Corporation | Control device for data stream optimizations in a link interface |
JP4372110B2 (ja) * | 2006-02-10 | 2009-11-25 | エヌイーシーコンピュータテクノ株式会社 | データ転送回路、それを利用したマルチプロセッサシステム、及びデータ転送方法 |
US8122221B2 (en) * | 2008-02-25 | 2012-02-21 | International Business Machines Corporation | Method and apparatus to combine scattered buffer addresses into a contiguous virtual address space |
US8903966B2 (en) | 2011-06-01 | 2014-12-02 | International Business Machines Corporation | Re-programming programmable hardware devices without system downtime |
CN104814766A (zh) * | 2015-03-27 | 2015-08-05 | 无锡海斯凯尔医学技术有限公司 | 用于弹性测量的超声波探测便携装置及超声波探测方法 |
KR102518317B1 (ko) | 2021-04-13 | 2023-04-06 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
US11782497B2 (en) | 2021-06-01 | 2023-10-10 | SK Hynix Inc. | Peripheral component interconnect express (PCIE) interface device and method of operating the same |
US11789658B2 (en) | 2021-04-13 | 2023-10-17 | SK Hynix Inc. | Peripheral component interconnect express (PCIe) interface system and method of operating the same |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4011545A (en) * | 1975-04-28 | 1977-03-08 | Ridan Computers, Inc. | Computer and communications systems employing new architectures |
US4447673A (en) * | 1977-12-27 | 1984-05-08 | Stromberg-Carlson Corporation | Ring trip apparatus for a line circuit connected to DCO switch |
US4555506A (en) * | 1981-12-24 | 1985-11-26 | E. R. Squibb & Sons, Inc. | Phosphorus containing compounds and use as hypotensives |
US5905858A (en) * | 1996-11-01 | 1999-05-18 | Micron Electronics, Inc. | System for method memory error handling |
JP3864509B2 (ja) * | 1997-08-19 | 2007-01-10 | 株式会社日立製作所 | マルチプロセッサシステム |
US6208644B1 (en) * | 1998-03-12 | 2001-03-27 | I-Cube, Inc. | Network switch providing dynamic load balancing |
US6405276B1 (en) * | 1998-12-10 | 2002-06-11 | International Business Machines Corporation | Selectively flushing buffered transactions in a bus bridge |
US6557078B1 (en) * | 2000-02-21 | 2003-04-29 | Hewlett Packard Development Company, L.P. | Cache chain structure to implement high bandwidth low latency cache memory subsystem |
US6539457B1 (en) * | 2000-02-21 | 2003-03-25 | Hewlett-Packard Company | Cache address conflict mechanism without store buffers |
US6427189B1 (en) * | 2000-02-21 | 2002-07-30 | Hewlett-Packard Company | Multiple issue algorithm with over subscription avoidance feature to get high bandwidth through cache pipeline |
US6507892B1 (en) * | 2000-02-21 | 2003-01-14 | Hewlett-Packard Company | L1 cache memory |
US6732247B2 (en) * | 2001-01-17 | 2004-05-04 | University Of Washington | Multi-ported memory having pipelined data banks |
US6868469B2 (en) | 2001-05-31 | 2005-03-15 | Intel Corporation | Data bridge and bridging |
US6526351B2 (en) * | 2001-07-09 | 2003-02-25 | Charles Lamont Whitham | Interactive multimedia tour guide |
US6823411B2 (en) * | 2002-01-30 | 2004-11-23 | International Business Machines Corporation | N-way psuedo cross-bar having an arbitration feature using discrete processor local busses |
KR100484134B1 (ko) * | 2002-02-16 | 2005-04-18 | 삼성전자주식회사 | 선입선출기를 이용한 비동기 데이터 인터페이스 장치 |
US6993637B1 (en) * | 2002-11-07 | 2006-01-31 | Lsi Logic Corporation | Unified memory system for multiple processors and method for controlling the same |
US6874042B2 (en) * | 2003-03-11 | 2005-03-29 | Dell Products L.P. | System and method for using a switch to route peripheral and graphics data on an interconnect |
US7000041B2 (en) * | 2003-03-31 | 2006-02-14 | Intel Corporation | Method and an apparatus to efficiently handle read completions that satisfy a read request |
-
2003
- 2003-03-31 US US10/404,982 patent/US7000041B2/en not_active Expired - Fee Related
-
2004
- 2004-02-11 KR KR1020057018711A patent/KR100807443B1/ko not_active IP Right Cessation
- 2004-02-11 EP EP04710287A patent/EP1609072A1/en not_active Ceased
- 2004-02-11 CN CNB2004800088820A patent/CN100504824C/zh not_active Expired - Fee Related
- 2004-02-11 WO PCT/US2004/004214 patent/WO2004095299A1/en active Application Filing
- 2004-02-16 TW TW093103656A patent/TWI285816B/zh not_active IP Right Cessation
-
2005
- 2005-11-08 US US11/270,148 patent/US7185127B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103597457A (zh) * | 2011-06-01 | 2014-02-19 | 国际商业机器公司 | 避免设备中的非公布请求死锁 |
CN103597457B (zh) * | 2011-06-01 | 2016-03-30 | 国际商业机器公司 | 避免设备中的非公布请求死锁 |
Also Published As
Publication number | Publication date |
---|---|
US7000041B2 (en) | 2006-02-14 |
TW200428222A (en) | 2004-12-16 |
US20040205270A1 (en) | 2004-10-14 |
WO2004095299A1 (en) | 2004-11-04 |
TWI285816B (en) | 2007-08-21 |
CN1768333A (zh) | 2006-05-03 |
KR20050119677A (ko) | 2005-12-21 |
US20060059292A1 (en) | 2006-03-16 |
US7185127B2 (en) | 2007-02-27 |
KR100807443B1 (ko) | 2008-02-25 |
EP1609072A1 (en) | 2005-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10515030B2 (en) | Method and device for improved advanced microcontroller bus architecture (AMBA) and advanced extensible interface (AXI) operations | |
US7185127B2 (en) | Method and an apparatus to efficiently handle read completions that satisfy a read request | |
KR950009578B1 (ko) | 동기고속 패키트 교환방식 버스를 위한 장치 및 방법 | |
US6078983A (en) | Multiprocessor system having distinct data bus and address bus arbiters | |
EP0945798A2 (en) | High speed remote storage cluster interface controller | |
US6823403B2 (en) | DMA mechanism for high-speed packet bus | |
US20060010279A1 (en) | Apparatus for use in a computer systems | |
CN114416621B (zh) | 一种基于axi协议的总线通信方法及装置 | |
US6931462B2 (en) | Memory controller which increases bus bandwidth, data transmission method using the same, and computer system having the same | |
US20050066080A1 (en) | Queue register configuration structure | |
US6968402B2 (en) | System and method for storing chunks of first cache line and second cache line in a buffer in a first and second chunk order | |
US7039730B2 (en) | Storage device control apparatus and method | |
WO2003040926A1 (en) | Bandwidth enhancement for uncached devices | |
KR20020067752A (ko) | 코프로세서 방식의 원칩 비동기 마이크로 프로세서 간의인터페이스 회로 | |
CN117389915B (zh) | 缓存系统、读命令调度方法、片上系统及电子设备 | |
JPH0661074B2 (ja) | アクセス制御装置、バスの遊休時間を最小化する方法、dma制御装置、及びdmaデータ転送方法 | |
US11874783B2 (en) | Coherent block read fulfillment | |
EP1096384A1 (en) | Bridge unit between a system bus and a local bus | |
GB2341771A (en) | Address decoding | |
GB2341766A (en) | Bus architecture | |
GB2341765A (en) | Bus idle usage | |
GB2341772A (en) | Primary and secondary bus architecture | |
JPH0581167A (ja) | データ伝送処理装置 | |
GB2341699A (en) | Inter-module data transfer | |
GB2341768A (en) | Bus arbitration |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090624 Termination date: 20190211 |