译码的方法与电路、存储器控制器、储存装置、控制器与流程

文档序号:12133403阅读:242来源:国知局
译码的方法与电路、存储器控制器、储存装置、控制器与流程

本发明涉及错误更正处理的控制,尤其涉及一种用来对一错误更正码(Error Correction 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)以找出所述假定错误定位器多项式的根;依据所述假定错误定位器多项式的根更正所述错误更正码,以产生所述错误更正码的一更正结果;以及对所述更正结果进行至少一校验运作,以选择性地利用所述更正结果作为所述错误更正码的一译码结果。

本发明于公开上述方法的同时,还对应地公开一种用来对一错误更正码进行译码的译码电路,所述译码电路包括一错误症状码计算模块、一错误定位器多项式决定模块、一秦氏搜寻模块、一错误更正模块、一校验(Check)模块、以及一控制模块。所述错误症状码计算模块是用来计算所述错误更正码的一组错误症状码,其中所述错误更正码是一t-错误更正码、且具有更正t个错误的能力,以及所述组错误症状码的数量s小于t。另外,所述错误定位器多项式决定模块是用来依据所述组错误症状码中的至少一部分错误症状码,依序决定所述错误更正码的一错误定位器多项式的多个系数中的一组系数,以供建立一假定错误定位器多项式,其中所述多个系数的数量等于t,以及所述组系数的数量等于s。此外,所述秦氏搜寻模块是用来执行一秦氏搜寻以找出所述假定错误定位器多项式的根,而所述错误更正模块是用来依据所述假 定错误定位器多项式的根更正所述错误更正码,以产生所述错误更正码的一更正结果,并且所述校验模块是用来对所述错误更正码的所述更正结果进行至少一校验运作,以产生至少一校验结果。此外,所述控制模块是用来控制所述译码电路的运作,其中在所述控制模块的控制下,所述译码电路依据所述至少一校验运作的所述至少一校验结果,选择性地利用所述更正结果作为所述错误更正码的一译码结果。

本发明于公开上述译码电路的同时,还对应地公开一种存储器控制器(Memory Controller),其包括上述的译码电路。

本发明于公开上述译码电路的同时,还对应地公开一种储存装置(Storage Device),其包括上述的译码电路。

本发明于公开上述译码电路的同时,还对应地公开一种电子装置的控制器(Controller),其中所述控制器包括上述的译码电路。

本发明的有益之处在于,相较于传统的数据处理方法,本发明的方法以及相对应的译码电路可大幅地提升错误更正处理的效能。另外,本发明的方法以及相对应的译码电路可大幅地降低存储器控制器当中关于错误更正处理的功率损耗。

附图说明

图1为依据本发明一实施例的一种用来对一错误更正码(Error Correction Code)进行译码的译码电路的示意图。

图2为依据本发明一实施例的一种用来对一错误更正码进行译码的方法的流程图。

图3为图2所示方法于一实施例中所涉及的工作流程。

图4为图2所示方法于另一实施例中所涉及的工作流程。

图5为依据本发明一实施例的一种具备图1所示译码电路的储存装置(Storage Device)的示意图。

图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 Correction Code)进行译码的译码电路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 Correcting Code)、且具有更正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)运算,以产生一组奇偶校验不吻合(Parity Mismatch)位,其中所述所述组奇偶校验 不吻合位可称为差异(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的储存装置(Storage Device)500的示意图,其中图2所示的译码方法200可应用于图5所示的储存装置500(特别是其内的译码电路100)。为了便于理解,本实施例的储存装置500可为一可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的某些变化例,储存装置500可为其它类型的记忆装置,诸如固态硬盘(Solid State Drive,SSD)。

如图5所示,储存装置500包括有:一闪存(Flash Memory)520;以及一控制器,用来存取闪存520,其中所述控制器可为一储存控制器,诸如一存储器控制器510(Memory Controller)。依据本实施例,存储器控制器510包括一微处理器512、一只读存储器(Read Only 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所实施的所述电子装置的整体效能更为强大。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1