Fault information reporting method, device and system, computer equipment and storage medium

By receiving the fault information sent by the basic input and output system and the target device, determining the consistent and differential information, and reporting it, the problem of untimely transmission of fault information in the prior art is solved and the system stability is improved.

CN119537077APending Publication Date: 2025-02-28INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411620384.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-13
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

The prior art cannot transmit fault information to the BMC in a timely and accurate manner when SMI interrupt load is too heavy or KCS channel communication is delayed or failed, resulting in a reduction in system stability.

Method used

By receiving the first fault information sent by the basic input and output system and obtaining the second fault information from the target device, consistent fault information and different fault information are determined, and reported to ensure that the fault information can be transmitted to the BMC in a timely and accurate manner.

Benefits of technology

It realizes that failure information can still be processed in a timely manner when SMI interrupt load is too heavy or KCS channel communication is delayed or failed, improving system stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119537077A_ABST
    Figure CN119537077A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of servers, and discloses a fault information reporting method, device and system, computer equipment and a storage medium, the method comprises the following steps: receiving first fault information sent by a basic input and output system, storing the first fault information in a first storage space, the computing device triggers the system management interrupt, processes the system management interrupt based on the basic input and output system, and obtains first fault information; second fault information is obtained from the target device, the second fault information is stored in a second storage space, and when the computing device breaks down, the error pin detects that the computing device breaks down, the second fault information is obtained, and the second fault information is sent to the target device; and determining consistent fault information and differential fault information based on the first fault information and the second fault information, and reporting the fault information. According to the invention, the fault information is accurately transmitted to the controller, and the system stability is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of servers, and in particular to a method, device, system, computer equipment and storage medium for reporting fault information. Background Art

[0002] In modern computing and network environments, servers play an indispensable role. To ensure the continuous operation of business and data security, the reliability, availability, and serviceability (RAS) performance of servers is particularly important.

[0003] In the related art, in order to ensure the RAS performance of the server, when a server fails, the system will trigger a system management interrupt (System Management Interrupt, referred to as: SMI), and the basic input and output system (BIOS) will perform preliminary analysis after receiving the fault information, and pass the fault information to the baseboard management controller (Baseboard Management Controller, referred to as: BMC) through the keyboard controller style (Keyboard Controller Style, referred to as: KCS) channel. The BMC reports the fault information for further fault location.

[0004] However, this processing mechanism cannot transmit fault information to the BMC promptly and accurately when the SMI interrupt load is too heavy or the KCS channel itself has communication delay or failure, and thus cannot process the fault information in time, reducing system stability. Summary of the invention

[0005] In view of this, the present invention provides a fault information reporting method, device, system, computer equipment and storage medium to solve the problem that the processing mechanism of the related technology cannot transmit the fault information to the BMC in a timely and accurate manner when the SMI interrupt load is too heavy or the KCS channel itself has a communication delay or failure, and thus cannot process the fault information in time, thereby reducing the stability of the system.

[0006] In a first aspect, the present invention provides a fault information reporting method, which is applied to a controller, and the method comprises:

[0007] receiving first fault information sent by a basic input / output system, and saving the first fault information to a first storage space, wherein when a computing device fails, the computing device triggers a system management interrupt, and the basic input / output system processes the system management interrupt to obtain the first fault information;

[0008] Acquire second fault information from the target device, and save the second fault information to a second storage space, wherein when a computing device fails, the error pin detects that the computing device fails, obtains the second fault information, and sends the second fault information to the target device;

[0009] Based on the first fault information of the first storage space and the second fault information of the second storage space, consistent fault information and different fault information are determined, and the information is reported.

[0010] The fault information reporting method provided in this embodiment receives the first fault information sent by the basic input and output system and obtains the second fault information from the target device, determines the consistent fault information and the different fault information according to the fault information from different sources, and reports the consistent fault information and the different fault information, thereby eliminating the situation where the fault information cannot be transmitted to the BMC in a timely and accurate manner due to the excessive load of the SMI interrupt or the communication delay or failure of the KCS channel itself, and can process the fault information in a timely manner, thereby improving the system stability.

[0011] In an optional implementation manner, the acquiring the second fault information from the target device includes:

[0012] Periodically inspecting a target register in the target device;

[0013] When the target register is set, obtaining second fault information from the target device;

[0014] Wherein, when the target device receives the second fault information, it performs a setting operation on the target register.

[0015] The fault information reporting method provided in this embodiment can quickly discover new fault information by periodically inspecting the target register. Once the target register is set, the second fault information is obtained from the target device to ensure that the fault information can be captured in time, thereby improving the reliability of fault monitoring and the stability of the system.

[0016] In an optional implementation manner, the determining consistent fault information and different fault information based on the first fault information of the first storage space and the second fault information of the second storage space includes:

[0017] Compare a key field of the first fault information in the first storage space with a key field of the second fault information in the second storage space, wherein the key field includes an error type, an error component, and a timestamp;

[0018] For any first fault information, if the key field of any second fault information in the second storage space is the same as the key field of the first fault information, the first fault information is determined to be consistent fault information, wherein if the error type, error component and timestamp of the second fault information are the same as the error type, error component and timestamp of the first fault information, the key field of the second fault information is determined to be the same as the key field of the first fault information;

[0019] In a case where the key field of any second fault information in the second storage space is different from the key field of the first fault information, the first fault information is determined to be difference fault information, wherein, in a case where at least one of the error type, error component and timestamp of the second fault information is different from the key field corresponding to the first fault information, it is determined that the key field of the second fault information is different from the key field of the first fault information;

[0020] For any second fault information, if a key field of any first fault information in the first storage space is different from a key field of the second fault information, the second fault information is determined as difference fault information.

[0021] The fault information reporting method provided in this embodiment compares the key fields of the fault information from the basic input and output system and the target device, and then determines the consistent fault information and the different fault information, and reports the consistent fault information and the different fault information, thereby eliminating the situation where the fault information cannot be transmitted to the BMC in a timely and accurate manner due to the excessive load of the SMI interrupt or the communication delay or failure of the KCS channel itself, thereby ensuring that the fault information can be transmitted to the BMC in a timely and accurate manner, and then the fault information can be processed in a timely manner, thereby improving the stability of the system.

[0022] In an optional implementation manner, the reporting of information includes:

[0023] Generate an error log based on the consistent fault information and the different fault information;

[0024] Compressing the error log to obtain a compressed error log;

[0025] The compressed error log is reported.

[0026] The fault information reporting method provided in this embodiment significantly reduces the amount of data that needs to be transmitted by compressing the error log, reports the error log in a timely manner, and reduces the transmission time.

[0027] In an optional implementation manner, the reporting of information includes:

[0028] Generate an error log based on the consistent fault information and the different fault information;

[0029] Encrypting the error log to obtain an encrypted error log;

[0030] The encrypted error log is reported.

[0031] The fault information reporting method provided in this embodiment encrypts the error log to ensure that only users or systems with the correct key can decrypt and view the log content, effectively preventing unauthorized users or systems from accessing and ensuring the security of the error log.

[0032] In an optional implementation, before determining consistent fault information and different fault information based on the first fault information in the first storage space and the second fault information in the second storage space, the method further includes:

[0033] Performing integrity check on the first fault information of the first storage space and the second fault information of the second storage space;

[0034] When the integrity check of the first fault information of the first storage space and the second fault information of the second storage space passes, consistent fault information and different fault information are determined based on the first fault information of the first storage space and the second fault information of the second storage space.

[0035] The fault information reporting method provided in this embodiment can ensure that the fault information obtained from the first storage space and the second storage space is complete and has not been tampered with through integrity verification, thereby avoiding misjudgment or erroneous analysis caused by inaccurate data and improving system stability.

[0036] In a second aspect, the present invention provides a fault information reporting device, the device comprising:

[0037] a receiving module, configured to receive first fault information sent by a basic input / output system, and save the first fault information to a first storage space, wherein when a computing device fails, the computing device triggers a system management interrupt, and the basic input / output system processes the system management interrupt to obtain the first fault information;

[0038] an acquisition module, configured to acquire second fault information from a target device and save the second fault information to a second storage space, wherein when a computing device fails, an error pin detects that the computing device fails, acquires the second fault information, and sends the second fault information to the target device;

[0039] The determination module is used to determine consistent fault information and different fault information based on the first fault information of the first storage space and the second fault information of the second storage space, and report the information.

[0040] In a third aspect, the present invention provides a fault information reporting system, the system comprising: a controller;

[0041] The controller is used to execute the fault information reporting method of the first aspect or any corresponding implementation manner thereof.

[0042] In a fourth aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor are communicatively connected to each other, computer instructions are stored in the memory, and the processor executes the fault information reporting method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0043] In a fifth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the fault information reporting method of the first aspect or any corresponding embodiment thereof.

[0044] In a sixth aspect, the present invention provides a computer program product, comprising computer instructions, wherein the computer instructions are used to enable a computer to execute the fault information reporting method of the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0046] Figure 1 is a flowchart of a method for reporting fault information according to an embodiment of the present invention;

[0047] Figure 2 is a flow chart of sending fault information to BMC in the related art;

[0048] Figure 3 is a schematic diagram of a process of transmitting second fault information to a BMC according to an embodiment of the present invention;

[0049] Figure 4 is a flowchart of another method for reporting fault information according to an embodiment of the present invention;

[0050] Figure 5is a flow chart of another fault information reporting method according to an embodiment of the present invention;

[0051] Figure 6 is a structural block diagram of a fault information reporting device according to an embodiment of the present invention;

[0052] Figure 7 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0053] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0054] In the modern computing and network environment, servers play an indispensable role. Because servers not only provide functions such as data storage, application hosting and network services, but also ensure business continuity, disaster recovery, scalability and security, they are indispensable critical infrastructure for any organization that relies on information technology for operation and development.

[0055] The RAS performance of a server is directly related to the stability, efficiency and maintainability of the server. A server with high RAS performance can ensure the data security of the continuous operation of the business, improve user experience and satisfaction, and reduce maintenance costs and time. Therefore, when choosing a server, RAS performance is an important indicator that cannot be ignored. In the server, BIOS and BMC are the two main firmware of the server, which play a vital role in the identification and analysis after the failure occurs. Among them, BMC is the core component of the server management system defined by the IPMI (Intelligent Platform Management Interface) protocol. BMC is a hardware manager integrated in servers, network devices and other computer systems. It is usually a dedicated microcontroller embedded in the motherboard. It is mainly responsible for monitoring the hardware status of the device, performing remote management operations, and providing monitoring and control functions for the device. BIOS is a set of programs solidified on a ROM chip on the motherboard inside the computer. It stores the most important basic input and output programs of the computer, system setting information, power-on self-test programs and system startup boot programs.

[0056] In the related art, in order to ensure the RAS performance of the server, when a server fails, the system will trigger an SMI interrupt. After receiving the fault information, the BIOS will perform a preliminary analysis and pass the fault information to the BMC through the KCS channel. The BMC reports the fault information for further fault location. Among them, the SMI interrupt is a special CPU interrupt used to handle system-level management tasks. These tasks are usually isolated from the operating environment of the operating system (OS) to ensure the independence and security of key management operations. The priority of the SMI interrupt is usually higher than other types of interrupts, including maskable interrupts (INTx) and non-maskable interrupts (NMI). The KCS channel is a hardware communication channel defined in the IPMI standard, which is mainly used for communication between the BMC and other components of the system.

[0057] However, this processing mechanism cannot transmit fault information to the BMC in a timely and accurate manner when the SMI interrupt load is too heavy or the KCS channel itself has communication delays or failures. As a result, the fault information cannot be processed in a timely manner, and the fault cannot be accurately located or the server cannot be debugged later, which reduces system stability.

[0058] An embodiment of the present invention provides a fault information reporting method, which receives first fault information sent by a basic input / output system and obtains second fault information from a target device, determines consistent fault information and differential fault information according to fault information from different sources, and reports the consistent fault information and differential fault information to transmit the fault information to a BMC in a timely and accurate manner, thereby being able to process the fault information in a timely manner and improving the system stability.

[0059] According to an embodiment of the present invention, an embodiment of a fault information reporting method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0060] In this embodiment, a fault information reporting method is provided, which can be used for a controller, and the controller can be a BMC. Figure 1 is a flow chart of a method for reporting fault information according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps:

[0061] Step S101, receiving first fault information sent by a basic input / output system, and saving the first fault information to a first storage space, wherein when a computing device fails, the computing device triggers a system management interrupt, and the basic input / output system processes the system management interrupt to obtain the first fault information.

[0062] The computing device may be a server. The manner in which the first fault information is sent to the BMC is the same as the manner in which the fault information is sent to the BMC in the related art.

[0063] Figure 2 FIG. 1 is a flow chart of sending fault information to BMC in the related art. Figure 2 As shown, the server system starts, and in the case of a server failure, that is, in the case of an error trigger, the hardware or software components in the system detect an abnormality or error, wherein the abnormality or error is described as a failure in this embodiment. When a failure is detected, the relevant hardware in the server (such as a processor, a chipset, etc.) will trigger an SMI interrupt. The SMI interrupt is a special interrupt used to notify the system management firmware (such as BIOS or a unified extensible firmware interface (Unified Extensible FirmwareInterface, referred to as: UEFI)) to process non-standard tasks or tasks that require advanced management permissions. After the central processing unit CPU triggers the SMI interrupt, it will suspend the currently executed task and enter the system management mode (SMM mode). In the SMM mode, the CPU executes a specific code stored in the BIOS, and the SMI interrupt handler in the BIOS will collect the first fault information, that is, based on the BIOS processing SMI interrupt, obtain the first fault information. The first fault information includes the error type, the component where the error occurred, that is, the error component, and possible error codes, etc.

[0064] After obtaining the first fault information, the BIOS analyzes the first fault information, that is, the BIOS receives and triggers error analysis, and transmits the analyzed first fault information to the BMC through the KCS channel, that is, the fault is reported to the BMC.

[0065] In the related art, after receiving the first fault information, the BMC parses the first fault information, saves it in a log, and displays the log in the BMC upper management system. Administrators or technical support personnel can access these logs through specific tools or interfaces to diagnose and solve faults and problems.

[0066] In this embodiment, after the BMC receives the first fault information by using the method in the related art, the BMC saves the first fault information to the first storage space.

[0067] Step S102, obtaining second fault information from the target device, and saving the second fault information to a second storage space, wherein when a computing device fails, an error pin detects that the computing device fails, obtains the second fault information, and sends the second fault information to the target device.

[0068] Among them, due to the method of sending fault information to BMC in related technologies, the fault information is transmitted to BIOS by triggering SMI interrupt, and then BIOS uploads the error to BMC and operating system OS, and BMC and OS analyze the fault to locate the fault. This method needs to ensure that SMI interrupt will not fail and KCS channel must be normal, so that fault information can be transmitted to BMC in a timely and accurate manner. Once SMI interrupt fails or KCS channel itself has communication delay or failure, it will lead to the failure to transmit fault information to BMC in a timely and accurate manner.

[0069] To solve this problem, this embodiment provides another method of transmitting fault information to BMC, which does not rely on BIOS, and transmits fault information to BMC through error pin (Error Pin) and CPLD. It can be understood that BMC is an essential firmware of the server, and can identify, collect and analyze errors by itself based on the Error Pin of the hardware CPU. Therefore, when an abnormality occurs in BIOS or an abnormal interaction occurs in the KCS channel, BMC can collect fault information by itself, and then break the dependency between firmware and channels, thereby ensuring the correct location of the fault, speeding up the error debugging process, and ensuring the quality of the server.

[0070] Figure 3 FIG. 2 is a flow chart of transmitting the second fault information to the BMC according to an embodiment of the present invention. Figure 3 As shown, the server system starts up and uses RAS Offload technology. When a server fails, that is, an error is triggered, the error pin (ErrorPin) on the server motherboard is used to quickly identify the fault, obtain the second fault information, and transmit the second fault information to the target device. The BMC obtains the second fault information from the target device and saves the second fault information to the second storage space.

[0071] Server RAS Offload is a concept related to server hardware and software performance optimization. It mainly involves offloading RAS-related tasks originally performed by the CPU to specialized hardware or processors to reduce the burden on the CPU and improve the overall performance and reliability of the system.

[0072] It should be noted that the target device may be a complex programmable logic device (Complex Programmable Logic Device, abbreviated as: CPLD).

[0073] This method of transmitting the fault information to the BMC bypasses the SMI interrupt, and the CPLD receives the fault information and directly sets and processes the register to enable the BMC to obtain the second fault information from the CPLD.

[0074] Generally, the BMC detects the register setting in the CPLD to receive data from the CPLD, that is, obtains the second fault information from the CPLD. After receiving the second fault information, the BMC parses the second fault information, records and stores the second fault information in a log, and displays it in the BMC upper management system.

[0075] Step S103: based on the first fault information of the first storage space and the second fault information of the second storage space, determine consistent fault information and different fault information, and report the information.

[0076] In this embodiment, to ensure that the fault information can be reported timely and accurately, after the first fault information and the second fault information are acquired, the first fault information and the second fault information are compared to determine consistent fault information and different fault information.

[0077] In this way, even if the SMI interruption load is too heavy or the KCS channel itself has communication delay or failure in the method of obtaining the first fault information, the fault information can be reported promptly and accurately by comparing the second fault information with the first fault information.

[0078] After the consistent fault information and the different fault information are determined, the consistent fault information and the different fault information are reported to the BMC upper management system.

[0079] The fault information reporting method provided in this embodiment receives the first fault information sent by the basic input and output system and obtains the second fault information from the target device, determines the consistent fault information and the different fault information according to the fault information from different sources, and reports the consistent fault information and the different fault information, thereby eliminating the situation where the fault information cannot be transmitted to the BMC in a timely and accurate manner due to the excessive load of the SMI interrupt or the communication delay or failure of the KCS channel itself, and can process the fault information in a timely manner, thereby improving the system stability.

[0080] The fault information reporting method provided in this embodiment ensures that any fault information can be accurately reported and located in a timely manner, which greatly improves the stability and maintenance efficiency of the system.

[0081] In this embodiment, a fault information reporting method is provided, which can be used in a controller. Figure 4 is a flow chart of a method for reporting fault information according to an embodiment of the present invention. Figure 4 As shown, the process includes the following steps:

[0082] Step S401, receiving first fault information sent by the basic input and output system, and saving the first fault information to a first storage space, wherein when a computing device fails, the computing device triggers a system management interrupt, and the basic input and output system processes the system management interrupt to obtain the first fault information. For details, see Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.

[0083] Step S402, obtaining second fault information from the target device, and saving the second fault information to a second storage space, wherein when a computing device fails, the error pin detects that the computing device fails, obtains the second fault information, and sends the second fault information to the target device.

[0084] Specifically, the above step S402 includes:

[0085] Step S4021, periodically inspecting the target register in the target device.

[0086] The BMC periodically inspects the target register in the target device to detect the set state of the target register.

[0087] Step S4022: when the target register is set, obtain second fault information from the target device.

[0088] If the BMC detects that the target register is set, it means that the CPLD stores the second fault information, and then the second fault information is obtained from the CPLD. The second fault information in the CPLD is automatically captured through a periodic inspection mechanism.

[0089] It should be noted that, when the target device receives the second fault information, it performs a setting operation on the target register.

[0090] Step S403: Based on the first fault information of the first storage space and the second fault information of the second storage space, determine the consistent fault information and the different fault information, and report the information. Figure 1 Step S103 of the illustrated embodiment will not be described in detail here.

[0091] The fault information reporting method provided in this embodiment can quickly discover new fault information by periodically inspecting the target register. Once the target register is set, the second fault information is obtained from the target device to ensure that the fault information can be captured in time, thereby improving the reliability of fault monitoring and the stability of the system.

[0092] In some optional implementations, the above step S403 includes:

[0093] Step a1: compare key fields of first fault information in the first storage space with key fields of second fault information in the second storage space, wherein the key fields include error type, error component and timestamp.

[0094] After acquiring and saving the first fault information and acquiring and saving the second fault information, the BMC compares the key field of the first fault information in the first storage space with the key field of the second fault information in the second storage space to determine consistent fault information and different fault information.

[0095] Figure 5 FIG. 1 is a flow chart of a method for reporting fault information according to an embodiment of the present invention. Figure 5 As shown, in the case of a server failure, that is, when an error is triggered, the fault information is transmitted to the BMC in two ways, one of which is the method of step S401 above, that is, the first fault information is transmitted to the BMC based on the BIOS through the SMI interrupt method. The other method is the method of step S402 above, that is, the second fault information is transmitted to the BMC based on the CPLD through the Error Pin method.

[0096] The BMC stores the first fault information in the first storage space A and the second fault information in the second storage space B, and determines whether the first fault information in the first storage space A is consistent with the second fault information in the second storage space B, that is, compares the key field of the first fault information in the first storage space with the key field of the second fault information in the second storage space.

[0097] Step a2, for any first fault information, when the key field of any second fault information in the second storage space is the same as the key field of the first fault information, the first fault information is determined to be consistent fault information, wherein, when the error type, error component and timestamp of the second fault information are the same as the error type, error component and timestamp of the first fault information, the key field of the second fault information is determined to be the same as the key field of the first fault information.

[0098] For any first fault information in the first storage space, if there is any second fault information in the second storage space whose key field is the same as the key field of the first fault information, the first fault information is determined as consistent fault information.

[0099] Step a3, when the key fields of any second fault information in the second storage space are different from the key fields of the first fault information, the first fault information is determined to be difference fault information, wherein, when at least one of the error type, error component and timestamp of the second fault information is different from the key field corresponding to the first fault information, it is determined that the key field of the second fault information is different from the key field of the first fault information.

[0100] Among them, the key field of any second fault information in the second storage space is different from the key field of the first fault information, which means that there is no fault information identical to the first fault information in the second storage space, and the first fault information is determined to be difference fault information.

[0101] Step a4: for any second fault information, if the key field of any first fault information in the first storage space is different from the key field of the second fault information, the second fault information is determined as difference fault information.

[0102] Among them, the key field of any first fault information in the first storage space is different from the key field of the second fault information, which means that there is no fault information identical to the second fault information in the first storage space, and the second fault information is determined to be difference fault information.

[0103] That is to say, if the first fault information in the first storage space A is consistent with the second fault information in the second storage space B, the BMC only needs to report either the first fault information or the second fault information. If the first fault information in the first storage space A is inconsistent with the second fault information in the second storage space B, the first fault information and the second fault information need to be reported separately, and the source of each fault information needs to be indicated.

[0104] The fault information reporting method provided in this embodiment compares the key fields of the fault information from the basic input and output system and the target device, and then determines the consistent fault information and the different fault information, and reports the consistent fault information and the different fault information, thereby eliminating the situation where the fault information cannot be transmitted to the BMC in a timely and accurate manner due to the excessive load of the SMI interrupt or the communication delay or failure of the KCS channel itself, thereby ensuring that the fault information can be transmitted to the BMC in a timely and accurate manner, and then the fault information can be processed in a timely manner, thereby improving the stability and reliability of the system, and also improving the overall robustness of the system.

[0105] The fault information reporting method provided in this embodiment not only reports consistent fault information, but also reports differential fault information, ensuring that uncertain fault information is reported. The differential fault information can be used as an analysis basis for server debugging, solving potential risks in the server, optimizing system performance, and preventing future faults.

[0106] In some optional implementations, the above step S403 includes:

[0107] Step b1: Generate an error log based on the consistent fault information and the different fault information.

[0108] After the consistent fault information and the different fault information are obtained, an error log is generated according to the consistent fault information and the different fault information.

[0109] Step b2: compress the error log to obtain a compressed error log.

[0110] After the error log is generated, the error log is compressed to obtain a compressed error log.

[0111] Step b3: reporting the compressed error log.

[0112] After the error log is compressed, the compressed error log is reported.

[0113] It should be noted that the source of each fault information will be accurately displayed in the error log to facilitate accurate fault location.

[0114] The fault information reporting method provided in this embodiment significantly reduces the amount of data that needs to be transmitted by compressing the error log, reports the error log in a timely manner, and reduces the transmission time.

[0115] In some optional implementations, the above step S403 includes:

[0116] Step c1: Generate an error log based on the consistent fault information and the different fault information.

[0117] After the consistent fault information and the different fault information are obtained, an error log is generated according to the consistent fault information and the different fault information.

[0118] Step c2: encrypt the error log to obtain the encrypted error log.

[0119] After the error log is generated, the error log is encrypted to obtain the encrypted error log.

[0120] It is understandable that the error log may be compressed first, and then the compressed error log may be encrypted to obtain an encrypted error log. Alternatively, the error log may be encrypted first, and then the encrypted error log may be compressed to obtain a compressed error log.

[0121] Step c3: reporting the encrypted error log.

[0122] After the error log is encrypted, the encrypted error log is reported.

[0123] The fault information reporting method provided in this embodiment encrypts the error log to ensure that only users or systems with the correct key can decrypt and view the log content, effectively preventing unauthorized users or systems from accessing and ensuring the security of the error log.

[0124] In some optional implementations, before the above step S403, the fault information reporting method further includes:

[0125] Step d1, performing integrity check on the first fault information of the first storage space and the second fault information of the second storage space.

[0126] Among them, before determining the consistent fault information and the different fault information based on the first fault information of the first storage space and the second fault information of the second storage space, it is necessary to first perform an integrity check on the first fault information of the first storage space and the second fault information of the second storage space to determine the integrity and security of the first fault information and the second fault information, that is, to determine that the first fault information and the second fault information have not been tampered with and are accurate information.

[0127] Step d2, when the integrity check of the first fault information in the first storage space and the second fault information in the second storage space passes, determine consistent fault information and different fault information based on the first fault information in the first storage space and the second fault information in the second storage space.

[0128] Wherein, when the first fault information and the second fault information pass the integrity check, the above step S403 is executed.

[0129] The fault information reporting method provided in this embodiment can ensure that the fault information obtained from the first storage space and the second storage space is complete and has not been tampered with through integrity verification, thereby avoiding misjudgment or erroneous analysis caused by inaccurate data and improving system stability.

[0130] In some optional implementations, the above step S403 includes:

[0131] Step e1, classifying the consistent fault information and the different fault information according to the error component field to obtain multiple classification results.

[0132] After obtaining consistent fault information and different fault information, fault information with the same error component field is classified into one category according to the error component field in the consistent fault information and the different fault information, and multiple classification results are obtained, each classification result including at least one fault information.

[0133] Step e2, reporting multiple classification results in the form of error logs.

[0134] After obtaining multiple classification results, each classification result is arranged in a preset order, an error log is generated, and the error log is reported to the BMC upper management system. The preset order is set by a technician.

[0135] The fault information reporting method provided in this embodiment classifies the fault information according to the error component field, so that maintenance personnel can quickly analyze the faults occurring in different error components, facilitate targeted repair and replacement of different error components, and improve maintenance efficiency.

[0136] In order to make the fault information reporting method of the embodiment of the present application clearer, the fault information reporting method of the embodiment of the present application is described below using a memory failure of a server as an example.

[0137] In the first step, after the server is powered on with AC power, the mainboard CPLD, BIOS, and BMC will be initialized. After initialization, the OS will enter and work normally.

[0138] When the server motherboard detects a memory failure, the CPU triggers an SMI interrupt, which has the highest priority. At this point, the CPU enters the SMM mode, and the SMI interrupt handler in the BIOS calls the relevant fault diagnosis code to handle the current fault, such as repairing the fault. If the fault is serious, the system may be restarted and reset, and the fault will be collected and stored in an available memory space. After the fault is handled, the fault information is uploaded to the BMC through the IPMI KCS channel, and the BMC parses and accurately locates the fault information, and stores the fault information including the error type, error component, and possible error code in a specific memory space, namely the first storage space.

[0139] In the second step, when a memory failure occurs, the Error Pin on the motherboard will detect the failure, which can be transmitted to the CPLD through the hardware link. The CPLD can set the register, and the BMC will find the register set during continuous inspections, and then obtain the fault information from the CPLD, parse and accurately locate the fault information, and store the fault information including the error type, error component, and possible error code in a specific memory space, namely the second storage space.

[0140] In the third step, the BMC compares the fault information of the first storage space with the fault information of the second storage space. If the fault information of the first storage space is consistent with the fault information of the second storage space in terms of error type, error component, and timestamp, a log is reported on the BMC web interface. If they are inconsistent, both fault information are reported. The source of the two fault information will be accurately located in the black box log to facilitate accurate fault location.

[0141] The fault information reporting method provided in this embodiment realizes timely acquisition of fault information and accurate positioning of faults through two methods of acquiring fault information. And acquiring fault information through two methods has a fault-tolerant mechanism for accurate positioning of faults. It is understandable that the SMI interrupt of the CPU has a delay, and it will affect the performance of the CPU when it is used more frequently, and it cannot be guaranteed that the fault can be identified in time. In addition, the channel of KCS also has a delay, and it cannot be guaranteed that the fault can be identified normally when the time is not accurate and matched. Therefore, through the fault information reporting method provided in this embodiment, when one of the methods of acquiring fault information has a problem, another method of acquiring fault information can ensure that the fault information can be reported in time, which will not affect the accurate positioning of the fault, and lay a solid foundation for the long-term stable operation of the system, and strengthen the security and stability of the system.

[0142] In this embodiment, a fault information reporting device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0143] This embodiment provides a fault information reporting device, such as Figure 6 As shown, including:

[0144] The receiving module 601 is used to receive the first fault information sent by the basic input and output system and save the first fault information to the first storage space. When a computing device fails, the computing device triggers a system management interrupt, and the basic input and output system processes the system management interrupt to obtain the first fault information.

[0145] The acquisition module 602 is used to obtain the second fault information from the target device and save the second fault information to the second storage space, wherein when the computing device fails, the error pin detects that the computing device fails, obtains the second fault information, and sends the second fault information to the target device.

[0146] The determination module 603 is used to determine consistent fault information and different fault information based on the first fault information in the first storage space and the second fault information in the second storage space, and report the information.

[0147] In some optional implementations, the acquisition module 602 includes:

[0148] The inspection unit is used for periodically inspecting the target register in the target device.

[0149] The first acquisition unit is used to acquire second fault information from the target device when the target register is set.

[0150] When the target device receives the second fault information, it performs a setting operation on the target register.

[0151] In some optional implementations, the determining module 603 includes:

[0152] The comparison unit is used to compare the key field of the first fault information in the first storage space with the key field of the second fault information in the second storage space, wherein the key field includes an error type, an error component and a timestamp.

[0153] A first determination unit is used to determine, for any first fault information, the first fault information as consistent fault information when a key field of any second fault information in the second storage space is the same as the key field of the first fault information, wherein the key field of the second fault information is determined to be the same as the key field of the first fault information when an error type, error component and timestamp of the second fault information are the same as the error type, error component and timestamp of the first fault information.

[0154] A second determination unit is used to determine the first fault information as difference fault information when a key field of any second fault information in the second storage space is different from the key field of the first fault information, wherein the key field of the second fault information is determined to be different from the key field of the first fault information when at least one of the error type, error component and timestamp of the second fault information is different from the key field corresponding to the first fault information.

[0155] The third determining unit is configured to determine, for any second fault information, when a key field of any first fault information in the first storage space is different from a key field of the second fault information, the second fault information as difference fault information.

[0156] In some optional implementations, the determining module 603 includes:

[0157] The first generating unit is used to generate an error log based on the consistent fault information and the different fault information.

[0158] The compression unit is used to compress the error log to obtain a compressed error log.

[0159] The first reporting unit is used to report the compressed error log.

[0160] In some optional implementations, the determining module 603 includes:

[0161] The second generating unit is used to generate an error log based on the consistent fault information and the different fault information.

[0162] The encryption unit is used to encrypt the error log to obtain the encrypted error log.

[0163] The second reporting unit is used to report the encrypted error log.

[0164] In some optional implementations, the fault information reporting device further includes:

[0165] The verification unit is used to perform integrity verification on the first fault information of the first storage space and the second fault information of the second storage space.

[0166] The fourth determination unit is used to determine consistent fault information and different fault information based on the first fault information of the first storage space and the second fault information of the second storage space when the integrity check of the first fault information of the first storage space and the second fault information of the second storage space passes.

[0167] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0168] The fault information reporting device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0169] The embodiment of the present invention further provides a fault information reporting system, which includes: a controller.

[0170] The controller is used to execute the fault information reporting method shown in the above embodiment.

[0171] The embodiment of the present invention also provides a computer device having the above Figure 6 The fault information reporting device shown.

[0172] See also Figure 7 , Figure 7 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 7 As shown, the computer device includes: one or more processors 701, memory 702, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Each component utilizes different buses to communicate with each other, and can be installed on a common mainboard or installed in other ways as required. The processor can process the instructions executed in the computer device, including instructions stored in the memory or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides part of the necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 7 A processor 701 is taken as an example.

[0173] The processor 701 may be a central processing unit, a network processor or a combination thereof. The processor 701 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable logic gate array, a general purpose array logic or any combination thereof.

[0174] The memory 702 stores instructions executable by at least one processor 701, so that the at least one processor 701 executes the method shown in the above embodiment.

[0175] The memory 702 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 702 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 702 may optionally include a memory remotely arranged relative to the processor 701, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0176] The memory 702 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 702 may also include a combination of the above types of memory.

[0177] The computer device also includes a communication interface 703, which is used for the computer device to communicate with other devices or a communication network.

[0178] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0179] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.

[0180] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A method for reporting fault information, characterized in that: Applied to a controller, the method comprises: receiving first fault information sent by a basic input / output system, and saving the first fault information to a first storage space, wherein when a computing device fails, the computing device triggers a system management interrupt, and the basic input / output system processes the system management interrupt to obtain the first fault information; Acquire second fault information from the target device, and save the second fault information to a second storage space, wherein when a computing device fails, the error pin detects that the computing device fails, obtains the second fault information, and sends the second fault information to the target device; Based on the first fault information of the first storage space and the second fault information of the second storage space, consistent fault information and different fault information are determined, and the information is reported.

2. The method according to claim 1, characterized in that: The obtaining second fault information from the target device includes: Periodically inspecting a target register in the target device; When the target register is set, obtaining second fault information from the target device; Wherein, when the target device receives the second fault information, it performs a setting operation on the target register.

3. The method according to claim 1, characterized in that The determining, based on the first fault information of the first storage space and the second fault information of the second storage space, consistent fault information and different fault information includes: Compare a key field of the first fault information in the first storage space with a key field of the second fault information in the second storage space, wherein the key field includes an error type, an error component, and a timestamp; For any first fault information, if the key field of any second fault information in the second storage space is the same as the key field of the first fault information, the first fault information is determined to be consistent fault information, wherein if the error type, error component and timestamp of the second fault information are the same as the error type, error component and timestamp of the first fault information, the key field of the second fault information is determined to be the same as the key field of the first fault information; In a case where the key field of any second fault information in the second storage space is different from the key field of the first fault information, the first fault information is determined to be difference fault information, wherein, in a case where at least one of the error type, error component and timestamp of the second fault information is different from the key field corresponding to the first fault information, it is determined that the key field of the second fault information is different from the key field of the first fault information; For any second fault information, if a key field of any first fault information in the first storage space is different from a key field of the second fault information, the second fault information is determined as difference fault information.

4. The method according to claim 1, characterized in that: The information reporting includes: Generate an error log based on the consistent fault information and the different fault information; Compressing the error log to obtain a compressed error log; The compressed error log is reported.

5. The method according to claim 1, characterized in that The information reporting includes: Generate an error log based on the consistent fault information and the different fault information; Encrypting the error log to obtain an encrypted error log; The encrypted error log is reported.

6. The method according to claim 1, characterized in that Before determining consistent fault information and different fault information based on the first fault information of the first storage space and the second fault information of the second storage space, the method further includes: Performing integrity check on the first fault information of the first storage space and the second fault information of the second storage space; When the integrity check of the first fault information of the first storage space and the second fault information of the second storage space passes, consistent fault information and different fault information are determined based on the first fault information of the first storage space and the second fault information of the second storage space.

7. A fault information reporting device, characterized in that: The device comprises: a receiving module, configured to receive first fault information sent by a basic input / output system, and save the first fault information to a first storage space, wherein when a computing device fails, the computing device triggers a system management interrupt, and the basic input / output system processes the system management interrupt to obtain the first fault information; an acquisition module, configured to acquire second fault information from a target device and save the second fault information to a second storage space, wherein when a computing device fails, an error pin detects that the computing device fails, acquires the second fault information, and sends the second fault information to the target device; The determination module is used to determine consistent fault information and different fault information based on the first fault information of the first storage space and the second fault information of the second storage space, and report the information.

8. A fault information reporting system, characterized in that: The system comprises: a controller; The controller is used to execute the fault information reporting method according to any one of claims 1 to 6.

9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the fault information reporting method according to any one of claims 1 to 6 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the fault information reporting method according to any one of claims 1 to 6.

Citation Information

Cited By

  • Processor lag monitoring method and device

    CN121008952A