一种数据块回收方法、装置及电子设备和存储介质制造方法及图纸

技术编号:36301037 阅读:18 留言:0更新日期:2023-01-13 10:17
本申请公开了一种数据块回收方法、装置及电子设备和存储介质,涉及存储技术领域,该方法包括:在回收数据块的过程中,判断各数据块的擦除次数的差值是否小于或等于第一预设值;若是,则基于各写满数据块中包含的有效数据选择需要进行回收的目标写满数据块,基于各空闲数据块的擦除次数选择目标空闲数据块;若否,则基于各写满数据块的擦写次数选择需要进行回收的目标写满数据块,基于各空闲数据块的擦除次数选择目标空闲数据块;将所述目标写满数据块中包含的有效数据移动至所述目标空闲数据块中,并回收所述目标写满数据块。由此可见,本申请提升了磨损均衡效果。本申请提升了磨损均衡效果。本申请提升了磨损均衡效果。

【技术实现步骤摘要】
一种数据块回收方法、装置及电子设备和存储介质


[0001]本申请涉及存储
,更具体地说,涉及一种数据块回收方法、装置及一种电子设备和一种计算机可读存储介质。

技术介绍

[0002]磨损均衡主要分为静态磨损均衡和动态磨损均衡,动态磨损均衡就是在较新的闪存颗粒上写入,尽量不适用较老的闪存颗粒,静态磨损均衡是选取冷数据移动到较老的数据块上。
[0003]对于静态磨损均衡方法来说,综合计算数据块包含的有效数据和擦写次数,也即为包含的有效数据和擦写次数分别分配对应的权重,基于数据块包含的有效数据、擦写次数和分别对应的权重计算数据块的得分,包含的有效数据越少得分越高,擦写次数越多得分越高,根据各数据块的得分确定需要回收的数据块。
[0004]在上述方案中,一个数据块的得分较高,并不一定说明这个数据块包含的有效数据较少同时擦写次数较多,也有可能是这个数据块包含的有效数据特别少而擦写次数较少,还可能是这个数据块包含的有效数据较多但擦写次数特别多,回收这种数据块会导致磨损均衡的效果较差。
[0005]因此,如何提升磨损均衡效果是本领域技术人员需要解决的技术问题。

技术实现思路

[0006]本申请的目的在于提供一种数据块回收方法、装置及一种电子设备和一种计算机可读存储介质,提升了磨损均衡效果。
[0007]为实现上述目的,本申请提供了一种数据块回收方法,包括:在回收数据块的过程中,判断各数据块的擦除次数的差值是否小于或等于第一预设值;若是,则基于各写满数据块中包含的有效数据选择需要进行回收的目标写满数据块,基于各空闲数据块的擦除次数选择目标空闲数据块;若否,则基于各写满数据块的擦写次数选择需要进行回收的目标写满数据块,基于各空闲数据块的擦除次数选择目标空闲数据块;将所述目标写满数据块中包含的有效数据移动至所述目标空闲数据块中。
[0008]其中,所述基于各写满数据块中包含的有效数据选择需要进行回收的目标写满数据块,包括:选择包含有效数据最少的写满数据块作为需要进行回收的目标写满数据块。
[0009]其中,若各数据块的擦除次数的差值小于或等于所述第一预设值,则所述基于各空闲数据块的擦除次数选择目标空闲数据块,包括:选择擦除次数最小的空闲数据块作为目标空闲数据块。
[0010]其中,所述基于各写满数据块的擦写次数选择需要进行回收的目标写满数据块,
包括:若最大擦除次数与擦除次数最大的空闲数据块的擦除次数的差值小于或等于第二预设值,则基于各写满数据块的擦写次数由小至大选择需要进行回收的目标写满数据块;其中,所述最大擦除次数为所有数据块的最大擦除次数。
[0011]其中,所述基于各写满数据块的擦写次数选择需要进行回收的目标写满数据块,包括:若最大擦除次数与擦除次数最大的空闲数据块的擦除次数的差值大于第二预设值,则基于各写满数据块的擦写次数和包含的有效数据选择需要进行回收的目标写满数据块;其中,所述最大擦除次数为所有数据块的最大擦除次数。
[0012]其中,所述基于各写满数据块的擦写次数和包含的有效数据选择需要进行回收的目标写满数据块,包括:选择擦除次数大于第三预设值且包含有效数据最少的写满数据块作为需要进行回收的目标写满数据块。
[0013]其中,若各数据块的擦除次数的差值大于所述第一预设值,则所述基于各空闲数据块的擦除次数选择目标空闲数据块,包括:选择擦除次数最大的空闲数据块作为目标空闲数据块;其中,所述最大擦除次数为所有数据块的最大擦除次数。
[0014]其中,将所述目标写满数据块中包含的有效数据移动至所述目标空闲数据块中,包括:将所述目标写满数据块中包含的有效数据移动至所述目标空闲数据块中,直至各数据块的擦除次数的差值小于或等于所述第一预设值,回收所述目标写满数据块。
[0015]其中,所述判断各数据块的擦除次数的差值是否小于或等于第一预设值,包括:确定各数据块的最大擦除次数、最小擦写次数,并计算各数据块的平均擦写次数;判断所述最大擦写次数与所述平均擦写次数的差值是否小于或等于第一预设值且所述平均擦写次数与所述最小擦写次数的差值是否小于或等于第一预设值;若均是,则判定各数据块的擦除次数的差值小于或等于第一预设值。
[0016]其中,还包括:基于写满数据块创建第一哈希表和第二哈希表;其中,在所述第一哈希表中各写满数据块根据擦除次数排列,在所述第二哈希表中各写满数据块根据包含的有效数据排列;基于空闲数据块创建第三哈希表;其中,在所述第三哈希表中各空闲数据块根据擦除次数排列。
[0017]其中,所述基于各写满数据块中包含的有效数据选择需要进行回收的目标写满数据块,包括:基于所述第二哈希表选择需要进行回收的目标写满数据块;相应的,所述基于各空闲数据块的擦除次数选择目标空闲数据块,包括:基于所述第三哈希表选择目标空闲数据块;相应的,所述基于各写满数据块的擦写次数选择需要进行回收的目标写满数据块,包括:
基于所述第一哈希表选择需要进行回收的目标写满数据块。
[0018]其中,还包括:当空闲数据块的数量小于或等于第四预设值时,持续回收数据块。
[0019]为实现上述目的,本申请提供了一种数据块回收装置,包括:判断模块,用于在回收数据块的过程中,判断各数据块的擦除次数的差值是否小于或等于第一预设值;若是,则启动第一选择模块的工作流程;若否,则启动第二选择模块的工作流程;所述第一选择模块,用于基于各写满数据块中包含的有效数据选择需要进行回收的目标写满数据块,基于各空闲数据块的擦除次数选择目标空闲数据块;所述第二选择模块,用于基于各写满数据块的擦写次数选择需要进行回收的目标写满数据块,基于各空闲数据块的擦除次数选择目标空闲数据块;移动模块,用于将所述目标写满数据块中包含的有效数据移动至所述目标空闲数据块中。
[0020]其中,所述第一选择模块具体用于:选择包含有效数据最少的写满数据块作为需要进行回收的目标写满数据块,选择擦除次数最小的空闲数据块作为目标空闲数据块。
[0021]其中,所述第二选择模块包括:第一选择单元,用于当最大擦除次数与擦除次数最大的空闲数据块的擦除次数的差值小于或等于第二预设值时,基于各写满数据块的擦写次数由小至大选择需要进行回收的目标写满数据块;其中,所述最大擦除次数为所有数据块的最大擦除次数;第二选择单元,用于当最大擦除次数与擦除次数最大的空闲数据块的擦除次数的差值大于第二预设值时,基于各写满数据块的擦写次数和包含的有效数据选择需要进行回收的目标写满数据块;其中,所述最大擦除次数为所有数据块的最大擦除次数;第三选择单元,用于基于各空闲数据块的擦除次数选择目标空闲数据块。
[0022]其中,所述第二选择单元具体用于:当最大擦除次数与擦除次数最大的空闲数据块的擦除次数的差值大于第二预设值时,选择擦除次数大于第三预设值且包含有效数据最少的写满数据块作为需要进行回收的目标写满数据块。
[0023]其中,所述第三选择单元具体用于:选择擦除次数最大的空闲数据块作为目标空闲数据块;其中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据块回收方法,其特征在于,包括:在回收数据块的过程中,判断各数据块的擦除次数的差值是否小于或等于第一预设值;若是,则基于各写满数据块中包含的有效数据选择需要进行回收的目标写满数据块,基于各空闲数据块的擦除次数选择目标空闲数据块;若否,则基于各写满数据块的擦写次数选择需要进行回收的目标写满数据块,基于各空闲数据块的擦除次数选择目标空闲数据块;将所述目标写满数据块中包含的有效数据移动至所述目标空闲数据块中。2.根据权利要求1所述数据块回收方法,其特征在于,所述基于各写满数据块中包含的有效数据选择需要进行回收的目标写满数据块,包括:选择包含有效数据最少的写满数据块作为需要进行回收的目标写满数据块。3.根据权利要求1所述数据块回收方法,其特征在于,若各数据块的擦除次数的差值小于或等于所述第一预设值,则所述基于各空闲数据块的擦除次数选择目标空闲数据块,包括:选择擦除次数最小的空闲数据块作为目标空闲数据块。4.根据权利要求1所述数据块回收方法,其特征在于,所述基于各写满数据块的擦写次数选择需要进行回收的目标写满数据块,包括:若最大擦除次数与擦除次数最大的空闲数据块的擦除次数的差值小于或等于第二预设值,则基于各写满数据块的擦写次数由小至大选择需要进行回收的目标写满数据块;其中,所述最大擦除次数为所有数据块的最大擦除次数。5.根据权利要求1所述数据块回收方法,其特征在于,所述基于各写满数据块的擦写次数选择需要进行回收的目标写满数据块,包括:若最大擦除次数与擦除次数最大的空闲数据块的擦除次数的差值大于第二预设值,则基于各写满数据块的擦写次数和包含的有效数据选择需要进行回收的目标写满数据块;其中,所述最大擦除次数为所有数据块的最大擦除次数。6.根据权利要求5所述数据块回收方法,其特征在于,所述基于各写满数据块的擦写次数和包含的有效数据选择需要进行回收的目标写满数据块,包括:选择擦除次数大于第三预设值且包含有效数据最少的写满数据块作为需要进行回收的目标写满数据块。7.根据权利要求1所述数据块回收方法,其特征在于,若各数据块的擦除次数的差值大于所述第一预设值,则所述基于各空闲数据块的擦除次数选择目标空闲数据块,包括:选择擦除次数最大的空闲数据块作为目标空闲数据块;其中,所述最大擦除次数为所有数据块的最大擦除次数。8.根据权利要求7所述数据块回收方法,其特征在于,将所述目标写满数据块中包含的有效数据移动至所述目标空闲数据块中,包括:将所述目标写满数据块中包含的有效数据移动至所述目标空闲数据块中,直至各数据块的擦除次数的差值小...

【专利技术属性】
技术研发人员:文俊皓钟戟殷军博
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1