CN101217060A - 用于识别故障存储器元件的系统和方法 - Google Patents

用于识别故障存储器元件的系统和方法 Download PDF

Info

Publication number
CN101217060A
CN101217060A CNA2008100022062A CN200810002206A CN101217060A CN 101217060 A CN101217060 A CN 101217060A CN A2008100022062 A CNA2008100022062 A CN A2008100022062A CN 200810002206 A CN200810002206 A CN 200810002206A CN 101217060 A CN101217060 A CN 101217060A
Authority
CN
China
Prior art keywords
memory
last
data
address
memory element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2008100022062A
Other languages
English (en)
Other versions
CN101217060B (zh
Inventor
T·J·德尔
L·A·拉斯特拉斯-蒙塔诺
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101217060A publication Critical patent/CN101217060A/zh
Application granted granted Critical
Publication of CN101217060B publication Critical patent/CN101217060B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G11C29/56008Error analysis, representation of errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Abstract

本发明提供了用于识别故障存储器元件的系统和方法,包括一种用于当两个或更多模块响应于读取请求而一致操作时识别存储器系统中的故障存储器元件的方法。该方法包括接收与不可纠正错误(UE)相关联的病征(syndrome)比特和地址。响应于前一可纠正错误(CE)已经发生,获取该前一CE的位置。CE的位置指定了CE的存储器器件位置。使用该前一CE的位置以及UE的病征比特作为输入来确定UE的位置。UE的位置指定了存储器器件位置。识别与UE的位置相关联的故障存储器元件。

Description

用于识别故障存储器元件的系统和方法
技术领域
本发明一般地涉及计算机系统,并且更特别地涉及当存在有缺陷存储器部件时提高存储器系统的服务性能。
背景技术
目前的高性能计算主存储器系统通常包括一个或多个动态随机存取存储器(DRAM)器件,这些器件经由一个或多个存储器控制元件连接到一个或多个处理器。整体计算机系统性能受到计算机结构的每一关键元件的影响,包括处理器的性能/结构、任意存储器高速缓存、输入/输出(I/O)子系统、存储器控制功能的效率、主存储器器件、存储器互连接口的类型和结构以及与系统的一个或多个元件相关联的任意故障检测/纠正功能的类型和效率。
图1涉及与本申请共同转让的授予Dell等人的美国专利No.5,513,135,并且描述了一种早期的同步存储器模块。图1中描述的存储器模块是双列直插存储器模块(DIMM)。这种模块包括同步DRAM108、缓冲器器件112、优化引出线和互连,以及用以实现高性能操作的电容性解耦方法。该专利还描述了使用这些器件作为锁相环(PLL)而在该模块上使用时钟重驱动(re-drive)。
图2涉及同此共同转让的授予Dell等人的美国专利No.6,173,382,并且描述了计算机系统210,该系统包括经由总线240直接(即,点对点)连接到存储器控制器214的同步存储器模块220,并且还包括对接收自存储器控制器214的地址、数据和控制信息进行缓冲、寄存或者其他动作的逻辑电路224(诸如专用集成电路或“ASIC”)。存储器模块220可以被编程为在存储器初始化进程的一部分中或在正常操作期间,借助诸如集成电路间(I2C)控制总线234之类的独立总线以多种可选择或可编程的模式操作。当在需要不止一个直接连接到存储器控制器的存储器模块的应用中使用时,该专利注意到通过使用场效应晶体管(FET)开关将模块从总线上电分离可以使得到的分支线最短化。
相对于美国专利No.5,513,135,美国专利No.6,173,382还演示了将所有定义的功能(地址、命令、数据、存在检测等)集成到单个器件中的能力。多项功能的集成是一项公共的行业实践,技术进步使其成为可能,并且在这种情况下,其使得另外的模块密集度和/或功能性成为可能。
行业投入的广泛研究和开发努力,通过改进存储器系统/子系统的设计和/或结构,不断地创造着使整体系统性能和密度最大化的改进的和/或革新的解决方案。对高可用性和最小(如果有的话)停用时间的需求带来了与整体系统可靠性有关的更多挑战,因为客户都期望新计算机系统能够在平均故障间隔时间(MTBF)方面显著超越现有系统,而另外又提供额外的功能、更高的性能、更多的存储以及更低的操作成本等。
对增强纠错技术的使用已经成为改善MTBF的主要因素,然而,在被并行地存取以提供高速缓存线存取(典型地是64字节、128字节或更大)的一组(2个、4个或更多个)模块中识别单个故障模块却变得越来越困难。在错误被ECC结构识别为“不可纠正”的情况下,这种困难尤其明显。在已调度或未调度的修复动作期间,若给定有限数量的故障数据(尤其是在不可纠正错误导致了修复动作的情况下)且需要使系统很快上线,常常会响应于表观的存储器系统故障而移除不止一个存储器模块。为了减少被不必要地替换的功能模块的数目,期望具有快速且准确识别特定故障存储器模块的能力。
发明内容
一个示例性实施例包括一种用于当两个或更多模块响应于读取请求而一致操作时识别存储器系统中的故障存储器元件的方法。该方法包括接收与不可纠正错误(UE)相关联的病征比特和地址。响应于前一可纠正错误(CE)已经发生,获取该前一CE的位置。CE的位置指定了CE的存储器器件位置。使用该前一CE的位置以及UE的病征比特作为输入来确定UE的位置。UE的位置指定了存储器器件位置。识别与UE的位置相关联的故障存储器元件。
另一个示例性实施例包括一种用于识别两个或更多存储器模块响应于读取请求而一致操作的存储器系统中的故障存储器元件的方法。该方法包括接收与UE相关联的地址以及与该UE相关的数据,该数据包括与该UE相关的一个或多个病征比特和读取数据。响应于前一CE已经发生,获取与该前一CE相关的数据。使用与该前一CE相关的数据和与该UE相关的数据作为输入来识别故障存储器元件。
又一个示例性实施例包括一种用于识别故障存储器元件的存储器系统。该存储器系统包括两个或更多存储器模块、存储装置和处理器。每个存储器模块包括多个存储器器件,并且该两个或更多存储器模块中的至少两个存储器模块响应于读取请求而一致操作。该存储装置存储与某地址处的第一故障相关联的故障信息。该处理器包括用于实现接收与UE相关联的病征比特和地址的逻辑。响应于前一CE已经发生,获取该前一CE的位置。该CE的位置指定了CE的存储器器件位置。使用该前一CE的位置以及该UE的病征比特作为输入来确定该UE的位置。该UE的位置指定了存储器器件位置。识别与该UE的位置相关联的故障存储器元件。
在研究下述附图和具体描述之后,根据实施例的其他系统、方法和/或计算机程序产品对本领域技术人员来说将是明显的,或者将变得明显。意图是所有这些另外的系统、方法和/或计算机程序产品都包括于本说明书内,包括于本发明的范围内,并且由所附的权利要求保护。
附图说明
现在参考附图,其中在若干附图中相同的元件使用了相似的标号。
图1示出了一个示例性的早期同步存储器模块;
图2示出了一个示例性的计算机系统,其具有直接连接到存储器控制器的全缓冲同步存储器模块;
图3示出了一个示例性的存储器系统,其示出为具有单个传统多点分支线总线;
图4示出了全缓冲同步存储器模块和系统结构,其中全缓冲同步存储器模块包括转发器功能;
图5示出了一个计算机存储器系统的框图,该系统包括一致操作以支持单个数据存取请求的多个独立的级联互连存储器接口总线;
图6示出了一个计算机存储器系统的框图,该系统可以用于实现本发明的示例性实施例;
图7示出了一个存储器结构,其具有级联的存储器模块以及单向的总线,该结构可以用于实现本发明的示例性实施例;
图8是可以由本发明的示例性实施例实现的用于识别不可纠正错误的位置的进程流;
图9示出了一个存储器结构,其具有级联的存储器模块和单向的总线,该结构可以用于实现本发明的示例性实施例;以及
图10-图13示出了可以由本发明的示例性实施例实现的示例性电路。
具体实施方式
示例性实施例帮助识别存储器系统中的特定故障存储器模块,以便减少当存储器系统中发生故障时被替换的存储器模块的数目。利用第一可纠正字节错误的位置信息来找到第二不可纠正字节错误的位置。在示例性实施例中,第二错误的位置用于识别有缺陷的存储器元件(例如,模块或存储器器件)。此外,第二字节错误可以被纠正,由此使得存储器系统能够继续用于生产和/或诊断目的的执行。
当前某些计算机系统中的现有技术是使用一字节纠错、二字节检错的Reed-Solomon(或等效的)错误控制码来对数据进行编码。当适当地应用这种码时(例如,使得任意存储器芯片故障最多影响一个字节),该码允许系统从单个比特混乱以及影响直至整个DRAM存储器芯片的故障中恢复。这种被纠正的第一错误称为可纠正错误(CE)。这类存储器芯片故障包括大型故障(例如,“chipkill”)或更普遍的,由诸如I/O驱动器/接收器故障以及连接器故障之类的事件引起的个别I/O通路的故障。
在使用上述Reed-Solomon码的情况下当第二错误发生时,该码(如同其当前被使用的情况)不能纠正该错误并生成不可纠正错误(UE)信号。通常的策略是当UE发生时暂停系统执行。然而,经常存在这种情况:两种错误(即CE和UE)最初并不同时发生,而是第一错误类型在某个地址处发生(例如,信号比特故障、I/O故障、芯片猎杀等),并且仅在一段时间之后,影响同一ECC字中的不同比特、字节或字节部分的第二故障才发生。在间隙时间中,对与该地址相关联的数据的其他存取(例如,处理器请求的存取,由于擦除机制的存取等)将导致与第一故障类型和位置一致的永久性错误。
后面的图3-图5用于描述将应用本发明的示例性实施例的示例传统存储器结构。
图3来自于同此共同转让的授予Grundon等人的美国专利No.6,510,100,其示出了关于存储器系统310的简化框图和描述,该系统包括在传统多点分支线总线上的共计四个寄存式DIMM 340。子系统包括存储器控制器320、外部时钟缓冲器330、寄存式DIMM 340、地址总线350、控制总线360和数据总线370,端子395在地址总线350和数据总线370上。尽管在图3中只示出了单个存储器通道,但是以这些模块生产的系统通常包括不止一个来自存储器控制器的分立存储器通道,每个存储器通道单独操作(当单个通道上组装了模块时)或并行操作(当两个或更多通道上组装了模块时)以获得期望的系统功能性和/或性能。使用传统的寄存式DIMM,从每个存储器通道可以获得72比特的数据总线宽度。尽管只示出了一个通道,但是系统通常将具有2个、4个或更多所示类型的存储器通道,从而得到在响应高速缓存线操作时的32、64、128或更多字节数据的传送。此外,每个DIMM 340或存储器模块通常将包括72比特的数据,允许利用位于存储器控制器320中的ECC电路或逻辑使用ECC纠正最多的数据错误。
图4来自于授予Bonella等人的美国专利No.6,587,912,其示出了同步存储器模块410和系统结构,其中转发器集线器420包括经由总线421和422将地址、命令和数据本地重驱动到本地存储器器件401和402;生成本地时钟(如在其他附图和专利文本中所描述的那样);以及经由总线400将适当的存储器接口信号重驱动到系统中的下一模块或组件。
图5示出了由集成处理器芯片500构成的存储器系统,其包含一个或多个处理器元件以及集成存储器控制器510。在图5所示的配置中,多个独立级联互连存储器接口总线506逻辑地聚集在一起,以便一致地操作以支持较高带宽的单个独立存取请求,其中数据和错误检测/纠正信息分布或“分割(strip)”在并行总线和相关联的器件上。存储器控制器510附着到四个窄/高速点对点存储器总线506,每个总线506将若干唯一的存储器控制器接口通道之一连接到级联互连存储器子系统503,该子系统包括至少一个集线器器件504以及一个或多个存储器器件509(或DRAM)。使用同期的同步存储器器件,由存储器控制器510发起的存取通常可以得到128字节数据的传送(8字节DIMM宽度×4个一致操作的DIMM×来自每个所选DRAM的4比特突发)。
使用传统的缓冲DIMM,在每个DIMM上可获得72比特的数据总线宽度(典型地,通过对8比特宽的9个存储器器件509进行存取,或对4比特宽的18个存储器器件509进行存取),允许使用ECC识别和纠正最多的数据错误。如图3和图4所示的数据路径ECC电路,或图5中的逻辑通常将位于存储器控制器510中,并且包括校验比特生成和随后的错误检测和纠正。
尽管可以如关于图3-图5所描述地那样实现同期的存储器ECC结构,但是ECC功能的位置(例如,ECC电路或逻辑)可以存在于存储器控制器之外的其他系统元件中,包括处理器本身、存储器集线器、寄存器、缓冲器或存在于存储器控制器与存储器器件之间的其他存储器接口器件,或者存在于存储器器件本身中。
图6示出了可以用于实现本发明的示例性实施例的计算机存储器系统的框图。图6示出了由集成处理器芯片600构成的存储器系统,其包含一个或多个处理器元件和集成存储器控制器610。在图6所示的配置中,多个独立级联互连存储器接口总线606逻辑地聚集在一起,以便一致地操作以支持较高带宽的单个独立存取请求,其中数据和错误检测/纠正信息分布或“分割”在并行总线和相关联的器件上。存储器控制器610附着到四个窄/高速点对点存储器总线606,每个总线606将若干唯一的存储器控制器接口通道之一连接到级联互连存储器子系统603,该子系统包括至少一个集线器器件604以及一个或多个存储器器件609(或DRAM)。
图6中的存储器系统与图5所示的存储器系统类似,而又外加了服务处理器612、用于存储错误相关信息(例如它们的地址、它们的位置、获取的数据和病征比特)的非易失性存储装置(NVS)614以及ECC逻辑块616。在图6所示的示例性实施例中,本文所述(例如,参见图8)的UE处理的一部分位于存储器控制器中的ECC逻辑616内,并且UE处理的其他部分位于服务处理器612中。在集成处理器芯片600外部使用服务处理器612的好处在于:即使当集成处理器芯片600不可操作时,该服务处理器612也可以用于执行错误诊断。类似地,在存储器控制器610外部使用服务处理器612的好处在于,即使当存储器控制器610不可操作时,该服务处理器612也可以用于执行错误诊断。此外,使用NVS614存储错误相关信息的好处在于:当存储器控制器610和/或服务处理器不可操作时,也可以对错误相关信息进行存取。
图7示出了一个存储器结构,其具有级联的存储器模块以及单向的总线,该结构可以用于实现本发明的示例性实施例。图7是图6的另一个视图,服务处理器612和NVS 614位于存储器控制器610外部。在此处所描述的例子中并且对于当前存储器系统典型的是,高速缓存线是128字节;然而在不偏离此处所描述的本发明示例性实施例的范围的情况下,这一数字可以改变。图7所示的存储器系统只包括一个存储器模块702,可以选择具有级联互连到一个或多个模块702的一个或多个额外的模块(如图6中的例子所示)。其他的实施例可以只包括一排存储器模块或根据需要包括模块的其他组合以优化地提供所需的系统线尺寸(例如,32、64、128、256字节等)。
如图7所示,存储器控制器610附着到四个窄/高速点对点存储器总线606a、606b、606c、606d,每个总线分别将若干唯一的存储器控制器接口通道之一连接到存储器模块702a、702b、702c和702d。在图7中所示的示例性实施例中,每个存储器模块702包含存储器器件509,每个存储器器件具有8个数据输入/输出(I/O)通路并且以值为四的突发长度操作。突发长度是在对存储器器件509的任意给定存取中每个所选存储器器件509将通过I/O通路(经由存储器总线606)处理(例如读或写)的数据拍(例如,连续数据传送)的数量。在示例性实施例中,需要总计32个存储器器件509服务于一条128字节的高速缓存线。通常,如图7所示,为存储器模块702中的每八个存储器器件509提供一个额外的第九存储器器件509。在图7所示的例子中,在四个存储器模块702上提供了总计四个额外的存储器器件509。在示例性实施例中,四个额外的存储器器件509中的一个被指定为备用存储器器件509,其他三个被用于存储ECC信息。
在每个存储器器件数据拍上应用Reed-Solomon码,其利用3个额外冗余字节保护32字节的数据。该码能够纠正任意的一字节错误并检测任意的二字节错误。当两个字节错误发生时,如果两个错误的位置都已知,则该Reed-Solomon码可以用于纠正两个错误。在图7所示的存储器系统中,在四个存储器模块702之一上的任意存储器器件509上,将识别并纠正共计一个字节错误。本发明的示例性实施例致力于确定第二错误的位置,该第二错误影响直至数据的整个字节(例如,芯片猎杀)。一旦确定了第二错误的位置,就可以纠正第二错误,并且/或者可以确定和报告该位置以辅助识别哪一(哪些)存储器元件(例如,存储器器件509、存储器系统603、存储器模块702等)发生了故障,以及应当替换哪一可替换元件(例如,存储器模块、存储器卡等)以纠正存储器系统中的错误。
在本发明的示例性实施例中,从图7中最左边的存储器器件509开始,从1到36对存储器器件509连续编号,以指定存储器器件509的位置(并因此指定错误的位置)。存储器模块702a中的九个存储器器件509从1到9编号;存储器模块702b中的九个存储器器件509从10到18编号;存储器模块702c中的九个存储器器件509从19到27编号;以及存储器模块702d中的九个存储器器件509从28到36编号。由此,如果错误在位置20中,则错误与存储器模块702c中从左边数第二个存储器器件509相关联。使用器件方位或位置,可以识别相应的故障存储器元件(如存储器模块)用于替换。通过包括器件故障位置,以及故障模块,当返回要修复的模块时,故障位置信息还可以用于实现对故障模块的后续修复。在又一些示例性实施例中,在存储器模块702上可以安装多于9个或少于9个存储器器件(典型地,18个、36个或72个),故障比特(1个比特或多个比特)或字节位置用于识别故障模块(例如,模块702c具有18个8比特宽的存储器器件,并且错误与72比特模块数据宽度上的第4组8比特有关)。在多排存储器模块中,诸如所描述的具有18个8比特宽的存储器器件的72比特模块中,故障的地址可以识别故障存储器器件排。
在系统初始化期间确定存储器模块配置(例如,存储器器件数量、存储器器件数据宽度、模块密度等),此时处理器、服务处理器、存储器控制器或其他控制元件通常借助IIC或类似的接口总线对安装在存储器模块上的非易失性存储器进行询问(例如,串行存在检测或SPDEEPROM)。一旦确定了存储器子系统结构,就对存储器接口进行初始化以允许高速通信(例如,经由总线606),并且在正常的系统操作之前完成进一步的初始化和认证操作。在这些后续步骤期间,ECC逻辑616和非易失性存储装置614可以被配置为允许基于在模块询问进程期间确定的存储器器件和模块信息对故障存储器器件和/或模块进行纠正识别。
在本发明的示例性实施例中,当标准ECC处理(例如,已经由同期存储器系统执行的用于检测双重错误的存在和纠正单个错误的标准ECC解码器)检测到UE或CE时,将错误相关信息存储在另一系统如服务处理器612可存取的存储介质(例如NVS 614)中。在示例性实施例中,该第二系统通过实现定位第二UE错误的算法的软件和/或硬件工具来分析该信息。其他示例性实施例可以在处理器、存储器控制器、外部处理器件或某些其他处理或分析装置中完成这种分析。为了确定构成UE错误的故障的位置,不可纠正错误必须发生在先前在存储器存取期间已经记录有可纠正错误的地址处。第二系统所需的最少必要信息是UE的数据读取的病征和(永久性)第一错误或CE的位置。UE的病征通过将ECC奇偶校验矩阵(通常用H表示)乘以接收到的数据向量(通常用c表示,c是列向量)获得。这可以表示为s=Hc。UE的病征与第一错误的位置一起是第二系统中的软件工具获得第二错误的位置,并且如果需要,获得第一和第二错误的数量所需的全部信息。可选地,代替病征或作为对病征的补充可以存储当UE和CE发生时读取的实际数据。这可以允许第二系统上的软件工具确定故障的性质(例如,不管输入值为何,I/O通路总是输出“1”比特)。该信息也可以用于例如收集故障的统计信息。
图8是可以由本发明的示例性实施例实现的用于识别UE(例如第二字节错误)的位置的进程流。图8示出了用于当两个或更多存储器模块响应于读取请求而一致操作时识别存储器系统(参见,例如图5-图7和图9)中的故障存储器元件(例如,存储器器件和/或存储器模块)的示例进程。在方框802,当对特定存储位置进行存取时检测到错误。在示例性实施例中,由标准ECC处理检测到该错误。如果在方框804中确定该错误是CE,则执行方框806并且执行标准ECC CE处理以确定CE的位置并纠正该CE。在示例性实施例中,由位于同期存储器控制器中的标准ECC处理执行方框806。接下来,执行方框808以存储CE的地址和位置。在示例性实施例中,该信息存储在NVS 614中,以便即使当存储器控制器610不可操作时也能对该信息进行存取。在又一些示例性实施例中,将只存储每个唯一故障的单个副本,并且针对每个唯一的故障编译错误计数(直至预定的最大计数),其可以用于验证CE是否为永久性错误。
如果在方框804中确定错误是UE,则执行方框810。在方框810,例如将UE的地址和病征比特存储在NVS614中。在方框812,检查以确定先前是否已经发生了CE。如果先前还没有发生CE,则执行方框814以执行标准UE处理。在示例性实施例中,这可以由同期存储器控制器中的标准ECC处理来执行并且可以使得存储器系统操作暂停。图8所示的处理可以在芯片猎杀情形下使用,原因是当双重错误发生时,其中一个错误来源于的芯片猎杀的可能性很大。另一方面,可以限定算法,以便只有当与当前的UE相同的地址处先前发生过CE时,才使用前一CE的位置来预测CE中的错误的位置。更一般地,考虑到这样的可能性:如果在与UE相同的地址范围中已经发生了CE,则使用该地址范围中的CE的方位或位置来预测哪个芯片是UE错误可能涉及到的芯片。在芯片猎杀的第一个例子中,地址范围等于整个芯片跨越的范围;在第二个例子中,地址范围包括单个地址。存在选择地址范围的其他可能性以便令本发明适用于不同的故障机制。
如果先前已经发生了CE,则执行方框816以确定与UE相关联的故障存储器元件。在示例性实施例中,这通过使用UE的病征比特和前一CE的位置来执行。在示例性实施例中,这通过假设构成UE的错误之一的位置(例如,比特位置或字节位置)与CE的错误的位置相同来执行。在示例性实施例中,位置指定了存储器模块上的存储器器件的方位。在可选的示例性实施例中,利用更完善的方案来确定UE的位置,诸如下面将描述的一个方案。基于UE的位置,识别故障存储器元件。如果在方框818中确定存储器控制器610不处于诊断模式,则执行方框820。在方框820,报告UE的位置(例如,在识别到UE的时候报告构成一个或多个比特故障的一个或多个模块)。在可选的示例性实施例中,故障模块位置将由具有第一永久性CE错误的模块构成,在达到CE错误阈值之前,或者在包括不可纠正错误的未来存取期间将第二错误识别为第一永久性错误之前,具有第二错误(如果在单独的模块上)的模块不能被识别。报告可以包括在存储器模块上、在存储器槽(存储器模块安装到该槽中)上、在故障模块附近等处发起一个可视指示符(例如,闪烁的灯或LED,闪烁的灯的图案),并且/或者经由告警、打印输出、电子通知或其他口头、可视或相关手段来报告错误。否则,如果存储器控制器610处于诊断模式中,则执行方框822。在方框822中,纠正UE并且存储器子系统继续操作。当系统在诊断模式下运行时,可以应用方框822,其中在纠正第二错误、在NVS614中存储信息并且暂停之后,系统被重新启动(不管双重故障)并且操作用于诊断和修复目的。此外,诊断模式可以在生产环境中应用,其中实际系统上线时间(up-time)比暴露于三重错误更重要(例如,如果错误计算以很低概率发生则它们可以忽略的大型搜索系统)。如前所述,一旦构成不可纠正错误条件的故障的位置已知,用于实现所需ECC解码器以纠正第二错误(即UE)的一般技术在本领域是已知的。
在可选的示例性实施例中,在方框808,当CE发生时从存储器器件读取的数据与CE的地址一起存储。此外,在方框810,UE的地址以及包括病征比特和当UE发生时从存储器器件读取的数据中的一者或两者的数据被存储在存储设备中。在方框816中,与前一CE有关的读取数据和与UE有关的读取数据用于识别故障存储器元件。
在又一个可选的示例性实施例中,方框812确定前一CE是否发生在与当前的UE相同的地址处。只有当CE发生在与UE相同的地址处时,才执行方框816-方框822。如果在与UE相同的地址处没有发生CE,则执行方框814。
图8所示处理的一部分或全部可以由ECC逻辑616实现,该逻辑包含针对存储器控制器610的标准ECC处理,并具有实现此处所述处理的扩展,以确定第二字节错误或UE的位置。此外,图8所示的处理可以以硬件、软件或硬件和软件的组合的形式实现。
在示例性实施例中,图8所示处理的一部分或全部由服务处理器612实现,以使得处理可以在存储器控制器610不可使用时进行,并且/或者使得处理可以在不影响ECC逻辑616中的标准ECC处理的性能的情况下进行。例如,ECC逻辑616中的标准ECC处理可能已经检测到错误并且将错误(CE和UE二者)相关信息写到了NVS 614中(例如,执行方框802、808和810)。当标准ECC处理检测到UE时,其可以被修改为调用服务处理器612来执行图8中从方框812开始的处理,以确定前一CE是否已经发生。如果前一CE还没有发生,则控制可以返回到标准ECC处理以执行方框814。如果前一CE已经发生,则服务处理器612执行方框816至方框822(可能通过调用标准ECC处理中的模块,如果这些模块可用的话)。前述例子只是图8所示处理可以分离到ECC逻辑616和服务处理器612中的其中一种方式。
在又一些示例性实施例中,当完成方框816(或810或822)之后,在避免未来UE事件的努力中,服务处理器、处理器或存储器控制器可以调用诸如芯片冗余、比特通路冗余或其他可用方法的一种或多种方法来纠正永久性错误和/或构成不可纠正错误情况的新错误。一旦采取并证实了纠正动作,就将与被修复故障相关联的已存储信息清除并可能将其存储在NVM的另一区域,以便用于与后续的不可纠正错误处理无关的故障跟踪和/或其他报告目的。
图9示出了一个存储器结构,其具有级联的存储器模块和单向的总线,该结构可以用于实现本发明的示例性实施例。图9示出的存储器系统与图7所示的系统相似,只是在ECC逻辑块906中包含了图8所示的全部处理,并且至少与UE恢复有关的ECC逻辑块906的一部分(例如,方框810及以上)位于处理器904中。图8所示处理所用的信息存储在NVS 614中。
图9所示的示例性实施例包括一个存储器系统,其具有响应于来自存储器控制器902的读取请求而一致操作的两个或更多存储器模块702。如图9所示的存储器模块702各自包括一个或多个存储器器件。该存储器系统还包括存储装置(例如,非易失性存储装置614或位于处理器904或ECC逻辑906中的其他存储装置),用于存储与某地址处的第一故障相关联的故障信息。该存储器系统还包括处理器904(例如,处理器904和/或图6所示服务处理器612的全部或子集),用于实现逻辑(例如包含于ECC逻辑块906中的逻辑)。该逻辑实现识别与UE的位置相关联的故障存储器元件(例如,存储器模块702上的存储器器件或存储器模块702)。
本文后面所描述的本发明的示例性实施例包括用于纠正两个错误的解码过程,其中第一错误的位置是已知的。示例性实施例可以用于确定在4个DIMM(或其他数量的DIMM)以一致方式操作服务于任意一个线路请求的系统中的有缺陷的存储器器件、DIMM(或存储器模块)等。下述的码能够纠正任意的一字节错误并检测任意的二字节错误。当发现永久性CE时,存储与该CE有关的信息(例如,地址、位置、所存取的数据、病征比特),并随后响应于UE而使用该信息,以便定位和可选地纠正在与该永久性CE相同的ECC字(例如,存储器存取)中发生而导致不可纠正错误情况的第二错误。然后结合与第一错误有关的信息而使用与第二错误有关的信息,以定位一个或多个有缺陷的DIMM或存储器模块702。
下面描述的示例性实施例以硬件的方式实现,然而为了上述任务的目的,原理上不一定在实际的硬件中实现这种功能;将码字的病征信息与第一错误位置一起存储在非易失性存储器中以便在修复时可以获取这些信息并随后以软件工具对其进行分析,就已经足够了。另一方面,可以确定UE错误的位置的示例性实施例可以用于提高系统的实际纠错能力(已经告诫过相关联的暴露于三重错误下),在这种情况下例如为了性能的原因,以硬件方式实现这种示例性实施例可能是优选的。也存在其他实现选择,例如,提供找到UE位置但不纠正UE的功能性的硬件,这也是可行的。
在示例性实施例中,仅当用于检测双重错误并纠正单个错误的标准ECC解码器发送信号其检测到UE时,才使用下面描述的算法。如果以适当的输入变量载入错误之一的位置,则正好由两个错误构成的那些UE将被纠正。当错误不能被该算法纠正时,该算法也将具有UE信号(真实信号)。
用于检测两个错误并且纠正单个错误的Reed-Solomon码通常利用ECC奇偶校验矩阵或H矩阵来代表每个ECC字必须满足的奇偶校验等式。H矩阵还用于规定用于生成ECC校验比特和病征比特的XOR逻辑。对应于H矩阵的行向量中的比特的ECC字的那些比特的XOR结果总是等于0。从数学上看,如果V是代表ECC字的二元向量,则ECC矩阵H和V的转置的积是一个全零向量,即H·V t0模2。根据奇偶校验等式,校验比特的值可以通过XOR运算从数据比特计算得出。数据比特与相应校验比特一起形成存储在存储器中的ECC字。另一方面,如果从存储器中获取ECC编码的字,则使用奇偶校验等式来生成代表所接收数据的正确性的病征。
例如,令p(x)=1+x+x6+x7+x8,一个二元本原多项式,a为p(x)在256个元素的有限域GF(28)中的根。a的伴随矩阵为:
T = 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1
T的某些幂将用于代表ECC的H矩阵的元素。幂Ti是非零有限域元素ai的伴随矩阵,0≤i≤254。此外,每个ai可以被表示为8比特的二元向量。
构成具有24个校验比特(3个符号)和264个数据比特(33个符号)总共288个比特(36个符号)的(288,264)SSC-DSD(单符号纠错-双符号检错)码,并且其以H矩阵的形式规定为:
H=[M1 M2 I24],
其中M1
I I I I I T T 2 T 3 T 56 T 55 T 54 T 53 I I I I I T 4 T 156 T 157 T 158 T 159 T 52 T 155 T 154 T 153 T 152 I T 251 T 60 I I T 2 T 49 T 50 T 252 T 254 I I I T 59 T 57 T 60 T 154 T 156 T 51 T 227 I I T 158 I
并且M2
I I I I T 56 T 55 T 54 T 53 I T T 2 T 3 I I I I I T 52 T 155 T 154 T 153 T 152 T 4 T 156 T 157 T 158 T 159 I I I T 2 T 49 T 50 T 51 T 60 T 59 T 57 T 60 T 154 T 156 T 158 T 251 T 252 T 254 I I I I
I是一个8×8的单位矩阵,I24是一个24×24的单位矩阵。注意,M2的最后两行是M1的前16列的最后两行的置换。这种性质可以用于病征生成和病征解码中的模块化实现。
在示例性实施例中,ECC字的前33个符号位置被指定为数据符号,并且后3个符号位置被指定为校验符号。H矩阵还可以表示为H=〔H1,H2,...H36〕,其中每个Hi是一个24×8的二元矩阵,并且可以被称为一个符号列。注意,每个符号列包括三个8×8的子矩阵,其中一个子矩阵是单位矩阵。设计这种性质以便在病征解码中可以容易地识别符号错误模式。假设同一符号中的所有8个比特存储在同一存储器阵列芯片中。
作为SSC-DSD码,先前描述的H矩阵具有下述性质:(1)每个符号列的列向量是线性独立的;(2)任意两个符号列的列向量所跨越的空间的维数是16;以及(3)任意三个符号列的列向量所跨越的空间的维数是24。
如果数据比特的数量k小于264,则可以通过从H矩阵的数据部分中删除某些二元列来缩短ECC。例如,如果数据比特的数量为k=256,则可以从H矩阵中删除M1最后的符号列(包括8个二元列),以形成一个(280,256)的SSC-DSD码。如果数据比特的数量为k=260,则可以从H矩阵中删除M1最后的符号列的比特位置3,4,7,8,以形成一个(284,260)的SSC-DSD码。
当接收到ECC编码的数据W时,检查该数据以查看病征S=H·Wt是否为一个全零向量。如果S是一个全零向量,则假设W中没有错误。否则,对S进行解码以确定W中的错误是否为可纠正的,并确定错误的位置。在此处描述的示例性实施例中,将病征S分为3个组成部分,S1、S2和S3,从而S=(S1,S2,S3)。每个组成部分都是一个8比特的二元向量并且可以被视为GF(28)的元素。
在下面的例子中,Ei是符号位置i处的错误模式,并且Li是符号i的符号错误指示符。当且仅当符号i出错时,Li的值为一。此外,V是已编码的ECC字,其满足等式H·V t0模2,并且WV+E(模2)是V被错误向量E=(E1,E2,...E36)破坏的字。一旦通过对病征进行解码而确定了错误向量E,就通过设定VW+E(模2)来恢复原始向量V。由此,根据等式H·V t0模2,病征S为:
S=H·W t=H·(V t+E t)=H·E t mod 2
此外,如果错误向量由位置i处的单个符号错误构成,则:
S=Hi·Ei tmod 2
例如,如果i=13,则病征为:
S = T 2 I T 60 · E i t mod 2
在这种情况下,S1=T2·Ei t,S2=Ei t,S3=T60·Ei t.由此,如果S1=T2·S2并且S3=T60·S2:,则令L13=1,并且E13=S2 t.所有的符号错误指示符可以以类似的方式生成。如果病征是非零的,并且没有以此方式生成的任何符号指示符启动,则启动UE信号。这种病征解码的方法是一种已知的现有技术。
在假设标准ECC解码器已经使UE标记出现的情况下,则已知不止一个错误已经发生。下面的算法假设正好两个错误已经发生,其中第一个错误具有已知的位置(例如,是一个永久性的CE)。在下面的整个例子中,索引i标识已知的第一错误(即,CE)的位置,并且索引j标识未知的第二错误(即,UE)的位置。无论i和j的值如何,病征的值总是如下:
S1=H1,iEi+H1,jEj;(1)
S2=H2,iEi+H2,jEj;  (2)
S3=H3,iEi+H3,jEj;  (3)
其中Ei和Ej是错误的数量,并且它们(假设)是非零的。比率H2,k/H1,k,H3,k/H2,k和H3,k/H1,k,其中k在{1,...33}中,是目前讨论的解码功能的关键。下面的表详细地示出了这些值:对于M1,它们是:
H3,k/H2,k T56 T54 T52 T50  T48 T254 T252 T250 T248 T64  T62  T58  T60  T154 T156 T158 I
H2,k/H1,k I   T   T2  T3   T4  T156 T157 T158 T159 T251 T252 T254 T253 T206 T205 T204 T28
H3,k/H1,k T56 T55 T54 T53  T52 T155 T154 T153 T152 T60  T59  T57  T58  T105 T106 T107 T28
并且对于M2,它们是:
H3,k/H2,k T199 T201 T203 T205 T207 T1   T3   T5   T7   T191 T193 T197 T195 T101 T99  T97
H2,k/H1,k T56  T55  T54  T53  T52  T155 T154 T153 T152 T60  T59  T57  T58  T105 T106 T107
H3,k/H1,k I    T    T2   T3   T3   T156 T157 T158 T159 T251 T252 T254 T253 T206 T205 T204
所关注的基本性质是,如果r和s在{1,...33}中,则:
H3,r/H2,r不同于H3,s/H2,s
H2,r/H1,r不同于H2s/H1,s
H3,r/H1,r不同于H3,s/H1,s
这可以通过直接检查前面所示的表看出。
情况1。第一错误具有在{34,35,36}中的已知位置i。假设i=34。
则可以知道Hi,2=Hi,3=0,并且因此公式(1,2,3)转化为:
S1=Ei+H1,jEj;    (4)
S2=H2,jEj;and    (5)
S3=H3,jEj.        (6)
如果j=35,则S3=0,且S2=Ej,并且如果j=36,则S2=0且S3=Ej。另一方面,如果j在{1,...33}中,则S2和S3都不会等于零(因为H2,j和H3,j都是非零的)。用S2乘以H3,j/H2,j得到S3。此外,对于在{1,...33}中但不等于j的任意其他k,H3,k/H2,k不同于H3,j/H2,j(这可以在这一部分的开始观察到)。因此,下面图10所示的电路将发现j在i=34的特定位置(在该电路中,除了Lj=0以外,所有的输出信号Lx等于1,并且如果是真,则等式(“==”)电路给出0,否则给出1)。在找到j的值之后,必须计算错误数量Ei和Ej。用于计算这些值的电路参见图11。对于i=35和i=36的情况,可以推出类似的示意图。
情况2。第一错误具有在{1,...33}中的已知位置i
H2,i和H3,i(假设其都是非零的)除以H1,i得到:
S1/H1,i=Ei+(H1,j/H1,i)Ej;     (7)
S2/H2,i=Ei+(H2,j/H2,i)Ej;and  (8)
S3/H3,i=Ei+(H3,j/H3,i)Ej       (9)
在这个域中的加法运算是简单的XOR运算,并且由此加法和减法是等同的运算。通过从(7,8,9)三个等式里面选择两个(总共三种可能性),并且加上所选的等式,可以得到:
A1+2=S1/H1,i+S2/H2,i=(H1,j/H1,i+H2,j/H2,i)Ej;    (10)
A2+3=S2/H2,i+S3/H3,i=(H2,j/H2,i+H3,j/H3,i)Ej; and(11)
A1+3=S1/H1,i+S3/H3,i=(H1,j/H1,i+H3,j/H3,i)Ej      (12)
如果j在{34,35,36}中,则上式中正好一个将为零。此外,如果j在{1,...33}中,则A1+2,A2+3,A1+3都不可能等于零;这可以从在本讨论的开始时针对校验矩阵H得出的性质中看出。假设j=34。则H2,j=H3,j=0,并且因此A2+3=0。此外,A1+2=A1+3=Ej/H1,i,。针对j=35和j=36的情况的类似分析可以得到下面的表。
 iin{1,...33}  A1+2  A2+3  A1+3
 j=34  Ej/H1,i  0  Ej/H1,i
 j=35  Ej/H2,i  Ej/H2,i  0
 j=36  0  Ej/H3,i  Ej/H3,i
注意,如果j在{1,...33}中,并且A1+2=0:,则H1,j/H1,i=H2,j/H2,i,。对此进行处理,得到H2,j/H1,j=H2,i/H2,j,并且由于假设i不同于j,根据在这一部分的开始时描述的H的性质,这产生了矛盾。类似地,如果A2+3=0则H3,j/H2,j=H3,i/H2,i,并且如果A1+3=0则H3,j/H1,j=H3,i/H1,i:,这也产生类似的矛盾。
以上的讨论暗示了可以使用(A1+2,A2+3,A1+3′)中的一个零的存在来区分j在{1,...33}中和j在{34,35,36}中的情况。此外,当j在{34,35,36}中的情况下,上面的表直接给出找到j、Ej和通过(1,2,3)找到Ei的技术。
仍要考虑当j在{1,...33}中时如何解码。通过直接检查奇偶校验矩阵H,可以推出,对于集合{1,...33}中的每个索引k,奇偶校验矩阵满足:H2,kH3,k=T56(H1,K)2。使用上式替换H3,i和H3,j,形成比率A2+3/A1+2:,并且简化得到的表达式,得出:
A 2 + 3 / A 1 + 2 = 1 + H 1 , j / H 2 , j H 1 , i / H 2 , i . - - - ( 13 )
比率H1,i/H2,i是已知的,并且上述等式的左侧是已知的,由此,可经由下式求解H1,j/H2,j
H1,j/H2.j=(A2+3/A1+2+1)(H1,i/H2,i)
为了找到错误位置j,必须确定j的唯一值以便满足上述等式。唯一性来自于前面已讨论的H的性质。找到了错误位置j后,通过下式得到错误的数量:
E i E j = 1 H 1 , i H 2 , j + H 1 , j H 2 , i H 2 , j H 1 , j H 2 , i H 1 , i S 1 S 2 - - - ( 14 )
图12和图13将A1+2,A2+3和A1+3的计算以及错误位置算法示出为电路示意图。
以上演示了能够由示例性实施例执行的用于纠正两个错误的一组计算,其中第一个错误在已知位置。出于实现的考虑,期望避免实现将Galois域元素除以任意元素的Galois域除法电路的任务。
形成A1+2和A2+3的任务可以通过针对{1,...33}中的每个k并行地计算三个量S1/H1,k,S2/H2,k和S3/H3,k,并随后使用输入为i即错误的已知位置的多路器来选择正确的计算来完成。由于元素H1,k,H2,k和H3,k事先已知,因此可以预先计算它们的倒数并且上述的任务可以转换成乘法。
为了避免计算A2+3/A1+2注意必须满足:
(H1,j/H2,j)A1+2=(A1+2+A2+3)(H1,i/H2,i)
为了找到满足上式的j的唯一值,针对{1,...33}中的每个k并行地形成乘积(H1k/H2k)A1+2,并且检查其是否与右侧相等。通过使用具有硬线(hard-wired)输入和选择器i的多路器获得因数(H1,i/H2,i)。
为了计算(18)中的错误数量,仍需要进行一次Galois域求逆(在此求逆的计算之后,结果可被共享以计算Ei和Ej)。在示例性实施例中,计算分母H1,i H2,j+H1,jH2,i,并随后经由具有256个8比特条目的存储器对该结果求逆。
示例性实施例包括具有互连到存储器系统的处理器和I/O单元(例如,请求器)的计算系统,其中存储器系统包含存储器控制器和存储器器件。在示例性实施例中,存储器系统包括接口连接到一组集线器器件(也称为“集线器芯片”)的处理器或存储器控制器。集线器器件连接或接口连接到存储器器件。在示例性实施例中,计算机存储器系统包括具有多个用于存储数据和指令的物理存储器阵列。这些存储器器件可以直接连接到存储器控制器和/或通过集线器器件间接耦合到存储器控制器。在示例性实施例中,基于集线器的计算机存储器系统具有附着到通信集线器器件的存储器器件,通信集线器器件连接到存储器控制设备(例如,存储器控制器)。同样在示例性实施例中,集线器器件位于存储器模块(例如,单个衬底或物理器件)上,其中存储器模块包括两个或更多经由存储器总线彼此级联互连(并且可能互连到位于另一存储器模块上的另一集线器器件)的集线器器件。
集线器器件可以通过多点或点对点总线结构连接到存储器控制器(其还可以包括到一个或多个额外集线器器件的级联连接)。存储器存取请求由存储器控制器通过总线结构(例如,存储器总线)发送给选定的集线器。响应于接收到存储器存取请求,集线器器件将该存储器存取请求转换成控制存储器器件存储来自于集线器器件的写数据或者控制存储器器件为集线器器件提供读数据。读数据被编码为一个或多个通信分组并通过存储器总线发送给存储器控制器。
在可选的示例性实施例中,存储器控制器可以与一个或多个处理器芯片和支持逻辑集成在一起,封装在分立的芯片(通常称为“北桥”芯片)中,包括在具有一个或多个处理器和/或支持逻辑的多芯片载体中,或者以与应用/环境最佳匹配的各种可选形式来封装。这些解决方案中的任意一种可以使用或可以不使用一个或多个窄/高速链路以连接到一个或多个集线器芯片和/或存储器器件。
存储器模块可以通过包括DIMM、单列直插存储器模块(SIMM)和/或其他存储器模块或卡结构的各种技术来实现。一般而言,DIMM指一种小型电路板,其主要包括在一侧或两侧上的随机存取存储器(RAM)集成电路或芯片,板的两侧上具有信号和/或功率管脚。其可以与SIMM对比,SIMM是一种小型电路板或衬底,其主要包括在一侧或两侧上的RAM集成电路或芯片,并且沿着一条长边布置单行管脚。在示例性实施例中图1示出的DIMM包括168个管脚,然而后来的DIMM构造为管脚数量从100个管脚到超过300个管脚。在此处描述的示例性实施例中,存储器模块可以包括两个或更多的集线器器件。
在示例性实施例中,存储器总线使用到存储器模块上的集线器器件的多点连接和/或使用点对点连接来构成。控制器接口(或存储器总线)的下行部分,称为下行总线,可以包括被发送到存储器模块上的集线器器件的命令、地址、数据和其他操作、初始化或状态信息。每个集线器器件可以简单地经由旁路电路将信息转发给后面的集线器器件;接收、解析信息,并且如果信息被确定为要传送给下行集线器器件则对该信息进行重驱动;在不首先对信息进行解析以确定其计划接收方的情况下对某些或全部信息进行重驱动;或者执行这些选项的子集或组合。
存储器总线的上行部分,称为上行总线,返回所请求的读取数据和/或错误、状态或其他操作信息,并且这些信息可以经由旁路电路转发给后面的集线器器件;可以被接收、解析并且如果这些信息被确定为要传送给处理器联合体中的上行集线器器件和/或存储器控制器则对该信息进行重驱动;在不首先对信息进行解析以确定其计划接收方的情况下这些信息可以被部分或全部地重驱动;或者执行这些选项的子集或组合。
在可选的示例性实施例中,点对点总线包括切换或旁路机制,其使得总线信息在下行通信(从存储器控制器传递到存储器模块上的集线器器件的通信)期间被导向两个或更多可能的集线器器件中的一个集线器器件,以及通常借助一个或多个上行集线器器件对上行信息(从存储器模块上的集线器器件到存储器控制器的通信)进行引导。其他的实施例包括使用连续性模块,诸如在现有技术中已知的那些模块,在级联互连的存储器系统中连续性模块例如可以被放置在存储器控制器与第一个组装的集线器器件(即,与一个或多个存储器器件进行通信的集线器器件)之间,以便存储器控制器与该第一个组装的集线器器件之间的任意中间集线器器件位置包括即使当一个或多个这种中间集线器器件位置不包括集线器器件时也能够接收在存储器控制器与该第一个组装的集线器器件之间传递的信息的装置。连续性模块可以安装在符合任意总线约束的任意模块位置,包括第一位置(最靠近主存储器控制器)、最后的位置(在任意包括的终端之前)或任意中间位置。连续性模块的使用在多模块级联互连总线结构中尤其有益,在这种结构中,存储器模块上的中间集线器器件被移除并被连续性模块替换,以便系统在移除该中间集线器器件后能够继续操作。在更常见的实施例中,连续性模块将包括用以将所有需要的信号从输入传送到相应输出的互连布线,或者通过转发器设备被重驱动。连续性模块还可以包括非易失性存储设备(诸如EEPROM),但是将不包括主存储器存储设备。
在示例性实施例中,存储器系统包括经由级联互连存储器总线连接到存储器控制器的一个或多个存储器模块上的一个或多个集线器器件,然而也可以实现其他的存储器结构,诸如点对点总线、多点存储器总线或共享总线。基于所使用的信令方法,目标操作频率、空间、功率、成本和其他约束,可以考虑各种可选的总线结构。与具有分支信号线、切换设备或分支线的总线结构相比,由于降低了信号衰减,点对点总线在生产为具有电互连的系统中可以提供优化性能。然而,当在需要与多个设备或子系统进行通信的系统中使用时,该方法常常会导致显著增加的组件成本和提高的系统功率,并且可能会由于需要中间缓冲和/或重驱动而降低可能的存储器密度。
尽管在附图中没有示出,但是存储器模块或集线器器件也可以包括单独的总线,诸如“存在检测”总线、I2C总线和/或SM总线,其用于包括确定集线器器件和/或存储器模块属性(通常在加电之后)、将故障信息或状态信息报告给系统、在加电之后或在正常操作期间配置集线器器件和/或存储器子系统或其他目的的一个或多个目的。依赖于总线特征,该总线还可以提供集线器器件和/或存储器模块借以将操作的有效完成或对在主存储器控制器请求的执行期间发生故障的识别报告给存储器控制器的装置。
通过增加切换设备可以获得与从点对点总线结构获得的这些性能类似的性能。这些和其他的解决方案在保留点对点总线的很多特征的同时,以较低功率提供增大的存储器封装密度。多点总线提供可选的解决方案,虽然常常限于较低的操作频率,但是在成本/性能这一点上可能对很多应用来说是有利的。光总线解决方案允许显著提高点对点或多点应用中的频率和带宽潜力,但是可能招致成本和空间影响。
在此使用的术语“缓冲器”或“缓冲器器件”指临时存储单元(如在计算机中),尤其指以一种速率接受信息并以另一种速率传递信息的临时存储单元。在示例性实施例中,缓冲器是提供两个信号之间兼容性(例如,改变电压电平或电流容量)的电子器件。术语“集线器”有时可以与术语“缓冲器”互换使用。集线器是一种包含连接到若干其他器件的多个端口的器件。端口是接口的一部分,提供适合的I/O功能性(例如,端口可以用于通过点对点链路之一或总线发送和接收数据、地址和控制信息)。集线器可以是将若干系统、子系统或网络连接在一起的中央器件。无源集线器可以简单地转发消息,而有源集线器或转发器放大和刷新(refresh)数据流,否则数据流将随距离发生恶化。在此使用的术语集线器器件指包括用于执行存储器功能的逻辑(硬件和/或软件)的集线器芯片。
同样,在此使用的术语“总线”指连接计算机中的两个或更多功能单元的多组导线之一(例如,布线和印刷电路板迹线或集成电路中的连接)。数据总线、地址总线和控制信号,不管其名称如何,构成一条单独的总线,因为如果没有其他的总线每个总线常常是无用的。总线可以包括多根信号线,每根信号线具有两个或更多连接点,其形成电连接两个或更多收发器、发射器和/或接收器的主要传输路径。术语“总线”与术语“通道”形成对比,后者常常用于描述与存储器系统中存储器控制器有关的“端口”功能,并且后者可以包括一条或多条总线或者一组或多组总线。在此使用的术语“通道”指存储器控制器上的端口。注意,该术语通常结合I/O或其他外围设备一起使用,然而术语通道有时被用来描述处理器或存储器控制器与一个或多个存储器子系统之一之间的接口。
此外,在此使用的术语“菊花链”指一种总线布线结构,在这种结构中例如器件A连线到器件B,器件B连线到器件C等。最后的器件典型地连线到电阻或端子。所有的器件可以接收相同的信号,或者与简单总线相比,每个器件可以在继续传递一个或多个信号之前对其进行修改。在此使用的“级联”或“级联互连”指一连串级或单元,或者一组互连的联网器件,典型的是集线器,其中集线器操作为逻辑转发器,还允许合并数据以集中到现有数据流中。同样在此使用的术语“点对点”总线和/或链路指各自可以包括一个或多个端子的多个信号线或一个信号线。在点对点总线和/或链路中,每个信号线具有两个收发器连接点,每个收发器连接点耦合到发射器电路、接收器电路或收发器电路。信号线指一个或多个电导线或光载体,通常配置为单个载体或者以双绞、平行或同心排列配置为两个或更多载体,用于传输至少一个逻辑信号。
存储器器件通常定义为集成电路,其主要包括存储器(存储)单元,诸如DRAM(动态随机存取存储器)、SRAM(静态随机存取存储器)、FeRAM(铁电RAM)、MRAM(磁随机存取存储器)、闪速存储器和其他形式的随机存取和相关存储器,用于以电、光、磁、生物或其他的形式存储信息。动态存储器器件类型可以包括异步存储器器件,诸如FPMDRAM(快速页模式动态随机存取存储器)、EDO(扩展数据输出)DRAM、BEDO(突发EDO)DRAM、SDR(单数据速率)同步DRAM、DDR(双数据速率)同步DRAM,或任意期望的后继器件,诸如DDR2、DDR3、DDR4,以及相关技术,诸如图形RAM、视频RAM、LP RAM(低功率DRAM),其通常基于在相关DRAM上可见的基本功能、特征和/或接口。
存储器器件可以以芯片(管芯)和/或各种类型和配置的单或多芯片封装的形式使用。在多芯片封装中,存储器器件可以与诸如其他存储器器件、逻辑芯片、模拟器件和可编程器件的其他器件类型一起封装,并且还可以包括诸如电阻、电容和电导之类的无源器件。这些封装可以包括集成散热器或其他制冷增强,其还可以附着到中间载体或其他附近的载体或散热系统。
基于技术、功率、空间、成本和其他权衡,模块支持器件(例如,缓冲器、集线器、集线器逻辑芯片、寄存器、PLL、DLL、非易失性存储器等)可以包括多个单独的芯片和/或组件,可以被组合为一个或多个衬底上的多个单独的芯片,可以被组合为单个封装或者甚至被集成到单个器件上。此外,基于技术、功率、空间、成本和其他权衡,诸如电阻、电容之类的各种无源器件中的一个或多个可以集成到支持芯片封装中,或者集成到衬底、电路板或未加工卡本身中。这些封装可以包括集成散热器或其他制冷增强,其还可以附着到中间载体或其他附近的载体或散热系统。
存储器器件、集线器、缓冲器、寄存器、时钟器件、无源和其他存储器支持器件和/或组件可以经由包括焊接互连、导电粘合、套接结构、压力接触和其他方法的各种方法附着到存储器子系统和/或集线器器件,这些方法使得经由电、光或可选手段实现两个或更多器件之间的通信。
一个或多个存储器模块(或存储器子系统)和/或集线器器件可以经由诸如焊接互连、连接器、压力接触、导电粘合、光互连和其他通信及功率传递方法之类的一种或多种方法连接到存储器系统、处理器联合体、计算机系统或其他系统环境。连接器系统可以包括配对连接器(公/母)、在与公或母连接器配对的一个导体上的导电接触和/或管脚、光连接、压力接触(通常与保持机构结合使用)和/或各种其他通信及功率传递方法中的一种或多种。基于诸如易于升级/修复、可用空间/体积、热传导、组件尺寸和形状以及其他相关的物理、电、光、可视/物理存取等之类的应用要求,互连可以沿着存储器组合装置的一条或多条边缘布置,和/或距离存储器子系统的边缘一段距离放置。
在此使用的术语存储器子系统意指但不限于:一个或多个存储器器件;一个或多个存储器器件和相关联的接口和/或定时/控制电路;和/或一个或多个与存储器缓冲器、集线器器件和/或开关结合的存储器器件。术语存储器子系统还可以指一个或多个存储器器件,加上任意相关联的接口和/或定时/控制电路和/或存储器缓冲器、集线器器件或开关,它们被组装到衬底、卡、模块或相关的组合装置中,这些衬底、卡、模块或相关的组合装置还可以包括将存储器子系统与其他电路电附接的连接器或类似装置。在此描述的存储器模块还可以指存储器子系统,因为它们都包括一个或多个存储器器件和集线器器件。
可以本地地驻留在存储器子系统和/或集线器器件中的其他功能包括写和/或读缓冲器、一级或多级存储器高速缓存、本地预取逻辑、数据加密/解密、压缩/解压缩、协议转换、区分命令优先级逻辑、电压和/或电平转换、检错和/或纠错电路、数据擦洗、本地功率管理电路和/或报告、操作和/或状态寄存器、初始化电路、性能监控和/或控制、一个或多个协处理器、搜索引擎和其他可以预先驻留在其他存储器子系统中的功能。通过将一项功能本地地部署到存储器子系统,可以获得与特定功能相关的附加性能,而往往又可以同时利用该子系统中的未使用电路。
存储器子系统支持器件可以直接附着到存储器器件所附着到的同一衬底或组合装置上,或者可以安装到使用各种塑料、硅、陶瓷或其他材料中的一种或多种制造的单独插板或衬底,该插板或衬底包括将支持器件功能上互连到存储器器件和/或存储器或计算机系统的其他元件的电、光或其他通信路径。
沿着总线、通道、链路或应用到互连方法的其他命名传统的信息传送(例如,分组)可以使用多种信令选项中的一种或多种来完成。这些信令选项可以包括诸如单端、差分、光或其他途径之类的方法,电信令还包括诸如使用单级或多级电压或电流途径的方法。信号还可以使用诸如时间或频率、不归零、相移键控、幅度调制和其他方式之类的方法进行调制。电压电平有望继续降低,即1.5V、1.2V、1V,并且较低的信号电压有望与对相关联的集成电路本身进行操作所需的降低的电源电压相一致(但通常与之独立)。
在存储器子系统和存储器系统自身中可以使用一种或多种计时方法,包括全局计时、源同步计时、编码计时或这些和其他方法的组合。时钟信令可以与信号线本身的信令相同,或者可以使用所列出的方法或更有益于计划时钟频率和各种子系统内计划的时钟数目的可选方法中的一种方法。单个时钟可以与去往和来自存储器的所有通信以及存储器子系统内的所有定时功能相关联,或者使用诸如较早描述的那些方法之类的一种或多种方法提供多个时钟。当使用多个时钟时,存储器子系统内的功能可以与唯一地提供给子系统的时钟相关联,或者可以基于从与传送到存储器子系统和从存储器子系统传送的信息有关的时钟得出的时钟(诸如与编码时钟相关联的时钟)。可选地,传送给存储器子系统的信息可以使用一个唯一的时钟,并且从一个(或多个)存储器子系统提供的信息使用一个单独的时钟。时钟本身可以以与通信或功能频率相同的频率或其倍数频率运行,并且可以是边缘校准、中心校准或者相对于数据、命令或地址信息处于可选定时位置。
传递给存储器子系统的信息通常将包括地址、命令和数据,以及通常与请求或报告状态情况或错误情况、重置存储器、完成存储器或逻辑初始化以及其他功能、配置或相关信息相关联的其他信号。从存储器子系统传递出来的信息可以包括传递给存储器子系统的任意或全部信息,然而通常不包括地址和命令信息。该信息可以通过使用可能与普通存储器器件接口规范一致(通常本质上是平行的)的通信方法来传送,该信息可以编码为“分组”结构,其可以与未来的存储器接口一致,或者简单地被开发为增大通信带宽,以及/或者通过将所接收信息转换为接收器件所需格式而使子系统能够独立于存储器技术而操作。
基于可用接口总线、所期望的初始化速度、可用空间、成本/复杂度目标、子系统互连结构、可以被用于这种或其他目的的可选处理器(诸如服务处理器)的使用等等,可以经由一种或多种方法完成对存储器子系统的初始化。在一种实施例中,可以使用高速总线来完成对存储器子系统的初始化,通常通过下述步骤完成:首先完成训练过程以建立可靠的通信,然后对与各种组件相关联的属性或“存在检测”数据和/或与子系统相关联的特征进行询问,并且最后对具有与系统内的计划操作相关联的信息的适当器件进行编程。在级联系统中,通常将建立与第一存储器子系统之间的通信,然后是后续(下行)的子系统,其次序与这些子系统沿着级联互连总线的位置一致。
第二种初始化方法将包括这样一种方法,其中高速总线在初始化过程中以一种频率进行操作,然后在正常操作期间以第二种(并且通常更高的)频率进行操作。在这样的实施例中,由于与较低频率操作相关联的增大的定时裕度,有可能在完成对每个子系统的询问和/或编程之前,发起与级联互连总线上的所有存储器子系统的通信。
第三种初始化方法可以包括在增大与每个地址、命令和/或数据传送相关联的周期数目的同时,以正常操作频率操作级联互连总线。在一个实施例中,包含全部或部分地址、命令和/或数据信息的分组在正常操作期间可以在一个时钟周期内传送,但是在初始化期间同样数量和/或类型的信息可能在两个、三个或更多的周期上传送。该初始化过程因此将使用“慢”命令而不是“正常”命令的形式,并且这种模式可以由每个子系统和存储器控制器借助包含在这些子系统中每个子系统中的POR(加电复位)逻辑在加电和/或重启之后的某个时间点自动地进入。
第四种初始化方法可以使用不同的总线,诸如存在检测总线(诸如在同此共同转让的授予Dell等人的美国专利No.5,513,135中定义的总线)、I2C总线(诸如在公开的JEDEC标准中定义的总线,如在出版物21-C修订7R8中的168管脚DIMM族)和/或SMBUS,其已经在使用这些存储器模块的计算机系统中广泛使用和记载。该总线可以以菊花链/级联互连、多点或可选结构的形式连接到存储器系统内的一个或多个模块,从而提供询问存储器子系统的独立手段,将一个或多个存储器子系统中的每个存储器子系统编程为在整体系统环境中操作,并基于在系统环境中所期望或检测到的性能、热量、配置或其他变化在正常系统操作期间在其他时候调整操作特征。
可以结合或独立于所列出的这些方法而使用其他的初始化方法。使用诸如在上面第四实施例中描述的单独总线,也能带来提供独立手段的好处,独立手段用于初始化和初始化以外的使用,诸如在同此共同转让的授予Dell等人的美国专利No.6,381,685中描述的那些使用,包括随意地改变子系统操作特征,以及用于对诸如使用率、温度数据、故障信息之类的操作子系统信息进行报告和响应或用于其他目的。
随着光刻技术方面的进步、更好的工艺控制、低阻抗材料的使用、更大的现场尺寸以及其他半导体工艺的进步,更大的器件电路密度(通常与更大的管芯尺寸结合)将帮助实现在集成器件上的更大的功能以及对先前在单独器件上实现的功能进行集成。这种集成将用于改善计划功能的整体性能,以及促进更大的存储密度、更小的功率、更小的空间要求、更低的成本和其他制造商和消费者利益。这种集成是一种自然的演化过程,并且可以导致需要对与系统相关联的基本构建模块的结构改变。
使用一种或多种故障检测和/或故障纠正方法,可以在很高程度上保证通信路径、数据存储内容和与存储器系统或子系统的每个元件相关联的所有功能操作的完整性。其他的可靠性增强可以包括:操作重试(以克服诸如与信息传送相关联的间断故障),使用一个或多个可选或替换通信路径代替故障路径和/或线路,在计算机、通信和相关系统中使用的补码-再补码(complement-re-complement)技术或可选方法。
与提高的性能需求一致,在简单如点对点链路或复杂如多点结构的总线上使用总线终端变得越来越普遍。可以确定和/或考虑很多种终止方法,并且这些方法包括使用诸如电阻、电容、电导或它们的任意组合之类的器件,将这些器件连接在信号线与电源电压或地、端接电压或另一信号之间。终端器件可以是无源或有源终端结构的一部分,并且可以存在于沿一个或多个信号线的一个或多个位置,以及/或者作为发射器件和/或接收器件的一部分。终端可以选择为与传输线阻抗匹配,或者经由可选的方法选择以使得在成本、空间、功率和其他约束范围内可用频率、操作裕度和相关属性最大化。
示例性实施例的技术效果和益处包括识别存储器系统中故障存储器模块的能力。这可以使得降低材料成本,因为当只有一个存储器模块需要修复时不必替换系统中的所有存储器模块。此外,这应当能够使存储器系统的停用时间最小化并且提高解决故障的可能性。
如上所述,本发明的实施例可以具体化为计算机实现的过程和用于实践这些过程的装置的形式。本发明的实施例也可以具体化为包含指令的计算机程序代码的形式,其中计算机程序代码包含在有形介质中,诸如软盘、CD-ROM、硬盘驱动器或任意其他的计算机可读存储介质,其中,当将计算机程序代码载入计算机并由计算机执行时,计算机成为用于实践本发明的装置。本发明还可以具体化为计算机程序代码的形式,例如,无论是存储在存储介质中、载入到计算机中和/或由计算机执行,或者通过某些传输介质发送,诸如通过电线或电缆、通过光纤或者经由电磁辐射等发送,其中,当计算机程序代码载入计算机并由计算机执行时,计算机成为用于实践本发明的装置。当在通用微处理器上实现时,计算机程序代码段配置该微处理器以创建特定逻辑电路。
尽管已经参考示例性实施例描述了本发明,但是本领域技术人员将能够理解,在不偏离本发明的范围的情况下,可以进行各种改变或对其元件进行等效替换。此外,在偏离本发明的实质范围的情况下,可以对本发明的教导进行很多修改以适应特定情形或材料。因此,意图是本发明不限于作为实现本发明所设想的最佳模式而公开的特定实施例,而是本发明将包括落入所附权利要求的范围内的所有实施例。而且,术语“第一”、“第二”等的使用不代表任何次序或重要性,而是用术语“第一”、“第二”等来区分一种要素与另一种要素。

Claims (20)

1.一种用于当两个或更多存储器模块响应于读取请求而一致操作时识别存储器系统中的故障存储器元件的方法,所述方法包括:
接收与不可纠正错误(UE)相关联的病征比特和地址;以及响应于前一可纠正错误(CE)已经发生:
获取所述前一CE的位置,所述前一CE的位置指定了存储器器件位置;
确定所述UE的位置,其中使用所述前一CE的位置以及所述UE的病征比特作为所述确定的输入,所述UE的位置指定了存储器器件位置;以及
识别与所述UE的位置相关联的故障存储器元件。
2.根据权利要求1所述的方法,其中所述故障存储器元件是存储器器件。
3.根据权利要求1所述的方法,其中所述故障存储器元件是存储器模块。
4.根据权利要求1所述的方法,还包括纠正在所述UE的位置处读取的数据。
5.根据权利要求1所述的方法,其中所述接收、获取、确定和识别中的一个或多个步骤由服务处理器执行。
6.根据权利要求1所述的方法,其中所述前一CE的位置从非易失性存储装置中获取。
7.根据权利要求1所述的方法,还包括执行激活标识所述故障存储器元件的可视指示符和生成指示所述故障存储器元件的报告中的一个或多个步骤。
8.根据权利要求1所述的方法,还包括确定所述CE和所述UE中的一者或两者的数量。
9.根据权利要求1所述的方法,其中响应于所述前一CE已经发生在与所述UE的地址范围一样的地址范围内执行所述获取、确定和识别,所述地址范围包括至少一个地址。
10.一种用于识别两个或更多存储器模块响应于读取请求而一致操作的存储器系统中的故障存储器元件的方法,所述方法包括:
接收与不可纠正错误(UE)相关联的地址以及与所述UE相关的数据,所述数据包括一个或多个病征比特和读取数据;以及
响应于前一可纠正错误(CE)已经发生:
获取与所述前一CE相关的读取数据;
识别故障存储器元件,其中使用与所述前一CE相关的读取数据和与所述UE相关的数据作为所述识别的输入。
11.根据权利要求10所述的方法,其中所述故障存储器元件是存储器器件和存储器模块中的一种或多种。
12.根据权利要求10所述的方法,还包括纠正在所述UE的位置处读取的数据。
13.根据权利要求10所述的方法,其中所述接收、获取、确定和识别中的一个或多个步骤由服务处理器执行。
14.根据权利要求10所述的方法,其中所述前一CE的位置从非易失性存储装置中获取。
15.根据权利要求10所述的方法,还包括执行激活标识所述故障存储器元件的可视指示符和生成指示所述故障存储器元件的报告中的一个或多个步骤。
16.根据权利要求10所述的方法,其中响应于所述前一CE已经发生在与所述UE的地址范围一样的地址范围内执行所述获取和识别,所述地址范围包括至少一个地址。
17.一种用于识别故障存储器元件的存储器系统,所述存储器系统包括:
两个或更多的响应于读取请求而一致操作的存储器模块,每个存储器模块包括一个或多个存储器器件;以及
用于存储与某地址处的第一故障相关联的故障信息的存储装置;以及
处理器,包括用于实现下述操作的逻辑:
接收与不可纠正错误(UE)相关联的病征比特和地址;以及
响应于前一可纠正错误(CE)已经发生:
获取所述前一CE的位置,所述前一CE的位置指定了存储器器件位置;
确定所述UE的位置,其中使用所述前一CE的位置以及所述UE的病征比特作为所述确定的输入,所述位置指定了存储器器件位置;以及
识别与所述UE的位置相关联的故障存储器元件。
18.根据权利要求17所述的存储器系统,其中响应于所述前一CE已经发生在与所述UE的地址范围一样的地址范围内执行所述获取、确定和识别,所述地址范围包括至少一个地址。
19.根据权利要求17所述的存储器系统,其中所述逻辑以硬件和软件中的一种或多种方式来实现。
20.根据权利要求17所述的存储器系统,其中所述逻辑还支持纠正在所述UE的位置处读取的数据。
CN2008100022062A 2007-01-02 2008-01-02 用于识别故障存储器元件的系统和方法 Expired - Fee Related CN101217060B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/619,038 US7721140B2 (en) 2007-01-02 2007-01-02 Systems and methods for improving serviceability of a memory system
US11/619,038 2007-01-02

Publications (2)

Publication Number Publication Date
CN101217060A true CN101217060A (zh) 2008-07-09
CN101217060B CN101217060B (zh) 2012-03-14

Family

ID=39585778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100022062A Expired - Fee Related CN101217060B (zh) 2007-01-02 2008-01-02 用于识别故障存储器元件的系统和方法

Country Status (3)

Country Link
US (1) US7721140B2 (zh)
JP (1) JP5142138B2 (zh)
CN (1) CN101217060B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108139955A (zh) * 2015-10-09 2018-06-08 高通股份有限公司 用于在计算设备中提供独立于操作系统的错误控制的系统和方法
CN110033813A (zh) * 2018-08-31 2019-07-19 济南德欧雅安全技术有限公司 一种翻译器设备
CN111459557A (zh) * 2020-03-12 2020-07-28 烽火通信科技股份有限公司 一种缩短服务器开机时间的方法及系统
CN113595560A (zh) * 2021-06-29 2021-11-02 浪潮电子信息产业股份有限公司 一种信息纠错方法、装置、设备及存储介质

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979616B2 (en) * 2007-06-22 2011-07-12 International Business Machines Corporation System and method for providing a configurable command sequence for a memory interface device
EP2297742B1 (en) 2008-05-16 2013-07-24 Fusion-io, Inc. Apparatus, system, and method for detecting and replacing failed data storage
US8472199B2 (en) * 2008-11-13 2013-06-25 Mosaid Technologies Incorporated System including a plurality of encapsulated semiconductor chips
JP5422974B2 (ja) 2008-11-18 2014-02-19 富士通株式会社 誤り判定回路及び共有メモリシステム
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US9170879B2 (en) * 2009-06-24 2015-10-27 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated data errors from a memory system
US8549384B1 (en) * 2009-06-26 2013-10-01 Marvell International Ltd. Method and apparatus for determining, based on an error correction code, one or more locations to store data in a flash memory
US8713379B2 (en) 2011-02-08 2014-04-29 Diablo Technologies Inc. System and method of interfacing co-processors and input/output devices via a main memory system
JP5601256B2 (ja) * 2011-03-20 2014-10-08 富士通株式会社 メモリコントローラ及び情報処理装置
US9773531B2 (en) 2012-06-08 2017-09-26 Hewlett Packard Enterprise Development Lp Accessing memory
KR102002925B1 (ko) * 2012-11-01 2019-07-23 삼성전자주식회사 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US8935592B2 (en) * 2012-11-20 2015-01-13 Arm Limited Apparatus and method for correcting errors in data accessed from a memory device
US8966348B2 (en) 2012-11-30 2015-02-24 Hewlett-Packard Development Company, L.P. Memory error identification based on corrupted symbol patterns
JP6070374B2 (ja) * 2013-03-29 2017-02-01 富士通株式会社 情報処理装置、メモリ試験プログラムおよびメモリ試験方法
US9244852B2 (en) 2013-05-06 2016-01-26 Globalfoundries Inc. Recovering from uncorrected memory errors
US9262263B2 (en) 2013-11-25 2016-02-16 Qualcomm Incorporated Bit recovery system
US9378081B2 (en) 2014-01-02 2016-06-28 Qualcomm Incorporated Bit remapping system
US9454422B2 (en) 2014-01-30 2016-09-27 International Business Machines Corporation Error feedback and logging with memory on-chip error checking and correcting (ECC)
US10388396B2 (en) * 2014-08-25 2019-08-20 Rambus Inc. Buffer circuit with adaptive repair capability
CN105634781B (zh) * 2014-11-05 2020-03-13 中兴通讯股份有限公司 一种多故障数据解耦方法和装置
US9484960B1 (en) * 2015-01-21 2016-11-01 Inphi Corporation Reconfigurable FEC
US10169258B2 (en) 2015-06-09 2019-01-01 Rambus Inc. Memory system design using buffer(s) on a mother board
KR20170014109A (ko) * 2015-07-29 2017-02-08 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US9946595B2 (en) 2015-09-30 2018-04-17 International Business Machines Corporation Reducing uncorrectable errors based on a history of correctable errors
KR102406267B1 (ko) * 2015-11-19 2022-06-08 삼성전자주식회사 불휘발성 메모리 모듈 및 이를 포함하는 전자 장치
FR3053564B1 (fr) * 2016-07-04 2018-07-27 Kerlink Dispositif de communication modulaire
US10268541B2 (en) 2016-08-15 2019-04-23 Samsung Electronics Co., Ltd. DRAM assist error correction mechanism for DDR SDRAM interface
KR20180084518A (ko) * 2017-01-17 2018-07-25 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템, 및 그의 리페어 동작 방법
US10552260B2 (en) * 2017-06-12 2020-02-04 Cirrus Logic, Inc. Detection of double bit errors and correction of single bit errors in a multiword array
US10613951B2 (en) 2017-09-13 2020-04-07 International Business Machines Corporation Memory mirror invocation upon detecting a correctable error
KR102499794B1 (ko) * 2018-05-21 2023-02-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10802934B2 (en) * 2018-06-11 2020-10-13 Dell Products L.P. Systems and methods to prevent system crashes due to link failure in memory mirroring mode
CN117295424A (zh) * 2021-05-10 2023-12-26 日本烟草产业株式会社 气溶胶生成装置的电路元件和气溶胶生成装置
US20230229560A1 (en) * 2022-01-19 2023-07-20 Micron Technology, Inc. Method and system for off-line repairing and subsequent reintegration in a system

Family Cites Families (358)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL220449A (zh) 1956-09-04
US3333253A (en) 1965-02-01 1967-07-25 Ibm Serial-to-parallel and parallel-toserial buffer-converter using a core matrix
US3395400A (en) 1966-04-26 1968-07-30 Bell Telephone Labor Inc Serial to parallel data converter
US4028675A (en) 1973-05-14 1977-06-07 Hewlett-Packard Company Method and apparatus for refreshing semiconductor memories in multi-port and multi-module memory system
US3825904A (en) 1973-06-08 1974-07-23 Ibm Virtual memory system
US4135240A (en) * 1973-07-09 1979-01-16 Bell Telephone Laboratories, Incorporated Protection of data file contents
US4150428A (en) * 1974-11-18 1979-04-17 Northern Electric Company Limited Method for providing a substitute memory in a data processing system
US4472780A (en) 1981-09-28 1984-09-18 The Boeing Company Fly-by-wire lateral control system
US4486826A (en) 1981-10-01 1984-12-04 Stratus Computer, Inc. Computer peripheral control apparatus
US4475194A (en) 1982-03-30 1984-10-02 International Business Machines Corporation Dynamic replacement of defective memory words
US4641263A (en) 1982-05-17 1987-02-03 Digital Associates Corporation Controller system or emulating local parallel minicomputer/printer interface and transferring serial data to remote line printer
US4479214A (en) * 1982-06-16 1984-10-23 International Business Machines Corporation System for updating error map of fault tolerant memory
US4486739A (en) 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
JPS59153353A (ja) 1983-02-22 1984-09-01 Nec Corp デ−タ伝送システム
US4833605A (en) * 1984-08-16 1989-05-23 Mitsubishi Denki Kabushiki Kaisha Cascaded information processing module having operation unit, parallel port, and serial port for concurrent data transfer and data processing
US4683555A (en) * 1985-01-22 1987-07-28 Texas Instruments Incorporated Serial accessed semiconductor memory with reconfigureable shift registers
US4740916A (en) * 1985-12-19 1988-04-26 International Business Machines Corporation Reconfigurable contiguous address space memory system including serially connected variable capacity memory modules and a split address bus
US4723120A (en) * 1986-01-14 1988-02-02 International Business Machines Corporation Method and apparatus for constructing and operating multipoint communication networks utilizing point-to point hardware and interfaces
ATE60845T1 (de) 1986-10-16 1991-02-15 Siemens Ag Verfahren und anordnung zur versorgung einer taktleitung mit einem von zwei taktsignalen in abhaengigkeit vom pegel eines der beiden taktsignale.
JPS63231550A (ja) * 1987-03-19 1988-09-27 Hitachi Ltd 多重仮想空間制御方式
US4803485A (en) * 1987-03-23 1989-02-07 Amp Incorporated Lan communication system and medium adapter for use therewith
US4782487A (en) * 1987-05-15 1988-11-01 Digital Equipment Corporation Memory test method and apparatus
JP2503249B2 (ja) * 1988-05-13 1996-06-05 富士通株式会社 記憶装置におけるeccエラ―処理方式
US4943984A (en) 1988-06-24 1990-07-24 International Business Machines Corporation Data processing system parallel data bus having a single oscillator clocking apparatus
US4916701A (en) * 1988-09-21 1990-04-10 International Business Machines Corporation Method and system for correcting long bursts of consecutive errors
US5157669A (en) * 1988-10-14 1992-10-20 Advanced Micro Devices, Inc. Comparison of an estimated CRC syndrome to a generated CRC syndrome in an ECC/CRC system to detect uncorrectable errors
US4964129A (en) * 1988-12-21 1990-10-16 Bull Hn Information Systems Inc. Memory controller with error logging
US4964130A (en) * 1988-12-21 1990-10-16 Bull Hn Information Systems Inc. System for determining status of errors in a memory subsystem
EP0386506A3 (en) * 1989-03-06 1991-09-25 International Business Machines Corporation Low cost symbol error correction coding and decoding
JP3038781B2 (ja) * 1989-04-21 2000-05-08 日本電気株式会社 メモリアクセス制御回路
JP2688368B2 (ja) * 1989-05-19 1997-12-10 富士通株式会社 エラーアドレス収集方式
US5053947A (en) 1989-09-29 1991-10-01 Allegro Microsystems, Inc. Extended multistation bus system and method
US5206946A (en) * 1989-10-27 1993-04-27 Sand Technology Systems Development, Inc. Apparatus using converters, multiplexer and two latches to convert SCSI data into serial data and vice versa
JPH03152643A (ja) * 1989-11-09 1991-06-28 Koufu Nippon Denki Kk ダブルビットエラー制御回路
JP2724893B2 (ja) * 1989-12-28 1998-03-09 三菱電機株式会社 半導体集積回路装置
IL96808A (en) 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5517626A (en) 1990-05-07 1996-05-14 S3, Incorporated Open high speed bus for microcomputer system
GB2246494B (en) 1990-05-25 1994-08-31 Silicon Systems Inc Method and apparatus for serial communications
CA2045789A1 (en) 1990-06-29 1991-12-30 Richard Lee Sites Granularity hint for translation buffer in high performance processor
CA2045790A1 (en) 1990-06-29 1991-12-30 Richard Lee Sites Branch prediction in high-performance processor
US5530941A (en) 1990-08-06 1996-06-25 Ncr Corporation System and method for prefetching data from a main computer memory into a cache memory
US5357621A (en) 1990-09-04 1994-10-18 Hewlett-Packard Company Serial architecture for memory module control
US5522064A (en) 1990-10-01 1996-05-28 International Business Machines Corporation Data processing apparatus for dynamically setting timings in a dynamic memory system
US5287531A (en) * 1990-10-31 1994-02-15 Compaq Computer Corp. Daisy-chained serial shift register for determining configuration of removable circuit boards in a computer system
US5214747A (en) * 1990-12-24 1993-05-25 Eastman Kodak Company Segmented neural network with daisy chain control
JP2999845B2 (ja) 1991-04-25 2000-01-17 沖電気工業株式会社 シリアルアクセスメモリの倍速コントロール方式
US5347270A (en) 1991-12-27 1994-09-13 Mitsubishi Denki Kabushiki Kaisha Method of testing switches and switching circuit
US5387911A (en) * 1992-02-21 1995-02-07 Gleichert; Marc C. Method and apparatus for transmitting and receiving both 8B/10B code and 10B/12B code in a switchable 8B/10B transmitter and receiver
US5715407A (en) * 1992-03-06 1998-02-03 Rambus, Inc. Process and apparatus for collision detection on a parallel bus by monitoring a first line of the bus during even bus cycles for indications of overlapping packets
US5375127A (en) 1992-03-25 1994-12-20 Ncr Corporation Method and apparatus for generating Reed-Soloman error correcting code across multiple word boundaries
US5265212A (en) 1992-04-01 1993-11-23 Digital Equipment Corporation Sharing of bus access among multiple state machines with minimal wait time and prioritization of like cycle types
EP0567707A1 (en) * 1992-04-30 1993-11-03 International Business Machines Corporation Implementation of column redundancy in a cache memory architecture
US5270964A (en) 1992-05-19 1993-12-14 Sun Microsystems, Inc. Single in-line memory module
US5410545A (en) * 1992-07-28 1995-04-25 Digital Equipment Corporation Long-term storage of controller performance
AU4798793A (en) * 1992-08-10 1994-03-03 Monolithic System Technology, Inc. Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration
US5594925A (en) 1993-01-05 1997-01-14 Texas Instruments Incorporated Method and apparatus determining order and identity of subunits by inputting bit signals during first clock period and reading configuration signals during second clock period
US5544309A (en) 1993-04-22 1996-08-06 International Business Machines Corporation Data processing system with modified planar for boundary scan diagnostics
JP3489147B2 (ja) 1993-09-20 2004-01-19 株式会社日立製作所 データ転送方式
EP0648055B1 (en) 1993-10-12 2000-01-19 Matsushita Electric Industrial Co., Ltd. Scrambling system, scrambling apparatus and descrambling apparatus
SE502576C2 (sv) * 1993-11-26 1995-11-13 Ellemtel Utvecklings Ab Feltolerant kösystem
US5845310A (en) 1993-12-15 1998-12-01 Hewlett-Packard Co. System and methods for performing cache latency diagnostics in scalable parallel processing architectures including calculating CPU idle time and counting number of cache misses
US5822749A (en) 1994-07-12 1998-10-13 Sybase, Inc. Database system with methods for improving query performance with cache optimization strategies
JPH0887451A (ja) 1994-09-09 1996-04-02 Internatl Business Mach Corp <Ibm> アドレス変換を管理する方法およびアドレス変換マネージャ
US5611055A (en) * 1994-09-27 1997-03-11 Novalink Technologies Method and apparatus for implementing a PCMCIA auxiliary port connector for selectively communicating with peripheral devices
US5475690A (en) 1994-11-10 1995-12-12 Digital Equipment Corporation Delay compensated signal propagation
US6170047B1 (en) * 1994-11-16 2001-01-02 Interactive Silicon, Inc. System and method for managing system memory and/or non-volatile memory using a memory controller with integrated compression and decompression capabilities
US6002411A (en) * 1994-11-16 1999-12-14 Interactive Silicon, Inc. Integrated video and memory controller with data processing and graphical processing capabilities
US5513135A (en) * 1994-12-02 1996-04-30 International Business Machines Corporation Synchronous memory packaged in single/dual in-line memory module and method of fabrication
JP3467880B2 (ja) 1994-12-26 2003-11-17 ソニー株式会社 クロック信号発生装置
US5881154A (en) 1995-01-17 1999-03-09 Kokusai Denshin Denwa Co., Ltd. Data scramble transmission system
US5629685A (en) * 1995-02-23 1997-05-13 International Business Machines Corporation Segmentable addressable modular communication network hubs
US6446224B1 (en) * 1995-03-03 2002-09-03 Fujitsu Limited Method and apparatus for prioritizing and handling errors in a computer system
US5774481A (en) * 1995-03-31 1998-06-30 International Business Machines Corporation Reduced gate error detection and correction circuit
IN188196B (zh) * 1995-05-15 2002-08-31 Silicon Graphics Inc
US5546023A (en) 1995-06-26 1996-08-13 Intel Corporation Daisy chained clock distribution scheme
US5852617A (en) 1995-12-08 1998-12-22 Samsung Electronics Co., Ltd. Jtag testing of buses using plug-in cards with Jtag logic mounted thereon
US5754804A (en) 1996-01-30 1998-05-19 International Business Machines Corporation Method and system for managing system bus communications in a data processing system
JPH09231130A (ja) 1996-02-26 1997-09-05 Mitsubishi Electric Corp マイクロコンピュータ
US5764155A (en) 1996-04-03 1998-06-09 General Electric Company Dynamic data exchange server
JP3710198B2 (ja) 1996-04-18 2005-10-26 沖電気工業株式会社 Stm−n信号の誤り訂正符号化・復号化方法、stm−n信号の誤り訂正符号化回路及びstm−n信号の誤り訂正復号化回路
US5661677A (en) 1996-05-15 1997-08-26 Micron Electronics, Inc. Circuit and method for on-board programming of PRD Serial EEPROMS
JP3068009B2 (ja) * 1996-08-06 2000-07-24 日本電気株式会社 冗長化メモリのエラー訂正機構
US5917760A (en) 1996-09-20 1999-06-29 Sldram, Inc. De-skewing data signals in a memory system
JPH10173122A (ja) * 1996-12-06 1998-06-26 Mitsubishi Electric Corp メモリモジュール
US20020103988A1 (en) 1996-12-18 2002-08-01 Pascal Dornier Microprocessor with integrated interfaces to system memory and multiplexed input/output bus
US5926838A (en) 1997-03-19 1999-07-20 Micron Electronics Interface for high speed memory
US5870320A (en) 1997-06-23 1999-02-09 Sun Microsystems, Inc. Method for reducing a computational result to the range boundaries of a signed 16-bit integer in case of overflow
US6138213A (en) 1997-06-27 2000-10-24 Advanced Micro Devices, Inc. Cache including a prefetch way for storing prefetch cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line
US6292903B1 (en) 1997-07-09 2001-09-18 International Business Machines Corporation Smart memory interface
US6011732A (en) 1997-08-20 2000-01-04 Micron Technology, Inc. Synchronous clock generator including a compound delay-locked loop
US6128746A (en) 1997-08-26 2000-10-03 International Business Machines Corporation Continuously powered mainstore for large memory subsystems
US6230236B1 (en) 1997-08-28 2001-05-08 Nortel Networks Corporation Content addressable memory system with cascaded memories and self timed signals
JP3445476B2 (ja) 1997-10-02 2003-09-08 株式会社東芝 半導体メモリシステム
US6378018B1 (en) * 1997-10-10 2002-04-23 Intel Corporation Memory device and system including a low power interface
US6085276A (en) 1997-10-24 2000-07-04 Compaq Computers Corporation Multi-processor computer system having a data switch with simultaneous insertion buffers for eliminating arbitration interdependencies
JP3457644B2 (ja) 1997-11-06 2003-10-20 株式会社日立製作所 データ処理装置およびデータ処理システム
WO1999030240A1 (en) 1997-12-05 1999-06-17 Intel Corporation Memory system including a memory module having a memory module controller
US6145028A (en) 1997-12-11 2000-11-07 Ncr Corporation Enhanced multi-pathing to an array of storage devices
US7373440B2 (en) * 1997-12-17 2008-05-13 Src Computers, Inc. Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format
US6119248A (en) * 1998-01-26 2000-09-12 Dell Usa L.P. Operating system notification of correctable error in computer information
US7024518B2 (en) 1998-02-13 2006-04-04 Intel Corporation Dual-port buffer-to-memory interface
US6198304B1 (en) * 1998-02-23 2001-03-06 Xilinx, Inc. Programmable logic device
US6096091A (en) 1998-02-24 2000-08-01 Advanced Micro Devices, Inc. Dynamically reconfigurable logic networks interconnected by fall-through FIFOs for flexible pipeline processing in a system-on-a-chip
US6185718B1 (en) 1998-02-27 2001-02-06 International Business Machines Corporation Memory card design with parity and ECC for non-parity and non-ECC systems
US5959914A (en) 1998-03-27 1999-09-28 Lsi Logic Corporation Memory controller with error correction memory test application
US6643745B1 (en) 1998-03-31 2003-11-04 Intel Corporation Method and apparatus for prefetching data into cache
US5870325A (en) * 1998-04-14 1999-02-09 Silicon Graphics, Inc. Memory system with multiple addressing and control busses
US6173382B1 (en) * 1998-04-28 2001-01-09 International Business Machines Corporation Dynamic configuration of memory module using modified presence detect data
US6003121A (en) 1998-05-18 1999-12-14 Intel Corporation Single and multiple channel memory detection and sizing
US6216247B1 (en) * 1998-05-29 2001-04-10 Intel Corporation 32-bit mode for a 64-bit ECC capable memory subsystem
EP0964370B1 (en) 1998-06-05 2003-08-20 International Business Machines Corporation Method and device for loading instruction codes to a memory and linking said instruction codes
US6499070B1 (en) 1998-06-08 2002-12-24 Texas Instruments Incorporated Circuitry and method of transferring parallel and serial data
JPH11353228A (ja) * 1998-06-10 1999-12-24 Mitsubishi Electric Corp メモリモジュールシステム
US6170059B1 (en) * 1998-07-10 2001-01-02 International Business Machines Corporation Tracking memory modules within a computer system
US6260127B1 (en) 1998-07-13 2001-07-10 Compaq Computer Corporation Method and apparatus for supporting heterogeneous memory in computer systems
US6505305B1 (en) * 1998-07-16 2003-01-07 Compaq Information Technologies Group, L.P. Fail-over of multiple memory blocks in multiple memory modules in computer system
US6496540B1 (en) 1998-07-22 2002-12-17 International Business Machines Corporation Transformation of parallel interface into coded format with preservation of baud-rate
US6158040A (en) * 1998-07-29 2000-12-05 Neomagic Corp. Rotated data-aligmnent in wade embedded DRAM for page-mode column ECC in a DVD controller
US6272609B1 (en) 1998-07-31 2001-08-07 Micron Electronics, Inc. Pipelined memory controller
JP4083302B2 (ja) 1998-08-12 2008-04-30 株式会社東芝 動画像スクランブル/デスクランブル装置
US6587912B2 (en) 1998-09-30 2003-07-01 Intel Corporation Method and apparatus for implementing multiple memory buses on a memory module
US5995405A (en) 1998-10-27 1999-11-30 Micron Technology, Inc. Memory module with flexible serial presence detect configuration
US6226729B1 (en) 1998-11-03 2001-05-01 Intel Corporation Method and apparatus for configuring and initializing a memory device and a memory channel
US20020124195A1 (en) 1998-11-04 2002-09-05 Puthiya K. Nizar Method and apparatus for power management in a memory subsystem
US6349390B1 (en) 1999-01-04 2002-02-19 International Business Machines Corporation On-board scrubbing of soft errors memory module
US6233639B1 (en) 1999-01-04 2001-05-15 International Business Machines Corporation Memory card utilizing two wire bus
US6357018B1 (en) 1999-01-26 2002-03-12 Dell Usa, L.P. Method and apparatus for determining continuity and integrity of a RAMBUS channel in a computer system
JP3275867B2 (ja) * 1999-01-26 2002-04-22 日本電気株式会社 スキャンテスト回路及びスキャンテスト回路を含む半導体集積回路及びスキャンテスト回路を搭載した半導体集積回路試験用基板
JP3484093B2 (ja) 1999-02-01 2004-01-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 連想メモリ
US6115278A (en) * 1999-02-09 2000-09-05 Silicon Graphics, Inc. Memory system with switching for data isolation
US6341315B1 (en) 1999-02-26 2002-01-22 Crossroads Systems, Inc. Streaming method and system for fiber channel network devices
US6564329B1 (en) * 1999-03-16 2003-05-13 Linkup Systems Corporation System and method for dynamic clock generation
US6460107B1 (en) 1999-04-29 2002-10-01 Intel Corporation Integrated real-time performance monitoring facility
JP3512678B2 (ja) 1999-05-27 2004-03-31 富士通株式会社 キャッシュメモリ制御装置および計算機システム
US6393528B1 (en) * 1999-06-30 2002-05-21 International Business Machines Corporation Optimized cache allocation algorithm for multiple speculative requests
US6425044B1 (en) 1999-07-13 2002-07-23 Micron Technology, Inc. Apparatus for providing fast memory decode using a bank conflict table
US6839393B1 (en) * 1999-07-14 2005-01-04 Rambus Inc. Apparatus and method for controlling a master/slave system via master device synchronization
US7017020B2 (en) 1999-07-16 2006-03-21 Broadcom Corporation Apparatus and method for optimizing access to memory
US6792495B1 (en) 1999-07-27 2004-09-14 Intel Corporation Transaction scheduling for a bus system
US7155016B1 (en) 1999-08-20 2006-12-26 Paradyne Corporation Communication device and method for using non-self-synchronizing scrambling in a communication system
US6549971B1 (en) * 1999-08-26 2003-04-15 International Business Machines Corporation Cascaded differential receiver circuit
US6594713B1 (en) 1999-09-10 2003-07-15 Texas Instruments Incorporated Hub interface unit and application unit interfaces for expanded direct memory access processor
US6484271B1 (en) 1999-09-16 2002-11-19 Koninklijke Philips Electronics N.V. Memory redundancy techniques
US6393512B1 (en) 1999-09-27 2002-05-21 Ati International Srl Circuit and method for detecting bank conflicts in accessing adjacent banks
US6467013B1 (en) 1999-09-30 2002-10-15 Intel Corporation Memory transceiver to couple an additional memory channel to an existing memory channel
US6262493B1 (en) 1999-10-08 2001-07-17 Sun Microsystems, Inc. Providing standby power to field replaceable units for electronic systems
US6889284B1 (en) * 1999-10-19 2005-05-03 Intel Corporation Method and apparatus for supporting SDRAM memory
US6557069B1 (en) * 1999-11-12 2003-04-29 International Business Machines Corporation Processor-memory bus architecture for supporting multiple processors
US6584576B1 (en) 1999-11-12 2003-06-24 Kingston Technology Corporation Memory system using complementary delay elements to reduce rambus module timing skew
US6513091B1 (en) * 1999-11-12 2003-01-28 International Business Machines Corporation Data routing using status-response signals
US6526469B1 (en) 1999-11-12 2003-02-25 International Business Machines Corporation Bus architecture employing varying width uni-directional command bus
JP2001167077A (ja) 1999-12-09 2001-06-22 Nec Kofu Ltd ネットワークシステムにおけるデータアクセス方法、ネットワークシステムおよび記録媒体
US6601149B1 (en) 1999-12-14 2003-07-29 International Business Machines Corporation Memory transaction monitoring system and user interface
US6487627B1 (en) 1999-12-22 2002-11-26 Intel Corporation Method and apparatus to manage digital bus traffic
US6307789B1 (en) 1999-12-28 2001-10-23 Intel Corporation Scratchpad memory
US6408398B1 (en) 1999-12-29 2002-06-18 Intel Corporation Method and apparatus for detecting time domains on a communication channel
US6609171B1 (en) 1999-12-29 2003-08-19 Intel Corporation Quad pumped bus architecture and protocol
KR100575864B1 (ko) 1999-12-30 2006-05-03 주식회사 하이닉스반도체 램버스 디램
US6910146B2 (en) 1999-12-31 2005-06-21 Intel Corporation Method and apparatus for improving timing margin in an integrated circuit as determined from recorded pass/fail indications for relative phase settings
US6502161B1 (en) 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US7266634B2 (en) 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
US6845472B2 (en) * 2000-01-25 2005-01-18 Hewlett-Packard Development Company, L.P. Memory sub-system error cleansing
US6219288B1 (en) * 2000-03-03 2001-04-17 International Business Machines Corporation Memory having user programmable AC timings
KR20020091116A (ko) 2000-03-08 2002-12-05 선 마이크로시스템즈, 인코포레이티드 온칩의 동적 램을 구비한 브이엘아이더블유 컴퓨터 처리구성
JP4569913B2 (ja) 2000-03-10 2010-10-27 エルピーダメモリ株式会社 メモリモジュール
JP2001290697A (ja) * 2000-04-06 2001-10-19 Hitachi Ltd 情報処理システム
US6704842B1 (en) * 2000-04-12 2004-03-09 Hewlett-Packard Development Company, L.P. Multi-processor system with proactive speculative data transfer
US7269765B1 (en) * 2000-04-13 2007-09-11 Micron Technology, Inc. Method and apparatus for storing failing part locations in a module
US6546359B1 (en) * 2000-04-24 2003-04-08 Sun Microsystems, Inc. Method and apparatus for multiplexing hardware performance indicators
US6536009B1 (en) * 2000-05-17 2003-03-18 Trw Inc. Technique for generating single-bit error-correcting, two-bit burst error-detecting codes
US6721944B2 (en) * 2000-05-31 2004-04-13 Sun Microsystems, Inc. Marking memory elements based upon usage of accessed information during speculative execution
US7039755B1 (en) 2000-05-31 2006-05-02 Advanced Micro Devices, Inc. Method and apparatus for powering down the CPU/memory controller complex while preserving the self refresh state of memory in the system
US6461013B1 (en) 2000-06-02 2002-10-08 Richard L. Simon Door knob lighting assembly
US6748518B1 (en) 2000-06-06 2004-06-08 International Business Machines Corporation Multi-level multiprocessor speculation mechanism
US6697919B2 (en) * 2000-06-10 2004-02-24 Hewlett-Packard Development Company, L.P. System and method for limited fanout daisy chaining of cache invalidation requests in a shared-memory multiprocessor system
US6622217B2 (en) 2000-06-10 2003-09-16 Hewlett-Packard Development Company, L.P. Cache coherence protocol engine system and method for processing memory transaction in distinct address subsets during interleaved time periods in a multiprocessor system
US6415376B1 (en) 2000-06-16 2002-07-02 Conexant Sytems, Inc. Apparatus and method for issue grouping of instructions in a VLIW processor
US6791555B1 (en) 2000-06-23 2004-09-14 Micron Technology, Inc. Apparatus and method for distributed memory control in a graphics processing system
US6611905B1 (en) 2000-06-29 2003-08-26 International Business Machines Corporation Memory interface with programable clock to output time based on wide range of receiver loads
US6446174B1 (en) 2000-07-11 2002-09-03 Intel Corporation Computer system with dram bus
US6738836B1 (en) * 2000-08-31 2004-05-18 Hewlett-Packard Development Company, L.P. Scalable efficient I/O port protocol
US6977979B1 (en) 2000-08-31 2005-12-20 Hewlett-Packard Development Company, L.P. Enhanced clock forwarding data recovery
US6487102B1 (en) 2000-09-18 2002-11-26 Intel Corporation Memory module having buffer for isolating stacked memory devices
US6625687B1 (en) 2000-09-18 2003-09-23 Intel Corporation Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing
US6553450B1 (en) * 2000-09-18 2003-04-22 Intel Corporation Buffer to multiply memory interface
US6317352B1 (en) 2000-09-18 2001-11-13 Intel Corporation Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules
US6625685B1 (en) * 2000-09-20 2003-09-23 Broadcom Corporation Memory controller with programmable configuration
US6532525B1 (en) * 2000-09-29 2003-03-11 Ati Technologies, Inc. Method and apparatus for accessing memory
ATE437476T1 (de) 2000-10-06 2009-08-15 Pact Xpp Technologies Ag Zellenanordnung mit segmentierter zwischenzellstruktur
US6636875B1 (en) * 2000-10-25 2003-10-21 International Business Machines Corporation System and method for synchronizing related data elements in disparate storage systems
US6285172B1 (en) 2000-11-13 2001-09-04 Texas Instruments Incorporated Digital phase-locked loop circuit with reduced phase jitter frequency
US6898726B1 (en) 2000-11-15 2005-05-24 Micron Technology, Inc. Memory system that sets a predetermined phase relationship between read and write clock signals at a bus midpoint for a plurality of spaced device locations
US6590827B2 (en) 2000-11-21 2003-07-08 Via Technologies, Inc. Clock device for supporting multiplicity of memory module types
US6510100B2 (en) * 2000-12-04 2003-01-21 International Business Machines Corporation Synchronous memory modules and memory systems with selectable clock termination
US6993612B2 (en) 2000-12-07 2006-01-31 Micron Technology, Inc. Arbitration method for a source strobed bus
US6834355B2 (en) 2000-12-15 2004-12-21 Intel Corporation Circuit in which the time delay of an input clock signal is dependent only on its logic phase width and a ratio of capacitances
US6934785B2 (en) 2000-12-22 2005-08-23 Micron Technology, Inc. High speed interface with looped bus
US6622227B2 (en) * 2000-12-27 2003-09-16 Intel Corporation Method and apparatus for utilizing write buffers in memory control/interface
US6493250B2 (en) 2000-12-28 2002-12-10 Intel Corporation Multi-tier point-to-point buffered memory interface
TW527537B (en) * 2001-01-03 2003-04-11 Leadtek Research Inc Conversion device of SDR and DDR, and interface card, motherboard and memory module interface using the same
US6832329B2 (en) * 2001-02-08 2004-12-14 International Business Machines Corporation Cache thresholding method, apparatus, and program for predictive reporting of array bit line or driver failures
US6445624B1 (en) 2001-02-23 2002-09-03 Micron Technology, Inc. Method of synchronizing read timing in a high speed memory system
JP3888070B2 (ja) 2001-02-23 2007-02-28 株式会社ルネサステクノロジ 消費電力制御インタフェースを有する論理回路モジュール及び該モジュールを記憶した記憶媒体
US20020124201A1 (en) 2001-03-01 2002-09-05 International Business Machines Corporation Method and system for log repair action handling on a logically partitioned multiprocessing system
US6874102B2 (en) 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US6754762B1 (en) 2001-03-05 2004-06-22 Honeywell International Inc. Redundant bus switching
US6882082B2 (en) 2001-03-13 2005-04-19 Micron Technology, Inc. Memory repeater
US6625702B2 (en) 2001-04-07 2003-09-23 Hewlett-Packard Development Company, L.P. Memory controller with support for memory modules comprised of non-homogeneous data width RAM devices
US6678811B2 (en) * 2001-04-07 2004-01-13 Hewlett-Packard Development Company, L.P. Memory controller with 1X/MX write capability
US6721185B2 (en) 2001-05-01 2004-04-13 Sun Microsystems, Inc. Memory module having balanced data I/O contacts pads
US6779075B2 (en) 2001-05-15 2004-08-17 Leadtek Research Inc. DDR and QDR converter and interface card, motherboard and memory module interface using the same
US6766389B2 (en) 2001-05-18 2004-07-20 Broadcom Corporation System on a chip for networking
US20030078964A1 (en) 2001-06-04 2003-04-24 Nct Group, Inc. System and method for reducing the time to deliver information from a communications network to a user
US20030090879A1 (en) * 2001-06-14 2003-05-15 Doblar Drew G. Dual inline memory module
US6760817B2 (en) 2001-06-21 2004-07-06 International Business Machines Corporation Method and system for prefetching utilizing memory initiated prefetch write operations
US7245632B2 (en) * 2001-08-10 2007-07-17 Sun Microsystems, Inc. External storage for modular computer systems
US6681292B2 (en) * 2001-08-27 2004-01-20 Intel Corporation Distributed read and write caching implementation for optimized input/output applications
US20040098549A1 (en) 2001-10-04 2004-05-20 Dorst Jeffrey R. Apparatus and methods for programmable interfaces in memory controllers
US6965952B2 (en) 2001-10-15 2005-11-15 Intel Corporation Bus framer
US7209996B2 (en) 2001-10-22 2007-04-24 Sun Microsystems, Inc. Multi-core multi-thread processor
US6594748B1 (en) 2001-11-09 2003-07-15 Lsi Logic Corporation Methods and structure for pipelined read return control in a shared RAM controller
DE10155449A1 (de) 2001-11-12 2003-05-28 Infineon Technologies Ag Verfahren zur Rekonfiguration eines Speichers
US6675280B2 (en) 2001-11-30 2004-01-06 Intel Corporation Method and apparatus for identifying candidate virtual addresses in a content-aware prefetcher
US7385993B2 (en) 2001-12-21 2008-06-10 International Business Machines Corporation Queue scheduling mechanism in a data packet transmission system
US6792516B2 (en) 2001-12-28 2004-09-14 Intel Corporation Memory arbiter with intelligent page gathering logic
US6925534B2 (en) 2001-12-31 2005-08-02 Intel Corporation Distributed memory module cache prefetch
US6865646B2 (en) 2001-12-31 2005-03-08 Intel Corporation Segmented distributed memory module cache
US6799241B2 (en) 2002-01-03 2004-09-28 Intel Corporation Method for dynamically adjusting a memory page closing policy
US6775747B2 (en) 2002-01-03 2004-08-10 Intel Corporation System and method for performing page table walks on speculative software prefetch operations
KR100454126B1 (ko) 2002-01-15 2004-10-26 삼성전자주식회사 분리된 클록 라인을 구비한 정보 처리 시스템
US7227949B2 (en) 2002-01-31 2007-06-05 Texas Instruments Incorporated Separate self-synchronizing packet-based scrambler having replay variation
GB2386441B (en) 2002-03-12 2006-09-27 Advanced Risc Mach Ltd Bus interface selection by page table attributes
US6918068B2 (en) 2002-04-08 2005-07-12 Harris Corporation Fault-tolerant communications system and associated methods
DE10215362A1 (de) 2002-04-08 2003-10-30 Infineon Technologies Ag Integrierter Speicher mit einem Speicherzellenfeld mit mehreren Speicherbänken und Schaltungsanordnung mit einem integrierten Speicher
US6948091B2 (en) 2002-05-02 2005-09-20 Honeywell International Inc. High integrity recovery from multi-bit data failures
US7376146B2 (en) 2002-05-16 2008-05-20 Intel Corporation Bus conversion device, system and method
US6807650B2 (en) 2002-06-03 2004-10-19 International Business Machines Corporation DDR-II driver impedance adjustment control algorithm and interface circuits
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7203318B2 (en) * 2002-06-17 2007-04-10 M/A-Com Private Radio Systems, Inc. Secure transmission system for a digital trunked radio system
DE60311467T2 (de) 2002-06-21 2007-11-08 Hymo Corp. Dispersion von wasserlöslichem polymer, herstellungsverfahren dafür und verwendungsverfahren dafür
US7212548B2 (en) 2002-06-21 2007-05-01 Adtran, Inc. Multiple T1 channel inverse multiplexing method and apparatus
TW559694B (en) 2002-06-21 2003-11-01 Via Tech Inc Method and system of calibrating the control delay time
US6832286B2 (en) 2002-06-25 2004-12-14 Hewlett-Packard Development Company, L.P. Memory auto-precharge
US7047384B2 (en) 2002-06-27 2006-05-16 Intel Corporation Method and apparatus for dynamic timing of memory interface signals
US6996766B2 (en) * 2002-06-28 2006-02-07 Sun Microsystems, Inc. Error detection/correction code which detects and corrects a first failing component and optionally a second failing component
US6741096B2 (en) 2002-07-02 2004-05-25 Lsi Logic Corporation Structure and methods for measurement of arbitration performance
US6854043B2 (en) * 2002-07-05 2005-02-08 Hewlett-Packard Development Company, L.P. System and method for multi-modal memory controller system operation
JP4159415B2 (ja) 2002-08-23 2008-10-01 エルピーダメモリ株式会社 メモリモジュール及びメモリシステム
JP2004093462A (ja) * 2002-09-02 2004-03-25 Oki Electric Ind Co Ltd 半導体集積回路とその試験方法
KR20040021485A (ko) * 2002-09-04 2004-03-10 삼성전자주식회사 메모리 접근시간을 줄이기 위하여 페이지 모드를 선택할수 있는 메모리 제어장치 및 메모리 접근 제어방법
US20040054864A1 (en) 2002-09-13 2004-03-18 Jameson Neil Andrew Memory controller
US20040078615A1 (en) * 2002-10-17 2004-04-22 Intel Corporation (A Delaware Corporation) Multi-module system, distribution circuit and their methods of operation
DE10248672B4 (de) 2002-10-18 2016-02-11 Robert Bosch Gmbh Verfahren zur Übertragung von Daten auf einem Bus
US7313583B2 (en) 2002-10-22 2007-12-25 Broadcom Corporation Galois field arithmetic unit for use within a processor
US6996639B2 (en) * 2002-12-10 2006-02-07 Intel Corporation Configurably prefetching head-of-queue from ring buffers
US7093076B2 (en) 2002-12-12 2006-08-15 Samsung Electronics, Co., Ltd. Memory system having two-way ring topology and memory device and memory module for ring-topology memory system
US20040117588A1 (en) 2002-12-12 2004-06-17 International Business Machines Corporation Access request for a data processing system having no system memory
US6978416B2 (en) 2002-12-19 2005-12-20 International Business Machines Corporation Error correction with low latency for bus structures
US6944084B2 (en) 2002-12-31 2005-09-13 Intel Corporation Memory system that measures power consumption
US7308524B2 (en) 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US7047370B1 (en) 2003-01-14 2006-05-16 Cisco Technology, Inc. Full access to memory interfaces via remote request
US7096407B2 (en) 2003-02-18 2006-08-22 Hewlett-Packard Development Company, L.P. Technique for implementing chipkill in a memory system
US7216276B1 (en) 2003-02-27 2007-05-08 Marvell International Ltd. Apparatus and method for testing and debugging an integrated circuit
US6922658B2 (en) 2003-03-31 2005-07-26 International Business Machines Corporation Method and system for testing the validity of shared data in a multiprocessing system
US7234099B2 (en) 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
DE112004000821B4 (de) 2003-05-13 2016-12-01 Advanced Micro Devices, Inc. System mit einem Hauptrechner, der mit mehreren Speichermodulen über eine serielle Speicherverbindung verbunden ist
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
TW200427224A (en) 2003-05-21 2004-12-01 Myson Century Inc Clock multiplier
US7127629B2 (en) 2003-06-03 2006-10-24 Intel Corporation Redriving a data signal responsive to either a sampling clock signal or stable clock signal dependent on a mode signal
US7165153B2 (en) 2003-06-04 2007-01-16 Intel Corporation Memory channel with unidirectional links
US7428644B2 (en) 2003-06-20 2008-09-23 Micron Technology, Inc. System and method for selective memory module power management
US7260685B2 (en) 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
DE10330812B4 (de) 2003-07-08 2006-07-06 Infineon Technologies Ag Halbleiterspeichermodul
US20050022091A1 (en) * 2003-07-21 2005-01-27 Holman Thomas J. Method, system, and apparatus for adjacent-symbol error correction and detection code
KR100500454B1 (ko) * 2003-07-28 2005-07-12 삼성전자주식회사 메모리 모듈 테스트 시스템 및 메모리 모듈 평가 시스템
US7844801B2 (en) * 2003-07-31 2010-11-30 Intel Corporation Method and apparatus for affinity-guided speculative helper threads in chip multiprocessors
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
CN100394506C (zh) * 2003-08-20 2008-06-11 上海乐金广电电子有限公司 纠错装置及方法
US7136958B2 (en) * 2003-08-28 2006-11-14 Micron Technology, Inc. Multiple processor system and method including multiple memory hub modules
US20050050237A1 (en) * 2003-08-28 2005-03-03 Jeddeloh Joseph M. Memory module and method having on-board data search capabilities and processor-based system using such memory modules
US7194593B2 (en) * 2003-09-18 2007-03-20 Micron Technology, Inc. Memory hub with integrated non-volatile memory
US20050080581A1 (en) * 2003-09-22 2005-04-14 David Zimmerman Built-in self test for memory interconnect testing
US7197594B2 (en) 2003-09-23 2007-03-27 Infineon Technologies Flash Gmbh & Co. Kg Circuit, system and method for encoding data to be stored on a non-volatile memory array
US7124329B2 (en) * 2003-09-26 2006-10-17 International Business Machines Corporation Implementing memory failure analysis in a data processing system
US7386765B2 (en) * 2003-09-29 2008-06-10 Intel Corporation Memory device having error checking and correction
US7334159B1 (en) * 2003-09-29 2008-02-19 Rockwell Automation Technologies, Inc. Self-testing RAM system and method
US20050071707A1 (en) * 2003-09-30 2005-03-31 Hampel Craig E. Integrated circuit with bi-modal data strobe
US7139965B2 (en) 2003-10-08 2006-11-21 Hewlett-Packard Development Company, L.P. Bus device that concurrently synchronizes source synchronous data while performing error detection and correction
US7433258B2 (en) * 2003-10-10 2008-10-07 Datasecure Llc. Posted precharge and multiple open-page RAM architecture
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US20050086424A1 (en) * 2003-10-21 2005-04-21 Infineon Technologies North America Corp. Well-matched echo clock in memory system
US7234070B2 (en) 2003-10-27 2007-06-19 Micron Technology, Inc. System and method for using a learning sequence to establish communications on a high-speed nonsynchronous interface in the absence of clock forwarding
US7113418B2 (en) * 2003-11-04 2006-09-26 Hewlett-Packard Development Company, L.P. Memory systems and methods
US7177211B2 (en) * 2003-11-13 2007-02-13 Intel Corporation Memory channel test fixture and method
US7206962B2 (en) 2003-11-25 2007-04-17 International Business Machines Corporation High reliability memory subsystem using data error correcting code symbol sliced command repowering
US7073010B2 (en) 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US7155623B2 (en) 2003-12-03 2006-12-26 International Business Machines Corporation Method and system for power management including local bounding of device group power consumption
US7752470B2 (en) 2003-12-03 2010-07-06 International Business Machines Corporation Method and system for power management including device controller-based device use evaluation and power-state control
US7171591B2 (en) * 2003-12-23 2007-01-30 International Business Machines Corporation Method and apparatus for encoding special uncorrectable errors in an error correction code
US20050138267A1 (en) 2003-12-23 2005-06-23 Bains Kuljit S. Integral memory buffer and serial presence detect capability for fully-buffered memory modules
TWI237767B (en) 2003-12-23 2005-08-11 High Tech Comp Corp Serial/parallel data transformer module and related computer systems
JP4085389B2 (ja) 2003-12-24 2008-05-14 日本電気株式会社 マルチプロセッサシステム、マルチプロセッサシステムにおける一貫性制御装置及び一貫性制御方法
US7216196B2 (en) 2003-12-29 2007-05-08 Micron Technology, Inc. Memory hub and method for memory system performance monitoring
US7197670B2 (en) * 2003-12-31 2007-03-27 Intel Corporation Methods and apparatuses for reducing infant mortality in semiconductor devices utilizing static random access memory (SRAM)
US7321979B2 (en) 2004-01-22 2008-01-22 International Business Machines Corporation Method and apparatus to change the operating frequency of system core logic to maximize system memory bandwidth
US7412574B2 (en) 2004-02-05 2008-08-12 Micron Technology, Inc. System and method for arbitration of memory responses in a hub-based memory system
US7181584B2 (en) 2004-02-05 2007-02-20 Micron Technology, Inc. Dynamic command and/or address mirroring system and method for memory modules
US7363436B1 (en) 2004-02-26 2008-04-22 Integrated Device Technology, Inc. Collision detection in a multi-port memory system
US7114109B2 (en) 2004-03-11 2006-09-26 International Business Machines Corporation Method and apparatus for customizing and monitoring multiple interfaces and implementing enhanced fault tolerance and isolation features
US7120723B2 (en) 2004-03-25 2006-10-10 Micron Technology, Inc. System and method for memory hub-based expansion bus
US7200832B2 (en) 2004-03-26 2007-04-03 Lsi Logic Corp Macro cell for integrated circuit physical layer interface
US7213082B2 (en) 2004-03-29 2007-05-01 Micron Technology, Inc. Memory hub and method for providing memory sequencing hints
US9047094B2 (en) 2004-03-31 2015-06-02 Icera Inc. Apparatus and method for separate asymmetric control processing and data path processing in a dual path processor
US7724750B2 (en) 2004-04-01 2010-05-25 Nokia Corporation Expedited data transmission in packet based network
US7027336B2 (en) 2004-05-10 2006-04-11 Hynix Semiconductor Inc. Semiconductor memory device for controlling output timing of data depending on frequency variation
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
US7304905B2 (en) 2004-05-24 2007-12-04 Intel Corporation Throttling memory in response to an internal temperature of a memory device
US7363419B2 (en) 2004-05-28 2008-04-22 Micron Technology, Inc. Method and system for terminating write commands in a hub-based memory system
US20060010339A1 (en) * 2004-06-24 2006-01-12 Klein Dean A Memory system and method having selective ECC during low power refresh
US7500123B2 (en) 2004-06-28 2009-03-03 Ati Technologies Ulc Apparatus and method for reducing power consumption in a graphics processing device
US7318130B2 (en) 2004-06-29 2008-01-08 Intel Corporation System and method for thermal throttling of memory modules
US20060004953A1 (en) 2004-06-30 2006-01-05 Vogt Pete D Method and apparatus for increased memory bandwidth
US20060036826A1 (en) 2004-07-30 2006-02-16 International Business Machines Corporation System, method and storage medium for providing a bus speed multiplier
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
US7539800B2 (en) 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
US7091890B1 (en) 2004-08-17 2006-08-15 Xilinx, Inc. Multi-purpose source synchronous interface circuitry
US7404118B1 (en) * 2004-09-02 2008-07-22 Sun Microsystems, Inc. Memory error analysis for determining potentially faulty memory components
US8621304B2 (en) 2004-10-07 2013-12-31 Hewlett-Packard Development Company, L.P. Built-in self-test system and method for an integrated circuit
US7360027B2 (en) 2004-10-15 2008-04-15 Intel Corporation Method and apparatus for initiating CPU data prefetches by an external agent
US20060095679A1 (en) 2004-10-28 2006-05-04 Edirisooriya Samantha J Method and apparatus for pushing data into a processor cache
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
US7334070B2 (en) 2004-10-29 2008-02-19 International Business Machines Corporation Multi-channel memory architecture for daisy chained arrangements of nodes with bridging between memory channels
US20060112238A1 (en) 2004-11-23 2006-05-25 Sujat Jamil Techniques for pushing data to a processor cache
KR100734262B1 (ko) * 2004-12-07 2007-07-02 삼성전자주식회사 광 저장 매체의 최적화된 결함 처리를 위한 결함 판단 장치
US7404133B2 (en) * 2004-12-12 2008-07-22 Hewlett-Packard Development Company, L.P. Error detection and correction employing modulation symbols satisfying predetermined criteria
US20060161733A1 (en) 2005-01-19 2006-07-20 Emulex Design & Manufacturing Corporation Host buffer queues
US20060168407A1 (en) 2005-01-26 2006-07-27 Micron Technology, Inc. Memory hub system and method having large virtual page size
US20060195631A1 (en) 2005-01-31 2006-08-31 Ramasubramanian Rajamani Memory buffers for merging local data from memory modules
JP4516458B2 (ja) 2005-03-18 2010-08-04 株式会社日立製作所 フェイルオーバークラスタシステム及びフェイルオーバー方法
US7861055B2 (en) 2005-06-07 2010-12-28 Broadcom Corporation Method and system for on-chip configurable data ram for fast memory and pseudo associative caches
US20070005922A1 (en) 2005-06-30 2007-01-04 Swaminathan Muthukumar P Fully buffered DIMM variable read latency
US20070025304A1 (en) 2005-07-26 2007-02-01 Rangsan Leelahakriengkrai System and method for prioritizing transmission legs for precaching data
US7328381B2 (en) 2005-08-01 2008-02-05 Micron Technology, Inc. Testing system and method for memory modules having a memory hub architecture
US7319340B2 (en) 2005-08-01 2008-01-15 Micron Technology, Inc. Integrated circuit load board and method having on-board test circuit
US7865570B2 (en) * 2005-08-30 2011-01-04 Illinois Institute Of Technology Memory server
US7430145B2 (en) * 2005-09-16 2008-09-30 Hewlett-Packard Development Company, L.P. System and method for avoiding attempts to access a defective portion of memory
US20070165457A1 (en) 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
US7496777B2 (en) * 2005-10-12 2009-02-24 Sun Microsystems, Inc. Power throttling 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
US7386771B2 (en) * 2006-01-06 2008-06-10 International Business Machines Corporation Repair of memory hard failures during normal operation, using ECC and a hard fail identifier circuit
US7353316B2 (en) 2006-03-24 2008-04-01 Micron Technology, Inc. System and method for re-routing signals between memory system components
JP5388406B2 (ja) 2006-06-20 2014-01-15 キヤノン株式会社 メモリシステム
US20080010566A1 (en) * 2006-06-21 2008-01-10 Chang Tsung-Yung Jonathan Disabling portions of memory with non-deterministic errors
US20080162807A1 (en) 2006-12-29 2008-07-03 Rothman Michael A Method and apparatus for redundant memory arrays
US7877666B2 (en) * 2006-12-30 2011-01-25 Intel Corporation Tracking health of integrated circuit structures
US8041989B2 (en) * 2007-06-28 2011-10-18 International Business Machines Corporation System and method for providing a high fault tolerant memory system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108139955A (zh) * 2015-10-09 2018-06-08 高通股份有限公司 用于在计算设备中提供独立于操作系统的错误控制的系统和方法
CN110033813A (zh) * 2018-08-31 2019-07-19 济南德欧雅安全技术有限公司 一种翻译器设备
CN111459557A (zh) * 2020-03-12 2020-07-28 烽火通信科技股份有限公司 一种缩短服务器开机时间的方法及系统
CN111459557B (zh) * 2020-03-12 2023-04-07 烽火通信科技股份有限公司 一种缩短服务器开机时间的方法及系统
CN113595560A (zh) * 2021-06-29 2021-11-02 浪潮电子信息产业股份有限公司 一种信息纠错方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN101217060B (zh) 2012-03-14
JP5142138B2 (ja) 2013-02-13
US20080162991A1 (en) 2008-07-03
JP2008165772A (ja) 2008-07-17
US7721140B2 (en) 2010-05-18

Similar Documents

Publication Publication Date Title
CN101217060B (zh) 用于识别故障存储器元件的系统和方法
CN102084341B (zh) 用于在高速串行链路中使用的循环冗余码
TWI430084B (zh) 記憶體系統中錯誤校正與偵測之系統及方法
US8327105B2 (en) Providing frame start indication in a memory system having indeterminate read data latency
US7984329B2 (en) System and method for providing DRAM device-level repair via address remappings external to the device
US8359521B2 (en) Providing a memory device having a shared error feedback pin
US8055976B2 (en) System and method for providing error correction and detection in a memory system
CN101410811B (zh) 提供远程预取缓冲器的计算机存储器系统
US7584336B2 (en) Systems and methods for providing data modification operations in memory subsystems
US7952944B2 (en) System for providing on-die termination of a control signal bus
US20070288679A1 (en) 276-pin buffered memory module with enhanced fault tolerance and a performance-optimized pin assignment
US20070276976A1 (en) Systems and methods for providing distributed technology independent memory controllers
US8023358B2 (en) System and method for providing a non-power-of-two burst length in a memory system
CN101169962A (zh) 具有容错地址和命令总线的高密度高可靠性存储器模块
CN108074595A (zh) 存储器系统的接口方法、接口电路和存储器模块
CN105378690A (zh) 存储器节点差错校正
US7624244B2 (en) System for providing a slow command decode over an untrained high-speed interface
CN105283856A (zh) 能够在多个数据宽度下通信的存储器组件
US8024642B2 (en) System and method for providing constrained transmission and storage in a random access memory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120314

Termination date: 20190102