CN102298969A - 多重错误更正码的可配置编码系统及方法 - Google Patents
多重错误更正码的可配置编码系统及方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- 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/35—Unequal 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/353—Adaptation to the channel
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- 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/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6511—Support of multiple decoding rules, e.g. combined MAP and Viterbi decoding
-
- 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/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6513—Support of multiple code types, e.g. unified decoder for LDPC and turbo codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/152—Bose-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),且所述外部内存装置为一非挥发性内存。
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)
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)
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)
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)
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 |
-
2010
- 2010-05-17 US US12/781,744 patent/US8762813B2/en active Active
- 2010-07-01 TW TW099121756A patent/TWI445009B/zh active
-
2011
- 2011-05-10 CN CN201110120302.9A patent/CN102298969B/zh active Active
-
2014
- 2014-04-16 US US14/254,530 patent/US20140229795A1/en not_active Abandoned
Patent Citations (3)
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)
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 |