Dual BIOS systems, system switching methods, devices, equipment, and storage media

JP7934048B2Active Publication Date: 2026-10-13INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2025537114
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2023-12-27
Filing Date
2024-05-28
Publication Date
2026-10-13
Estimated Expiration
2044-05-28

AI Technical Summary

Benefits of technology

【0058】 本願によるシステム切り替え方法を採用すると、第1のBIOSサブシステムが動作する場合、サブシステム切り替えが必要であるか否かを決定し、サブシステム切り替えが必要である場合、デュアルBIOSシステムが満たす切り替えトリガー条件を判断し、切り替えトリガー条件は、デュアルBIOSリフレッシュトリガー、自動切り替えトリガーおよび手動切り替えトリガーを含む。切り替えトリガー条件に応じて、対応する切り替え方式によって現在動作中の第1のBIOSサブシステムを第2のBIOSサブシステムに切り替え、第1のBIOSサブシステムが第2のBIOSサブシステムに切り替えられた場合、フラグレジスタの値を取得し、フラグレジスタの値から、データアクセスに使用されるBIOSサブシステムを決定し、BIOSサブシステムを使用してデータアクセスを行う。本方法では、現在動作中の第1のBIOSサブシステムを切り替える必要がある場合、デュアルBIOSシステムが満たす切り替えトリガー条件を判断し、切り替えトリガー条件に応じて、対応する方式によって第1のBIOSサブシステムを第2のBIOSサブシステムに切り替える。デュアルBIOSシステムに生じるさまざまなニーズに応じてサブシステム切り替えを行う場合を考慮して、起動動作時に故障が発生した場合にオペレーティングシステムが別のBIOSサブシステムに素早く切り替わることを確保し、オペレーティングシステムの安定した動作を確保する。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007934048000001
    Figure 0007934048000001
  • Figure 0007934048000002
    Figure 0007934048000002
  • Figure 0007934048000003
    Figure 0007934048000003
Patent Text Reader

Abstract

The present invention relates to a dual BIOS system, a system switching method, an apparatus, a device, and a non-volatile readable storage medium, and aims to improve the efficiency of dual BIOS system switching. The system includes: a first BIOS chip for operating a first BIOS subsystem; a second BIOS chip for operating a second BIOS subsystem; a BMC chip for operating a BMC program; a BMC control chip for controlling the BMC chip and the second BIOS chip and connected to the BMC chip and the second BIOS chip; and a platform controller hub for controlling the first BIOS chip and the BMC control chip, connected to the first BIOS chip via a first bus and to the BMC control chip via a second bus, the first bus and the second bus being connected to the platform controller hub, and the platform controller hub being connected to a CPU.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] [CROSS-REFERENCE TO RELATED APPLICATIONS] This application claims the priority of the Chinese patent application filed with the China National Intellectual Property Administration on December 27, 2023, with the application number 202311824634.4 and the title of the application being "Dual BIOS System, System Switching Method, Apparatus, Device, and Storage Medium", the entire content of which is incorporated into this application by reference.

[0002] The embodiments of the present application relate to the technical field of operating systems, and specifically relate to a dual BIOS system, a system switching method, an apparatus, a device, and a non-volatile readable storage medium.

BACKGROUND ART

[0003] In a server system, a Basic Input Output System (BIOS) chip is responsible for the overall system boot, hardware initialization, and operating system loading functions, and also provides necessary underlying services during the operation of the system, playing a critical role in the entire server system.

[0004] When a failure occurs in the BIOS chip, the server system cannot start normally, and the BIOS chip needs to be repaired before restarting, which as a result reduces the working efficiency of the entire system and causes losses to users.

SUMMARY OF THE INVENTION

PROBLEMS TO BE SOLVED BY THE INVENTION

[0005] Some embodiments of the present application provide a dual BIOS system, a system switching method, an apparatus, a device, and a non-volatile readable storage medium, so as to ensure stable operation of the BIOS system.

MEANS FOR SOLVING THE PROBLEMS

[0006] A first aspect of some embodiments of the present application is, A first BIOS chip used to operate the first BIOS subsystem, A second BIOS chip used to operate the second BIOS subsystem, The Baseboard Management Controller (BMC) chip used to run the BMC program, A BMC control chip is used to control the BMC chip and the second BIOS chip, and is connected to the BMC chip and the second BIOS chip. A dual BIOS system is provided, which includes a platform controller hub used to control a first BIOS chip and a BMC control chip, connected to the first BIOS chip via a first bus and connected to the BMC control chip via a second bus, wherein the first bus and the second bus are connected and the platform controller hub is connected to the CPU.

[0007] Optionally, the access entities in a dual BIOS system include a host and a BMC control chip, and the host and BMC control chip perform interactive access by sending commands.

[0008] Optionally, the BMC control chip performs a subsystem refresh on the first BIOS chip and then sends a subsystem switching request command to the host. When the host receives a subsystem switching request command, it switches the first BIOS subsystem to the second BIOS subsystem. When the first BIOS subsystem is switched to the second BIOS subsystem, the BMC control chip refreshes the second BIOS subsystem in the second BIOS chip. When the refresh of the second BIOS subsystem in the second BIOS chip is complete, the BMC control chip sends a subsystem switching request command to the host. When the host receives a subsystem switching request command, it switches the second BIOS subsystem to the first BIOS subsystem.

[0009] Optionally, the host performs a subsystem refresh on the first BIOS subsystem in the first BIOS chip, and then switches the first BIOS subsystem to the second BIOS subsystem. When the first BIOS subsystem is switched to the second BIOS subsystem, the host refreshes the second BIOS subsystem on the second BIOS chip. When the refresh of the second BIOS subsystem on the second BIOS chip is complete, the host switches the second BIOS subsystem back to the first BIOS subsystem.

[0010] Optionally, the BMC control chip, upon receiving a subsystem switching command, sends a subsystem switching request command to the host. When the host receives a subsystem switching request command, it switches the first BIOS subsystem to the second BIOS subsystem.

[0011] If the host optionally chooses to actively switch subsystems, the first BIOS subsystem will be switched to the second BIOS subsystem.

[0012] Optionally, the BMC control chip sends a subsystem switching request command to the host if it detects an operating system startup failure. When the host receives a subsystem switching request command, it switches the first BIOS subsystem to the second BIOS subsystem.

[0013] Optionally, if the host is functioning correctly, it will read data from the first BIOS chip. The host sends a data read command to the BMC control chip. When the BMC control chip receives a data read command, it sends the data from the second BIOS chip to the host. The host performs data verification against the data in the first BIOS chip and the data in the second BIOS chip. The host synchronizes data between the first and second BIOS chips based on the data verification results.

[0014] A second aspect of some embodiments of the present application is applied to a dual BIOS system, If the first BIOS subsystem is operating, the step is to determine whether a subsystem switchover is necessary, If subsystem switching is required, the step is to determine the switching trigger conditions that the dual BIOS system must satisfy, where the switching trigger conditions are: dual Steps including a BIOS refresh trigger, an automatic switch trigger, and a manual switch trigger, The steps include switching the currently operating first BIOS subsystem to the second BIOS subsystem using a corresponding switching method, depending on the switching trigger condition, If the first BIOS subsystem is switched to the second BIOS subsystem, the steps include obtaining the value of the flag register, The steps include determining the BIOS subsystem used for data access from the value of the flag register, The present invention provides a system switching method that includes the step of performing data access using the BIOS subsystem.

[0015] The optional step of switching the currently operating first BIOS subsystem to the second BIOS subsystem using a corresponding switching method, depending on the switching trigger condition, is: The switching trigger condition is dual If it is a BIOS refresh trigger, the steps include determining the entity that will refresh the first BIOS subsystem, When the execution subject is a BMC control chip, the step of transmitting a first switch request to the host by the BMC control chip, the host comprises the step of switching the first BIOS subsystem to the second BIOS subsystem in accordance with the first switch request.

[0016] Optionally, before the first switch request is transmitted to the host by the BMC control chip, the method comprises the step of refreshing the first BIOS subsystem by the BMC control chip, and the step of setting the value of a flag register to a second preset value.

[0017] Optionally, the method comprises when the execution subject is the host, the host switches the first BIOS subsystem to the second BIOS subsystem.

[0018] Optionally, before the first BIOS subsystem is switched to the second BIOS subsystem by the host, the method comprises the step of refreshing the first BIOS subsystem by the host, and the step of setting the value of a flag register to a third preset value.

[0019] Optionally, the method comprises when a switch trigger condition is a manual switch trigger, the step of receiving a subsystem switch instruction by the BMC control chip, the step of transmitting a second switch request to the host by the BMC control chip, the host further comprises the step of switching the first BIOS subsystem to the second BIOS subsystem in accordance with the second switch request.

[0020] Optionally, the method comprises If the switching trigger condition is an automatic switching trigger, the step is to determine the executing entity corresponding to the automatic switching trigger, If the executing entity is a BMC control chip, the BMC control chip sends a third switching request to the host, The host further includes the step of switching the first BIOS subsystem to the second BIOS subsystem in accordance with a third switching request.

[0021] The method is optional. If the execution entity is the host, the process further includes the step of the host switching the first BIOS subsystem to the second BIOS subsystem.

[0022] Optionally, the step of determining the BIOS subsystem used for data access from the value of the flag register is: If the value of the flag register is a first preset value, the step of determining that the BIOS subsystem used for data access is the second BIOS subsystem, If the value of the flag register is a second preset value, the step of determining that the BIOS subsystem used for data access is the first BIOS subsystem, The process includes the step of determining that the BIOS subsystem used for data access is the first BIOS subsystem if the value of the flag register is a third preset value.

[0023] The method is optional. If the value of the flag register is a second preset value, the BMC control chip refreshes the second BIOS subsystem. If the refresh of the second BIOS subsystem is complete, the next step is to send a fourth failover request to the host. The host further includes the step of switching the second BIOS subsystem to the first BIOS subsystem in accordance with a fourth switching request.

[0024] The method is optional. If the value of the flag register is a third preset value, the host refreshes the second BIOS subsystem. If the refresh of the second BIOS subsystem is complete, the host switches the second BIOS subsystem back to the first BIOS subsystem. The process further includes the step of changing the value of a flag register to a first preset value.

[0025] The method is optional. If the host is functioning correctly, the first step is to read the system data of the BIOS subsystem, The second step involves reading the system data of the BIOS subsystem, A step of performing data verification on the system data of the first BIOS subsystem and the system data of the second BIOS subsystem, The method further includes a step of synchronizing the system data of the first BIOS subsystem and the system data of the second BIOS subsystem according to the data verification results.

[0026] Optionally, depending on the data verification results, a step is taken to synchronize the system data of the first BIOS subsystem with the system data of the second BIOS subsystem. If the parameters of the first BIOS subsystem are changed, the changed parameters are synchronized and backed up to the second BIOS subsystem. When the first BIOS subsystem performs a configuration retention refresh, the steps include writing the configuration retention to the first BIOS subsystem, The steps include backing up the system data of the first BIOS subsystem to the second BIOS subsystem, When the first BIOS subsystem performs data rollback synchronization, the second BIOS subsystem reads the system data, The procedure includes the step of synchronizing the system data of the second BIOS subsystem with the first BIOS subsystem.

[0027] The method is optional. The procedure further includes the step of switching the first BIOS subsystem to the second BIOS subsystem if an abnormality occurs in the host's operation.

[0028] A third aspect of some embodiments of the present application is, A first BIOS chip used to operate the first BIOS subsystem, A second BIOS chip used to operate the second BIOS subsystem, A BMC chip used to run the BMC program, It is used to control the connection of the first BIOS chip to the second BIOS chip, and includes switches connected to the first BIOS chip and the second BIOS chip, It is used to control the switch so that it performs link switching, and a complex programmable logic device is connected to the switch, A BMC control chip is used to control the BMC chip, is connected to the BMC chip, is connected to a complex programmable logic device, and is connected to a switch. The present invention provides a dual BIOS system comprising a platform controller hub connected to a switch via a first bus, a BMC control chip via a second bus, a CPU, and a platform controller hub to which the first bus and the second bus are connected.

[0029] Optionally, the access entities in a dual BIOS system include the host and the BMC control chip.

[0030] Optionally, when the BMC control chip receives a subsystem switching command, it sends a subsystem switching request command to a complex programmable logic device. The BMC control chip controls the dual BIOS system to perform the shutdown operation. When a complex programmable logic device receives a subsystem switching request command, it sends a line switching command to the switch. When the switch receives a line switching command, it switches the connected chip from the first BIOS chip to the second BIOS chip. A dual BIOS system uses a second BIOS subsystem to perform turn-on booting.

[0031] Optionally, the BMC control chip sends a subsystem switching request command to a complex programmable logic device in the event of an operating system startup failure. The BMC control chip controls the dual BIOS system to perform the shutdown operation. When a complex programmable logic device receives a subsystem switching request command, it sends a line switching command to the switch. When the switch receives a line switching command, it switches the connected chip from the first BIOS chip to the second BIOS chip. A dual BIOS system uses a second BIOS subsystem to perform turn-on booting.

[0032] Optionally, the BMC control chip sends a subsystem switching request command to a complex programmable logic device when a subsystem refresh is required for a dual BIOS system. The BMC control chip controls the dual BIOS system to perform the shutdown operation. When a complex programmable logic device receives a subsystem switching request command, it sends a first line switching command to the switch. When the switch receives the first line switching command, it switches the connected chip from the first BIOS chip to the second BIOS chip. The complex programmable logic chip sends a second line switching command to the switch. When the switch receives a second line switching command, it switches the access authority from the host to the BMC control chip. The BMC control chip refreshes the second BIOS subsystem in the second BIOS chip. When the refresh of the second BIOS subsystem in the second BIOS chip is complete, the BMC control chip sends a subsystem switching request command to the complex programmable logic device. When a programmable logic device receives a subsystem switching request command, it sends a third line switching command to the switch. When the switch receives a third line switching command, it switches the connected chip from the second BIOS chip to the first BIOS chip. The BMC control chip refreshes the first BIOS subsystem in the first BIOS chip. When the refresh of the first BIOS subsystem in the first BIOS chip is complete, the complex programmable logic chip sends a fourth line switching command to the switch. When the switch receives a fourth line switching command, it switches the access authority from the BMC control chip to the host. A dual BIOS system uses the first BIOS subsystem to perform turn-on boot.

[0033] A fourth aspect of some embodiments is applied to a dual BIOS system, When the first BIOS subsystem is operating, the step is to determine the switching trigger conditions that the dual BIOS system satisfies, wherein the switching trigger conditions are a manual switching trigger, an automatic switching trigger, dual Steps including the BIOS refresh trigger, The present invention provides a system switching method that includes the step of executing a corresponding subsystem switching flow in response to a switching trigger condition.

[0034] The optional step of executing the corresponding subsystem switching flow according to the switching trigger condition is: If the switching trigger condition is a manual switching trigger, the steps include: a complex programmable logic device controlling the switch to switch the first BIOS subsystem to the second BIOS subsystem; The BMC control chip performs the steps of controlling the dual BIOS system to execute the shutdown operation, The steps include determining the value of the flag register and The step includes, if the value of the flag register is not a first preset value, performing a turn-on boot using a second BIOS subsystem.

[0035] The method is optional. If the switching trigger condition is an automatic switching trigger, the BMC control chip takes the step of sending a subsystem switching request command to a complex programmable logic device, The BMC control chip performs the steps of controlling the dual BIOS system to execute the shutdown operation, A complex programmable logic device, upon receiving a subsystem switching request command, performs the step of controlling the switch to switch the first BIOS subsystem to the second BIOS subsystem. The steps include determining the value of the flag register and The process further includes, if the value of the flag register is not a first preset value, the step of performing a turn-on boot using a second BIOS subsystem.

[0036] The method is optional. The switching trigger condition is dual If it is a BIOS refresh trigger, the steps include setting the value of the flag register to a first preset value, The BMC control chip includes the step of sending subsystem switching request commands to complex programmable logic devices, The BMC control chip performs the steps of controlling the dual BIOS system to perform the shutdown operation, A complex programmable logic device involves the steps of controlling a switch to switch from a first BIOS subsystem to a second BIOS subsystem, Steps to obtain the value of the flag register, If the value of the flag register is a first preset value, the complex programmable logic device performs the step of controlling the switch to switch the access principal of the dual BIOS system from the host to the BMC control chip, The BMC control chip performs a step to refresh the second BIOS subsystem, When the refresh of the second BIOS subsystem is complete, the BMC control chip sends a subsystem switching request command to the complex programmable logic device. A complex programmable logic device, upon receiving a subsystem switching request command, performs the step of controlling the switch to switch the second BIOS subsystem to the first BIOS subsystem, The BMC control chip performs the step of refreshing the first BIOS subsystem, If the refresh of the first BIOS subsystem is complete, the steps include clearing the values ​​of the flag registers, A complex programmable logic device involves the step of the switch controlling the access principal of a dual BIOS system from the BMC control chip to the host, A dual BIOS system further includes the step of performing a turn-on boot using a first BIOS subsystem.

[0037] A fifth aspect of some embodiments of the present application is, A switching decision module used to determine whether a subsystem switch is necessary when the first BIOS subsystem is operating, A switching trigger condition determination module used to determine the switching trigger conditions that a dual BIOS system must satisfy when a subsystem switch is required, wherein the switching trigger conditions are: dual A switch trigger condition determination module including a BIOS refresh trigger, an automatic switch trigger, and a manual switch trigger, A subsystem switching module used to switch the currently operating first BIOS subsystem to a second BIOS subsystem using a corresponding switching method, depending on the switching trigger conditions, When the first BIOS subsystem is switched to the second BIOS subsystem, a numeric acquisition module is used to obtain the value of the flag register, A subsystem determination module used to determine the BIOS subsystem used for data access based on the value of a flag register, The present invention provides a system switching device that includes a data access module used for data access using the BIOS subsystem.

[0038] Optionally, the subsystem switching module is: The switching trigger condition is dual If it is a BIOS refresh trigger, a first execution entity confirmation submodule used to determine the execution entity that refreshes the first BIOS subsystem, When the executing entity is a BMC control chip, a first transmission submodule is used by the BMC control chip to send a first switching request to the host, The host includes a first switching submodule used to switch the first BIOS subsystem to the second BIOS subsystem in accordance with a first switching request.

[0039] Optionally, the device is A first data refresh submodule used to refresh the first BIOS subsystem by a BMC control chip, It further includes a first register value setting submodule used to set the value of a flag register to a second preset value.

[0040] Optionally, the device is If the execution entity is the host, it further includes a second switching submodule used by the host to switch the first BIOS subsystem to the second BIOS subsystem.

[0041] Optionally, the device is A second data refresh submodule used by the host to refresh the first BIOS subsystem, It further includes a second register value setting submodule used to set the value of a flag register to a third preset value.

[0042] Optionally, the device is When the switching trigger condition is a manual switching trigger, a first receiving submodule is used by the BMC control chip to receive subsystem switching commands, The BMC control chip includes a second transmitting submodule used to send a second switching request to the host, The host further includes a third subsystem switching submodule used to switch the first BIOS subsystem to the second BIOS subsystem in accordance with a second switching request.

[0043] Optionally, the device is If the switching trigger condition is an automatic switching trigger, a second execution entity confirmation submodule is used to determine the execution entity corresponding to the automatic switching trigger, If the execution entity is a BMC control chip, a third transmission submodule used by the BMC control chip to send a third switching request to the host, The host further includes a third switching submodule used to switch the first BIOS subsystem to the second BIOS subsystem in accordance with a third switching request.

[0044] Optionally, the device is If the execution entity is the host, it further includes a fourth switching submodule used by the host to switch the first BIOS subsystem to the second BIOS subsystem.

[0045] Optionally, the subsystem determination module is: A first subsystem verification submodule is used to determine that the BIOS subsystem used for data access is the second BIOS subsystem, if the value of the flag register is a first preset value, A second subsystem verification submodule is used to determine that the BIOS subsystem used for data access is the first BIOS subsystem, if the value of the flag register is a second preset value. The system includes a third subsystem verification submodule used to determine that the BIOS subsystem used for data access is the first BIOS subsystem, if the value of the flag register is a third preset value.

[0046] Optionally, the device is If the value of the flag register is a second preset value, a third data refresh submodule is used by the BMC control chip to refresh the second BIOS subsystem, When the refresh of the second BIOS subsystem is complete, a fourth transmission submodule is used by the BMC control chip to send a fourth switching request to the host, The host further includes a fourth switching submodule used to switch the second BIOS subsystem to the first BIOS subsystem in accordance with a fourth switching request.

[0047] Optionally, the device is If the value of the flag register is a third preset value, a fourth data refresh submodule is used by the host to refresh the second BIOS subsystem, When the refresh of the second BIOS subsystem is complete, a fifth switching submodule is used by the host to switch the second BIOS subsystem back to the first BIOS subsystem, It further includes a third register value setting submodule used to change the value of a flag register to a first preset value.

[0048] Optionally, the device is If the host is functioning correctly, a first data reading module is used to read system data from the first BIOS subsystem, A second data reading module used to read system data of the second BIOS subsystem, A data verification module used to perform data verification on the system data of the first BIOS subsystem and the system data of the second BIOS subsystem, The system further includes a data synchronization module used to synchronize the system data of the first BIOS subsystem with the system data of the second BIOS subsystem, depending on the data verification results.

[0049] Optionally, the data synchronization module is: When parameters of the first BIOS subsystem are changed, a first data synchronization submodule is used to synchronize and back up the changed parameters to the second BIOS subsystem, When the first BIOS subsystem performs a configuration retention refresh, a data writing submodule is used to write the configuration retention to the first BIOS subsystem, A second data synchronization submodule used to back up the system data of the first BIOS subsystem to the second BIOS subsystem, When the first BIOS subsystem performs data rollback synchronization, a third data synchronization submodule is used to read system data from the second BIOS subsystem, It includes a fourth data synchronization submodule used to synchronize the system data of a second BIOS subsystem with the first BIOS subsystem.

[0050] Optionally, the device is The system further includes a second subsystem switching module used to switch the first BIOS subsystem to the second BIOS subsystem if an abnormality occurs in the host's operation.

[0051] A sixth aspect of some embodiments of the present application is, A switch trigger condition determination module used to determine the switch trigger conditions that a dual BIOS system satisfies when the first BIOS subsystem is operating, wherein the switch trigger conditions are a manual switch trigger, an automatic switch trigger, dual A trigger condition determination module, including a BIOS refresh trigger, The present invention provides a system switching device that includes a system switching flow execution module used to execute a corresponding subsystem switching flow in response to a switching trigger condition.

[0052] Optionally, the system switching flow execution module is: When the switching trigger condition is a manual switching trigger, a manual switching submodule is used by a complex programmable logic device to control the switch to switch the first BIOS subsystem to the second BIOS subsystem, The BMC control chip includes a first shutdown operation submodule used to control the execution of the shutdown operation in a dual BIOS system, A first data determination submodule used to determine the value of the flag register, It includes a first turn-on boot submodule used to perform turn-on boot using a second BIOS subsystem if the value of the flag register is not a first preset value.

[0053] Optionally, the system switching flow execution module is: When the switching trigger condition is an automatic switching trigger, the BMC control chip is used to send a subsystem switching request command to a complex programmable logic device, and The BMC control chip is a second shutdown operation submodule used to control the execution of the shutdown operation in a dual BIOS system, A complex programmable logic device includes an auto-switching execution submodule used to control the switch to switch from the first BIOS subsystem to the second BIOS subsystem when it receives a subsystem switching request command, A second numerical determination submodule used to determine the value of the flag register, The system further includes a second turn-on startup submodule used to perform a turn-on startup using a second BIOS subsystem if the value of the flag register is not a first preset value.

[0054] Optionally, the system switching flow execution module is: The switching trigger condition is dual In the case of a BIOS refresh trigger, a numeric setting submodule is used to set the value of the flag register to a first preset value, The BMC control chip includes a first instruction sending submodule used to send subsystem switching request instructions to complex programmable logic devices, The BMC control chip includes a third shutdown operation submodule used to control the shutdown operation of the dual BIOS system, The complex programmable logic device includes a first refresh switch execution submodule used to control the switch to switch from a first BIOS subsystem to a second BIOS subsystem, A third numerical determination submodule used to obtain the value of the flag register, If the value of the flag register is a first preset value, the complex programmable logic device is an access subject switching submodule used to control the switch to switch the access subject of a dual BIOS system from the host to the BMC control chip, The BMC control chip includes a first subsystem refresh submodule used to refresh the second BIOS subsystem, When the refresh of the second BIOS subsystem is complete, the BMC control chip uses a second instruction sending submodule, which is used to send subsystem switching request instructions to complex programmable logic devices, A complex programmable logic device includes a second refresh switch execution submodule used to control the switch to switch the second BIOS subsystem to the first BIOS subsystem when a subsystem switch is received, The BMC control chip includes a second subsystem refresh submodule used to refresh the first BIOS subsystem, When the refresh of the first BIOS subsystem is complete, a numeric clear submodule is used to clear the values ​​of the flag registers, The complex programmable logic device includes a second access principal switching submodule used to control the switch in a dual BIOS system from the BMC control chip to the host, The dual BIOS system further includes a third turn-on boot submodule used to perform turn-on boot using a first BIOS subsystem.

[0055] A seventh aspect of some embodiments of the present application provides a non-volatile readable storage medium in which a computer program is stored, the computer program, when executed by a processor, enables steps of the method described in the first aspect of the present application.

[0056] An eighth aspect of some embodiments of the present application provides an electronic device comprising a memory, a processor, and a computer program stored in the memory and operable on the processor, wherein the processor, upon executing the computer program, accomplishes a step of the method described in the first aspect of the present application.

[0057] According to the dual BIOS system of this application, the system is A first BIOS chip used to operate the first BIOS subsystem, A second BIOS chip used to operate the second BIOS subsystem, A BMC chip used to run the BMC program, A BMC control chip is used to control the BMC chip and the second BIOS chip, and is connected to the BMC chip and the second BIOS chip. A platform controller hub is used to control a first BIOS chip and a BMC control chip, and is connected to the first BIOS chip via a first bus and to the BMC control chip via a second bus, wherein the first bus and the second bus are connected, and the platform controller hub is connected to a central processing unit (CPU). In this system, the platform controller hub is connected to the first BIOS chip via a first bus, which is SPI, and to the second BIOS chip via a second bus, which is an Enhanced Serial Peripheral Interface (ESPI), and the ESPI and the Serial Peripheral Interface (SPI) are connected, the host controls the first BIOS chip to which the SPI is connected, the BMC control chip controls the second BIOS chip, the host can access the second BIOS chip under the BMC control chip by ESPI instructions, and the BMC control chip can access the first BIOS chip on the host side by ESPI requests. To meet the host and BMC's access needs for the first and second BIOS chips, the ESPI flash (flash memory) access channel and sharing capabilities can be used to enable flash access links in each direction when the conditions are met, and data synchronization can also be performed. This system reduces architectural costs and improves subsystem switching efficiency in dual BIOS systems without relying on complex programmable logic devices (CPLDs) and switches. [Effects of the Invention]

[0058] When the system switching method according to this invention is adopted, when the first BIOS subsystem is operating, it is determined whether a subsystem switch is necessary, and if a subsystem switch is necessary, the switching trigger conditions that the dual BIOS system satisfies are determined, and the switching trigger conditions are: dual This includes a BIOS refresh trigger, an automatic switchover trigger, and a manual switchover trigger. Depending on the switchover trigger condition, the currently operating first BIOS subsystem is switched to the second BIOS subsystem by the corresponding switchover method. When the first BIOS subsystem is switched to the second BIOS subsystem, the value of the flag register is obtained, the BIOS subsystem to be used for data access is determined from the value of the flag register, and data access is performed using the BIOS subsystem. In this method, when it is necessary to switch the currently operating first BIOS subsystem, the switchover trigger condition that the dual BIOS system satisfies is determined, and depending on the switchover trigger condition, the first BIOS subsystem is switched to the second BIOS subsystem by the corresponding method. Considering the various needs that arise in a dual BIOS system, subsystem switching is performed to ensure that the operating system can quickly switch to another BIOS subsystem in the event of a failure during startup, thereby ensuring the stable operation of the operating system. [Brief explanation of the drawing]

[0059] To more clearly explain the technical solutions of some embodiments of the present application, the following is a brief introduction of the drawings necessary for describing some embodiments of the present application. However, the drawings in the following description are only for some embodiments of the present application, and it is clear to those skilled in the art that other drawings can be obtained based on these drawings without any creative effort. [Figure 1] This is a schematic diagram of the configuration of a dual BIOS system proposed in some embodiments of the present invention. [Figure 2] This is a flowchart of the system switching method proposed in some embodiments of the present application. [Figure 3] This is a schematic diagram illustrating the switching flow of a dual BIOS system as proposed in some embodiments of the present invention. [Figure 4] This is a schematic diagram illustrating the data synchronization flow of a dual BIOS system as proposed in some embodiments of the present invention. [Figure 5] This is a schematic diagram of the configuration of a dual BIOS system proposed in some embodiments of the present invention. [Figure 6] This is a flowchart of the system switching method proposed in some embodiments of the present application. [Figure 7] This is a schematic diagram illustrating the switching flow of a dual BIOS system as proposed in some embodiments of the present invention. [Figure 8] This is a schematic diagram of a system switching device proposed in some embodiments of the present application. [Figure 9] This is a schematic diagram of a system switching device proposed in some embodiments of the present application. [Figure 10] This is a schematic diagram of an electronic device proposed in some embodiments of the present application. [Modes for carrying out the invention]

[0060] The technical solutions in some embodiments of the present application will be clearly and completely described below with reference to the drawings of some embodiments of the present application, although it is clear that the embodiments described are some embodiments of the present application and not all embodiments. All other embodiments obtained by a person skilled in the art without creative labor based on some embodiments of the present application are within the scope of protection of the present application.

[0061] In some examples, the nouns that appear are explained to facilitate understanding.

[0062] Enhanced Serial Peripheral Interface (ESPI) Central Processing Unit (CPU) Basic Input Output System (BIOS) Baseboard Management Controller (BMC) Serial Peripheral Interface (SPI) Platform Controller Hub (PCH) Complex Programmable Logic Device (CPLD) Switch

[0063] Referring to Figure 1, which is a schematic diagram of the configuration of a dual BIOS system proposed in some embodiments of the present application, the system includes a first BIOS chip, a second BIOS chip, a BMC chip, a BMC control chip, and a platform controller hub.

[0064] The first BIOS chip is used to operate the first BIOS subsystem.

[0065] In some embodiments of the present invention, a first BIOS subsystem operates on a BIOS chip. The BIOS system is a program that runs when the operating system starts up and stores the computer's most important basic input / output programs and the system's auto-start programs. Its main function is to provide the computer with the most basic and direct hardware settings and controls. The first BIOS chip is one of the BIOS chips in a dual BIOS system, and the first BIOS subsystem is one of the BIOS systems that operates on the first BIOS chip.

[0066] The second BIOS chip is used to operate the second BIOS subsystem.

[0067] In some embodiments of the present application, the second BIOS chip is the other BIOS chip in a dual BIOS system, and the second BIOS subsystem is the other BIOS system operated by the second BIOS chip.

[0068] In some embodiments of the present invention, the first BIOS subsystem and the second BIOS subsystem operate independently of each other, and the data stored in the first BIOS chip and the second BIOS chip are the same and are updated in real time in a synchronized manner.

[0069] The BMC chip is used to run BMC programs.

[0070] In some embodiments of the present invention, a BMC chip is used to run a BMC program, and the BMC is a device independent of the server that can manage server information such as the server model and manufacturing date, monitor and manage server status such as the server status and the status of the server's hard disk, remotely control and manage the server such as turning on, shutting down, and restarting the server, and perform server maintenance management such as log management, user management, BIOS management, and alarm management.

[0071] The BMC control chip is used to control the BMC chip and the second BIOS chip, and is connected to the BMC chip and the second BIOS chip.

[0072] In some embodiments of the present invention, a BMC control chip is used to control the operation of the BMC chip, issue commands to the BMC chip, send requests to the host side, etc., and is connected to the BMC chip and a second BIOS chip.

[0073] The platform controller hub is used to control the first BIOS chip and the BMC control chip. It is connected to the first BIOS chip via the first bus and to the BMC control chip via the second bus. The first and second buses are connected, and the platform controller hub is connected to the CPU.

[0074] In some embodiments of the present invention, a platform controller hub (PCH) is used to control a first BIOS chip and a BMC control chip. The platform controller hub has a first bus, SPI, and a second bus, ESPI, which are managed and controlled by SPI control programs and ESPI control programs. The platform controller hub is connected to the first BIOS chip via SPI and to the BMC control chip via ESPI, and the other end of the platform controller hub is also connected to the CPU. In the platform controller hub, ESPI is connected to SPI, which is a high-speed serial bus interface, while ESPI is another high-speed serial bus interface that is an extension of SPI. When ESPI is operating, some functions of SPI are invoked, and SPI and ESPI are connected and can transmit and access data to each other.

[0075] In some embodiments of the present invention, the access entity of a dual BIOS system includes a host and a BMC control chip, which transmit commands using the ESPI data transmission protocol and perform interactive access.

[0076] In some embodiments of the present invention, the host consists of a CPU-SPI-first BIOS chip link and may be called the host of a dual BIOS system, and the BMC control chip and the host are two independent access entities, and the host and the BMC control chip transmit commands and perform interactive access using the ESPI data transmission protocol.

[0077] In some embodiments of the present application, two entities can access the BIOS chips connected beneath them at any time. When the host needs to access a second BIOS chip located beneath the BMC, it enables the BMC's chip access function by sending an ESPI command to the BMC using the ESPI data transmission protocol and interacting with it. The host can then read, write, and access the firmware content of the second BIOS chip using an ESPI-compatible SPI data transmission protocol. When the BMC wants to access a first BIOS chip located beneath the host, the BMC sends an ESPI request to the host, and the host sends an ESPI command to the BMC for interaction and enables the host's chip access function. The BMC can then read, write, and access the firmware content of the first BIOS chip using an ESPI-compatible SPI data transmission protocol.

[0078] In some embodiments of the present invention, a dual BIOS system based on ESPI is proposed, in which a first BIOS chip is directly connected to the SPI of the platform controller hub of a server system, a second BIOS chip is connected to a BMC control chip, and further connected to the ESPI of the platform controller hub via the BMC control chip, and interactive access, reading, and writing to the contents of the two BIOS chips are performed using the ESPI data transmission protocol, SPI, and ESPI-compatible data transmission protocols. Based on this physical architecture, the functional logic and implementation scheme of the dual BIOS system and its subsystems are established. This scheme optimizes and improves subsystem switching in the dual BIOS system, reduces architectural costs, and improves subsystem switching efficiency.

[0079] In a dual BIOS system, the access entities include a host and a BMC control chip, which perform interactive access by sending commands.

[0080] The BMC control chip performs a system refresh on the first BIOS chip and then sends a subsystem switching request command to the host.

[0081] In some embodiments of the present invention, a subsystem switching request command is a command sent by the BMC control chip to the host, which is used to request the host to perform a subsystem switch.

[0082] When the host receives a subsystem switching request command, it executes a subsystem switching operation, switching the first BIOS subsystem to the second BIOS subsystem.

[0083] Once the subsystem switchover is complete, the BMC control chip performs a subsystem refresh on the second BIOS chip.

[0084] When the refresh of the second BIOS subsystem on the second BIOS chip is complete, the BMC control chip sends a subsystem switch request command to the host.

[0085] When the host receives a subsystem switching request command, it executes a subsystem switching operation and switches the second BIOS subsystem to the first BIOS subsystem.

[0086] The host refreshes the first BIOS subsystem on the first BIOS chip, then performs a subsystem switching operation to switch the first BIOS subsystem to the second BIOS subsystem.

[0087] Once the subsystem switchover is complete, the host performs a subsystem refresh on the second BIOS chip.

[0088] Once the refresh of the second BIOS subsystem is complete, the host performs a subsystem switch operation, switching the second BIOS subsystem back to the first BIOS subsystem.

[0089] When the BMC control chip receives a subsystem switching request command, it sends the subsystem switching request command to the host.

[0090] When the host receives a subsystem switching request command, it executes a subsystem switching operation, switching the first BIOS subsystem to the second BIOS subsystem.

[0091] If the host needs to actively switch subsystems, it performs a subsystem switching operation, switching the first BIOS subsystem to the second BIOS subsystem.

[0092] If the BMC detects a system startup failure, it sends a subsystem switching request command to the host. When the host receives a subsystem switching request command, it executes a subsystem switching operation, switching the first BIOS subsystem to the second BIOS subsystem.

[0093] If the host is functioning correctly, it will read data from the first BIOS chip.

[0094] The host sends a data read command to the BMC control chip.

[0095] When the BMC control chip receives a data read command, it sends the data from the second BIOS chip to the host.

[0096] The host performs data verification against the data in the first BIOS chip and the data in the second BIOS chip.

[0097] Based on the data verification results, data synchronization is performed between the first and second BIOS chips.

[0098] Referring to Figure 2, Figure 2 is a flowchart of a system switching method proposed in some embodiments of the present application, which is applicable to a dual BIOS system. As shown in Figure 2, the method includes the following steps S11 to S16.

[0099] S11: If the first BIOS subsystem is operating, determine whether a subsystem switchover is necessary.

[0100] In some embodiments of the present application, with reference to Figure 3, which is a schematic diagram of the dual BIOS system switching flow proposed in some embodiments of the present application, when the dual BIOS system operates with a first BIOS subsystem, the dual BIOS system determines whether or not a subsystem switch is required. A subsystem switch is required if the system receives a switch request from an external source, if the host actively sends a switch command, or if the BMC requests a switch. If the system is operating normally and neither an external source nor the executing entity sends a switch command or switch request, a subsystem switch is not required.

[0101] S12: If a subsystem switchover is required, determine the switchover trigger conditions that the dual BIOS system must satisfy, and the switchover trigger conditions are: dual Includes BIOS refresh trigger, auto-switch trigger, and manual-switch trigger.

[0102] In some embodiments of this application, the switching trigger condition is: dualThese are the conditions for triggering subsystem switching in a dual BIOS system, including BIOS refresh triggers, automatic switch triggers, and manual switch triggers. A dual BIOS refresh trigger means that, during BIOS operation, after one BIOS subsystem has been refreshed, the other BIOS subsystem also needs to be refreshed synchronously. In this case, the switch trigger condition for dual BIOS refresh trigger is met because it is necessary to switch to the other BIOS subsystem and refresh it. Automatic switch means that the BMC or host detects that a BIOS subsystem switch is necessary due to a system failure, and the host initiates the switch, or the BMC requests the host to switch the system. In this case, the automatic switch trigger condition is met. A manual switch trigger means that when a user needs to switch BIOS subsystems, they manually send a subsystem switch command to the BMC. In this case, the switch trigger condition that is met is the manual switch trigger.

[0103] In some embodiments of the present invention, as shown in Figure 3, it is assumed that the currently operating BIOS system is the first BIOS subsystem, and when a switchover of the currently operating first BIOS subsystem is required, it is first necessary to determine the switchover trigger conditions that the dual BIOS system must satisfy.

[0104] For example, when a subsystem switch command is received manually sent by an administrator, it is determined that the switch trigger condition to be met is a manual switch trigger. When the host detects a system failure and actively initiates a subsystem switch, it is determined that the trigger condition to be met is an automatic switch trigger. When the host or BMC refreshes the BIOS subsystem, the trigger condition to be met is dual It is determined that this is a BIOS refresh trigger.

[0105] S13: Depending on the trigger condition, the currently operating first BIOS subsystem is switched to the second BIOS subsystem using the corresponding switching method.

[0106] In some embodiments of the present invention, a different system switching method is used for each trigger condition. After the trigger condition is determined, the currently operating first BIOS subsystem is switched to the second BIOS subsystem by the corresponding switching method.

[0107] In some embodiments of the present invention, the specific step of switching the currently operating first BIOS subsystem to the second BIOS subsystem by a corresponding switching method in response to a trigger condition includes the following steps S13-1 to S13-3.

[0108] S13-1: Switching trigger conditions are dual If it is a BIOS refresh trigger, it determines the entity that will refresh the first BIOS subsystem.

[0109] In some embodiments of the present application, as shown in Figure 3, the trigger condition is dual If it is a BIOS refresh trigger, first determine the entity that will refresh the first BIOS subsystem.

[0110] In some embodiments of this application, the system switching method when the execution entity is the host differs from the system switching method when the execution entity is the BMC control chip, so it is necessary to determine which execution entity will refresh the BIOS subsystem. The execution entity refreshes the first BIOS subsystem, then switches to the second BIOS subsystem and refreshes the second BIOS subsystem.

[0111] S13-2: If the execution entity is the BMC control chip, the BMC control chip sends the first switching request to the host.

[0112] In some embodiments of the present invention, the first switching request is an ESPI request instruction based on the ESPI protocol, which is sent to the host by the BMC control chip.

[0113] In some embodiments of the present invention, when the executing entity is a BMC control chip, the BMC control chip needs to refresh the second BIOS subsystem after refreshing the first BIOS subsystem in order to ensure that the data in the second BIOS subsystem is the same as the data in the current first BIOS subsystem. In this case, the BMC control chip sends an ESPI request command to the host to request a BIOS subsystem switch.

[0114] S13-3: The host switches the first BIOS subsystem to the second BIOS subsystem in accordance with the first switchover request.

[0115] In some embodiments of the present invention, upon receiving a first switching request, the host performs a BIOS subsystem switching operation in response to a request sent by the BMC, sending an ESPI instruction to the BMC to switch the subsystem currently used for data access in a dual BIOS system from the first BIOS subsystem to the second BIOS subsystem.

[0116] In some embodiments of the present invention, after the first BIOS subsystem is switched to the second BIOS subsystem, both the host and the BMC access data through the second BIOS subsystem.

[0117] In some embodiments of the present application, the method further includes the following steps S13-4.

[0118] S13-4: If the execution entity is the host, the host switches the first BIOS subsystem to the second BIOS subsystem.

[0119] In some embodiments of the present invention, when the executing entity is a host, the host directly sends an ESPI command to the BMC to perform a BIOS access switching operation, and after the operation is completed, both the host and the BMC perform data access through a second BIOS subsystem.

[0120] In some embodiments of the present application, the method further includes the following steps S13-5 to S13-7.

[0121] S13-5: If the switching trigger condition is a manual switching trigger, the BMC control chip receives the subsystem switching command.

[0122] In some embodiments of the present invention, a subsystem switching command is a command issued by an administrator to a BMC control chip, which is used to instruct the BMC control chip to perform a subsystem switching.

[0123] In some embodiments of the present invention, when the trigger condition is a manual switching trigger, the BMC control chip receives a subsystem switching command. The administrator can control the entire system by the BMC.

[0124] S13-6: The BMC control chip sends a second switching request to the host.

[0125] In some embodiments of the present invention, the second switching request is a corresponding request that is sent to the host by the BMC control chip and generated by the BMC control chip upon receiving the first switching command.

[0126] In some embodiments of the present invention, when the BMC control chip receives a subsystem switching command, it sends a second switching request to the host.

[0127] S13-7: The host switches the first BIOS subsystem to the second BIOS subsystem in accordance with the second switchover request.

[0128] In some embodiments of the present invention, upon receiving a second switching request, the host responds to the second switching request by issuing an ESPI instruction to the BMC control chip to perform an operation to switch the BIOS chip, thereby switching the host and BMC access data subsystems from the first BIOS subsystem to the second BIOS subsystem.

[0129] In some embodiments of the present application, the method further includes the following steps S13-8 to S13-10.

[0130] S13-8: If the switching trigger condition is an automatic switching trigger, determine the execution entity corresponding to the automatic switching trigger.

[0131] In some embodiments of the present invention, if the trigger condition is an automatic switching trigger, the executing entity that performs the automatic switching trigger operation is determined.

[0132] S13-9: If the execution entity is the BMC control chip, the BMC control chip sends a third switching request to the host.

[0133] In some embodiments of the present invention, the third switching request is a switching request that is sent to the host by the BMC control chip and is issued spontaneously by the BMC control chip when it detects a server failure.

[0134] In some embodiments of the present invention, when the execution entity is a BMC control chip, the BMC entity, upon detecting a problem such as a server downtime, spontaneously initiates a switchover access to the BIOS chip, and the BMC control chip sends a third switchover request to the host.

[0135] S13-10:host switches the first BIOS subsystem to the second BIOS subsystem in accordance with the third switching request.

[0136] In some embodiments of the present invention, upon receiving a third switching request, the host responds to the request by sending an ESPI command to the BMC control chip to perform a BIOS switching operation, switching the system's currently operating first BIOS subsystem to a second BIOS subsystem.

[0137] In some embodiments of the present application, the method further includes the following step S13-11.

[0138] S13-11: If the execution entity is the host, the host switches the first BIOS subsystem to the second BIOS subsystem.

[0139] In some embodiments of the present invention, when the executing entity is a host, the host entity attempts to actively switch the BIOS chip to access data. In this case, the host directly sends an ESPI instruction to the BMC control chip to execute a BIOS subsystem switching operation, switching the subsystem performing data access from the first BIOS subsystem to the second BIOS subsystem.

[0140] S14: Get the current value of the flag register.

[0141] In some embodiments of the present invention, as shown in Figure 3, the current value of the flag register is obtained after the subsystem switching of the dual BIOS system is completed, i.e., after the first BIOS subsystem has switched to the second BIOS subsystem.

[0142] S15: The value of the flag register determines the BIOS subsystem used for data access.

[0143] In some embodiments of the present invention, the specific step of determining the BIOS subsystem used for data access from the value of a flag register includes the following steps S15-1 to S15-3.

[0144] S15-1: If the value of the flag register is the first preset value, it is determined that the BIOS subsystem used for data access is the second BIOS subsystem.

[0145] In some embodiments of the present invention, the first preset value is the default value of the flag register.

[0146] In some embodiments of the present application, if the value of a register is marked as a first preset value, the value of the flag register has not been changed, i.e., subsystem switching is not triggered by a dual BIOS system refresh. Therefore, it is determined that the BIOS subsystem used for data access is the second BIOS subsystem, and data access is performed using the second BIOS subsystem directly.

[0147] For example, the first pre-set value is 0.

[0148] S15-2: If the value of the flag register is the second preset value, it is determined that the BIOS subsystem used for data access is the first BIOS subsystem.

[0149] In some embodiments of the present application, it is shown that the BMC performs a subsystem switch when refreshing the first BIOS subsystem if the value of the flag register is a second preset value. In this case, it is determined that the BIOS subsystem used for data access is the first BIOS subsystem.

[0150] S15-3: If the value of the flag register is the third preset value, it is determined that the BIOS subsystem used for data access is the first BIOS subsystem.

[0151] In some embodiments of the present application, it is shown that when the host refreshes the first BIOS subsystem, a subsystem switch occurs if the value of the flag register is a third preset value. In this case, it is determined that the BIOS subsystem used for data access is the first BIOS subsystem.

[0152] In some other embodiments of the present application, the method further includes the following steps S15-4 to S15-6.

[0153] S15-4: If the value of the flag register is a second preset value, the BMC control chip refreshes the second BIOS subsystem.

[0154] In some embodiments of the present invention, as shown in Figure 3, the BMC control chip refreshes the second BIOS subsystem when the value of the flag register is a second preset value.

[0155] S15-5: When the refresh of the second BIOS subsystem is complete, the BMC control chip sends a fourth failover request to the host.

[0156] In some embodiments of the present invention, the fourth switching request is a request sent to the host by the BMC control chip, and the fourth switching request is generated after the second BIOS subsystem refresh is completed.

[0157] In some embodiments of the present invention, a fourth switching request is sent to the BMC control chip host after the second BIOS subsystem refresh is completed.

[0158] S15-6: The host switches the second BIOS subsystem to the first BIOS subsystem in accordance with the fourth switching request.

[0159] In some embodiments of the present invention, upon receiving a fourth switching request, the host sends an ESPI command to the BMC control chip to perform a BIOS subsystem switching operation, switching the second BIOS subsystem to the first BIOS subsystem.

[0160] In some other embodiments of the present application, the method further includes the following steps S15-7 to S15-9.

[0161] S15-7: If the value of the flag register is a third preset value, the host refreshes the second BIOS subsystem.

[0162] In some embodiments of the present invention, as shown in Figure 3, the host refreshes the second BIOS subsystem if the value of the flag register is a third preset value.

[0163] S15-8: When the refresh of the second BIOS subsystem is complete, the host switches the second BIOS subsystem back to the first BIOS subsystem.

[0164] In some embodiments of the present invention, the host refreshes the second BIOS subsystem and then performs a BIOS subsystem switching operation, switching the second BIOS subsystem back to the first BIOS subsystem.

[0165] S15-9: Change the value of the flag register to the first pre-set value.

[0166] In some embodiments of the present invention, after a dual BIOS system refresh is completed and the system switches back to the original BIOS subsystem, the value of the flag register is changed to a first preset value, i.e., the value of the flag register is restored to its default value.

[0167] S16: Data access is performed using the BIOS subsystem.

[0168] In some embodiments of the present invention, after determining the BIOS subsystem to be used for data access, data access is performed using that subsystem.

[0169] In some other embodiments of the present invention, if the executing entity is a BMC control chip, the method further includes the following steps S21 and S22 before the BMC control chip sends a first switching request to the host.

[0170] S21: The BMC control chip refreshes the first BIOS subsystem.

[0171] In some embodiments of the present invention, as shown in Figure 3, if it is determined that the execution entity is a BMC control chip, the BMC control chip refreshes the data in the first BIOS subsystem.

[0172] S22: Set the value of the flag register to a second preset value.

[0173] In some embodiments of the present invention, a flag register (FlashFlag) is used to flag the refresh entity of a first BIOS subsystem, and if the value of the flag register is a second preset value, it indicates that the refresh entity of the first BIOS subsystem is a BMC control chip.

[0174] In some embodiments of the present invention, after refreshing the first BIOS subsystem by the BMC control chip, the value of the flag register is set to a second preset value.

[0175] For example, the second pre-set value is 1.

[0176] In some other embodiments of the present invention, when the executing entity is a host, the method further includes the following steps S41 and S42 before the host switches the first BIOS subsystem to the second BIOS subsystem.

[0177] S41: Refresh the first BIOS subsystem via host.

[0178] In some embodiments of the present invention, if it is determined that the executing entity is the host, the host refreshes the data in the first BIOS subsystem.

[0179] S42: Set the value of the flag register to a third preset value.

[0180] In some embodiments of the present invention, the third preset value indicates that the execution entity that refreshes the first BIOS subsystem is the host.

[0181] In some embodiments of the present invention, a host is used to refresh the data in the first BIOS subsystem, and then set the value of the flag register to a third preset value.

[0182] In some other embodiments of the present application, the method further includes the following steps S51 to S54.

[0183] If S51:host is functioning correctly, read the system data of the first BIOS subsystem.

[0184] In some embodiments of the present application, as shown in Figure 4, Figure 4 is a schematic flowchart of the data synchronization flow of a dual BIOS system proposed in some embodiments of the present application. If the host is operating correctly, it reads the system data of the first BIOS subsystem.

[0185] In some embodiments of the present invention, the host reads system data of the first BIOS subsystem directly from the connected first BIOS chip.

[0186] S52: Reads system data from the second BIOS subsystem.

[0187] In some embodiments of the present invention, after reading the data of the first BIOS subsystem, the system data of the second BIOS subsystem is read.

[0188] In some embodiments of the present invention, when the host reads system data of a second BIOS subsystem, it sends an ESPI data access command to the BMC and accesses the system data of the second BIOS subsystem connected to the BMC control chip.

[0189] S53: Perform data verification on the system data of the first BIOS subsystem and the system data of the second BIOS subsystem.

[0190] In some embodiments of the present application, data validation is performed on the data of the first BIOS subsystem and the system data of the second BIOS subsystem, the system data of the two subsystems are compared, and the differences between the system data of the two subsystems are determined.

[0191] S54: Based on the data verification results, data synchronization is performed between the system data of the first BIOS subsystem and the system data of the second BIOS subsystem.

[0192] In some embodiments of the present invention, the specific step of performing data synchronization between the system data of the first BIOS subsystem and the system data of the second BIOS subsystem, depending on the verification results, includes the following steps S54-1 to S54-5.

[0193] S54-1: If the parameters of the first BIOS subsystem are changed, the changed parameters are synchronized and backed up in the second BIOS subsystem.

[0194] In some embodiments of the present invention, as shown in Figure 4, when the parameters of the first BIOS subsystem are changed, the changed parameters are written to the chip where the current BIOS subsystem resides, and the changed parameters are also synchronized and backed up to the second BIOS subsystem, i.e., written to the chip where the second BIOS subsystem resides.

[0195] S54-2: When the first BIOS subsystem performs a configuration retention refresh, the configuration retention is written to the first BIOS subsystem.

[0196] In some embodiments of this application, a configuration-preserving refresh refreshes while preserving some of the existing parameters, and the preserved configuration remains unchanged.

[0197] In some embodiments of the present invention, when performing a configuration retention refresh, the retained configuration is written to the first BIOS chip of the first BIOS subsystem, which is the current BIOS subsystem.

[0198] S54-3: Back up the system data of the first BIOS subsystem to the second BIOS subsystem.

[0199] In some embodiments of the present invention, after performing a configuration-preserving refresh on the first BIOS subsystem, the data after the refresh of the first BIOS subsystem is backed up to the second BIOS subsystem, i.e., stored on the second BIOS chip.

[0200] S54-4: When the first BIOS subsystem performs data rollback synchronization, it reads the system data of the second BIOS subsystem.

[0201] In some embodiments of the present invention, data rollback synchronization refers to rolling back the data in a first BIOS subsystem until it is the same as the system data in a second BIOS subsystem, and in the event of a failure in the first BIOS subsystem, the method is used to delete abnormal data and perform data recovery.

[0202] In some embodiments of the present invention, when the first BIOS subsystem performs data rollback synchronization, it reads system data from the second BIOS subsystem and obtains the data from the second BIOS chip.

[0203] S54-5: Synchronize the system data of the second BIOS subsystem with the first BIOS subsystem.

[0204] In some embodiments of the present invention, after reading the system data of the second BIOS subsystem in the second BIOS chip, the system data of the second BIOS subsystem is synchronized with the first BIOS subsystem.

[0205] In some other embodiments of the present application, the method further includes the following step S61.

[0206] S61: If an abnormality occurs in the host's operation, the first BIOS subsystem is switched to the second BIOS subsystem.

[0207] In some embodiments of the present invention, as shown in Figure 4, if an abnormality occurs in the operation of the host, it is determined that a subsystem switchover of the dual BIOS system is necessary. At this time, the subsystem switchover process is executed, and after the switchover process is completed, data synchronization is performed.

[0208] In some embodiments of the present invention, real-time access to dual BIOS system data and synchronization of subsystems can be achieved, and the dual BIOS firmware data content can be accessed simultaneously in real time and verified. The reliability of the server system is further improved by supporting the synchronization of the configuration after changes to the active BIOS to the backup BIOS chip, the synchronization of the configuration content after refreshing the BIOS configuration retention to the backup BIOS chip, and the synchronization and updating of the backup BIOS subsystem data to the abnormal BIOS subsystem after the active BIOS has switched to the backup BIOS due to an abnormality and has started up normally.

[0209] In some embodiments of this application, the standard SPI and ESPI protocol specifications are fully adopted. Based on this, the ESPI chip access channel and sharing function are utilized to enable chip access links in each direction when the host and BMC control chips meet the conditions, and the BIOS subsystem can be freely switched and data synchronized, thereby significantly reducing the cost of the architecture and improving the efficiency of subsystem switching and data synchronization. Based on the new physical architecture, subsystem switching in a dual BIOS system is optimized, enabling manual switching of the BIOS subsystem in abnormal and normal server startup conditions. The BIOS subsystem can be automatically switched when an anomaly occurs, such as an operating system startup failure. When refreshing the BIOS using an out-of-band system or tool such as a BMC, it is supported to switch and refresh the BIOS subsystem. A new function is added to switch and refresh the BIOS chip when refreshing the BIOS under the operating system. Furthermore, all corresponding switching controls and actions are performed by two entities, the host and the BMC, using the interaction of ESPI and SPI instructions, and no third-party chip control equipment is involved. In addition, data can be synchronized and updated in real time as needed, supporting data updates of the two BIOS chips in various situations.

[0210] Referring to Figure 5, which is a schematic diagram of the configuration of a dual BIOS system proposed in some embodiments of the present application, the system includes a first BIOS chip, a second BIOS chip, a BMC chip, a switch, a complex programmable logic device, a BMC control chip, and a platform controller hub.

[0211] The first BIOS chip is used to operate the first BIOS subsystem.

[0212] The second BIOS chip is used to operate the second BIOS subsystem.

[0213] The BMC chip is used to run BMC programs.

[0214] The switch is used to control the connection of the first BIOS chip to the second BIOS chip, and is connected to both the first and second BIOS chips.

[0215] Complex programmable logic devices are used to control the switch so that it performs link switching, and are connected to the switch.

[0216] In some embodiments of the present invention, a switch can control whether the execution entity of a dual BIOS system is connected to a first BIOS chip or a second BIOS chip, and the connected link can be freely switched depending on the actual situation.

[0217] The BMC control chip is used to control the BMC chip, is connected to the BMC chip, is connected to complex programmable logic devices, is connected to switches, and the platform controller hub is connected to switches via a first bus, is connected to the BMC control chip via a second bus, is connected to the CPU, and connects the first bus and the second bus.

[0218] In some embodiments of the present application, the first bus is SPI and the second bus is ESPI.

[0219] In some embodiments of the present application, the access entity of a dual BIOS system includes a host and a BMC control chip.

[0220] In some embodiments of the present invention, when a BMC control chip receives a subsystem switching command, it sends a subsystem switching request command to a complex programmable logic device.

[0221] In some embodiments of the present application, the subsystem switching instruction is an instruction issued by an operator to the BMC control chip, and is used to switch the currently operating BIOS subsystem. The subsystem switching request instruction is an instruction transmitted by the BMC control chip, and is used to request switching of the currently operating BIOS subsystem.

[0222] In some embodiments of the present application, the BMC control chip controls the dual-BIOS system to perform a shutdown operation.

[0223] In some embodiments of the present application, upon receiving the subsystem switching request instruction, the complex programmable logic device transmits a line switching instruction to the switch.

[0224] In some embodiments of the present application, the line switching instruction is an instruction generated by the complex programmable logic device when receiving the subsystem switching request instruction, and is used to control the switch to switch the currently connected BIOS chip.

[0225] In some embodiments of the present application, upon receiving the line switching instruction, the switch switches the connected chip from the first BIOS chip to the second BIOS chip.

[0226] In some embodiments of the present application, the dual-BIOS system performs power-on booting using the second BIOS subsystem.

[0227] In some embodiments of the present application, when a boot failure of the operating system occurs, the BMC control chip transmits a subsystem switching request instruction to the complex programmable logic device.

[0228] In some embodiments of the present application, the BMC control chip controls the dual-BIOS system to perform a shutdown operation.

[0229] In some embodiments of the present invention, a complex programmable logic device, upon receiving a subsystem switching request command, sends a line switching command to a switch.

[0230] In some embodiments of the present invention, when a switch receives a line switching command, it switches the connected chip from the first BIOS chip to the second BIOS chip.

[0231] In some embodiments of the present invention, a dual BIOS system uses a second BIOS subsystem to perform turn-on booting.

[0232] In some embodiments of the present invention, the BMC control chip sends a subsystem switching request command to a complex programmable logic device when a subsystem refresh is required for a dual BIOS system.

[0233] In some embodiments of the present invention, the BMC control chip controls the dual BIOS system to perform a shutdown operation.

[0234] In some embodiments of the present invention, a complex programmable logic device, upon receiving a subsystem switching request command, sends a first line switching command to a switch.

[0235] In some embodiments of the present invention, when a switch receives a first line switching command, it switches the connected chip from a first BIOS chip to a second BIOS chip.

[0236] In some embodiments of the present invention, a complex programmable logic chip transmits a second line switching command to a switch.

[0237] In some embodiments of the present invention, when the switch receives a second line switching command, it switches the access subject from the host to the BMC control chip.

[0238] In some embodiments of the present application, the BMC control chip performs subsystem refresh on the second BIOS chip.

[0239] In some embodiments of the present application, when the refresh of the subsystem of the first BIOS chip is completed, the BMC complex programmable logic device sends a subsystem switching request instruction.

[0240] In some embodiments of the present application, upon receiving the subsystem switching request instruction, the programmable logic device sends a third line switching instruction to the switch.

[0241] In some embodiments of the present application, upon receiving the third line switching instruction, the switch switches the connected chip from the second BIOS chip to the first BIOS chip.

[0242] In some embodiments of the present application, the BMC control chip performs subsystem refresh on the first BIOS chip.

[0243] In some embodiments of the present application, when the refresh of the subsystem of the second BIOS chip is completed, the complex programmable logic chip sends a fourth line switching instruction to the switch.

[0244] In some embodiments of the present application, upon receiving the fourth line switching instruction, the switch switches the access subject from the BMC control chip to the host.

[0245] In some embodiments of the present application, the dual-BIOS system performs power-on booting using the first BIOS subsystem.

[0246] In some embodiments of the present invention, as shown in Figure 5, the switch connects a first BIOS chip, a second BIOS chip, and an SPI, and the CPLD is responsible for controlling the switch. In such a configuration, the CPLD controls the switch to connect to one of the BIOS chips to communicate and access data, and only one of the controllers in the platform controller hub or the BMC control chip has access rights to the gated BIOS chip.

[0247] Referring to Figure 6, which is a flowchart of a system switching method proposed in some embodiments of the present application, the method includes the following steps S111 and S112, as shown in Figure 6.

[0248] S111: When the first BIOS subsystem is operating, determine the switch trigger conditions that the dual BIOS system satisfies, and the switch trigger conditions are manual switch trigger, automatic switch trigger, dual Includes BIOS refresh trigger.

[0249] In some embodiments of the present invention, when the first BIOS subsystem is operating, the switching trigger conditions that the dual BIOS system satisfies are determined, and the switching trigger conditions are manual switching trigger, automatic switching trigger, dual Includes BIOS refresh trigger.

[0250] S112: Execute the corresponding subsystem switching flow according to the switching trigger conditions.

[0251] In some embodiments of the present invention, when subsystem switching is required, the corresponding subsystem switching flow is executed according to the switching trigger condition.

[0252] In some embodiments of the present invention, the step of executing a corresponding subsystem switching flow in response to a switching trigger condition includes the following steps S112-1 to S112-4.

[0253] S112-1: If the switching trigger condition is a manual switching trigger, a complex programmable logic device controls the switch to switch the first BIOS subsystem to the second BIOS subsystem.

[0254] In some embodiments of the present invention, when the switching trigger condition is a manual switching trigger, a complex programmable logic device controls the switch to switch the first BIOS subsystem to the second BIOS subsystem.

[0255] S112-2: The BMC control chip controls the dual BIOS system to perform the shutdown operation.

[0256] In some embodiments of the present invention, the BMC control chip controls the dual BIOS system to perform a shutdown operation.

[0257] S112-3: Determine the value of the flag register.

[0258] In some embodiments of the present invention, when a BMC-controlled dual BIOS system performs a shutdown operation and then a turn-on startup, the current flag register values ​​are determined.

[0259] S112-4: If the value of the flag register is not the first preset value, the second BIOS subsystem is used to perform the turn-on startup.

[0260] In some embodiments of the present invention, if the value of the flag register is not a first preset value, a second BIOS subsystem is used to perform turn-on startup.

[0261] In some embodiments of the present application, the method further includes the following steps S112-5 to S112-9.

[0262] S112-5: If the switching trigger condition is an automatic switching trigger, the BMC control chip sends a subsystem switching request command to the complex programmable logic device.

[0263] In some embodiments of the present invention, when the switching trigger condition is automatic switching, the BMC control chip sends a subsystem switching request command to a complex programmable logic device.

[0264] S112-6: The BMC control chip controls the dual BIOS system to perform the shutdown operation.

[0265] In some embodiments of the present invention, the BMC control chip controls the dual BIOS system to perform a shutdown operation.

[0266] S112-7: When a complex programmable logic device receives a subsystem switching request command, it controls the switch to switch from the first BIOS subsystem to the second BIOS subsystem.

[0267] In some embodiments of the present invention, a complex programmable logic device controls a switch to switch from a first BIOS subsystem to a second BIOS subsystem when it receives a subsystem switching request command.

[0268] S112-8: Determine the value of the flag register.

[0269] In some embodiments of this application, the current value of the flag register is determined.

[0270] S112-9: If the value of the flag register is not the first preset value, the second BIOS subsystem is used to perform the turn-on startup.

[0271] In some embodiments of the present invention, if the value of the flag register is not a first preset value, a second BIOS subsystem is used to perform turn-on startup.

[0272] In some embodiments of the present application, the method further includes the following steps S112-10 to S112-22.

[0273] S112-10: Switching trigger conditions are dual If it is a BIOS refresh trigger, the value of the flag register is set to a first preset value.

[0274] In some embodiments of the present application, the switching trigger condition is dual If it is a BIOS refresh trigger, the current value of the flag register is set to a first preset value.

[0275] S112-11: The BMC control chip sends subsystem switching request commands to complex programmable logic devices.

[0276] In some embodiments of the present invention, the BMC control chip transmits subsystem switching request commands to a complex programmable logic device.

[0277] S112-12: The BMC control chip controls the shutdown operation of the dual BIOS system.

[0278] In some embodiments of the present invention, the BMC control chip controls the dual BIOS system to perform a shutdown operation.

[0279] S112-13: A complex programmable logic device controls the switch to switch the first BIOS subsystem to the second BIOS subsystem.

[0280] In some embodiments of the present invention, a complex programmable logic device controls a switch to switch from a first BIOS subsystem to a second BIOS subsystem.

[0281] S112-14: Retrieve the value of the flag register.

[0282] In some embodiments of this invention, the value of a flag register is obtained.

[0283] S112-15: If the value of the flag register is a first preset value, the complex programmable logic device controls the switch to switch the access principal of the dual BIOS system from the host to the BMC control chip.

[0284] In some embodiments of the present invention, if the value of a flag register is a first preset value, the complex programmable logic device controls the switch to switch the current access subject from the host to the BMC control chip.

[0285] S112-16: The BMC control chip refreshes the second BIOS subsystem.

[0286] In some embodiments of the present invention, the BMC control chip performs a subsystem refresh on the second BIOS subsystem.

[0287] S112-17: When the refresh of the second BIOS subsystem is complete, the BMC control chip sends a subsystem switching request command to the complex programmable logic device.

[0288] In some embodiments of the present invention, when the refresh of the second BIOS subsystem is complete, the BMC control chip sends a subsystem switching request command to a complex programmable logic device.

[0289] S112-18: When a complex programmable logic device receives a subsystem switch, it controls the switch to switch the second BIOS subsystem to the first BIOS subsystem.

[0290] In some embodiments of the present invention, a complex programmable logic device controls a switch to switch a second BIOS subsystem to a first BIOS subsystem when it receives a subsystem switch.

[0291] S112-19: The BMC control chip refreshes the first BIOS subsystem.

[0292] In some embodiments of the present invention, the BMC control chip performs a subsystem refresh on the first BIOS subsystem.

[0293] S112-20: If the refresh of the first BIOS subsystem is complete, clear the value of the flag register.

[0294] In some embodiments of the present invention, the value of the flag register is cleared when the refresh of the first BIOS subsystem is complete.

[0295] S112-21: A complex programmable logic device controls the switch to switch the access principal of a dual BIOS system from the BMC control chip to the host.

[0296] In some embodiments of the present invention, a complex programmable logic device controls the switch to switch the current access principal from the BMC control chip to the host.

[0297] S112-22: Dual BIOS systems use the first BIOS subsystem to perform turn-on booting.

[0298] In some embodiments of the present invention, a dual BIOS system uses a first BIOS subsystem to perform turn-on booting.

[0299] In some embodiments of the present application, the flow by which the BIOS switches subsystems is shown in Figure 7, which is a schematic diagram of the dual BIOS system switching flow proposed in some embodiments of the present application. The switching steps are shown below.

[0300] S000: Initiating subsystem switching.

[0301] S001: Assume the system will boot using the first BIOS chip by default (if using the second BIOS chip, simply change the second BIOS chip to the first BIOS chip in the subsequent steps).

[0302] S002: Determine the trigger condition for switching the BIOS subsystem to the second BIOS subsystem. If it is a manual switch trigger, execute S003 and proceed out of band. dual If it's a BIOS refresh trigger, execute S004; if it's an automatic switch trigger, execute S005.

[0303] S003: A switch command to the second BIOS chip, i.e., a subsystem switch command, is manually sent by a tool, and then S006 is executed.

[0304] S004: The BIOS sets the FlashFlag flag register value, which represents a refresh dual BIOS, to 1, and in subsequent steps, it performs actions corresponding to that flag register value.

[0305] S005: The BMC control chip voluntarily sends a command to the CPLD to switch to the second BIOS subsystem, notifying the CPLD to prepare for the switch to the second BIOS subsystem.

[0306] S006: The BMC control chip executes a shutdown command and shuts down the system.

[0307] S007: The CPLD controls the SPI switch channel, switching the switch to connect to the second BIOS chip.

[0308] S008: Determine whether the flag register value is 1 or not. If it is 1, execute step S009; otherwise, execute step S015.

[0309] S009: The CPLD controls the channels of the SPI switch to switch the switch's SPI access to the BMC system.

[0310] S010: The BMC begins accessing the second BIOS subsystem to perform a BIOS version refresh.

[0311] S011: The BMC control chip voluntarily sends a switch command to the first BIOS subsystem to the CPLD, notifying the CPLD to prepare for the switch to the first BIOS subsystem.

[0312] S012: The CPLD controls the SPI switch channel, switching the switch to connect to the first BIOS chip.

[0313] S013: The BMC begins accessing the first BIOS subsystem, performs a BIOS version refresh, and clears the flag register values ​​to 0.

[0314] S014: The CPLD controls the SPI exchange channel and switches the exchanged SPI access to the host.

[0315] S015: The dual BIOS system performs turn-on boot using the first BIOS subsystem, and then executes step S017.

[0316] S016: Dual BIOS systems use a second BIOS subsystem to perform turn-on booting.

[0317] S017: Terminate the switching subsystem.

[0318] In some embodiments of the present invention, when the first BIOS subsystem is operating, the switching trigger conditions that the dual BIOS system satisfies are determined, and if a subsystem switch is necessary, the corresponding subsystem switching flow is executed according to the switching trigger conditions. This ensures that the BIOS system can operate normally when the server's operating system is started, and further ensures stable startup and operation of the operating system.

[0319] Based on the same inventive concept, several embodiments of the present application provide a system switching device. Referring to Figure 8, Figure 8 shows a schematic diagram of a system switching device 800 proposed in several embodiments of the present application. As shown in Figure 8, the device is A switching determination module 801 is used to determine whether a subsystem switch is necessary when the first BIOS subsystem is operating, A switching trigger condition determination module 802 is used to determine the switching trigger conditions that a dual BIOS system must satisfy when a subsystem switch is required, wherein the switching trigger conditions are: dual A switch trigger condition determination module 802, including a BIOS refresh trigger, an automatic switch trigger, and a manual switch trigger, A subsystem switching module 803 is used to switch the currently operating first BIOS subsystem to a second BIOS subsystem using a corresponding switching method in response to trigger conditions, When the subsystem switchover is complete, the numeric acquisition module 804, which is used to obtain the value of the flag register, A subsystem determination module 805 is used to determine the BIOS subsystem used for data access from the value of a flag register, It includes a data access module 806 used to access data using the BIOS subsystem.

[0320] Optionally, the subsystem switching module is: The switching trigger condition is dual If it is a BIOS refresh trigger, a first execution entity confirmation submodule used to determine the execution entity that refreshes the first BIOS subsystem, When the executing entity is a BMC control chip, a first transmission submodule is used by the BMC control chip to send a first switching request to the host, The host includes a first switching submodule used to switch the first BIOS subsystem to the second BIOS subsystem in accordance with a first switching request.

[0321] Optionally, the device is A first data refresh submodule used to refresh the first BIOS subsystem by a BMC control chip, It further includes a first register value setting submodule used to set the value of a flag register to a second preset value.

[0322] Optionally, the device is If the execution entity is the host, it further includes a second switching submodule used by the host to switch the first BIOS subsystem to the second BIOS subsystem.

[0323] Optionally, the device is A second data refresh submodule used by the host to refresh the first BIOS subsystem, It further includes a second register value setting submodule used to set the value of a flag register to a third preset value.

[0324] Optionally, the device is When the switching trigger condition is a manual switching trigger, a first receiving submodule is used by the BMC control chip to receive subsystem switching commands, The BMC control chip includes a second transmitting submodule used to send a second switching request to the host, The host further includes a third subsystem switching submodule used to switch the first BIOS subsystem to the second BIOS subsystem in accordance with a second switching request.

[0325] Optionally, the device is If the switching trigger condition is an automatic switching trigger, a second execution entity confirmation submodule is used to determine the execution entity corresponding to the automatic switching trigger, If the execution entity is a BMC control chip, a third transmission submodule used by the BMC control chip to send a third switching request to the host, The host further includes a third switching submodule used to switch the first BIOS subsystem to the second BIOS subsystem in accordance with a third switching request.

[0326] Optionally, the device is If the execution entity is the host, it further includes a fourth switching submodule used by the host to switch the first BIOS subsystem to the second BIOS subsystem.

[0327] Optionally, the subsystem determination module is: A first subsystem verification submodule is used to determine that the BIOS subsystem used for data access is the second BIOS subsystem, if the value of the flag register is a first preset value, A second subsystem verification submodule is used to determine that the BIOS subsystem used for data access is the first BIOS subsystem, if the value of the flag register is a second preset value. The system further includes a third subsystem verification submodule used to determine that the BIOS subsystem used for data access is the first BIOS subsystem, if the value of a flag register is a third preset value.

[0328] Optionally, the device is If the value of the flag register is a second preset value, a third data refresh submodule is used by the BMC control chip to refresh the second BIOS subsystem, When the refresh of the second BIOS subsystem is complete, a fourth transmission submodule is used by the BMC control chip to send a fourth switching request to the host, The host further includes a fourth switching submodule used to switch the second BIOS subsystem to the first BIOS subsystem in accordance with a fourth switching request.

[0329] Optionally, the device is If the value of the flag register is a third preset value, a fourth data refresh submodule is used by the host to refresh the second BIOS subsystem, When the refresh of the second BIOS subsystem is complete, a fifth switching submodule is used by the host to switch the second BIOS subsystem back to the first BIOS subsystem, It further includes a third register value setting submodule used to change the value of a flag register to a first preset value.

[0330] Optionally, the device is If the host is functioning correctly, a first data reading module is used to read system data from the first BIOS subsystem, A second data reading module used to read system data of the second BIOS subsystem, A data verification module used to perform data verification on the system data of the first BIOS subsystem and the system data of the second BIOS subsystem, The system further includes a data synchronization module used to synchronize the system data of the first BIOS subsystem with the system data of the second BIOS subsystem, depending on the data verification results.

[0331] Optionally, the data synchronization module is: When parameters of the first BIOS subsystem are changed, a first data synchronization submodule is used to synchronize and back up the changed parameters to the second BIOS subsystem, When the first BIOS subsystem performs a configuration retention refresh, a data writing submodule is used to write the configuration retention to the first BIOS subsystem, A second data synchronization submodule used to back up the system data of the first BIOS subsystem to the second BIOS subsystem, When the first BIOS subsystem performs data rollback synchronization, a third data synchronization submodule is used to read system data from the second BIOS subsystem, It includes a fourth data synchronization submodule used to synchronize the system data of a second BIOS subsystem with the first BIOS subsystem.

[0332] Optionally, the device is The system further includes a second subsystem switching module used to switch the first BIOS subsystem to the second BIOS subsystem if an abnormality occurs in the host's operation.

[0333] Based on the same inventive concept, several embodiments of the present application provide a system switching device. Referring to Figure 9, Figure 9 is a schematic diagram of a system switching device 900 proposed in several embodiments of the present application. As shown in Figure 9, the device is A switch trigger condition determination module 901 used to determine the switch trigger conditions that a dual BIOS system satisfies when the first BIOS subsystem is operating, wherein the switch trigger conditions are a manual switch trigger, an automatic switch trigger, dual A toggle trigger condition determination module 901, including a BIOS refresh trigger, It includes a system switching flow execution module 902 used to execute a corresponding subsystem switching flow in response to a switching trigger condition.

[0334] Optionally, the system switching flow execution module is: When the switching trigger condition is a manual switching trigger, a manual switching submodule is used by a complex programmable logic device to control the switch to switch the first BIOS subsystem to the second BIOS subsystem, The BMC control chip includes a first shutdown operation submodule used to control the execution of the shutdown operation in a dual BIOS system, A first data determination submodule used to determine the current value of the flag register, It includes a first turn-on boot submodule used to perform turn-on boot using a second BIOS subsystem if the value of the flag register is not a first preset value.

[0335] Optionally, the system switching flow execution module is: When the switching trigger condition is an automatic switching trigger, the BMC control chip is used to send a subsystem switching request command to a complex programmable logic device, and The BMC control chip is a second shutdown operation submodule used to control the execution of the shutdown operation in a dual BIOS system, A complex programmable logic device includes an auto-switching execution submodule used to control the switch to switch from the first BIOS subsystem to the second BIOS subsystem when it receives a subsystem switching request command, Determine the current value of the flag register, The system further includes a second numerical determination submodule used to perform turn-on startup using a second BIOS subsystem if the value of the flag register is not a first preset value.

[0336] Optionally, the system switching flow execution module is: The switching trigger condition is dual In the case of a BIOS refresh trigger, a numeric setting submodule is used to set the value of the flag register to a first preset value, The BMC control chip includes a first instruction sending submodule used to send subsystem switching request instructions to complex programmable logic devices, The BMC control chip includes a third shutdown operation submodule used to control the shutdown operation of the dual BIOS system, The complex programmable logic device includes a first refresh switch execution submodule used to control the switch to switch from a first BIOS subsystem to a second BIOS subsystem, A third numerical determination submodule used to obtain the value of the flag register, If the value of the flag register is a first preset value, the complex programmable logic device is an access subject switching submodule used to control the switch to switch the access subject of a dual BIOS system from the host to the BMC control chip, The BMC control chip includes a first subsystem refresh submodule used to refresh the second BIOS subsystem, When the refresh of the second BIOS subsystem is complete, the BMC control chip uses a second instruction sending submodule, which is used to send subsystem switching request instructions to complex programmable logic devices, A complex programmable logic device includes a second refresh switch execution submodule used to control the switch to switch the second BIOS subsystem to the first BIOS subsystem when a subsystem switch is received, The BMC control chip includes a second subsystem refresh submodule used to refresh the first BIOS subsystem, When the refresh of the first BIOS subsystem is complete, a numeric clear submodule is used to clear the values ​​of the flag registers, The complex programmable logic device includes a second access principal switching submodule used to control the switch in a dual BIOS system from the BMC control chip to the host, The dual BIOS system further includes a third turn-on boot submodule used to perform turn-on boot using a first BIOS subsystem.

[0337] Based on the same inventive concept, several other embodiments of the present application provide a non-volatile readable storage medium in which a computer program is stored that, when executed by a processor, realizes the steps of the system switching method described in several embodiments of the present application.

[0338] Based on the same inventive concept, several other embodiments of the present application provide electronic equipment, and as shown in Figure 10, Figure 10 is a schematic diagram of electronic equipment 1000 proposed in several embodiments of the present application, which includes memory 1002, a processor 1001, and a computer program stored in memory and operable on the processor, the processor executing this computer program to realize the steps of the system switching method of several embodiments of the present application.

[0339] Some embodiments of the apparatus are substantially similar to some embodiments of the method, so their description is relatively simple; relevant points should be referred to the description of some embodiments of the method.

[0340] All examples in this specification are described step by step, with each example focusing on its differences from other examples, and similar or identical parts between examples should be referred to from one another.

[0341] Those skilled in the art will understand that some embodiments of the present application may be provided as methods, apparatus, or computer program products. Accordingly, some embodiments of the present application may take the form of complete hardware embodiments, complete software embodiments, or embodiments combining software and hardware aspects. Furthermore, some embodiments of the present application may take the form of computer program products implemented on one or more computer-available non-volatile readable storage media (including, but not limited to, magnetic disk storage, CD-ROMs, optical memory, etc.) containing computer-available program code.

[0342] Some embodiments of the present application will be described with reference to flowcharts and / or block diagrams of methods, terminal devices (systems), and computer program products relating to some embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and combinations of flows and / or blocks in the flowcharts and / or block diagrams, can be realized by computer program instructions. These computer program instructions are provided to the processor of a general-purpose computer, a dedicated computer, an embedded processor, or other programmable data processing terminal device, and the computer or other programmable data processing terminal device processor can generate means for realizing one or more flows in a flowchart and / or one or more blocks in a block diagram.

[0343] These computer program instructions may also be stored in computer-readable memory that can operate a computer or other programmable data processing terminal device in a particular way, thereby generating a product that includes instruction means to implement a function specified in one or more flows of a flowchart and / or one or more blocks of a block diagram.

[0344] These computer program instructions may be loaded into a computer or other programmable data processing terminal device, thereby executing a series of operational steps on the computer or other programmable terminal device to generate computer implementation processing, and the instructions executed on the computer or other programmable terminal device provide steps to realize one or more flows in a flowchart and / or one or more blocks in a block diagram.

[0345] While preferred embodiments of the embodiments of this application have been described, those skilled in the art, knowing the basic creative concepts, can make additional changes and modifications to these embodiments. Therefore, the appended claims are intended to be construed as encompassing all changes and modifications that fall within the scope of the preferred embodiments and embodiments of this application.

[0346] Finally, it should be noted that, in this specification, relational terms such as those in the first and second are used merely to distinguish one entity or operation from another, and do not necessarily require or imply that such an actual relationship or order exists between these entities or operations. Furthermore, the terms “includes,” “composes,” or any other variation thereof are intended to include non-exclusive inclusion such that a process, method, article, or terminal device containing a set of elements also includes other elements not expressly described, or elements specific to such a process, method, article, or terminal device. Unless further limited, an element limited by the phrase “includes…” does not preclude the presence of other identical elements in a process, method, article, or terminal device containing that element.

[0347] The system switching method, apparatus, equipment, and non-volatile readable storage medium described above have been explained in detail. While this specification has used specific examples to explain the principles and embodiments of the present application, the above descriptions of embodiments are merely intended to aid in understanding the method and core concept of the present application. Furthermore, those skilled in the art will recognize that there are modifications in specific embodiments and scope of application based on the concept of the present application, and therefore, the contents of this specification should not be understood as limitations on the present application.

Claims

1. A first BIOS chip used to operate the first BIOS subsystem, A second BIOS chip used to operate the second BIOS subsystem, A BMC chip used to run the BMC program, A BMC control chip is used to control the BMC chip and the second BIOS chip, and is connected to the BMC chip and the second BIOS chip. A dual BIOS system characterized by a platform controller hub used to control the first BIOS chip and the BMC control chip, connected to the first BIOS chip via a first bus and connected to the BMC control chip via a second bus, wherein the first bus and the second bus are connected and the platform controller hub is connected to the CPU.

2. The dual BIOS system according to claim 1, wherein the access entities of the dual BIOS system include a host and the BMC control chip, and the host and the BMC control chip perform interactive access by transmitting commands.

3. The BMC control chip refreshes the data in the subsystem of the first BIOS chip, and then sends a subsystem switching request command to the host. When the host receives the subsystem switching request command, it switches the first BIOS subsystem to the second BIOS subsystem. When the first BIOS subsystem is switched to the second BIOS subsystem, the BMC control chip refreshes the second BIOS subsystem in the second BIOS chip. When the refresh of the second BIOS subsystem in the second BIOS chip is completed, the BMC control chip sends a subsystem switching request command to the host. The dual BIOS system according to claim 2, characterized in that when the host receives the subsystem switching request command, it switches the second BIOS subsystem to the first BIOS subsystem.

4. After refreshing the data in the subsystem of the first BIOS chip, the host switches the first BIOS subsystem to the second BIOS subsystem. When the first BIOS subsystem is switched to the second BIOS subsystem, the host refreshes the second BIOS subsystem on the second BIOS chip. The dual BIOS system according to claim 2, characterized in that when the refresh of the second BIOS subsystem in the second BIOS chip is completed, the host switches the second BIOS subsystem to the first BIOS subsystem.

5. When the BMC control chip receives a subsystem switching command, it sends a subsystem switching request command to the host. The dual BIOS system according to claim 2, characterized in that when the host receives the subsystem switching request command, it switches the first BIOS subsystem to the second BIOS subsystem.

6. The dual BIOS system according to claim 2, characterized in that when the host actively switches subsystems, the first BIOS subsystem is switched to the second BIOS subsystem.

7. If the BMC control chip detects an operating system startup failure, it sends a subsystem switching request command to the host. The dual BIOS system according to claim 2, characterized in that when the host receives the subsystem switching request command, it switches the first BIOS subsystem to the second BIOS subsystem.

8. If the host is functioning correctly, it will read the data in the first BIOS chip. The host sends a data read command to the BMC control chip. When the BMC control chip receives the data read command, it transmits the data from the second BIOS chip to the host. The host performs data verification on the data in the first BIOS chip and the data in the second BIOS chip. The dual BIOS system according to claim 2, characterized in that the host performs data synchronization with the first BIOS chip and the second BIOS chip according to the data verification results.

9. Applicable to the dual BIOS system described in claim 1, When the first BIOS subsystem is operating, the step is to determine whether a subsystem switchover is necessary, If subsystem switching is required, the step of determining the switching trigger conditions that the dual BIOS system satisfies, wherein the switching trigger conditions include a refresh trigger, an automatic switching trigger, and a manual switching trigger for the dual BIOS data. The steps include switching the currently operating first BIOS subsystem to the second BIOS subsystem using a corresponding switching method in accordance with the switching trigger condition, When the first BIOS subsystem is switched to the second BIOS subsystem, the steps include obtaining the value of the flag register, The steps include determining the BIOS subsystem used for data access from the value of the aforementioned flag register, A system switching method characterized by comprising the step of performing data access using the BIOS subsystem.

10. The step of switching the currently operating first BIOS subsystem to the second BIOS subsystem by a corresponding switching method in accordance with the switching trigger condition is as follows: If the switching trigger condition is a refresh trigger for the data of the dual BIOS, the steps include determining the entity that will refresh the first BIOS subsystem, If the executing entity is a BMC control chip, the BMC control chip sends a first switching request to the host. The method according to 9, wherein the host includes the step of switching the first BIOS subsystem to the second BIOS subsystem in accordance with the first switching request.

11. Before the BMC control chip sends the first switching request to the host, the method, The BMC control chip refreshes the data in the subsystem of the first BIOS. The method according to 10, further comprising the step of setting the value of the flag register to a second preset value.

12. The aforementioned method, The method according to 10, further comprising the step of switching the first BIOS subsystem to the second BIOS subsystem by the host when the executing entity is the host.

13. Before the host switches the first BIOS subsystem to the second BIOS subsystem, the method, The steps include refreshing the data in the subsystem of the first BIOS using the host, The method according to 12, further comprising the step of setting the value of the flag register to a third preset value.

14. The aforementioned method, If the switching trigger condition is the manual switching trigger, the BMC control chip receives a subsystem switching command. The BMC control chip sends a second switching request to the host, The method according to 9, further comprising the step of the host switching the first BIOS subsystem to the second BIOS subsystem in accordance with the second switching request.

15. The aforementioned method, If the switching trigger condition is the automatic switching trigger, the steps include determining the execution entity corresponding to the automatic switching trigger, If the executing entity is a BMC control chip, the BMC control chip sends a third switching request to the host. The method according to 9, further comprising the step of the host switching the first BIOS subsystem to the second BIOS subsystem in accordance with the third switching request.

16. The aforementioned method, The method according to 15, further comprising the step of switching the first BIOS subsystem to the second BIOS subsystem by the host when the executing entity is the host.

17. The step of determining the BIOS subsystem used for data access from the value of the flag register is: If the value of the flag register is a first preset value, the step of determining that the BIOS subsystem used for data access is the second BIOS subsystem, If the value of the flag register is a second preset value, the step of determining that the BIOS subsystem used for data access is the first BIOS subsystem, The method according to 9, comprising the step of determining that the BIOS subsystem used for data access is the first BIOS subsystem if the value of the flag register is a third preset value.

18. A computer-readable storage medium in which a computer program is stored, wherein the computer program, when executed by a processor, realizes a step of the method according to any one of claims 9 to 17.

19. An electronic device comprising memory, a processor, and a computer program stored in the memory and operable on the processor, wherein the processor, upon executing the computer program, realizes a step according to any one of claims 9 to 17.

Citation Information

Patent Citations

  • Method and device for controlling dual bios

    JP2003316582A

  • Information processing apparatus and firmware updating method of the same

    JP2011145910A