本公开涉及存储器领域,特别涉及存储器的数据回收处理。
背景技术:
1、近些年来,固态硬盘(ssd,solid state drive)在技术发展和市场拓展两方面都取得了长足进展。
2、在传统ssd存储中,ssd数据回收(gc,garbage collection)是影响存储性能及稳定性的一个重要因素。
3、数据回收,也可以称为“垃圾回收”,是将待回收物理单元,如包括多个页的块,中的有效数据(一般以页为单位)全部迁移到其它物理单元,然后对待回收物理单元执行擦除操作。
4、例如,在数据中心的服务场景中,主机(host)向ssd发送的服务类型各种各样(主要是混合服务,比如读占70%、写占30%的随机混合服务),ssd常规情况下只有主机流控(fc,flow control),即根据gc的实际产出对主机写做流控。然而,在主机侧的服务类型是一些非对齐、或者小io、或者小压力(job/qd)等类似类型的情况下,gc提供给主机写的信用分(credit,其为一种流控的单位,通常一个信用分等效于一个数据单元(du,data unit))不能被完全消耗掉,这样就会出现gc的能力大于主机写性能,导致ssd内部的spb(stripephysical block,物理块条带,也可称为超级块(superblock))资源量越来越多,当多到一定量之后,gc就会停止,主机侧性能就会大幅提升,导致主机写性能出现严重波动。
5、因此,需要一种新的提升ssd写性能稳定性(consistency)的数据回收方案。
技术实现思路
1、本公开要解决的一个技术问题是提供一种新的ssd数据回收方案,其能够提升写性能稳定性。
2、根据本公开的第一个方面,提供了一种控制存储器的方法,所述存储器包括存储介质模块,所述存储介质模块包括多个物理存储组,所述存储器以物理存储组为单位进行数据回收处理,所述方法包括:在主机写速度低于启动阈值的情况下,启动对数据回收处理的流控,至少根据主机写速度和作为数据回收处理对象的物理存储组中的有效数据量来确定数据搬移速度;以及以所确定的数据搬移速度将数据回收处理对象中的有效数据搬移到其他物理存储组。
3、可选地,在主机写速度高于停止阈值的情况下,停止对数据回收处理的流控。
4、可选地,启动阈值和/或停止阈值与数据回收处理提供空闲存储空间的速度正相关;并且/或者以预定的第一时间间隔更新对数据回收处理的流控的启动/停止与否的判断。
5、可选地,主机写速度是通过在每个指定时间段统计期间主机向存储器写的数据量而得到的;并且/或者以预定的第二时间间隔更新对数据搬移速度的确定。
6、可选地,确定数据搬移速度的步骤包括:根据数据回收处理对象中的有效数据量确定此次数据回收处理将获得的空闲存储空间;根据将获得的空闲存储空间和过去指定轮次的主机写速度的均值,确定主机写要消耗将获得的空闲存储空间所需的时间;以及根据数据回收处理对象中的有效数据量、以及主机写要消耗将获得的空闲存储空间所需的时间,确定数据搬移速度。
7、可选地,确定数据搬移速度的步骤包括:至少根据主机写速度和数据回收处理对象中的有效数据量来计算初始的数据搬移速度;以及根据空闲的物理存储组的数量与高位水线和/或低位水线的关系、以及/或者过去指定轮次的数据搬移速度的均值,对初始的数据搬移速度进行补偿,从而将补偿后的数据搬移速度作为最终确定的数据搬移速度。
8、可选地,在空闲的物理存储组的数量低于低位水线的情况下,以空闲的物理存储组的数量与低位水线之差与低位水线的比值,作为向初始的数据搬移速度增加的补偿比例;并且/或者在空闲的物理存储组的数量高于低位水线或低位水线与指定数值之和的情况下,以空闲的物理存储组的数量与高位水线之差与高位水线的比值,作为向初始的数据搬移速度增加的补偿比例。
9、可选地,在计算出的初始的数据搬移速度低于过去指定轮次的数据搬移速度的均值的情况下,对初始的数据搬移速度进行补偿以使得补偿后的数据搬移速度不低于过去指定轮次的数据搬移速度的均值。
10、根据本公开的第二个方面,提供了一种存储器,包括:存储介质模块,包括多个物理存储组,所述存储器以物理存储组为单位进行数据回收处理;以及控制器,被配置为执行如上述第一方面所述的方法。
11、可选地,所述控制器包括至少两个处理器,其中一个处理器被配置为执行对数据回收处理的流控的启动与否的判断的相关操作,另一个处理器被配置为执行确定数据搬移速度并且搬移数据回收处理对象中的有效数据的相关操作。
12、根据本公开的第三个方面,提供了一种主机,包括:处理器;以及存储装置,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一方面所述的方法。
13、根据本公开的第四个方面,提供了一种计算机程序产品,包括可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上述第一方面所述的方法。
14、根据本公开的第五个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一方面所述的方法。
15、由此,本公开通过根据主机写性能来确定gc速度,建立gc能力与主机写性能的平衡,能够提升ssd在各种服务模型下的写性能稳定性。
1.一种控制存储器的方法,所述存储器包括存储介质模块,所述存储介质模块包括多个物理存储组,所述存储器以物理存储组为单位进行数据回收处理,
2.根据权利要求1所述的方法,其中,
3.根据权利要求1或2所述的方法,其中,
4.根据权利要求1所述的方法,其中,
5.根据权利要求1所述的方法,其中,
6.根据权利要求1所述的方法,其中,
7.根据权利要求6所述的方法,其中,
8.根据权利要求6所述的方法,其中,
9.一种存储器,包括:
10.根据权利要求9所述的存储器,其中,
11.一种主机,包括: