[发明专利]一种内存数据迁移方法、装置及系统有效
申请号: | 201310086275.7 | 申请日: | 2013-03-18 |
公开(公告)号: | CN103198028A | 公开(公告)日: | 2013-07-10 |
发明(设计)人: | 裘稀石;吴建国 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/10 | 分类号: | G06F12/10 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 数据 迁移 方法 装置 系统 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种内存数据迁移方法、装置及系统。
背景技术
随着计算机技术的发展,内存数据迁移技术的应用范围越来越广泛,如内存热备、热节点插拔、节能等RAS(Reliability,Availability and Serviceability,可靠性、可用性、可服务性)技术都是基于或者用到内存数据迁移技术。所述内存数据迁移,是把内存上的数据从一个地方迁移到另一个地方的技术,同时要求在内存数据迁移过程中保证系统正常运行,不出现死机现象。
现有技术中,采用硬件实现内存数据迁移的方法如下:
当需要进行内存数据迁移时,系统中的内存控制器和BIOS(Basic Input Output System,基本输入输出系统)对备份内存初始化,然后把待迁移内存所在内存块中的所有数据拷贝到备份内存,当数据拷贝完成后停用待迁移内存所在内存块,启用备份内存;因为所述备份内存的物理地址与所述待迁移内存的物理地址之间存在镜像关系,这样对操作系统来说,迁移前后访问待迁移内存存储的数据的物理地址并没发生改变,但实际使用的物理内存设备已经改变。该方法虽然能实现内存的迁移,但是迁移时要迁移待迁移内存所在内存块中的所有数据。当系统只需对几个物理内存页进行迁移时,采用这种方法必然会造成资源的浪费。
针对用硬件实现内存数据迁移所产生的问题,现有技术中从软件层面做了一些改进,方法如下:
当需要进行内存数据迁移时,系统首先分配新的物理内存给待迁移内存,接着删除所述待迁移内存中的数据的虚拟地址与待迁移内存的物理地址之间的映射关系,然后将所述待迁移内存中的数据拷贝到所述新的物理内存中,并建立所述待迁移内存中的数据的虚拟地址与新的物理内存的物理地址之间的映射关系。但因为Linux操作系统对内存数据迁移的支持还不够完善,用户态任务可以被睡眠或打断,内核态任务由于具有最高优先级,不能被打断,如果运行过程中被打断则可能面临死机的危险,所以目前Linux操作系统一般只有对用户态程序使用的内存才可以进行内存数据迁移,对内核态的内存(即内核使用的内存)是无法迁移的,随着Linux应用越来越广,目前急需解决对内核态内存的数据的迁移问题。
发明内容
本发明的实施例提供一种内存数据迁移方法、装置及系统,能够实现内核态内存数据的迁移,并且适用于用户态内存数据的迁移。
本发明的实施例采用如下技术方案:
第一方面,提供了一种内存数据迁移方法,所述方法包括:
当前处理器核接收内存数据迁移的指示信息,所述指示信息用于指示迁移第一内存上的待迁移数据;
通知其它处理器核进入静默Stop-machine状态;
分配第二内存给所述第一内存上的待迁移数据;
将所述第一内存上的待迁移数据存储到所述第二内存上;
基于所述第二内存的物理地址,修改所述待迁移数据的地址映射信息,其中,所述修改后的地址映射信息表示在数据迁移完成后,所述待迁移数据的虚拟地址与所述第二内存上所述待迁移数据所占用的物理地址之间的映射关系,其中所述待迁移数据在迁移前后的虚拟地址保持不变。
在第一种可能的实现方式中,根据第一方面,所述第一内存存放内核态数据。
在第二种可能的实现方式中,根据第一种可能的实现方式,所述第一内存为对等映射区中内核态数据的内存;
所述基于所述第二内存的物理地址,修改所述待迁移数据的地址映射信息,其中,所述修改后的地址映射信息表示在数据迁移完成后,所述待迁移数据的虚拟地址与所述第二内存上所述待迁移数据所占用的物理地址之间的映射关系,其中所述待迁移数据在迁移前后的虚拟地址保持不变,包括:
基于所述第二内存的物理地址,修改所述待迁移数据所在的对等映射区对应的页表中所述待迁移数据的地址映射信息,其中,所述修改后的地址映射信息表示在数据迁移完成后,所述待迁移数据的虚拟地址与所述第二内存上所述待迁移数据所占用的物理地址之间的映射关系,其中所述待迁移数据在迁移前后的虚拟地址保持不变。
在第三种可能的实现方式中,根据第一种可能的实现方式,所述第一内存为虚拟内存映射Vmemmap区中内核态数据的内存;
所述基于所述第二内存的物理地址,修改所述待迁移数据的地址映射信息,其中,所述修改后的地址映射信息表示在数据迁移完成后,所述待迁移数据的虚拟地址与所述第二内存上所述待迁移数据所占用的物理地址之间的映射关系,其中所述待迁移数据在迁移前后的虚拟地址保持不变,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310086275.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:避难硐室供氧装置
- 下一篇:一种远程控制方法及系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置