CN101615427B - 非易失性存储器的存储器管理方法及使用此方法的控制器 - Google Patents
非易失性存储器的存储器管理方法及使用此方法的控制器 Download PDFInfo
- Publication number
- CN101615427B CN101615427B CN2008101290326A CN200810129032A CN101615427B CN 101615427 B CN101615427 B CN 101615427B CN 2008101290326 A CN2008101290326 A CN 2008101290326A CN 200810129032 A CN200810129032 A CN 200810129032A CN 101615427 B CN101615427 B CN 101615427B
- Authority
- CN
- China
- Prior art keywords
- block
- data
- nonvolatile memory
- storage unit
- erasing times
- 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.)
- Active
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明关于非易失性存储器的存储器管理方法及使用此方法的控制器。其中,此非易失性存储器实质上分割为多个区块。首先,记录多个存储单元的非擦除次数信息,其中此存储单元包含至少一个区块,而以此非擦除次数信息为参数建立一评量值,并依据评量值决定所述存储单元上的至少一区块的数据是否该搬移至其它存储单元。据此,可解决因读取次数过多所产生的读扰及数据维持的问题。
Description
技术领域
本发明涉及一种存储器管理方法及控制器,且特别是涉及一种用于非易失性存储器的存储器管理方法以及使用此方法的控制器。
背景技术
数字相机、手机相机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加,由于闪速存储器(Flash Memory)具有非易失性、省电、体积小与无机械结构等的特性,适合便携式应用,最适合使用于这类便携式电子产品上。除了便携式电子产品内建存储器需要之外,对于小型存储卡与随身盘等外接式产品来说,每个人可能同时拥有多个随身盘与小型存储卡。因此,近年闪速存储器产业成为电子产业中相当热门的一环。
虽然闪速存储器具有可写入、可擦除、以及断电后仍可保存数据的优点。然而,闪速存储器区块的擦除次数是有限的,例如存储器区块擦除一万次后就会磨损。当存储器区块磨损导致储存容量的部分的使用损失或性能的明显退化时,会产生使用者储存数据的损失或无法储存数据等不利影响。
闪速存储器区块的磨损取决于每一区块中被程序(program)或擦除的次数。也就是,若一区块仅被程序(或者写入)一次,而后未被再程序时,则此区块的磨损将相对地低,反之,若一区块被重复地程序与擦除时,则此区块的磨损就会相对地高。例如,当存取存储器区块的主机重复地使用相同逻辑区块地址来写入数据时,则闪速存储器内的相同实体位置的区块会被重复地写入与擦除。
当某些区块被磨损同时其它区块相对地未磨损时,一般而言磨损区块的存在会降低闪速存储器的性能。除了磨损区块本身性能的退化之外,当未磨损的区块不足以储存数据时,闪速存储器整体的性能也会降低。也就是,当闪速存储器发生超过一阈值数的磨损区块时,即使仍有其它区块未磨损,此闪速存储器也会被判为无法再使用。当实质上未磨损区块被视为无法使用时,将造成资源实际上的浪费。
为了增加闪速存储器的寿命,一般会尽可能平均地使用闪速存储器的区块。一般来说,闪速存储器的区块可区分为数据区与备用区,传统存储器管理的方法是循序地在闪速存储器每执行一段时间时将数据区中的区块与备用区中的区块做逻辑上交换,以期使得擦除次数较少的区块可被交换至备用区以供程序(或写入)使用。
然而,一般在执行存储器管理程序时,都是根据区块的擦除次数找寻数据区块来交换数据,但是这样只针对区块的擦除次数来选取的方式并未考虑到区块读取所造成的影响,而随着闪速存储器成本的下降,闪速存储器芯片的效能与稳定性也受到一定程度的影响,连带使得闪速存储器的寿命除了会受到写入次数的限制外,读取次数过多将会产生读扰(read disturb)的问题,而数据太久没使用也会产生数据维持(data retention)问题,这些问题会随着闪速存储器的稳定性的下降而越来越严重。
因此,有需要发展一种存储器管理方法,以有效地延长闪速存储器的寿命。
发明内容
有鉴于此,本发明提供一种非易失性存储器的存储器管理方法,通过将数据写入各个区决的时间顺序加入数据搬移判断法则,以避免有区块太久没被写入而造成数据遗失。
本发明提供一种控制器,优先选择产生错误检测校正码(ErrorCorrection Code,ECC)纠正位数较多的区块进行搬移,避免因区块读取错误而造成数据遗失。
为到上述或其它目的,本发明提出一种非易失性存储器的存储器管理方法,其中非易失性存储器实质上分割为多个区块,此方法包括下列步骤:(a)记录每一个区块的非擦除次数信息,其中该存储单元包含至少一个区块。(b)以非擦除次数信息为参数建立一评量值,并依据评量值决定存储单元上的至少一区块的数据是否该搬移至其它存储单元。
在本发明的一实施例中,上述的非擦除次数信息为区块的使用顺序、错误检测校正码纠正位数、读取次数、使用时间或闲置时间。
在本发明的一实施例中,上述的存储单元为单一区块(Block)。
在本发明的一实施例中,上述步骤(b)是利用各个区块的使用顺序加权擦除次数做为评量值。
在本发明的一实施例中,上述的存储单元为具有多个区块的群组。
在本发明的一实施例中,上述步骤(b)是利用各个群组的使用顺序加权擦除次数做为评量值。
在本发明的一实施例中,上述步骤(b)是利用各个区块的错误检测校正码纠正位数加权擦除次数做为评量值。
在本发明的一实施例中,上述步骤(b)是利用各个区块的闲置时间加权擦除次数做为评量值。
在本发明的一实施例中,上述步骤(b)包括判断存储单元中最近一次写入至目前所经过的闲置时间是否超过预设时间,而当其闲置时间超过预设时间时,将这些存储单元上的数据搬移至其它存储单元。
在本发明的一实施例中,上述步骤(b)包括计算各个区块最近一次写入至目前所经过的闲置时间,并分配各个群组一个权重值,用以加权擦除次数做为评量值。
在本发明的一实施例中,上述步骤(b)是在判断非易失性存储器曾经断电时执行。
在本发明的一实施例中,上述搬移区块的数据的单位为一个页。
在本发明的一实施例中,上述的方法还包括将这些区块的数据复制至寄存器,而于接收一主机端指令前,由寄存器将数据复制至其它区块。
在本发明的一实施例中,上述的方法还包括将这些区块的数据搬复制寄存器,而于接收一主机端指令前,将这些区块的数据由原区块搬移至其它区块。
在本发明的一实施例中,上述步骤(b)包括计算各个区块被读取时所产生的错误检测校正码纠正位数,并判断此错误检测校正码纠正位数是否超过一第一阈值,而当此错误检测校正码纠正位数超过第一阈值时,标记或加权对应的区块,并在下次搬移这些区块上的数据时,优先选取此区块进行数据搬移。
在本发明的一实施例中,上述的非易失性存储器包括闪速存储器。
本发明提出一种控制器,其包括微处理单元、主机连结接口、存储器连结接口及存储器管理模块。其中,微处理单元用以控制控制器的整体运作。主机连结接口用以耦接主机端及微处理单元。存储器连结接口用以耦接非易失性存储器及微处理单元,其中此非易失性存储器实质上分割为多个区块。存储器管理模块耦接至微处理单元,用以通过微处理单元对非易失性存储器执行存储器管理(wear leveling)程序。其中,存储器管理模块包括记录非易失性存储器中多个具有至少一区块的存储单元的非擦除次数信息,并以非擦除次数信息为参数建立一评量值,且依据评量值决定存储单元上至少一区块的数据是否该搬移至其它存储单元。
在本发明的一实施例中,上述的控制器还包括一个储存单元,其用以寄存这些存储单元的数据,而于接收一主机端指令前,将这些存储单元的数据搬移至其它存储单元。
在本发明的一实施例中,上述的非擦除次数信息为区块的使用顺序、错误检测校正码纠正位数、读取次数、使用时间或闲置时间。
在本发明的一实施例中,上述的存储单元为单一区块。
在本发明的一实施例中,当非擦除次数信息达到一阈值时,强制将这些存储单元上的数据搬移至其它存储单元。
在本发明的一实施例中,上述的存储器管理模块包括利用各个区块的使用顺序加权区块的擦除次数做为评量值。
在本发明的一实施例中,上述的存储单元为具有多个区块的群组。
在本发明的一实施例中,上述的存储器管理模块是利用这些群组的使用顺序加权擦除次数做为评量值。
在本发明的一实施例中,上述的存储器管理模块是利用各个区块的错误检测校正码纠正位数加权擦除次数做为评量值。
在本发明的一实施例中,上述的存储器管理模块是利用各个区块的闲置时间加权擦除次数做为评量值。
在本发明的一实施例中,上述的存储器管理模块是判断这些存储单元中最近一次写入至目前所经过的闲置时间是否超过一预设时间,而当闲置时间超过预设时间时,将这些存储单元上的数据搬移至其它存储单元。
在本发明的一实施例中,上述的存储器管理模块是计算各个群组最近一次写入至目前所经过的闲置时间,并分配各个群组一个权重值,用以加权擦除次数做为评量值。
在本发明的一实施例中,上述的存储器管理模块是在判断非易失性存储器曾经断电时,将这些区块上的数据搬移至其它区块。
在本发明的一实施例中,上述的存储器管理模块是计算各个区块被读取时所产生的错误检测校正码纠正位数,并判断此错误检测校正码纠正位数是否超过一第一阈值,而当错误检测校正码纠正位数超过第一阈值时,标记或加权对应的区块,并在下次搬移这些区块上的数据时,优先选取此区块进行数据搬移。
在本发明的一实施例中,上述的非易失性存储器包括闪速存储器。
本发明采用记录各个区块的使用顺序、错误检测校正码纠正位数、读取次数、使用时间及闲置时间的结构,在进行存储器管理程序时,除了各个区块的擦除次数的因素外,额外加上非擦除次数信息的加成判断,可有效避免区块因太久没被写入而造成数据遗失。此外,本发明也包括在读取数据时,记录其所产生的错误检测校正码纠正位数,并加权到擦除次数上做为搬移数据的顺序,可解决读取干扰与数据维持的问题。
为使本发明的上述和其它目的、特征和优点能更明显易懂,下文特举较佳实施例,并结合附图详细说明如下。
附图说明
图1是依照本发明一实施例所绘示的非易失性存储器的存储器管理方法流程图。
图2是依照本发明一实施例所绘示的非易失性存储器的存储器管理方法流程图。
图3是依照本发明一实施例所绘示的非易失性存储器的存储器管理方法流程图。
图4是依照本发明一实施例所绘示的控制器的方块图。
附图符号说明
400:控制器
410:微处理单元
420:主机连结接口
430:存储器连结接口
440:储存单元
450:存储器管理模块
S110-S130:本发明一实施例的非易失性存储器的存储器管理方法的各步骤
S210-S240:本发明一实施例的非易失性存储器的存储器管理方法的各步骤
S310-S340:本发明一实施例的非易失性存储器的存储器管理方法的各步骤
具体实施方式
一般控制器会针对区块写入或擦除次数去进行数据搬移,但为了解决读取干扰(read disturb)与数据维持(data retention)的问题,本发明提出了一种将非易失性存储器内区块的使用顺序、错误检测校正码(ErrorCorrection Code,ECC)纠正位数、读取次数、使用时间及或闲置时间等非擦除次数信息加入数据搬移判断法则的方法,在控制器内部记录各个区块的非擦除次数信息,而在进行存储器管理(wear leveling)程序时,除了判断可以哪个区块的擦除次数为参数外,也可单以非擦除次数信息或两者都利用来决定哪些区块上的数据需搬移至其它区块,以增加非易失性存储器的使用寿命及避免有些储存于非易失性存储器的数据因太久没被重写而形成数据遗失的问题发生。本发明即是基于上述概念所发展出来的一套非易失性存储器的存储器管理方法与使用此方法的控制器。为了使本发明的内容更为明了,以下特举实施例作为本发明确实能够据以实施的范例。其中必须了解的是,在以下描述中使用“提取”、“搬移”等词来操作闪速存储器区块是逻辑上的概念。也就是说,闪速存储器实体区块的实际位置并未更动,而是逻辑上对闪速存储器实体区块进行操作。
第一实施例
图1是依照本发明一实施例所绘示的非易失性存储器的存储器管理方法流程图。请参考图1,本实施例的非易失性存储器例如是一个闪速存储器,其实质上可分割为多个区块,而可通过配置其中的控制器来执行存储器管理程序,以具有至少一区块的存储单元为单位来管理,以降低其数据遗失的可能性。其中,所述存储单元可以是单一区块(block)或是具有多个区块的群组。此方法的步骤如下:
首先,记录非易失性存储器中多个存储单元的非擦除次数信息(步骤S110)。其中,在控制器的内部会有一个记录存储单元使用状况的表格,其可用以记录各个存储单元的使用顺序、错误检测校正码纠正位数、读取次数、使用时间或闲置时间等非擦除次数信息。
举例来说,在执行数据写入时,控制器就可以把各个存储单元的使用顺序记录下来,记录的方式不限定,可以详细记录每个区块的使用顺序,也可设定多个区块为一个群组,并记录各该群组使用过的顺序,在此并不限定其范围。
在取得每个存储单元的非擦除次数信息后,控制器即以此非擦除次数信息为参数建立一个评量值,并依据此评量值决定这些存储单元上的数据是否该搬移至其它存储单元(步骤S120)。其中,控制器会判断这些存储单元的非擦除次数信息是否达到一个预设的阈值,在未达到阈值时则继续记录非擦除次数信息;而当达到阈值时,则强制将非擦除次数信息达到阈值的存储单元上的数据搬移至其它存储单元。举例来说,可先计算各个存储单元最近一次写入至目前所经过的闲置时间,并将此闲置时间与一个预设阈值比较以做为这些存储单元数据的搬移顺序。其中,计算该闲置时间的方式可利用一表格去记录该存储单元被写入的时间,当开机或一存储器管理机制启动后,则检测各该存储单元,并比较当时检测时间与各存储单元上一次被写入的时间数据,以求得该存储单元的闲置时间。值得说明的是控制器的内部也可有一表格用以记录各个存储单元被擦除的次数,以配合上述非擦除次数信息来执行存储器管理方法。此部分将于后文再加以详述。
此外,为了节省记录上述信息所占用的空间,本实施例也包括将多个区块群组起来记录。详细地说,可先由控制器将非易失性存储器的所有区块划分为多个群组,并分别记录这些群组中所有区块总共的擦除次数或非擦除次数信息。待之后在执行存储器管理程序时,也是以群组为单位,以各个群组的非擦除次数信息或擦除次数或非擦除次数信息加权其擦除次数,以做为评量值。下文再以一实施例来详细的说明。
当存储器管理程序的参数是以写入顺序及擦除次数时,可设定该写入顺序是以群组为单位来考虑,而擦除次数则是以区块为单位来考虑。依此,每个群组中的各区决会依该群组于非易失性存储器中各该群组中的写入顺序而有一共同的写入顺序参数,而各区块本身也会具有该区块的擦除次数,故决定该区块中的数据是否该搬移至其它区块的评量值,即是将该区块的写入顺序加权该区块的擦除次数而得。
通过上述方法,即可在非易失性存储器各个区块的擦除次数差异不大的情况下,优先选择出较久未更新到的区块进行数据搬移,如此可以减少因为数据太久没使用(写入/擦除)而造成数据不稳定的机率。
此外,值得说明的是,错误检测校正码(ECC)是用来检测并校正非易失性存储器上的数据是否有误,一般在执行存储器区块的读取时会有机会利用该错误检测校正码纠正该存储器区块上的数据,且当该区块越接近损毁时,错误检测校正码纠正产生的机会就越高,因此本发明的控制器除了记录每一个区块的擦除次数外,还包括设定读取一个区块所产生的错误检测校正码纠正位数的阈值,以及早预防区块数据遗失,以下则再举一实施例详细说明。
第二实施例
图2是依照本发明一实施例所绘示的非易失性存储器的存储器管理方法流程图。请参考图2,本实施例的非易失性存储器例如是一个闪速存储器,其实质上可分割为多个区块,而可通过配置其中的控制器来执行存储器管理程序,以具有至少一区块的存储单元为单位来管理,以降低其数据遗失的可能性。其中,所述存储单元可以是单一区块或是具有多个区块的群组。此方法的步骤如下:
首先,计算多个存储单元被读取时所产生的错误校正错误检测校正码纠正位数(步骤S210),并判断此错误检测校正码纠正位数是否超过一第一阈值(步骤S220)。其中,当错误检测校正码纠正位数未超过第一阈值时,则继续计算各个存储单元的错误检测校正码纠正位数;而当错误检测校正码纠正位数超过第一阈值时,即代表此存储单元中数据的稳定性不佳,此时可将此存储单元标记,或是将错误检测校正码纠正位数加权到其擦除次数,以做为评量值(步骤S230),而在执行存储器管理程序时,优先选择将评量值较高的存储单元的数据搬移至其它存储单元(步骤S240)。
值得一提的是,在上述步骤S220之后,控制器可再继续判断此错误检测校正码纠正位数是否超过一第二阈值,而当错误检测校正码纠正位数超过第二阈值时,即强制控制器执行存储器管理程序,并优先选择将评量值较高的存储单元的数据搬移至其它存储单元。
举例来说,假设非易失性存储器可以修正6个位的错误,则在读取区块发生3个位的错误时,就将3或其它有理数乘上该区块之前的擦除次数以做为评量值,让这个区块在下次执行存储器管理程序时,可被优先选取以进行数据搬移。此外,若在读取区块时发生5个位的错误,即可判断此区块中的数据极不稳定,此时即强制执行存储器管理程序,并优先将此区块的数据进行交换。当然,此加权方式也可以其它方式,不以本文披露者为限。
另外,在一些特殊情况中,使用(写入/擦除)者将数据写入存储器后就会只会去读取数据而不再写入数据,例如数字相框或MP3播放器等装置。这些装置中储存的数据因为读取干扰(read disturb)与数据维持(dataretention)问题而遗失的机会将大幅提高。因此,本发明包括根据非易失性存储器的使用(写入/擦除)时间或读取次数来决定开启控制器的数据更新模式(即存储器管理程序),在此模式下,控制器会在进行数据读取的同时,也执行数据搬移的动作来避免数据遗失,以下则再举一实施例详细说明。
第三实施例
图3是依照本发明一实施例所绘示的非易失性存储器的存储器管理方法流程图。请参考图3,本实施例的非易失性存储器例如是一个闪速存储器,其实质上可分割为多个区块,而可通过配置其中的控制器来执行存储器管理程序,以具有至少一区块的存储单元为单位来管理,以降低其数据遗失的可能性。其中,所述存储单元可以是区块或是具有多个区块的群组。此方法的步骤如下:
首先,计算多个存储单元最近一次被使用(写入/擦除)的时间(步骤S310),并判断由此使用时间至目前所经过的闲置时间是否超过一预设时间(步骤S320),在此闲置时间未超过预设时间时,则仍继续累计使用时间;而当此闲置时间超过预设时间时,即强制执行存储器管理程序,以将存储单元上的数据搬移至其它存储单元(步骤S340)。其中,在执行存储器管理程序时,也可以将每个存储单元的使用时间加权到其擦除次数上,以做为评量值而决定这些存储单元上的数据是否该搬移至其它存储单元。其中,计算闲置时间的方式如前文所述,在此不再多加赘述。但其中值得说明的是,该计算该闲置时间的单位,也可以群组为单位。
此外,值得一提的是,本实施例根据各个存储单元闲置时间的长短,将这些区块分为多个群组,并给予每个群组一个权重值,用来加权其擦除次数,以做为评量值。举例来说,若总共区分为三个群组,即最近、正常及最久未被使用等三组,并分别给予权重值1、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会记录非易失性存储器中多个具有至少一区块的存储单元的擦除次数以及非擦除次数信息,而利用各个存储单元的非擦除次数信息或该非擦除次数信息加权擦除次数建立一评量值,且依据此评量值决定这些存储单元上至少一区块的数据是否该搬移至其它存储单元。详细的存储器管理方法流程已于前述实施例中说明,故在此不再赘述。
综上所述,在本发明的非易失性存储器的存储器管理方法及使用此方法的控制器中,通过记录多个存储单元的非擦除次数信息,并加入数据搬移的判断法则内,而能够避免有区块太久没被写入而造成数据遗失的情形。此外,在读取数据时,也会根据读取所产生的错误检测校正码纠正位数来决定是否强制执行存储器管理程序,并在执行该程序时,把错误检测校正码纠正位数加权到擦除次数上,以挑选出数据不稳定的区块优先进行数据搬移动作,而能够解决因读取次数过多所产生的读扰及数据维持的问题。
虽然本发明已以较佳实施例披露如上,但其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围的前提下,当可作若干的更改与修饰,因此本发明的保护范围应以本发明的权利要求为准。
Claims (16)
1.一种非易失性存储器的存储器管理方法,其中该非易失性存储器实质上分割为多个区块,该存储器管理方法包括下列步骤:
(a)记录多个存储单元的非擦除次数信息,其中该存储单元包含至少一个区块;以及
(b)以该非擦除次数信息为参数建立一评量值,并依据该评量值决定所述存储单元上的至少一区块的数据是否该搬移至其它存储单元,
其中,该非擦除次数信息为错误检测校正码纠正位数。
2.如权利要求1所述的非易失性存储器的存储器管理方法,其中该存储单元为单一区块。
3.如权利要求1所述的非易失性存储器的存储器管理方法,其中当该非擦除次数信息达到一阈值时,强制将所述存储单元上的数据搬移至其它存储单元。
4.如权利要求1所述的非易失性存储器的存储器管理方法,其中该存储单元为具有多个区块的群组。
5.如权利要求2所述的非易失性存储器的存储器管理方法,其中该步骤(b)是利用各所述区块的错误检测校正码纠正位数加权擦除次数做为评量值。
6.如权利要求1所述的非易失性存储器的存储器管理方法,其中该步骤(b)是在判断该非易失性存储器曾经断电时执行。
7.如权利要求2所述的非易失性存储器的存储器管理方法,还包括:
将所述区块的数据复制至一寄存器;以及
于接收一主机端指令前,由该寄存器将该数据复制至其它区块。
8.如权利要求2所述的非易失性存储器的存储器管理方法,还包括:
将所述区块的数据复制至一寄存器;以及
于接收一主机端指令前,将所述区块的数据由原区块搬移至其它区块。
9.如权利要求2所述的非易失性存储器的存储器管理方法,该步骤(b)包括:
计算各所述区块被读取时所产生的一错误检测校正码纠正位数;
判断该错误检测校正码纠正位数是否超过一第一阈值;以及
当该错误检测校正码纠正位数超过该第一阈值时,标记或加权对应的该区块,并在下次搬移所述区块上的数据时,优先选取该区块进行数据搬移。
10.如权利要求1所述的非易失性存储器的存储器管理方法,其中该非易失性存储器包括闪速存储器。
11.一种控制器,包括:
一微处理单元,用以控制该控制器的整体运作;
一主机连结接口,用以耦接一主机端及该微处理单元;
一存储器连结接口,用以耦接一非易失性存储器及该微处理单元,其中该非易失性存储器实质上分割为多个区块;以及
一存储器管理模块,耦接至该微处理单元,用以通过该微处理单元对该非易失性存储器执行一存储器管理程序,其中
该存储器管理模块包括记录该非易失性存储器中多个具有至少一区块的存储单元的非擦除次数信息,并以该非擦除次数信息为参数建立一评量值,且依据该评量值决定所述存储单元上至少一区块的数据是否该搬移至其它存储单元,
该非擦除次数信息为错误检测校正码纠正位数。
12.如权利要求11所述的控制器,还包括:
一储存单元,用以寄存所述区块的数据,而于接收一主机端指令前,将所述存储单元的数据搬移至其它存储单元。
13.如权利要求11所述的控制器,其中该存储单元为单一区块。
14.如权利要求11所述的控制器,其中当该非擦除次数信息达到一阈值时,强制将所述存储单元上的数据搬移至其它存储单元。
15.如权利要求11所述的控制器,其中该存储单元为具有多个区块的群组。
16.如权利要求13所述的控制器,其中该存储器管理模块是利用各所述区块的错误检测校正码纠正位数加权擦除次数做为评量值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101290326A CN101615427B (zh) | 2008-06-24 | 2008-06-24 | 非易失性存储器的存储器管理方法及使用此方法的控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101290326A CN101615427B (zh) | 2008-06-24 | 2008-06-24 | 非易失性存储器的存储器管理方法及使用此方法的控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101615427A CN101615427A (zh) | 2009-12-30 |
CN101615427B true CN101615427B (zh) | 2012-08-08 |
Family
ID=41495020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101290326A Active CN101615427B (zh) | 2008-06-24 | 2008-06-24 | 非易失性存储器的存储器管理方法及使用此方法的控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101615427B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5538970B2 (ja) | 2010-03-25 | 2014-07-02 | キヤノン株式会社 | 情報処理装置、データ処理方法、プログラム |
CN103514103B (zh) * | 2012-06-21 | 2016-09-28 | 群联电子股份有限公司 | 数据保护方法、存储器控制器与存储器储存装置 |
KR20140042546A (ko) * | 2012-09-28 | 2014-04-07 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 동작 방법 |
CN103077096A (zh) * | 2012-12-31 | 2013-05-01 | 记忆科技(深圳)有限公司 | 数据纠错系统、固态硬盘及数据纠错方法 |
TWI525635B (zh) | 2013-12-17 | 2016-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
CN104952486B (zh) * | 2014-03-25 | 2019-10-25 | 群联电子股份有限公司 | 数据储存方法、存储器控制电路单元以及存储器储存装置 |
US9760478B2 (en) * | 2014-12-02 | 2017-09-12 | Macronix International Co., Ltd. | Read leveling method and memory device using the same |
CN104658610B (zh) * | 2015-01-14 | 2017-10-27 | 广东省电子信息产业集团有限公司 | 一种动态调整的闪存错误检测方法及装置 |
CN106325764B (zh) * | 2015-07-08 | 2021-02-26 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
JP6414852B2 (ja) * | 2015-12-14 | 2018-10-31 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
WO2017107161A1 (zh) * | 2015-12-25 | 2017-06-29 | 研祥智能科技股份有限公司 | 基于异构混合内存的nvm内存擦写控制方法和系统 |
KR102637160B1 (ko) * | 2016-04-14 | 2024-02-19 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법 |
TW201742063A (zh) * | 2016-05-30 | 2017-12-01 | 慧榮科技股份有限公司 | 資料儲存方法及發生電源中斷事件後之系統初始化之方法 |
US10445230B2 (en) * | 2017-12-08 | 2019-10-15 | Macronix International Co., Ltd. | Managing block arrangement of super blocks |
US10839919B2 (en) * | 2018-11-26 | 2020-11-17 | SK Hynix Inc. | Memory system and method of operating the same |
CN111078149B (zh) * | 2019-12-18 | 2023-09-26 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
CN111240592B (zh) * | 2020-01-05 | 2022-11-15 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的数据维护方法和装置 |
CN111309268B (zh) * | 2020-02-27 | 2023-05-30 | 格兰菲智能科技有限公司 | 数据搬移装置与有重叠的数据搬移方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200516389A (en) * | 2003-11-14 | 2005-05-16 | Hon Hai Prec Ind Co Ltd | System and method for managing flash file stored in a flash memory |
CN1805049A (zh) * | 2005-11-22 | 2006-07-19 | 武汉国光通信有限公司 | 一种嵌入式系统中非易失性存储器的数据存取方法 |
CN1949194A (zh) * | 2005-10-10 | 2007-04-18 | 群联电子股份有限公司 | 具保密功能的可携式存取装置及存取方法 |
-
2008
- 2008-06-24 CN CN2008101290326A patent/CN101615427B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200516389A (en) * | 2003-11-14 | 2005-05-16 | Hon Hai Prec Ind Co Ltd | System and method for managing flash file stored in a flash memory |
CN1949194A (zh) * | 2005-10-10 | 2007-04-18 | 群联电子股份有限公司 | 具保密功能的可携式存取装置及存取方法 |
CN1805049A (zh) * | 2005-11-22 | 2006-07-19 | 武汉国光通信有限公司 | 一种嵌入式系统中非易失性存储器的数据存取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101615427A (zh) | 2009-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101615427B (zh) | 非易失性存储器的存储器管理方法及使用此方法的控制器 | |
CN101874240B (zh) | 增加存储器的多个块的寿命 | |
US8296501B2 (en) | Memory management method for non-volatile memory and controller using the same | |
US10552311B2 (en) | Recovery for non-volatile memory after power loss | |
CN101923448B (zh) | 一种nand闪存的转换层读写方法 | |
US7882301B2 (en) | Wear leveling in storage devices based on flash memories and related circuit, system, and method | |
CN102081577B (zh) | 对Flash存储器的数据存储结构进行数据操作的方法 | |
CN101640069B (zh) | 用于闪速存储器的平均磨损方法与平均磨损系统 | |
US9146854B2 (en) | Restoring storage devices based on flash memories and related circuit, system, and method | |
CN101874239A (zh) | 基于写入频率将数据写入不同的存储设备 | |
CN101231617B (zh) | 闪存设备的数据处理方法 | |
CN102135942A (zh) | 一种存储设备中实现损耗均衡的方法及存储设备 | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
CN101699476B (zh) | 智能卡的数据处理方法及装置 | |
CN102737715A (zh) | 用于nor闪存的数据掉电保护方法 | |
CN101499315B (zh) | 快闪存储器平均磨损方法及其控制器 | |
CN101567220A (zh) | 闪存的损坏区块辨识方法、储存系统及其控制器 | |
CN101408864B (zh) | 用于断电时的数据保护方法及使用此方法的控制器 | |
CN101556555A (zh) | 用于闪存的区块管理方法、其控制器与储存系统 | |
CN101727397B (zh) | 区块管理与更换方法、闪存储存系统及其控制器 | |
CN101576859A (zh) | 非易失性存储器数据写入方法、存储系统及其控制器 | |
CN110069362B (zh) | 数据储存装置与数据处理方法 | |
CN104166558B (zh) | 固件码载入方法、存储器控制器与存储器存储装置 | |
CN102591738B (zh) | 数据管理方法、存储器控制器与嵌入式存储器储存装置 | |
CN106021124B (zh) | 一种数据的存储方法及存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |