一种用于Nand Flash的磨损均衡方法及装置制造方法及图纸

技术编号:26417595 阅读:15 留言:0更新日期:2020-11-20 14:12
本发明专利技术公开了一种用于Nand Flash的磨损均衡方法及装置,该方法包括:检测到写操作指令,获取待写入的目标数据;判断目标数据是否需要分配新的空闲物理块;若需要分配新的空闲物理块,则获取空闲队列中擦除次数最小的空闲物理块,将目标数据写入空闲物理块中,生成数据物理块;判断所有物理块是否满足预设的磨损均衡条件;若满足预设的磨损均衡条件,则将擦除次数最小的数据物理块的数据迁入空闲队列中擦除次数最大的空闲块中,生成目标数据块;重复上述操作,直至所有物理块满足预设的磨损均衡条件。本发明专利技术实施例可以最大化闪存使用寿命,解决数据随机性对闪存使用寿命的影响,不消耗大量内存资源的情况记录每个物理块的擦除次数。

【技术实现步骤摘要】
一种用于NandFlash的磨损均衡方法及装置
本专利技术涉及半导体器件
,尤其涉及一种用于NandFlash的磨损均衡方法及装置。
技术介绍
NandFlash存储器是flash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nandflash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用。由于Nandflash没有重写机制,所以在一个块写满数据后,需要擦除块中的数据,才可以写入新数据。当数据更新时,将新数据重新写入,标记原数据为无效,进入待擦除状态。固态硬盘的物理特性决定了它的可擦写次数是有限的。为了提高Nandflash的使用寿命,需要对各个块的擦除次数进行均衡处理。现有的磨损均衡算法是通过在每次写或擦除操作后,按照某一概率来触发磨损均衡处理。按照均匀分布的概率,随机选择某个块执行擦除操作。不论块上放的是“冷”数据还是“热”数据,让每个块得到相等的擦除机会。最后将选中块上的有效数据复制到空块后擦除此块。将数据移动到哪个空闲块上,也是随机选择,因为没有记录块的擦除情况,存在将“冷”数据又移动到一个“冷”块上的情况,结果此块并没有增加擦除次数,这种情况尤其会发生在有大量“冷”数据的系统里。算法的效果受随机因素影响较大,在擦除前,并不知道各个块被擦除的情况,同时对逻辑页的随机性请求并不能做到完全等概率,所以虽然是等概率地选择处理页,但每个块的擦除次数并不能达到等概率分布,不能达到很好的磨损均衡效果。<br>因此,现有技术还有待于改进和发展。
技术实现思路
鉴于上述现有技术的不足,本专利技术的目的在于提供一种用于NandFlash的磨损均衡方法及装置,旨在解决现有技术中磨损均衡算法的效果受随机因素影响较大,在擦除前并不知道各个块被擦除的情况,同时对逻辑页的随机性请求并不能做到完全等概率,因此每个块的擦除次数并不能达到等概率分布,不能达到很好的磨损均衡效果的技术问题。本专利技术的技术方案如下:一种用于NandFlash的磨损均衡方法,所述方法包括:检测到写操作指令,获取待写入的目标数据;判断目标数据是否需要分配新的空闲物理块;若需要分配新的空闲物理块,则获取空闲队列中擦除次数最小的空闲物理块,将目标数据写入空闲物理块中,生成数据物理块;判断所有物理块是否满足预设的磨损均衡条件;若满足预设的磨损均衡条件,则将擦除次数最小的数据物理块的数据迁入空闲队列中擦除次数最大的空闲块中,生成目标数据块;继续判断所有物理块是否满足预设的磨损均衡条件,根据判断结果执行对应的物理块数据迁入操作,直至所有物理块满足预设的磨损均衡条件。进一步地,所述判断目标数据是否需要分配新的空闲物理块后,还包括:若不需要分配新的空闲物理块,则将目标数据写入已存在的数据物理块中。进一步优选地,所述检测到写操作指令,获取待写入的目标数据,包括:检测到写操作指令,获取待写入的目标数据的数据类型,所述数据类型包括热数据和冷数据。进一步优选地,所述将目标数据写入已存在的数据物理块中,包括:判断目标数据的类型为热数据或冷数据;若目标数据为热数据,则将目标数据写入已存在的热数据所在数据物理块中;若目标数据为冷数据,则将目标数据写入已存在的冷数据所在数据物理块中。优选地,所述将擦除次数最小的数据物理块的数据迁入空闲队列中擦除次数最大的空闲块中,生成目标数据块之后,包括:将目标数据块放入对应的块映射表,将所述擦除次数最小的数据物理块变更为空闲块。进一步地,所述预设的磨损均衡条件为任何两个物理块的擦除次数之差超过预定的阈值或是某个数据块的擦除次数超过所有物理块的平均擦除次数。进一步地,所述物理块包括未写入数据的空闲物理块和已写入数据的数据物理块。本专利技术的另一实施例提供了一种用于NandFlash的磨损均衡装置,所述装置包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的用于NandFlash的磨损均衡方法。本专利技术的另一实施例还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的用于NandFlash的磨损均衡方法。本专利技术的另一种实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被处理器执行时,使所述处理器执行上述的用于NandFlash的磨损均衡方法。有益效果:本专利技术实施例可以最大化闪存使用寿命,解决数据随机性对闪存使用寿命的影响,不消耗大量内存资源的情况记录每个物理块的擦除次数。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1为本专利技术一种用于NandFlash的磨损均衡方法较佳实施例的流程图;图2为本专利技术一种用于NandFlash的磨损均衡装置的较佳实施例的硬件结构示意图。具体实施方式为使本专利技术的目的、技术方案及效果更加清楚、明确,以下对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。以下结合附图对本专利技术实施例进行介绍。本专利技术实施例提供了一种用于NandFlash的磨损均衡方法。请参阅图1,图1为本专利技术一种用于NandFlash的磨损均衡方法较佳实施例的流程图。如图1所示,其包括步骤:步骤S100、检测到写操作指令,获取待写入的目标数据;步骤S200、判断目标数据是否需要分配新的空闲物理块,如果是,则执行步骤S300,如果否,则执行步骤S600;步骤S300、获取空闲队列中擦除次数最小的空闲物理块,将目标数据写入空闲物理块中,生成数据物理块;步骤S400、判断所有物理块是否满足预设的磨损均衡条件,如果是,则执行步骤S500,如果否,则执行步骤S700;步骤S500、将擦除次数最小的数据物理块的数据迁入空闲队列中擦除次数最大的空闲块中,生成目标数据块,之后执行步骤S400;步骤S600、将目标数据写入已存在的数据物理块中;步骤S700、结束。具体实施时,物理块包括未写入数据的空闲物理块和已写入数据的数据物理块。检测到写操作指令,获取待执行写操作的目标数据;判断写操作是否需要分配新的物理块;若需要分配新的空闲物理块,则获取擦除次数最小的空闲物理块,将目标数据写入空闲物理块;判断写入的物理块是否满足预设的磨损均衡条件;预设的磨损均衡条件为任何两个物理块的擦除次数之差超过预定的阈值或是某个数据块的擦除次数超过所有物理块的平均擦除次数本文档来自技高网
...

【技术保护点】
1.一种用于Nand Flash的磨损均衡方法,其特征在于,所述方法包括:/n检测到写操作指令,获取待写入的目标数据;/n判断目标数据是否需要分配新的空闲物理块;/n若需要分配新的空闲物理块,则获取空闲队列中擦除次数最小的空闲物理块,将目标数据写入空闲物理块中,生成数据物理块;/n判断所有物理块是否满足预设的磨损均衡条件;若满足预设的磨损均衡条件,则将擦除次数最小的数据物理块的数据迁入空闲队列中擦除次数最大的空闲块中,生成目标数据块;/n继续判断所有物理块是否满足预设的磨损均衡条件,根据判断结果执行对应的物理块数据迁入操作,直至所有物理块满足预设的磨损均衡条件。/n

【技术特征摘要】
1.一种用于NandFlash的磨损均衡方法,其特征在于,所述方法包括:
检测到写操作指令,获取待写入的目标数据;
判断目标数据是否需要分配新的空闲物理块;
若需要分配新的空闲物理块,则获取空闲队列中擦除次数最小的空闲物理块,将目标数据写入空闲物理块中,生成数据物理块;
判断所有物理块是否满足预设的磨损均衡条件;若满足预设的磨损均衡条件,则将擦除次数最小的数据物理块的数据迁入空闲队列中擦除次数最大的空闲块中,生成目标数据块;
继续判断所有物理块是否满足预设的磨损均衡条件,根据判断结果执行对应的物理块数据迁入操作,直至所有物理块满足预设的磨损均衡条件。


2.根据权利要求1所述的用于NandFlash的磨损均衡方法,其特征在于,所述判断目标数据是否需要分配新的空闲物理块后,还包括:
若不需要分配新的空闲物理块,则将目标数据写入已存在的数据物理块中。


3.根据权利要求2所述用于NandFlash的磨损均衡方法,其特征在于,所述检测到写操作指令,获取待写入的目标数据,包括:
检测到写操作指令,获取待写入的目标数据的数据类型,所述数据类型包括热数据和冷数据。


4.根据权利要3所述的用于NandFlash的磨损均衡方法,其特征在于,所述将目标数据写入已存在的数据物理块中,包括:
判断目标数据的类型为热数据或冷数据;
若目标数据为热数据,则将目标数据写入已存在的热数据所在数据物理块中;
若目标数据为冷数据,则将目标数据写入已存在的冷数据所在数据物理块中。


5.根据权利要求4所述的用于NandFlash的磨损均衡...

【专利技术属性】
技术研发人员:曾庆聪张如宏胡来胜
申请(专利权)人:深圳三地一芯电子有限责任公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1