提升错误更正能力的方法以及相关的记忆装置及其控制器的制作方法

文档序号:6601035阅读:160来源:国知局
专利名称:提升错误更正能力的方法以及相关的记忆装置及其控制器的制作方法
技术领域
本发明涉及闪存(Flash Memory)控制芯片的错误更正技术领域,更具体地说,涉及一种不需要增加错误更正码引擎(Error Correction Code Engine, ECC Engine)编/解码位数就能提升一记忆装置的控制器的错误更正能力的方法以及相关的记忆装置及其控制器。
背景技术
近年来由于闪存的技术不断地发展,各种可携式记忆装置(例如符合SD/MMC、 CF、MS、XD标准的记忆卡)被广泛地实施于诸多应用中。因此,这些可携式记忆装置中的闪存的存取控制遂成为相当热门的议题。以常用的NAND型闪存而言,其主要可区分为单阶细胞(Single LevelCell, SLC) 与多阶细胞(Multiple Level Cell,MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆单元的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆单元的晶体管的储存能力则被充分利用,采用较高的电压来驱动,以透过不同级别的电压在一个晶体管中记录两组位信息(例如00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的两倍以上,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的可携式记忆装置竞相采用的主流。 然而,多阶细胞闪存的不稳定性所导致的问题也一一浮现。针对这诸多问题,虽然相关技术中提供了一些解决方式,却总是无法兼顾运作效能与系统资源使用控管。于是,不论采取哪个解决方式,往往会有对应的副作用。尤其是,依据相关技术所实现的错误更正通常并未用完闪存的所有的储存空间, 其中剩余的储存空间不能用来储存数据,实在相当浪费。请注意,相关技术中未能用完闪存的所有的储存空间的典型原因是,一旦增加错误更正码引擎(Error Correction Code Engine, ECC Engine)编/解码位数,错误更正码引擎的成本会大幅地增加;例如,针对IK 数据将编/解码位数由24位提升至36位,会造成错误更正码引擎的芯片面积大增,约增加为1. 5倍。因此,需要一种新颖的方法来加强控管闪存的数据存取,以兼顾运作效能与系统资源使用控管。

发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种提升错误更正能力的方法以及相关的记忆装置及其控制器,以解决上述问题,同时,可妥善利用上述剩余的储存空间。本发明解决其技术问题所采用的技术方案之一是构造一种提升错误更正能力的方法,该方法应用于一记忆装置的控制器,该方法不需要增加错误更正码引擎(ErrorCorrection Code Engine, ECC Engine)编/解码位数就能提升该控制器的错误更正能力, 该方法包含有针对一数据位元阵列的复数列,分别计算复数个第一奇偶校验码(Parity Code);针对该数据位元阵列的复数行所形成的复数组,分别计算复数个第二奇偶校验码, 其中该些组中的每一组包含该些行中的两行或更多行,且该些组彼此不重叠;以及进行对应于该些第一、第二奇偶校验码的编/解码。本发明所述的方法,其中针对该数据位元阵列的该些列分别计算该些第一奇偶校验码的步骤另包含有针对该些列中的每一列,计算一第一奇偶校验码;其中针对该数据位元阵列的该些行所形成的该些组分别计算该些第二奇偶校验码的步骤另包含有针对该些组中的每一组,计算一第二奇偶校验码。本发明所述的方法,其中该些组各自的行数彼此相等。本发明所述的方法,其中每一组的数据位元的数量等于每一列的数据位元的数量。本发明所述的方法,其中每一列的字节(Byte)的数量等于每一组的行的数量;以及该些列的数量等于该些组的数量。本发明所述的方法,其中每一列具有1024字节的数据,且该些列的数量等于8 ;每一组具有该些行中的1024行,且该些组的数量等于8 ;以及每一第一奇偶校验码具有42字节,且每一第二奇偶校验码具有14字节。本发明所述的方法,其中该数据位元阵列以及该些第一、第二奇偶校验码储存于该记忆装置中的一闪存(Flash Memory) 0本发明所述的方法,其中进行对应于该些第一、第二奇偶校验码的编/解码的步骤更包含当利用该些第一奇偶校验码中的一第一奇偶校验码针对相对应的一列进行解码时,若侦测到该列具有无法更正的错误,则利用该些第二奇偶校验码中的至少一第二奇偶校验码进行解码,以更正该无法更正的错误。本发明解决其技术问题所采用的技术方案之二是构造一种记忆装置,其错误更正能力在不需要增加错误更正码引擎编/解码位数的状况下就能提升,该记忆装置包含有一闪存(Flash Memory),该闪存包含复数个区块;以及一控制器,用来存取(Access)该闪存以及管理该复数个区块。该控制器的错误更正码引擎通过利用该控制器中的微处理器及/或控制逻辑来实施,以及该错误更正码引擎包含有一第一奇偶校验码计算模块;以及复数个第二奇偶校验码计算模块。该第一奇偶校验码计算模块用来针对一数据位元阵列的复数列,分别计算复数个第一奇偶校验码。另外,该些第二奇偶校验码计算模块用来针对该数据位元阵列的复数行所形成的复数组,分别计算复数个第二奇偶校验码,其中该些组中的每一组包含该些行中的两行或更多行,且该些组彼此不重叠。此外,该错误更正码引擎用来进行对应于该些第一、第二奇偶校验码的编/解码。本发明所述的记忆装置,其中该第一奇偶校验码计算模块针对该些列中的每一列,计算一第一奇偶校验码;以及每一第二奇偶校验码计算模块针对该些组中的一组,计算
一第二奇偶校验码。
本发明所述的记忆装置,其中该些组各自的行数彼此相等。本发明所述的记忆装置,其中每一组的数据位元的数量等于每一列的数据位元的数量。本发明所述的记忆装置,其中每一列的字节(Byte)的数量等于每一组的行的数量;以及该些列的数量等于该些组的数量。本发明所述的记忆装置,其中每一列具有1024字节的数据,且该些列的数量等于 8 ;每一组具有该些行中的1024行,且该些组的数量等于8 ;以及每一第一奇偶校验码具有 42字节,且每一第二奇偶校验码具有14字节。本发明所述的记忆装置,其中在该错误更正码引擎用来进行对应于该些第一、第二奇偶校验码的编码的状况下,该控制器将该数据位元阵列以及该些第一、第二奇偶校验码储存于该闪存。本发明所述的记忆装置,其中在该错误更正码引擎用来进行对应于该些第一、第二奇偶校验码的解码的状况下,该数据位元阵列读取自该闪存,并且该错误更正码引擎依据透过计算所取得的该些第一、第二奇偶校验码以及读取自该闪存的第一、第二奇偶校验码进行错误侦测或错误更正。本发明所述的记忆装置,其中当利用该些第一奇偶校验码中的一第一奇偶校验码针对相对应的一列进行解码时,若侦测到该列具有无法更正的错误,则该错误更正码引擎利用该些第二奇偶校验码中的至少一第二奇偶校验码进行解码,以更正该无法更正的错误。本发明解决其技术问题所采用的技术方案之三是构造一种记忆装置的控制器, 其错误更正能力在不需要增加错误更正码引擎编/解码位数的状况下就能提升,该控制器用来存取该记忆装置中的一闪存,该闪存包含复数个区块,该控制器包含有一只读存储器 (Read Only Memory,ROM),用来储存一程序代码;以及一微处理器,用来执行该程序代码以控制对该闪存的存取以及管理该复数个区块。该控制器的错误更正码引擎通过利用该控制器中的控制逻辑及/或执行该程序代码的该微处理器来实施,以及该错误更正码引擎包含有一第一奇偶校验码计算模块;以及复数个第二奇偶校验码计算模块。该第一奇偶校验码计算模块用来针对一数据位元阵列的复数列,分别计算复数个第一奇偶校验码。另外, 该些第二奇偶校验码计算模块用来针对该数据位元阵列的复数行所形成的复数组,分别计算复数个第二奇偶校验码,其中该些组中的每一组包含该些行中的两行或更多行,且该些组彼此不重叠。此外,该错误更正码引擎用来进行对应于该些第一、第二奇偶校验码的编/ 解码。本发明所述的控制器,其中该第一奇偶校验码计算模块针对该些列中的每一列, 计算一第一奇偶校验码;以及每一第二奇偶校验码计算模块针对该些组中的一组,计算一第二奇偶校验码。本发明所述的控制器,其中该些组各自的行数彼此相等。本发明所述的控制器,其中每一组的数据位元的数量等于每一列的数据位元的数量。本发明所述的控制器,其中每一列的字节(Byte)的数量等于每一组的行的数量; 以及该些列的数量等于该些组的数量。
本发明所述的控制器,其中每一列具有1024字节的数据,且该些列的数量等于8 ; 每一组具有该些行中的1024行,且该些组的数量等于8 ;以及每一第一奇偶校验码具有42 字节,且每一第二奇偶校验码具有14字节。本发明所述的控制器,其中在该错误更正码引擎用来进行对应于该些第一、第二奇偶校验码的编码的状况下,该控制器将该数据位元阵列以及该些第一、第二奇偶校验码储存于该闪存。本发明所述的控制器,其中在该错误更正码引擎用来进行对应于该些第一、第二奇偶校验码的解码的状况下,该数据位元阵列读取自该闪存,并且该错误更正码引擎依据透过计算所取得的该些第一、第二奇偶校验码以及读取自该闪存的第一、第二奇偶校验码进行错误侦测或错误更正。本发明所述的控制器,其中当利用该些第一奇偶校验码中的一第一奇偶校验码针对相对应的一列进行解码时,若侦测到该列具有无法更正的错误,则该错误更正码引擎利用该些第二奇偶校验码中的至少一第二奇偶校验码进行解码,以更正该无法更正的错误。实施本发明的升错误更正能力的方法以及相关的记忆装置及其控制器,具有以下有益效果不需要增加错误更正码引擎编/解码位数就能提升记忆装置的控制器的错误更正能力,且所实现的错误更正可妥善利用剩余的储存空间,不会造成浪费。因此,本发明在不增加芯片面积及相关成本的状况下就能达到兼顾运作效能与系统资源使用控管的目标。


下面将结合附图及实施例对本发明作进一步说明,附图中图1为依据本发明一第一实施例的一种记忆装置的示意图;图2为图1所示的存储器控制器中的错误更正码引擎(Error CorrectionCode Engine, ECC Engine)的功能方块图;图3为依据本发明一实施例的一种提升错误更正能力的方法的流程图;图4为图3所示的方法所涉及的数据位元阵列以及第一、第二奇偶校验码(Parity Code)的示意图;图5绘示于一实施例中图4所示的第二奇偶校验码如何对应于其所属的组中的数据位元的排列顺序,其中本实施例为图4所示实施例的一特例;图6绘示另一实施例中图4所示的第二奇偶校验码如何对应于其所属的组中的数据位元的排列顺序,其中本实施例为图5所示实施例的变化例;图7绘示图2所示的第一奇偶校验码计算模块于图5所示实施例中的实施细节;图8绘示图2所示的第二奇偶校验码计算模块于图5所示实施例中的实施细节;图9绘示图2所示的错误更正码引擎于图3所示实施例中关于解码的实施细节;图10绘示图3所示的方法于一实施例中关于解码的实施细节。主要组件符号说明
权利要求
1.一种提升错误更正能力的方法,该方法应用于一记忆装置的控制器,该方法不需要增加错误更正码引擎(Error Correction Code Engine, ECCEngine)编/解码位元数就能提升该控制器的错误更正能力,其特征在于,该方法包含有针对一数据位元阵列的复数列,分别计算复数个第一奇偶校验码(Parity Code);针对该数据位元阵列的复数行所形成的复数组,分别计算复数个第二奇偶校验码,其中该些组中的每一组包含该些行中的两行或更多行,且该些组彼此不重叠;以及进行对应于该些第一、第二奇偶校验码的编/解码。
2.根据权利要求1所述的方法,其特征在于,其中针对该数据位元阵列的该些列分别计算该些第一奇偶校验码的步骤另包含有针对该些列中的每一列,计算一第一奇偶校验码;其中针对该数据位元阵列的该些行所形成的该些组分别计算该些第二奇偶校验码的步骤另包含有针对该些组中的每一组,计算一第二奇偶校验码。
3.根据权利要求1所述的方法,其特征在于,其中该些组各自的行数彼此相等。
4.根据权利要求3所述的方法,其特征在于,其中每一组的数据位元的数量等于每一列的数据位元的数量。
5.根据权利要求4所述的方法,其特征在于,其中每一列的字节(Byte)的数量等于每一组的行的数量;以及该些列的数量等于该些组的数量。
6.根据权利要求5所述的方法,其特征在于,其中每一列具有1024字节的数据,且该些列的数量等于8 ;每一组具有该些行中的1024行,且该些组的数量等于8 ;以及每一第一奇偶校验码具有42字节,且每一第二奇偶校验码具有14字节。
7.根据权利要求1所述的方法,其特征在于,其中该数据位元阵列以及该些第一、第二奇偶校验码储存于该记忆装置中的一闪存(Flash Memory) 0
8.根据权利要求1所述的方法,其特征在于,其中进行对应于该些第一、第二奇偶校验码的编/解码的步骤更包含当利用该些第一奇偶校验码中的一第一奇偶校验码针对相对应的一列进行解码时,若侦测到该列具有无法更正的错误,则利用该些第二奇偶校验码中的至少一第二奇偶校验码进行解码,以更正该无法更正的错误。
9.一种记忆装置,其错误更正能力在不需要增加错误更正码引擎(ErrorCorrection Code Engine, ECC Engine)编/解码位数的状况下就能提升,其特征在于,该记忆装置包含有一闪存(Flash Memory),该闪存包含复数个区块;以及一控制器,用来存取(Access)该闪存以及管理该复数个区块,其中该控制器的错误更正码引擎通过利用该控制器中的微处理器及/或控制逻辑来实施,以及该错误更正码引擎包含有一第一奇偶校验码(Parity Code)计算模块,用来针对一数据位元阵列的复数列,分别计算复数个第一奇偶校验码;以及复数个第二奇偶校验码计算模块,用来针对该数据位元阵列的复数行所形成的复数组,分别计算复数个第二奇偶校验码,其中该些组中的每一组包含该些行中的两行或更多行,且该些组彼此不重叠;其中该错误更正码引擎用来进行对应于该些第一、第二奇偶校验码的编/解码。
10. 一种记忆装置的控制器,其错误更正能力在不需要增加错误更正码引擎(Error Correction Code Engine,ECC Engine)编/解码位数的状况下就能提升,该控制器用来存取(Access)该记忆装置中的一闪存(FlashMemory),该闪存包含复数个区块,其特征在于, 该 控制器包含有一只读存储器(Read Only Memory, ROM),用来储存一程序代码;以及一微处理器,用来执行该程序代码以控制对该闪存的存取以及管理该复数个区块; 其中该控制器的错误更正码引擎通过利用该控制器中的控制逻辑及/或执行该程序代码的该微处理器来实施,以及该错误更正码引擎包含有一第一奇偶校验码(Parity Code)计算模块,用来针对一数据位元阵列的复数列,分别计算复数个第一奇偶校验码;以及复数个第二奇偶校验码计算模块,用来针对该数据位元阵列的复数行所形成的复数组,分别计算复数个第二奇偶校验码,其中该些组中的每一组包含该些行中的两行或更多行,且该些组彼此不重叠;其中该错误更正码引擎用来进行对应于该些第一、第二奇偶校验码的编/解码。
全文摘要
本发明涉及一种提升错误更正能力的方法以及相关的记忆装置及其控制器,该方法包含有针对一数据位元阵列的复数列,分别计算复数个第一奇偶校验码;针对该数据位元阵列的复数行所形成的复数组,分别计算复数个第二奇偶校验码,其中该些组中的每一组包含该些行中的两行或更多行,且该些组彼此不重叠;以及进行对应于该些第一、第二奇偶校验码的编/解码。本发明另提供相关的记忆装置及其控制器。本发明不需要增加错误更正码引擎编/解码位数就能提升记忆装置的控制器的错误更正能力,且所实现的错误更正可妥善利用剩余的储存空间,不会造成浪费。因此,本发明在不增加芯片面积及相关成本的状况下就能达到兼顾运作效能与系统资源使用控管的目标。
文档编号G06F11/08GK102236585SQ20101015151
公开日2011年11月9日 申请日期2010年4月20日 优先权日2010年4月20日
发明者杨宗杰 申请人:慧荣科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1