首页 / 专利库 / 电脑编程 / 算法 / 提高闪存擦写寿命的方法和装置

提高闪存擦写寿命的方法和装置

阅读:454发布:2023-05-28

专利汇可以提供提高闪存擦写寿命的方法和装置专利检索,专利查询,专利分析的服务。并且本 发明 提供了提高闪存擦写寿命的方法和装置,包括:获取闪存的存储容量,根据闪存的存储容量将数据存储区域划分为第一存储区域和第二存储区域;获取数据信息,并将数据信息写入数据缓存区域;将写入数据缓存区域中的数据信息分别写入第一存储区域和第二存储区域,以及将第一存储区域中的多个第一物理 块 已存储的数据信息和第二存储区域中的多个第二物理块已存储的数据信息通过磨损均衡 算法 进行擦除;其中,第一存储区域为用户看得见的区域,第二存储区域为用户看不见的区域,第一存储区域的存储容量与第二存储区域的存储容量相同,磨损均衡算法为使每个第一物理块的擦除次数和每个第二物理块的擦除次数达到均衡,从而提高闪存的擦写寿命。,下面是提高闪存擦写寿命的方法和装置专利的具体信息内容。

1.一种提高闪存擦写寿命的方法,其特征在于,闪存包括数据缓存区域和数据存储区域,所述方法包括:
获取闪存的存储容量,根据所述闪存的存储容量将所述数据存储区域划分为第一存储区域和第二存储区域;
获取数据信息,并将所述数据信息写入所述数据缓存区域;
将写入所述数据缓存区域中的数据信息分别写入所述第一存储区域和所述第二存储区域,以及将所述第一存储区域中的多个第一物理已存储的数据信息和所述第二存储区域中已存储的多个第二物理块的数据信息通过磨损均衡算法进行擦除;
其中,所述第一存储区域为用户看得见的区域,所述第二存储区域为所述用户看不见的区域,所述第一存储区域的存储容量与所述第二存储区域的存储容量相同,所述磨损均衡算法为使每个所述第一物理块的擦除次数和每个所述第二物理块的擦除次数达到均衡。
2.根据权利要求1所述的提高闪存擦写寿命的方法,其特征在于,所述将所述第一存储区域中的多个第一物理块已存储的数据信息和所述第二存储区域中已存储的多个第二物理块的数据信息通过磨损均衡算法进行擦除,包括:
在预设周期内检测每个所述第一物理块的擦除次数和每个所述第二物理块的擦除次数;
根据每个所述第一物理块的擦除次数和每个所述第二物理块的擦除次数筛选出所述擦除次数小于预设次数的物理块,并将所述擦除次数小于预设次数的物理块作为擦除物理块,对所述擦除物理块上的数据信息进行擦除。
3.根据权利要求1所述的提高闪存擦写寿命的方法,其特征在于,所述将所述第一存储区域中的多个第一物理块已存储的数据信息和所述第二存储区域中已存储的多个第二物理块的数据信息通过磨损均衡算法进行擦除,包括:
从所述多个第一物理块和所述多个第二物理块中选取任一尚未标记的物理块作为当前物理块,并且标记所述当前物理块和获取所述当前物理块的擦除次数;
从尚未标记的物理块中选取与所述当前物理块的擦除次数的差值大于预设次数阈值的物理块,并且标记选取的物理块;
将所述当前物理块的擦除次数与选取的物理块的擦除次数进行比较;
如果所述当前物理块的擦除次数大于所述选取的物理块的擦除次数,则将所述当前物理块的数据信息与所述选取的物理块的数据信息进行交换,并对所述选取的物理块上的交换后的数据信息进行擦除;
如果所述选取的物理块的擦除次数大于所述当前物理块的擦除次数,则将所述当前物理块的数据信息与所述选取的物理块的数据信息进行交换,并对所述当前物理块上的交换后的数据信息进行擦除。
4.根据权利要求1所述的提高闪存擦写寿命的方法,其特征在于,所述将所述第一存储区域中的多个第一物理块已存储的数据信息和所述第二存储区域中已存储的多个第二物理块的数据信息通过磨损均衡算法进行擦除,包括:
从所述多个第一物理块和所述多个第二物理块中选取任一尚未标记的物理块作为当前物理块,并且标记所述当前物理块和获取所述当前物理块的擦除次数;
将所述当前物理块的擦除次数与预设平均擦除次数阈值进行比较;
如果所述当前物理块的擦除次数大于所述预设平均擦除次数阈值,则从尚未标记的物理块中选取小于所述当前物理块的擦除次数的物理块,并且标记选取的物理块;
将所述当前物理块的数据信息与所述选取的物理块的数据信息进行交换,并对所述选取的物理块上的交换后的数据信息进行擦除。
5.根据权利要求1所述的提高闪存擦写寿命的方法,其特征在于,所述数据信息至少包括图片、文字和视频。
6.一种提高闪存擦写寿命的装置,其特征在于,所述装置包括:控制器固件和存储空间区域,所述固件与所述控制器相连接,其中,所述存储空间区域包括数据缓存区域和数据存储区域;
所述固件,用于获取闪存的存储容量,根据所述闪存的存储容量将所述数据存储区域划分为第一存储区域和第二存储区域;
所述控制器,用于获取数据信息,并将所述数据信息写入所述数据缓存区域;将写入所述数据缓存区域中的数据信息分别写入所述第一存储区域和所述第二存储区域,以及将所述第一存储区域中的多个第一物理块已存储的数据信息和所述第二存储区域中的多个第二物理块已存储的数据信息通过磨损均衡算法进行擦除;
其中,所述第一存储区域为用户看得见的区域,所述第二存储区域为所述用户看不见的区域,所述第一存储区域的存储容量与所述第二存储区域的存储容量相同,所述磨损均衡算法为使每个所述第一物理块的擦除次数和每个所述第二物理块的擦除次数达到均衡。
7.根据权利要求6所述的提高闪存擦写寿命的装置,其特征在于,所述控制器用于在预设周期内检测每个所述第一物理块的擦除次数和每个所述第二物理块的擦除次数;
根据每个所述第一物理块的擦除次数和每个所述第二物理块的擦除次数筛选出所述擦除次数小于预设次数的物理块,并将所述擦除次数小于预设次数的物理块作为擦除物理块,对所述擦除物理块上的数据信息进行擦除。
8.根据权利要求6所述的提高闪存擦写寿命的装置,其特征在于,所述控制器,用于从所述多个第一物理块和所述多个第二物理块中选取任一尚未标记的物理块作为当前物理块,并且标记所述当前物理块和获取所述当前物理块的擦除次数;从尚未标记的物理块中选取与所述当前物理块的擦除次数的差值大于预设次数阈值的物理块,并且标记选取的物理块;将所述当前物理块的擦除次数与选取的物理块的擦除次数进行比较;如果所述当前物理块的擦除次数大于所述选取的物理块的擦除次数,则将所述当前物理块的数据信息与所述选取的物理块的数据信息进行交换,并对所述选取的物理块上的交换后的数据信息进行擦除;如果所述选取的物理块的擦除次数大于所述当前物理块的擦除次数,则将所述当前物理块的数据信息与所述选取的物理块的数据信息进行交换,并对所述当前物理块上的交换后的数据信息进行擦除。
9.一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至5任一项所述的方法。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至5任一项所述的方法。

说明书全文

提高闪存擦写寿命的方法和装置

技术领域

[0001] 本发明涉及数据存储技术领域,尤其是涉及提高闪存擦写寿命的方法和装置。

背景技术

[0002] 快闪存储器(Flash memory)简称闪存,闪存是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写。由于闪存具有非易失性的特点,即在断电后仍能长期保存数据。闪存具有容量大、速度快、体积小、功耗小和成本低等优点,从而使闪存的应用越来越广泛。
[0003] 闪存包括NAND(Not AND,与非)闪存,NAND闪存从最初的SLC(Single-Level Cell,单层单元)闪存向MLC(Multi-Level Cell,多层单元)闪存、TLC(Triple-Level Cell,三层单元)闪存和QLC(Quad-Level Cell,四层单元)闪存演变,在演变过程中,单元存储密度从1bit向2bit、3bit……nbit递增,但是擦写次数不断递减,从100000次向5000次、1000次和
500次依次递减。
[0004] 因此,闪存在发展过程中,虽然存储容量增加,但是擦写次数在减少,从而导致闪存的寿命缩短。

发明内容

[0005] 有鉴于此,本发明的目的在于提供提高闪存擦写寿命的方法和装置,从而提高闪存的擦写寿命。
[0006] 第一方面,本发明实施例提供了提高闪存擦写寿命的方法,闪存包括数据缓存区域和数据存储区域,所述方法包括:
[0007] 获取闪存的存储容量,根据所述闪存的存储容量将所述数据存储区域划分为第一存储区域和第二存储区域;
[0008] 获取数据信息,并将所述数据信息写入所述数据缓存区域;
[0009] 将写入所述数据缓存区域中的数据信息分别写入所述第一存储区域和所述第二存储区域,以及将所述第一存储区域中的多个第一物理已存储的数据信息和所述第二存储区域中的多个第二物理块已存储的数据信息通过磨损均衡算法进行擦除;
[0010] 其中,所述第一存储区域为用户看得见的区域,所述第二存储区域为所述用户看不见的区域,所述第一存储区域的存储容量与所述第二存储区域的存储容量相同,所述磨损均衡算法为使每个所述第一物理块的擦除次数和每个所述第二物理块的擦除次数达到均衡。
[0011] 进一步的,所述将所述第一存储区域中的多个第一物理块已存储的数据信息和所述第二存储区域中的多个第二物理块已存储的数据信息通过磨损均衡算法进行擦除,包括:
[0012] 在预设周期内检测每个所述第一物理块的擦除次数和每个所述第二物理块的擦除次数;
[0013] 根据每个所述第一物理块的擦除次数和每个所述第二物理块的擦除次数筛选出所述擦除次数小于预设次数的物理块,并将所述擦除次数小于预设次数的物理块作为擦除物理块,对所述擦除物理块上的数据信息进行擦除。
[0014] 进一步的,所述将所述第一存储区域中的多个第一物理块已存储的数据信息和所述第二存储区域中的多个第二物理块已存储的数据信息通过磨损均衡算法进行擦除,包括:
[0015] 从所述多个第一物理块和所述多个第二物理块中选取任一尚未标记的物理块作为当前物理块,并且标记所述当前物理块和获取所述当前物理块的擦除次数;
[0016] 从尚未标记的物理块中选取与所述当前物理块的擦除次数的差值大于预设次数阈值的物理块,并且标记选取的物理块;
[0017] 将所述当前物理块的擦除次数与选取的物理块的擦除次数进行比较;
[0018] 如果所述当前物理块的擦除次数大于所述选取的物理块的擦除次数,则将所述当前物理块的数据信息与所述选取的物理块的数据信息进行交换,并对所述选取的物理块上的交换后的数据信息进行擦除;
[0019] 如果所述选取的物理块的擦除次数大于所述当前物理块的擦除次数,则将所述当前物理块的数据信息与所述选取的物理块的数据信息进行交换,并对所述当前物理块上的交换后的数据信息进行擦除。
[0020] 进一步的,所述将所述第一存储区域中的多个第一物理块已存储的数据信息和所述第二存储区域中的多个第二物理块已存储的数据信息通过磨损均衡算法进行擦除,包括:
[0021] 从所述多个第一物理块和所述多个第二物理块中选取任一尚未标记的物理块作为当前物理块,并且标记所述当前物理块和获取所述当前物理块的擦除次数;
[0022] 将所述当前物理块的擦除次数与预设平均擦除次数阈值进行比较;
[0023] 如果所述当前物理块的擦除次数大于所述预设平均擦除次数阈值,则从尚未标记的物理块中选取小于所述当前物理块的擦除次数的物理块,并且标记选取的物理块;
[0024] 将所述当前物理块的数据信息与所述选取的物理块的数据信息进行交换,并对所述选取的物理块上的交换后的数据信息进行擦除。
[0025] 进一步的,所述数据信息至少包括图片、文字和视频。
[0026] 第二方面,本发明实施例提供了提高闪存擦写寿命的装置,所述装置包括:控制器固件和存储空间区域,所述固件与所述控制器相连接,其中,所述存储空间区域包括数据缓存区域和数据存储区域;
[0027] 所述固件,用于获取闪存的存储容量,根据所述闪存的存储容量将所述数据存储区域划分为第一存储区域和第二存储区域;
[0028] 所述控制器,用于获取数据信息,并将所述数据信息写入所述数据缓存区域;将写入所述数据缓存区域中的数据信息分别写入所述第一存储区域和所述第二存储区域,以及将所述第一存储区域中的多个第一物理块已存储的数据信息和所述第二存储区域中的多个第二物理块已存储的数据信息通过磨损均衡算法进行擦除;
[0029] 其中,所述第一存储区域为用户看得见的区域,所述第二存储区域为所述用户看不见的区域,所述第一存储区域的存储容量与所述第二存储区域的存储容量相同,所述磨损均衡算法为使每个所述第一物理块的擦除次数和每个所述第二物理块的擦除次数达到均衡。
[0030] 进一步的,所述控制器用于在预设周期内检测每个所述第一物理块的擦除次数和每个所述第二物理块的擦除次数;
[0031] 根据每个所述第一物理块的擦除次数和每个所述第二物理块的擦除次数筛选出所述擦除次数小于预设次数的物理块,并将所述擦除次数小于预设次数的物理块作为擦除物理块,对所述擦除物理块上的数据信息进行擦除。
[0032] 进一步的,所述控制器,用于从所述多个第一物理块和所述多个第二物理块中选取任一尚未标记的物理块作为当前物理块,并且标记所述当前物理块和获取所述当前物理块的擦除次数;从尚未标记的物理块中选取与所述当前物理块的擦除次数的差值大于预设次数阈值的物理块,并且标记选取的物理块;将所述当前物理块的擦除次数与选取的物理块的擦除次数进行比较;如果所述当前物理块的擦除次数大于所述选取的物理块的擦除次数,则将所述当前物理块的数据信息与所述选取的物理块的数据信息进行交换,并对所述选取的物理块上的交换后的数据信息进行擦除;如果所述选取的物理块的擦除次数大于所述当前物理块的擦除次数,则将所述当前物理块的数据信息与所述选取的物理块的数据信息进行交换,并对所述当前物理块上的交换后的数据信息进行擦除。
[0033] 第三方面,本发明实施例提供了电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。
[0034] 第四方面,本发明实施例提供了具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行如上所述的方法。
[0035] 本发明实施例提供了提高闪存擦写寿命的方法和装置,闪存包括数据缓存区域和数据存储区域,包括:获取闪存的存储容量,根据闪存的存储容量将数据存储区域划分为第一存储区域和第二存储区域;获取数据信息,并将数据信息写入数据缓存区域;将写入数据缓存区域中的数据信息分别写入第一存储区域和第二存储区域,以及将第一存储区域中的多个第一物理块已存储的数据信息和第二存储区域中的多个第二物理块已存储的数据信息通过磨损均衡算法进行擦除;其中,第一存储区域为用户看得见的区域,第二存储区域为用户看不见的区域,第一存储区域的存储容量与第二存储区域的存储容量相同,磨损均衡算法为使每个第一物理块的擦除次数和每个第二物理块的擦除次数达到均衡,从而提高闪存的擦写寿命。
[0036] 本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
[0037] 为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0038] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039] 图1为TLC闪存或QLC闪存的容量组成示意图;
[0040] 图2为TLC闪存或QLC闪存的数据写入流程示意图;
[0041] 图3为本发明实施例一提供的提高闪存擦写寿命的方法流程图
[0042] 图4为本发明实施例一提供的TLC闪存或QLC闪存的容量组成示意图;
[0043] 图5为本发明实施例一提供的多颗TLC闪存或QLC闪存的容量组成示意图;
[0044] 图6为本发明实施例二提供的提高闪存擦写寿命的装置示意图。
[0045] 图标:
[0046] 10-控制器;20-固件。

具体实施方式

[0047] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048] 图1为TLC闪存或QLC闪存的容量组成示意图。参照图1,TLC闪存或QLC闪存的容量为8GB,它包括SLC缓存区域(500MB)和TLC闪存或QLC闪存的数据存储区域(15GB)。当有数据信息写入时,先将数据信息写入SLC缓存区域,如果存入的数据信息的容量小于500MB,则将数据信息全部写入SLC缓存区域中;然后再将写入SLC缓存区域中的数据信息迁移到TLC闪存或QLC闪存的数据存储区域中,并存入相应的Page中;当需要对数据信息进行擦除时,以物理块为单位进行擦除。TLC闪存或QLC闪存的数据的写入参照图2,步骤S1,数据信息通过USB接口输入;步骤S2,将数据信息通过控制器解码处理,写入SLC缓存区域中;步骤S3,将数据信息写入到TLC闪存或QLC闪存的数据存储区域中。
[0049] 采用上述方法,TLC闪存的擦写寿命只有500次左右,而QLC闪存的擦写寿命更低,只有300次左右。而我们生活中的视频监控、视频录相、行车记录仪等应用需要不断的擦写数据,擦写寿命太短,产品寿命就相应无法满足产品需求。
[0050] 本申请提供了提高闪存擦写寿命的方法和装置,通过提高闪存擦写的寿命,从而达到满足工业等级、智能监控、智能电视和智能玩具等产品,在存储过程中不断写入数据和擦除数据。根据TLC闪存或QLC闪存大容量的特性,将闪存的存储容量将数据存储区域划分为第一存储区域和第二存储区域,其中,第一存储区域为用户看得见的区域,第二存储区域为用户看不见的区域。但是,实际擦写数据时仍然按照闪存的存储容量进行擦写。数据信息在写入过程中先写入数据缓存区域,数据缓存区域为SLC缓存区域,在将数据信息写入数据缓存区域后,再将数据信息迁移到数据存储区域,数据存储区域为TLC存储区域。根据闪存的存储容量将数据存储区域划分为第一存储区域和第二存储区域,故数据信息写入时会写入到第一存储区域的多个第一物理块中和第二存储区域的多个第二物理块中,在对数据信息进行写入或擦除时,采用磨损均衡算法,使闪存的存储容量上的所有物理块的擦除次数达到均衡。采用上述方法,可以使闪存的擦写次数比同样容量的TLC闪存或QLC闪存的擦写寿命提升一倍。一般TLC闪存或QLC闪存的擦写次数为300—1000次,采用上述方案可以使擦写次数提升到600—2000次,从而提高闪存的擦写寿命。
[0051] NAND闪存的读写是以page(页)为单位,在写入数据信息前,需要先擦除,擦除数据是以Block(物理块)为单位,这些操作都会减少器件的寿命。Block是Nand闪存最小的擦除单位,如果一个Block寿命到了,写入这个Block的数据信息就会出现无法处理的bit(比特)错误,这个Block就不能再被使用了,需要使用保留的好块去把这个新增的坏块替换下来,如果保留的好块使用完了,那么就不能再往NAND闪存里面写入数据信息了。故NAND闪存在擦写数据时,需要使用磨损均衡算法,磨损均衡算法用于记录第一存储区域中的多个第一物理块和第二存储区域中的多个第二物理块的擦写次数,从而保证每个块的擦写次数达到均衡,提高闪存的使用寿命。需要说明的是,当一个闪存使用时间较长时,清空平衡磨损表后,再重新建立,每个块的磨损寿命信息也会丢失。如果再使用这个闪存就会非常危险,因为该闪存中的某个块的磨损度已经很高了,但是却没有被记录下来,该块可能会存在无法处理的数据。
[0052] 本申请中,主要采用TLC闪存或QLC闪存来达到提高闪存寿命的目的。由于TLC闪存或QLC闪存的单位容量成本比MLC闪存低,同样容量的TLC闪存会比MLC闪存的晶圆尺寸小30%,而相同容量QLC闪存比MLC闪存晶圆小约70%,故本申请采用TLC闪存或QLC闪存。
[0053] TLC闪存中每个单元写入3bit数据,需要控制8组不同的电压。而QLC闪存每个单元中写入4bit数据,需要控制16组不同的电压。这样使得TLC闪存或QLC闪存整体控制变得更加复杂,相应的写入能稳定性也会进一步下降。目前,TLC闪存的擦写寿命只有500次左右,而QLC闪存的擦写寿命更低,只有300次左右。而我们生活中的视频监控、视频录相、行车记录仪等应用需要不断的擦写数据,擦写寿命太短,产品寿命就相应无法满足产品需求。因此,通过提高闪存的擦写寿命来延长产品的生命周期。
[0054] 为便于对本实施例进行理解,下面对本发明实施例进行详细介绍。
[0055] 实施例一:
[0056] 图3为本发明实施例一提供的提高闪存擦写寿命的方法流程图。
[0057] 参照图3,闪存包括数据缓存区域和数据存储区域,该方法包括以下步骤:
[0058] 步骤S101,获取闪存的存储容量,根据闪存的存储容量将数据存储区域划分为第一存储区域和第二存储区域;
[0059] 步骤S102,获取数据信息,并将数据信息写入数据缓存区域;
[0060] 这里,数据信息至少包括图片、文字和视频。
[0061] 步骤S103,将写入数据缓存区域中的数据信息分别写入第一存储区域和第二存储区域,以及将第一存储区域中的多个第一物理块已存储的数据信息和第二存储区域中的多个第二物理块已存储的数据信息通过磨损均衡算法进行擦除;
[0062] 其中,第一存储区域为用户看得见的区域,第二存储区域为用户看不见的区域,第一存储区域的存储容量与第二存储区域的存储容量相同,磨损均衡算法为使每个第一物理块的擦除次数和每个第二物理块的擦除次数达到均衡。
[0063] 具体地,参照图4,闪存的存储容量为16GB,数据缓存区域为SLC缓存区域,占容量为500MB,数据存储区域划分为第一存储区域和第二存储区域,其中,第一存储区域为TLC/QLC用户使用空间,占7.5GB;第二存储区域为TLC/QLC用户看不见的空间,占7.5GB。基于磨损均衡算法,可用区域仍为16GB,因此,16GB闪存的擦写寿命由1000次提高到2000次,从而提高了擦写寿命。
[0064] 将写入数据缓存区域中的数据信息分别写入第一存储区域和第二存储区域,即在7.5GB x2的空间里面轮流/交替擦写,从而使擦写寿命提升2倍。这是因为通过磨损均衡算法,利用用户看不见的空间,达到了2倍的空间容量区域,从而提升擦写次数,即在相同的数据信息写入的条件下,平均擦写区域下降为1/2,则闪存的寿命就提高了2倍。
[0065] 参照图5,本申请还可以通过封装工艺,将TLC闪存/QLC闪存晶圆多层堆叠起来,通过控制器及固件(Firmware,FW)来将整体组成的容量处理成1/2的用户看见的容量,利用隐藏另一半容量与用户看见的容量一起采用磨损均衡算法将实际寿命扩大一倍。
[0066] 在磨损均衡算法中,闪存采取异地更新的策略,更新的数据会被放到别的页上,而不是覆盖原来的数据。包含新版本数据的页称为有效页,新版本数据称为有效数据。包含旧版本数据的页称为无效页,或称为脏页,脏页经过擦除操作后成为空闲页,然后才可以重新写入数据。
[0067] 因为闪存是以物理块为单位执行擦除的,因此需要将脏页所在物理块上的所有页都擦除,在擦除之前需要检查此物理块上是否存在有效页,如果存在,需要将该块上的数据信息转移到其他物理块上。因为闪存的每个物理块的擦除次数有限,一般是在10万次到100万次之间,只要某个物理块的擦除次数达到了上限,闪存数据存储的性能将会下降。所以需要使擦除次数平均作用在闪存的每个物理块上,这种方法就是磨损均衡(wear-leveling)算法。
[0068] 当应用闪存时,实际上访问的是闪存的逻辑地址,在逻辑地址和物理地址之间,存在着映射关系。数据更新后只需改变映射表中页的地址,并将原版本数据所在的页标为无效。对于经常被更新的物理块,我们称之为“热”物理块,对长期得不到更新的物理块,称之为“冷”物理块。物理块经常更新的话,就会经常被擦除,而长期不更新的物理块,不会出现脏页而被擦除,其擦除次数会明显少于经常被更新的物理块。下面对磨损均衡算法进行详细介绍。
[0069] 进一步的,步骤S103包括以下步骤:
[0070] 步骤S201,在预设周期内检测每个第一物理块的擦除次数和每个第二物理块的擦除次数;
[0071] 步骤S202,根据每个第一物理块的擦除次数和每个第二物理块的擦除次数筛选出擦除次数小于预设次数的物理块,并将擦除次数小于预设次数的物理块作为擦除物理块,对擦除物理块上的数据信息进行擦除。
[0072] 具体地,将内存的寿命看作为多个周期,在一个预设周期内,检测每个第一物理块的擦除次数和每个第二物理块的擦除次数,从上述物理块中筛选出擦除次数小于预设次数的物理块,而达到预设次数的物理块不会被选中,这样可以使每个物理块都达到相同的擦除次数,然后再开始下一个预设周期,通过调整闪存的物理块的擦除次数,可以使闪存达到磨损均衡,提高闪存的使用寿命。
[0073] 进一步的,步骤S103包括:
[0074] 步骤S301,从多个第一物理块和多个第二物理块中选取任一尚未标记的物理块作为当前物理块,并且标记当前物理块和获取当前物理块的擦除次数;
[0075] 步骤S302,从尚未标记的物理块中选取与当前物理块的擦除次数的差值大于预设次数阈值的物理块,并且标记选取的物理块;
[0076] 步骤S303,将当前物理块的擦除次数与选取的物理块的擦除次数进行比较;
[0077] 步骤S304,如果当前物理块的擦除次数大于选取的物理块的擦除次数,则将当前物理块的数据信息与选取的物理块的数据信息进行交换,并对选取的物理块上的交换后的数据信息进行擦除;
[0078] 步骤S305,如果选取的物理块的擦除次数大于当前物理块的擦除次数,则将当前物理块的数据信息与选取的物理块的数据信息进行交换,并对当前物理块上的交换后的数据信息进行擦除。
[0079] 具体地,从多个第一物理块和多个第二物理块中选取任一尚未标记的物理块作为当前物理块,并且标记当前物理块以及获取当前物理块的擦除次数;然后从其余的尚未标记的物理块中选取一个物理块,使该物理块的擦除次数与当前物理块的擦除次数的差值大于预设次数阈值,然后将当前物理块的擦除次数与选取的物理块的擦除次数进行比较,从而将擦除次数少的物理块上的数据信息与擦除次数多的物理块上的数据信息进行交换。如果物理块上存放的是“冷”数据,即数据很少被更新,则该物理块上的数据不易变脏,很少得到擦除的机会。相反,如果该物理块上存放的是“热”数据,则该物理块上的数据经常被更新,经常得到擦除脏数据的机会。根据这个原理来交换“冷热”数据,从而实现磨损均衡。
[0080] 进一步的,步骤S103包括以下步骤:
[0081] 步骤S401,从多个第一物理块和多个第二物理块中选取任一尚未标记的物理块作为当前物理块,并且标记当前物理块和获取当前物理块的擦除次数;
[0082] 步骤S402,将当前物理块的擦除次数与预设平均擦除次数阈值进行比较;
[0083] 步骤S403,如果当前物理块的擦除次数大于预设平均擦除次数阈值,则从尚未标记的物理块中选取小于当前物理块的擦除次数的物理块,并且标记选取的物理块;
[0084] 步骤S404,将当前物理块的数据信息与选取的物理块的数据信息进行交换,并对选取的物理块上的交换后的数据信息进行擦除。
[0085] 具体地,从多个第一物理块和多个第二物理块中选取任一尚未标记的物理块作为当前物理块,并且标记当前物理块和获取当前物理块的擦除次数,判断当前物理块的擦除次数是否大于预设平均擦除次数阈值,如果大于,则从尚未标记的物理块中选取小于当前物理块的擦除次数的物理块,并且标记选取的物理块,将当前物理块的数据信息与选取的物理块的数据信息进行交换,并对选取的物理块上的交换后的数据信息进行擦除。如果物理块上存放的是“冷”数据,即数据很少被更新,则该物理块上的数据不易变脏,很少得到擦除的机会。相反,如果该物理块上存放的是“热”数据,则该物理块上的数据经常被更新,经常得到擦除脏数据的机会。根据这个原理来交换“冷热”数据,从而实现磨损均衡。
[0086] 磨损均衡算法记录了物理块的擦除次数,故在处理中可根据物理块的擦除次数作出调整,使各物理块基本达到相近的擦除次数,从而实现均衡,提高内存的使用寿命。
[0087] 实施例二:
[0088] 图6为本发明实施例二提供的提高闪存擦写寿命的装置示意图。
[0089] 参照图6,该装置包括:控制器10、固件20和存储空间区域,固件20与控制器10相连接,其中,存储空间区域包括数据缓存区域和数据存储区域;
[0090] 固件20,用于获取闪存的存储容量,根据闪存的存储容量将数据存储区域划分为第一存储区域和第二存储区域;
[0091] 控制器10,用于获取数据信息,并将数据信息写入数据缓存区域;将写入数据缓存区域中的数据信息分别写入第一存储区域和第二存储区域,以及将第一存储区域中的多个第一物理块已存储的数据信息和第二存储区域中的多个第二物理块已存储的数据信息通过磨损均衡算法进行擦除;
[0092] 其中,第一存储区域为用户看得见的区域,第二存储区域为用户看不见的区域,第一存储区域的存储容量与第二存储区域的存储容量相同,磨损均衡算法为使每个第一物理块的擦除次数和每个第二物理块的擦除次数达到均衡。
[0093] 进一步的,控制器10用于在预设周期内检测每个第一物理块的擦除次数和每个第二物理块的擦除次数;
[0094] 根据每个第一物理块的擦除次数和每个第二物理块的擦除次数筛选出擦除次数小于预设次数的物理块,并将擦除次数小于预设次数的物理块作为擦除物理块,对擦除物理块上的数据信息进行擦除。
[0095] 进一步的,控制器10,用于从多个第一物理块和多个第二物理块中选取任一尚未标记的物理块作为当前物理块,并且标记当前物理块和获取当前物理块的擦除次数;从尚未标记的物理块中选取与当前物理块的擦除次数的差值大于预设次数阈值的物理块,并且标记选取的物理块;将当前物理块的擦除次数与选取的物理块的擦除次数进行比较;如果当前物理块的擦除次数大于选取的物理块的擦除次数,则将当前物理块的数据信息与选取的物理块的数据信息进行交换,并对选取的物理块上的交换后的数据信息进行擦除;如果选取的物理块的擦除次数大于当前物理块的擦除次数,则将当前物理块的数据信息与选取的物理块的数据信息进行交换,并对当前物理块上的交换后的数据信息进行擦除。
[0096] 本发明实施例提供了提高闪存擦写寿命的方法和装置,闪存包括数据缓存区域和数据存储区域,包括:获取闪存的存储容量,根据闪存的存储容量将数据存储区域划分为第一存储区域和第二存储区域;获取数据信息,并将数据信息写入数据缓存区域;将写入数据缓存区域中的数据信息分别写入第一存储区域和第二存储区域,以及将第一存储区域中的多个第一物理块已存储的数据信息和第二存储区域中的多个第二物理块已存储的数据信息通过磨损均衡算法进行擦除;其中,第一存储区域为用户看得见的区域,第二存储区域为用户看不见的区域,第一存储区域的存储容量与第二存储区域的存储容量相同,磨损均衡算法为使每个第一物理块的擦除次数和每个第二物理块的擦除次数达到均衡,从而提高闪存的擦写寿命。
[0097] 本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的提高闪存擦写寿命的方法的步骤。
[0098] 本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,计算机可读介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的提高闪存擦写寿命的方法的步骤。
[0099] 本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0100] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0101] 另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0102] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0103] 在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0104] 最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈