用来抑制数据错误的方法以及相关的记忆装置及其控制器的制作方法

文档序号:6601034阅读:194来源:国知局
专利名称:用来抑制数据错误的方法以及相关的记忆装置及其控制器的制作方法
技术领域
本发明涉及闪存(Flash Memory)的存取(Access),更具体地说,涉及一种用来抑制数据错误的方法以及相关的记忆装置及其控制器。
背景技术
近年来由于闪存的技术不断地发展,各种可携式记忆装置(例如符合SD/MMC、 CF、MS、XD标准的记忆卡)或具备闪存的固态硬盘(Solid StateDrive, SSD)被广泛地实施于诸多应用中。因此,这些记忆装置中的闪存的存取控制遂成为相当热门的议题。以常用的NAND型闪存而言,其主要可区分为单阶细胞(Single LevelCell, SLC) 与多阶细胞(Multiple Level Cell,MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆单元的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆单元的晶体管的储存能力则被充分利用,采用较高的电压来驱动,以透过不同级别的电压在一个晶体管中记录两组位元信息(00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的两倍,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的可携式记忆装置竞相采用的主流。 然而,多阶细胞闪存的不稳定性所导致的问题也一一浮现。为了确保记忆装置对闪存的存取控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理数据的存取。依据相关技术,有了这些管理机制的记忆装置还是有不足之处。举例来说,使用者可能基于其使用习惯而不断地写入具有某些特定数据型样的数据,而这些特定数据型样特别容易造成错误(例如写入错误、读取错误...等);虽然在记忆装置中设置有随机函数发生器(Randomizer)来调整数据以期解决这样的问题,却由于传统的低成本设计,以致调整后的数据不够随机。依据相关技术的典型实施方式,针对每一区段(Sector),该随机函数发生器的输入种子(Seed)的值恒不变(亦即,对每一区段而言,输入种子都保持同一个数值),故上述的问题并未真正地解决。因此,需要一种新颖的方法针对该控制器所存取的数据来进行妥善的数据型样管理,以减少错误的发生。

发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种用来抑制数据错误的方法以及相关的记忆装置及其控制器,以解决上述问题。本发明解决其技术问题所采用的技术方案之一是构造一种用来抑制数据错误的方法,该方法应用于一闪存(Flash Memory)的控制器,该闪存包含多个区块,该方法包含有依据欲于该闪存写入/读取的数据的一地址,判断是否利用一原始种子(Seed)作为一随机函数发生器(Randomizer)/解随机函数发生器(Derandomizer)的输入种子,其中该随机函数发生器/解随机函数发生器用来依据该输入种子产生一随机函数(RandomFunction),以供用来逐位元地调整该数据的多个位元,以及针对至少该些区块中的每一区块,该原始种子的值恒不变;当判断应利用该原始种子作为该输入种子时,将该原始种子输入至该随机函数发生器/解随机函数发生器,以依据该原始种子产生该随机函数来调整该数据;以及当判断不应利用该原始种子作为该输入种子时,将一新种子输入至该随机函数发生器/解随机函数发生器,以依据该新种子产生该随机函数来调整该数据。 本发明所述的方法,其另包含有提供一种子产生器,用来调整该原始种子以产生该新种子。本发明所述的方法,其中该原始种子包含多个位元,且该新种子包含多个位元;该种子产生器储存有一个或多个预定矩阵;以及该方法另包含有利用该原始种子以及该一个或多个预定矩阵中的一特定预定矩阵来进行运算,以产生该新种子。本发明所述的方法,其另包含有依据至少一索引,于该一个或多个预定矩阵中选出该特定预定矩阵,其中该至少一索引用来指出该数据所对应的区段(Sector)、字(Word)、及/或字节(Byte)。本发明所述的方法,其中判断是否利用该原始种子作为该随机函数发生器/解随机函数发生器的该输入种子的步骤另包含有当该地址落入一预定范围时,判断应利用该原始种子作为该输入种子;以及当该地址未落入该预定范围时,判断不应利用该原始种子作为该输入种子。本发明所述的方法,其中该预定范围对应于一区块、一页(Page)、一区段 (Sector)、或一更小的储存单位。本发明所述的方法,其中针对每一区块中的每一页(Page)或每一区段(Sector), 该原始种子的值恒不变。本发明解决其技术问题所采用的技术方案之二是构造一种记忆装置,其包含有 一闪存,该闪存包含多个区块;以及一控制器,用来存取(Access)该闪存以及管理该多个区块,并且另针对该控制器本身所存取的数据来抑制数据错误。另外,该控制器包含有一随机函数发生器/解随机函数发生器,用来依据一输入种子产生一随机函数,以供用来于该控制器接收到一写入/读取命令时逐位元地调整该数据的多个位元,其中该写入/读取命令用来指示该控制器于该闪存写入/读取该数据,该控制器依据该数据的一地址判断是否利用一原始种子作为该输入种子,以及针对至少该些区块中的每一区块,该原始种子的值恒不变。此外,当判断应利用该原始种子作为该输入种子时,该控制器将该原始种子输入至该随机函数发生器/解随机函数发生器,以依据该原始种子产生该随机函数来调整该数据;以及当判断不应利用该原始种子作为该输入种子时,该控制器将一新种子输入至该随机函数发生器/解随机函数发生器,以依据该新种子产生该随机函数来调整该数据。本发明所述的记忆装置,其中该控制器另包含有一种子产生器,用来调整该原始种子以产生该新种子。本发明所述的记忆装置,其中该原始种子包含多个位元,且该新种子包含多个位元;该种子产生器储存有一个或多个预定矩阵;以及该种子产生器利用该原始种子以及该一个或多个预定矩阵中的一特定预定矩阵来进行运算,以产生该新种子。本发明所述的记忆装置,其中该种子产生器依据至少一索弓丨,于该一个或多个预定矩阵中选出该特定预定矩阵;以及该至少一索引用来指出该数据所对应的区段 (Sector)、字(Word)、及 / 或字节(Byte)。本发明所述的记忆装置,其中当该地址落入一预定范围时,该控制器判断应利用该原始种子作为该输入种子;以及当该地址未落入该预定范围时,该控制器判断不应利用该原始种子作为该输入种子。本发明所述的记忆装置,其中该预定范围对应于一区块、一页(Page)、一区段 (Sector)、或一更小的储存单位。

本发明所述的记忆装置,其中针对每一区块中的每一页(Page)或每一区段 (Sector),该原始种子的值恒不变。本发明解决其技术问题所采用的技术方案之三是构造一种记忆装置的控制器, 该控制器用来存取一闪存,该闪存包含多个区块,该控制器包含有一只读存储器(Read Only Memory, ROM),用来储存一程序代码;一微处理器,用来执行该程序代码以控制对该闪存的存取以及管理该多个区块,并且另针对该控制器本身所存取的数据来抑制数据错误; 以及一随机函数发生器/解随机函数发生器,用来依据一输入种子产生一随机函数,以供用来于该控制器接收到一写入/读取命令时逐位元地调整该数据的多个位元,其中该写入 /读取命令用来指示该控制器于该闪存写入/读取该数据,该控制器依据该数据的一地址判断是否利用一原始种子作为该输入种子,以及针对至少该些区块中的每一区块,该原始种子的值恒不变。另外,当判断应利用该原始种子作为该输入种子时,该控制器将该原始种子输入至该随机函数发生器/解随机函数发生器,以依据该原始种子产生该随机函数来调整该数据;以及当判断不应利用该原始种子作为该输入种子时,该控制器将一新种子输入至该随机函数发生器/解随机函数发生器,以依据该新种子产生该随机函数来调整该数据。本发明所述的控制器,其另包含有一种子产生器,用来调整该原始种子以产生该新种子。本发明所述的控制器,其中该原始种子包含多个位元,且该新种子包含多个位元; 该种子产生器储存有一个或多个预定矩阵;以及该种子产生器利用该原始种子以及该一个或多个预定矩阵中的一特定预定矩阵来进行运算,以产生该新种子。本发明所述的控制器,其中该种子产生器依据至少一索引,于该一个或多个预定矩阵中选出该特定预定矩阵;以及该至少一索引用来指出该数据所对应的区段(Sector)、 字(Word)、及/或字节(Byte) 0本发明所述的控制器,其中当该地址落入一预定范围时,该控制器判断应利用该原始种子作为该输入种子;以及当该地址未落入该预定范围时,该控制器判断不应利用该原始种子作为该输入种子。本发明所述的控制器,其中该预定范围对应于一区块、一页(Page)、一区段 (Sector)、或一更小的储存单位。本发明所述的控制器,其中针对每一区块中的每一页(Page)或每一区段 (Sector),该原始种子的值恒不变。实施本发明的用来抑制数据错误的方法以及相关的记忆装置及其控制器,具有以下有益效果通过设计种子产生器,辅以配套的控制(例如控制讯号Co、Cl、与C2),本发明能针对控制器所存取的数据来进行妥善的数据型样管理,以减少错误的发生。另外,不会增加许多额外的成本,同时原始种子仍然可通过利用传统的低成本设计的架构来产生。因此,本发明可对控制器所存取的数据进行妥善的数据型样管理,减少了错误的发生,且整体成本不会增加太多。


下面将结合附图及实施例对本发明作进一步说明,附图中

图1为依据本发明一第一实施例的一种记忆装置的示意图;图2为依据本发明一实施例的一种用来抑制数据错误的方法的流程图;图3A与图3B分别为图2所示的方法于一实施例中所涉及的转换矩阵以及相对应的转换电路的示意图;图4A为图2所示的方法于一实施例中关于图1所示的种子产生器的实施细节;图4B为图2所示的方法于另一实施例中关于图1所示的种子产生器的实施细节;图5绘示图4B所示实施例中所涉及的一系列数值的示意图,其中这一系列数值可在不限制图1所示的随机函数发生器/解随机函数发生器的运作的循环(Cycle)次数的状况下而产生;图6为依据本发明一第二实施例的一种记忆装置当中的种子产生器的示意图。主要组件符号说明
权利要求
1.一种用来抑制数据错误的方法,该方法应用于一闪存的控制器,该闪存包含多个区块,其特征在于,该方法包含有依据欲于该闪存写入/读取的数据的一地址,判断是否利用一原始种子作为一随机函数发生器/解随机函数发生器的输入种子,其中该随机函数发生器/解随机函数发生器用来依据该输入种子产生一随机函数,以供用来逐位元地调整该数据的多个位元,以及针对至少该些区块中的每一区块,该原始种子的值恒不变;当判断应利用该原始种子作为该输入种子时,将该原始种子输入至该随机函数发生器 /解随机函数发生器,以依据该原始种子产生该随机函数来调整该数据;以及当判断不应利用该原始种子作为该输入种子时,将一新种子输入至该随机函数发生器 /解随机函数发生器,以依据该新种子产生该随机函数来调整该数据。
2.根据权利要求1所述的方法,其特征在于,其另包含有提供一种子产生器,用来调整该原始种子以产生该新种子。
3.根据权利要求2所述的方法,其特征在于,其中该原始种子包含多个位元,且该新种子包含多个位元;该种子产生器储存有一个或多个预定矩阵;以及该方法另包含有利用该原始种子以及该一个或多个预定矩阵中的一特定预定矩阵来进行运算,以产生该新种子。
4.根据权利要求3所述的方法,其特征在于,其另包含有依据至少一索引,于该一个或多个预定矩阵中选出该特定预定矩阵,其中该至少一索引用来指出该数据所对应的区段、字、及/或字节。
5.根据权利要求1所述的方法,其特征在于,其中判断是否利用该原始种子作为该随机函数发生器/解随机函数发生器的该输入种子的步骤另包含有当该地址落入一预定范围时,判断应利用该原始种子作为该输入种子;以及当该地址未落入该预定范围时,判断不应利用该原始种子作为该输入种子。
6.根据权利要求5所述的方法,其特征在于,其中该预定范围对应于一区块、一页、一区段、或一更小的储存单位。
7.根据权利要求1所述的方法,其特征在于,其中针对每一区块中的每一页或每一区段,该原始种子的值恒不变。
8.—种记忆装置,其特征在于,其包含有一闪存,该闪存包含多个区块;以及一控制器,用来存取该闪存以及管理该多个区块,并且另针对该控制器本身所存取的数据来抑制数据错误,其中该控制器包含有一随机函数发生器/解随机函数发生器,用来依据一输入种子产生一随机函数,以供用来于该控制器接收到一写入/读取命令时逐位元地调整该数据的多个位元,其中该写入 /读取命令用来指示该控制器于该闪存写入/读取该数据,该控制器依据该数据的一地址判断是否利用一原始种子作为该输入种子,以及针对至少该些区块中的每一区块,该原始种子的值恒不变;其中当判断应利用该原始种子作为该输入种子时,该控制器将该原始种子输入至该随机函数发生器/解随机函数发生器,以依据该原始种子产生该随机函数来调整该数据;以及当判断不应利用该原始种子作为该输入种子时,该控制器将一新种子输入至该随机函数发生器/解随机函数发生器,以依据该新种子产生该随机函数来调整该数据。
9. 一种记忆装置的控制器,该控制器用来存取一闪存,该闪存包含多个区块,其特征在于,该控制器包含有一只读存储器,用来储存一程序代码;一微处理器,用来执行该程序代码以控制对该闪存的存取以及管理该多个区块,并且另针对该控制器本身所存取的数据来抑制数据错误;以及一随机函数发生器/解随机函数发生器,用来依据一输入种子产生一随机函数,以供用来于该控制器接收到一写入/读取命令时逐位元地调整该数据的多个位元,其中该写入 /读取命令用来指示该控制器于该闪存写入/读取该数据,该控制器依据该数据的一地址判断是否利用一原始种子作为该输入种子,以及针对至少该些区块中的每一区块,该原始种子的值恒不变;其中当判断应利用该原始种子作为该输入种子时,该控制器将该原始种子输入至该随机函数发生器/解随机函数发生器,以依据该原始种子产生该随机函数来调整该数据;以及当判断不应利用该原始种子作为该输入种子时,该控制器将一新种子输入至该随机函数发生器/解随机函数发生器,以依据该新种子产生该随机函数来调整该数据。
全文摘要
本发明涉及一种用来抑制数据错误的方法以及相关的记忆装置及其控制器,该方法应用于一闪存的控制器,该闪存包含多个区块,该方法包含有依据欲于该闪存写入/读取的数据的一地址,判断是否利用一原始种子作为一随机函数发生器/解随机函数发生器的输入种子,其中该随机函数发生器/解随机函数发生器用来依据该输入种子产生一随机函数,以供用来逐位元地调整该数据的多个位元,以及针对至少该些区块中的每一区块,该原始种子的值恒不变;以及当判断不应利用该原始种子作为该输入种子时,依据一新种子产生该随机函数来调整该数据。本发明可对控制器所存取的数据进行妥善的数据型样管理,减少了错误的发生,且整体成本不会增加太多。
文档编号G06F11/00GK102236584SQ20101015151
公开日2011年11月9日 申请日期2010年4月20日 优先权日2010年4月20日
发明者官启智, 陈俊谕 申请人:慧荣科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1