数据分级存储方法、存储器控制器及计算机程序产品与流程

摘要: 本公开涉及一种数据存储,尤其涉及一种适用于存储装置的数据分级存储方法、存储器控制器及计算机程序产品。背景技术:1、存储装置通常包括存储器控制器与存储器模块,存储...
数据分级存储方法、存储器控制器及计算机程序产品与流程

本公开涉及一种数据存储,尤其涉及一种适用于存储装置的数据分级存储方法、存储器控制器及计算机程序产品。

背景技术:

1、存储装置通常包括存储器控制器与存储器模块,存储器模块例如由每个存储单元存储多个比特的与非型闪存(nand flash)构成,这类闪存在存储密度方面具有优势,但其读取性能与使用寿命弱于每个存储单元存储较少比特的闪存;为提升读取响应速度,存储装置可将部分闪存配置为读取性能较高的存储区域,并通过冷热数据分离将访问频繁的数据放置于读取性能较高的存储区域。在实际应用场景中,应用启动、文件加载、照片浏览等场景涉及大量数据读取操作,用户对于读取响应速度的感知较为敏感。然而,现有的冷热数据分离方案多以写入频率作为冷热判定依据,或以固定阈值进行粗粒度划分,缺乏对读取操作的细粒度统计与动态追踪,难以及时反映数据访问随时间的变化;传统的统计方法需要为每个逻辑块地址或每个物理页维护独立的计数器,内存开销随存储容量线性增长,在存储装置有限的内存资源下难以实施;并且,数据在不同存储区域之间的迁移操作本身会产生额外写入,当设备温度较高或闪存的擦写循环数达到较高水平时,频繁迁移可能加速闪存磨损和热失效。

2、因此,如何在有限的内存开销下准确识别数据读取访问的冷热变化,并在保护闪存介质的前提下将数据放置于适当的存储区域,为目前待解决的技术问题。

技术实现思路

1、有鉴于此,本公开提供一种数据分级存储方法、存储器控制器及计算机程序产品,通过以区域为单位统计读取访问、确定随时间推移而衰减的读取热度并据以确定热度状态,再根据热度状态和数据所在存储区在高速存储区与常规存储区之间执行双向数据迁移,从而使读取访问频繁的数据可被置于读取性能较高的高速存储区,提升读取响应速度。

2、根据本公开的第一方面,提供一种数据分级存储方法,适用于配置有存储器控制器和存储器模块的存储装置,存储器模块包括常规存储区和读取性能高于常规存储区的高速存储区,方法包括:将存储装置的逻辑块地址空间划分为多个区域;响应于来自主机的读命令,确定读命令所访问的逻辑块地址所属的目标区域,并更新目标区域的读取统计信息;基于目标区域的读取统计信息,确定目标区域的读取热度,其中,在目标区域未被再次读取的情况下,读取热度随时间的推移而衰减;根据读取热度确定目标区域的热度状态;以及根据目标区域的热度状态和目标区域的目标数据所在的存储区,执行目标数据在高速存储区与常规存储区之间的数据迁移。

3、根据本公开的第二方面,提供一种存储器控制器,适用于配置有存储器模块的存储装置,存储器模块包括常规存储区和读取性能高于常规存储区的高速存储区,存储器控制器包括:主机接口控制电路,用以电性连接至主机;存储器接口控制电路,用以电性连接至存储器模块;以及处理器,电性连接至主机接口控制电路和存储器接口控制电路,其中处理器被配置以:将存储装置的逻辑块地址空间划分为多个区域;响应于来自主机的读命令,确定读命令所访问的逻辑块地址所属的目标区域,并更新目标区域的读取统计信息;基于目标区域的读取统计信息,确定目标区域的读取热度,其中,在目标区域未被再次读取的情况下,读取热度随时间的推移而衰减;根据读取热度确定目标区域的热度状态;以及根据目标区域的热度状态和目标区域的目标数据所在的存储区,执行目标数据在高速存储区与常规存储区之间的数据迁移。

4、根据本公开的第三方面,提供一种计算机程序产品,包括计算机程序,当计算机程序被存储装置的存储器控制器加载并执行时,使存储器控制器执行以下步骤,其中存储装置配置有存储器模块,存储器模块包括常规存储区和读取性能高于常规存储区的高速存储区:将存储装置的逻辑块地址空间划分为多个区域;响应于来自主机的读命令,确定读命令所访问的逻辑块地址所属的目标区域,并更新目标区域的读取统计信息;基于目标区域的读取统计信息,确定目标区域的读取热度,其中,在目标区域未被再次读取的情况下,读取热度随时间的推移而衰减;根据读取热度确定目标区域的热度状态;以及根据目标区域的热度状态和目标区域的目标数据所在的存储区,执行目标数据在高速存储区与常规存储区之间的数据迁移。

5、基于上述,本公开所提供的技术方案基于目标区域的读取统计信息确定读取热度,且在目标区域未被再次读取的情况下读取热度随时间的推移而衰减,长时间未被读取的区域的读取热度随之下降,由此热度统计能够反映读取访问随时间的动态变化,而非依赖单一的固定计数;根据读取热度确定目标区域的热度状态,并根据热度状态和数据所在存储区执行数据迁移,使读取访问频繁的区域的数据可被迁移至读取性能较高的高速存储区,提升主机读取响应速度,并使转为第二热度状态的区域的数据可被迁移回常规存储区,释放高速存储区的空间供其他区域使用,从而支持高速存储区与常规存储区之间的双向分级存储;并且,以区域为单位进行读取统计,相较于为每个逻辑块地址或每个物理页维护独立计数器的方式,有助于降低统计所需的内存开销。

1.一种数据分级存储方法,适用于配置有存储器控制器和存储器模块的存储装置,所述存储器模块包括常规存储区和读取性能高于所述常规存储区的高速存储区,其特征在于,所述方法包括:

2.根据权利要求1所述的数据分级存储方法,其特征在于,所述根据所述读取热度确定所述目标区域的热度状态的步骤包括:

3.根据权利要求2所述的数据分级存储方法,其特征在于,所述根据所述目标区域的热度状态和所述目标区域的目标数据所在的存储区,执行所述目标数据在所述高速存储区与所述常规存储区之间的数据迁移的步骤包括:

4.根据权利要求2所述的数据分级存储方法,其特征在于,所述低热判定阈值为所述预设热度阈值与预设滞回系数的乘积,且所述预设滞回系数大于0且小于1。

5.根据权利要求4所述的数据分级存储方法,其特征在于,在所述读取热度小于所述预设热度阈值且不小于所述低热判定阈值时,维持所述目标区域的当前热度状态。

6.根据权利要求1所述的数据分级存储方法,其特征在于,所述读取统计信息包括所述目标区域的累计读取次数和最近读取时间,且所述基于所述目标区域的读取统计信息,确定所述目标区域的读取热度的步骤包括:

7.根据权利要求1所述的数据分级存储方法,其特征在于,所述方法还包括:

8.根据权利要求3所述的数据分级存储方法,其特征在于,所述方法还包括:

9.根据权利要求8所述的数据分级存储方法,其特征在于,所述基于所述目标区域的读取热度的变化趋势,预测所述目标区域在下一统计周期的预测热度的步骤包括:

10.根据权利要求1所述的数据分级存储方法,其特征在于,所述方法还包括:

11.根据权利要求1所述的数据分级存储方法,其特征在于,所述方法还包括:

12.根据权利要求11所述的数据分级存储方法,其特征在于,对应于所述高速存储区的动态擦写阈值和对应于所述常规存储区的动态擦写阈值分别基于写放大因子与温度确定,且分别随所述写放大因子的增大而减小、随所述温度的升高而减小。

13.根据权利要求1所述的数据分级存储方法,其特征在于,所述方法还包括:

14.一种存储器控制器,适用于配置有存储器模块的存储装置,所述存储器模块包括常规存储区和读取性能高于所述常规存储区的高速存储区,其特征在于,所述存储器控制器包括:

15.一种计算机程序产品,包括计算机程序,其特征在于,当所述计算机程序被存储装置的存储器控制器加载并执行时,使所述存储器控制器执行以下步骤,其中所述存储装置配置有存储器模块,所述存储器模块包括常规存储区和读取性能高于所述常规存储区的高速存储区: