技术新讯 > 信息存储应用技术 > 存储控制器流量感知刷新方法、装置和计算机设备与流程  >  正文

存储控制器流量感知刷新方法、装置和计算机设备与流程

  • 国知局
  • 2024-07-31 20:16:08

本技术涉及计算机存储器,特别是涉及一种存储控制器流量感知刷新方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

背景技术:

1、存储器是计算机体系结构的重要组成部分。其中动态随机存取存储器(dram,dynamic random access memory)以其高密度、低成本的特点广泛应用于服务器、显卡和手机等场景。主流dram设备包括但不限于ddr(double data rate sdram,双倍数据率sdram)、gddr(graphics ddr,图像显示存储器)、lpddr(low power ddr,低功耗双倍数据率sdram)和hbm(high bandwidth memory,高带宽存储器)等。随着应用数据规模不断增长,系统对存储器的带宽和容量需求一直在逐步增加。

2、传统技术中,对于dram而言,采用了电容存储电荷的方式记录信息。dram中的每个存储单元由一个电容和一个访问晶体管组成。当电容充电时,表示存储的是数据“1”,当电容放电时,表示存储的是数据“0”。

3、然而,传统方法,必须定期暂停读写操作以进行刷新,以免电荷随时间流失,进而丢失数据。以容量32gb的dram设备为例,刷新占用了整体约20%的能耗,并使得设备读写速度降低达30%

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够基于感知存储bank访问流量评估各个存储单元活跃程度以灵活调控刷新以及通过弹性调节刷新间隔有效避免中断读写操作的存储控制器流量感知刷新方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

2、第一方面,本技术提供了一种存储控制器流量感知刷新方法,包括:

3、在读写命令写入命令队列之后,对命令队列的所有待执行命令中存储bank地址信息进行数据统计,获得所有bank的访问频率即其对应的存储活跃程度;

4、根据所有bank对应的存储活跃程度和存储状态信息对所有bank进行仲裁判断,获得待刷新bank及其优先级;

5、基于待刷新bank的存储状态信息、请求队列状态信号和预设计数阈值生成待刷新bank的存储刷新命令;

6、基于待刷新bank的优先级和存储刷新命令对待刷新bank进行刷新操作,获得刷新后bank。

7、在其中一个实施例中,根据所有bank对应的存储活跃程度和存储状态信息对所有bank进行仲裁判断,获得待刷新bank及其优先级,包括:

8、对传输至存储器的读写命令进行地址信息统计,获得存储器中各bank的存储状态信息;

9、基于所有bank的所述存储活跃程度对所有bank进行活跃程度判断,获得判断结果;

10、基于所述判断结果确定待刷新bank及其优先级。

11、在其中一个实施例中,基于待刷新bank的存储状态信息、请求队列状态信号和预设计数阈值生成待刷新bank的存储刷新命令,包括:

12、对请求队列状态信号进行判断,获得信号判断结果;

13、当信号判断结果为请求队列状态信号是非空信号,从请求队列中获取存储刷新请求;

14、对待刷新bank进行状态分析,获得状态分析结果;其中,状态分析结果包括待刷新bank处于空闲状态和待刷新bank处于非空闲状态;

15、当待刷新bank处于空闲状态时,基于待刷新bank的存储bank地址信息和存储刷新请求生成待刷新bank的存储刷新命令。

16、在其中一个实施例中,在对所述待刷新bank进行状态分析,获得状态分析结果之后,该方法还包括:

17、当待刷新bank处于非空闲状态时,基于请求队列状态信号和预设计数阈值生成预充电请求;

18、根据预充电请求对待刷新bank进行状态重置,获得重置后bank;

19、基于请求队列状态信号和预设计数阈值生成重置后存储单元的存储刷新命令;

20、基于存储刷新命令对重置后bank进行刷新操作,获得刷新后bank。

21、在其中一个实施例中,基于待刷新bank的存储状态信息、请求队列状态信号和预设计数阈值生成待刷新bank的存储刷新命令,还包括:

22、获取当前请求间隔时长;

23、将当前请求间隔时长与请求生成间隔阈值进行比较,获得间隔比较结果;

24、当间隔比较结果为当前请求间隔时长达到请求生成间隔阈值,向请求队列写入存储刷新请求。

25、在其中一个实施例中,该方法还包括:

26、在存储控制器复位释放后,基于第一预设循环阈值和第一循环计数值生成触发信号;

27、在获得触发信号后,基于第二预设循环阈值和第二循环计数值生成存储刷新请求,并将存储刷新请求写入请求队列中。

28、第二方面,本技术还提供了一种存储控制器流量感知刷新装置,包括:

29、统计筛选模块,用于在读写命令写入命令队列之后,对命令队列的所有待执行命令中存储bank地址信息进行数据统计,获得所有bank的访问频率即其对应的存储活跃程度;

30、仲裁判断模块,用于根据所有bank对应的存储活跃程度和存储状态信息对所有bank进行仲裁判断,获得待刷新bank及其优先级;

31、命令生成模块,基于待刷新bank的存储状态信息、请求队列状态信号和预设计数阈值生成待刷新bank的存储刷新命令;

32、刷新执行模块,用于基于所述待刷新bank的优先级和存储刷新命令对待刷新bank进行刷新操作,获得刷新后bank。

33、第三方面,本技术还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

34、在读写命令写入命令队列之后,对命令队列的所有待执行命令中存储bank地址信息进行数据统计,获得所有bank的访问频率即其对应的存储活跃程度;

35、根据所有bank对应的存储活跃程度和存储状态信息对所有bank进行仲裁判断,获得待刷新bank;

36、基于待刷新bank的存储状态信息、请求队列状态信号和预设计数阈值生成待刷新bank的存储刷新命令;

37、基于所述待刷新bank的优先级和存储刷新命令对待刷新bank进行刷新操作,获得刷新后bank。

38、第四方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

39、在读写命令写入命令队列之后,对命令队列的所有待执行命令中存储bank地址信息进行数据统计,获得所有bank的访问频率即其对应的存储活跃程度;

40、根据所有bank对应的存储活跃程度和存储状态信息对所有bank进行仲裁判断,获得待刷新存储单元;

41、基于待刷新bank的存储状态信息、请求队列状态信号和预设计数阈值生成待刷新bank的存储刷新命令;

42、基于所述待刷新bank的优先级和存储刷新命令对待刷新bank进行刷新操作,获得刷新后bank。

43、第五方面,本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

44、在读写命令写入命令队列之后,对命令队列的所有待执行命令中存储bank地址信息进行数据统计,获得所有bank的访问频率即其对应的存储活跃程度;

45、根据所有bank对应的存储活跃程度和存储状态信息对所有bank进行仲裁判断,获得待刷新bank;

46、基于待刷新bank的存储状态信息、请求队列状态信号和预设计数阈值生成待刷新bank的存储刷新命令;

47、基于所述待刷新bank的优先级和存储刷新命令对待刷新bank进行刷新操作,获得刷新后bank。

48、上述存储控制器流量感知刷新方法、装置、计算机设备、存储介质和计算机程序产品,对写入命令队列中的待执行命令的存储bank地址信息进行统计以得到需要读写数据的bank以及待被调用bank的存储活跃程度,同时还基于发送存储器的命令以记录各bank的状态,以bank的存储状态和活跃程度挑选待刷新bank,在经过对该待刷新bank刷新过后,再次执行刷新操作时间,除了考虑存储活跃程度和bank的状态,还需要基于预设计数阈值、请求队列及其对应的请求队列状态信号,通过对各bank的存储活跃程度灵活调控bank的刷新顺序,同时还通过请求队列弹性调整刷新间隔,以提高刷新决策的适应性,并且有效避免读写访问被刷新操作中断的概率,提高系统访存的性能。

本文地址:https://www.jishuxx.com/zhuanli/20240731/185633.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。