[发明专利]基于内存的数据存储方法、装置、处理器和电子设备有效
申请号: | 201410071983.8 | 申请日: | 2014-02-28 |
公开(公告)号: | CN103793332B | 公开(公告)日: | 2017-03-01 |
发明(设计)人: | 李功;陈岚;郝晓冉 | 申请(专利权)人: | 中国科学院微电子研究所 |
主分类号: | G06F12/1045 | 分类号: | G06F12/1045 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 100029 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 内存 数据 存储 方法 装置 处理器 电子设备 | ||
技术领域
本发明涉及计算机系统领域,特别是涉及一种基于内存的数据存储方法、装置、处理器和电子设备。
背景技术
DRAM(Dynamic Random Access Memory,动态随机存取存储器)是一种较为常见的系统内存,长期以来,计算机系统主内存的任务一直由DRAM来担当。
但是,发明人在本申请的研究过程中发现,DRAM具有易失性,需要不断充电刷新来保持其中所存储的数据,具备功耗高的缺点,因此在当前的体系架构中,基于DRAM的内存系统功耗在系统总功耗中占有很高的比例。
发明内容
有鉴于此,本发明的目的在于提供一种基于内存的数据存储方法、装置、处理器和电子设备,以解决现有技术中,基于DRAM的内存系统具有功耗高的问题,具体实施方案如下:
一种基于内存的数据存储方法,应用于电子设备,所述电子设备中设置有动态存储器DRAM和相变存储器PRAM,其中,所述基于内存的数据存储方法包括:
分别为所述DRAM和PRAM建立相应的管理数据结构,获取分属于所述DRAM和PRAM的内存域;
当需要存储数据时,获取待存入内存的数据的虚拟空间的地址,并根据所述虚拟空间的地址,确定所述待存入内存的数据所属的虚拟内存区;
根据所述待存入内存的数据所属的虚拟内存区,将所述待存入内存的数据存储至与所述虚拟内存区相对应的内存域的空闲内存块中。
优选的,
当所述待存入内存的数据所属的虚拟内存区为堆栈段时,与所述虚拟内存区相对应的内存域为设置在DRAM中的内存域;
当所述待存入内存的数据所属的虚拟内存区为代码段、数据段或共享段时,与所述虚拟内存区相对应的内存域为设置在PRAM中的内存域。
优选的,将所述待存入内存的数据存储至与所述虚拟内存区相对应的内存域的空闲内存块中,包括:
根据所述待存入内存的数据所属的虚拟内存区,为所述待存入内存的数据配置相应的内存修饰符;
获取与所述内存修饰符相对应的内存域,并在所述内存域具有足够存储空间的空闲内存块时,将所述待存入内存的数据存储至所述内存修饰符对应的内存域的空闲内存块中。
优选的,当所述PRAM划分的内存域为三个,且所述DRAM划分的内存域为一个时,所述获取与所述内存修饰符相对应的内存域的计算公式为:
zone=(GFP_ZONE_TABLE>>(bit*2))&((1<<2)-1);
其中,GFP_ZONE_TABLE为设定的常量值,bit为所述待存储数据的内存修饰符,zone为所述待存入内存的数据对应的内存域的内存域索引值。
优选的,当所述PRAM中划分的内存域为两个以上,且所述内存修饰符对应的内存域为所述PRAM中的内存域,所述内存域中的空闲内存块不具有充足的存储空间时,获取所述内存修饰符对应的内存域后,还包括:
51)根据内存域索引值,获取优先级最高的内存域,作为当前内存域;
52)查找所述当前内存域中的空闲内存块,并判断所述空闲内存块的存储空间是否能够存储所述待存入内存的数据,若是,则将所述待存入内存的数据存储至所述当前内存域的空闲内存块中,若否,则执行下一步骤;
53)若确定所述空闲内存块的存储空间不能够存储所述待存入内存的数据,则判断所述PRAM中是否存在优先级次于所述当前内存域的其他内存域,若存在,确定其他内存域中优先级最高的内存域为当前内存域,并返回执行步骤52)的操作,若不存在,则结束本次存储操作。
优选的,当所述DRAM中划分的内存域为一个,且所述内存修饰符对应的内存域为所述DRAM中的内存域,所述内存域中的空闲内存块不具有充足的存储空间时,获取所述内存修饰符对应的内存域后,还包括:
查找获取所述DRAM的内存域中的冷内存;
获取所述PRAM中的内存域中的空闲内存块,并将所述冷内存迁移到所述PRAM中的空闲内存块;
将所述待存入内存的数据存储至冷内存迁移后的所述DRAM中。
相应的,本发明还公开了一种基于内存的数据存储装置,应用于电子设备,所述电子设备中设置有动态存储器DRAM和相变存储器PRAM,其中,所述基于内存的数据存储装置包括:
内存域初始化模块,用于分别为所述DRAM和PRAM建立相应的管理数据结构,获取分属于所述DRAM和PRAM的内存域;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410071983.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:在多模总线的多引脚传输数据的方法及装置
- 下一篇:除错装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置