一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种获取故障集成模块的故障信息的方法及其相关设备与流程

2022-11-30 09:44:42 来源:中国专利 TAG:


1.本技术实施例涉及硬件领域,尤其涉及一种获取故障集成模块的故障信息的方法及其相关设备。


背景技术:

2.随之互联网行业的飞速发展,中央处理器(central processing unit,cpu)的集成模块逐渐增多,超过了记录故障信息的机器检查故障域(machine check bank,mcbank)即记录故障信息的寄存器片区的最大规格数量。
3.因此cpu采用了按类合并各个集成模块,用一个mcbank故障域记录多个集成模块的故障信息。但是基于mcbank记录的故障信息只能确定该mcbank记录的这一类集成模块出现故障,但无法精确定位到故障的具体模块,定位故障源精度较低。


技术实现要素:

4.本技术提供了一种获取故障集成模块的故障信息的方法及其相关设备,应用于硬件领域中。该获取故障集成模块的故障信息的方法及其相关设备能够从带内获取信息并精准确定故障集成模块,且适用于带内和带外的故障诊断场景。
5.第一方面,提供了一种获取故障集成模块的故障信息的方法,应用于处理器,该处理器包括处理单元和至少一个故障状态寄存器,该方法包括:
6.处理单元接收故障指示,该故障指示用于表示集成模块有故障发生;
7.处理单元确定目标机器检查故障域mcbank,其中,有故障发生的集成模块的标识位于目标mcbank中;
8.处理单元获取目标mcbank对应的至少两个集成模块的标识;
9.处理单元根据标识获取所述至少一个故障状态寄存器的信息;
10.处理单元根据故障状态寄存器的信息确定至少一个集成模块为故障集成模块;
11.处理单元从目标mcbank获取故障集成模块的故障信息,该故障信息包括故障集成模块的故障类型、故障时刻,或故障内容中的至少一个。
12.在本技术的实施方式中,处理单元首先可以从记录故障信息的mcbank中获取到故障信息,再根据故障寄存器的信息确定故障信息对应的故障集成模块,实现了带内定位发生故障的集成模块,降低了采集延时,且适用于具备带内故障诊断系统和带外故障诊断系统的应用场景。
13.在第一方面的一种可能的实现方式中,处理单元根据至少两个集成模块的标识分别获取对应的故障状态寄存器的不同地址的信息。
14.在本技术的实施方式中,通过一个故障状态寄存器的不同地址对应不同的集成模块,实现了实时监控一个mcbank关联的多个集成模块的故障状态。
15.在第一方面的一种可能的实现方式中,处理单元根据至少两个集成模块的标识分别获取对应的至少两个故障状态寄存器的信息。
16.在本技术的实施方式中,通过多个故障状态寄存器分别实时监控一个mcbank关联的不同集成模块的故障状态,增加了方案的应用场景以及方案的灵活性。
17.在第一方面的一种可能的实现方式中,故障状态寄存器的信息包括故障码,则从所述目标mcbank获取所述故障集成模块的故障信息包括:
18.当处理单元确定多个所述故障集成模块时,根据所述故障码确定每个故障集成模块对应的故障信息。
19.在第一方面的一种可能的实现方式中,处理单元遍历每一个mcbank,并基于每一个mcbank的有效位的值确定目标mcbank。
20.在本技术的实施方式中,遍历所有的mcbank,并基于每一个mcbank的有效位的值确定目标mcbank能精准定位记录故障的mcbank,提高方案的可靠性。
21.在第一方面的一种可能的实现方式中,处理单元从目标mcbank获取故障信息,该故障信息包括故障类型、故障时刻和/或故障内容等信息,且处理单元还向故障诊断系统发送故障信息以及故障集成模块的标识,该故障诊断系统用于基于故障信息以及故障集成模块的标识分析定位故障和/或修复故障。
22.在本技术的实施方式中,向故障诊断系统发送故障信息以及故障集成模块的标识,故障诊断系统可以根据该故障信息以及故障集成模块的标识进行精准定位,进而高精度的进行故障诊断。且基于故障集成模块的精准定位,还能精确的隔离故障集成模块,进而减少产品维护成本,减少系统宕机概率。
23.在第一方面的一种可能的实现方式中,故障诊断系统至少包括操作系统os和/或基本管理控制器bmc系统。
24.在本技术的实施方式中,本方案适用于带内os的诊断系统,且同时也适用于带外bmc的诊断系统。
25.第二方面,一种处理装置,其特征在于,应用于处理器,该处理器包括处理装置和至少一个故障状态寄存器,该处理装置包括:
26.接收模块,用于接收故障指示,该故障指示用于表示集成模块有故障发生。
27.处理模块,用于确定目标mcbank,其中,有故障发生的集成模块的标识位于目标mcbank中。
28.获取模块,用于获取目标mcbank对应的至少两个集成模块的标识和根据标识获取至少一个故障状态寄存器的信息。
29.处理模块,还用于根据信息确定至少一个集成模块为故障集成模块。
30.获取模块,还用于从目标mcbank获取故障集成模块的故障信息,故障信息包括故障集成模块的故障类型、故障时刻,或故障内容中的至少一个。
31.在本技术的实施方式中,在接收模块接收到故障指示后,处理模块能确定目标mcbank,并且获取模块能够获取目标mcbank对应的集成模块的标识,并根据标准获取至少一个故障状态寄存器的信息,其处理模块还能根据获取到的信息确定至少两个集成模块的状态,且根据状态确定故障集成模块,实现了带内定位发生故障的集成模块,降低了采集延时,且适用于具备带内故障诊断系统和带外故障诊断系统的应用场景。
32.在第二方面的一种可能的实现方式中,获取模块,具体用于根据至少两个集成模块的标识分别获取对应的一个故障状态寄存器的不同地址的信息。
33.在本技术的实施方式中,通过一个故障状态寄存器的不同地址对应不同的集成模块,实现了实时监控一个mcbank关联的多个集成模块的故障状态。
34.在第二方面的一种可能的实现方式中,获取模块,具体用于根据至少两个集成模块的标识分别获取对应的至少两个故障状态寄存器的信息。
35.在本技术的实施方式中,通过多个故障状态寄存器分别实时监控一个mcbank关联的不同集成模块的故障状态,增加了方案的应用场景以及方案的灵活性。
36.在第二方面的一种可能的实现方式中,故障状态寄存器的信息包括故障码,则获取模块还用于当处理单元确定多个所述故障集成模块时,根据故障码确定每个故障集成模块对应的故障信息。
37.在第二方面的一种可能的实现方式中,处理模块,具体用于遍历每一个mcbank,并基于每一个mcbank的有效位的值确定目标mcbank。
38.在本技术的实施方式中,遍历所有的mcbank,并基于每一个mcbank的有效位的值确定目标mcbank能精准定位记录故障的mcbank,提高方案的可靠性。
39.在第二方面的一种可能的实现方式中,获取模块,还用于从目标mcbank获取故障信息,其中故障信息包括故障类型、故障时刻和/或故障内容。
40.且处理装置还包括发送模块,该发送模块用于向故障诊断系统发送故障信息以及故障集成模块的标识,其中该故障诊断系统用于基于故障信息以及故障集成模块的标识分析定位故障和/或修复故障。
41.在第二方面的一种可能的实现方式中,故障诊断系统至少包括操作系统(operating system,os)和/或基本管理控制器(baseboard management controller,bmc)系统。
42.第三方面,提供了一种电子设备,该电子设备具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
43.在本技术的实施方式中第三方面的电子设备执行本技术第一方面或第一方面任意一种可能实现方式所描述的方法。
44.第四方面,提供了一种电子设备,该电子设备包括前述第二方面的一个或多个处理装置。
45.第五方面,提供另一种电子设备,可以包括处理器、存储器、bmc芯片,该处理器与存储器以及bmc芯片耦合,处理器用于执行本技术第一方面或第一方面任意一种可能实现方式所描述的方法。
46.第六方面,提供另一种电子设备,可以包括处理器,该处理器包括至少一个处理装置以及至少一个故障状态寄存器,且处理器与存储器耦合,该存储器用于存储指令,其中处理装置用于执行存储器中的指令使得该电子设备执行本技术第一方面或第一方面任意一种可能实现方式所描述的方法。
47.第七方面,提供另一种电子设备,包括处理器,用于执行存储器中存储的计算机程序(或计算机可执行指令),当计算机程序(或计算机可执行指令)被执行时,使得执行如第一方面及第一方面各个可能的实现方式中的方法。
48.在一种可能的实现中,处理器和存储器集成在一起;
49.在另一种可能的实现中,上述存储器位于该电子设备之外。
50.该电子设备还包括通信接口,该通信接口用于该电子设备与其他设备进行通信,例如数据和/或信号的发送或接收。示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。
51.第八方面提供一种计算机可读存储介质,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得本技术第一方面、第一方面任一种可能实现方式所描述的方法被执行。
52.第九方面,提供一种计算机程序产品,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得本技术第一方面、第一方面任一种可能实现方式所描述的方法被执行。
附图说明
53.图1为mcbank与集成模块的对应关系的一个示意图;
54.图2为mcbank与集成模块的对应关系的另一个示意图;
55.图3a为本技术实施例提供的服务器系统的一个架构示意图;
56.图3b为本技术实施例提供的一个cpu的结构示意图;
57.图4为本技术实施例提供的获取故障集成模块的故障信息的方法的一个流程示意图;
58.图5为本技术实施例提供的获取故障集成模块的故障信息的一个流程示意图;
59.图6为本技术实施例提供的upi应用场景的一个示意图;
60.图7为本技术实施例提供的m2m应用场景的一个示意图;
61.图8为本技术实施例提供的处理装置的一个结构示意图;
62.图9为本技术实施例提供的电子设备的一个结构示意图。
具体实施方式
63.本技术实施例提供了一种获取故障集成模块的故障信息的方法及其相关设备,应用于硬件领域中。该获取故障集成模块的故障信息的方法及其相关设备能够从带内获取信息并精准确定故障集成模块,且适用于带内和带外的故障诊断场景。
64.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
65.在介绍本技术实施例之前,先对合并mcbank方案的相关内容进行简单说明,以便于后续理解本技术实施例。
66.为便于理解,下面举例说明将cpu中的集成模块按类合并,并用一个mcbank记录多个集成模块的故障信息的具体实现。
67.首先请参阅图1,图1为mcbank与集成模块的对应关系的一个示意图。其图1表示的
是cpu的集成模块与mcbank的对应关系,即每个mcbank对应一个集成模块。其中machine bank id为mcbank的标识号(identity document,id),用于区别不同的mcbank,processor module为cpu的集成模块,merged status表示mcbank记录的集成模块。具体的,图1中id为7的mcbank对应的集成模块是将内存控制节点0(mesh to memory,m2m)即内存控制器连接到网络总线的节点模块,id为8的mcbank对应的集成模块是m2m1,id为5的mcbank对应的集成模块是超速路径互联(ultra path interconnect,upi)0,id为12的mcbank对应的集成模块是upi1,id为19的mcbank对应的集成模块是upi2。
68.因此当cpu的集成模块的数量超过mcbank的数量时,可以采用将cpu的集成模块按类合并,然后用一个mcbank记录多个集成模块的故障信息。具体请参阅图2,图2为mcbank与集成模块的对应关系的另一个示意图。其图2表示的是cpu集成模块与mcbank的对应关系,即一个mcbank对应多个集成模块。其中,id为5的mcbank,且对应被合并为upi类的upi0、upi1、upi2以及upi3,且将mcbank5定义为upi bank用于表示记录的是upi类的集成模块的故障信息。而id为12的mcbank,且对应被合并为m2m类的m2m0,m2m1,m2m2以及m2m3,且将mcbank12定义为m2m bank用于表示记录的是m2m类的集成模块的故障信息。
69.然后,cpu基于mcbank记录的故障信息确认某类集成模块发生故障,并向故障诊断系统上报故障信息,以便于诊断故障。具体的,其中当上述图2中的upi1发生故障时,cpu中的机器检查架构(machine check architecture,mca)会检测到有故障发生,该mca用于检测和记录故障信息,具体的当upi1发生故障时,mca检测到与upi1的连线的电平发生变化,以此确定发生故障,可选的,可以是电平从高到低变化,或从低到高变化,可以理解的是,实现情况中可以根据具体需求确定,具体此处不做限定。然后mca在mcbank5也就是upi bank中记录故障信息。然后cpu基于mcbank5中存在故障信息,确定upi类集成模块发生故障,然后向故障诊断系统上报故障信息,该故障信息指示upi类集成模块故障的信息,然后故障诊断系统基于该故障信息进行故障诊断,具体例如故障分享、定位以及预告警等。可选的,故障诊断系统可以是基板管理控制器(baseboard management controller,bmc)系统或者操作系统(operating system,os)。
70.但是,基于mcbank5中存在故障信息只能确认upi类集成模块发生故障,无法确定具体是upi0、upi1、upi2或upi3中的某一个或某几个发生故障,因此无法精确定位发生故障的模块。
71.为解决上述所述问题,本技术实施例首先提供了一种获取故障集成模块的故障信息的方法及其相关设备,应用于处理器,该处理器包括处理单元和至少一个故障状态寄存器。其中,处理单元接收故障指示,该故障指示用于表示故障集成模块有故障发生。然后处理单元确定目标机器检查故障域mcbank,且故障集成模块的标识位于mcbank中。并获取目标mcbank对应的至少两个集成模块的标识,然后处理单元根据标识获取至少一个故障状态寄存器的信息,再根据获取到的信息确定至少两个集成模块的状态,状态包括集成模块处于故障状态或集成模块处于无故障状态,然后确定状态为故障状态的至少一个集成模块为故障集成模块。以此实现了cpu带内定位发生故障的集成模块,降低了采集延时,且适用于具备带内故障诊断系统和带外故障诊断系统的应用场景。
72.示例性的,为便于理解本技术实施例,下面先以服务器的硬件组成结构发生故障并执行对应的操作作为示例进行说明。首先,先对服务器系统进行简单说明,具体请参阅图
3a,图3a为本技术实施例提供的服务器的一个架构示意图。其中,服务器的硬件至少包括处理器、互联线缆以及内存,处理器以及内存通过互联线缆相连。且在服务器的处理器即cpu上可以运行基本输入输出系统(basic input output system,bios),以及os和/或连接带外bmc系统。当服务器的硬件组成结构发生故障时,cpu通过运行bios采集故障信息,并上报给os和/或带外bmc系统,然后os和/或带外bmc系统根据故障信息进行故障诊断,进而维护服务器故障。
73.具体的,cpu包括众多的集成模块,当集成模块发生故障,bios会采取相应的措施采集故障信息并确定故障集成模块,然后将故障集成模块的端口id以及故障信息上报给带内os或带外bmc进行故障诊断。
74.为便于后续理解本技术实施例提供的获取故障集成模块的故障信息的方法,首先请参阅图3b的示例对cpu的组成结构进行简单的说明,图3b为本技术实施例提供的一个cpu的结构示意图。具体的,cpu300包括至少一个处理单元301、至少一个mca302、多个mcbank303、多个集成模块304以及至少一个故障状态寄存器。其中,处理单元301至少与mac302、mcbank303以及故障状态寄存器305相连,其中mca302与至少一个mcbank303以及至少一个集成模块304相连,且故障状态寄存器305与对应的集成模块304相连。可选的,可以多个集成模块304与一个故障状态寄存器305相连,也可以一个集成模块304与一个故障状态寄存器相连,可以理解的是,实际情况中由具体需求确定,具体此处不做限定。
75.基于前述图3b的cpu作为示例,为了更好的理解本技术的实施例,下面结合附图,对本技术的实施例提供的一种获取故障集成模块的故障信息的方法进行详细描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。具体请参阅图4,图4为本技术实施例提供的获取故障集成模块的故障信息的方法的一个流程示意图,具体包括:
76.401、mca检测到故障发生。
77.当上述示例图3b中的cpu的某个集成模块发生故障时,处理单元接收故障指示。示例性的cpu的mca会基于集成模块的电平变化确定该集成模块发生故障,并将该集成模块的故障信息记录到对应的mcbank中,并且该mca向处理单元发送中断,处理单元接收到该中断后确定有集成模块发生故障。
78.具体的,mca可以以时间为单位对故障进行采样,因此在每个单位采样时间内可能会检测到不止一个故障。
79.402、mca在mcbank中记录故障信息。
80.示例性的,如前述图2所示的示例,当upi0或m2m0发生故障,mca会在对应的upi bank或m2m bank记录故障的类型,故障的发生时刻以及故障的内容等等故障信息,可以理解的是,还能是其他故障相关的信息,具体此处不做限定。
81.具体的,由于cpu的集成模块的数量超过mcbank的数量,因此采用一个mcbank关联记录至少两个集成模块的故障信息,其中mcbank对应至少两个集成模块可以是通过mcbank的id与集成模块的标识对应关系进行确定。例如该标识可以是集成模块的端口号,示例性的可以如前述图2所示的示例,mcbank5即upi bank合并了端口id分别为0、1、2、3的upi模块,即merged status对应的upi0、upi1、upi2、upi3,mcbank12即m2m bank合并了端口id分别为0、1、2、3的m2m模块,即m2m0、m2m1、m2m2、m2m3。具体的,可以在cpu的寄存器手册中说明
mcbank对应的多个集成模块的端口id。可以理解的是,此处标识为端口id的示例仅仅用于理解本技术实施例,实现情况中还能给每个集成模块命名或以其他方式表示集成模块的标识,具体此处不做限定。
82.403、处理单元接收故障指示。
83.mca检测到故障发生会向处理单元发送故障指示,此处以中断作为故障指示的示例说明。示例性的,在mca单位采样时间内无论多少个mcbank具备故障信息,只会触发一次中断,因此无法确定具体具备故障信息的mcbank以及mcbank的数量。
84.为便于理解本技术实施例,下面以上述示例的upi模块或m2m模块发生故障的应用场景进行说明。且示例性地,当某个upi模块发生故障且被mca检测到,且upi类的集成模块均与upi bank关联,则mca在upi bank中记录该upi模块的故障信息。然后mca向处理单元发送故障指示。
85.示例性地,当某个m2m模块发生故障被mca检测到,且m2m类的集成模块均与m2m bank关联,则mca在m2m bank中记录该m2m模块的故障信息。然后mca向处理单元发送故障指示。
86.需要说明的是,此处以中断作为示例仅仅用于说明本技术实施例,不对本技术产生实质性的限定,可以理解的是,在实际情况中,还能以其他的形式实现故障指示,具体此处不做限定。
87.处理单元在接收故障指示后,由于故障指示仅仅用于告知处理单元有故障发生,无法确定具体具备故障信息的mcbank以及mcbank的数量,因此处理单元还需确定具备故障信息的目标mcbank。即执行步骤404:
88.404、处理单元读取mcbank的信息,确定目标mcbank。
89.具体的,处理单元在接收到故障指示后,会调用bios去遍历每一个mcbank,获取每一个mcbank的有效位的值,然后根据每一个mcbank的有效位的值确定对应的mcbank是否存在故障信息,其中,可以自定义mcbank寄存器地址中的某个比特位为有效位,且有效位的值可以定义置0表示该mcbank没有故障信息,置1表示该mcbank具备故障信息,或者置1表示该mcbank没有故障信息,置0表示该mcbank具备故障信息,可以理解的是,实际情况中可以根据具体需求确定,具体此处不做限定。
90.示例性的,处理单元根据upi bank的有效位的值为0或1确定upi bank具备故障信息,即upi类集成模块发生故障。或示例性地,处理单元根据m2m bank的有效位为0或1确定m2m bank具备故障信息,即m2m类集成模块发生故障。
91.处理单元确定目标mcbank后,若目标mcbank只对应一个集成模块,则该集成模块为故障集成模块。但是当目标mcbank对应指至少两个集成模块,则处理单元获取目标mcbank对应的至少两个集成模块的标识,并且cpu根据与目标mcbank对应的至少两个集成模块的标识获取至少一个故障状态寄存器的信息,并根据获取到的信息确定至少两个集成模块分别对应的状态(状态包括集成模块处于故障状态或集成模块处于无故障状态),且确定状态为故障状态的集成模块为故障集成模块,即故障集成模块为发生故障的集成模块。具体处理单元执行步骤405以及步骤406:
92.405、处理单元获取目标mcbank对应的集成模块的状态。
93.示例性的,处理单元调用bios基于映射关系确定与目标mcbank对应的集成模块,
并获取集成模块对应的故障状态寄存器的信息,并根据该信息确定对应的集成模块的状态,其中映射关系为目标mcbank与对应的集成模块的标识的对应关系。例如,基于前述图2所述的示例,可以基于目标mcbank确定与该目标mcbank对应的集成模块的标识以及对应的状态。
94.具体包括图5所示的以下步骤:
95.步骤405a、处理单元获取目标mcbank对应的第一集成模块的标识。
96.处理单元可以调用bios获取目标mcbank对应的第一集成模块的标识,第一集成模块可以为目标mcbank对应的所有集成模块中的一个。示例性地,此时目标mcbank为upi bank,与其upi bank对应的集成模块的标识分别为0、1、2、3的upi模块,第一集成模块可以为第一个集成模块,其标识为upi0。
97.步骤405b、处理单元调用bios根据第一集成模块的标识获取对应的状态。
98.处理单元调用bios根据集成模块的标识获取对应的故障状态寄存器的信息,并根据该信息确定对应的集成模块的状态。示例性的,处理单元可以根据集成模块的标识与故障状态寄存器的对应关系,获取标识对应的故障状态寄存器的信息。
99.需要说明的是,该cpu架构支持外设组件互连标准(peripheral component interconnect,pci)协议,在执行步骤401之前,可以采用配置空间寄存器(pci configuration space registers,csr)作为故障状态寄存器,该csr属于cpu内部的集成模块,以pci协议管理,相当于一个pci设备,且具备pci配置空间,因此可用于标识集成模块的状态。可以理解的是,还能以cpu内的其他的寄存器作为故障状态寄存器,具体此处不做限定。
100.在本技术的实施方式中,故障状态寄存器为cpu内部具备的寄存器,无需额外增加寄存器指示目标mcbank对应的集成模块的状态,节约了成本。
101.且可选的,故障状态寄存器的数量可以为一个或多个,增加了方案的可选择性,以及适用于更多的应用场景。
102.具体的,可以用一个故障状态寄存器中的不同地址对应不同的集成模块,用地址上的数值对应集成模块的状态。示例性地,可以用一个寄存器中的不同地址,例如地址0x0的值为0标识upi0的状态为无故障,地址0x0的值为1标识upi0的状态为故障,地址0x1的值为0标识upi1的状态为无故障,地址0x1的值为1标识upi1的状态为故障,同理用其他地址标识upi2以及upi3,可以理解的是,还能用其他数字、字符或字段标识集成模块的状态为无故障或故障,在实际情况中可以根据具体需求确定,具体此处不做限定。或者用一个地址中不同比特位标识各个upi模块的故障状态,例如[7:0]中,0比特位的值为0标识upi0的状态为无故障,0比特位的值为1标识upi0的状态为故障,1比特位的值为0标识upi1的状态为无故障,1比特位的值为1标识upi1的状态为故障,同理,用其他比特位标识upi2以及upi3,可以理解的是,还能以两个比特位标识一个集成模块的状态为无故障或故障,或多个比特位,可以理解的是,在实际情况中可以根据具体需求确定,具体此处不做限定。也就是说,当故障发生之后,故障状态寄存器可以检测对应集成模块的状态,例如当集成模块发生故障后,故障状态寄存器可以更改对应集成模块的地址的值。
[0103]
或者,也可以用多个故障状态寄存器分别标识不同集成模块的状态,示例性地,每个upi模块配置一个故障状态寄存器,且定义故障状态寄存器中的某个比特位或地址用于
标识对应的upi模块无故障或故障,具体的,可以定义该比特位为某个数字、字符或字段用于标识upi模块故障,具体此处不做限定。也就是说,当故障发生之后,故障状态寄存器可以检测对应集成模块的状态,当集成模块发生故障后,对应集成模块的故障状态寄存器可以改变值。
[0104]
处理单元得到第一集成模块的标识后,可以调用bios根据集成模块与故障状态寄存器之间的对应关系获取第一集成模块的标识对应的故障状态寄存器的信息,且该信息表示第一集成模块的状态。
[0105]
一种可能的实现方式中,上述处理单元基于集成模块的标识获取的至少一个故障状态寄存器的信息还包括故障码,当多个集成模块发生故障后,mcbank中存储的故障信息可能包括多个集成模块的故障信息,可以使用故障码用于匹配目标mcbank中每个集成模块分别对应的故障信息。
[0106]
重复执行步骤s405a和步骤405b直至满足结束的条件,其中,结束的条件可以为处理单元调用bios遍历完目标mcbank对应的所有的集成模块,则结束循环;或者,在步骤505b中,一旦处理单元调用bios获取到的状态标识为故障状态,则结束循环。
[0107]
然后执行步骤406,具体如下:
[0108]
步骤406、处理单元基于获取的集成模块的状态确定故障集成模块。
[0109]
具体的,当结束条件为,处理单元调用bios遍历完目标mcbank对应的所有的集成模块才停止循环时,在处理单元调用bios获取到目标mcbank对应的所有集成模块的状态之后,确定状态为故障状态的集成模块为故障集成模块。
[0110]
或者,当结束条件为,在步骤505b中,一旦处理单元调用bios获取到的状态标识为故障状态,就结束循环时,处理单元调用bios将最后一次循环中得到的状态为故障状态的集成模块作为故障集成模块。
[0111]
在本技术实施方式中,通过带内获取集成模块对应的状态进而确定具体发生故障的模块,以此可以精准定位故障源,提高带内定位精度。且通过带内从寄存器获取状态,避免通过带外(例如平台环境式控制接口(platform environment control interface,peci))获取集成模块对应的状态,能适用更多的应用场景,且减少了带外管理。
[0112]
可选的,在确定故障集成模块后,处理单元还执行步骤407,具体如下:
[0113]
步骤407、处理单元从目标mcbank获取记录的故障信息。
[0114]
示例性的,处理单元调用bios从upi bank获取mca记录的upi0发生故障的故障信息。或处理单元运行bios从m2m bank获取mvca记录的m2m0发生故障的故障信息。
[0115]
在本技术的实施方式中,获取故障信息能方便基于该故障信息进行分析定位以及修复故障。
[0116]
一种可能的实现方式中,当故障集成模块的数量为至少两个的情况下,上述获取的故障信息包括多个故障集成模块的故障信息。则处理单元可以将基于获取的至少一个状态寄存器的信息中的故障码,确定与各个故障集成模块对应的故障信息。具体的,故障信息包括不同故障码对应的故障信息,该故障码与获取的至少一个故障状态寄存器的信息中的故障码,而不同的集成模块的标识获取的故障状态寄存器的信息不同,即故障码不同,因此可根据获取的至少一个故障状态寄存器的信息中的故障码与故障信息中的故障码匹配,得到对应各个故障集成模块的故障信息。
[0117]
需要说明的是,在本技术的实施方式中步骤407与前述步骤405以及步骤406之间不作执行顺序的先后限定。
[0118]
在处理单元从目标mcbank获取故障信息后,cpu还可以执行步骤408,具体如下:
[0119]
408、处理单元发送故障信息以及故障集成模块的标识。
[0120]
具体的,处理单元在获取故障信息或者确定发生故障的故障集成模块后,调用bios向操作系统发送该故障信息以及故障集成模块的标识。然后操作系统可以根据该故障信息以及故障集成模块的标识进行精准定位,进而高精度的进行故障诊断。
[0121]
可选的,处理单元在获取故障信息或者确定发生故障的故障集成模块后,还可以调用bios向带外的bmc发送该故障信息以及故障集成模块的标识。然后bmc可以根据该故障信息以及故障集成模块的标识进行精准定位,进而高精度的进行故障诊断。
[0122]
一种可能的实现方式中,处理单元发送故障集成模块的标识以及与该标识对应的故障信息。由此可以更大程度的提高故障分析的精度,进而高精度的进行故障诊断。
[0123]
在本技术实施例中,处理单元在接收到故障指示后,确定具备故障信息的目标mcbank,并在带内获取与目标mcbank对应的集成模块的标识,并根据集成模块的标识获取对应的故障状态寄存器的信息,并根据该信息确定对应的状态,并确定状态为故障状态的集成模块为发生故障的故障集成模块,以此实现了在带内精准定位故障位置,提高了带内定位精度,且相比于带外定位故障集成模块的方式降低了采集延时,更加适用于带内os的诊断系统,且同时也适用于带外bmc的诊断系统。且基于故障集成模块的精准定位,还能精确的隔离故障集成模块,进而减少产品维护成本,减少系统宕机概率。
[0124]
为了更形象的理解本技术实施例,下面通过两个具体的应用场景作为示例进行简单说明。首先请参阅图6的示例,图6为本技术实施例提供的upi应用场景的一个示意图。其中以cpu的upi模块出现故障为例说明,该应用场景中的csr可以命名为bios_kti_st寄存器。具体的,如其中某个upi模块发生故障,被mca检测到故障发生,mca在关联该upi模块的upi bank中记录故障信息,且处理单元在接收到故障指示后,确定目标mcbank为upi bank。然后处理单元调用bios遍历upi bank对应的各个upi模块的标识即端口号对应的bios_kti_err_st寄存器,获取各个upi模块分别对应的信息,并根据信息确定置位为故障状态的upi模块为故障集成模块。可选的,处理单元还向故障诊断系统即操作系统和/或bmc上报故障信息以及故障集成模块的标识即端口号,以此实现了在带内精准定位发生故障的upi模块的位置,提高了带内定位精度,且相比于带外定位故障集成模块的方式降低了采集延时,更加适用于带内os的诊断系统,且同时也适用于带外bmc的诊断系统。
[0125]
另外的一个应用场景请参阅图7,图7为本技术实施例提供的m2m应用场景的一个示意图。其中以cpu的m2m模块出现故障为例说明,该应用场景中的csr可以命名为mci_status_shadow寄存器。具体的,如其中某个m2m模块发生故障,mca检测到故障发生,mca在关联该m2m模块的m2m bank中记录故障信息,且处理单元在接收到故障指示后,确定目标mcbank为m2m bank。然后处理单元调用bios遍历m2m bank对应的各个m2m模块的标识即端口号对应的mci_status_shadow寄存器,获取各个m2m模块分别对应的状态,并确定置位为故障状态的m2m模块为故障集成模块。可选的,处理单元还向故障诊断系统即操作系统和/或bmc上报故障信息以及故障集成模块的标识即端口号,以此实现了在带内精准定位发生故障的upi模块的位置,提高了带内定位精度,且相比于带外定位故障集成模块的方式降低
了采集延时,更加适用于带内os的诊断系统,且同时也适用于带外bmc的诊断系统。
[0126]
需要说明的是,前述图3a所示的服务器系统的应用场景仅仅作为示例用于理解本技术实施例,可以理解的是,本方案还能用于存储系统以及其他可以需要维护设备故障的网络设备或系统,具体此处不做限定。
[0127]
以上对本技术实施例所提供的获取故障集成模块的故障信息的方法以及相关设备进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
[0128]
为了实现上述本技术实施例提供的方法中的各功能,cpu可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
[0129]
本技术实施例还提供了一种电子设备,该电子设备应用于硬件领域中,具体该电子设备包括多个可以执行上述方法实施例的处理装置。该处理装置的结构具体请参阅图8,图8为本技术实施例提供的处理装置的一个结构示意图。一种可能的实现中,该处理装置可以包括执行上述方法实施例中图4的方法/操作/步骤/动作所一一对应的模块或单元,该单元可以是硬件电路,也可是软件,也可以是硬件电路结合软件实现。一种可能的实现中,该处理装置可以包括:接收模块801、处理模块802以及获取模块803。其中,接收模块801可以用于执行如上述方法实施例中接收故障指示的步骤,处理单元802可以用于执行如上述方法实施例中确定目标mcbank,确定目标mcbank对应的至少两个集成模块的状态以及确定故障集成模块的步骤,获取模块803可以用于执行如上述方法实施例中获取目标mcbank对应的至少两个集成模块的标识,以及根据标识获取至少一个故障状态寄存器的信息的步骤,获取模块803还可以用于从目标mcbank中获取故障集成模块的故障信息。
[0130]
在一种可能的设计中,上述处理装置还包括发送模块804,上述获取模块803还用于执行上述方法实施例中从目标mcbank获取故障信息的步骤,发送模块804用于执行上述方法实施例中向故障诊断系统发送故障信息以及故障集成模块的标识的步骤。
[0131]
在其他可能的设计中,上述接收模块801、处理模块802、获取模块803以及发送模块804可以一一对应的执行上述方法实施例中储能设备各种可能的实现方式中的方法/操作/步骤/动作。
[0132]
在一种可能的设计中,上述获取模块803,具体用于根据至少两个集成模块的标识分别获取对应的一个故障状态寄存器的不同地址的信息。
[0133]
在一种可能的设计中,上述获取模块803,具体用于根据至少两个集成模块的标识分别获取对应的至少两个故障状态寄存器的信息。
[0134]
在一种可能的设计中,故障状态寄存器的信息包括故障码,上述获取模块803,还用于当处理单元确定多个所述故障集成模块时,根据故障码确定每个故障集成模块对应的故障信息。
[0135]
在一种可能的设计中,上述处理模块802,具体用于遍历每一个mcbank,并基于每一个mcbank的有效位的值确定目标mcbank。
[0136]
在一种可能的设计中,故障诊断系统为操作系统os和/或基本管理控制器bmc系统。
[0137]
本技术上述的各种设计的处理装置的有益效果请参考上述图4中方法实施例中处理单元一一对应的各种实现方式的有益效果,具体此处不再赘述。
[0138]
需要说明的是,图8对应实施例的处理装置中各模块/单元之间的信息交互、执行过程等内容,与本技术中图4对应的方法实施例中处理单元基于同一构思,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0139]
另外,在本技术各个实施例中的各功能模块或单元可以集成在一个处理器中,且上述集成的模块或单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0140]
接下来介绍本技术实施例提供的另一种电子设备,请参阅图9,图9为本技术实施例提供的电子设备的一个结构示意图。具体的,电子设备900包括cpu901以及存储器902,其中,存储器902可以是短暂存储或持久存储。存储在存储器902的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对网络设备900中的一系列指令操作。更进一步地,cpu901可以设置为与存储器902通信,在网络设备900上执行存储器902中的一系列指令操作。
[0141]
本技术实施例中,cpu901还包括处理单元9011以及至少一个故障状态寄存器9012,其处理单元9011用于执行图4对应实施例中的方法。例如,处理单元9011可以用于:接收故障指示,该故障指示用于表示故障集成模块有故障发生,然后确定目标机器检查故障域mcbank,且故障集成模块的标识位于mcbank中,并获取目标mcbank对应的至少两个集成模块的标识,然后根据标识获取至少一个故障状态寄存器的信息,再根据获取到的信息至少一个集成模块为故障集成模块,从而从目标mcbank中获取故障集成模块的故障信息。以此实现了在带内定位发生故障的故障集成模块,高精度的定位故障源,且降低了采集延时,更适应基于带内的故障诊断系统,也适用于带外的故障诊断系统。
[0142]
需要说明的是,前述cpu901与前述图3b中的cpu300类似,具体此处不再赘述。
[0143]
需要说明的是,该电子设备可以是前述示例的服务器,或集群服务器,个人终端,工业设备或其他的计算机设备,具体此处不做限定。
[0144]
本技术实施例还提供一种计算机可读存储介质,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得计算机执行如前述方法实施例所示任一项实现方式。
[0145]
本技术实施例还提供的一种计算机程序产品,计算机程序产品包括计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行如前述方法实施例所示任一项实现方式。
[0146]
本技术还提供一种芯片或芯片系统,该芯片可包括处理器。该芯片还可包括存储器(或存储模块)和/或收发器(或通信模块),或者,该芯片与存储器(或存储模块)和/或收发器(或通信模块)耦合,其中,收发器(或通信模块)可用于支持该芯片进行有线和/或无线通信,存储器(或存储模块)可用于存储程序或一组指令,该处理器调用该程序或该组指令可用于实现上述方法实施例、方法实施例的任意一种可能的实现方式中由终端或者网络设备执行的操作。该芯片系统可包括以上芯片,也可以包含上述芯片和其他分离器件,如存储器(或存储模块)和/或收发器(或通信模块)。
[0147]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
[0148]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本技术各个实施例的方法。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献