System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及存储,尤其涉及一种硬件错误的处理方法及计算设备。
技术介绍
1、内存软失效是指内存中某一个或多个比特bits位数据发生非预期错误,可能导致操作系统崩溃。内存软失效导致内存发生不可纠正错误。
2、不可纠正错误是指利用硬件无法进行修复的内存类错误,不可纠正错误会触发机器检查错误(machine check exception,mce),向操作系统上报预设中断号,例如中断号为18。mce是指处理器(central processing unit,cpu)发现硬件错误时触发的异常。此时操作系统对内存软失效进行处理。
3、目前,操作系统利用热复位方式对内存软失效的数据进行复位处理。然而,热复位方式是指在操作系统上电状态下对内存软失效的数据进行复位处理的方式,没有重新加载内存数据,无法及时有效对内存软失效的数据进行有效修复,导致内存软失效的数据继续扩散,造成错误污染,导致操作系统崩溃。
技术实现思路
1、本申请实施例提供了一种硬件错误的处理方法及计算设备,用于对内存软失效的数据进行及时有效复位,从而避免内存软失效,造成错误污染,避免操作系统崩溃。
2、第一方面,本申请实施例提供了一种硬件错误的处理方式,该方法包括:
3、响应于触发机器检查错误mce,获取硬件错误信息;根据硬件错误信息,确定错误类型是否为内存类错误;在错误类型为内存类错误的情况下,利用冷复位修复硬件错误。
4、本申请实施例在触发mce时,获取硬件错误信息,
5、在一种可能的方式中,若在错误类型为内存类错误的情况下,将置位标记设置为预设标记;预设标记用于指示错误类型为内存类错误;确定置位标记是否为预设标记;若置位标记是预设标记,利用冷复位修复硬件错误。
6、进一步地,若置位标记不是预设标记,利用热复位修复硬件错误。
7、由此,后续流程只需要根据置位标记的内容执行相应的操作即可。由于不需要将过多的信息上传至复位流程,复位流程也不需要根据过多的信息确定复位操作,因此,有助于提升复位流程的处理效率。
8、在另一种可能的实现方式中,硬件错误信息包括预设寄存器的错误码;
9、确定预设寄存器的错误码是否满足预设数据格式;若预设寄存器的错误码满足预设数据格式,确定错误类型为内存类错误。
10、在又一种可能的实现方式中,预设寄存器为mci_status寄存器;预设寄存器的错误码为mci_status寄存器的bit[15:0]位数据;预设数据格式为bit[15:7]位为000f00001;确定mci_status寄存器的bit[15:7]位是否为000f 0000 1;若mci_status寄存器的bit[15:7]位是000f 0000 1,确定错误类型为内存类错误。本申请实施中的硬件错误信息选择服务器中原有的mci_status预设寄存器,利用mci_status预设寄存器本身具有的识别错误功能,对服务器改动量少。即本申请实施例具有更好的兼容性和适配性。
11、在又一种可能的实现方式中,获取mci_status寄存器的bit7位数据;确定bit7位数据是否为1;若mci_status寄存器的bit7位数据是1,获取mci_status寄存器的bit[6:4]位数据;确定bit[6:4]位数据是否为预设值;其中,预设值为000、001、010、011或100;若bit[6:4]位数据为预设值;确定错误类型为内存类错误。由此实现在准确判断错误类型的基础上,提高判断速度。
12、获取mci_status寄存器的bit11位数据;确定bit11位数据是否为0;若bit11位数据为0,获取mci_status寄存器的bit7位数据。进一步提高判断准确度。
13、在另一种可能的实现方式中,触发机器检查错误mce的条件包括以下任一种:
14、硬件错误为可恢复错误中的软件必须处理srar错误,且修复失败、在硬件错误为可恢复错误中的软件选择处理srao错误,且cpu不支持修复或在硬件错误为致命错误。
15、可选地,利用冷复位修复硬件错误,包括:调用冷复位通知链,冷复位通知链表示执行冷复位修复的操作流程;利用冷复位通知链进行冷复位修复操作。如此,计算设备可以根据需要了解对应的第三方功能模块,进一步提高方法的通用性。
16、第二方面,本申请实施例提供了一种计算设备,计算设备包括存储器和处理器;存储器和处理器耦接;
17、存储器用于存储程序指令;处理器用于调用程序指令,以使计算设备执行如第一方面任一项的方法。
18、第三方面,本申请实施例还提供了一种计算机可读存储介质,其上储存有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述第一方面任一种可能的硬件错误处理方法的操作步骤。
19、第四方面,本申请实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得第一方面任一种可能的硬件错误处理方法的操作步骤。
20、第五方面,本申请实施例提供了一种硬件错误的处理装置,该装置包括:
21、响应单元,用于响应于触发机器检查错误mce,获取硬件错误信息;
22、判断单元,用于根据硬件错误信息,确定错误类型是否为内存类错误;
23、修复单元,用于在错误类型为内存类错误的情况下,利用冷复位修复硬件错误。
24、需要说明的是,上述第二方面至第五方面的技术方案所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
本文档来自技高网...【技术保护点】
1.一种硬件错误的处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述方法,其特征在于,所述在所述错误类型为所述内存类错误的情况下,所述方法还包括:
3.根据权利要求2所述方法,其特征在于,所述方法还包括:
4.根据权利要求1-3任一项所述方法,其特征在于,所述硬件错误信息包括预设寄存器的错误码;
5.根据权利要求4所述方法,其特征在于,所述预设寄存器为MCi_STATUS寄存器;所述预设寄存器的错误码为MCi_STATUS寄存器的bit[15:0]位数据;所述预设数据格式为bit[15:7]位为000F 0000 1;
6.根据权利要求4所述方法,其特征在于,若所述预设寄存器的错误码满足所述预设数据格式,确定所述错误类型为所述内存类错误,包括:
7.根据权利要求6所述方法,其特征在于,在所述获取所述MCi_STATUS寄存器的bit7位数据之前,所述方法还包括:
8.根据权利要求1-7任一项所述方法,其特征在于,所述触发机器检查错误MCE的条件包括以下任一种:
9.根据权利要
10.一种计算设备,其特征在于,所述计算设备包括存储器和处理器;所述存储器和所述处理器耦接;
...【技术特征摘要】
1.一种硬件错误的处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述方法,其特征在于,所述在所述错误类型为所述内存类错误的情况下,所述方法还包括:
3.根据权利要求2所述方法,其特征在于,所述方法还包括:
4.根据权利要求1-3任一项所述方法,其特征在于,所述硬件错误信息包括预设寄存器的错误码;
5.根据权利要求4所述方法,其特征在于,所述预设寄存器为mci_status寄存器;所述预设寄存器的错误码为mci_status寄存器的bit[15:0]位数据;所述预设数据格式为bit[15:7]位为000f 0000 1;
【专利技术属性】
技术研发人员:陈玮,
申请(专利权)人:超聚变数字技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。