[发明专利]垃圾回收方法和装置有效
申请号: | 201410128648.7 | 申请日: | 2014-04-01 |
公开(公告)号: | CN103927263B | 公开(公告)日: | 2017-02-15 |
发明(设计)人: | 吕建涛;王震宇;苏杰 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京三高永信知识产权代理有限责任公司11138 | 代理人: | 罗振安 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 垃圾 回收 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种垃圾回收方法和装置。
背景技术
随着计算机技术的发展,SSD(Solid State Drive,固态硬盘)存储越来越普遍。SSD由控制器和存储器组成,控制器接收主机下发的IO(Input Output,输入输出)请求,将其拆分成固定大小并分配空闲物理地址,再将请求发送给存储器,存储器处理完请求后返回响应给控制器,控制器对响应进行处理并返回给主机。
在现有技术中,当空闲物理地址不足时,控制器需要对存储器的原有数据进行删除操作,删除的最小单位是块。而当原有数据中部分数据有效时,需要进行GC(Garbage Collection,垃圾回收),即将原有数据中的有效数据复制到其他空白区域,再进行删除操作。为了减少GC过程中复制的数据量,提升GC速度,会尽量选择有效数据少的块进行GC。为此,通常采取分档排序法确定待进行GC的块,以VPC(Valid Page Count,有效页计数)来表示有效数据量,即根据存储器中块的VPC和确定的档位数进行线性分档,从低档位中确定待进行GC的块。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
在应用分档排序法进行GC时,存储器的块VPC都是偏小的,而分档排序法是根据固定的档位进行分档,导致大多数块会集中于某个档位中,不利于GC的进行,而如果增加档位,以减少每个档位的范围,由于分档算法一般是通过链表方式实现的,档位数越多,当VPC发生变化时,就会导致链表操作更加频繁,GC的延迟和计算开销都会大幅提升。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种垃圾回收方法和装置。所述技术方案如下:
第一方面,提供了一种垃圾回收方法,所述方法包括:
获取各个空闲块的有效页计数VPC;
根据该各个空闲块的VPC,确定第一空闲块组和第二空闲块组,该第一空闲块组包括多个VPC小于或等于第一阈值的空闲块,该第二空闲块组包括该第一空闲块组以外的空闲块;
根据第一档位数范围中的档位数对该第一空闲块组进行档位划分,该第一档位数范围中的档位数的增长速度大于第一预设速度,且第一空闲块组中的空闲块VPC的增长与该第一档位数范围中的档位数的增长速度呈正相关关系;
按照划分后的档位,从该第一空闲块组和第二空闲块组中确定指定空闲块,并对指定空闲块进行垃圾回收。
结合第一方面,在该第一方面的第一种可能实现方式中,所述方法还包括:
根据第二档位数范围中的档位数对所述第二空闲块组进行档位划分,所述第二档位数范围中的档位数的增长速度小于所述第一预设速度,且第二空闲块组中的空闲块VPC的增长与所述第二档位数范围中的档位数的增长速度呈负相关关系。
结合上述任一种可能实现方式,在该第一方面的第二种可能实现方式中,所述方法还包括:
根据所述第二空闲块组中各个空闲块的VPC,确定第三空闲块组,所述第三空闲块组包括所述第二空闲块组中多个VPC属于指定数值范围的空闲块,根据第三档位数范围中的档位数对所述第三空闲块组进行档位划分,所述第三档位数范围中的档位数的增长速度大于所述第一预设速度,且第三空闲块组中的空闲块VPC的增长与所述第三档位数范围中的档位数的增长速度呈正相关关系。
结合上述任一种可能实现方式,在该第一方面的第三种可能实现方式中,所述方法还包括:
根据所述第二空闲块组中各个空闲块的VPC,确定第四空闲块组,所述第四空闲块组包括所述第二空闲块组中除所述第三空闲块组以外的空闲块;
根据第四档位数范围中的档位数对所述第四空闲块组进行档位划分,所述第四档位数范围中的档位数的增长速度小于所述第一预设速度,且第四空闲块组中的空闲块VPC的增长与所述第四档位数范围中的档位数的增长速度呈负相关关系。
第二方面,提供了一种垃圾回收装置,所述装置包括:
获取模块,用于获取各个空闲块的有效页计数VPC;
第一确定模块,用于根据该各个空闲块的VPC,确定第一空闲块组和第二空闲块组,该第一空闲块组包括多个VPC小于或等于第一阈值的空闲块,该第二空闲块组包括该第一空闲块组以外的空闲块;
第一档位划分模块,用于根据第一档位数范围中的档位数对该第一空闲块组进行档位划分,该第一档位数范围中的档位数的增长速度大于第一预设速度,且第一空闲块组中的空闲块VPC的增长与该第一档位数范围中的档位数的增长速度呈正相关关系;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410128648.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:壁灯
- 下一篇:一种背光模块与液晶显示装置