存储器管理方法、存储器控制器及计算机程序产品与流程

摘要: 本公开涉及数据存储,尤其涉及一种存储器管理方法、存储器控制器及计算机程序产品,存储器控制器依据主机系统与存储器模块的待处理工作量信息,为前端任务及后端任务分配处...
存储器管理方法、存储器控制器及计算机程序产品与流程

本公开涉及数据存储,尤其涉及一种存储器管理方法、存储器控制器及计算机程序产品,存储器控制器依据主机系统与存储器模块的待处理工作量信息,为前端任务及后端任务分配处理资源的存储器管理技术。

背景技术:

1、存储装置的读写性能为其关键指标。存储器控制器的固件通常采用分层管理的方式,将其所执行的任务划分为处理与主机系统之间数据传输的前端任务以及处理与存储器模块之间数据传输的后端任务,前端任务与后端任务之间则依据缓冲单元的空闲情况进一步分配各自的任务。然而,主机系统、存储器控制器与存储器模块三方的数据传输速率往往并不对等,前端任务内部用以打包数据与分配缓冲单元的子任务之间、后端任务内部用以下发命令与回收缓冲单元的子任务之间,亦无固定的轻重之分;若前端任务与后端任务之间采用固定的任务分配方式,在某些工作负载下会使其中某一类子任务持续堆积,进而导致存储装置的读写性能下降。

技术实现思路

1、有鉴于此,本公开提供一种存储器管理方法、存储器控制器及计算机程序产品,通过获取主机系统的第一待处理工作量信息及存储器模块的第二待处理工作量信息,并根据第一待处理工作量信息及第二待处理工作量信息,对前端任务及后端任务分配处理资源,使存储器控制器能够依据主机系统与存储器模块各自的待处理工作量协调前端任务及后端任务的处理资源分配。

2、根据本公开的第一方面,提供一种存储器管理方法,适用于配置有存储器控制器及存储器模块的存储装置,方法包括:获取主机系统的第一待处理工作量信息及存储器模块的第二待处理工作量信息;以及根据第一待处理工作量信息及第二待处理工作量信息,对前端任务及后端任务分配处理资源,其中,存储器控制器用于执行前端任务及后端任务,前端任务用于处理与主机系统之间的数据传输,后端任务用于处理与存储器模块之间的数据传输。

3、根据本公开的第二方面,提供一种存储器控制器,适用于配置有存储器模块的存储装置,存储器控制器包括:存储器接口控制电路,用于电连接至存储器模块;以及处理器,电连接至存储器接口控制电路,处理器被配置为:获取主机系统的第一待处理工作量信息及存储器模块的第二待处理工作量信息;以及根据第一待处理工作量信息及第二待处理工作量信息,对前端任务及后端任务分配处理资源,其中,处理器用于执行前端任务及后端任务,前端任务用于处理与主机系统之间的数据传输,后端任务用于处理与存储器模块之间的数据传输。

4、根据本公开的第三方面,提供一种计算机程序产品,包括计算机程序,当计算机程序被存储装置的存储器控制器加载并执行时,使存储器控制器执行以下步骤,其中,存储装置配置有存储器模块:获取主机系统的第一待处理工作量信息及存储器模块的第二待处理工作量信息;以及根据第一待处理工作量信息及第二待处理工作量信息,对前端任务及后端任务分配处理资源,其中,存储器控制器用于执行前端任务及后端任务,前端任务用于处理与主机系统之间的数据传输,后端任务用于处理与存储器模块之间的数据传输。

5、本公开所提供的技术方案,通过获取主机系统的第一待处理工作量信息及存储器模块的第二待处理工作量信息,并根据第一待处理工作量信息及第二待处理工作量信息,对前端任务及后端任务分配处理资源,使处理资源的分配可随主机系统与存储器模块各自的待处理工作量变化而调整,而非维持固定的任务分配方式。由此,在主机系统、存储器控制器与存储器模块三方的数据传输速率不匹配时,可减少前端任务或后端任务持续堆积的可能性,以维持存储装置的读写性能。

1.一种存储器管理方法,适用于配置有存储器控制器及存储器模块的存储装置,其特征在于,所述方法包括:

2.根据权利要求1所述的存储器管理方法,其特征在于,所述前端任务及所述后端任务分别包括多个子任务,

3.根据权利要求2所述的存储器管理方法,其特征在于,所述第一待处理工作量信息包括所述主机系统的剩余数据传输工作量及所述主机系统本轮新增的数据传输工作量,所述第二待处理工作量信息包括所述存储器模块的剩余数据传输工作量及所述存储器模块本轮新增的数据传输工作量,

4.根据权利要求3所述的存储器管理方法,其特征在于,所述前端任务与所述后端任务之间经由至少一个缓冲单元流转数据,

5.根据权利要求3所述的存储器管理方法,其特征在于,所述前端任务与所述后端任务之间经由至少一个缓冲单元流转数据,

6.根据权利要求3所述的存储器管理方法,其特征在于,所述方法还包括:

7.根据权利要求3所述的存储器管理方法,其特征在于,所述存储器控制器管理多个缓冲单元,每个所述缓冲单元对应一个数据单元,所述主机系统的剩余数据传输工作量、所述存储器模块的剩余数据传输工作量、所述主机系统本轮新增的数据传输工作量及所述存储器模块本轮新增的数据传输工作量均以所述数据单元的数量表示,

8.根据权利要求3所述的存储器管理方法,其特征在于,所述前端任务与所述后端任务之间经由至少一个缓冲单元流转数据,

9.根据权利要求8所述的存储器管理方法,其特征在于,所述根据所述目标场景确定所述调度策略的步骤还包括:

10.根据权利要求9所述的存储器管理方法,其特征在于,所述方法还包括:

11.根据权利要求10所述的存储器管理方法,其特征在于,所述查找表中所述多个取值组合分别对应的所述前端任务的任务量配比及所述后端任务的任务量配比,基于最高总吞吐量从预设的多个取值组合中确定。

12.根据权利要求10所述的存储器管理方法,其特征在于,所述方法还包括:

13.根据权利要求3所述的存储器管理方法,其特征在于,所述单元传输时间、所述单元搬运时间及所述单元处理时间为在所述存储装置的出厂阶段或配置阶段确定的已知参数。

14.一种存储器控制器,适用于配置有存储器模块的存储装置,其特征在于,所述存储器控制器包括:

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