CN101573694A - 用于小数据结构的ecc保护的方法、系统和装置 - Google Patents

用于小数据结构的ecc保护的方法、系统和装置 Download PDF

Info

Publication number
CN101573694A
CN101573694A CNA2007800469027A CN200780046902A CN101573694A CN 101573694 A CN101573694 A CN 101573694A CN A2007800469027 A CNA2007800469027 A CN A2007800469027A CN 200780046902 A CN200780046902 A CN 200780046902A CN 101573694 A CN101573694 A CN 101573694A
Authority
CN
China
Prior art keywords
ecc
memory array
size
unit
data structure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007800469027A
Other languages
English (en)
Other versions
CN101573694B (zh
Inventor
S·艾勒特
R·法肯索尔
P·梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN101573694A publication Critical patent/CN101573694A/zh
Application granted granted Critical
Publication of CN101573694B publication Critical patent/CN101573694B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/134Non-binary linear block codes not provided for otherwise
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

可以使用不同的ECC方案将不同大小的数据结构存储在存储器中。存储设备可以包括多个ECC引擎以支持对不同大小的数据结构进行的错误校正操作。

Description

用于小数据结构的ECC保护的方法、系统和装置
技术领域
本文描述的实施例涉及将的错误控制编码(ECC)用于存储设备,更具体地,涉及在非易失性存储设备中使用多个ECC方案。
背景技术
使用片上ECC的存储器架构经常具有限制。例如,采用大页面ECC(例如,256位)的闪速存储器解决方案可能具有重写限制。使用每单元伪单个位(PSBC)的闪速存储器解决方案可能具有可靠性限制。PSBC能够校正任何单元的编程状态下的小的偏移,但是不能校正大的偏移。
使用ECC的相变存储器(PCM)可能受奇偶校验单元的耐久性的限制。
附图说明
通过以下结合附图进行的详细说明,可以获得对本发明的实施例的更深理解,其中:
图1示出以目标模式编程的存储块;
图2示出以控制模式编程的存储块;
图3是示出用于小数据值的ECC引擎的框图;
图4是示出半字节ECC编码器的框图;
图5是示出半字节ECC解码器的框图;
图6是示出用于具有目标模式和控制模式ECC能力的设备的写路径的框图;
图7是示出用于具有目标模式和控制模式ECC能力的设备的读路径的框图;
图8是系统框图。
具体实施方式
在下面的描述中,为了解释的目的,阐明了许多细节以便对本发明的实施例有透彻的理解。然而,对于本领域技术人员而言显而易见的是,并不需要这些具体细节以便实施如在下文中所要求保护的本发明。例如,尽管针对闪速存储设备描述了一些实施例,但实施例也可以适用于其它类型的存储器,包括但不限于位可变存储器(bit alterable memory),例如相变存储器。另外,尽管本文提到了具体的存储器大小,但应该理解,这些是仅仅用于说明的例子,而且也可以在其它实施例中使用更大或更小的存储器大小、缓冲器大小、总线或互连宽度等。
在下面的描述和权利要求中,可以使用术语“包括”和“包含”以及它们的派生词,并且旨在将它们视为彼此的同义词。另外,在下面的描述和权利要求中,可以使用术语“耦合”和“连接”以及它们的派生词。应该理解,这些术语并非旨在作为彼此的同义词。而是,在特定的实施例中,“连接”可以用来表示两个或更多元件是彼此直接的物理或电接触。“耦合”可以意味着两个或更多元件是直接的物理或电接触。然而,“耦合”还可以意味着两个或更多元件不是彼此直接接触,但是仍然相互协作或相互作用。
存储器阵列可以由每个单元能够存储一个或多个位的存储单元组成。可以如下配置存储器阵列。可以将阵列划分为多个分区。在一些实施例中,可以将阵列划分为8个分区。分区的大小可以取决于存储设备的大小。可以将每个分区进一步划分为多个块。每个块的大小可以是256千字节(KB)。可以将每个块进一步划分为1KB的编程区域,并且可以将每个区域细分为32个32字节(256位)段。
如在本文中所使用的那样,将“目标模式”定义为向系统提供一次向存储器阵列写大量数据(例如,1KB)的能力的编程模式。在目标模式中,系统在块擦除周期之间仅可对存储器的每个1千字节(KB)区域写一次。
如在本文中所使用的那样,将“控制模式”定义为向系统提供向存储器阵列写小数据片段的能力的编程模式。在一些实施例中,该小数据片段可以是4位的“半字节”。在控制模式中,每一个半字节最初被擦除,并且具有数据值1111b(0xF)。半字节的值可以被编程为在0x0和0xE之间(包括0x0和0xE)的任意值,并且可以在时钟擦除周期之间被写多次。因此,在控制模式中,存储器是位可变的。
根据数据被存储的类型,可以以控制模式或目标模式将数据写到存储器阵列。
图1示出根据一些实施例的已经以目标模式编程的存储器的一部分(100)。在一些实施例中,这部分存储器可以是非易失性存储单元阵列的一部分。例如,这部分存储器(100)可以是被细分为32个码字(106)的1KB编程区域。每个码字(106)包括用户数据部分(102)和奇偶校验部分(104)。在一些实施例中,用户数据的长度可以是256位。在多层单元(MLC)存储器阵列中,可以在128个单元中存储256位的用户数据。奇偶校验数据的长度可以是10位,并且在多层单元存储器阵列中,可以将其存储在5个单元中。
用于以目标模式生成奇偶校验单元(104)的ECC方案可以是能够检测和/或校正每个133单元码字(106)中的至少一个单元错误的四进制ECC方案。
在一些实施例中,可以同时对以目标模式编程的这部分存储器(100)进行编程以使耦合效应最小化。
图2示出根据一些实施例的已经以控制模式编程的存储器的一部分(200)。在一些实施例中,这部分存储器可以是非易失性存储器单元阵列的一部分。这部分存储器(200)可以是被细分为两个部分的编程区域,这两个部分为:用于存储为4位半字节(202)的用户数据的区域和用于相关联的奇偶校验数据(208)的区域。在一些实施例中,这部分存储器可以是被划分为512字节的用户数据存储空间(202)和512字节的奇偶校验数据存储空间(204)的1KB编程区域。将用户和奇偶校验区域进一步细分为用户半字节(210)和奇偶校验半字节(212)。可以在多层单元存储器阵列中的两个单元中存储4位用户半字节。也可以在多层单元存储器阵列中的两个单元中存储相应的4位奇偶校验半字节。在控制模式中每一个用户半字节(210)及其相应的奇偶校验半字节(212)包括一个码字。
用于以控制模式生成奇偶校验单元(204)的ECC方案可以是能够检测和/或校正每个4单元码字(206)中的至少一个单元错误的四进制ECC方案。
在一些实施例中,可以分别对以控制模式编程的这部分存储器(200)中的每个半字节(202)进行编程。ECC可以用于补偿由于在单元编程期间的耦合效应所导致的错误。
因此,如图1所示,可以将大数据值(例如,码字106)写入到使用能够在大数据值中校正至少一个单元错误的ECC方案的存储器阵列中。另外,如图2所示,可以将较小的数据值(例如,码字206)写入到使用能够在较小的数据值中校正至少一个单元错误的ECC方案的存储器阵列中。随后可以从存储器阵列中读出大数据值和/或小数据值。在读取每一相应的数据值时,可以使用适当的ECC方案来执行错误检测和/或校正,以检测和/或校正每一大数据值中的至少一个单元错误或者每一小数据值中的一个单元错误。
图3是ECC引擎(300)的框图,其用于在如上面关于图2所描述的小数据值(例如,半字节)中检测和/或校正错误。为了易于描述,将其称为“半字节ECC引擎”,然而,应当认识到,可以对其进行调整以适应除了半字节大小的数据值或代替半字节大小的数据值的其它大小的数据值。
半字节ECC引擎(300)包括一个或多个编码器(304)和一个或多个解码器(306)。
在一些实施例中,编码器(304)是半字节编码器,以便基于包含在要写到存储器阵列的主用户数据(302)中的4个用户位(308)编码4个奇偶校验位(314)。在编码期间,主用户数据可以包括要编程到非易失性存储单元中的总计128个用户位。可以由所述编码器(304)中的一个对用于用户数据的每一个半字节的奇偶校验分别进行编码。然后,可以将编码的奇偶校验位(314)与主用户数据一起写到存储器阵列。
在一些实施例中,解码器(306)是半字节解码器,以对预期的奇偶校验位(312)和接收的来自主数据(302)的奇偶校验位(310)进行解码。然后,解码器可以提供用于错误检测和/或错误校正目的的错误模式(316)。在解码期间,主数据(302)可以包括从非易失性存储器阵列中读取的128个用户位和128个奇偶校验位。
图4是根据一些实施例的诸如图3所示的编码器(304)的半字节编码器的框图。半字节编码器(400)的输入是一个半字节的用户输入数据(402)。对于四进制编码方案,可以使用查找表(404)来编码4个奇偶校验位(406)。在一些实施例中,查找表可以是16×4的查找表。在其它实施例中,可以使用矩阵乘法器代替查找表来进行编码。
下面的表1示出了用于半字节编码器的一个可能的编码方案。许多其它的编码方案也是可能的。将任何可能的四进制编码方案用于每单元两位的存储器时,可以校正由4个单元构成的组中的任何单个的失效单元。
  用户半字节   奇偶校验半字节
  00   00
  01   32
  02   13
  03   21
  10   23
  11   11
  12   30
  13   02
  20   31
  21   03
  22   22
  23   10
  30   12
  31   20
  32   01
  33   33
表1
在一些实施例中,如在表1所示的实施例中,对于一个以上的码字编码方案会具有与用户数据匹配的奇偶校验数据。例如,如表1所示,对于码字0000、1111、2222和3333,用户数据与奇偶校验数据匹配。
图5是根据一些实施例的诸如图3所示的解码器(306)的半字节解码器的框图。半字节解码器(500)的输入包括预期的奇偶校验半字节(502)和接收的奇偶校验半字节(504)。预期的奇偶校验半字节通过对从存储器阵列中读出的用户半字节进行编码来确定。对预期的奇偶校验半字节(502)和接收的奇偶校验半字节(504)执行XOR操作(506)。XOR操作的结果是4位的校验子(syndrome)(508)。可以使用查找表(510)以便基于该校验子(508)来确定错误模式(512)。在一些实施例中,查找表(510)可以是16×8的查找表。错误模式(512)可以是8位错误模式,包括4个用户位和4个奇偶校验位。错误模式(512)中的任何值为1的位表示从阵列中读取的码字中的该位包含错误。为了校正错误,可以翻转出错的位。
图6是根据一些实施例的用于具有目标模式和控制模式ECC能力的存储设备的写路径的框图。可以以如上面关于图1和2所描述的目标模式或控制模式来写用户数据(602)。模式可以由用户或系统来选择,并且可以由模式选择信号(611)来表示。程序缓冲器(612)可以用于存储要写到阵列中的目标/控制模式选择。
对于要以目标模式来写的用户数据(602),可以将256位的用户数据写到程序缓冲器(604)。然后,可以使用目标模式ECC编码器(608)来编码用于用户数据的奇偶校验位。目标模式ECC编码器将编码10个奇偶校验位来用于检测和/或校正每256位用户数据中的至少一个错误。然后,可以将目标模式ECC奇偶校验位存储在程序缓冲器(610)中。然后,可以将用户数据(602)和奇偶校验位写到存储器阵列(614)。也可以将模式选择位(611)写到存储器阵列以表示用于错误校正的模式。
当以控制模式写用户数据(602)时,可以将128位的用户数据写入到程序缓冲器(604)中。然后,可以使用控制模式ECC编码器(606)来编码用于用户数据的奇偶校验位。控制模式ECC编码器(606),例如图4所示的编码器,将为每个用户半字节编码一个奇偶校验半字节来用于检测和/或校正每半字节用户数据中的至少一个错误。然后,可以将编码的奇偶校验数据存储在程序缓冲器(604)中。当已经编码了奇偶校验数据时,可以将用户数据和奇偶校验数据写到存储器阵列(614)。
图7是根据一些实施例的用于具有目标模式和控制模式ECC能力的存储设备的读路径的框图。可以以如上面关于图1和2所描述的目标模式或控制模式预先写入从阵列中读取的主数据(702)。根据模式,需要使用适当的ECC解码方案。这可以使用可从存储器阵列中读取的目标/控制模式选择信号(706)来确定。模式选择信号(706)将确定在执行错误校正时使用两个复用错误模式(712)(目标模式或控制模式)中的哪一个。
在目标模式中,可以从阵列中读取256位的用户数据(702)。另外,可以从阵列中读取10个奇偶校验位(704)。目标模式ECC解码器(710)将基于主数据(702)和奇偶校验位(704)生成错误模式。然后,可以对错误模式和主数据(702)执行XOR校正操作(716),以生成256位校正后的数据值(718)。
在控制模式中,可以从阵列中读取256位的数据。这些256位既包括128位的用户数据又包括128个奇偶校验位。如上所述,每一半字节的用户数据具有相关联的半字节的奇偶校验数据。控制模式半字节ECC引擎(708)如上面关于图3-5所描述的那样对用户数据和奇偶校验数据进行操作,以生成错误模式。然后,可以对错误模式和主数据(702)执行XOR校正操作(716),以生成校正后的数据值(718)。在控制模式中,仅仅128位校正后的数据值将是有效的用户数据。剩余的128位将由存储在阵列中的奇偶校验位组成。
图8是根据一个实施例的系统的框图。该系统可以包括经由互连(810)通信的控制器(802)。控制器(802)可以是微控制器、一个或多个微处理器、多核微处理器、数字信号处理器(DSP)或另一种类型的控制器。可以由电池(804)或使用另一电源(例如交流电源)向该系统供电。
可以将多种输入/输出(I/O)设备耦合到互连(810)。所述I/O设备可以包括诸如显示器、键盘、鼠标、触摸屏或其它I/O设备的产品。还可以将无线网络接口(812)耦合到互连(810)。该无线接口(812)可以使得能够在该系统和其它设备之间进行蜂窝或其它无线通信。在一个实施例中,该无线接口(812)可以包括偶极天线。
该系统还包括能够支持ECC的存储设备(820)。该存储设备可以是非易失性存储设备,例如但不限于,闪速存储设备或相变存储设备。该存储设备可以内置到该系统中,或者可以是诸如卡形式的可移除存储介质的一部分,可以将其插入到任选的闪存卡接口或其它类型的接口(814)中。
存储设备(820)可以包括存储器阵列(834)和耦合到该阵列的ECC逻辑(822)。该存储设备也可以包括其它元件,然而,为了易于理解,本文并未示出这些部件。ECC逻辑可以既包括控制模式ECC引擎(824)又包括目标模式ECC引擎(826)。控制模式ECC引擎(824)可以包括一个或多个如上面关于图3-7所描述的半字节编码器和半字节解码器。目标模式ECC引擎(826)可以包括一个或多个256位ECC编码器和解码器,以为每一个256位的用户数据生成10个奇偶校验位,并如上面关于图6-7所描述的那样检测/校正每256位用户数据中的至少一位。
在一些实施例中,存储器阵列可以是每单元能够存储两个或更多位的多层存储单元阵列。
因此,在各个实施例中公开了用于小数据结构的ECC保护的方法、装置和系统。在上面的描述中,阐述了许多具体细节。然而,应当理解,可以在没有这些具体细节的情况下实施实施例。在其它情况下,为了不使本说明书难以理解,未详细示出公知的电路、结构和技术。实施例是参考其具体的示例性实施例来描述的。然而,对于受益于本公开的人员而言显而易见的是,可以在不脱离本文描述的实施例的较宽的精神和范围的情况下,对这些实施例进行各种修改和改变。因此,本申请和附图应被视为是示例性的而非限制性的。

Claims (21)

1、一种装置,包括:
存储器阵列;
第一纠错码(ECC)引擎,其耦合到所述存储器阵列以便对第一大小的数据结构执行ECC编码和ECC解码;以及
第二ECC引擎,其耦合到所述存储器阵列以便对第二大小的数据结构执行ECC编码和ECC解码,其中所述第二大小的数据结构大于所述第一大小的数据结构。
2、根据权利要求1所述的装置,其中所述第一大小的数据结构是4位长。
3、根据权利要求2所述的装置,其中所述第二大小的数据结构是256位长。
4、根据权利要求1所述的装置,其中所述存储器阵列由多个存储单元组成,每一个存储单元能够在每单元存储两位。
5、根据权利要求4所述的装置,其中所述第一ECC引擎能够校正每一4单元码字中的一个单元错误。
6、根据权利要求5所述的装置,其中所述第一ECC引擎使用具有多个码字的编码方案,每一个码字由用户数据值和奇偶校验数据值组成,其中对于所述多个码字中的至少两个,所述用户数据值与所述奇偶校验数据值匹配。
7、根据权利要求5所述的装置,其中所述第二ECC引擎能够校正每一133单元码字中的一个单元错误。
8、一种方法,包括:
使用第一纠错码(ECC)方案将第一大小的第一值写到存储器阵列;以及
使用第二ECC方案将第二大小的第二值写到所述存储器阵列。
9、根据权利要求8所述的方法,还包括从所述存储器阵列读取所述第一值并使用所述第一ECC方案执行错误校正。
10、根据权利要求9所述的方法,还包括从所述存储器阵列读取所述第二值并使用所述第二ECC方案执行错误校正。
11、根据权利要求8所述的方法,其中使用所述第一ECC方案将所述第一值写到所述存储器阵列包括使用控制模式写所述第一值。
12、根据权利要求11所述的方法,其中所述第一ECC方案是能够校正每半字节中的一个单元错误的四进制ECC方案。
13、根据权利要求8所述的方法,其中使用所述第二ECC方案将所述第二值写到所述存储器阵列包括使用目标模式写所述第二值。
14、根据权利要求13所述的方法,其中所述第二ECC方案是能够校正每码字中的一个单元错误的四进制ECC方案。
15、根据权利要求8所述的方法,其中所述存储器阵列是非易失性存储单元阵列。
16、一种系统,包括:
互连;
耦合到所述互连的控制器;
耦合到所述互连的无线接口;以及
耦合到所述互连的存储设备,其中所述存储设备包括:存储器阵列;第一纠错码(ECC)引擎,其耦合到所述存储器阵列以便对第一大小的数据结构执行ECC编码和ECC解码;以及第二ECC引擎,其耦合到所述存储器阵列以便对第二大小的数据结构执行ECC编码和ECC解码,其中所述第二大小的数据结构大于所述第一大小的数据结构。
17、根据权利要求16所述的系统,其中所述存储设备是闪速存储设备,并且其中所述存储器阵列由多个存储单元组成,每一个存储单元能够在每单元存储两位。
18、根据权利要求16所述的系统,其中所述第一大小的数据结构是4位长。
19、根据权利要求18所述的系统,其中所述第二大小的数据结构是256位长。
20、根据权利要求18所述的系统,其中所述共享接口包括对应于第一物理存储区域的第一芯片使能信号和对应于第二物理存储区域的第二芯片使能信号。
21、根据权利要求16所述的系统,其中所述第一ECC引擎能够校正每一4单元码字中的一个单元错误,并且所述第二ECC引擎能够校正每一133单元码字中的一个单元错误。
CN2007800469027A 2006-12-19 2007-11-09 用于小数据结构的ecc保护的方法、系统和装置 Expired - Fee Related CN101573694B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/642,906 2006-12-19
US11/642,906 US8015473B2 (en) 2006-12-19 2006-12-19 Method, system, and apparatus for ECC protection of small data structures
PCT/US2007/084367 WO2008076550A1 (en) 2006-12-19 2007-11-09 Method, system, and apparatus for ecc protection of small data structures

Publications (2)

Publication Number Publication Date
CN101573694A true CN101573694A (zh) 2009-11-04
CN101573694B CN101573694B (zh) 2013-02-20

Family

ID=39529088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800469027A Expired - Fee Related CN101573694B (zh) 2006-12-19 2007-11-09 用于小数据结构的ecc保护的方法、系统和装置

Country Status (6)

Country Link
US (1) US8015473B2 (zh)
KR (1) KR101027202B1 (zh)
CN (1) CN101573694B (zh)
DE (1) DE112007003080B4 (zh)
TW (1) TWI370357B (zh)
WO (1) WO2008076550A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103137214A (zh) * 2011-11-21 2013-06-05 株式会社东芝 存储装置、纠错方法及存储系统
CN103197985A (zh) * 2011-11-08 2013-07-10 索尼公司 存储控制装置
CN109065096A (zh) * 2012-12-21 2018-12-21 慧与发展有限责任合伙企业 具有错误校正逻辑的存储模块

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100842680B1 (ko) * 2007-01-08 2008-07-01 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
DE102007011801B4 (de) * 2007-03-12 2009-04-02 Qimonda Ag Schaltung zum Erzeugen eines Fehlercodierungsdatenblocks, Vorrichtung mit der Schaltung, Vorrichtung zum Erzeugen eines Fehlercodierungsdatenblocks
US20090070655A1 (en) * 2007-09-11 2009-03-12 Silicon Motion, Inc. Method for Generating an ECC Code for a Memory Device
KR101497073B1 (ko) * 2008-02-29 2015-03-02 삼성전자주식회사 메모리 셀에 저장되는 데이터의 비트 수를 결정하는 장치
KR101403314B1 (ko) * 2008-05-23 2014-06-05 삼성전자주식회사 메모리 장치 및 데이터 비트 저장 방법
KR20100050789A (ko) * 2008-11-06 2010-05-14 삼성전자주식회사 메모리 장치 및 그것을 포함하는 메모리 시스템
US20100180182A1 (en) * 2009-01-09 2010-07-15 Seagate Technology Llc Data memory device and controller with interface error detection and handling logic
US8560918B1 (en) * 2009-04-21 2013-10-15 Marvell International Ltd. Method and apparatus for dynamically selecting an error correction code to be applied to data in a communication system
US8307261B2 (en) * 2009-05-04 2012-11-06 National Tsing Hua University Non-volatile memory management method
CN101882472A (zh) * 2009-05-05 2010-11-10 建兴电子科技股份有限公司 具可变动错误校正码机制的快闪储存装置及其控制方法
US8341498B2 (en) * 2010-10-01 2012-12-25 Sandisk Technologies Inc. System and method of data encoding
US8892809B2 (en) 2010-10-25 2014-11-18 Marvell World Trade Ltd. Data compression and encoding in a memory system
US9141473B2 (en) * 2011-03-25 2015-09-22 Samsung Electronics Co., Ltd. Parallel memory error detection and correction
US9130596B2 (en) * 2011-06-29 2015-09-08 Seagate Technology Llc Multiuse data channel
US9256493B2 (en) 2011-12-28 2016-02-09 Intel Corporation Memory module architecture
US9043668B2 (en) 2013-02-08 2015-05-26 Seagate Technology Llc Using ECC data for write deduplication processing
KR101439815B1 (ko) 2013-03-08 2014-09-11 고려대학교 산학협력단 메모리에서의 에러 정정 처리 회로 및 에러 정정 처리 방법
US9685242B2 (en) * 2014-03-11 2017-06-20 Kabushiki Kaisha Toshiba Memory system
KR20210132784A (ko) * 2020-04-27 2021-11-05 삼성전자주식회사 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법
KR102664239B1 (ko) * 2023-10-06 2024-05-08 위더맥스(주) Ecc 가변 적용 장치 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5961660A (en) * 1997-03-03 1999-10-05 International Business Machines Corporation Method and apparatus for optimizing ECC memory performance
JP3975245B2 (ja) * 1999-12-16 2007-09-12 株式会社ルネサステクノロジ 記録再生装置および半導体メモリ
US6747827B1 (en) * 2000-03-27 2004-06-08 Texas Instruments Incorporated Error correction codes applied variably by disk zone, track, sector, or content
US6961890B2 (en) * 2001-08-16 2005-11-01 Hewlett-Packard Development Company, L.P. Dynamic variable-length error correction code
JP2004186856A (ja) * 2002-12-02 2004-07-02 Pioneer Electronic Corp 誤り訂正方法、装置及びプログラム
DE10311428A1 (de) * 2003-03-13 2004-09-30 Infineon Technologies Ag Vorrichtung zur Erkennung und/oder Korrektur von Fehlern in aus einer Speichereinrichtung ausgelesenen Daten
US7389465B2 (en) * 2004-01-30 2008-06-17 Micron Technology, Inc. Error detection and correction scheme for a memory device
US7395488B2 (en) * 2004-12-29 2008-07-01 Zoran Corporation System and method for efficient use of memory device bandwidth

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197985A (zh) * 2011-11-08 2013-07-10 索尼公司 存储控制装置
CN103197985B (zh) * 2011-11-08 2018-07-13 索尼公司 存储控制装置
CN103137214A (zh) * 2011-11-21 2013-06-05 株式会社东芝 存储装置、纠错方法及存储系统
CN109065096A (zh) * 2012-12-21 2018-12-21 慧与发展有限责任合伙企业 具有错误校正逻辑的存储模块

Also Published As

Publication number Publication date
WO2008076550A1 (en) 2008-06-26
US8015473B2 (en) 2011-09-06
TW200832127A (en) 2008-08-01
US20080148126A1 (en) 2008-06-19
CN101573694B (zh) 2013-02-20
TWI370357B (en) 2012-08-11
DE112007003080T5 (de) 2009-10-15
KR101027202B1 (ko) 2011-04-06
DE112007003080B4 (de) 2018-02-22
KR20090091179A (ko) 2009-08-26

Similar Documents

Publication Publication Date Title
CN101573694B (zh) 用于小数据结构的ecc保护的方法、系统和装置
US11362685B2 (en) Nonvolatile memory device and read and copy-back methods thereof
US9465552B2 (en) Selection of redundant storage configuration based on available memory space
CN101339526B (zh) 检测由于读干扰而造成的位错误的存储系统及其方法
CN110097913A (zh) 存储器控制器及其操作方法
CN108062258A (zh) 用于错误恢复的循环交错的xor阵列
CN102132354B (zh) 闪存中的数据的快速低功率读取
CN108022611A (zh) 存储系统及其操作方法
CN108268337B (zh) 于记忆装置中进行数据管理的方法、记忆装置及其控制器
CN104115126A (zh) 使用代数码的多阶段ecc编码
US9741451B2 (en) Data storage device and data maintenance method thereof
CN110444246A (zh) 用于存储器系统的相邻辅助校正错误恢复及其方法
CN106155585A (zh) 自适应读取干扰收回策略
CN109716661A (zh) 用于存储装置的阶梯码编码及解码的设备及方法
CN107818057A (zh) 存储器系统及其操作方法
CN104733051B (zh) 奇偶校验码的解码方法、存储器储存装置及控制电路单元
US20080072119A1 (en) Allowable bit errors per sector in memory devices
KR102666852B1 (ko) 컨트롤러, 반도체 메모리 시스템 및 그의 동작 방법
CN110489271A (zh) 存储器系统及其操作方法
CN107728932A (zh) 存储器系统及其操作方法
US20230195566A1 (en) Memory device crossed matrix parity
CN109918315A (zh) 存储器系统及存储器系统的操作方法
CN105161137A (zh) 一种MLC架构中Nand Flash控制器电路实现装置
CN104681095B (zh) 储存装置及其操作方法
CN115862715A (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: 20130220

Termination date: 20191109