CN101217060A - 用于识别故障存储器元件的系统和方法 - Google Patents
用于识别故障存储器元件的系统和方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56008—Error analysis, representation of errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports 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 t=0模2。根据奇偶校验等式,校验比特的值可以通过XOR运算从数据比特计算得出。数据比特与相应校验比特一起形成存储在存储器中的ECC字。另一方面,如果从存储器中获取ECC编码的字,则使用奇偶校验等式来生成代表所接收数据的正确性的病征。
例如,令p(x)=1+x+x6+x7+x8,一个二元本原多项式,a为p(x)在256个元素的有限域GF(28)中的根。a的伴随矩阵为:
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为
并且M2为
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 t=0模2,并且W=V+E(模2)是V被错误向量E=(E1,E2,...E36)破坏的字。一旦通过对病征进行解码而确定了错误向量E,就通过设定V=W+E(模2)来恢复原始向量V。由此,根据等式H·V t=0模2,病征S为:
S=H·W t=H·(V t+E t)=H·E t mod 2
此外,如果错误向量由位置i处的单个符号错误构成,则:
S=Hi·Ei tmod 2
例如,如果i=13,则病征为:
在这种情况下,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:,并且简化得到的表达式,得出:
比率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后,通过下式得到错误的数量:
图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的位置处读取的数据。
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)
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)
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)
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 |
-
2007
- 2007-01-02 US US11/619,038 patent/US7721140B2/en not_active Expired - Fee Related
- 2007-12-13 JP JP2007322378A patent/JP5142138B2/ja not_active Expired - Fee Related
-
2008
- 2008-01-02 CN CN2008100022062A patent/CN101217060B/zh not_active Expired - Fee Related
Cited By (5)
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 |