Fault processing method, server system and storage medium
By setting up a hardware processing module in the server system to monitor and perform protocol handshake communication instead of the substrate management controller, the problem of the failure of the substrate management controller caused by the central processor cannot be started, and the normal startup and operation of the system is achieved.
Patent Information
- Application Number
- CN202411217005.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-30
- Publication Date
- 2025-01-14
AI Technical Summary
In the server system, the board management controller failure causes the central processor to fail to start normally and fail to conduct protocol handshake communication.
Set up a hardware processing module in the serial peripheral bus between the central processing unit and the substrate management controller, listen to and record the protocol handshake signal, detect the abnormal state of the substrate management controller, and replace it with the central processing unit in the era of failure. Conduct protocol handshake communication to ensure that the central processor completes the startup process.
Avoid the situation where the central processor cannot be started due to the failure of the substrate management controller, and ensure the normal startup and operation of the system.
Smart Images

Figure CN119311446A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of servers, and in particular to a fault handling method, a server system and a storage medium. Background Art
[0002] In a server system, the startup of the CPU usually depends on the baseboard management controller. For example, when the CPU executes the startup process, it needs to communicate with the baseboard management controller through a serial peripheral bus (such as the Enhanced Serial Peripheral Interface, eSPI) via a protocol handshake, and the power-on process can be completed normally only when the baseboard management controller responds to the protocol handshake normally. However, if the baseboard management controller fails and cannot respond to the above protocol handshake normally, the CPU will not be able to start normally. Summary of the invention
[0003] The purpose of the present invention is to provide a fault handling method, a server system and a storage medium, which can set a hardware processing module in the serial peripheral bus between the central processing unit and the baseboard management controller, and can use the hardware processing module to replace the baseboard management controller to perform protocol handshake communication with the central processing unit when a baseboard management controller fails, so as to avoid the central processing unit being unable to start due to a baseboard management controller failure.
[0004] In order to solve the above technical problems, the present invention provides a fault handling method, which is applied to a server system. The server system includes a central processing unit, a baseboard management controller and a hardware processing module. The hardware processing module is arranged in a serial peripheral bus between the central processing unit and the baseboard management controller. The method includes:
[0005] When executing the startup process, the central processing unit performs protocol handshake communication with the baseboard management controller through the serial peripheral bus;
[0006] The hardware processing module monitors the protocol handshake communication and records the protocol handshake signal transmitted between the central processing unit and the baseboard management controller;
[0007] When the hardware processing module detects that the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, the hardware processing module continues to perform the protocol handshake communication with the central processing unit according to the recorded protocol handshake signal, so that the central processing unit completes the startup process.
[0008] Optionally, the hardware processing module detects whether the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, including:
[0009] When the hardware processing module sends the protocol handshake request signal sent by the central processor to the baseboard management controller, it determines whether the baseboard management controller returns a protocol handshake response signal within a first preset time;
[0010] If it is determined that the baseboard management controller does not return the protocol handshake response signal within the first preset time, determining that the baseboard management controller enters the abnormal state;
[0011] And / or, the hardware processing module receives a heartbeat signal sent by the baseboard management controller, and determines whether the heartbeat signal is normal;
[0012] If it is determined that the heartbeat signal is abnormal, it is determined that the baseboard management controller enters the abnormal state.
[0013] Optionally, after determining that the heartbeat signal is abnormal, the method further includes:
[0014] The hardware processing module controls the baseboard management controller to perform a reset operation, accumulates the number of executions of the reset operation, and determines whether the heartbeat signal is normal each time the reset operation is completed;
[0015] If it is determined that the heartbeat signal is abnormal, determining whether the execution times reaches a preset value;
[0016] If it is determined that the execution times do not reach the preset value, entering the step of controlling the baseboard management controller to perform a reset operation;
[0017] If it is determined that the execution times have reached the preset value, the resetting operation on the baseboard management controller is stopped.
[0018] Optionally, after continuing to perform the protocol handshake communication with the central processor according to the recorded protocol handshake signal, the method further includes:
[0019] The hardware processing module obtains the startup status of the central processing unit, and determines whether the central processing unit has completed startup within a second preset time according to the startup status;
[0020] If it is determined that the central processing unit has not completed the startup within the second preset time, the central processing unit is controlled to be powered on again so that the central processing unit re-executes the startup process.
[0021] Optionally, after the hardware processing module detects that the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, the hardware processing module further includes:
[0022] The hardware processing module performs signal shielding on the serial peripheral bus between the hardware processing module and the baseboard management controller;
[0023] After judging whether the central processor has completed startup within a second preset time according to the startup state, the method further includes:
[0024] If the hardware processing module determines that the central processing unit has completed startup within the second preset time, then detecting whether the baseboard management controller is in the abnormal state;
[0025] If it is determined that the baseboard management controller is in the abnormal state, continue to perform signal shielding on the serial peripheral bus between the hardware processing module and the baseboard management controller;
[0026] If it is determined that the baseboard management controller is not in the abnormal state, signal shielding of the serial peripheral bus between the hardware processing module and the baseboard management controller is stopped to send the bus signal sent by the central processing unit to the baseboard management controller.
[0027] Optionally, it also includes:
[0028] The central processor sends a device status query request to the baseboard management controller through the serial peripheral bus and / or the network, and determines whether the baseboard management controller is in a fault state according to a response of the baseboard management controller to the device status query request;
[0029] If it is determined that the baseboard management controller is in a fault state, a firmware file is written to the baseboard management controller via a high-speed serial computer expansion bus to repair the fault of the baseboard management controller.
[0030] Optionally, it also includes:
[0031] When the hardware processing module receives the device status query request sent by the central processor through the serial peripheral bus, it determines whether to perform signal shielding on the serial peripheral bus between the hardware processing module and the baseboard management controller;
[0032] If yes, the device status query request is blocked;
[0033] If not, the device status query request is sent to the baseboard management controller.
[0034] Optionally, the central processor sends a device status query request to the baseboard management controller through the serial peripheral bus and / or the network, and determines whether the baseboard management controller is in a fault state according to a response of the baseboard management controller to the device status query request, including:
[0035] The central processor sends the device status query request to the baseboard management controller through the network, and determines whether the baseboard management controller returns device status information through the network within a third preset time;
[0036] If it is determined that the baseboard management controller does not return the device status information through the network within a third preset time, sending the device status query request to the baseboard management controller through the serial peripheral bus, and determining whether the baseboard management controller returns the device status information through the serial peripheral bus within a fourth preset time;
[0037] If it is determined that the baseboard management controller does not return the device status information through the serial peripheral bus within a fourth preset time, it is determined that the baseboard management controller is in a fault state.
[0038] Optionally, after writing the firmware file to the baseboard management controller via the high-speed serial computer expansion bus, the method further includes:
[0039] The central processor resends a device status query request to the baseboard management controller through the serial peripheral bus and / or the network, and determines whether the baseboard management controller is in a fault state according to a response of the baseboard management controller to the device status query request;
[0040] If it is determined that the baseboard management controller is not in a fault state, a restart operation is performed to re-execute the startup process.
[0041] If it is determined that the baseboard management controller is in a fault state, fault information indicating that the baseboard management controller is faulty is output.
[0042] Optionally, when executing the startup process, the central processing unit performs a protocol handshake communication with the baseboard management controller through the serial peripheral bus, including:
[0043] The central processing unit sends a protocol handshake request signal to the baseboard management controller as a bus master;
[0044] The baseboard management controller returns a protocol handshake response signal to the central processing unit as a bus slave;
[0045] The hardware processing module monitors the protocol handshake communication and records the protocol handshake signal transmitted between the central processing unit and the baseboard management controller, including:
[0046] When receiving the protocol handshake request signal, the hardware processing module records the protocol handshake request signal and sends the protocol handshake request signal to the baseboard management controller;
[0047] When receiving the protocol handshake response signal, recording the protocol handshake response signal and sending the protocol handshake response signal to the central processor;
[0048] Continuing to perform the protocol handshake communication with the central processor according to the recorded protocol handshake signal includes:
[0049] The hardware processing module determines the current protocol handshake communication phase according to the recorded protocol handshake request signal and the protocol handshake response signal;
[0050] Starting from the current protocol handshake communication phase, a corresponding protocol handshake response signal is sent to the central processor as a bus slave.
[0051] The present invention also provides a server system, comprising: a central processing unit, a baseboard management controller and a hardware processing module, wherein the hardware processing module is arranged in a serial peripheral bus between the central processing unit and the baseboard management controller;
[0052] The central processing unit is used to perform protocol handshake communication with the baseboard management controller through the serial peripheral bus when executing the startup process;
[0053] The hardware processing module is used to monitor the protocol handshake communication and record the protocol handshake signal transmitted between the central processing unit and the baseboard management controller; when it is detected that the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, the hardware processing module continues to perform the protocol handshake communication with the central processing unit according to the recorded protocol handshake signal, so that the central processing unit completes the startup process.
[0054] The present invention also provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are loaded and executed by a processor, the fault handling method as described above is implemented.
[0055] The present invention provides a fault handling method, which is applied to a server system. The server system comprises a central processing unit, a baseboard management controller and a hardware processing module. The hardware processing module is arranged in a serial peripheral bus between the central processing unit and the baseboard management controller. The method comprises: when the central processing unit executes a startup process, the central processing unit performs a protocol handshake communication with the baseboard management controller through the serial peripheral bus; the hardware processing module monitors the protocol handshake communication and records the protocol handshake signal transmitted between the central processing unit and the baseboard management controller; when the hardware processing module detects that the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, the hardware processing module continues to perform the protocol handshake communication with the central processing unit according to the recorded protocol handshake signal, so that the central processing unit completes the startup process.
[0056] It can be seen that the present invention can set a hardware processing module in the serial peripheral bus between the central processing unit and the baseboard management controller, and the hardware module can monitor and record the protocol handshake communication between the central processing unit and the baseboard management controller, and can respond to the central processing unit instead of the baseboard management controller when the baseboard management controller fails. Specifically, when the central processing unit executes the startup process, it can perform protocol handshake communication with the baseboard management controller through the serial peripheral bus. The hardware processing module can monitor the protocol handshake communication and record the protocol handshake signal transmitted between the central processing unit and the baseboard management controller. At the same time, when the hardware processing module detects that the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, it can continue to perform protocol handshake communication with the central processing unit according to the recorded protocol handshake signal, so that the central processing unit completes the startup process, thereby avoiding the situation where the central processing unit cannot be started due to a baseboard management controller failure. The present invention also provides a server system and a computer-readable storage medium, which have the above-mentioned beneficial effects. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.
[0058] Figure 1 A structural block diagram of a server system provided by an embodiment of the present invention;
[0059] Figure 2 A flowchart of a fault handling method provided by an embodiment of the present invention;
[0060] Figure 3A structural block diagram of another server system provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0061] 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 ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0062] The central processing unit and the baseboard management controller are common components in server systems. In the related art, when the central processing unit executes the startup process, it needs to perform protocol handshake communication with the baseboard management controller through a serial peripheral bus (such as eSPI, Enhanced Serial Peripheral Interface, enhanced serial peripheral bus), and the power-on process can be completed normally only when the baseboard management controller responds to the protocol handshake communication normally. However, if the baseboard management controller fails and cannot respond to the above-mentioned protocol handshake communication normally, the central processing unit will not be able to start normally. For example, the central processing unit needs to execute the eSPI Boot process (eSPI power-on startup process) to complete the normal startup. When performing this process, the baseboard management controller needs to promptly feedback signals such as SUSACK_N (auxiliary line signal), Slave_Boot_Load_Done (slave startup loading completed), Slave_Boot_Load_Status (slave startup loading status) to the central processing unit, so that the latter can continue other processes of eSPI Boot. At this time, if the baseboard management controller encounters a fault and cannot promptly feedback the above-mentioned signal, the system will encounter a global reset event, and then the system will hang and cannot start normally.
[0063] In view of this, in order to solve the technical problem of how to avoid the central processing unit from being unable to start normally due to a baseboard management controller failure and inability to respond to the central processing unit's protocol handshake communication, the present invention can provide a fault handling method, which can be used to set a hardware processing module in the serial peripheral bus between the central processing unit and the baseboard management controller, and the hardware processing module can be used to replace the baseboard management controller to perform protocol handshake communication with the central processing unit when the baseboard management controller fails, so as to avoid the central processing unit from being unable to start due to the baseboard management controller failure.
[0064] For ease of understanding, the following first introduces the structure of the server system to which this troubleshooting method applies. Figure 1 , Figure 1The present invention provides a structural block diagram of a server system provided by an embodiment of the present invention. The system may include: a central processing unit 10, a baseboard management controller 20, and a hardware processing module 30. A serial peripheral bus 40 is provided between the central processing unit 10 and the baseboard management controller 20, and the hardware processing module 30 is provided in the serial peripheral bus 40. The hardware processing module 30 can be implemented based on a hardware programmable structure such as a field programmable gate array (FPGA), a complex programmable logic device (CPLD), etc.; the serial peripheral bus 40 can be an enhanced serial peripheral bus (eSPI bus). In practical applications, when the central processing unit 10 executes the startup process, it can communicate with the baseboard management controller 20 through the serial peripheral bus 40 through a protocol handshake, and the hardware processing module 30 can monitor the protocol handshake communication and record the protocol handshake signal transmitted between the central processing unit 10 and the baseboard management controller 20. The hardware processing module 30 can also detect abnormal conditions of the baseboard management controller 20. When it is determined that the baseboard management controller 20 has entered an abnormal state and cannot normally respond to the above-mentioned protocol handshake communication, the hardware processing module 30 added by the present invention can also continue to respond to the protocol handshake communication initiated by the central processing unit 10 according to the recorded protocol handshake signal to replace the baseboard management controller 20. In this way, it can avoid the central processing unit 10 being unable to complete the protocol handshake communication, and further avoid the situation where the central processing unit 10 cannot start normally due to the stuck protocol handshake communication.
[0065] It should be noted that this embodiment does not limit other hardware link connection modes between the central processing unit 10 and the baseboard management controller 20. In addition to the above-mentioned serial peripheral bus 40, a network connection may be provided between the central processing unit 10 and the baseboard management controller 20, and the connection may also be made through a high-speed serial computer expansion bus (PCIe bus, Peripheral Component Interconnect express), which may be set according to actual application requirements.
[0066] Based on the above introduction to the server system structure, the fault handling method provided by the embodiment of the present invention is introduced below. Figure 2 , Figure 2 A flowchart of a fault handling method provided by an embodiment of the present invention, the method is applied to a server system, the server system includes a central processing unit, a baseboard management controller and a hardware processing module, the hardware processing module is arranged in a serial peripheral bus between the central processing unit and the baseboard management controller, the method includes:
[0067] S100: When executing a startup process, the central processing unit performs a protocol handshake communication with the baseboard management controller through the serial peripheral bus.
[0068] In this embodiment, the central processing unit is usually used as the bus master of the serial peripheral bus (such as eSPI Master, eSPI host), and the baseboard management controller is usually used as the bus slave of the serial peripheral bus (such as eSPI Slave, eSPI slave). In the protocol handshake communication, the central processing unit sends a protocol handshake request signal (such as SUS_WARN) to the baseboard management controller as the bus master, and the baseboard management controller returns a protocol handshake response signal (such as SUS_ACK) to the central processing unit as the bus slave. The hardware processing module added in this embodiment needs to monitor and record the above-mentioned protocol handshake request signal and protocol handshake response signal.
[0069] Based on this, when the central processor executes the startup process, the protocol handshake communication with the baseboard management controller through the serial peripheral bus may include:
[0070] Step S101: the central processor sends a protocol handshake request signal to the baseboard management controller as a bus master;
[0071] Step S102: the baseboard management controller returns a protocol handshake response signal to the central processing unit as a bus slave.
[0072] It should be noted that this embodiment does not limit the specific protocol handshake request signal and protocol handshake response signal, and reference may be made to related technologies.
[0073] S200: The hardware processing module monitors the protocol handshake communication and records the protocol handshake signal transmitted between the central processing unit and the baseboard management controller.
[0074] As described above, in order to prevent the baseboard management controller from malfunctioning and being unable to normally respond to the protocol handshake communication initiated by the central processing unit, the present embodiment may set a hardware processing module in the serial peripheral bus between the central processing unit and the baseboard management controller. The hardware processing module may first monitor the protocol handshake communication in the serial peripheral bus, and may record the above-mentioned protocol handshake request signal and protocol handshake response signal (collectively referred to as the protocol handshake signal in this embodiment). Specifically, the hardware processing module may first receive the protocol handshake request signal sent by the central processing unit, parse and record the signal, and send the signal to the baseboard management controller without modification; it may also receive the protocol handshake response signal sent by the baseboard management controller, parse and record the signal, and send the signal to the central processing unit without modification. In other words, the hardware processing module may transparently transmit the signals transmitted by the central processing unit and the baseboard management controller, and then for the central processing unit and the baseboard management controller, the two do not perceive the existence of the hardware processing module.
[0075] Based on this, the hardware processing module monitors the protocol handshake communication and records the protocol handshake signal transmitted between the central processing unit and the baseboard management controller, which may include:
[0076] Step S201: When receiving the protocol handshake request signal, the hardware processing module records the protocol handshake request signal and sends the protocol handshake request signal to the baseboard management controller;
[0077] Step S202: When the protocol handshake response signal is received, the protocol handshake response signal is recorded and sent to the central processor.
[0078] It should be pointed out that in order to parse and record the above-mentioned protocol handshake request signal and protocol handshake response signal, a full set of bus protocol parsing methods should be implemented in the hardware processing module, including handshake process parsing, power-on timing, serial port parsing and other functions.
[0079] S300, when the hardware processing module detects that the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, the hardware processing module continues to perform the protocol handshake communication with the central processing unit according to the recorded protocol handshake signal, so that the central processing unit completes the startup process.
[0080] In this embodiment, in addition to monitoring and recording the above-mentioned protocol handshake communication, the hardware processing module can more importantly detect the abnormal state of the baseboard management controller, and when it is determined that the baseboard management controller has entered the above-mentioned abnormal state and cannot perform the protocol handshake communication, it can continue to perform the protocol handshake communication with the central processing unit according to the recorded protocol handshake signal, and can replace the baseboard management controller to complete the protocol handshake process on the central processing unit side, so that the central processing unit can complete the startup process. In this way, this embodiment can ensure that the central processing unit will not encounter a failure situation in which the protocol handshake process cannot be completed and cannot be started normally due to a failure of the baseboard management controller.
[0081] Specifically, it can be understood that according to the handshake protocol, the central processing unit and the baseboard management controller need to interact with each other in sequence and in stages through protocol handshake signals. Therefore, the hardware processing module can determine the current protocol handshake communication stage based on the recorded protocol handshake request signal and protocol handshake response signal, and continue to send the protocol handshake response signal corresponding to the current protocol handshake communication stage and the subsequent stages to the central processing unit starting from the current protocol handshake communication stage. In addition, considering that the baseboard management controller is a bus slave, the hardware processing module also needs to send the corresponding protocol handshake response signal to the central processing unit as a bus slave.
[0082] Based on this, continuing to perform the protocol handshake communication with the central processor according to the recorded protocol handshake signal may include:
[0083] Step S311: the hardware processing module determines the current protocol handshake communication phase according to the recorded protocol handshake request signal and protocol handshake response signal;
[0084] Step S312: starting from the current protocol handshake communication phase, sending a corresponding protocol handshake response signal to the central processor as a bus slave.
[0085] Furthermore, this embodiment does not limit how the hardware processing module detects whether the baseboard management controller enters the above-mentioned abnormal state. For example, when the hardware processing module sends the protocol handshake request signal to the baseboard management controller, it can determine whether the baseboard management controller returns the protocol handshake response signal within the first preset time (such as within 1 second). If it can return the protocol handshake response signal within the specified time, it means that it has not encountered a fault and can respond normally; if it cannot return the protocol handshake response signal within the specified time, it means that it has encountered a fault and there is a delay. Furthermore, this embodiment can determine that the baseboard management controller has entered the above-mentioned abnormal state when it is determined that the baseboard management controller has not returned the protocol handshake response signal within the first preset time. For another example, the baseboard management controller can continuously and periodically send a heartbeat signal to the hardware processing module. The heartbeat signal is a periodically sent signal indicating the operating status of the baseboard management controller. The hardware processing module can determine whether the heartbeat signal is normal, such as whether the signal frequency of the heartbeat signal is normal and whether the sending time interval of the heartbeat signal exceeds the specified time interval. If the heartbeat signal is determined to be normal, it can be determined that the baseboard management controller has not entered an abnormal state; if the heartbeat signal is determined to be abnormal, it can be determined that the baseboard management controller has entered an abnormal state. It should be noted that the above two methods can be used either or in combination.
[0086] Based on this, the hardware processing module detects whether the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, which may include:
[0087] Step S321: when the hardware processing module sends the protocol handshake request signal sent by the central processor to the baseboard management controller, the hardware processing module determines whether the baseboard management controller returns a protocol handshake response signal within a first preset time;
[0088] Step S322: if it is determined that the baseboard management controller does not return the protocol handshake response signal within the first preset time, then determining that the baseboard management controller enters the abnormal state;
[0089] and / or,
[0090] Step S331: the hardware processing module receives the heartbeat signal sent by the baseboard management controller, and determines whether the heartbeat signal is normal;
[0091] Step S332: If it is determined that the heartbeat signal is abnormal, then determining that the baseboard management controller enters the abnormal state.
[0092] Based on the above embodiments, the present invention can set a hardware processing module in the serial peripheral bus between the central processing unit and the baseboard management controller, and the hardware module can monitor and record the protocol handshake communication between the central processing unit and the baseboard management controller, and can respond to the central processing unit on behalf of the baseboard management controller when a failure occurs in the baseboard management controller. Specifically, when the central processing unit executes the startup process, it can perform protocol handshake communication with the baseboard management controller through the serial peripheral bus. The hardware processing module can monitor the protocol handshake communication and record the protocol handshake signal transmitted between the central processing unit and the baseboard management controller. At the same time, when the hardware processing module detects that the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, it can continue to perform protocol handshake communication with the central processing unit according to the recorded protocol handshake signal, so that the central processing unit completes the startup process, thereby avoiding the situation where the central processing unit cannot be started due to a failure of the baseboard management controller.
[0093] Based on the above embodiment, after determining that the heartbeat signal of the baseboard management controller is abnormal, the hardware processing module can actively control the baseboard management controller to perform a reset operation to actively repair the latter's fault. Based on this, after determining that the heartbeat signal is abnormal, it can also include:
[0094] S341. The hardware processing module controls the baseboard management controller to perform a reset operation, accumulates the number of executions of the reset operation, and determines whether the heartbeat signal is normal each time the reset operation is completed.
[0095] It should be noted that this embodiment does not limit how the hardware processing module controls the baseboard management controller to perform a reset operation. For example, the hardware processing module can pull the hardware reset signal of the baseboard management controller to reset the baseboard management controller. In addition, the hardware processing module can control the baseboard management controller to reset multiple times. However, when the latter encounters a serious fault, repeated resets cannot achieve a repair effect, so the hardware processing module can accumulate the number of executions of the reset operation and determine whether the heartbeat signal reported by the baseboard management controller has returned to normal each time the reset operation is completed. If it returns to normal, it can be determined that the baseboard management controller has exited the abnormal state; otherwise, if it does not return to normal, it is necessary to determine whether the accumulated number of executions reaches a preset value (for example, 3 times). If the preset value is not reached, the hardware processing module can continue to try to reset the baseboard management controller; otherwise, if the preset value has been reached, the hardware processing module can stop performing the reset operation on the baseboard management controller.
[0096] S342: If it is determined that the heartbeat signal is abnormal, determining whether the execution times reaches a preset value;
[0097] S343: If it is determined that the execution times do not reach the preset value, entering the step of controlling the baseboard management controller to perform a reset operation;
[0098] S344: If it is determined that the execution times have reached the preset value, stop resetting the baseboard management controller.
[0099] It can be seen that when the hardware processing module determines that the heartbeat signal of the baseboard management controller is abnormal, it can actively repair it to eliminate the fault of the baseboard management controller as much as possible, thereby trying to ensure that the baseboard management controller can complete the communication with the central processor by itself.
[0100] Based on the above embodiments, after taking over the serial peripheral bus and continuing to perform protocol handshake communication with the central processing unit, the hardware processing module in this embodiment can also actively detect the startup status of the central processing unit, and when it is determined that the startup status has not changed for a long time, it can actively control the central processing unit to power on again, so as to avoid the central processing unit encountering a failure that prevents it from starting normally.
[0101] Based on this, after continuing to perform the protocol handshake communication with the central processor according to the recorded protocol handshake signal, the method may further include:
[0102] S401. The hardware processing module obtains a startup status of the central processing unit, and determines whether the central processing unit has completed startup within a second preset time according to the startup status.
[0103] In this embodiment, when the hardware processing module obtains the startup state of the central processing unit, it can determine whether the central processing unit has completed startup within a second preset time (such as 8 minutes) according to the change of the startup state. If it is determined that the central processing unit has not completed startup within the second preset time, it can be determined that it has encountered a fault and is stuck, and then the central processing unit can be controlled to power on again so that the central processing unit re-executes the startup process.
[0104] It should be noted that this embodiment does not limit how the hardware processing module obtains the startup status of the central processing unit. For example, the hardware processing module may obtain a startup flag from the central processing unit and determine the startup status according to the value of the startup flag.
[0105] S402: If it is determined that the central processing unit has not completed the startup within the second preset time, control the central processing unit to be powered on again so that the central processing unit re-executes the startup process.
[0106] Based on the above embodiment, after taking over the serial peripheral bus, the hardware processing module in this embodiment can actively shield the serial peripheral bus between the hardware processing module and the baseboard management controller to avoid the faulty baseboard management controller affecting the protocol handshake communication, that is, no signal is sent to the baseboard management controller, and the signal reported by the baseboard management controller is not sent to the central processing unit. Subsequently, after determining that the central processing unit is started normally, in order to facilitate the central processing unit to take other means to repair the baseboard management controller, the hardware processing module can continue to detect whether the baseboard management controller is in an abnormal state. If it is still in an abnormal state, the serial peripheral bus between the hardware processing module and the baseboard management controller can continue to be signal-shielded, so that the central processing unit can sense the fault of the baseboard management controller; if it is not in an abnormal state, the signal shielding of the serial peripheral bus between the hardware processing module and the baseboard management controller can be released, so that the central processing unit can communicate with the baseboard management controller through the serial peripheral bus. The specific implementation method of signal shielding is first introduced below.
[0107] Based on this, after the hardware processing module detects that the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, the following may also be included:
[0108] S500: The hardware processing module performs signal shielding on the serial peripheral bus between the hardware processing module and the baseboard management controller.
[0109] Signal shielding means that the hardware processing module will neither send the signal sent by the central processor to the baseboard management controller, nor pass the signal sent by the baseboard management controller to the central processor, which can prevent the faulty baseboard management controller from interfering with the protocol handshake communication.
[0110] After judging whether the central processor has completed startup within a second preset time according to the startup state, the method may further include:
[0111] S601: If the hardware processing module determines that the central processing unit has completed startup within the second preset time, then detect whether the baseboard management controller is in the abnormal state.
[0112] S602: If it is determined that the baseboard management controller is in the abnormal state, continue to perform signal shielding on the serial peripheral bus between the hardware processing module and the baseboard management controller;
[0113] S603: If it is determined that the baseboard management controller is not in the abnormal state, stop signal shielding of the serial peripheral bus between the hardware processing module and the baseboard management controller to send the bus signal sent by the central processing unit to the baseboard management controller.
[0114] As described above, after determining that the central processing unit can start normally, the hardware processing module can re-detect whether the baseboard management controller is in an abnormal state. If it is still in an abnormal state, the hardware processing module can continue to perform signal shielding on the serial peripheral bus between the corresponding hardware processing module and the baseboard management controller, so that the central processing unit cannot communicate with the baseboard management controller through the serial peripheral bus, thereby knowing that the baseboard management controller has encountered a fault based on the inability to communicate. If it is not in an abnormal state, the hardware processing module can stop performing signal shielding on the serial peripheral bus between the corresponding hardware processing module and the baseboard management controller, so that the central processing unit can communicate with the baseboard management controller normally through the serial peripheral bus.
[0115] Based on the above embodiment, the following describes the process of the CPU detecting and repairing the fault of the baseboard management controller after normal startup. Based on this, the method may also include:
[0116] S701. The central processor sends a device status query request to the baseboard management controller through the serial peripheral bus and / or the network, and determines whether the baseboard management controller is in a fault state according to a response of the baseboard management controller to the device status query request.
[0117] In this embodiment, when the baseboard management controller fails, the central processing unit actually relies on the hardware processing module to start up instead of relying on the baseboard management controller to start up, which results in the server system lacking the control of the baseboard management controller and making it difficult to achieve high operational reliability. Moreover, when the central processing unit is started normally, it does not perceive the failure of the baseboard management controller. At this time, if the remaining system startup steps are continued, it will pose a greater threat to the reliability of the server operation. Therefore, after the central processing unit is started normally, it can also actively detect and repair the faults of the baseboard management controller.
[0118] First, the central processor can send a device status query request to the baseboard management controller through the serial peripheral bus and / or the network, and judge whether the baseboard management controller is in a faulty state according to the response of the baseboard management controller to the device status query request. In order to improve the detection efficiency, the central processor can first send the device status query request to the baseboard management controller through the network. If the baseboard management controller can return the device status information through the network in time, it can be judged to be normal. If the baseboard management controller cannot return the device status information through the network in time, the device status query request can be further sent to the baseboard management controller through the serial peripheral bus. If the baseboard management controller can return the device status information through the serial peripheral bus in time, it can be judged to be normal; if the baseboard management controller cannot return the device status information through the serial peripheral bus in time, it can be judged to be faulty.
[0119] Based on this, the central processor sends a device status query request to the baseboard management controller through the serial peripheral bus and / or the network, and determines whether the baseboard management controller is in a fault state according to the response of the baseboard management controller to the device status query request, which may include:
[0120] Step 11: the central processor sends the device status query request to the baseboard management controller through the network, and determines whether the baseboard management controller returns device status information through the network within a third preset time;
[0121] Step 12: If it is determined that the baseboard management controller does not return the device status information through the network within the third preset time, send the device status query request to the baseboard management controller through the serial peripheral bus, and determine whether the baseboard management controller returns the device status information through the serial peripheral bus within a fourth preset time;
[0122] Step 13: If it is determined that the baseboard management controller does not return the device status information via the serial peripheral bus within a fourth preset time, it is determined that the baseboard management controller is in a fault state.
[0123] It should be noted that this embodiment does not limit the third preset time and the specific value of the third preset time, which can be determined according to actual application requirements.
[0124] It should be pointed out here that since the hardware processing module can actively shield the serial peripheral bus between the hardware processing module and the baseboard management controller when it determines that the baseboard management controller is in an abnormal state, when it receives the device status query request sent by the central processor through the serial peripheral bus, it can determine whether signal shielding is still in progress. If so, the device status query request can be shielded so that the central processor determines that the baseboard management controller response has timed out; if not, the device status query request can be sent to the baseboard management controller so that the latter returns the device status information.
[0125] Based on this, the method may further include:
[0126] Step 21: When the hardware processing module receives the device status query request sent by the central processor through the serial peripheral bus, the hardware processing module determines whether to perform signal shielding on the serial peripheral bus between the hardware processing module and the baseboard management controller;
[0127] Step 22: If yes, the device status query request is blocked;
[0128] Step 23: If not, sending the device status query request to the baseboard management controller.
[0129] S702: If it is determined that the baseboard management controller is in a fault state, write a firmware file to the baseboard management controller through a high-speed serial computer expansion bus to repair the fault of the baseboard management controller.
[0130] In this step, since the baseboard management controller is usually connected to the high-speed serial computer expansion bus interface (PCIe interface) of the server motherboard, when the central processing unit determines that the baseboard management controller is in a faulty state, it can force the firmware file to be written to the baseboard management controller through the high-speed serial computer expansion bus to repair the fault of the baseboard management controller.
[0131] After the firmware is flashed, the CPU re-sends a device status query request to the baseboard management controller through the serial peripheral bus and / or the network, and determines whether the baseboard management controller is in a fault state based on the baseboard management controller's response to the device status query request. If it is determined that the baseboard management controller is not in a fault state, a restart operation is performed to re-execute the startup process and normally complete the protocol handshake communication with the baseboard management controller. If it is determined that the baseboard management controller is in a fault state, it is necessary to output fault information indicating the fault of the baseboard management controller to prompt relevant personnel to troubleshoot the fault in a timely manner.
[0132] Based on this, after writing the firmware file to the baseboard management controller through the high-speed serial computer expansion bus, the method may also include:
[0133] S801, the central processor resends a device status query request to the baseboard management controller through the serial peripheral bus and / or the network, and determines whether the baseboard management controller is in a fault state according to a response of the baseboard management controller to the device status query request;
[0134] S802: If it is determined that the baseboard management controller is not in a fault state, a restart operation is performed to re-execute the startup process.
[0135] S803: If it is determined that the baseboard management controller is in a fault state, output fault information indicating that the baseboard management controller is faulty.
[0136] Based on the above embodiment, the above fault repair method is fully introduced below based on specific examples. Figure 3 , Figure 3This is a structural block diagram of another server system provided by an embodiment of the present invention, wherein in the server motherboard, the eSPI link between the central processor and the baseboard management controller is connected to the baseboard management controller through the hardware processing module, and the central processor and the baseboard management controller are also connected with a PCIe link, a USB link and a network. The eSPI link is used to interact with the baseboard management controller during the startup of the central processor, the PCIe link is used when the baseboard management controller firmware fails and cannot be upgraded and repaired by itself, the network is used to communicate with the baseboard management controller after the large system startup of the central processor is completed, and the USB link is used as a backup link for upgrading various firmware when the network fails.
[0137] The specific implementation of the present invention is as follows:
[0138] 1. Design dependency:
[0139] 1. The hardware processing module implements the parsing of the full set of eSPI protocols, including handshake process, power-on timing, serial port parsing and other functions.
[0140] 2. The hardware processing module monitors the bus data of eSPI. After the host (CPU) sends data, the hardware processing module parses the data content and transparently transmits the data to the baseboard management controller. When the hardware processing module parses the data content to establish a handshake negotiation process, it monitors whether the slave machine replies to the data. If the slave machine does not respond for a period of time (such as 1 second), it takes over the eSPI bus and disconnects the connection between the eSPI and the baseboard management controller (data is not transparently transmitted).
[0141] 3. The hardware processing module realizes the startup status of the large system on the CPU side. When the eSPI bus takes over, it detects that the large system has started, but the completion status is not detected after a predetermined time (for example, 8 minutes) and is set. The CPU is powered off and then powered on for repair.
[0142] 4. The central processing unit implements the fault detection and repair function of the baseboard management controller. When it is determined that the baseboard management controller firmware is hung or has other faults, the firmware is forcibly written into the baseboard management controller flash through the PCIe link to complete the repair of the baseboard management controller fault.
[0143] 2. Specific logic implemented by the hardware processing module:
[0144] 1. After the motherboard is powered on and the hardware processing module runs normally, the heartbeat status of the baseboard management controller is monitored. The timing starts after the heartbeat is lost. After the heartbeat loss reaches the specified timeout period, the baseboard management controller is reset and repaired. After the reset and repair, the timing is restarted. If the heartbeat timeout still occurs, it is determined that the baseboard management controller is faulty, and then the CPU is powered on.
[0145] 2. The hardware processing module receives the eSPI bus and parses the data sent by the CPU on the eSPI bus, and transparently transmits all the data content to the baseboard management controller. When the data sent by the CPU is the data for handshake negotiation, the hardware processing module detects whether the baseboard management controller replies to the data. If the data is replied, it is directly transparently transmitted to the CPU. If there is no data response for a long time, it takes over the eSPI bus, and then answers the data on behalf of the baseboard management controller to complete the interaction process.
[0146] 3. After the hardware processing module takes over the eSPI bus, if the startup completion status of the large system on the CPU side is in the completion status, no operation is performed; if the startup completion status of the large system on the CPU side is always starting and does not change to completion after the timeout, it is determined that the large system on the CPU side is hung because the eSPI slave is hung and does not respond, and the CPU is powered off and then powered on for repair.
[0147] 4. The hardware processing module detects the heartbeat status of the baseboard management controller. After the heartbeat status of the baseboard management controller returns to normal, the eSPI slave is in a normal state, releases the proxy permission of the eSPI bus, and restores the data transparent transmission mechanism between the transparent host and the slave.
[0148] 3. Specific implementation logic of the CPU:
[0149] 1. After the large system is started, the function of outputting the heartbeat to the hardware processing module is started to inform the hardware processing module that the system is running normally. At the same time, the detection function of detecting the running status of the baseboard management controller firmware is started. The large system sends instructions to the baseboard management controller through the network to query the health status. If the network sends abnormal data or the instruction returns after a timeout, the same query instruction is sent to the baseboard management controller through the eSPI bus (the current instruction will not be answered even if the hardware processing module takes over the eSPI bus). If the instruction fails to send or there is no response after the instruction times out, the timer is started (the time of the timer is the same as the heartbeat timeout time of the baseboard management controller) to continue the above-mentioned network and eSPI instruction query status process. When the timer ends and the communication is still unavailable, it is considered that the baseboard management controller is faulty.
[0150] 2. When the baseboard management controller fails, use the PCIe link to force the firmware of the baseboard management controller to be flashed. After the flashing is completed, restart the baseboard management controller and wait for the baseboard management controller to start the firmware. After the waiting time is completed, query the health status of the baseboard management controller through the network and eSPI again. If the baseboard management controller can respond to the command normally, the repair is completed, exit this function, restart the CPU once, and follow the normal startup detection process of the CPU; if the command times out or there is no response as before the repair, it is considered that the fault cannot be repaired, and the fault process is followed to start the storage system and report the fault.
[0151] Based on the above embodiments, the server system provided by the present invention is fully introduced below. Figure 1 , Figure 1 A structural block diagram of a server system provided by an embodiment of the present invention, the system may include: a central processing unit 10, a baseboard management controller 20 and a hardware processing module 30, the hardware processing module 30 is arranged in a serial peripheral bus 30 between the central processing unit 10 and the baseboard management controller 20;
[0152] The central processor 10 is used to perform protocol handshake communication with the baseboard management controller 20 through the serial peripheral bus 40 when executing the startup process;
[0153] The hardware processing module 30 is used to monitor the protocol handshake communication and record the protocol handshake signal transmitted between the central processing unit 10 and the baseboard management controller 20; when it is detected that the baseboard management controller 20 enters an abnormal state where the protocol handshake communication cannot be performed, the protocol handshake communication with the central processing unit 10 continues according to the recorded protocol handshake signal, so that the central processing unit 10 completes the startup process.
[0154] Optionally, the hardware processing module 30 is further used for:
[0155] When the protocol handshake request signal sent by the central processor 10 is sent to the baseboard management controller 20, it is determined whether the baseboard management controller 20 returns a protocol handshake response signal within a first preset time;
[0156] If it is determined that the baseboard management controller 20 does not return the protocol handshake response signal within the first preset time, then determining that the baseboard management controller 20 enters the abnormal state;
[0157] and / or, receiving a heartbeat signal sent by the baseboard management controller 20, and determining whether the heartbeat signal is normal;
[0158] If it is determined that the heartbeat signal is abnormal, it is determined that the baseboard management controller 20 enters the abnormal state.
[0159] Optionally, the hardware processing module 30 is further used for:
[0160] Controlling the baseboard management controller 20 to perform a reset operation, accumulating the number of executions of the reset operation, and determining whether the heartbeat signal is normal each time the reset operation is completed;
[0161] If it is determined that the heartbeat signal is abnormal, determining whether the execution times reaches a preset value;
[0162] If it is determined that the execution times do not reach the preset value, entering the step of controlling the baseboard management controller 20 to perform a reset operation;
[0163] If it is determined that the execution times have reached the preset value, the resetting operation on the baseboard management controller 20 is stopped.
[0164] Optionally, the hardware processing module 30 is further used for:
[0165] Acquire the startup status of the central processing unit 10, and determine whether the central processing unit 10 has completed startup within a second preset time according to the startup status;
[0166] If it is determined that the CPU 10 has not completed the startup within the second preset time, the CPU 10 is controlled to be powered on again so that the CPU 10 re-executes the startup process.
[0167] Optionally, the hardware processing module 30 is further used for:
[0168] Performing signal shielding on the serial peripheral bus 40 between the hardware processing module 30 and the baseboard management controller 20;
[0169] After determining whether the central processor 10 has completed startup within a second preset time according to the startup state, the method further includes:
[0170] If it is determined that the CPU 10 has completed startup within the second preset time, detecting whether the BMC 20 is in the abnormal state;
[0171] If it is determined that the baseboard management controller 20 is in the abnormal state, continue to shield signals of the serial peripheral bus 40 between the hardware processing module 30 and the baseboard management controller 20;
[0172] If it is determined that the baseboard management controller 20 is not in the abnormal state, signal shielding of the serial peripheral bus 40 between the hardware processing module 30 and the baseboard management controller 20 is stopped to send the bus signal sent by the central processor 10 to the baseboard management controller 20 .
[0173] Optionally, the central processor 10 is further configured to:
[0174] Sending a device status query request to the baseboard management controller 20 through the serial peripheral bus 40 and / or the network, and judging whether the baseboard management controller 20 is in a fault state according to a response of the baseboard management controller 20 to the device status query request;
[0175] If it is determined that the baseboard management controller 20 is in a fault state, a firmware file is written to the baseboard management controller 20 via a high-speed serial computer expansion bus to repair the fault of the baseboard management controller 20 .
[0176] Optionally, the hardware processing module 30 is further used for:
[0177] When the hardware processing module 30 receives the device status query request sent by the central processor 10 through the serial peripheral bus 40, it determines whether to perform signal shielding on the serial peripheral bus 40 between the hardware processing module 30 and the baseboard management controller 20;
[0178] If yes, the device status query request is blocked;
[0179] If not, the device status query request is sent to the baseboard management controller 20 .
[0180] Optionally, the central processor 10 is further configured to:
[0181] Sending the device status query request to the baseboard management controller 20 through the network, and determining whether the baseboard management controller 20 returns device status information through the network within a third preset time;
[0182] If it is determined that the baseboard management controller 20 does not return the device status information through the network within the third preset time, sending the device status query request to the baseboard management controller 20 through the serial peripheral bus 40, and determining whether the baseboard management controller 20 returns the device status information through the serial peripheral bus 40 within a fourth preset time;
[0183] If it is determined that the baseboard management controller 20 does not return the device status information through the serial peripheral bus 40 within a fourth preset time, it is determined that the baseboard management controller 20 is in a fault state.
[0184] Optionally, the central processor 10 is further configured to:
[0185] Re-sending a device status query request to the baseboard management controller 20 through the serial peripheral bus 40 and / or the network, and judging whether the baseboard management controller 20 is in a fault state according to a response of the baseboard management controller 20 to the device status query request;
[0186] If it is determined that the baseboard management controller 20 is not in a fault state, a restart operation is performed to re-execute the startup process.
[0187] If it is determined that the baseboard management controller 20 is in a fault state, fault information indicating that the baseboard management controller 20 is faulty is output.
[0188] Optionally, the central processor 10 is further configured to send a protocol handshake request signal to the baseboard management controller 20 as a bus master;
[0189] The baseboard management controller 20 is used to return a protocol handshake response signal to the central processor 10 as a bus slave;
[0190] The hardware processing module 30 is also used to record the protocol handshake request signal when receiving the protocol handshake request signal, and send the protocol handshake request signal to the baseboard management controller 20; record the protocol handshake response signal when receiving the protocol handshake response signal, and send the protocol handshake response signal to the central processing unit 10; determine the current protocol handshake communication stage based on the recorded protocol handshake request signal and protocol handshake response signal; and starting from the current protocol handshake communication stage, send the corresponding protocol handshake response signal to the central processing unit 10 as a bus slave.
[0191] An embodiment of the present invention further provides a computer program product, including a computer program / instruction, wherein when the computer program / instruction is executed by a processor, the fault handling method described in the above embodiment is implemented.
[0192] Since the embodiments of the computer program product part correspond to the embodiments of the fault handling method part, please refer to the description of the embodiments of the fault handling method part for the embodiments of the computer program product part, and will not be repeated here.
[0193] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the fault handling method described in the above embodiment is implemented.
[0194] Since the embodiments of the computer-readable storage medium part correspond to the embodiments of the fault handling method part, please refer to the description of the embodiments of the fault handling method part for the embodiments of the storage medium part, which will not be repeated here.
[0195] The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description.
[0196] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
[0197] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
[0198] The above is a detailed introduction to a fault handling method, a server system and a storage medium provided by the present invention. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present invention, the present invention can also be improved and modified, and these improvements and modifications also fall within the scope of protection of the present invention.
Claims
1. A fault handling method, characterized in that: Applied to a server system, the server system includes a central processing unit, a baseboard management controller and a hardware processing module, the hardware processing module is arranged in a serial peripheral bus between the central processing unit and the baseboard management controller, the method includes: When executing the startup process, the central processing unit performs protocol handshake communication with the baseboard management controller through the serial peripheral bus; The hardware processing module monitors the protocol handshake communication and records the protocol handshake signal transmitted between the central processing unit and the baseboard management controller; When the hardware processing module detects that the baseboard management controller has entered an abnormal state where the protocol handshake communication cannot be performed, the hardware processing module continues to perform the protocol handshake communication with the central processing unit according to the recorded protocol handshake signal so that the central processing unit completes the startup process.
2. The fault handling method according to claim 1, characterized in that: The hardware processing module detects whether the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, including: When the hardware processing module sends the protocol handshake request signal sent by the central processor to the baseboard management controller, it determines whether the baseboard management controller returns a protocol handshake response signal within a first preset time; If it is determined that the baseboard management controller does not return the protocol handshake response signal within the first preset time, determining that the baseboard management controller enters the abnormal state; And / or, the hardware processing module receives a heartbeat signal sent by the baseboard management controller, and determines whether the heartbeat signal is normal; If it is determined that the heartbeat signal is abnormal, it is determined that the baseboard management controller enters the abnormal state.
3. The fault handling method according to claim 2, characterized in that: After determining that the heartbeat signal is abnormal, the method further includes: The hardware processing module controls the baseboard management controller to perform a reset operation, accumulates the number of executions of the reset operation, and determines whether the heartbeat signal is normal each time the reset operation is completed; If it is determined that the heartbeat signal is abnormal, determining whether the execution times reaches a preset value; If it is determined that the execution times do not reach the preset value, entering the step of controlling the baseboard management controller to perform a reset operation; If it is determined that the execution times have reached the preset value, the resetting operation on the baseboard management controller is stopped.
4. The fault handling method according to claim 1, characterized in that: After continuing to perform the protocol handshake communication with the central processor according to the recorded protocol handshake signal, the method further includes: The hardware processing module obtains the startup status of the central processing unit, and determines whether the central processing unit has completed startup within a second preset time according to the startup status; If it is determined that the central processing unit has not completed the startup within the second preset time, the central processing unit is controlled to be powered on again so that the central processing unit re-executes the startup process.
5. The fault handling method according to claim 4, characterized in that: After the hardware processing module detects that the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, the hardware processing module further includes: The hardware processing module performs signal shielding on the serial peripheral bus between the hardware processing module and the baseboard management controller; After judging whether the central processor has completed startup within a second preset time according to the startup state, the method further includes: If the hardware processing module determines that the central processing unit has completed startup within the second preset time, then detecting whether the baseboard management controller is in the abnormal state; If it is determined that the baseboard management controller is in the abnormal state, continue to perform signal shielding on the serial peripheral bus between the hardware processing module and the baseboard management controller; If it is determined that the baseboard management controller is not in the abnormal state, signal shielding of the serial peripheral bus between the hardware processing module and the baseboard management controller is stopped to send the bus signal sent by the central processing unit to the baseboard management controller.
6. The fault handling method according to claim 5, characterized in that: Also includes: The central processor sends a device status query request to the baseboard management controller through the serial peripheral bus and / or the network, and determines whether the baseboard management controller is in a fault state according to a response of the baseboard management controller to the device status query request; If it is determined that the baseboard management controller is in a fault state, a firmware file is written to the baseboard management controller via a high-speed serial computer expansion bus to repair the fault of the baseboard management controller.
7. The fault handling method according to claim 6, characterized in that: The central processor sends a device status query request to the baseboard management controller through the serial peripheral bus and / or the network, and determines whether the baseboard management controller is in a fault state according to a response of the baseboard management controller to the device status query request, including: The central processor sends the device status query request to the baseboard management controller through the network, and determines whether the baseboard management controller returns device status information through the network within a third preset time; If it is determined that the baseboard management controller does not return the device status information through the network within a third preset time, sending the device status query request to the baseboard management controller through the serial peripheral bus, and determining whether the baseboard management controller returns the device status information through the serial peripheral bus within a fourth preset time; If it is determined that the baseboard management controller does not return the device status information through the serial peripheral bus within a fourth preset time, it is determined that the baseboard management controller is in a fault state.
8. The fault handling method according to claim 6, characterized in that: After writing the firmware file to the baseboard management controller via the high-speed serial computer expansion bus, the method further includes: The central processor resends a device status query request to the baseboard management controller through the serial peripheral bus and / or the network, and determines whether the baseboard management controller is in a fault state according to a response of the baseboard management controller to the device status query request; If it is determined that the baseboard management controller is not in a fault state, a restart operation is performed to re-execute the startup process; If it is determined that the baseboard management controller is in a fault state, fault information indicating that the baseboard management controller is faulty is output.
9. The fault handling method according to any one of claims 1 to 8, characterized in that: When the central processor executes the startup process, the central processor performs a protocol handshake communication with the baseboard management controller through the serial peripheral bus, including: The central processing unit sends a protocol handshake request signal to the baseboard management controller as a bus master; The baseboard management controller returns a protocol handshake response signal to the central processing unit as a bus slave; The hardware processing module monitors the protocol handshake communication and records the protocol handshake signal transmitted between the central processing unit and the baseboard management controller, including: When receiving the protocol handshake request signal, the hardware processing module records the protocol handshake request signal and sends the protocol handshake request signal to the baseboard management controller; When receiving the protocol handshake response signal, recording the protocol handshake response signal and sending the protocol handshake response signal to the central processor; Continuing to perform the protocol handshake communication with the central processor according to the recorded protocol handshake signal includes: The hardware processing module determines the current protocol handshake communication phase according to the recorded protocol handshake request signal and the protocol handshake response signal; Starting from the current protocol handshake communication phase, a corresponding protocol handshake response signal is sent to the central processor as a bus slave.
10. A server system, characterized in that: include: A central processing unit, a baseboard management controller and a hardware processing module, wherein the hardware processing module is arranged in a serial peripheral bus between the central processing unit and the baseboard management controller; The central processing unit is used to perform protocol handshake communication with the baseboard management controller through the serial peripheral bus when executing the startup process; The hardware processing module is used to monitor the protocol handshake communication and record the protocol handshake signal transmitted between the central processing unit and the baseboard management controller; when it is detected that the baseboard management controller enters an abnormal state where the protocol handshake communication cannot be performed, the hardware processing module continues to perform the protocol handshake communication with the central processing unit according to the recorded protocol handshake signal, so that the central processing unit completes the startup process.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are loaded and executed by the processor, the fault handling method according to any one of claims 1 to 9 is implemented.
Citation Information
Patent Citations
BMC fault processing circuit, method and device, electronic equipment and storage medium
CN112667428A
Baseboard management controller fault detection device
CN114691408A
Cited By
Server control method, computing platform, computer program product and device
CN120353507A
Server control method, computing platform, computer program product, and device
CN120353507B
IC equipment control method and system
CN121681439A