首页> 中国专利> 基于DRAM与NVM的异构混合内存数据处理方法、系统及存储介质

基于DRAM与NVM的异构混合内存数据处理方法、系统及存储介质

摘要

本发明公开了一种基于DRAM与NVM的异构混合内存数据处理方法、系统及存储介质,该方法通过将NVM和DRAM分别配置为主要内存存储器和辅助内存存储器;接着,利用带注意力机制的双向LSTM神经网络模型,对待存入内存的数据进行分类预测,得到相应的预测结果;然后,根据待存入内存的数据的预测结果,进行内存调度控制;其中,若预测结果指示数据为高概率只读操作的固定数据,则将数据存入NVM中,若预测结果指示数据为高概率写入操作的流动数据,则将数据存入DRAM中。同时,本发明通过采用常读数据和常写数据进行训练该神经网络模型,能够使计算机系统更高效地实现内存数据的内存调度控制,即精准地用DRAM处理大量流动数据,用NVM存储大量固定数据。

著录项

说明书

技术领域

本发明涉及数据存储分配与深度学习技术领域,尤其涉及一种基于DRAM与NVM的异构混合内存数据处理基于DRAM与NVM的异构混合内存数据处理方法、系统及存储介质。

背景技术

随着计算机领域的持续发展,在程序的运行中,对计算机系统资源的需求也越来越高,对于存储的需求更是急剧上升,根据摩尔定律,每隔十八个月,计算机的运算速度翻一倍,而事实上的确如此,甚至更快,而存储速度却远远跟不上cpu计算速度,导致对于快速存储器的容量速度都有这极大的需求。

目前对于存储速度和计算速度的差距,普遍采用分级存储的方式来缓解其产生的资源浪费,其中主存就担任着不可忽视的重要角色,传统的主存一般是使用动态随机存储器(Dynamic Random Access Memory),简称为DRAM。DRAM长期以来作为计算机主存其存储密度逐渐趋于平缓,在体积不变的情况下提升容量以越发吃力,其次由于DRAM晶体管会有漏电电流的现象,导致电容上所存储的电荷数量并不足以正确的判别数据,而导致数据毁损。因此对于DRAM来说,周期性地充电是一个无可避免的要件,一旦掉电DRAM中的数据就会直接丢失,所以对于每天都有关机操作的计算机设备来说,每次重启都要写入一次内存,这导致整体系统的速度下降,而且会消耗大量的能源。

非易失性存储器(NVM)是一种新型的随机存取快速存储器,相比与动态随机存储器(DRAM)的优点在于同体积下存储容量大于DRAM,具有非易失的特性,而速度上又远超外部存储器,若采用NVM为计算机存储系统添加新的一层缓冲,由于非易失的特性,不需要的动态的刷新,使得NVM在待机的能耗上几乎为零,也可以做到系统快速启动,数据安全保留等功能,虽然在速度方面目前NVM还无法赶上传统DRAM,但是也远超外部存储,所以将NVM与DRAM共同作为计算机系统的主存部件,不仅可以增加主存的容量,还能够保持高速的特性。不过,NVM大约只能承受一百万到一亿次写次数,所以,将NVM与DRAM共同作为计算机系统的主存部件时,计算机系统需要尽可能地用DRAM处理大量流动数据,用NVM存储大量固定数据;因此,需要设计一种基于DRAM与NVM的异构混合内存数据处理机制,使计算机系统更好地实现用DRAM处理大量流动数据,用NVM存储大量固定数据。

发明内容

鉴于以上所述现有技术的不足,本发明的目的在于:提供一种基于DRAM与NVM的异构混合内存数据处理方法,能够使计算机系统更高效地实现内存数据的内存调度控制,即精准地用DRAM处理大量流动数据,用NVM存储大量固定数据。

为实现上述发明目的,本发明提供以下技术方案:

一种基于DRAM与NVM的异构混合内存数据处理方法,应用于由DRAM与NVM构成的异构混合内存系统,其包括以下步骤:

步骤1:将NVM和DRAM分别配置为主要内存存储器和辅助内存存储器;

步骤2:利用带注意力机制的双向LSTM神经网络模型,对待存入内存的数据进行分类预测,得到相应的预测结果;

步骤3:根据待存入内存的数据的预测结果,进行内存调度控制;其中,若所述预测结果指示所述数据为高概率只读操作的固定数据,则将所述数据存入NVM中,若所述预测结果指示所述数据为高概率写入操作的流动数据,则将所述数据存入DRAM中;

其中,所述带注意力机制的双向LSTM神经网络模型包括:输入层、嵌入层、LSTM层、注意力层和输出层:并采用常读数据和常写数据进行训练所述带注意力机制的双向LSTM神经网络模型。

根据一种具体的实施方式,本发明基于DRAM与NVM的异构混合内存数据处理方法中,在查询数据时,优先访问DRAM;如果DRAM中没有目标数据,则在NVM中寻找该目标数据数据。

根据一种具体的实施方式,本发明基于DRAM与NVM的异构混合内存数据处理方法中,所述带注意力机制的双向LSTM神经网络模型进行分类预测时,包括:

所述输入层接收连续的M次访存序列作为输入;其中,所述输入层具有M个节点;

所述嵌入层将所述输入层单个节点输入表示为有N个特征的向量,使得输入数据为M*N维矩阵;其中,所述嵌入层具有N个节点;

经过所述嵌入层处理后的N个特征向量输入到所述LSTM层;将所述LSTM层的输出作为所述注意力层的输入,通过激活函数激活、全连接层和softmax层得到输出;

将所述注意力层的输出作为输出层的输入,输出层节点数为N,并以N维向量表示的预测结果,每一个节点的输出为一个浮点数,表示预测地址为当前节点代表地址的概率。

根据一种具体的实施方式,本发明基于DRAM与NVM的异构混合内存数据处理方法中,所述常读数据和所述常写数据根据对应程序的实时写频率值来确定;若对应程序的实时写频率不低于阈值T,则记录该程序的数据的标签为常写数据,否则,记录该程序的数据的标签为常读数据。

进一步地,程序的实时写频率值的计算方式为:

其中,

再进一步地,所述阈值T由所述程序的平均写频率确定;即,所述阈值T表示为:

其中,

根据一种具体的实施方式,本发明基于DRAM与NVM的异构混合内存数据处理方法中,若程序首次运行其写频率为零,则优先存储在NVM中。

根据一种具体的实施方式,本发明基于DRAM与NVM的异构混合内存数据处理方法中,训练所述带注意力机制的双向LSTM神经网络模型时,采用Adma算法自动为模型中的每个参数使用自定义学习速率。

进一步地,使用经典的随机梯度下降优化器,网格搜索学习速率值,通过callback调整学习速度随时代数而衰减,用学习率越来越低的训练来更新拟合模型;并且,使用dropout防止数据快速收敛甚至过拟合,选择性能更好的模型。

本发明在具体实施的另一方面,还提供一种基于DRAM与NVM的异构混合内存系统,其包括:作为主要内存存储器的NVM、作为辅助内存存储器的DRAM,以及内存控制单元,其中,该内存调度控制单元用于实现本发明基于DRAM与NVM的异构混合内存数据处理方法。

本发明在具体实施的另一方面,还提供一种可读存储介质,其上存储有一个或多个程序,其特征在于,该一个或多个程序被一个或多个处理器执行时实现本发明基于DRAM与NVM的异构混合内存数据处理方法。

与现有技术相比,本发明的有益效果:

本发明基于DRAM与NVM的异构混合内存数据处理方法,通过将NVM和DRAM分别配置为主要内存存储器和辅助内存存储器;接着,利用带注意力机制的双向LSTM神经网络模型,对待存入内存的数据进行分类预测,得到相应的预测结果;然后,根据待存入内存的数据的预测结果,进行内存调度控制;其中,若预测结果指示数据为高概率只读操作的固定数据,则将数据存入NVM中,若预测结果指示数据为高概率写入操作的流动数据,则将数据存入DRAM中。同时,本发明通过采用常读数据和常写数据进行训练该神经网络模型,能够使计算机系统更高效地实现内存数据的内存调度控制,即精准地用DRAM处理大量流动数据,用NVM存储大量固定数据。

附图说明

图1为本发明方法的流程示意图

图2为本发明中带注意力机制的双向LSTM神经网络模型的结构示意图;

图3为本发明系统的结构示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

如图1所示,一种基于DRAM与NVM的异构混合内存数据处理方法,应用于由DRAM与NVM构成的异构混合内存系统,其包括以下步骤:

步骤1:将NVM和DRAM分别配置为主要内存存储器和辅助内存存储器;

步骤2:利用带注意力机制的双向LSTM神经网络模型,对待存入内存的数据进行分类预测,得到相应的预测结果;

步骤3:根据待存入内存的数据的预测结果,进行内存调度控制;其中,若所述预测结果指示所述数据为高概率只读操作的固定数据,则将所述数据存入NVM中,若所述预测结果指示所述数据为高概率写入操作的流动数据,则将所述数据存入DRAM中;

其中,如图2所示,带注意力机制的双向LSTM神经网络模型包括:输入层InputLayer、嵌入层Embedding Input Layer、LSTM层、注意力层Attention Layer和输出层Output Layer:并采用常读数据和常写数据进行训练所述带注意力机制的双向LSTM神经网络模型。

本发明基于DRAM与NVM的异构混合内存数据处理方法中,在查询数据时,优先访问DRAM;如果DRAM中没有目标数据,则在NVM中寻找该目标数据数据。

本发明基于DRAM与NVM的异构混合内存数据处理方法中,所述带注意力机制的双向LSTM神经网络模型进行分类预测时,包括:

所述输入层接收连续的M次访存序列作为输入;其中,所述输入层具有M个节点;

所述嵌入层将所述输入层单个节点输入表示为有N个特征的向量,使得输入数据为M*N维矩阵;其中,所述嵌入层具有N个节点;

经过所述嵌入层处理后的N个特征向量输入到所述LSTM层;将所述LSTM层的输出作为所述注意力层的输入,通过激活函数激活、全连接层和softmax层得到输出;

将所述注意力层的输出作为输出层的输入,输出层节点数为N,并以N维向量表示的预测结果,每一个节点的输出为一个浮点数,表示预测地址为当前节点代表地址的概率。

本发明基于DRAM与NVM的异构混合内存数据处理方法中,为了避免程序在某一段时间内进行大量的写操作,造成系统无法更加灵敏的度量写频率,故而所述常读数据和所述常写数据根据对应程序的实时写频率值来确定;若对应程序的实时写频率不低于阈值T,则记录该程序的数据的标签为常写数据,否则,记录该程序的数据的标签为常读数据。

具体的,程序的实时写频率值的计算方式为:

其中,

再进一步地,所述阈值T由所述程序的平均写频率确定;即,所述阈值T表示为:

其中,

本发明基于DRAM与NVM的异构混合内存数据处理方法中,在实施时,若程序首次运行其写频率为零,则优先存储在NVM中。

本发明基于DRAM与NVM的异构混合内存数据处理方法中,由于作为主存NVM无法将所有数据全部存储在内存中,存在与外存的替换问题,采用传统的最近不使用算法,无法充分利用NVM的非易失性,所以为了更好的控制检测时间和替换数据,采用带注意力机制的神经网络预测数据读写类型,从而有目标的替换数据。

同时,训练所述带注意力机制的双向LSTM神经网络模型时,采用Adma算法自动为模型中的每个参数使用自定义学习速率。在神经网络框架中实施Adam会对每个配置参数使用最佳实践初始值,学习速率控制在每个批次结束时根据估计的梯度更新权重的量。

进一步地,使用经典的随机梯度下降优化器,网格搜索学习速率值,通过callback调整学习速度随时代数而衰减,用学习率越来越低的训练来更新拟合模型;并且,使用dropout防止数据快速收敛甚至过拟合,选择性能更好的模型。

在实施时,默认批量大小是32个样本,设计随机梯度下降(SGD)的批量大小为1。批量大小n,其中n是批量梯度下降的样本数。

如图3所示,本发明在具体实施的另一方面,还提供一种基于DRAM与NVM的异构混合内存系统,其包括:作为主要内存存储器的NVM、作为辅助内存存储器的DRAM,以及内存控制单元,其中,该内存调度控制单元用于实现本发明基于DRAM与NVM的异构混合内存数据处理方法。其中,CPU通过cache取数据和取指令,内存控制单元将外部存储的应用数据一方面复制值cache,另一方面,将高写操作程序的数据存入DRAM,如通话视频软件数据、PS软件数据、视频编辑软件数据以及编程软件数据等等,而将高读写操作程序的数据存入NVM,如电影、小说、音乐、网页、PDF文件以及游戏等。

本发明在具体实施的另一方面,还提供一种可读存储介质,其上存储有一个或多个程序,其特征在于,该一个或多个程序被一个或多个处理器执行时实现本发明基于DRAM与NVM的异构混合内存数据处理方法。

应该理解到,本发明所揭露的系统,可通过其它的方式实现。例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,模块之间的通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号