非易失性存储器的存储器管理方法及使用此方法的控制器的制作方法

文档序号:6782837阅读:110来源:国知局
专利名称:非易失性存储器的存储器管理方法及使用此方法的控制器的制作方法
技术领域
本发明涉及一种存储器管理方法及控制器,且特别是涉及一种用于非易 失性存储器的存储器管理方法以及使用此方法的控制器。
背景技术
数字相机、手机相机与MP3在这几年来的成长十分迅速,使得消费者对 储存媒体的需求也急速增加,由于闪速存储器(Flash Memory)具有非易失 性、省电、体积小与无机械结构等的特性,适合便携式应用,最适合使用于 这类便携式电子产品上。除了便携式电子产品内建存储器需要之外,对于小 型存储卡与随身盘等外接式产品来说,每个人可能同时拥有多个随身盘与小
型存储卡。因此,近年闪速存储器产业成为电子产业中相当热门的一环。
虽然闪速存储器具有可写入、可擦除、以及断电后仍可保存数据的优点。 然而,闪速存储器区块的擦除次数是有限的,例如存储器区块擦除一万次后 就会磨损。当存储器区块磨损导致储存容量的部分的使用损失或性能的明显 退化时,会产生使用者储存数据的损失或无法储存lt据等不利影响。
闪速存储器区块的磨损取决于每一区块中被程序(program)或擦除的 次数。也就是,若一区块仅被程序(或者写入) 一次,而后未被再程序时, 则此区块的磨损将相对地低,反之,若一区块被重复地程序与擦除时,则此 区块的磨损就会相对地高。例如,当存取存储器区块的主机重复地使用相同 逻辑区块地址来写入数据时,则闪速存储器内的相同实体位置的区块会被重 复地写入与擦除。
当某些区块被磨损同时其它区块相对地未磨损时, 一般而言磨损区块的 存在会降低闪速存储器的性能。除了磨损区块本身性能的退化之外,当未磨 损的区块不足以储存数据时,闪速存储器整体的性能也会降低。也就是,当 闪速存储器发生超过一阈值数的磨损区块时,即使仍有其它区块未磨损,此 闪速存储器也会被判为无法再使用。当实质上未磨损区块被视为无法使用 时,将造成资源实际上的浪费。为了增加闪速存储器的寿命, 一般会尽可能平均地^使用闪速存储器的区 块。
一般来说,闪速存储器的区块可区分为数据区与备用区,传统存储器管 理的方法是循序地在闪速存储器每执行一段时间时将数据区中的区块与备 用区中的区块做逻辑上交换,以期使得擦除次数较少的区块可被交换至备用 区以供程序(或写入)使用。
然而, 一般在执行存储器管理程序时,都是根据区块的擦除次数找寻数 据区块来交换数据,但是这样只针对区块的擦除次数来选取的方式并未考虑 到区块读取所造成的影响,而随着闪速存储器成本的下降,闪速存储器芯片 的效能与稳定性也受到一定程度的影响,连带使得闪速存储器的寿命除了会
受到写入次数的限制外,读取次数过多将会产生读扰(read disturb)的问 题,而数据太久没使用也会产生数据维持(data retention)问题,这些问 题会随着闪速存储器的稳定性的下降而越来越严重。
因此,有需要发展一种存储器管理方法,以有效地延长闪速存储器的寿命。

发明内容
有鉴于此,本发明提供一种非易失性存储器的存储器管理方法,通过将 数据写入各个区块的时间顺序加入数据搬移判断法则,以避免有区块太久没 被写入而造成数据遗失。
本发明提供一种控制器,优先选择产生错误检测校正码(Error Correction Code, ECC )纠正位数较多的区块进行4般移,避免因区块读取错 误而造成数据遗失。
为到上述或其它目的,本发明提出一种非易失性存储器的存储器管理方 法,其中非易失性存储器实质上分割为多个区块,此方法包括下列步骤(a) 记录每一个区块的非擦除次数信息,其中该存储单元包含至少一个区块。(b) 以非擦除次数信息为参数建立一评量值,并依据评量值决定存储单元上的至 少 一 区块的数据是否该搬移至其它存储单元。
在本发明的一实施例中,上述的非擦除次数信息为区块的使用顺序、错 误检测校正码纠正位数、读取次数、使用时间或闲置时间。
在本发明的一实施例中,上述的存储单元为单一区块(Block )。
在本发明的一实施例中,上述步骤(b)是利用各个区块的使用顺序加权
6擦除次数做为评量值。
在本发明的一实施例中,上述的存储单元为具有多个区块的群组。 在本发明的一实施例中,上述步骤(b)是利用各个群组的使用顺序加权
擦除次数做为评量值。
在本发明的一实施例中,上述步骤(b)是利用各个区块的错误检测校正 码纠正位数加权擦除次数做为评量值。
在本发明的 一 实施例中,上述步骤(b)是利用各个区块的闲置时间加权 擦除次数做为评量值。
在本发明的一实施例中,上述步骤(b)包括判断存储单元中最近一次写 入至目前所经过的闲置时间是否超过预设时间,而当其闲置时间超过预设时 间时,将这些存储单元上的数据搬移至其它存储单元。
在本发明的一实施例中,上述步骤(b)包括计算各个区块最近一次写入 至目前所经过的闲置时间,并分配各个群组一个权重值,用以加权擦除次数 做为评量值。
在本发明的一实施例中,上述步骤(b)是在判断非易失性存储器曾经断 电时才丸行。
在本发明的 一 实施例中,上述搬移区块的数据的单位为 一 个页。 在本发明的一实施例中,上述的方法还包括将这些区块的数据复制至寄
存器,而于接收一主机端指令前,由寄存器将数据复制至其它区块。
在本发明的一实施例中,上述的方法还包括将这些区块的数据搬复制寄
存器,而于接收一主机端指令前,将这些区块的数据由原区块搬移至其它区块。
在本发明的一实施例中,上述步骤(b)包括计算各个区块被读取时所产 生的错误检测校正码纠正位数,并判断此错误检测校正码纠正位数是否超过 一第一阈值,而当此错误检测校正码纠正位数超过第一阈值时,标记或加权 对应的区块,并在下次搬移这些区块上的数据时,优先选取此区块进行数据 摘i移。
在本发明的 一实施例中,上述的非易失性存储器包括闪速存储器。 本发明提出一种控制器,其包括微处理单元、主机连结接口、存储器连 结接口及存储器管理模块。其中,微处理单元用以控制控制器的整体运作。 主机连结接口用以耦接主机端及微处理单元。存储器连结接口用以耦接非易失性存储器及微处理单元,其中此非易失性存储器实质上分割为多个区块。 存储器管理模块耦接至微处理单元,用以通过微处理单元对非易失性存储器
执行存储器管理(wear leveling)程序。其中,存储器管理模块包括记录 非易失性存储器中多个具有至少一区块的存储单元的非擦除次数信息,并以 非擦除次数信息为参数建立一评量值,且依据评量值决定存储单元上至少一 区块的数据是否该搬移至其它存储单元。
在本发明的一实施例中,上述的控制器还包括一个储存单元,其用以寄 存这些存储单元的数据,而于接收一主机端指令前,将这些存储单元的数据 搬移至其它存储单元。
在本发明的一实施例中,上述的非擦除次数信息为区块的使用顺序、错 误检测校正码纠正位数、读取次数、使用时间或闲置时间。
在本发明的一实施例中,上述的存储单元为单一区块。
在本发明的一实施例中,当非擦除次数信息达到一阔值时,强制将这些 存储单元上的数据搬移至其它存储单元。
在本发明的 一 实施例中,上述的存储器管理模块包括利用各个区块的使 用顺序加权区块的擦除次数做为评量值。
在本发明的 一 实施例中,上述的存储单元为具有多个区块的群组。
在本发明的一实施例中,上述的存储器管理模块是利用这些群组的使用 顺序加权擦除次数做为评量值。
在本发明的一实施例中,上述的存储器管理模块是利用备个区块的错误 检测校正码纠正位数加权擦除次数做为评量值。
在本发明的一实施例中,上述的存储器管理模块是利用各个区块的闲置 时间加权擦除次数做为评量值。
在本发明的一实施例中,上述的存储器管理模块是判断这些存储单元中 最近一次写入至目前所经过的闲置时间是否超过一预设时间,而当闲置时间 超过预设时间时,将这些存储单元上的数据搬移至其它存储单元。
在本发明的一实施例中,上述的存储器管理模块是计算各个群组最近一 次写入至目前所经过的闲置时间,并分配各个群组一个权重值,用以加权擦 除次数做为评量值。
在本发明的一实施例中,上述的存储器管理模块是在判断非易失性存储 器曾经断电时,将这些区块上的数据搬移至其它区块。在本发明的一实施例中,上述的存储器管理模块是计算各个区块被读取 时所产生的错误检测校正码纠正位数,并判断此错误检测校正码纠正位数是 否超过一第一阈值,而当错误检测校正码纠正位数超过第一阈值时,标记或 加权对应的区块,并在下次搬移这些区块上的数据时,优先选取此区块进行 数据搬移。
在本发明的一实施例中,上述的非易失性存储器包括闪速存储器。 本发明采用记录各个区块的使用顺序、错误检测校正码纠正位数、读取 次数、使用时间及闲置时间的结构,在进行存储器管理程序时,除了各个区 块的擦除次数的因素外,额外加上非擦除次数信息的加成判断,可有效避免 区块因太久没被写入而造成数据遗失。此外,本发明也包括在读取数据时, 记录其所产生的错误检测校正码纠正位数,并加权到擦除次数上做为搬移数 据的顺序,可解决读取干扰与数据维持的问题。
为使本发明的上述和其它目的、特征和优点能更明显易懂,下文特举较 佳实施例,并结合附图详细说明如下。


图1是依照本发明一实施例所绘示的非易失性存储器的存储器管理方 法流程图。
图2是依照本发明一实施例所绘示的非易失性存储器的存储器管理方法 流程图。
图3是依照本发明一实施例所绘示的非易失性存储器的存储器管理方法 流程图。
图4是依照本发明一实施例所绘示的控制器的方块图。
附图符号说明 400:控制器 410:微处理单元 420:主4几连结接口 430:存储器连结接口 440:储存单元 450:存储器管理模块S110-S130:本发明一实施例的非易失性存储器的存储器管理方法的各
步骤
S210-S240:本发明一实施例的非易失性存储器的存储器管理方法的各
步骤
S310-S340:本发明一实施例的非易失性存储器的存储器管理方法的各
步骤
具体实施例方式
一般控制器会针对区块写入或擦除次数去进行数据搬移,但为了解决读 取干扰(read disturb)与数据维持(data retent ion )的问题,本发明提 出了一种将非易失性存储器内区块的使用顺序、错误检测校正码(Error Correction Code, ECC)纠正位数、读取次数、使用时间及或闲置时间等非 擦除次数信息加入数据搬移判断法则的方法,在控制器内部记录各个区块的 非擦除次数信息,而在进行存储器管理(wear leveling )程序时,除了判 断可以哪个区块的擦除次数为参数外,也可单以非擦除次数信息或两者都利 用来决定哪些区块上的数据需搬移至其它区块,以增加非易失性存储器的使 用寿命及避免有些储存于非易失性存储器的数据因太久没被重写而形成数 据遗失的问题发生。本发明即是基于上述概念所发展出来的一套非易失性存 储器的存储器管理方法与使用此方法的控制器。为了 ^f吏本发明的内容更为明 了,以下特举实施例作为本发明确实能够据以实施的范例。其中必须了解的 是,在以下描述中使用"提取"、"搬移"等词来操作闪速存储器区块是逻辑上 的概念。也就是说,闪速存储器实体区块的实际位置并未更动,而是逻辑上 对闪速存储器实体区块进行操作。
第一实施例
图1是依照本发明一实施例所绘示的非易失性存储器的存储器管理方 法流程图。请参考图1,本实施例的非易失性存储器例如是一个闪速存储器, 其实质上可分割为多个区块,而可通过配置其中的控制器来执行存储器管理 程序,以具有至少一区块的存储单元为单位来管理,以降低其数据遗失的可 能性。其中,所述存储单元可以是单一区块(block)或是具有多个区块的群 组。此方法的步骤如下
首先,记录非易失性存储器中多个存储单元的非擦除次数信息(步骤SllO)。其中,在控制器的内部会有一个记录存储单元使用状况的表格,其 可用以记录各个存储单元的使用顺序、错误;险测校正码纠正位数、读取次数、 使用时间或闲置时间等非擦除次数信息。
举例来说,在执行数据写入时,控制器就可以把各个存储单元的使用顺 序记录下来,记录的方式不限定,可以详细记录每个区块的使用顺序,也可 设定多个区块为一个群组,并记录各该群组使用过的顺序,在此并不限定其 范围。
在取得每个存储单元的非擦除次数信息后,控制器即以此非擦除次数信 息为参数建立一个评量值,并依据此评量值决定这些存储单元上的数据是否
该搬移至其它存储单元(步骤S120)。其中,控制器会判断这些存储单元的 非擦除次数信息是否达到一个预设的阈值,在未达到阈值时则继续记录非擦 除次数信息;而当达到阈值时,则强制将非擦除次数信息达到阈值的存储单 元上的数据搬移至其它存储单元。举例来说,可先计算各个存储单元最近一 次写入至目前所经过的闲置时间,并将此闲置时间与一个预设阈值比较以做 为这些存储单元数据的搬移顺序。其中,计算该闲置时间的方式可利用一表 格去记录该存储单元被写入的时间,当开机或一存储器管理机制启动后,则 检测各该存储单元,并比较当时检测时间与各存储单元上一次被写入的时间 数据,以求得该存储单元的闲置时间。值得说明的是控制器的内部也可有一 表格用以记录各个存储单元被擦除的次数,以配合上述非擦除次数信息来执 行存储器管理方法。此部分将于后文再加以详述。
此外,为了节省记录上述信息所占用的空间,本实施例也包括将多个区 块群组起来记录。详细地说,可先由控制器将非易失性存储器的所有区块划 分为多个群组,并分别记录这些群组中所有区块总共的擦除次数或非擦除次
数信息。待之后在执行存储器管理程序时,也是以群组为单位,以各个群组 的非擦除次数信息或擦除次数或非擦除次数信息加权其擦除次数,以做为评 量值。下文再以一实施例来详细的说明。
当存储器管理程序的参数是以写入顺序及擦除次数时,可设定该写入顺 序是以群组为单位来考虑,而擦除次数则是以区块为单位来考虑。依此,每 个群组中的各区块会依该群组于非易失性存储器中各该群组中的写入顺序 而有一共同的写入顺序参数,而各区块本身也会具有该区块的擦除次数,故
决定该区块中的数据是否该搬移至其它区块的评量值,即是将该区块的写入顺序加权该区块的擦除次数而得。
通过上述方法,即可在非易失性存储器各个区块的擦除次数差异不大的 情况下,优先选择出较久未更新到的区块进行数据搬移,如此可以减少因为 数据太久没使用(写入/擦除)而造成数据不稳定的机率。
此外,值得说明的是,错误检测校正码(ECC)是用来检测并校正非易失 性存储器上的数据是否有误, 一般在执行存储器区块的读取时会有机会利用 该错误检测校正码纠正该存储器区块上的数据,且当该区块越接近损毁时, 错误检测校正码纠正产生的机会就越高,因此本发明的控制器除了记录每一 个区块的擦除次数外,还包括设定读取一个区块所产生的错误检测校正码纠 正位数的阈值,以及早预防区块数据遗失,以下则再举一实施例详细说明。
第二实施例
图2是依照本发明一实施例所绘示的非易失性存储器的存储器管理方 法流程图。请参考图2,本实施例的非易失性存储器例如是一个闪速存储器, 其实质上可分割为多个区块,而可通过配置其中的控制器来执行存储器管理 程序,以具有至少一区块的存储单元为单位来管理,以降低其数据遗失的可 能性。其中,所述存储单元可以是单一区块或是具有多个区块的群组。此方 法的步骤如下
首先,计算多个存储单元被读取时所产生的错误校正错误检测校正码纠 正位数(步骤S210 ),并判断此错误检测校正码纠正位数是否超过一第一阈 值(步骤S220 )。其中,当错误检测校正码纠正位数未超过第一阔值时,则 继续计算各个存储单元的错误检测校正码纠正位数;而当错误检测校正码纠 正位数超过第一阈值时,即代表此存储单元中数据的稳定性不佳,此时可将 此存储单元标记,或是将错误检测校正码纠正位数加权到其擦除次^:,以啦文 为评量值(步骤S230 ),而在执行存储器管理程序时,优先选择将评量值较 高的存储单元的数据搬移至其它存储单元(步骤S240 )。
值得一提的是,在上述步骤S220之后,控制器可再继续判断此错误检 测校正码纠正位数是否超过一第二阈值,而当错误检测校正码纠正位数超过 第二阈值时,即强制控制器执行存储器管理程序,并优先选择将评量值较高 的存储单元的数据搬移至其它存储单元。
举例来说,假设非易失性存储器可以修正6个位的错误,则在读取区块 发生3个位的错误时,就将3或其它有理数乘上该区块之前的擦除次数以做为评量值,让这个区块在下次执行存储器管理程序时,可被优先选取以进行 数据搬移。此外,若在读取区块时发生5个位的错误,即可判断此区块中的 数据极不稳定,此时即强制执行存储器管理程序,并优先将此区块的数据进 行交换。当然,此加权方式也可以其它方式,不以本文纟皮露者为限。
另外,在一些特殊情况中,使用(写入/擦除)者将数据写入存储器后就
会只会去读取数据而不再写入数据,例如数字相框或MP3播放器等装置。这 些装置中储存的数据因为读取干扰(read disturb)与数据维持(data retention)问题而遗失的机会将大幅提高。因此,本发明包括根据非易失 性存储器的使用(写入/擦除)时间或读取次数来决定开启控制器的数据更新 模式(即存储器管理程序),在此模式下,控制器会在进行数据读取的同时, 也执行数据搬移的动作来避免数据遗失,以下则再举一实施例详细说明。 第三实施例
图3是依照本发明一实施例所绘示的非易失性存储器的存储器管理方 法流程图。请参考图3,本实施例的非易失性存储器例如是一个闪速存储器, 其实质上可分割为多个区块,而可通过配置其中的控制器来执行存储器管理 程序,以具有至少一区块的存储单元为单位来管理,以降低其数据遗失的可 能性。其中,所述存储单元可以是区块或是具有多个区块的群组。此方法的 步骤如下
首先,计算多个存储单元最近一次被使用(写入/擦除)的时间(步骤 S 310 ),并判断由此使用时间至目前所经过的闲置时间是否超过一预设时间 (步骤S320 ),在此闲置时间未超过预设时间时,则仍继续累计使用时间; 而当此闲置时间超过预设时间时,即强制执行存储器管理程序,以将存储单 元上的数据搬移至其它存储单元(步骤S340 )。其中,在执行存储器管理程 序时,也可以将每个存储单元的使用时间加权到其擦除次数上,以做为评量
置时间的方式如前文所述,在此不再多加赘述。但其中值得说明的是,该计 算该闲置时间的单位,也可以群组为单位。
此外,值得一提的是,本实施例根据各个存储单元闲置时间的长短,将 这些区块分为多个群组,并给予每个群组一个权重值,用来加权其擦除次数, 以做为评量值。举例来说,若总共区分为三个群组,即最近、正常及最久未 被使用等三组,并分别给予权重值l、 2、 3或其它有理数,则在加权其擦除次数之后,最久未被使用的存储单元就可被优先选取来进行数据搬移,而避 免其数据遗失。
除了利用闲置时间来判断之外,本发明也包括通过判断非易失性存储器 是否曾经断电,来决定是否执行该存储器管理程序,而若判断非易失性存储 器曾经断电,即强制执行存储器管理程序,以避免数据遗失。其中,该判断
非易失性存储器是否断电的方式,可利用ECC或比较该非易失性存储器中各 区块所具有的一数据区及一冗余区中的状态决定,由于此判断方式非本发明 的重点,在此不对其多加叙述。
此外,值得一提的是,现在控制器为了增加效率,都会增加其寄存器配 置的深度,因此本发明即预先将非易失性存储器中各个区块的数据搬移至寄 存器,而于接收到一主机端指令前,由寄存器将数据搬移至其它区块,或是 将这些区块的数据搬移至寄存器。详细地说,若主机端未读取或读取速度较 慢时,则可利用等待的空档来执行存储器管理程序,采用一次搬移一个或复 次个页的方式,就不会有搬移时间太久的问题,也可解决特殊情况下读取干 扰与数据维持的问题。然而,在本发明中,由于读取非易失性存储器上的数 据,都需经过ECC验证的程序,因此,若在搬移区块上的数据至寄存器的过 程中发现原本储存于非易失性存储器上的数据错误,而以ECC纠正了再储存 至寄存器时,则可根据上述实施例的存储器管理方法由将储存于寄存器上的 数据,利用等待主机命令的空档来执行存储器管理程序。值得说明的是,该 执行存储器管理程序也可直接对非易失性存储器上的数据做搬移。
根据上述非易失性存储器的存储器管理方法流程,本发明还包括提供一 种控制器,用以执行上述的存储器管理方法。图4是依照本发明一实施例所 绘示的控制器的方块图。请参考图4,本实施例的控制器400用以对非易失 性存储器进行存储器管理程序,以降低其数据遗失的可能性,其包括微处理 单元410、主机连结接口 420、存储器连结接口 430、储存单元440及存储器 管理模块450。其中,非易失性存储器例如是一个闪速存储器,其实质上可 分割为多个区块。
孩丈处理单元410例如是一个孩吏处理器(Microprocessor),而用以控制 控制器400的整体运作。主机连结接口 420用以提供控制器400连接至外部 主机端(未绘示)的接口 ,而存储器连结接口 430则耦接至微处理单元410, 用以提供控制器400连接至外部的非易失性存储器(未示出)。储存单元440与微处理单元410相连接,而用以寄存非易失性存储器中 各个区块的数据,而在微处理单元410接收到主机端指令前,将存储单元的 数据搬移至其它存储单元。
存储器管理模块450与微处理单元410相连接,而能够通过微处理单元 410来对非易失性存储器执行存储器管理程序。详细地说,存储器管理模块 450会记录非易失性存储器中多个具有至少一区块的存储单元的擦除次数以 及非擦除次数信息,而利用各个存储单元的非擦除次数信息或该非擦除次数 信息加权擦除次数建立一评量值,且依据此评量值决定这些存储单元上至少 一区块的数据是否该搬移至其它存储单元。详细的存储器管理方法流程已于 前述实施例中说明,故在此不再赘述。
综上所述,在本发明的非易失性存储器的存储器管理方法及使用此方法 的控制器中,通过记录多个存储单元的非擦除次数信息,并加入数据搬移的 判断法则内,而能够避免有区块太久没被写入而造成数据遗失的情形。此外, 在读取数据时,也会根据读取所产生的错误检测校正码纠正位数来决定是否 强制执行存储器管理程序,并在执行该程序时,把错误检测校正码纠正位数 加权到擦除次数上,以挑选出数据不稳定的区块优先进行数据搬移动作,而 能够解决因读取次数过多所产生的读扰及数据维持的问题。
虽然本发明已以较佳实施例披露如上,但其并非用以限定本发明,本领 域技术人员,在不脱离本发明的精神和范围的前提下,当可作若干的更改与 修饰,因此本发明的保护范围应以本发明的权利要求为准。
权利要求
1.一种非易失性存储器的存储器管理方法,其中该非易失性存储器实质上分割为多个区块,该存储器管理方法包括下列步骤(a)记录多个存储单元的非擦除次数信息,其中该存储单元包含至少一个区块;以及(b)以该非擦除次数信息为参数建立一评量值,并依据该评量值决定所述存储单元上的至少一区块的数据是否该搬移至其它存储单元。
2. 如权利要求1所述的非易失性存储器的存储器管理方法,其中该非擦 除次数信息为该存储单元的使用顺序、错误检测校正码纠正位数、读取次数、 使用时间或闲置时间。
3. 如权利要求1所述的非易失性存储器的存储器管理方法,其中该存储 单元为单一区块。
4. 如权利要求1所述的非易失性存储器的存储器管理方法,其中当该非 擦除次数信息达到一阈值时,强制将所述存储单元上的数据搬移至其它存储 单元。
5. 如权利要求3所述的非易失性存储器的存储器管理方法,其中该步骤 (b)是利用各所述区块的使用顺序加权该区块的擦除次数做为评量值。
6. 如权利要求1所述的非易失性存储器的存储器管理方法,其中该存储 单元为具有多个区块的群组。
7. 如权利要求6所述的非易失性存储器的存储器管理方法,其中该步骤 (b)是利用所述群组的使用顺序加权擦除次数做为评量值。
8. 如权利要求3所述的非易失性存储器的存储器管理方法,其中该步骤 (b)是利用各所述区块的该错误检测校正码纠正位数加权擦除次数做为评量 值。
9. 如权利要求3所述的非易失性存储器的存储器管理方法,其中该步骤 (b)是利用各所述区块的该闲置时间加权该擦除次数做为评量值。
10. 如权利要求2所述的非易失性存储器的存储器管理方法,其中该步 骤(b)包括判断所述存储单元中最近一次写入至目前所经过的一闲置时间是否超 过一预设时间;以及当该闲置时间超过该预设时间时,将所述存储单元上的数据搬移至其它 存储单元。
11. 如权利要求6所述的非易失性存储器的存储器管理方法,其中该步 骤(b)包括计算各所述群组最近一 次写入至目前所经过的 一 闲置时间; 分配各所述群组一权重值,并用以加权该擦除次数做为评量值。
12. 如权利要求2所述的非易失性存储器的存储器管理方法,其中该步 骤(b)是在判断该非易失性存储器曽经断电时执行。
13. 如权利要求3所述的非易失性存储器的存储器管理方法,还包括 将所述区块的数据复制至一寄存器;以及 于接收一主机端指令前,由该寄存器将该数据复制至其它区块。
14. 如权利要求3所述的非易失性存储器的存储器管理方法,还包括 将所述区块的数据复制至一寄存器;以及于接收一主机端指令前,将所述区块的数据由原区块搬移至其它区块。
15. 如权利要求3所述的非易失性存储器的存储器管理方法,该步骤(b)包括计算各所迷区块被读取时所产生的 一错误检测校正码纠正位数; 判断该错误检测校正码纠正位数是否超过一 第 一 阈值;以及 当该错误检测校正码纠正位数超过该第一阈值时,标记或加权对应的该 区块,并在下次搬移所述区块上的数据时,优先选取该区块进行数据搬移。
16. 如权利要求1所述的非易失性存储器的存储器管理方法,其中该非 易失性存储器包括闪速存储器。
17. —种控制器,包括一#1处理单元,用以控制该控制器的整体运作; 一主沖几连结接口 ,用以耦接一主机端及该樣i处理单元; 一存储器连结接口,用以耦接一非易失性存储器及该微处理单元,其中该非易失性存储器实质上分割为多个区块;以及一存储器管理模块,耦接至该微处理单元,用以通过该微处理单元对该非易失性存储器执行一存储器管理程序,其中该存储器管理模块包括记录该非易失性存储器中多个具有至少、一 区块的存储单元的非擦除次数信息,并以该非擦除次数信息为参数建立一评量值,且依据该评量值决定所述存储单元上至少一区块的数据是否该搬移至其 它存储单元。
18. 如权利要求17所述的控制器,还包括一储存单元,用以寄存所述区块的数据,而于接收一主机端指令前,将 所述存储单元的数据搬移至其它存储单元。
19. 如权利要求17所述的控制器,其中该非擦除次数信息为该区块的使 用顺序、错误检测校正码纠正位数、读取次数、使用时间或闲置时间。
20. 如权利要求17所述的控制器,其中该存储单元为单一区块。
21. 如权利要求17所述的控制器,其中当该非擦除次数信息达到一阈值 时,强制将所述存储单元上的数据搬移至其它存储单元。
22. 如权利要求20所述的控制器,其中该存储器管理模块包括利用各所 述区块的使用顺序加权该区块的擦除次数做为评量值。
23. 如权利要求17所述的控制器,其中该存储单元为具有多个区块的群组。
24. 如权利要求23所述的控制器,其中该存储器管理模块是利用所述群 组的使用顺序加权擦除次数做为评量值。
25. 如权利要求20所述的控制器,其中该存储器管理模块是利用各所述 区块的该错误检测校正码纠正位数加权擦除次数做为评量值。
全文摘要
本发明关于非易失性存储器的存储器管理方法及使用此方法的控制器。其中,此非易失性存储器实质上分割为多个区块。首先,记录多个存储单元的非擦除次数信息,其中此存储单元包含至少一个区块,而以此非擦除次数信息为参数建立一评量值,并依据评量值决定所述存储单元上的至少一区块的数据是否该搬移至其它存储单元。据此,可解决因读取次数过多所产生的读扰及数据维持的问题。
文档编号G11C16/06GK101615427SQ20081012903
公开日2009年12月30日 申请日期2008年6月24日 优先权日2008年6月24日
发明者叶志刚 申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1