用于固态硬盘垃圾回收受害块的选择方法技术

技术编号:28033719 阅读:15 留言:0更新日期:2021-04-09 23:15
本发明专利技术属于计算机存储系统设计技术领域,具体涉及用于固态硬盘垃圾回收受害块的选择方法。包括如下步骤:S1,在固态硬盘SSD触发垃圾回收后,遍历所有块,计算每个块的收益B;S2,在所有块的收益B计算完成后,挑选收益B最大的块作为回收块。本发明专利技术能够通过将闪存块的未来可写入量折算到现在,避免了擦除次数较少的块因无效页较少不会被选择成VB的弊端;本发明专利技术具有能够保证在进行垃圾回收的VB选择时,考虑闪存块的磨损均衡,实现垃圾回收和磨损均衡的相统一,从而提升SSD性能和寿命的特点。

【技术实现步骤摘要】
用于固态硬盘垃圾回收受害块的选择方法
本专利技术属于计算机存储系统设计
,具体涉及用于固态硬盘垃圾回收受害块的选择方法。
技术介绍
在现代计算机系统中,由于处理器性能提升很快,而存储器性能提升缓慢,造成存储系统逐渐成为性能瓶颈,即所谓的计算存储性能墙。以NAND闪存芯片为存储介质的固态硬盘SSD使得此问题得到一定程度的缓解,因而它已经成为主流存储设备和存储领域的研究热点。由于NAND闪存存在异地更新和写前擦除的固有特性,使得SSD在写入一段时间后需要进行内部垃圾回收(GC:GarbageCollection)来获得新的可用空间。垃圾回收操作在选定受害块(VB:VictimBlock)以后,需要将块中的有效页迁移至其他空闲空间,然后擦除选定的受害块以获得一个可重新写入的空闲块。有效页的迁移以及块擦除一方面可能会影响SSD服务主机端IO请求,降低SSD的性能;另一方面,也造成额外的页写,增加SSD的磨损,影响SSD的寿命。因此,垃圾回收对SSD的性能和寿命有直接的影响。GC涉及的一个关键之处就是如何选择VB。目前,主要分为基于效率的贪婪选择方式和考虑磨损均衡的综合选择方式两种。贪婪选择方式只考虑回收效率,选择无效页最多的块作为VB,这样一次垃圾回收可以获得最多的空闲页。采用这种方式选择回收块后,闪存块的磨损均衡,留待磨损均衡模块处理。与基于效率的贪婪选择VB不同的是,考虑磨损均衡的VB综合选择方式在选择回收块时,需要在块的回收效率、磨损程度以及数据冷热等多个因素之间进行权衡。事实上,SSD的磨损均衡和垃圾回收之间存在紧密的联系。垃圾回收的目的是获得立即可用的空间,磨损均衡表面上的目的,使得各个数据块的擦除次数更为均衡,其实质是获得未来可以用的空间。因此,如果能将垃圾回收和磨损均衡进行统一,就能够提升SSD的性能和寿命。例如,申请号为CN201910751746.9的中国专利技术专利所述的支持两种位宽的磨损均衡垃圾回收加速装置,包括数据读取模块、最值生成模块、配置模块、数据总线和控制总线,配置模块给出数据读取信息和最值生成信息,发起数据读取,等待最值生成后将比较结果反馈给系统总线,数据读取模块根据来自配置模块的数据读取信息从数据总线读取相应地址的块信息表的内容,最值生成模块,根据配置模块给出的最值生成信息将从数据读取模块进入的数据迭代比较最终得到最值索引。虽然采用硬件加速策略帮助实现磨损均衡和垃圾回收,可支持两种总线位宽和两种固件结构体大小的自由组合,减少Flash每次擦写所耗时间,提高闪存的使用效率和使用寿命,但是其缺点在于采用硬件加速策略导致方案成本较高,不利于实际的推广应用,且上述方案并没有实现垃圾回收和磨损均衡的相统一。
技术实现思路
本专利技术是为了克服现有技术中,现有固态硬盘垃圾回收受害块的选择方式,存在无法实现垃圾回收和磨损均衡相统一问题,提供了一种能够实现垃圾回收和磨损均衡的相统一,从而提升SSD性能和使用寿命的用于固态硬盘垃圾回收受害块的选择方法。为了达到上述专利技术目的,本专利技术采用以下技术方案:用于固态硬盘垃圾回收受害块的选择方法,包括如下步骤:S1,在固态硬盘SSD触发垃圾回收后,遍历所有块,计算每个块的收益B;S2,在所有块的收益B计算完成后,挑选收益B最大的块作为回收块。作为优选,步骤S1包括如下步骤:S11,若计算的块包含空闲页,则定义该块的收益B=0。作为优选,步骤S1还包括如下步骤:S12,若计算的块不包含空闲页,则统计所述块中的有效页数量Nvp,计算当前收益然后执行下一步骤,其中Np为每个块包含的总页数;S13,计算所述块的未来收益然后执行下一步骤,其中,Emax和Emin分别表示所有块的最大擦除次数和最小擦除次数,Ne表示所选定的块的擦除次数,ρ为正数,用于建模折现损失;S14,计算所述块的收益B=β×Bc+(1-β)×Bf,其中,β为权重系数,取值范围是0到1,用于平衡未来收益和当前收益的重要性。作为优选,步骤S12中所述当前收益Bc反映的是,回收所述块能够立即获得的可用空间的多少,所述当前收益Bc的取值范围为0到1之间的正数。作为优选,步骤S13中所述未来收益Bf反映的是,未来的可用空间的多少,所述未来收益Bf的取值范围为0到1之间的正数。作为优选,步骤S2还包括如下步骤:若收益B最大的块存在多个,则随机挑选其中的一个块作为回收块。本专利技术与现有技术相比,有益效果是:(1)本专利技术能够通过将闪存块的未来可写入量折算到现在,避免了擦除次数较少的块因无效页较少不会被选择成VB的弊端;(2)本专利技术能够保证在进行垃圾回收的VB选择时,考虑闪存块的磨损均衡,实现垃圾回收和磨损均衡的相统一,从而提升SSD性能和寿命。附图说明图1为本专利技术用于固态硬盘垃圾回收受害块的选择方法的一种流程图;图2为本专利技术用于固态硬盘垃圾回收受害块的选择方法的一种具体案例流程图。具体实施方式为了更清楚地说明本专利技术实施例,下面将对照附图说明本专利技术的具体实施方式。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。实施例1:如图1所示,本专利技术提供了一种用于固态硬盘垃圾回收受害块的选择方法,包括如下步骤:S1,在固态硬盘SSD触发垃圾回收后,遍历所有块,计算每个块的收益B。步骤S1又具体分为以下步骤:S11,若计算的块包含空闲页,则定义该块的收益B=0;S12,若计算的块不包含空闲页,则统计所述块中的有效页数量Nvp,计算当前收益然后执行下一步骤,其中Np为每个块包含的总页数;S13,计算所述块的未来收益然后执行下一步骤,其中,Emax和Emin分别表示所有块的最大擦除次数和最小擦除次数,Ne表示所选定的块的擦除次数,ρ为正数,用于建模折现损失;S14,计算所述块的收益B=β×Bc+(1-β)×Bf,其中,β为权重系数,取值范围是0到1,用于平衡未来收益和当前收益的重要性。S2,在所有块的收益B计算完成后,挑选收益B最大的块作为回收块;若收益B最大的块存在多个,则随机挑选其中的一个块作为回收块。其中,步骤S12中所述当前收益Bc反映的是,回收所述块能够立即获得的可用空间的多少,所述当前收益Bc的取值范围为0到1之间的正数;步骤S13中所述未来收益Bf反映的是,未来的可用空间的多少,所述未来收益Bf的取值范围为0到1之间的正数。本专利技术方法具体应用到实际案例的过程,如图2所示。在图2中,假设在8个块中选择VB块,每个块包含4个物理页,在可用空间低于0.2时触发垃圾回收;Blockx_y表示块x已经擦除y次,例如,Block0_4表示块0已经擦除4次。回收块选择如图2所示,步骤a(1)和a(2)选择无效页最多的块为回收块,这也是传统的VB选本文档来自技高网
...

【技术保护点】
1.用于固态硬盘垃圾回收受害块的选择方法,其特征在于,包括如下步骤:/nS1,在固态硬盘SSD触发垃圾回收后,遍历所有块,计算每个块的收益B;/nS2,在所有块的收益B计算完成后,挑选收益B最大的块作为回收块。/n

【技术特征摘要】
1.用于固态硬盘垃圾回收受害块的选择方法,其特征在于,包括如下步骤:
S1,在固态硬盘SSD触发垃圾回收后,遍历所有块,计算每个块的收益B;
S2,在所有块的收益B计算完成后,挑选收益B最大的块作为回收块。


2.根据权利要求1所述的用于固态硬盘垃圾回收受害块的选择方法,其特征在于,步骤S1包括如下步骤:
S11,若计算的块包含空闲页,则定义该块的收益B=0。


3.根据权利要求2所述的用于固态硬盘垃圾回收受害块的选择方法,其特征在于,步骤S1还包括如下步骤:
S12,若计算的块不包含空闲页,则统计所述块中的有效页数量Nvp,计算当前收益然后执行下一步骤,其中Np为每个块包含的总页数;
S13,计算所述块的未来收益然后执行下一步骤,其中,Emax和Emin分别表示所有块的最大擦除次数和最小擦除次数,Ne表示所选定的块的擦...

【专利技术属性】
技术研发人员:孔小冲姚英彪徐欣范金龙冯维刘兆霆
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江;33

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

1