存储空间分配方法及设备组成比例

技术编号:10120608 阅读:153 留言:0更新日期:2014-06-12 09:08
本发明专利技术实施例提供一种存储空间分配方法及设备。方法包括:获取数据布局策略说明文件;对数据布局策略说明文件进行解析,获取每种数据类别对应的存储设备的标识信息;为应用程序创建虚拟地址空间,并记录数据的虚拟地址与数据所属数据类别对应的存储设备的标识信息之间的第二映射关系;接收应用程序运行过程中产生的缺页中断请求;根据缺页中断请求中的物理页对应的虚拟地址,查询第二映射关系,获取物理页所在的存储设备的标识信息;根据物理页所在的存储设备的标识信息,为应用程序分配物理页。采用本发明专利技术技术方案可以提高混合内存的存储性能,具有实现简单的优势。

【技术实现步骤摘要】
存储空间分配方法及设备
本专利技术涉及存储技术,尤其涉及一种存储空间分配方法及设备。
技术介绍
随着互联网的发展,越来越多的应用的数据不断增长,因此对内存容量的要求越来越高。但因为动态随机存取存储器(DynamicRandomAccessMemory,简称为DRAM)的物理特性导致DRAM的集成度差,能耗较大,很难满足应用的需求。非易失存储器件(Non-VolatileMemory,简称为NVM)的读写速度接近DRAM,而集成度却很高,能耗较低,可以做成大容量的内存,NVM的出现弥补了DRAM的不足。但是,NVM有写次数限制,一个单元在写次数达到某一阈值后就会损坏,不能再写。结合DRAM和NVM各自的特点,目前工业界和学术界开始越来越多的研究将DRAM和NVM结合作成混合内存。在这种混合内存中,如何存储数据才能充分发挥DRAM和NVM各自的优势,避免各自的劣势称为混合内存性能好坏的关键。现有技术中存在一种由编程人员感知的数据存储方法。该方法提供编程人员可以感知的语义接口,编程人员在编写程序时在准备存储到NVM中的变量前面加上该语义接口对应的关键字,这样变量在程序执行过程中就会被存储到NVM中。但是,该方法的实现需要修改编译器,并且不能兼容已经存在的应用程序,总之,该方法的可用性较差。
技术实现思路
本专利技术实施例提供一种存储空间分配方法及设备,用以提高混合内存的存储性能,降低实现难度。第一方面提供一种存储空间分配方法,包括:获取数据布局策略说明文件,所述数据布局策略说明文件包括应用程序对应的各数据类别与混合内存中各存储设备之间的第一映射关系,所述混合内存包括至少两类存储设备;对所述数据布局策略说明文件进行解析,获取每种数据类别对应的存储设备的标识信息;根据所述应用程序中数据的虚拟地址,为所述应用程序创建虚拟地址空间,并记录所述数据的虚拟地址与所述数据所属数据类别对应的存储设备的标识信息之间的第二映射关系;接收所述应用程序运行过程中产生的缺页中断请求,所述缺页中断请求携带有所述应用程序请求分配的物理页对应的虚拟地址;根据所述物理页对应的虚拟地址,查询所述第二映射关系,获取所述物理页所在的存储设备的标识信息;根据所述物理页所在的存储设备的标识信息,为所述应用程序分配所述物理页。在第一方面的第一种可能的实现方式中,所述获取数据布局策略说明文件包括:在所述应用程序的加载过程中,访问所述应用程序的命令行参数数组,从所述命令行参数数组中获取所述数据布局策略说明文件的路径信息;根据所述路径信息获取所述数据布局策略说明文件。在第一方面的第二种可能的实现方式中,所述获取数据布局策略说明文件包括:在所述应用程序的加载过程中,访问所述应用程序的环境变量数组,从所述环境变量数组中获取表征所述数据布局策略说明文件的路径信息的环境变量值;根据所述环境变量值获取所述数据布局策略说明文件。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据所述应用程序中数据的虚拟地址,为所述应用程序创建虚拟地址空间包括:根据所述应用程序中数据的虚拟地址,为所述虚拟地址空间中所述应用程序使用的地址空间创建页表;根据所述应用程序对应的数据类别,将所述虚拟地址空间中所述应用程序使用的地址空间划分为进程虚拟内存区VMA。结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述记录所述数据的虚拟地址与所述数据所属数据类别对应的存储设备的标识信息之间的第二映射关系包括:确定所述数据所属数据类别对应的存储设备的标识信息;将所述数据所属数据类别对应的存储设备的标识信息记录到所述数据所属数据类别对应的数据结构中,以记录所述第二映射关系;将所述数据所属数据类别对应的数据结构存储到所述数据所属数据类别对应的VMA中;所述根据所述物理页对应的虚拟地址,查询所述第二映射关系,获取所述物理页所在的存储设备的标识信息包括:根据所述物理页对应的虚拟地址,查询所述物理页的虚拟地址所在VMA中的数据结构,获取所述物理页对应的虚拟地址对应的存储设备的标识信息作为所述物理页所在的存储设备的标识信息。结合第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,所述记录所述数据的虚拟地址与所述数据所属数据类别对应的存储设备的标识信息之间的第二映射关系包括:确定所述数据所属数据类别对应的存储设备的标识信息;将所述数据所属数据类别对应的存储设备的标识信息记录到所述数据的虚拟地址对应的页表中,以记录所述第二映射关系;所述根据所述物理页对应的虚拟地址,查询所述第二映射关系,获取所述物理页所在的存储设备的标识信息包括:根据所述物理页对应的虚拟地址,查询所述物理页对应的虚拟地址对应的页表,获取所述物理页对应的虚拟地址对应的存储设备的标识信息作为所述物理页所在的存储设备的标识信息。第二方面提供一种存储空间分配设备,包括:第一获取模块,用于获取数据布局策略说明文件,所述数据布局策略说明文件包括应用程序对应的各数据类别与混合内存中各存储设备之间的第一映射关系,所述混合内存包括至少两类存储设备;第二获取模块,用于对所述数据布局策略说明文件进行解析,获取每种数据类别对应的存储设备的标识信息;创建模块,用于根据所述应用程序中数据的虚拟地址,为所述应用程序创建虚拟地址空间;记录模块,用于记录所述数据的虚拟地址与所述数据所属数据类别对应的存储设备的标识信息之间的第二映射关系;接收模块,用于接收所述应用程序运行过程中产生的缺页中断请求,所述缺页中断请求携带有所述应用程序请求分配的物理页对应的虚拟地址;第三获取模块,用于根据所述物理页对应的虚拟地址,查询所述第二映射关系,获取所述物理页所在的存储设备的标识信息;分配模块,用于根据所述物理页所在的存储设备的标识信息,为所述应用程序分配所述物理页。在第二方面的第一种可能的实现方式中,所述第一获取模块具体用于在所述应用程序的加载过程中,访问所述应用程序的命令行参数数组,从所述命令行参数数组中获取所述数据布局策略说明文件的路径信息,根据所述路径信息获取所述数据布局策略说明文件。在第二方面的第二种可能的实现方式中,所述第一获取模块具体用于在所述应用程序的加载过程中,访问所述应用程序的环境变量数组,从所述环境变量数组中获取表征所述数据布局策略说明文件的路径信息的环境变量值,根据所述环境变量值获取所述数据布局策略说明文件。结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述创建模块具体用于根据所述应用程序中数据的虚拟地址,为所述虚拟地址空间中所述应用程序使用的地址空间创建页表;根据所述应用程序对应的数据类别,将所述虚拟地址空间中所述应用程序使用的地址空间划分为进程虚拟内存区VMA。结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述记录模块具体用于确定所述数据所属数据类别对应的存储设备的标识信息,将所述数据所属数据类别对应的存储设备的标识信息记录到所述数据所属数据类别对应的数据结构中,以记录所述第二映射关系,将所述数据所属数据类别对应的数据结构存储到所述数据所属数据类别对应的VMA中;所述第三获本文档来自技高网...
存储空间分配方法及设备

【技术保护点】
一种存储空间分配方法,其特征在于,包括:获取数据布局策略说明文件,所述数据布局策略说明文件包括应用程序对应的各数据类别与混合内存中各存储设备之间的第一映射关系,所述混合内存包括至少两类存储设备;对所述数据布局策略说明文件进行解析,获取每种数据类别对应的存储设备的标识信息;根据所述应用程序中数据的虚拟地址,为所述应用程序创建虚拟地址空间,并记录所述数据的虚拟地址与所述数据所属数据类别对应的存储设备的标识信息之间的第二映射关系;接收所述应用程序运行过程中产生的缺页中断请求,所述缺页中断请求携带有所述应用程序请求分配的物理页对应的虚拟地址;根据所述物理页对应的虚拟地址,查询所述第二映射关系,获取所述物理页所在的存储设备的标识信息;根据所述物理页所在的存储设备的标识信息,为所述应用程序分配所述物理页。

【技术特征摘要】
1.一种存储空间分配方法,其特征在于,包括:存储空间分配设备获取数据布局策略说明文件,所述数据布局策略说明文件包括应用程序对应的各数据类别与混合内存中各存储设备之间的第一映射关系,所述混合内存包括至少两类存储设备;所述存储空间分配设备对所述数据布局策略说明文件进行解析,获取每种数据类别对应的存储设备的标识信息;所述存储空间分配设备根据所述应用程序中数据的虚拟地址,为所述应用程序创建虚拟地址空间,并记录所述数据的虚拟地址与所述数据所属数据类别对应的存储设备的标识信息之间的第二映射关系;所述存储空间分配设备接收所述应用程序运行过程中产生的缺页中断请求,所述缺页中断请求携带有所述应用程序请求分配的物理页对应的虚拟地址;所述存储空间分配设备根据所述物理页对应的虚拟地址,查询所述第二映射关系,获取所述物理页所在的存储设备的标识信息;所述存储空间分配设备根据所述物理页所在的存储设备的标识信息,为所述应用程序分配所述物理页。2.根据权利要求1所述的存储空间分配方法,其特征在于,所述存储空间分配设备获取数据布局策略说明文件包括:在所述应用程序的加载过程中,访问所述应用程序的命令行参数数组,从所述命令行参数数组中获取所述数据布局策略说明文件的路径信息;根据所述路径信息获取所述数据布局策略说明文件。3.根据权利要求1所述的存储空间分配方法,其特征在于,所述存储空间分配设备获取数据布局策略说明文件包括:在所述应用程序的加载过程中,访问所述应用程序的环境变量数组,从所述环境变量数组中获取表征所述数据布局策略说明文件的路径信息的环境变量值;根据所述环境变量值获取所述数据布局策略说明文件。4.根据权利要求1或2或3所述的存储空间分配方法,其特征在于,所述存储空间分配设备根据所述应用程序中数据的虚拟地址,为所述应用程序创建虚拟地址空间包括:所述存储空间分配设备根据所述应用程序中数据的虚拟地址,为所述虚拟地址空间中所述应用程序使用的地址空间创建页表;所述存储空间分配设备根据所述应用程序对应的数据类别,将所述虚拟地址空间中所述应用程序使用的地址空间划分为进程虚拟内存区VMA。5.根据权利要求4所述的存储空间分配方法,其特征在于,所述记录所述数据的虚拟地址与所述数据所属数据类别对应的存储设备的标识信息之间的第二映射关系包括:所述存储空间分配设备确定所述数据所属数据类别对应的存储设备的标识信息;所述存储空间分配设备将所述数据所属数据类别对应的存储设备的标识信息记录到所述数据所属数据类别对应的数据结构中,以记录所述第二映射关系;所述存储空间分配设备将所述数据所属数据类别对应的数据结构存储到所述数据所属数据类别对应的VMA中;所述存储空间分配设备根据所述物理页对应的虚拟地址,查询所述第二映射关系,获取所述物理页所在的存储设备的标识信息包括:所述存储空间分配设备根据所述物理页对应的虚拟地址,查询所述物理页的虚拟地址所在VMA中的数据结构,获取所述物理页对应的虚拟地址对应的存储设备的标识信息作为所述物理页所在的存储设备的标识信息。6.根据权利要求4所述的存储空间分配方法,其特征在于,所述记录所述数据的虚拟地址与所述数据所属数据类别对应的存储设备的标识信息之间的第二映射关系包括:所述存储空间分配设备确定所述数据所属数据类别对应的存储设备的标识信息;所述存储空间分配设备将所述数据所属数据类别对应的存储设备的标识信息记录到所述数据的虚拟地址对应的页表中,以记录所述第二映射关系;所述存储空间分配设备根据所述物理页对应的虚拟地址,查询所述第二映射关系,获取所述物理页所在的存储设备的标识信息包括:所述存储空间分配设备根据所述物理页对应的虚拟地址,查询所述物理页对应的虚拟地址对应的页表,获取所述物理页对应的虚拟地址对应的存储设备的标识信息作为所述物理页所在的存储设备的标识信息。7.根据权利要求1-3任一项所述的存储空间分配方法,其特征在于,所述存...

【专利技术属性】
技术研发人员:魏巍蒋德钧夏飞熊劲
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1