一种固态硬盘垃圾回收方法、装置、设备及介质制造方法及图纸

技术编号:35109755 阅读:17 留言:0更新日期:2022-10-01 17:23
本申请公开了一种固态硬盘垃圾回收方法、装置、设备及介质,涉及计算机技术领域,所述方法包括:当针对固态硬盘的目标存储区块的读次数满足阈值,并当触发数据搬移,则确定目标存储区块中数据的冷热级别;冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;根据目标存储区块中数据的冷热级别,将数据搬移至相应的新存储区块,并对目标存储区块进行擦除,以完成对固态硬盘的所述目标存储区块的垃圾回收。可见,本申请对冷热数据进行级别划分,并根据划分后的级别完成相应的数据搬移进一步完成垃圾回收,如此一来,有效的解决由于冷热数据不区分导致的写放大增加问题,延长固态硬盘使用寿命。硬盘使用寿命。硬盘使用寿命。

【技术实现步骤摘要】
一种固态硬盘垃圾回收方法、装置、设备及介质


[0001]本专利技术涉及计算机
,特别涉及一种固态硬盘垃圾回收方法、装置、设备及介质。

技术介绍

[0002]固态硬盘中存储数据的介质是闪存芯片(flash memory),其中包含多个存储区块(block),每个区块中包含多个页(page)。在对存储区块中的页进行多次数据读操作时,可能对同一个区块内的其它页的数据造成读干扰,造成数据出错。因此需要记录含有有效数据区块的读次数,当读次数达到其厂家给定的值时,需要对这个区块中的有效数据做数据搬移,也就是垃圾回收,其做法是将这个区块中有效的数据搬移到新的区块中,将旧的区块擦除掉,并作为可用区块。
[0003]现有技术中,SSD(Solid State Drive,固态驱动器,俗称固态硬盘)主控制器从页中读取一次数据后,会将当前区块A的读次数加一,并写入到内存DDR(double data rate,DDR,双倍读取速率)中。当读次数达到预设值时,利用一种随机数生成器,生成一定范围内的随机值,当随机值等于预设值时,触发垃圾回收,将当前读到的数据,搬移到新的区块B1中,并标记区块A中被读到数据位置为无效。同时主机下发的写同样写入到区块B1中,当区块B1写满后,会重新选一个新的区块B2;B2同样用于存放主机写入的数据和读干扰导致的垃圾回收的数据。以上方式存在如下缺陷:主机写入的数据可能是热数据也可能是冷数据,如果写入的是热数据,垃圾回收(指的是读干扰导致的垃圾回收)时搬移的数据可能是冷数据,那么都写入到同一个区块B1时,冷热数据就会混合在一块;因为热数据是可能被经常复写的,复写之后原先的热数据就变成了无效数据(垃圾数据);当触发后台的垃圾回收(普通垃圾回收,非读干扰的垃圾回收)动作,含有垃圾数据的区块会被选中,就会重新将这些有效的冷数据搬移到新的区块中;在以上流程中,冷数据经过两次搬移后又凑到了一个新的区块C中,如图1所示。如此一来,增加了写放大,影响了SSD的使用寿命。以上现象是在主机数据为热数据,读干扰产生垃圾回收的数据为冷数据的情况下造成到;如果前者为冷数据,后者为热数据,会产生同样的结果;
[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]第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种固态硬盘垃圾回收方法,其特征在于,包括:当针对固态硬盘的目标存储区块的读次数满足读次数阈值,并当触发数据的搬移,则确定所述目标存储区块中的数据的冷热级别;所述冷热级别包括与冷数据对应的冷级别、与热数据对应的热级别以及与介于冷热数据之间的数据对应的中等级别;根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,并对所述目标存储区块进行擦除,以完成对所述固态硬盘的所述目标存储区块的垃圾回收。2.根据权利要求1所述的固态硬盘垃圾回收方法,其特征在于,所述确定所述目标存储区块中的数据的冷热级别,包括:确定所述目标存储区块的各个存储子区块中的数据的冷热级别;相应的,所述根据所述目标存储区块中的所述数据的冷热级别,将所述数据搬移至相应的新的存储区块,包括:根据所述目标存储块的各个所述存储子区块中的数据的冷热级别,将所述存储子区块中的数据搬移至相应的新的存储区块。3.根据权利要求2所述的固态硬盘垃圾回收方法,其特征在于,所述根据所述目标存储块的各个所述存储子区块中的数据的冷热级别,将所述存储子区块中的数据搬移至相应的新的存储区块,包括:若所述存储子区块中的数据的冷热级别为热级别,则将所述数据搬移至第一存储区块;若所述存储子区块中的数据的冷热级别为中等级别,则将所述数据搬移至第二存储区块;若所述存储子区块中的数据的冷热级别为冷级别,则将所述数据搬移至第三存储区块。4.根据权利要求3所述的固态硬盘垃圾回收方法,其特征在于,还包括:在对所述固态硬盘进行磨损均衡时,基于存储区块的块信息,将所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中,将所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中。5.根据权利要求4所述的固态硬盘垃圾回收方法,其特征在于,所述在对所述固态硬盘进行磨损均衡时,基于存储区块的块信息,将所述第三存储区块中的冷数据存储至区块擦写次数大于预设擦写次数的存储区块中,将所述第一存储区块中的热数据存储至区块擦写次数不大于预设擦写次数的存储区块中之前,还包括:当所述第一存储区块中的数据均为热数据,则将与所...

【专利技术属性】
技术研发人员:邓京涛赵宝林钟戟
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1