CN1965285A - 用于基于集线器的存储系统中直接存储器访问的设备和方法 - Google Patents
用于基于集线器的存储系统中直接存储器访问的设备和方法 Download PDFInfo
- Publication number
- CN1965285A CN1965285A CNA2004800273075A CN200480027307A CN1965285A CN 1965285 A CN1965285 A CN 1965285A CN A2004800273075 A CNA2004800273075 A CN A2004800273075A CN 200480027307 A CN200480027307 A CN 200480027307A CN 1965285 A CN1965285 A CN 1965285A
- Authority
- CN
- China
- Prior art keywords
- memory
- storage
- dma
- address
- data
- 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
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/20—Handling requests for interconnection or transfer for access to input/output 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/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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/4009—Coupling between buses with data restructuring
Abstract
一种用于存储模块的存储集线器,具有用于在系统存储器中进行DMA操作的DMA引擎。该存储集线器包括用于接收访问系统存储器的存储设备中的至少一个的存储器请求的链路接口;还包括用于连接到存储设备的存储设备接口,该存储设备接口把存储器请求耦合到存储设备以访问存储设备中的至少一个。该存储集线器还包括用于选择性地连接该链路接口和该存储设备接口的开关。另外,直接存储器访问(DMA)引擎通过该开关连接到存储设备接口,以产生用于访问存储设备中的至少一个的存储器请求,从而进行DMA操作。
Description
技术领域
本发明涉及计算机系统,更具体地说,本发明涉及一种包含具有存储集线器结构的系统存储器的计算机系统。
背景技术
计算机系统使用诸如动态随机访问存储器(“DRAM”)的存储器设备来存储由处理器访问的数据。这些存储设备一般用作计算机系统中的系统存储器。在典型的计算机系统中,处理器通过处理器总线和存储器控制器与系统存储器进行通信。处理器发出包括诸如读取命令的存储器命令的存储器请求,和指明从哪个存储单元读取数据或指令的地址。存储器控制器使用该命令和地址生成适当的命令信号以及行和列的地址,它们将被应用于系统存储器。响应于该命令和地址,在系统存储器和处理器之间传输数据。存储器控制器通常是系统控制器的一部分,该系统控制器还包括用于将处理器总线连接到例如PCI总线的扩展总线的总线桥电路。
尽管存储设备的运行速度一直在提高,但是运行速度的这种提高始终跟不上处理器运行速度的提高。将处理器连接到存储设备的存储器控制器的运行速度的提高甚至更加缓慢。存储器控制器和存储设备相对缓慢的速度限制了处理器和存储设备之间的数据带宽。
除了处理器和存储设备之间的受限制的带宽以外,计算机系统的性能还受到反应时间问题的限制,这些反应时间问题增加从系统存储设备读取数据所需的时间。更具体地说,当存储设备读出命令被耦合(couple)到诸如同步DRAM(“SDRAM”)器件的系统存储器时,只有在几个时钟周期的延迟之后才能从SDRAM中输出读取数据。因此,尽管SDRAM器件能够以高数据速率同步输出突发数据,但是在最初提供数据中的延时会大大降低使用这种SDRAM器件的计算机系统的运行速度。
减轻存储器延时问题的一个方法是使用通过存储集线器连接到处理器上多个存储设备。在存储集线器结构中,系统控制器或存储器控制器通过高速数据链路连接到几个存储模块。典型地,存储模块以点对点或者菊链结构相连接,从而存储模块一个接一个地串联在一起。这样,存储器控制器通过第一高速数据链路连接到第一存储模块,第一存储模块通过第二高速数据链路连接到第二存储模块,且第二存储模块通过第三高速数据链路连接到第三存储模块,以菊链形式继续下去。
每个存储模块包括连接到相应高速数据链路的存储集线器和模块上的许多存储设备,且存储集线器通过高速数据链路在控制器和存储设备之间有效地路由存储器请求和响应。采用这种结构的计算机系统具有较高的带宽,因为当一个存储设备在响应先前的存储器访问的同时,处理器能够访问另一个存储设备。例如,当系统中的一个存储设备在准备向处理器提供读取的数据的同时,处理器能够向系统中的所述存储设备之一输出写入的数据。此外,这种结构也可使系统存储器容易扩展,而无需考虑例如在传统的多点传输总线结构中发生的增加更多存储模块时信号质量下降的问题。
尽管使用存储集线器的计算机系统可以提供优异的性能,但是它们可能会因为各种原因而通常无法在最佳速度下运行。例如,即使存储集线器能够为计算机系统提供更大的存储带宽,它们仍旧受到上述类型的延时问题的影响。更具体地说,尽管在一个存储设备准备传输数据时处理器可以与另一个存储设备通信,但是有时需要在来自一个存储设备的数据可被使用之前从另一个存储设备接收数据。在必须在从一个存储设备接收的数据可以被使用之前从另一个存储设备接收数据的情况下,处理器的介入会继续降低这种计算机系统的运行速度。这种计算机系统无法在最佳速度下运行的另一原因在于,传统的存储集线器本质上是单信道系统,因为所有控制、地址和数据信号都必须通过公共的存储集线器电路。结果,当存储集线器电路忙于与一个存储设备通信时,它无法空闲下来与另一个存储设备通信。
在计算机系统中已经使用的一项用于克服将数据移入和移出存储器时的处理器介入带来的问题以及单信道瓶颈的技术是使用直接存储器访问(DMA)操作。DMA操作通过使用计算机系统中包括的DMA控制器来实现,其使得能够在没有系统处理器介入的情况下,将数据移入和移出存储器。这种DMA操作和DMA控制器在本领域是众所周知的,并且经常在常规计算机系统中使用。DMA控制器消除了牵涉到处理器的需要,并且管理移入和移出系统存储器的所需的数据传输。例如,当支持DMA的实体向系统存储器传输数据时,DMA控制器获得对总线的控制,并且协调从支持DMA的实体向系统存储器的数据传输,而无需处理器的介入。以这种方式,在通过系统总线传输数据的过程中可以避免由处理器介入引起的延时问题。但是,在许多情况下,即使在通过DMA操作已经将数据传输到系统存储器后,处理器仍然必须在系统存储器内将数据块从一个存储单元移到另一个存储单元。例如,操作系统会指示一DMA操作把数据从一个大容量存储器传输到系统存储器中,这样仅使处理器将数据再移到存储器中的另一个存储单元,所以可以使用该数据。结果,在一定程度上减少了DMA操作的价值,因为尽管在数据移入和移出系统存储器时使用了DMA操作,但是最终在存储器里移动数据还是用到了处理器。
因此,需要一种具有存储集线器结构的优点并且还可以使这种系统中普遍的延时问题最小化的计算机结构。
发明内容
本发明涉及一种用于存储模块的存储集线器,该存储模块具有用于在系统存储器中进行DMA操作的DMA引擎。该存储集线器包括链路接口,用于接收访问系统存储器的存储设备中的至少一个的存储器请求;还包括存储设备接口,用于连接到存储设备,该存储设备接口将存储器请求耦合到存储设备以访问所述存储设备中的至少一个。存储集线器还包括用于有选择地连接链路接口和存储设备接口的开关。另外,直接存储器访问(DMA)引擎通过开关连接到存储设备接口,以生成用于访问存储设备中的至少一个的存储器请求,从而进行DMA操作。
在本发明的一个方案中,提供了一种在计算机系统中执行存储器操作的方法,该计算机系统具有处理器、连接到处理器的系统控制器、和具有通过存储器总线连接到系统控制器的至少一个存储模块的系统存储器。该方法包括将表示在系统存储器中执行没有处理器介入的存储器操作的指令的DMA信息写到系统存储器中的一个存储单元,从处理器和系统控制器获得对存储器总线的控制,访问写入了DMA信息的系统存储器中的该存储单元,并且执行由所述指令表示的存储器操作。
附图说明
图1是根据本发明一个例子的计算机系统的框图,该例中多个存储模块中的每一个都包含一个存储集线器;
图2是图1的计算机系统中使用的存储集线器的框图;
图3是根据本发明实施例的图2的存储集线器的DMA引擎的一部分的框图;
图4是根据本发明实施例的图3的DMA引擎使用的标签结构的框图;以及
图5是根据本发明实施例的图3的DMA引擎的操作流程图。
具体实施方式
本发明的实施例针对一种具有存储集线器结构的系统存储器,该存储集线器结构具有直接存储器访问(DMA)能力,可以在系统存储器中传输数据而无需系统处理器介入。为了充分理解本发明,下面将阐明某些细节。但是,本领域技术人员应该了解,本发明可应用在没有这些特定细节的情况下。在其它实例中,为了避免使发明不明确,没有具体示出公知的电路、控制信号和时钟协议。
图1示出根据本发明一个例子的计算机系统100。计算机系统100包括用于实现各种计算功能——诸如执行特定软件以执行特定计算或任务——的处理器104。处理器104包括处理器总线106,该处理器总线106一般包括地址总线、控制总线和数据总线。处理器总线106通常连接到高速缓冲存储器108,如前所述,该高速缓冲存储器108通常是静态随机访问存储器(“SRAM”)。最终,处理器总线106连接到系统控制器110,该系统控制器110有时也被称为“北桥”或“存储器控制器”。
系统控制器110为多种其他部件用作到处理器104的通信通道。更具体地说,系统控制器110包括一个图形端口,该图形端口典型地连接到图形控制器112,而该图形控制器112反过来又连接到视频终端114。系统控制器110还连接到一个或多个诸如键盘或鼠标的输入设备118,以使操作者能够与计算机系统100界面交互。典型地,计算机系统100还包括一个或多个诸如打印机的输出设备120,该输出设备通过系统控制器110连接到处理器104。一个或多个数据存储设备124也典型地通过系统控制器110连接到处理器104,以允许处理器104能够储存数据或者从内部或外部的存储介质(图中未显示)获取数据。典型的存储设备124的实例包括硬盘、软盘、盒式磁带和只读光盘存储器(CD-ROM)。
系统控制器110包括存储集线器控制器128,该存储集线器控制器连接到几个存储模块130a、130b、……130n,这些存储模块用作计算机系统100的系统存储器。存储模块130优选通过高速链路134连接到存储集线器控制器128,该高速链路可以是光或电的通信通道或者某些其它类型的通信通道。在高速链路134是用光通信通道实现的情况下,该光通信通道=例如可以采用一根或多根光纤的形式。在这种情况下,存储集线器控制器128和存储模块将包括连接到光通信通道的光学输入/输出端口或者分离的输入和输出端口。
示出的存储模块130是以点对点的设置方式连接到存储集线器控制器128,在该点对点的设置方式中,通过将存储模块130的存储集线器140连在一起来形成高速链路134。也就是说,高速链路134是串联存储集线器140的双向总线。这样,高速链路上的信息必须经过“上游”存储模块130的存储集线器140,以到达“下游”目的地。例如,具体参照图1,从存储集线器控制器128发往存储模块130c的存储集线器140的信息,将经过存储模块130a和130b的存储集线器140。但是,应理解也可能使用其它拓扑,例如耦合(coupling)设置方式,在该方式中所述存储模块130中的每一个都通过高速链路连接到存储集线器控制器128。还可能使用开关(switching)拓扑,其中存储集线器控制器128通过开关(图中未显示)选择性地连接到所述存储模块130中的每一个。可能使用的其它拓扑对于本领域技术人员来说将是显而易见的。
如图1中还示出的,存储集线器通过各自的总线系统150连接到四组存储设备148。每一组包括四个存储设备148,这样每一存储模块130总共有20个存储设备148。如本领域已知的那样,总线系统150通常包括控制总线、地址总线和数据总线。但是,本领域的普通技术人员应了解,在不脱离本发明的范围的情况下,也可以使用其它总线系统,诸如使用共享的命令/地址总线的总线系统。还应了解,在不脱离本发明的范围的情况下,可以修改存储设备148的排列以及存储设备148的数量。在图1所示的例子中,存储设备148是同步动态随机访问存储器(“SDRAM”)设备。但是,除了SDRAM设备外,当然也可能使用其它存储设备。
图2示出根据本发明实施例的存储集线器200的实施例,其可用于替代图1的存储集线器140。图2中示出的存储集线器200连接到四个存储设备240a-d,在本例中这四个存储设备是常规的SDRAM设备。在可选择的实施例中,存储集线器200连接到四组(bank)不同的存储设备,而非仅四个不同的存储设备240a-d,典型情况下每组有多个存储设备。但是,为了举例的目的,本说明书将参照连接到四个存储设备240a-d的存储集线器200。应当意识到,为容纳多组存储设备而对存储集线器200进行的修改是在本领域普通技术人员的知识范围之内。
进一步包括在存储集线器200中的是用于将其上设置了存储集线器200的存储模块分别连接到第一高速数据链路220和第二高速数据链路222的链路接口210a-d和212a-d。如之前关于图1讨论的那样,高速数据链路220、222可以使用光或电通信通道或者某些其它类型的通信通道来实现。链路接口210a-d、212a-d是常规的,并且包括用于向和从高速数据链路220、222传输数据、命令和地址信息的电路,例如,本领域所熟知的发射机和接收机逻辑电路。应当了解,本领域的普通技术人员完全理解对链路接口210a-d、212a-d进行修改,以使其与特定类型的通信通道一起使用,而且在不脱离本发明的范围的情况下,可以对链路接口210a-d、212a-d进行这样的修改。例如,在高速数据链路220、222使用光学通信通道来实现的情况下,链路接口210a-d、212a-d将包括光学输入/输出端口,并且把通过该光学通信通道耦合的光信号转换成电信号。
链路接口210a-d、212a-d通过用总线214表示的多个总线和信号线连接到开关260上多个总线和信号线路。总线214是常规的,并且包括写数据总线和读数据总线,尽管可能替代使用单条双向数据总线来通过链路接口210a-d、212a-d在两个方向上耦合数据。本领域普通技术人员应该了解,总线214是作为例子提供的,并且总线214可能包括更少或更多的信号线,例如还包括可用于保持高速缓冲存储器一致性的请求线路和监视(snoop)线路。
链路接口210a-d、212a-d包括使存储集线器140能够在系统存储器中以多种结构来连接的电路。例如,通过链路接口210a-d或212a-d将每一存储模块连接到存储集线器128上能够实现多点传输的排列结构。或者,将存储模块串联能够实现点对点或菊链结构,如图1所示。例如,可以使用链路接口210a-d来连接第一存储模块,且可以使用链路接口212a-d来连接第二存储模块。存储模块将通过一组链路接口连接到处理器或系统控制器,并且进一步通过另外一组链路接口连接到另一存储模块。在本发明的一个实施例中,存储模块的存储集线器200以点对点的排列方式连接到处理器,在这种排列方式中,没有其它设备连到处理器104和存储集线器200之间的连接上。由于几个原因,这种类型的互连提供了处理器104和存储集线器200之间更好的信号耦合,这些原因包括相对低的电容、反射信号的线路中断比较少以及信号通道比较短。
开关260还连接到四个存储接口270a-d,这四个存储接口依次分别连接到系统存储器设备240a-d。通过分别为每一系统存储器设备240a-d提供分离且独立的存储接口270a-d,存储集线器200可避免单信道存储结构中典型地发生的总线或存储库(memory bank)冲突。开关260通过用总线274表示的多个总线和信号线连接到每一存储接口。总线274包括写数据总线、读数据总线和请求线路。但是,应理解,也可选择地使用单个双向数据总线来代替分离的写数据总线和读数据总线。此外,总线274可包括比之前所述的更多或更少数量的信号线。
在本发明的实施例中,每一存储接口270a-d专门适合于与之相连的系统存储设备240a-d。更具体地说,每一存储接口270a-d专门适用于提供和接收由与之相连的系统存储设备240a-d分别收到的和生成的特定信号。而且,存储接口270a-d能够与在不同时钟频率下工作的系统存储设备240a-d一起工作。结果,存储接口270a-d使处理器104和存储集线器200与连接到存储集线器200的存储设备240a-d之间的接口处可能发生的变化相隔离开,并且它提供存储设备240a-d可能界面连接到的更受控制的环境。
连接链路接口210a-d、212a-d和存储接口270a-d的开关260可以是各种常规的或下文中进一步阐明的开关中的任何一种。例如,开关260可以是交叉(Cross-bar)开关,它能够以多种设置同时使链路接口210a-d、212a-d和存储接口270a-d彼此连接。开关260也可以是一组多路转接器,它不提供与交叉开关相同程度的连通性,但可以把链路接口210a-d、212a-d中的一些或全部连接到存储接口270a-d中的每一个。开关260还可以包括仲裁逻辑(图中未显示),以确定哪一个存储器访问应该收到高于其它存储器访问的优先级。执行这个功能的总线仲裁为本领域技术人员所熟知。
进一步参考图2,每一存储接口270a-d包括各自的存储器控制器280、各自的写缓冲器282和各自的高速缓冲存储单元284。存储器控制器280通过向与其连接的系统存储器设备240a-d提供控制、地址和数据信号,并且接收来自与其连接的系统存储器设备240a-d的数据信号来执行与常规存储器控制器相同的功能。写缓冲器282和高速缓冲存储单元284包括缓冲器和高速缓冲存储器的普通部件,如本领域中所熟知的标签存储器、数据存储器、比较器等等。写缓冲器282和高速缓冲存储单元284中使用的存储设备可以是DRAM设备、静态随机访问存储器(“SRAM”)设备、其它类型的存储设备,或者这三者的组合。此外,这些存储设备中的任何一个或全部,以及其它用于高速缓冲存储单元284的部件可以是嵌入的或单机(stand-alone)设备。
每一存储接口270a-d中的写缓冲器282用于在处理读请求时存储写请求。在这样的系统中,处理器104可以向系统存储器240a-d发出写请求,即使该写请求所针对的存储设备正在忙着处理在前的写或读请求。使用这样的方法,可以次序颠倒地处理存储器请求,因为在处理后来的读请求时可以把较早的写请求存储在写缓冲器282中。缓冲写请求以允许处理读请求的能力能够大大减少存储器读出延时,因为可以给读请求第一优先级而不管它们的时间先后排列顺序。例如,可以在写缓冲器282中存储一系列中间夹杂着读请求的写请求,以允许以流水线的方式处理读请求,然后以流水线方式处理写请求。结果,可以避免将写请求耦合到存储设备270a-d与随后将读请求耦合到存储设备270a-d之间的、用于交替写和读请求的冗长的处理时间。
在每个存储接口270a-d中使用高速缓冲存储单元284,使得处理器104能够响应针对各个系统存储设备240a-d的读命令来接收数据,而不需要在数据刚刚从该存储设备240a-d读出或写入的情况下,等待存储设备240a-d提供该数据。这样,高速缓冲存储单元284减少了系统存储器设备240a-d的读取延时,使计算机系统的存储器带宽最大。类似地,处理器104可以将写数据存储在高速缓冲存储单元284中,然后在同一存储接口270a-d中的存储器控制器280将写数据从高速缓冲存储单元284传输到与之相连的系统存储设备240a-d时,执行其它功能。
存储集线器200还包括通过总线288连接到开关260的DMA引擎286,该DMA引擎使得存储集线器200能够把数据块从系统存储器中的一个存储单元移到系统存储器中的另一个存储单元,而无需处理器104的介入。总线288用于处理系统存储器中的数据传输,其包括多个常规总线线路和信号线路,例如地址、控制、数据总线等等。如下文中将详细描述的,DMA引擎286能够读取系统存储器中的链表来执行DMA存储器操作,而没有处理器的介入,由此将处理器104和带宽受限制的系统总线从存储操作的执行中解脱出来。DMA引擎286优选是存储集线器200中的嵌入式电路。但是,连接到存储集线器200的分离式DMA设备也在本发明的范围之内。另外,DMA引擎286可以包括容纳多信道上的DMA操作的电路。这样的多信道DMA引擎在本领域是众所周知的,并且可以用常规技术来实现。
在本发明的实施例中,处理器104在系统存储器中写入DMA引擎286将要执行的指令列表。指令包括DMA引擎286进行DMA操作所使用的信息,诸如要移动的块的开始地址、结束地址或计数、目的地址、下一命令块的地址等等。DMA引擎286将执行一系列连续的命令,然后如果有指示的话,将跳转到下一命令列表。通过存在于一个或多个存储器空间中的数据结构来程序控制DMA引擎286。该数据结构由一定数量的命令块组成,这些命令块提供在系统存储器中进行数据传输操作所需的信息。每一命令块可以通过一系列地址指针相连接,从而形成链表。链表中的第一命令块的地址通过I/O空间被程序控制。DMA引擎286被指示通过I/O空间命令寄存器来取出并执行第一命令块。执行请求的数据操作后,使用第一命令块的地址指针将DMA引擎286指向下一个命令块。每个相继的命令块中的地址指针被用来取出并执行下一命令块,这些地址指针形成链表。执行链表中的每一命令块直到遇到NULL指针。例如把NULL指针定义成全由1构成的地址。一旦检测到NULL指针,命令块的执行将中止,并且设置表示命令流已经结束的状态比特。在存储集线器200中的I/O寄存器中可以包含完成状态。另外,还可以使用开始标记来指示DMA引擎286已经开始执行DMA操作。其它状态比特可以指示命令流是无错误地正常结束,还是由于错误而非正常结束。状态信息可能会向主机任选地生成中断。
在本发明的替代实施例中,DMA引擎286还可以用于在系统中进行诊断。可以将已知的好的数据模式载入到存储集线器200的存储器中或已知的好的系统存储器中,并且使用该数据模式来测试系统存储器。这类应用的详细描述参见在[递交日]递交的题为“SYSTEMAND METHOD FOR ON-BOARD DIAGNOSTICS OF MEMORYMODULES”的共同转让、共同待审的美国专利申请NO._____,这里引入该申请作为参考。
图3是示出DMA引擎300的部分的框图,而图4是示出根据本发明实施例的链接的命令列表400的框图。DMA引擎300可以代替存储集线器200的DMA引擎286(图2)。应了解,图3只是DMA引擎300的代表,为了实现本发明,这里已向本领域普通技术人员提供了充分的描述。但是,还应当意识到,在不脱离本发明范围的情况下也可以使用另外的DMA引擎。DMA引擎300包括五个用以控制DMA操作的寄存器:地址寄存器310、目的地地址寄存器311、控制寄存器312、下一寄存器314和计数寄存器316。
在操作过程中,开始数据块传输时,将该数据块的开始地址载入到地址寄存器310中。另外,将数据将被移向的存储单元的目的地地址载入到目的地地址寄存器311中,并且将数据块长度载入到计数寄存器316中。控制寄存器312包含与传输相关的信息,诸如指示在每一数据项被传输后地址寄存器310是要增加还是减小的比特。在本实例中,DMA引擎300每转移一次数据项,计数寄存器316减小,而地址寄存器310增加。另外,目的地地址寄存器311增大(或者减小,取决于控制设置)。当计数寄存器316的值达到零,则数据块传输完毕。此时,检查下一寄存器314中的值。如果它指向系统存储器中的有效位置,则将该对象中包含的值载入寄存器310、312、314和316中。然后自动开始下一数据块的传输。但是,如果下一寄存器314中存在的是如前所述的NULL值,则DMA操作结束。
图4中示出的链接的命令列表400包含多个链接项402、404和406,它们中的每一个包含重载寄存器310、312、314、316所需的信息。链接项402、404和406存储在系统存储器中,如前所述,并且通过对应于下一寄存器314的指针链接在一起。图4中示出三个链接项402、404和406。这些链接项,加上定义为将值直接写入DMA引擎300的寄存器310、312、314和316中的初始传输,定义了具有四个分离部分的单个DMA传输。下一寄存器314中包含的值NEXT指向第一链接项402。第一链接项402指向链接的命令中的下一链接项404,而链接项404又指向最终链接项406。最终链接项406包含NULL值作为指针,表示它是DMA命令列表的最后的链接项。NULL值是不指向有效的存储单元的保留指针,并且DMA引擎300将其解释为不指向任何东西的指针。应当意识到,链接项402、404和406是作为例子提供的,在不脱离本发明的范围的情况下可以对其进行修改,诸如包含比图4示出的更多或者更少的信息域。
图5是示出DMA引擎300(图3)进行一系列连续数据块传输所使用的控制流程的流程图500。在步骤502,DMA寄存器310、312、314和316中载入用于第一数据传输的适当的值。这时,不论在直接载入寄存器之前或是之后,必须把用于本次传输的链接项所需的所有信息载入到链接的命令列表400(图4)中。寄存器的载入由处理器104(图1)控制,并且系统存储器中的链接的命令列表400的载入也由处理器104完成。
在步骤504,传输一个数据项,而在步骤506,计数寄存器316中的值减小以表示已经传输了一个数据项。步骤506包括同时增大或减小地址寄存器310的值,这取决于控制寄存器312中设置的理想方向。在步骤508,检查计数值来确定是否已经计数完毕。在本发明的一个实施例中,通过检查来自计数寄存器316的完成比特(图中未显示)来实现是否已经计数完毕的确定。如果计数值表示数据传输没有完毕,则控制返回到步骤504。但是,如果计数寄存器316中的计数值等于零,则控制转到步骤510,在步骤510,检测下一寄存器314中的值,看它是否等于如前所述的NULL值。如果不存在NULL值,则在步骤512,将下一标签从链接的命令列表400载入到DMA控制器300中的寄存器310、312、314和316中,并且控制返回步骤504。一旦使用了最后的链接项,则在步骤514向处理器104做出传输完毕的指示。
本领域普通技术人员应了解,DMA引擎300实现在系统存储器中“分散-集合”的能力。当要把大数据块读入不连续的存储器块时,处理器104分配存储器,并且通过DMA引擎300建立链接的命令列表400。这样发起DMA传输,并且DMA引擎300处理整个传输直到其完成。可以使用类似技术来集合系统存储器中分散的数据块,从而将它们写入连续的存储器块。处理器104确定在系统存储器中移动写哪些块,以及它们的顺序,然后通过DMA引擎300建立链接的命令列表400。这样,启动DMA传输,并且DMA引擎300完全处理该传输直到其完成。由于链接的命令列表400存储在系统存储器中,因此例如可以为DMA引擎300支持的每一信道保持几个链接的列表。此外,由于链接的命令列表400存储在系统存储器中,因此对于一个信道来说可能链接成一个更大传输的分离传输的数量的唯一限制是在系统存储器中保留的空闲存储单元的数量。
从前文所述应了解,尽管为了说明的目的,在此描述了本发明的具体实施例,但是在不脱离本发明的精神和范围的情况下,可以做出各种修改。因此,本发明仅受所附的权利要求书的限制。
Claims (42)
1、一种存储模块,包括:
多个存储设备;以及
存储集线器,包括:
链路接口,用于接收存储器请求,该存储器请求用于访问所述存储设备中的至少一个;
存储设备接口,连接到所述存储设备,该存储设备接口将存储器请求耦合到所述存储设备,以访问所述存储设备中的至少一个;
开关,用于选择性地连接该链路接口和该存储设备接口;以及
直接存储器访问(DMA)引擎,通过该开关连接到该存储设备接口,该DMA引擎生成用于访问所述存储设备中的至少一个的存储器请求以进行DMA操作。
2、如权利要求1所述的存储模块,其中所述存储集线器是存在于单个设备中的具有该链路接口、该存储设备接口、该开关和该DMA引擎的嵌入式系统。
3、如权利要求1所述的存储模块,其中所述存储设备接口包括:
存储器控制器,通过存储器控制器总线连接到所述开关,并且进一步通过存储设备总线连接到所述存储设备;
写缓冲器,连接到所述存储器控制器,用于存储指向所述存储器控制器连接到的所述存储设备中的至少一个的存储器请求;以及
高速缓冲存储器,连接到所述存储器控制器,用于存储向所述存储设备提供的或从所述存储设备取回的数据。
4、如权利要求1所述的存储模块,其中所述开关包括交叉开关。
5、如权利要求1所述的存储模块,其中所述多个存储设备是在存储器操作过程中被同时访问的一组存储设备。
6、如权利要求1所述的存储模块,其中,所述多个存储设备包括同步动态随机访问存储器。
7、如权利要求1所述的存储模块,其中所述DMA引擎包括:
地址寄存器,用于存储DMA操作的开始存储器地址;
目标地址单元,用于存储在该DMA操作中数据将被移到的存储单元的目标地址;
计数寄存器,用于存储表示在该DMA操作中将被访问的存储单元数量的计数值;以及
下一寄存器,用于存储代表该DMA操作完成的值或代表与链表相对应的存储器地址的值,该链表包括将被载入该地址寄存器、该计数寄存器和该下一寄存器的开始存储器地址、计数值和下一存储器地址。
8、一种用于具有多个存储设备的存储模块的存储集线器,包括:
链路接口,用于接收访问所述存储设备中的至少一个的存储器请求;
存储设备接口,用于连接到所述存储设备,该存储设备接口将存储器请求耦合到所述存储设备,以访问所述存储设备中的至少一个;
开关,用于选择性地连接该链路接口和该存储设备接口;以及
直接存储器访问(DMA)引擎,通过该开关连接到所述存储设备接口,该DMA引擎生成用于访问所述存储设备中的至少一个的存储器请求,以进行DMA操作。
9、如权利要求8所述的存储集线器,其中该链路接口、该存储设备接口、该开关和该DMA引擎是存在于单个设备中的嵌入式系统。
10、如权利要求8所述的存储集线器,其中所述存储设备接口包括:
存储器控制器,通过存储器控制器总线连接到所述开关,并且进一步通过存储设备总线连接到所述存储设备;
写缓冲器,连接到所述存储器控制器,用于存储指向所述存储器控制器连接到的所述存储设备中的至少一个的存储器请求;以及
高速缓冲存储器,连接到所述存储器控制器,用于存储向所述存储设备提供的或从所述存储设备取回的数据。
11、如权利要求8所述的存储集线器,其中所述开关包括交叉开关。
12、如权利要求8所述的存储集线器,其中所述DMA引擎包括:
地址寄存器,用于存储DMA操作的开始存储器地址;
目标地址单元,用于存储在该DMA操作中数据将被移到的存储单元的目标地址;
计数寄存器,用于存储表示在该DMA操作中将被访问的存储单元的数量的计数值;以及
下一寄存器,用于存储代表该DMA操作完成的值或代表与链表相对应的存储器地址的值,该链表包括将被载入该地址寄存器的、该计数寄存器和该下一寄存器的开始存储器地址、计数值和下一存储器地址。
13、一种存储系统,包括:
存储器总线,在该存储器总线上提供存储器请求;以及
至少一个存储模块,连接到所述存储器总线,该存储模块具有多个存储设备以及存储集线器,该存储集线器包括:
链路接口,用于接收访问所述链路接口所在的所述存储模块的所述存储设备中的至少一个的存储器请求;
存储设备接口,连接到所述存储设备,该存储设备接口将存储器请求发送到所述存储设备,以访问所述存储设备中的至少一个;
开关,用于选择性地连接所述链路接口和所述存储设备接口;以及
直接存储器访问(DMA)引擎,通过该开关连接到所述存储设备接口和所述链路接口,该DMA引擎生成用于访问所述存储设备中的至少一个的存储器请求,以进行DMA操作。
14、如权利要求13所述的存储系统,其中所述存储集线器是存在于单个设备中的具有该链路接口、该存储设备接口、该开关和该DMA引擎的嵌入式系统。
15、如权利要求13所述的存储系统,其中所述存储器总线包括高速存储器总线。
16、如权利要求13所述的存储系统,其中所述存储器总线包括高速光学存储器总线,并且其中所述链路接口包括用于转换光学信号和电信号的光学存储器总线接口电路。
17、如权利要求13所述的存储系统,其中所述存储系统中包括多个存储模块,所述多个存储模块中的第一存储模块连接到所述存储器总线,并且所述多个存储模块中的其余存储模块与所述第一存储模块串联连接。
18、如权利要求13所述的存储系统,其中在所述存储系统中包括多个存储模块,并且所述多个存储模块中的每一个模块都通过各自的链路接口直接连接到所述存储器总线。
19、如权利要求13所述的存储系统,其中所述存储集线器的所述存储设备接口包括:
存储器控制器,通过存储器控制器总线连接到所述开关,并且进一步通过存储设备总线连接到所述存储设备;
写缓存器,连接到所述存储器控制器,用于存储指向所述存储器控制器连接到的所述存储设备中的至少一个的存储器请求;以及
高速缓冲存储器,连接到所述存储器控制器,用于存储向所述存储设备提供的或从所述存储设备取回的数据。
20、如权利要求13所述的存储系统,其中所述存储集线器的所述开关包括交叉开关。
21、如权利要求13所述的存储系统,其中存储模块的所述多个存储设备代表在存储器操作过程中被同时访问的一组存储设备。
22、如权利要求13所述的存储系统,其中所述存储模块的所述多个存储设备包括同步动态随机访问存储设备。
23、如权利要求13所述的存储系统,其中所述存储集线器的所述DMA引擎包括:
地址寄存器,用于存储该存储系统中DMA操作开始的存储单元的开始存储器地址;
目标地址单元,用于存储在该DMA操作中数据将被移到的该存储系统中的存储单元的目标地址;
计数寄存器,用于存储表示在该DMA操作中将被访问的存储单元的数量的计数值;以及
下一寄存器,用于存储代表该DMA操作完成的值或代表与链表相对应的存储器地址的值,该链表包括将被载入该地址寄存器、该计数寄存器和该下一寄存器的开始存储器地址、计数值和下一存储器地址。
24、一种计算机系统,包括:
中央处理单元(“CPU”);
系统控制器,连接到该CPU,该系统控制器具有输入端口和输出端口;
输入设备,通过该系统控制器连接到该CPU;
输出设备,通过该系统控制器连接到该CPU;
存储设备,通过该系统控制器连接到该CPU;
至少一个存储模块,该存储模块包括:
多个存储设备;以及
存储集线器,包括:
链路接口,用于接收访问该链路接口所在的所述存储模块的所述存储设备中的至少一个的存储器请求;
存储设备接口,连接到所述存储设备,该存储设备接口将存储器请求耦合到存储设备,以访问所述存储设备中的至少一个;
开关,用于选择性地连接所述链路接口和所述存储设备接口;以及
直接存储器访问(DMA)引擎,通过该开关连接到所述存储设备接口和所述链路接口,该DMA引擎生成用于访问所述多个存储模块的所述存储设备中的至少一个的存储器请求,以进行DMA操作;以及
通信链路,连接在所述系统控制器和所述多个存储模块中的至少一个之间,用于在所述系统控制器和所述存储模块之间耦合存储器请求和数据。
25、如权利要求24所述的计算机系统,其中所述通信链路包括高速存储器总线。
26、如权利要求24所述的计算机系统,其中所述存储集线器是存在于单个设备中的具有该链路接口、该存储设备接口、该开关和该DMA引擎的嵌入式系统。
27、如权利要求24所述的计算机系统,其中所述通信链路包括高速光学存储器总线,并且其中所述存储集线器的所述链路接口包括用于转换光学信号和电信号的光学存储器总线接口电路。
28、如权利要求24所述的计算机系统,其中所述计算机系统中包括多个存储模块,所述多个存储模块中的第一存储模块连接到所述通信链路,并且所述多个存储模块中的其余存储模块与所述第一存储模块串联连接。
29、如权利要求24所述的计算机系统,其中所述计算机系统中包括多个存储模块,并且所述多个存储模块中的每一个模块都通过各自的链路接口直接连接到所述存储器总线。
30、如权利要求24所述的计算机系统,其中所述存储集线器的所述存储设备接口包括:
存储器控制器,通过存储器控制器总线连接到该开关,并且进一步通过存储设备总线连接到所述存储设备;
写缓冲器,连接到所述存储器控制器,用于存储指向所述存储器控制器连接到的所述存储设备中的至少一个的存储器请求;以及
高速缓冲存储器,连接到所述存储器控制器,用于存储向所述存储设备提供的或从所述存储设备取回的数据。
31、如权利要求24所述的计算机系统,其中所述存储集线器的所述开关包括交叉开关。
32、如权利要求24所述的计算机系统,其中存储模块的所述多个存储设备代表在存储器操作过程中被同时访问的一组存储设备。
33、如权利要求24所述的计算机系统,其中所述存储模块的所述多个存储设备包括同步动态随机访问存储设备。
34、如权利要求24所述的计算机系统,其中所述存储集线器的所述DMA引擎包括:
地址寄存器,用于存储该存储系统中DMA操作开始的存储单元的开始存储器地址;
目标地址单元,用于存储在该DMA操作中数据将被移到的该存储系统中的存储单元的目标地址;
计数寄存器,用于存储表示在该DMA操作中将被访问的存储单元的数量的计数值;以及
下一寄存器,用于存储代表该DMA操作完成的值或代表与链表相对应的存储器地址的值,该链表包括将被载入该地址寄存器、该计数寄存器和该下一寄存器的开始存储器地址、计数值和下一存储器地址。
35、一种在计算机系统中执行存储器操作的方法,该计算机系统具有处理器、连接到该处理器的系统控制器和具有通过存储器总线连接到该系统控制器的至少一个存储模块的系统存储器,该方法包括:
将直接存储器访问(DMA)信息写入该系统存储器中的一个单元,该直接存储器访问(DMA)信息代表用于在没有处理器介入的情况下、在该系统存储器中执行存储器操作的指令;
从所述处理器和系统控制器获得对所述存储器总线的控制;
访问所述系统存储器中写入了所述DMA信息的所述单元;并且
执行所述指令所代表的所述存储器操作。
36、如权利要求35所述的方法,还包括在所述存储器操作的执行过程中隔离所述系统存储器。
37、如权利要求35所述的方法,其中写入DMA信息包括:
写入该系统存储器中的存储单元的开始存储器地址,所述存储器操作在该开始存储器地址处开始;
写入所述系统存储器中的存储单元的目标地址,在所述存储器操作过程中数据将被移到该目标地址;
写入表示在所述存储操作中将要访问的存储单元的数量的计数值;并且
写入代表所述存储器操作完成或者代表与链表相对应的存储器地址的下一存储器地址值,所述链表包含开始存储器地址、计数值和下一存储器地址值。
38、如权利要求35所述的方法,其中所述系统存储器包括多个存储模块,并且其中执行所述存储器操作包括访问所述多个存储模块中的第一存储模块中的存储单元以从其读取数据,并且访问所述多个存储模块中的第二存储模块中的存储单元以写入所述数据。
39、一种在计算机系统中包括的系统存储器内传输数据的方法,该计算机系统具有处理器、连接到该处理器的系统控制器和将该系统控制器连接到该系统存储器的存储器总线,该方法包括:
将DMA指令写到所述系统存储器中的一个存储单元,该DMA指令代表用于执行存储器操作以传输数据的指令,所述数据包括与所述系统存储器中的第一和第二存储单元相对应的存储器地址;
获得对所述存储器总线的控制;以及
在处理器不介入的情况下,访问该系统存储器中写入了所述DMA指令的所述存储单元,从所述系统存储器中的所述第一存储单元读取数据,并且向所述系统存储器中的所述第二存储单元写入所述数据。
40、如权利要求39所述的方法,其中获得对所述存储器总线的控制包括在所述系统存储器内传输数据时,将所述系统存储器与所述处理器和系统控制器隔离开。
41、如权利要求39所述的方法,其中写入DMA指令包括:
写入所述系统存储器中的存储单元的开始存储器地址,数据传输在该开始存储器地址处开始;
写入所述系统存储器中的存储单元的目标地址,数据将被传输到该目标地址;
写入表示在传输所述数据的过程中将访问的存储单元的数量的计数值;以及
写入代表所述数据传输完成,或者代表与链表相对应的存储器地址的下一存储器地址值,所述链表包括开始存储器地址、计数值和下一存储器地址值。
42、如权利要求39所述的方法,其中所述系统存储器包括多个存储模块,并且其中从所述系统存储器中的所述第一存储单元读取数据包括访问所述多个存储模块中的第一模块中的存储单元以从其读取数据,而向所述系统存储器中的所述第二存储单元写入所述数据包括访问所述多个存储模块中的第二模块中的存储单元以写入所述数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/625,132 US7389364B2 (en) | 2003-07-22 | 2003-07-22 | Apparatus and method for direct memory access in a hub-based memory system |
US10/625,132 | 2003-07-22 | ||
PCT/US2004/021993 WO2005010670A2 (en) | 2003-07-22 | 2004-07-08 | Apparatus and method for direct memory access in a hub-based memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1965285A true CN1965285A (zh) | 2007-05-16 |
CN100595720C CN100595720C (zh) | 2010-03-24 |
Family
ID=34080141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200480027307A Expired - Fee Related CN100595720C (zh) | 2003-07-22 | 2004-07-08 | 用于基于集线器的存储系统中直接存储器访问的设备和方法 |
Country Status (10)
Country | Link |
---|---|
US (4) | US7389364B2 (zh) |
EP (2) | EP2256587A1 (zh) |
JP (1) | JP4560646B2 (zh) |
KR (1) | KR100887526B1 (zh) |
CN (1) | CN100595720C (zh) |
AT (1) | ATE479138T1 (zh) |
DE (1) | DE602004028831D1 (zh) |
SG (1) | SG129443A1 (zh) |
TW (1) | TW200517848A (zh) |
WO (1) | WO2005010670A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317750A (zh) * | 2014-10-23 | 2015-01-28 | 山西达鑫核科技有限公司 | 一种可自主堆叠连接的存储介质结构 |
CN107015923A (zh) * | 2015-09-30 | 2017-08-04 | 三星电子株式会社 | 用于管理探听操作的一致性互连和包括其的数据处理装置 |
CN110399321A (zh) * | 2018-04-25 | 2019-11-01 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
CN110781109A (zh) * | 2018-07-27 | 2020-02-11 | 安华高科技股份有限公司 | 用于提供可配置存储媒体接口的系统及方法 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6953392B2 (en) * | 2001-01-05 | 2005-10-11 | Asm Nutool, Inc. | Integrated system for processing semiconductor wafers |
US20040093439A1 (en) * | 2002-09-24 | 2004-05-13 | Rohm Co., Ltd | Data processing control apparatus and DMA controller |
GB2416056B (en) * | 2003-05-13 | 2006-08-23 | Advanced Micro Devices Inc | A system including a host connected to a plurality of memory modules via a serial memory interconnect |
US7428644B2 (en) * | 2003-06-20 | 2008-09-23 | Micron Technology, Inc. | System and method for selective memory module power management |
US7389364B2 (en) * | 2003-07-22 | 2008-06-17 | Micron Technology, Inc. | Apparatus and method for direct memory access in a hub-based memory system |
KR100500454B1 (ko) * | 2003-07-28 | 2005-07-12 | 삼성전자주식회사 | 메모리 모듈 테스트 시스템 및 메모리 모듈 평가 시스템 |
US7210059B2 (en) * | 2003-08-19 | 2007-04-24 | Micron Technology, Inc. | System and method for on-board diagnostics of memory modules |
US7133991B2 (en) * | 2003-08-20 | 2006-11-07 | Micron Technology, Inc. | Method and system for capturing and bypassing memory transactions in a hub-based memory system |
US7310752B2 (en) * | 2003-09-12 | 2007-12-18 | Micron Technology, Inc. | System and method for on-board timing margin testing of memory modules |
US7194593B2 (en) * | 2003-09-18 | 2007-03-20 | Micron Technology, Inc. | Memory hub with integrated non-volatile memory |
US7120743B2 (en) | 2003-10-20 | 2006-10-10 | Micron Technology, Inc. | Arbitration system and method for memory responses in a hub-based memory system |
US7216196B2 (en) * | 2003-12-29 | 2007-05-08 | Micron Technology, Inc. | Memory hub and method for memory system performance monitoring |
US7467238B2 (en) * | 2004-02-10 | 2008-12-16 | Hitachi, Ltd. | Disk controller and storage system |
JP4441286B2 (ja) * | 2004-02-10 | 2010-03-31 | 株式会社日立製作所 | ストレージシステム |
JP4405277B2 (ja) * | 2004-02-16 | 2010-01-27 | 株式会社日立製作所 | ディスク制御装置 |
US8177129B2 (en) * | 2004-02-17 | 2012-05-15 | Timothy D. Larin | Interactive multimedia smart affinity card with flash memory |
US7310748B2 (en) | 2004-06-04 | 2007-12-18 | Micron Technology, Inc. | Memory hub tester interface and method for use thereof |
US7739423B2 (en) * | 2004-11-30 | 2010-06-15 | Broadcom Corporation | Bulk transfer of information on network device |
JP4581815B2 (ja) * | 2005-04-26 | 2010-11-17 | セイコーエプソン株式会社 | 印刷制御装置及び印刷システム |
WO2006121443A2 (en) * | 2005-05-10 | 2006-11-16 | Telairity Semiconductor, Inc. | Direct memory access (dma) method and apparatus and dma for video processing |
US20060259657A1 (en) * | 2005-05-10 | 2006-11-16 | Telairity Semiconductor, Inc. | Direct memory access (DMA) method and apparatus and DMA for video processing |
US8341360B2 (en) | 2005-12-30 | 2012-12-25 | Intel Corporation | Method and apparatus for memory write performance optimization in architectures with out-of-order read/request-for-ownership response |
US7590473B2 (en) * | 2006-02-16 | 2009-09-15 | Intel Corporation | Thermal management using an on-die thermal sensor |
WO2008014413A2 (en) * | 2006-07-27 | 2008-01-31 | Rambus Inc. | Cross-threaded memory device and system |
US7769942B2 (en) | 2006-07-27 | 2010-08-03 | Rambus, Inc. | Cross-threaded memory system |
JP4389921B2 (ja) | 2006-10-25 | 2009-12-24 | セイコーエプソン株式会社 | データ転送回路及びそれを具備する半導体集積回路 |
US20080183959A1 (en) * | 2007-01-29 | 2008-07-31 | Pelley Perry H | Memory system having global buffered control for memory modules |
US8880970B2 (en) * | 2008-12-23 | 2014-11-04 | Conversant Intellectual Property Management Inc. | Error detection method and a system including one or more memory devices |
WO2010093538A1 (en) | 2009-02-11 | 2010-08-19 | Rambus Inc. | Shared access memory scheme |
US8996926B2 (en) * | 2012-10-15 | 2015-03-31 | Infineon Technologies Ag | DMA integrity checker |
US10095433B1 (en) | 2012-10-24 | 2018-10-09 | Western Digital Technologies, Inc. | Out-of-order data transfer mechanisms for data storage systems |
US10049061B2 (en) | 2012-11-12 | 2018-08-14 | International Business Machines Corporation | Active memory device gather, scatter, and filter |
US11074169B2 (en) | 2013-07-03 | 2021-07-27 | Micron Technology, Inc. | Programmed memory controlled data movement and timing within a main memory device |
US9141541B2 (en) | 2013-09-20 | 2015-09-22 | Advanced Micro Devices, Inc. | Nested channel address interleaving |
US9476938B2 (en) * | 2013-09-27 | 2016-10-25 | Novachips Canada Inc. | Method and apparatus for testing surface mounted devices |
EP3447770B1 (en) | 2013-11-11 | 2022-01-05 | Rambus Inc. | High capacity memory system using standard controller component |
US10783103B1 (en) * | 2017-02-24 | 2020-09-22 | Xilinx, Inc. | Split control for direct memory access transfers |
US10191871B2 (en) | 2017-06-20 | 2019-01-29 | Infineon Technologies Ag | Safe double buffering using DMA safe linked lists |
US11853179B1 (en) * | 2018-12-28 | 2023-12-26 | Teledyne Lecroy, Inc. | Detection of a DMA (direct memory access) memory address violation when testing PCIE devices |
FR3094507A1 (fr) | 2019-03-29 | 2020-10-02 | Stmicroelectronics (Grenoble 2) Sas | Accès direct en mémoire |
Family Cites Families (267)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4045781A (en) | 1976-02-13 | 1977-08-30 | Digital Equipment Corporation | Memory module with selectable byte addressing for digital data processing system |
US4245306A (en) | 1978-12-21 | 1981-01-13 | Burroughs Corporation | Selection of addressed processor in a multi-processor network |
US4253144A (en) | 1978-12-21 | 1981-02-24 | Burroughs Corporation | Multi-processor communication network |
US4253146A (en) | 1978-12-21 | 1981-02-24 | Burroughs Corporation | Module for coupling computer-processors |
US4240143A (en) | 1978-12-22 | 1980-12-16 | Burroughs Corporation | Hierarchical multi-processor network for memory sharing |
JPS55153024A (en) * | 1979-05-15 | 1980-11-28 | Toshiba Corp | Bus control system |
US4442504A (en) * | 1981-03-09 | 1984-04-10 | Allen-Bradley Company | Modular programmable controller |
US4641249A (en) | 1983-06-22 | 1987-02-03 | Kuraray Co., Ltd. | Method and device for compensating temperature-dependent characteristic changes in ion-sensitive FET transducer |
US4608702A (en) | 1984-12-21 | 1986-08-26 | Advanced Micro Devices, Inc. | Method for digital clock recovery from Manchester-encoded signals |
US4724520A (en) | 1985-07-01 | 1988-02-09 | United Technologies Corporation | Modular multiport data hub |
US4707823A (en) | 1986-07-21 | 1987-11-17 | Chrysler Motors Corporation | Fiber optic multiplexed data acquisition system |
US4989113A (en) | 1987-03-13 | 1991-01-29 | Texas Instruments Incorporated | Data processing device having direct memory access with improved transfer control |
JPH07117863B2 (ja) | 1987-06-26 | 1995-12-18 | 株式会社日立製作所 | オンラインシステムの再立上げ方式 |
US4891808A (en) | 1987-12-24 | 1990-01-02 | Coherent Communication Systems Corp. | Self-synchronizing multiplexer |
US5251303A (en) | 1989-01-13 | 1993-10-05 | International Business Machines Corporation | System for DMA block data transfer based on linked control blocks |
US5442770A (en) | 1989-01-24 | 1995-08-15 | Nec Electronics, Inc. | Triple port cache memory |
US4953930A (en) | 1989-03-15 | 1990-09-04 | Ramtech, Inc. | CPU socket supporting socket-to-socket optical communications |
JPH03156795A (ja) | 1989-11-15 | 1991-07-04 | Toshiba Micro Electron Kk | 半導体メモリ回路装置 |
US5327553A (en) | 1989-12-22 | 1994-07-05 | Tandem Computers Incorporated | Fault-tolerant computer system with /CONFIG filesystem |
US5317752A (en) | 1989-12-22 | 1994-05-31 | Tandem Computers Incorporated | Fault-tolerant computer system with auto-restart after power-fall |
JP2772103B2 (ja) | 1990-03-28 | 1998-07-02 | 株式会社東芝 | 計算機システム立上げ方式 |
IL96808A (en) | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US5243703A (en) | 1990-04-18 | 1993-09-07 | Rambus, Inc. | Apparatus for synchronously generating clock signals in a data processing system |
EP0470030A3 (en) | 1990-08-02 | 1993-04-21 | International Business Machines Corporation | Fast memory power-on diagnostics using direct memory addressing |
US5663901A (en) | 1991-04-11 | 1997-09-02 | Sandisk Corporation | Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems |
US5546591A (en) | 1991-12-20 | 1996-08-13 | Vlsi Technology, Inc. | Distributed power management system for battery operated personal computers |
US5461627A (en) | 1991-12-24 | 1995-10-24 | Rypinski; Chandos A. | Access protocol for a common channel wireless network |
JP2554816B2 (ja) | 1992-02-20 | 1996-11-20 | 株式会社東芝 | 半導体記憶装置 |
GB2264794B (en) | 1992-03-06 | 1995-09-20 | Intel Corp | Method and apparatus for automatic power management in a high integration floppy disk controller |
US5355391A (en) | 1992-03-06 | 1994-10-11 | Rambus, Inc. | High speed bus system |
DE4390991T1 (de) | 1992-03-06 | 1995-02-23 | Rambus Inc | Verfahren und Schaltungsanordnung zum Minimieren der Takt-Daten-Schieflage in einem Bussystem |
JPH07505491A (ja) | 1992-03-25 | 1995-06-15 | サン マイクロシステムズ インコーポレイテッド | 光ファイバメモリ接続システム |
US5432907A (en) | 1992-05-12 | 1995-07-11 | Network Resources Corporation | Network hub with integrated bridge |
US5270964A (en) | 1992-05-19 | 1993-12-14 | Sun Microsystems, Inc. | Single in-line memory module |
US5828907A (en) | 1992-06-30 | 1998-10-27 | Discovision Associates | Token-based adaptive video processing arrangement |
GB2270780A (en) | 1992-09-21 | 1994-03-23 | Ibm | Scatter-gather in data processing systems. |
FR2697663B1 (fr) | 1992-10-30 | 1995-01-13 | Hewett Packard Cy | Circuit de test de mémoire. |
US5638717A (en) * | 1993-03-12 | 1997-06-17 | Stodd; Ralph P. | Tooling apparatus for high speed production of drawn metal cup-like articles |
JPH0713945A (ja) | 1993-06-16 | 1995-01-17 | Nippon Sheet Glass Co Ltd | 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造 |
US5497494A (en) | 1993-07-23 | 1996-03-05 | International Business Machines Corporation | Method for saving and restoring the state of a CPU executing code in protected mode |
US5729709A (en) | 1993-11-12 | 1998-03-17 | Intel Corporation | Memory controller with burst addressing circuit |
US5502621A (en) | 1994-03-31 | 1996-03-26 | Hewlett-Packard Company | Mirrored pin assignment for two sided multi-chip layout |
US5566325A (en) | 1994-06-30 | 1996-10-15 | Digital Equipment Corporation | Method and apparatus for adaptive memory access |
US6175571B1 (en) | 1994-07-22 | 2001-01-16 | Network Peripherals, Inc. | Distributed memory switching hub |
US5978567A (en) | 1994-07-27 | 1999-11-02 | Instant Video Technologies Inc. | System for distribution of interactive multimedia and linear programs by enabling program webs which include control scripts to define presentation by client transceiver |
US5553070A (en) | 1994-09-13 | 1996-09-03 | Riley; Robert E. | Data link module for time division multiplexing control systems |
JPH08123717A (ja) * | 1994-10-25 | 1996-05-17 | Oki Electric Ind Co Ltd | 半導体記憶装置 |
US6725349B2 (en) * | 1994-12-23 | 2004-04-20 | Intel Corporation | Method and apparatus for controlling of a memory subsystem installed with standard page mode memory and an extended data out memory |
US6804760B2 (en) | 1994-12-23 | 2004-10-12 | Micron Technology, Inc. | Method for determining a type of memory present in a system |
US5715456A (en) | 1995-02-13 | 1998-02-03 | International Business Machines Corporation | Method and apparatus for booting a computer system without pre-installing an operating system |
US5644784A (en) | 1995-03-03 | 1997-07-01 | Intel Corporation | Linear list based DMA control structure |
US5638534A (en) | 1995-03-31 | 1997-06-10 | Samsung Electronics Co., Ltd. | Memory controller which executes read and write commands out of order |
US5875352A (en) | 1995-11-03 | 1999-02-23 | Sun Microsystems, Inc. | Method and apparatus for multiple channel direct memory access control |
US5796413A (en) | 1995-12-06 | 1998-08-18 | Compaq Computer Corporation | Graphics controller utilizing video memory to provide macro command capability and enhanched command buffering |
US5834956A (en) | 1995-12-29 | 1998-11-10 | Intel Corporation | Core clock correction in a 2/N mode clocking scheme |
US5966724A (en) | 1996-01-11 | 1999-10-12 | Micron Technology, Inc. | Synchronous memory device with dual page and burst mode operations |
US7681005B1 (en) | 1996-01-11 | 2010-03-16 | Micron Technology, Inc. | Asynchronously-accessible memory device with mode selection circuitry for burst or pipelined operation |
JPH09198398A (ja) | 1996-01-16 | 1997-07-31 | Fujitsu Ltd | パターン検索装置 |
US5710733A (en) | 1996-01-22 | 1998-01-20 | Silicon Graphics, Inc. | Processor-inclusive memory module |
US5832250A (en) | 1996-01-26 | 1998-11-03 | Unisys Corporation | Multi set cache structure having parity RAMs holding parity bits for tag data and for status data utilizing prediction circuitry that predicts and generates the needed parity bits |
US5819304A (en) | 1996-01-29 | 1998-10-06 | Iowa State University Research Foundation, Inc. | Random access memory assembly |
US5659798A (en) | 1996-02-02 | 1997-08-19 | Blumrich; Matthias Augustin | Method and system for initiating and loading DMA controller registers by using user-level programs |
US5687325A (en) * | 1996-04-19 | 1997-11-11 | Chang; Web | Application specific field programmable gate array |
US5818844A (en) | 1996-06-06 | 1998-10-06 | Advanced Micro Devices, Inc. | Address generation and data path arbitration to and from SRAM to accommodate multiple transmitted packets |
US5881072A (en) | 1996-06-28 | 1999-03-09 | International Business Machines Corporation | Method of detecting error correction devices on plug-compatible memory modules |
US5875454A (en) | 1996-07-24 | 1999-02-23 | International Business Machiness Corporation | Compressed data cache storage system |
JPH1049511A (ja) | 1996-08-02 | 1998-02-20 | Oki Electric Ind Co Ltd | 1チップマイクロコンピュータ |
JP4070255B2 (ja) | 1996-08-13 | 2008-04-02 | 富士通株式会社 | 半導体集積回路 |
TW304288B (en) | 1996-08-16 | 1997-05-01 | United Microelectronics Corp | Manufacturing method of semiconductor memory device with capacitor |
US5706224A (en) | 1996-10-10 | 1998-01-06 | Quality Semiconductor, Inc. | Content addressable memory and random access memory partition circuit |
US5893089A (en) | 1996-11-15 | 1999-04-06 | Lextron Systems, Inc. | Memory with integrated search engine |
US6167486A (en) | 1996-11-18 | 2000-12-26 | Nec Electronics, Inc. | Parallel access virtual channel memory system with cacheable channels |
US5887159A (en) | 1996-12-11 | 1999-03-23 | Digital Equipment Corporation | Dynamically determining instruction hint fields |
EP0849685A3 (en) | 1996-12-19 | 2000-09-06 | Texas Instruments Incorporated | Communication bus system between processors and memory modules |
CA2194026C (en) * | 1996-12-24 | 2001-05-01 | John V. Taglione | Method and apparatus for moving data packets between networks while minimizing cpu interventions using a multi-bus architecture |
US6308248B1 (en) | 1996-12-31 | 2001-10-23 | Compaq Computer Corporation | Method and system for allocating memory space using mapping controller, page table and frame numbers |
DE19709604A1 (de) * | 1997-03-08 | 1998-09-10 | Claas Usines France | Verfahren und Vorrichtung zur Feineinstellung von Bewegungsabläufen an Großballenpressen |
US6031241A (en) | 1997-03-11 | 2000-02-29 | University Of Central Florida | Capillary discharge extreme ultraviolet lamp source for EUV microlithography and other related applications |
US6271582B1 (en) | 1997-04-07 | 2001-08-07 | Micron Technology, Inc. | Interdigitated leads-over-chip lead frame, device, and method for supporting an integrated circuit die |
US5946712A (en) | 1997-06-04 | 1999-08-31 | Oak Technology, Inc. | Apparatus and method for reading data from synchronous memory |
WO1998057489A2 (en) | 1997-06-09 | 1998-12-17 | Metalithic Systems, Inc. | Modular system for accelerating data searches and data stream operations |
US6092158A (en) | 1997-06-13 | 2000-07-18 | Intel Corporation | Method and apparatus for arbitrating between command streams |
US6073190A (en) | 1997-07-18 | 2000-06-06 | Micron Electronics, Inc. | System for dynamic buffer allocation comprising control logic for controlling a first address buffer and a first data buffer as a matched pair |
US6243769B1 (en) * | 1997-07-18 | 2001-06-05 | Micron Technology, Inc. | Dynamic buffer allocation for a computer system |
US6760833B1 (en) | 1997-08-01 | 2004-07-06 | Micron Technology, Inc. | Split embedded DRAM processor |
US6105075A (en) | 1997-08-05 | 2000-08-15 | Adaptec, Inc. | Scatter gather memory system for a hardware accelerated command interpreter engine |
JP4014708B2 (ja) | 1997-08-21 | 2007-11-28 | 株式会社ルネサステクノロジ | 半導体集積回路装置の設計方法 |
US6128703A (en) | 1997-09-05 | 2000-10-03 | Integrated Device Technology, Inc. | Method and apparatus for memory prefetch operation of volatile non-coherent data |
US5944800A (en) | 1997-09-12 | 1999-08-31 | Infineon Technologies Corporation | Direct memory access unit having a definable plurality of transfer channels |
US6249802B1 (en) * | 1997-09-19 | 2001-06-19 | Silicon Graphics, Inc. | Method, system, and computer program product for allocating physical memory in a distributed shared memory network |
US6185676B1 (en) | 1997-09-30 | 2001-02-06 | Intel Corporation | Method and apparatus for performing early branch prediction in a microprocessor |
US6223301B1 (en) | 1997-09-30 | 2001-04-24 | Compaq Computer Corporation | Fault tolerant memory |
JPH11120120A (ja) | 1997-10-13 | 1999-04-30 | Fujitsu Ltd | カードバス用インターフェース回路及びそれを有するカードバス用pcカード |
US5889714A (en) | 1997-11-03 | 1999-03-30 | Digital Equipment Corporation | Adaptive precharge management for synchronous DRAM |
US5987196A (en) | 1997-11-06 | 1999-11-16 | Micron Technology, Inc. | Semiconductor structure having an optical signal path in a substrate and method for forming the same |
US6226710B1 (en) | 1997-11-14 | 2001-05-01 | Utmc Microelectronic Systems Inc. | Content addressable memory (CAM) engine |
US7007130B1 (en) * | 1998-02-13 | 2006-02-28 | Intel Corporation | Memory system including a memory module having a memory module controller interfacing between a system memory controller and memory devices of the memory module |
US6098158A (en) | 1997-12-18 | 2000-08-01 | International Business Machines Corporation | Software-enabled fast boot |
US6157398A (en) | 1997-12-30 | 2000-12-05 | Micron Technology, Inc. | Method of implementing an accelerated graphics port for a multiple memory controller computer system |
US6023726A (en) | 1998-01-20 | 2000-02-08 | Netscape Communications Corporation | User configurable prefetch control system for enabling client to prefetch documents from a network server |
GB2333896B (en) * | 1998-01-31 | 2003-04-09 | Mitel Semiconductor Ab | Vertical cavity surface emitting laser |
US7024518B2 (en) | 1998-02-13 | 2006-04-04 | Intel Corporation | Dual-port buffer-to-memory interface |
US6970968B1 (en) | 1998-02-13 | 2005-11-29 | Intel Corporation | Memory module controller for providing an interface between a system memory controller and a plurality of memory devices on a memory module |
US6186400B1 (en) | 1998-03-20 | 2001-02-13 | Symbol Technologies, Inc. | Bar code reader with an integrated scanning component module mountable on printed circuit board |
US6023738A (en) | 1998-03-30 | 2000-02-08 | Nvidia Corporation | Method and apparatus for accelerating the transfer of graphical images |
US6079008A (en) | 1998-04-03 | 2000-06-20 | Patton Electronics Co. | Multiple thread multiple data predictive coded parallel processing system and method |
US6247107B1 (en) | 1998-04-06 | 2001-06-12 | Advanced Micro Devices, Inc. | Chipset configured to perform data-directed prefetching |
JPH11316617A (ja) | 1998-05-01 | 1999-11-16 | Mitsubishi Electric Corp | 半導体回路装置 |
KR100283243B1 (ko) | 1998-05-11 | 2001-03-02 | 구자홍 | 운영체제의 부팅방법 |
US6118719A (en) | 1998-05-20 | 2000-09-12 | International Business Machines Corporation | Self-initiated self-refresh mode for memory modules |
US6167465A (en) | 1998-05-20 | 2000-12-26 | Aureal Semiconductor, Inc. | System for managing multiple DMA connections between a peripheral device and a memory and performing real-time operations on data carried by a selected DMA connection |
TW434756B (en) | 1998-06-01 | 2001-05-16 | Hitachi Ltd | Semiconductor device and its manufacturing method |
US6405280B1 (en) | 1998-06-05 | 2002-06-11 | Micron Technology, Inc. | Packet-oriented synchronous DRAM interface supporting a plurality of orderings for data block transfers within a burst sequence |
US6134624A (en) | 1998-06-08 | 2000-10-17 | Storage Technology Corporation | High bandwidth cache system |
US6301637B1 (en) | 1998-06-08 | 2001-10-09 | Storage Technology Corporation | High performance data paths |
US6453377B1 (en) * | 1998-06-16 | 2002-09-17 | Micron Technology, Inc. | Computer including optical interconnect, memory unit, and method of assembling a computer |
JP2000011640A (ja) | 1998-06-23 | 2000-01-14 | Nec Corp | 半導体記憶装置 |
FR2780535B1 (fr) * | 1998-06-25 | 2000-08-25 | Inst Nat Rech Inf Automat | Dispositif de traitement de donnees d'acquisition, notamment de donnees d'image |
JP3178423B2 (ja) | 1998-07-03 | 2001-06-18 | 日本電気株式会社 | バーチャルチャネルsdram |
US6792500B1 (en) * | 1998-07-08 | 2004-09-14 | Broadcom Corporation | Apparatus and method for managing memory defects |
US6286083B1 (en) | 1998-07-08 | 2001-09-04 | Compaq Computer Corporation | Computer system with adaptive memory arbitration scheme |
JP3248617B2 (ja) * | 1998-07-14 | 2002-01-21 | 日本電気株式会社 | 半導体記憶装置 |
US6272609B1 (en) | 1998-07-31 | 2001-08-07 | Micron Electronics, Inc. | Pipelined memory controller |
US6199121B1 (en) * | 1998-08-07 | 2001-03-06 | Oak Technology, Inc. | High speed dynamic chaining of DMA operations without suspending a DMA controller or incurring race conditions |
US6061296A (en) | 1998-08-17 | 2000-05-09 | Vanguard International Semiconductor Corporation | Multiple data clock activation with programmable delay for use in multiple CAS latency memory devices |
US6219725B1 (en) * | 1998-08-28 | 2001-04-17 | Hewlett-Packard Company | Method and apparatus for performing direct memory access transfers involving non-sequentially-addressable memory locations |
US6202106B1 (en) * | 1998-09-09 | 2001-03-13 | Xilinx, Inc. | Method for providing specific knowledge of a structure of parameter blocks to an intelligent direct memory access controller |
US6029250A (en) | 1998-09-09 | 2000-02-22 | Micron Technology, Inc. | Method and apparatus for adaptively adjusting the timing offset between a clock signal and digital signals transmitted coincident with that clock signal, and memory device and system using same |
US6587912B2 (en) | 1998-09-30 | 2003-07-01 | Intel Corporation | Method and apparatus for implementing multiple memory buses on a memory module |
US6910109B2 (en) | 1998-09-30 | 2005-06-21 | Intel Corporation | Tracking memory page state |
US6243831B1 (en) | 1998-10-31 | 2001-06-05 | Compaq Computer Corporation | Computer system with power loss protection mechanism |
JP3248500B2 (ja) | 1998-11-12 | 2002-01-21 | 日本電気株式会社 | 半導体記憶装置およびそのデータ読み出し方法 |
US6434639B1 (en) | 1998-11-13 | 2002-08-13 | Intel Corporation | System for combining requests associated with one or more memory locations that are collectively associated with a single cache line to furnish a single memory operation |
US6438622B1 (en) | 1998-11-17 | 2002-08-20 | Intel Corporation | Multiprocessor system including a docking system |
US6430696B1 (en) | 1998-11-30 | 2002-08-06 | Micron Technology, Inc. | Method and apparatus for high speed data capture utilizing bit-to-bit timing correction, and memory device using same |
US6463059B1 (en) | 1998-12-04 | 2002-10-08 | Koninklijke Philips Electronics N.V. | Direct memory access execution engine with indirect addressing of circular queues in addition to direct memory addressing |
US6349363B2 (en) | 1998-12-08 | 2002-02-19 | Intel Corporation | Multi-section cache with different attributes for each section |
US6374360B1 (en) | 1998-12-11 | 2002-04-16 | Micron Technology, Inc. | Method and apparatus for bit-to-bit timing correction of a high speed memory bus |
US6067262A (en) | 1998-12-11 | 2000-05-23 | Lsi Logic Corporation | Redundancy analysis for embedded memories with built-in self test and built-in self repair |
US6191663B1 (en) | 1998-12-22 | 2001-02-20 | Intel Corporation | Echo reduction on bit-serial, multi-drop bus |
US6367074B1 (en) * | 1998-12-28 | 2002-04-02 | Intel Corporation | Operation of a system |
US6598154B1 (en) | 1998-12-29 | 2003-07-22 | Intel Corporation | Precoding branch instructions to reduce branch-penalty in pipelined processors |
US6061263A (en) | 1998-12-29 | 2000-05-09 | Intel Corporation | Small outline rambus in-line memory module |
EP1703520B1 (en) | 1999-02-01 | 2011-07-27 | Renesas Electronics Corporation | Semiconductor integrated circuit and nonvolatile memory element |
US6285349B1 (en) | 1999-02-26 | 2001-09-04 | Intel Corporation | Correcting non-uniformity in displays |
US6564329B1 (en) * | 1999-03-16 | 2003-05-13 | Linkup Systems Corporation | System and method for dynamic clock generation |
JP4573940B2 (ja) * | 1999-03-19 | 2010-11-04 | パナソニック株式会社 | クロスバススイッチ装置 |
US6389514B1 (en) * | 1999-03-25 | 2002-05-14 | Hewlett-Packard Company | Method and computer system for speculatively closing pages in memory |
US6496909B1 (en) | 1999-04-06 | 2002-12-17 | Silicon Graphics, Inc. | Method for managing concurrent access to virtual memory data structures |
US6433785B1 (en) | 1999-04-09 | 2002-08-13 | Intel Corporation | Method and apparatus for improving processor to graphics device throughput |
US6434635B1 (en) | 1999-04-29 | 2002-08-13 | Unisys Corporation | Methods, apparatus, and computer program product for data transfer using a scatter-gather list |
US6401149B1 (en) | 1999-05-05 | 2002-06-04 | Qlogic Corporation | Methods for context switching within a disk controller |
US6381190B1 (en) * | 1999-05-13 | 2002-04-30 | Nec Corporation | Semiconductor memory device in which use of cache can be selected |
US6233376B1 (en) * | 1999-05-18 | 2001-05-15 | The United States Of America As Represented By The Secretary Of The Navy | Embedded fiber optic circuit boards and integrated circuits |
US6294937B1 (en) | 1999-05-25 | 2001-09-25 | Lsi Logic Corporation | Method and apparatus for self correcting parallel I/O circuitry |
US6449308B1 (en) | 1999-05-25 | 2002-09-10 | Intel Corporation | High-speed digital distribution system |
JP3721283B2 (ja) | 1999-06-03 | 2005-11-30 | 株式会社日立製作所 | 主記憶共有型マルチプロセッサシステム |
JP2001014840A (ja) * | 1999-06-24 | 2001-01-19 | Nec Corp | 複数ラインバッファ型メモリlsi |
US6434736B1 (en) | 1999-07-08 | 2002-08-13 | Intel Corporation | Location based timing scheme in memory design |
US6401213B1 (en) | 1999-07-09 | 2002-06-04 | Micron Technology, Inc. | Timing circuit for high speed memory |
US6460114B1 (en) | 1999-07-29 | 2002-10-01 | Micron Technology, Inc. | Storing a flushed cache line in a memory buffer of a controller |
US6477592B1 (en) * | 1999-08-06 | 2002-11-05 | Integrated Memory Logic, Inc. | System for I/O interfacing for semiconductor chip utilizing addition of reference element to each data element in first data stream and interpret to recover data elements of second data stream |
US6629220B1 (en) | 1999-08-20 | 2003-09-30 | Intel Corporation | Method and apparatus for dynamic arbitration between a first queue and a second queue based on a high priority transaction type |
US6493803B1 (en) * | 1999-08-23 | 2002-12-10 | Advanced Micro Devices, Inc. | Direct memory access controller with channel width configurability support |
US6539490B1 (en) * | 1999-08-30 | 2003-03-25 | Micron Technology, Inc. | Clock distribution without clock delay or skew |
US6552564B1 (en) * | 1999-08-30 | 2003-04-22 | Micron Technology, Inc. | Technique to reduce reflections and ringing on CMOS interconnections |
US6307769B1 (en) | 1999-09-02 | 2001-10-23 | Micron Technology, Inc. | Semiconductor devices having mirrored terminal arrangements, devices including same, and methods of testing such semiconductor devices |
US6594713B1 (en) | 1999-09-10 | 2003-07-15 | Texas Instruments Incorporated | Hub interface unit and application unit interfaces for expanded direct memory access processor |
US6438668B1 (en) | 1999-09-30 | 2002-08-20 | Apple Computer, Inc. | Method and apparatus for reducing power consumption in a digital processing system |
US6275914B1 (en) * | 1999-10-15 | 2001-08-14 | Micron Technology, Inc | Apparatus for preserving memory request ordering across multiple memory controllers |
US6782465B1 (en) * | 1999-10-20 | 2004-08-24 | Infineon Technologies North America Corporation | Linked list DMA descriptor architecture |
US6421744B1 (en) | 1999-10-25 | 2002-07-16 | Motorola, Inc. | Direct memory access controller and method therefor |
KR100319292B1 (ko) | 1999-12-02 | 2002-01-05 | 윤종용 | 빠른 부팅 속도를 갖는 컴퓨터 시스템 및 그 방법 |
US6501471B1 (en) | 1999-12-13 | 2002-12-31 | Intel Corporation | Volume rendering |
JP3546788B2 (ja) * | 1999-12-20 | 2004-07-28 | 日本電気株式会社 | メモリ制御回路 |
JP3356747B2 (ja) | 1999-12-22 | 2002-12-16 | エヌイーシーマイクロシステム株式会社 | 半導体記憶装置 |
US20020003049A1 (en) * | 1999-12-29 | 2002-01-10 | Sanjay Dabral | Inline and "Y" input-output bus topology |
US6496193B1 (en) | 1999-12-30 | 2002-12-17 | Intel Corporation | Method and apparatus for fast loading of texture data into a tiled memory |
US6628294B1 (en) | 1999-12-31 | 2003-09-30 | Intel Corporation | Prefetching of virtual-to-physical address translation for display data |
KR100343383B1 (ko) * | 2000-01-05 | 2002-07-15 | 윤종용 | 반도체 메모리 장치 및 이 장치의 데이터 샘플링 방법 |
US6745275B2 (en) | 2000-01-25 | 2004-06-01 | Via Technologies, Inc. | Feedback system for accomodating different memory module loading |
US6823023B1 (en) | 2000-01-31 | 2004-11-23 | Intel Corporation | Serial bus communication system |
US6185352B1 (en) | 2000-02-24 | 2001-02-06 | Siecor Operations, Llc | Optical fiber ribbon fan-out cables |
JP3422308B2 (ja) * | 2000-03-02 | 2003-06-30 | 日本電気株式会社 | データ処理装置 |
JP2001265539A (ja) | 2000-03-16 | 2001-09-28 | Fuji Xerox Co Ltd | アレイ型記憶装置及び情報処理システム |
JP2001274323A (ja) | 2000-03-24 | 2001-10-05 | Hitachi Ltd | 半導体装置とそれを搭載した半導体モジュール、および半導体装置の製造方法 |
US6370611B1 (en) * | 2000-04-04 | 2002-04-09 | Compaq Computer Corporation | Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data |
US6728800B1 (en) * | 2000-06-28 | 2004-04-27 | Intel Corporation | Efficient performance based scheduling mechanism for handling multiple TLB operations |
US6594722B1 (en) | 2000-06-29 | 2003-07-15 | Intel Corporation | Mechanism for managing multiple out-of-order packet streams in a PCI host bridge |
JP2002014875A (ja) | 2000-06-30 | 2002-01-18 | Mitsubishi Electric Corp | 半導体集積回路、半導体集積回路のメモリリペア方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6799268B1 (en) | 2000-06-30 | 2004-09-28 | Intel Corporation | Branch ordering buffer |
US6754812B1 (en) | 2000-07-06 | 2004-06-22 | Intel Corporation | Hardware predication for conditional instruction path branching |
US6816947B1 (en) | 2000-07-20 | 2004-11-09 | Silicon Graphics, Inc. | System and method for memory arbitration |
US6845409B1 (en) * | 2000-07-25 | 2005-01-18 | Sun Microsystems, Inc. | Data exchange methods for a switch which selectively forms a communication channel between a processing unit and multiple devices |
US6647470B1 (en) | 2000-08-21 | 2003-11-11 | Micron Technology, Inc. | Memory device having posted write per command |
US6785780B1 (en) | 2000-08-31 | 2004-08-31 | Micron Technology, Inc. | Distributed processor memory module and method |
US6453393B1 (en) | 2000-09-18 | 2002-09-17 | Intel Corporation | Method and apparatus for interfacing to a computer memory |
US6526483B1 (en) * | 2000-09-20 | 2003-02-25 | Broadcom Corporation | Page open hint in transactions |
US7228441B2 (en) | 2000-09-27 | 2007-06-05 | Huron Ip Llc | Multi-server and multi-CPU power management system and method |
US6523092B1 (en) * | 2000-09-29 | 2003-02-18 | Intel Corporation | Cache line replacement policy enhancement to avoid memory page thrashing |
US6523093B1 (en) * | 2000-09-29 | 2003-02-18 | Intel Corporation | Prefetch buffer allocation and filtering system |
US6859208B1 (en) | 2000-09-29 | 2005-02-22 | Intel Corporation | Shared translation address caching |
US6658509B1 (en) | 2000-10-03 | 2003-12-02 | Intel Corporation | Multi-tier point-to-point ring memory interface |
US6792059B2 (en) | 2000-11-30 | 2004-09-14 | Trw Inc. | Early/on-time/late gate bit synchronizer |
US6631440B2 (en) | 2000-11-30 | 2003-10-07 | Hewlett-Packard Development Company | Method and apparatus for scheduling memory calibrations based on transactions |
US6807630B2 (en) | 2000-12-15 | 2004-10-19 | International Business Machines Corporation | Method for fast reinitialization wherein a saved system image of an operating system is transferred into a primary memory from a secondary memory |
US6801994B2 (en) | 2000-12-20 | 2004-10-05 | Microsoft Corporation | Software management systems and methods for automotive computing devices |
US6751703B2 (en) | 2000-12-27 | 2004-06-15 | Emc Corporation | Data storage systems and methods which utilize an on-board cache |
US6622227B2 (en) | 2000-12-27 | 2003-09-16 | Intel Corporation | Method and apparatus for utilizing write buffers in memory control/interface |
JP3485092B2 (ja) * | 2001-01-19 | 2004-01-13 | セイコーエプソン株式会社 | 半導体装置およびその製造方法 |
US6889304B2 (en) * | 2001-02-28 | 2005-05-03 | Rambus Inc. | Memory device supporting a dynamically configurable core organization |
DE10110469A1 (de) | 2001-03-05 | 2002-09-26 | Infineon Technologies Ag | Integrierter Speicher und Verfahren zum Testen und Reparieren desselben |
US20020144027A1 (en) | 2001-03-27 | 2002-10-03 | Schmisseur Mark A. | Multi-use data access descriptor |
US6904499B2 (en) | 2001-03-30 | 2005-06-07 | Intel Corporation | Controlling cache memory in external chipset using processor |
US6670959B2 (en) * | 2001-05-18 | 2003-12-30 | Sun Microsystems, Inc. | Method and apparatus for reducing inefficiencies in shared memory devices |
DE60236866D1 (de) | 2001-05-24 | 2010-08-12 | Tecey Software Dev Kg Llc | Optische busanordnung für ein computersystem |
SE524110C2 (sv) * | 2001-06-06 | 2004-06-29 | Kvaser Consultant Ab | Anordning och förfarande vid system med lokalt utplacerade modulenheter samt kontaktenhet för anslutning av sådan modulenhet |
US6697926B2 (en) * | 2001-06-06 | 2004-02-24 | Micron Technology, Inc. | Method and apparatus for determining actual write latency and accurately aligning the start of data capture with the arrival of data at a memory device |
US6920533B2 (en) * | 2001-06-27 | 2005-07-19 | Intel Corporation | System boot time reduction method |
US6721195B2 (en) * | 2001-07-12 | 2004-04-13 | Micron Technology, Inc. | Reversed memory module socket and motherboard incorporating same |
US7036004B2 (en) * | 2001-07-25 | 2006-04-25 | Micron Technology, Inc. | Power up initialization for memory |
US6792496B2 (en) | 2001-08-02 | 2004-09-14 | Intel Corporation | Prefetching data for peripheral component interconnect devices |
US6681292B2 (en) * | 2001-08-27 | 2004-01-20 | Intel Corporation | Distributed read and write caching implementation for optimized input/output applications |
DE60228268D1 (de) * | 2001-08-29 | 2008-09-25 | Mediatek Inc | G einer versorgungsspannung |
US7941056B2 (en) * | 2001-08-30 | 2011-05-10 | Micron Technology, Inc. | Optical interconnect in high-speed memory systems |
US6665202B2 (en) | 2001-09-25 | 2003-12-16 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices that can identify highest priority matches in non-sectored CAM arrays and methods of operating same |
US6718440B2 (en) * | 2001-09-28 | 2004-04-06 | Intel Corporation | Memory access latency hiding with hint buffer |
US7062591B2 (en) * | 2001-09-28 | 2006-06-13 | Dot Hill Systems Corp. | Controller data sharing using a modular DMA architecture |
US6859856B2 (en) * | 2001-10-23 | 2005-02-22 | Flex P Industries Sdn. Bhd | Method and system for a compact flash memory controller |
DE10153657C2 (de) * | 2001-10-31 | 2003-11-06 | Infineon Technologies Ag | Anordnung zur Datenübertragung in einem Halbleiterspeichersystem und Datenübertragungsverfahren dafür |
US6886048B2 (en) * | 2001-11-15 | 2005-04-26 | Hewlett-Packard Development Company, L.P. | Techniques for processing out-of-order requests in a processor-based system |
US7227870B2 (en) * | 2001-11-20 | 2007-06-05 | Broadcom Corporation | Systems including packet interfaces, switches, and packet DMA circuits for splitting and merging packet streams |
US6646929B1 (en) | 2001-12-05 | 2003-11-11 | Lsi Logic Corporation | Methods and structure for read data synchronization with minimal latency |
KR100454123B1 (ko) | 2001-12-06 | 2004-10-26 | 삼성전자주식회사 | 반도체 집적 회로 장치 및 그것을 구비한 모듈 |
US6775747B2 (en) | 2002-01-03 | 2004-08-10 | Intel Corporation | System and method for performing page table walks on speculative software prefetch operations |
US6766385B2 (en) | 2002-01-07 | 2004-07-20 | Intel Corporation | Device and method for maximizing performance on a memory interface with a variable number of channels |
US6804764B2 (en) | 2002-01-22 | 2004-10-12 | Mircron Technology, Inc. | Write clock and data window tuning based on rank select |
JP2003256265A (ja) | 2002-02-18 | 2003-09-10 | Internatl Business Mach Corp <Ibm> | 検索メモリ、メモリ検索用コントローラ、メモリ検索方法 |
US20040022094A1 (en) * | 2002-02-25 | 2004-02-05 | Sivakumar Radhakrishnan | Cache usage for concurrent multiple streams |
US6795899B2 (en) | 2002-03-22 | 2004-09-21 | Intel Corporation | Memory system with burst length shorter than prefetch length |
US6735682B2 (en) * | 2002-03-28 | 2004-05-11 | Intel Corporation | Apparatus and method for address calculation |
US7110400B2 (en) | 2002-04-10 | 2006-09-19 | Integrated Device Technology, Inc. | Random access memory architecture and serial interface with continuous packet handling capability |
US20030217223A1 (en) | 2002-05-14 | 2003-11-20 | Infineon Technologies North America Corp. | Combined command set |
US7133972B2 (en) | 2002-06-07 | 2006-11-07 | Micron Technology, Inc. | Memory hub with internal cache and/or memory access prediction |
US6731548B2 (en) | 2002-06-07 | 2004-05-04 | Micron Technology, Inc. | Reduced power registered memory module and method |
US6898674B2 (en) | 2002-06-11 | 2005-05-24 | Intel Corporation | Apparatus, method, and system for synchronizing information prefetch between processors and memory controllers |
EP1383052B1 (en) * | 2002-07-15 | 2006-03-29 | Infineon Technologies AG | Memory system |
US7200024B2 (en) * | 2002-08-02 | 2007-04-03 | Micron Technology, Inc. | System and method for optically interconnecting memory devices |
US6820181B2 (en) | 2002-08-29 | 2004-11-16 | Micron Technology, Inc. | Method and system for controlling memory accesses to memory modules having a memory hub architecture |
US7836252B2 (en) * | 2002-08-29 | 2010-11-16 | Micron Technology, Inc. | System and method for optimizing interconnections of memory devices in a multichip module |
US7102907B2 (en) * | 2002-09-09 | 2006-09-05 | Micron Technology, Inc. | Wavelength division multiplexed memory module, memory system and method |
US6821029B1 (en) | 2002-09-10 | 2004-11-23 | Xilinx, Inc. | High speed serial I/O technology using an optical link |
US7117289B2 (en) * | 2002-09-30 | 2006-10-03 | Intel Corporation | Claiming cycles on a processor bus in a system having a PCI to PCI bridge north of a memory controller |
US6811320B1 (en) | 2002-11-13 | 2004-11-02 | Russell Mistretta Abbott | System for connecting a fiber optic cable to an electronic device |
US7366423B2 (en) | 2002-12-31 | 2008-04-29 | Intel Corporation | System having multiple agents on optical and electrical bus |
US6961259B2 (en) | 2003-01-23 | 2005-11-01 | Micron Technology, Inc. | Apparatus and methods for optically-coupled memory systems |
US7469316B2 (en) * | 2003-02-10 | 2008-12-23 | Intel Corporation | Buffered writes and memory page control |
DE10313605B4 (de) | 2003-03-26 | 2009-03-19 | Qimonda Ag | Vorrichtung und Verfahren zum Steuern mehrerer Speicherbausteine |
US20040216018A1 (en) * | 2003-04-28 | 2004-10-28 | Cheung Kam Tim | Direct memory access controller and method |
GB2416056B (en) * | 2003-05-13 | 2006-08-23 | Advanced Micro Devices Inc | A system including a host connected to a plurality of memory modules via a serial memory interconnect |
US20040243769A1 (en) * | 2003-05-30 | 2004-12-02 | Frame David W. | Tree based memory structure |
US7428644B2 (en) | 2003-06-20 | 2008-09-23 | Micron Technology, Inc. | System and method for selective memory module power management |
US7389364B2 (en) * | 2003-07-22 | 2008-06-17 | Micron Technology, Inc. | Apparatus and method for direct memory access in a hub-based memory system |
US7287101B2 (en) * | 2003-08-05 | 2007-10-23 | Intel Corporation | Direct memory access using memory descriptor list |
US7174432B2 (en) * | 2003-08-19 | 2007-02-06 | Nvidia Corporation | Asynchronous, independent and multiple process shared memory system in an adaptive computing architecture |
US20050050237A1 (en) | 2003-08-28 | 2005-03-03 | Jeddeloh Joseph M. | Memory module and method having on-board data search capabilities and processor-based system using such memory modules |
US7194593B2 (en) | 2003-09-18 | 2007-03-20 | Micron Technology, Inc. | Memory hub with integrated non-volatile memory |
-
2003
- 2003-07-22 US US10/625,132 patent/US7389364B2/en not_active Expired - Fee Related
-
2004
- 2004-07-08 WO PCT/US2004/021993 patent/WO2005010670A2/en active Application Filing
- 2004-07-08 JP JP2006521099A patent/JP4560646B2/ja not_active Expired - Fee Related
- 2004-07-08 EP EP10167189A patent/EP2256587A1/en not_active Ceased
- 2004-07-08 EP EP04756816A patent/EP1646925B1/en not_active Not-in-force
- 2004-07-08 AT AT04756816T patent/ATE479138T1/de not_active IP Right Cessation
- 2004-07-08 KR KR1020067001578A patent/KR100887526B1/ko not_active IP Right Cessation
- 2004-07-08 DE DE602004028831T patent/DE602004028831D1/de active Active
- 2004-07-08 SG SG200700329A patent/SG129443A1/en unknown
- 2004-07-08 CN CN200480027307A patent/CN100595720C/zh not_active Expired - Fee Related
- 2004-07-20 TW TW093121650A patent/TW200517848A/zh unknown
-
2005
- 2005-02-24 US US11/065,990 patent/US7222197B2/en not_active Expired - Fee Related
-
2008
- 2008-04-30 US US12/112,812 patent/US7966430B2/en not_active Expired - Fee Related
-
2011
- 2011-06-20 US US13/164,156 patent/US8209445B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317750A (zh) * | 2014-10-23 | 2015-01-28 | 山西达鑫核科技有限公司 | 一种可自主堆叠连接的存储介质结构 |
CN104317750B (zh) * | 2014-10-23 | 2018-01-05 | 山西达鑫核科技有限公司 | 一种可自主堆叠连接的存储介质结构 |
CN107015923A (zh) * | 2015-09-30 | 2017-08-04 | 三星电子株式会社 | 用于管理探听操作的一致性互连和包括其的数据处理装置 |
CN110399321A (zh) * | 2018-04-25 | 2019-11-01 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
US11645010B2 (en) | 2018-04-25 | 2023-05-09 | SK Hynix Inc. | Solid state drive (SSD) memory system improving the speed of a read operation using parallel DMA data transfers |
CN110781109A (zh) * | 2018-07-27 | 2020-02-11 | 安华高科技股份有限公司 | 用于提供可配置存储媒体接口的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2005010670A3 (en) | 2006-11-16 |
SG129443A1 (en) | 2007-02-26 |
US20050160201A1 (en) | 2005-07-21 |
ATE479138T1 (de) | 2010-09-15 |
JP2007508601A (ja) | 2007-04-05 |
EP1646925B1 (en) | 2010-08-25 |
KR100887526B1 (ko) | 2009-03-09 |
EP1646925A4 (en) | 2007-10-31 |
US7389364B2 (en) | 2008-06-17 |
EP1646925A2 (en) | 2006-04-19 |
EP2256587A1 (en) | 2010-12-01 |
CN100595720C (zh) | 2010-03-24 |
US8209445B2 (en) | 2012-06-26 |
US7966430B2 (en) | 2011-06-21 |
TW200517848A (en) | 2005-06-01 |
KR20060052870A (ko) | 2006-05-19 |
US20110314199A1 (en) | 2011-12-22 |
JP4560646B2 (ja) | 2010-10-13 |
US20090327532A1 (en) | 2009-12-31 |
WO2005010670A2 (en) | 2005-02-03 |
US7222197B2 (en) | 2007-05-22 |
DE602004028831D1 (zh) | 2010-10-07 |
US20050021884A1 (en) | 2005-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100595720C (zh) | 用于基于集线器的存储系统中直接存储器访问的设备和方法 | |
EP1738267B1 (en) | System and method for organizing data transfers with memory hub memory modules | |
JP2575557B2 (ja) | スーパーコンピユータシステム | |
CN100444131C (zh) | 具有仲裁分组协议的存储器仲裁系统及方法 | |
CN100578478C (zh) | 用于存储器模块的板上数据搜索能力的装置、系统和方法 | |
JP5546635B2 (ja) | データ転送装置およびその制御方法 | |
US20100287323A1 (en) | Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system | |
US6675251B1 (en) | Bridge device for connecting multiple devices to one slot | |
US20120020365A1 (en) | Modular interconnect structure | |
JP2589821B2 (ja) | 情報処理システムの中央処理ユニット | |
JP2014167818A (ja) | データ転送装置およびデータ転送方法 | |
CN1191530C (zh) | 多命令部件共用主控器的pci主桥 | |
KR970012191A (ko) | 멀티프로세서 시스템에 있어서의 버스 프로토콜 제어기와 데이타 전송방법 | |
JPH0343853A (ja) | データ転送装置 | |
JPH05216834A (ja) | マルチcpuシステム | |
JPH01229358A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100324 Termination date: 20110708 |