Monitoring system, method, device, equipment and medium of basic input and output system

By introducing the monitoring system of the basic input and output system in the server, the actual start time of the first controller monitoring the start -up stage is used. Fast switching and increasing boot rate.

CN119336398AActive Publication Date: 2025-01-21INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

Application Number
CN202411877757.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-19
Publication Date
2025-01-21
Estimated Expiration
2044-12-19

AI Technical Summary

Technical Problem

When the main basic input and output system fails, the existing server needs to wait for a long time to switch to the backup basic input and output system, resulting in too long boot time.

Method used

Provide a monitoring system for the basic input and output system. You can communicate with the basic input and output system through the first controller, and whether the actual start time of the monitoring start -up stage exceeds the preset time.

Benefits of technology

If a failure occurs during the startup of the basic input and output system, it can quickly switch to the backup system, shorten the time for determining startup timeout, and increase the speed of server startup.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119336398A_ABST
    Figure CN119336398A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of servers, and particularly discloses a monitoring system, method, device and equipment for a basic input and output system, and a medium. The starting state of the first basic input and output system is obtained after the first controller is powered on, and if it is recognized that the actual starting time exceeds the first starting time corresponding to the starting stage in the starting stage of the first basic input and output system, it is determined that starting of the first basic input and output system fails. And the first change-over switch is controlled to switch the first basic input / output system to the second basic input / output system, so that the first basic input / output system can be switched to the second basic input / output system in time when the first basic input / output system fails, the time for judging the starting timeout of the basic input / output system is shortened, and the starting speed of the server 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 monitoring system, method, device, equipment and medium for a basic input and output system. Background Art

[0002] In a server system, the Basic Input Output System (BIOS) is a set of programs that are fixed to a read-only memory (ROM) chip on the server motherboard. It stores the most important basic input and output programs of the computer, the self-test program after power-on, and the system self-startup program. If the basic input and output system fails, the server will not be able to boot up. At present, some server devices are designed with two basic input and output system memories as the main and backup basic input and output systems. However, when the main basic input and output system fails, it takes a long time to switch to the backup basic input and output system, resulting in a long boot time.

[0003] How to improve the speed of server startup is a technical problem that those skilled in the art need to solve. Summary of the invention

[0004] The purpose of the present invention is to provide a basic input and output system monitoring system, method, device, equipment, and medium for improving the speed of server startup.

[0005] In order to solve the above technical problems, the present invention provides a basic input and output system monitoring system, comprising a first controller and a first switch; The first controller is used for acquiring the startup state of the first basic input and output system by communicating with the first basic input and output system after power-on, and if it is identified that the actual startup time in the startup phase of the first basic input and output system exceeds the first startup time corresponding to the startup phase, determining that the startup of the first basic input and output system fails, and controlling the first switch to switch the first basic input and output system to the second basic input and output system; There are multiple startup phases, and the first startup time is determined according to device configuration parameters corresponding to the startup phases.

[0006] On the one hand, the power-on startup phase includes at least two of a central processing unit startup phase, a memory initialization phase, a peripheral loading phase, an operating system loader loading phase, and an operating system running phase.

[0007] On the other hand, the first controller monitors the CPU startup phase of the first basic input and output system according to the startup state, including: Detecting a power-on signal of the central processing unit, and determining that the startup phase of the central processing unit has begun; If a CPU reset signal sent by the CPU is detected, it is determined that the CPU startup phase is completed.

[0008] On the other hand, the first controller monitors the memory initialization phase of the first basic input and output system according to the startup state, including: A CPU reset signal is detected, and the memory initialization phase is determined to start; If the peripheral initialization signal is detected, it is determined that the memory initialization phase is completed.

[0009] On the other hand, the first controller monitors the peripheral loading phase of the first basic input and output system according to the startup state, including: Detecting a peripheral initialization signal, determining that the peripheral loading phase begins; If an operating system loader loading signal is detected, it is determined that the peripheral loading phase is completed.

[0010] On the other hand, the first controller monitors the operating system loader loading phase of the first basic input and output system according to the startup state, including: Detecting an operating system loader loading signal, and determining that the operating system loader loading phase starts; If the operating system kernel initialization signal is detected, it is determined that the operating system loader loading phase is completed.

[0011] On the other hand, the first controller monitors the operating system running stage of the first basic input and output system according to the startup state, including: An operating system kernel initialization signal is detected, and the operating system running phase is determined to start; If it is detected that the operating system has completed a preset number of operation cycles, it is determined that the operating system operation phase has been completed.

[0012] On the other hand, the first controller acquires the startup state and recognizes that the actual startup time exceeds the first startup time, including: After determining that the first basic input and output system enters the current startup phase, the first controller monitors output information of the first basic input and output system; If the information indicating that the current startup phase is completed is not monitored within the corresponding first startup time, the first controller determines that the actual startup time corresponding to the current startup phase exceeds the corresponding first startup time.

[0013] On the other hand, the first controller monitors the output information of the first basic input and output system, including: After monitoring the information of the start of the power-on startup phase sent by the first basic input / output system, the first controller configures and starts a first timer corresponding to the power-on startup phase according to the first startup time corresponding to the power-on startup phase; The first controller turns off the first timer after monitoring the information sent by the first basic input and output system that the startup phase is completed.

[0014] On the other hand, the first controller acquires the startup state and recognizes that the actual startup time exceeds the first startup time, including: After determining that the first basic input and output system enters the current startup phase, the first controller accesses the first basic input and output system within the first startup time corresponding to the startup phase to obtain the startup state; If the startup state is that the first basic input and output system has not completed the current startup phase after the first startup time is reached, the first controller determines that the actual startup time corresponding to the current startup phase exceeds the corresponding first startup time.

[0015] On the other hand, the first controller determines that the first basic input and output system enters a current startup phase, including: After the first controller accesses the first basic input / output system and obtains that the first basic input / output system has completed the previous startup phase, it determines that the first basic input / output system has entered the current startup phase.

[0016] On the other hand, after determining that the first basic input / output system enters the current startup phase, the first controller accesses the first basic input / output system within the first startup time corresponding to the startup phase to obtain the startup state, including: After determining that the first basic input / output system enters the current startup phase, the first controller multiplies the first startup time corresponding to the current startup phase by a preset proportionality coefficient to obtain a second startup time; The first controller configures a second timer according to the second start time, configures a third timer according to the first start time, and starts the second timer and the third timer; After the second timer expires, the first controller accesses the first basic input output system to obtain the startup status, and if the first basic input output system has not completed the current startup phase, continues to wait, and if the first basic input output system has completed the current startup phase, closes the third timer and determines that the first basic input output system enters the next startup phase; When the third timer expires, the first controller accesses the first basic input / output system to obtain the startup status; if the first basic input / output system has not completed the current startup phase, it is determined that the actual startup time exceeds the first startup time; if the first basic input / output system has completed the current startup phase, it is determined that the first basic input / output system enters the next startup phase.

[0017] In another aspect, the first controller is a baseboard management controller; After being powered on, the first controller communicates with the first basic input and output system to obtain the startup state of the first basic input and output system, including: The baseboard management controller obtains the startup status through an intelligent platform management interface command.

[0018] In another aspect, the first controller is a complex programmable logic device; After being powered on, the first controller communicates with the first basic input and output system to obtain the startup state of the first basic input and output system, including: The complex programmable logic device receives the startup status information output by the first basic input and output system through an integrated circuit bus.

[0019] In another aspect, the first controller is a complex programmable logic device; After being powered on, the first controller communicates with the first basic input and output system to obtain the startup state of the first basic input and output system, including: The complex programmable logic device receives the startup status information sent by the baseboard management controller.

[0020] In order to solve the above technical problems, the present invention further provides a basic input and output system monitoring method, which is applied to a first controller and comprises: After power-on, acquiring the startup state of the first basic input and output system by communicating with the first basic input and output system; If it is identified that the actual startup time in the startup phase of the first basic input / output system exceeds the first startup time corresponding to the startup phase, it is determined that the startup of the first basic input / output system fails; After determining that the first basic input and output system fails to start, controlling the first switch to switch the first basic input and output system to a second basic input and output system; There are multiple startup phases, and the first startup time is determined according to device configuration parameters corresponding to the startup phases.

[0021] In order to solve the above technical problems, the present invention further provides a basic input and output system monitoring device, which is applied to a first controller and includes: A monitoring unit, configured to acquire a startup state of the first basic input and output system by communicating with the first basic input and output system after power-on; an identification unit, configured to determine that the first basic input / output system fails to start if it is identified that an actual startup time in a startup phase of the first basic input / output system exceeds a first startup time corresponding to the startup phase; a control unit, configured to control the first switch to switch the first basic input and output system to a second basic input and output system after determining that the first basic input and output system fails to start; There are multiple startup phases, and the first startup time is determined according to device configuration parameters corresponding to the startup phases.

[0022] In order to solve the above technical problems, the present invention further provides a basic input and output system monitoring device, comprising: Memory for storing computer programs; The processor is used to execute the computer program, and the computer program, when executed by the processor, implements the steps of the basic input and output system monitoring method as described above.

[0023] In order to solve the above technical problem, the present invention further provides a non-volatile storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the basic input and output system monitoring method as described above are implemented.

[0024] In order to solve the above technical problem, the present invention further provides a computer program product, including a computer program, and when the computer program is executed by a processor, the steps of the basic input and output system monitoring method as described above are implemented.

[0025] The basic input-output system monitoring system provided by the present invention has the beneficial effect that a first controller determines a first startup time according to device configuration parameters corresponding to a plurality of startup stages of the first basic input-output system, and after power-on, the first basic input-output system startup state is acquired by communicating with the first basic input-output system. If it is identified that an actual startup time in the startup stage of the first basic input-output system exceeds the first startup time corresponding to the startup stage, it is determined that the startup of the first basic input-output system fails, and the first switching switch is controlled to switch the first basic input-output system to the second basic input-output system. Therefore, when a failure occurs at a certain stage in the startup process of the first basic input-output system and the system fails to start, the system can be quickly switched to the second basic input-output system, thereby shortening the time for determining the startup timeout of the first basic input-output system and improving the startup rate of the server.

[0026] The basic input-output system monitoring method, device, equipment, non-volatile storage medium, and computer program product provided by the present invention have the above-mentioned beneficial effects, which will not be described in detail here. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the embodiments of the present invention or the technical solutions of 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 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.

[0028] Figure 1 An architecture diagram of a basic input / output system monitoring system provided by an embodiment of the present invention; Figure 2 A timing diagram of a basic input / output system startup process provided by an embodiment of the present invention; Figure 3 A flowchart of a basic input and output system monitoring method provided by an embodiment of the present invention; Figure 4 A schematic diagram of the structure of a basic input / output system monitoring device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0029] The core of the present invention is to provide a basic input and output system monitoring system, method, device, equipment and medium for improving the server startup rate.

[0030] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only 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.

[0031] In a server system, the BIOS Flash is used to store the firmware of the BIOS. In a type of server, the BIOS Flash stores the firmware of the Unified Extensible Firmware Interface (UEFI). After the server is powered on, the BIOS starts to initialize the hardware and boot the operating system (OS).

[0032] To improve the reliability of booting, two BIOS are usually deployed on the server motherboard, one primary and one backup. The primary BIOS refers to the BIOS that is started by default when the server is started. When the primary BIOS is damaged due to viruses, human upgrades, etc., resulting in the primary BIOS being unable to boot and load the operating system, that is, when the primary BIOS fails to start and crashes, you can switch to the backup BIOS for startup, avoiding the server system from being unable to start, thereby improving the reliability of server use.

[0033] In the traditional solution, there is no automatic switching solution between the primary and standby BIOS. The operation and maintenance personnel can only manually switch to the BIOS storage after observing that the primary BIOS fails to start. This requires 24-hour manual supervision, which wastes manpower and causes the server to be down for a long time.

[0034] Therefore, those skilled in the art propose to set a timer for the main basic input and output system. If the main basic input and output system fails to start successfully within the preset time, the system will automatically switch to the backup basic input and output system for startup through a switch, thereby eliminating the need for manual supervision and shortening the server downtime.

[0035] However, in the related art, the automatic switching scheme of the primary and backup BIOS requires a certain timeout period to switch to the backup BIOS when the CPU fails to load the BIOS or the BIOS cannot be started after loading. In addition, in order to avoid misjudging the startup failure of the primary BIOS during the normal startup phase of the primary BIOS, it is necessary to consider the longest startup time of the primary BIOS to set the timer duration, resulting in a long waiting time before automatically switching to the backup BIOS after the primary BIOS fails, which in turn leads to a long server startup time.

[0036] To this end, the basic input / output system monitoring system provided by the embodiment of the present invention determines a first startup time according to device configuration parameters corresponding to multiple startup stages of the first basic input / output system by a first controller, obtains the startup state of the first basic input / output system by communicating with the first basic input / output system after power-on, and determines that the startup of the first basic input / output system fails if it is identified that the actual startup time in the startup stage of the first basic input / output system exceeds the first startup time corresponding to the startup stage, and controls the first switching switch to switch the first basic input / output system to the second basic input / output system, so that when a failure occurs at a certain stage in the startup process of the first basic input / output system and the system cannot be started, the system can quickly switch to the second basic input / output system, thereby shortening the time for determining the startup timeout of the first basic input / output system, thereby improving the startup rate of the server.

[0037] Figure 1 An architecture diagram of a basic input / output system monitoring system provided by an embodiment of the present invention.

[0038] like Figure 1 As shown, the basic input and output system monitoring system provided by the embodiment of the present invention may include a first controller and a first switch 101 .

[0039] The first controller is used for communicating with the first basic input and output system to obtain the startup status of the first basic input and output system after power-on. If it is identified that the actual startup time in the power-on and startup phase of the first basic input and output system exceeds the first startup time corresponding to the power-on and startup phase, it is determined that the startup of the first basic input and output system fails, and the first switching switch 101 is controlled to switch the first basic input and output system to the second basic input and output system.

[0040] There are multiple startup phases, and the first startup time is determined according to the device configuration parameters corresponding to the startup phase.

[0041] In the embodiment of the present invention, the first controller may be a baseboard management controller (Baseboard Management Controller, BMC) or a complex programmable logic device (Complex Programmable Logic Device, CPLD).

[0042] The first switching switch 101 can be a physical switch on the server motherboard or baseboard management controller board. The first switching switch 101 is used to select the connection relationship between the platform controller of the server (such as the platform controller hub Platform Controller Hub, PCH, also known as the integrated south bridge) and the memory of the basic input and output system, that is, for the first basic input and output system and the second basic input and output system, the first switching switch 101 includes at least two selection channels, the first channel is for selecting the platform controller and the memory where the first basic input and output system is located, and the second channel is for selecting the platform controller and the memory where the second basic input and output system is located. The first switching switch 101 and the platform controller, the first switching switch 101 and the memory where the first basic input and output system is located, and the first switching switch 101 and the memory where the second basic input and output system is located can all be connected through a serial peripheral interface bus (Serial Peripheral Interface, SPI).

[0043] If the first controller uses a complex programmable logic device, the complex programmable logic device can be connected to the first switch 101 using an integrated circuit bus to control the chip selection of the first switch 101. Further, the complex programmable logic device can be connected to the platform controller through the first integrated circuit bus, and the complex programmable logic device can be connected to the controlled end of the first switch 101 through the second integrated circuit bus. Both the first integrated circuit bus and the second integrated circuit bus can use a two-wire serial bus (Inter-Integrated Circuit, I2C) or an improved integrated circuit bus (Improved Inter Integrated Circuit, I3C).

[0044] If the first controller is a baseboard management controller, the baseboard management controller can be connected to the platform controller using a low pin count bus (LPC Bus), and the baseboard management controller can control the chip selection of the first switch 101 through an intelligent platform management interface (IPMI) command.

[0045] In the embodiment of the present invention, the first controller may communicate with the first basic input and output system and the second basic input and output system by using the first bus to obtain the startup status thereof.

[0046] If the first controller adopts a complex programmable logic device, the first bus can be an integrated circuit bus, and the complex programmable logic device can be connected to the first basic input and output system through a third integrated circuit bus, and the complex programmable logic device can be connected to the second basic input and output system through a fourth integrated circuit bus. The third integrated circuit bus and the fourth integrated circuit bus can both adopt a two-wire serial bus (Inter-Integrated Circuit, I2C) or an improved integrated circuit bus.

[0047] If the first controller adopts a baseboard management controller, the baseboard management controller can communicate with the first basic input and output system and the second basic input and output system through intelligent platform management interface commands to obtain their status. For example, for the first basic input and output system, the first basic input and output system can output its own startup status by sending an intelligent platform management interface command to the baseboard management controller.

[0048] After the server is powered on, there is a default chip-selected BIOS, which is defined as the first BIOS in the embodiment of the present invention, and can be the main BIOS or the standby BIOS as defined in the related art. In a specific implementation, the main BIOS can be used as the first BIOS by default, but if the main BIOS fails before the server is shut down for the last time, the standby BIOS may be set to start by default the next time it is turned on before shutting down, and in this case, the first BIOS refers to the standby BIOS.

[0049] After the first controller is powered on, the first basic input and output system can be determined by reading the slot number register (BIOS Flash Slot Number) of the basic input and output system memory and according to the value of the slot number register. If the slot number register uses 0 and 1 to represent two basic input and output systems. If the value of the slot number register read by the first controller is not 0 or 1, the basic input and output system numbered 0 can be used as the first basic input and output system by default and written into the register in the non-volatile memory (nvram). If the value of the slot number register read by the first controller is 0 or 1, it is monitored whether the startup of the basic input and output system has timed out. If it has timed out, the value of the slot number register is inverted and the fragment is set; if it has not timed out, the chip selection of the basic input and output system is performed according to the value of the slot number register read.

[0050] In the embodiment of the present invention, the second basic input and output system is defined as the basic input and output system in a normal state that is selected for startup, that is, the second basic input and output system can be normally started after the first basic input and output system fails to start. In a specific implementation, the number of the second basic input and output systems can be one or more.

[0051] In the embodiment of the present invention, the process of starting the basic input and output system is divided into multiple stages, and one stage of starting is called a booting stage.

[0052] In some optional implementations of the embodiments of the present invention, dividing the basic input and output system startup process into multiple startup stages may include: dividing at least one hardware startup process or at least one software loading process into the same startup stage according to the hardware startup sequence and software loading sequence of the server in the basic input and output system startup process. In a specific implementation, various types of hardware and software may be divided into startup sequences according to the hardware startup sequence and software loading sequence of the server in the basic input and output system startup process, and all or part of the hardware and software may be used as the basis for dividing the startup stages, and the order of each startup stage may be determined according to the startup sequence.

[0053] Depending on the device configuration parameters of the server (specifically, software configuration parameters and hardware configuration parameters), the startup time corresponding to each startup phase may be different during normal startup. In an embodiment of the present invention, the startup time corresponding to the startup phase during normal startup is defined as the first startup time, and the first startup time that can cover the maximum duration of normal execution of the startup phase is determined according to the device configuration parameters corresponding to the startup phase.

[0054] The first controller may pre-store the first startup time corresponding to each startup stage, and monitor whether the actual startup time of the startup stage has timed out accordingly. In addition, the first startup time corresponding to the startup stage may be different in different startup times of the server. In this case, the first controller may pre-store the first startup time corresponding to each startup stage under different startup times of the server, or the first basic input and output system may send an updated first startup time to the first controller after startup.

[0055] According to the unified extensible firmware interface specification, the startup phase of the basic input and output system can be divided into a central processing unit startup phase, a memory initialization phase, a peripheral loading phase, an operating system loader loading phase, and an operating system running phase. In some optional implementations of the embodiments of the present invention, the startup phase may include at least two of the central processing unit startup phase, the memory initialization phase, the peripheral loading phase, the operating system loader loading phase, and the operating system running phase. In some other optional implementations of the embodiments of the present invention, multiple phases can be regarded as one startup phase for monitoring. In other optional implementations of the embodiments of the present invention, more or fewer startup phases can also be set.

[0056] After being powered on, the first controller determines the first basic input and output system by reading the slot number register of the basic input and output system memory, and obtains the startup status of the first basic input and output system by communicating with the first basic input and output system. Whenever the first basic input and output system enters a startup phase, the execution status of the startup phase is monitored according to the first startup time corresponding to the startup phase. If the startup phase is not completed beyond the first startup time, it means that the actual startup time of the startup phase exceeds the first startup time, which also means that the startup phase fails. At this time, there is no need to continue waiting for the subsequent startup phase, that is, there is no need to wait for the entire startup phase of the first basic input and output system to time out, and it can be determined that the startup of the first basic input and output system fails, and the first switching switch 101 is controlled to switch the first basic input and output system to the second basic input and output system for startup to load the operating system.

[0057] The basic input / output system monitoring system provided by the embodiment of the present invention obtains the startup state of the first basic input / output system after power-on according to the first startup time of multiple startup stages of the first basic input / output system according to the device configuration parameter. If it is identified that the actual startup time in the startup stage of the first basic input / output system exceeds the first startup time corresponding to the startup stage, it is determined that the startup of the first basic input / output system fails, and the first switching switch 101 is controlled to switch the first basic input / output system to the second basic input / output system, so that when the first basic input / output system fails, it can be switched to the second basic input / output system in time, shortening the time for determining the startup timeout of the basic input / output system and improving the startup rate of the server.

[0058] In the above embodiments, it is introduced that the first controller can be a complex programmable logic device or a baseboard management controller.

[0059] If the first controller is a baseboard management controller, the first controller acquires the startup status of the first basic input and output system by communicating with the first basic input and output system after power-on, which may include: the baseboard management controller acquires the startup status through an intelligent platform management interface command.

[0060] If the first controller is a complex programmable logic device, the first controller communicates with the first basic input and output system to obtain the startup status of the first basic input and output system after power-on, which may include: the complex programmable logic device receives the startup status information output by the first basic input and output system through the integrated circuit bus.

[0061] If the first controller is a complex programmable logic device, the first controller communicates with the first basic input and output system to obtain the startup status of the first basic input and output system after power-on, and can also include: the complex programmable logic device receives the startup status information sent by the baseboard management controller.

[0062] In some other optional implementations of the embodiments of the present invention, the first controller may also include a complex programmable logic device and a baseboard management controller, which may respectively obtain the startup state of the first basic input-output system or the startup state of the second basic input-output system communication and monitor the startup process of the first basic input-output system or the startup process of the second basic input-output system in combination with the first startup time. At this time, the complex programmable logic device and the baseboard management controller can back up each other, and only one of them has the control right to control the first switching switch 101 at the same time. The two first controllers monitor each other's operating status. When the first controller with control right fails, the other first controller performs the monitoring task of the basic input-output system. In this way, the reliability of the basic input-output system startup process can be further improved, thereby improving the server startup efficiency.

[0063] Based on the above embodiment, the embodiment of the present invention further illustrates the process of communication between the first controller and the first basic input and output system.

[0064] In some optional implementations of the embodiments of the present invention, a script can be deployed in the first basic input and output system and the second basic input and output system to output the startup status to the first controller during the startup process. The first controller obtains the startup status and identifies that the actual startup time exceeds the first startup time, which may include: after determining that the first basic input and output system enters the current startup phase, the first controller monitors the output information of the first basic input and output system; if the information that the current startup phase is completed is not monitored by the first basic input and output system within the corresponding first startup time, the first controller determines that the actual startup time corresponding to the current startup phase exceeds the corresponding first startup time.

[0065] At this time, the first controller monitors the output information of the first basic input / output system, which may include: after the first controller monitors the information sent by the first basic input / output system that the power-on startup phase has started, the first controller configures and starts the first timer corresponding to the power-on startup phase according to the first startup time corresponding to the power-on startup phase; after the first controller monitors the information sent by the first basic input / output system that the power-on startup phase has been completed, the first controller closes the first timer.

[0066] In some other optional implementations of the embodiments of the present invention, the first controller may actively obtain the startup status of the first basic input / output system or the second basic input / output system without modifying the basic input / output system. The first controller obtains the startup status and identifies that the actual startup time exceeds the first startup time, which may also include: after determining that the first basic input / output system enters the current startup phase, the first controller accesses the first basic input / output system within the first startup time corresponding to the startup phase to obtain the startup status; if the startup status after reaching the first startup time is that the first basic input / output system has not completed the current startup phase, the first controller determines that the actual startup time corresponding to the current startup phase exceeds the corresponding first startup time.

[0067] At this time, the first controller determines that the first basic input-output system enters the current startup phase, which may include: the first controller accesses the first basic input-output system and obtains that the first basic input-output system completes the previous startup phase, and then determines that the first basic input-output system enters the current startup phase. That is, in the case of actively obtaining the startup state of the first basic input-output system, the first controller can determine that the current startup phase is entered according to the signal of the end of the previous startup phase. Since this method of actively obtaining the startup state of the first basic input-output system may have a delay, that is, before the first controller accesses the first basic input-output system, the first basic input-output system may have ended the previous startup phase for a period of time, so the first controller can obtain the startup state and the completion time of the previous startup phase when accessing the first basic input-output system, and dynamically set the first startup time corresponding to the current startup phase.

[0068] After determining that the first basic input and output system enters the current startup phase, the first controller accesses the first basic input and output system within the first startup time corresponding to the startup phase to obtain the startup state, which may include: after determining that the first basic input and output system enters the current startup phase, the first controller multiplies the first startup time corresponding to the current startup phase by a preset proportionality coefficient to obtain a second startup time; the first controller configures a second timer according to the second startup time, configures a third timer according to the first startup time, and starts the second timer and the third timer; after the second timer expires, the first controller accesses the first basic input and output system to obtain the startup state, if the first basic input and output system has not completed the current startup phase, the first controller continues to wait, if the first basic input and output system has completed the current startup phase, the first controller closes the third timer and determines that the first basic input and output system enters the next startup phase; when the third timer expires, the first controller accesses the first basic input and output system to obtain the startup state, if the first basic input and output system has not completed the current startup phase, the first controller determines that the actual startup time exceeds the first startup time, if the first basic input and output system has completed the current startup phase, the first basic input and output system enters the next startup phase. That is to say, since the first basic input / output system may have ended the previous startup phase for a while before the first controller accesses the first basic input / output system, the first controller can also obtain the second startup time by multiplying the pre-stored first startup time by a preset proportional coefficient, and monitor the startup phase according to the second startup time. After the second startup time is reached, the first basic input / output system is accessed to obtain its startup status. If the first basic input / output system has completed the previous startup phase at this time, the monitoring can be ended in advance, and the monitoring of the current startup phase can be started in advance.

[0069] On the basis of the above embodiments, in an embodiment of the present invention, further explanation is given by taking the boot-up phase including at least two of the CPU boot-up phase, the memory initialization phase, the peripheral loading phase, the operating system loader loading phase and the operating system running phase as an example.

[0070] Figure 2 A timing diagram of a basic input / output system startup process provided by an embodiment of the present invention.

[0071] In an embodiment of the present invention, the first controller may start a timer after determining that the startup phase has entered, and the timing time of the timer is configured as the first startup time corresponding to the startup phase. The first controller may turn off the timer after determining that the startup phase has been completed. If the startup phase is not completed after the timing time of the timer, it is determined that the startup phase has timed out. The timer may be a watchdog timer.

[0072] In an embodiment of the present invention, the first controller monitors the CPU startup phase of the first basic input / output system according to the startup state, which may include: detecting a CPU power-on signal and determining that the CPU startup phase has started; if a CPU reset signal sent by the CPU is detected, determining that the CPU startup phase has been completed.

[0073] like Figure 2 As shown, the CPU startup phase is the startup process of the CPU firmware (including the Unified Extensible Firmware Interface Platform Initialization Specification Unified Extensible Firmware Interface Platform Initialization, UEFI PI, and management engine ME) on the mainboard. After the server mainboard is powered on, the first controller is powered on. After the CPU is powered on, it is determined that the CPU startup phase has begun, and the watchdog corresponding to the CPU startup phase is turned on. The watchdog timeout can be set to 4 minutes (adaptation adjustment is required according to different platforms and hardware designs). After the CPU reset signal (CPU reset) is detected, it is determined that the CPU startup phase is over. In the CPU startup phase, the CPU bootloader (Bootloader) loads the Unified Extensible Firmware Interface Platform Initialization Specification or the management engine firmware. The Unified Extensible Firmware Interface Platform Initialization Specification or the management engine firmware is usually stored in the memory of the basic input and output system. When the Unified Extensible Firmware Interface Platform Initialization Specification or the management engine firmware runs until the CPU sends a CPU reset signal, it means that the Unified Extensible Firmware Interface Platform Initialization Specification or the management engine firmware is started normally.

[0074] In an embodiment of the present invention, the first controller monitors the memory initialization phase of the first basic input / output system according to the startup state, which may include: detecting a central processing unit reset signal, determining that the memory initialization phase begins; if a peripheral initialization signal is detected, determining that the memory initialization phase is completed.

[0075] like Figure 2 As shown, after detecting the CPU reset signal, the first controller starts the watchdog corresponding to the memory initialization phase. Since the initialization of the memory in the basic input and output system startup phase has different policy configurations, such as the memory initialization training (memory training) is required when the server is first assembled and powered on, and then the trained parameters are stored in the non-volatile memory (BIOS flash NVRAM) of the memory where the basic input and output system is located; when the server is restarted or powered on again, the memory initialization training phase will be skipped, and the training parameters stored in the non-volatile memory of the memory where the basic input and output system is located will be directly used for fast memory initialization. In addition, when the memory configuration (location, capacity, model, etc.) changes, the previously stored training parameters cannot be used, and memory initialization training needs to be performed again. Whether the training parameters are obtained by memory initialization training or the stored training parameters are used for fast initialization, the startup time corresponding to the memory initialization phase is different, and the larger the memory capacity, the greater the time difference; the higher the memory generation, the longer the time required for memory initialization training, such as DDR3, DDR4, DDR5 memory, and even the future DDR6 memory. In the embodiment of the present invention, the first controller can determine the first startup time when memory initialization training occurs in the memory initialization phase and the first startup time when the memory initialization phase uses fast initialization according to the memory generation and memory capacity of the device, and set different flags. The first controller sets different first startup times according to different flags. When it is identified that the first basic input and output system runs to the peripheral initialization signal (such as PCIe OptionRom loading), it is determined that the memory initialization phase is completed, and the watchdog corresponding to the memory initialization phase is turned off.

[0076] In an embodiment of the present invention, the first controller monitors the peripheral loading phase of the first basic input / output system according to the startup state, which may include: detecting a peripheral initialization signal and determining that the peripheral loading phase starts; if an operating system loader loading signal is detected, determining that the peripheral loading phase is completed.

[0077] like Figure 2As shown, when the basic input and output system starts, the required optional read-only memory (Option ROM) will be loaded according to different peripheral requirements to support the functional applications of different (high-speed serial computer expansion bus Peripheral Component Interconnect express, PCIe) peripherals in the basic input and output system startup phase, such as the Preboot eXecution Environment (PXE) function of the network card, the RAID function of the Redundant Arrays of Independent Disks (RAID) card, and the encryption function of the non-volatile fast storage (Non-Volatile Memory Express, NVMe) hard disk. However, different server hardware designs and requirements are different, and there will be optional configuration of expandable PCIe devices for OptionRom loading. Here, you can select through the OptionRom loading whitelist. The basic input and output system calculates how many PCIe OptionRoms need to be loaded according to the device type and number in the OptionRom loading whitelist, and then passes the number of OptionRoms (Number) to the first controller. The first controller may set the default single OptionRom loading timeout to 20s, and then multiply it by the number of OptionRoms to obtain the first startup time corresponding to the peripheral loading stage. When recognizing that the first basic input and output system runs to the peripheral initialization signal, the first controller turns on the watchdog corresponding to the peripheral loading stage, and turns off the watchdog when the first basic input and output system starts to the operating system loader (OS loader) loading stage.

[0078] In an embodiment of the present invention, the first controller monitors the operating system loader loading phase of the first basic input / output system according to the startup status, which may include: detecting an operating system loader loading signal, determining that the operating system loader loading phase begins; if an operating system kernel initialization signal is detected, determining that the operating system loader loading phase is completed.

[0079] like Figure 2As shown, for the operating system loader loading phase, the first basic input and output system sets different watchdog coefficients or switches according to the boot order and the boot option device actually inserted, such as recognizing a Universal Serial Bus (USB) boot disk, a pre-boot execution environment system filling, different operating system disks, etc., and sets the operating system loader watchdog enable flag and the watchdog time coefficient according to the product policy. It should be noted that the operating system on some devices does not support the timing function. At this time, the watchdog enable flag is used to skip the monitoring of the operating system loader loading phase, and the monitoring of the next boot phase is entered after the start signal of the next boot phase is recognized.

[0080] The first controller (complex programmable logic device or baseboard management controller) obtains a new watchdog time by multiplying the default watchdog time (typical time) by the watchdog time coefficient according to the watchdog enable flag and the watchdog time coefficient, obtains the first startup time, and then turns on or off the watchdog time according to the watchdog enable flag. When the operating system runs to the operating system kernel initialization (kernel init), the watchdog corresponding to the operating system loader loading stage is turned off.

[0081] In an embodiment of the present invention, the first controller monitors the operating system running stage of the first basic input / output system according to the startup state, which may include: detecting an operating system kernel initialization signal and determining that the operating system running stage has started; if it is detected that the operating system has completed a preset number of running cycles, determining that the operating system running stage has been completed.

[0082] like Figure 2 As shown, when the operating system kernel initialization signal is identified, the first controller turns on the watchdog corresponding to the operating system running stage, and according to the operating cycle of the operating system, the watchdog may be turned off after one or more operating cycles.

[0083] In the above five startup stages, the first controller conditionally switches, sets and performs watchdog care for the watchdogs corresponding to each startup stage. When any level 1 watchdog times out, the first controller can perform a power reset operation; when any of the first 4 levels of watchdog times out, in addition to performing a power reset operation, the first controller controls the first switching switch 101 to switch the first basic input and output system to the second basic input and output system (specifically, the current slot number register number (BIOS Flash Slot Number) saved in nvram can be read, inverted and switched, and saved again in nvram), and the chip-selected memory slot (flash slot) number is stored in nvram; when restarting next time, the current slot number register number is read from nvram first for chip selection.

[0084] The function of the power reset operation is to reset all registers to their initial state when the power is turned on, so as to improve the reliability and security of the system.

[0085] Taking the five startup stages introduced in the above embodiment as an example, the embodiment of the present invention further illustrates the monitoring sequence of the first controller.

[0086] In the basic input / output system monitoring system provided by the embodiment of the present invention, the monitoring process executed by the first controller may include the following steps S101 to S112.

[0087] S101: After power-on, the first controller reads the slot number register (BIOS Flash SlotNumber) in nvram. If the value is not 0 or 1, the basic input and output system numbered 0 is used as the first basic input and output system by default and written into the register in the non-volatile memory (nvram). If the value of the slot number register read by the first controller is 0 or 1, it is monitored whether the basic input and output system startup times out. If it times out, the value of the slot number register is inverted and the fragment is set; if it does not time out, the chip selection of the basic input and output system is performed according to the value of the slot number register read.

[0088] S102: The first controller cyclically monitors whether the central processing unit is powered on, and after monitoring that the central processing unit is powered on, starts a watchdog corresponding to the startup phase of the central processing unit, and sets a first startup time (which may be 4 minutes).

[0089] S103: The first controller cyclically monitors whether a CPU reset signal (CPU reset) is issued. If the CPU reset signal is detected to be set, the watchdog corresponding to the CPU startup phase is turned off, and the process proceeds to S104. Otherwise, the watchdog corresponding to the CPU startup phase times out, and the timeout flag is recorded in the nvram register, the CPU firmware startup timeout log is recorded, and a motherboard power reset (Power reset) operation is performed.

[0090] S104: The first controller starts the watchdog in the basic input and output system startup phase (memory initialization phase), and the default timeout period may be set to 10 minutes.

[0091] S105: The first controller monitors whether the first basic input and output system has a flag for sending memory initialization training (actual sending time value coefficient Flag). If the flag is detected within the timeout period, the watchdog time is reset to 10 minutes * Flag / 10 (Note: the time value coefficient transmitted by the first basic input and output system is in minutes) and jumps to S106 for execution; otherwise, jumps directly to S106 for execution.

[0092] S106: The first controller cyclically monitors whether there is a peripheral initialization signal (PCIe OptionRom loading flag) within the first startup time corresponding to the memory initialization phase. If there is, enter S107. Otherwise, after the memory initialization phase times out, record the timeout flag to the nvram register, record the timeout log of the basic input and output system startup phase (memory initialization phase), and perform a mainboard power reset (Power reset) operation.

[0093] S107: The first controller starts the watchdog corresponding to the peripheral loading phase, and sets the timeout time to the corresponding first startup time.

[0094] S108: The first controller cyclically detects the operating system loader (OS loader) flag within the first startup time corresponding to the peripheral loading phase. If it is detected within the first startup time, jump to S109; otherwise, the watchdog corresponding to the peripheral loading phase times out, records the timeout flag to the nvram register, records the log of the peripheral loading phase timeout, and performs a mainboard power reset (Power reset) operation.

[0095] S109: The first controller starts a watchdog corresponding to the operating system loader loading phase, and sets a timeout period to a corresponding first startup time.

[0096] S110: The first controller cyclically detects the operating system kernel initialization (kernel init) flag within the first startup time corresponding to the operating system loader loading phase. If it is detected within the first startup time, jump to S111; otherwise, the watchdog corresponding to the operating system loader loading phase times out, records the timeout flag to the nvram register, records the operating system loader loading phase timeout log, and performs a mainboard power reset (Power reset) operation.

[0097] S111: The first controller starts the watchdog corresponding to the operating system running phase, and sets the timeout period to the corresponding first startup time (which may be 60 seconds).

[0098] S112: The first controller cyclically detects the operating system periodic watchdog signal within the first startup time corresponding to the operating system running stage. If it is detected within the first startup time, the first controller resets the watchdog time. Otherwise, the watchdog corresponding to the operating system running stage times out, records the timeout flag to the nvram register, records the operating system running stage timeout log, and performs a mainboard power reset (Power reset) operation.

[0099] Taking the five startup phases introduced in the above embodiment as an example, the embodiment of the present invention further describes the timing of the basic input and output system during the startup process.

[0100] In the basic input and output system monitoring system provided by the embodiment of the present invention, the process executed by the first basic input and output system (or the second basic input and output system) after startup may include the following steps S201 to S204.

[0101] S201: After startup, the first basic input and output system detects whether memory initialization training is required. If so, the process proceeds to S202; if not, the process proceeds to S203.

[0102] S202: The first basic input / output system identifies the memory generation (DDR3, DDR4, DDR5 or DDR6, etc.), the capacity of a single memory stick (usually 8G, 16G, 32G, 64G, etc.), and the number of memory sticks. The memory initialization training time can be determined by using memory generation * (memory capacity / 8G) * number of memory sticks * single memory stick (this time needs to be tested on different platforms of the same central processor manufacturer) to calculate the time required for memory initialization training in minutes, and write the time into the register of the first controller (memory initialization training flag register) and send it to the first controller.

[0103] S203: The first basic input / output system starts to the peripheral loading stage, reads the PCIe OptionRom whitelist in the basic input / output system memory, calculates how many PCIe devices need to load OptionRom, and sends the number to the first controller by writing the OptionRom number register of the first controller. If the whitelist is empty or has abnormal data, the OptionRom number can be defaulted to 1, and the number is sent to the first controller by writing the OptionRom number register of the first controller.

[0104] S204: The first basic input and output system is started to the operating system loader loading stage, and the current startup item type is identified, such as USB boot disk, HDD system disk, PXE system, UEFI shell, setup, etc., and different watchdog strategies are set respectively. The strategy setting may include: (1) USB boot disk: turn off the watchdog during the operating system loader loading phase; (2) HDD system disk: Enable the watchdog during the operating system loader loading phase. It can also identify different operating system types and set the corresponding watchdog time. (3) UEFI shell: Disable the watchdog during the OS loader loading phase; (4) setup: turn off the watchdog during the operating system loader loading phase; (5) PXE: Disable the watchdog during the operating system loader loading phase.

[0105] It should be noted that, in various embodiments of the present invention, most of them are described with the first controller monitoring the startup status of the first basic input / output system. After the first basic input / output system fails to start, the first controller switches to the second basic input / output system. At this time, the process of the first controller monitoring the startup status of the second basic input / output system is the same as the process of the first controller monitoring the startup status of the first basic input / output system.

[0106] With reference to the basic input-output system monitoring system introduced in the above embodiment, a basic input-output system monitoring method provided by an embodiment of the present invention will be described below in conjunction with the accompanying drawings.

[0107] Figure 3 The present invention provides a flowchart of a basic input and output system monitoring method.

[0108] like Figure 3 As shown, the basic input and output system monitoring method provided by the embodiment of the present invention, applied to the first controller, may include: S301: after power-on, obtaining a startup state of the first basic input and output system by communicating with the first basic input and output system; S302: if it is identified that the actual startup time in the startup phase of the first basic input and output system exceeds the first startup time corresponding to the startup phase, then determining that the startup of the first basic input and output system fails; S303: after determining that the first basic input and output system fails to start, controlling the first switch to switch the first basic input and output system to a second basic input and output system; There are multiple startup phases, and the first startup time is determined according to the device configuration parameters corresponding to the startup phase.

[0109] In an embodiment of the present invention, the boot-up phase may include at least two of a central processing unit startup phase, a memory initialization phase, a peripheral loading phase, an operating system loader loading phase, and an operating system running phase.

[0110] In an embodiment of the present invention, monitoring the CPU startup phase of the first basic input / output system according to the startup state may include: detecting a CPU power-on signal, determining that the CPU startup phase has started; and if a CPU reset signal sent by the CPU is detected, determining that the CPU startup phase has been completed.

[0111] In the embodiment of the present invention, monitoring the memory initialization phase of the first basic input / output system according to the startup state may include: detecting a central processing unit reset signal, determining that the memory initialization phase starts; if a peripheral initialization signal is detected, determining that the memory initialization phase is completed.

[0112] In an embodiment of the present invention, monitoring the peripheral loading phase of the first basic input / output system according to the startup state may include: detecting a peripheral initialization signal and determining that the peripheral loading phase begins; if an operating system loader loading signal is detected, determining that the peripheral loading phase is completed.

[0113] In an embodiment of the present invention, monitoring the operating system loader loading phase of the first basic input / output system according to the startup status may include: detecting an operating system loader loading signal, determining that the operating system loader loading phase begins; if an operating system kernel initialization signal is detected, determining that the operating system loader loading phase is completed.

[0114] In an embodiment of the present invention, monitoring the operating system running stage of the first basic input / output system according to the startup state may include: detecting an operating system kernel initialization signal and determining that the operating system running stage has started; if it is detected that the operating system has completed a preset number of running cycles, determining that the operating system running stage has been completed.

[0115] In an embodiment of the present invention, obtaining the startup status and identifying that an actual startup time exceeds a first startup time may include: after determining that the first basic input / output system enters a current startup phase, monitoring output information of the first basic input / output system; if information indicating that the current startup phase is completed is not monitored from the first basic input / output system within the corresponding first startup time, then the first controller determines that the actual startup time corresponding to the current startup phase exceeds the corresponding first startup time.

[0116] Among them, the first controller monitors the output information of the first basic input and output system, which may include: after the first controller monitors the information sent by the first basic input and output system that the power-on startup phase has started, the first controller configures and starts the first timer corresponding to the power-on startup phase according to the first startup time corresponding to the power-on startup phase; after the first controller monitors the information sent by the first basic input and output system that the power-on startup phase has been executed, the first controller closes the first timer.

[0117] In an embodiment of the present invention, obtaining the startup status and identifying that the actual startup time exceeds the first startup time may also include: after determining that the first basic input and output system enters the current power-on startup phase, accessing the first basic input and output system within the first startup time corresponding to the power-on startup phase to obtain the startup status; if after reaching the first startup time, the startup status is that the first basic input and output system has not completed the current power-on startup phase, determining that the actual startup time corresponding to the current power-on startup phase exceeds the corresponding first startup time.

[0118] Determining that the first basic input / output system enters the current booting stage may include: accessing the first basic input / output system and obtaining that the first basic input / output system completes the previous booting stage, and then determining that the first basic input / output system enters the current booting stage.

[0119] Among them, after determining that the first basic input and output system enters the current boot-up stage, accessing the first basic input and output system within the first boot-up time corresponding to the boot-up stage to obtain the boot-up state may include: after determining that the first basic input and output system enters the current boot-up stage, multiplying the first boot-up time corresponding to the current boot-up stage by a preset proportionality coefficient to obtain a second boot-up time; configuring a second timer according to the second boot-up time, configuring a third timer according to the first boot-up time, and starting the second timer and the third timer; after the second timer expires, accessing the first basic input and output system to obtain the boot-up state, if the first basic input and output system has not completed the current boot-up stage, continue to wait, if the first basic input and output system has completed the current boot-up stage, close the third timer and determine that the first basic input and output system enters the next boot-up stage; when the third timer expires, accessing the first basic input and output system to obtain the boot-up state, if the first basic input and output system has not completed the current boot-up stage, determine that the actual boot-up time exceeds the first boot-up time, if the first basic input and output system has completed the current boot-up stage, determine that the first basic input and output system enters the next boot-up stage.

[0120] In some optional implementations of the embodiments of the present invention, the first controller may be a baseboard management controller; in S301, obtaining the startup status of the first basic input / output system by communicating with the first basic input / output system after power-on may include: the baseboard management controller obtaining the startup status through an intelligent platform management interface command.

[0121] In some other optional implementations of the embodiments of the present invention, the first controller may also be a complex programmable logic device; after power-on, S301 communicates with the first basic input-output system to obtain the startup status of the first basic input-output system, and may also include: the complex programmable logic device receives the startup status information output by the first basic input-output system through the integrated circuit bus.

[0122] In some further optional implementations of the embodiments of the present invention, the first controller may also be a complex programmable logic device; after power-on, S301 communicates with the first basic input / output system to obtain the startup status of the first basic input / output system, and may also include: the complex programmable logic device receives the startup status information sent by the baseboard management controller.

[0123] It should be noted that in the embodiments of the basic input-output system monitoring method of the present invention, some of the steps or features can be ignored or not executed. The hardware or software functional modules divided for the convenience of description are not the only implementation form of the basic input-output system monitoring method provided in the embodiments of the present invention.

[0124] The above describes in detail various embodiments corresponding to the basic input and output system monitoring method. On this basis, the present invention also discloses a basic input and output system monitoring device, equipment, non-volatile storage medium and computer program product corresponding to the above method.

[0125] Applied to the first controller, the basic input-output system monitoring device provided by the embodiment of the present invention may include: A monitoring unit, configured to acquire a startup state of the first basic input and output system by communicating with the first basic input and output system after power-on; an identification unit, configured to determine that the first basic input / output system fails to start if it is identified that the actual start-up time in the start-up phase of the first basic input / output system exceeds the first start-up time corresponding to the start-up phase; A control unit, configured to control the first switch to switch the first basic input and output system to a second basic input and output system after determining that the first basic input and output system fails to start; There are multiple startup phases, and the first startup time is determined according to the device configuration parameters corresponding to the startup phase.

[0126] It should be noted that in each implementation of the basic input / output system monitoring device provided by the embodiment of the present invention, the division of units is only a logical functional division, and other division methods can be adopted. The connection method between different units can be electrical, mechanical or other connection methods. The separated units can be located in the same physical location or distributed on multiple network nodes. Each unit can be implemented in the form of hardware or in the form of a software functional unit. That is, part or all of the units provided by the embodiment of the present invention can be selected according to actual needs and the corresponding connection method or integration method can be adopted to achieve the purpose of the embodiment of the present invention.

[0127] Since the embodiments of the apparatus part correspond to the embodiments of the method part, please refer to the description of the embodiments of the method part for the embodiments of the apparatus part, which will not be repeated here.

[0128] Figure 4 A schematic diagram of the structure of a basic input / output system monitoring device provided by an embodiment of the present invention.

[0129] like Figure 4 As shown, the basic input-output system monitoring device provided in an embodiment of the present invention includes: a memory 410, used to store a computer program 411; a processor 420, used to execute the computer program 411, and when the computer program 411 is executed by the processor 420, the steps of the basic input-output system monitoring method provided in any of the above embodiments are implemented.

[0130] Among them, the processor 420 may include one or more processing cores, such as a 3-core processor, an 8-core processor, etc. The processor 420 may be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), and programmable logic array (PLA). The processor 420 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 420 may be integrated with a graphics processing unit (GPU), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 420 may also include an artificial intelligence (AI) processor, which is used to process computing operations related to machine learning.

[0131] The memory 410 may include one or more non-volatile storage media, which may be non-transitory. The memory 410 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In this embodiment, the memory 410 is at least used to store the following computer program 411, wherein the computer program 411, after being loaded and executed by the processor 420, can implement the relevant steps in the basic input and output system monitoring method disclosed in any of the aforementioned embodiments. In addition, the resources stored in the memory 410 may also include an operating system 412 and data 413, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 412 may be Windows or other types of operating systems. Data 413 may include, but is not limited to, the data involved in the above method.

[0132] In some embodiments, the BIOS monitoring device may further include a display screen 430 , a power supply 440 , a communication interface 450 , an input / output interface 460 , a sensor 470 , and a communication bus 480 .

[0133] Those skilled in the art will understand that Figure 4 The structure shown in the figure does not constitute a limitation on the monitoring device of the basic input and output system, and may include more or less components than those shown in the figure.

[0134] The basic input-output system monitoring device provided in the embodiment of the present invention includes a memory and a processor. When the processor executes the program stored in the memory, it can implement the steps of the basic input-output system monitoring method provided in the above embodiment, and the effect is the same as above.

[0135] An embodiment of the present invention provides a non-volatile storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the basic input and output system monitoring method provided in any one of the above embodiments can be implemented.

[0136] The non-volatile storage medium may include: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and other media that can store program codes.

[0137] For the introduction of the non-volatile storage medium provided in the embodiment of the present invention, please refer to the above method embodiment, and the effect thereof is the same as the basic input and output system monitoring method provided in the embodiment of the present invention, and the present invention will not elaborate on it here.

[0138] An embodiment of the present invention provides a computer program product, including a computer program. When the computer program is executed by a processor, the steps of the basic input and output system monitoring method provided in any one of the above embodiments are implemented.

[0139] For an introduction to the computer program product provided by the embodiment of the present invention, please refer to the above method embodiment, and the effect thereof is the same as the basic input and output system monitoring method provided by the embodiment of the present invention, and the present invention will not elaborate on it here.

[0140] The above is a detailed introduction to a basic input-output system monitoring method, device, equipment and non-volatile storage medium provided by the present invention. The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the various embodiments can be referenced to each other. For the devices, equipment, non-volatile storage media and computer program products disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the method part description. 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 in a number of ways, and these improvements and modifications also fall within the scope of protection of the present invention.

[0141] It should also be noted that, in this specification, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the statement "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.

Claims

1. A basic input and output system monitoring system, characterized in that: It includes a first controller and a first switch; The first controller is used for acquiring the startup state of the first basic input and output system by communicating with the first basic input and output system after power-on, and if it is identified that the actual startup time in the startup phase of the first basic input and output system exceeds the first startup time corresponding to the startup phase, determining that the startup of the first basic input and output system fails, and controlling the first switch to switch the first basic input and output system to the second basic input and output system; There are multiple startup phases, and the first startup time is determined according to device configuration parameters corresponding to the startup phases.

2. The basic input and output system monitoring system according to claim 1, characterized in that: The power-on startup phase includes at least two of a central processing unit startup phase, a memory initialization phase, a peripheral loading phase, an operating system loader loading phase, and an operating system running phase.

3. The basic input and output system monitoring system according to claim 2, characterized in that: The first controller monitors the CPU startup phase of the first basic input / output system according to the startup state, including: Detecting a power-on signal of the central processing unit, and determining that the startup phase of the central processing unit has begun; If a CPU reset signal sent by the CPU is detected, it is determined that the CPU startup phase is completed.

4. The basic input and output system monitoring system according to claim 2, characterized in that: The first controller monitors the memory initialization phase of the first basic input and output system according to the startup state, including: A CPU reset signal is detected, and the memory initialization phase is determined to start; If the peripheral initialization signal is detected, it is determined that the memory initialization phase is completed.

5. The basic input and output system monitoring system according to claim 2, characterized in that: The first controller monitors the peripheral loading phase of the first basic input and output system according to the startup state, including: Detecting a peripheral initialization signal, determining that the peripheral loading phase begins; If an operating system loader loading signal is detected, it is determined that the peripheral loading phase is completed.

6. The basic input and output system monitoring system according to claim 2, characterized in that: The first controller monitors the operating system loader loading phase of the first basic input and output system according to the startup state, including: Detecting an operating system loader loading signal, and determining that the operating system loader loading phase starts; If the operating system kernel initialization signal is detected, it is determined that the operating system loader loading phase is completed.

7. The basic input and output system monitoring system according to claim 2, characterized in that: The first controller monitors the operating system running stage of the first basic input and output system according to the startup state, including: An operating system kernel initialization signal is detected, and the operating system running phase is determined to start; If it is detected that the operating system has completed a preset number of operation cycles, it is determined that the operating system operation phase has been completed.

8. The basic input and output system monitoring system according to claim 1, characterized in that: The first controller acquires the startup state and identifies that the actual startup time exceeds the first startup time, including: After determining that the first basic input and output system enters the current startup phase, the first controller monitors output information of the first basic input and output system; If the information indicating that the current startup phase is completed is not monitored within the corresponding first startup time, the first controller determines that the actual startup time corresponding to the current startup phase exceeds the corresponding first startup time.

9. The basic input and output system monitoring system according to claim 8, characterized in that: The first controller monitors output information of the first basic input and output system, including: After monitoring the information of the start of the power-on startup phase sent by the first basic input / output system, the first controller configures and starts a first timer corresponding to the power-on startup phase according to the first startup time corresponding to the power-on startup phase; The first controller turns off the first timer after monitoring the information sent by the first basic input and output system that the startup phase is completed.

10. The basic input and output system monitoring system according to claim 1, characterized in that: The first controller acquires the startup state and identifies that the actual startup time exceeds the first startup time, including: After determining that the first basic input and output system enters the current startup phase, the first controller accesses the first basic input and output system within the first startup time corresponding to the startup phase to obtain the startup state; If the startup state is that the first basic input and output system has not completed the current startup phase after the first startup time is reached, the first controller determines that the actual startup time corresponding to the current startup phase exceeds the corresponding first startup time.

11. The basic input and output system monitoring system according to claim 10, characterized in that: The first controller determines that the first basic input and output system enters a current startup phase, including: After the first controller accesses the first basic input / output system and obtains that the first basic input / output system has completed the previous startup phase, it determines that the first basic input / output system has entered the current startup phase.

12. The basic input and output system monitoring system according to claim 10, characterized in that: After determining that the first basic input and output system enters the current startup phase, the first controller accesses the first basic input and output system within the first startup time corresponding to the startup phase to obtain the startup state, including: After determining that the first basic input / output system enters the current startup phase, the first controller multiplies the first startup time corresponding to the current startup phase by a preset proportionality coefficient to obtain a second startup time; The first controller configures a second timer according to the second start time, configures a third timer according to the first start time, and starts the second timer and the third timer; After the second timer expires, the first controller accesses the first basic input output system to obtain the startup status, and if the first basic input output system has not completed the current startup phase, continues to wait, and if the first basic input output system has completed the current startup phase, closes the third timer and determines that the first basic input output system enters the next startup phase; When the third timer expires, the first controller accesses the first basic input / output system to obtain the startup status; if the first basic input / output system has not completed the current startup phase, it is determined that the actual startup time exceeds the first startup time; if the first basic input / output system has completed the current startup phase, it is determined that the first basic input / output system enters the next startup phase.

13. The basic input and output system monitoring system according to claim 1, characterized in that: The first controller is a baseboard management controller; After being powered on, the first controller communicates with the first basic input and output system to obtain the startup state of the first basic input and output system, including: The baseboard management controller obtains the startup status through an intelligent platform management interface command.

14. The basic input and output system monitoring system according to claim 1, characterized in that: The first controller is a complex programmable logic device; After being powered on, the first controller communicates with the first basic input and output system to obtain the startup state of the first basic input and output system, including: The complex programmable logic device receives the startup status information output by the first basic input and output system through an integrated circuit bus.

15. The basic input and output system monitoring system according to claim 1, characterized in that: The first controller is a complex programmable logic device; After being powered on, the first controller communicates with the first basic input and output system to obtain the startup state of the first basic input and output system, including: The complex programmable logic device receives the startup status information sent by the baseboard management controller.

16. A basic input and output system monitoring method, characterized in that: Applied to the first controller, comprising: After power-on, acquiring the startup state of the first basic input and output system by communicating with the first basic input and output system; If it is identified that the actual startup time in the startup phase of the first basic input / output system exceeds the first startup time corresponding to the startup phase, it is determined that the startup of the first basic input / output system fails; After determining that the first basic input and output system fails to start, controlling the first switch to switch the first basic input and output system to a second basic input and output system; There are multiple startup phases, and the first startup time is determined according to device configuration parameters corresponding to the startup phases.

17. A basic input and output system monitoring device, characterized in that: Applied to the first controller, comprising: A monitoring unit, configured to acquire a startup state of the first basic input and output system by communicating with the first basic input and output system after power-on; an identification unit, configured to determine that the first basic input / output system fails to start if it is identified that an actual startup time in a startup phase of the first basic input / output system exceeds a first startup time corresponding to the startup phase; a control unit, configured to control the first switch to switch the first basic input and output system to a second basic input and output system after determining that the first basic input and output system fails to start; There are multiple startup phases, and the first startup time is determined according to device configuration parameters corresponding to the startup phases.

18. A basic input and output system monitoring device, characterized in that: include: Memory for storing computer programs; A processor is used to execute the computer program, and when the computer program is executed by the processor, the steps of the basic input and output system monitoring method as claimed in claim 16 are implemented.

19. A non-volatile storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the basic input and output system monitoring method as claimed in claim 16 are implemented.

20. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the basic input and output system monitoring method as claimed in claim 16 are implemented.

Citation Information

Patent Citations

  • Terminal starting time early warning method, electronic device and computer readable storage medium

    CN110058980A

  • Equipment testing method and device, electronic equipment and storage medium

    CN115729754A

  • Server starting method and device, computer equipment and storage medium

    CN115795477A

  • Fault positioning method, positioning device, terminal equipment and storage medium

    CN116954972A

  • Automatic switching method and automatic switching device for main BIOS and standby BIOS and computer

    CN117215859A

Cited By

  • Electronic device and signal processing method

    CN120336235A

  • Method and device for adjusting signal parameters of transmission link, and electronic equipment

    CN120523414A

  • Multi-BIOS (Basic Input / Output System) starting switching method and equipment, storage medium and computer program product

    CN121433987A

  • Multi-bios boot switching method, device, storage medium and computer program product

    CN121433987B

  • Main / standby basic input / output system switching method, device, equipment and medium

    CN121478359A