一种数据管理方法、垃圾回收方法以及存储设备与流程

文档序号:38072308发布日期:2024-05-21 20:07阅读:55来源:国知局
一种数据管理方法、垃圾回收方法以及存储设备与流程

本技术涉及计算机,尤其涉及一种数据管理方法、垃圾回收方法以及存储设备。


背景技术:

1、在计算机技术领域中,当存储设备的存储空间使用完时,会通过垃圾回收方法从已存储的数据块中选择数据块进行擦除,从而可以腾出存储空间服务于其他的数据。其中,被回收的数据块中包括的有效数据会被重新写入存储器的其他存储空间上。

2、目前的垃圾回收方法,存储设备通常是将有效数据数量最少的数据块作为被回收的数据块。该方案可能会将访问频率较高的数据块进行回收。如果数据块中的有效数据在被回收之后而又被置无效,使得该数据块中的有效数据被多次搬移,增加了垃圾回收导致的写放大,降低了存储设备的存储性能。


技术实现思路

1、本技术提供了一种数据管理方法、垃圾回收方法以及存储设备,根据存储设备中数据块的写重用距离和/或被访问次数对数据块进行分类管理,以及对写重用距离较长和/或被访问次数较少的数据块做垃圾回收,从而解决搬移访问频率较高的数据带来的写放大。

2、第一方面,本技术提供了一种数据管理方法。该方法可以用于对存储设备中存储的数据块进行冷热管理。该方法包括:判断数据块的写重用距离以及被访问次数中的至少一种信息;基于所述判断结果确定所述数据块的存储方式。

3、上述方案中,通过对存储设备中的数据块的写重用距离和被访问次数分析,可以得到每个数据块的时空特性。并且,使用不同的存储方式存储不同特性的数据块,可以实现对不同特性的数据块进行分类管理。这样,在对数据块进行垃圾回收时,可以避免回收了时空特性较强的数据块,从而解决因搬移时空特性强的数据块中的热数据增加垃圾回收的写放大的问题。

4、在一种可能的实施方式中,所述基于所述判断结果确定所述数据块的存储方式包括:若所述写重用距离不大于距离阈值、以及所述数据块的被访问次数不小于次数阈值,使用第一数据结构存储所述数据块对应的标识信息;或者,若所述写重用距离大于距离阈值、或者所述被访问次数小于次数阈值,使用第二数据结构存储所述标识信息,其中,所述第二数据结构中存储的标识信息用于进行垃圾回收。

5、在一种可能的实施方式中,在判断数据块的写重用距离以及被访问频率中的至少一种信息之前,该方法还包括:根据最近访问所述数据块的两个写请求的序号的差值确定所述写重用距离。

6、上述方案中,依据数据块的相邻的两个写请求的序号确定该数据块的写重用距离,通过写重用距离可以衡量访问数据块的写请求的间隔。

7、在一种可能的实施方式中,在判断数据块的写重用距离以及被访问频率中的至少一种信息之前,该方法还包括:根据m个数据块的写重用距离确定n个写重用距离区间对应的分布概率;根据所述n个写重用距离区间中第n个写重用距离区间的下限值和/或上限值,确定所述写重用距离阈值。

8、其中,所述第n个写重用距离区间至第n个写重用距离区间的分布概率之和不小于概率阈值,n和n均为正整数,n的取值范围为[1,n-1]。

9、在一种可能的实施方式中,根据多个数据块的写重用距离确定n个写重用距离区间对应的分布概率包括:根据所述m个数据块的写重用距离确定所述n个写重用距离区间中各个写重用距离区间对应的数据块数量;根据所述各个写重用距离区间对应的数据块数量、与所述m的比值,确定所述各个写重用距离区间对应的分布概率。

10、在一种可能的实施方式中,所述第一数据结构包括队列,所述第二数据结构包括链表。所述方法还包括:按照先进先出策略删除所述队列的头部的标识信息,以及使用所述链表存储从所述队列删除的头部的标识信息。

11、上述方案中,使用队列存储时空特性强的数据块的标识信息,可以使用队列先进先出的策略淘汰标识信息,从而提高管理效率。以及,使用链表存储时空特性差的数据块的标识信息,可以减少垃圾回收时查询数据结构的时间,从而提高垃圾回收的效率。

12、第二方面,本技术提供一种垃圾回收方法。该方法可以用于对存储设备中的数据块进行垃圾回收。该方法包括:确定数据块的写重用距离大于写重用距离阈值或者被访问次数小于被访问次数阈值;对所述数据块进行垃圾回收操作。

13、上述方案中,对写重用距离大于距离阈值和/或被访问次数小于次数阈值的数据块进行垃圾回收,可以避免对时空特性强或者热数据块进行垃圾回收操作,从而可以减少垃圾回收带来的写放大。

14、在一种可能的实施方式中,在所述对所述数据块进行垃圾回收操作之前,该方法还包括:使用数据结构存储所述数据块的标识信息;若所述数据块从所述数据结构中删除,确定对所述数据块进行垃圾回收操作。

15、第三方面,本技术还提供一种数据管理装置。该装置中包括确定模块和管理模块。

16、其中,确定模块用于判断数据块的写重用距离以及被访问次数中的至少一种信息。

17、其中,管理模块用于基于判断结果确定所述数据块的存储方式。

18、在一种可能的实施方式中,所述管理模块具体用于:若所述写重用距离不大于写重用距离阈值、和/或所述数据块的被访问次数不小于被访问次数阈值,使用第一数据结构存储所述数据块对应的标识信息,或者,若所述写重用距离大于所述写重用距离阈值、和/或所述被访问次数小于所述被访问次数阈值,使用第二数据结构存储所述标识信息。

19、在一种可能的实施方式中,所述确定模块具体用于:根据所述第一写请求的序号与上一次访问所述数据块的第二写请求的序号的差值,确定所述第一写请求对应的所述数据块的写重用距离。

20、在一种可能的实施方式中,所述确定模块还用于:根据最近访问所述数据块的两个写请求的序号的差值确定所述写重用距离。

21、在一种可能的实施方式中,所述确定模块还用于:根据m个数据块的写重用距离确定n个写重用距离区间对应的分布概率;根据所述n个写重用距离区间中第n-n个写重用距离区间的下限值和/或上限值,确定所述写重用距离阈值。

22、其中,所述第n-n个写重用距离区间至第n个写重用距离区间的分布概率之和不小于概率阈值,n和n均为正整数,n的取值范围为[1,n-1]。

23、在一种可能的实施方式中,所述确定模块具体用于:根据所述m个数据块的写重用距离确定所述n个写重用距离区间中各个写重用距离区间对应的数据块数量;根据所述各个写重用距离区间对应的数据块数量量、与所述m的比值,确定所述各个写重用距离区间对应的分布概率。

24、在一种可能的实施方式中,所述第一数据结构包括队列,所述第二数据结构包括链表,所述管理模块还用于:按照先进先出策略删除所述队列的头部的标识信息;使用所述链表存储从所述队列删除的头部的标识信息。

25、第四方面,本技术还提供一种垃圾回收装置。该装置中包括确定模块和回收模块。

26、其中,确定模块用于确定数据块的写重用距离大于写重用距离阈值和/或被访问次数小于被访问次数阈值。

27、其中,回收模块用于对所述数据块进行垃圾回收操作。

28、在一种可能的实施方式中,所述回收模块还用于:使用数据结构存储所述数据块的标识信息;若所述数据块从所述数据结构中删除,确定对所述数据块进行垃圾回收操作。

29、第五方面,本技术还提供一种存储器。该存储器中包括控制器和存储芯片,所述控制器用于执行存储于所述存储芯片内的计算机程序,以实现前述第一方面及其可选实施方式中的任一方案、或者实现前述第二方面及其可选实施方式中的任一方案。

30、第六方面,本技术还提供一种存储设备,其特征在于,所述存储设备中包括处理器和存储器,所述控制单元用于执行存储于所述存储器内的计算机程序,以实现前述第一方面及其可选实施方式中的任一方案、或者实现前述第二方面及其可选实施方式中的任一方案。

31、第七方面,本技术还提供一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得所述计算机实现如前述第一方面及其可选实施方式中的任一方案、或者实现前述第二方面及其可选实施方式中的任一方案。

32、第八方面,本技术还提供一种计算机程序产品,其特征在于,包括程序代码,当计算机运行所述计算机程序产品时,使得所述计算机实现如前述第一方面及其可选实施方式中的任一方案、或者实现前述第二方面及其可选实施方式中的任一方案。

33、上述提供的任一种装置或计算机存储介质或计算机程序产品,均用于执行上文所提供的方法,因此,其所能达到的有益效果可参考上文提供的对应方法中的对应方案的有益效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1