[发明专利]一种基于NVDIMM的内存防溢出装置及方法在审
申请号: | 202010781614.3 | 申请日: | 2020-07-30 |
公开(公告)号: | CN111984404A | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 宋奇 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F21/52;G06F5/06 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王敏 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 nvdimm 内存 溢出 装置 方法 | ||
1.一种基于NVDIMM的内存防溢出装置,其特征在于,包括NVDIMM硬件模块、非易失性内存管理模块和冷热对象判定模块;
所述NVDIMM硬件模块用于存储冷对象并为其提供持久化特性;
所述非易失性内存管理模块用于提供配置和使用NVDIMM硬件模块的工具,并提供序列化及反序列化对象的接口;
所述冷热对象判定模块用于标记冷对象和热对象,并根据对象的调用记录来保留热对象或淘汰冷对象,热对象保留后继续保存在堆内存空间中,冷对象淘汰后被分配至NVDIMM硬件模块中进行持久化存储。
2.根据权利要求1所述的一种基于NVDIMM的内存防溢出装置,其特征在于,所述冷热对象判定模块标记冷对像和热对象,具体包括:将内存中的对象存放于FIFO链表,新创建的对象插入至FIFO链表的表头,先前存在于FIFO链表中的对象依次向后移动,当FIFO链表中的某个对象被重复使用时,该对象从FIFO链表移动至缓冲链表的表头,先前存在于缓冲链表中的对象依次向后移动,随着插入FIFO链表和缓冲链表的对象增多,FIFO链表末尾和缓冲链表末尾将要被淘汰的对象即为冷对象。
3.根据权利要求1所述的一种基于NVDIMM的内存防溢出装置,其特征在于,所述NVDIMM硬件模块为非易失性双列直插式内存设备。
4.根据权利要求1所述的一种基于NVDIMM的内存防溢出装置,其特征在于,所述非易失性内存管理模块提供配置和使用NVDIMM硬件模块的工具,具体包括软件库、驱动程序、工具集、指令及API。
5.根据权利要求1所述的一种基于NVDIMM的内存防溢出装置,其特征在于,所述非易失性内存管理模块提供序列化或反序列化对象的接口,通过所述接口将冷对象序列化后将得到的字节序列分配至NVDIMM硬件模块对应的内存地址中,以及将NVDIMM硬件模块中的字节序列反序列化后得到的对象返回至堆内存空间对应的内存地址中。
6.一种基于NVDIMM的内存防溢出方法,其特征在于,包括以下步骤:
在服务器的DRAM插槽上安装NVDIMM设备;
判定NVDIMM设备被服务器识别且容量和状态正常,然后初始化NVDIMM设备,并清除NVDIMM设备中的残留数据;
使用对象淘汰算法进行冷对像和热对象标记,并将热对象保存在堆内存空间中,将冷对象分配至NVDIMM设备中进行持久化存储。
7.根据权利要求6所述的一种基于NVDIMM的内存防溢出方法,其特征在于,所述使用对象淘汰算法进行冷对像和热对象标记,包括下述步骤:
将堆内存中的对象存放于FIFO链表,新创建的对象插入至FIFO链表的表头,先前存在于FIFO链表中的对象依次向后移动;
当FIFO链表中的某个对象被重复使用时,将该对象从FIFO链表移动至缓冲链表的表头,先前存在于缓冲链表中的对象依次向后移动;
随着插入FIFO链表和缓冲链表的对象增多,FIFO链表末尾和缓冲链表末尾将要被淘汰的对象标记为冷对象。
8.根据权利要求7所述的一种基于NVDIMM的内存防溢出方法,其特征在于,所述将要被淘汰的对象标记为冷对象之后,包括下述步骤:
将冷对象进行序列化处理得到字节序列,然后将字节序列写入NVDIMM设备所对应的内存地址中,当程序需要调用NVDIMM设备中持久化存储的冷对象时,首先从NVDIMM设备的内存地址中读取字节序列,将这些字节序列反序列化为对象,然后将这些对象移动至堆内存空间对应的内存地址中供程序使用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010781614.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于PC端DDS数据转换方法和系统
- 下一篇:一种羟基嘧啶类化合物的合成方法