基于深度学习的DRAM刷新方法和装置与流程

文档序号:31718808发布日期:2022-10-04 22:41阅读:75来源:国知局
基于深度学习的DRAM刷新方法和装置与流程
基于深度学习的dram刷新方法和装置
技术领域
1.本发明涉及存储器技术领域,尤其涉及一种基于深度学习的dram刷新方法和装置。


背景技术:

2.dram(dynamic random access memory,动态随机存取存储器), 由大量的存储单元构成,每个存储单元又包含了晶体管和电容用来保存单个比特位的数据。正是得益于这种简单的构造,dram得以大规模地生产和应用。由于晶体管存在漏电现象,导致电容上所存储的电荷数量并不足以正确的判别数据从而导致数据毁损,因此,dram是一种易失性存储器,需要持续供电才能为其中的电容存储足够的电荷。然而,由于晶体管的特性,电容的漏电流会随着温度的变化而变化,固定周期地进行刷新时,若刷新密度(即单位时间内dram刷新的次数)跟不上电容漏电的速度,则会导致电容电荷低于阈值,从而造成数据丢失。
3.为了解决上述数据丢失的问题,需要频繁地刷新dram以补充流失的电容电荷。当前,多数dram设计厂商会采取较高的固定刷新密度频繁控制dram进行刷新,或者对两至三个温度区间采用不同的固定刷新密度(例如10摄氏度-30摄氏度的温度区间对应刷新密度p1,30摄氏度-60摄氏度的温度区间对应刷新密度p2,60摄氏度以上的温度区间对应刷新密度p3)进行dram刷新,抑或从刷新指令方面作优化。
4.然而,上述刷新方案存在一些问题与局限性。其中,采用固定刷新密度(无论是采用单一的固定刷新密度或是多个温度区间对应多个固定刷新密度)仍存在在部分时刻刷新密度过高,从而造成不必要的功耗、影响dram执行任务的问题,也存在部分时刻刷新密度过低,从而造成部分数据未能及时得到纠正的问题。另外,目前的dram刷新技术的控制粒度为对存储器上所有的颗粒同时进行刷新,控制粒度较大,灵活性有所欠缺,从而导致部分颗粒仍然存在刷新密度过高或过低的问题。因此,需要寻找一种能够兼顾降低dram功耗与确保存储数据不丢失的刷新技术。


技术实现要素:

5.本发明提供一种基于深度学习的dram刷新方法和装置,用以解决现有技术中部分时刻刷新密度过高,从而造成不必要的功耗,部分时刻刷新密度过低,从而造成部分数据未能及时得到纠正的缺陷。
6.本发明提供一种基于深度学习的dram刷新方法,包括:到达当前预测时间点时,确定待控制dram中内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度;利用刷新密度预测模型,基于所述内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,预测所述内存颗粒的目标刷新密度,以基于所述内存颗粒的目标刷新密度控制所述内存颗粒的刷新频率;其中,所述刷新密度预测模型是基于样本颗粒的样本颗粒密度、样本实时运行频
率、样本实时颗粒温度以及所述样本颗粒的目标刷新密度训练得到的,构建了同一样本颗粒的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度与目标刷新密度之间的映射关系。
7.根据本发明提供的一种基于深度学习的dram刷新方法,所述刷新密度预测模型是基于如下步骤构建得到的:获取样本dram中各个样本颗粒在任一预设外部运行环境下的样本颗粒密度、样本实时运行频率、样本实时颗粒温度;依次基于各个由小到大排序的测试刷新密度,在预设时间段内对所述样本颗粒进行刷新,直至所述样本颗粒在基于当前测试刷新密度进行刷新时多个目标存储区域在刷新后的数据与所述多个目标存储区域中写入的初始数据保持一致,并确定所述当前测试刷新密度为所述样本颗粒在所述任一预设外部运行环境下的目标刷新密度;基于所述样本颗粒在同一预设外部运行环境下的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及目标刷新密度,对所述刷新密度预测模型的模型参数进行修正。
8.根据本发明提供的一种基于深度学习的dram刷新方法,所述基于所述样本颗粒在同一预设外部运行环境下的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及目标刷新密度,对所述刷新密度预测模型的模型参数进行修正,具体包括:基于所述刷新密度预测模型当前的模型参数,预测所述样本颗粒在同一预设外部运行环境下的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度对应的刷新密度预测值;基于所述刷新密度预测值以及所述样本颗粒在同一预设外部运行环境下的目标刷新密度之间的差异,对所述刷新密度预测模型的模型参数进行修正。
9.根据本发明提供的一种基于深度学习的dram刷新方法,所述利用刷新密度预测模型,基于所述内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,预测所述内存颗粒的目标刷新密度,之后还包括:基于所述内存颗粒在当前预测时间点的实时运行频率,确定下一预测时间点,以再次获取所述内存颗粒在下一预测时间点的实时运行频率以及实时颗粒温度;其中,所述内存颗粒在当前预测时间点的实时运行频率越高,所述下一预测时间点与所述当前预测时间点之间的间隔越短。
10.根据本发明提供的一种基于深度学习的dram刷新方法,所述基于所述内存颗粒在当前预测时间点的实时运行频率,确定下一预测时间点,具体包括:若所述内存颗粒在当前预测时间点的实时运行频率与在上一预测时间点的实时运行频率之间的差异大于等于预设频率差值,则增大所述内存颗粒当前对应的预测频率,并基于增大后的预测频率确定所述下一预测时间点;否则,基于所述内存颗粒当前对应的预测频率,确定所述下一预测时间点。
11.根据本发明提供的一种基于深度学习的dram刷新方法,所述利用刷新密度预测模型,基于所述内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,预测所述内存颗粒的目标刷新密度,具体包括:基于所述内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,构建输入参数向量;
对所述输入参数向量进行多次特征提取,得到所述输入参数向量对应的隐层特征向量;基于所述隐层特征向量进行刷新密度预测,得到所述内存颗粒的目标刷新密度。
12.本发明还提供一种基于深度学习的dram刷新装置,包括:参数获取单元,用于在到达当前预测时间点时,确定待控制dram中内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度;刷新密度预测单元,用于利用刷新密度预测模型,基于所述内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,预测所述内存颗粒的目标刷新密度,以基于所述内存颗粒的目标刷新密度控制所述内存颗粒的刷新频率;其中,所述刷新密度预测模型是基于样本颗粒的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及所述样本颗粒的目标刷新密度训练得到的,构建了同一样本颗粒的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度与目标刷新密度之间的映射关系。
13.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于深度学习的dram刷新方法。
14.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于深度学习的dram刷新方法。
15.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于深度学习的dram刷新方法。
16.本发明提供的基于深度学习的dram刷新方法和装置,通过获取待控制dram中各个内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度作为预测该内存颗粒目标刷新密度的决定性因素,可以从维持数据有效性、保证刷新过程有效性以及降低功耗等多个角度共同确定最合适的目标刷新密度,从而兼顾数据不丢失以及降低功耗这两个性能目标,且预测过程中利用基于少量样本训练好的刷新密度预测模型,运用其通过训练过程构建的同一样本颗粒的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度与目标刷新密度之间的映射关系,进行刷新密度预测,克服了各个影响因素与目标刷新密度之间的关系并不明确、难以利用现有数学工具对其进行描述,且各个影响因素在预测目标刷新密度时的影响程度也不明确的难题,能够从内存颗粒的角度保证及时对该内存颗粒进行刷新、数据不丢失,又能够尽可能地降低刷新过程造成的功耗、降低对内存颗粒吞吐性能的负面影响,同时兼顾了刷新的准确性、及时性以及低功耗水平等性能目标。
附图说明
17.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明提供的基于深度学习的dram刷新方法的流程示意图;图2是本发明提供的刷新密度预测模型方法的流程示意图;
图3是本发明提供的模型参数修正方法的流程示意图;图4是本发明提供的刷新密度预测模型运行方法的流程示意图;图5是本发明提供的刷新密度预测模型的结构示意图;图6是本发明提供的基于深度学习的dram刷新装置的结构示意图;图7是本发明提供的电子设备的结构示意图。
具体实施方式
19.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.为了解决dram数据丢失的问题,多数dram设计厂商会采取较高的固定刷新密度频繁控制dram进行刷新,或者对两至三个温度区间采用不同的固定刷新密度进行dram刷新。然而,采用固定刷新密度仍存在在部分时刻刷新密度过高,从而造成不必要的功耗、影响dram执行任务的问题,也存在部分时刻刷新密度过低,从而造成部分数据未能及时得到纠正的问题。另外,目前的dram刷新技术的控制粒度为对存储器上所有的颗粒同时进行刷新,控制粒度较大,灵活性有所欠缺,从而导致部分颗粒仍然存在刷新密度过高或过低的问题。
21.对此,本发明提供一种基于深度学习的dram刷新方法。图1是本发明提供的基于深度学习的dram刷新方法的流程示意图,如图1所示,该方法包括:步骤110,到达当前预测时间点时,确定待控制dram中内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度;步骤120,利用刷新密度预测模型,基于所述内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,预测所述内存颗粒的目标刷新密度,以基于所述内存颗粒的目标刷新密度控制所述内存颗粒的刷新频率;其中,所述刷新密度预测模型是基于样本颗粒的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及所述样本颗粒的目标刷新密度训练得到的,构建了同一样本颗粒的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度与目标刷新密度之间的映射关系。
22.此处,当前预测时间点为预先设置的需要进行刷新密度更新的时刻,以获取更适应dram当前状态、更准确的刷新密度,从而保证不丢失数据且不耗费过多的功耗。当到达当前预测时间点时,可以获取待控制dram中各个内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,并存储到指定寄存器中。其中,各个内存颗粒为待控制dram中的内存芯片,每个内存颗粒中均包含有大量的存储单元;内存颗粒的颗粒密度为该内存颗粒中单位面积内的存储单元的数量;内存颗粒的实时运行频率是对应内存颗粒在正常运行执行相应任务过程中在当前预测时间点获取的该内存颗粒的运行频率;实时颗粒温度是对应内存颗粒在正常运行执行相应任务过程中在当前预测时间点获取的该内存颗粒的内部温度。
23.将任一内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度输入至预先训练好的刷新密度预测模型,利用该模型预测该内存颗粒的目标刷新密度,以基于该目标刷新密度控制该内存颗粒的刷新频率。其中,目标刷新密度决定了该内存颗粒相邻两次刷新过程
之间的时间间隔。此处,将内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度作为预测该内存颗粒目标刷新密度的决定性因素,可以获取更适合该内存颗粒当前状态的目标刷新密度,从而兼顾数据不丢失以及降低功耗这两个性能目标。
24.具体而言,内存颗粒的颗粒密度决定了该内存颗粒进行一次刷新所需的刷新时间,颗粒密度越大则一次刷新所耗费的时间将越长,在确定该内存颗粒的刷新密度时,则可以适当降低其刷新密度,以避免在进行新一次刷新时上一次的刷新仍未执行完毕的情形。内存颗粒的实时运行频率由该内存颗粒当前负责执行的任务决定,例如,对于io密集型任务其吞吐需求更高,负责执行该任务的内存颗粒的实时运行频率也相应更高,而内存颗粒的实时运行频率作为内存颗粒的本身属性,其影响着执行当前读写任务的吞吐性能。另外,它也影响着刷新命令的一个关键指标 trfc (row refresh cycle time, 它表示行单元刷新需要的时钟周期数)。一般而言,内存颗粒会存在一些特定点的运行频率,trfc会被设置为某一时钟周期数。随着运行频率的提升,刷新延迟时间将随之降低,可以承受更高的刷新密度,反之,随着运行频率的降低,刷新延迟时间则升高,可以承受的刷新密度也较低。可见,内存颗粒的实时运行频率影响着两次刷新操作之间的时间间隔,从而影响刷新密度。另外,也需要综合考虑刷新密度对吞吐性能的影响,选择当前运行频率下最合适的刷新密度,因此在预测目标刷新密度时需要考虑实时运行频率这个因素。内存颗粒的实时颗粒温度由于会影响该内存颗粒中电容的电荷流失速率,实时颗粒温度越高,电荷流失速率越快,因而需要更密集地进行刷新以保持数据有效性。因此,上述三个影响因素可以从维持数据有效性、保证刷新过程有效性以及降低功耗等多个角度共同确定最合适的目标刷新密度。
25.具体到该如何根据上述三个影响因素预测该内存颗粒的目标刷新密度,考虑到各个影响因素与目标刷新密度之间的关系并不明确、难以利用现有数学工具对其进行描述,且各个影响因素在预测目标刷新密度时的影响程度也不明确,可能对于不同dram、不同内存颗粒而言,上述影响因素的影响程度均不相同。因此,可以利用深度学习技术,预先训练一个刷新密度预测模型,以自主学习和构建上述关系以及各个影响因素在整个预测过程中的影响程度。其中,刷新密度预测模型可以基于现有深度学习网络结构(例如bp神经网络)构建得到,本发明实施例对此不作具体限定。
26.刷新密度预测模型的训练过程中,可以基于样本颗粒的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及该样本颗粒在同一外部运行环境下(包括外部温度、执行的任务等)的目标刷新密度对该刷新密度预测模型中各网络层的参数进行调整,使得模型的预测结果逐渐接近相应的目标刷新密度。训练完毕后,刷新密度预测模型中各网络层的激活函数以及网络层的参数共同构成同一样本颗粒的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度与目标刷新密度之间的映射关系。
27.可见,在本发明实施例中是以待控制dram的各个内存颗粒为控制对象,从内存颗粒这一基础存储单元进行细粒度地刷新密度控制,可以大大提升dram刷新的灵活性。
28.具体而言,考虑到不同内存颗粒即使在同一时刻的电荷流失量也可能存在差异,若是统一对整个dram进行数据刷新,可能部分内存颗粒的电荷流失量已经较大、数据电平已经无法辨认,即使再刷新也会造成数据丢失。因此,针对不同内存颗粒,本发明实施例均进行独立的刷新密度预测,根据各自获取的对应内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,运用刷新密度预测模型在训练过程中构建的同一样本颗粒的样本颗粒密度
x1、样本实时运行频率x2以及样本实时颗粒温度x3与目标刷新密度y之间的映射关系(即(x1,x2,x3)

y),预测该内存颗粒的目标刷新密度,从而可以根据该内存颗粒自身的实际情况确定最适合当前状态的目标刷新密度,既可以保证及时对该内存颗粒进行刷新、数据不丢失,又可以尽可能地降低刷新过程造成的功耗、降低对内存颗粒吞吐性能的负面影响,同时兼顾了刷新的准确性、及时性以及低功耗水平等性能目标。
29.本发明实施例提供的方法,通过获取待控制dram中各个内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度作为预测该内存颗粒目标刷新密度的决定性因素,可以从维持数据有效性、保证刷新过程有效性以及降低功耗等多个角度共同确定最合适的目标刷新密度,从而兼顾数据不丢失以及降低功耗这两个性能目标,且预测过程中利用基于少量样本训练好的刷新密度预测模型,运用其通过训练过程构建的同一样本颗粒的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度与目标刷新密度之间的映射关系,进行刷新密度预测,克服了各个影响因素与目标刷新密度之间的关系并不明确、难以利用现有数学工具对其进行描述,且各个影响因素在预测目标刷新密度时的影响程度也不明确的难题,能够从内存颗粒的角度保证及时对该内存颗粒进行刷新、数据不丢失,又能够尽可能地降低刷新过程造成的功耗、降低对内存颗粒吞吐性能的负面影响,同时兼顾了刷新的准确性、及时性以及低功耗水平等性能目标。
30.基于上述实施例,如图2所示,所述刷新密度预测模型是基于如下步骤构建得到的:步骤210,获取样本dram中各个样本颗粒在任一预设外部运行环境下的样本颗粒密度、样本实时运行频率、样本实时颗粒温度;步骤220,依次基于各个由小到大排序的测试刷新密度,在预设时间段内对所述样本颗粒进行刷新,直至所述样本颗粒在基于当前测试刷新密度进行刷新时多个目标存储区域在刷新后的数据与所述多个目标存储区域中写入的初始数据保持一致,并确定所述当前测试刷新密度为所述样本颗粒在所述任一预设外部运行环境下的目标刷新密度;步骤230,基于所述样本颗粒在同一预设外部运行环境下的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及目标刷新密度,对所述刷新密度预测模型的模型参数进行修正。
31.具体地,在刷新密度预测模型的训练过程中,训练样本的获取是训练过程中的重要环节,获取的训练样本越准确,模型的训练效果更好,目标刷新密度的预测精度更高。其中,可以首先基于样本dram中设置的各类传感器以及描述文档获取样本dram中各个样本颗粒在任一预设外部运行环境下的样本颗粒密度、样本实时运行频率、样本实时颗粒温度。其中,可以通过改变样本dram外部运行温度(温度应当在正常运行标准的要求范围以内)调整样本实时颗粒温度,可以通过改变运行任务或者直接设定相关参数调整样本颗粒至预设的样本实时运行频率。另外,还可以根据实际应用场景设定多个测试刷新密度,并由小到大排列。
32.从最小的测试刷新密度开始,在向样本颗粒中的多个预设的目标存储区域写入初始的数据后,在预设时间段内对样本颗粒进行刷新,并判断该样本颗粒的多个目标存储区域中的数据在刷新后的数据与相应目标存储区域内写入的初始数据之间是否发生变化。
33.随后,增大测试刷新密度,并重复上述步骤,判断该样本颗粒在新的测试刷新密度
基础上进行刷新时多个目标存储区域中的数据在刷新后的数据与相应目标存储区域内写入的初始数据之间是否发生变化。若该样本颗粒在当前测试刷新密度基础上进行刷新时上述多个目标存储区域中的数据在在刷新后的数据与相应目标存储区域内写入的初始数据之间均保持一致,表明当前测试刷新密度已经足以满足该样本颗粒维持数据有效性的需求,且不会造成过高的功耗。因此,可以记录当前测试刷新密度作为该样本颗粒在该预设外部运行环境下的目标刷新密度。
34.通过上述方式获取准确的训练样本后,即可开始模型的实际训练过程。此过程中,可以基于样本颗粒在同一预设外部运行环境下的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及目标刷新密度,对刷新密度预测模型的模型参数进行修正,从而逐渐优化该模型的性能,直至模型收敛。
35.基于上述任一实施例,如图3所示,步骤230具体包括:步骤231,基于所述刷新密度预测模型当前的模型参数,预测所述样本颗粒在同一预设外部运行环境下的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度对应的刷新密度预测值;步骤232,基于所述刷新密度预测值以及所述样本颗粒在同一预设外部运行环境下的目标刷新密度之间的差异,对所述刷新密度预测模型的模型参数进行修正。
36.具体地,为了对模型参数进行修正,针对某一个训练样本(即样本颗粒在任一预设外部运行环境下的样本颗粒密度、样本实时运行频率、样本实时颗粒温度和目标刷新密度),可以先基于刷新密度预测模型当前的模型参数,预测该样本颗粒在该预设外部运行环境下的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度对应的刷新密度预测值。基于各个训练样本对应的刷新密度预测值以及目标刷新密度之间差异,计算模型误差。基于该模型误差对刷新密度预测模型的模型参数进行反向修正。其中,误差计算可以采用如下公式:其中,为模型误差,m为训练样本数量,为第i个训练样本的刷新密度预测值,为第i个训练样本的目标刷新密度。
37.刷新密度预测模型的模型参数可以采用如下公式进行反向修正:刷新密度预测模型的模型参数可以采用如下公式进行反向修正:其中,为层的第个神经元与第层的第个神经元之间的权重,表示为第层的神经元的偏置,为学习速率,取值范围为[0,1],此处可以取0.1。
[0038]
基于上述任一实施例,步骤120之后还包括:基于所述内存颗粒在当前预测时间点的实时运行频率,确定下一预测时间点,以再次获取所述内存颗粒在下一预测时间点的实时运行频率以及实时颗粒温度;其中,所述内存颗粒在当前预测时间点的实时运行频率越高,所述下一预测时间点与所述当前预测时间点之间的间隔越短。
[0039]
具体地,在上述任一实施例中,是在到达预设的预测时间点时才会开始获取待控制dram中内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度等三个影响因素,并利用刷新密度预测模型据此进行目标刷新密度预测,等到了下一个预测时间点时才会再次进行目标刷新密度预测。可见,在下一个预测时间点来临前,将会一直保持上述目标刷新密度进行刷新。然而,若在下一个预测时间点来临前,由于该内存颗粒的状态发生了变化,例如实时运行频率或者实时颗粒温度发生了较大变化,导致该内存颗粒中电荷流失速率加快,则当前的目标刷新密度可能无法满足维持数据有效性的目标,在下一次刷新前可能已经有部分存储单元的数据丢失。
[0040]
可见,为了维持内存颗粒中所有数据的有效性、避免数据丢失,预测时间点的设置或者说目标刷新密度更新的实时性也是关键因素。对此,通过分析得知内存颗粒当前执行的任务的吞吐量需求会对目标刷新密度更新的实时程度产生重要影响。其中,内存颗粒当前执行的任务的吞吐量需求越高,其在执行任务过程中的温度爬升速度越快,而内存颗粒的温度直接影响着其中存储单元的电容电荷流失速度,温度越高、电荷流失速度越快,则需要进行越密集的刷新操作以避免数据丢失,相应需要更频繁地进行目标刷新密度预测以及时调整目标刷新密度。而不同读写任务下,有不同吞吐量的需求,进而会产生不同运行频率的变化,考虑到在预测时获取实时颗粒温度等行为和运算也会产生一定功耗,为进一步降低功耗的同时还要保证预测的及时性,可以根据内存颗粒在当前预测时间点的实时运行频率的变化指导下一预测时间点的变化,以再次获取该内存颗粒在下一预测时间点的实时运行频率以及实时颗粒温度。其中,若该内存颗粒在当前预测时间点的实时运行频率变大,则下一预测时间点与当前预测时间点之间的间隔越短,即需要越快地进行下一次目标刷新密度的预测,从而提升刷新的有效性、保障数据不丢失;若该内存颗粒在当前预测时间点的实时运行频率变小,则下一预测时间点可以向后推迟,从而降低刷新功耗。
[0041]
基于上述任一实施例,所述基于所述内存颗粒在当前预测时间点的实时运行频率,确定下一预测时间点,具体包括:若所述内存颗粒在当前预测时间点的实时运行频率与在上一预测时间点的实时运行频率之间的差异大于等于预设频率差值,则增大所述内存颗粒当前对应的预测频率,并基于增大后的预测频率确定所述下一预测时间点;否则,基于所述内存颗粒当前对应的预测频率,确定所述下一预测时间点。
[0042]
具体地,若该内存颗粒在当前预测时间点的实时运行频率与在上一预测时间点的实时运行频率之间的差异小于预设频率差值,即该内存颗粒在这段时间内的实时运行频率变化不大,表明这段时间内该内存颗粒当前执行的任务的吞吐量需求也变化不大,较大概率不会导致该内存颗粒中电荷流失速率急剧加快,使得在下一次刷新前部分存储单元的数据丢失。因此,可以维持当前对应的预测频率,并基于当前的预测频率确定下一预测时间点。此时,下一预测时间点与当前预测时间点之间的时间间隔和当前预测时间点与上一预测时间点之间的时间间隔一致。
[0043]
若该内存颗粒在当前预测时间点的实时运行频率与在上一预测时间点的实时运行频率之间的差异大于等于预设频率差值,即该内存颗粒在这段时间内的实时运行频率变化较大,表明这段时间内该内存颗粒当前执行的任务的吞吐量需求也变化较大,可能会造成该内存颗粒中电荷流失速率急剧加快,从而使得在下一次刷新前部分存储单元的数据丢
失。因此,可以增大该内存颗粒当前对应的预测频率,并基于增大后的预测频率确定下一预测时间点。此时,下一预测时间点与当前预测时间点之间的时间间隔将小于当前预测时间点与上一预测时间点之间的时间间隔,以提升刷新的有效性、保障数据不丢失。
[0044]
基于上述任一实施例,如图4所示,步骤120具体包括:步骤121,基于所述内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,构建输入参数向量;步骤122,对所述输入参数向量进行多次特征提取,得到所述输入参数向量对应的隐层特征向量;步骤123,基于所述隐层特征向量进行刷新密度预测,得到所述内存颗粒的目标刷新密度。
[0045]
具体地,该刷新密度预测模型中可以包含一个输入层、多个隐含层和一个输出层。其中,输入层用于将该内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度构建为输入参数向量;多个隐含层用于对上述输入参数向量进行多次特征提取,得到该输入参数向量对应的隐层特征向量;输出层则用于基于该隐层特征向量进行刷新密度预测,得到该内存颗粒的目标刷新密度。
[0046]
其中,隐含层的层数以及每个隐含层中的神经元数量可以根据实际性能效果以及应用目标(例如目标是尽可能提升模型的预测精度或是兼顾模型预测时的运算复杂度等)进行选择。此处,可以根据如下公式确定隐含层的神经元数量:其中,表示隐含层的神经元数量,和分别表示输入层和输出层的神经元数量,为可选择的调节参数。例如,如图5所示,可以设置每个隐含层的神经元数量为3,隐含层的层数为2,以兼顾模型预测时的运算复杂度以及模型预测的精度。第个隐含层各神经元的输出可以用如下函数组求出:其中,为第个隐含层的输出,为该层3个神经元的输出,表示神经元激活函数,为第层第i个神经元的输入,表示对于第层的第个神经元有层的个神经元与该神经元有突触连接;此处可以选用如下sigmod函数作为非线性激活函数:下面对本发明提供的基于深度学习的dram刷新装置进行描述,下文描述的基于深度学习的dram刷新装置与上文描述的基于深度学习的dram刷新方法可相互对应参照。
[0047]
基于上述任一实施例,图6是本发明提供的基于深度学习的dram刷新装置的结构示意图,如图6所示,该装置包括:参数获取单元610和刷新密度预测单元620。
[0048]
其中,参数获取单元610用于在到达当前预测时间点时,确定待控制dram中内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度;刷新密度预测单元620用于利用刷新密度预测模型,基于所述内存颗粒的颗粒密
度、实时运行频率以及实时颗粒温度,预测所述内存颗粒的目标刷新密度,以基于所述内存颗粒的目标刷新密度控制所述内存颗粒的刷新频率;其中,所述刷新密度预测模型是基于样本颗粒的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及所述样本颗粒的目标刷新密度训练得到的,构建了同一样本颗粒的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度与目标刷新密度之间的映射关系。
[0049]
本发明实施例提供的装置,通过获取待控制dram中各个内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度作为预测该内存颗粒目标刷新密度的决定性因素,可以从维持数据有效性、保证刷新过程有效性以及降低功耗等多个角度共同确定最合适的目标刷新密度,从而兼顾数据不丢失以及降低功耗这两个性能目标,且预测过程中利用基于少量样本训练好的刷新密度预测模型,运用其通过训练过程构建的同一样本颗粒的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度与目标刷新密度之间的映射关系,进行刷新密度预测,克服了各个影响因素与目标刷新密度之间的关系并不明确、难以利用现有数学工具对其进行描述,且各个影响因素在预测目标刷新密度时的影响程度也不明确的难题,能够从内存颗粒的角度保证及时对该内存颗粒进行刷新、数据不丢失,又能够尽可能地降低刷新过程造成的功耗、降低对内存颗粒吞吐性能的负面影响,同时兼顾了刷新的准确性、及时性以及低功耗水平等性能目标。
[0050]
基于上述任一实施例,该装置还包括模型构建单元,模型构建单元用于:获取样本dram中各个样本颗粒在任一预设外部运行环境下的样本颗粒密度、样本实时运行频率、样本实时颗粒温度;依次基于各个由小到大排序的测试刷新密度,在预设时间段内对所述样本颗粒进行刷新,直至所述样本颗粒在基于当前测试刷新密度进行刷新时多个目标存储区域在刷新后的数据与所述多个目标存储区域中写入的初始数据保持一致,并确定所述当前测试刷新密度为所述样本颗粒在所述任一预设外部运行环境下的目标刷新密度;基于所述样本颗粒在同一预设外部运行环境下的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及目标刷新密度,对所述刷新密度预测模型的模型参数进行修正。
[0051]
基于上述任一实施例,所述基于所述样本颗粒在同一预设外部运行环境下的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及目标刷新密度,对所述刷新密度预测模型的模型参数进行修正,具体包括:基于所述刷新密度预测模型当前的模型参数,预测所述样本颗粒在同一预设外部运行环境下的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度对应的刷新密度预测值;基于所述刷新密度预测值以及所述样本颗粒在同一预设外部运行环境下的目标刷新密度之间的差异,对所述刷新密度预测模型的模型参数进行修正。
[0052]
基于上述任一实施例,该装置还包括预测时间确定单元,在所述利用刷新密度预测模型,基于所述内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,预测所述内存颗粒的目标刷新密度之后,预测时间确定单元用于:基于所述内存颗粒在当前预测时间点的实时运行频率,确定下一预测时间点,以再次获取所述内存颗粒在下一预测时间点的实时运行频率以及实时颗粒温度;其中,所述
内存颗粒在当前预测时间点的实时运行频率越高,所述下一预测时间点与所述当前预测时间点之间的间隔越短。
[0053]
基于上述任一实施例,所述基于所述内存颗粒在当前预测时间点的实时运行频率,确定下一预测时间点,具体包括:若所述内存颗粒在当前预测时间点的实时运行频率与在上一预测时间点的实时运行频率之间的差异大于等于预设频率差值,则增大所述内存颗粒当前对应的预测频率,并基于增大后的预测频率确定所述下一预测时间点;否则,基于所述内存颗粒当前对应的预测频率,确定所述下一预测时间点。
[0054]
基于上述任一实施例,刷新密度预测单元620具体用于:基于所述内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,构建输入参数向量;对所述输入参数向量进行多次特征提取,得到所述输入参数向量对应的隐层特征向量;基于所述隐层特征向量进行刷新密度预测,得到所述内存颗粒的目标刷新密度。
[0055]
图7是本发明提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、存储器(memory)720、通信接口(communications interface)730和通信总线740,其中,处理器710,存储器720,通信接口730通过通信总线740完成相互间的通信。处理器710可以调用存储器720中的逻辑指令,以执行基于深度学习的dram刷新方法,该方法包括:到达当前预测时间点时,确定待控制dram中内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度;利用刷新密度预测模型,基于所述内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,预测所述内存颗粒的目标刷新密度,以基于所述内存颗粒的目标刷新密度控制所述内存颗粒的刷新频率;其中,所述刷新密度预测模型是基于样本颗粒的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及所述样本颗粒的目标刷新密度训练得到的,构建了同一样本颗粒的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度与目标刷新密度之间的映射关系。
[0056]
此外,上述的存储器720中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0057]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于深度学习的dram刷新方法,该方法包括:到达当前预测时间点时,确定待控制dram中内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度;利用刷新密度预测模型,基于所述内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,预测所述内存颗粒的目标刷新密度,以基于所述内存颗粒的目标刷新密度控制所述内存颗粒的刷新频率;其中,所述刷新密度预测模型是基于样本颗粒
的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及所述样本颗粒的目标刷新密度训练得到的,构建了同一样本颗粒的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度与目标刷新密度之间的映射关系。
[0058]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于深度学习的dram刷新方法,该方法包括:到达当前预测时间点时,确定待控制dram中内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度;利用刷新密度预测模型,基于所述内存颗粒的颗粒密度、实时运行频率以及实时颗粒温度,预测所述内存颗粒的目标刷新密度,以基于所述内存颗粒的目标刷新密度控制所述内存颗粒的刷新频率;其中,所述刷新密度预测模型是基于样本颗粒的样本颗粒密度、样本实时运行频率、样本实时颗粒温度以及所述样本颗粒的目标刷新密度训练得到的,构建了同一样本颗粒的样本颗粒密度、样本实时运行频率以及样本实时颗粒温度与目标刷新密度之间的映射关系。
[0059]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0060]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0061]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1