一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器技术方案

技术编号:15391484 阅读:84 留言:0更新日期:2017-05-19 04:47
本发明专利技术涉及存储技术领域,本发明专利技术实施例公开了一种固态硬盘垃圾回收的方法、系统及固态硬盘控制器,所述方法包括:接收对固态硬盘进行垃圾回收处理的命令;根据所述命令从所述固态硬盘包含的多个条带中确定出需要进行垃圾回收处理的垃圾回收条带;从所述垃圾回收条带包含的多个数据块中确定出需要进行垃圾回收处理的垃圾回收数据块;将所述垃圾回收数据块中的有效数据写入其他条带的数据块中,并对所述垃圾回收数据块进行擦除处理得到空白数据块;将所述垃圾回收条带中的所述空白数据块组建成第一逻辑子条带,并对所述第一逻辑子条带进行条带化管理。采用本方案可提高固态硬盘垃圾回收效率,降低性能开销。

Solid state hard disk garbage recovery method, system and solid state hard disk controller

The present invention relates to the technical field of storage, the embodiment of the invention discloses a method, system and recycling of solid state disk SSD controller, wherein the method comprises: receiving garbage recycling command on the SSD; according to the command from the solid-state hard disk contains a plurality of strips to determine need for garbage collection the waste recycling belts; from the garbage collection strip contains a plurality of data blocks are determined to waste recycling garbage collection data blocks; the garbage collection of valid data in the data block to write other bands in data blocks, and the garbage collection data block erase processing blank data blocks; the garbage collection strip in the blank data block group built the first logical sub bands, and the first logic sub bands Striping management. This scheme can improve the garbage recovery efficiency of solid state disk and reduce the performance overhead.

【技术实现步骤摘要】
一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器
本专利技术涉及存储
,尤其涉及一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器。
技术介绍
RAID(RedundantArrayofIndependentDisks,独立磁盘冗余阵列)算法是一种高性能、高可靠的存储技术,通过将一系列单独的磁盘以不同的方式组合起来,为应用终端或终端集群提供逻辑上的磁盘。其中,使用RAID的优点包括:扩大磁盘容量、提高磁盘读写的性能和数据的安全性。具体的,RAID技术已经广泛应用于数据存储的各种场合,常用的RAID技术包括RAID0、RAID1、RAID5、RAID6、RAID10等。目前在采用RAID算法处理数据的固态硬盘中,垃圾回收机制主要使用数据搬迁技术,即将存在较多无效数据的条带中的数据搬移到其他条带的方法来实现垃圾回收。搬迁是以整个条带为单位,每次将整个条带中所有的有效数据搬移到一个新的条带中,最后将整个条带进行擦除处理,回收得到整个条带大小的可用空间。采用该方案进行固态硬盘的垃圾回收时,由于需要对条带内的所有有效数据进行搬移,造成较大的写放大和性能开销,使得垃圾回收效率较低。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器,用于提高垃圾回收效率,降低系统的性能开销。本专利技术第一方面提供了一种固态硬盘垃圾回收的方法,包括:接收对固态硬盘进行垃圾回收处理的命令;根据所述命令从所述固态硬盘包含的多个条带中确定出需要进行垃圾回收处理的一个或多个垃圾回收条带;从所述垃圾回收条带包含的多个数据块中确定出需要进行垃圾回收处理的一个或多个垃圾回收数据块;将所述一个或多个垃圾回收数据块中的有效数据写入其他条带的数据块中,并对所述一个或多个垃圾回收数据块进行擦除处理得到空白数据块;将同一个所述垃圾回收条带中的一个或多个所述空白数据块组建成第一逻辑子条带,并对所述第一逻辑子条带进行条带化管理。在第一种可能的实现方式中,所述对所述一个或多个垃圾回收数据块进行擦除处理得到空白数据块之后,所述方法还包括:将同一个所述垃圾回收条带中包含的一个或多个所述空白数据块之外的其他数据块组建成第二逻辑子条带,并对所述第二逻辑子条带进行条带化管理。结合第一方面,或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述从所述固态硬盘包含的多个条带中确定出需要进行垃圾回收处理的垃圾回收条带,包括:计算所述固态硬盘包含的多个条带中每个条带的第一有效数据比例和所述第一有效数据比例的权重得到第一计算结果;计算所述固态硬盘包含的多个条带中每个条带的擦除次数和所述擦除次数的权重得到第二计算结果;计算所述固态硬盘包含的多个条带中每个条带的所述第一计算结果和所述第二计算结果的和值,并确定所述固态硬盘包含的多个条带中每个条带的优先级,其中,所述和值大的条带的优先级高于所述和值小的条带的优先级;从所述固态硬盘包含的多个条带中确定出优先级最低的N个条带为需要进行垃圾回收处理的所述垃圾回收条带,其中,N为大于0的整数。结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述从所述垃圾回收条带包含的多个数据块中确定出需要进行垃圾回收处理的垃圾回收数据块,包括:获取所述垃圾回收条带包含的多个数据块中每个数据块的第二有效数据比例;当所述垃圾回收条带包含的数据块的第二有效数据比例低于预设的回收阈值,则确定其第二有效数据比例低于所述预设的回收阈值的数据块为垃圾回收数据块。结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述获取所述垃圾回收条带包含的多个数据块中每个数据块的第二有效数据比例,包括:基于所述垃圾回收条带包含的多个数据块中每个数据块预置的有效数据页计数器获取所述每个数据块的有效数据页数;确定所述每个数据块的有效数据页数与所述每个数据块的总数据页数之比为所述每个数据块的第二有效数据比例。本专利技术第二方面提供一种固态硬盘控制器,包括:接收模块,用于接收对固态硬盘进行垃圾回收处理的命令;条带确定模块,用于根据所述命令从所述固态硬盘包含的多个条带中确定出需要进行垃圾回收处理的一个或多个垃圾回收条带;数据块确定模块,用于从所述垃圾回收条带包含的多个数据块中确定出需要进行垃圾回收处理的一个或多个垃圾回收数据块;数据块处理模块,用于将所述一个或多个垃圾回收数据块中的有效数据写入其他条带的数据块中,并对所述一个或多个垃圾回收数据块进行擦除处理得到空白数据块;组建模块,用于将同一个所述垃圾回收条带中的一个或多个所述空白数据块组建成第一逻辑子条带,并对所述第一逻辑子条带进行条带化管理。在第一种可能的实现方式中,所述组建模块还用于将同一个所述垃圾回收条带中包含的一个或多个所述空白数据块之外的其他数据块组建成第二逻辑子条带,并对所述第二逻辑子条带进行条带化管理。结合第二方面,或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述条带确定模块具体用于计算所述固态硬盘包含的多个条带中每个条带的第一有效数据比例和所述第一有效数据比例的权重得到第一计算结果;计算所述固态硬盘包含的多个条带中每个条带的擦除次数和所述擦除次数的权重得到第二计算结果;计算所述固态硬盘包含的多个条带中每个条带的所述第一计算结果和所述第二计算结果的和值,并确定所述固态硬盘包含的多个条带中每个条带的优先级,其中,所述和值大的条带的优先级高于所述和值小的条带的优先级;从所述固态硬盘包含的多个条带中确定出优先级最低的N个条带为需要进行垃圾回收处理的所述垃圾回收条带,其中,N为大于0的整数。结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述数据块确定模块具体用于获取所述垃圾回收条带包含的多个数据块中每个数据块的第二有效数据比例;当所述垃圾回收条带包含的数据块的第二有效数据比例低于预设的回收阈值,则确定其第二有效数据比例低于所述预设的回收阈值的数据块为垃圾回收数据块。结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述数据块确定模块具体用于基于所述垃圾回收条带包含的多个数据块中每个数据块预置的有效数据页计数器获取所述每个数据块的有效数据页数;确定所述每个数据块的有效数据页数与所述每个数据块的总数据页数之比为所述每个数据块的第二有效数据比例。本专利技术第三方面提供一种固态硬盘垃圾处理系统,包括固态硬盘和本专利技术第二方面所述的固态硬盘控制器,其中,所述固态硬盘控制器用于控制对所述固态硬盘进行垃圾回收处理。由上可知,本专利技术实施例提供的固态硬盘垃圾回收方法,在接收到对固态硬盘进行垃圾回收处理的命令时,可通过首先确定出所述固态硬盘中至少一个垃圾回收条带及同一个垃圾回收条带中至少一个垃圾回收数据块,然后针对所述垃圾回收数据块执行数据擦除和搬移操作得到至少一个空白数据块,并对其组建逻辑子条带以进行条带化管理。本专利技术实施例提供的固态硬盘垃圾回收方法,只需对垃圾数据块进行擦除,且可进行条带化处理,因此,与现有技术中对整个条带进行擦除处理相比,本专利技术实施例提供的固态硬盘垃圾回收方法能够提高垃圾回收效率,并降低系统的性能开销。附图说明为了更清楚地说本文档来自技高网...
一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器

【技术保护点】
一种存储设备垃圾回收的方法,其特征在于,包括:接收对存储设备进行垃圾回收处理的命令;根据所述命令从所述存储设备包含的多个条带中确定出需要进行垃圾回收处理的一个或多个垃圾回收条带;从所述一个或多个垃圾回收条带包含的多个数据块中确定出不需要进行垃圾回收处理的数据块;将所述一个或多个垃圾回收条带中所述不需要进行垃圾回收处理的数据块组建成条带。

【技术特征摘要】
1.一种存储设备垃圾回收的方法,其特征在于,包括:接收对存储设备进行垃圾回收处理的命令;根据所述命令从所述存储设备包含的多个条带中确定出需要进行垃圾回收处理的一个或多个垃圾回收条带;从所述一个或多个垃圾回收条带包含的多个数据块中确定出不需要进行垃圾回收处理的数据块;将所述一个或多个垃圾回收条带中所述不需要进行垃圾回收处理的数据块组建成条带。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述一个或多个垃圾回收条带包含的多个数据块中需要进行垃圾回收处理的数据块中的有效数据写入有空闲地址的数据块,并且对所述一个或多个垃圾回收条带包含的多个数据块中需要进行垃圾回收处理的数据块进行擦除处理。3.根据权利要求1所述的方法,其特征在于,所述从所述存储设备包含的多个条带中确定出需要进行垃圾回收处理的一个或多个条带,包括:计算所述多个条带中每个条带的第一有效数据比例和所述第一有效数据比例的权重得到第一计算结果;计算所述多个条带中每个条带的擦除次数和所述擦除次数的权重得到第二计算结果;计算所述多个条带中每个条带的所述第一计算结果和所述第二计算结果的和值,并确定所述多个条带中每个条带的优先级,其中,所述和值大的条带的优先级高于所述和值小的条带的优先级;从所述多个条带中确定出优先级最低的N个条带为需要进行垃圾回收处理的所述一个或多个条带,其中,N为大于0的整数。4.根据权利要求1所述的方法,其特征在于,所述从多个条带中确定出需要进行垃圾回收处理的所述一个或多个条带,包括:计算所述多个条带中每个条带的第一有效数据比例和所述第一有效数据比例的权重得到第一计算结果;计算所述多个条带中每个条带的擦除次数和所述擦除次数的权重得到第二计算结果;计算所述多个条带中每个条带的所述第一计算结果和所述第二计算结果的和值,并确定所述多个条带中每个条带的优先级,其中,所述和值大的条带的优先级高于所述和值小的条带的优先级;从所述多个条带中确定出优先级最低的N个条带为需要进行垃圾回收处理的所述一个或多个条带,其中,N为大于0的整数。5.根据权利要求1至4任一项所述的方法,其特征在于,所述从所述一个或多个垃圾回收条带包含的多个数据块中确定出不需要进行垃圾回收处理的数据块,包括:获取所述一个或多个垃圾回收条带包含的多个数据块中每个数据块的第二有效数据比例;确定所述一个或多个垃圾回收条带中第二有效数据比例不低于预设的回收阈值的数据块为不需要进行垃圾回收处理的数据块。6.根据权利要求5所述的方法,其特征在于,所述获取所述一个或多个垃圾回收条带包含的多个数据块中每个数据块的第二有效数据比例,包括:基于所述一个或多个垃圾回收条带包含的多个数据块中每个数据块预置的有效数据页计数器获取所述每个数据块的有效数据页数;确定所述每个数据块的有效数据页数与所述每个数据块的总数据页数之比为所述每个数据块的第二有效数据比例。7.一种存储设备,其特征在于,包括:接收模块,用于接收对存储设备进行垃圾回收处理的命令;条带确定模块,用于根据所述命令从所述存储设备包含的多个条带中确定出需要进行垃圾回收处理的一个或多个垃圾回收条带;数据块确定模块,用于从所述一个或多个垃圾回收条带包含的多个数据块中确定出不需要进行垃圾回收处理的数据块;组建模块,用于将所述一个或多个垃圾回收条带中所述不需要进行垃圾回收处理的数据块组建成条带。8.根据权利要求7所述的存储设备,其特征在于,还包括数据处理模块,所述数据处理模块用于将所述一个或多个垃圾回收条带包含的多个数据块中需要进行垃圾回收处理的数据块中的有效数据写入有空闲地址的数据块,并且对所述一个或多个垃圾回收条带包含的多个数据块中需要进行垃圾回收处理的数据块进行擦除处理。9.根据权利要求7所述的存储设备,其特征在于:所述条带确定模块具体用于计算所述多个条带中每个条带的第一有效数据比例和所述第一有效数据比例的权重得到第一计算结果,计算所述多个条带中每个条带的擦除次数和所述擦除次数的权重得到第二计算结果,计算所述多个条带中每个条带的所述第一计算结果和所述第二计算结果的和值,并确定所述多个条带中每个条带的...

【专利技术属性】
技术研发人员:陈建辉李挺
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1