[发明专利]一种管理异构混合内存的方法及装置在审
申请号: | 201410450192.6 | 申请日: | 2014-09-04 |
公开(公告)号: | CN104239225A | 公开(公告)日: | 2014-12-24 |
发明(设计)人: | 郭美思;吴楠 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王丹;李丹 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 管理 混合 内存 方法 装置 | ||
1.一种管理异构混合内存的方法,其特征在于,所述异构混合内存包括非易失性存储器NVM和动态随机存取存储器DRAM,所述方法包括以下步骤:
接收用户进程发送的内存分配请求,对所述用户进程进行判断;
如果所述用户进程为系统级进程,则将所述DRAM中的内存空间分配给所述用户进程;
如果所述用户进程为批量处理进程,则将所述NVM中的内存空间分配给所述用户进程。
2.如权利要求1所述的方法,其特征在于,还包括:
对用户进程释放的内存空间进行判断;
如果是所述DRAM中的内存空间,则通过伙伴系统对所述用户进程释放的内存空间进行回收;
如果是所述NVM中的内存空间,则将所述用户进程释放的内存空间标记为可回收内存,更新所述可回收内存的时间戳,并在所述可回收内存的时间戳到期后,通过所述伙伴系统对所述可回收内存进行回收。
3.如权利要求1所述的方法,其特征在于,还包括:
将所述异构混合内存中的数据分为热数据、候选热数据和冷数据,将所述热数据和所述候选热数据存放到所述DRAM中,将所述冷数据存放到NVM中,并生成热数据队列和候选热数据队列;
其中,所述热数据为所述异构混合内存中访问频率大于或等于预定的第一阈值的数据,所述候选热数据为所述异构混合内存中访问频率小于所述第一阈值且大于预定的第二阈值的数据,所述冷数据为异构混合内存中访问频率小于或等于所述第二阈值的数据,所述热数据队列用于存放所述热数据的逻辑区块地址LBA,所述候选热数据队列用于存放所述候选热数据的LBA。
4.如权利要求3所述的方法,其特征在于,还包括:
将所述热数据队列中的、当前时间之前的预定长度的时间段内最少使用的LBA从热数据队列中删除并添加到所述候选热数据队列,将所述最少使用的LBA对应的数据标记为候选热数据。
5.如权利要求3所述的方法,其特征在于,还包括:
将所述候选热数据队列中的、当前时间之前的预定长度的时间段内最少使用的LBA从所述候选热数据队列中删除,将所述最少使用的LBA对应的数据标记为冷数据,并将所述最少使用的LBA对应的数据存放到所述NVM中。
6.如权利要求1所述的方法,其特征在于,还包括:
在系统内核层构建内存镜像,在系统运行时,将所述内存镜像写入所述NVM;
在系统关机或休眠后检测到用户的触发,则将所述NVM中的内存镜像写回至所述DRAM。
7.一种管理异构混合内存的装置,其特征在于,所述异构混合内存包括非易失性存储器NVM和动态随机存取存储器DRAM,所述装置包括:
接收模块,用于接收用户进程发送的内存分配请求;
第一判断模块,用于对所述用户进程进行判断;
分配模块,用于在所述第一判断模块判断出所述用户进程为系统级进程时,将所述DRAM中的内存空间分配给所述用户进程;在所述第一判断模块判断出所述用户进程为批量处理进程时,将所述NVM中的内存空间分配给所述用户进程。
8.如权利要求7所述的装置,其特征在于,还包括:
第二判断模块,用于对用户进程释放的内存空间进行判断;
回收模块,用于在所述第二判断模块判断出所述用户进程释放的内存空间是所述DRAM中的内存空间时,通过伙伴系统对所述用户进程释放的内存空间进行回收;在所述第二判断模块判断出所述用户进程释放的内存空间是所述NVM中的内存空间时,将所述用户进程释放的内存空间标记为可回收内存,更新所述可回收内存的时间戳,并在所述可回收内存的时间戳到期后,通过所述伙伴系统对所述可回收内存进行回收。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410450192.6/1.html,转载请声明来源钻瓜专利网。