CN114706703B - 多路服务器系统故障诊断装置、系统及方法 - Google Patents

多路服务器系统故障诊断装置、系统及方法 Download PDF

Info

Publication number
CN114706703B
CN114706703B CN202210316342.9A CN202210316342A CN114706703B CN 114706703 B CN114706703 B CN 114706703B CN 202210316342 A CN202210316342 A CN 202210316342A CN 114706703 B CN114706703 B CN 114706703B
Authority
CN
China
Prior art keywords
fault
information
socket
server system
fault information
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
Application number
CN202210316342.9A
Other languages
English (en)
Other versions
CN114706703A (zh
Inventor
杨有桂
陈才
刘付东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phytium Technology Co Ltd
Original Assignee
Phytium Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202210316342.9A priority Critical patent/CN114706703B/zh
Publication of CN114706703A publication Critical patent/CN114706703A/zh
Application granted granted Critical
Publication of CN114706703B publication Critical patent/CN114706703B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/079Root cause analysis, i.e. error or fault diagnosis

Abstract

本发明一种多路服务器系统故障诊断装置、系统及方法,该装置包括:相互连接的Socket故障监测模块以及存储模块,所述Socket故障监测模块用于分别监测多路服务器系统中各Socket内CPU的故障信息,监测到的所述故障信息存储至所述存储模块中。本发明能够适用于多路服务器系统实现Socket粒度的故障诊断,且具有结构简单、复杂程度以及成本低、扩展性好等优点。

Description

多路服务器系统故障诊断装置、系统及方法
技术领域
本发明涉及多路服务器系统技术领域,尤其涉及一种多路服务器系统故障诊断装置、系统及方法。
背景技术
多路服务器系统的内部组成结构较为复杂,系统中包含多个CPU芯片,各个CPU芯片通过互联通道(FIT)实现互联以进行数据交互,各CPU的内部资源都是共享的,如果产生跨路访问,则数据需要通过FIT来交互。因此在多路服务器系统中,实现内部故障诊断对于确保系统稳定可靠运行是非常重要的。
现有技术中大部分故障诊断方式是针对单路系统,通常是通过采用软件诊断方式实现,即通过软件程序来检测系统中是否存在故障。但是多路服务器系统与单路系统的内部机制不同,上述软件诊断方式并不适用于多路系统中,具体会存在以下问题:
1、诊断信息获取过程需要软件的支持,导致诊断流程需要过度依赖软件系统的正常状态,一旦软件程序存在异常则无法实现整个系统的故障诊断。
2、由于多路服务器中各CPU内部资源共享,基于软件诊断方式的故障诊断即便检测到故障,也难于定位发生故障的socket号,同时受限于信息上报的物理通道,在芯片初始化流程,socket也无法独立上报故障信息,即软件诊断方式难于将故障诊断细化到socket粒度。
现有技术中针对多路服务器系统的故障诊断的研究较少,且通常都是通过对故障日志信息的分析实现故障诊断,就不关注CPU小系统的故障发现,无法对不同的socket进行区分与诊断。现有技术中针对于实现CPU小系统的故障发现,则必须要借助于辅助外部电路的设计才能实现,如图1所示,由外部电路用于故障信号的捕获以及故障信息解析,但是这不仅会增加板级设计难度,还会使得系统难于通用化。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种结构简单、复杂程度以及成本低、扩展性好的多路服务器系统故障诊断装置、系统,以及实现方法简单、诊断实现复杂度低且效率高方法,能够适用于多路服务器系统实现socket粒度的故障诊断。
为解决上述技术问题,本发明提出的技术方案为:
一种多路服务器系统故障诊断装置,包括:相互连接的Socket故障监测模块以及存储模块,所述Socket故障监测模块用于分别监测多路服务器系统中各Socket内CPU的信息并判断监测到的信息类型,当判断为故障信息时控制将故障信息存储至所述存储模块中。
进一步的,所述Socket故障监测模块包括多个Socket故障监测单元,每个Socket内对应设置一个所述Socket故障监测单元,以用于监测对应Socket内CPU的故障信息。
进一步的,所述存储模块包括多个存储单元,每个Socket对应设置一个所述存储单元,以用于存储监测到的对应Socket内CPU的故障信息。
进一步的,所述存储模块还连接有存储控制器,以用于当判断到所述存储模块的存储空间不足时,控制按照预先配置的优先级顺序存储故障信息。
进一步的,所述Socket故障监测模块监测的CPU的故障信息包括BIST功能故障信息、数据存储故障信息、内部网络故障信息、IO接口错误故障信息、模块运行故障信息、数据传输故障信息中任意一种或多种。
进一步的,所述存储模块还与BIOS连接,通过调用BIOS将监测到的所述故障信息写入所述存储模块。
进一步的,还包括与所述存储模块连接的软件诊断模块,用于通过预置的软件程序对多路服务器系统进行触发自检和/或故障测试,诊断得到的故障信息存储至所述存储模块中。
进一步的,还包括与所述存储模块连接的带外访问通道,以用于提供访问所述存储模块内的故障信息的访问通道。
一种多路服务器系统,包括多个Socket,每个所述Socket内包括一个以上的CPU,各所述CPU之间互联,还设置有如上述的故障诊断装置。
一种多路服务器系统故障诊断方法,所述方法应用于多路服务器系统,所述多路服务器系统包括多个Socket,每个所述Socket内包括一个以上的CPU,所述多路服务器系统还包括相互连接的Socket故障监测模块以及存储模块,各所述Socket分别与所述Socket故障监测模块连接,所述方法的步骤包括:
所述Socket故障监测模块分别监测各Socket内CPU的信息并判断监测到的信息类型;
所述Socket故障监测模块判断到监测到的信息为故障信息时,控制将故障信息存储至存储模块中。
进一步的,所述将监测到的所述故障信息存储至预先配置的存储模块中,当判断到所述存储模块的存储空间不足时,按照预先配置的优先级顺序存储故障信息。
进一步的,所述按照预先配置的优先级顺序存储故障信息包括:控制根据优先级顺序将待存储的故障信息覆盖所述存储模块中存储的历史故障信息。
进一步的,所述按照预先配置的优先级顺序存储故障信息还包括:当最高优先级的故障信息写入所述存储模块后,控制不允许对写入的所述最高优先级的故障信息进行修改,并发送控制指令以控制保留现场信息、停止对应CPU运行。
进一步的,所述将监测到的所述故障信息存储至预先配置的存储模块还包括:将所述故障信息进行编码以形成故障码,将所述故障码存储至所述存储模块。
进一步的,所述故障码包括故障发生模块的信息、故障类型信息、故障优先级信息中任意一种或两种以上的组合。
进一步的,所述CPU的故障信息包括BIST功能故障信息、数据存储故障信息、内部网络故障信息、IO接口错误故障信息、模块运行故障信息、数据传输故障信息中任意一种或多种。
进一步的,还包括通过预置的软件程序对多路服务器系统进行触发自检、故障测试,将诊断得到的故障信息存储至所述存储模块中。
一种多路服务器系统故障检测方法,用于上述多路服务器系统故障诊断装置,所述多路服务器系统还包括带外访问通道,所述带外访问通道与所述存储模块连接,所述故障检测方法的步骤包括:
通过所述带外访问通道访问所述存储模块中的故障信息;
根据访问得到的所述故障信息确定对应的故障类型。
进一步的,所述根据访问得到的所述故障信息确定对应的故障类型后,还包括根据故障类型控制输出预置的故障诊断信息和/或控制执行预设的故障处理。
与现有技术相比,本发明的优点在于:本发明通过以Socket为故障监测单位,分别监测多路服务器系统中各Socket内CPU的故障信息,然后再将监测到的故障信息进行统一存储,能够有效地将故障诊断范围缩小到Socket级别,实现Socket粒度的CPU小系统故障发现,且基于存储的故障信息使得在芯片初始化等各个阶段均可以上报故障信息,监测Socket内CPU的故障信息可以通过CPU内部来实现,可以不需要依赖于额外增加的硬件电路,从而能够极大减小实现难度和成本,同时还便于实现扩展。
附图说明
图1是传统实现CPU小系统故障发现的原理示意图。
图2是本发明实施例1中多路服务器系统故障诊断装置的结构原理示意图。
图3是本发明实施例1中故障信息写入操作的原理示意图。
图4是本发明实施例2中多路服务器系统故障诊断装置的结构原理示意图。
图5是本发明实施例3中多路服务器系统故障诊断方法的实现流程示意图。
图例说明:1、Socket故障监测模块;101、Socket故障监测单元;2、存储模块;201、存储单元;3、软件诊断模块;4、带外访问通道。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
CPU芯片是通过接口与主板连接,不同类型的CPU芯片具有不同的CPU Socket(插槽),CPU Socket也即为用于安装CPU的插座,每个CPU芯片对应一个CPU Socket,每个CPUSocket内部包含多个小CPU。在多路服务器系统中,所有的CPU数据都是共享的,socket无法独立上报故障信息,因而若直接基于软件诊断方式对故障数据进行分析,无法区分故障是发生在哪个Socket。
本发明通过以Socket为故障监测最小范围,分别监测多路服务器系统中各Socket内CPU的故障信息,然后再将监测到的故障信息进行统一存储,能够有效地将故障诊断范围缩小到socket级别,实现socket粒度的CPU小系统故障发现,且基于存储的故障信息使得在芯片初始化等各个阶段均可以上报故障信息,监测Socket内CPU的故障信息可以通过CPU内部来实现,可以不需要依赖于额外增加的硬件电路,从而能够极大减小实现难度和成本。
实施例1:
如图2所示,本实施例多路服务器系统故障诊断装置包括:相互连接的Socket故障监测模块1以及存储模块2,Socket故障监测模块1用于分别监测多路服务器系统中各Socket内CPU的信息并判断监测到的信息类型,当判断为故障信息时控制将故障信息存储至存储模块2中。通过设置Socket故障监测模块1,以Socket为故障监测最小范围,Socket内由CPU收集故障信息,即由CPU内部来实现故障信息收集,然后统一将故障信息存储至到存储模块2中,能够有效地将故障诊断范围缩小到Socket级别,实现在CPU小系统的故障发现,且不需要额外增加硬件电路,极大减小了实现难度和成本,同时还便于实现扩展。
本实施例中,Socket故障监测模块1具体包括多个Socket故障监测单元101,每个Socket内对应设置一个Socket故障监测单元101,以用于监测对应Socket内CPU的故障信息,各个Socket故障监测单元101之间相互独立。即为每个Socket对应设置一个Socket故障监测单元101,以独立监测该Socket内各CPU故障信息,每个Socket故障监测单元101与每个Socket是一一对应的,则每当监测到CPU故障信息后由监测的Socket故障监测单元101即可定位出故障发生的具体Socket位置。
在具体应用实施例中,可以预先为各Socket进行编号,各Socket故障监测单元101设置在各Socket内部,并形成一一对应的映射关系,则由监测出故障信息的Socket故障监测单元101所在位置与映射关系,即可确定发生故障的Socket编号。
可以理解的是,Socket故障监测模块1的数量也可以根据实际需求配置,除上述为每个Socket对应设置一个Socket故障监测模块1的一对一方式以外,也可以采用由一个Socket故障监测模块1对应两个以上的Socket,以减少实现成本。
Socket故障监测单元101具体由各CPU实现内部的故障收集,如在每个CPU内嵌有故障收集程序,由该故障收集程序对各CPU内部故障信息进行自主收集,以主动发现各CPU内的各类故障,再由各CPU将故障信息写入存储模块2中。上述故障收集程序可以是CPU内已有的故障收集功能程序,也可以是自定义设置的能够实现故障收集功能的程序,具体可以根据实际需求确定。
本实施例中,Socket故障监测模块1监测的CPU的故障信息具体包括BIST(内建自测试)功能故障信息、数据存储故障信息、内部网络故障信息、IO接口错误故障信息、模块运行故障信息、数据传输故障信息等,数据存储故障信息包括存储错误、内存数据跳变等,IO接口错误故障信息为如IO接口无法访问等,模块运行故障信息可以为模块初始化异常、运行异常等,数据传输故障信息如存在传输误码、数据重传等。
可以理解的是,Socket故障监测模块1所具体监测的故障信息可以依据实际需求配置,可以是上述故障信息中的任意一种或多种,故障信息也并不限于上述所列举的,除上述所列举的故障信息外,当然还可以根据实际需求增加其他更多需要关注的CPU故障相关的信息。
本实施例中,存储模块2包括多个存储单元201,每个Socket对应设置一个存储单元201,以用于存储监测到的对应Socket内CPU的故障信息,各个Socket的存储单元201之间相互独立。即每个Socket内部均对应设置有一个存储单元201,该Socket内所监测到的CPU故障信息统一发送至该Socket内部的存储单元201,使得各个Socket所监测到的故障信息独立存储至各自的内部存储单元201中,将故障诊断细化至Socket粒度,同时还可以有效解决在Socket间不能通信之前故障信息跨Socket传递的难点问题。
本实施例中,存储单元201具体采用设置在Socket内部的故障寄存器,该寄存器具体是由一组寄存器构成,寄存器组数量可以根据故障信息的数量、长短来定义。可以理解的是,存储单元201当然也可以根据实际需求采用Socket内部的其他存储空间来实现,如单独在Socket内部开辟一块存储空间以用于存储故障信息,甚至还可以在Socket外部采用存储器等存储设备实现,如果采用外部的存储设备实现,则优选的可再将存储设备与各Socket形成一一对应的关系,以使得便于定位故障信息所对应的Socket。
本实施例中,存储模块2还连接有存储控制器,每个存储单元201分别与存储控制器连接,以用于控制按照预先配置的优先级顺序存储故障信息。CPU各类型故障对于系统的影响程度是不同的,如模块初始化异常、IO接口无法访问等故障,会影响系统功能缺失,无法正常工作,而如可纠正的ECC错误、过多的数据重传错误等,并不影响系统的正常工作,只是存在潜在的风险。另外,除不同故障信息对系统的影响程度不同以外,用户对于不同故障信息的关注度等也可能是不同的。本实施例通过进一步设置存储控制器,由存储控制器对存储模块2中各个存储单元201的存储行为进行控制,当需要对故障信息存储时,由存储控制器按照预先配置的优先级顺序对故障信息进行存储,使得可以优先存储实时关键的故障信息,从而确保关键故障信息存储的实时性。上述优先级顺序具体可预先依据故障信息对系统正常工作的影响程度、用户关注度等因素进行设置。
在具体应用实施例中,考虑到存储模块2的存储空间是有限的,而故障信息是持续产生的,如果存储模块2的存储空间不足,此时若发生影响系统正常工作的错误而无法存储,会导致无法及时发现影响系统运行的故障,对于系统正常工作的影响较大。本实施例通过实时监测存储模块2的存储空间剩余量,当判断到存储单元201的存储空间剩余量不足(小于预设阈值)时,采用待存储的新故障信息覆盖历史存储故障信息的方式,即每次从存储单元201中查找出需要更新的历史存储故障信息,然后将待存储的新故障信息覆盖该查找的历史存储故障信息,以保持故障数据的实时性。上述确定需覆盖的历史存储故障信息时,具体可以依据存储时长、重要程度等因素进行筛选确定,如可以选取存储时长最长或重要程度最低的历史存储故障信息。
本实施例具体可预先将CPU故障划分为多个优先等级,如高、中、低等级,或者更为细化的多个等级;如果判断到存储单元201的存储空间不足,此时再接收到故障信息时,先判断故障信息的优先等级,控制将较高优先级的故障信息覆盖较低优先级的故障信息,例如,如果接收到的故障信息为最高等级,则在存储单元201当前已存储的故障信息中查找最低等级的故障信息,将最新接收到的最高等级故障信息覆盖查找到的最低等级故障信息,以使得确保系统的运行可靠性。上述覆盖的原则具体也可以根据实际需求配置,如还可以配置为将最新接收到的故障信息覆盖掉优先等级较低(低于最新接收到的故障信息的优先等级),同时故障信息最旧(存储时间最长)的历史故障信息,以使得保持故障数据的实时性。
本实施例中,存储模块2中各存储单元201还与BIOS(Basic Input OutputSystem,基本输入输出系统)连接,通过调用BIOS将监测到的故障信息写入存储模块2。由于存储模块2属于公共资源,各存储单元201采用一组寄存器,为了简化OS寄存器写入产生多线程/进程竞争关系,同时简化OS的平台的兼容性,如图3所示,本实施例通过BIOS来完成故障信息写入至各存储单元201,具体通过OS调用BIOS的接口来实现故障信息写入。
本实施例中,还包括与存储模块2连接的软件诊断模块3,用于通过预置的软件程序对多路服务器系统触发自检、故障测试,诊断得到的故障信息存储至存储模块2中各存储单元201。具体还可以配置对于CPU的故障检测信息,通过错误中断的方式,将错误信息以故障码的方式填入到故障信息中。通过设置软件诊断模块3,可以进一步实现自检、故障测试下的故障诊断,从而获取更为充分的系统故障信息,及时发现系统的故障。
本实施例中,还包括与存储模块2连接的带外访问通道4,以用于提供访问存储模块2中各存储单元201内的故障信息的访问通道,即外部设备可以通过带外访问通道4访问、读取各存储单元201内故障信息,使得能够通过带外的方式实现对存储模块2中各存储单元201进行访问,将读取的故障信息解析后即可供其它装置表达出来,即可以通过不同的装置将故障信息表达出来。由于对于CPU而言,各存储单元201内的故障信息的获取不需要依赖于软件功能,因此即便CPU软件异常挂死,也能正常获取该故障信息,还可以将故障信息进行上报。
本实施例还包括多路服务器系统,包括多个Socket,每个Socket内包括一个以上的CPU,各CPU之间互联,还设置有如上述的故障诊断装置。
实施例2:
如图4所示,本实施例与实施例1基本相同,不同之处在于,Socket故障监测模块1包括多个Socket故障监测单元101,两个以上的Socket共同对应连接一个Socket故障监测单元101,即由一个Socket故障监测单元101同时监测两个以上的Socket内部的CPU故障信息;存储模块2包括多个存储单元201,两个以上的Socket共同对应连接一个存储单元201,即由一个存储单元201共同存储两个以上的Socket内部的CPU故障信息。
虽然相比于实施例1,本实施例不能独立实现每个Socket的故障监测,但是相比于实施例1可以减少Socket故障监测单元101、存储单元201的数量进一步减少成本及开销,而相比于传统直接针对整个系统进行故障诊断的方式而言,本实施例仍然可以有效的降低故障诊断实现的粒度,提高多路服务器系统故障诊断的有效性。
实施例3:
如图5所示,本实施例多路服务器系统故障诊断方法应用于多路服务器系统,多路服务器系统包括多个Socket,每个Socket内包括一个以上的CPU,多路服务器系统还包括相互连接的Socket故障监测模块1以及存储模块2,各Socket分别与Socket故障监测模块1连接,该方法的步骤包括:
步骤S01.Socket故障监测模块1分别监测多路服务器系统中各Socket内CPU的故障信息并判断监测到的信息类型;
步骤S02.Socket故障监测模块1判断到监测到的信息为故障信息时,控制将监测到的故障信息存储至预先配置的存储模块2中。
如图2所示本实施例具体在每个Socket内对应设置一个Socket故障监测单元101,以用于监测对应Socket内CPU的故障信息,各个Socket故障监测单元101之间相互独立。即为每个Socket对应设置一个Socket故障监测单元101,以独立监测该Socket内各CPU故障信息,每个Socket故障监测单元101与每个Socket是一一对应的,则每当监测到CPU故障信息后由监测的Socket故障监测单元101即可定位出故障发生的具体Socket位置。在每个Socket对应设置一个存储单元201,以用于存储监测到的对应Socket内CPU的故障信息,各个Socket的存储单元201之间相互独立。即每个Socket内部均对应设置有一个存储单元201,该Socket内所监测到的CPU故障信息统一发送至该Socket内部的存储单元201,使得各个Socket所监测到的故障信息独立存储至各自的内部存储单元201中,将故障诊断细化至Socket粒度,同时还可以有效解决在Socket间不能通信之前故障信息跨Socket传递的难点问题。
本实施例通过以Socket为故障监测最小范围,分别监测多路服务器系统中各Socket内CPU的故障信息,Socket内由CPU收集故障信息,即由CPU内部来实现故障信息收集,然后统一将故障信息存储至到存储模块2中,能够有效地将故障诊断范围缩小到socket级别,实现在CPU小系统的故障发现,且不需要额外增加硬件电路,极大减小了实现难度和成本。
本实施例中,预先为各Socket进行编号,各Socket故障监测单元101设置在各Socket内部,并形成一一对应的映射关系。步骤S01中,通过由监测出故障信息的Socket故障监测单元101所在位置与映射关系,即可确定发生故障的Socket编号。
本实施例步骤S01中,具体由各CPU实现内部的故障收集,CPU内嵌有故障收集程序,由该故障收集程序对各CPU内部故障信息进行自主收集,以主动发现各CPU内的各类故障,再由各CPU将故障信息写入存储模块2中。上述故障收集程序可以是CPU内已有的故障收集功能程序,也可以是自定义设置的程序,具体可以根据实际需求确定。
本实施例步骤S01中,监测的CPU的故障信息具体包括BIST(内建自测试)功能故障信息、数据存储故障信息、内部网络故障信息、IO接口错误故障信息、模块运行故障信息、数据传输故障信息等,数据存储故障信息包括存储错误、内存数据跳变等,IO接口错误故障信息为如IO接口无法访问等,模块运行故障信息可以为模块初始化异常、运行异常等,数据传输故障信息如存在传输误码、数据重传等。
可以理解的是,上述所具体监测的故障信息可以依据实际需求配置,可以是上述故障信息中的任意多种,故障信息也并不限于上述所列举的,除上述所列举的故障信息外,当然还可以根据实际需求增加其他更多需要关注的CPU故障相关的信息。
本实施例中,步骤S02将监测到的故障信息存储至预先配置的存储模块2中,按照预先配置的优先级顺序存储故障信息。存储模块2的存储空间是有限的,而故障信息是持续产生的,无法记录所有的故障信息,CPU各类型故障对于系统的影响程度是不同的,如模块初始化异常、IO接口无法访问等故障,会影响系统功能缺失,无法正常工作,而如可纠正的ECC错误、过多的数据重传错误等,并不影响系统的正常工作,只是存在潜在的风险,若在存储空间不足时此时发生影响系统正常工作的错误而此时由于存储空间不足无法存储,会导致无法及时发现影响系统运行的故障。本实施例通过进一步对存储模块2中各个存储单元201的存储行为进行控制,当接收到较多故障信息,同时判断到存储单元201的存储空间不足时,控制按照预先配置的优先级顺序存储故障信息。
本实施例具体可预先将CPU故障划分为多个优先等级,如高、中、低等级(具体按照下表1将故障信息定义不同的故障等级),还可以分为更为细化的多个等级;如果判断到存储单元201的存储空间不足,此时再接收到故障信息时,先判断故障信息的优先等级,控制根据优先级顺序将待存储的故障信息覆盖存储模块2中存储的历史故障信息,具体可配置为将较高优先级的故障信息覆盖较低优先级的故障信息,例如,如果接收到的故障信息为最高等级,则在存储单元201当前已存储的故障信息中查找最低等级的故障信息,将最新接收到的最高等级故障信息覆盖查找到的最低等级故障信息,以使得确保系统的运行可靠性。上述覆盖的原则具体也可以根据实际需求配置,如还可以配置为将最新接收到的故障信息覆盖掉优先等级较低(低于最新接收到的故障信息的优先等级),同时故障信息最旧(存储时间最长)的历史故障信息,以使得保持故障数据的实时性。
表1:故障信息等级定义
本实施例步骤S02中按照预先配置的优先级顺序存储故障信息还包括:当最高优先级的故障信息写入存储模块2后,控制不允许对写入的最高优先级的故障信息进行修改,并发送控制指令以控制保留现场信息、停止对应CPU运行。最高优先级(如致命故障)的故障信息会影响整个系统的正常运行,本实施例通过将最高等级的故障信息一旦写入到故障寄存器中,就控制不允许更改,且当软件检测到致命错误,控制发送指令以停止运行,并保留现场以进一步进行分析。
本实施例中,步骤S02将监测到的故障信息存储至预先配置的存储模块2还包括:将故障信息进行编码以形成故障码,将故障码存储至存储模块2。
为了方便对故障信息进行解析以及统一标准,本实施例根据不同的故障类型、具体场景定义不同的故障码,每个socket都有独立空间,发生故障后,先区分故障发生在哪个socket,然后将故障信息写入到对应的socket寄存器空间(存储单元201)。故障码定义具体可包括故障发生模块的信息、故障类型信息、故障优先级信息等,故障发生模块的信息可以为故障模块编号,故障类型信息可以为故障详细信息,故障码的具体定义方式具体均可以根据实际需求配置。考虑到故障寄存器都采用32bit寄存器存放,本实施例中故障码具体采取32bit的方式进行编码,同时避免故障码与寄存器的初始值冲突。
由于存储模块2属于公共资源,各存储单元201采用一组寄存器,为了简化OS寄存器写入产生多线程/进程竞争关系,同时简化OS的平台的兼容性,本实施例步骤S02中具体通过BIOS来完成故障信息写入至各存储单元201,即通过OS调用BIOS的接口来实现故障信息写入。
本实施例中,步骤S02前还包括软件诊断步骤,通过预置的软件程序对多路服务器系统触发自检、故障测试,诊断得到的故障信息存储至存储模块2中各存储单元201。具体还可以配置对于CPU的故障检测信息,通过错误中断的方式,将错误信息以故障码的方式填入到故障信息中。通过设置软件诊断方式,可以进一步实现自检、故障测试下的故障诊断,从而获取更为充分的系统故障信息,及时发现系统的故障。
本实施例中,步骤S02后还包括通过带外访问通道4访问、读取各存储单元201内故障信息,使得能够通过带外的方式实现对存储模块2中各存储单元201进行访问,将读取的故障信息解析后即可供其它装置表达出来。由于对于CPU而言,各存储单元201内的故障信息的获取不需要依赖于软件功能,因此即便CPU软件异常挂死,也能正常获取该故障信息,还可以将故障信息进行上报。
实施例4:
本实施例:多路服务器系统故障检测方法,用于如实施例1中的多路服务器系统故障诊断装置,该多路服务器系统故障诊断装置还包括带外访问通道4,带外访问通道4与存储模块2连接,故障检测方法的步骤包括:
通过带外访问通道4访问存储模块2中的故障信息;
根据访问得到的故障信息确定对应的故障类型。
多路服务器系统故障诊断装置通过设置Socket故障监测模块1,以Socket为故障监测最小范围,Socket内由CPU收集故障信息,即由CPU内部来实现故障信息收集,然后统一将故障信息存储至到存储模块2中,然后通过带外访问通道4访存储模块2即可访问监测到的故障信息,根据访问到的该故障信息确定对应的故障类型,可以方便的实现多路服务器系统故障检测,无需额外的检测电路,且故障检测范围缩小到了Socket级别,有效缩小了多路服务器系统故障检测的检测粒度。同时基于带外访问的方式,由于对故障信息的获取不需要依赖于软件功能,因而本实施例上述检测方法即便在CPU软件异常挂死的情况下,也能正常获取到故障信息进行故障检测。
在具体应用实施例中,可以由外部设备通过带外访问通道4访问、读取存储模块2中各存储单元201内故障信息,以通过带外的方式实现对存储模块2中各存储单元201进行访问,由外部设备将访问的故障信息进行解析,然后根据解析的信息确定出对应的故障类型。上述外部设备可以是外部控制器、外部控制终端等各类设备。
本实施例中,预先进行故障类型划分,并构建故障类型与故障信息对应的映射关系,即各故障类型具体对应会存在哪些故障信息,当访问得到故障信息时,将该故障信息与该映射关系进行比对即可确定出对应的故障类型。故障类型的划分方式、确定方式均可以根据实际需求进行配置。
本实施例中,根据访问得到的故障信息确定对应的故障类型后,还包括根据故障类型控制输出预置的故障诊断信息,以使得可以直观的获取到故障诊断结果。具体可预先为每种故障类型对应配置故障诊断信息,故障诊断信息包括故障类型、故障信息描述、故障解决措施等信息,确定出故障类型后,调用对应预置的故障诊断信息进行显示,则用户可以快速、直观的获取到当前故障类型以及解决措施等有效信息。根据访问得到的故障信息确定对应的故障类型后,还可以控制执行预设的故障处理,以实现故障的自动处理,如判断到属于严重影响系统正常运行的故障时,控制系统停止运行以确保运行安全。
可以理解的是,上述控制输出预置的故障诊断信息与控制执行预设的故障处理可以择其一执行,也可以同时执行,如判断到属于严重影响系统正常运行的故障时,输出预置的故障信息,同时控制系统停止运行以确保运行安全,具体可以根据实际需求配置。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

Claims (19)

1.一种多路服务器系统故障诊断装置,所述多路服务器系统包括多个Socket,每个所述Socket内包括一个以上的CPU,其特征在于,包括:相互连接的Socket故障监测模块(1)以及存储模块(2),所述Socket故障监测模块(1)用于以Socket为故障监测最小范围,分别监测多路服务器系统中各Socket内CPU的信息并判断监测到的信息类型,当判断为故障信息时控制将故障信息存储至所述存储模块(2)中,以实现Socket粒度的故障诊断。
2.根据权利要求1所述的多路服务器系统故障诊断装置,其特征在于:所述Socket故障监测模块(1)包括多个Socket故障监测单元(101),每个Socket内对应设置一个所述Socket故障监测单元(101),以用于监测对应Socket内CPU的故障信息。
3.根据权利要求1所述的多路服务器系统故障诊断装置,其特征在于:所述存储模块(2)包括多个存储单元(201),每个Socket对应设置一个所述存储单元(201),以用于存储监测到的对应Socket内CPU的故障信息。
4.根据权利要求1所述的多路服务器系统故障诊断装置,其特征在于:所述存储模块(2)还连接有存储控制器,以用于控制按照预先配置的优先级顺序存储故障信息。
5.根据权利要求1所述的多路服务器系统故障诊断装置,其特征在于:所述Socket故障监测模块(1)监测的CPU的故障信息包括BIST功能故障信息、数据存储故障信息、内部网络故障信息、IO接口错误故障信息、模块运行故障信息、数据传输故障信息中任意一种或多种。
6.根据权利要求1~5中任意一项所述的多路服务器系统故障诊断装置,其特征在于:所述存储模块(2)还与BIOS连接,通过调用BIOS将监测到的所述故障信息写入所述存储模块(2)。
7. 根据权利要求1~5中任意一项所述的多路服务器系统故障诊断装置,其特征在于:还包括与所述存储模块(2)连接的软件诊断模块(3),用于通过预置的软件程序对多路服务器系统进行触发自检和/或故障测试,诊断得到的故障信息存储至所述存储模块(2)中。
8.根据权利要求1~5中任意一项所述的多路服务器系统故障诊断装置,其特征在于:还包括与所述故障信息存储模块(2)连接的带外访问通道(4),以用于提供访问所述存储模块(2)内的故障信息的访问通道。
9.一种多路服务器系统,包括多个Socket,每个所述Socket内包括一个以上的CPU,各所述CPU之间互联,其特征在于,还设置有如权利要求1~8任意一项所述的故障诊断装置。
10.一种多路服务器系统故障诊断方法,其特征在于,所述方法应用于多路服务器系统,所述多路服务器系统包括多个Socket,每个所述Socket内包括一个以上的CPU,所述多路服务器系统还包括相互连接的Socket故障监测模块(1)以及存储模块(2),各所述Socket分别与所述Socket故障监测模块(1)连接,所述方法的步骤包括:
所述Socket故障监测模块(1)以Socket为故障监测最小范围,分别监测各Socket内CPU的信息并判断监测到的信息类型;
所述Socket故障监测模块(1)判断到监测到的信息为故障信息时,控制将故障信息存储至存储模块(2)中,以实现Socket粒度的故障诊断。
11.根据权利要求10所述的多路服务器系统故障诊断方法,其特征在于,所述控制将故障信息存储至存储模块(2)中时,按照预先配置的优先级顺序存储所述故障信息。
12.根据权利要求11所述的多路服务器系统故障诊断方法,其特征在于,所述按照预先配置的优先级顺序存储故障信息包括:控制根据优先级顺序将待存储的故障信息覆盖所述存储模块(2)中存储的历史故障信息。
13.根据权利要求11所述的多路服务器系统故障诊断方法,其特征在于,所述按照预先配置的优先级顺序存储故障信息还包括:当最高优先级的故障信息写入所述存储模块(2)后,控制不允许对写入的所述最高优先级的故障信息进行修改,并发送控制指令以控制保留现场信息、停止对应CPU运行。
14.根据权利要求10~13中任意一项所述的多路服务器系统故障诊断方法,其特征在于,所述将监测到的所述故障信息存储至预先配置的存储模块(2)还包括:将所述故障信息进行编码以形成故障码,将所述故障码存储至所述存储模块(2)。
15.根据权利要求14所述的多路服务器系统故障诊断方法,其特征在于,所述故障码包括故障发生模块的信息、故障类型信息、故障优先级信息中任意一种或两种以上的组合。
16.根据权利要求10~13中任意一项所述的多路服务器系统故障诊断方法,其特征在于,所述CPU的故障信息包括BIST功能故障信息、数据存储故障信息、内部网络故障信息、IO接口错误故障信息、模块运行故障信息、数据传输故障信息中任意一种或多种。
17.根据权利要求10~13中任意一项所述的多路服务器系统故障诊断方法,其特征在于,还包括通过预置的软件程序对多路服务器系统进行触发自检和/或故障测试,将诊断得到的故障信息存储至所述存储模块(2)中。
18.一种多路服务器系统故障检测方法,用于权利要求1~9中任意一项所述的多路服务器系统故障诊断装置,其特征在于,所述多路服务器系统故障诊断装置还包括带外访问通道(4),所述带外访问通道(4)与所述存储模块(2)连接,所述故障检测方法的步骤包括:
通过所述带外访问通道(4)访问所述存储模块(2)中的故障信息;
根据访问得到的所述故障信息确定对应的故障类型。
19.根据权利要求18所述的多路服务器系统故障检测方法,其特征在于,所述根据访问得到的所述故障信息确定对应的故障类型后,还包括根据故障类型控制输出预置的故障诊断信息和/或控制执行预设的故障处理。
CN202210316342.9A 2022-03-23 2022-03-23 多路服务器系统故障诊断装置、系统及方法 Active CN114706703B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210316342.9A CN114706703B (zh) 2022-03-23 2022-03-23 多路服务器系统故障诊断装置、系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210316342.9A CN114706703B (zh) 2022-03-23 2022-03-23 多路服务器系统故障诊断装置、系统及方法

Publications (2)

Publication Number Publication Date
CN114706703A CN114706703A (zh) 2022-07-05
CN114706703B true CN114706703B (zh) 2023-10-20

Family

ID=82170126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210316342.9A Active CN114706703B (zh) 2022-03-23 2022-03-23 多路服务器系统故障诊断装置、系统及方法

Country Status (1)

Country Link
CN (1) CN114706703B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327993B (zh) * 2022-03-14 2022-05-20 苏州浪潮智能科技有限公司 设备故障诊断系统及故障诊断方法
CN115407746A (zh) * 2022-07-18 2022-11-29 中国第一汽车股份有限公司 车辆的故障信息处理方法、装置、存储介质和处理器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10107792A (ja) * 1996-09-27 1998-04-24 Kawatetsu Joho Syst Kk サーバ監視装置
US6212560B1 (en) * 1998-05-08 2001-04-03 Compaq Computer Corporation Dynamic proxy server
KR20010090635A (ko) * 2000-04-10 2001-10-19 김형순 다중화 서버 시스템을 위한 통신 시스템 및 방법
CN103425545A (zh) * 2013-08-20 2013-12-04 浪潮电子信息产业股份有限公司 一种多处理器服务器的系统容错方法
CN106815108A (zh) * 2017-01-19 2017-06-09 郑州云海信息技术有限公司 一种多路服务器故障定位系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114528234B (zh) * 2022-01-11 2023-03-21 飞腾信息技术有限公司 用于多路服务器系统的带外管理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10107792A (ja) * 1996-09-27 1998-04-24 Kawatetsu Joho Syst Kk サーバ監視装置
US6212560B1 (en) * 1998-05-08 2001-04-03 Compaq Computer Corporation Dynamic proxy server
KR20010090635A (ko) * 2000-04-10 2001-10-19 김형순 다중화 서버 시스템을 위한 통신 시스템 및 방법
CN103425545A (zh) * 2013-08-20 2013-12-04 浪潮电子信息产业股份有限公司 一种多处理器服务器的系统容错方法
CN106815108A (zh) * 2017-01-19 2017-06-09 郑州云海信息技术有限公司 一种多路服务器故障定位系统

Also Published As

Publication number Publication date
CN114706703A (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
CN114706703B (zh) 多路服务器系统故障诊断装置、系统及方法
CN102439888B (zh) 一种快速通道互连链路监控方法和设备及系统
US20150106660A1 (en) Controller access to host memory
US7246269B1 (en) Efficient memory check architecture and method
KR101438990B1 (ko) 시스템 테스트 방법
MX2008003299A (es) Depuracion de sistemas integrados.
WO2004003748A1 (en) Method and system to implement a system event log for improved system anageability
JP2017507432A (ja) 複数のセンサを有する測定システム
CN116627877B (zh) 一种片上总线状态记录系统和记录方法
US6584432B1 (en) Remote diagnosis of data processing units
CN110445638A (zh) 一种交换机系统故障保护方法及装置
CN113832663B (zh) 控制芯片故障记录方法、装置以及控制芯片故障读取方法
JP5163120B2 (ja) デバッグシステム、デバッグ方法、およびプログラム
CN101639816A (zh) 一种总线的实时跟踪系统及相应的跟踪、调试方法
US20030115382A1 (en) Peripheral device testing system and a peripheral device testing method which can generally test whether or not a peripheral device is normally operated
CN109446002B (zh) 一种用于服务器抓取sata硬盘的治具板、系统及方法
US7418631B2 (en) Program-controlled unit
KR102619941B1 (ko) 임베디드 시스템의 타겟 시스템을 위한 진단장치의 다중연결 방법 및 장치
CN114003416B (zh) 内存错误动态处理方法、系统、终端及存储介质
CN108021476B (zh) 一种互联接口的测试方法、装置和计算设备
CN105279044B (zh) 一种基于bois总线识别bios状态的方法及计算机系统
Dong et al. D2: Anomaly detection and diagnosis in networked embedded systems by program profiling and symptom mining
Dong et al. Post-deployment anomaly detection and diagnosis in networked embedded systems by program profiling and symptom mining
CN112213980A (zh) 一种单片机故障诊断板卡及方法
US20200174875A1 (en) Secure forking of error telemetry data to independent processing units

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