DDR存储器频率调整方法、计算机装置及计算机可读存储介质与流程

文档序号:28809656发布日期:2022-02-09 03:34阅读:511来源:国知局
DDR存储器频率调整方法、计算机装置及计算机可读存储介质与流程
ddr存储器频率调整方法、计算机装置及计算机可读存储介质
技术领域
1.本发明涉及电子设备的ddr存储器频率管理的技术领域,具体地,是一种ddr存储器频率调整方法以及实现这种方法的计算机装置、计算机可读存储介质。


背景技术:

2.双倍速率同步动态随机存储器也称为ddr存储器,是一种广泛应用在电子设备的存储器,由于ddr存储器运行过程中存在较大的功耗,对于小型的片上系统而言,ddr存储器运行时所占用的功耗在系统的总功耗中占比较大,因此,降低ddr存储器的功耗成为降低片上系统总功耗的一个重要方式。
3.通常,ddr存储器所消耗的功耗与ddr存储器的运行频率相关,即ddr存储器的运行频率较高时,其功耗较大,因此,降低ddr存储器功耗的一个重要手段是降低ddr存储器的运行频率。例如,在某些应用场景下,如果对ddr存储器的带宽要求不高时,可以合理调整ddr存储器的运行频率以实现降低ddr存储器功耗的目的。
4.由于片上系统运行过程中,各硬件设备的运行状态是动态的,因此需要动态的对ddr存储器的运行频率进行调整以满足硬件设备的运行需求,又尽可能的降低ddr存储器的运行频率。传统的linux内核ddr存储器的调频策略采用对已经发生时刻的ddr存储器的带宽进行采样,并据此预估未来时刻系统ddr存储器带宽需求的方法。这种方法有如下缺陷:第一,这种方法从原理上看是一种滞后的策略,它必须在高带宽场景已经发生的情况下才能感知到系统的高带宽需求,之后才发起升频动作,所以系统卡顿现象难以避免。第二,使用已经过去的带宽表现来预估未来,用老经验预测新问题,存在精确度差的缺陷,性能需求和带宽供给不匹配,系统卡顿和功耗浪费现象无法避免。


技术实现要素:

5.本发明的第一目的是提供一种能够有效调节ddr存储器运行频率并能够有效避免系统卡顿的ddr存储器频率调整方法。
6.本发明的第二目的是提供一种实现上述ddr存储器频率调整方法的计算机装置。
7.本发明的第三目的是提供一种实现上述ddr存储器频率调整方法的计算机可读存储介质。
8.为实现本发明的第一目的,本发明提供的ddr存储器频率调整方法包括获取当前传输事务所需要的带宽增量值,并获取当前的实时带宽值,判断带宽增量值以及实时带宽值的总和与ddr存储器当前频率的理论总带宽之间的比值是否超过预设的带宽占比上限阈值,如是,根据带宽增量值以及实时带宽值的总和计算所需要升频的频率值,并且将ddr存储器的运行频率上调。
9.由上述方案可见,本发明通过提前计算当前传输事务所需要的带宽增量值,也就是提前预测当前传输事物需要额外增加的带宽量,并且根据额外证据的带宽量来动态的调节ddr存储器的频率,从而使得ddr存储器的频率满足传输事物的要求。由于通过提前计算
当前传输事物需要额外增加的带宽量,能够有效避免系统运行时因ddr存储器带宽不足而引起的卡顿现象。
10.一个优选的方案是,根据带宽增量值以及实时带宽值的总和计算所需要升频的频率值包括:根据带宽增量值以及实时带宽值的总和计算所需要升频的频率值对应的第一目标频点,将ddr存储器的运行频率上调至第一目标频点。
11.由此可见,第一目标频点对应的频率值能够满足当前传输事物的带宽需求,能够有效提升ddr存储器的数据传输速度,避免系统卡顿的情况发生。
12.进一步的方案是,将ddr存储器的运行频率上调包括:获取调频锁,将ddr存储器的运行频率上调至第一目标频点后释放调频锁。
13.可见,通过获取调频锁后对频率进行调整,并且在频率调整后马上释放调频锁,能够确保在不需要对频率进行调整时,ddr存储器运行频率保持稳定。
14.更进一步的方案是,将ddr存储器的运行频率上调后,判断当前的传输事务是否执行完毕,如是,则使能降频流程。优选的,获取当前传输事务所需要的带宽增量值后,关闭降频流程。
15.由此可见,在升频前关闭降频流程,并且在当前传输事务结束后马上使能降频流程,可以避免ddr存储器不必要的升频,以节省ddr存储器消耗的功率。
16.一个优选的方案是,在降频流程下,判断计算当前的实时带宽占比是否低于预设的带宽占比下限阈值,如是,根据当前的实时带宽占比计算降频后的第二目标频点,并将ddr存储器的运行频率下调至第二目标频点。
17.可见,在实时带宽占比较低时,及时将ddr存储器的运行频率降低,可以减少ddr存储器所消耗的功率。
18.更进一步的方案是,该方法还包括:判断计算当前的实时带宽占比是否高于预设的带宽占比上限阈值,如是,根据当前的实时带宽占比计算需要升频的第三目标频点,并将ddr存储器的运行频率上调至第三目标频点。
19.由此可见,如果实时带宽占比较高,则系统自动上调ddr存储器的运行频率,能够避免系统出现卡顿的情况。
20.为实现上述的第二目的,本发明提供的计算机装置包括处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述ddr存储器频率调整方法的各个步骤。
21.为实现上述的第三目的,本发明提供计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述ddr存储器频率调整方法的各个步骤。
附图说明
22.图1是应用本发明ddr存储器频率调整方法实施例的系统框图。
23.图2是本发明ddr存储器频率调整方法实施例中计算实时带宽的示意图。
24.图3是本发明ddr存储器频率调整方法实施例中ddr存储器频率调整时初始化的流程图。
25.图4是本发明ddr存储器频率调整方法实施例中后台降频流程图。
26.图5是本发明ddr存储器频率调整方法实施例的升频程图。
27.图6是本发明ddr存储器频率调整方法实施例中ddr主机管理升频的流程图。
28.以下结合附图及实施例对本发明作进一步说明。
具体实施方式
29.本发明的ddr存储器频率调整方法应用在电子设备上,例如应用在行车记录仪、机顶盒等电子设备上,以对ddr存储器的运行频率进行动态的调整,以避免系统运行出现卡顿的情况,同时能够最大限度的降低ddr存储器的功耗。优选的,电子设备设置有处理器以及存储器,存储器上存储有计算机程序,处理器通过执行该计算机程序实现ddr存储器频率调整方法。
30.ddr存储器频率调整方法实施例:
31.本实施例应用在电子设备上,该电子设备具有ddr存储器,本实施例主要用于对ddr存储器的运行频率进行调整,通过在发起传输事务前估算未来ddr存储器的带宽需求增量,并据此结合当前时刻ddr存储器的实时带宽精确计算所需的ddr带宽,避免系统运行时出现卡顿的现象,也能够避免ddr存储器的运行频率过高而导致功耗过大的问题。
32.参见图1,本实施例的ddr存储器频率调整方法通过一个调频装置实现,该调频装置具有后台频率管理模块11、降频锁管理模块12、实时带宽采集模块13、带宽增量计算模块14、ddr主机(ddr master)带宽管理模块15、带宽上下限阈值管理模块16、调频锁管理模块17、调频执行模块18以及中断管理模块19。
33.后台频率管理模块11用于对ddr存储器的运行频率进行管理,例如根据实时带宽的使用情况动态调整ddr存储器的运行频率。当ddr存储器的实时带宽占比较低的情况下,降低ddr存储器的运行频率,例如通过降频锁管理模块12获取降频锁,并且由调频执行模块18执行降频操作。如果ddr存储器的实时带宽占比较高,则需要提升ddr存储器的运行频率,例如通过中断管理模块19发送中断升频请求,由调频锁管理模块17获取调频锁,并且由调频执行模块18执行升频操作。
34.ddr主机带宽管理模块15根据当前传输事务,通过带宽增量计算模块14计算当前一笔传输事务所需要的带宽增加,同时,由实时带宽采集模块13用于实时采集当前ddr存储器的带宽,通过与带宽上下限阈值管理模块16所记录的当前频点下ddr存储器运行频率的理论上限阈值、下限阈值进行比较,并以此计算当前传输事务所需要的带宽,即最小运行频率,同时确定相应的频点,如果需要进行调频,通过调频锁管理模块17获取调频锁,并由调频执行模块18进行调频操作。
35.本实施例主要通过三种方式实现对ddr存储器的运行频率进行调整,具体的,是通过三条运行路径进行管理。第一种方式是通过后台频率管理流程实现频率管理,具体的,由后台频率管理模块11在系统带宽较为空闲的情况下,也就是满足降频使能的条件时,降低ddr存储器的运行频率,从而实现降低系统功耗的目的。第一种方式的运行路径如图1中的a流程所示,由后台频率管理模块11通过降频锁管理模块12获取降频锁后,并通过调频锁管理模块17获取调频锁,再通过调频执行模块18进行调频操作。
36.第二种方式是中断升频流程,例如在ddr存储器的运行频率过低的时候,例如当前传输事务带宽需求较高,但当前ddr存储器运行频率较低的情况下,由中断管理模块19发送一个中断升频请求,并由通过调频锁管理模块17获取调频锁,再通过调频执行模块18实现
快速升频的操作。第二种方式的运行路径如图1中的b流程所示。
37.第三种方式是ddr主机带宽管理流程,由ddr主机带宽管理模块15请求带宽增量计算模块14对即将发生的带宽增量进行计算,如果系统当前的带宽无法满足带宽增量的需求时,及时对ddr存储器的运行频率进行调频,以提前满足未来场景的带宽预算,避免系统卡顿现象发生。第二种方式的运行路径如图1中的c流程所示,一旦带宽增量计算模块14计算确认当前带宽不足以满足未来场景的需求时,由调频锁管理模块17获取调频锁,再通过调频执行模块18实现快速升频的操作。优选的,在升频的过程中关闭后台降频流程,避免对正在进行的高带宽场景运行造成干扰。
38.下面结合图2对本实施例的实时带宽计算过程进行说明。本实施例预先设置一个观察窗口时间周期长度t,针对每一个观察窗口时间周期,分别计算该观察窗口内ddr存储器的数据传输时长t。例如,对于观察窗口时间周期t1,共有2次数据传输,第一次数据21的实际传输时间是t11,第二次数据22的实际传输时间是t12,则观察窗口时间周期长度t1内ddr存储器的数据传输时长t1是时间t11与时间t12之和。以此类推,可以计算出其他观察窗口时间周期t2、t3的ddr存储器的数据传输时长t2、t3等。
39.ddr存储器运行时,其运行频率将设置在某一个固定的频点上,例如fn(n=1、2、3、4、5

)表示ddr存储器的调频频点,各个频点随n的数值增加而逐档升高。相应的,在每一频点下,均有相应的ddr总带宽,例如bn(n=1、2、3、4、5

)表示各个频点fn(n=1、2、3、4、5

)对应的总带宽,总带宽随n的数值增加而逐档升高。
40.另外,假设ddr存储器当前运行频率为f
cur
,当前频点下的ddr理论总带宽为b
cur
,w为ddr存储器的位宽,p
up
和p
down
分别表示预先设定的带宽占比上限阈值和带宽占比下限阈值,b
delta
表示当前场景所需带宽增量。则根据ddr带宽原理有如下公式成立:
41.bn=(fn×w×
2)/8
ꢀꢀꢀꢀꢀꢀꢀꢀ
(式1)
42.根据式1,可以计算出ddr存储器的各个频点f1/f2/f3/f4/f5对应的各频点下的理论总带宽b1/b2/b3/b4/b5。
43.假设系统初始化阶段设置实时带宽观察窗口长度t,并且需要在每个观察窗口结束时更新该窗口内实际发生数据传输的时长t,因此可以得到如下公式:
44.t/t=b
rel
/b
cur
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式2)
45.因此可以推导出以下公式:
46.b
rel
=b
cur
×
(t/t)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式3)
47.可见,根据公式3可知,根据当前频点下的理论总带宽b
cur
、观察窗口内数据传输时长t与观察窗口时间周期长度t即可计算出当前测量窗口的实时带宽b
rel

48.参见图3,对ddr存储器的运行频率进行初始化时,首先执行步骤s1,设置ddr存储器的带宽占比上限阈值p
up
和带宽占比下限阈值p
down
,然后执行步骤s2,设置ddr存储器带宽观察窗口时间周期长度t,接着,执行步骤s3,初始化降频锁为允许降频的状态,并执行步骤s4,使能ddr存储器带宽上限阈值中断,最后,执行步骤s5,初始化调频锁。可见,初始化后,ddr存储器的运行频率可以降频,并且可以接收升频中断请求,可以在接收到升频中断请求信号后执行升频的操作。
49.下面结合图4介绍后台降频流程。首先,执行步骤s11,判断当前的状态是否为运行降频的状态,例如当前系统设置是否为允许降频状态,如果是,则执行步骤s12,否则,则继
续判断。步骤s12中,判断ddr存储器当前的实时带宽占比是否低于带宽占比下限阈值,其中,当前的实时带宽占比是当前测量窗口的实时带宽b
rel
与当前频点下的ddr理论总带宽b
cur
之间的比值。因此,步骤s12是判断b
rel
/b
cur
《p
down
是否成立,也就是判断t/t《p
down
是否成立,如果判断结果为是,说明当前频点下总带宽富裕,可以下调ddr存储器的运行频率以节省系统功耗。此时,执行步骤s13,从当前频点下的ddr理论总带宽b
cur
开始逐次向下寻找,找到第一个满足b
rel
/bn》p
down
的第三目标带宽bn,第三目标带宽bn对应的频点fn即是需要降频的第三目标频点。
50.然后,执行步骤s14,通过调频锁关联模块17申请调频锁,并执行步骤s15,通过调频执行模块18执行降频操作,最后执行步骤s16,释放调频锁。
51.参见图5,ddr存储器运行时,需要获取当前的实时带宽值,即执行步骤s21,并执行步骤s22,根据当前的实时带宽值判断是否需要升频,例如判断ddr存储器当前的实时带宽占比是否高于带宽占比上限阈值,即判断是否满足b
rel
/b
cur
》p
up
的条件,也就是判断是否满足t/t》p
up
的情况,如果步骤s22的判断结果为是,说明当前频率下,ddr存储器的带宽紧张,需要上调ddr存储器的运行频率以增加总带宽供给。此时,执行步骤s23,从当前频点下的ddr理论总带宽b
cur
开始逐次向上寻找,找到第一个满足bn/b
cur
《p
up
的第二目标带宽bn,此时,与第二目标带宽bn对应的频点fn就是需要升频的第二目标频点。
52.然后,执行步骤s24,通过调频锁关联模块17申请调频锁,并执行步骤s25,通过调频执行模块18执行升频操作,最后执行步骤s26,释放调频锁。
53.下面结合图6介绍由ddr主机带宽管理模块15执行的主动发起的提前升频流程。首先,执行步骤s31,由带宽增量计算模块14计算当前一笔传输事务所需要的带宽增量,例如根据当前一笔传输事务所需要的传输的数据量以及当前的实时带宽值计算当前的一笔传输事务所需要的带宽增量,具体的,根据当前一笔传输事务所需要的传输的数据量以及所需要传输的时间,可以计算出理论上需要的带宽值,利用该理论上需要的带宽值与当前的实时带宽值的差值作为当前一笔传输事务所需要的带宽增量值b
delta

54.然后执行步骤s32,关闭后台降频流程,此时,步骤s11判断当前是否允许降频时,判断结果为否。然后,执行步骤s33,获取当前的实时带宽值b
rel
以及当前频点下的ddr理论总带宽b
cur
,然后执行步骤s34,判断是否需要升频。具体的,判断带宽增量值b
delta
以及实时带宽值b
rel
的总和与ddr存储器当前频率的理论总带宽b
cur
之间的比值是否超过预设的带宽占比上限阈值p
up
,即判断(b
rel
+b
delta
)/b
cur
》p
up
是否成立,如是,说明当前频率下未来带宽供给紧张,需要上调ddr存储器的运行频率增加总带宽供给。
55.此时,执行步骤s35,从当前频点下的ddr理论总带宽b
cur
开始逐次向上寻找,找到第一个满足(b
rel
+b
delta
)/b
cur
《p
up
的第一目标带宽bn,则与第一目标带宽bn对应的频点fn就是需要升频的第一目标频点。
56.然后,执行步骤s36,通过调频锁关联模块17申请调频锁,并执行步骤s37,通过调频执行模块18执行升频操作,并执行步骤s38,释放调频锁。接着,执行步骤s39,判断当前一笔传输事务是否执行完毕,如是,执行步骤s40,使能后台降频程序,此时,系统运行ddr存储器降频。
57.在ddr主机带宽管理模块15执行的主动发起的提前升频的过程中,通过关闭后台降频流程,能够避免在主动升频过程中触发降频流程而导致运行混乱的问题,并且在当前
一笔传输事务结束后,使能降频流程,能够恢复ddr存储器的降频操作,以确保ddr存储器能够根据实际运行需要灵活调整频率以降低系统功耗。
58.可见,本实施例能够在发起传输事务前提前估算本事务的带宽需求增量,系统根据此需求增量提前提供对应的带宽供给,避免了系统发生卡顿的情况,同时又能够在最小功耗代价前提下精确满足系统带宽需求,保证了系统不卡顿,同时满足了降低功耗和提升性能两方面的需求。
59.计算机装置实施例:
60.本实施例的计算机装置可以是行车记录仪或者机顶盒等电子设备,该计算机装置包括有处理器、存储器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述ddr存储器频率调整方法的各个步骤。
61.例如,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明的各个模块。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
62.本发明所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
63.存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
64.计算机可读存储介质:
65.上述计算机装置所存储的计算机程序如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述ddr存储器频率调整方法的各个步骤。
66.其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管
辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
67.最后需要强调的是,本发明不限于上述实施方式,例如预先设定的ddr存储器多个频点数量、对应频率的变化,或者设定的带宽占比上限阈值、下限阈值的变化等,这些改变也应该包括在本发明权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1