Basic input / output system data reply method and operation device thereof
By setting priority and backup storage blocks in the computing device, and automatically switching and updating configuration data, the problem of boot failure caused by BIOS data corruption is solved, and the normal startup of the computing device and remote data repair are realized.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- MITAC COMP (SHUN DE) LTD
- Filing Date
- 2024-11-27
- Publication Date
- 2026-06-02
AI Technical Summary
In existing technologies, when the Basic Input/Output System (BIOS) data in non-volatile memory (NVRAM) is corrupted, it cannot be repaired in a timely manner, causing the computer to fail to boot normally. Furthermore, existing methods require the NVRAM to be removed and read on-site, making remote repair impossible.
The system employs two storage blocks in the computing device: one as a priority storage block and the other as a backup storage block. The processor executes a self-test program to determine faults and switch configuration data to ensure data consistency. Damaged data is then transmitted to the board management controller for remote repair.
It enables automatic and timely repair of configuration data when BIOS data is corrupted, avoiding boot failures caused by BIOS data corruption, and supports remote data analysis and repair to ensure the normal startup of the computing device.
Smart Images

Figure CN122132226A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a data recovery method, and more particularly to a data recovery method for a basic input / output system. Background Technology
[0002] When the Basic Input / Output System (BIOS) data stored in non-volatile random-access memory (NVRAM) is corrupted, the computer will fail to boot. Most current computer hardware is equipped with a Root of Trust (RoT) architecture, meaning external components cannot easily read the corrupted BIOS data from the NVRAM by switching the Enhanced Serial Peripheral Interface (eSPI) bus channel. Engineers often have to physically remove the NVRAM and use tools to read the data, making it impossible to repair the corrupted BIOS data in a timely manner.
[0003] Therefore, how to promptly repair corrupted BIOS data has become one of the issues that related technical fields seek to address. Summary of the Invention
[0004] Therefore, the object of the present invention is to provide a basic input / output system data recovery method that overcomes at least one drawback of the prior art.
[0005] Therefore, the basic input / output system data recovery method provided by the present invention is applicable to a computing device. The computing device includes a processor, a baseboard management controller, and two memory blocks. Each memory block stores configuration data for a basic input / output system, with one of the memory blocks serving as a priority memory block and the other as a backup memory block. The basic input / output system data recovery method is executed using the processor and includes the following steps: (A) obtaining the configuration data of the priority storage block; (B) executing a power-on self-test procedure based on the configuration data of the priority storage block and determining whether a fault occurs during the process; (C) restarting the computing device when a fault is determined to have occurred during the execution of the power-on self-test procedure based on the configuration data of the priority storage block; (D) obtaining the configuration data of the backup storage block; (E) executing a power-on self-test procedure based on the configuration data of the backup storage block and determining whether a fault occurs during the process; (F) transmitting corrupted data including the configuration data of the priority storage block to the board management controller when no fault is determined to have occurred during the execution of the power-on self-test procedure based on the configuration data of the backup storage block; and (G) updating the configuration data of the priority storage block based on the configuration data of the backup storage block so that the configuration data in the storage blocks are identical.
[0006] Specifically, prior to step (A), the following steps are included: (H) using the storage block that was previously used as the backup storage block as the priority storage block for this use, and using the other storage block that was previously used as the priority storage block as the backup storage block for this use.
[0007] Specifically, after step (B), the following steps are also included: (I) when it is determined that no fault has occurred during the execution of the power-on self-test procedure based on the configuration data of the priority storage block, the configuration data of the backup storage block is updated based on the configuration data of the priority storage block so that the configuration data in the storage blocks are the same.
[0008] Specifically, the computing device further includes a default storage block storing default configuration data of the basic input / output system, and after step (E), it further includes the following steps: (K) when it is determined that a fault has occurred during the execution of the power-on self-test procedure based on the configuration data of the backup storage block, the default configuration data of the default storage block is obtained, and the configuration data is updated according to the default configuration data so that the configuration data is the same as the default configuration data.
[0009] The present invention also provides a computing device for data recovery of a basic input / output system, comprising: a baseboard management controller, a storage module, and a processor. The storage module includes two storage blocks, each storing configuration data of a basic input / output system, one of which serves as a priority storage block for first use, and the other as a backup storage block for backup use. The processor is connected to the baseboard management controller and the storage module, and is used to obtain the configuration data of the priority storage block. A power-on self-test procedure is executed based on the configuration data of the priority storage block, and a fault is determined during the process. If a fault is determined during the execution of the power-on self-test procedure based on the configuration data of the priority storage block, a restart procedure is executed to obtain the configuration data of the backup storage block. A power-on self-test procedure is executed based on the configuration data of the backup storage block, and a fault is determined during the process. If no fault is determined during the execution of the power-on self-test procedure based on the configuration data of the backup storage block, corrupted data including the configuration data of the priority storage block is transmitted to the board management controller, and the configuration data of the priority storage block is updated based on the configuration data of the backup storage block so that the configuration data in these storage blocks are the same.
[0010] Specifically, the processor uses the storage block that was previously used as the backup storage block as the priority storage block for this use, and uses the other storage block that was previously used as the priority storage block as the backup storage block for this use.
[0011] Specifically, when it is determined that no fault occurred during the execution of the power-on self-test procedure based on the configuration data of the priority storage block, the processor updates the configuration data of the backup storage block based on the configuration data of the priority storage block so that the configuration data in the storage blocks are the same.
[0012] Specifically, the storage module also includes a storage block as a default storage block, which stores default configuration data of the basic input / output system; and when a fault is determined to occur during the execution of a power-on self-test procedure based on the configuration data of the backup storage block, the processor obtains the default configuration data of the default storage block and updates the configuration data according to the default configuration data so that the configuration data is the same as the default configuration data.
[0013] Compared with existing technologies, the basic input / output system data recovery method and its computing device of the present invention, by storing configuration data in several storage blocks, allows the computing device to be started using the configuration data of the backup storage block even when the computing device cannot be started using the configuration data of the priority storage block, thereby avoiding the situation where the computer cannot boot normally due to BIOS data corruption. Secondly, by updating the configuration data of the priority storage block according to the configuration data of the backup storage block when the power-on self-test program is successfully executed using the configuration data of the backup storage block, each storage block can store the configuration data of the most recent successful startup of the computing device. Finally, by transmitting the corrupted data to the board management controller, engineers can promptly obtain the corrupted data from the board management controller via the network for analysis and repair. Attached Figure Description
[0014] Other features and effects of the present invention will be clearly presented in the embodiments with reference to the accompanying drawings, wherein:
[0015] Figure 1 This is a block diagram illustrating, exemplarily, a computing device used in an embodiment of the basic input / output system data recovery method of the present invention; and
[0016] Figure 2 This is a flowchart illustrating, by way of example, how a processor of the computing device in this embodiment responds to configuration data of a basic input / output system. Detailed Implementation
[0017] Before the invention is described in detail, it should be noted that similar elements are represented by the same numbers in the following description.
[0018] See Figure 1 and Figure 2 An embodiment of the basic input / output system data recovery method of the present invention is applicable to a computing device 1. The computing device 1 includes a storage module 11, a baseboard management controller 12, and a processor 13.
[0019] The storage module 11 includes three storage blocks: a priority storage block 111 for primary use, a backup storage block 112 for backup use, and a default storage block 113. Each of the priority storage block 111 and the backup storage block 112 stores configuration data for a basic input / output system. The default storage block 113 stores default configuration data for the basic input / output system at the time of manufacture. In this embodiment, the storage module 11 is implemented, for example, as NVRAM.
[0020] The processor 13 is connected to the storage module 11 and the baseboard management controller 12. The detailed operation of the processor 13 will be explained below.
[0021] The following will be referred to Figure 2 This section details how the processor 13 executes each step of this embodiment when the computing device 1 is started.
[0022] In step S201, the processor 13 obtains the configuration data of the priority storage block 111.
[0023] In step S202, the processor 13 executes a Power-On Self-Test (POST) program based on the configuration data of the priority storage block 111, and the computing device 1 determines whether a fault occurs during the process. More specifically, the computing device 1 monitors the POST program execution process using a watchdog timer (WDT) mechanism. When it is determined that no fault occurs during the execution of the POST program based on the configuration data of the priority storage block 111, the power-on is considered successful, and the process proceeds to step S203; when it is determined that a fault occurs during the execution of the POST program based on the configuration data of the priority storage block 111, the power-on is considered to have failed, and the process proceeds to step S204. In detail, before the processor 13 starts executing the POST based on the configuration data of the priority storage block 111, it notifies or synchronously notifies the board management controller 12 to trigger the board management controller 12 to start a watchdog timer (not shown) to start timing a default power-on time. If the baseboard management controller 12 receives a successful boot notification from the processor 13 via the BIOS before the watchdog timer reaches the default boot time, the baseboard management controller 12 determines that the boot is successful and proceeds to step S203. Conversely, if the baseboard management controller 12 has not received the successful boot notification from the processor 13 via the BIOS before the watchdog timer reaches the default boot time, the baseboard management controller 12 determines that the boot is unsuccessful and proceeds to step S204.
[0024] In step S203, the processor 13 updates the configuration data of the backup storage block 112 according to the configuration data of the priority storage block 111, so that the configuration data in the priority storage block 111 and the backup storage block 112 are the same, thereby ensuring that both the priority storage block 111 and the backup storage block 112 store the configuration data of the most recent successful startup of the computing device 1. Afterwards, the computing device 1 loads the operating system or enters the basic input / output system settings screen.
[0025] In step S204, the processor 13 restarts the computing device 1. Specifically, the baseboard management controller 12 triggers the computing device 1 to restart based on the power-on failure determination result. In one embodiment, the baseboard management controller 12 controls a system power switch (not shown) supplying power to the computing device 1 to cut off and then restore power; in another embodiment, the baseboard management controller 12 controls a power management controller (not shown) to cut off and then restore power to the computing device 1 to restart it, or the baseboard management controller 12 sends a reset signal to the processor 13 to trigger the processor 13 to reset, so that the processor 13 reloads and executes the BIOS program to re-perform the POST process.
[0026] In step S205, after restarting, the processor 13 obtains the configuration data of the backup storage block 112.
[0027] In step S206, the processor 13 executes the POST procedure based on the configuration data of the backup storage block 112, and the computing device 1 determines whether a fault has occurred during the process. Similarly, this step can also be implemented using the WDT mechanism. Specifically, before the processor 13 starts executing the power-on self-test based on the configuration data of the backup storage block 112, it notifies or synchronously notifies the baseboard management controller 12 to trigger the baseboard management controller 12 to start the watchdog timer and begin counting the default power-on time. If the baseboard management controller 12 receives a successful boot notification from the processor 13 via the BIOS before the watchdog timer reaches the default boot time, the baseboard management controller 12 determines that no fault occurred during the boot self-test process based on the configuration data of the backup storage block 112. In other words, the baseboard management controller 12 determines that the boot was successful and proceeds to step S207. Conversely, if the baseboard management controller 12 has not received a successful boot notification from the processor 13 via the BIOS before the watchdog timer reaches the default boot time, the baseboard management controller 12 determines that a fault occurred during the boot self-test process based on the configuration data of the backup storage block 112. In other words, the baseboard management controller 12 determines that the boot failed and proceeds to step S209.
[0028] In step S207, at this time, before the computing device 1 successfully boots up according to the configuration data of the backup storage block 112, it has experienced at least one instance of booting up according to the configuration data of the priority storage block 111, resulting in a failure and restarting the computing device 1. Therefore, the configuration data currently stored in the priority storage block 111 is the configuration data that caused the computing device 1 to fail to boot up. Therefore, the processor 13 transmits corrupted data including the current configuration data of the priority storage block 111 to the substrate management controller 12 to prevent the configuration data currently stored in the priority storage block 111 that caused the computing device 1 to fail to boot up from being lost or overwritten or modified by other data. This also helps to automatically, in real time and securely retain it, so that engineers can promptly obtain the corrupted data in the substrate management controller 12 via the network for analysis and repair, without having to go to the site to read the corrupted configuration data in the priority storage block 111.
[0029] In step S208, the processor 13 updates the configuration data of the priority storage block 111 according to the configuration data of the backup storage block 112, so that the configuration data in the priority storage block 111 is the same as those in the backup storage block 112. Afterwards, the computing device 1 loads the operating system or enters the basic input / output system settings screen.
[0030] In step S209, the processor 13 obtains the default configuration data of the default storage block 113 and updates the configuration data according to the default configuration data so that the configuration data is the same as the default configuration data. More specifically, the processor 13 restores the factory defaults of the priority storage block 111 and the backup storage block 112 by turning off the battery (not shown) that powers the CMOS cache (not shown), that is, overwriting the configuration data in the priority storage block 111 and the backup storage block 112 with the default configuration data. The purpose of this step is to ensure that even if the configuration data in the priority storage block 111 and the backup storage block 112 are corrupted, the configuration data can still be temporarily restored with the default configuration data, so that the processor 13 can successfully execute the POST program with the default configuration data and load the operating system smoothly when the computing device 1 restarts later, without causing the computing device 1 to crash.
[0031] In step S210, the processor 13 restarts the computing device 1, and the process returns to step S201.
[0032] It is worth mentioning that each time the computing device 1 is started, the processor 13 uses the storage block that was previously used as the backup storage block 112 as the priority storage block 111 for the current use, and uses the other storage block that was previously used as the priority storage block 111 as the backup storage block 112 for the current use.
[0033] In summary, by storing the configuration data in the priority storage block 111 and the backup storage block 112 respectively, the configuration data in the backup storage block 112 can still be used to start the computing device 1 when the configuration data in the priority storage block 111 fails to start it, thereby avoiding the situation where the computer cannot boot normally due to BIOS data corruption. Secondly, when the POST procedure is successfully executed using the configuration data of one of the priority storage blocks 111 and the backup storage block 112, the configuration data of the other storage block is updated according to the configuration data of the storage block where the POST procedure was successfully executed, so that both the priority storage block 111 and the backup storage block 112 can store the configuration data of the most recent successful startup of the computing device 1. Finally, by transmitting the corrupted data to the board management controller 12, the configuration data that caused the boot failure is automatically saved, allowing engineers to promptly obtain the corrupted data in the board management controller 12 via the network for analysis and repair. Therefore, the purpose of this invention can indeed be achieved.
[0034] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A basic input / output system (PIS) data recovery method, applicable to a computing device, the computing device comprising a processor, a baseboard management controller, and two memory blocks, each memory block storing configuration data of a basic input / output system, one of the memory blocks serving as a priority memory block for use, and the other serving as a backup memory block for use, the basic input / output system data recovery method being executed using the processor, characterized in that... And includes the following steps: (A) Obtain the configuration data for the preferred storage block; (B) Execute the power-on self-test procedure based on the configuration data of the priority storage block, and determine whether a fault occurs during the process; (C) When a fault is determined to have occurred during the execution of the power-on self-test procedure based on the configuration data of the priority storage block, the computing device is restarted; (D) Obtain the configuration data for the backup storage block; (E) Execute the power-on self-test procedure based on the configuration data of the backup storage block, and determine whether a fault occurs during the process; (F) When it is determined that no fault occurred during the power-on self-test procedure performed based on the configuration data of the backup storage block, corrupted data including the configuration data of the priority storage block is transmitted to the board management controller; and (G) Update the configuration data of the priority storage block according to the configuration data of the backup storage block so that the configuration data in the storage blocks are the same.
2. The basic input / output system data recovery method according to claim 1, characterized in that, Prior to step (A), the following steps are also included: (H) The storage block that was previously used as the backup storage block is used as the priority storage block for this use, and the other storage block that was previously used as the priority storage block is used as the backup storage block for this use.
3. The basic input / output system data recovery method according to claim 1, characterized in that, Following step (B), the following steps are also included: (I) When it is determined that no fault occurred during the execution of the power-on self-test procedure based on the configuration data of the priority storage block, the configuration data of the backup storage block is updated based on the configuration data of the priority storage block so that the configuration data in the storage blocks are the same.
4. The basic input / output system data recovery method according to claim 1, characterized in that, The computing device also includes a default storage block storing default configuration data of the basic input / output system, and after step (E), it further includes the following steps: (K) When a fault is detected during the execution of the power-on self-test procedure based on the configuration data of the backup storage block, the default configuration data of the default storage block is obtained, and the configuration data is updated based on the default configuration data so that the configuration data is the same as the default configuration data.
5. A computing device for data recovery in a basic input / output system, characterized in that, Include: One baseboard management controller; A storage module includes two storage blocks, each storing configuration data for a basic input / output system. One of these storage blocks serves as a priority storage block, and the other as a backup storage block. A processor, connected to the baseboard management controller and the storage module, is used to obtain the configuration data of the priority storage block. The power-on self-test procedure is executed based on the configuration data of the priority storage block, and it is determined whether a fault occurs during the process. If a failure is detected during the execution of the power-on self-test procedure based on the configuration data of the priority storage block, a restart procedure will be executed. Obtain the configuration data for this backup storage block. Based on the configuration data of the backup storage block, a power-on self-test procedure is executed to determine whether a fault occurs during the process. When it is determined that no fault occurred during the power-on self-test procedure performed based on the configuration data of the backup storage block, corrupted data including the configuration data of the priority storage block is transmitted to the baseboard management controller. The configuration data of the priority storage block is updated based on the configuration data of the backup storage block to make the configuration data in the storage blocks identical.
6. The arithmetic device for data recovery in a basic input / output system according to claim 5, characterized in that, The processor uses the storage block that was previously used as the backup storage block as the priority storage block for this use, and uses the other storage block that was previously used as the priority storage block as the backup storage block for this use.
7. The arithmetic device for data recovery in a basic input / output system according to claim 5, characterized in that, When it is determined that no fault occurred during the execution of the power-on self-test procedure based on the configuration data of the priority storage block, the processor updates the configuration data of the backup storage block based on the configuration data of the priority storage block so that the configuration data in the storage blocks are the same.
8. The arithmetic device for data recovery in a basic input / output system according to claim 5, characterized in that, The storage module also includes a storage block that serves as a default storage block, which stores default configuration data for the basic input / output system; and When a fault is detected during the execution of the power-on self-test procedure based on the configuration data of the backup storage block, the processor obtains the default configuration data of the default storage block and updates the configuration data accordingly to make the configuration data the same as the default configuration data.