CN103765522A - 排特定的循环冗余校验 - Google Patents
排特定的循环冗余校验 Download PDFInfo
- Publication number
- CN103765522A CN103765522A CN201280033038.8A CN201280033038A CN103765522A CN 103765522 A CN103765522 A CN 103765522A CN 201280033038 A CN201280033038 A CN 201280033038A CN 103765522 A CN103765522 A CN 103765522A
- Authority
- CN
- China
- Prior art keywords
- crc
- row
- memory
- itl
- enable
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
-
- 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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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
-
- 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
-
- 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
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- 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/1064—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 in cache or content addressable memories
-
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- 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/1072—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 in multilevel memories
-
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本公开的实施例描述了用于在存储器系统中提供排特定的循环冗余校验的方法、设备和系统配置。
Description
对相关申请的交叉引用
本发明要求2011年7月1日提交的名称为“RANK-SPECIFICCYCLIC REDUNDANCY CHECK”的美国专利申请(No.13/175,472)的优先权,其全部公开据此通过引用被结合。
技术领域
本公开的实施例一般涉及错误检测领域,并且更具体地涉及排(rank)特定的循环冗余校验。
背景技术
双装置数据校正(DDDC)存储器模块能够通过标出故障的装置并利用在排中的其他地方发现的冗余来从该排的单个存储器装置故障中恢复。然而,如果第二装置将在该排上出故障,随着静止数据恶化(SDC)的风险中对应的增加,纠错码(ECC)保护可被弱化。尽管循环冗余校验(CRC)码可用于减少SDC的机会(或用于其他目的,例如区分通道和动态随机存取存储器存储错误以能够实现高效的修复策略),它们的应用还可与性能的降低相关联。
附图说明
通过下面结合附图的详细描述,实施例将容易地被理解。为便于此描述,相似的引用数字标明相似的结构元件。在附图的图形中,通过示例的方式而不是通过限制的方式来图示实施例。
图1示意性地图示了根据一些实施例的调度单元。
图2示意性地图示了根据一些实施例的包括图1的调度单元的系统。
图3示意性地图示了根据一些实施例的图2的系统的读路径组件。
图4图示了根据一些实施例的与读操作相关联的波形。
图5示意性地图示了根据一些实施例的图2的系统的写路径组件。
图6是根据一些实施例的描述存储器控制器逻辑的操作的流程图。
图7是根据一些实施例的系统。
具体实施方式
在下面详细描述中,对形成其一部分的附图进行参考,其中相似数字始终标明相似部分,并且其中通过说明的方式来示出可以实践的实施例。将理解在不偏离本公开的范围的情况下,其它实施例也可被利用并且可进行结构或逻辑的改变。因此,下面详细描述将不以限制的意义来采用,而实施例的范围由所附权利要求和它们的等同物来限定。
以最有助于理解所要求保护的主题的方式,各种操作可依次描述为多个分离的动作或操作。然而,描述的顺序不应被解释为暗示这些操作是必定顺序相关的。特别地,这些操作可不以呈现的顺序来执行。所描述的操作可以按与所描述实施例的不同顺序执行。各种附加操作可被执行和/或所描述的操作可在附加实施例中被省略。
为了本公开的目的,用语“A和/或B”指(A)、(B)或(A和B)。为了本公开的目的,用语“A、B和/或C”意指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A,B和C)。
该描述可使用用语“在一个实施例中,”或“在实施例中,”其可以各自指相同或不同的实施例中的一个或多个。此外,术语“包含,”“包括,”“具有,”等,如关于本公开的实施例所使用的,是同义词。
各种实体可关于它们执行的操作而被引入和描述。将理解这些实体可包括硬件、软件和/或固件元件,其被协同地配置成提供所描述的操作。
本公开的实施例描述了当出现CRC启用(enable)条件时,在存储器模块的特定排上的CRC的启用。CRC启用条件可以是预定数量的存储器装置在给定排上出故障。实施例提供了微架构的解决方案以提供动态存储器总线控制来适应排特定的CRC。这可涉及当存储器命令被调度至CRC启用的排时,改变命令中止(blackout)定时器阈值。
图1图示了根据一些实施例的调度单元100。图2图示了根据一些实施例的系统200,系统200示出与处理逻辑208和存储器模块212耦合的存储器控制器逻辑204的上下文内的调度单元100。调度单元100可调度关于存储器模块212的存储器命令。调度单元100,如图1中所示,可包括与多个定时组件108耦合的CRC启用器(enabler)104。定时组件108又可与调度器112耦合。
各个定时组件108可分别对应于存储器模块212的各个排220,并可基于目前发出的命令来控制命令调度。定时组件108中的每个可具有类似于现在将描述的定时组件0的架构。
定时组件0可包括配置寄存器(CR)116,其提供对应于适应各种存储器命令所需要的排间周转等待时间(ITL)的多个值。CR116可耦合于并提供ITL至选择逻辑120。选择逻辑120可包括复用器124和128,其选择性地提供单个输出值,该值被提供至定时器132。由选择逻辑120所提供的值可通过接收自调度器112和/或CRC启用器104的控制信号来控制,如下面将描述的。
定时器132可生成对应于由选择逻辑120所提供的输出值的命今中止控制,并提供命令中止控制至调度器112。在一些实施例,定时器132可以是倒计时定时器,其用来自选择逻辑120的输出值来设置。在这些实施例,当定时器132正在倒计时,命令中止控制可以是活动的,并且一旦定时器132已期满时可以是不活动的。
调度器112可基于接收自定时组件108的命令中止控制来调度存储在命令队列136中的存储器命令。该存储器命令可被提供至存储器控制模块204,其中经由存储器通道216来传输对应的数据。
一般来说,调度单元100可操作以确保存储器命令具有足够的时间来在后续命令关于共享存储器通道216的任何其他排而被调度之前清除存储器通道216。例如,如果读命令被调度至排1,另一读命令在所返回的数据清除存储器通道216所需时间量内不应被调度至通过存储器通道216访问的任何其他排。在这个示例中,假设花费了2个数据时钟(DCLKS)来返回数据,选择逻辑120可提供数值2至定时器132。定时器132可初始化其倒计时定时器为2,设置命令中止控制为活动,并在每个数据时钟将其倒计时定时器减少。当倒计时定时器期满时,定时器132可将命令中止控制设置为不活动。因此直到定时器132期满时,调度器112才可将读命令调度至共享存储器通道216的任何排。
存储器命令清除存储器通道216的时间量可取决于CRC是否对特定排启用。因此,本公开的实施例提供CRC启用器104和选择逻辑120以适应CRC的排特定的激活。特别地,CRC启用器104可记录排220中的每个排的CRC状态并控制对应的定时组件上的复用器124以提供CRC启用的ITL或CRC禁用的ITL至复用器128。CRC启用的ITL可以是当CRC关于存储器命令正被执行时与该特定存储器命令相关联的值。CRC禁用的ITL可以是当CRC未正被执行时与相同存储器命令相关联的值。CRC启用的ITL可以等于CRC禁用的ITL加上CRC增量。在一些实施例,包括下面关于图4描述的实施例,读命令的CRC禁用的ITL可以是2,CRC增量可以是3,并且因此CRC启用的ITL可以是5。
在一些实施例,CRC启用器104可以与控制和数据路径单元224中的CRC组件228耦合。在其它实施例中,CRC启用器104和CRC组件228可被组合并位于调度单元100、控制和数据路径单元224、或其它地方。除了计算和校验CRC值以外,如下面将描述的,CRC组件228可监视CRC触发条件的各种排并将CRC触发条件的指示提供至CRC启用器104。
在一些实施例,CRC触发条件可对应于某个数量的存储器装置232的故障,例如特定排的动态随机存取存储器(DRAM)装置。例如,如上面简要讨论的,双装置数据校正(DDDC)存储器模块可以能够通过标出故障的装置并利用存储器模块中的其它地方发现的冗余来从单个装置故障中恢复。然而,如果排中的第二装置将出故障,随着静止数据恶化(SDC)的风险中对应的增加,纠错码(ECC)保护可被弱化。因此,如果存储器模块212是DDDC存储器模块,排的第二存储器装置的故障可触发关于发出至该排的存储器命令的CRC过程的使用。如果存储器模块212是单装置数据校正(SDDC)存储器模块,则排的单个存储器装置的故障可触发CRC过程的使用。在其它实施例,其它数量的装置或其部分的故障可视为CRC触发条件。
在各种实施例中,CRC组件228还可动态地关于排220启用CRC。CRC组件228可使用模式寄存器设置(MRS)编程或即时CRC(CRCon-the-fly)来动态地关于目标排启用CRC。在MRS编程中,CRC组件228可发出系统存储器中断并且封锁到目标排的所有存储器命令。CRC组件228可等待一定量的时间,其对应于完成任何运行中的(in-flight)存储器命令所花费的最长可能时间。CRC组件228可轮询(poll)特定CR以确定是否存在任何未完成的存储器命令。在确定没有运行中的存储器命令之后,CRC组件228可进行目标排的存储器装置的模式寄存器设置(MRS)寄存器的读-修改-写(RMW)以启用CRC。其后,常规的存储器命令可被发出至目标排的运转中的存储器装置。
使用即时CRC,CRC组件228可在发出至目标排的存储器命令中设置CRC启用位,例如,A12位。设置的位可提供CRC与特定存储器命令相关联的指示。
对于所有存储器命令,或只对于选择性的存储器命令,CRC可被启用至一个排。例如,对于同时读和写启用CRC可能不是必需的。如果关于可靠性、可用性和适用性(RAS)参数,对于读启用CRC是可接受的,反之亦然,对于写禁用CRC也是可接受的。
图3图示了根据一些实施例的系统200的读路径组件。特别地,处理逻辑208被示出具有请求数据的数据宿(sink)304和记录各种请求的处理逻辑(PL)追踪器308。存储器控制器逻辑204示出具有可以是CRC组件228的一部分的存储器控制器逻辑(MCL)追踪器312、ECC校验器316和CRC校验器320。图4进一步参考图1-3,图示了根据一些实施例可用于描述读命令流的多个波形。
现在可以关于到排0中位置A的第一读命令(其中CRC被启用)以及到排1中位置B的第二读命令(其中CRC被禁用)来描述示例读命令流。调度器112可从队列136选择第一读命令。调度器112可发出控制信号至定时组件0的复用器128来控制复用器128输出对应于用于排0的读命令的值。由于排0的CRC的启用,CRC启用器104可控制复用器124输出CRC启用的ITL,例如5,其可由复用器128输出至定时器132。定时器132可激活命令中止控制五个数据时钟周期以适应到位置A的读命令。
现在参考图4,在第一和第二数据时钟周期中,数据(RDA0-RDA3)可通过存储器通道216从存储器模块212返回至存储器控制器逻辑204。所返回的数据可并行地被提供至ECC校验器316和CRC校验器320。所返回的数据还可在第二和第三数据周期中直接被写到数据宿304,由写脉冲404表示。ECC校验器316可在返回的数据上执行ECC校验,并在第三数据周期中提供所得到的ECC校验结果408至MCL追踪器312。
在第三和第四数据时钟周期中,填充数据(RDA-ff)可通过存储器通道216传输。在第五数据时钟周期中,对应于所返回数据的CRC数据(RDA-crc)可通过存储器通道216传输。CRC校验器320可在所返回的数据和CRC数据上执行CRC校验,并在接下来的数据周期(即第六数据时钟周期)中提供所得到的CRC校验结果412至MCL追踪器312。
当MCL追踪器312已接收ECC校验结果408和CRC校验结果412时,它可发出确认416至PL追踪器308以指示所返回的数据有效。
在第五数据时钟周期之后,来自定时器132的命令中止控制可去活(deactivate),以允许调度器112调度第二读命令至排1中位置B。由于CRC对排1禁用,定时组件1的选择逻辑可输出CRC禁用的ITL,导致定时组件1的定时器以激活命令中止控制达两个数据时钟周期。
第二读命令可导致数据(RDB0-RDB3)在第六和第七数据时钟周期中被返回。如同来自位置A的读一样,ECC校验器316可在返回数据上执行ECC校验并在接下来的数据时钟周期(即第八数据时钟周期)中提供所得到的ECC校验结果420。然而,在这个实例中MCL追踪器312并不必须等待CRC数据和CRC校验结果,并且可以与ECC校验结果420同时发出确认424。
对于写命令流,CRC启用的ITL或CRCA禁用的ITL的调度和访问可类似于上面关于读命令流描述的。根据一些实施例,系统200的写路径组件在图5中图示。特别地,处理逻辑208被示出具有数据源504;而存储器控制器逻辑204被示出具有至少如所示的方式相互耦合的CRC控制单元508、CRC生成器512、ECC生成器516和复用器520。CRC控制单元508、CRC生成器512和复用器520可以是CRC组件228的一部分。
数据源504可提供将被写在存储器模块212中的数据至存储器控制器逻辑204。该数据可提供至复用器520、CRC生成器512和ECC生成器516。CRC生成器512和ECC生成器516可相应地生成对应于将被写到存储器模块212的数据的CRC和ECC。CRC生成器可将该数据的副本和CRC一起提供至复用器520。如果CRC对该数据将被写入其的特定排被启用,则CRC控制单元508可以以使得数据和CRC输出至存储器模块212的方式来控制复用器520。如果CRC对特定排未被启用,则CRC控制单元508可控制复用器520输出的数据而不输出CRC。
图6是流程图600,其描绘根据一些实施例的存储器控制器逻辑的操作。在框604,存储器控制器逻辑的实体,例如CRC组件,可关于存储器模块的排监视CRC触发条件。监视CRC触发条件可包括追踪每个排上故障的存储器装置的数量。
在框608,存储器控制器逻辑的实体,例如CRC组件,可确定CRC触发条件是否被检测。当预定数量的存储器装置对给定排出故障时,CRC触发条件可被检测。如果CRC触发条件未被检测,在框604,该过程可返回监视CRC触发条件。如果CRC触发条件被检测,该过程可前进到框612。
在框612,存储器控制器逻辑的实体,例如CRC组件,可动态地对于引导至与CRC触发条件的排相关联的存储器命令启用CRC过程。在一些实施例,CRC过程可通过如上面描述的MRS编程或即时CRC来动态地启用。
在框616,存储器控制器逻辑的实体,例如CRC启用器,可对于与CRC启用的排共享存储器通道的排动态地启用CRC定时。在一些实施例,CRC启用器可从CRC组件接收CRC触发条件的检测的指示。其后,CRC启用器可在对应于CRC启用的排的定时组件内控制调度逻辑以将适应关于该排的CRC存储器命令的值提供至定时器。
本公开所描述的实施例基于某些触发条件(例如对于给定排的预定数量的装置故障)来选择性地采用CRC。通过当不需要CRC时避免与CRC相关联的性能降低,并当期望时实现CRC,CRC的这个选择性采用可有利于存储系统的总体操作。如上所述,当存在不可接受的SDC速率的增加的可能性时,可能期望CRC来在通道和DRAM存储错误之间区分以能够实现高效的修复策略或为了其它原因。
使用任何合适的硬件和/或软件来如期望的进行配置,本公开的实施例可实现到系统中。对于一个实施例,图7图示了示例系统700,其包含一个或多个处理器704,耦合到一个或多个处理器704中的至少一个处理器的系统控制逻辑708,耦合到系统控制逻辑708的系统存储器712,耦合于系统控制逻辑708的非易失性存储器(NVM)/存储装置716,以及耦合到系统控制逻辑708的一个或多个通信接口720。
对于一个实施例,系统控制逻辑708可包括任何合适的接口控制器以将任何合适的接口提供给一个或多个处理器704中的至少一个处理器和/或提供至与系统控制逻辑708通信的任何合适的装置或组件。
系统控制逻辑708可包括存储器控制器逻辑710,其可类似于存储器控制器逻辑204以提供接口至系统存储器712,其可类似于存储器模块212。存储器控制器逻辑710可以是硬件模块、软件模块和/或固件模块。如上所述,存储器控制器逻辑710可基于某些触发条件(例如给定排的预定数量的装置故障)来选择性地采用CRC。
系统存储器712可用于加载和存储数据和/或指令,例如,对于系统700。例如,对于一个实施例,系统存储器712可包括任何合适的易失性存储器,例如合适的DRAM。在一些实施例中,系统存储器712可包括双倍数据速率类型的四个同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制逻辑708可包括一个或多个输入/输出(I/O)控制器以提供接口至NVM/存储装置716和一个或多个通信接口720。
例如,NVM/存储装置716可用于存储数据和/或指令。NVM/存储装置716可包括任何合适的非易失性存储,例如,诸如闪速存储器和/或可包括任何合适的非易失性存储装置,例如,诸如一个或多个硬盘驱动器(HDD)、一个或多个压缩盘(CD)驱动器和/或一个或多个数字多功能盘(DVD)驱动器。
NVM/存储装置716可包括存储资源,其物理上是系统700被安装在其上的装置的一部分,或它可由该装置访问,而不一定作为该装置的一部分。例如,NVM/存储装置716可经由一个或多个通信接口720通过网络来访问。
一个或多个通信接口720可为系统700提供接口以通过一个或多个网络和/或与任何其他合适的装置来通信。在一些实施例中,一个或多个通信接口720可包括具有一个或多个天线728的无线网络接口控制器724以建立和维持与无线网络的一个或多个组件的无线通信链路。系统700可根据任意一个或多个无线网络标准和/或协议与无线网络的一个或多个组件进行无线通信。
对于一个实施例,一个或多个处理器704中的至少一个处理器可以与系统控制逻辑708的一个或多个控制器的逻辑(例如存储器控制器逻辑710)一起被封装。对于一个实施例,一个或多个处理器704中的至少一个处理器可以与系统控制逻辑708的一个或多个控制器的逻辑一起被封装来形成系统级封装(SiP)。对于一个实施例,一个或多个处理器704中的至少一个处理器可以被集成在与系统控制逻辑708的一个或多个控制器的逻辑相同的管芯上。对于一个实施例,一个或多个处理器704中的至少一个处理器可以被集成在与系统控制逻辑708的一个或多个控制器的逻辑相同的管芯上来形成芯片上系统(SoC)。
在各种实施例中,系统700可以是(但不限于)服务器、工作站、桌面计算装置或移动计算装置(例如,膝上型计算装置、手持式计算装置、平板计算机、上网本等)。在各种实施例中,系统700可具有更多或更少的组件和/或不同架构。
在各种实施例中,描述了一种设备。该设备可包括:CRC启用器,其配置成接收关于存储器模块的多个排中的第一排的CRC触发条件的指示,并基于该指示的接收而生成CRC启用信号;以及与CRC启用器耦合的多个定时组件,各个定时组件对应于各个排,其中对应于第一排的第一定时组件配置成基于CRC启用信号的接收来生成命令中止控制以适应第一排的CRC。CRC触发条件的指示可以是第一排的预定数量的存储器装置的故障的指示。在一些实施例,存储器模块可以是DDDC存储器模块而预定数量可以是二。在其它实施例中,存储器模块可以是SDDC存储器模块而预定数量可以是一。
在一些实施例中,第一定时组件可包括:选择逻辑,其配置成基于CRC启用信号从多个值选择性地输出第一值;以及定时器,其与选择逻辑耦合、配置成基于第一值来生成命令中止控制。所述多个排可配置成通过存储器控制器逻辑和存储器模块之间的存储器通道来访问,而且所述第一值配置成分配多个数据时钟周期,其足够允许调度至第一排的存储器命令在将后续存储器命令调度至所述多个排中的任何其它排之前清除存储器通道。
在一些实施例,该设备还可包括与选择逻辑耦合的多个CR。选择逻辑可包括复用器,其配置成从CR接收CRC启用的排间周转等待时间(ITL)和CRC禁用的ITL并基于CRC启用信号的接收而输出CRC启用的ITL。
在一些实施例中,CRC组件可配置成通过模式寄存器设置(MRS)编程或即时CRC来对于引导至第一排的存储器命令动态地启用CRC过程。
在各种实施例中,描述了一种方法。该方法可包括检测存储器模块的多个排中的第一排的循环冗余校验触发条件;基于所述检测动态地启用发出至第一排的存储器命令的CRC过程;以及动态地启用与第一排共享存储器通道的排的CRC定时。检测CRC触发条件可包括检测到在第一排上预定数量的存储器装置故障。
在一些实施例,动态地启用CRC过程可包括对该排的存储器装置中的寄存器的模式寄存器设置进行编程,在发出至该排的存储器命令中设置CRC启用位,和/或基于CRC启用的排间周转等待时间(ITL)来生成命令中止控制。所述命令中止控制可通过控制对应于排的定时组件中的选择逻辑输出CRC启用的ITL以及利用定时器基于CRC启用的ITL生成所述命令中止控制而被生成。所述选择逻辑可通过控制复用器(其接收CRC启用的ITL和CRC禁用的ITL)而被控制,以输出CRC启用的ITL。
一些实施例包括具有指令的一个或多个计算机可读媒体,所述指令在被运行时,引起装置执行本文描述的方法中的任何一个。
在各种实施例中,描述了一种系统。该系统可包括:配置成发出多个请求的处理逻辑;具有多个排的存储器模块;以及与该处理逻辑和存储器模块耦合的存储器控制器逻辑,该存储器控制器逻辑配置成基于所述多个请求而发出多个存储器命令至所述多个排,其中对应于所述多个存储器命令的数据配置成通过公共存储器通道来传输,并且该存储器控制器包括调度单元,其配置成调度所述多个存储器命令以适应在所述多个排中的各个排上启用的CRC过程。
存储器控制器逻辑可包括配置成在所述各个排上启用CRC过程的CRC组件,;并且该调度单元包括用于启用CRC定时的CRC启用器。
所述多个存储器命令可以是读命令并且存储器控制器逻辑还可包括:纠错码(ECC)校验器,其配置成响应于所述多个读命令中的读命令而在从所述多个排中的第一排返回的数据上执行ECC校验,并基于该ECC校验而生成ECC校验结果;CRC校验器,其配置成在该数据上执行CRC校验并基于CRC校验而生成CRC校验结果;以及追踪器,其配置成发出信号来指示如果CRC过程对第一排被启用,则基于ECC校验结果和CRC校验结果该数据有效,或如果CRC过程对第一排未被启用,则仅基于ECC校验结果该数据有效。
所述多个存储器命令可以是写命令并且存储器控制器逻辑还可包括:CRC生成器,其配置成基于接收自所述处理器的将被写入所述多个排的第一排的数据而生成CRC;以及CRC控制单元,其配置成控制复用器以基于确定CRC过程是否对第一排被启用而选择性地输出CRC。
在一些实施例中,该系统可包括无线网络接口控制器,其具有一个或多个天线且配置成建立并维持与无线网络的一个或多个组件的无线通信链路。该系统包含移动计算装置。
在各种实施例中,描述了一种设备。该设备可包括:用于检测存储器模块的多个排中的第一排的循环冗余校验触发条件的部件;用于基于所述检测对发出至第一排的存储器命令动态地启用CRC过程的部件;以及用于对与第一排共享存储器通道的排动态地启用CRC定时的部件。
在一些实施例中,用于检测CRC触发条件的部件可包括用于检测在第一排上预定数量的存储器装置故障的部件。
在一些实施例中,用于动态地启用CRC过程的部件可包括:用于对排的存储器装置中的寄存器的模式寄存器设置进行编程的部件,用于在发出至排的存储器命令中设置CRC启用位的部件,和/或用于基于CRC启用的排间周转等待时间(ITL)而生成命令中止控制的部件。
用于生成命令中止控制的部件可包括:用于控制对应于排的定时组件中的选择逻辑以输出CRC启用的ITL的部件;以及用于利用定时器基于CRC启用的ITL而生成命令中止控制的部件。
在一些实施例中,用于控制选择逻辑的部件可包括用于控制复用器(其接收CRC启用的ITL和CRC禁用的ITL)以输出CRC启用的ITL的部件。
尽管为了描述的目的,本文已经图示和描述了某些实施例,但是在不偏离本公开的范围的情况下,计划达到相同目的的各种备选和/或等同的实施例或实现可替代所示出和描述的实施例。本申请旨在涵盖本文所讨论的实施例的任何修改或变型。因此,显然本文描述的实施例旨在仅由权利要求及其等同来限定。
Claims (32)
1.一种设备,包含:
循环冗余校验(CRC)启用器,配置成接收与存储器模块的多个排中的第一排有关的CRC触发条件的指示,并基于所述指示的接收而生成CRC启用信号;以及
与所述CRC启用器耦合的多个定时组件,各个定时组件对应于各个排,其中对应于所述第一排的第一定时组件配置成基于所述CRC启用信号的接收而生成命令中止控制以适应所述第一排的CRC。
2.根据权利要求1所述的设备,其中所述CRC触发条件的所述指示是所述第一排的预定数量的存储器装置的故障的指示。
3.根据权利要求2所述的设备,其中所述存储器模块是双装置数据校正(DDDC)存储器模块并且所述预定数量是二。
4.根据权利要求2所述的设备,其中所述存储器模块是单装置数据校正(SDDC)存储器模块并且所述预定数量是一。
5.根据权利要求1-4中的任何一项所述的设备,其中所述第一定时组件包含:
选择逻辑,配置成基于所述CRC启用信号从多个值中选择性地输出第一值;以及
定时器,与所述选择逻辑耦合,配置成基于所述第一值而生成所述命令中止控制。
6.根据权利要求5所述的设备,其中所述多个排配置成通过所述存储器控制器逻辑和所述存储器模块之间的存储器通道来访问,并且所述第一值配置成分配多个数据时钟周期足以允许调度至所述第一排的存储器命令在将后续存储器命令调度至所述多个排中的任何其它排之前清除所述存储器通道。
7.根据权利要求5所述的设备,还包含:
与所述选择逻辑耦合的多个可配置的寄存器(CR);
其中所述选择逻辑包括复用器,所述复用器配置成从所述CR接收CRC启用的排间周转等待时间(ITL)和CRC禁用的ITL并基于所述CRC启用信号的接收而输出所述CRC启用的ITL。
8.根据权利要求1-4中的任何一项所述的设备,还包含:
CRC组件,配置成由模式寄存器设置(MRS)编程或即时CRC对于引导至所述第一排的存储器命令动态地启用CRC过程。
9.一种方法,包含:
检测到存储器模块的多个排中的第一排的循环冗余校验触发条件;
基于所述检测,动态地启用发出至所述第一排的存储器命令的CRC过程;以及
动态地启用与所述第一排共享存储器通道的排的CRC定时。
10.根据权利要求9所述的方法,其中检测到所述CRC触发条件包含:
检测到在所述第一排上预定数量的存储器装置故障。
11.根据权利要求10所述的方法,其中所述存储器模块是双装置数据校正(DDDC)存储器模块并且所述预定数量是二。
12.根据权利要求9所述的方法,其中动态地启用CRC过程包含:
对排的存储器装置中的寄存器的模式寄存器设置进行编程。
13.根据权利要求9所述的方法,其中动态地启用CRC过程包含:
在发出至排的存储器命令中设置CRC启用位。
14.根据权利要求9所述的方法,其中动态地启用CRC定时包含:
基于CRC启用的排间周转等待时间(ITL)来生成命令中止控制。
15.根据权利要求14所述的方法,其中生成所述命令中止控制包含:
控制对应于排的定时组件中的选择逻辑以输出所述CRC启用的ITL;以及
利用定时器基于所述CRC启用的ITL来生成所述命令中止控制。
16.根据权利要求15所述的方法,其中控制选择逻辑包含:
控制接收CRC启用的ITL和CRC禁用的ITL的复用器以输出所述CRC启用的ITL。
17.一种执行权利要求9-16所述方法中的任何一种方法的设备。
18.一个或多个具有指令的计算机可读媒体,所述指令在被运行时,引起装置执行权利要求9-16所述方法中的任何一种方法。
19.一种系统,包含:
处理逻辑,配置成发出多个请求;
存储器模块,具有多个排;以及
存储器控制器逻辑,与所述处理逻辑和所述存储器模块耦合,所述存储器控制器逻辑配置成基于所述多个请求而发出多个存储器命令至所述多个排,
其中对应于所述多个存储器命令的数据配置成通过公共存储器通道而被传输,以及
所述存储器控制器包括调度单元,所述调度单元配置成调度所述多个存储器命令以适应在所述多个排的各个排上启用的循环冗余校验(CRC)过程。
20.根据权利要求19所述的系统,其中所述存储器控制器逻辑包括配置成在所述各个排上启用CRC过程的CRC组件;并且所述调度单元包括用于启用CRC定时的CRC启用器。
21.根据权利要求19所述的系统,其中所述多个存储器命令是读命令并且所述存储器控制器逻辑包含:
纠错码(ECC)校验器,配置成响应于所述多个读命令中的读命令而在从所述多个排中的第一排返回的数据上执行ECC校验并基于所述ECC校验而生成ECC校验结果;
CRC校验器,配置成在所述数据上执行CRC校验并基于所述CRC校验而生成CRC校验结果;以及
追踪器,配置成发出信号以指示:如果CRC过程对所述第一排启用,则基于所述ECC校验结果和所述CRC校验结果所述数据有效,或如果CRC过程未对所述第一排启用,则仅基于所述ECC校验结果所述数据有效。
22.根据权利要求19所述的系统,其中所述多个存储器命令是写命令并且所述存储器控制器逻辑包含:
CRC生成器,配置成基于接收自所述处理器的将被写入所述多个排的第一排的数据来生成CRC;以及
CRC控制单元,配置成基于CRC过程是否对所述第一排启用的确定而控制复用器选择性地输出所述CRC。
23.根据权利要求19所述的系统,还包含:
无线网络接口控制器,其具有一个或多个天线并且配置成建立和维持与无线网络的一个或多个组件的无线通信链路。
24.根据权利要求19-23中的任何一项所述的系统,其中所述系统包含移动计算装置。
25.一种设备,包含:
用于检测存储器模块的多个排中的第一排的循环冗余校验触发条件的部件;
用于基于所述检测对发出至所述第一排的存储器命令动态地启用CRC过程的部件;以及
用于对与所述第一排共享存储器通道的排动态地启用CRC定时的部件。
26.根据权利要求25所述的设备,其中用于检测所述CRC触发条件的部件包含:
用于检测在所述第一排上预定数量的存储器装置故障的部件。
27.根据权利要求26所述的设备,其中所述存储器模块是双装置数据校正(DDDC)存储器模块并且所述预定数量是二。
28.根据权利要求25所述的设备,其中用于动态地启用CRC过程的部件包含:
用于对排的存储器装置中的寄存器的模式寄存器设置进行编程的部件。
29.根据权利要求25所述的设备,其中用于动态地启用CRC过程的部件包含:
用于在发出至排的存储器命令中设置CRC启用位的部件。
30.根据权利要求25所述的设备,其中用于动态地启用CRC定时的部件包含:
用于基于CRC启用的排间周转等待时间(ITL)来生成命令中止控制的部件。
31.根据权利要求30所述的设备,其中用于生成所述命令中止控制的部件包含:
用于控制对应于排的定时组件中的选择逻辑以输出所述CRC启用的ITL的部件;以及
用于利用定时器基于所述CRC启用的ITL而生成所述命令中止控制的部件。
32.根据权利要求25所述的设备,其中用于控制选择逻辑的部件包含:
用于控制接收CRC启用的ITL和CRC禁用的ITL的复用器以输出所述CRC启用的ITL的部件。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/175,472 | 2011-07-01 | ||
US13/175,472 US8527836B2 (en) | 2011-07-01 | 2011-07-01 | Rank-specific cyclic redundancy check |
US13/175472 | 2011-07-01 | ||
PCT/US2012/044734 WO2013006387A2 (en) | 2011-07-01 | 2012-06-28 | Rank-specific cyclic redundancy check |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103765522A true CN103765522A (zh) | 2014-04-30 |
CN103765522B CN103765522B (zh) | 2016-11-09 |
Family
ID=47391973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280033038.8A Expired - Fee Related CN103765522B (zh) | 2011-07-01 | 2012-06-28 | 排特定的循环冗余校验 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8527836B2 (zh) |
EP (1) | EP2727115B1 (zh) |
JP (1) | JP5754037B2 (zh) |
KR (1) | KR101570622B1 (zh) |
CN (1) | CN103765522B (zh) |
WO (1) | WO2013006387A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302658A (zh) * | 2015-12-09 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种存储器数据校正测试方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527836B2 (en) * | 2011-07-01 | 2013-09-03 | Intel Corporation | Rank-specific cyclic redundancy check |
KR20130130593A (ko) | 2012-05-22 | 2013-12-02 | 삼성전자주식회사 | 분산 안테나를 사용하는 복수 개의 기지국을 포함하는 무선통신 시스템에서 기준 신호 측정 방법 및 장치 |
US20160070022A1 (en) * | 2013-09-13 | 2016-03-10 | Baker Hughes Incorporated | Fast scintillation high density oxide and oxy-fluoride glass and nano-structured materials for well logging applications |
BR112017014096A2 (pt) * | 2014-12-31 | 2018-03-06 | Qualcomm Incorporated | sistemas e métodos para recuperação de informações a partir de pacotes de versão de redundância |
US9697094B2 (en) | 2015-02-06 | 2017-07-04 | Intel Corporation | Dynamically changing lockstep configuration |
KR102296738B1 (ko) | 2015-06-01 | 2021-09-01 | 삼성전자 주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법 |
JP6160717B1 (ja) * | 2016-01-15 | 2017-07-12 | 日本電気株式会社 | プロセッサ、および、データ転送方法 |
IT201800005506A1 (it) * | 2018-05-18 | 2019-11-18 | Sistema di elaborazione, relativo circuito integrato e procedimento | |
CN109783487A (zh) * | 2018-12-07 | 2019-05-21 | 广州经传多赢投资咨询有限公司 | 证券数据的存储方法 |
KR20230021409A (ko) | 2021-08-05 | 2023-02-14 | 에스케이하이닉스 주식회사 | 트레이닝동작을 수행하기 위한 반도체시스템 |
US11775387B2 (en) * | 2022-01-21 | 2023-10-03 | Micron Technology, Inc. | Cyclic redundancy check (CRC) retry for memory systems in compute express link (CXL) devices |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060114909A1 (en) * | 2004-10-26 | 2006-06-01 | Silverback Systems, Inc. | Apparatus and method for performing cyclic redundancy check (CRC) on partial protocol data units (PDUS) |
US20080022187A1 (en) * | 2006-06-30 | 2008-01-24 | Intel Corporation | Memory device that reflects back error detection signals |
US20080162833A1 (en) * | 2006-12-29 | 2008-07-03 | Samsung Electronics Co., Ltd | Memory device employing dual clocking for generating systematic code and method thereof |
CN101441896A (zh) * | 2007-11-19 | 2009-05-27 | 英特尔公司 | 存储器技术的可靠性、可用性和可服务性解决方案 |
US20090251988A1 (en) * | 2008-04-02 | 2009-10-08 | International Business Machines Corporation | System and method for providing a non-power-of-two burst length in a memory system |
CN101609418A (zh) * | 2008-06-18 | 2009-12-23 | 英特尔公司 | 在具有共享错误位码的共同帧中传送数据和数据屏蔽位的系统 |
US20100005214A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Enhancing bus efficiency in a memory system |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002351689A (ja) * | 2001-05-30 | 2002-12-06 | Nec Corp | データ転送システム |
US20040225944A1 (en) * | 2003-05-09 | 2004-11-11 | Brueggen Christopher M. | Systems and methods for processing an error correction code word for storage in memory components |
US7149945B2 (en) * | 2003-05-09 | 2006-12-12 | Hewlett-Packard Development Company, L.P. | Systems and methods for providing error correction code testing functionality |
US7177211B2 (en) * | 2003-11-13 | 2007-02-13 | Intel Corporation | Memory channel test fixture and method |
US7243205B2 (en) * | 2003-11-13 | 2007-07-10 | Intel Corporation | Buffered memory module with implicit to explicit memory command expansion |
US7133960B1 (en) * | 2003-12-31 | 2006-11-07 | Intel Corporation | Logical to physical address mapping of chip selects |
US8250295B2 (en) * | 2004-01-05 | 2012-08-21 | Smart Modular Technologies, Inc. | Multi-rank memory module that emulates a memory module having a different number of ranks |
US7398449B1 (en) * | 2004-06-16 | 2008-07-08 | Azul Systems, Inc. | Encoding 64-bit data nibble error correct and cyclic-redundancy code (CRC) address error detect for use on a 76-bit memory module |
US7437651B2 (en) * | 2004-06-29 | 2008-10-14 | Hewlett-Packard Development Company, L.P. | System and method for controlling application of an error correction code (ECC) algorithm in a memory subsystem |
US7308638B2 (en) * | 2004-06-29 | 2007-12-11 | Hewlett-Packard Development Company, L.P. | System and method for controlling application of an error correction code (ECC) algorithm in a memory subsystem |
US7454586B2 (en) * | 2005-03-30 | 2008-11-18 | Intel Corporation | Memory device commands |
US7872892B2 (en) * | 2005-07-05 | 2011-01-18 | Intel Corporation | Identifying and accessing individual memory devices in a memory channel |
US20070089032A1 (en) * | 2005-09-30 | 2007-04-19 | Intel Corporation | Memory system anti-aliasing scheme |
DE102005053625B4 (de) * | 2005-11-10 | 2007-10-25 | Infineon Technologies Ag | Speichermodul mit einer Mehrzahl von Speicherbausteinen |
US7404055B2 (en) * | 2006-03-28 | 2008-07-22 | Intel Corporation | Memory transfer with early access to critical portion |
US7913147B2 (en) * | 2006-05-08 | 2011-03-22 | Intel Corporation | Method and apparatus for scrubbing memory |
US7774684B2 (en) * | 2006-06-30 | 2010-08-10 | Intel Corporation | Reliability, availability, and serviceability in a memory device |
US7870459B2 (en) * | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
TWI358735B (en) * | 2008-01-03 | 2012-02-21 | Nanya Technology Corp | Memory access control method |
US8359521B2 (en) * | 2008-01-22 | 2013-01-22 | International Business Machines Corporation | Providing a memory device having a shared error feedback pin |
US8140936B2 (en) * | 2008-01-24 | 2012-03-20 | International Business Machines Corporation | System for a combined error correction code and cyclic redundancy check code for a memory channel |
US8185800B2 (en) * | 2008-01-31 | 2012-05-22 | International Business Machines Corporation | System for error control coding for memories of different types and associated methods |
US8185801B2 (en) * | 2008-01-31 | 2012-05-22 | International Business Machines Corporation | System to improve error code decoding using historical information and associated methods |
US8245105B2 (en) * | 2008-07-01 | 2012-08-14 | International Business Machines Corporation | Cascade interconnect memory system with enhanced reliability |
US8321758B2 (en) * | 2008-08-05 | 2012-11-27 | Advanced Micro Devices, Inc. | Data error correction device and methods thereof |
US8463987B2 (en) * | 2008-09-23 | 2013-06-11 | Intel Corporation | Scalable schedulers for memory controllers |
US7957216B2 (en) | 2008-09-30 | 2011-06-07 | Intel Corporation | Common memory device for variable device width and scalable pre-fetch and page size |
US8086783B2 (en) * | 2009-02-23 | 2011-12-27 | International Business Machines Corporation | High availability memory system |
US8098539B2 (en) * | 2009-08-26 | 2012-01-17 | Qualcomm Incorporated | Hybrid single and dual channel DDR interface scheme by interleaving address/control signals during dual channel operation |
US8862973B2 (en) * | 2009-12-09 | 2014-10-14 | Intel Corporation | Method and system for error management in a memory device |
US8495435B2 (en) * | 2010-09-22 | 2013-07-23 | Intel Corporation | Dynamic physical memory replacement through address swapping |
US8527836B2 (en) * | 2011-07-01 | 2013-09-03 | Intel Corporation | Rank-specific cyclic redundancy check |
-
2011
- 2011-07-01 US US13/175,472 patent/US8527836B2/en not_active Expired - Fee Related
-
2012
- 2012-06-28 EP EP12807403.6A patent/EP2727115B1/en active Active
- 2012-06-28 CN CN201280033038.8A patent/CN103765522B/zh not_active Expired - Fee Related
- 2012-06-28 JP JP2014519050A patent/JP5754037B2/ja not_active Expired - Fee Related
- 2012-06-28 WO PCT/US2012/044734 patent/WO2013006387A2/en active Application Filing
- 2012-06-28 KR KR1020147001476A patent/KR101570622B1/ko active IP Right Grant
-
2013
- 2013-08-15 US US13/968,266 patent/US8745464B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060114909A1 (en) * | 2004-10-26 | 2006-06-01 | Silverback Systems, Inc. | Apparatus and method for performing cyclic redundancy check (CRC) on partial protocol data units (PDUS) |
US20080022187A1 (en) * | 2006-06-30 | 2008-01-24 | Intel Corporation | Memory device that reflects back error detection signals |
US20080162833A1 (en) * | 2006-12-29 | 2008-07-03 | Samsung Electronics Co., Ltd | Memory device employing dual clocking for generating systematic code and method thereof |
CN101441896A (zh) * | 2007-11-19 | 2009-05-27 | 英特尔公司 | 存储器技术的可靠性、可用性和可服务性解决方案 |
US20090251988A1 (en) * | 2008-04-02 | 2009-10-08 | International Business Machines Corporation | System and method for providing a non-power-of-two burst length in a memory system |
CN101609418A (zh) * | 2008-06-18 | 2009-12-23 | 英特尔公司 | 在具有共享错误位码的共同帧中传送数据和数据屏蔽位的系统 |
US20100005214A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Enhancing bus efficiency in a memory system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302658A (zh) * | 2015-12-09 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种存储器数据校正测试方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101570622B1 (ko) | 2015-11-19 |
EP2727115A4 (en) | 2015-02-18 |
KR20140024060A (ko) | 2014-02-27 |
WO2013006387A3 (en) | 2013-02-28 |
EP2727115B1 (en) | 2020-04-15 |
US8745464B2 (en) | 2014-06-03 |
EP2727115A2 (en) | 2014-05-07 |
JP2014523034A (ja) | 2014-09-08 |
US20130007560A1 (en) | 2013-01-03 |
CN103765522B (zh) | 2016-11-09 |
US8527836B2 (en) | 2013-09-03 |
US20130332795A1 (en) | 2013-12-12 |
WO2013006387A2 (en) | 2013-01-10 |
JP5754037B2 (ja) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103765522A (zh) | 排特定的循环冗余校验 | |
EP3270290B1 (en) | Ddr memory error recovery | |
US7913147B2 (en) | Method and apparatus for scrubbing memory | |
EP2656216B1 (en) | Device with descriptor scheduler and corresponding method and system | |
US7882314B2 (en) | Efficient scheduling of background scrub commands | |
US20160026402A1 (en) | System and method for providing consistent, reliable, and predictable performance in a storage device | |
US20090070647A1 (en) | Scheduling of Background Scrub Commands to Reduce High Workload Memory Request Latency | |
CN107544923B (zh) | 用于控制对存储器设备的访问的装置以及相关方法 | |
US20080148108A1 (en) | Separate Handling of Read and Write of Read-Modify-Write | |
EP2467781B1 (en) | Systems and methods to efficiently schedule commands at a memory controller | |
US9086997B2 (en) | Memory uncorrectable error handling technique for reducing the impact of noise | |
US10037246B1 (en) | System and method for memory control having self writeback of data stored in memory with correctable error | |
US10452315B2 (en) | Block priority information | |
WO2016022156A1 (en) | Error counters on a memory device | |
US8230276B2 (en) | Writing to memory using adaptive write techniques | |
US20120017116A1 (en) | Memory control device, memory device, and memory control method | |
US8386739B2 (en) | Writing to memory using shared address buses | |
US20150067252A1 (en) | Communicating outstanding maintenance tasks to improve disk data integrity | |
WO2014047382A1 (en) | Hardware integrity verification | |
US8972614B2 (en) | Half-duplex SATA link with controlled idle gap insertion | |
KR100666162B1 (ko) | 위성의 대용량메모리 제어모듈 | |
CN116802735A (zh) | 一种数据处理方法及相关装置 |
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: 20161109 Termination date: 20210628 |