CN110768751A - 译码的方法与电路、存储器控制器、储存装置、控制器 - Google Patents
译码的方法与电路、存储器控制器、储存装置、控制器 Download PDFInfo
- Publication number
- CN110768751A CN110768751A CN201910991519.3A CN201910991519A CN110768751A CN 110768751 A CN110768751 A CN 110768751A CN 201910991519 A CN201910991519 A CN 201910991519A CN 110768751 A CN110768751 A CN 110768751A
- Authority
- CN
- China
- Prior art keywords
- error
- ecc
- result
- codes
- correction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012937 correction Methods 0.000 claims abstract description 179
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 102
- 238000012795 verification Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000004364 calculation method Methods 0.000 claims description 37
- 208000024891 symptom Diseases 0.000 claims description 16
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 238000003672 processing method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/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/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
-
- 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/1545—Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block 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/1525—Determination and particular use of error location polynomials
-
- 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/159—Remainder calculation, e.g. for encoding and syndrome calculation
-
- 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/3738—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original 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/6502—Reduction of hardware complexity or efficient processing
-
- 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/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Abstract
本发明公开了译码的方法与电路、存储器控制器、储存装置、控制器,所述方法包括:计算错误更正码的一组错误症状码,其中所述错误更正码是一t‑错误更正码、且具有更正t个错误的能力,以及所述组错误症状码的数量s小于t;依据所述组错误症状码中的至少一部分错误症状码,依序决定所述错误更正码的一错误定位器多项式的多个系数中的一组系数,以供建立一假定错误定位器多项式,其中所述多个系数的数量等于t,以及所述组系数的数量等于s;执行秦氏搜寻以找出所述假定错误定位器多项式的根;以及进行校验运作以选择性地利用所述错误更正码的一更正结果。本发明可降低进行错误更正处理的功率损耗。
Description
本申请要求2016年9月9日提交的名为“译码的方法与电路、存储器控制器、储存装置、控制器”的中国专利申请第2016108128229号的权利,其内容在此被完全引述作为参考。
技术领域
本发明涉及错误更正处理的控制,尤其涉及一种用来对一错误更正码(ErrorCorrection Code)进行译码的方法以及相对应的译码电路。
背景技术
错误更正码可用来更正数据错误。例如:一个传统的通信系统当中的一发送装置在传送数据之前,往往会将数据编码成为一错误更正码,并且这个传统的通信系统当中的一接收装置于接收所述错误更正码之后,可通过对所述错误更正码进行译码,来更正传送过程中所产生的数据错误以重获(Recover)原始的数据。又例如:一个传统的数据储存系统在储存数据于一储存媒体中之前,往往会将数据编码成为一错误更正码,其中当储存于所述储存媒体中的数据是部分地损坏时,这个传统的数据储存系统可通过对所述错误更正码进行译码,来重获原始的数据。错误更正码的例子可包括(但不限于):博斯-乍得胡里-霍昆格母码(Bose,Ray-Chaudhuri,and Hocquenghem code,可简称为“BCH码”)、以及里德-所罗门码(Reed-Solomon code,可简称为“RS码”)。依据相关技术,BCH码是广泛地用于闪存(Flash memory)储存装置中的错误更正处理,并且RS码是广泛地用于光学储存媒体中的错误更正处理。
当上述传统的数据储存系统要从上述的储存媒体读取数据时,由于所述数据是以一组错误更正码来储存,故这个传统的数据储存系统必须对所述组错误更正码进行译码以重获原始数据。在美国专利公告号US 8,370,727的说明书(其公开内容对应于中国台湾地区专利证书号I387214的说明书)当中介绍了传统的错误更正处理方法以及新颖的错误更正处理方法。随着短短数年过去,某些储存装置诸如可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)的储存容量变得越来越大,并且终端用户变得更易于利用这些储存装置来存取总数据量非常大的档案。在此状况下,有需要使各种储存装置诸如可携式记忆装置具备更强的错误更正处理效能,以满足终端用户的需求。因此,需要一种更新颖的错误更正处理架构及方法,来提升电子装置的整体效能。
发明内容
本发明的一目的在于公开一种用来对一错误更正码(Error Correction Code)进行译码的方法以及相对应的译码电路,以提升错误更正处理的效能以及降低存储器控制器当中关于错误更正处理的功率损耗。
本发明的较佳实施例中公开一种用来对一错误更正码进行译码的方法,所述方法包括有下列步骤:计算所述错误更正码的一组错误症状码(Error Syndrome),其中所述错误更正码是一t-错误更正码(t-Error Correcting Code)、且具有更正t个错误的能力,以及所述组错误症状码的数量s小于t;依据所述组错误症状码中的至少一部分错误症状码,依序决定所述错误更正码的一错误定位器多项式(Error Locator Polynomial)的多个系数中的一组系数,以供建立一假定错误定位器多项式,其中所述多个系数的数量等于t,以及所述组系数的数量等于s;执行一秦氏搜寻(Chien Search)以找出所述假定错误定位器多项式的根;依据所述假定错误定位器多项式的根更正所述错误更正码,以产生所述错误更正码的一更正结果;对所述更正结果进行至少一校验运作,以选择性地利用所述更正结果作为所述错误更正码的一译码结果;以及在多个错误症状码计算单元中的一部分错误症状码计算单元被开启的状况下,对应地控制所述错误定位器多项式决定模块的执行次数s,而非容许所述错误定位器多项式决定模块持续执行直到针对单一信息的工作流程的执行次数达到t次,以使所述错误定位器多项式决定模块提早完成针对特定信息的处理运作、并且立刻进行针对所述特定信息的下一信息的处理运作。
本发明于公开上述方法的同时,还对应地公开一种用来对一错误更正码进行译码的译码电路,所述译码电路包括一错误症状码计算模块、一错误定位器多项式决定模块、一秦氏搜寻模块、一错误更正模块、一校验(Check)模块、以及一控制模块。所述错误症状码计算模块是用来计算所述错误更正码的一组错误症状码,其中所述错误更正码是一t-错误更正码、且具有更正t个错误的能力,以及所述组错误症状码的数量s小于t。另外,所述错误定位器多项式决定模块是用来依据所述组错误症状码中的至少一部分错误症状码,依序决定所述错误更正码的一错误定位器多项式的多个系数中的一组系数,以供建立一假定错误定位器多项式,其中所述多个系数的数量等于t,以及所述组系数的数量等于s。此外,所述秦氏搜寻模块是用来执行一秦氏搜寻以找出所述假定错误定位器多项式的根,而所述错误更正模块是用来依据所述假定错误定位器多项式的根更正所述错误更正码,以产生所述错误更正码的一更正结果,并且所述校验模块是用来对所述错误更正码的所述更正结果进行至少一校验运作,以产生至少一校验结果。此外,所述控制模块是用来控制所述译码电路的运作,其中在所述控制模块的控制下,所述译码电路依据所述至少一校验运作的所述至少一校验结果,选择性地利用所述更正结果作为所述错误更正码的一译码结果。其中,在所述控制模块开启多个错误症状码计算单元中的一部分错误症状码计算单元的状况下,所述控制模块对应地控制所述错误定位器多项式决定模块的执行次数s,而非容许所述错误定位器多项式决定模块持续执行直到针对单一信息的工作流程的执行次数达到t次,以使所述错误定位器多项式决定模块提早完成针对特定信息的处理运作、并且立刻进行针对所述特定信息的下一信息的处理运作。
本发明于公开上述译码电路的同时,还对应地公开一种存储器控制器(MemoryController),其包括上述的译码电路。
本发明于公开上述译码电路的同时,还对应地公开一种储存装置(StorageDevice),其包括上述的译码电路。
本发明于公开上述译码电路的同时,还对应地公开一种电子装置的控制器(Controller),其中所述控制器包括上述的译码电路。
本发明的有益之处在于,相较于传统的数据处理方法,本发明的方法以及相对应的译码电路可大幅地提升错误更正处理的效能。另外,本发明的方法以及相对应的译码电路可大幅地降低存储器控制器当中关于错误更正处理的功率损耗。
附图说明
图1为依据本发明一实施例的一种用来对一错误更正码(Error CorrectionCode)进行译码的译码电路的示意图。
图2为依据本发明一实施例的一种用来对一错误更正码进行译码的方法的流程图。
图3为图2所示方法于一实施例中所涉及的工作流程。
图4为图2所示方法于另一实施例中所涉及的工作流程。
图5为依据本发明一实施例的一种具备图1所示译码电路的储存装置(StorageDevice)的示意图。
图6为依据本发明另一实施例的一种具备图1所示译码电路的储存装置的示意图。
其中,附图标记说明如下:
100 译码电路
105 控制模块
110 错误症状码计算模块
110-1,110-2,…,110-t 错误症状码计算单元
120 错误定位器多项式决定模块
130 秦氏搜寻模块
140 错误更正模块
150 校验模块
200 方法
210、220、230、240、250、 步骤
310、312、314、316、318、
320、322、324、330-1、
330-2、416
300,400 工作流程
500,600 储存装置
510,610 存储器控制器
510ECC 错误更正码编码/译码模块
512 微处理器
512C 程序代码
512M 只读存储器
514,614 控制逻辑
516 缓冲存储器
518 接口逻辑
520 闪存
具体实施方式
图1为依据本发明一实施例的一种用来对一错误更正码(Error CorrectionCode)进行译码的译码电路100的示意图。例如:所述错误更正码可包括一组信息(Message)位以及一组奇偶校验(Parity)位。这只是为了说明的目的而已,并非对本发明的限制。
如图1所示,译码电路100可包括一控制模块105、一错误症状码(Error Syndrome)计算模块110、一错误定位器多项式(Error Locator Polynomial)决定模块120、一秦氏搜寻(Chien Search)模块130、一错误更正模块140、以及一校验(Check)模块150,其中错误症状码计算模块110可包括多个错误症状码计算单元,诸如t个错误症状码计算单元110-1、110-2、…、与110-t。依据本实施例,控制模块105可用来控制所述译码电路100的运作。特别是,控制模块105可选择性地控制所述t个错误症状码计算单元110-1、110-2、…、与110-t当中被启用(Enable)的错误症状码计算单元110-1、110-2、…、与110-s的数量s。另外,控制模块105可选择性地控制错误定位器多项式决定模块120在一相对应的工作流程当中针对所述错误更正码的的执行次数s,其中错误定位器多项式决定模块120在所述相对应的工作流程当中针对所述错误更正码进行s次的循环的计算。
基于图1所示的架构,控制模块105可选择性地开启错误症状码计算模块110中的至少一部分错误症状码计算单元(例如一部分错误症状码计算单元、或全部的错误症状码计算单元),并且可对应地控制错误定位器多项式决定模块120的执行次数。例如:控制模块105可选择性地开启错误症状码计算单元110-1、110-2、…、与110-s,其中错误症状码计算单元110-1、110-2、…、与110-s的数量s在这个例子中可小于错误症状码计算单元110-1、110-2、…、与110-t的总数t。又例如:在控制模块105选择性地开启一部分错误症状码计算单元诸如错误症状码计算单元110-1、110-2、…、与110-s的状况下,控制模块105可对应地控制错误定位器多项式决定模块120的执行次数s,而非容许错误定位器多项式决定模块120执行直到针对单一信息(诸如单一码字(Codeword))的工作流程的最大可能次数t,故错误定位器多项式决定模块120可提早完成针对一特定信息(诸如一特定码字)的处理运作、并且立刻进行针对下一信息(诸如下一码字)的处理运作。于是,当秦氏搜寻模块130正在进行针对所述特定信息(诸如所述特定码字)的处理运作时,错误定位器多项式决定模块120已经开始进行针对下一信息(诸如下一码字)的处理运作。因此,在控制模块105的控制下,译码电路100可达到省时、省电的目标,并且具备译码电路100的电子装置的整体效能得以提升。
另外,在控制模块105的控制下,译码电路100可针对少数译码错误进行重新译码,特别是可将上述的数量s暂时地设定成等于上述的总数t,以取得正确的译码结果。由于在大部分状况下,错误发生的机率相当低,故只要错误更正码的控制参数(错误更正能力)设计妥当,译码电路100对全部数据的整体译码效率可以在不产生副作用的状况下大幅地提升。因此,虽然重新译码运作会耗费额外时间,具备译码电路100的电子装置的整体效能仍然得以提升。
在一些具体的实施例中,所述错误更正码可为博斯-乍得胡里-霍昆格母码(Bose,Ray-Chaudhuri,and Hocquenghem code,可简称为“BCH码”)。这只是为了说明的目的而已,并非对本发明的限制。依据本发明的某些实施例,所述错误更正码可为里德-所罗门码(Reed-Solomon code,可简称为“RS码”)。
图2为依据本发明一实施例的一种用来对一错误更正码进行译码的方法200的流程图。例如:所述错误更正码可包括一组信息位(诸如上述的所述组信息位)以及一组奇偶校验位(诸如上述的所述组奇偶校验位)。这只是为了说明的目的而已,并非对本发明的限制。图2所示的方法200可应用于图1所示的译码电路100。方法200说明如下。
于步骤210中,错误症状码计算模块110计算所述错误更正码的一组错误症状码,诸如s个错误症状码,其中所述错误更正码是一t-错误更正码(t-Error CorrectingCode)、且具有更正t个错误的能力,以及所述组错误症状码的数量s小于t。特别是,错误症状码计算模块110内的错误症状码计算单元110-1、110-2、…、与110-s分别计算所述s个错误症状码。
于步骤220中,错误定位器多项式决定模块120依据所述组错误症状码中的至少一部分错误症状码(例如:所述组错误症状码中的一部分错误症状码、或所述组错误症状码中的全部的错误症状码),依序决定所述错误更正码的一错误定位器多项式(例如:多项式Λ(x))的多个系数Λ1、Λ2、…、与Λt中的一组系数Λ1、Λ2、…、与Λs,以供建立一假定错误定位器多项式,其中所述多个系数Λ1、Λ2、…、与Λt的数量等于t,以及所述组系数Λ1、Λ2、…、与Λs的数量等于s。实作上,所述错误定位器多项式的所述多个系数Λ1、Λ2、…、与Λt中的所述组系数Λ1、Λ2、…、与Λs的计算的次序是由一次项系数Λ1进而逐次计算到所述组系数Λ1、Λ2、…、与Λs中的最高次项系数Λs。
于步骤230中,秦氏搜寻模块130执行一秦氏搜寻以找出所述假定错误定位器多项式的根。特别是,秦氏搜寻模块130的可依据所述组系数Λ1、Λ2、…、与Λs建立所述假定错误定位器多项式,并且执行所述秦氏搜寻以找出所述假定错误定位器多项式的根。例如:所述假定错误定位器多项式的建立可依据下列式子:
1+Λ1x+Λ2x2+…+Λs xs;
这只是为了说明的目的而已,并非对本发明的限制。依据本发明的某些实施例,上列式子的样式可以予以变化,其中所述多个系数Λ1、Λ2、…、与Λt以及所述组系数Λ1、Λ2、…、与Λs可对应地变化。
于步骤240中,错误更正模块140依据所述假定错误定位器多项式的根更正所述错误更正码,以产生所述错误更正码的一更正结果。
于步骤250中,校验模块150对所述更正结果进行至少一校验运作,以使译码电路100选择性地利用所述更正结果作为所述错误更正码的一译码结果。特别是,校验模块150对所述更正结果进行上述的至少一校验运作,以产生至少一校验结果。在控制模块105的控制下,译码电路100依据上述至少一校验运作的上述至少一校验结果,选择性地利用所述更正结果作为所述错误更正码的所述译码结果。
请注意,图2绘示了包括步骤210至步骤250的工作流程。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,所述工作流程可予以变化。例如:步骤210至步骤250的运作当中的至少一部分运作可重复地执行。又例如:步骤210至步骤250的运作当中的至少一部分运作可同时执行。
依据本实施例,由于控制模块105可选择性地控制所述t个错误症状码计算单元110-1、110-2、…、与110-t当中被启用的错误症状码计算单元的数量s、且可选择性地控制错误定位器多项式决定模块120在所述相对应的工作流程当中针对所述错误更正码的的执行次数s,故只要“错误症状码计算单元110-1、110-2、…、与110-s的数量s小于错误症状码计算单元110-1、110-2、…、与110-t的总数t”以及“错误定位器多项式决定模块120在所述相对应的工作流程当中针对所述错误更正码的的执行次数s小于上述的最大可能次数t”的条件(Condition)被满足,控制模块105可控制错误症状码计算模块110节省电力、并且可控制错误定位器多项式决定模块120节省处理时间。于是,采用译码方法200的译码电路100即可达到省时、省电的目标,并且依据译码方法200来实施的电子装置(特别是具备译码电路100的电子装置)的整体效能得以提升。
实作上,所述错误更正码可为BCH码。这只是为了说明的目的而已,并非对本发明的限制。依据本发明的某些实施例,所述错误更正码可为RS码。
请注意,于图1所示的架构中,校验模块150和控制模块105可被绘示为两个不同的模块。这只是为了说明的目的而已,并非对本发明的限制。依据本发明的某些实施例,校验模块150和控制模块105可被整合成为同一模块,诸如一控制暨校验模块。此状况下,于步骤250中,所述控制暨校验模块对所述更正结果进行上述的至少一校验运作,以使译码电路100选择性地利用所述更正结果作为所述错误更正码的一译码结果。
依据本发明的某些实施例,在控制模块105的控制下,当上述至少一校验运作的上述至少一校验结果指出所述更正结果是正确时,译码电路100利用所述更正结果作为所述错误更正码的所述译码结果。特别是,在控制模块105的控制下,当上述至少一校验运作的上述至少一校验结果指出所述更正结果是正确时,译码电路100利用所述更正结果作为所述错误更正码的所述译码结果,否则,译码电路100避免利用所述更正结果作为所述错误更正码的所述译码结果。例如:在上述至少一校验运作的上述至少一校验结果指出所述更正结果是不正确的状况下,译码电路100可在控制模块105的控制下对所述错误更正码重新译码。
依据本发明的某些实施例,上述的至少一校验运作可包括一后校验(Post Check)运作、及/或一循环冗余校验(Cyclic Redundancy Check,CRC)运作。例如:上述的至少一校验运作可包括所述后校验运作。又例如:上述的至少一校验运作可包括所述循环冗余校验运作。又例如:上述的至少一校验运作可包括所述后校验运作以及所述循环冗余校验运作。
特别是,在上述的至少一校验运作包括所述后校验运作的状况下,校验模块150可依据所述更正结果计算对应于所述更正结果的一个或多个错误症状码,以侦测对应于所述更正结果的全部的错误症状码是否均等于零。另外,在控制模块105的控制下,译码电路100可依据对应于所述更正结果的全部的错误症状码是否均等于零,选择性地利用所述错误更正码的所述更正结果作为所述错误更正码的所述译码结果。例如:在控制模块105的控制下,当对应于所述更正结果的全部的错误症状码均等于零时,译码电路100利用所述错误更正码的所述更正结果作为所述错误更正码的所述译码结果。又例如:在控制模块105的控制下,当对应于所述更正结果的错误症状码当中并非全部的错误症状码均等于零时,译码电路100避免利用所述错误更正码的所述更正结果作为所述错误更正码的所述译码结果。实作上,当侦测到对应于所述更正结果的上述一个或多个错误症状码当中有某一(些)错误症状码不等于零(这表示所述更正结果是不正确),译码电路100可在控制模块105的控制下对所述错误更正码重新译码。
依据本发明的某些实施例,在控制模块105的控制下,当上述至少一校验运作的上述至少一校验结果指出所述更正结果是不正确时,错误症状码计算模块110计算所述错误更正码的至少一其它错误症状码以产生另一组错误症状码,以供建立所述错误定位器多项式并据此产生所述错误更正码的另一更正结果,其中所述另一组错误症状码包括所述组错误症状码与上述的至少一其它错误症状码,以及所述另一组错误症状码的数量等于t。特别是,在控制模块105的控制下,错误定位器多项式决定模块120可依据所述另一组错误症状码中的至少一部分错误症状码(例如:所述另一组错误症状码中的一部分错误症状码、或所述另一组错误症状码中的全部的错误症状码),依序决定所述错误更正码的所述错误定位器多项式的所述多个系数Λ1、Λ2、…、与Λt中的至少一其它系数(例如:一个或多个其它系数),以供建立所述错误定位器多项式(诸如多项式Λ(x))。例如:所述多个系数Λ1、Λ2、…、与Λt中的上述至少一其它系数可包括(t-s)个系数Λs+1、Λs+2、…、与Λt。又例如:在步骤210中所述的所述组错误症状码的数量s被设定为(t-1)的状况下,所述多个系数Λ1、Λ2、…、与Λt中的上述至少一其它系数可包括一个系数Λt。
实作上,所述错误定位器多项式的所述多个系数Λ1、Λ2、…、与Λt的计算的次序是由一次项系数Λ1进而逐次计算到所述多个系数Λ1、Λ2、…、与Λt中的最高次项系数Λt,因此,只要所述组系数Λ1、Λ2、…、与Λs已预先暂存,错误定位器多项式决定模块120可基于既有的所述组系数Λ1、Λ2、…、与Λs,接着计算上述的至少一其它系数诸如所述(t-s)个系数Λs+1、Λs+2、…、与Λt,其中所述(t-s)个系数Λs+1、Λs+2、…、与Λt的计算的次序是由(s+1)次项系数Λs+1进而逐次计算到所述多个系数Λ1、Λ2、…、与Λt中的所述最高次项系数Λt。
另外,不论所述多个系数Λ1、Λ2、…、与Λt中的上述至少一其它系数的数量是多少,秦氏搜寻模块130可执行所述秦氏搜寻以找出所述错误定位器多项式(例如:多项式Λ(x))的根,并且错误更正模块140可依据所述错误定位器多项式的根更正所述错误更正码,以产生所述错误更正码的所述另一更正结果。特别是,秦氏搜寻模块130的可依据所述多个系数Λ1、Λ2、…、与Λt建立所述错误定位器多项式,并且执行所述秦氏搜寻以找出所述错误定位器多项式的根。例如:所述错误定位器多项式的建立可依据下列式子:
1+Λ1x+Λ2x2+…+Λt xt;
这只是为了说明的目的而已,并非对本发明的限制。依据本发明的某些实施例,上列式子的样式可以予以变化,其中所述多个系数Λ1、Λ2、…、与Λt可对应地变化。
依据本发明的某些实施例,所述错误更正码可包括一组信息位诸如上述者,且可还包括一组奇偶校验位诸如上述者。译码电路100可对所述组信息位进行编码,以产生一组编码位。另外,译码电路100可对所述组编码位以及所述组奇偶校验位进行位互斥或(Bitwise Exclusive OR,Bitwise XOR)运算,以产生一组奇偶校验不吻合(ParityMismatch)位,其中所述所述组奇偶校验不吻合位可称为差异(Disparity)。此外,错误症状码计算模块110可依据所述组奇偶校验不吻合位进行转换运作,以产生所述组错误症状码。
图3绘示图2所示译码方法200于一实施例中所涉及的工作流程300。工作流程300说明如下。
于步骤310中,控制模块105设定一门坎s,特别是将门坎s设定给错误症状码计算模块110以及错误定位器多项式决定模块120。例如:门坎s可以用来作为图1所示实施例中所述的错误症状码计算单元110-1、110-2、…、与110-s的数量s。又例如:门坎s可以用来作为图1所示实施例中所述的错误定位器多项式决定模块120在所述相对应的工作流程当中针对所述错误更正码的的执行次数s。典型状况下,步骤310中所述的门坎s在工作流程300中的初始值是被设定为小于t的值。
于步骤312中,错误症状码计算模块110(特别是其内的错误症状码计算单元110-1、110-2、…、与110-s)计算s个错误症状码。例如:在s<t的状况下,步骤312中所述的s个错误症状码可为步骤210中所述的s个错误症状码。这只是为了说明的目的而已,并非对本发明的限制。在s=t的状况下,步骤312中所述的s个错误症状码可为上述的所述另一组错误症状码。
于步骤314中,通过错误定位器多项式决定模块120执行循环s次的计算,译码电路100(特别是其内的错误定位器多项式决定模块120以及秦氏搜寻模块130)依据所述s个错误症状码决定对应的错误定位器多项式。例如:在s<t的状况下,上述的对应的错误定位器多项式可代表步骤220中所述的所述假定错误定位器多项式,其中步骤314的运作可包括步骤220的运作,且秦氏搜寻模块130可建立所述假定错误定位器多项式。又例如:在s=t的状况下,上述的对应的错误定位器多项式可代表步骤220中所述的所述错误定位器多项式,其中错误定位器多项式决定模块120可依据所述另一组错误症状码中的上述至少一部分错误症状码(例如:所述另一组错误症状码中的一部分错误症状码、或所述另一组错误症状码中的全部的错误症状码),依序决定所述错误更正码的所述错误定位器多项式的所述多个系数Λ1、Λ2、…、与Λt中的上述至少一其它系数(例如:上述一个或多个其它系数),以供秦氏搜寻模块130建立所述错误定位器多项式(诸如多项式Λ(x))。
于步骤316中,控制模块105进行基于安全指数(Safety Index)y的检查运作,以确认是否通过基于安全指数y的检查。特别是,控制模块105可检查是否最新的y次循环的不符值(Discrepancy)Δ均等于零(于图3中是标示为“最新的y次循环的Δ=0?”,以求简明)。例如:控制模块105可检查是否最新的连续y次循环中的每一次循环的不符值Δ都等于零。若最新的连续y次循环中的每一次循环的不符值Δ都等于零,则控制模块105判断通过基于安全指数y的检查;否则,控制模块105判断不通过基于安全指数y的检查。于是,当控制模块105判断通过基于安全指数y的检查时,进入步骤320;否则,进入步骤318。
于步骤318中,控制模块105设定s=t,以进行重新译码。
于步骤320中,译码电路100(特别是其内的秦氏搜寻模块130、错误更正模块140、以及校验模块150)进行秦氏搜寻、错误更正、以及校验运作。例如:在s<t的状况下,步骤320的运作可包括步骤230的运作、步骤240的运作、以及步骤250的运作。这只是为了说明的目的而已,并非对本发明的限制。在s=t的状况下,步骤320的运作可包括:秦氏搜寻模块130执行所述秦氏搜寻以找出所述错误定位器多项式(例如:多项式Λ(x))的根;错误更正模块140可依据所述错误定位器多项式的根更正所述错误更正码,以产生所述错误更正码的所述另一更正结果;以及校验模块150对所述另一更正结果进行上述的至少一校验运作,以产生对应的校验结果,以供判断是否通过校验运作。
于步骤322中,控制模块105检查是否根(即步骤320中所得的根)的数量等于对应的错误定位器多项式(即步骤314中所述的对应的错误定位器多项式)的维度且通过校验运作,以判断是否“错误为可更正”。例如:在s<t的状况下,控制模块105检查是否所述假定错误定位器多项式的根的数量等于所述假定错误定位器多项式的维度且于步骤320中所得的所述更正结果(诸如步骤240中所述的所述更正结果)已通过校验运作,以判断是否“错误为可更正”。又例如:在s=t的状况下,控制模块105检查是否所述错误定位器多项式的根的数量等于所述错误定位器多项式的维度且于步骤320中所得的所述另一更正结果已通过校验运作,以判断是否“错误为可更正”。当侦测到根的数量等于对应的错误定位器多项式的维度且通过校验运作也就是判断“错误为可更正”)时,进入步骤330-1;否则,进入步骤330-2,以进行进一步的判断。
于步骤324中,控制模块105检查是否s=t,以判断是否“错误为不可更正”。当侦测到s=t也就是判断“错误为不可更正”)时,进入步骤330-2;否则,进入(或重新进入)步骤318。
于步骤330-1中,基于“错误为可更正”,控制模块105输出对应的译码结果。例如:在s<t的状况下,控制模块105控制译码电路100输出所述更正结果(诸如步骤250中所述的所述更正结果)作为所述错误更正码的所述译码结果。又例如:在s=t的状况下,控制模块105控制译码电路100输出所述另一更正结果作为所述错误更正码的所述译码结果。
于步骤330-2中,基于“错误为不可更正”,控制模块105输出错误不可更正的通知。
实作上,步骤316中所述的不符值Δ的计算方法可依据相关技术中的计算方法,诸如某些有关BCH码的编码/译码的教科书中所教导的方法。
请注意,图3所示的工作流程300当中,步骤312与步骤314之间并未绘示用来检查步骤312中所述的所述s个错误症状码当中是否全部的错误症状码均等于零的检查步骤。这只是为了说明的目的而已,并非对本发明的限制。依据本发明的某些实施例,图3所示的工作流程300可予以变化。例如:步骤312与步骤314之间可设置上述的检查步骤,以便检查步骤312中所述的所述s个错误症状码当中是否全部的错误症状码均等于零。特别是,于所述实施例中,当侦测到步骤312中所述的所述s个错误症状码当中是否全部的错误症状码均等于零时,可忽略执行后续的至少一步骤的运作。
图4绘示图2所示译码方法200于另一实施例中所涉及的工作流程400。如图4所示,工作流程400中的大部分的步骤和图3所示工作流程300中的相对应的步骤相同,其中上述的步骤316于本实施例中是被代换为步骤416。
于步骤416中,控制模块105进行基于安全指数y的检查运作,以确认是否通过基于安全指数y的检查。特别是,在y=1的状况下,控制模块105可检查是否最新的一次循环的不符值Δ等于零(于图4中是标示为“最新的1次循环的Δ=0?”,以求简明)。若最新的一次循环的不符值Δ等于零,则控制模块105判断通过基于安全指数y的检查;否则,控制模块105判断不通过基于安全指数y的检查。于是,当控制模块105判断通过基于安全指数y的检查时,进入步骤320;否则,进入步骤318。
请注意,相较于图3所示的工作流程300,工作流程400更能达到省电、省时的目标。
依据本发明的某些实施例,在一个具备译码电路100的系统中,安全指数y的大小可依据所述系统的编码对数据的保护强度(例如上述的所述组奇偶校验位对上述的所述组信息位的比率)来决定。例如:所述系统的编码对数据的保护强度越弱,则安全指数y的大小可以越大。又例如:所述系统的编码对数据的保护强度越强,则安全指数y的大小可以越小。
图5为依据本发明一实施例的一种具备图1所示译码电路100的储存装置(StorageDevice)500的示意图,其中图2所示的译码方法200可应用于图5所示的储存装置500(特别是其内的译码电路100)。为了便于理解,本实施例的储存装置500可为一可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的某些变化例,储存装置500可为其它类型的记忆装置,诸如固态硬盘(Solid State Drive,SSD)。
如图5所示,储存装置500包括有:一闪存(Flash Memory)520;以及一控制器,用来存取闪存520,其中所述控制器可为一储存控制器,诸如一存储器控制器510(MemoryController)。依据本实施例,存储器控制器510包括一微处理器512、一只读存储器(ReadOnly Memory,ROM)512M、一控制逻辑514、一缓冲存储器516、与一接口逻辑518,且还包括一错误更正码编码/译码模块510ECC,其中错误更正码编码/译码模块510ECC包括图1所示的译码电路100。只读存储器是用来储存一程序代码512C,而微处理器512则用来执行程序代码512C以控制对闪存520的存取(Access)。
于典型状况下,闪存520包括多个区块(Block),而所述控制器(例如:通过微处理器512执行程序代码512C的存储器控制器510)对闪存520进行抹除数据的运作的单位可为一区块。另外,一区块可记录特定数量的页(Page),其中所述控制器(例如:通过微处理器512执行程序代码512C的存储器控制器510)对闪存520进行写入数据的运作的单位可为一页。
实作上,通过微处理器512执行程序代码512C的存储器控制器510可利用其本身内部的组件来进行诸多控制运作。例如:存储器控制器510可利用错误更正码编码/译码模块510ECC对写入数据进行错误更正码编码运作、利用错误更正码编码/译码模块510ECC(特别是其内的译码电路100)对读取数据进行错误更正码译码运作、利用控制逻辑514来控制闪存520的存取运作(特别是对至少一区块或至少一页的存取运作)、利用缓冲存储器516进行所需的缓冲处理、以及利用接口逻辑518来与一主装置(Host Device)沟通。本实施例与前述实施例/变化例相仿之处不再重复赘述。
于图5所示的架构中,储存装置500包括闪存520。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的某些变化例,储存装置500可为其它类型的储存装置,其中储存装置500可具备其它类型的储存媒体,并且所述控制器可存取上述其它类型的储存媒体。这些变化例与前述实施例/变化例相仿之处不再重复赘述。
依据本实施例的某些变化例,储存装置500可设置于一电子装置当中。如此,所述电子装置可享有译码电路100所具备的省时、省电的效能。因此,相较于相关技术,依据译码方法200所实施的所述电子装置的整体效能更为强大。
依据本实施例的某些变化例,译码电路100可设置于一电子装置的一控制器(Controller)当中。如此,所述电子装置可享有译码电路100所具备的省时、省电的效能。因此,相较于相关技术,依据译码方法200所实施的所述电子装置的整体效能更为强大。
图6为依据本发明另一实施例的一种具备图1所示译码电路100的储存装置600的示意图,其中图2所示的译码方法200可应用于图6所示的储存装置600(特别是其内的译码电路100)。为了便于理解,本实施例的储存装置600可为一可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的某些变化例,储存装置600可为其它类型的记忆装置,诸如固态硬盘。
如图6所示,错误更正码编码/译码模块510ECC(特别是其内的译码电路100)以及上述的控制逻辑514是整合成为同一模块,诸如控制逻辑614。因应架构上的改变,本实施例的所述控制器可称为存储器控制器610。本实施例与前述实施例/变化例相仿之处不再重复赘述。
依据本实施例的某些变化例,储存装置600可设置于一电子装置当中。如此,所述电子装置可享有译码电路100所具备的省时、省电的效能。因此,相较于相关技术,依据方法200所实施的所述电子装置的整体效能更为强大。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (23)
1.一种译码的方法,用于对一错误更正码进行译码,其特征在于,所述方法包括有下列步骤:
计算所述错误更正码的一组错误症状码,其中所述错误更正码是一t-错误更正码、且具有更正t个错误的能力,以及所述组错误症状码的数量s小于t;
依据所述组错误症状码中的至少一部分错误症状码,依序决定所述错误更正码的一错误定位器多项式的多个系数中的一组系数,以供建立一假定错误定位器多项式,其中所述多个系数的数量等于t,以及所述组系数的数量等于s;
执行一秦氏搜寻以找出所述假定错误定位器多项式的根;
依据所述假定错误定位器多项式的根更正所述错误更正码,以产生所述错误更正码的一更正结果;
对所述更正结果进行至少一校验运作,以选择性地利用所述更正结果作为所述错误更正码的一译码结果;以及
在多个错误症状码计算单元中的一部分错误症状码计算单元被开启的状况下,对应地控制所述错误定位器多项式决定模块的执行次数s,而非容许所述错误定位器多项式决定模块持续执行直到针对单一信息的工作流程的执行次数达到t次,以使所述错误定位器多项式决定模块提早完成针对特定信息的处理运作、并且立刻进行针对所述特定信息的下一信息的处理运作。
2.如权利要求1所述的方法,其特征在于,对所述更正结果进行所述至少一校验运作以选择性地利用所述更正结果作为所述错误更正码的所述译码结果的步骤还包括:
当所述至少一校验运作的至少一校验结果指出所述更正结果是正确时,利用所述更正结果作为所述错误更正码的所述译码结果。
3.如权利要求2所述的方法,其特征在于,对所述更正结果进行所述至少一校验运作以选择性地利用所述更正结果作为所述错误更正码的所述译码结果的步骤还包括:
当所述至少一校验运作的所述至少一校验结果指出所述更正结果是正确时,利用所述更正结果作为所述错误更正码的所述译码结果;否则,避免利用所述更正结果作为所述错误更正码的所述译码结果。
4.如权利要求1所述的方法,其特征在于,所述至少一校验运作包括一后校验运作;以及对所述更正结果进行所述至少一校验运作以选择性地利用所述更正结果作为所述错误更正码的所述译码结果的步骤还包括:
依据所述更正结果计算对应于所述更正结果的一个或多个错误症状码,以侦测对应于所述更正结果的全部的错误症状码是否均等于零;以及
依据对应于所述更正结果的全部的错误症状码是否均等于零,选择性地利用所述更正结果作为所述错误更正码的所述译码结果。
5.如权利要求4所述的方法,其特征在于,所述至少一校验运作还包括一循环冗余校验运作。
6.如权利要求1所述的方法,其特征在于,所述至少一校验运作包括一循环冗余校验运作。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述至少一校验运作的至少一校验结果指出所述更正结果是不正确时,计算所述错误更正码的至少一其它错误症状码以产生另一组错误症状码,以供建立所述错误定位器多项式并据此产生所述错误更正码的另一更正结果,其中所述另一组错误症状码包括所述组错误症状码与所述至少一其它错误症状码,以及所述另一组错误症状码的数量等于t。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
依据所述另一组错误症状码中的至少一部分错误症状码,依序决定所述错误更正码的所述错误定位器多项式的所述多个系数中的至少一其它系数,以供建立所述错误定位器多项式。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
执行所述秦氏搜寻以找出所述错误定位器多项式的根;以及
依据所述错误定位器多项式的根更正所述错误更正码,以产生所述错误更正码的所述另一更正结果。
10.如权利要求1所述的方法,其特征在于,所述错误更正码包括一组信息位以及一组奇偶校验位;以及所述方法还包括:
对所述组信息位进行编码,以产生一组编码位;
对所述组编码位以及所述组奇偶校验位进行位互斥或运算,以产生一组奇偶校验不吻合位;以及
依据所述组奇偶校验不吻合位进行转换运作,以产生所述组错误症状码。
11.一种译码电路,用于对一错误更正码进行译码,其特征在于,所述译码电路包括有:
一错误症状码计算模块,用来计算所述错误更正码的一组错误症状码,其中所述错误更正码是一t-错误更正码、且具有更正t个错误的能力,以及所述组错误症状码的数量s小于t;
一错误定位器多项式决定模块,用来依据所述组错误症状码中的至少一部分错误症状码,依序决定所述错误更正码的一错误定位器多项式的多个系数中的一组系数,以供建立一假定错误定位器多项式,其中所述多个系数的数量等于t,以及所述组系数的数量等于s;
一秦氏搜寻模块,用来执行一秦氏搜寻以找出所述假定错误定位器多项式的根;
一错误更正模块,用来依据所述假定错误定位器多项式的根更正所述错误更正码,以产生所述错误更正码的一更正结果;
一校验模块,用来对所述错误更正码的所述更正结果进行至少一校验运作,以产生至少一校验结果;以及
一控制模块,用来控制所述译码电路的运作,其中在所述控制模块的控制下,所述译码电路依据所述至少一校验运作的所述至少一校验结果,选择性地利用所述更正结果作为所述错误更正码的一译码结果;
其中在所述控制模块开启多个错误症状码计算单元中的一部分错误症状码计算单元的状况下,所述控制模块对应地控制所述错误定位器多项式决定模块的执行次数s,而非容许所述错误定位器多项式决定模块持续执行直到针对单一信息的工作流程的执行次数达到t次,以使所述错误定位器多项式决定模块提早完成针对特定信息的处理运作、并且立刻进行针对所述特定信息的下一信息的处理运作。
12.如权利要求11所述的译码电路,其特征在于,在所述控制模块的控制下,当所述至少一校验运作的所述至少一校验结果指出所述更正结果是正确时,所述译码电路利用所述更正结果作为所述错误更正码的所述译码结果。
13.如权利要求12所述的译码电路,其特征在于,在所述控制模块的控制下,当所述至少一校验运作的所述至少一校验结果指出所述更正结果是正确时,所述译码电路利用所述更正结果作为所述错误更正码的所述译码结果,否则,所述译码电路避免利用所述更正结果作为所述错误更正码的所述译码结果。
14.如权利要求11所述的译码电路,其特征在于,所述至少一校验运作包括一后校验运作;所述校验模块依据所述更正结果计算对应于所述更正结果的一个或多个错误症状码,以侦测对应于所述更正结果的全部的错误症状码是否均等于零;以及在所述控制模块的控制下,所述译码电路依据对应于所述更正结果的全部的错误症状码是否均等于零,选择性地利用所述错误更正码的所述更正结果作为所述错误更正码的所述译码结果。
15.如权利要求14所述的译码电路,其特征在于,所述至少一校验运作还包括一循环冗余校验运作。
16.如权利要求11所述的译码电路,其特征在于,所述至少一校验运作包括一循环冗余校验运作。
17.如权利要求11所述的译码电路,其特征在于,在所述控制模块的控制下,当所述至少一校验运作的所述至少一校验结果指出所述更正结果是不正确时,所述错误症状码计算模块计算所述错误更正码的至少一其它错误症状码以产生另一组错误症状码,以供建立所述错误定位器多项式并据此产生所述错误更正码的另一更正结果,其中所述另一组错误症状码包括所述组错误症状码与所述至少一其它错误症状码,以及所述另一组错误症状码的数量等于t。
18.如权利要求17所述的译码电路,其特征在于,在所述控制模块的控制下,所述错误定位器多项式决定模块依据所述另一组错误症状码中的至少一部分错误症状码,依序决定所述错误更正码的所述错误定位器多项式的所述多个系数中的至少一其它系数,以供建立所述错误定位器多项式。
19.如权利要求18所述的译码电路,其特征在于,所述秦氏搜寻模块执行所述秦氏搜寻以找出所述错误定位器多项式的根;以及所述错误更正模块依据所述错误定位器多项式的根更正所述错误更正码,以产生所述错误更正码的所述另一更正结果。
20.如权利要求11所述的译码电路,其特征在于,所述错误更正码包括一组信息位以及一组奇偶校验位;所述译码电路对所述组信息位进行编码,以产生一组编码位;所述译码电路对所述组编码位以及所述组奇偶校验位进行位互斥或运算,以产生一组奇偶校验不吻合位;以及所述错误症状码计算模块依据所述组奇偶校验不吻合位进行转换运作,以产生所述组错误症状码。
21.一种存储器控制器,其特征在于,所述存储器控制器包括权利要求11所述的译码电路。
22.一种储存装置,其特征在于,所述储存装置包括权利要求11所述的译码电路。
23.一种控制器,用于一电子装置,其特征在于,所述控制器包括权利要求11所述的译码电路。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104129917 | 2015-09-10 | ||
TW104129917A TWI566091B (zh) | 2015-09-10 | 2015-09-10 | 用來對一錯誤更正碼進行解碼之方法與解碼電路 |
CN201610812822.9A CN106533615B (zh) | 2015-09-10 | 2016-09-09 | 译码的方法与电路、存储器控制器、储存装置、控制器 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610812822.9A Division CN106533615B (zh) | 2015-09-10 | 2016-09-09 | 译码的方法与电路、存储器控制器、储存装置、控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110768751A true CN110768751A (zh) | 2020-02-07 |
CN110768751B CN110768751B (zh) | 2022-01-25 |
Family
ID=58257714
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910991519.3A Active CN110768751B (zh) | 2015-09-10 | 2016-09-09 | 译码的方法与电路、存储器控制器、储存装置、控制器 |
CN201610812822.9A Active CN106533615B (zh) | 2015-09-10 | 2016-09-09 | 译码的方法与电路、存储器控制器、储存装置、控制器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610812822.9A Active CN106533615B (zh) | 2015-09-10 | 2016-09-09 | 译码的方法与电路、存储器控制器、储存装置、控制器 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10404283B2 (zh) |
KR (1) | KR101819152B1 (zh) |
CN (2) | CN110768751B (zh) |
TW (1) | TWI566091B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10312944B2 (en) | 2017-03-17 | 2019-06-04 | Micron Technology, Inc. | Error correction code (ECC) operations in memory for providing redundant error correction |
TWI657336B (zh) | 2017-08-28 | 2019-04-21 | 慧榮科技股份有限公司 | 用以檢測資料儲存裝置之資料儲存方法及其資料儲存裝置 |
KR20190062908A (ko) | 2017-11-29 | 2019-06-07 | 에스케이하이닉스 주식회사 | 에러 정정 방법 및 칩 킬 감지 방법 |
US10831596B2 (en) * | 2018-01-22 | 2020-11-10 | Micron Technology, Inc. | Enhanced error correcting code capability using variable logical to physical associations of a data block |
US10756763B2 (en) * | 2018-09-28 | 2020-08-25 | Innogrit Technologies Co., Ltd. | Systems and methods for decoding bose-chaudhuri-hocquenghem encoded codewords |
WO2022019886A1 (en) * | 2020-07-20 | 2022-01-27 | Pqsecure Technologies, Llc | An architecture and method for hybrid isogeny-based cryptosystems |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138533A1 (en) * | 2003-09-29 | 2005-06-23 | Canon Kabushiki Kaisha | Encoding/decoding device using a reed-solomon encoder/decoder |
CN101795140A (zh) * | 2009-02-03 | 2010-08-04 | 慧国(上海)软件科技有限公司 | 纠错码的解码方法及电路 |
US20100199156A1 (en) * | 2009-02-03 | 2010-08-05 | Silicon Motion, Inc. | Method And Circuit For Encoding An Error Correction Code |
CN102567134A (zh) * | 2012-01-06 | 2012-07-11 | 威盛电子股份有限公司 | 存储器模块的错误检查与校正系统以及方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6643819B1 (en) | 2000-01-26 | 2003-11-04 | Maxtor Corporation | Hybrid root-finding technique |
FR2817418B1 (fr) | 2000-11-27 | 2003-02-21 | Matra Nortel Communications | Procede de decodage d'un bloc de symboles et dispositif mettant en oeuvre un tel procede |
US7028245B2 (en) | 2001-08-21 | 2006-04-11 | Equator Technologies, Inc. | Even-load software Reed-Solomon decoder |
JP4856110B2 (ja) * | 2008-03-01 | 2012-01-18 | 株式会社東芝 | チェンサーチ装置およびチェンサーチ方法 |
US8453038B2 (en) * | 2009-06-30 | 2013-05-28 | Apple Inc. | Chien search using multiple basis representation |
KR101314232B1 (ko) * | 2009-07-01 | 2013-10-02 | 실리콘 모션 인코포레이티드 | 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱 |
JP5017407B2 (ja) | 2010-03-24 | 2012-09-05 | 株式会社東芝 | 半導体記憶装置 |
KR20120063329A (ko) * | 2010-12-07 | 2012-06-15 | 삼성전자주식회사 | 에러 체크 및 정정기 및 그것을 포함하는 메모리 시스템 |
KR101807538B1 (ko) * | 2010-12-30 | 2017-12-12 | 삼성전자주식회사 | 듀얼-신드롬 생성기를 포함하는 에러 정정 코드 블록, 이의 동작 방법, 및 상기 에러 정정 코드 블록을 포함하는 시스템 |
WO2012098157A2 (en) * | 2011-01-18 | 2012-07-26 | Universität Zürich | Evaluation of polynomials over finite fields and decoding of cyclic tools |
KR101747794B1 (ko) | 2011-03-29 | 2017-06-16 | 삼성전자주식회사 | 에러 정정 디코더 및 그것의 에러 정정 방법 |
JP2014033364A (ja) | 2012-08-03 | 2014-02-20 | Samsung Electronics Co Ltd | 誤り検出訂正回路、及びメモリ装置 |
KR101432909B1 (ko) | 2012-12-21 | 2014-08-22 | 인하대학교 산학협력단 | 병렬 bch 복호기를 위한 고속 소면적의 수정된 스텝-바이-스텝 복호 방법 및 그 연산 회로 |
US9906240B2 (en) * | 2015-06-03 | 2018-02-27 | SK Hynix Inc. | One-shot decoder for two-error-correcting BCH codes |
-
2015
- 2015-09-10 TW TW104129917A patent/TWI566091B/zh active
-
2016
- 2016-09-08 US US15/259,065 patent/US10404283B2/en active Active
- 2016-09-09 CN CN201910991519.3A patent/CN110768751B/zh active Active
- 2016-09-09 KR KR1020160116682A patent/KR101819152B1/ko active IP Right Grant
- 2016-09-09 CN CN201610812822.9A patent/CN106533615B/zh active Active
-
2019
- 2019-07-19 US US16/516,268 patent/US10848184B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050138533A1 (en) * | 2003-09-29 | 2005-06-23 | Canon Kabushiki Kaisha | Encoding/decoding device using a reed-solomon encoder/decoder |
CN101795140A (zh) * | 2009-02-03 | 2010-08-04 | 慧国(上海)软件科技有限公司 | 纠错码的解码方法及电路 |
US20100199156A1 (en) * | 2009-02-03 | 2010-08-05 | Silicon Motion, Inc. | Method And Circuit For Encoding An Error Correction Code |
CN102567134A (zh) * | 2012-01-06 | 2012-07-11 | 威盛电子股份有限公司 | 存储器模块的错误检查与校正系统以及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110768751B (zh) | 2022-01-25 |
US20170077962A1 (en) | 2017-03-16 |
CN106533615A (zh) | 2017-03-22 |
US10404283B2 (en) | 2019-09-03 |
KR101819152B1 (ko) | 2018-01-16 |
CN106533615B (zh) | 2019-11-15 |
US10848184B2 (en) | 2020-11-24 |
TW201710893A (zh) | 2017-03-16 |
TWI566091B (zh) | 2017-01-11 |
KR20170035795A (ko) | 2017-03-31 |
US20190341937A1 (en) | 2019-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110768751B (zh) | 译码的方法与电路、存储器控制器、储存装置、控制器 | |
US9170876B1 (en) | Method and system for decoding encoded data stored in a non-volatile memory | |
US8850296B2 (en) | Encoding method and system, decoding method and system | |
US8719677B2 (en) | Using ECC encoding to verify an ECC decode operation | |
KR101712619B1 (ko) | 에러 정정 코드의 인코딩 및 디코딩 방법 | |
US9100054B2 (en) | Data processing systems and methods providing error correction | |
US20080320369A1 (en) | Data retrieval from a storage device using a combined error correction and detection approach | |
CN102024501A (zh) | 存储器系统以及对存储器系统的控制方法 | |
JP6540703B2 (ja) | メモリコントローラおよびメモリコントローラの制御方法 | |
JP2015507409A (ja) | 代数符号を用いるマルチフェーズecc符号化 | |
US20110029841A1 (en) | Semiconductor memory system having ecc circuit and controlling method thereof | |
JP2011198272A (ja) | 半導体記憶装置および半導体記憶装置の制御方法 | |
US10574272B2 (en) | Memory system | |
US20100100797A1 (en) | Dual mode error correction code (ecc) apparatus for flash memory and method thereof | |
US9431132B2 (en) | Data managing method, memory control circuit unit and memory storage apparatus | |
TWI397811B (zh) | 錯誤修正碼之編碼及解碼方法以及編碼解碼器 | |
JP7182373B2 (ja) | 半導体集積回路、記憶装置及びエラー訂正方法 | |
KR102663812B1 (ko) | 데이터의 인코딩과 디코딩을 위한 메모리 시스템 | |
JP2013069377A (ja) | 復号方法、復号装置および記憶装置 | |
JP2013201503A (ja) | チェンサーチ回路、復号器、記憶装置およびチェンサーチ方法 | |
KR20170056407A (ko) | 데이터의 인코딩과 디코딩을 위한 메모리 시스템 | |
KR101269851B1 (ko) | 아이에스디비-티 차집합 코드의 복호장치 | |
CN115276673A (zh) | 级联纠错码 | |
CN116743188A (zh) | 存储系统和控制存储系统的方法 | |
WO2018067238A1 (en) | Computing system with shift expandable coding mechanism and method of operation thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |