[发明专利]一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器有效
| 申请号: | 201410102438.0 | 申请日: | 2014-03-19 |
| 公开(公告)号: | CN103902465B | 公开(公告)日: | 2017-02-08 |
| 发明(设计)人: | 陈建辉;李挺 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F12/02 | 分类号: | G06F12/02 |
| 代理公司: | 广州三环专利代理有限公司44202 | 代理人: | 郝传鑫,熊永强 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 固态 硬盘 垃圾 回收 方法 系统 控制器 | ||
技术领域
本发明涉及存储技术领域,尤其涉及一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器。
背景技术
RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)算法是一种高性能、高可靠的存储技术,通过将一系列单独的磁盘以不同的方式组合起来,为应用终端或终端集群提供逻辑上的磁盘。其中,使用RAID的优点包括:扩大磁盘容量、提高磁盘读写的性能和数据的安全性。具体的,RAID技术已经广泛应用于数据存储的各种场合,常用的RAID技术包括RAID0、RAID1、RAID5、RAID6、RAID10等。
目前在采用RAID算法处理数据的固态硬盘中,垃圾回收机制主要使用数据搬迁技术,即将存在较多无效数据的条带中的数据搬移到其他条带的方法来实现垃圾回收。搬迁是以整个条带为单位,每次将整个条带中所有的有效数据搬移到一个新的条带中,最后将整个条带进行擦除处理,回收得到整个条带大小的可用空间。采用该方案进行固态硬盘的垃圾回收时,由于需要对条带内的所有有效数据进行搬移,造成较大的写放大和性能开销,使得垃圾回收效率较低。
发明内容
本发明实施例所要解决的技术问题在于,提供一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器,用于提高垃圾回收效率,降低系统的性能开销。
本发明第一方面提供了一种固态硬盘垃圾回收的方法,包括:
接收对固态硬盘进行垃圾回收处理的命令;
根据所述命令从所述固态硬盘包含的多个条带中确定出需要进行垃圾回收处理的一个或多个垃圾回收条带;
从所述垃圾回收条带包含的多个数据块中确定出需要进行垃圾回收处理的一个或多个垃圾回收数据块;
将所述一个或多个垃圾回收数据块中的有效数据写入其他条带的数据块中,并对所述一个或多个垃圾回收数据块进行擦除处理得到空白数据块;
将同一个所述垃圾回收条带中的一个或多个所述空白数据块组建成第一逻辑子条带,并对所述第一逻辑子条带进行条带化管理。
在第一种可能的实现方式中,所述对所述一个或多个垃圾回收数据块进行擦除处理得到空白数据块之后,所述方法还包括:
将同一个所述垃圾回收条带中包含的一个或多个所述空白数据块之外的其他数据块组建成第二逻辑子条带,并对所述第二逻辑子条带进行条带化管理。
结合第一方面,或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述从所述固态硬盘包含的多个条带中确定出需要进行垃圾回收处理的垃圾回收条带,包括:
计算所述固态硬盘包含的多个条带中每个条带的第一有效数据比例和所述第一有效数据比例的权重得到第一计算结果;
计算所述固态硬盘包含的多个条带中每个条带的擦除次数和所述擦除次数的权重得到第二计算结果;
计算所述固态硬盘包含的多个条带中每个条带的所述第一计算结果和所述第二计算结果的和值,并确定所述固态硬盘包含的多个条带中每个条带的优先级,其中,所述和值大的条带的优先级高于所述和值小的条带的优先级;
从所述固态硬盘包含的多个条带中确定出优先级最低的N个条带为需要进行垃圾回收处理的所述垃圾回收条带,其中,N为大于0的整数。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述从所述垃圾回收条带包含的多个数据块中确定出需要进行垃圾回收处理的垃圾回收数据块,包括:
获取所述垃圾回收条带包含的多个数据块中每个数据块的第二有效数据比例;
当所述垃圾回收条带包含的数据块的第二有效数据比例低于预设的回收阈值,则确定其第二有效数据比例低于所述预设的回收阈值的数据块为垃圾回收数据块。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述获取所述垃圾回收条带包含的多个数据块中每个数据块的第二有效数据比例,包括:
基于所述垃圾回收条带包含的多个数据块中每个数据块预置的有效数据页计数器获取所述每个数据块的有效数据页数;
确定所述每个数据块的有效数据页数与所述每个数据块的总数据页数之比为所述每个数据块的第二有效数据比例。
本发明第二方面提供一种固态硬盘控制器,包括:
接收模块,用于接收对固态硬盘进行垃圾回收处理的命令;
条带确定模块,用于根据所述命令从所述固态硬盘包含的多个条带中确定出需要进行垃圾回收处理的一个或多个垃圾回收条带;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410102438.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电缆头制作用辅助工具
- 下一篇:收放紧线车





