CN100578478C - 用于存储器模块的板上数据搜索能力的装置、系统和方法 - Google Patents
用于存储器模块的板上数据搜索能力的装置、系统和方法 Download PDFInfo
- Publication number
- CN100578478C CN100578478C CN200480031821A CN200480031821A CN100578478C CN 100578478 C CN100578478 C CN 100578478C CN 200480031821 A CN200480031821 A CN 200480031821A CN 200480031821 A CN200480031821 A CN 200480031821A CN 100578478 C CN100578478 C CN 100578478C
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- storage
- search data
- read
- 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
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
Abstract
一种存储器模块,包括连接到存储器集线器的几个存储装置。该存储器集线器包括连接到相应处理器的几个链路接口、连接到相应存储装置的几个存储器接口、以及将任一链路接口连接到任一存储器接口的交叉开关。每个存储器接口都包括存储器控制器、写缓冲器、读高速缓冲存储器和数据挖掘模块。数据挖掘模块包括搜索数据存储器,该搜索数据存储器连接到链路接口、以便接收和存储至少一个搜索数据项。比较器从存储装置接收读数据以及搜索数据。然后,比较器将读数据与相应搜索数据项进行比较,并且如果匹配则提供击中指示。
Description
技术领域
本发明涉及存储装置,并且尤其涉及包含存储装置、并具有在存储器模块内搜索存储装置中所存储的数据的能力的存储器模块。
背景技术
基于处理器的系统,如计算机系统,使用存储装置如DRAM(动态随机存取存储器)装置来存储处理器所存取的指令和数据。这些存储装置典型地用作计算机系统中的系统存储器。在典型计算机系统中,处理器通过存储器控制器与系统存储器进行通信。处理器发布存储器请求,该存储器请求包括诸如读命令的存储器命令、以及指明要从中读取数据或指令的位置的地址。存储器控制器利用该命令和地址来产生应用于系统存储器的适当的命令信号以及行和列地址。响应于这些命令和地址,数据在系统存储器和处理器之间被传送。存储器控制器常常是系统控制器的一部分,系统控制器也包括用于将处理器总线连接到扩展总线如PCI(外围部件互联)总线的总线桥电路。
虽然存储装置的操作速度已不断增加,但是这种操作速度的增加没有跟上处理器操作速度的增加。存储器控制器操作速度的增加也落后于处理器操作速度的快速增加。存储器控制器和存储装置的较低速度常常限制了计算机系统可以运行的速度。
计算机系统的操作速度也受到增加了从系统存储装置读取数据所需时间的等待时间问题的限制。更具体地说,当存储装置读命令被耦合到系统存储装置如SDRAM(同步动态随机存取存储器)装置时,只有在几个时钟周期的延迟之后,所读取的数据才从SDRAM装置输出。因此,虽然SDRAM装置能够以高数据速率同步输出猝发数据,但是最初提供数据时的延迟可以大大降低使用这种SDRAM装置的计算机系统的操作速度。
上述问题对使用这种存储装置的基于处理器的系统的操作的不利影响在很大程度上取决于系统所执行的操作的性质。对于对存储器高度敏感的操作,即频繁的读和写操作,上述问题对基于处理器的系统的操作速度可以是很不利的。例如,基于处理器的系统如计算机系统能够执行“数据挖掘”操作的速度基本上是处理器能够存取数据的速度的函数,在这种操作期间数据典型地存储在系统存储器中。在数据挖掘操作中,处理器寻找系统存储器中所存储的特定数据内容,如特定的号码或单词。处理器通过重复取得数据项、然后将所取得的每个数据项与作为搜索主题的数据内容进行比较,来执行该功能。每当取得数据项时,处理器都必须输出读存储器命令和存储器地址,它们都必须被耦合到系统存储器。然后,处理器必须等待直到系统存储装置输出所读取的数据、并将所读取的数据耦合到处理器。作为典型地为DRAM装置的系统存储装置的长等待时间的结果,系统存储器可能花几个时钟周期来响应读存储器命令和地址、以及将所读取的数据项输出到处理器。当必须搜索大量数据时,数据挖掘可能需要相当长时间。
提高存储装置操作速度以提供更快的存储器敏感操作(如数据挖掘)的一种方法是,使用通过存储器集线器连接到处理器的多个存储装置。在存储器集线器体系结构中,系统控制器或存储器集线器控制器连接到几个存储器模块,每个存储器模块都包括连接到几个存储装置的存储器集线器。存储器集线器在控制器和存储装置之间高效地路由存储器请求和响应。使用该体系结构的计算机系统可能具有更高的数据带宽,因为当某一存储装置正在响应先前的存储器存取的时候,处理器可以访问另一存储装置。例如,当系统中的某一存储装置正准备将所读取的数据提供给处理器时,处理器可以向系统中的另一存储装置发出读数据请求。使用存储器集线器体系结构的计算机系统的操作效率,允许系统比其中处理器访问几个存储装置中每个存储装置的系统快得多地执行存储器敏感操作,如数据挖掘。
虽然在执行存储器敏感操作如数据挖掘时,存储器集线器体系结构允许处理器更快地存取系统存储装置,但是存储器集线器体系结构没有消除重复取数据操作中的固有问题。结果,即使当计算机系统使用具有存储器集线器体系结构的系统存储器,存储器敏感操作如数据挖掘也可能仍然需要相当长时间。
发明内容
因此,本发明的目的是提供一种通过避免大量重复存储器读操作的需要、来允许处理器以快得多的速率执行数据挖掘的系统和方法。
一种存储器模块,包括存储装置和存储器集线器。存储器集线器包括链路接口以及连接到链路接口和存储装置的数据挖掘模块。数据挖掘模块用于通过链路接口接收至少一个搜索数据项。然后,数据挖掘模块重复地将读存储器请求耦合到存储装置,并且存储装置通过将读数据输出到数据挖掘模块来作出响应。然后,数据挖掘模块将读数据和搜索数据进行比较,以确定是否存在数据匹配。如果存在数据匹配,则当数据匹配发生时或者在数据匹配被存储在结果存储器中之后,从存储器模块耦合数据匹配指示。
根据本发明的第一个方面,提供一种用于供存储装置使用的存储器集线器,该存储器集线器包括:
链路接口,用于接收存储器请求;
连接到所述链路接口的存储装置接口,该存储装置接口输出写存储器请求和写数据,该存储装置接口还输出读存储器请求并接收响应于此的读数据;以及
连接到所述链路接口的数据挖掘模块,该数据挖掘模块用于通过所述链路接口接收至少一个搜索数据项,以便重复地使读存储器请求从所述存储器集线器被输出、接收响应于每个所述读存储器请求的读数据、以及将所收到的读数据和所述至少一个搜索数据项进行比较。
根据本发明的第二个方面,提供一种存储器模块,包括:
多个存储装置;以及
存储器集线器,该存储器集线器包括:
链路接口,用于接收对至少一个所述存储装置进行存取的存储器请求;
连接到所述链路接口和所述存储装置的存储装置接口,该存储装置接口将写存储器请求和写数据耦合到所述存储装置,该存储装置接口还将读存储器请求耦合到所述存储装置并从所述存储装置耦合读数据;以及
连接到至少一个所述存储装置的数据挖掘模块,该数据挖掘模块用于通过所述链路接口来接收至少一个搜索数据项,以便重复地使读存储器请求从所述存储器集线器被输出、接收响应于每个所述读存储器请求的读数据、以及将所收到的读数据与所述至少一个搜索数据项进行比较。
根据本发明的第三个方面,提供一种存储器模块,包括:
存储装置;以及
存储器集线器,该存储器集线器包括:
链路接口,用于接收对所述存储装置进行存取的存储器请求;
连接到所述链路接口和所述存储装置的存储装置接口,该存储装置接口将写存储器请求和写数据耦合到所述存储装置,该存储装置接口还将读存储器请求耦合到所述存储装置并从所述存储装置耦合读数据;
连接到所述链路接口的直接存储器存取引擎,该直接存储器存取引擎用于产生要耦合到所述存储装置的所述读存储器请求;
连接到所述链路接口的搜索数据存储器,用于接收和存储至少一个搜索数据项;以及
用于所述搜索数据存储器中所存储的每个搜索数据项的比较器,每个比较器都被连接以从所述搜索数据存储器接收相应的搜索数据项,并且被连接以从所述存储装置接收所述读数据,该比较器用于将所述读数据与所述相应的搜索数据项进行比较并且如果匹配则提供击中指示。
根据本发明的第四个方面,提供一种基于处理器的系统,包括:
具有处理器总线的处理器;
连接到所述处理器总线的系统控制器,该系统控制器具有系统存储器端口和外围设备端口;
连接到所述系统控制器的所述外围设备端口的至少一个输入设备;
连接到所述系统控制器的所述外围设备端口的至少一个输出设备;
连接到所述系统控制器的所述外围设备端口的至少一个数据存储装置;以及
连接到所述系统控制器的所述系统存储器端口的存储器模块,该存储器模块包括:
多个存储装置;以及
存储器集线器,该存储器集线器包括:
链路接口,用于接收对至少一个所述存储装置进行存取的存储器请求;
连接到所述链路接口和所述存储装置的存储装置接口,该存储装置接口将写存储器请求和写数据耦合到所述存储装置,该存储装置接口还将读存储器请求耦合到所述存储装置并从所述存储装置耦合读数据;以及
连接到至少一个所述存储装置的数据挖掘模块,该数据挖掘模块用于通过所述链路接口接收至少一个搜索数据项,以便重复地使读存储器请求从所述存储器集线器被输出、接收响应于每个所述读存储器请求的读数据、以及将所收到的读数据与所述至少一个搜索数据项进行比较。
根据本发明的第五个方面,提供一种基于处理器的系统,包括:
具有处理器总线的处理器;
连接到所述处理器总线的系统控制器,该系统控制器具有系统存储器端口和外围设备端口;
连接到所述系统控制器的所述外围设备端口的至少一个输入设备;
连接到所述系统控制器的所述外围设备端口的至少一个输出设备;
连接到所述系统控制器的所述外围设备端口的至少一个数据存储装置;以及
连接到所述系统控制器的所述系统存储器端口的存储器模块,该存储器模块包括:
存储装置;以及
存储器集线器,该存储器集线器包括:
链路接口,用于接收对所述存储装置进行存取的存储器请求;
连接到所述链路接口和所述存储装置的存储装置接口,该存储装置接口将写存储器请求和写数据耦合到所述存储装置,该存储装置接口还将读存储器请求耦合到所述存储装置并从所述存储装置耦合读数据;
连接到所述链路接口的直接存储器存取引擎,该直接存储器存取引擎用于产生要耦合到所述存储装置的所述读存储器请求;
连接到所述链路接口的搜索数据存储器,用于接收和存储至少一个搜索数据项;以及
用于所述搜索数据存储器中所存储的每个搜索数据项的比较器,每个比较器都被连接以从所述搜索数据存储器接收相应的搜索数据项,并且被连接以从所述存储装置接收所述读数据,该比较器用于将所述读数据与所述相应的搜索数据项进行比较,并且如果匹配则提供击中指示。
根据本发明的第六个方面,提供一种用于存储器集线器搜索存储装置中所存储的搜索数据项的方法,该方法包括:
在所述存储器集线器处接收至少一个搜索数据项;
在所述存储器集线器内存储所述至少一个搜索数据项;
顺序地启动所述存储器集线器中的多个读存储器请求;
顺序地将所述读存储器请求耦合到所述存储装置;
在所述存储器集线器处接收响应于每个所述读存储器请求的读数据;
将所收到的读数据与所述存储器集线器内的至少一个搜索数据项进行比较,以确定是否存在数据匹配;
产生响应于每个数据匹配的结果指示;以及
从所述存储器集线器耦合所述结果指示。
根据本发明的第七个方面,提供一种在具有处理器的基于处理器的系统中,用于存储器集线器搜索系统存储装置中所存储的搜索数据项的方法,所述处理器连接到具有系统存储器端口的系统控制器,该方法包括:
将至少一个搜索数据项从所述处理器耦合到所述存储器集线器;
将所述至少一个搜索数据项存储在所述存储器集线器中;
顺序地从所述存储器集线器内启动多个读存储器请求;
将所述读存储器请求耦合到所述存储装置;
从所述存储装置耦合响应于每个所述读存储器请求的读数据;
将所述读数据与所述存储器集线器内的所述至少一个搜索数据项进行比较,以确定是否存在数据匹配;
产生响应于每个数据匹配的结果指示;以及
将所述结果指示从所述存储器集线器耦合到所述处理器。
根据本发明实现的存储方法、装置和系统,可以避免大量重复存储器读操作的需要,并且允许处理器以快得多的速率执行数据挖掘。
附图说明
图1所示为,在其中可以实现本发明实施例的存储器集线器体系结构中的具有存储器模块的计算机系统的框图。
图2所示为,根据本发明实施例的、供可以用于图1的计算机系统或其它基于处理器的系统中的存储器模块之用的存储器集线器的框图。
图3所示为,图2的存储器集线器中所使用的数据挖掘模块的一个实施例的框图。
图4所示为,根据本发明另一实施例的、供可以用于图1的计算机系统或其它基于处理器的系统中的存储器模块之用的存储器集线器的框图。
具体实施方式
本发明的实施例涉及具有在内部执行数据挖掘操作的能力的存储器集线器模块。以下阐述某些细节,以提供对本发明各种实施例的充分理解。然而,对于本领域技术人员,显然可以在没有这些特殊细节的情况下实施本发明。在其它情况下,没有详细示出众所周知的电路、控制信号及定时协议,以避免不必要地使本发明不清楚。
图1示出了根据本发明一个实施例的计算机系统100。计算机系统100包括处理器104,处理器104用于执行各种计算功能,如执行特定软件来执行特定计算或任务。处理器104包括处理器总线106,处理器总线106通常包括地址总线、控制总线和数据总线。处理器总线106典型地连接到典型地为SRAM(静态随机存储器)的高速缓冲存储器108。最后,处理器总线106连接到有时也被称为总线桥的系统控制器110。
系统控制器110用作其它各种部件到处理器104的通信路径。更具体地说,系统控制器110包括典型地连接到图形控制器112的图形端口,图形控制器112又连接到视频终端114。系统控制器11O也连接到一个或多个输入设备118,如键盘或鼠标,以允许操作者与计算机系统100交互。典型地,计算机系统100也包括一个或多个通过系统控制器110连接到处理器104的输出设备120,如打印机。典型地,一个或多个数据存储装置124也通过系统控制器110连接到处理器104,以允许处理器104存储数据或从内部或外部存储介质(未示出)获取数据。典型的存储装置124的例子包括硬盘和软盘、盒式磁带以及CD-ROM(只读光盘存储器)。
系统控制器110包括连接到几个存储器模块130a、b、...n的存储器集线器控制器128,这些存储器模块130用作计算机系统100的系统存储器。存储器模块130优选地通过高速链路134连接到存储器集线器控制器128,高速链路134可以是光或电通信路径、或其它某种类型的通信路径。如果高速链路134被实现为光通信路径,则光通信路径可以是一条或多条光纤的形式。在这种情况下,存储器集线器控制器128和存储器模块将包括连接到光通信路径的光输入/输出端口或分开的输入和输出端口。存储器模块130被显示为以多点配置方式连接到存储器集线器控制器128,其中单条高速链路134连接到所有存储器模块130。然而,应该理解,也可以使用其它拓扑结构。例如,可以使用点对点连接配置,其中单独的高速链路(未示出)用于将每个存储器模块130连接到存储器集线器控制器128。也可以使用开关拓扑结构,其中存储器集线器控制器128通过开关(未示出)来选择性地连接到每个存储器模块130。可使用的其它拓扑结构对本领域技术人员将是显而易见的。
每个存储器模块130都包括用于控制对8个存储装置148的存取的存储器集线器140,在图1所示例子中,这8个存储装置148是SDRAM(同步动态随机存取存储器)装置。然而,可以使用更少或更多数量的存储装置148,并且也可以使用不同于SDRAM装置的存储装置。存储器集线器140通过总线系统150连接到每个系统存储装置148,总线系统150通常包括控制总线、地址总线和数据总线。然而,也可以使用其它总线系统,如使用共享命令/地址总线的总线系统。
图2示出了根据本发明一个实施例的可用作图1的存储器集线器140的存储器集线器200。存储器集线器200被显示为连接到4个存储装置240a-d,在该例子中这4个存储装置240a-d是常规的SDRAM装置。在替换实施例中,存储器集线器200连接到4组不同的存储装置,而不仅仅是4个不同的存储装置240a-d,其中每一组典型地具有多个存储装置。然而,为了举例的目的,存储器集线器200被显示为连接到4个存储装置240a-d。应该理解,对存储器集线器200的必要更改、更多或更少数量的存储装置、或者提供多组存储器,都在本领域普通技术人员的知识范围内。
存储器集线器200中还包括链路接口210a-d,链路接口210a-d可用于将存储器集线器200连接到相应的处理器或其它存储器存取装置。在图1所示的实施例中,只使用一个存储器存取装置,因此只使用一个链路接口210a。存储器集线器200也包括用于将存储器集线器200所处的存储器模块连接到其它存储器模块(未示出)的链路接口212a-d。图1的实施例中没有使用这些链路接口212a-d。在任何情况下,链路接口210a-d和212a-d都优选地分别连接到第一高速数据链路220和第二高速数据链路222。如前面参考图1所讨论的,可以利用光或电通信路径或其它某种类型的通信路径来实现高速数据链路220、222。链路接口210a-d和212a-d是常规的,并且包括用于向高速数据链路220和222传送数据、命令和地址信息以及从高速数据链路220、222传送数据、命令和地址信息的电路。众所周知,这种电路包括本领域逻辑上公知的发送器和接收器。应该理解,本领域普通技术人员足以理解对链路接口210a-d和212a-d进行更改以便与特定类型的通信路径一起使用,并且可以在不脱离本发明范围的情况下对链路接口210a-d和212a-d进行这种更改。例如,如果利用光通信路径来实现高速数据链路220和222,则链路接口210a-d和212a-d将包括可以把通过光通信路径耦合的光信号转换成电信号的光输入/输出端口。
链路接口210a-d和212a-d包括允许存储器集线器140以多种配置与系统存储器连接的电路。例如,可以通过使每个存储器模块经由任一链路接口210a-d或212a-d连接到存储器集线器控制器128,来实现如图1所示的多点配置。作为选择,可以通过使存储器模块串联连接来实现点对点或菊花链配置。例如,链路接口210a-d可用于连接第一存储器模块,并且链路接口212a-d可用于连接第二存储器模块。连接到处理器或系统控制器的存储器模块将通过一组链路接口连接到该处理器或系统控制器,并通过另一组链路接口进一步连接到另一存储器模块。在本发明一个实施例中,存储器模块的存储器集线器200以点对点配置连接到处理器,其中没有其它装置连接到处理器104和存储器集线器200之间的连接上。由于以下几个原因,包括较低电容、反射信号的较少线不连续性、以及较短的信号路径,使这种类型的互连在处理器104和存储器集线器200之间提供了更好的信号耦合。
链路接口210a-d和212a-d通过由总线214表示的多条总线和信号线连接到开关260。总线214是常规的,并且包括写数据总线和读数据总线,虽然作为选择可以提供单条双向数据总线,以通过链路接口210a-d和212a-d在两个方向上耦合数据。本领域普通技术人员应该理解,总线214只是作为示例提供的,总线214可以包括更少或更多的信号线,如进一步包括可用于维持高速缓存一致性的请求线和监听线。
开关260进一步连接到4个存储器接口270a-d,这4个存储器接口270a-d又分别连接到存储装置240a-d。通过分别为每个存储装置240a-d提供分开且独立的存储器接口270a-d,存储器集线器200避免了典型地在单通道存储器体系结构情况下发生的总线或存储器组冲突。开关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可以是能够以多种配置同时将链路接口210a-d、212a-d和存储器接口270a-d相互连接的交叉开关。开关260也可以是一组不提供和交叉开关一样的连通级别、但是相反能够将链路接口210a-d和212a-d的某些或全部连接到每个存储器接口270a-d上的多路复用器。开关260也可以包括用于确定哪些存储器存取应该接收优于其它存储器存取的优先级的仲裁逻辑(未示出)。执行该功能的总线仲裁是本领域技术人员所周知的。
进一步参考图2,存储器接口270a-d的每一个都包括各自的存储器控制器280、各自的写缓冲器282、各自的高速缓冲存储器单元284和各自的数据挖掘模块290。存储器控制器280通过向它所连接的存储装置240a-d提供控制、地址和数据信号,并从它所连接的存储装置240a-d接收数据信号,来执行和常规存储器控制器一样的功能。然而,存储器控制器280所发送和接收的信号的性质将和存储装置240a-d所适于发送和接收的信号的性质相对应。高速缓冲存储器单元284包括高速缓冲存储器的正常部件,包括如本领域所周知的标记存储器、数据存储器、比较器等。写缓冲器282和高速缓冲存储器单元284中使用的存储装置可以是DRAM装置、SRAM(静态随机存取存储器)装置、其它类型的存储装置或这三种装置的组合。此外,这些存储装置的任一或全部以及高速缓冲存储器单元284中使用的其它部件可以是嵌入式装置或独立装置。
每个存储器接口270a-d中的写缓冲器282都用于在为读请求服务时,存储写请求。在这种系统中,即使写请求所针对的存储装置忙于为先前的写或读请求服务,处理器104也能够向系统存储装置240a-d发出写请求。写缓冲器282优选地积累从开关260收到的、可能和读请求交替的几个写请求,随后在没有任何介入读请求的情况下按顺序将它们应用于每个存储装置240a-d。通过以这种方式流水线输送写请求,能够更有效地处理它们,因为避免了读/写转换中固有的延迟。缓冲写请求以允许为读请求服务的能力也能够大大减少存储器读等待时间,因为可以与读请求时间顺序无关地给读请求以第一优先级。
在每个存储器接口270a-d中使用的高速缓冲存储器单元284,在数据最近从存储装置240a-d被读出、或者被写入存储装置240a-d的情况下,允许处理器104接收响应于针对各系统存储装置240a-d的读命令的数据,而不用等待存储装置240a-d提供这种数据。因而,高速缓冲存储器单元284减少了系统存储装置240a-d的读等待时间,以使计算机系统的存储带宽最大化。类似地,处理器104能够将写数据存储在高速缓冲存储器单元284中,然后在相同的存储器接口270a-d中的存储器控制器280将写数据从高速缓冲存储器单元284传送给它所连接的系统存储装置240a-d的时候,执行其它功能。
数据挖掘模块290通过总线292连接到开关260,并连接到存储装置240a-d中的各个存储装置。数据挖掘模块290接收要在各个存储装置240a-d中搜索的数据。搜索数据通过相应链路接口210a-d和开关260,从处理器或其它存储器存取装置(图2中未示出)被耦合(couple)到数据挖掘模块290。被耦合到数据挖掘模块290的搜索数据可以是单一数据项,如单词或数字,或几个不同的数据项。数据挖掘模块290使读数据项重复地从相应存储装置240a-d被读出,然后数据挖掘模块290将每个读数据项和搜索数据进行比较,并将每个肯定比较结果通过开关260和链路接口210a-d耦合到处理器或其它存储器存取装置。作为选择,可以将几个肯定比较结果保存在存储装置中。例如,可以在相应存储装置240a-d中的所有数据都已被搜索之后,传送几个搜索数据项的结果数据。然后,将所保存的结果数据同时传送给处理器或其它存储器存取装置。从数据挖掘模块290传送的结果数据优选地是肯定比较的读数据在相应存储装置240a-d中的存储地址。然而,如果搜索了多个数据项,则结果数据优选地包括指示找到了哪个搜索项的数据。例如,几个结果数据项的每一项都可以包括与存储装置240a-d中发现搜索数据项的地址成对地找到的搜索数据项。
存储器集线器200中还可以包括通过总线298连接到开关260的DMA(直接存储器存取)引擎296。DMA引擎296使存储器集线器200能够在没有处理器104介入的情况下,将数据块从系统存储器中的一个位置移到系统存储器中另一位置。总线298包括多条常规总线和信号线,如地址、控制、数据总线等,用于处理系统存储器中的数据传送。可以通过DMA引擎296来实现本领域普通技术人员所周知的常规DMA操作。DMA引擎296能够读取系统存储器中的链接列表,以便在没有处理器介入的情况下执行DMA存储器操作,由此使处理器104和带宽受限系统总线免于执行存储器操作。DMA引擎296也可以包括例如为系统存储装置240a-d的每一个提供多通道DMA操作的电路。这种多通道DMA引擎是本领域所周知的,并且可以利用常规技术来实现。
虽然在图2中数据挖掘模块290a-d被显示为直接连接到相应存储装置240a-d,但是可以使用其它配置。例如,数据挖掘模块290a-d可以连接到相应存储器控制器280a-d,使得由存储器控制器280a-d来发出读请求,并且所得到的读数据或者直接被耦合到数据挖掘模块290a-d,或者通过存储器控制器280a-d被耦合到数据挖掘模块290a-d。
图3示出了可以用作图2的数据挖掘模块290的数据挖掘模块300的一个实施例。数据挖掘模块300包括DMA引擎302,DMA引擎302很象存储器模块200(图2)中的DMA引擎296那样操作,以便在不使用处理器的情况下从存储装置240a-d传送数据以及向存储装置240a-d传送数据。DMA引擎302连接到总线292,并且优选地通过链路接口210a-d之一和开关260、利用处理器或其它存储器存取装置(图3中未示出)来配置。例如,DMA引擎302可以接收用于指定要搜索的存储器地址范围的信息。然后,DMA引擎302将信号耦合到存储器序列发生器306,使存储器序列发生器306为一系列顺序进行的读操作产生适当定时的信号存储器命令和地址信号。作为选择,DMA引擎302可以将信号应用于相应的存储器控制器280,并且存储器控制器280为一系列顺序进行的读操作产生命令和地址信号。
与用于读操作的命令和地址信号怎样产生无关,每个读操作都导致读数据项被返回给数据挖掘模块300。然而,在开始读操作之前,一个或多个搜索数据项从处理器或其它存储器存取装置(图3中未示出)被耦合,并被存储在搜索数据存储器314中。然后,搜索数据存储器314不断将搜索数据输出到一个或多个比较器320。数据挖掘模块300中所包括的比较器320的数目优选地和搜索数据存储器314中所存储的搜索数据项的数目相对应。在图3所示的数据挖掘模块中,搜索数据存储器314存储三个搜索数据项,因此有三个比较器320a-c,每个比较器都接收搜索数据存储器314中所存储的搜索数据项之一。然而,如前所述,搜索数据存储器314中所存储的搜索数据项的数目和所提供的比较器320的数目可根据需要改变。而且,即使存储器314中存储了几个搜索数据项,也可以使用单个比较器320。在这种情况下,搜索数据存储器314将顺序地将每个搜索数据项耦合到单个比较器320,并将实施对该数据项的搜索。然而,该方法是不太令人希望的,因为每当搜索新数据项时,都将需要重复读取存储装置240中存储的所有数据。
从相应存储装置240a-d收到的每个数据项都被传送给所有比较器320a-c。然后,每个比较器320a-c对读数据项及其相应搜索数据项进行比较,并且如果匹配,则输出击中指示。在图3所示的数据挖掘模块300实施例中,每个击中指示都包括用于识别存在击中的搜索数据项的信息。击中指示被耦合到结果存储器330,结果存储器330可以是SRAM(随机存取存储器)装置。结果存储器330也连接到DRAM序列发生器306,以接收被传送给相应存储装置240a-d的地址。然后,结果存储器330存储用于识别搜索数据项以及被击中的读数据地址的信息。作为选择,在处理器或其它存储器存取装置能够识别存储器中每一地址所存储的读数据的情况下,结果存储器330可以不必存储用于识别存在击中的搜索数据项的信息。
当相应存储装置240a-d的地址空间中的所有地址都已被搜索时,结果存储器330将其内容通过总线292输出到处理器或其它存储器存取装置,该总线292通过开关260连接到链路接口210a-d之一。
图4示出了根据本发明的存储器集线器350的另一个例子。存储器集线器350也可以用作图1的计算机系统100中的存储器集线器140。存储器集线器350和图2所示的存储器集线器200的不同之处主要在于,利用单个数据挖掘模块300来为存储器集线器350所连接的所有存储装置240a-d服务。因此,只为整个存储器集线器350提供一个数据挖掘模块300,而不是为图2的存储器集线器200中的4个存储器接口270a-d的每一个都提供数据挖掘模块300。然而,存储器集线器350的其它所有部件都和图2的存储器集线器200中的相应部件一样,并且以和图2的存储器集线器200中的相应部件一样的方式操作。因此,为了简明起见,将不再重复对它们的结构和操作进行说明。
存储器集线器350中的单个数据挖掘模块300通过开关260连接到所有链路接口210a-d和所有存储装置240a-d。数据挖掘模块300以基本上和它在存储器集线器200中一样的操作方式,在存储器集线器350中进行操作。然而,不允许同时搜索存储装置240a-d,而是按顺序分别搜索存储装置240a-d的每一个。
由以上描述应该理解,虽然在此为说明起见而描述了本发明的特定实施例,但是可以在不背离本发明的精神和范围的情况下对本发明进行各种修改。因此,本发明不受除所附的权利要求书以外的限制。
Claims (72)
1.一种用于供存储装置使用的存储器集线器,该存储器集线器包括:
链路接口,用于接收存储器请求;
连接到所述链路接口的存储装置接口,该存储装置接口输出写存储器请求和写数据,该存储装置接口还输出读存储器请求并接收响应于此的读数据;以及
连接到所述链路接口的数据挖掘模块,该数据挖掘模块用于通过所述链路接口接收至少一个搜索数据项,以便重复地使读存储器请求从所述存储器集线器被输出、接收响应于每个所述读存储器请求的读数据、以及将所收到的读数据和所述至少一个搜索数据项进行比较。
2.根据权利要求1所述的存储器集线器,进一步包括多个链路接口、多个存储装置接口以及用于选择性地连接所述多个链路接口之一和所述多个存储装置接口之一的开关。
3.根据权利要求1所述的存储器集线器,其中所述数据挖掘模块用于产生所述读存储器请求并从所述存储器集线器输出所述读存储器请求。
4.根据权利要求1所述的存储器集线器,其中所述数据挖掘模块包括:
连接到所述链路接口的直接存储器存取引擎,该直接存储器存取引擎用于产生所述读存储器请求;
连接到所述链路接口的搜索数据存储器,用于接收和存储所述至少一个搜索数据项;以及
用于所述搜索数据存储器中所存储的每个搜索数据项的比较器,每个比较器都被连接以从所述搜索数据存储器接收相应的搜索数据项,并且被连接以接收所述读数据,该比较器用于将所述读数据与所述相应的搜索数据项进行比较,并且如果匹配则提供击中指示。
5.根据权利要求4所述的存储器集线器,其中所述比较器的输出连接到所述链路接口,以便将所述击中指示耦合到该链路接口。
6.根据权利要求4所述的存储器集线器,其中所述数据挖掘模块进一步包括连接到所述直接存储器存取引擎的存储装置序列发生器,该存储装置序列发生器为每个所述读请求产生一组命令和地址信号。
7.根据权利要求4所述的存储器集线器,其中所述搜索数据存储器存储多个所述搜索数据项,并且其中所述数据挖掘模块包括在数量上与所述搜索数据存储器中所存储的搜索数据项的数量相对应的多个比较器。
8.根据权利要求4所述的存储器集线器,进一步包括连接到所述比较器的输出以便存储由每个所述比较器产生的每个所述击中指示的结果存储器。
9.根据权利要求8所述的存储器集线器,其中所述结果存储器用于存储与导致每个所述击中指示的所述读数据相对应的存储装置地址。
10.根据权利要求9所述的存储器集线器,其中所述结果存储器进一步用于与每个所述存储装置地址一起存储相应的搜索数据项。
11.根据权利要求1所述的存储器集线器,其中所述链路接口、存储装置接口和数据挖掘模块被制造为公共半导体衬底上的集成电路。
12.一种存储器模块,包括:
多个存储装置;以及
存储器集线器,该存储器集线器包括:
链路接口,用于接收对至少一个所述存储装置进行存取的存储器请求;
连接到所述链路接口和所述存储装置的存储装置接口,该存储装置接口将写存储器请求和写数据耦合到所述存储装置,该存储装置接口还将读存储器请求耦合到所述存储装置并从所述存储装置耦合读数据;以及
连接到至少一个所述存储装置的数据挖掘模块,该数据挖掘模块用于通过所述链路接口来接收至少一个搜索数据项,以便重复地使读存储器请求从所述存储器集线器被输出、接收响应于每个所述读存储器请求的读数据、以及将所收到的读数据与所述至少一个搜索数据项进行比较。
13.根据权利要求12所述的存储器模块,其中所述数据挖掘模块用于产生所述读存储器请求并从所述存储器集线器输出该读存储器请求。
14.根据权利要求12所述的存储器模块,其中所述存储器集线器进一步包括多个链路接口、连接到相应的存储装置的多个存储装置接口、以及用于选择性地连接所述多个链路接口之一和所述多个存储装置接口之一的开关。
15.根据权利要求14所述的存储器模块,其中为每个所述存储装置接口提供所述数据挖掘模块之一,每个所述数据挖掘模块都连接到所述相应的存储装置接口所连接的存储装置。
16.根据权利要求14所述的存储器模块,其中所述存储器模块包括通过所述开关连接到每个所述存储装置接口的单个数据挖掘模块。
17.根据权利要求12所述的存储器模块,其中所述数据挖掘模块包括:
连接到所述链路接口的直接存储器存取引擎,该直接存储器存取引擎用于产生要耦合到所述存储装置的所述读存储器请求;
连接到所述链路接口的搜索数据存储器,用于接收和存储至少一个搜索数据项;以及
用于所述搜索数据存储器中所存储的每个搜索数据项的比较器,每个比较器都被连接以从所述搜索数据存储器接收相应的搜索数据项,并且被连接以从所述存储装置接收所述读数据,该比较器用于将所述读数据与所述相应的搜索数据项进行比较,并且如果匹配则提供击中指示。
18.根据权利要求17所述的存储器模块,其中所述比较器的输出连接到所述链路接口,以便将所述击中指示耦合到该链路接口。
19.根据权利要求17所述的存储器模块,其中所述数据挖掘模块进一步包括连接到所述直接存储器存取引擎和所述存储装置的存储装置序列发生器,该存储装置序列发生器为每个所述读请求产生一组要耦合到所述存储装置的命令和地址信号。
20.根据权利要求17所述的存储器模块,其中所述搜索数据存储器存储多个所述搜索数据项,并且其中所述数据挖掘模块包括在数量上与所述搜索数据存储器中所存储的搜索数据项的数量相对应的多个比较器。
21.根据权利要求17所述的存储器模块,进一步包括连接到所述比较器的输出以便存储由每个所述比较器产生的每个所述击中指示的结果存储器。
22.根据权利要求21所述的存储器模块,其中所述结果存储器用于存储存储装置地址,该存储装置地址指示导致每个所述击中指示的所述读数据在所述存储装置中的存储位置。
23.根据权利要求22所述的存储器模块,其中所述结果存储器进一步用于与每个所述存储装置地址一起存储相应的搜索数据项,该相应的搜索数据项与相应的地址处所存储的读数据匹配。
24.根据权利要求12所述的存储器模块,其中所述多个存储装置包括多个同步随机存取存储器装置。
25.根据权利要求12所述的存储器模块,其中所述链路接口、存储装置接口和数据挖掘模块被制造为公共半导体衬底上的集成电路。
26.根据权利要求25所述的存储器模块,其中所述公共半导体衬底进一步包括所述存储装置。
27.一种存储器模块,包括:
存储装置;以及
存储器集线器,该存储器集线器包括:
链路接口,用于接收对所述存储装置进行存取的存储器请求;
连接到所述链路接口和所述存储装置的存储装置接口,该存储装置接口将写存储器请求和写数据耦合到所述存储装置,该存储装置接口还将读存储器请求耦合到所述存储装置并从所述存储装置耦合读数据;
连接到所述链路接口的直接存储器存取引擎,该直接存储器存取引擎用于产生要耦合到所述存储装置的所述读存储器请求;
连接到所述链路接口的搜索数据存储器,用于接收和存储至少一个搜索数据项;以及
用于所述搜索数据存储器中所存储的每个搜索数据项的比较器,每个比较器都被连接以从所述搜索数据存储器接收相应的搜索数据项,并且被连接以从所述存储装置接收所述读数据,该比较器用于将所述读数据与所述相应的搜索数据项进行比较并且如果匹配则提供击中指示。
28.根据权利要求27所述的存储器模块,其中所述存储器模块包括多个存储装置,并且其中所述存储器集线器进一步包括多个链路接口、连接到相应的存储装置的多个存储装置接口、以及用于选择性地连接所述多个链路接口之一和所述多个存储装置接口之一的开关。
29.根据权利要求27所述的存储器模块,其中所述比较器的输出连接到所述链路接口,以便将所述击中指示耦合到该链路接口。
30.根据权利要求27所述的存储器模块,其中所述数据挖掘模块进一步包括连接到所述直接存储器存取引擎和所述存储装置的存储装置序列发生器,该存储装置序列发生器为每个所述读请求产生一组要耦合到所述存储装置的命令和地址信号。
31.根据权利要求27所述的存储器模块,其中所述搜索数据存储器存储多个搜索数据项,并且其中所述存储器集线器包括在数量上与所述搜索数据存储器中所存储的搜索数据项的数量相对应的多个比较器。
32.根据权利要求27所述的存储器模块,进一步包括连接到所述比较器的输出以存储由每个所述比较器产生的每个所述击中指示的结果存储器。
33.根据权利要求27所述的存储器模块,其中所述结果存储器用于存储存储装置地址,该存储装置地址指示导致每个所述击中指示的读数据在所述存储装置中的存储位置。
34.根据权利要求33所述的存储器模块,其中所述结果存储器进一步用于与每个所述存储装置地址一起存储相应的搜索数据项,该相应的搜索数据项与相应的地址处所存储的读数据匹配。
35.根据权利要求27所述的存储器模块,其中所述多个存储装置包括多个同步随机存取存储器装置。
36.根据权利要求27所述的存储器模块,其中所述链路接口、存储装置接口、直接存储器存取引擎、搜索数据存储器以及用于所述搜索数据存储器中所存储的每个搜索数据项的比较器,被制造为公共半导体衬底上的集成电路。
37.根据权利要求36所述的存储器模块,其中所述公共半导体衬底进一步包括所述存储装置。
38.一种基于处理器的系统,包括:
具有处理器总线的处理器;
连接到所述处理器总线的系统控制器,该系统控制器具有系统存储器端口和外围设备端口;
连接到所述系统控制器的所述外围设备端口的至少一个输入设备;
连接到所述系统控制器的所述外围设备端口的至少一个输出设备;
连接到所述系统控制器的所述外围设备端口的至少一个数据存储装置;以及
连接到所述系统控制器的所述系统存储器端口的存储器模块,该存储器模块包括:
多个存储装置;以及
存储器集线器,该存储器集线器包括:
链路接口,用于接收对至少一个所述存储装置进行存取的存储器请求;
连接到所述链路接口和所述存储装置的存储装置接口,该存储装置接口将写存储器请求和写数据耦合到所述存储装置,该存储装置接口还将读存储器请求耦合到所述存储装置并从所述存储装置耦合读数据;以及
连接到至少一个所述存储装置的数据挖掘模块,该数据挖掘模块用于通过所述链路接口接收至少一个搜索数据项,以便重复地使读存储器请求从所述存储器集线器被输出、接收响应于每个所述读存储器请求的读数据、以及将所收到的读数据与所述至少一个搜索数据项进行比较。
39.根据权利要求38所述的基于处理器的系统,其中所述数据挖掘模块用于产生所述读存储器请求并从所述存储器集线器输出所述读存储器请求。
40.根据权利要求38所述的基于处理器的系统,其中所述存储器集线器进一步包括多个链路接口、连接到相应的存储装置的多个存储装置接口、以及用于选择性地连接所述多个链路接口之一和所述多个存储装置接口之一的开关。
41.根据权利要求40所述的基于处理器的系统,其中为每个所述存储装置接口提供所述数据挖掘模块之一,每个所述数据挖掘模块都连接到相应的存储装置接口所连接的所述存储装置。
42.根据权利要求40所述的基于处理器的系统,其中所述存储器模块包括通过所述开关连接到每个所述存储装置的单个数据挖掘模块。
43.根据权利要求38所述的基于处理器的系统,其中所述数据挖掘模块包括:
连接到所述链路接口的直接存储器存取引擎,该直接存储器存取引擎用于产生要耦合到所述存储装置的所述读存储器请求;
连接到所述链路接口的搜索数据存储器,用于接收和存储所述至少一个搜索数据项;以及
用于所述搜索数据存储器中所存储的每个搜索数据项的比较器,每个比较器都被连接以从所述搜索数据存储器接收相应的搜索数据项,并且被连接以从所述存储装置接收所述读数据,该比较器用于将所述读数据与所述相应的搜索数据项进行比较,并且如果匹配则提供击中指示。
44.根据权利要求43所述的基于处理器的系统,其中所述比较器的输出连接到所述链路接口,以便将所述击中指示耦合到该链路接口。
45.根据权利要求43所述的基于处理器的系统,其中所述数据挖掘模块进一步包括连接到所述直接存储器存取引擎和所述存储装置的存储装置序列发生器,该存储装置序列发生器为每个所述读请求产生一组要耦合到所述存储装置的命令和地址信号。
46.根据权利要求43所述的基于处理器的系统,其中所述搜索数据存储器存储多个所述搜索数据项,并且其中所述数据挖掘模块包括在数量上与所述搜索数据存储器中所存储的搜索数据项的数量相对应的多个比较器。
47.根据权利要求43所述的基于处理器的系统,进一步包括连接到所述比较器的输出以便存储由每个所述比较器产生的每个所述击中指示的结果存储器。
48.根据权利要求47所述的基于处理器的系统,其中所述结果存储器用于存储存储装置地址,该存储装置地址指示导致每个所述击中指示的读数据在所述存储装置中的存储位置。
49.根据权利要求48所述的基于处理器的系统,其中所述结果存储器进一步用于与每个所述存储装置地址一起存储相应的搜索数据项,该相应的搜索数据项与相应的地址处所存储的读数据匹配。
50.根据权利要求38所述的基于处理器的系统,其中所述多个存储装置包括多个同步随机存取存储器装置。
51.根据权利要求38所述的基于处理器的系统,其中所述链路接口、存储装置接口和数据挖掘模块被制造为公共半导体衬底上的集成电路。
52.根据权利要求51所述的基于处理器的系统,其中所述公共半导体衬底进一步包括所述存储装置。
53.一种基于处理器的系统,包括:
具有处理器总线的处理器;
连接到所述处理器总线的系统控制器,该系统控制器具有系统存储器端口和外围设备端口;
连接到所述系统控制器的所述外围设备端口的至少一个输入设备;
连接到所述系统控制器的所述外围设备端口的至少一个输出设备;
连接到所述系统控制器的所述外围设备端口的至少一个数据存储装置;以及
连接到所述系统控制器的所述系统存储器端口的存储器模块,该存储器模块包括:
存储装置;以及
存储器集线器,该存储器集线器包括:
链路接口,用于接收对所述存储装置进行存取的存储器请求;
连接到所述链路接口和所述存储装置的存储装置接口,该存储装置接口将写存储器请求和写数据耦合到所述存储装置,该存储装置接口还将读存储器请求耦合到所述存储装置并从所述存储装置耦合读数据;
连接到所述链路接口的直接存储器存取引擎,该直接存储器存取引擎用于产生要耦合到所述存储装置的所述读存储器请求;
连接到所述链路接口的搜索数据存储器,用于接收和存储至少一个搜索数据项;以及
用于所述搜索数据存储器中所存储的每个搜索数据项的比较器,每个比较器都被连接以从所述搜索数据存储器接收相应的搜索数据项,并且被连接以从所述存储装置接收所述读数据,该比较器用于将所述读数据与所述相应的搜索数据项进行比较,并且如果匹配则提供击中指示。
54.根据权利要求53所述的基于处理器的系统,其中所述存储器模块包括多个存储装置,并且其中所述存储器集线器进一步包括多个链路接口、连接到相应的存储装置的多个存储装置接口、以及用于选择性地连接所述多个链路接口之一和所述多个存储装置接口之一的开关。
55.根据权利要求53所述的基于处理器的系统,其中所述比较器的输出连接到所述链路接口,以便将所述击中指示耦合到该链路接口。
56.根据权利要求53所述的基于处理器的系统,其中所述数据挖掘模块进一步包括连接到所述直接存储器存取引擎和所述存储装置的存储装置序列发生器,该存储装置序列发生器为每个所述读请求产生一组要耦合到所述存储装置的命令和地址信号。
57.根据权利要求53所述的基于处理器的系统,其中所述搜索数据存储器存储多个所述搜索数据项,并且其中所述存储器集线器包括在数量上与所述搜索数据存储器中所存储的搜索数据项的数量相对应的多个比较器。
58.根据权利要求53所述的基于处理器的系统,进一步包括连接到所述比较器的输出以便存储由每个所述比较器产生的每个所述击中指示的结果存储器。
59.根据权利要求58所述的基于处理器的系统,其中所述结果存储器用于存储存储装置地址,该存储装置地址指示导致每个所述击中指示的读数据在所述存储装置中的存储位置。
60.根据权利要求59所述的基于处理器的系统,其中所述结果存储器进一步用于与每个所述存储装置地址一起存储相应的搜索数据项,该相应的搜索数据项与相应的地址处存储的读数据匹配。
61.根据权利要求53所述的基于处理器的系统,其中所述多个存储装置包括多个同步随机存取存储器装置。
62.根据权利要求53所述的基于处理器的系统,其中所述链路接口、存储装置接口、直接存储器存取引擎、搜索数据存储器以及用于所述搜索数据存储器中所存储的每个搜索数据项的比较器,被制造为公共半导体衬底上的集成电路。
63.根据权利要求62所述的基于处理器的系统,其中所述公共半导体衬底进一步包括所述存储装置。
64.一种用于存储器集线器搜索存储装置中所存储的搜索数据项的方法,该方法包括:
在所述存储器集线器处接收至少一个搜索数据项;
在所述存储器集线器内存储所述至少一个搜索数据项;
顺序地启动所述存储器集线器中的多个读存储器请求;
顺序地将所述读存储器请求耦合到所述存储装置;
在所述存储器集线器处接收响应于每个所述读存储器请求的读数据;
将所收到的读数据与所述存储器集线器内的至少一个搜索数据项进行比较,以确定是否存在数据匹配;
产生响应于每个数据匹配的结果指示;以及
从所述存储器集线器耦合所述结果指示。
65.根据权利要求64所述的方法,其中所述产生响应于每个数据匹配的结果指示的处理包括提供存储装置地址,该存储装置地址指示导致每个所述数据匹配的读数据在所述存储装置中的存储位置。
66.根据权利要求65所述的方法,其中所述产生响应于每个数据匹配的结果指示的处理进一步包括,与每个存储装置地址一起提供匹配的相应搜索数据项。
67.根据权利要求64所述的方法,进一步包括,在从所述存储器集线器耦合所述结果指示之前存储响应于每个数据匹配的结果指示。
68.一种在具有处理器的基于处理器的系统中,用于存储器集线器搜索系统存储装置中所存储的搜索数据项的方法,所述处理器连接到具有系统存储器端口的系统控制器,该方法包括:
将至少一个搜索数据项从所述处理器耦合到所述存储器集线器;
将所述至少一个搜索数据项存储在所述存储器集线器中;
顺序地从所述存储器集线器内启动多个读存储器请求;
将所述读存储器请求耦合到所述存储装置;
从所述存储装置耦合响应于每个所述读存储器请求的读数据;
将所述读数据与所述存储器集线器内的所述至少一个搜索数据项进行比较,以确定是否存在数据匹配;
产生响应于每个数据匹配的结果指示;以及
将所述结果指示从所述存储器集线器耦合到所述处理器。
69.根据权利要求68所述的方法,其中所述产生响应于每个数据匹配的结果指示的处理包括提供存储装置地址,该存储装置地址指示导致每个所述数据匹配的读数据在所述存储装置中的存储位置。
70.根据权利要求69所述的方法,其中所述产生响应于每个数据匹配的结果指示的处理进一步包括,与每个存储装置地址一起提供匹配的相应搜索数据项。
71.根据权利要求68所述的方法,进一步包括,在将所述结果指示从所述存储器集线器耦合到所述处理器之前,存储所述存储器集线器中响应于每个数据匹配的结果指示。
72.根据权利要求68所述的方法,其中所述将所述读存储器请求耦合到所述存储装置的处理以及从所述存储装置耦合所述读数据的处理完全在所述存储器集线器内执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/651,801 US20050050237A1 (en) | 2003-08-28 | 2003-08-28 | Memory module and method having on-board data search capabilities and processor-based system using such memory modules |
US10/651,801 | 2003-08-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1875356A CN1875356A (zh) | 2006-12-06 |
CN100578478C true CN100578478C (zh) | 2010-01-06 |
Family
ID=34217486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200480031821A Active CN100578478C (zh) | 2003-08-28 | 2004-08-06 | 用于存储器模块的板上数据搜索能力的装置、系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (3) | US20050050237A1 (zh) |
EP (1) | EP1665058B1 (zh) |
JP (1) | JP2007504531A (zh) |
KR (1) | KR20060119908A (zh) |
CN (1) | CN100578478C (zh) |
AT (1) | ATE549681T1 (zh) |
TW (1) | TW200521693A (zh) |
WO (1) | WO2005024561A2 (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
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 |
US20050147414A1 (en) * | 2003-12-30 | 2005-07-07 | Morrow Warren R. | Low latency optical memory bus |
US7296129B2 (en) | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US7389375B2 (en) * | 2004-07-30 | 2008-06-17 | International Business Machines Corporation | System, method and storage medium for a multi-mode memory buffer device |
US20060036826A1 (en) * | 2004-07-30 | 2006-02-16 | International Business Machines Corporation | System, method and storage medium for providing a bus speed multiplier |
US7224595B2 (en) | 2004-07-30 | 2007-05-29 | International Business Machines Corporation | 276-Pin buffered memory module with enhanced fault tolerance |
US7512762B2 (en) * | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7305574B2 (en) * | 2004-10-29 | 2007-12-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
US7331010B2 (en) | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US7441060B2 (en) * | 2004-10-29 | 2008-10-21 | International Business Machines Corporation | System, method and storage medium for providing a service interface to a memory system |
US7277988B2 (en) * | 2004-10-29 | 2007-10-02 | International Business Machines Corporation | System, method and storage medium for providing data caching and data compression in a memory subsystem |
US7299313B2 (en) * | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
JP4769936B2 (ja) * | 2005-06-10 | 2011-09-07 | 国立大学法人 奈良先端科学技術大学院大学 | メモリコントローラを備えた情報処理システム |
US20070016698A1 (en) * | 2005-06-22 | 2007-01-18 | Vogt Pete D | Memory channel response scheduling |
US7478259B2 (en) * | 2005-10-31 | 2009-01-13 | International Business Machines Corporation | System, method and storage medium for deriving clocks in a memory system |
US7685392B2 (en) | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
US20070143547A1 (en) * | 2005-12-20 | 2007-06-21 | Microsoft Corporation | Predictive caching and lookup |
US7640386B2 (en) * | 2006-05-24 | 2009-12-29 | International Business Machines Corporation | Systems and methods for providing memory modules with multiple hub devices |
US7493439B2 (en) * | 2006-08-01 | 2009-02-17 | International Business Machines Corporation | Systems and methods for providing performance monitoring in a memory system |
US7669086B2 (en) | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US7587559B2 (en) * | 2006-08-10 | 2009-09-08 | International Business Machines Corporation | Systems and methods for memory module power management |
CN100395696C (zh) * | 2006-08-11 | 2008-06-18 | 华为技术有限公司 | 静态存储器接口装置及其数据传输方法 |
US7870459B2 (en) * | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US7721140B2 (en) * | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US7603526B2 (en) * | 2007-01-29 | 2009-10-13 | International Business Machines Corporation | Systems and methods for providing dynamic memory pre-fetch |
US20090119114A1 (en) * | 2007-11-02 | 2009-05-07 | David Alaniz | Systems and Methods for Enabling Customer Service |
US20100005206A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Automatic read data flow control in a cascade interconnect memory system |
US7970964B2 (en) | 2008-11-05 | 2011-06-28 | Micron Technology, Inc. | Methods and systems to accomplish variable width data input |
CN103229155B (zh) * | 2010-09-24 | 2016-11-09 | 德克萨斯存储系统股份有限公司 | 高速内存系统 |
US10416896B2 (en) | 2016-10-14 | 2019-09-17 | Samsung Electronics Co., Ltd. | Memory module, memory device, and processing device having a processor mode, and memory system |
JP2019117677A (ja) * | 2017-12-27 | 2019-07-18 | ルネサスエレクトロニクス株式会社 | 検索メモリ |
US11494119B2 (en) * | 2020-09-10 | 2022-11-08 | Micron Technology, Inc. | Memory searching component |
CN113986790B (zh) * | 2021-02-25 | 2022-11-01 | 楚赟精工科技(上海)有限公司 | 数据采集高速处理系统及方法 |
Family Cites Families (196)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US163649A (en) * | 1875-05-25 | Improvement in bale-ties | ||
US177320A (en) * | 1876-05-16 | Improvement in meal-chests | ||
US249802A (en) * | 1881-11-22 | Assigm | ||
US43158A (en) * | 1864-06-14 | Improvement in india-rubber syringes | ||
US3742253A (en) * | 1971-03-15 | 1973-06-26 | Burroughs Corp | Three state logic device with applications |
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 |
US4245306A (en) * | 1978-12-21 | 1981-01-13 | Burroughs Corporation | Selection of addressed processor in a multi-processor network |
US4240143A (en) * | 1978-12-22 | 1980-12-16 | Burroughs Corporation | Hierarchical multi-processor network for memory sharing |
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 |
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 |
US4831520A (en) * | 1987-02-24 | 1989-05-16 | Digital Equipment Corporation | Bus interface circuit for digital data processor |
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 |
US5317752A (en) * | 1989-12-22 | 1994-05-31 | Tandem Computers Incorporated | Fault-tolerant computer system with auto-restart after power-fall |
US5327553A (en) * | 1989-12-22 | 1994-07-05 | Tandem Computers Incorporated | Fault-tolerant computer system with /CONFIG filesystem |
US5313590A (en) * | 1990-01-05 | 1994-05-17 | Maspar Computer Corporation | System having fixedly priorized and grouped by positions I/O lines for interconnecting router elements in plurality of stages within parrallel computer |
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 |
US5663901A (en) * | 1991-04-11 | 1997-09-02 | Sandisk Corporation | Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems |
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 |
DE4345604B3 (de) * | 1992-03-06 | 2012-07-12 | Rambus Inc. | Vorrichtung zur Kommunikation mit einem DRAM |
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 |
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. |
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 |
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 |
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 |
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 |
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 |
JPH09305476A (ja) * | 1996-05-15 | 1997-11-28 | Kokusai Electric Co Ltd | データ処理装置 |
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 |
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 |
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 |
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 |
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 |
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 |
US6223301B1 (en) * | 1997-09-30 | 2001-04-24 | Compaq Computer Corporation | Fault tolerant memory |
US6185676B1 (en) * | 1997-09-30 | 2001-02-06 | Intel Corporation | Method and apparatus for performing early branch prediction in a microprocessor |
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 |
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 |
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 |
US6038630A (en) * | 1998-03-24 | 2000-03-14 | International Business Machines Corporation | Shared access control device for integrated system with multiple functional units accessing external structures over multiple data buses |
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 | 半導体回路装置 |
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 |
SG75958A1 (en) * | 1998-06-01 | 2000-10-24 | Hitachi Ulsi Sys Co Ltd | Semiconductor device and a method of producing semiconductor device |
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 |
US6067649A (en) * | 1998-06-10 | 2000-05-23 | Compaq Computer Corporation | Method and apparatus for a low power self test of a memory subsystem |
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 |
US6286083B1 (en) * | 1998-07-08 | 2001-09-04 | Compaq Computer Corporation | Computer system with adaptive memory arbitration scheme |
US6735679B1 (en) * | 1998-07-08 | 2004-05-11 | Broadcom Corporation | Apparatus and method for optimizing access to memory |
JP3248617B2 (ja) * | 1998-07-14 | 2002-01-21 | 日本電気株式会社 | 半導体記憶装置 |
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 |
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 |
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 |
US6910109B2 (en) * | 1998-09-30 | 2005-06-21 | Intel Corporation | Tracking memory page state |
US6587912B2 (en) * | 1998-09-30 | 2003-07-01 | Intel Corporation | Method and apparatus for implementing multiple memory buses on a memory module |
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 | 日本電気株式会社 | 半導体記憶装置およびそのデータ読み出し方法 |
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 |
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 |
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 |
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 |
US6061263A (en) * | 1998-12-29 | 2000-05-09 | Intel Corporation | Small outline rambus in-line memory module |
US6564329B1 (en) * | 1999-03-16 | 2003-05-13 | Linkup Systems Corporation | System and method for dynamic clock generation |
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 |
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 |
JP2001014840A (ja) * | 1999-06-24 | 2001-01-19 | Nec Corp | 複数ラインバッファ型メモリlsi |
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 |
US6493803B1 (en) * | 1999-08-23 | 2002-12-10 | Advanced Micro Devices, Inc. | Direct memory access controller with channel width configurability support |
US6552564B1 (en) * | 1999-08-30 | 2003-04-22 | Micron Technology, Inc. | Technique to reduce reflections and ringing on CMOS interconnections |
US6539490B1 (en) * | 1999-08-30 | 2003-03-25 | Micron Technology, Inc. | Clock distribution without clock delay or skew |
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 |
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 | エヌイーシーマイクロシステム株式会社 | 半導体記憶装置 |
US6670558B2 (en) * | 1999-12-29 | 2003-12-30 | Intel Corporation | 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 |
US6502161B1 (en) * | 2000-01-05 | 2002-12-31 | Rambus Inc. | Memory system including a point-to-point linked memory subsystem |
KR100343383B1 (ko) * | 2000-01-05 | 2002-07-15 | 윤종용 | 반도체 메모리 장치 및 이 장치의 데이터 샘플링 방법 |
JP2001193639A (ja) * | 2000-01-11 | 2001-07-17 | Toyota Autom Loom Works Ltd | 電動斜板圧縮機 |
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 |
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 |
JP2002014875A (ja) * | 2000-06-30 | 2002-01-18 | Mitsubishi Electric Corp | 半導体集積回路、半導体集積回路のメモリリペア方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
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 |
KR100613201B1 (ko) * | 2000-08-28 | 2006-08-18 | 마이크로코넥트 엘엘씨 | 씨피유 사용량 측정 방법 |
US6785780B1 (en) * | 2000-08-31 | 2004-08-31 | Micron Technology, Inc. | Distributed processor memory module and method |
US6526483B1 (en) * | 2000-09-20 | 2003-02-25 | Broadcom Corporation | Page open hint in transactions |
US6523093B1 (en) * | 2000-09-29 | 2003-02-18 | Intel Corporation | Prefetch buffer allocation and filtering system |
US6523092B1 (en) * | 2000-09-29 | 2003-02-18 | Intel Corporation | Cache line replacement policy enhancement to avoid memory page thrashing |
US6658509B1 (en) * | 2000-10-03 | 2003-12-02 | Intel Corporation | Multi-tier point-to-point ring memory interface |
US6631440B2 (en) * | 2000-11-30 | 2003-10-07 | Hewlett-Packard Development Company | Method and apparatus for scheduling memory calibrations based on transactions |
US6751703B2 (en) * | 2000-12-27 | 2004-06-15 | Emc Corporation | Data storage systems and methods which utilize an on-board cache |
US6889304B2 (en) * | 2001-02-28 | 2005-05-03 | Rambus Inc. | Memory device supporting a dynamically configurable core organization |
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 |
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 |
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 |
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 |
US6681292B2 (en) * | 2001-08-27 | 2004-01-20 | Intel Corporation | Distributed read and write caching implementation for optimized input/output applications |
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 |
US7062591B2 (en) * | 2001-09-28 | 2006-06-13 | Dot Hill Systems Corp. | Controller data sharing using a modular DMA architecture |
US6718440B2 (en) * | 2001-09-28 | 2004-04-06 | Intel Corporation | Memory access latency hiding with hint buffer |
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 | 삼성전자주식회사 | 반도체 집적 회로 장치 및 그것을 구비한 모듈 |
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 |
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 |
US7836252B2 (en) * | 2002-08-29 | 2010-11-16 | Micron Technology, Inc. | System and method for optimizing interconnections of memory devices in a multichip module |
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 |
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 |
US7275173B2 (en) * | 2003-03-26 | 2007-09-25 | Infineon Technologies Ag | Method for measuring and compensating for skews of data transmission lines by compensating for skew by delay elements switched in response to the calculated reative skew |
US7016213B2 (en) * | 2003-05-13 | 2006-03-21 | Advanced Micro Devices, Inc. | Method for initializing a system including a host and plurality of memory modules connected via a serial memory interconnect |
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 |
-
2003
- 2003-08-28 US US10/651,801 patent/US20050050237A1/en not_active Abandoned
-
2004
- 2004-08-06 AT AT04780366T patent/ATE549681T1/de active
- 2004-08-06 KR KR1020067004241A patent/KR20060119908A/ko not_active Application Discontinuation
- 2004-08-06 WO PCT/US2004/025523 patent/WO2005024561A2/en active Search and Examination
- 2004-08-06 EP EP04780366A patent/EP1665058B1/en not_active Not-in-force
- 2004-08-06 JP JP2006524681A patent/JP2007504531A/ja active Pending
- 2004-08-06 CN CN200480031821A patent/CN100578478C/zh active Active
- 2004-08-26 TW TW093125602A patent/TW200521693A/zh unknown
-
2005
- 2005-02-11 US US11/056,080 patent/US20050146943A1/en not_active Abandoned
- 2005-02-11 US US11/056,273 patent/US20050146944A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2007504531A (ja) | 2007-03-01 |
KR20060119908A (ko) | 2006-11-24 |
WO2005024561A3 (en) | 2005-11-10 |
US20050146944A1 (en) | 2005-07-07 |
US20050146943A1 (en) | 2005-07-07 |
US20050050237A1 (en) | 2005-03-03 |
EP1665058A2 (en) | 2006-06-07 |
TW200521693A (en) | 2005-07-01 |
EP1665058A4 (en) | 2007-07-25 |
CN1875356A (zh) | 2006-12-06 |
WO2005024561A2 (en) | 2005-03-17 |
EP1665058B1 (en) | 2012-03-14 |
ATE549681T1 (de) | 2012-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100578478C (zh) | 用于存储器模块的板上数据搜索能力的装置、系统和方法 | |
CN100595720C (zh) | 用于基于集线器的存储系统中直接存储器访问的设备和方法 | |
CN101390060B (zh) | 存储集线器和存储排序的方法 | |
US8555006B2 (en) | Memory arbitration system and method having an arbitration packet protocol | |
CN100334564C (zh) | 具有内部行高速缓存的内存集线器及访问方法 | |
CN100507874C (zh) | 用于存储器系统性能监视的存储器集线器和方法 | |
CN1938691B (zh) | 仲裁存储器响应的系统、方法和装置 | |
CN100361095C (zh) | 具有内部高速缓存和/或内存访问预测的内存集线器 | |
US9164937B2 (en) | Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system | |
CN101427224A (zh) | 用于提供存储器定序提示的存储器集线器和方法 | |
US20050210185A1 (en) | System and method for organizing data transfers with memory hub memory modules | |
EP0473405A2 (en) | Communication system in data processing apparatus | |
US6601147B1 (en) | Computer system and method for maintaining an integrated shared buffer memory in a group of interconnected hosts | |
JP2616490B2 (ja) | 共有データ蓄積方式 | |
JPH05216834A (ja) | マルチcpuシステム | |
JPS6292055A (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 |