CN111414268B - 故障处理方法、装置及服务器 - Google Patents
故障处理方法、装置及服务器 Download PDFInfo
- Publication number
- CN111414268B CN111414268B CN202010121212.0A CN202010121212A CN111414268B CN 111414268 B CN111414268 B CN 111414268B CN 202010121212 A CN202010121212 A CN 202010121212A CN 111414268 B CN111414268 B CN 111414268B
- Authority
- CN
- China
- Prior art keywords
- fault
- fault information
- server
- management module
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 6
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000013473 artificial intelligence Methods 0.000 claims description 170
- 238000004891 communication Methods 0.000 claims description 18
- 230000002093 peripheral effect Effects 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims 1
- 238000007726 management method Methods 0.000 description 110
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000012423 maintenance Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 101150026173 ARG2 gene Proteins 0.000 description 2
- 101100005166 Hypocrea virens cpa1 gene Proteins 0.000 description 2
- 101100166068 Schizosaccharomyces pombe (strain 972 / ATCC 24843) arg5 gene Proteins 0.000 description 2
- 101100379633 Xenopus laevis arg2-a gene Proteins 0.000 description 2
- 101100379634 Xenopus laevis arg2-b gene Proteins 0.000 description 2
- 101150088826 arg1 gene Proteins 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013024 troubleshooting Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0775—Content or structure details of the error report, e.g. specific table structure, specific error fields
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种故障处理方法、装置及服务器,该方法包括:基板管理控制器BMC接收第一故障信息,根据第一故障信息确定故障会干扰到服务器正常运行时,BMC主动获取出现故障的目标PCIe设备对应的第二故障信息,该第二故障信息包括目标PCIe设备内部以及与目标PCIe设备连接的模块的故障信息,然后BMC根据第一故障信息和第二故障信息定位目标PCIe设备所在的服务器的故障。BMC根据初步获取的故障信息确定故障会干扰到服务器正常运行时,BMC可以进一步收集目标PCIe设备的故障信息,对故障信息的收集更加全面,故障定位更加精确,并在主机处于宕机状态时,可以通过带外BMC采集故障信息并对故障进行准确定位。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种故障处理方法、装置及服务器。
背景技术
在人工智能(artificial intelligence,AI)领域的AI计算中,服务器对算力的需求不断增加,同时对服务器的可靠性、可用性及可服务性(reliability availability andserviceability,RAS)的要求也越来越高。
为了提供足够的算力,集成多个AI芯片(例如图像处理单元(graphicsprocessing unit,GPU)、神经处理单元(neural processing unit,NPU)以及张量处理单元(tensor processing unit,TPU)等)的服务器应运而生。通过多个AI芯片互联形成多P系统,为AI计算提供更强的算力。在包括多个AI芯片的服务器中,从主机管理系统来看,AI芯片是快捷外围部件互连标准(peripheral component interconnect express,PCIe)设备,当AI芯片出现故障时,主机管理系统对AI芯片的故障定位依赖于高级错误报告(advancederror reporting,AER),通过PCIe AER Code等带内日志实现故障定位,但是根据PCIe AERCode进行定位时,只能定位到与中央处理器(central processing unit,CPU)互联的AI芯片,故障定位粒度较粗,无法提供更多的故障数据支持故障维修,并且在主机管理系统出现故障宕机时,服务器无法实现故障信息的收集与故障定位。
发明内容
本申请实施例公开了一种故障处理方法、装置及服务器,可以使服务器对故障信息的收集更加全面,故障定位更加精确。并在在主机处于宕机状态时,通过带外基板管理控制器(baseboard management controller,BMC)采集故障信息并对故障准确定位。
第一方面,本申请提供一种故障处理方法,该方法包括:BMC接收第一故障信息,该第一故障信息指示目标快捷外围部件互连标准PCIe设备发生故障;BMC根据第一故障信息确定目标PCIe设备的故障类型;在故障类型为预设故障类型的情况下,获取目标PCIe设备对应的故障寄存器中的第二故障信息;根据第一故障信息和第二故障信息定位包含目标PCIe设备的服务器的故障。
BMC先根据第一故障信息确定目标PCIe设备出现的故障是否是预设故障类型,若为预设故障类型,则说明该目标PCIe设备出现的故障会干扰到服务器的正常运行,甚至导致服务器宕机。在BMC确定目标PCIe设备出现预设故障类型的故障时,BMC主动收集目标PCIe设备对应的故障寄存器中的第二故障信息,实现进一步的故障信息收集。通过带外BMC获取第一故障信息和第二故障信息,BMC根据第一故障信息和第二故障信息定位服务器的故障,对故障定位更加精确,解决了带内主机管理系统仅根据第一故障信息定位故障,导致故障定位粒度较粗的问题,对服务器的维护效率更高。同时可以解决在主机管理系统出现故障宕机时,服务器无法通过带内方式实现故障信息的收集与故障定位的问题。
在一种可能的实现方式中,上述第二故障信息包括目标PCIe设备内部的故障信息和/或与目标PCIe设备连接的模块的故障信息;其中,上述第一故障信息存储于目标PCIe设备的AER寄存器中,上述第二故障信息存储于目标PCIe设备的RAS寄存器中。
带外BMC通过获取的第二故障信息,可以精确定位目标PCIe设备内部模块的故障和/或与目标PCIe设备连接的模块的故障,相对于带内主机管理系统仅能通过第一故障信息确定出现故障的目标PCIe设备,带外BMC根据第一故障信息和第二故障信息对故障的定位更加精确。
在一种可能的实现方式中,上述目标PCIe设备为服务器内的人工智能AI芯片,上述服务器包括一个或者多个AI芯片。
在一种可能的实现方式中,上述AI芯片内部包括缓存、寄存器以及AI核(AIcore);与上述AI芯片连接的模块包括双倍速率同步动态随机存储器(double data ratesynchronous dynamic random access memory,DDR)、高带宽存储器(high bandwidthmemory,HBM)。
在服务器包括一个或者多个AI芯片的情况下,AI芯片出现故障时,带外BMC通过上述故障定位方法,可以精确定位AI芯片内部模块的故障和/或与AI芯片连接的模块的故障,相对于带内主机管理系统仅能通过第一故障信息确定出现故障的AI芯片,带外BMC根据第一故障信息和第二故障信息对AI芯片的故障定位更加精确,可以防止定位不精确导致的维护错误,提高维护效率。
在一种可能的实现方式中,目标PCIe设备的故障类型包括可校正错误、非致命性不可校正错误、可校正错误风暴、非致命性不可校正错误风暴以及致命性不可校正错误;上述预设故障类型包括可校正错误风暴、非致命性不可校正错误风暴以及致命性不可校正错误中的任意一种或者多种,其中,可校正错误风暴是指在预设时长内,单个或者多个PCIe设备出现可校正错误的次数超过第一预设阈值,非致命性不可校正错误风暴是指在预设时长内,单个或者多个PCIe设备出现非致命性不可校正错误的次数超过第二预设阈值。上述预设故障类型表征的故障是会干扰到服务器的正常运行甚至导致服务器宕机的故障,在目标PCIe故障为预设故障类型的情况下,BMC才主动收集上述第二故障信息并进行故障分析定位,可以减少BMC收集故障信息的次数以及收集到的故障信息的数据量。
在一种可能的实现方式中,上述第二故障信息包括但不限于发生故障的主体类型、设备标识、故障码、故障描述、故障产生时间以及处理建议,其中,主体类型指示发生故障的部件类型,设备标识指示发生故障的模块,故障码是指故障在BMC中的唯一标识,故障描述是指对故障的相关描述。
在一种可能的实现方式中,获取目标PCIe设备对应的故障寄存器中的第二故障信息,包括:BMC生成第一指令,该第一指令指示接收到第一指令的目标管理模块获取目标PCIe设备对应的故障寄存器中的第二故障信息;BMC将第一指令发送给目标PCIe设备对应的目标管理模块;接收目标管理模块发送的第二故障信息。
在一种可能的实现方式中,上述第一故障信息包括目标PCIe设备的PCIe设备标识,上述BMC将第一指令发送给目标管理模块,包括:BMC根据目标PCIe设备的PCIe设备标识,将上述第一指令发送给目标PCIe设备对应的目标管理模块,上述PCIe设备标识可以是PCIe设备的总线设备功能或者PCIe设备的地址信息。
在一种可能的实现方式中,上述目标PCIe设备的PCIe设备标识为目标PCIe设备的地址,上述BMC根据目标PCIe设备的PCIe设备标识,将第一指令发送给目标PCIe设备对应的目标管理模块,包括:BMC查询预先存储的PCIe地址空间表,确定目标PCIe设备的PCIe设备标识对应的PCIe设备,将第一指令发送给目标PCIe设备对应的目标管理模块。
在一种可能的实现方式中,上述方法还包括:BMC接收通知消息,该通知消息指示服务器出现宕机;BMC生成第二指令,该第二指令指示接收到的第二指令的管理模块获取各自对应的故障寄存器中的故障信息,其中,服务器包括至少一个PCIe设备和至少一个处理器,每个PCIe设备和每个处理器均对应有管理模块和故障寄存器;BMC将第二指令发送给服务器内每个PCIe设备对应的管理模块和每个处理器对应的管理模块;BMC接收每个PCIe设备对应的管理模块发送的故障信息和每个处理器对应的管理模块发送的故障信息;根据每个PCIe设备对应的管理模块发送的故障信息和每个处理器对应的管理模块发送的故障信息,定位服务器的故障。
在服务器的主机管理系统出现故障宕机的情况下,带外BMC可以通过每个PCIe设备对应的管理模块和每个处理器对应的管理模块获取故障信息,可以解决在主机管理系统出现故障宕机时,服务器无法实现故障信息的收集与故障定位的问题,提高了服务器维护的稳定性。
第二方面,本申请提供一种服务器,该服务器包括:处理器、基本输入输出系统(basic input output system,BIOS)、基板管理控制器BMC以及至少一个目标快捷外围部件互连标准PCIe设备,其中,处理器与BIOS、BMC以及每个PCIe设备均建立有通信连接,BMC与BIOS以及每个PCIe设备均建立有通信连接;
BMC,用于:接收BIOS发送的第一故障信息,该第一故障信息指示目标PCIe设备发生故障,该目标PCIe设备为上述至少一个PCIe设备中的任意一个;
根据上述第一故障信息确定目标PCIe设备的故障类型;
在故障类型为预设故障类型的情况下,获取目标PCIe设备对应的故障寄存器中的第二故障信息;
根据上述第一故障信息和上述第二故障信息定位包含目标PCIe设备的服务器的故障。
在一种可能的实现方式中,上述第二故障信息包括目标PCIe设备内部的故障信息和/或与目标PCIe设备连接的模块的故障信息。
在一种可能的实现方式中,上述目标PCIe设备为上述服务器内的人工智能AI芯片,上述服务器包括一个或者多个AI芯片。
在一种可能的实现方式中,上述AI芯片内部包括缓存、寄存器以及AI核(AIcore);与上述AI芯片连接的模块包括DDR和HBM。
在一种可能的实现方式中,服务器还包括多个管理模块,服务器内的每个处理器与每个PCIe设备均各自对应有管理模块,BMC具体用于:生成第一指令,第一指令指示接收到第一指令的目标管理模块获取目标PCIe设备对应的故障寄存器中的第二故障信息;将第一指令发送给目标管理模块;接收目标管理模块发送的第二故障信息。
在一种可能的实现方式中,管理模块为智能管理单元(intelligent managementunit,IMU)或者管理引擎(management engine,ME)。
在一种可能的实现方式中,上述预设故障类型包括可校正错误风暴、非致命性不可校正错误风暴以及致命性不可校正错误中的任意一种或者多种。
在一种可能的实现方式中,处理器用于向BIOS发送的第一通知消息,该第一通知消息指示目标PCIe设备出现故障,该第一通知消息包括目标PCIe设备的标识;
BIOS用于根据第一通知消息获取目标PCIe设备的第一故障信息,并将第一故障信息发送给BMC。
在一种可能的实现方式中,上述第一通知消息为中断信号,该中断信号为软件中断指令(interrupt,INT)、系统管理中断(system management interrupt,SMI),消息信号中断(message signaled interrupt,MSI)、不可屏蔽中断(non maskable interrupt,NMI)、下游端口控制(downstream port containment,DPC)中断或者其他用于提示计算设备出现故障错误的中断信号中的任意一种。
在一种可能的实现方式中,处理器还用于在出现故障的情况下,向BMC发送第二通知消息,该第二通知消息指示处理器出现故障;BMC还用于:在接收到第二通知消息之后,生成第二指令,该第二指令指示接收到的第二指令的管理模块获取各自对应的故障寄存器中的故障信息,其中,服务器内的每个PCIe设备和每个处理器均对应有管理模块和故障寄存器;BMC将第二指令发送给服务器内每个PCIe设备对应的管理模块和每个处理器对应的管理模块;BMC接收每个PCIe设备对应的管理模块发送的故障信息和每个处理器对应的管理模块发送的故障信息,根据每个PCIe设备对应的管理模块发送的故障信息和每个处理器对应的管理模块发送的故障信息,定位服务器的故障。
第三方面,本申请提供一种故障处理装置,该装置包括:
接收单元,用于接收第一故障信息,第一故障信息指示目标快捷外围部件互连标准PCIe设备发生故障;
处理单元,用于:根据第一故障信息确定目标PCIe设备的故障类型;
在上述故障类型为预设故障类型的情况下,获取目标PCIe设备对应的故障寄存器中的第二故障信息;
根据第一故障信息和第二故障信息定位包含目标PCIe设备的服务器的故障。
在一种可能的实现方式中,上述第二故障信息包括目标PCIe设备内部的故障信息和/或与目标PCIe设备连接的模块的故障信息。
在一种可能的实现方式中,上述目标PCIe设备为上述服务器内的人工智能AI芯片,上述服务器包括一个或者多个AI芯片。
在一种可能的实现方式中,处理单元还用于生成第一指令,该第一指令指示接收到第一指令的目标管理模块获取目标PCIe设备对应的故障寄存器中的第二故障信息;该故障处理装置还包括发送单元,用于将第一指令发送给目标管理模块;接收单元,还用于接收目标管理模块发送的第二故障信息。
在一种可能的实现方式中,接收单元,还用于接收通知消息,该通知消息指示上述服务器出现宕机;处理单元,还用于生成第二指令,该第二指令指示接收到的第二指令的管理模块获取各自对应的故障寄存器中的故障信息,其中,服务器包括至少一个PCIe设备和至少一个处理器,每个PCIe设备和每个处理器均对应有管理模块和故障寄存器;
发送单元,还用于将上述第二指令发送给服务器内每个PCIe设备对应的管理模块和每个处理器对应的管理模块;
接收单元,还用于接收每个PCIe设备对应的管理模块发送的故障信息和每个处理器对应的管理模块发送的故障信息;
处理单元,还用于根据每个PCIe设备对应的管理模块发送的故障信息和每个处理器对应的管理模块发送的故障信息,定位服务器的故障。
在一种可能的实现方式中,预设故障类型包括可校正错误风暴、非致命性不可校正错误风暴以及致命性不可校正错误中的任意一种或者多种。
第四方面,本申请提供一种故障处理装置,应用于基板管理控制器BMC,该故障处理装置包括用于执行第一方面或第一方面任一种可能实现方式中的故障处理方法的各个模块。
第五方面,本申请提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如第一方面或第一方面任一种可能实现方式中的故障处理方法。
第六方面,本申请实施例提供一种故障处理设备,包括处理器和存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,所述故障处理设备执行上述第一方面或上述第一方面任意可能的实施方式中所述的方法。
第七方面,本申请提供了一种计算机程序产品,当该计算机程序产品在服务器上运行时,使得服务器执行第一方面或第一方面任一种可能实现方式中的故障处理方法。
第八方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当所述指令在服务器上运行时,使得服务器执行第一方面或第一方面任一种可能实现方式中的故障处理方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种服务器的结构示意图;
图2为本申请实施例提供的一种服务器的结构示意图;
图3为本申请实施例提供的另一种服务器的结构示意图;
图4为本申请实施例提供的一种故障处理方法的流程示意图;
图5为本申请实施例提供的另一种服务器的结构示意图;
图6是本申请实施例提供的一种故障处理装置的结构示意图;
图7是本申请实施例提供的另一种故障处理装置的结构示意图;
图8是本申请实施例提供的一种故障处理设备的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下中的至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a、b、c、a-b、a-c、b-c或a-b-c,其中a、b、c可以是单个,也可以是多个。
本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了帮助本领域技术人员更好地理解本申请的技术方案,首先对本申请实施例中所涉及到的一些概念进行介绍。
AI芯片是用于处理人工智能应用中大量计算任务的模块,一个服务器中可以有一个或多个AI芯片。常用的AI芯片包括GPU、NPU、TPU以及深度学习处理单元(deep learningprocessing unit,DPU)等,本申请实施例对AI芯片的类型不做具体限定。
PCIe设备是符合高速串行计算机扩展总线标准的设备,例如网卡、显卡、硬盘以及GPU、NPU、TPU等AI芯片。
PCIe设备枚举:PCIe体系架构一般由根复合体(root complex),switch,endpoint等类型的PCIe设备组成,并且在root complex和switch中通常还会有一些embededendpoint(这种设备对外无PCIe接口)。当PCIe设备所在的计算机系统启动后,CPU需要识别这些设备。root complex通常是采用特定的算法,例如深度优先算法,访问每一个可能的分支路径,直到不能再深入访问为止,且每个PCIe设备只访问一次,这个过程称为PCIe设备枚举。
主机管理系统是指服务器等计算机系统中包括CPU在内的主机(host)侧系统,主机管理系统包括一个或者多个CPU、内存、BIOS、DDR、硬盘等硬件资源以及操作系统、应用程序等软件资源。
AI计算系统是指服务器等计算机系统中用于实现AI计算等大规模运算的系统,AI计算系统包括一个或者多个AI芯片、AI芯片内部的缓存、寄存器、AI核(AI core)等模块以及AI芯片周边的DDR、HBM等。
BIOS是一组固化到计算机系统内主板上的程序,用于检测计算机系统中各个硬件设备是否出现错误,并在检测到任一硬件设备出现错误时,根据错误的严重程度进行对应的处理。
BMC是一种独立的服务处理机,用于对计算机系统中的各个硬件设备进行管理和监控,例如,BMC可以用于对硬件设备的错误查询、错误预警、错误上报以及错误隔离等。
总线设备功能(bus device function,BDF):PCIe设备的中的每一项功能的唯一的标识符。每个PCIe设备可以只有一个功能,也可以拥有最多8个功能。无论一个PCIe设备拥有多少个功能,其每一个功能都有一个唯一独立的配置空间。PCIe的配置软件(例如PCIe的root complex等)能够识别出PCIe总线系统的拓扑逻辑,以及其中的每一条总线,每一个PCIe设备和PCIe设备的每一项功能,即能够识别出BDF。在BDF中,Bus Number占用8位,Device Number占用5位,Function Number占用3位。
在AI领域的AI计算中,服务器对算力的需求不断增加,为了提供足够的算力,集成多个AI芯片的服务器应运而生。集成多个AI芯片的服务器包括主机管理系统和AI计算系统,示例性的,如图1所示的Nvdia DGX-1,通过八个GPU以及两个CPU互联形成2P系统,为AI训练提供更强的算力。其中,主机管理系统包括两个CPU,AI计算系统包括八个GPU及其连接的HBM等,主机管理系统与AI计算系统通过PCIe总线通信连接。从主机管理系统来看,AI计算系统中的AI芯片等模块是PCIe设备,当AI芯片出现故障时,主机管理系统对AI芯片的故障定位依据PCIe Spec标准,通过PCIe设备的AER Code等带内日志实现故障定位。但是主机管理系统根据AER Code进行定位时,只能定位到与CPU互联的AI芯片,即只能确定出现故障的AI芯片。而AI芯片内部包括缓存以及AI核(AI core)等模块,AI芯片周边还包括DDR、HBM等模块,当前的方法无法定位AI芯片内部和周边的故障模块,故障定位粒度较粗,并且在主机管理系统宕机后,服务器不能通过带内主机管理系统进行故障信息收集并对故障进行定位。
为了解决上述问题,本申请实施例提供一种故障处理方法。应用于如图2所示的服务器中,其中,服务器200包括主机管理系统210、AI计算系统220以及BMC230,其中,主机管理系统210可以包括一个或者多个CPU,AI计算系统220可以包括一个或者多个AI芯片。主机管理系统210与AI计算系统220通过通信总线240连接,主机管理系统210与AI计算系统220分别通过通信总线250与BMC230连接。需要说明的是,图2为描述的方便,只显示了主机管理系统210、AI计算系统220以及BMC230之间的连接关系,在具体实现中,主机管理系统210包括CPU、内存、硬盘等硬件资源,以及操作系统、应用程序等软件资源。AI计算系统220包括AI芯片、HBM、DDR等硬件资源以及应用程序等软件资源。通信总线240包括但不限于PCIe总线,通信总线250包括但不限于两线式串行(inter integrated circuit,I2C)总线。
为清楚地对本申请实施例提供的技术方案进行描述,下面以图3所示的服务器为例,对本申请实施例提供的故障处理方法进行说明。图3所示的服务器300包括主机管理系统310、AI计算系统320以及BMC330。主机管理系统310包括一个CPU311与BIOS312,AI计算系统320包括一个或者多个AI芯片,图3中以三个AI芯片:AI芯片321、AI芯片322以及AI芯片323为例。其中,BIOS312与CPU311建立有通信连接。AI芯片321、AI芯片322以及AI芯片323均与CPU311建立通信连接,主机管理系统310通过BIOS312与BMC330连接。需要说明的是,在具体实现中,主机管理系统310还包括内存、硬盘等硬件资源,以及操作系统、应用程序等软件资源,AI计算系统320包括HBM、DDR等硬件资源以及应用程序等软件资源。
AI芯片作为PCIe设备,可以直接与CPU的根端口建立通信连接,也可以通过PCIe交换机与CPU的根端口建立通信连接。如图3所示,CPU311包括根复合体3111,服务器300还包括PCIe交换机340。根复合体3111设置有第一根端口3111a与第二根端口3111b,PCIe交换机340设置有上行口3401、下行口3402和下行口3403。PCIe交换机340的上行口3401与根复合体3111的第一根端口3111a连接,AI芯片321与PCIe交换机340的下行口3402连接,AI芯片322与PCIe交换机340的下行口3403连接,AI芯片323与根复合体3111的第二根端口3111b连接。
下面以图3所示的服务器为例,对本申请实施例提供的故障处理方法进行说明。如图4所示,图4是本申请实施例提供的一种故障处理方法的流程示意图,该方法包括:
S401、PCIe设备在发生故障时,生成第一通知消息并将第一通知消息发送给处理器。
在服务器中任意PCIe设备出现故障之后,出现故障的PCIe设备会生成第一通知消息,例如高级错误报告(advanced error reporting,AER),并将该第一通知消息通过PCIe链路发送给与其连接的处理器。其中,第一通知消息包括发生故障的PCIe设备的PCIe设备标识,PCIe设备标识是在PCIe总线系统标识PCIe设备的标识符,该PCIe设备标识可以是PCIe设备的BDF或者PCIe设备的地址信息。
以AI计算系统中的AI芯片出现故障为例,任意AI芯片发生故障之后,出现故障的AI芯片会生成AER,并将该AER通过PCIe链路发送给与其连接的处理器。其中,AER包括发生故障的AI芯片的PCIe设备标识。以图3中与CPU311通信的AI芯片321出现故障为例,当AI芯片321出现故障时,AI芯片321生成AER,并将AER通过PCIe交换机340上报给CPU311的根复合体3111。
可选地,上述第一通知消息还可以包括故障类型。故障类型包括可校正错误(correctable error,CE)、非致命性不可校正错误(non-fatal uncorrectable error,NFE)以及致命性不可校正错误(fatal uncorrectable error,FE)。其中,可校正错误可自动地被硬件识别并校正或恢复;非致命性不可校正错误一般由设备驱动软件直接处理,且PCIe链路可恢复;致命性不可校正错误通常由系统软件处理,且一般需要进行复位等操作,会丢失PCIe链路上的数据。
S402、处理器根据第一通知消息生成中断信号,将该中断信号发送给BIOS312。
本申请实施例中,CPU311的根复合体3111在接收到第一通知消息之后,将该第一通知消息写入根复合体对应的寄存器中,并生成中断信号,然后将该中断信号发送给服务器300的BIOS312。该中断信号指示发送该中断信号的CPU311下挂的AI芯片出现故障。由于根复合体3111根据第一通知消息生成中断信号,因此,该中断信号携带有出现故障的AI芯片的PCIe设备标识。
上述中断信号是指计算设备在检测到硬件或软件出现故障错误后产生的一种告警信号,用于提示计算设备出现异常。中断信号可包括INT、SMI、MSI、NMI、DPC中断或者其他用于提示计算设备出现故障错误的中断信号等,本申请实施例并不做限定。
S403、BIOS312根据中断信号对出现故障的PCIe设备进行故障检测,获取第一故障信息并将第一故障信息发送给BMC330。
BIOS312接收到上述中断信号后,根据中断信号中PCIe设备标识确定出现故障的PCIe设备为AI芯片321,BIOS312通过读取出现故障的AI芯片321对应的AER寄存器,获取AI芯片321对应的第一故障信息,并将该故障信息发送给BMC330,例如,BIOS312通过智能平台管理接口(intelligent platform management interface,IPMI)命令将第一故障信息发送给BMC330,该第一故障信息包括发生故障的AI芯片的PCIe设备标识、故障来源、故障类型以及具体故障信息等数据。示例性的,上述PCIe设备标识可以是PCIe设备的地址,服务器300在系统初始化进行PCIe设备枚举时,BIOS312会为每一个PCIe设备分配地址空间,BIOS312会保存每一个PCIe设备的地址空间,生成PCIe地址空间表,并将生成的PCIe地址空间表发送给BMC330。BIOS312接收到上述中断信号后,根据中断信号中的PCIe设备的地址,查询PCIe地址空间表,确定出现故障的PCIe设备。
S404、BMC330根据第一故障信息对故障进行分级,在故障为预设故障级别时,BMC330收集第二故障信息。
本申请实施例中,AI芯片的故障包括上述可校正错误、非致命性不可校正错误以及致命性不可校正错误。具体的,在服务器300运行的过程中,AI芯片的故障还可以划分为偶发可校正错误、偶发非致命性不可校正错误、可校正错误风暴、非致命性不可校正错误风暴以及致命性不可校正错误。其中,偶发可校正错误与偶发非致命性不可校正错误均不会导致服务器300宕机,但是可校正错误风暴、非致命性不可校正错误风暴以及致命性不可校正错误风暴等故障会干扰服务器300正常运行从而导致服务器宕机。需要说明的是,可校正错误风暴是指在预设时长内,单个或者多个PCIe设备出现可校正错误的次数超过第一预设阈值,非致命性不可校正错误风暴是指在所述预设时长内,单个或者多个PCIe设备出现非致命性不可校正错误的次数超过第二预设阈值。例如,BMC330在1秒内接收到AI芯片321的可校正错误大于或等于10个,则认为AI芯片321出现可校正错误风暴,若小于10个,则认为AI芯片321出现的是偶发可校正错误。
在一种可能的实现方式中,将AI芯片故障分为两个级别,第一级别故障包括偶发可校正错误和偶发非致命性不可校正错误两种类型故障中的任意一种或多种,第二级别故障包括可校正错误风暴、非致命性不可校正错误风暴以及致命性不可校正错误三种类型故障中的任意一种或者多种。
当BMC330确定AI芯片321的故障为第一级别故障时,BMC330将BIOS312发送的第一故障信息记录到BMC330中的PCIe AER Log中。当BMC330确定AI芯片321的故障为第二级别故障时,BMC330将BIOS312发送的第一故障信息记录到BMC330中的PCIe AER Log中,同时BMC330生成第一指令,并根据第一故障信息中发生故障的AI芯片的PCIe设备标识,确定发生故障的AI芯片为AI芯片321。例如,PCIe设备标识为AI芯片321的PCIe地址,BMC330通过查询PCIe地址空间表,确定出现故障的PCIe设备为AI芯片321。然后BMC330将第一指令发送给AI芯片321对应的芯片管理模块3211,该第一指令指示芯片管理模块3211读取AI芯片321对应的RAS寄存器中的第二故障信息,并将读取到的第二故障信息发送给BMC330。其中,RAS寄存器中的第二故障信息包括AI芯片321内部以及周边的DDR、HBM、寄存器等模块的故障信息。
上述第二故障信息包括主体类型、设备标识、故障码、故障描述、故障产生时间以及处理建议等,其中,上述主体类型指示发生故障的部件类型,设备标识指示发生故障的模块,故障码是指故障在BMC中的唯一标识,故障描述是指对故障的相关描述。示例性的,第二故障信息为“The arg1 PCIe card arg2(arg3)chip was reset.[arg4][arg5]”。其中,arg1表示承载PCIe卡的部件,例如GPU板;arg2表示PCIe卡的槽位号;arg3表示PCIe卡的类型,例如网卡、AI芯片;arg4表示对故障的相关描述;arg5表示故障码。
需要说明的是,如图5所示,上述芯片管理模块3211为独立于CPU和AI芯片的模块,每一个CPU和每一个AI芯片均对应有一个芯片管理模块3211,即每一个芯片管理模块3211管理一个芯片。在CPU或者AI芯片出现故障不能正常运行时,芯片管理模块3211仍能正常工作,例如收集对应芯片的故障信息。BMC330可以向芯片管理模块3211发送指令,指示芯片管理模块3211读取其对应的处理器或者AI芯片中故障寄存器中的故障信息。可以理解,在采用ARM架构的芯片中,芯片管理模块3211可以是IMU或者其他具有类似功能的模块,在采用x86架构的芯片中,芯片管理模块3211可以是ME或者其他具有类似功能的模块,图5中以芯片管理模块3211为IMU为例。
本申请实施例中,若BMC根据第一故障信息确定服务器300出现上述第一级别的故障,则BMC仅记录上述第一故障信息。若BMC根据第一故障信息确定服务器300出现上述第二级别的故障,服务器300的主机管理系统310和AI计算系统320没有宕机,则BMC330发起对出现故障的AI芯片的故障收集,BMC330通过向出现故障的AI芯片对应的IMU3211发送指令,指示IMU3211读取出现故障的AI芯片对应的RAS寄存器,获取出现故障的AI芯片对应的RAS寄存器中的第二故障信息,并将获取到的RAS寄存器中的第二故障信息记录到RAS Error Log中。例如,上述AI芯片321出现第二级别的故障,BMC330根据第一故障信息中的AI芯片321的PCIe设备标识,向AI芯片321对应的IMU3211发送第一指令,AI芯片321对应的IMU3211读取AI芯片321对应的RAS寄存器中的第二故障信息,并将获取的第二故障信息发送给BMC330。
S405、BMC330根据获取的第一故障信息以及第二故障信息进行分析,生成维护建议。
BMC330将从AER寄存器中获取的第一故障信息记录在PCIe Error Log中,将从RAS寄存器中获取的第二故障信息记录在RAS Error Log中,BMC330根据PCIe Error Log和RASError Log中的故障信息分析服务器300的AI芯片以及AI芯片周边模块的故障,并给出维护建议。
在一种可能的实施例中,若服务器300的主机管理系统310宕机,或者主机管理系统310与AI计算系统320均宕机,服务器的硬件故障检查架构会向服务器的BMC发送第二通知消息,该第二通知消息指示服务器出现宕机。BMC330在接收到第二通知消息之后,BMC330生成第二指令,并向服务器300中每个CPU和每个AI芯片对应的IMU3211发送第二指令,该第二指令指示每个IMU3211采集对应的芯片中RAS寄存器中的故障信息和AER寄存器中的故障信息,BMC330接收每个IMU3211采集的RAS寄存器中的故障信息和AER寄存器中的故障信息,根据RAS寄存器中的故障信息和AER寄存器中的故障信息分析主机管理系统310和/或AI计算系统320的故障,并给出维护建议。
本申请实施例中,通过将主机管理系统与BMC通信连接,将AI计算系统与BMC通信连接,即使主机管理系统处于宕机状态,也不影响带外BMC获取故障信息,从而实现在宕机情况下对故障信息的收集以及对故障的准确定位。同时,BMC通过故障信息对故障进行分级,在故障级别低于预设级别时,BMC只记录主机管理系统上报的故障信息,不进行进一步的故障信息收集,从而避免收集到无用故障信息;在故障信息等于或者高于预设级别时,BMC主动发起对故障AI芯片或者整机的故障信息的收集,BMC能够通过主动收集的故障信息确定出现故障的AI芯片、AI芯片内部模块以及周边模块出现的故障,从而在出现严重故障时,使故障信息的收集更加全面,故障定位更加精确。
上文结合图1至图5,详细描述了本申请实施例提供的故障处理方法,下面结合图5至图8,介绍本申请实施例提供的服务器、故障处理装置以及故障处理设备。本申请实施例提供了一种服务器,该服务器的结构可以参见图5所示的服务器300,服务器300包括CPU311、BIOS312、BMC330以及多个PCIe设备,本申请实施例中,PCIe设备以AI芯片321、AI芯片322以及AI芯片323为例。服务器300中各个模块的连接关系可参照上述实施例中对图5中服务器300的相关描述。其中,
BIOS312用于接收处理器生成的中断信号,该中断信号携带有出现故障的目标PCIe设备的PCIe设备标识,本申请实施例中,以AI芯片321出现故障为例,BIOS312根据该中断信号从AI芯片321的故障寄存器中获取第一故障信息。具体的,BIOS312根据中断信号获取第一故障信息的方法可参照上述S403中的相关描述,在此不再赘述。
上述中断信号是CPU311在接收到出现故障的AI芯片321发送的第一通知消息后生成的,出现故障的AI芯片321发送生成第一通知消息并发送给CPU311的具体过程可参照上述S401中的相关描述,上述CPU311生成中断信号并将中断信号发送给BIOS312的过程可参照上述S402中的相关描述,在此不再赘述。
BMC330用于接收BIOS发送的第一故障信息,根据上述第一故障信息确定AI芯片321的故障类型。在故障类型为可校正错误风暴、非致命性不可校正错误风暴或致命性不可校正错误的情况下,获取AI芯片321对应的故障寄存器中的第二故障信息,该第二故障信息包括AI芯片321内部模块的故障信息以及与AI芯片321连接的模块的故障信息;BMC330根据上述第一故障信息和上述第二故障信息定位包含所述PCIe设备的服务器的故障。具体的,BMC330根据接收到的第一故障信息,根据第一故障信息确定故障类型以及获取第二故障信息的过程可参照上述S404中的详细描述,在此不再赘述。
处理器还用于向BIOS发送的第一通知消息,第一通知消息指示目标PCIe设备出现故障,第一通知消息包括目标PCIe设备的标识;
BIOS用于根据第一通知消息获取目标PCIe设备的第一故障信息,将第一故障信息发送给BMC。
在一种可能的实施例中,若服务器300的主机管理系统310宕机,或者主机管理系统310与AI计算系统320均宕机,服务器的硬件故障检查架构会向服务器的BMC发送第二通知消息,该第二通知消息指示服务器出现宕机。BMC330在接收到第二通知消息之后,向服务器300中每个CPU和每个AI芯片对应的IMU3211发送上述第二指令,指示每个IMU3211采集对应的芯片中RAS寄存器中的故障信息和AER寄存器中的故障信息,BMC330接收每个IMU3211采集的RAS寄存器中的故障信息和AER寄存器中的故障信息,根据RAS寄存器中的故障信息和AER寄存器中的故障信息分析主机管理系统310和/或AI计算系统320的故障,并给出维护建议。
具体的,服务器300对故障的处理方法可参照上述方法实施例中的详细描述,在此不再赘述。
参见图6,图6是本申请实施例提供的一种故障处理装置的结构示意图,该故障处理装置600用于图5所示的服务器300中的BMC330,如图6所示,故障处理装置600包括:
接收单元610,用于接收第一故障信息,第一故障信息指示目标PCIe设备发生故障,本申请实施例中,以目标PCIe设备为AI芯片为例,例如上述图5中的AI芯片321。上述第一故障信息包括发生故障的AI芯片的PCIe设备标识、故障来源、故障类型以及具体故障信息等数据。
处理单元620,用于根据第一故障信息确定AI芯片321的故障类型;其中,故障类型包括偶发可校正错误、偶发非致命性不可校正错误、可校正错误风暴、非致命性不可校正错误风暴或致命性不可校正错误。在故障类型为可校正错误风暴、非致命性不可校正错误风暴以及致命性不可校正错误的情况下,获取AI芯片321对应的故障寄存器中的第二故障信息,第二故障信息包括AI芯片321内部模块以及与AI芯片321连接的模块的故障信息。然后处理单元620根据所述第一故障信息和所述第二故障信息定位该故障处理装置600所在服务器的故障。具体的,处理单元620根据第一故障信息确定故障类型以及获取第二故障信息的过程可参照上述S404中的详细描述,在此不再赘述。
在一种可能的实现方式中,处理单元620在确定故障类型为可校正错误风暴、非致命性不可校正错误风暴以及致命性不可校正错误的情况下,还用于生成第一指令,该第一指令指示接收到第一指令的AI芯片321对应的目标管理模块获取AI芯片321对应的故障寄存器中的第二故障信息。
如图7所示,图7是本申请实施例提供的另一种故障处理装置的结构示意图,该故障处理装置600还包括发送单元630,用于将上述第一指令发送给目标管理模块。上述接收单元610,还用于接收目标管理模块发送的第二故障信息。
在一种可能的实现方式中,接收单元610,还用于接收通知消息,所述通知消息指示所述服务器出现宕机;处理单元620,还用于生成第二指令,该第二指令指示接收到的第二指令的管理模块获取各自对应的故障寄存器中的故障信息,其中,服务器包括至少一个PCIe设备和至少一个处理器,每个PCIe设备和每个处理器均对应有管理模块和故障寄存器;
发送单元630,还用于将上述第二指令发送给服务器内每个PCIe设备对应的管理模块和每个处理器对应的管理模块;接收单元610,还用于接收每个所述PCIe设备对应的管理模块和每个处理器对应的管理模块发送的故障信息;处理单元620,还用于根据每个所述PCIe设备对应的管理模块和每个处理器对应的管理模块发送的故障信息,定位服务器的故障。
应理解,本申请实施例的故障处理装置600可以通过专用集成电路(applicationspecific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
具体的,故障处理装置600用于服务器的BMC中,处理器620执行的操作步骤可参照上述方法实施例中以BMC330为执行主体的操作,接收单元610和发送单元620执行的动作可参照上述BMC330执行接收和发送的操作,在此不再赘述。
参见图8,图8是本申请实施例提供的一种故障处理设备的结构示意图。该故障处理设备700包括处理器710、通信接口720以及存储器730。可选的,所述处理器710、通信接口720以及存储器730通过总线740相互连接,其中,
所述处理器710用于实现上述处理单元620执行的操作,处理器710执行各种操作的具体实现可参照上述方法实施例中以BMC330为执行主体执行的具体操作。例如处理器710用于执行上述图4中S404中的操作等,在此不再赘述。
处理器710可以有多种具体实现形式,例如处理器710可以为中央处理器CPU,也可以为CPU和硬件芯片的组合。上述硬件芯片可以是ASIC、PLD或其组合。上述PLD可以是CPLD、FPGA、GAL或其任意组合。处理器710也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。
通信接口720用于与其他模块或设备进行通信,执行上述接收单元610和发送单元630实现的操作,在此不再赘述。
存储器730可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器730也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。
存储器730也可用于存储指令和数据,以便于处理器710调用存储器730中存储的指令实现上述处理单元620执行的操作。此外,服务器700可能包含相比于图8展示的更多或者更少的组件,或者有不同的组件配置方式。
总线740可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
具体地,上述故障处理设备700执行各种操作的具体实现可参照上述方法实施例中BMC330执行的具体操作,在此不再赘述。
本申请实施例还提供一种非瞬态计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当计算机程序在处理器上运行时,可以实现上述方法实施例中的BMC330执行的方法步骤,所述计算机存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中BMC330的具体操作,在此不再赘述。
本申请实施例还提供一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现上述方法实施例中的BMC330执行的故障处理方法。
本申请实施例还提供一种计算机程序产品,当该计算机程序产品在服务器上运行时,使得服务器执行上述方法实施例中的BMC330执行的故障处理方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,以上所描述的设备的实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (20)
1.一种故障处理方法,其特征在于,所述方法包括:
基板管理控制器BMC接收第一故障信息,所述第一故障信息指示目标快捷外围部件互连标准PCIe设备发生故障;
所述BMC根据所述第一故障信息确定所述目标PCIe设备的故障类型;
在所述故障类型为预设故障类型的情况下,所述BMC获取所述目标PCIe设备对应的故障寄存器中的第二故障信息,所述第二故障信息包括所述目标PCIe设备的故障信息和/或与所述目标PCIe设备连接的模块的故障信息;
所述BMC根据所述第一故障信息和所述第二故障信息定位包含所述目标PCIe设备的服务器的故障。
2.根据权利要求1所述的方法,其特征在于,所述目标PCIe设备为所述服务器内的人工智能AI芯片,所述服务器包括一个或者多个所述AI芯片。
3.根据权利要求2所述的方法,其特征在于,所述获取所述目标PCIe设备对应的故障寄存器中的第二故障信息,包括:
生成第一指令,所述第一指令指示接收到所述第一指令的目标管理模块获取所述目标PCIe设备对应的故障寄存器中的所述第二故障信息;
将所述第一指令发送给所述目标管理模块;
接收所述目标管理模块发送的所述第二故障信息。
4.根据权利要求3所述的方法,其特征在于,所述预设故障类型包括可校正错误风暴、非致命性不可校正错误风暴以及致命性不可校正错误中的任意一种或者多种。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
接收通知消息,所述通知消息指示所述服务器出现宕机;
生成第二指令,所述第二指令指示接收到的所述第二指令的管理模块获取各自对应的故障寄存器中的故障信息,其中,所述服务器包括至少一个PCIe设备和至少一个处理器,每个PCIe设备和每个处理器均对应有管理模块和故障寄存器;
将所述第二指令发送给所述服务器内每个PCIe设备对应的管理模块和每个处理器对应的管理模块;
接收所述每个PCIe设备对应的管理模块发送的故障信息和所述每个处理器对应的管理模块发送的故障信息;
根据所述每个PCIe设备对应的管理模块发送的故障信息和所述每个处理器对应的管理模块发送的故障信息,定位所述服务器的故障。
6.一种服务器,其特征在于,所述服务器包括:处理器、基本输入输出系统BIOS、基板管理控制器BMC以及至少一个快捷外围部件互连标准PCIe设备,所述处理器与所述BIOS、所述BMC以及每个PCIe设备均建立有通信连接,所述BMC与所述BIOS以及所述每个PCIe设备均建立有通信连接;
所述BMC,用于:接收所述BIOS发送的第一故障信息,所述第一故障信息指示目标PCIe设备发生故障,所述目标PCIe设备为所述至少一个PCIe设备中的任意一个;
根据所述第一故障信息确定所述目标PCIe设备的故障类型;
在所述故障类型为预设故障类型的情况下,获取所述目标PCIe设备对应的故障寄存器中的第二故障信息,所述第二故障信息包括所述目标PCIe设备的故障信息和/或与所述目标PCIe设备连接的模块的故障信息;
根据所述第一故障信息和所述第二故障信息定位包含所述目标PCIe设备的服务器的故障。
7.根据权利要求6所述的服务器,其特征在于,所述目标PCIe设备为所述服务器内的人工智能AI芯片,所述服务器包括一个或者多个所述AI芯片。
8.根据权利要求7所述的服务器,其特征在于,所述服务器还包括多个管理模块,所述服务器内的每个PCIe设备和每个处理器均各自对应有所述管理模块,所述BMC具体用于:
生成第一指令,所述第一指令指示接收到所述第一指令的目标管理模块获取所述目标PCIe设备对应的故障寄存器中的所述第二故障信息;
将所述第一指令发送给所述目标管理模块;
接收所述目标管理模块发送的所述第二故障信息。
9.根据权利要求8所述的服务器,其特征在于,所述预设故障类型包括可校正错误风暴、非致命性不可校正错误风暴以及致命性不可校正错误中的任意一种或者多种。
10.根据权利要求9所述的服务器,其特征在于,
所述处理器,用于向所述BIOS发送的第一通知消息,所述第一通知消息指示所述目标PCIe设备出现故障,所述第一通知消息包括所述目标PCIe设备的设备标识;
所述BIOS,用于根据所述第一通知消息获取所述目标PCIe设备的所述第一故障信息,并将所述第一故障信息发送给所述BMC。
11.根据权利要求6至9任一项所述的服务器,其特征在于,
所述处理器,还用于在出现故障的情况下,向所述BMC发送第二通知消息,所述第二通知消息指示所述处理器出现故障;
所述BMC,还用于:在接收到所述第二通知消息之后,生成第二指令,所述第二指令指示接收到所述第二指令的管理模块获取各自对应的故障寄存器中的故障信息,其中,所述服务器内的每个PCIe设备和每个处理器均对应有管理模块和故障寄存器;
将所述第二指令发送给所述服务器内每个PCIe设备对应的管理模块和每个处理器对应的管理模块;
接收所述每个PCIe设备对应的管理模块发送的故障信息和所述每个处理器对应的管理模块发送的故障信息;
根据所述每个PCIe设备对应的管理模块发送的故障信息和所述每个处理器对应的管理模块发送的故障信息,定位所述服务器的故障。
12.一种故障处理装置,其特征在于,应用于基板管理控制器BMC,所述装置包括:
接收单元,用于接收第一故障信息,所述第一故障信息指示目标快捷外围部件互连标准PCIe设备发生故障;
处理单元,用于:根据所述第一故障信息确定所述目标PCIe设备的故障类型;
在所述故障类型为预设故障类型的情况下,获取所述目标PCIe设备对应的故障寄存器中的第二故障信息,所述第二故障信息包括所述目标PCIe设备的故障信息和/或与所述目标PCIe设备连接的模块的故障信息;
根据所述第一故障信息和所述第二故障信息定位包含所述目标PCIe设备的服务器的故障。
13.根据权利要求12所述的装置,其特征在于,所述目标PCIe设备为所述服务器内的人工智能AI芯片,所述服务器包括一个或者多个所述AI芯片。
14.根据权利要求13所述的装置,其特征在于,
所述处理单元,还用于生成第一指令,所述第一指令指示接收到所述第一指令的目标管理模块获取所述目标PCIe设备对应的故障寄存器中的所述第二故障信息;
所述装置还包括发送单元,用于将所述第一指令发送给所述目标管理模块;
所述接收单元,还用于接收所述目标管理模块发送的所述第二故障信息。
15.根据权利要求12至14任一项所述的装置,其特征在于,所述预设故障类型包括可校正错误风暴、非致命性不可校正错误风暴以及致命性不可校正错误中的任意一种或者多种。
16.根据权利要求14所述的装置,其特征在于,
所述接收单元,还用于接收通知消息,所述通知消息指示所述服务器出现宕机;
所述处理单元,还用于生成第二指令,所述第二指令指示接收到的所述第二指令的管理模块获取各自对应的故障寄存器中的故障信息,其中,所述服务器包括至少一个PCIe设备和至少一个处理器,每个PCIe设备和每个处理器均对应有管理模块和故障寄存器;
所述发送单元,还用于将所述第二指令发送给所述服务器内每个PCIe设备对应的管理模块和每个处理器对应的管理模块;
所述接收单元,还用于接收所述每个所述PCIe设备对应的管理模块发送的故障信息和所述每个处理器对应的管理模块发送的故障信息;
所述处理单元,还用于根据所述每个PCIe设备对应的管理模块发送的故障信息和所述每个处理器对应的管理模块发送的故障信息,定位所述服务器的故障。
17.一种故障处理装置,其特征在于,应用于基板管理控制器BMC,该故障处理装置包括用于执行权利要求1至5中任意一项权利要求所述方法的单元。
18.一种芯片,其特征在于,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现如权利要求1至5任一权利要求所述的方法。
19.一种故障处理设备,其特征在于,包括处理器和存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,所述故障处理设备执行如权利要求1至5任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在服务器上运行时执行如权利要求1至5任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010121212.0A CN111414268B (zh) | 2020-02-26 | 2020-02-26 | 故障处理方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010121212.0A CN111414268B (zh) | 2020-02-26 | 2020-02-26 | 故障处理方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414268A CN111414268A (zh) | 2020-07-14 |
CN111414268B true CN111414268B (zh) | 2022-05-13 |
Family
ID=71494159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010121212.0A Active CN111414268B (zh) | 2020-02-26 | 2020-02-26 | 故障处理方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111414268B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11366710B1 (en) * | 2021-02-23 | 2022-06-21 | Quanta Computer Inc. | Methods and systems for reducing downtime from system management mode in a computer system |
CN112732477B (zh) * | 2021-04-01 | 2021-06-29 | 四川华鲲振宇智能科技有限责任公司 | 一种带外自检故障隔离的方法 |
CN113821367B (zh) * | 2021-09-23 | 2024-02-02 | 中国建设银行股份有限公司 | 确定故障设备影响范围的方法及相关装置 |
CN114356644B (zh) * | 2022-03-18 | 2022-06-14 | 阿里巴巴(中国)有限公司 | Pcie设备故障处理方法和装置 |
CN115220972A (zh) * | 2022-06-07 | 2022-10-21 | 中科驭数(北京)科技有限公司 | 设备故障检测方法、装置、设备及计算机可读存储介质 |
CN114780283B (zh) * | 2022-06-20 | 2022-11-01 | 新华三信息技术有限公司 | 一种故障处理的方法及装置 |
CN117806900B (zh) * | 2023-07-28 | 2024-05-07 | 苏州浪潮智能科技有限公司 | 服务器管理方法、装置、电子设备及存储介质 |
CN118656307B (zh) * | 2024-08-19 | 2024-10-22 | 浪潮计算机科技有限公司 | 基板管理控制器的故障检测方法、服务器、介质和产品 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7844866B2 (en) * | 2007-10-02 | 2010-11-30 | International Business Machines Corporation | Mechanism to report operating system events on an intelligent platform management interface compliant server |
CN105589776A (zh) * | 2015-12-23 | 2016-05-18 | 华为技术有限公司 | 一种故障定位方法及服务器 |
CN107918577A (zh) * | 2017-11-28 | 2018-04-17 | 郑州云海信息技术有限公司 | 一种bmc获取fpga卡温度信息的方法 |
CN109189602A (zh) * | 2018-09-21 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种PCIE Slot故障定位方法、装置以及设备 |
CN109542752A (zh) * | 2018-11-28 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种服务器PCIe设备故障记录的系统及方法 |
CN109614259A (zh) * | 2018-11-28 | 2019-04-12 | 郑州云海信息技术有限公司 | 一种服务器PCIe设备定位故障原因的系统及方法 |
CN109947585A (zh) * | 2019-03-13 | 2019-06-28 | 西安易朴通讯技术有限公司 | Pcie设备故障的处理方法及装置 |
CN110069366A (zh) * | 2018-01-24 | 2019-07-30 | 阿里巴巴集团控股有限公司 | 一种重加载方法、装置及服务器 |
CN110362435A (zh) * | 2019-06-25 | 2019-10-22 | 苏州浪潮智能科技有限公司 | Purley平台服务器的PCIE故障定位方法、装置、设备及介质 |
CN110399220A (zh) * | 2019-07-19 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种fpga加速卡的管理方法及相关装置 |
CN110457164A (zh) * | 2019-07-08 | 2019-11-15 | 华为技术有限公司 | 设备管理的方法、装置和服务器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965367B2 (en) * | 2014-12-17 | 2018-05-08 | Quanta Computer Inc. | Automatic hardware recovery system |
JP2016186719A (ja) * | 2015-03-27 | 2016-10-27 | 富士通株式会社 | 入出力制御装置、情報処理装置及び入出力制御装置の制御方法 |
US11023302B2 (en) * | 2018-03-07 | 2021-06-01 | Dell Products L.P. | Methods and systems for detecting and capturing host system hang events |
CN109815043B (zh) * | 2019-01-25 | 2022-04-05 | 华为云计算技术有限公司 | 故障处理方法、相关设备及计算机存储介质 |
CN109947596A (zh) * | 2019-03-19 | 2019-06-28 | 浪潮商用机器有限公司 | Pcie设备故障系统宕机处理方法、装置及相关组件 |
-
2020
- 2020-02-26 CN CN202010121212.0A patent/CN111414268B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7844866B2 (en) * | 2007-10-02 | 2010-11-30 | International Business Machines Corporation | Mechanism to report operating system events on an intelligent platform management interface compliant server |
CN105589776A (zh) * | 2015-12-23 | 2016-05-18 | 华为技术有限公司 | 一种故障定位方法及服务器 |
CN107918577A (zh) * | 2017-11-28 | 2018-04-17 | 郑州云海信息技术有限公司 | 一种bmc获取fpga卡温度信息的方法 |
CN110069366A (zh) * | 2018-01-24 | 2019-07-30 | 阿里巴巴集团控股有限公司 | 一种重加载方法、装置及服务器 |
CN109189602A (zh) * | 2018-09-21 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种PCIE Slot故障定位方法、装置以及设备 |
CN109542752A (zh) * | 2018-11-28 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种服务器PCIe设备故障记录的系统及方法 |
CN109614259A (zh) * | 2018-11-28 | 2019-04-12 | 郑州云海信息技术有限公司 | 一种服务器PCIe设备定位故障原因的系统及方法 |
CN109947585A (zh) * | 2019-03-13 | 2019-06-28 | 西安易朴通讯技术有限公司 | Pcie设备故障的处理方法及装置 |
CN110362435A (zh) * | 2019-06-25 | 2019-10-22 | 苏州浪潮智能科技有限公司 | Purley平台服务器的PCIE故障定位方法、装置、设备及介质 |
CN110457164A (zh) * | 2019-07-08 | 2019-11-15 | 华为技术有限公司 | 设备管理的方法、装置和服务器 |
CN110399220A (zh) * | 2019-07-19 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种fpga加速卡的管理方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111414268A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111414268B (zh) | 故障处理方法、装置及服务器 | |
US6829729B2 (en) | Method and system for fault isolation methodology for I/O unrecoverable, uncorrectable error | |
CN109783262B (zh) | 故障数据处理方法、装置、服务器及计算机可读存储介质 | |
US6012148A (en) | Programmable error detect/mask utilizing bus history stack | |
CN101589370B (zh) | 一种并行计算机系统以及在其上进行故障恢复的方法 | |
TWI229796B (en) | Method and system to implement a system event log for system manageability | |
US7313717B2 (en) | Error management | |
CN106789306B (zh) | 通信设备软件故障检测收集恢复方法和系统 | |
CN111324192A (zh) | 一种系统板卡电源检测方法、装置、设备及存储介质 | |
CN112015599B (zh) | 错误恢复的方法和装置 | |
US6845469B2 (en) | Method for managing an uncorrectable, unrecoverable data error (UE) as the UE passes through a plurality of devices in a central electronics complex | |
CN117389790B (zh) | 可恢复故障的固件检测系统、方法、存储介质及服务器 | |
CN112527582A (zh) | 服务器线缆的检测方法、检测装置、检测设备及存储介质 | |
CN112650612A (zh) | 一种内存故障定位方法及装置 | |
CN114003416B (zh) | 内存错误动态处理方法、系统、终端及存储介质 | |
TWI777628B (zh) | 電腦系統及其專用崩潰轉存硬體裝置與記錄錯誤資料之方法 | |
CN100375960C (zh) | 用于调试输入/输出故障的方法和系统 | |
US7925728B2 (en) | Facilitating detection of hardware service actions | |
US10846162B2 (en) | Secure forking of error telemetry data to independent processing units | |
CN118656307B (zh) | 基板管理控制器的故障检测方法、服务器、介质和产品 | |
CN117407207B (zh) | 一种内存故障处理方法、装置、电子设备及存储介质 | |
CN115766415B (zh) | 一种智能网卡vr状态监控装置、方法、终端及存储介质 | |
CN117873771B (zh) | 一种系统宕机处理方法、装置、设备、存储介质及服务器 | |
CN118377656B (zh) | 系统不可恢复故障处理方法、装置、电子设备及存储介质 | |
US11294753B2 (en) | Information processing apparatus and method for collecting communication cable log |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |