一种存储介质垃圾回收方法、存储介质和程序产品技术

技术编号:20628694 阅读:86 留言:0更新日期:2019-03-20 18:15
提供一种存储介质垃圾回收技术。存储介质例如固态硬盘,所述固态硬盘包括多个块,每个存储拥有回收参数,所述回收参数与所述块中的数据相关,每个块包括多个页:根据所述回收参数从所述多个块中选择一个组块,在该组块中任意两个块的所述回收参数的值的差值不大于预设值;把该组块中的第一有效页和第二有效页中的数据复制到同一个目的块中,以便进行垃圾回收。

A Storage Media Garbage Recycling Method, Storage Media and Program Products

A storage medium garbage recovery technology is provided. A storage medium, such as a solid-state hard disk, comprises a plurality of blocks, each of which has a recovery parameter, which is related to the data in the block, and each block includes several pages: according to the recovery parameter, a block is selected from the plurality of blocks, and the difference between the values of the recovery parameters of any two blocks in the block is not greater than the preset value; Data from the first and second valid pages are copied into the same destination block for garbage collection.

【技术实现步骤摘要】
【国外来华专利技术】一种存储介质垃圾回收方法、存储介质和程序产品
本专利技术涉及存储领域,特别涉及存储介质垃圾回收领域。
技术介绍
固态硬盘(solid-statedrives,SSD)使用闪存(flash)作为存储介质,以其启动快、低噪音以及时延低等优点,日益受到用户的喜爱。并逐渐开始取代磁盘(magneticdisk)成为高端存储设备的主流存储介质。固态硬盘的内部封装中,包括通道、芯片、页(page)和块(Block)组成的结构。其中,每个block由多个页组成。在SSD中,读写数据的最小单位是页。与传统的磁盘不同的是:SSD无法覆盖写,也就是说已经写了数据的页无法通过覆盖的方式直接写入新的数据;反之,必须先对页进行“擦除”操作以后,才能写入新数据。而SSD中,对数据进行擦除是以block作为基本单位的,无法对单个页进行数据擦除。在SSD领域,当某个block中存储无效数据的页数量达到阈值时,可以将block中的有效数据复制至其他block、然后对block进行擦除,以便重新利用被无效数据占用的页,这个过程被称为垃圾回收(garbagecollection,GC)。垃圾回收可以把被无效数据占用的存储空间重新利用起来,然而对block进行擦除会降低block的寿命,也就是说block的擦除次数是有限的。因此,如何尽量减少垃圾回收的次数,是需要解决的问题。
技术实现思路
第一方面,提供一种存储介质垃圾回收方法,所述存储介质包括多个存储单元,每个存储单元拥有第一回收参数,所述第一回收参数与所述存储单元中的数据相关,每个存储单元包括多个读写单元,其中:根据所述第一回收参数从所述多个存储单元中选择一组存储单元,在该组存储单元中任意两个存储单元的所述第一回收参数的值差不大于预设值,该组存储单元中的每一个存储单元含有陈旧读写单元,其中,陈旧读写单元是存储有无效数据的读写单元;把该组存储单元中的第一有效读写单元和第二有效读写单元中的数据复制到同一个目的存储单元,其中,所述第一有效读写单元和所述第二有效读写单元分属于该组存储单元中的不同的存储单元,所述目的存储单元包含于所述多个存储单元。存储介质可以是闪存(flash)介质,或者叠瓦式磁记录(SMR)介质。应用该方案可以在一定程度上:把存储介质中的数据按照存在于介质中的时间长短,汇聚到不同的存储单元。更进一步的,随着该方案被执行的次数越多,汇聚的效果越明显。实现了数据按照“年龄”的分层。老龄数据所在块被垃圾回收的可能性比较低,因此老龄数据所在块未来被擦除的可能性降低,老龄数据所在的块的寿命得到了保证。而低龄数据所在块往往集中了大量陈旧页,因此被垃圾回收的可能性比较高。并且陈旧页在垃圾回收过程中不需要执行数据迁移,因此对低龄数据所在块进行垃圾回收不需要迁移太多数据,减少了因为大量数据迁移而占用存储设备的运算资源和带宽资源;此外,垃圾回收后陈旧页全部成为空白页,因此对低龄数据所在的块垃圾回收后可以获得较多的可用存储空间。并且,低龄数据和老龄数据分离到到不同的存储单元后,总体上减少了SSD中被垃圾回收的块的数量。需要说明的是,“老龄”和“低龄”只是一个相对的概念,“老龄”数据在存储介质中存在的时间早于“低龄”数据在存储介质中存在的时间。在第一方面的第一种可能实现方式中,还包括:把该组存储单元中,除所述第一有效读写单元和所述第二有效读写单元外,余下的有效读写单元中的数据复制到该组存储单元之外的存储单元;擦除该组存储单元中所有的数据。在数据迁移完成后,通过对存储单元进行擦除可以释放出存储介质中的存储空间,以供后续的数据存储。在第一方面的第二种可能实现方式中,其中:所述第一有效读写单元所在的存储单元的所述第一回收参数的值是第一参数值,所述第二有效读写单元所在的存储单元的所述第一回收参数值是第二参数值。在这种情况下,第一种可能实现方式中可以进一步包括:根据所述第一参数值、所述第二参数值以及所述目的存储单元的所述第一回收参数的原有值,把所述目的存储单元的所述第一回收参数的值配置为第三参数值。在进行数据复制后,需要对第一回收参数的值更新,该方案介绍了新的第一回收参数的值如何进行获得。在第一方面的第三种可能实现方式中,在第一方面的第二种可能实现方式的基础上,其中:所述存储介质在过去多个时间点分别执行多次垃圾回收,所述第一参数值、所述第二参数值以及所述目的存储单元的所述第一回收参数的原有值由过去执行垃圾回收的多个时间点决定。该方案在第一方面的第二种可能实现方式的基础上,进一步介绍了新的第一回收参数的值如何计算。在第一方面的第四种可能实现方式中,在第一方面的第三种可能实现方式的基础上,其中:所述第一参数值、所述第二参数值以及所述目的存储单元的所述第一回收参数的原有值分别代表所述多个时间点内三个相同或不同的时间点,所述第三参数值是由所述三个相同或不同的时间点之间的比较决定。该方案在第一方面的第三种可能实现方式的基础上,更进一步介绍了新的第一回收参数的值如何计算。在第一方面的第五种可能实现方式中,在第一方面的第三种可能实现方式的基础上,其中:该目的存储单元中的数据存储位置是依写入时间,从存储单元的首写位置开始按顺序写入,在该目的存储单元中,复制自所述第一有效读写单元的数据储存于第一位置,复制自所述第二有效读写单元的数据储存于第二位置,所述第一位置比所述第二位置更靠近该目的存储单元的首写位置。该方案在第一方面的第三种可能实现方式的基础上,更进一步介绍了主机(或者其他计算机)把数据写入存储介质后,数据在存储单元中的存储规律。在第一方面的第六种可能实现方式中,在第一方面的第二种可能实现方式的基础上,进一步包括:在过去多个时间点分别执行多次垃圾回收,所述第一参数值、所述第二参数值以及所述目的存储单元的所述第一回收参数的原有值由过去执行垃圾回收的次数决定。该方案介绍了所述第一回收参数的原有值的计算方法:可以由过去执行垃圾回收的次数决定。在第一方面的第七种可能实现方式中,在第一方面的第四种可能实现方式的基础上,其中:所述第三参数值是根据所述第一参数值、所述第二参数值以及所述目的存储单元的所述第一回收参数的原有值以及一个固定增量决定。该方案介绍了所述第三参数值的一种计算方法,也就是增加固定增量(例如增加固定的值1,或者增加固定的值10,或者增加固定的值-0.5)的方式。在第一方面的第八种可能实现方式中,在第一方面的第二种可能实现方式的基础上,还可以包括:把该组存储单元中,除所述第一有效读写单元和所述第二有效读写单元外,余下的有效读写单元中的数据复制到该组存储单元之外的存储单元,其中,该组存储单元之外的存储单元包括目标存储单元;根据所述第三参数值配置所述目标存储单元的所述第一回收参数的值;以及,擦除该组存储单元中所有的数据。该方案介绍了余下的有效读写单元(例如有效页)中的数据也会被复制。完成该存储单元中所有有效数据的复制。以便对整个存储单元进行擦除。在第一方面的第九种可能实现方式中,在第一方面方案的基础上还包括:按照第一回收参数选择的该组存储单元含某存储单元;把所述某存储单元中的数据单元迁移到按照磨损程度选择的存储单元之中。该方案介绍了基于垃圾回收的进一步应用:可以按照磨损程度和数据年龄进行数据迁移,实现磨损均衡的技术效果本文档来自技高网...

【技术保护点】
1.一种存储介质垃圾回收方法,所述存储介质包括多个存储单元,每个存储单元拥有回收参数,所述回收参数包括第一回收参数,所述第一回收参数与所述存储单元中的数据相关,每个存储单元包括多个读写单元,其特征在于:根据所述第一回收参数从所述多个存储单元中选择一组存储单元,在该组存储单元中任意两个存储单元的所述第一回收参数的值差不大于预设值,该组存储单元中的每一个存储单元含有陈旧读写单元,其中,陈旧读写单元是存储有无效数据的读写单元;把该组存储单元中的第一有效读写单元和第二有效读写单元中的数据复制到同一个目的存储单元,其中,所述第一有效读写单元和所述第二有效读写单元分属于该组存储单元中的不同的存储单元,所述目的存储单元包含于所述多个存储单元。

【技术特征摘要】
【国外来华专利技术】1.一种存储介质垃圾回收方法,所述存储介质包括多个存储单元,每个存储单元拥有回收参数,所述回收参数包括第一回收参数,所述第一回收参数与所述存储单元中的数据相关,每个存储单元包括多个读写单元,其特征在于:根据所述第一回收参数从所述多个存储单元中选择一组存储单元,在该组存储单元中任意两个存储单元的所述第一回收参数的值差不大于预设值,该组存储单元中的每一个存储单元含有陈旧读写单元,其中,陈旧读写单元是存储有无效数据的读写单元;把该组存储单元中的第一有效读写单元和第二有效读写单元中的数据复制到同一个目的存储单元,其中,所述第一有效读写单元和所述第二有效读写单元分属于该组存储单元中的不同的存储单元,所述目的存储单元包含于所述多个存储单元。2.根据权利要求1所述的存储介质垃圾回收方法,其中:所述第一有效读写单元所在的存储单元的所述第一回收参数的值是第一参数值,所述第二有效读写单元所在的存储单元的所述第一回收参数值是第二参数值;所述方法进一步包括:根据所述第一参数值、所述第二参数值以及所述目的存储单元的所述第一回收参数的原有值,把所述目的存储单元的所述第一回收参数的值配置为第三参数值。3.根据权利要求2所述的存储介质垃圾回收方法,其中:所述存储介质在过去多个时间点分别执行多次垃圾回收,所述第一参数值、所述第二参数值以及所述目的存储单元的所述第一回收参数的原有值由过去执行垃圾回收的多个时间点决定。4.根据权利要求3所述的存储介质垃圾回收方法,其中:所述第一参数值、所述第二参数值以及所述目的存储单元的所述第一回收参数的原有值分别代表所述多个时间点内三个相同或不同的时间点,所述第三参数值是由所述三个相同或不同的时间点之间的比较决定。5.根据权利要求3所述的存储介质垃圾回收方法,其中:该目的存储单元中的数据存储位置是依写入时间,从存储单元的首写位置开始按顺序写入,在该目的存储单元中,复制自所述第一有效读写单元的数据储存于第一位置,复制自所述第二有效读写单元的数据储存于第二位置,所述第一位置比所述第二位置更靠近该目的存储单元的首写位置。6.根据权利要求2所述的存储介质垃圾回收方法,其中:在过去多个时间点分别执行多次垃圾回收,所述第一参数值、所述第二参数值以及所述目的存储单元的所述第一回收参数的原有值由过去执行垃圾回收的次数决定。7.根据权利要求4所述的存储介质垃圾回收方法,其中:所述第三参数值是根据所述第一参数值、所述第二参数值以及所述目的存储单元的所述第一回收参数的原有值以及一个固定增量决定。8.根据权利要求2所述的存储介质垃圾回收方法,其中,所述方法还包括:把该组存储单元中,除所述第一有效读写单元和所述第二有效读写单元外,余下的有效读写单元中的数据复制到该组存储单元之外的存储单元,其中,该组存储单元之外的存储单元包括目标存储单元;根据所述第三参数值配置所述目标存储单元的所述第一回收参数的值;以及擦除该组存储单元中所有的数据。9.根据权利要求1所述的存储介质垃圾回收方法,其中,根据所述第一回收参数从所述多个存储单元中选择第一存储单元,该第一存储单元含有陈旧读写单元;把第一存储单元中有效读写单元的数据迁移到第二存储单元,所述第二此处单元有空闲读写单元。10.根据权利要求9所述的存储介质垃圾回收方法,其中:所述第一存储单元的所述第一回收参数的值是第四参数值,所述第二存储单元的所述第一回收参数的值是第五参数值;所述方法进一步包括:根据所述第四参数值、所述第五参数值,把所述目的存储单元的所述第一回收参数的值配置为第六参数值。11.根据权利要求1所述的存储介质垃圾回收方法,其中,所述方法还包括:按照第一回收参数选择的该组存储单元含某存储单元;把所述某存储单元中的数据单元迁移到按照磨损程度选择的存储单元之中。12.根据权利要求1所述的存储介质垃圾回收方法,其中,该回收参数含第二回收参数,所述第一有效读写单元所在的存储单元的所述第二回收参数的值是第七参数值,所述第二有效读写单元所在的存储单元的所述第二回收参数的值是第八参数值,所述方法还包括:根据所述第七参数值、所述第八参数值以及所述目的存储单元的所述第二回收参数的原有值,把所述目的存储单元的所述第二回收参数的值配置为第九参数值;其中,所述第二回收参数的值与所述存储单元执行垃圾回收的时间点有关。13.根据权利要求11所述的存储介质垃圾回收方法,其中,按照第一回收参数和第二回收参数选择的该组存储单元含某存储单元,所述方法还包括:把所述某存储单元中的数据单元迁移到按照磨损程度选择的存储单元之中。14.根据权利要求1所述的存储介质垃圾回收方法,还包括:把该组存储单元中,除所述第一有效读写单元和所述第二有效读写单元外,余下的有效读写单元中的数据复制到该组存储单元之外的存储单元;擦除该组存储单元中所有的数据。15.一种存储介质,存储介质包括介质控制器和多个存储单元,每个存储单元拥有回收参数,所述回收参数包括第一回收参数,所述第一回收参数与所述存储单元中的数据相关,每个存储单元包括多个读写单元,其特征在于,所述介质控制器用于:根据所述第一回收参数从所述多个存储单元中选择一组存储单元,在该组存储单元中任意两个存储单元的所述第一回收参数的值差不大于预设值,该组存储单元中的每一个存储单元含有陈旧读写单元,其中,陈旧读写单元是存储有无效数据的读写单元;把该组存储单元中的第一有效读写单元和第二有效读写单元中的数据复制到同一个目的存储单元,其中,所述第一有效读写单元和所述第二有效读写单元分属于该组存储单元中的不同的存储单元,所述目的存储单元包含于所述多个存储单元。16.根据权利要求15所述的存储介质,其中:所述第一有效读写单元所在的存储单元的所述第一回收参数的值是第一参数值,所述第二有效读写单元所在的存储单元的所述第一回收参数值是第二参数值;所述介质控制器还用于:根据所述第一参...

【专利技术属性】
技术研发人员:冯锐贾胜迁杨定国
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1