CN102298969A - 多重错误更正码的可配置编码系统及方法 - Google Patents

多重错误更正码的可配置编码系统及方法 Download PDF

Info

Publication number
CN102298969A
CN102298969A CN2011101203029A CN201110120302A CN102298969A CN 102298969 A CN102298969 A CN 102298969A CN 2011101203029 A CN2011101203029 A CN 2011101203029A CN 201110120302 A CN201110120302 A CN 201110120302A CN 102298969 A CN102298969 A CN 102298969A
Authority
CN
China
Prior art keywords
parameter
error correcting
codec
correcting code
configurable
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
CN2011101203029A
Other languages
English (en)
Other versions
CN102298969B (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.)
Jiangsu Hua Cun Electronic Technology Co., Ltd.
Original Assignee
Skymedi 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 Skymedi Corp filed Critical Skymedi Corp
Publication of CN102298969A publication Critical patent/CN102298969A/zh
Application granted granted Critical
Publication of CN102298969B publication Critical patent/CN102298969B/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/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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • 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/1012Adding 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/1016Error in accessing a memory location, i.e. addressing error
    • 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
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/6511Support of multiple decoding rules, e.g. combined MAP and Viterbi decoding
    • 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/6513Support of multiple code types, e.g. unified decoder for LDPC and turbo 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/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
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] 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

Abstract

一种多重错误更正码(ECC)的可配置编码系统及方法,可适用于内存装置。该系统包括错误更正码(ECC)编解码器,其可选择地使用不同参数以进行不同的错误更正。该系统还包括一参数提供装置,用以提供一选择参数给ECC编解码器,用以对其初始化。其中,选择参数为无误(error-free)参数。

Description

多重错误更正码的可配置编码系统及方法
技术领域
本发明涉及编码,特别是涉及一种适用于内存装置的多重错误更正码(ECC)的可配置编码系统及方法。
背景技术
由于一般的非挥发性内存装置(non-volatile memory),例如闪存,容易产生错误,故通常会配置编解码器(encoder/decoder或codec),用以更正内存存取时所产生的错误。目前所发展的各种闪存类型,各具不同的数据长度及检查码长度。在某些应用中,同一个闪存控制器必须能支持不同类型的闪存,用以确保所有闪存的数据正确性。换句话说,编解码器必须具有多重错误更正码的可配置功能。
然而,若要使用多重错误更正码,则必须使用各种参数来初始化编解码器,而部分的参数长度却是相当长的,因而会增加编解码器或闪存控制器的电路面积。再者,储存参数于编解码器或控制器中会使得电路的设计缺乏弹性。
鉴于传统编解码器不能对闪存有效率地且经济地提供多重错误更正码,因此亟需提出一种新颖的编码系统及方法,在不增加成本的前提下,能减轻编解码器对于储存大量参数的负担。
发明内容
鉴于上述,本发明实施例的目的之一在于提出一种适用于内存装置的多重错误更正码(ECC)的可配置编码系统及方法,用以有效且经济地提供无误的参数。
根据本发明第一实施例,错误更正码(ECC)编解码器选择地使用不同参数以进行各种错误更正。使用至少一个无误储存装置以储存无误参数,其中,将一选择无误参数从储存装置下载到ECC编解码器,用以对ECC编解码器进行初始化。
根据本发明第二实施例,ECC编解码器选择地使用不同参数以进行各种错误更正。使用外部内存装置以储存不同参数。辅助编解码器从外部内存装置中选择并下载储存参数其中之一。辅助编解码器根据内建参数以更正下载参数,因而产生无误参数以提供给ECC编解码器,用以对ECC编解码器进行初始化。
根据本发明第三实施例,ECC编解码器选择地使用不同参数以进行各种错误更正。使用无误储存装置以储存无误固定参数,其被下载至ECC编解码器,用以对其进行初始化。外部内存装置储存不同参数。ECC编解码器从外部内存装置中选择并下载储存参数其中之一,并根据固定参数以更正下载参数,因而产生无误参数。
附图说明
图1A是显示了本发明实施例的用于内存装置的多重错误更正码的可配置编解码器的方块图。
图1B是显示了图1A的另一种实施例的用于内存装置的多重错误更正码的可配置编解码器的方块图。
图2A是显示了本发明第一实施例的用于内存装置的多重错误更正码的可配置编码系统的方块图。
图2B是显示了第一实施例的用于内存装置的多重错误更正码的可配置编码方法的流程图。
图2C是显示了图2A的另一种实施例的方块图,其可用于内存装置的多重错误更正码的可配置编码系统。
图2D是显示了图2C实施例的用于内存装置的多重错误更正码的可配置编码方法的流程图。
图3A是显示了本发明第二实施例的用于内存装置到的多重错误更正码的可配置编码系统的方块图。
图3B是显示了第二实施例的用于内存装置的多重错误更正码的可配置编码方的流程图法。
图4A是显示了本发明第三实施例的用于内存装置的多重错误更正码的可配置编码系统的方块图。
图4B是显示了第三实施例的用于内存装置的多重错误更正码的可配置编码方法的流程图。
主要组件符号说明
1           控制器
10          编解码器
100         编码器
102         解码器
12          内存装置
12a-12n     内存装置
14          计算机
20          可配置编码系统
20B         可配置编码系统
22a-22n     非挥发性内存
200         错误更正码编解码器
201-204     步骤
201B-204B   步骤
30          可配置编码系统
300A        第一错误更正码编解码器
300B        第二错误更正码编解码器
301-305     步骤
40          可配置编码系统
400A        错误更正码编解码器
400B        储存装置
401-405    步骤
SD1-SDn    储存装置
SD         储存装置
具体实施方式
图1A显示本发明实施例的多重错误更正码(error correcting code,ECC)的可配置编解码器(configurable codec)10的功能方块图,其可适用于内存装置12a-12n。在本实施例中,编解码器10可使用其中的一种错误更正码来更正错误。例如,编解码器10可切换成第一错误更正码用于第一内存装置12a,并于下一次切换成第二错误更正码用于第二内存装置12b。编解码器10可以是控制器1的一部分,或者与控制器1分开。控制器1或编解码器10更可受计算机14的控制。本实施例的内存装置12a-12n可为易错(error-prone)的内存装置,例如闪存,其在一般操作下必须仰赖错误更正码来更正所产生的错误位。
在本实施例中,编解码器10主要包括编码器(encoder)100及/或解码器(decoder)102。换句话说,编解码器10可包括编码器100和解码器102,也可只包括其中之一。
图1B的方块图显示图1A的另一种实施例的用于内存装置12的多重错误更正码的可配置编解码器10。在本实施例中,内存装置12包含非挥发性内存单元数组,其分割成多个区块,每一区块又包含多页(page)。编解码器10可使用不同的错误更正码来分别更正所对应页(或区块)的错误。
图2A显示本发明第一实施例的多重错误更正码的可配置编码系统20的功能方块图,其适用于内存装置,例如非挥发性内存(如闪存)22a-22n。图2B显示第一实施例的用于内存装置的多重错误更正码的可配置编码方法的流程图。
在本实施例中,编码系统20包括一错误更正码(ECC)编解码器200,其可经配置用以对不同的非挥发性内存22a-22n进行不同的错误更正。编码系统20还包括多个无误(error-free)的储存装置SD1-SDn,用以分别储存不同错误更正码的参数,因而可提供无误的参数给ECC编解码器200。在一实施例中,每一个无误的储存装置SD1-SDn都可以是静态随机存取内存(SRAM)或只读存储器(ROM)。储存装置SD1-SDn中所储存的参数用于ECC编解码器200的初始化或其组态(configuring status)。本说明书中所述的无误储存装置SD1-SDn,其错误率远小于ECC编解码器200的错误率。换句话说,在实际的应用中,储存装置SD1-SDn的错误机率是可被忽略的。
在步骤201,储存参数于储存装置SD1-SDn中。例如,编码系统20在出厂前,即先储存参数于储存装置(如只读存储器)SD1-SDn中;或者,可在使用者端藉由计算机14(图1A)将参数储存至储存装置SD 1-SDn(如静态随机存取内存)中。接着,在步骤202,使用者选出其中一个可配置错误更正码。之后,在步骤203a-203n中,从相应的储存装置(SD1,SD2...或SDn)中,将所选到的参数,例如初始化所需的错误更正码,下载到ECC编解码器200。在完成初始化之后,在步骤204,ECC编解码器200开始对相应的非挥发性内存(22a,22b...或22n)或非挥发性内存(22a,22b...或22n)的相应页(或区块)的数据进行编码及/或解码。举例来说,如果选择了第二错误更正码,则从第二储存装置SD2下载参数,而ECC编解码器200即可开始对第二非挥发性内存22b进行编码及/或解码。在另一个例子中,若选择了其中一个错误更正码,则从相应的储存装置(SD1,SD2...或SDn)下载参数,而ECC编解码器200即可对相应的非挥发性内存(22a,22b...或22n)的至少一页(或区块)的数据进行编码及/或解码。
根据上述第一实施例,ECC编解码器200的错误更正码可藉由将新的参数取代先前的参数而轻易地进行配置或改变,其中新的参数可从储存装置SD1-SDn下载。藉此,ECC编解码器200本身即无须储存大量的参数。
图2C的方块图显示了图2A的另一种实施例,其可用于内存装置的多重错误更正码的可配置编码系统20B。图2D显示了图2C实施例的用于内存装置的多重错误更正码的可配置编码方法的流程图。
本实施例的编码系统20B类似于编码系统20,不同的是,仅使用一个无误储存装置SD来储存不同错误更正码的参数。在步骤201B,将多重错误更正码的参数储存于储存装置SD。例如,将不同错误更正码的参数对应至储存装置SD上的不同地址。接着,在步骤202B,选择其中一个可配置错误更正码。在步骤203Ba-203Bn,初始化所需的参数可藉由寻址方法从储存装置SD下载。完成初始化后,在步骤204B,ECC编解码器200开始对相应的非挥发性内存(22a,22b...或22n)或非挥发性内存(22a,22b...或22n)的相应页(或区块)的数据进行编码及/或解码。
图3A显示了本发明第二实施例的多重错误更正码的可配置编码系统30的功能方块图,其适用于内存装置,例如非挥发性内存(如闪存)22a-22n。图3B显示第二实施例的用于内存装置的多重错误更正码的可配置编码方法的流程图。
在本实施例中,编码系统30包括第一ECC编解码器300A,其可经配置用以对不同的非挥发性内存22a-22n进行不同的错误更正。编码系统30还包括第二(或辅助)ECC编解码器300B,其可从易错(error-prone)的外部内存装置(如非挥发性内存)下载第一ECC编解码器300A初始化所需的参数。其中,储存参数的非挥发性内存可以是前述非挥发性内存22a-22n的其中一个,或者是其它的非挥发性内存。
值得注意的是,第二ECC编解码器300B可无须进行初始化,即能更正所下载参数的错误。举例来说,第二ECC编解码器300B具有内建的参数,因而能够进行错误更正。接着,第二ECC编解码器300B即将已更正或无误的参数传送给第一ECC编解码器300A。
在步骤301,将参数事先储存(或更新)于一个或多个(易错的)非挥发性内存(22a,22b...或22n)中。随后,在步骤302,使用者从非挥发性内存下载所储存的相应参数至第二ECC编解码器300B。接着,在步骤303,第二ECC编解码器300B对所下载的参数进行错误更正。接着在步骤304中,将已更正的参数传送至第一ECC编解码器300A以利相关的初始化。在完成初始化后,在步骤305,第一ECC编解码器300A开始对相应的非挥发性内存(22a,22b...或22n)数据进行编码及/或解码。举例来说,如果下载到的参数是相应于第二错误更正码,则第一ECC编解码器300A即可开始对第二非挥发性内存22b进行编码及/或解码。
第二实施例具有第一实施例的优点,亦即,无须储存大量的参数。相较于第一实施例,由于各种错误更正码的参数是储存于非挥发性内存,例如非挥发性内存的备用储存空间,因此本实施例对于参数的储存成本远小于无误储存装置的储存成本。此外,第二实施例具有两个ECC编解码器300A、300B可供使用。例如,第一ECC编解码器300A可作为低密度同位检查码(low-density parity-check,LDPC)的编解码器,而第二ECC编解码器300B可作为BCH(其由Bose,Ray-Chaudhuri及Hocquenghem所发明)的编解码器。
图4A显示了本发明第三实施例的多重错误更正码的可配置编码系统40的功能方块图,其适用于内存装置,例如非挥发性内存(如闪存)22a-22n。图4B显示了第三实施例的用于内存装置的多重错误更正码的可配置编码方法的流程图。
在本实施例中,编码系统40包括ECC编解码器400A,其可经配置用以对不同的非挥发性内存22a-22n进行不同的错误更正。编码系统40还包括一储存装置400B,如静态随机存取内存(SRAM)或只读存储器(ROM),用以储存(无误的)固定参数。根据固定参数,ECC编解码器400A可从易错(error-prone)的外部内存装置(如非挥发性内存)下载并更正初始化所需的参数。值得注意的是,ECC编解码器400A可使用固定参数以更正所下载参数的错误。其中,储存参数的非挥发性内存可以是前述非挥发性内存22a-22n的其中一个,或者是其它的非挥发性内存。
在步骤401,将参数事先储存(或更新)于一个或多个(易错的)非挥发性内存(22a,22b,...,22n)中。接着,在步骤402,藉由固定参数来初始化ECC编解码器400A。之后,使用者从非挥发性内存下载相应的参数至ECC编解码器400A(步骤403)。在步骤404,ECC编解码器400A根据固定参数对下载的参数进行错误更正。ECC编解码器400A根据已更正参数完成初始化之后,在步骤405,ECC编解码器400A开始对相应的非挥发性内存(22a,22b...或22n)数据进行编码及/或解码。举例来说,如果下载的参数对应于第二错误更正码,则ECC编解码器400A即可开始对第二非挥发性内存22b进行编码及/或解码。
第三实施例具有第一实施例的优点,亦即,无须储存大量的参数。此外,第三实施例也具有第二实施例的优点,亦即,储存参数至非挥发性内存的成本远小于储存参数至无误储存装置的成本。
在一实施例中,选择低密度同位检查码(LDPC)用以对相应非挥发性内存的数据进行编解码。具体来说,使用产生矩阵(generating matrix)对数据进行编码,且使用同位检查码矩阵(parity check matrix)对接收信号进行解码。在硬件实作上,用以初始化编码器的产生矩阵所需要的参数相当大;同样地,用以初始化解码器的同位检查码矩阵所需要的参数也相当大。为了支持多重错误更正码,系统必须对每一种LDPC储存不同的矩阵。根据上述第二和第三实施例,可从非挥发性内存下载这些矩阵,因而使系统在设计上更具弹性,且减少编码系统的成本。
以上所述仅为本发明的优选实施例而已,并非用以限定本发明;凡其它在未脱离发明所公开的精神下所完成的等效改变或修饰,均应包含在权利要求书中。

Claims (20)

1.一种多重错误更正码的可配置编码系统,包含:
一错误更正码(ECC)编解码器,选择地使用不同参数以进行不同的错误更正;及
一参数提供装置,提供一选择参数给所述ECC编解码器,以初始化所述ECC编解码器;
其中,用以初始化所述ECC编解码器的所述参数为无误参数。
2.如权利要求1所述的多重错误更正码的可配置编码系统,其中所述ECC编解码器包含一编码器、一解码器或其组合。
3.如权利要求1所述的多重错误更正码的可配置编码系统,其中所述ECC编解码器对以下之一进行错误更正:非挥发性内存至少一页的数据、非挥发性内存至少一区块的数据、非挥发性内存的数据或上述的组合。
4.如权利要求3所述的多重错误更正码的可配置编码系统,其中所述非挥发性内存为一闪存。
5.如权利要求1所述的多重错误更正码的可配置编码系统,其中所述参数提供装置包含:
至少一个无误储存装置,用以分别储存所述无误参数,在进行错误更正之前,所述选择参数从所述储存装置下载到所述ECC编解码器。
6.如权利要求5所述的多重错误更正码的可配置编码系统,其中所述储存装置为一静态随机存取内存(SRAM)或一只读存储器(ROM)。
7.如权利要求1所述的多重错误更正码的可配置编码系统,其中所述参数提供装置包含:
一外部内存装置,用以储存不同的参数;及
一辅助编解码器,用以从所述外部内存装置中选择并下载所储存的参数的其中之一;
其中,所述辅助编解码器根据一内建参数来更正所下载的该参数,因而产生所述无误参数以提供给所述ECC编解码器。
8.如权利要求7所述的多重错误更正码的可配置编码系统,其中所述外部内存装置为一非挥发性内存。
9.如权利要求1所述的多重错误更正码的可配置编码系统,其中所述参数提供装置包含:
一无误储存装置,用以储存一无误固定参数,该固定参数被下载至所述ECC编解码器,用以对该ECC编解码器进行初始化;及
一外部内存装置,用以储存不同的参数;
其中,所述ECC编解码器从所述外部内存装置中选择并下载所储存的参数的其中之一,并根据所述固定参数来更正下载的该参数,因而产生所述无误参数。
10.如权利要求9所述的多重错误更正码的可配置编码系统,其中所述储存装置为一静态随机存取内存(SRAM)或一只读存储器(ROM),且所述外部内存装置为一非挥发性内存。
11.一种多重错误更正码的可配置编码方法,包含:
储存多个不同的参数;
提供一选择参数至一错误更正码(ECC)编解码器,以初始化该ECC编解码器;及
根据所述选择参数来选择地执行错误更正;
其中,用以初始化所述ECC编解码器的所述参数为无误参数。
12.如权利要求11所述的多重错误更正码的可配置编码方法,其中所述ECC编解码器执行编码、解码、或其组合。
13.如权利要求11所述的多重错误更正码的可配置编码方法,是对以下之一进行错误更正:非挥发性内存至少一页的数据、非挥发性内存至少一区块的数据、非挥发性内存的数据或上述的组合。
14.如权利要求13所述的多重错误更正码的可配置编码方法,其中所述非挥发性内存为一闪存。
15.如权利要求11所述的多重错误更正码的可配置编码方法,其中所述不同的参数储存于至少一个无误储存装置中,在进行所述错误更正之前,所述选择参数从所述储存装置下载到所述ECC编解码器。
16.如权利要求15所述的多重错误更正码的可配置编码方法,其中所述储存装置为一静态随机存取内存(SRAM)或一只读存储器(ROM)。
17.如权利要求11所述的多重错误更正码的可配置编码方法,其中所述不同的参数储存于一外部内存装置,且一辅助编解码器从该外部内存装置中选择并下载所储存的参数的其中之一;
其中,所述辅助编解码器根据一内建参数来更正所下载的参数,因而产生该无误参数以提供给所述ECC编解码器。
18.如权利要求17所述的多重错误更正码的可配置编码方法,其中所述外部内存装置为一非挥发性内存。
19.如权利要求11所述的多重错误更正码的可配置编码方法,其中所述不同的参数储存于一外部内存装置,且一无误储存装置储存一无误固定参数,该固定参数被下载至该ECC编解码器,用以对该ECC编解码器进行初始化;
其中,所述ECC编解码器从所述外部内存装置中选择并下载所储存的参数的其中之一,并根据所述固定参数来更正所下载的参数,因而产生所述无误参数。
20.如权利要求19所述的多重错误更正码的可配置编码方法,其中所述储存装置为一静态随机存取内存(SRAM)或一只读存储器(ROM),且所述外部内存装置为一非挥发性内存。
CN201110120302.9A 2010-05-17 2011-05-10 多重错误更正码的可配置编码系统及方法 Active CN102298969B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/781,744 2010-05-17
US12/781,744 US8762813B2 (en) 2010-05-17 2010-05-17 Configurable coding system and method of multiple ECCS

Publications (2)

Publication Number Publication Date
CN102298969A true CN102298969A (zh) 2011-12-28
CN102298969B CN102298969B (zh) 2015-05-13

Family

ID=44912800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110120302.9A Active CN102298969B (zh) 2010-05-17 2011-05-10 多重错误更正码的可配置编码系统及方法

Country Status (3)

Country Link
US (2) US8762813B2 (zh)
CN (1) CN102298969B (zh)
TW (1) TWI445009B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104810056A (zh) * 2015-03-05 2015-07-29 华南理工大学 一种基于自适应ldpc码的nand闪存差错控制器
CN108053860A (zh) * 2018-01-12 2018-05-18 江苏华存电子科技有限公司 一种编译码系统使用多种错误纠正码组合的方法
CN108255633A (zh) * 2016-12-28 2018-07-06 旺宏电子股份有限公司 存储控制方法、存储装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011159805A2 (en) * 2010-06-15 2011-12-22 Fusion-Io, Inc. Apparatus, system, and method for providing error correction
US8854236B2 (en) 2012-05-18 2014-10-07 Micron Technology, Inc. Methods and apparatuses for low-power multi-level encoded signals
US9600359B2 (en) 2012-05-31 2017-03-21 Hewlett Packard Enterprise Development Lp Local error detection and global error correction
KR101944793B1 (ko) * 2012-09-04 2019-02-08 삼성전자주식회사 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
US8972826B2 (en) * 2012-10-24 2015-03-03 Western Digital Technologies, Inc. Adaptive error correction codes for data storage systems
US9922686B2 (en) 2016-05-19 2018-03-20 Micron Technology, Inc. Apparatuses and methods for performing intra-module databus inversion operations
KR102479212B1 (ko) 2016-08-17 2022-12-20 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US10146719B2 (en) 2017-03-24 2018-12-04 Micron Technology, Inc. Semiconductor layered device with data bus
US10664432B2 (en) 2018-05-23 2020-05-26 Micron Technology, Inc. Semiconductor layered device with data bus inversion
US10964702B2 (en) 2018-10-17 2021-03-30 Micron Technology, Inc. Semiconductor device with first-in-first-out circuit
US20220230698A1 (en) * 2021-01-21 2022-07-21 Micron Technology, Inc. Centralized error correction circuit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
US20080201625A1 (en) * 2007-02-21 2008-08-21 Sigmatel, Inc. Error correction system and method
CN101281788A (zh) * 2007-04-06 2008-10-08 群联电子股份有限公司 闪存系统及其控制方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428627A (en) * 1992-11-10 1995-06-27 Qlogic Corporation Method and apparatus for initializing an ECC circuit
AU7313600A (en) * 1999-09-17 2001-04-24 Hitachi Limited Storage where the number of error corrections is recorded
US7206891B2 (en) * 2002-09-26 2007-04-17 Lsi Logic Corporation Multi-port memory controller having independent ECC encoders
US7065688B1 (en) * 2003-02-19 2006-06-20 Advanced Micro Devices, Inc. Simultaneous multiprocessor memory testing and initialization
US8065598B1 (en) * 2007-02-08 2011-11-22 Marvell International Ltd. Low latency programmable encoder with outer systematic code and low-density parity-check code
US8356137B2 (en) * 2010-02-26 2013-01-15 Apple Inc. Data storage scheme for non-volatile memories based on data priority

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
US20080201625A1 (en) * 2007-02-21 2008-08-21 Sigmatel, Inc. Error correction system and method
CN101281788A (zh) * 2007-04-06 2008-10-08 群联电子股份有限公司 闪存系统及其控制方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104810056A (zh) * 2015-03-05 2015-07-29 华南理工大学 一种基于自适应ldpc码的nand闪存差错控制器
CN108255633A (zh) * 2016-12-28 2018-07-06 旺宏电子股份有限公司 存储控制方法、存储装置
CN108255633B (zh) * 2016-12-28 2021-07-30 旺宏电子股份有限公司 存储控制方法、存储装置
CN108053860A (zh) * 2018-01-12 2018-05-18 江苏华存电子科技有限公司 一种编译码系统使用多种错误纠正码组合的方法

Also Published As

Publication number Publication date
TWI445009B (zh) 2014-07-11
CN102298969B (zh) 2015-05-13
TW201142860A (en) 2011-12-01
US20110283164A1 (en) 2011-11-17
US20140229795A1 (en) 2014-08-14
US8762813B2 (en) 2014-06-24

Similar Documents

Publication Publication Date Title
CN102298969B (zh) 多重错误更正码的可配置编码系统及方法
CN101572125B (zh) 错误更正电路及其方法
CN105340022A (zh) 用于校正数据错误的电路、设备及方法
CN106856103A (zh) 用于与非闪存的涡轮乘积码
US20180034476A1 (en) Hierarchical variable code rate error correction coding
CN104115126A (zh) 使用代数码的多阶段ecc编码
CN102915766A (zh) 用于使用依赖于生命周期的编码方案在存储设备上进行操作的系统和方法
WO2019136976A1 (zh) 一种编译码系统使用多种错误纠正码组合的方法
JP2016167669A (ja) プログラマブル論理回路装置及びそのエラー検出方法
KR20160090054A (ko) 플래시 메모리 시스템 및 그의 동작 방법
KR101482684B1 (ko) 디코딩 방법 및 이를 포함하는 메모리 시스템의 동작 방법
CN108932177A (zh) 具有可变长度分量的广义低密度奇偶校验码
US10289348B2 (en) Tapered variable node memory
CN107402860B (zh) 用于执行内建式自我测试的独立磁盘冗余数组译码系统
CN107153510A (zh) 存储器控制器及用于管理存储器的方法
KR102369313B1 (ko) 에러 정정 회로, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치
CN102742164A (zh) 一种译码方法和译码装置
CN103631669B (zh) 一种纠错sram的回写方法
KR20200018156A (ko) 메모리장치에 대한 에러정정코드 기능을 갖는 메모리 시스템 및 그 운영방법
CN104376876B (zh) 一种ecc纠错能力的调节方法及调节装置
CN116662063B (zh) 一种闪存的纠错配置方法、纠错方法、系统、设备及介质
CN115954037B (zh) 提高efuse芯片良率的方法、装置和设备及存储介质
CN103559914A (zh) Ecc存储器存储不同长度数据的方法
US9160371B2 (en) Memory controller, storage device and memory control method
CN102541675B (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

Effective date of registration: 20180223

Address after: A2 floor, No. 266 Tongzhou District New Century Avenue in Jiangsu city of Nantong province (room 327, high tech Zone Jiang Haizhi Park)

Patentee after: Jiangsu Hua Cun Electronic Technology Co., Ltd.

Address before: 300, Taiwan, China Hsinchu force line 10-1, No. 6 Building

Patentee before: Skymedi Corp.

TR01 Transfer of patent right