CN105340022A - 用于校正数据错误的电路、设备及方法 - Google Patents
用于校正数据错误的电路、设备及方法 Download PDFInfo
- Publication number
- CN105340022A CN105340022A CN201380077738.1A CN201380077738A CN105340022A CN 105340022 A CN105340022 A CN 105340022A CN 201380077738 A CN201380077738 A CN 201380077738A CN 105340022 A CN105340022 A CN 105340022A
- Authority
- CN
- China
- Prior art keywords
- data word
- data
- circuit
- parity check
- check code
- 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
Classifications
-
- 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
- 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/1048—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 arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2942—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes wherein a block of parity bits is computed only from combined information bits or only from parity bits, e.g. a second block of parity bits is computed from a first block of parity bits obtained by systematic encoding of a block of information bits, or a block of parity bits is obtained by an XOR combination of sub-blocks of information bits
-
- 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/65—Purpose and implementation aspects
- H03M13/6561—Parallelized implementations
-
- 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/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明揭示用于校正集成电路中的数据错误的电路、设备及方法。一个实例设备包含第一电路,其经配置以接收第一数据字及第二数据字、以校正所述第一数据字中的一或多个错误、以响应于控制信号而将所述经校正的第一数据字与所述第二数据字合并以产生最终经合并的数据字及以向写入电路提供所述最终经合并的数据字。所述设备还包含第二电路,其经配置以也接收所述第一数据字及所述第二数据字、以响应于所述控制信号而初步将所述第一数据字与所述第二数据字合并以产生初始经合并的数据字、以产生针对所述初始经合并的数据字的初始奇偶校验码、以校正所述初始奇偶校验码及以向所述写入电路提供所述经校正的奇偶校验码。
Description
技术领域
本发明的实施例大体上涉及集成电路,且更特定来说(在所说明的实施例中的一或多者中),本发明的实施例涉及校正集成电路中的数据错误。
背景技术
随着半导体处理技术改进继续允许越来越小的装置大小,出现若干问题。举例来说,当在易失性或非易失性存储器中的更小存储元件允许每数据存储单元的更大存储密度及更低成本时,个别存储元件的小的大小可导致数据错误的增加,例如,各种刷新时间错误(也称作各种保持时间错误)、软错误、单粒子翻转错误,等等。在一些实例中,对存储元件造成的物理损坏(例如,归因于所述元件的不恰当制造)也可导致数据错误,但所述错误可被分布使得利用维修区域可为无效的。这些软数据错误或硬数据错误损坏数据且通常随机分布。
一种用于减轻这些数据错误的影响的方法是:与所述数据一起存储错误校正码(“ECC”)奇偶校验信息(以下称为“奇偶校验码”),且在所述数据被读出时解码所述奇偶校验码以便检测及/或校正原始数据或附加奇偶校验码中的任何错误。所述奇偶校验码在所存储的数据的量(归因于用于所述奇偶校验码的额外位)及用于写入到数据存储装置及从数据存储装置读取所需要的处理时间的量(归因于编码及解码所述ECC奇偶校验码的处理时间)两者中需要一些开销。然而,使用ECC大体上仍被视为有效的且高效地检测及校正随机分布数据错误。
一些数据存储装置支持数据屏蔽选项,借此在写入操作期间,所存储的数据字的一或多个部分保留先前数据值,而所述数据字的一或多个其它部分经更新具有新数据值。如本文中所使用,数据字是指多个位的信息,其通常作为单元而被处置或存储在一起,尽管数据屏蔽选项可导致所述数据字的一或多个部分不同于所述数据字的其它部分而被处置或存储。举例来说,在存储器中,存储在特定地址处的数据字可包含128位的数据,且在存储器写入操作期间的数据屏蔽选项可防止所述数据字的一或多个8位选项从所述写入操作更新。作为更特定的实例,所述128位数据字的最后8位可被屏蔽,其中仅前120位的数据将被写入到存储器阵列,而最后8位保留在所述写入操作之前其具有的任何值。
在写入操作期间不具有数据屏蔽选项的情况下在存储装置中实施ECC是非常简单的,因为待被写入的数据字及奇偶校验码不取决于先前所存储的数据,但其完全随待写入到所述装置的新数据而变化。然而,在具有可用数据屏蔽选项的数据存储装置中,所述数据字的经屏蔽的部分可含有在如由数据屏蔽所请求的旧数据与新数据可适当地合并之前需要校正的一或多个错误。此外,为在具有数据屏蔽的写入操作期间适当地编码针对经合并的数据字的奇偶校验码,所述经屏蔽的部分应由ECC编码器考虑,且应在ECC编码器可产生新奇偶校验码之前校正那些经屏蔽的部分。换句话说,针对经合并的数据字的奇偶校验码不仅取决于所述数据字的新部分,而且取决于被屏蔽的经校正的旧数据字的部分。
为解决此依赖性,一种解决方案可为读出所述旧数据字及旧奇偶校验码,解码所述旧奇偶校验码,基于所述解码校正所述旧数据字中的任何错误,且随后既而将所述数据字的新部分与所述数据字的经校正的旧部分合并,产生新奇偶校验码,且将经合并的数据字与所述新奇偶校验码一起写入所述存储装置。然而,此顺序的操作在一些例子中可能为不可接受的,因为ECC解码及编码操作可相对较长且在可产生及存储所述新奇偶校验码之前ECC编码操作等待ECC解码及校正操作完成。
解决具有ECC的装置中的数据屏蔽选项的另一方法可为具有针对适于被屏蔽的数据字的每一部分的单独奇偶校验码。举例来说,继续128位数据字的说明,其中每一8位部分可被屏蔽,所述数据字的每一8位部分可被指派其自身的奇偶校验码,独立于其它8位部分中的每一者的奇偶校验码。当执行具有数据屏蔽操作的写入时,经屏蔽的部分可经历独立于新的未经屏蔽的部分的ECC编码的ECC解码及校正。在此方法中,尽管避免循序ECC操作,但存储空间及处理能力两者中的开销的量增加。使用128位实例,每一8位部分可具有4位长的奇偶校验码,因此需要总共64个奇偶校验位(50%开销),及可需要16个独立ECC编码/解码电路以单独地编码或解码针对每一8位部分的奇偶校验码。相比之下,针对以上所描述的循序方法,针对128位数据字可需要仅8个奇偶校验位(6.25%开销),且单个ECC电路可解码/校正及编码所述奇偶校验码,因为直到ECC解码操作完成,ECC编码操作才能继续进行。
附图说明
图1为根据本发明的实施例的用于校正数据错误的设备的框图。
图2为根据本发明的实施例的用于校正数据错误的设备的框图。
图3为根据本发明的实施例的用于校正数据错误的设备的框图。
图4为根据本发明的实施例的用于校正数据错误的流程图。
图5为根据本发明的实施例的存储器的框图。
具体实施方式
下文阐述某些细节以提供对本发明的实施例的充分理解。然而,所属领域的技术人员将清楚,本发明的实施例可在无这些特定细节的情况下而实践。此外,本文描述的本发明的特定实施例是以实例的形式提供且不应被用于将本发明的范围限制于这些特定实施例。在其它例子中,未详细展示众所周知的电路、控制信号、时序协议及软件操作以便避免不必要地模糊本发明。
图1说明根据本发明的实施例的用于校正数据错误的设备100。如本文中所使用,设备可指(例如)集成电路、存储器装置、存储器***、电子装置或***、智能电话、平板计算机、计算机、服务器等等。在一个实例中,设备100包含数据存储装置,例如,易失性或非易失性存储器阵列106。在其它实施例中,所述数据存储装置可为中间存储装置,例如,缓冲器或高速缓存。设备100经配置以将多个数据字存储在阵列106内的相应地址处,且从阵列106读取所存储的数据字。在一个实例中,每一数据字可包含128位的数据,而在其它实例中,每一数据字可包含32数据位、64数据位、256数据位、512数据位,等等。存储在阵列106中的数据字可出现软数据错误或硬数据错误——举例来说,在所述数据位被存储到阵列106的时间与所述数据位被读取的时间之间的时间中,所述数据字内的一或多个数据位可“翻转”且改变数据值。在其它实例中,阵列106中的一或多个存储装置可被损坏,借此防止校正存储且读取一或多个数据位。一般来说,任何机制可导致从阵列106读取的数据字中的一或多个位不同于所述相应位如何被认为已被写入到阵列106内。
为减轻此类数据错误的影响,设备100包含错误校正及/或检测码(“ECC”)***102,借此产生针对每一数据字的奇偶校验码(其可包含一或多个奇偶校验位)且存储在阵列106中。ECC(如本文中所使用)包含任何类型的错误检测及/或错误校正方法——举例来说,设备100的ECC***102可在一些例子中检测一或多个数据错误且可在一些实施例中额外地校正一或多个错误。ECC***102可基于汉明码(Hammingcode)(包含延展汉明码)、循环冗余校验或任何其它错误检测及/或错误校正方法。由ECC***102产生且存储在阵列106中的奇偶校验码与相关联数据字一起表示关于所述相关联数据字的一些部分或全部的信息,且随后可用以在从阵列106读出所述数据字时检测及/或校正所述数据字中的错误。为简便起见,本文将描述实例ECC***102及可检测且校正数据字中的单个位数据错误的码,但应了解,本文所描述的原理可经扩展以检测及/或校正任何数目个数据错误。
再次参考图1,ECC***102包含可大体上并行操作的第一ECC电路120与第二ECC电路140。第一ECC电路102接收第一数据字DATA-OLD及与所述第一数据字DATA-OLD相关联的奇偶校验码PARITY-OLD。所述第一数据字DATA-OLD可为先前所存储的且从阵列106读出的旧数据字。尽管其曾经存储在阵列106中,或其正被存储到阵列106中,但所述第一数据字DATA-OLD的一或多个数据位可具有自其希望值改变的值,且因此向第一ECC电路120提供的所述第一数据字DATA-OLD可具有一或多个位的数据错误。第一ECC电路120还接收第二数据字DATA-NEW,其可为新数据字,所述第二数据字DATA-NEW的至少一些部分将存储在阵列106中以代替所述第一数据字DATA-OLD的相应部分(例如,所述第二数据字DATA-NEW的至少一些部分将盖写所述第一数据字DATA-OLD的相应部分)。
第一ECC电路120经配置以在所述第一数据字DATA-OLD中检测到一或多个数据错误时基于所述第一数据字DATA-OLD及其相关联的奇偶校验码PARITY-OLD选择性地校正所述第一数据字DATA-OLD中的一或多个数据错误。经校正数据字可对应于被认为已存储在阵列106中的数据字。在ECC***102操作期间,向第一ECC电路120提供的所述第一数据字DATA-OLD可能不总是具有一或多个数据错误。实际上,在一些实例中,从阵列106读出且向第一ECC电路120提供的相对少的所述第一数据字DATA-OLD将不具有任何数据错误。应理解,尽管第一ECC电路120经配置以在由第一ECC电路120检测到此类错误时校正向其提供的所述数据字DATA-OLD中的一或多个数据错误,但当向第一ECC电路120提供的数据字DATA-OLD不具有任何数据错误时,第一ECC电路120将不“校正”所述数据字中的数据位,因为不存在错误要校正。
第一ECC电路120也经配置以响应于控制信号(例如,数据屏蔽信号DATAMASK)而选择性地将经校正的数据字(即,如由所述第一ECC电路校正的第一数据字或在相同数据字中未检测到数据错误的情况下的未经校正的第一数据字)与所述第二数据字DATA-NEW合并。第一ECC电路120基于所述经校正的数据字的一或多个部分及所述第二数据字DATA-NEW的一或多个部分,借助于确定哪个数据字的哪些部分用以产生最终经合并的数据字DATA-MERGED的控制信号DATAMASK可产生最终经合并的数据字DATA-MERGED。换句话说,控制信号DATAMASK可导致第一ECC电路120保留所述经校正的数据字的一或多个部分使其在数据写入操作期间不被所述第二数据字DATA-NEW的一或多个对应部分替代。
在一些情况下,响应于控制信号DATAMASK,所述经校正的数据字或所述新数据字DATA-NEW中的一者的全部可提供作为所述最终经合并的数据字DATA-MERGED——控制信号DATAMASK可完全屏蔽所述经校正的数据字,使得所述最终经合并的数据字DATA-MERGED等同于所述经校正的数据字,或在另一方面,控制信号DATAMASK可能不屏蔽任何所述经校正的数据字,使得所述最终经合并的数据字DATA-MERGED等同于所述第二数据字DATA-NEW。然而,在其它实例中,控制信号DATAMASK可屏蔽所述经校正的数据字的一或多个部分,使得所述经屏蔽的部分提供在所述最终经合并的数据字DATA-MERGED中的其相应处,而所述最终经合并的数据字DATA-MERGED的其它部分来自所述第二数据字DATA-NEW的相应部分。
由控制信号DATAMASK屏蔽的所述数据字的部分在一些实例中可为8位(1字节)部分,但大体上其可为任何大小。如果所述数据字为128位长且可屏蔽的部分为8字节长,举例来说,基于控制信号DATAMASK,可存在可或不可被屏蔽的16个单独部分。
再次参考图1,第一ECC电路120可向写入电路160提供最终经合并的数据字DATA-MERGED,写入电路160可随后将所述最终经合并的数据字DATA-MERGED与相关联的奇偶校验码PARITY-CORRECTED一起写入到阵列106,如下文更详细描述。
在一些实施例中,第二ECC电路140可与第一ECC电路120分离且与其不同,且可至少部分地与第一ECC电路120同时操作。换句话说,第二ECC电路140如本文中所描述而操作期间的时间可至少部分地与第一ECC电路120如本文中所描述而操作期间的时间重叠—例如,使得电路120、140中的一者在电路120、140中的另一者已结束其相应操作之前开始其相应操作。与在类似第一及第二ECC电路的操作连续操作(其中所述第二ECC电路直到所述第一ECC电路已完成操作才开始操作(当然,在循序操作中,仅需要单个ECC电路))的设备相比较,第一ECC电路120及第二ECC电路140的此并行操作在一些实例中可提高从阵列106读取及/或向阵列106写入的时序。
第二ECC电路140接收所述第一数据字DATA-OLD及所述第二数据字DATA-NEW,但不从第一ECC电路120接收所述经校正的第一数据字。第二ECC电路140响应于控制信号DATAMASK初步将所述第一数据字DATA-OLD与所述第二数据字DATA-NEW合并,且借此产生初始经合并的数据字。向第一ECC电路120提供的控制信号DATAMASK大体上与向第二ECC电路140提供的控制信号DATAMASK相同。所述初步合并的结果为“初始”经合并的数据字,因为合并到所述初始经合并的数据字中的所述第一数据字DATA-OLD的任何部分可包含一或多个数据错误(因为到第二ECC电路140的输入为来自阵列106的“原始”数据字DATA-OLD,其可包含一或多个数据错误)。
第二ECC电路140还产生与所述初始经合并的数据字相关联的初始奇偶校验码,且校正校正器电路146中的初始奇偶校验。由第二ECC电路140向写入电路160提供经校正的奇偶校验码PARITY-CORRECTED,写入电路160(如上文所提及)将所述经校正的奇偶校验码PARITY-CORRECTED与所述最终经合并的数据字DATA-MERGED一起写入到阵列106。在一些实例中,所述经校正的奇偶校验码可代表全部最终经合并的数据字DATA-MERGED,或在其它实例中,可代表所述最终经合并的数据字DATA-MERGED的两个或两个以上部分(例如,其中每一部分对应于数据字的可被屏蔽的区段)。
所述初始奇偶校验码可需要校正,因为基于所述初始经合并的数据字(其可含有一或多个数据错误)而产生所述初始奇偶校验码。如果所述初始经合并的数据字含有一或多个错误(与由第一ECC电路120产生的最终经合并的数据字DATA-MERGED相比较),那么从所述初始经合并的数据字产生的初始奇偶校验码将具有一或多个错误(与所述最终经合并的数据字DATA-MERGED应具有的奇偶校验码的类型相比较)。换句话说,第二ECC电路140校正所述初始奇偶校验码,使得经校正的奇偶校验码PARITY-CORRECTED为用于所述最终经合并的数据字DATA-MERGED的奇偶校验码。如下文更详细描述,在于合并到所述最终经合并的数据字DATA-MERGED的所述第一数据字DATA-OLD的部分中不存在数据错误的例子中,所述初始奇偶校验码将无需被校正,且将仅作为经校正的奇偶校验码PARITY-CORRECTED通过校正器电路146。
并行操作第一ECC电路120与第二ECC电路140允许第一奇偶校验电路120校正所述第一数据字DATA-OLD中的数据错误,同时至少部分地同时允许第二ECC电路140产生初始奇偶校验码,如同在合并到所述最终数据字DATA-MERGED的所述第一数据字DATA-OLD的部分中不存在错误。因为这两个操作相对冗长,且所述初始奇偶校验码的校正相对较快,所以具有数据屏蔽操作的写入的读取-修改-写入可比在上文所描述的循序ECC解码及随后的ECC编码程序中快速且高效地处理。
图2说明根据本发明的实施例的用于校正数据错误的设备200。与图1中所说明的设备100相似,图2中所说明的设备200包含具有第一ECC电路120、第二ECC电路140及写入电路160的ECC***102。此外,图2中的第一ECC电路120包含ECC解码及校正电路122及第一选择电路134。ECC解码及校正电路122接收所述第一数据字DATA-OLD及其相关联的奇偶校验码PARITY-OLD,解码所述奇偶校验码PARITY-OLD及所述第一数据字DATA-OLD以确定在所述第一数据字DATA-OLD中是否存在一或多个数据错误,且(如果存在)校正那一或多个错误以提供经校正的数据字DATA-OLD-CORRECTED。
图2中的第一选择电路134接收经校正的数据字DATA-OLD-CORRECTED及所述第二数据字DATA-NEW,连同控制信号DATAMASK。第一选择电路134可包含多个多路复用器,其取决于控制信号DATAMASK而在经校正的数据字DATA-OLD-CORRECTED及所述第二数据字DATA-MASK中的每一者的部分之间选择,以便产生最终经合并的数据字DATA-MERGED。
图2中的第二ECC电路140包含第二选择电路142、ECC编码电路144及奇偶校验校正电路146。第二选择电路142接收所述第一数据字DATA-OLD及所述第二数据字DATA-NEW,连同控制信号DATAMASK。所述第二选择电路可包含多个多路复用器,其取决于控制信号DATAMASK而在所述第一数据字DATA0OLD及所述第二数据字DATA-MASK中的每一者的部分之间选择,以便初步产生初始经合并的数据字DATA-MERGED-INITIAL。初始经合并的数据字DATA-MERGED-INITIAL可包含一或多个数据错误,因为在不首先通过第一ECC电路120的ECC解码及校正电路122的情况下提供所述第一数据字DATA-OLD。
初始经合并的数据字DATA-MERGED-INITIAL随后被提供给ECC编码电路144,其基于初始经合并的数据字DATA-MERGED-INITIAL而产生初始奇偶校验码PARITY-INITIAL。所述初始奇偶校验码PARITY-INITIAL又被提供给奇偶校验校正电路146,其在所述第一数据字DATA-OLD的经屏蔽的部分中不存在一或多个数据错误的情况下校正所述初始奇偶校验码,且向写入电路160提供经校正的奇偶校验码PARITY-CORRECTED,写入电路160又将经校正的奇偶校验码PARITY-CORRECTED连同来自第一ECC电路120的最终经合并的数据字DATA-MERGED写入到阵列106。
因此第二ECC电路140将所述第一数据字DATA-OLD与所述第二数据字DATA-NEW合并且产生相关联的初始奇偶校验码,如同在初始经合并的数据字DATA-MERGED-INITIAL中不存在错误,或如同初始经合并的数据字DATA-MERGED-INITIAL将要与初始奇偶校验码PARITY-INITIAL一起被写入到阵列106。然而,如上文所描述,奇偶校验校正电路146校正初始奇偶校验码PARITY-INITIAL以将其与针对最终经合并的(及经校正的)数据字DATA-MERGED的奇偶校验码对准。
图3说明根据本发明的实施例的用于校正数据错误的设备300。与图1中所说明的设备100及图2中所说明的设备200相似,图3中所说明的设备300包含具有第一ECC电路120、第二ECC电路140及写入电路160的ECC***102。此外,与图2中的第一ECC电路120相似,图3中的第一ECC电路120包含ECC解码及校正电路122及第一选择电路134。图3中的ECC解码及校正电路122包含校验子产生电路124,其接收所述第一数据字DATA-OLD及其相关联的奇偶校验码PARITY-OLD,且产生代表如所接收的所述第一数据字DATA-OLD中的一或多个数据错误的校验子SYNDROME。所述校验子SYNDROME被提供给错误***电路126,且(如下文更详细描述)还被提供给奇偶校验校正电路146。
错误***电路126解码所述校验子以提供在一或多个数据错误的所述第一数据字DATA-OLD内的物理位置DECODED。在一些实施例中,错误***电路126可为典型的地址解码器。举例来说,如果所述校验子为8位长且指示单个数据位错误,那么所述错误***电路可解码所述8位校验子且提供128位长的DECODED信号,其中所述DECODED信号的所有值为二进制0,而不是可具有二进制1的值的存在数据错误的所述第一数据字DATA-OLD中的位置。
所述数据错误的物理位置DECODED与所述第一数据字DATA-OLD一起被提供给数据校正电路128,其校正所述一或多个数据错误。在一些实例中,数据校正电路128可包含多个异或(XOR)门,所述多个异或门中的每一者接收所述第一数据字DATA-OLD的一个位及对应的物理位置DECODED作为其输入。继续所述8位校验子及128位长的DECODED信号的实例,如果在所述第一数据字DATA-OLD中存在错误,那么那个错误的位置将在DECODED信号中被赋予二进制1,且当所述二进制一与所述第一数据字DATA-OLD中的错误值进行异或运算时,在那个位置处的值将恢复到其正确的二进制值。
数据校正电路128因此向第一选择电路134提供经校正的数据字DATA-OLD-CORRECTED,第一选择电路134还接收所述第二数据字DATA-NEW及控制信号DATAMASK,且提供最终经合并的数据字DATA-MERGED,如上文参考图2所描述。
也与图2中所说明的设备200相似,图3中所说明的设备300包含第二ECC电路140,其又包含第二选择电路142、ECC编码电路144及奇偶校验校正电路146。在一些实施例中,奇偶校验校正电路146可包含多个异或逻辑门152,其经配置以接收初始奇偶校验码PARITY-INITIAL及来自校验子产生电路124的校验子SYNDROME作为输入。通过比较(例如,异或运算)初始奇偶校验码PARITY-INITIAL与校验子SYNDROME,奇偶校验校正电路146可校正初始奇偶校验码PARITY-INITIAL,使得其与经校正的及最终经合并的数据字DATA-MERGED对应。如上文所提及,校验子SYNDROME可含有关于所述第一数据字DATA-OLD中的数据错误的位置的信息,其可用以校正通过(例如)数据校正电路128中的异或门的数据错误。由于所述校验子及所述奇偶校验码所产生的方式,校验子SYNDROME中的相同位置信息也可用以通过(例如)异或门152定位及校正奇偶校验校正电路146中的初始奇偶校验码PARITY-INITIAL的错误值,因为初始奇偶校验码PARITY-INITIAL中的不正确值从在数据校正电路128中被校正的所述第一数据字DATA-OLD中的相同数据错误产生。
在一些实施例中,可向奇偶校验校正电路146提供信号(未图示)以确定初始奇偶校验码PARITY-INITIAL是否作为经校正的奇偶校验码PARITY-CORRECTED而应被沿着原样传递到写入电路160,或一或多个数据位是否需要首先在初始奇偶校验码PARITY-INITIAL中改变。举例来说,如果在所述第一数据字DATA-OLD中不存在数据错误,尤其是如果在所述第一数据字DATA-OLD的经屏蔽的部分中不存在数据错误,那么可无需修改初始奇偶校验码PARITY-INITIAL。因此,在一些实施例中,奇偶校验校正电路146可确定在所述第一数据字DATA-OLD的经屏蔽的部分中是否存在数据错误,且如果不存在,那么就将初始奇偶校验码PARITY-INITIAL继续传递到写入电路160。然而,在其它实施例中,初始奇偶校验码PARITY-INITIAL可总是一起与校验子SYNDROME相比较(例如,异或运算),且如果在所述第一数据字DATA-OLD中不存在错误,那么校验子SYNDROME将全部为二进制0—在此情况中,异或函数将仅将不具有任何改变的初始奇偶校验码PARITY-INITIAL传递到任何情况下的写入电路160。
现将参考图4描述图1、2及3中的设备100、200、300的操作,图4说明根据本发明的实施例的用于在具有数据屏蔽操作的写入期间校正数据错误的操作400的流程图。
在操作402中,从阵列106读取第一数据字DATA-OLD(及其相关联的奇偶校验码PARITY-OLD),且在操作404中,由第一ECC电路120及第二ECC电路140接收所述第一数据字DATA-OLD及第二数据字DATA-NEW。在操作410中,第一ECC电路120的校验子产生器124基于所述第一数据字DATA-OLD及其相关联的奇偶校验码PARITY-OLD而产生校验子SYNDROME。在操作412中,所述校验子SYNDROME经解码以提供所述第一数据字DATA-OLD中的一或多个数据错误的位置DECODED。在操作414中,所述DECODED位置信息用以校正所述第一数据字DATA-OLD,在操作416中,基于控制信号DATAMASK将所述第一数据字DATA-OLD与所述第二数据字DATA-NEW合并在一起。操作410到418至少部分地与操作420到424同时进行,现将描述操作420到424。
在操作420中,基于控制信号DATAMASK初步将所述第一数据字DATA-OLD与所述第二数据字DATA-NEW合并以产生初始经合并的数据字DATA-MERGE-INITIAL。在操作422中,通过编码初始经合并的数据字DATA-MERGE-INITIAL而产生初始奇偶校验码。随后,在操作424中,基于在操作410中产生的校验子SYNDROME而校正所述初始奇偶校验码以产生经校正的奇偶校验码PARITY-CORRECTED。随后,在操作430中,最终经合并的数据字DATA-MERGED与经校正的奇偶校验码PARITY-CORRECTED一起被写入到阵列106。
参考操作424,如上文所提及,在一些实例中,在使用校验子SYNDROME校正初始奇偶校验码PARITY-INITIAL之前,首先进行检查以确定在所述第一数据字DATA-OLD(或至少那些被屏蔽的部分)中是否存在数据错误,且如果不存在,那么对初始奇偶校验码PARITY-INITIAL无需做出改变,但其作为经校正的奇偶校验码PARITY-CORRECTED直接被传递到写入电路160。然而,在其它实例中,不做检查,且初始奇偶校验码PARITY-INITIAL为总是“经校正的”,应理解,如果无位是不正确的,那么校正所述码的操作不更改所述码的数据值。
存在可无需校正初始奇偶校验码PARITY-INITIAL的例子,举例来说——当在所述第一数据字DATA-OLD或其相关联的奇偶校验码PARITY-OLD中不存在数据错误时,当在所述第一数据字DATA-OLD的未经屏蔽的部分中仅存在一个数据错误时,及当在与所述第一数据字DATA-OLD一起检索的奇偶校验码PARITY-OLD上仅存在一个数据错误时。在这些例子中,初始奇偶校验码正确地对应于最终经合并的数据字DATA-MERGED,且无需校正。在于所述第一数据字DATA-OLD的经屏蔽的部分中存在数据错误的另一例子中,初始奇偶校验码PARITY-INITIAL将为不正确的且因此可由奇偶检验校正电路146校正,使得其合适地与最终经合并的数据字DATA-MERGED对应。在这最后一个情况中,校验子SYNDROME不仅可确定所述第一数据字DATA-OLD中的错误的位置,而且可确定初始奇偶校验码PARITY-INITIAL中的一个不正确的位或多个不正确的位的位置。
图5说明根据本发明的实施例的存储器500的一部分。存储器500包含存储器单元的阵列501,所述存储器单元可为(例如)DRAM存储器单元、SRAM存储器单元、快闪存储器单元或一些其它类型的存储器单元,且可对应于图1、2及3中所展示的阵列106。存储器500包含控制电路506,其可通过ADDR/CMD总线接收存储器命令及地址。控制电路506基于通过ADDR/CMD总线接收的指令提供控制信号。控制电路506还通过地址总线及地址锁存器510向存储器500提供行及列地址。所述地址锁存器随后输出单独的列指示及单独的行地址。
所述行地址及所述列地址由地址锁存器510分别提供给行地址解码器522及列地址解码器528。列地址解码器528选择延伸通过与相应列地址相关联的阵列502的位线。行地址解码器522连接到字线驱动器524,字线驱动器524激活与所接收的行地址相关联的阵列502中的存储器单元的相应行。与所接收的列地址相关联的所选择的数据线(例如,一个位线或多个位线)耦合到读取/写入电路530以经由输入-输出数据总线540向数据输出电路534提供读取数据。耦合到数据输出电路534的输出垫542用于电耦合到存储器500。写入数据通过数据输入电路544及存储器阵列读取/写入电路530被提供给存储器阵列502。耦合到数据输入电路542的输入垫546用于电耦合到存储器500。控制电路506响应于被提供给所述ADDR/CMD总线的存储器命令及地址以对存储器阵列502上执行各种操作。特定来说,控制电路506用以提供内部控制信号以从存储器阵列502读取数据和向存储器阵列502写入数据。
在一些实施例中,读取/写入电流530包含ECC***502,其可为(例如)图1、2及/或3中所说明及本文所描述的ECC***102的实例。ECC***502可因此从存储器阵列501接收具有一或多个错误的数据字,且在具有数据屏蔽操作的写入的情况中,如果需要,校正那一或多个错误(如上文更详细描述)。
从以上描述应了解,尽管本文出于说明的目的已描述本发明的特定实施例,但可在不偏离本发明的精神及范围的情况下做各种修改。举例来说,图1、2、3及5说明ECC***102、502的实施例,图1、2及3说明奇偶校验校正电路146的实施例,图2及3说明选择电路134、142的实施例,等等。然而,可使用其它ECC***、奇偶校验校正电路、选择电路等等,其不被限制具有相同设计,且可具有不同设计并且包含与这些图式中所说明的实施例中的电路不同的电路。
尽管本发明已描述在具有数据屏蔽操作的写入期间的ECC***102、502的操作,但应理解,本文所描述的ECC***102、502与在其它操作期间的传统ECC***的功能大体上类似。举例来说,在读取操作期间,ECC***102、502将所述第一数据字DATA-OLD连同其相关联的奇偶校验码PARITY-OLD一起读出,且检测及/或校正所述第一数据字DATA-OLD中的任何数据错误。类似地,针对不具有数据屏蔽的写入操作,ECC***102、502产生可与所述第二数据字DATA-NEW一起存储在阵列106中的用于所述第二数据字DATA-NEW的奇偶校验码。
并且,如上文所提及,尽管本发明描述使用能够检测及校正一个位的数据错误的ECC码的实例,但本发明范围内的其它实例包含可检测两个位错误且校正一个位错误、可校正两个位错误、可仅检测单个位错误等等的ECC码。一般来说,可使用任何错误检测及/或错误校正方法。
相应地,本发明不限于本文所描述的本发明的特定实施例。
Claims (29)
1.一种设备,其包括:
第一电路,其经配置以接收第一数据字及第二数据字,且经配置以校正所述第一数据字中的一或多个错误且响应于控制信号将所述经校正的第一数据字与所述第二数据字合并以产生最终经合并的数据字,所述第一电路进一步经配置以向写入电路提供所述最终经合并的数据字;以及
第二电路,其经配置以接收所述第一数据字及所述第二数据字,且经配置以响应于所述控制信号初步将所述第一数据字与所述第二数据字合并以产生初始经合并的数据字且产生用于所述初始经合并的数据字的初始奇偶校验码,所述第二电路进一步经配置以校正所述初始奇偶校验码且向所述写入电路提供所述经校正的奇偶校验码。
2.根据权利要求1所述的设备,其中所述第一电路及所述第二电路经配置以并行操作。
3.根据权利要求1所述的设备,其中所述控制信号为数据屏蔽信号,其经配置以保留所述经校正的第一数据字的一或多个部分以使其在数据写入操作期间不被所述第二数据字的一或多个对应部分替代。
4.根据权利要求1所述的设备,其中所述第二电路包括多个异或逻辑门,其经配置以接收所述初始奇偶校验码及从所述第一数据字及用于所述第一数据字的相关联的奇偶校验码而产生的校验子来作为输入。
5.根据权利要求1所述的设备,其中所述初始奇偶校验码是基于所述初始经合并的数据字的两个或两个以上部分。
6.根据权利要求1所述的设备,其中所述经校正的奇偶校验码代表所述全部最终经合并的数据字。
7.一种设备,其包括:
ECC解码及校正电路,其经配置以响应于第一数据字而提供经校正的数据字;
第一选择电路,其经配置以响应于控制信号而将所述经校正的数据字与第二数据字合并且提供最终经合并的数据字;
第二选择电路,其经配置以响应于所述控制信号将所述第一数据字与所述第二数据字合并且提供初始经合并的数据字;
ECC编码电路,其经配置以基于所述初始经合并的数据字而产生初始奇偶校验码;以及
奇偶校验校正电路,其经配置以响应于来自所述ECC解码及校正电路的校正信号而校正所述初始奇偶校验码。
8.根据权利要求7所述的设备,其中所述ECC编码电路经配置以至少部分地与所述ECC编码及校正电路提供所述经校正的数据字同时产生所述初始奇偶校验码。
9.根据权利要求8所述的设备,其中所述ECC解码及校正电路包括经配置以产生校验子的校验子产生电路、经配置以解码所述校验子的错误***电路及经配置以基于所述经解码的校验子而校正所述第一数据字的数据校正电路,另外其中所述校验子作为所述校正信号被提供给所述奇偶校验校正电路。
10.根据权利要求9所述的设备,其中所述ECC编码电路经配置以至少部分地与所述校验子产生电路产生所述校验子同时产生所述初始奇偶校验码。
11.根据权利要求7所述的设备,其中所述第一选择电路及第二选择电路包括一或多个多路复用器,其经配置以在输入数据字的部分之间选择以产生其相应输出数据字。
12.根据权利要求7所述的设备,其中所述第一选择电路经配置以提供最终数据字,且所述最终数据字包含所述第一数据字的一或多个部分及所述第二数据字的一或多个部分。
13.一种方法,其包括:
将第一数据字与第二数据字合并以产生初始经合并的数据字;
基于所述初始经合并的数据字而产生初始奇偶校验码;
产生用于所述第一数据字的校验子;以及
校正所述初始奇偶校验码以产生最终奇偶校验码。
14.根据权利要求13所述的方法,其进一步包括:
基于ECC解码及校正电路中的所述校验子而校正所述第一数据字;以及
在第一选择电路字中将所述经校正的第一数据字与第二数据合并以产生最终经合并的数据字。
15.根据权利要求14所述的方法,其进一步包括使用写入电路将所述最终经合并的数据字及所述最终奇偶校验码写入到数据存储装置。
16.根据权利要求13所述的方法,其进一步包括基于所述校验子而校正所述初始奇偶校验码。
17.根据权利要求13所述的方法,其中产生用于所述第一数据字的校验子的动作至少部分地与产生所述初始奇偶校验码的动作同时执行。
18.根据权利要求13所述的方法,其中所述第一数据字为先前存储在数据存储装置中的旧数据字,且所述第二数据字为新数据字,所述第二数据字的至少一些部分待存储在所述数据存储装置中。
19.根据权利要求18所述的方法,其中所述旧数据字及所述新数据字响应于控制信号而初步被合并,所述控制信号屏蔽所述旧数据字的一或多个部分使其不被所述新数据字更新。
20.根据权利要求13所述的方法,其中使用单个位错误检测、单个位错误校正汉明码在ECC编码电路中产生所述初始奇偶校验码。
21.一种方法,其包括:
响应于控制信号而将旧数据字与新数据字合并以获得初始经合并的数据字;
编码所述经合并的数据字以获取初始奇偶校验码;
响应于旧奇偶校验码而解码所述旧数据字;
响应于所述解码而校正所述旧数据字;以及
响应于所述解码而校正所述初始奇偶校验码。
22.根据权利要求21所述的方法,其中响应于在响应于所述旧奇偶校验码而解码所述旧数据字的动作期间而产生的校验子而进行校正所述旧数据字及校正所述初始奇偶校验码的动作。
23.根据权利要求22所述的方法,其中基于所述初始奇偶校验码与所述校验子的比较而在比较器电路中校正所述初始奇偶校验码中的一或多个位。
24.根据权利要求21所述的方法,其进一步包括响应于所述控制信号而在选择电路中将所述经校正的旧数据字与所述新数据字合并。
25.根据权利要求24所述的方法,其中所述控制信号为数据屏蔽信号。
26.根据权利要求24所述的方法,其进一步包括从数据存储装置中的读取电路接收所述旧数据字,且使用写入电路将所述最终经合并的数据字及所述经校正的奇偶校验码写入到所述数据存储装置。
27.根据权利要求21所述的方法,其中所述初始奇偶校验码经配置以检测及校正所述旧数据字中的至少一个数据位错误。
28.根据权利要求21所述的方法,其中使用在来自所述旧数据子及所述旧奇偶校验码的在ECC解码电路中所产生的校验子来在校正器电路中校正所述初始奇偶校验码中的一或多个位。
29.根据权利要求21所述的方法,其中使用不同电路来并行执行编码与解码的动作。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/000727 WO2014205590A1 (en) | 2013-06-24 | 2013-06-24 | Circuits, apparatuses, and methods for correcting data errors |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105340022A true CN105340022A (zh) | 2016-02-17 |
CN105340022B CN105340022B (zh) | 2019-11-12 |
Family
ID=52140726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380077738.1A Active CN105340022B (zh) | 2013-06-24 | 2013-06-24 | 用于校正数据错误的电路、设备及方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9148176B2 (zh) |
KR (1) | KR101750662B1 (zh) |
CN (1) | CN105340022B (zh) |
WO (1) | WO2014205590A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107068194A (zh) * | 2017-04-20 | 2017-08-18 | 聚辰半导体(上海)有限公司 | 一种应用在eeprom上的错误纠正编码及相应的eeprom |
CN108268337A (zh) * | 2017-01-03 | 2018-07-10 | 慧荣科技股份有限公司 | 于记忆装置中进行数据管理的方法、记忆装置及其控制器 |
CN109753369A (zh) * | 2018-12-28 | 2019-05-14 | 上海微阱电子科技有限公司 | 一种寄存器及内存中顺序数组的数据编码及校验方法 |
CN109840162A (zh) * | 2017-11-29 | 2019-06-04 | 台湾积体电路制造股份有限公司 | 存储器件及其操作方法 |
CN110362420A (zh) * | 2018-04-09 | 2019-10-22 | 爱思开海力士有限公司 | 存储***和存储***的操作方法 |
CN111989746A (zh) * | 2018-04-20 | 2020-11-24 | 美光科技公司 | 使用阶层式解码器的误差校正 |
CN113254258A (zh) * | 2020-02-07 | 2021-08-13 | 美光科技公司 | 用于错误校正的设备、***及方法 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9311181B2 (en) * | 2012-11-15 | 2016-04-12 | Samsung Electronics Co., Ltd. | Memory controller changing partial data in memory device and method for changing partial data thereof |
WO2014205590A1 (en) | 2013-06-24 | 2014-12-31 | Micron Technology, Inc. | Circuits, apparatuses, and methods for correcting data errors |
KR20150043044A (ko) * | 2013-10-14 | 2015-04-22 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이를 포함하는 반도체 시스템 |
CN103594120B (zh) * | 2013-10-31 | 2018-08-21 | 西安紫光国芯半导体有限公司 | 以读代写的存储器纠错方法 |
US9823966B1 (en) * | 2013-11-11 | 2017-11-21 | Rambus Inc. | Memory component with error-detect-correct code interface |
US9710185B2 (en) * | 2014-07-10 | 2017-07-18 | Samsung Electronics Co., Ltd. | Computing system with partial data computing and method of operation thereof |
WO2016095191A1 (en) * | 2014-12-19 | 2016-06-23 | Micron Technology, Inc. | Apparatuses and methods for pipelining memory operations with error correction coding |
CN115100017A (zh) | 2015-06-10 | 2022-09-23 | 无比视视觉技术有限公司 | 用于处理图像的图像处理器和方法 |
US9965352B2 (en) * | 2015-11-20 | 2018-05-08 | Qualcomm Incorporated | Separate link and array error correction in a memory system |
US10140175B2 (en) * | 2015-11-20 | 2018-11-27 | Qualcomm Incorporated | Protecting an ECC location when transmitting correction data across a memory link |
US10169144B2 (en) * | 2016-01-15 | 2019-01-01 | Micron Technology, Inc. | Non-volatile memory including selective error correction |
KR20170112630A (ko) * | 2016-04-01 | 2017-10-12 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
KR20170121798A (ko) * | 2016-04-26 | 2017-11-03 | 삼성전자주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
KR102469809B1 (ko) * | 2016-05-18 | 2022-11-24 | 에스케이하이닉스 주식회사 | 반도체장치 |
KR102504176B1 (ko) * | 2016-06-23 | 2023-03-02 | 에스케이하이닉스 주식회사 | 반도체장치 |
US9904595B1 (en) | 2016-08-23 | 2018-02-27 | Texas Instruments Incorporated | Error correction hardware with fault detection |
US10290333B2 (en) * | 2016-09-06 | 2019-05-14 | SK Hynix Inc. | Semiconductor device |
KR20190031787A (ko) | 2017-09-18 | 2019-03-27 | 삼성전자주식회사 | 병렬 리드-모디파이-라이트 동작을 수행하는 메모리 장치 |
KR102609758B1 (ko) | 2018-03-27 | 2023-12-04 | 삼성전자주식회사 | 데이터 통신 오류를 검출하는 순환 중복 검사 유닛 데이터 통신 장치 및 검출 방법 |
US11132253B2 (en) * | 2018-12-06 | 2021-09-28 | Micron Technology, Inc. | Direct-input redundancy scheme with dedicated error correction code circuit |
US10884853B2 (en) * | 2019-01-16 | 2021-01-05 | Intel Corporation | Fast search of error correction code (ECC) protected data in a memory |
TWI689935B (zh) * | 2019-04-02 | 2020-04-01 | 華邦電子股份有限公司 | 具糾錯電路的記憶體 |
US11269720B2 (en) * | 2019-08-11 | 2022-03-08 | Winbond Electronics Corp. | Memory storage apparatus and data access method |
US11010243B2 (en) * | 2019-09-09 | 2021-05-18 | Winbond Electronics Corp. | Memory apparatus with error bit correction in data reading period |
CN110750406B (zh) * | 2019-10-29 | 2023-10-31 | 湖南国科微电子股份有限公司 | 一种检测方法、装置和soc芯片 |
DE102020102796A1 (de) | 2020-02-04 | 2021-08-05 | Infineon Technologies Ag | Datenverarbeitungsvorrichtung und verfahren zum verarbeiten von geheimen daten |
US11755476B2 (en) * | 2020-04-13 | 2023-09-12 | SK Hynix Inc. | Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device |
KR102673257B1 (ko) * | 2021-01-14 | 2024-06-05 | 창신 메모리 테크놀로지즈 아이엔씨 | 비교 시스템 |
US11681578B2 (en) * | 2021-02-16 | 2023-06-20 | Micron Technology, Inc. | Apparatuses, systems, and methods for multi-pump error correction |
KR20220144093A (ko) * | 2021-04-19 | 2022-10-26 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치와 호스트 장치의 구동 방법 |
US11709734B2 (en) | 2021-04-30 | 2023-07-25 | Micron Technology, Inc. | Error correction with syndrome computation in a memory device |
CN115910183A (zh) * | 2021-08-19 | 2023-04-04 | 长鑫存储技术有限公司 | 测试方法及测试*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825495A (zh) * | 2005-02-17 | 2006-08-30 | 英飞凌科技股份公司 | 误差校正电路和方法 |
US7392456B2 (en) * | 2004-11-23 | 2008-06-24 | Mosys, Inc. | Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory |
CN101246748A (zh) * | 2007-02-13 | 2008-08-20 | 三星电子株式会社 | 基于字节的掩码操作的设备和产生奇偶校验数据的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4916701A (en) | 1988-09-21 | 1990-04-10 | International Business Machines Corporation | Method and system for correcting long bursts of consecutive errors |
CA2098551C (en) | 1992-06-17 | 2002-08-20 | Osamu Matsumura | Methods and systems for dubbing a digital video signal on a record medium |
EP0668561B1 (en) | 1994-02-22 | 2002-04-10 | Siemens Aktiengesellschaft | A flexible ECC/parity bit architecture |
JP4707803B2 (ja) * | 2000-07-10 | 2011-06-22 | エルピーダメモリ株式会社 | エラーレート判定方法と半導体集積回路装置 |
US6986098B2 (en) | 2001-11-20 | 2006-01-10 | Lsi Logic Corporation | Method of reducing miscorrections in a post-processor using column parity checks |
US7954034B1 (en) | 2005-09-30 | 2011-05-31 | Emc Corporation | Method of and system for protecting data during conversion from an ECC protection scheme to a parity protection scheme |
US7506226B2 (en) * | 2006-05-23 | 2009-03-17 | Micron Technology, Inc. | System and method for more efficiently using error correction codes to facilitate memory device testing |
US8321769B1 (en) * | 2008-11-06 | 2012-11-27 | Marvell International Ltd. | Multi-parity tensor-product code for data channel |
US8365036B2 (en) * | 2009-09-16 | 2013-01-29 | Freescale Semiconductor, Inc. | Soft error correction in a memory array and method thereof |
US8246109B2 (en) | 2010-09-10 | 2012-08-21 | Ford Global Technologies, Llc | Vehicle roof module |
US8560931B2 (en) * | 2011-06-17 | 2013-10-15 | Texas Instruments Incorporated | Low power retention random access memory with error correction on wake-up |
WO2014205590A1 (en) | 2013-06-24 | 2014-12-31 | Micron Technology, Inc. | Circuits, apparatuses, and methods for correcting data errors |
-
2013
- 2013-06-24 WO PCT/CN2013/000727 patent/WO2014205590A1/en active Application Filing
- 2013-06-24 CN CN201380077738.1A patent/CN105340022B/zh active Active
- 2013-06-24 US US14/002,092 patent/US9148176B2/en active Active
- 2013-06-24 KR KR1020167002028A patent/KR101750662B1/ko active IP Right Grant
-
2015
- 2015-09-08 US US14/848,045 patent/US9703633B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392456B2 (en) * | 2004-11-23 | 2008-06-24 | Mosys, Inc. | Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory |
CN1825495A (zh) * | 2005-02-17 | 2006-08-30 | 英飞凌科技股份公司 | 误差校正电路和方法 |
CN101246748A (zh) * | 2007-02-13 | 2008-08-20 | 三星电子株式会社 | 基于字节的掩码操作的设备和产生奇偶校验数据的方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268337A (zh) * | 2017-01-03 | 2018-07-10 | 慧荣科技股份有限公司 | 于记忆装置中进行数据管理的方法、记忆装置及其控制器 |
CN108268337B (zh) * | 2017-01-03 | 2021-07-27 | 慧荣科技股份有限公司 | 于记忆装置中进行数据管理的方法、记忆装置及其控制器 |
CN107068194A (zh) * | 2017-04-20 | 2017-08-18 | 聚辰半导体(上海)有限公司 | 一种应用在eeprom上的错误纠正编码及相应的eeprom |
CN109840162A (zh) * | 2017-11-29 | 2019-06-04 | 台湾积体电路制造股份有限公司 | 存储器件及其操作方法 |
CN109840162B (zh) * | 2017-11-29 | 2022-08-09 | 台湾积体电路制造股份有限公司 | 存储器件及其操作方法 |
CN110362420A (zh) * | 2018-04-09 | 2019-10-22 | 爱思开海力士有限公司 | 存储***和存储***的操作方法 |
CN110362420B (zh) * | 2018-04-09 | 2023-06-16 | 爱思开海力士有限公司 | 存储***和存储***的操作方法 |
CN111989746A (zh) * | 2018-04-20 | 2020-11-24 | 美光科技公司 | 使用阶层式解码器的误差校正 |
CN109753369A (zh) * | 2018-12-28 | 2019-05-14 | 上海微阱电子科技有限公司 | 一种寄存器及内存中顺序数组的数据编码及校验方法 |
CN109753369B (zh) * | 2018-12-28 | 2023-10-24 | 上海微阱电子科技有限公司 | 一种寄存器及内存中顺序数组的数据编码及校验方法 |
CN113254258A (zh) * | 2020-02-07 | 2021-08-13 | 美光科技公司 | 用于错误校正的设备、***及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20160024966A (ko) | 2016-03-07 |
US20150378826A1 (en) | 2015-12-31 |
WO2014205590A1 (en) | 2014-12-31 |
US9703633B2 (en) | 2017-07-11 |
KR101750662B1 (ko) | 2017-06-23 |
US20150089316A1 (en) | 2015-03-26 |
CN105340022B (zh) | 2019-11-12 |
US9148176B2 (en) | 2015-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105340022A (zh) | 用于校正数据错误的电路、设备及方法 | |
CN101256842B (zh) | 纠错码控制器和包括该纠错码控制器的存储器*** | |
CN103544073B (zh) | 读取闪存中区块的数据的方法及相关的记忆装置 | |
TWI674767B (zh) | 用於nand快閃記憶體的渦輪乘積碼 | |
US9043678B2 (en) | Detecting effect of corrupting event on preloaded data in non-volatile memory | |
US10803971B2 (en) | Device for supporting error correction code and test method thereof | |
US9093154B2 (en) | Method, memory controller and system for reading data stored in flash memory | |
US10114693B2 (en) | Memory systems and electronic systems performing an adaptive error correction operation with pre-checked error rate, and methods of operating the memory systems | |
US20130104002A1 (en) | Memory controller, semiconductor memory system, and memory control method | |
CN104283570A (zh) | 低密度奇偶性检验(ldpc)解码器中的对数似然比(llr)阻尼 | |
CN103594120A (zh) | 以读代写的存储器纠错方法 | |
US10514980B2 (en) | Encoding method and memory storage apparatus using the same | |
CN109471808B (zh) | 具有数据可靠性机制的存储***及其操作方法 | |
US11055174B2 (en) | Soft chipkill recovery for bitline failures | |
CN109426582B (zh) | 用于存储装置为错误处置进行数据处理的方法及控制器 | |
CN105575439B (zh) | 一种存储单元失效纠错的方法及存储器 | |
WO2015016879A1 (en) | Operating a memory unit | |
CN105027084A (zh) | 在移动通信***中控制存储器的装置和方法 | |
CN103631669B (zh) | 一种纠错sram的回写方法 | |
US20190294497A1 (en) | Method of implementing error correction code used by memory storage apparatus and memory storage apparatus using the same | |
CN112562772A (zh) | 自适应低密度奇偶校验硬解码器 | |
CN117632579B (zh) | 存储器控制方法和存储器存储装置 | |
US11392453B2 (en) | Error correction code memory | |
CN116798503A (zh) | 一种数据ecc编解码计算电路 | |
CN113220502A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |