[发明专利]一种多核在线补丁方法和装置有效
申请号: | 201010505514.4 | 申请日: | 2010-10-13 |
公开(公告)号: | CN102135894A | 公开(公告)日: | 2011-07-27 |
发明(设计)人: | 强鸿斐;雷镇;姚芳兵 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 在线 补丁 方法 装置 | ||
1.一种多核在线补丁方法,其特征在于,包括:
分离补丁中定义的共享全局变量和私有全局变量;
将所述共享全局变量采用直接内存地址映射方式映射到补丁区的共享数据段,将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段。
2.根据权利要求1所述的方法,其特征在于,所述分离补丁中定义的共享全局变量和私有全局变量包括:
将补丁中的私有全局变量定义为结构体变量,且结构体大小为补丁区的每个核私有数据段大小;
在所述结构体变量的成员变量定义完成后,对剩余空间使用魔术字分割,魔术字之前为有效数据;
在补丁文件写作时,将补丁中的共享全局变量和所述私有全局变量放置在不同的数据段中。
3.根据权利要求2所述的方法,其特征在于,所述将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段具体为:
提取所述私有全局变量的有效数据,并按照定义的结构体大小间隔,采用直接内存地址映射方式或者采用高速缓存总线访问地址映射方式分别映射到补丁区的每个核的私有数据段。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将核私有内存的函数指令和核私有数据备份到补丁区的数据备份区。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
补丁初始化时,对所有核配置同映像的同步掩码表;
在多核中某个核进入异常时,若同步掩码表中存在该异常核,则从同步掩码表中去除所述异常核的同步掩码标志;
在所述异常核复位之后,根据补丁区的数据备份区恢复补丁状态,并在补丁状态恢复成功之后,将去除的同步掩码标志重新添加至同步掩码表;
补丁激活时,操作核根据最新的同步掩码表向在位的从核发起同步消息。
6.一种多核在线补丁装置,其特征在于,包括:
变量分离单元,用于分离补丁中定义的共享全局变量和私有全局变量;
映射单元,用于将所述共享全局变量采用直接内存地址映射方式映射到补丁区的共享数据段,将所述私有全局变量采用用户指定变量地址映射方式映射到补丁区的私有数据段。
7.根据权利要求6所述的装置,其特征在于,所述变量分离单元包括:
结构体定义模块,用于将补丁中的私有全局变量定义为结构体变量,且结构体大小为补丁区的每个核私有数据段大小;
魔术字分割模块,用于在所述结构体变量的成员变量定义完成后,对剩余空间使用魔术字分割,魔术字之前为有效数据;
放置模块,用于在补丁文件写作时,将补丁中的共享全局变量和所述私有全局变量放置在不同的数据段中。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
备份单元,用于将核私有内存的函数指令和核私有数据备份到补丁区的数据备份区。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
掩码表处理单元,用于补丁初始化时,对所有核配置同映像的同步掩码表,在多核中某个核进入异常时,若同步掩码表中存在该异常核,则从同步掩码表中去除所述异常核的同步掩码标志,在所述异常核复位之后,根据补丁区的数据备份区恢复补丁状态,并在补丁状态恢复成功之后,将去除的同步掩码标志重新添加至同步掩码表。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
同步单元,用于补丁激活时,操作核根据所述掩码表处理单元处理的最新的同步掩码表向在位的从核发起同步消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010505514.4/1.html,转载请声明来源钻瓜专利网。