[发明专利]一种内存分配的方法及装置有效
申请号: | 201410471145.X | 申请日: | 2014-09-16 |
公开(公告)号: | CN104252419B | 公开(公告)日: | 2017-09-19 |
发明(设计)人: | 谢秀奇;裘稀石 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 分配 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,具体涉及一种内存分配的方法及装置。
背景技术
因内存的可靠性对计算机系统的可靠性影响很大。所以需要提高内存的可靠性,目前现有技术中通常采用镜像内存来提升内存可靠性。
镜像内存(Mirroring Memory)技术的工作原理:在硬件中划分两个内存区域,一个作为主内存,一个作为镜像内存,操作系统运行时将内存数据做两个拷贝,分别放在主内存和镜像内存中。因此使得内存数据有两套完整的备份。完整的镜像内存需要内存中的所有数据均存有副本,服务器系统正常运行时所使用的是原本,而当其中一份宿主失效时,另外那份就随即补替工作,有效防止了由于内存通道故障导致的数据丢失,极大提升了服务器可靠性。但是要实现这一功能需要双倍的物理内存,而实际容量的利用率只有50%。由于成本非常高,因此现实中很少有产品使用完整的镜像内存。
现有技术中已经出现了部分镜像内存技术,该技术可以将计算机系统中的一部分内存(比如某一段或几段内存地址区域)做镜像内存。但现有技术中的镜像内存只是停留在硬件层,操作系统并不感知硬件层,当硬件层的镜像内存发生变化时,操作系统中就不能准确的找到镜像内存,导致无法将数据准备的存储到镜像内存中,而且,由于镜像内存大小有限,而计算机系统在为数据分配镜像内存时,只会为先产生的数据分配镜像内存,镜像内存占满后,就无法再为其他需要分配镜像内存的数据分配镜像内存。
发明内容
为了解决现有技术中操作系统无法感知到镜像内存的变化,且在镜像内存大小有限的情况下,无法为需要分配镜像内存的数据分配镜像内存相比,本发明实施例提供的内存分配的方法,可以准确的找到镜像内存,并为需要存储到镜像内存的数据分配镜像内存,从而保证的有限镜像内存的使用效率,而且提高了系统的可靠性。本发明实施例还提供了相应的装置。
本发明第一方面提供一种内存分配的方法,所述方法应用于计算机系统中,所述计算机系统包括内存资源、基本输入输出系统BOIS和操作系统OS,所述内存资源中包含初始镜像内存,在所述操作系统运行时,所述方法包括:
获取所述初始镜像内存中未被占用的镜像内存,所述初始镜像内存为在所述OS初始化时所述BOIS向所述OS提供的镜像内存地址区间所指示的镜像内存;
对待分配内存的数据进行检测;
当检测到所述数据为待存储到镜像内存的数据时,从所述未被占用的镜像内存中为所述待存储到镜像内存的数据分配镜像内存。
结合第一方面,在第一种可能的实现方式中,所述对待分配内存的数据进行检测之前,所述方法还包括:
为内核数据和关键用户数据设置镜像标识,所述关键用户数据为用户指定的需要镜像存储的数据;
所述对待分配内存的数据进行检测,包括:
检测所述待分配内存的数据是否携带有所述镜像标识;
所述当检测到所述数据为待存储到镜像内存的数据时,从所述未被占用的镜像内存中为所述待存储到镜像内存的数据分配镜像内存,包括:
当检测到所述待分配内存的数据携带有所述镜像标识,确定所述待分配内存的数据为所述内核数据或所述关键用户数据,从所述未被占用的镜像内存中为所述内核数据或所述关键用户数据分配镜像内存。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
当所述待分配内存的数据为所述关键用户数据时,确定同一进程数据是否存储在所述初始镜像内存中,所述同一进程数据为在所述关键用户数据之前由产生所述关键用户数据的同一进程所产生的数据;
若所述同一进程数据未存储到所述镜像内存中,则将所述同一进程数据转移到所述初始镜像内存中。
结合第一方面、第一方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述从所述未被占用的镜像内存中为所述待存储到镜像内存的数据分配镜像内存,包括:
确定所述待存储到镜像内存的数据所属的预划分内存资源区域;
从所述所属的预划分内存资源区域的未被占用的镜像内存中,为所述待存储到镜像内存的数据分配镜像内存。
结合第一方面、第一方面第一种或第二种可能的实现方式,在第四种可能的实现方式中,所述从所述未被占用的镜像内存中为所述待存储到镜像内存的数据分配镜像内存之后,所述方法还包括:
为所述待存储到镜像内存的数据所分配的镜像内存的地址区间设置已占用标记。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410471145.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可调式胚胎冷冻细管标尺架
- 下一篇:一种安装在电线杆横担上的驱鸟防护罩