CN100578656C - 用于自测和修复存储模块的系统和方法 - Google Patents

用于自测和修复存储模块的系统和方法 Download PDF

Info

Publication number
CN100578656C
CN100578656C CN03824359A CN03824359A CN100578656C CN 100578656 C CN100578656 C CN 100578656C CN 03824359 A CN03824359 A CN 03824359A CN 03824359 A CN03824359 A CN 03824359A CN 100578656 C CN100578656 C CN 100578656C
Authority
CN
China
Prior art keywords
memory
module
memory devices
coupled
described memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN03824359A
Other languages
English (en)
Other versions
CN1703755A (zh
Inventor
约瑟夫·M·杰迪洛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN1703755A publication Critical patent/CN1703755A/zh
Application granted granted Critical
Publication of CN100578656C publication Critical patent/CN100578656C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/48Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C2029/5606Error catch memory

Abstract

用于测试和修复位于存储器模块上存储器设备的损坏的存储器部分的计算机系统和方法。该计算机系统包括耦合至多个存储器模块的存储器集线器控制器,每个存储器模块均包括存储器集线器和多个存储器设备。该存储器集线器包括自测模块,用于确定存储器设备的损坏的存储单元的位置。所述存储器集线器中还包括修复模块,该修复模块使用损坏的存储器部分的位置来创建重映射表。该重映射表把对存储器设备的损坏单元的访问重定向至未损坏存储单元。每当该存储器集线器接收来自于存储器访问设备的存储器请求时,该存储器集线器就检查被定向访问的存储单元,并且必要时,把存储器访问重定向至未损坏单元。

Description

用于自测和修复存储模块的系统和方法
技术领域
本发明涉及一种计算机系统,更具体而言,涉及一种具有存储器模块的计算机系统,所述存储器模块具有用于把多个存储器设备耦合至处理器或者其它存储器访问设备的存储器集线器。
背景技术
计算机系统使用诸如动态随机存取存储器(“DRAM”)设备之类的存储器设备来存储由处理器访问的指令和数据。这些存储器设备通常用作计算机系统中的系统存储器。在典型的计算机系统中,处理器通过处理器总线和存储器控制器与系统存储器进行通信。处理器发出存储器请求,其包括诸如读命令之类的存储器命令,以及用于指定从中读取数据或者指令的位置的地址。存储器控制器使用命令和地址来生成适当的命令信号以及行和列地址,这些信号和地址被应用于系统存储器。响应于该命令和地址,在系统存储器和处理器之间传送数据。存储器控制器通常是系统控制器的一部分,其还包括总线桥接电路,用于将处理器总线耦合至诸如PCI总线之类的扩展总线。
虽然存储器设备的运行速度已经不断地增加,但是运行速度方面的这种增加无法跟上处理器运行速度的增加。用于将处理器耦合至存储器设备的存储器控制器的运行速度甚至更慢。相对低速的存储器控制器和存储器设备限制了处理器和存储器设备之间的数据带宽。
除了处理器和存储器设备之间的有限带宽以外,计算机系统的性能也因延迟问题而受到限制,延迟问题增加了从系统存储器设备读取数据所要求的时间。更具体地说,当把存储器设备读命令耦合至诸如同步DRAM(“SDRAM”)设备之类的系统存储器设备时,只能在延迟多个时钟周期以后从所述SDRAM设备输出读数据。因此,虽然SDRAM设备能够以高数据率同步输出突发的数据,但是最初提供数据时的延迟会明显减缓使用这种SDRAM设备的计算机系统的运行速度。
用于减轻存储器延迟问题的一种方法是:使用通过存储器集线器耦合至处理器的多个存储器设备。在存储器集线器体系结构中,把系统控制器或者存储器集线器控制器耦合至多个存储器模块,每个存储器模块均包括耦合至多个存储器设备的存储器集线器。存储器集线器在控制器和存储器设备之间有效地路由存储器请求和响应。采用这种体系结构的计算机系统可以具有更高的带宽,这是因为处理器可以访问一个存储器设备,同时另一存储器设备正在响应先前的存储器访问。例如,处理器可以向系统中的存储器设备之一输出写数据,同时系统中的另一存储器设备正在准备向处理器提供读数据。使用存储器集线器体系结构的计算机系统的运行效率可以使其更加适用于计算机系统极大增加的存储容量。
尽管使用存储器集线器来访问存储器设备具有优势,但是用于存储器设备的半导体工艺经常会造成有损坏的存储单元,这使得存储器设备不可靠。存储器设备中损坏的单元削弱使用这种设备的计算机系统的性能的程度,取决于计算机系统的类型以及它正执行的应用。计算机系统从诸如包含在电话答录机中的那些简单的计算机,到用于复杂的科学项目的高度复杂的巨型计算机各有不同。例如在用于电话答录机的简单计算机中,存储器的一个或多个存储单元的错误未必是致命的。例如,在电话答录机的存储器中的差错可能只会使存储在存储器上的合成语音产生感觉不到的改变。然而,用于执行科学计算的计算机存储器中的一个或多个损坏的存储单元会产生相当大的问题。
虽然目前的制造工艺已经实质上减少了损坏的存储单元的数目,但是计算机存储器仍然易于受到这种损坏的存储单元的影响。那些损坏的存储单元可能因在制造存储器芯片期间采取的众多步骤中的任意步骤、半导体结晶缺陷、电连接器中断等等引起。虽然具有这种损坏的存储单元的存储器芯片通常只占所生产的存储器芯片总数的一小部分(小于1%),但是这种损坏的存储器芯片的实际数目是相当大的。
过去,提供了额外的存储单元行(通称为“冗余行”)来替代已经损坏的存储单元的行。虽然在抢救另外损坏的存储器芯片的过程中使用冗余行是奏效的,但是可以被替代的损坏行的数目受到存储器芯片上所提供的冗余行数目的限制。损坏行的数目有时超出可用的冗余行的数目,由此妨碍了一些损坏行的修复。在一些情况下,能够以非常低的价格出售这种损坏的存储器芯片,以供那些不要求完美的存储器的应用之用,例如电话答录机。然而,如果那些存储器芯片中的一些可以用于更关键的应用,例如用于个人计算机,那将会是十分有益的。
允许这种损坏的存储器芯片添加到个人计算机的一种方式是采用纠错方案来补偿损坏的存储单元。纠错方案向每个数据字添加多个纠错位,用于当在数据字内发生错误数据位时允许该数据字被重构。然而,现有技术的这种纠错方案通常就只在一个数据字的一位有错时重构该数据字。而且,这种纠错方案向每个数据字添加几个额外的数据位,这导致了相当高的存储开销。另外,这种纠错方案可以被扩展为检测多个错误数据位,但是由此可能造成的存储器开销往往是无法承受的。
校正损坏的存储器位的另一方法是通过通常已知的重映射方案来实现。重映射方案使用预定的错误映射和重映射表来重定向损坏的存储单元。该错误映射通常在工厂中基于众所周知的测试来创建,该测试用于确定存储器块的哪些存储单元是损坏的。虽然这种重映射方案致力于解决双位错误问题和高存储器开销问题,但是其呈现了各种严重缺陷。例如,在工厂创建错误映射无法使将来损坏的单元得以校正,并且为制造过程增加了额外的时间和金钱。在系统控制器中创建错误映射要求每个计算机制造商为可由计算机系统访问的每个类型的存储器设备开发唯一的测试系统。
无论所使用的存储器修复或者校正技术的类型如何,都必须检测损坏的存储单元的位置。通常通过向存储单元阵列写入已知数据所形成的图案(pattern),如1和0的棋盘状图案,然后从这些存储单元读出数据以便确定读出的数据是否与写入的数据相匹配,以此来检测损坏的存储单元。以这样的方式对存储器设备进行的测试,通常是在制造存储器设备期间、并且由使用该存储器设备的计算机或者其它系统在多个阶段中执行的。例如,在计算机系统上电时,计算机系统通常测试系统存储器设备,其通常是动态随机存取(“DRAM”)存储器设备。
通过向存储器设备写入已知数据、从存储器设备读出数据和比较读出数据与写入数据,对存储器设备进行测试所需要的时间,很大程度上是存储器设备存储容量的函数。例如,如果存储器设备中存储单元的数目加倍,那么通常测试存储器设备所需的时间加倍。尽管测试用于常规的存储器体系结构的存储器设备所需时间可以是可以接受的很短的时间,但是测试使用其它体系结构的存储器设备所需的时间可能是无法接受的很长的时间。例如,在存储器集线器体系结构系统中,存储器集线器体系结构可以提供的巨大存储容量会给处理器测试存储器设备带来无法接受的长时间周期。
减少通过比较读出数据与写入数据来对存储器设备进行测试所需时间的一种方式是:通过在存储器设备中添加自测电路来将存储器测试功能移至“芯片上”。虽然这种方法可以减少测试存储器设备所需的时间,但是仍须向处理器或者其它存储器访问设备报告每个存储器设备的通过/故障状态。在使用大量存储器设备的存储器集线器体系结构中,所有存储器设备报告其通过/故障状态会要求相当大的时间周期。
因此需要一种存储器模块,该存储器模块可以将存储器集线器体系结构的优势和测试及修复存储器模块上的存储器设备的优势结合起来。
发明内容
本发明致力于一种测试和修复位于存储器模块上的存储器设备的损坏的存储单元的计算机系统和方法。所述计算机系统包括耦合至存储器集线器控制器的多个存储器模块。每个所述存储器模块都包括多个存储器设备和一个存储器集线器。所述存储器集线器包括自测模块和修复模块。所述自测模块耦合至所述存储器设备,并且响应请求来测试所述存储器设备,所述自测模块执行一个或多个自测例程。所述自测例程确定存储器设备上的损坏的存储器的位置。所述修复模块利用损坏的存储器的位置来创建重映射表。所述重映射表把存储器设备损坏的存储单元重定向至位于存储器模块上的存储器的未损坏的存储单元,例如该存储器模块在存储器设备中、或者在高速缓冲存储器或者位于存储器集线器内的暂时存储器中。由此,每当所述存储器集线器接收来自于诸如计算机处理器的存储器访问设备之一的存储器请求时,所述存储器集线器利用修复模块来检验损坏的存储器的存储单元,并且必要时,把存储器请求重定向至未损坏的单元。
正如将显而易见的那样,本发明能够在各种明显的方面进行修改,所有这些修改都不脱离本发明的宗旨和范围。据此,附图和详细说明实质上应该被认为是例证性的,而非限制性的
附图说明
图1是依照本发明一个例子的计算机系统的框图,其中多个存储器模块的每一个中都包含了存储器集线器;
图2是用于图1计算机系统的存储器模块的一个例子的框图;
图3是用于图2存储器模块的存储器集线器的一个例子的框图。
具体实施方式
图1中示出了依照本发明一个实施例的计算机系统100。计算机系统100包括用于执行各种计算功能的处理器104,例如执行特殊的软件来执行特殊的计算或者任务。处理器104包括处理器总线106,该处理器总线通常包括地址总线、控制总线和数据总线。通常把处理器总线106耦合至高速缓冲存储器108,该高速缓冲存储器108通常是静态随机存取存储器(“SRAM”)。最后,把处理器总线106耦合至系统控制器110,该系统控制器有时还被称为“北桥”或者“存储器控制器”。
系统控制器110用作各种其它部件到处理器104的通信通路。更具体地说,系统控制器110包括图形端口,通常把该图形端口耦合至图形控制器112,继而把该图形控制器耦合至视频终端114。还把系统控制器110耦合至诸如键盘或鼠标的一个或多个输入设备118,以便允许操作者通过界面与计算机系统100连接。通常,计算机系统100还包括诸如打印机的一个或多个输出设备120,把该输出设备通过系统控制器110耦合至处理器104。通常也把一个或多个数据存储设备124通过系统控制器110耦合至处理器104,以便允许处理器104存储数据或者从内部或者外部存储介质(未示出)恢复数据。典型的存储设备124的例子包括硬盘和软盘、盒式磁带和光盘只读存储器(CD-ROM)。
系统控制器110包括存储器集线器控制器128,把该存储器集线器控制器耦合至作为计算机系统100的系统存储器的多个存储器模块130a,b...n。优选的是,把存储器模块130通过高速链路134耦合至存储器集线器控制器128,该高速链路134可以是光学或者电子通信通路、或者是其它类型的通信通路。如果用光通信通路实现高速链路134,那么该光通信通路可以具有一个或多个光纤的形式。在此情况下,存储器集线器控制器128和存储器模块将包括耦合至所述光通信通路的光学输入/输出端口或者分立的输入和输出端口。在一种多点(multi-drop)方案中,把所示存储器模块130耦合至存储器集线器控制器128,在该方案中把单个高速链路134耦合至所有存储器模块130。然而,应该理解的是,还可以使用其它拓扑结构,诸如点到点耦合方案,其中使用分立的高速链路(未示出)来把每个存储器模块130耦合至存储器集线器控制器128。还可以使用开关拓扑结构,其中通过开关(未示出)有选择地把存储器集线器控制器128耦合至每个存储器模块130。对于本领域中的技术人员显而易见的是还可以使用其它拓扑结构。
每个存储器模块130都包括存储器集线器140,用于控制对六个存储器设备148的访问,在图1所示的例子中,该存储器设备148是同步的动态随机存取存储器(“SDRAM”)设备。然而,可以使用更少或者更多的存储器设备148,并且还可以使用不同于SDRAM设备的存储器设备。通过总线系统150把存储器集线器140耦合至每个系统存储器设备148,该总线系统通常包括控制总线、地址总线和数据总线。
图2中示出了可用于图1的存储器模块130的存储器集线器140的一个例子。优选的是,存储器集线器140包括:存储器控制器152、链路接口154和存储器设备接口156,但其不局限于此。把链路接口154耦合至高速链路134以便接收来自于存储器集线器控制器128的地址、命令和写数据信号,并且向存储器集线器控制器128传送读数据信号。链路接口154的类型将取决于高速链路134的特征。例如,如果使用光通信通路来实现高速链路134,那么链路接口154将包括光学输入/输出端口并且把通过光通信通路耦合的光信号转换为电信号。在任何情况下,优选的是,链路接口154包括诸如先进先出缓冲器160的缓冲器,用于当通过所述高速链路134接收到存储器请求时,接收存储器请求并且存储它们。把所述存储器请求存储在缓冲器160中,直到能够由存储器集线器140处理它们为止。
当存储器集线器140能够处理存储器请求时,将存储在缓冲器160中的存储器请求之一传送到存储器控制器152。存储器控制器152可以包括定序器158,该定序器把存储器请求从由存储器集线器控制器128输出的格式转换为具有能够用于存储器设备148的格式的存储器请求。这种重新格式化的请求信号将通常包括源自于包含在存储器请求中的存储器命令的存储器命令信号、以及源自于包含在存储器请求中的地址的行和列地址信号。在该存储器请求之一是写存储器请求的情况下,该重新格式化的请求信号将通常包括源自于包含在由存储器集线器140接收的存储器请求中的写数据的写数据信号。例如,如果存储器设备148是常规的DRAM设备,那么存储器定序器158将输出行地址信号、行地址选通(“RAS”)信号、有效高位写/有效低位读信号(“W/R*”)、列地址信号和列地址选通(“CAS”)信号。
定序器158把重新格式化的存储器请求的信号依照存储器设备148所要求的顺序应用于存储器设备接口156。存储器设备接口156的类型将取决于存储器设备148的特征。例如,定序器158可以将行地址信号、继之以RAS信号、继之以列地址信号、继之以CAS信号应用于存储器设备接口156。在任何情况下,优选的是,存储器设备接口156包括诸如先进先出(FIFO)缓冲器162的缓冲器,用于当从定序器158接收到一个或多个存储器请求时接收并且存储它们。把该存储器请求存储在缓冲器162中,直到能够由存储器设备148处理它们为止。在存储器设备接口156存储了多个存储器请求的情况下,存储器设备接口156可以对存储器请求重新排序,以便把它们依照其它的顺序应用于存储器设备148中。
如上所述的存储器请求是由存储器集线器140接收到的,其格式不同于应用于存储器设备148的存储器请求的格式。然而,存储器集线器控制器128可以代之以把来自于处理器104的所述存储器请求重新格式化为可由存储器设备148使用的格式。然后,定序器158往往只依照存储器设备148使用所需的顺序来安排有重新格式化的请求信号。然后把一个或多个存储器请求的存储器请求信号传送到存储器设备接口156,如此可以随后把它们应用于存储器设备148。
进一步参考图2,存储器集线器140还包括自测模块164和修复模块166。自测模块164包括定序器168,而修复模块166包括错误映射174和重映射表176。虽然未示出,但是存储器模块140还可以包括其它部件,如上所述,用于与存储器集线器控制器128以及存储器设备148连接。
如先前所解释的那样,存储器模块所具有的问题之一就是存在损坏的存储器。为了确保存储器模块的可靠性,需要在工厂或者在已安装好存储器模块的计算机上花费额外的时间和金钱来测试和/或修复每个模块。然而,在工厂测试和修复存储器无法解决可能发展的任何将来的存储器缺陷。同样,测试已安装在计算机中的存储器需要在每次向计算机供电时花费时间供计算机来执行测试例程。对于使用具有存储器集线器体系结构的存储器的计算机系统来说,在每次上电期间测试存储器设备所需的时间可能是无法接受的长时间。此外,在已经把存储器设备安装在计算机系统中之后,对这些存储器设备进行的测试只能识别存储器缺陷的存在。一般不能够对这种缺陷采取任何行动,例如无法通过使用如上所述的技术来修复这种缺陷。
图2中所示的存储器模块130提供了自测和修复能力,这种能力被集成到存储器模块130中。由此,在把存储器模块130安装到计算机系统100或者其它系统之后,该存储器模块可以对自身进行连续地测试和修复。该测试和修复系统是存储器模块130不可分割的部分,并且是专为添加到存储器模块130中的存储器设备148的类型而设计的。这样做不需要每个计算机制造商为其计算机系统使用的每种类型的存储器设备148开发自定义的测试和修复系统。另外,通过在存储器集线器140上设置自测模块164和修复模块166,存储器模块130利用了存储器集线器140的存储器处理能力,例如在存储器集线器控制器128和存储器设备148之间有效路由存储器请求和响应的存储器集线器的能力。这样使得存储器模块130能更加一致地并且迅速地对自身进行测试和修复。
图2中所示的自测模块164提供了通过定序器168直接访问存储器设备148的自测系统。自测模块164可以执行多个内部自测(BIST)例程(未示出)来检查存储器模块130的存储器设备148。该自测例程可以采用逻辑电路或者已编程处理器来执行。该自测例程可以存储在自测模块164中,或者可以存储在存储器模块130上的非易失性存储器中,或者存储在其它地方,然后当需要时被载入自测模块164。所述自测例程执行一系列存储器设备测试并且识别损坏的存储单元。例如,一个例程可以向存储器设备148的存储单元写数据,然后试图从存储器设备148读取数据。如果从所述存储单元中读取的数据与写入该存储单元的数据不匹配,那么就确定该存储单元是损坏的。自测例程可以测试每个存储单元以便确定它是否损坏,如果是,就对该损坏的存储单元创建错误标记。在替代的实现方式中,所述自测例程可以测试较大的存储单元,例如四千字节的存储单元组,以便确定所述四千字节的存储单元是否损坏。
在图2中所示的实施例中,定序器168被置于自测模块164中。定序器168允许自测模块164通过存储器设备接口156访问每个存储器设备148。通过向定序器168发送一系列存储器请求来执行自测模块164的自测例程。定序器168把存储器请求从来自于自测模块164输出的格式转换为具有能够用于存储器设备148的格式的存储器请求。定序器168把该重新格式化的存储器请求应用于存储器设备接口156。
能够以多种方式启动自测模块164的自测例程。如图2所示,把测试信号170耦合至自测模块164来启动自测模块164的测试过程。每当计算机系统100开启时,可以提供该信号,如此使得当计算机系统上电时始终运行测试例程。存储器模块130上还可以设置上电检测电路(未示出),每当所述计算机系统100开启时,所述上电检测电路检测上电并且启动自测模块164的自测例程。另外,自测例程可以从供给测试信号170的处理器104或者从高速链路134来启动。更具体地说,高速链路134可用于提供启动自测模块116的自测例程的信号。启动测试过程可以本领域技术人员所能普遍理解的其它方式来实现,并且不局限于此处所描述的这些方式。
存储器测试的结果用于识别并且优选的是用于修复存储器设备148的损坏的存储单元。可以把所述结果直接报告给计算机系统100的处理器104或者其它存储器访问设备。如图2所示,可以把所述结果经由测试结果链路172A或者链路数据输出134发送。这样允许每个存储器访问设备分别地处理损坏的存储单元。然而,优选的是,由存储器集线器140上的修复模块166试用所述结果。如图2所示,把所述结果经由测试结果链路172B发送到修复模块166。
将存储器设备148的损坏存储单元的标识符组合并且存储在错误映射174中。错误映射174可以由自测模块164创建,然后被传送到修复模块166,或者在替代的实现方式中,把自测例程的结果传送到修复模块166以便由修复模块166来创建错误映射174。在优选的实施例中,把所述错误映射174存储在修复模块166上,但是错误映射174还可以由自测模块164存储并且从自测模块164对其进行访问,或者存储在其它位置中,例如由存储器集线器140或者存储器设备148存储。用于存储错误映射174的存储器类型通常是非易失性存储器。因为访问非易失性存储器通常比访问易失性存储器要慢,所以可以把错误映射174存储在非易失性存储器,然后传送到易失性存储器中,以便由修复模块166快速访问。
错误映射174包括存储器设备148的每个损坏的易失性存储单元的错误标记。优选的是,通过把错误标记与每个损坏的易失性存储器部分相关联,把无错误标记与每个未损坏的易失性存储器部分相关联,以此来实现错误映射174。例如,如果所述存储器部分是损坏的,那么所述错误标记可以是诸如0的第一逻辑值的标记位,;如果所述存储器部分没有损坏,那么所述无错误标记可以是诸如1的第二逻辑值的标记位。作为选择,错误映射174可以仅仅包括损坏的存储单元的地址,如此来假定未列出的地址是未损坏的。
修复模块166使用位于存储器模块130上的存储器来重新映射存储器设备148的损坏的存储单元。一旦已经创建了错误映射174,修复模块164就创建重映射表176。重映射表176把存储器设备148的每个损坏的存储单元重定向至存储器设备148的已知未损坏的部分。换言之,对于存储器设备148的每个损坏部分来说,重映射表176包括指向存储器设备148的未损坏部分的索引。优选的是,损坏的存储单元被映射到的单元位于存储器模块130的存储器设备148的保留区域,如此使得它们无法被处理器104直接访问。通过使保留的存储器区域不被处理器104直接访问,计算机系统100避免存储器访问冲突,该冲突往往当处理器104对由损坏单元所映射至的存储单元所占据的单元进行重写时发生,重映射表176能把损坏的存储单元重定向至存储器模块130上的其它未损坏的单元,其包括高速缓冲存储器和位于存储器集线器140的暂时存储器。
如同错误映射174一样,重映射表176可以存储在多个存储单元中。如果每当计算机系统100被上电时重新创建所述重映射表,那么重映射表可以位于存储器设备148中。然而,重映射表176还可以存储在非易失性存储器中。例如,如果只周期性地创建重映射表176,那么优选的是,把重映射表176存储在非易失性存储器中。当把重映射表176存储在非易失性存储器中时,对重映射表176的访问时间因为向易失性存储器传送表176而增加。如图2所示,重映射表176被存储在位于修复模块166的存储器中,但是不局限于此位置。重映射表176还可以位于存储器集线器140上的其它存储器中。优选的是,重映射表位于存储器设备148中,这是因为修复模块166或者存储器集线器140中的可用存储器数量是有限的,而在存储器设备148中有可能获得更大的空间。如果把重映射表176存储在存储器设备148中,那么优选的是,把它存储在保留存储器区域。
在把错误映射174和重映射表176存储在存储器中的适当位置之后,存储器模块130准备接收用于访问存储器设备148的存储器请求。存储器集线器140的链路接口154接收来自于存储器集线器控制器128的每个存储器请求,用于访问存储器设备148的一个或多个被访单元。链路接口154将存储器请求耦合至存储器集线器140的存储器控制器152。存储器控制器152通过访问修复模块164来做出响应,以根据错误映射176来确定该存储器请求的被访单元是否是损坏的。如果错误映射176表明被访问的存储单元不是损坏的,那么存储器控制器152仅仅把该存储器请求经由存储器设备接口156耦合至存储器设备148的被访单元。如果所述错误映射176表明被访问的存储单元是损坏的,那么存储器修复模块164访问重映射表176。然后存储器控制器152把该存储器请求耦合至根据重映射表176确定的未损坏存储单元,并且把该存储器请求经由存储器设备接口156耦合至存储器设备148。然后存储器设备接口156执行由该存储器请求所请求的功能。例如,如果所述存储器访问请求是从被访问的存储单元读数据,那么存储器设备接口156就从被访问的存储单元所映射至的未损坏存储单元读取数据,并且存储器集线器140把数据经由高速链路134返回到存储器集线器控制器128。
图3示出了图1的存储器集线器140的第二实施例。在此实施例中,存储器集线器140包括图2的自测模块164和修复模块166。修复模块166也包括错误映射174和重映射表176。为了简洁,这种共同的部件用了相同的附图标号,并且将不会重复对它们操作的说明。
图3中的存储器集线器140不同于图2中所示的存储器集线器140之处是:图3中的存储器集线器140使用了包括错误映射180和重映射表182的存储器控制器178,错误映射180是错误映射174的副本,而重映射表182是重映射表176的副本。图3中的存储器集线器140不同于图2中所示的存储器集线器140之处还在于:存储器控制器178包括定序器184,而自测模块164不包括用于图2实施例的定序器168。因而,所述自测模块164没有从图2的安装在同一集成板的定序器168直接访问存储器设备148,而是通过现在位于存储器控制器178上的定序器184访问存储器设备148。通过在存储器控制器178中设置错误映射180和重映射表182,存储器控制器178能够识别和修复损坏的存储单元,而无须为每个存储器请求访问修复模块164。通过使用存储器控制器178中的定序器184来访问存储器设备148,图3的存储器集线器140可以利用存储器控制器178的现有能力来访问存储器设备148。
优选的是,每当创建新的映射174和表176,存储器控制器178传送错误映射174和重映射表176至存储器控制器178。另一选择是在存储器控制器178上设置修复模块164,如此使得错误映射174和重映射表176可以被直接访问,而无须被分别传送到错误映射180和重映射表182。存储器集线器140的部件配置还可以使用不同于图2和3中所示的实施例所使用的配置。
测试和修复存储器设备148的损坏的存储单元的全部过程对于存储器集线器控制器128是透明的,更具体来讲,对处理器104以及其它存储器访问设备是透明的。因而,不需要为了与存储器模块130的存储器设备148协同运转而以任何方式修改处理器104运行的软件或存储器集线器控制器128的功能。由此,存储器集线器控制器128不必测试存储器设备148或者修复损坏的存储单元,而是依照常规的方式与存储器集线器140通信。
虽然已经参考优选实施例描述了本发明,但是所属技术领域的专业人员将意识到,在不脱离本发明的实质和范围的情况下可以做出各种形式和细节上的修改。因此,本发明除了所附的权利要求书以外不受限制。

Claims (51)

1.一种存储器模块,包括:
多个存储器设备;以及
一个存储器集线器,包括:
自测模块,耦合到至少一个所述存储器设备,该自测模块响应于请求来测试至少一个所述存储器设备,该自测模块还用于识别所述存储器设备的损坏的存储单元;
修复模块,耦合至该自测模块以及至少一个所述存储器设备,该修复模块响应于对所述存储器设备的损坏的存储单元的存储器请求来把所述存储器请求重定向至所述存储器设备的未损坏的存储单元;
链路接口,用于接收对至少一个所述存储器设备的存储器请求;
存储器设备接口,耦合至所述存储器设备,该存储器设备接口用于把存储器请求耦合至所述存储器设备;以及
存储器控制器,耦合至所述链路接口以及所述存储器设备接口和所述修复模块,该存储器控制器用于通过使用所述修复模块把对存储器设备损坏的单元的存储器请求重定向至存储器设备的未损坏的单元,来生成并把来自于所述链路接口的存储器请求耦合至所述存储器设备接口。
2.如权利要求1所述的存储器模块,其中所述自测模块还包括定序器,用于访问所述存储器设备,该定序器用于输出地址,该地址包含在来自于所述自测模块的存储器请求中,用于访问所述存储器设备的存储单元。
3.如权利要求1所述的存储器模块,其中所述存储器控制器还包括定序器,用于访问所述存储器设备,该定序器用于输出地址,该地址包含在来自于所述自测例程的存储器请求中,用于访问所述存储器设备的存储单元。
4.如权利要求1所述的存储器模块,其中所述存储器设备接口还包括先进先出缓冲器,用于接收并且存储从所述存储器控制器接收的存储器请求,并且把所存储的存储器请求依照接收的顺序传送到至少一个所述存储器设备中。
5.如权利要求1所述的存储器模块,其中所述链路接口包括先进先出缓冲器,用于接收并且存储存储器请求,并且把所存储的存储器请求依照接收的顺序传送到所述存储器控制器中。
6.如权利要求1所述的存储器模块,其中把识别所述存储器设备的损坏的存储单元的信息从所述自测模块传送到所述修复模块。
7.如权利要求1所述的存储器模块,其中把所述自测模块耦合到至少一个所述存储器访问设备中,把所述存储器设备的损坏的存储器的位置传送到至少一个所述存储器访问设备。
8.如权利要求1所述的存储器模块,其中所述修复模块还包括存储了所述存储器设备损坏的存储器的位置的错误映射,所述修复模块使用该错误映射来确定所述存储器请求是否是对所述存储器设备损坏的存储单元的请求。
9.如权利要求8所述的存储器模块,其中所述修复模块还包括重映射表,该重映射表使用所述错误映射来把所述存储器设备损坏的存储单元指定至位于所述存储器模块上的存储器的未损坏的存储单元,所述修复模块使用该重映射表来把对所述存储器设备损坏的存储单元的存储器请求重定向至所述存储器设备未损坏的存储单元。
10.如权利要求1所述的存储器模块,其中所述存储器设备包括动态随机存取存储器设备。
11.一种存储器模块,包括:
多个存储器设备;以及
一个存储器集线器,包括:
存储器控制器,耦合到至少一个所述存储器设备,该存储器控制器响应于对所述存储器设备的存储器请求;
自测模块,耦合至所述存储器控制器,该自测模块响应于请求来测试至少一个所述存储器设备,该自测模块还用于识别所述存储器设备损坏的存储单元;
修复模块,耦合至所述存储器控制器,该修复模块响应于对所述存储器设备损坏的存储单元的存储器请求,来把所述存储器请求重定向至所述存储器设备的未损坏存储单元;
链路接口,耦合至所述存储器控制器,用于接收对至少一个所述存储器设备的存储器请求;以及
存储器设备接口,耦合至所述存储器控制器和所述存储器设备,该存储器设备接口用于把存储器请求耦合至所述存储器设备。
12.如权利要求11所述的存储器模块,其中所述存储器控制器还包括定序器,用于访问所述存储器设备,该定序器用于输出地址,该地址包含在来自于所述自测模块的存储器请求中,用于访问所述存储器设备的存储单元。
13.如权利要求11所述的存储器模块,其中所述存储器控制器通过使用所述修复模块把对所述存储器设备的损坏的单元的存储器请求重定向至所述存储器设备的未损坏的单元,来生成并把来自于所述链路接口的存储器请求耦合至所述存储器设备接口。
14.如权利要求11所述的存储器模块,其中所述存储器设备接口还包括先进先出缓冲器,用于接收并且存储从所述存储器控制器接收的存储器请求,并且把所存储的存储器请求依照接收的顺序传送到至少一个所述存储器设备中。
15.如权利要求11所述的存储器模块,其中所述链路接口包括先进先出缓冲器,用于接收并且存储存储器请求,并且把所存储的存储器请求依照接收的顺序传送到所述存储器控制器中。
16.如权利要求11所述的存储器模块,其中把识别所述存储器设备损坏的存储单元的信息从所述自测模块传送到所述修复模块。
17.如权利要求11所述的存储器模块,其中把所述自测模块耦合到至少一个所述存储器访问设备中,把所述存储器设备的损坏的存储器位置传送到至少一个所述存储器访问设备。
18.如权利要求11所述的存储器模块,其中所述修复模块还包括存储了所述存储器设备损坏的存储器位置的错误映射,该修复模块使用所述错误映射来确定所述存储器请求是否是对所述存储器设备损坏的存储单元的请求。
19.如权利要求18所述的存储器模块,其中所述修复模块还包括重映射表,该重映射表使用所述错误映射来把所述存储器设备的损坏的存储单元指定至位于所述存储器模块上的存储器的未损坏存储单元,所述修复模块使用该重映射表来把对所述存储器设备损坏的存储单元的存储器请求重定向至所述存储器设备的未损坏存储单元。
20.如权利要求19所述的存储器模块,其中所述存储器控制器还包括所述修复模块的所述错误映射,该错误映射用于确定所述存储器请求是否是对所述存储器设备损坏的存储单元的请求。
21.如权利要求20所述的存储器模块,其中所述存储器控制器还包括所述修复模块的重映射表,该重映射表用于把对所述存储器设备的损坏的单元的存储器请求重定向至所述存储器设备的未损坏的单元。
22.如权利要求11所述的存储器模块,其中所述存储器设备包括动态随机存取存储器设备。
23.一种计算机系统,包括:
中央处理单元(“CPU”);
系统控制器,耦合至所述CPU,该系统控制器具有输入端口和输出端口;
通过所述系统控制器耦合至所述CPU的输入设备;
通过所述系统控制器耦合至所述CPU的输出设备;
通过所述系统控制器耦合至所述CPU的存储设备;
多个存储器模块,每个存储器模块包括:
多个存储器设备;和
一个存储器集线器,包括:
自测模块,耦合到至少一个所述存储器设备,该自测模块响应于请求来测试至少一个所述存储器设备,该自测模块还用于识别所述存储器设备的损坏的存储单元;
修复模块,耦合至所述自测模块以及至少一个所述存储器设备,该修复模块响应于对所述存储器设备损坏的存储单元的存储器请求来把所述存储器请求重定向至所述存储器设备的未损坏存储单元;
链路接口,用于接收对至少一个所述存储器设备的存储器请求;
存储器设备接口,耦合至所述存储器设备,该存储器设备接口用于把存储器请求耦合至所述存储器设备;以及
存储器控制器,耦合至所述链路接口以及所述存储器设备接口和所述修复模块,该存储器控制器用于通过使用所述修复模块把对所述存储器设备损坏的单元的存储器请求重定向至所述存储器设备的未损坏的单元,来生成并把来自于所述链路接口的存储器请求耦合至所述存储器设备接口;以及
通信链路,用于把所述系统控制器的输出端口耦合至每个所述存储器模块中的所述存储器集线器的链路接口,并且用于把所述系统控制器的输入端口耦合至每个所述存储器模块中的所述存储器集线器的链路接口。
24.如权利要求23所述的计算机系统,其中所述自测模块还包括定序器,用于访问所述存储器设备,该定序器用于输出地址,该地址包含在来自于所述自测模块的存储器请求中,用于访问所述存储器设备的存储单元。
25.如权利要求23所述的计算机系统,其中所述存储器控制器还包括定序器,用于访问所述存储器设备,该定序器用于输出地址,该地址包含在来自于所述自测例程的存储器请求中,用于访问所述存储器设备的存储单元。
26.如权利要求23所述的计算机系统,其中所述存储器设备接口还包括先进先出缓冲器,用于接收并且存储从所述存储器控制器接收的存储器请求,并且把所存储的存储器请求依照接收的顺序传送到至少一个所述存储器设备中。
27.如权利要求23所述的计算机系统,其中所述链路接口包括先进先出缓冲器,用于接收并且存储存储器请求,并且把所存储的存储器请求依照接收的顺序传送到所述存储器控制器中。
28.如权利要求23所述的计算机系统,其中把识别所述存储器设备损坏的存储单元的信息从所述自测模块传送到所述修复模块。
29.如权利要求23所述的计算机系统,其中把所述自测模块耦合到至少一个所述存储器访问设备中,把所述存储器设备的损坏的存储器的位置传送到至少一个所述存储器访问设备。
30.如权利要求23所述的计算机系统,其中所述修复模块还包括存储了所述存储器设备损坏的存储器的位置的错误映射,所述修复模块使用所述错误映射来确定所述存储器请求是否是对所述存储器设备损坏的存储单元的请求。
31.如权利要求30所述的计算机系统,其中所述修复模块还包括重映射表,该重映射表使用所述错误映射来把所述存储器设备的损坏的存储单元指定至位于所述存储器模块上的存储器的未损坏存储单元,所述修复模块使用所述重映射表把对所述存储器设备损坏的存储单元的存储器请求重定向至所述存储器设备的未损坏存储单元。
32.如权利要求23所述的计算机系统,其中所述存储器设备包括动态随机存取存储器设备。
33.如权利要求23所述的计算机系统,其中所述存储器集线器控制器的输入和输出端口包括耦合至所述通信链路的组合的输入/输出端口,并且其中每个所述存储器集线器的输入和输出端口包括耦合至所述通信链路的组合的输入输出端口。
34.如权利要求33所述的计算机系统,其中所述通信链路包括光学通信链路,其中所述存储器集线器控制器的输入和输出端口包括耦合至所述光学通信链路的光学输入/输出端口,并且其中每个所述存储器集线器的输入和输出端口包括耦合至所述光学通信链路的各自的光学输入/输出端口。
35.一种计算机系统,包括:
中央处理单元(“CPU”);
系统控制器,耦合至所述CPU,该系统控制器具有输入端口和输出端口;
通过所述系统控制器耦合至所述CPU的输入设备;
通过所述系统控制器耦合至所述CPU的输出设备;
通过所述系统控制器耦合至所述CPU的存储设备;
多个存储器模块,每个存储器模块包括:
多个存储器设备;和
一个存储器集线器,包括:
存储器控制器,耦合到至少一个所述存储器设备,该存储器控制器响应于对所述存储器设备的存储器请求;
自测模块,耦合至所述存储器控制器,该自测模块响应于请求来测试至少一个所述存储器设备,该自测模块还用于识别所述存储器设备的损坏的存储单元;
修复模块,耦合至所述存储器控制器,所述修复模块响应于对所述存储器设备损坏的存储单元的存储器请求,把该存储器请求重定向至所述存储器设备的未损坏存储单元;
链路接口,耦合至所述存储器控制器,用于接收对至少一个所述存储器设备的存储器请求;以及
存储器设备接口,耦合至所述存储器控制器和所述存储器设备,该存储器设备接口用于把存储器请求耦合至所述存储器设备;以及
通信链路,用于把所述系统控制器的输出端口耦合至每个所述存储器模块中的存储器集线器的链路接口,并且用于把所述系统控制器的输入端口耦合至每个所述存储器模块中的存储器集线器的链路接口。
36.如权利要求35所述的计算机系统,其中所述存储器控制器还包括定序器,用于访问所述存储器设备,该定序器用于输出地址,该地址包含在来自于所述自测模块的存储器请求中,用于访问所述存储器设备的存储单元。
37.如权利要求35所述的计算机系统,其中所述存储器控制器通过使用所述修复模块把对所述存储器设备的损坏的单元的存储器请求重定向至所述存储器的未损坏单元,来生成并且把来自于所述链路接口的存储器请求耦合至所述存储器设备接口。
38.如权利要求35所述的计算机系统,其中所述存储器设备接口还包括先进先出缓冲器,用于接收并且存储从所述存储器控制器接收的存储器请求,并且把所存储的存储器请求依照接收的顺序传送到至少一个所述存储器设备中。
39.如权利要求35所述的计算机系统,其中所述链路接口包括先进先出缓冲器,用于接收并且存储存储器请求,并且把所存储的存储器请求依照接收的顺序传送到所述存储器控制器中。
40.如权利要求35所述的计算机系统,其中把识别所述存储器设备损坏的存储单元的信息从所述自测模块传送到所述修复模块。
41.如权利要求35所述的计算机系统,其中把所述自测模块耦合到至少一个所述存储器访问设备中,把所述存储器设备的损坏的存储器的位置传送到至少一个所述存储器访问设备。
42.如权利要求35所述的计算机系统,其中所述修复模块还包括存储了所述存储器设备损坏的存储器的位置的错误映射,所述修复模块使用所述错误映射来确定所述存储器请求是否是对所述存储器设备损坏的存储单元的请求。
43.如权利要求42所述的计算机系统,其中所述修复模块还包括重映射表,所述重映射表使用所述错误映射来把所述存储器设备的损坏的存储单元指定至位于所述存储器模块上的存储器的未损坏存储单元,所述修复模块使用所述重映射表把对所述存储器设备损坏的存储单元的存储器请求重定向至所述存储器设备的未损坏存储单元。
44.如权利要求43所述的计算机系统,其中所述存储器控制器还包括所述修复模块的错误映射,该错误映射用于确定所述存储器请求是否是对所述存储器设备损坏的存储单元的请求。
45.如权利要求44所述的计算机系统,其中所述存储器控制器还包括所述修复模块的重映射表,该重映射表用于把对所述存储器设备损坏单元的存储器请求重定向至所述存储器设备的未损坏的单元。
46.如权利要求35所述的计算机系统,其中所述存储器设备包括动态随机存取存储器设备。
47.如权利要求35所述的计算机系统,其中所述存储器集线器控制器的输入和输出端口包括耦合至所述通信链路的组合的输入/输出端口,并且其中每个所述存储器集线器的输入和输出端口包括耦合至所述通信链路的组合的输入/输出端口。
48.如权利要求47所述的计算机系统,其中所述通信链路包括光学通信链路,其中所述存储器集线器控制器的输入和输出端口包括耦合至光学通信链路的光学输入/输出端口,并且其中每个所述存储器集线器的输入和输出端口包括耦合至所述光学通信链路的各自的光学输入/输出端口。
49.一种测试和修复多个存储器模块中的每一个存储器模块上的多个存储器设备中的每一个的方法,每个所述存储器模块均包括存储器集线器,该方法包括:
使用至少一个所述存储器模块中的所述存储器集线器来生成自测例程;
使用所生成的自测例程来测试所述存储器模块中的至少一个存储器设备,以便识别至少一个所述存储器设备的损坏的存储单元;
在所述存储器集线器处接收对至少一个所述存储器设备进行访问的存储器请求;
在所述存储器集线器处确定所接收的存储器请求是否被定向到被识别为损坏的存储单元的存储单元;
如果所接收的存储器请求被定向到被识别为损坏的存储单元的存储单元,那么把所述存储器请求重定向至所述存储器模块上未损坏的存储单元;并且
如果所接收的存储器请求被定向到没有被识别为损坏的存储单元的存储单元,那么访问被所述存储器请求所定向到的在所述至少一个存储器设备中的单元。
50.如权利要求49所述的方法,还包括在错误映射中存储用于识别所述存储器设备损坏的存储单元的信息。
51.如权利要求50所述的方法,还包括根据所述错误映射创建重映射表,所述错误映射把所述存储器设备的损坏的存储单元指定到所述存储器设备的未损坏存储单元,所述重映射表用于把被定向到所述存储器设备损坏的存储单元的存储器请求重定向至所述存储器设备的未损坏存储单元。
CN03824359A 2002-08-16 2003-08-05 用于自测和修复存储模块的系统和方法 Expired - Fee Related CN100578656C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/222,393 2002-08-16
US10/222,393 US6754117B2 (en) 2002-08-16 2002-08-16 System and method for self-testing and repair of memory modules

Publications (2)

Publication Number Publication Date
CN1703755A CN1703755A (zh) 2005-11-30
CN100578656C true CN100578656C (zh) 2010-01-06

Family

ID=31714947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN03824359A Expired - Fee Related CN100578656C (zh) 2002-08-16 2003-08-05 用于自测和修复存储模块的系统和方法

Country Status (10)

Country Link
US (1) US6754117B2 (zh)
EP (1) EP1535131B1 (zh)
JP (1) JP4431977B2 (zh)
KR (1) KR100848254B1 (zh)
CN (1) CN100578656C (zh)
AT (1) ATE426897T1 (zh)
AU (1) AU2003258104A1 (zh)
DE (1) DE60326854D1 (zh)
TW (1) TWI242780B (zh)
WO (1) WO2004017162A2 (zh)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526320A (en) * 1994-12-23 1996-06-11 Micron Technology Inc. Burst EDO memory device
US7010642B2 (en) * 2000-01-05 2006-03-07 Rambus Inc. System featuring a controller device and a memory module that includes an integrated circuit buffer device and a plurality of integrated circuit memory devices
US7028213B2 (en) * 2001-09-28 2006-04-11 Hewlett-Packard Development Company, L.P. Error indication in a raid memory system
US6836438B2 (en) * 2002-01-11 2004-12-28 Macronix International Co., Ltd. Method and apparatus for dynamically hiding a defect in an embedded memory
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
DE10297754B4 (de) * 2002-06-24 2008-07-24 Samsung Electronics Co., Ltd., Suwon Speichermodul mit einem Übertragungspfad für Highspeed-Daten und einem Übertragungspfad für Lowspeed-Daten, Speichersystem mit einem solchen Speichermodul und Verfahren zum Übertragen von Daten in einem solchen Speichermodul
US7117316B2 (en) * 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US7149874B2 (en) * 2002-08-16 2006-12-12 Micron Technology, Inc. Memory hub bypass circuit and method
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
US7007211B1 (en) * 2002-10-04 2006-02-28 Cisco Technology, Inc. Testing self-repairing memory of a device
US7111213B1 (en) * 2002-12-10 2006-09-19 Altera Corporation Failure isolation and repair techniques for integrated circuits
US6934199B2 (en) * 2002-12-11 2005-08-23 Micron Technology, Inc. Memory device and method having low-power, high write latency mode and high-power, low write latency mode and/or independently selectable write latency
US6961259B2 (en) 2003-01-23 2005-11-01 Micron Technology, Inc. Apparatus and methods for optically-coupled memory systems
US7320100B2 (en) 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US7184916B2 (en) * 2003-05-20 2007-02-27 Cray Inc. Apparatus and method for testing memory cards
US20040243769A1 (en) * 2003-05-30 2004-12-02 Frame David W. Tree based memory structure
US7245145B2 (en) 2003-06-11 2007-07-17 Micron Technology, Inc. Memory module and method having improved signal routing topology
US7120727B2 (en) 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US7107415B2 (en) * 2003-06-20 2006-09-12 Micron Technology, Inc. Posted write buffers and methods of posting write requests in memory modules
US7260685B2 (en) * 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
KR100500454B1 (ko) * 2003-07-28 2005-07-12 삼성전자주식회사 메모리 모듈 테스트 시스템 및 메모리 모듈 평가 시스템
DE10335708B4 (de) * 2003-08-05 2009-02-26 Qimonda Ag Hub-Baustein zum Anschließen von einem oder mehreren Speicherbausteinen
DE10335978B4 (de) * 2003-08-06 2006-02-16 Infineon Technologies Ag Hub-Baustein zum Anschließen von einem oder mehreren Speicherbausteinen
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
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US6996749B1 (en) 2003-11-13 2006-02-07 Intel Coporation Method and apparatus for providing debug functionality in a buffered memory channel
US20050138302A1 (en) * 2003-12-23 2005-06-23 Intel Corporation (A Delaware Corporation) Method and apparatus for logic analyzer observability of buffered memory module links
US7330992B2 (en) * 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7216196B2 (en) * 2003-12-29 2007-05-08 Micron Technology, Inc. Memory hub and method for memory system performance monitoring
US7188219B2 (en) * 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7366864B2 (en) 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
US7082075B2 (en) * 2004-03-18 2006-07-25 Micron Technology, Inc. Memory device and method having banks of different sizes
US7120723B2 (en) 2004-03-25 2006-10-10 Micron Technology, Inc. System and method for memory hub-based expansion bus
US7590797B2 (en) 2004-04-08 2009-09-15 Micron Technology, Inc. System and method for optimizing interconnections of components in a multichip memory module
US7162567B2 (en) * 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
US7222213B2 (en) * 2004-05-17 2007-05-22 Micron Technology, Inc. System and method for communicating the synchronization status of memory modules during initialization of the memory modules
US7519788B2 (en) 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7310748B2 (en) 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
KR100624576B1 (ko) 2004-06-11 2006-09-19 삼성전자주식회사 허브를 갖는 메모리 모듈을 테스트하는 방법 및 이를수행하기 위한 메모리 모듈의 허브
CN100337285C (zh) * 2004-07-13 2007-09-12 海信集团有限公司 一种对NAND flash存储器进行物理损坏模拟的系统及其方法
DE102004039393B4 (de) * 2004-08-13 2008-04-17 Qimonda Ag Verfahren zum Testen einer Speichervorrichtung und Speichervorrichtung zur Durchführung des Verfahrens
DE102004042074A1 (de) * 2004-08-31 2006-03-09 Infineon Technologies Ag Verfahren zum Testen eines Speichers mittels externem Testchip und Vorrichtung zur Durchführung des Verfahrens
US7392331B2 (en) 2004-08-31 2008-06-24 Micron Technology, Inc. System and method for transmitting data packets in a computer system having a memory hub architecture
KR100565889B1 (ko) * 2004-11-03 2006-03-31 삼성전자주식회사 메모리 테스트 방법, 메모리 모듈의 허브 및 이를 가지는풀리 버퍼드 듀얼인라인 메모리 모듈
KR100557221B1 (ko) * 2004-11-04 2006-03-07 삼성전자주식회사 메모리 모듈에서의 신호 무결성 테스트 방법 및 이를 위한메모리 모듈의 버퍼
US7409623B2 (en) 2004-11-04 2008-08-05 Sigmatel, Inc. System and method of reading non-volatile computer memory
US7523364B2 (en) * 2005-02-09 2009-04-21 International Business Machines Corporation Double DRAM bit steering for multiple error corrections
US7262354B2 (en) * 2005-03-04 2007-08-28 Orred Gregory D Stringed practice device and method
KR100666612B1 (ko) * 2005-05-27 2007-01-09 삼성전자주식회사 리던던시 코드 체크 기능을 가지는 반도체 메모리 장치 및그것을 구비한 메모리 시스템
US7319340B2 (en) * 2005-08-01 2008-01-15 Micron Technology, Inc. Integrated circuit load board and method having on-board test circuit
US7328381B2 (en) * 2005-08-01 2008-02-05 Micron Technology, Inc. Testing system and method for memory modules having a memory hub architecture
US7765424B2 (en) * 2005-08-19 2010-07-27 Micron Technology, Inc. System and method for injecting phase jitter into integrated circuit test signals
US11328764B2 (en) 2005-09-26 2022-05-10 Rambus Inc. Memory system topologies including a memory die stack
US7562271B2 (en) 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US7464225B2 (en) * 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
US20070118778A1 (en) * 2005-11-10 2007-05-24 Via Telecom Co., Ltd. Method and/or apparatus to detect and handle defects in a memory
US7355387B2 (en) * 2005-12-08 2008-04-08 Micron Technology, Inc. System and method for testing integrated circuit timing margins
US7284169B2 (en) * 2005-12-08 2007-10-16 Micron Technology, Inc. System and method for testing write strobe timing margins in memory devices
US7539912B2 (en) 2005-12-15 2009-05-26 King Tiger Technology, Inc. Method and apparatus for testing a fully buffered memory module
US7478285B2 (en) * 2005-12-30 2009-01-13 Silicon Graphics, Inc. Generation and use of system level defect tables for main memory
US7471538B2 (en) * 2006-03-30 2008-12-30 Micron Technology, Inc. Memory module, system and method of making same
US7277337B1 (en) 2006-09-25 2007-10-02 Kingston Technology Corp. Memory module with a defective memory chip having defective blocks disabled by non-multiplexed address lines to the defective chip
US7856576B2 (en) * 2007-04-25 2010-12-21 Hewlett-Packard Development Company, L.P. Method and system for managing memory transactions for memory repair
US7620861B2 (en) * 2007-05-31 2009-11-17 Kingtiger Technology (Canada) Inc. Method and apparatus for testing integrated circuits by employing test vector patterns that satisfy passband requirements imposed by communication channels
US9373362B2 (en) * 2007-08-14 2016-06-21 Dell Products L.P. System and method for implementing a memory defect map
US7694195B2 (en) * 2007-08-14 2010-04-06 Dell Products L.P. System and method for using a memory mapping function to map memory defects
US7949913B2 (en) * 2007-08-14 2011-05-24 Dell Products L.P. Method for creating a memory defect map and optimizing performance using the memory defect map
US7945815B2 (en) 2007-08-14 2011-05-17 Dell Products L.P. System and method for managing memory errors in an information handling system
US7757144B2 (en) * 2007-11-01 2010-07-13 Kingtiger Technology (Canada) Inc. System and method for testing integrated circuit modules comprising a plurality of integrated circuit devices
TW200921691A (en) * 2007-11-14 2009-05-16 Etron Technology Inc Method for controlling a dram
US8090935B2 (en) * 2008-01-24 2012-01-03 Mentor Graphics Corporation Direct register access for host simulation
US9229887B2 (en) * 2008-02-19 2016-01-05 Micron Technology, Inc. Memory device with network on chip methods, apparatus, and systems
US8001434B1 (en) 2008-04-14 2011-08-16 Netlist, Inc. Memory board with self-testing capability
US7848899B2 (en) * 2008-06-09 2010-12-07 Kingtiger Technology (Canada) Inc. Systems and methods for testing integrated circuit devices
US7978721B2 (en) 2008-07-02 2011-07-12 Micron Technology Inc. Multi-serial interface stacked-die memory architecture
US8086913B2 (en) 2008-09-11 2011-12-27 Micron Technology, Inc. Methods, apparatus, and systems to repair memory
US20100169729A1 (en) * 2008-12-30 2010-07-01 Datta Shamanna M Enabling an integrated memory controller to transparently work with defective memory devices
TWI409820B (zh) * 2009-02-18 2013-09-21 King Yuan Electronics Co Ltd Semiconductor Test System with Self - Test for Memory Repair Analysis
CN102714061A (zh) 2009-11-20 2012-10-03 拉姆伯斯公司 用于dram故障校正的位替代技术
US8356215B2 (en) * 2010-01-19 2013-01-15 Kingtiger Technology (Canada) Inc. Testing apparatus and method for analyzing a memory module operating within an application system
US9123552B2 (en) 2010-03-30 2015-09-01 Micron Technology, Inc. Apparatuses enabling concurrent communication between an interface die and a plurality of dice stacks, interleaved conductive paths in stacked devices, and methods for forming and operating the same
TWI398656B (zh) * 2010-03-31 2013-06-11 Rdc Semiconductor Co Ltd 用於驗證一中央處理器之裝置及其方法
JP5559616B2 (ja) * 2010-06-17 2014-07-23 ラピスセミコンダクタ株式会社 半導体メモリ装置
US8918686B2 (en) 2010-08-18 2014-12-23 Kingtiger Technology (Canada) Inc. Determining data valid windows in a system and method for testing an integrated circuit device
CN101950263A (zh) * 2010-09-27 2011-01-19 深圳市江波龙电子有限公司 一种存储设备的修复方法、系统及存储设备
CN102610280B (zh) * 2011-01-20 2015-05-27 北京兆易创新科技股份有限公司 修复存储芯片的方法和装置、存储芯片
CN102841832B (zh) * 2011-06-24 2017-05-24 佛山慧捷电子科技有限公司 出错内存条定位方法
US9003256B2 (en) 2011-09-06 2015-04-07 Kingtiger Technology (Canada) Inc. System and method for testing integrated circuits by determining the solid timing window
US8724408B2 (en) * 2011-11-29 2014-05-13 Kingtiger Technology (Canada) Inc. Systems and methods for testing and assembling memory modules
US9298573B2 (en) 2012-03-30 2016-03-29 Intel Corporation Built-in self-test for stacked memory architecture
US9411678B1 (en) 2012-08-01 2016-08-09 Rambus Inc. DRAM retention monitoring method for dynamic error correction
US9117552B2 (en) 2012-08-28 2015-08-25 Kingtiger Technology(Canada), Inc. Systems and methods for testing memory
WO2014074390A1 (en) 2012-11-06 2014-05-15 Rambus Inc. Memory repair using external tags
TWI497511B (zh) * 2012-11-08 2015-08-21 Ind Tech Res Inst 具嵌入式非揮發性記憶體之晶片及其測試方法
US10042750B2 (en) 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
CN104063234B (zh) * 2013-03-19 2017-06-27 华为技术有限公司 一种兼容方法及装置
CN104750535B (zh) * 2013-12-26 2018-08-07 珠海全志科技股份有限公司 NAND Flash仿真控制器及控制调试方法
US10387259B2 (en) * 2015-06-26 2019-08-20 Intel Corporation Instant restart in non volatile system memory computing systems with embedded programmable data checking
US10387209B2 (en) * 2015-09-28 2019-08-20 International Business Machines Corporation Dynamic transparent provisioning of resources for application specific resources
US10725933B2 (en) * 2016-12-30 2020-07-28 Intel Corporation Method and apparatus for redirecting memory access commands sent to unusable memory partitions
CN108511029B (zh) * 2017-02-23 2022-04-05 上海复旦微电子集团股份有限公司 一种fpga中双端口sram阵列的内建自测和修复系统及其方法
US10713136B2 (en) * 2017-09-22 2020-07-14 Qualcomm Incorporated Memory repair enablement
US11087857B2 (en) * 2017-11-15 2021-08-10 Texas Instruments Incorporated Enabling high at-speed test coverage of functional memory interface logic by selective usage of test paths
TWI745997B (zh) * 2020-06-09 2021-11-11 慧榮科技股份有限公司 生產固態硬碟的方法及裝置以及電腦程式產品
CN113778915B (zh) 2020-06-09 2023-10-10 慧荣科技股份有限公司 生产固态硬盘的方法及计算机可读取存储介质及装置
CN112397135A (zh) * 2020-11-06 2021-02-23 润昇系统测试(深圳)有限公司 测试及修复装置以及测试及修复方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450578A (en) * 1993-12-23 1995-09-12 Unisys Corporation Method and apparatus for automatically routing around faults within an interconnect system
US5875352A (en) 1995-11-03 1999-02-23 Sun Microsystems, Inc. Method and apparatus for multiple channel direct memory access control
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
US6167486A (en) 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
US7024518B2 (en) 1998-02-13 2006-04-04 Intel Corporation Dual-port buffer-to-memory interface
US6301637B1 (en) 1998-06-08 2001-10-09 Storage Technology Corporation High performance data paths
JP3178423B2 (ja) 1998-07-03 2001-06-18 日本電気株式会社 バーチャルチャネルsdram
US6272609B1 (en) 1998-07-31 2001-08-07 Micron Electronics, Inc. Pipelined memory controller
US6587912B2 (en) 1998-09-30 2003-07-01 Intel Corporation Method and apparatus for implementing multiple memory buses on a memory module
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
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
US6496909B1 (en) 1999-04-06 2002-12-17 Silicon Graphics, Inc. Method for managing concurrent access to virtual memory data structures
US6359858B1 (en) * 1999-06-03 2002-03-19 Fujitsu Network Communications, Inc. Switching redundancy control
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
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
US6594713B1 (en) 1999-09-10 2003-07-15 Texas Instruments Incorporated Hub interface unit and application unit interfaces for expanded direct memory access processor
US6421744B1 (en) 1999-10-25 2002-07-16 Motorola, Inc. Direct memory access controller and method therefor
JP3546788B2 (ja) 1999-12-20 2004-07-28 日本電気株式会社 メモリ制御回路
JP2002014875A (ja) * 2000-06-30 2002-01-18 Mitsubishi Electric Corp 半導体集積回路、半導体集積回路のメモリリペア方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
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
US6631440B2 (en) 2000-11-30 2003-10-07 Hewlett-Packard Development Company Method and apparatus for scheduling memory calibrations based on transactions
US6622227B2 (en) 2000-12-27 2003-09-16 Intel Corporation Method and apparatus for utilizing write buffers in memory control/interface
DE10110469A1 (de) * 2001-03-05 2002-09-26 Infineon Technologies Ag Integrierter Speicher und Verfahren zum Testen und Reparieren desselben
US6904499B2 (en) 2001-03-30 2005-06-07 Intel Corporation Controlling cache memory in external chipset using processor
US6920533B2 (en) 2001-06-27 2005-07-19 Intel Corporation System boot time reduction method
US7941056B2 (en) 2001-08-30 2011-05-10 Micron Technology, Inc. Optical interconnect in high-speed memory systems
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
JP2008000002A (ja) * 2004-09-30 2008-01-10 Sysmex Corp リブロース2リン酸カルボキシラーゼスモールチェーン1A(RBCS−1A)遺伝子及び/又は該遺伝子のmRNAを検出するための核酸増幅用プライマ、及び内部標準として該遺伝子及び/又は該遺伝子のmRNAを用いた検査方法。
JP5025113B2 (ja) * 2005-09-29 2012-09-12 三洋電機株式会社 回路装置
JP2007097002A (ja) * 2005-09-30 2007-04-12 Orion Denki Kk デジタル放送受信装置
JP2008002006A (ja) * 2006-06-21 2008-01-10 Toray Ind Inc 合成繊維の溶融紡糸装置

Also Published As

Publication number Publication date
US20040034825A1 (en) 2004-02-19
US6754117B2 (en) 2004-06-22
AU2003258104A8 (en) 2004-03-03
TWI242780B (en) 2005-11-01
JP4431977B2 (ja) 2010-03-17
ATE426897T1 (de) 2009-04-15
TW200414219A (en) 2004-08-01
WO2004017162A2 (en) 2004-02-26
KR20050061459A (ko) 2005-06-22
JP2005535978A (ja) 2005-11-24
EP1535131A4 (en) 2006-02-22
EP1535131A2 (en) 2005-06-01
EP1535131B1 (en) 2009-03-25
CN1703755A (zh) 2005-11-30
WO2004017162A3 (en) 2004-05-27
AU2003258104A1 (en) 2004-03-03
KR100848254B1 (ko) 2008-07-25
DE60326854D1 (de) 2009-05-07

Similar Documents

Publication Publication Date Title
CN100578656C (zh) 用于自测和修复存储模块的系统和方法
JP5327484B2 (ja) 大容量/高帯域幅メモリデバイスを修復するための方法および装置
JP4062247B2 (ja) 半導体記憶装置
KR100322542B1 (ko) 파이프 라인상의 고속동작을 구현하는 ecc 회로를 구비하는동기식 반도체 메모리장치 및 이 동기식 반도체 메모리장치의 에러 체크 및 정정방법
US6483773B1 (en) Method for generating memory addresses for testing memory devices
US11314590B2 (en) Memory device for detecting a defective memory chip
US7315970B2 (en) Semiconductor device to improve data retention characteristics of DRAM
US5745673A (en) Memory architecture for solid state discs
KR20080039466A (ko) Dram 적층 방법 및 장치
US20060253723A1 (en) Semiconductor memory and method of correcting errors for the same
US9262284B2 (en) Single channel memory mirror
US4891811A (en) Efficient address test for large memories
CN112216332A (zh) 半导体存储器装置和操作半导体存储器装置的方法
US7549098B2 (en) Redundancy programming for a memory device
US7954028B2 (en) Structure for redundancy programming of a memory device
KR20010075709A (ko) 메모리 테스팅의 방법 및 메모리 기반 디바이스
CN113345511A (zh) 存储器件及其测试方法
KR20030002430A (ko) 반도체 메모리 소자의 리페어 시스템 및 방법
JPH02156354A (ja) キャッシュメモリ装置
JPH01116997A (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: 20100106

Termination date: 20100805