故障处理方法、装置、通信设备及存储介质与流程

文档序号:34603661发布日期:2023-06-29 02:05阅读:43来源:国知局
故障处理方法、装置、通信设备及存储介质与流程

本发明涉及物料管理领域,特别涉及一种故障处理方法、装置、通信设备及存储介质。


背景技术:

1、当前在分布式服务器应用场景中,有大量的资产信息需要时时监控健康状况,及时反馈给bmc或客户交互系统,提示客户及时处理。

2、现有技术中,当有内存错误产生时,硬件通过指令触发smi(system managementinterruption,系统管理中断)中断,触发cpu挂起当前的进程保存当前的状态,使bios(basic input output system,基本输入输出系统)进入smm(system management mode,系统管理模式)处理模式,此时cpu处于独立的操作环境系统级别的中断将会被关闭,在bios处理完内存错误信息的上报后,退出保护模式,然后恢复cpu进入smi中断的位置的状态和程序继续执行,然而针对该方案在实际开发和使用过程中,会因为内存错误导致频繁触发smi中断进入smm模式处理程序,从而导致cpu会被smm模式独占,所有软硬件中断处理暂停,系统os会被挂起,频繁进入smm模式会导致系统性能降低。


技术实现思路

1、本发明实施例的目的在于提供一种故障处理方法、装置、通信设备及存储介质,解决当内存错误频繁触发smi中断进入smm模式,在smi处理机制中时间过长导致系统性能降低的问题,具体技术方案如下:

2、在本发明实施的第一方面,首先提供了一种故障处理方法,应用于基本输入输出系统bios,所述bios包括阈值记录模块,所述方法包括:

3、在检测到第一内存状态信息为目标故障内存信息的情况下,向内存发送中断指令,以使所述内存触发系统管理中断smi,cpu进入系统管理模式smm;

4、在检测到所述cpu退出所述smm的情况下,标志位置位且在所述阈值记录模块中记录所述目标故障内存信息对应的故障次数;

5、在检测到所述故障次数达到预设阈值,且第二内存状态信息为所述目标故障内存信息的情况下,向所述cpu发送smm退出命令。

6、可选地,所述在检测到所述故障次数达到预设阈值的情况下,向所述cpu发送smm退出命令包括:

7、在检测到所述目标故障内存信息对应的故障次数达到预设阈值,且第二内存状态信息为所述目标故障内存信息的情况下,记录所述目标故障内存信息,并基于所述目标故障内存信息设置smi标识寄存器,其中,所述smi标识寄存器控制所述cpu屏蔽smm。

8、可选地,在所述在检测到第一内存状态信息为目标故障内存信息的情况下,向内存发送中断指令,以使所述内存触发系统管理中断smi,cpu进入系统管理模式smm的步骤之前,所述方法包括:

9、对服务器内存状态进行实时检测,获取第一内存状态信息。

10、可选地,在所述在检测到第一内存状态信息为目标故障内存信息的情况下,向内存发送中断指令,以使所述内存触发系统管理中断smi,cpu进入系统管理模式smm的步骤之后,所述方法包括:

11、向基板管理控制器bmc上报所述目标故障内存信息对应的处理程序,以使bmc记录所述目标故障内存信息。

12、可选地,所述在检测到所述cpu退出所述smm的情况下,标志位置位且在所述阈值记录模块中记录所述目标故障内存信息对应的故障次数包括:

13、当所述smi对应的处理程序完成故障处理时,向所述cpu发送执行恢复指令,以使所述cpu退出所述smm;

14、根据预先设置的标志位函数和所述执行恢复指令控制标志位置位,并且在所述阈值记录模块中记录所述目标故障内存信息对应的故障次数。

15、可选地,所述在检测到第一内存状态信息为目标故障内存信息的情况下,向内存发送中断指令,以使所述内存触发系统管理中断smi,cpu进入系统管理模式smm包括:

16、在检测到第一内存状态信息为目标故障内存信息的情况下,向内存发送中断指令,以使所述内存触发所述smi,cpu进入所述smm,所述cpu挂起当前任务进程并且保存当前任务状态。

17、可选地,所述第二内存状态信息为所述目标故障内存信息包括:

18、根据预先设置的标志位函数判断所述第二内存状态信息是否和所述第一内存状态信息相同;

19、若相同,则确定所述第二内存状态信息为所述目标故障内存信息。

20、在本发明实施的第二方面,还提供了一种故障处理装置,所述装置包括:

21、触发模块,用于在检测到第一内存状态信息为目标故障内存信息的情况下,向内存发送中断指令,以使所述内存触发系统管理中断smi,cpu进入系统管理模式smm;

22、记录模块,用于在检测到所述cpu退出所述smm的情况下,标志位置位且在所述阈值记录模块中记录所述目标故障内存信息对应的故障次数;

23、发送模块,用于在检测到所述故障次数达到预设阈值,且第二内存状态信息为所述目标故障内存信息的情况下,向所述cpu发送smm退出命令。

24、可选地,所述发送模块包括:

25、第一发送子模块,用于在检测到所述目标故障内存信息对应的故障次数达到预设阈值,且第二内存状态信息为所述目标故障内存信息的情况下,记录所述目标故障内存信息,并基于所述目标故障内存信息设置smi标识寄存器,其中,所述smi标识寄存器控制所述cpu屏蔽smm。

26、可选地,所述装置还包括:

27、获取模块,用于对服务器内存状态进行实时检测,获取第一内存状态信息。

28、可选地,所述装置还包括:

29、上报模块,用于向基板管理控制器bmc上报所述目标故障内存信息对应的处理程序,以使bmc记录所述目标故障内存信息。

30、可选地,所述记录模块包括:

31、第一记录子模块,用于当所述smi对应的处理程序完成故障处理时,向所述cpu发送执行恢复指令,以使所述cpu退出所述smm;

32、第二记录子模块,用于根据预先设置的标志位函数和所述执行恢复指令控制标志位置位,并且在所述阈值记录模块中记录所述目标故障内存信息对应的故障次数。

33、可选地,所述发送模块包括:

34、第二发送子模块,用于在检测到第一内存状态信息为目标故障内存信息的情况下,向内存发送中断指令,以使所述内存触发所述smi,cpu进入所述smm,所述cpu挂起当前任务进程并且保存当前任务状态。

35、可选地,所述发送模块包括:

36、第三发送子模块,用于根据预先设置的标志位函数判断所述第二内存状态信息是否和所述第一内存状态信息相同;

37、第四发送子模块,用于若相同,则确定所述第二内存状态信息为所述目标故障内存信息。

38、在本发明实施的第三方面,还提供了一种通信设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;

39、所述处理器,用于读取存储器中的程序实现如第一方面任一所述的故障处理方法。

40、在本发明实施的第六方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机实现如第一方面任一所述的故障处理方法。

41、本发明实施例提供的故障处理方法,应用于基本输入输出系统bios,所述bios包括阈值记录模块,通过在检测到第一内存状态信息为目标故障内存信息的情况下,向内存发送中断指令,以使所述内存触发系统管理中断smi,cpu进入系统管理模式smm;在检测到所述cpu退出所述smm的情况下,标志位置位且在所述阈值记录模块中记录所述目标故障内存信息对应的故障次数;在检测到所述故障次数达到预设阈值,且第二内存状态信息为所述目标故障内存信息的情况下,向所述cpu发送smm退出命令。本发明实施例中,通过增加在smi处理机制中标识位和设置阈值记录内存触发smi机制的次数,当超过阈值次数,自动屏蔽内存触发的smi中断,不在进入smm模式方法。改善同样内存问题引起的频繁进入smm模式导致系统性能降低甚至宕机卡住。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1