[发明专利]错误恢复的方法和装置有效
| 申请号: | 201910473113.6 | 申请日: | 2019-05-31 |
| 公开(公告)号: | CN112015599B | 公开(公告)日: | 2022-05-13 |
| 发明(设计)人: | 耿东久;李硕;梁永祥;林强敏 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F11/16 | 分类号: | G06F11/16 |
| 代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 王君;肖鹂 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 错误 恢复 方法 装置 | ||
1.一种错误恢复的方法,其特征在于,包括:
接收中断,所述中断是在第一中央处理单元CPU和第二CPU处于锁步模式时,第一CPU发生错误触发的;
响应于所述中断,所述第一CPU和所述第二CPU退出锁步模式;
确定所述错误的类型;
基于所述错误的类型为可恢复错误,根据正确运行的所述第二CPU在中断时的状态,对所述第一CPU进行错误恢复;
其中,所述根据正确运行的所述第二CPU在中断时的状态,对所述第一CPU进行错误恢复,包括:
通过所述第一CPU与所述第二CPU之间的硬件通道获取所述第二CPU在中断时的软件可见的CPU上下文,并根据所述第二CPU的软件可见的CPU上下文更新所述第一CPU的软件可见的CPU上下文,其中,所述CPU上下文包括系统寄存器的值和通用寄存器的值;
其中,所述确定所述错误的类型,包括:
根据所述第一CPU对应的高级配置和电源管理接口ACPI表格,确定所述错误的类型,其中,所述ACPI表格用于记录轮询CPU的可靠性、可用性、可服务性RAS节点的状态寄存器时发现的错误;或者
轮询所述第一CPU的RAS节点的状态寄存器,以确定所述错误的类型。
2.根据权利要求1所述的方法,其特征在于,所述根据正确运行的所述第二CPU在中断时的状态,对所述第一CPU进行错误恢复,包括:
从内存中获取所述第二CPU在中断时的软件可见的CPU上下文,并根据所述第二CPU在中断时的软件可见的CPU上下文更新所述第一CPU中的软件可见的CPU上下文,其中,所述CPU上下文包括系统寄存器的值和通用寄存器的值。
3.根据权利要求2所述的方法,其特征在于,还包括:
将所述第二CPU在中断时的软件可见的CPU上下文,以及缓存中的数据保存到内存中。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
在更新所述第一CPU的软件可见的CPU上下文之后,分别重置所述第一CPU和所述第二CPU各自的非软件可见的微架构状态,并保留所述第一CPU和所述第二CPU各自的软件可见的CPU上下文,使得所述第一CPU和所述第二CPU重新进入锁步模式。
5.根据权利要求1所述的方法,其特征在于,所述根据正确运行的所述第二CPU在中断时的状态,对所述第一CPU进行错误恢复,包括:
所述第一CPU和所述第二CPU分别重置,并执行初始化指令,使得所述第一CPU和所述第二CPU重新进入锁步模式,其中,所述初始化指令包括所述第二CPU在中断时的软件可见的CPU上下文,所述初始化指令用于将所述软件可见的CPU上下文恢复为所述第二CPU在中断时的软件可见的CPU上下文,所述CPU上下文包括系统寄存器的值和通用寄存器的值。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述中断是由中断控制器发送的,其中,所述中断控制器在比较电路确定所述第一CPU和所述第二CPU的输出不一致时向所述第一CPU和所述第二CPU发送所述中断。
7.根据权利要求6所述的方法,其特征在于,所述第一CPU和所述第二CPU的输出包括CPU内部总线输出、外部总线输出和层3缓存控制逻辑输出中的至少一种。
8.根据权利要求7所述的方法,其特征在于,所述确定所述错误的类型,包括:
查询所述比较电路对应的RAS节点的状态寄存器,以确定所述错误的类型。
9.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
基于所述错误的类型为不可恢复错误,所述第一CPU和所述第二CPU停止运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910473113.6/1.html,转载请声明来源钻瓜专利网。





