一种选择垃圾回收目标块的方法及固态硬盘技术

技术编号:19121815 阅读:33 留言:0更新日期:2018-10-10 05:04
本发明专利技术公开了一种选择垃圾回收目标块的方法及固态硬盘,其特征在于根据各个块block中无效页所占比例和擦写次数计算各个块的回收因数得分score,选择得分最少的block作为回收目标块。通过计算SSD上各block的有效页比例和已擦除次数加权分值,尽可能全面地考虑对SSD读写性能和寿命的影响,选择有效页比例少、已擦除次数少的block作为GC的目标回收块。利用磨损均衡思维选择最优的block作为回收块,减少SSD中block擦除次数,降低数据迁移次数,减小写放大,提高SSD的使用寿命。

【技术实现步骤摘要】
一种选择垃圾回收目标块的方法及固态硬盘
本专利技术涉及存储
,尤其涉及一种选择垃圾回收目标块的方法及固态硬盘。
技术介绍
由于NANDflash的固有特性,在program之前需要进行erase,而且erase操作以block为单位进行,SSD使用过程中会产生碎片页,需要通过垃圾回收的方式回收失效页。然而垃圾回收机制会降低SSD的性能,同时缩减SSD的寿命。特别是SSD快写满时会频繁触发垃圾回收机制GC,严重降低SSD的性能。目前的GC机制目标块选择一般使用贪婪算法,不会考虑目标块的擦除次数,容易导致目标块过早被擦穿,缩短SSD的使用寿命。图1是当前使用的GC流程示意图,主机文件系统通过闪存转换层FTL(Flashtranslationlayer)对SSD进行访问,FTL包括缓存管理模块、地址映射模块和垃圾回收GC模块,FTL通过存储设备驱动层NFC对NANDFlash的物理存储空间进行访问。SSD一般一次完整的GC操作包括三个步骤:1、选择需要回收的失效目标块;2、迁移目标块中的数据到其他块中;3、擦除目标块。因此如何选择目标块是GC的关键步骤。图2是贪婪算法选择GC目标块的流程,当触发GC后获取所有block有效页和无效页的比例,选择无效页最多的block为目标块,将目标块中有效数据进行迁移和并擦除擦除对应的块实现块回收,该种选择方式只注重回收的效率,会造成块磨损不均衡。
技术实现思路
针对以上缺陷,本专利技术目的在于如何更准确地选择垃圾回收的目标块。为了实现上述目的,本专利技术提供了一种选择垃圾回收目标块的方法,其特征在于根据各个块block中无效页所占比例和擦写次数计算各个块的回收加权得分score,选择得分最少的block作为回收目标块,score具体按照如下方式获得:其中,invalid_cnt(i)表示第i个block中无效页的数量,page_cnt表示block中page的总数,erase_cnt(i)表示第i个block的擦写次数,max表示所有block中擦写次数最大值,min表示所有block中擦写次数最小值,kε是表示SSD系统响应能力的常数,kε越小,系统平均响应时间越短,磨损越不均衡。一种固态硬盘,其特征在包括闪存转换层FTL、存储设备驱动层NFC和NANDFlash的物理存储空间,闪存转换层FTL包括缓存管理模块、地址映射模块和垃圾回收GC模块,FTL通过存储设备驱动层NFC对NANDFlash的物理存储空间进行访问,垃圾回收GC模块根据各个块block中无效页所占比例和擦写次数计算各个块的回收加权得分score,选择得分最少的block作为回收目标块,score具体按照如下方式获得:其中,invalid_cnt(i)表示第i个block中无效页的数量,page_cnt表示block中page的总数,erase_cnt(i)表示第i个block的擦写次数,max表示所有block中擦写次数最大值,min表示所有block中擦写次数最小值,kε是表示SSD系统响应能力的常数,kε越小,系统平均响应时间越短,磨损越不均衡。本专利技术有益效果:通过计算SSD上各block的有效页比例和已擦除次数加权分值,尽可能全面地考虑对SSD读写性能和寿命的影响,选择有效页比例少、已擦除次数少的block作为GC的目标回收块。利用磨损均衡思维选择最优的block作为回收块,减少SSD中block擦除次数,降低数据迁移次数,减小写放大,提高SSD的使用寿命。附图说明图1是当前使用的GC流程示意图;图2是贪婪算法选择GC目标块的流程;图3是本专利技术选择GC目标块的流程。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图3是本专利技术选择GC目标块的流程,选择适当的block作为GC目标块,综合考虑block中无效页所占比例和擦写次数,提高GC效率,延长NANDFlash寿命;本专利技术综合考虑了块磨损和回收效率,加权分值计算公式如下:其中,invalid_cnt(i)表示第i个block中无效页的数量,page_cnt表示block中page的总数,erase_cnt(i)表示第i个block的擦写次数,max表示所有block中擦写次数最大值,min表示所有block中擦写次数最小值,kε是表示SSD系统响应能力的常数,kε越小,系统平均响应时间越短,磨损越不均衡。计算每个block的得分,得分最少的block作为回收目标块。公式第一部分强调GC的效率,无效页越多,block被作为GC目标块的可能性越大。第二部分强调磨损均衡,擦写次数越少的block越可能被作为目标块回收。两部分的比重由系数a决定,a是所有block擦写次数最大值和最小值差值Δε的单调递增函数。kε取10时,a约为0.5,即GC效率和磨损均衡权重相等;当max=min时,a为0,算法只考虑GC效率,不考虑磨损均衡,选取有效数据最少的块进行回收(贪婪策略),SSD初始状态可能会出现这种情况;当a为1时,算法只考虑磨损均衡,即选取擦写次数最少的block进行回收。目标块的选择在考虑SSD读写性能的同时,能够兼顾SSD的磨损均衡,提高SSD寿命.以上所揭露的仅为本专利技术一种实施例而已,当然不能以此来限定本专利技术之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本专利技术权利要求所作的等同变化,仍属于本专利技术所涵盖的范围。本文档来自技高网...
一种选择垃圾回收目标块的方法及固态硬盘

【技术保护点】
1.一种选择垃圾回收目标块的方法,其特征在于根据各个块block中无效页所占比例和擦写次数计算各个块的回收因数得分score,选择得分最少的block作为回收目标块,score具体按照如下方式获得:

【技术特征摘要】
1.一种选择垃圾回收目标块的方法,其特征在于根据各个块block中无效页所占比例和擦写次数计算各个块的回收因数得分score,选择得分最少的block作为回收目标块,score具体按照如下方式获得:其中,invalid_cnt(i)表示第i个block中无效页的数量,page_cnt表示block中page的总数,erase_cnt(i)表示第i个block的擦写次数,max表示所有block中擦写次数最大值,min表示所有block中擦写次数最小值,kε是表示SSD系统响应能力的常数,kε越小,系统平均响应时间越短,磨损越不均衡。2.一种固态硬盘,其特征在包括闪存转换层FTL、存储设备驱动层NFC和NANDFlash的物理存储空间,闪存...

【专利技术属性】
技术研发人员:肖锐
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东,44

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

1