[go: up one dir, main page]

CN102017425A - 用于执行级联纠错的方法和系统 - Google Patents

用于执行级联纠错的方法和系统 Download PDF

Info

Publication number
CN102017425A
CN102017425A CN200980113875XA CN200980113875A CN102017425A CN 102017425 A CN102017425 A CN 102017425A CN 200980113875X A CN200980113875X A CN 200980113875XA CN 200980113875 A CN200980113875 A CN 200980113875A CN 102017425 A CN102017425 A CN 102017425A
Authority
CN
China
Prior art keywords
logical block
data
error correction
bit
parity check
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
CN200980113875XA
Other languages
English (en)
Other versions
CN102017425B (zh
Inventor
阳学仕
吴子宁
娄修浩
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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade Co Ltd
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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN102017425A publication Critical patent/CN102017425A/zh
Application granted granted Critical
Publication of CN102017425B publication Critical patent/CN102017425B/zh
Active 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/29Coding, 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/2906Coding, 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 using block codes
    • H03M13/2927Decoding strategies
    • 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/1072Adding 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
    • 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/29Coding, 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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • 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/29Coding, 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/2906Coding, 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 using block codes
    • 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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

提供了一种用于执行级联纠错的系统和方法。在一个实现中,一种用于编码数据的装置包括用于生成对应于所接收的输入数据的码字的外部编码器以及用于计算数据的逻辑单元的奇偶校验位的奇偶校验位电路,数据的逻辑单元从码字获得并且具有第一逻辑单元。该装置还包括内部编码器,用于根据对应于第一逻辑单元的第一奇偶校验位生成第一逻辑单元的纠错位,并且将纠错位插入到第一逻辑单元中。

Description

用于执行级联纠错的方法和系统
相关申请
本申请要求于2008年2月20日提交的标题为“Asymmetric ErrorCorrection Codes for Flash Memory”的第61/030,070号美国临时申请以及于2009年1月28日提交的标题为“Systems and Methods For PerformingConcatenated Error Correction”的第12/361,327号美国专利申请的优先权的利益,这二者的全部内容将通过引用并入本文。
背景
技术领域
本文中公开的系统和方法涉及执行纠错的领域,以及更具体地,涉及对存储在非易失性存储器中的数据执行级联纠错的系统和方法。
背景技术
诸如flash EEPROM存储器和/或NAND flash存储器的非易失性存储器被用于各种电子设备中。例如,非易失性存储器可用于蜂窝电话、个人数字助理、无线电设备、个人电脑、笔记本电脑、工作站、照相机、音频播放器、全球定位装置、服务器和其他设备。非易失性存储器可包括不同级别的多个单元,其中这些单元可以被编程以将信息存储为一系列二进制数字(0和1)或“比特”。
如同大多数电子器件一样,非易失性存储器器件容易受到缺陷和错误的影响。错误可能由一些因素产生,这些因素包括由于存储器件的正常操作(包括写/编程、擦除和/或读取操作)产生的存储器状态的门限电平的转换。例如,在程序操作期间,可添加电子以为单元充电来反映特定的状态。
在存储单元的编程期间,将电荷的多个离散单元(电子)传输到存储单元比简单地将存储单元完全充电或放电更加困难。并且,一旦编程操作开始以及电子被添加,则难以在没有执行擦除功能的情况下移除电荷。这种方法可导致单元被错误地编程并且可产生“过调”错误,即,与正在被编程的单元相邻的单元可接收本应已经添加到正在充电的单元的额外的电子。由于电子不可被轻易地移除,因此由过调导致的错误可以被称为“不对称错误”或者“单方向错误”,并且,纠错码(ECC)技术可用于纠正这些错误。
在传统的系统中,ECC技术包括在程序操作期间生成添加到数据串的末端的冗余位(校验位)。然后,当从非易失性存储器读出数据时,这些冗余位可被用于检测并纠正错误。然而,传统技术包括使用不对称错误代码,其中由不对称纠错码组成的码字可以被包含于数据串的末端。传统系统中使用的非对称纠错码通常只纠正单方向的错误类型。
在实际的系统中,错误不是严格的单方向,致使这种代码几乎没有实际价值。
发明内容
在根据所要求权利的本发明的一个实施方式中,提供了一种用于编码数据的装置。该装置包括:外部编码器,用于生成对应于所接收的输入数据的码字;奇偶校验位电路,用于计算数据的逻辑单元的奇偶校验位,数据的逻辑单元从码字中获得并且具有第一逻辑单元;以及内部编码器,用于根据对应于第一逻辑单元的第一奇偶校验位生成针对第一逻辑单元的纠错位,并且将纠错位插入到第一逻辑单元中。
根据所要求权利的本发明的另一实施方式,提供了一种用于通过使用编码器编码数据的方法,该方法包括:生成对应于接收的输入数据的码字;将码字分割到具有第一逻辑单元的数据的逻辑单元中;计算第一逻辑单元的第一奇偶校验位;根据第一奇偶校验位生成第一逻辑单元的纠错位;将纠错位插入到第一逻辑单元中;以及复用并输出具有纠错位的数据的逻辑单元。
在根据所要求权利的本发明的另一实施方式中,提供了一种用于执行级联纠错的方法。该方法包括:计算对应于数据的逻辑单元的奇偶校验位;解码奇偶校验位;检测奇偶校验位中的错误;根据检测的错误执行不对称纠错以纠正数据的逻辑单元中的一个逻辑单元中的数据位;以及,当检测的错误被纠正时,对数据的逻辑单元执行纠错。
应理解的是,以上概述和以下详细描述都只是示例性的和说明性的,并且不限制所要求权利的本发明。
附图说明
并入本说明书并组成本说明书的一部分的附图示出了多个实施方式。图中:
图1是示出了一种根据所要求权利的本发明的一个实施方式的用于编码和解码数据的系统的框图;
图2是示出了一种根据所要求权利的本发明的一个实施方式的编码器的框图;
图3是示出了一种根据所要求权利的本发明的一个实施方式的解码器的框图;
图4是示出了一种根据所要求权利的本发明的一个实施方式的编码序列的流程图;
图5是示出了一种根据所要求权利的本发明的一个实施方式的解码和级联纠错序列的流程图;以及
图6是示出了一种根据所要求权利的本发明的一个实施方式的不对称纠错的序列的流程图。
具体实施方式
在以下的描述中,为了解释而非限制的目的,详细说明了具体的技术和实施方式,诸如步骤的具体序列、接口和配置,以提供本文中所述的技术的深入的理解。虽然将主要结合附图描述这些技术和实施方式,但是本领域的技术人员应进一步认识到,这些技术和实施方式还可以用于其它电子设备和系统。
现在将详细参考所要求权利的本发明的示例性的实施方式,在附图中示出了实施方式的实例。在可能的地方,相同的参考数字将用于整个图示,以表示相同或相似的部分。
图1示出了一种根据所要求权利的本发明的一个实施方式的用于编码和解码数据的系统100。系统100可被集成为一个电子设备中的一个单元或者可以在执行协调处理任务的多个不同的电子设备上被实现。例如,系统100可以在诸如蜂窝电话、个人数字助理、无线电设备、个人电脑、笔记本电脑、工作站、照相机、音频播放器、全球定位装置、服务器、通信系统的节点的设备和其他设备中或其上实现。
系统100可以包括编码器102、存储器件104和/或解码器106。编码器102可以接收和/或取回要写入存储器件104中的数据。该数据可以被从系统100的不同组件(未示出)和/或另一系统(未示出)中接收和/或取回。如以下进一步的细节中所述,编码器102可以采用多种编码技术来处理和编码数据。例如,编码器102可以通过包含诸如Hamming码、BCH码、Reed-Muller码、Array码、Reed-Solomon(RS)码、低密度校验码(LDPC)、turbo码、卷积码和/或对本领域的技术人员明显的其他纠错码来在编码数据中包括不对称纠错码和对称纠错码。
然后,编码数据可以被写入存储器件104的存储单元。编码数据可以具有级联码结构,级联码结构包括外码的层和内码的层,内码是根据单元二进制数据的奇偶校验位的不对称纠错码,以及外码是根据可与存储器件104的单元边界一致的符号边界的对称纠错码。
存储器件104可以是对于本领域的技术人员明显的多层固态非易失性存储器诸如flash存储器、EEPROM或任意其他非易失性存储器。存储器件104可以包括一个或多个存储单元阵列和读写(程序)电路。在存储器件104用编码数据编程之后,解码器106可以读取和/或取回存储的数据。在读取操作期间,解码器106可以实现基于门限的方法,其中通过确定与具体单元相关联的电压值是低于还是高于一个或多个门限值来读出数据。
如以下进一步的细节所述,解码器106可以解码数据并使用由编码器102包含于编码数据中的纠错码来检测并纠正错误。解码序列可以是与编码序列相反的序列,其中可以首先解码不对称和/或内纠错码,以及然后解码对称和/或外纠错码。然后,可以使用解码和纠正数据在系统100中执行多个处理任务。
虽然未示出,系统100可以包括一个或多个应用程序和/或硬件组件的组合。例如,应用程序可以包括软件模块、指令的序列、程序、数据结构、显示界面和/或可以在计算机可读存储介质的处理器上执行的另一类型的结构,以执行所要求权利的本发明的操作。进一步地,硬件组件可以包括中央处理单元(CPU)、总线、存储器件、存储单元、数据处理器、控制装置、模拟数字转换器、数字模拟转换器、调制器、发射器、接收器、天线、收发器、输入设备、输出设备、网络接口设备和/或对于本领域的技术人员明显的另一类型的组件的组合。
现参照图2,示出了编码器200的示例性的实施方式。编码器200可以对应于系统100的编码器102,以及可以执行根据本发明的一个实施方式的编码任务。编码器200可以包括外部编码器202、解复用器(De-MUX)204、奇偶校验位电路206、内部编码器208、格雷码映射电路210和/或复用器(MUX)212。对于本领域的技术人员将明显的是,编码器200可以不需要全部组件202、204、206、208、210和212来编码根据本发明的输入数据,并且可以在输入数据的编码期间通过单个组件执行一个或多个处理任务。
编码器200可以接收需要被写入和/或编程入存储器件的输入数据。输出数据可以被发送到外部编码器202,外部编码器202可以通过使用Reed-Solomon编码器实现。外部编码器202可以通过生成码字执行对称码编码,码字可以包括对应于将被写入数据的存储器件的单元边界的符号边界。由于编码器200实施级联纠错码结构,因此外部编码器202可以在生成码字时使用较低的资源密集型技术并且可以包含较不强健的纠错码。
然后,生成的码字可以被输入De-MUX 204,其中需要将码字分割到数据的多个子部分中。De-MUX 204可以根据要写入输入数据的存储单元的存储能力将码字分割到数据的子部分中。例如,如果存储器件的存储单元具有存储四位数据的能力,则De-MUX 204可以将码字分割到四位数据和/或三位数据的子部分中,其中子部分可被分割到三位数据中以释放空间用于内部编码器208,以插入诸如BCH冗余位的纠错码。
然后,可将数据位的子部分输入到奇偶校验位电路208中,其中可以将子部分进一步分割到数据的逻辑单元组中并且可计算数据的逻辑单元组的奇偶校验位。然后,可将生成的奇偶校验位输入到内部编码器208,其中可以通过使用BCH编码器实现内部编码器。内部编码器208可以生成诸如BCH冗余位的额外的纠错码,并且可以用逻辑单元来编码奇偶校验位和BCH冗余位。然后,将编码数据输入到格雷码映射电路210,其中可以将编码数据映射到对应于要被写入编码数据的存储器件的存储单元的信号电平。然后,映射的信号可被MUX 212复用,并且然后可以被写入和/或编程到存储器件的存储单元中。
图3是示出了一种根据本发明的一个实施方式的解码器300的示例性的实施方式。解码器300可以对应于解码器106,并且执行系统100中的解码任务。解码器300可以包括奇偶校验位电路302、内部解码器304、不对称纠错电路306、外部解码器和复用器(MUX)310。对于本领域的技术人员明显的是,解码器300可以无需全部组件302、304、306、308和310来解码取回的数据,并且在输入数据的解码过程中可以由单个组件执行一个或多个处理任务。
解码器300可以读取和/或取回存储器件的存储单元中编程的数据。取回的数据可以被发送到奇偶校验位电路302,其中可以将取回的数据分割到数据组中并且计算数据组的奇偶校验位。然后,将数据组和奇偶校验位输入到内部解码器304中,其中奇偶校验位可以被解码并且奇偶校验位错误可以被检测。一旦奇偶校验位错误检测完成,不对称纠错电路306可以纠正错误。在纠错期间,不对称纠错电路306可以假定错误是单方向的并且错误是最短距离错误,即,逻辑单元中的错误是由于到位于初始期望程序状态的一侧(例如左侧)的相邻状态的转换产生的。
一旦错误被不对称纠错电路306纠正,则纠正的数据可以被输入外部解码器308,其中可以纠正任何残余误差。外部解码器308可以纠正可能不是单方向的和/或不是最短距离错误事件的错误。然后,纠正的数据可被输入到MUX 310,MUX 310可以将纠正的数据组复用到数据流并且将其输出用于执行处理任务。
现参照图4,提供了一种根据本发明的一个实施方式的用于将编码数据写入存储器件的方法400的流程图。可以通过使用编码器200实现方法400。提供方法400的步骤402-416,用于说明而非限制的目的。该方法开始于步骤402,其中可以接收要被编码和写入存储器件的存储单元的输入数据。然后,在步骤404中,可以对所接收的输入数据执行外部编码并且生成码字。可以由诸如编码器200中的外部编码器202执行步骤404,并且生成的码字可以由诸如0010010111011111001011110的多个二进制数据位组成。
然后,在步骤406中,可以根据其中可被写入二进制数据的存储单元的存储能力,将编码数据分组到多个逻辑单元中。可以由诸如编码器200中的De-MUX 204执行步骤406,并且如果存储单元的存储能力只可以存储四位数据时,多个二进制数据组可以包括四位或三位二进制数据。如图4中所示,该组可以包括:第一组,包括二进制数据位0010;第二组,包括二进制数据位0101;第三组,包括二进制数据位1101;第四组,包括二进制数据位1111;第五组,包括二进制数据位001;第六组,包括二进制数据位011;以及第七组,包括二进制数据位110。第五、六和七组可以只包括三位,以释放空间用于为了纠错目的而可以被插入的额外的位的插入。
然后,该方法移至步骤408,其中可以计算逻辑单元组的奇偶校验位。可以由诸如编码器200中的奇偶校验位电路206执行步骤408,并且如图4中所示,计算的奇偶校验位可以是第一组的1、第二组的0、第三组的1、第四组的0、第五组的1、第六组的0以及第七组的0。然后,在步骤410中,可以用奇偶校验位执行内部编码。例如,可以由编码器200中的内部编码器208执行步骤410,其中根据前四组的奇偶校验位(1、0、1、0)生成三个奇偶校验位(0、0和1)。
然后,在步骤412中,可以在步骤408中计算的奇偶校验位与步骤410中计算的冗余位之间执行排他OR(XOR)函数,用于具有三位数据的数据组。然后,可将从XOR函数生成的位插入到只具有三位数据的逻辑单元中(步骤414)。还可以由诸如编码器200中的内部编码器208执行步骤412和414,其中位1、0和1可以分别被插入到第五、六和七组中。步骤412和414可以被称为“奇偶校验位隐藏(parity hiding)”。在步骤416中,可以根据存储器件的相应的存储单元格雷映射编码数据组,从而该方法可以在数据组被写入存储单元之后结束。
图5示出了一种根据本发明的一个实施方式的用于对写入存储器件的数据执行级联纠错的方法500的流程图。可以通过使用解码器300实现方法500。提供方法500的步骤502-514用于说明而非限制的目的。该方法开始于步骤502,其中可以读取和/或取回存储在存储器件的存储单元中的数据。然后,在步骤504中,将取回数据分组到数据的逻辑单元的七个组中,其中数据的第二组具有需要纠正的错误。例如,当纠正值应为0时,逻辑单元的第二组中的第一位可以是1。
然后,在步骤506中,可以计算对应于逻辑单元的组的奇偶校验位。可以由诸如解码器300中的奇偶校验位电路302执行步骤506,并且计算的奇偶校验位可以是第一组的1、第二组的1、第三组的1、第四组的0、第五组的0、第六组的0以及第七组的1。然后,在步骤508中,可以执行内部解码以解码奇偶校验位并且检测奇偶校验位中的错误。可以由诸如解码器300中的内部解码器304执行步骤508,并且执行BCH解码以检测对应于第二组的奇偶校验位1可能是由于错误而产生。
然后,根据奇偶校验位错误执行不对称纠错(步骤510)。例如,可以由不对称纠错电路执行步骤510,其中可以检测第二组的奇偶校验位中的错误并且可以将第二组中的第一位从1纠正为0。虽然在步骤510中未示出,但是假定奇偶校验位错误是单方向的错误和最短距离错误事件。
例如,图6示出了当使用格雷映射时的不对称纠错的序列600。可以以1111、0111、0011、1011、1001、0001、0101、1101、1100、0100、0000、1000、1010、0010、0110和1110的形式从最低状态到最高状态列出序列。所接收的单元数据(第二组)可以是1101,并且可以在错误中由内部代码解码器指示。通过假设,错误主要是由于单元的从其左相邻状态0101到1101的门限电压转换。从而,不对称纠错单元将单元的位(第二组)从1101纠正为0101。
现返回图5,在步骤512中,可以对数据的逻辑单元组执行外部解码和残余纠错。可以由诸如解码器300中的外部解码器308执行步骤512,以及该纠错可以被称为对称纠错。然后,纠正的数据可以被复用和输出,以及该方法结束(步骤514)。
已经示出了用于说明目的的以上描述。它不是详尽的并且不将本发明限制为精确的形式或者公开的实施方式。可以根据对本说明书的理解和本发明的公开的实施方式的实践对本发明进行修改和调整。例如,可以以不同的顺序或者同时执行以上所述的方法的一个或多个步骤,并仍可达到期望的结果。
通过本说明书的理解以及本文中公开的本发明的实践,本发明的其他实施方式对于本领域的技术人员将是明显的。这意味着本说明书和实例只被认为是示例性的,而本发明的真实范围由以下的权利要求所指示。

Claims (19)

1.一种用于编码数据的装置,所述装置包括:
外部编码器,用于生成对应于所接收的输入数据的码字;
奇偶校验位电路,用于计算数据的逻辑单元的奇偶校验位,所述数据的逻辑单元从所述码字中获得并且具有第一逻辑单元;以及
内部编码器,用于根据对应于所述第一逻辑单元的第一奇偶校验位生成所述第一逻辑单元的纠错位,并且将所述纠错位插入到所述第一逻辑单元中。
2.根据权利要求1所述的装置,还包括复用器,用于复用并输出具有所述纠错位的所述数据的逻辑单元。
3.根据权利要求2所述的装置,还包括解复用器,用于根据用来存储所输出的所述数据的逻辑单元的存储单元的存储能力,通过将所述码字分割到所述逻辑单元中来生成所述数据的逻辑单元。
4.根据权利要求2所述的装置,还包括格雷码映射电路,用于确定存储单元与所输出的数据的逻辑单元之间的对应,其中所述格雷码映射电路将所输出的数据的逻辑单元映射到对应的存储单元的信号电平,并且所述复用器使用所述信号电平将所述数据的逻辑单元写入所述对应的存储单元中。
5.根据权利要求3所述的装置,其中所述解复用器通过在所述数据的第一逻辑单元中分配用于插入所述纠错位的空间来生成所述第一逻辑单元。
6.根据权利要求1所述的装置,其中所述内部编码器编码从所述数据的逻辑单元计算的所述奇偶校验位。
7.根据权利要求1所述的装置,其中:
所述外部编码器通过编码所接收的数据序列生成所述码字;以及
所述码字中的编码符号中的每一个包含整数个数据的逻辑单元。
8.一种用于通过使用编码器编码数据的方法,所述方法包括:
生成对应于所接收的输入数据的码字;
将所述码字分割到具有第一逻辑单元的数据的逻辑单元中;
计算所述第一逻辑单元的第一奇偶校验位;
根据所述第一奇偶校验位生成针对所述第一逻辑单元的纠错位;
将所述纠错位插入到所述第一逻辑单元中;以及
复用并输出具有所述纠错位的所述数据的逻辑单元。
9.根据权利要求8所述的方法,其中根据用于存储所输出的所述数据的逻辑单元的存储单元的存储能力,将所述码字分割到所述逻辑单元中。
10.根据权利要求8所述的方法,还包括:
确定存储单元与所输出的所述数据的逻辑单元之间的对应;
将所输出的所述数据的逻辑单元映射到对应的存储单元的信号电平;
根据所述信号电平将所述数据的逻辑单元写入所述对应的存储单元。
11.根据权利要求8所述的方法,其中通过在所述数据的第一逻辑单元中分配用于插入所述纠错位的空间来生成所述第一逻辑单元。
12.根据权利要求8所述的方法,还包括编码从所述数据的逻辑单元计算的所述奇偶校验位。
13.根据权利要求8所述的方法,还包括:
通过编码所接收的输入数据生成所述码字;以及
在所述码字中包含编码符号,其中所述编码符号包含对应于所述第一逻辑单元的整数。
14.一种用于通过使用纠错装置来执行级联纠错的方法,包括:
计算对应于数据的逻辑单元的奇偶校验位;
解码所述奇偶校验位;
检测所述奇偶校验位中的错误;
执行不对称纠错,以根据所检测到的错误对所述数据的逻辑单元中的一个中的数据位进行纠正;以及
当所检测到的错误被纠正时,对所述数据的逻辑单元执行纠错。
15.根据权利要求14所述的方法,其中通过将接收的数据位分组到所述数据的逻辑单元中来生成所述数据的逻辑单元。
16.根据权利要求14所述的方法,还包括复用并输出所纠错的所述数据的逻辑单元。
17.根据权利要求14所述的方法,其中从所述数据的逻辑单元取回所述奇偶校验位。
18.根据权利要求14所述的方法,其中通过假定所述错误是单方向错误和最短距离错误事件,执行所述不对称纠错。
19.根据权利要求14所述的方法,其中对所述逻辑单元执行的所述纠错是对称纠错。
CN200980113875.XA 2008-02-20 2009-01-30 用于执行级联纠错的方法和系统 Active CN102017425B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US3007008P 2008-02-20 2008-02-20
US61/030,070 2008-02-20
US12/361,327 2009-01-28
US12/361,327 US8266495B2 (en) 2008-02-20 2009-01-28 Systems and methods for performing concatenated error correction
PCT/US2009/000632 WO2009105153A1 (en) 2008-02-20 2009-01-30 Systems and methods for performing concatenated error correction

Publications (2)

Publication Number Publication Date
CN102017425A true CN102017425A (zh) 2011-04-13
CN102017425B CN102017425B (zh) 2014-06-04

Family

ID=40956284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980113875.XA Active CN102017425B (zh) 2008-02-20 2009-01-30 用于执行级联纠错的方法和系统

Country Status (3)

Country Link
US (2) US8266495B2 (zh)
CN (1) CN102017425B (zh)
WO (1) WO2009105153A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105280238A (zh) * 2014-06-17 2016-01-27 慧荣科技股份有限公司 用来控制一记忆装置的方法以及记忆装置与控制器
CN109983720A (zh) * 2016-10-04 2019-07-05 At&T知识产权一部有限合伙公司 无线系统中的前向纠错码选择

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8365039B2 (en) * 2008-05-21 2013-01-29 Intel Corporation Adjustable read reference for non-volatile memory
US8276028B2 (en) * 2008-05-23 2012-09-25 Intel Corporation Using error information from nearby locations to recover uncorrectable data in non-volatile memory
US8407564B2 (en) * 2009-07-15 2013-03-26 Intel Corporation Prediction and cancellation of systematic noise sources in non-volatile memory
JP5723967B2 (ja) * 2010-03-30 2015-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソリッド・ステート・ストレージ・デバイスのsレベル・ストレージに入力データを記録するための方法、エンコーダ装置、およびソリッド・ステート・ストレージ・デバイス
US8572457B2 (en) * 2010-05-28 2013-10-29 Seagate Technology Llc Outer code protection for solid state memory devices
FR2961613B1 (fr) * 2010-06-18 2012-07-27 Commissariat Energie Atomique Procede de protection memoire configurable contre les erreurs permanentes et transitoires et dispositif apparente
US8429495B2 (en) * 2010-10-19 2013-04-23 Mosaid Technologies Incorporated Error detection and correction codes for channels and memories with incomplete error characteristics
US9043672B2 (en) * 2013-02-27 2015-05-26 Kabushiki Kaisha Toshiba Memory controller, storage device, and memory control method
US20160139988A1 (en) * 2013-07-31 2016-05-19 Hewlett-Packard Development Company, L.P. Memory unit
US9898365B2 (en) 2013-07-31 2018-02-20 Hewlett Packard Enterprise Development Lp Global error correction
GB201320983D0 (en) 2013-11-28 2014-01-15 Ibm Data encoding in solid-state storage apparatus
KR102296738B1 (ko) 2015-06-01 2021-09-01 삼성전자 주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1081296A (zh) * 1992-01-15 1994-01-26 E-系统公司 三维正交交错误差校正系统
US20050180369A1 (en) * 2004-02-13 2005-08-18 Hansen Christopher J. Reduced latency concatenated reed solomon-convolutional coding for MIMO wireless LAN
WO2007089165A1 (en) * 2006-01-31 2007-08-09 Intel Corporation Iterative decoding of concatenated low-density parity-check codes

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5099484A (en) * 1989-06-09 1992-03-24 Digital Equipment Corporation Multiple bit error detection and correction system employing a modified Reed-Solomon code incorporating address parity and catastrophic failure detection
KR100463560B1 (ko) 1996-07-22 2004-12-29 시게이트 테크놀로지 엘엘씨 비대칭 채널 데이터 검출 보상 장치
DE59908889D1 (de) 1999-06-18 2004-04-22 Alcatel Sa Gemeinsame Quellen- und Kanalcodierung
US6507546B1 (en) 1999-11-12 2003-01-14 Cirrus Logic, Incorporated 2,2,1 Asymmetric partial response target in a sampled amplitude read channel for disk storage systems
US6622277B1 (en) * 2000-06-05 2003-09-16 Tyco Telecommunications(Us)Inc. Concatenated forward error correction decoder
KR100358120B1 (ko) 2000-10-20 2002-10-25 한국전자통신연구원 동일대역 인접채널 방식의 디지털 오디오 방송 전송 시스템
JP3427382B2 (ja) * 2001-10-26 2003-07-14 富士通株式会社 エラー訂正装置及びエラー訂正方法
US7418051B2 (en) 2003-11-26 2008-08-26 Lucent Technologies Inc. Nonsystematic repeat-accumulate codes for encoding and decoding information in a communication system
US7673213B2 (en) * 2004-02-19 2010-03-02 Trellisware Technologies, Inc. Method and apparatus for communications using improved turbo like codes
KR20050114162A (ko) 2004-05-31 2005-12-05 삼성전자주식회사 리드-솔로몬 부호를 사용하는 이동통신 시스템에서 내부및 외부 부호 복호 방법 및 그 장치
US7681109B2 (en) * 2005-10-13 2010-03-16 Ramot At Tel Aviv University Ltd. Method of error correction in MBC flash memory
US8001441B2 (en) * 2006-11-03 2011-08-16 Sandisk Technologies Inc. Nonvolatile memory with modulated error correction coding
US8332656B2 (en) * 2007-01-09 2012-12-11 Mojix, Inc. Systems and methods for secure supply chain management and inventory control
KR101556123B1 (ko) * 2007-07-25 2015-09-30 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1081296A (zh) * 1992-01-15 1994-01-26 E-系统公司 三维正交交错误差校正系统
US20050180369A1 (en) * 2004-02-13 2005-08-18 Hansen Christopher J. Reduced latency concatenated reed solomon-convolutional coding for MIMO wireless LAN
WO2007089165A1 (en) * 2006-01-31 2007-08-09 Intel Corporation Iterative decoding of concatenated low-density parity-check codes

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105280238A (zh) * 2014-06-17 2016-01-27 慧荣科技股份有限公司 用来控制一记忆装置的方法以及记忆装置与控制器
CN105280238B (zh) * 2014-06-17 2018-05-08 慧荣科技股份有限公司 用来控制一记忆装置的方法以及记忆装置与控制器
CN109983720A (zh) * 2016-10-04 2019-07-05 At&T知识产权一部有限合伙公司 无线系统中的前向纠错码选择
CN109983720B (zh) * 2016-10-04 2021-12-07 At&T知识产权一部有限合伙公司 无线系统中的前向纠错码选择

Also Published As

Publication number Publication date
US8266495B2 (en) 2012-09-11
US8635508B2 (en) 2014-01-21
US20120331368A1 (en) 2012-12-27
WO2009105153A1 (en) 2009-08-27
US20090210771A1 (en) 2009-08-20
CN102017425B (zh) 2014-06-04

Similar Documents

Publication Publication Date Title
CN102017425B (zh) 用于执行级联纠错的方法和系统
US7900118B2 (en) Flash memory system and method for controlling the same
US8239725B2 (en) Data storage with an outer block code and a stream-based inner code
US7865809B1 (en) Data error detection and correction in non-volatile memory devices
US9673840B2 (en) Turbo product codes for NAND flash
US9583217B2 (en) Decoding method, memory storage device and memory control circuit unit
US20130139037A1 (en) Systems and Methods for Error Correction and Decoding on Multi-Level Physical Media
US9471421B2 (en) Data accessing method, memory storage device and memory controlling circuit unit
KR102275717B1 (ko) 플래시 메모리 시스템 및 그의 동작 방법
TW201319800A (zh) 使用置換子矩陣之總和的總和檢查碼
TW201331946A (zh) 使用錯誤校正碼編碼以驗證錯誤校正碼解碼操作
CN101882467B (zh) Ecc参数可配置的存储器控制装置
US10741212B2 (en) Error correction code (ECC) encoders, ECC encoding methods capable of encoding for one clock cycle, and memory controllers including the ECC encoders
US10243588B2 (en) Error correction code (ECC) decoders sharing logic operations, memory controllers including the error correction code decoders, and methods of decoding error correction codes
US10191801B2 (en) Error correction code management of write-once memory codes
CN101308706B (zh) 适用于闪存的数据写入方法及错误修正编解码方法
US20180122494A1 (en) Raid decoding architecture with reduced bandwidth
CN109427401B (zh) 编码方法和使用此方法的存储器存储装置
US9584159B1 (en) Interleaved encoding
CN111869111A (zh) 生成和使用可逆的缩短博斯-查德胡里-霍昆格姆码字
JP2020046823A (ja) メモリシステム
US8627183B1 (en) Systems and methods for storing variable rate product codes
CN210110352U (zh) 纠正NAND Flash中多比特错误的ECC装置
CN111796774B (zh) 存储器控制方法、存储器存储装置及存储器控制器
CN116615718A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200430

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200430

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200430

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Michael

Patentee before: MARVELL WORLD TRADE Ltd.