[发明专利]一种垃圾回收的方法和装置在审
申请号: | 201710667409.2 | 申请日: | 2017-08-07 |
公开(公告)号: | CN107506136A | 公开(公告)日: | 2017-12-22 |
发明(设计)人: | 吴延赞;吴素宏;黄国炎 | 申请(专利权)人: | 成都华为技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 610041 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 垃圾 回收 方法 装置 | ||
本发明实施例提供一种垃圾回收的方法和装置,涉及计算机技术领域,能够灵活地调整垃圾回收的速度。该方法包括:在闪存存储系统的剩余存储空间的值小于或者等于第一预设阈值的情况下,根据该剩余存储空间的值确定闪存存储系统的至少一个回收层中每个回收层内并发回收的回收单位的数量;利用至少一个回收层,并根据每个回收层内并发回收的回收单位的数量,回收闪存存储系统中的垃圾,其中,剩余存储空间的值为闪存存储系统中可用的存储空间,同一个回收层之内并发回收,不同回收层之间串行回收。该方法可以应用于闪存存储系统。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种垃圾回收的方法和装置。
背景技术
在闪存存储系统中,闪存存储系统的存储空间是有限的,在闪存盘中写入新的数据时,不能直接覆盖闪存盘中已有的数据,而需要将闪存盘中无用的数据(以下均称为垃圾)擦除(可以称为回收)之后,再向闪存盘中写入新的数据。
通常,在回收闪存存储系统中的垃圾的过程中,可以以闪存盘中的一个数据块为回收单位,根据整个闪存存储系统的垃圾量的大小进行垃圾回收。具体的,如图1所示,在闪存存储系统的垃圾量大于或者等于预设的垃圾量阈值(以下均称为垃圾水位)时,将写有有用的数据的数据块(可以称为有效数据块)中的数据读出来,写到新的数据块中,然后将该闪存盘中的其他数据块(即无效数据块)中的数据(即垃圾)擦除,从而完成闪存存储系统中的垃圾回收。
然而,在上述方法中,以数据块为回收单位进行垃圾回收,即每一次回收一个或者多个数据块中的垃圾,由于一个数据块中可以存储的数量是固定的,因此垃圾回收的速度也是固定的,而对于不同的场景,对垃圾回收的速度的需求也不同,因此上述方法可能无法灵活地调整垃圾回收的速度。
发明内容
本申请提供一种垃圾回收的方法和装置,能够灵活地调整垃圾回收的速度。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种垃圾回收的方法,该方法可以应用于闪存存储系统,该方法可以包括:在闪存存储系统的剩余存储空间的值小于或者等于第一预设阈值的情况下,根据剩余存储空间的值确定该闪存存储系统的至少一个回收层中每个回收层内并发回收的回收单位的数量,以及利用至少一个回收层,并根据每个回收层内并发回收的回收单位的数量,回收闪存存储系统中的垃圾,其中,每个回收层包括至少一个回收单位,剩余存储空间为闪存存储系统中可用的存储空间,同一个回收层之内并发回收,不同回收层之间串行回收。
本申请提供的垃圾回收的方法,由于可以根据剩余存储空间的值确定每一个回收层内并发回收的回收单位的数量,而每一个回收层内并发回收的回收单位的数量可以反映垃圾回收的速度,因此可以通过调整每个回收层内并发回收的回收单位的数量,灵活地调整垃圾回收的速度。
在第一方面的第一种可选的实现方式中,上述闪存存储系统包括三个回收层,第一回收层的回收单位为数据块组,第二回收层的回收单位为数据块,第三回收层的回收单位为数据粒,其中,闪存存储系统的存储空间包括至少一个数据块组,一个数据块组包括至少一个数据块,一个数据块包括至少一个数据粒。
本申请中,可以将闪存存储系统的存储空间划分为多个回收层,并且可以按照每一个回收层的回收单位,回收各个回收层的垃圾,可以通过控制多个回收层中各个回收层的回收单位的数量,实现灵活控制垃圾回收的速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都华为技术有限公司,未经成都华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710667409.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:虚拟键盘按键背景显示方法与装置
- 下一篇:一种提升固态硬盘写性能的方法