A method for updating a data protection block and an electronic device

By determining the startup stage and block priority after BIOS update and updating the data protection blocks step by step, the problem of not being able to boot after BIOS update is solved, complete updates and user data protection are achieved, and the update success rate is improved.

CN113849818BActive Publication Date: 2025-07-22LENOVO (BEIJING) LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111085646.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-16
Publication Date
2025-07-22
Estimated Expiration
2041-09-16

AI Technical Summary

Technical Problem

During the BIOS update process, the problem that the BIOS cannot be turned on normally after the update is due to the difference in data protection blocks, and the existing technology is difficult to effectively solve.

Method used

By determining the current startup stage after the BIOS update, the data protection blocks are selected step by step based on the priority of the startup stage and data protection blocks, including low-priority, second-low-priority and high-priority blocks, and forced updates are made using self-repair, emergency rescue and system push paths.

Benefits of technology

Ensure that all data blocks are fully updated during the BIOS update process, avoid the problem of BIOS not being able to boot due to differences in protected blocks, maximize the data set by users, and improve the update success rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113849818B_ABST
    Figure CN113849818B_ABST
Patent Text Reader

Abstract

The present application provides a method for updating a data protection block, and the method includes: after the basic input / output system is updated, if the basic input / output system fails to start, determining the current startup phase of the basic input / output system; and selecting at least one data protection block for updating the basic input / output system according to the current startup phase. Meanwhile, the present application also provides an electronic device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technology for updating the Basic Input Output System (BIOS), and particularly to a method for updating a data protection block and an electronic device. Background Art

[0002] During the update and upgrade process of the BIOS firmware (FW), for security and efficiency, certain data blocks are protected and these data blocks will not be updated together when the BIOS is updated. Usually, this is achieved by presetting the addresses of the data blocks to be protected in the BIOS code, so as to skip the writing of the corresponding addresses when the BIOS is updated. However, this update method brings some problems. For example, if the BIOS block distribution table (flash map) changes, there is a high probability that the BIOS will crash. Another example is that if the data block to be protected is accidentally damaged due to some hardware reason, the protection mechanism of the data block cannot be restored by software writing. Summary of the Invention

[0003] In view of this, embodiments of this application are expected to provide a method for updating a data protection block and an electronic device.

[0004] To achieve the above object, the technical solution of this application is implemented as follows:

[0005] According to one aspect of this application, a method for updating a data protection block is provided. The method includes:

[0006] After the Basic Input Output System is updated, if the Basic Input Output System fails to start, determine the current startup stage of the Basic Input Output System;

[0007] According to the current startup stage, select at least one data protection block of the Basic Input Output System to be updated.

[0008] In the above solution, the selection of updating at least one data protection block of the Basic Input Output System includes:

[0009] Based on the current startup stage and the priority of each data protection block, select the corresponding data protection block in the Basic Input Output System to be updated.

[0010] In the above solution, the method further includes:

[0011] According to the influence degree of each data protection block in the at least one data protection block on system startup and the association degree with user data, determine the priority of each data protection block;

[0012] Among them, the lower the level of the data protection block that has a greater impact on system startup;

[0013] The higher the level of the data protection block that has a stronger association with user data.

[0014] In the above solution, the determining of the current startup stage of the basic input / output system includes:

[0015] Receiving a startup stage notification sent by the basic input / output system, where the startup stage notification carries a current startup stage identifier;

[0016] Based on the startup stage identifier, determining the current startup stage of the basic input / output system.

[0017] In the above solution, the selecting and updating at least one protected data block of the basic input / output system according to the current startup stage includes:

[0018] If the current startup stage of the basic input / output system is the first stage, starting the basic input / output system from the self-repair path and forcibly updating the low-priority data protection blocks in the data protection blocks;

[0019] Or, if the current startup stage of the basic input / output system is the second stage, starting the basic input / output system from the emergency rescue path and forcibly updating the second-lowest-priority data protection blocks in the data protection blocks;

[0020] Or, if the current startup stage of the basic input / output system is the third stage, starting the basic input / output system with the current system push path; forcibly updating the high-priority data protection blocks in the data protection blocks;

[0021] Among them, the lower the level of the data protection block that has a greater impact on system startup;

[0022] The higher the level of the data protection block that has a stronger association with user data.

[0023] In the above solution, the starting of the basic input / output system from the self-repair path includes:

[0024] Starting the basic input / output system from the self-repair path using the backup configuration information of the first stage.

[0025] In the above solution, the method further includes:

[0026] Before forcibly updating the corresponding data protection block in the data protection blocks, sending a startup method notification of the corresponding stage to the basic input / output system;

[0027] If the basic input / output system successfully reads the startup method notification, force an update to the corresponding data protection block in the data protection block.

[0028] In the above solution, the method further includes:

[0029] If the basic input / output system starts successfully, save the update configuration information of all data blocks in the basic input / output system, where all data blocks include the data protection block;

[0030] Send the update configuration information of all data blocks in the basic input / output system to the server for other electronic devices of the same model to update their own basic input / output systems through the update configuration information.

[0031] According to another aspect of the present application, there is provided an electronic device, including:

[0032] A determination unit, configured to, after the basic input / output system is updated, if the basic input / output system fails to start, determine the current startup stage of the basic input / output system;

[0033] An update unit, configured to select at least one data protection block for updating the basic input / output system according to the current startup stage.

[0034] In the above solution, the electronic device can also execute any one of the update steps in the above method.

[0035] According to the third aspect of the present application, there is provided an electronic device, including:

[0036] An embedded controller, configured to receive a startup stage notification sent by the basic input / output system, and determine the current startup stage of the basic input / output system according to the startup stage identifier carried in the startup stage notification; and send a corresponding startup method notification to the basic input / output system according to the current startup stage;

[0037] The basic input / output system is configured to send a startup stage notification of the current startup to the embedded controller during the startup process of the basic input / output system, and receive the startup method notification sent by the embedded controller after the basic input / output system fails to start, and force an update to the corresponding data protection block of the basic input / output system based on the startup method notification.

[0038] In the above solution, the electronic device can execute any one of the update steps in the above method.

[0039] A method and an electronic device for updating a data protection block provided by the present application, after the basic input / output system is updated, if the basic input / output system fails to start, determine the current startup stage of the basic input / output system; according to the current startup stage, select at least one data protection block for updating the basic input / output system. In this way, the problem that the computer cannot start after the BIOS is updated due to the differences in the data protection blocks is solved. Here, the differences in the data protection blocks are mainly reflected in different update addresses of the data protection blocks. For example, for some BIOSs, the update addresses corresponding to the data protection blocks are A and B, for some BIOSs, the update addresses corresponding to the data protection blocks are B and C, and for some BIOSs, the update addresses corresponding to the data protection blocks are C and D. In such a case, when updating the BIOS, due to different update addresses of the data protection blocks in the BIOS, if the BIOS is updated according to the update address of a certain data protection block, it is easy to accidentally overwrite some data in the BIOS and some data is not written, resulting in the problem that the computer cannot start after the BIOS is updated. However, through the step-by-step update solution after grading the data protection blocks of the BIOS in the present application, even if the update addresses of the data protection blocks of the BIOS are different, the data protection blocks of the BIOS can be updated completely, and some data will not be accidentally overwritten, so that the computer can successfully enter the startup state after the BIOS is updated. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 Schematic diagram of the implementation of the method for updating the data protection block in the present application Figure 1 ;

[0041] Figure 2 Schematic diagram of the implementation of the method for updating the data protection block in the present application Figure 2 ;

[0042] Figure 3 Schematic diagram of sharing the update configuration information of the data protection block in the present application;

[0043] Figure 4 Schematic diagram of the structural composition of the electronic device in the present application Figure 1 ;

[0044] Figure 5 Schematic diagram of the structural composition of the electronic device in the present application Figure 2 。 DETAILED DESCRIPTION OF THE EMBODIMENTS

[0045] The technical solutions of the present application will be further described in detail below in conjunction with the accompanying drawings of the specification and specific embodiments.

[0046] Figure 1 Schematic diagram of the implementation of the method for updating the data protection block in the present applicationFigure 1 , such as Figure 1 shown, including:

[0047] Step 101, after the basic input / output system (BIOS) is updated, if the BIOS fails to start, determine the current startup stage of the BIOS;

[0048] In this application, this method can be applied to an electronic device, which can be a laptop, a server, a desktop computer, etc. In one embodiment, an embedded controller (EC), a central processing unit (CPU), and a BIOS are provided in the electronic device. -- Since certain data blocks in the BIOS are protected during the firmware update process of the BIOS for data security and update efficiency (hereinafter referred to as data protection blocks), and the data protection blocks will not be updated together with other data blocks (hereinafter referred to as data blocks) in the BIOS, after multiple data blocks (excluding data protection blocks) in the BIOS have completed the update action according to the preset configuration information, if the update action of the data protection block in the BIOS (including: system push update action, emergency rescue update action, self-repair update action, etc.) occurs, the multiple data blocks in the BIOS will remain unchanged and will not be updated anymore.

[0049] Further, after multiple data blocks of the BIOS are updated, the BIOS will automatically enter the BIOS startup program, and during the startup process of the BIOS, the BIOS will send a startup stage notification of the current startup stage to the EC or the CPU. After receiving the startup stage notification sent by the BIOS, the EC or the CPU can determine the current startup stage of the BIOS according to the startup stage identifier carried in the startup stage notification.

[0050] In one embodiment, during the startup process of the BIOS, the EC or the CPU can monitor the startup status of each data protection block in the BIOS. If the monitoring result indicates that the startup duration of the current startup stage is greater than the preset duration, it is determined that the BIOS startup fails. In the case of BIOS startup failure, the EC or the CPU can determine the current startup stage of the BIOS according to the startup stage identifier carried in the startup stage notification sent by the BIOS.

[0051] Specifically, the EC or the CPU can determine the current startup stage of the power-on self-test program (POST) in the BIOS according to the startup stage identifier carried in the startup stage notification sent by the BIOS.

[0052] For example, the current startup phase of the BIOS is the Pre-EFI (Extensible Firmware Interface) Initialization (PEI) phase. The preset duration for entering the next phase (such as the Driver Execution Environment (DXE) phase) from the PEI phase is 3 seconds. If the EC or CPU detects that the startup duration of the BIOS in the PEI phase has exceeded 3 seconds, it is determined that the startup of the current PEI phase of the BIOS has failed.

[0053] Step 102: Select at least one data protection block for updating the Basic Input / Output System according to the current startup phase.

[0054] In this application, the data protection blocks in the BIOS can be one or more. After the EC or CPU determines the current startup phase of the BIOS, it can select to update the data protection block corresponding to this startup phase in the BIOS.

[0055] In an embodiment, the EC or CPU can select to update the data protection block corresponding to the current startup phase in the BIOS according to the current startup phase and the corresponding relationship between each startup phase and the data protection block.

[0056] In this application, if the EC or CPU determines that the current startup phase of the BIOS is the first phase (such as the PEI phase) according to the startup phase identifier carried in the startup phase notification, it searches for the data protection block corresponding to the first phase (such as the PEI phase) (for example, the block responsible for managing the BIOS PEI driver) in the corresponding relationship table between each startup phase and the data protection block, and then updates the data protection block corresponding to the first phase from the self-repair path using the backup configuration information of the first phase. If the EC or CPU determines that the current startup phase of the BIOS is the second phase (such as the DXE phase) according to the startup phase identifier carried in the startup phase notification, it searches for the data protection block corresponding to the second phase (such as the DXE phase) (for example, the block responsible for managing the Electrically Erasable Programmable Read-Only Memory (EEPROM) and Non-Volatile Random Access Memory (NVRAM)) in the corresponding relationship table between each startup phase and the data protection block, and then updates the data protection block corresponding to the second phase from the emergency rescue path. In this way, by using the mapping table between each startup phase and the data protection block to update the data protection blocks of the BIOS, it is possible to clearly locate the data protection block where the update fails in case of a BIOS update failure, and avoid the problem that the BIOS cannot be successfully powered on after the update.

[0057] In one embodiment, the EC or the CPU grades all the data protection blocks in the BIOS according to the degree of influence of each data protection block on system startup and the degree of association between each data protection block and user data, so as to determine the priority of each data protection block. Then, based on the current startup stage of the BIOS and the priority of each data protection block, the EC or the CPU selects the data protection block corresponding to this startup stage in the BIOS for update. By grading and updating the data protection blocks step by step, this application will not cause the BIOS to miss the update of a certain data protection block during the update process, so that all data blocks including the data protection blocks in the BIOS can be updated, and thus the situation of non-booting due to differences in protection blocks will not occur.

[0058] Among them, the lower the level of the data protection block with a greater degree of influence on system startup; the higher the level of the data protection block with a stronger degree of association with user data. Here, the degree of influence on system startup can refer to whether the data protection block directly affects system startup or indirectly affects system startup. For example, if there are 4 data protection blocks in the BIOS that affect system startup, the earlier the data protection block, the greater the degree of influence on system startup, and the later the data protection block, the smaller the degree of influence on system startup. And the degree of association with user data can refer to the data protection block that will affect the user to make data changes.

[0059] In this application, if the EC or the CPU determines that the current startup stage of the BIOS is the first stage (such as the PEI stage) according to the startup stage identifier carried in the startup stage notification, then the BIOS is started from the self-repair path using the backup configuration information of the first stage, and the first startup status flag (such as InPEI) or startup mode notification corresponding to the first stage is sent to the BIOS. If the BIOS successfully reads the first startup status flag or startup mode notification after starting from the self-repair path, it enters the update process of the data protection block to forcibly update the low-priority data protection blocks (such as: BIOS PEI driver and other blocks) in the data protection block.

[0060] If the EC or CPU determines that the current boot stage of the BIOS is the second stage (such as the DXE or Boot Device Selection (BDS) stage) based on the boot stage identifier carried in the boot stage notification, the BIOS is booted from the emergency rescue path, and a second boot status flag (such as OutPEI) or boot mode notification corresponding to the second stage is sent to the BIOS. If the second boot status flag or boot mode notification is successfully read after the BIOS is booted from the emergency rescue path, the update process of the data protection block is entered to forcibly update the second lowest priority data protection block in the data protection block (such as blocks such as Electrically Erasable Programmable Read-Only Memory (EEPROM), Non-Volatile Random Access Memory (NVRAM), etc. When the BIOS updates the data protection blocks of EEPROM and NVRAM in the second stage, it first attempts to update the EEPROM data protection block and then attempts to update the NVRAM data protection block).

[0061] Here, if the PEI stage of the BIOS has been successfully booted, but has not entered the power-on stage, it means that the DXE stage or BDS stage of the BIOS has failed to boot. On the contrary, if it successfully enters the power-on stage, it means that the DXE stage or BDS stage of the BIOS has been booted, or it means that the power-on self-test program of the BIOS has been completed and the BIOS can enter the third stage.

[0062] If the EC or CPU determines that the current boot stage of the BIOS is the third stage based on the boot stage identifier carried in the boot stage notification, the BIOS is booted from the current system push path, and a third boot status flag (such as PostDone) or boot mode notification corresponding to the third stage is sent to the BIOS. If the third boot status flag or boot mode notification is successfully read after the BIOS is booted from the system push path, the flash update boot mode is entered to forcibly update the high priority data protection block in the data protection block (such as the Non-Volatile Random Access Memory (NVRAM) block. When updating the NVRAM data protection block in the third stage, it directly attempts to update the NVRAM data protection block).

[0063] Here, the lower the level of the data protection block with a greater impact on system boot; the higher the level of the data protection block with a stronger association with user data. Among them, the level of the data set by the user himself is higher than that of the system default user data.

[0064] Through the method for updating the data protection block provided by this application, the persistent problem that the BIOS cannot be powered on after the BIOS update due to the differences in the BIOS data protection blocks can be solved. Additionally, by grading the data protection blocks of the BIOS according to the degree of influence of each data protection block on system startup and the degree of association with user data, and in accordance with the priorities of each data protection block, first updating the data protection blocks with low priorities, then gradually updating the data protection blocks with the next lowest priorities, and finally updating the data protection blocks with high priorities, the data set by the user himself can be protected to the greatest extent possible. For example, for data security and confidentiality, the user will set the transmission permissions of the USB interface in the BIOS settings interface. If the BIOS update method in the prior art is used, due to the differences in the protection blocks, the parameters of the data protection block that the user has already set may be updated to the default values, so that the USB interface permissions set by the user are lost, thus losing the data set by the user himself. However, through the update solution of this application, the data set by the user himself can be retained to the greatest extent.

[0065] In this application, the EC or CPU can also save the update configuration information of all data blocks in the BIOS when the BIOS starts successfully, where all data blocks include each data protection block; and send the update configuration information of all data blocks in the BIOS to the server for other electronic devices of the same model to update their own BIOS through the update configuration information of all data blocks in the BIOS. In this way, the update success rate of other electronic devices during BIOS update can be improved.

[0066] In this application, when the BIOS fails to start due to the BIOS update message pushed by the system, the EC or CPU can also obtain the BIOS update configuration information uploaded by other electronic devices of the same model to the server from the server to update its own BIOS according to the obtained BIOS update configuration information.

[0067] In one embodiment, the BIOS update configuration information uploaded by other electronic devices of the same model to the server can be stored in the fine-tuning table of the server. When the EC or CPU requests the BIOS update configuration information from the server, it can specifically send a request to obtain the fine-tuning table to the server. If the server finds the fine-tuning table after receiving the request, it will send the fine-tuning table to the EC or CPU. After receiving the fine-tuning table sent by the server for the request, the EC or CPU updates its own BIOS based on the BIOS update configuration information stored in the fine-tuning table. In this way, in the case of a failed BIOS update for other electronic devices of the same model, there is no need to perform the above step-by-step update steps on the data protection block, but only need to obtain the BIOS configuration information of a successfully updated electronic device to achieve intelligent adjustment of the BIOS update. In this way, the success rate of the BIOS update can be improved, and the user experience of using the electronic device can be better.

[0068] In this application, when the BIOS fails to start with the BIOS update message pushed by the system, the EC or CPU can also receive the fine-tuning table pushed by the server, and the fine-tuning table stores the BIOS update configuration information uploaded by other electronic devices of the same model. The EC or CPU updates its own BIOS according to the BIOS update configuration information. In this way, through the BIOS update configuration information of one electronic device, other electronic devices of the same model can use the BIOS configuration information of the successfully updated electronic device to update their own BIOS. There is no need to perform the above step-by-step update steps on the data protection block in the case of a failed update of the data protection block of the BIOS, so that intelligent adjustment of the BIOS update can be achieved, the success rate of the BIOS update can be improved, and the user experience of using the electronic device can be better.

[0069] Figure 2 Schematic diagram for implementing the method flow of updating the data protection block in this application Figure 2 ; As Figure 2 shown, it includes:

[0070] Step 201, the device boots up for the first time after the BIOS update;

[0071] Step 202, determine whether the device boots up successfully; if it boots up successfully, execute step 203, if it boots up failed, execute step 204;

[0072] Step 203, clear the flag and boot normally;

[0073] Step 204, check the startup phase identifier in the startup failure phase;

[0074] Step 205: Determine whether the current stage of startup failure is in the first stage. If it is in the first stage, execute Step 206; if it is not in the first stage, execute Step 207;

[0075] Step 206: Start the BIOS from the self - repair path to forcibly update the low - priority data protection blocks in the data protection block; then execute Step 202;

[0076] For example, the first stage is the PEI stage, and the low - priority data protection block in the data protection block is the data protection block responsible for managing the PEI driver.

[0077] Step 207: Determine whether the current stage of startup failure is in the second stage. If it is in the second stage, execute Step 208; if it is not in the second stage, execute Step 202;

[0078] Step 208: Start the BIOS from the emergency rescue path to forcibly update the second - lowest - priority data protection blocks in the data protection block;

[0079] For example, the second stage is the DXE or BDS stage, and the second - lowest - priority data protection blocks in the data protection block are the protection blocks responsible for managing the Electrically Erasable Programmable Read - Only Memory (EEPROM) and Non - Volatile Random Access Memory (NVRAM). When the second - lowest - priority data protection blocks in the data protection block are the EEPROM and NVRAM data protection blocks, first attempt to update the EEPROM data protection block, and then attempt to update the NVRAM data protection block.

[0080] Step 209: Determine whether the current stage of startup failure is in the third stage. If it is in the third stage, execute Step 210; otherwise, execute Step 202;

[0081] Step 210: Start the BIOS from the system push path to forcibly update the high - priority data protection blocks in the data protection block.

[0082] For example, the third stage is the Operating System (OS) stage, and the high - priority data protection block in the data protection block can be the data protection block responsible for managing the Non - Volatile Random Access Memory (NVRAM).

[0083] Here, there is no order connection in updating the data protection block among the above three phases. It can be understood that the three phases are independent phases respectively. If it is the first phase, the data protection block is updated according to the update method of the first phase. If it is the second phase, the data protection block is updated according to the update method of the second phase. If it is the third phase, the data protection block is updated according to the update method of the third phase. It doesn't mean that it must be updated in the order of first updating the data protection block of the first phase, then updating the data protection block of the second phase, and finally updating the data protection block of the third phase.

[0084] Figure 3 Schematic diagram of the update configuration information of the shared data protection block in this application; as Figure 3 shown:

[0085] Step 301, update the BIOS based on the BIOS update message pushed by the system;

[0086] Step 302, the BIOS finishes updating with the BIOS update message pushed by the system;

[0087] Step 303, detect the status of the update pushed by the system;

[0088] Step 304, detect whether there is a microadjustment table pushed by the system; if there is a microadjustment table, execute Step 305;

[0089] Step 305, obtain the microadjustment table;

[0090] Step 306, update the BIOS based on the BIOS update message pushed by the microadjustment table;

[0091] Step 307, the BIOS finishes updating with the BIOS update message pushed by the microadjustment table;

[0092] Step 308, detect the status of the update pushed by the microadjustment table;

[0093] Step 309, detect the status of the microadjustment table and share this microadjustment table to other electronic devices of the same model.

[0094] Figure 4 Schematic diagram of the structural composition of the electronic device in this application Figure 1 , as Figure 4 shown, the electronic device includes:

[0095] Determination unit 401, used to determine the current startup phase of the basic input / output system if the basic input / output system fails to start after being updated;

[0096] Update unit 402, used to select at least one data protection block for updating the basic input / output system according to the current startup phase.

[0097] In this application, the determination unit 401 is further configured to determine the priority of each of the at least one data protection block according to the degree of influence of each data protection block on system startup and the degree of association with user data; wherein, the lower the level of the data protection block with a greater degree of influence on system startup; the higher the level of the data protection block with a stronger degree of association with user data.

[0098] Further, the update unit 402 is specifically configured to select and update the corresponding data protection block in the basic input / output system based on the current startup phase and the priority of each data protection block.

[0099] In this application, the electronic device further includes:

[0100] A receiving unit 403, configured to receive a startup phase notification sent by the basic input / output system, where the startup phase notification carries a current startup phase identifier;

[0101] The determination unit 401 is specifically configured to determine the current startup phase of the basic input / output system based on the startup phase identifier.

[0102] In this application, the electronic device further includes:

[0103] A startup unit 404, configured to start the basic input / output system from the self-repair path if the current startup phase of the basic input / output system is the first phase; or, if the current startup phase of the basic input / output system is the second phase, start the basic input / output system from the emergency rescue path; or, if the current startup phase of the basic input / output system is the third phase, start the basic input / output system from the current system push path, where the lower the level of the data protection block with a greater degree of influence on system startup; the higher the level of the data protection block with a stronger degree of association with user data.

[0104] The update unit 402 is specifically configured to forcibly update the low-priority data protection blocks in the data protection blocks;

[0105] The startup unit 404 is further configured to start the basic input / output system from the emergency rescue path if the current startup phase of the basic input / output system is the second phase;

[0106] The update unit 402 is specifically configured to forcibly update the second-lowest priority data protection blocks in the data protection blocks.

[0107] The startup unit 404 is further configured to start the basic input / output system from the current system push path if the current startup phase of the basic input / output system is the third phase.

[0108] The update unit 402 is specifically configured to forcibly update the high-priority data protection blocks in the data protection blocks.

[0109] Among them, the lower the level of the data protection block with a greater impact on system startup; the higher the level of the data protection block with a stronger association with user data.

[0110] In this application, the electronic device further includes:

[0111] The sending unit 405 is configured to send a startup mode notification for the corresponding phase to the basic input / output system before forcibly updating the corresponding data protection block in the data protection blocks;

[0112] The update unit 402 is specifically configured to forcibly update the corresponding data protection block in the data protection blocks if the basic input / output system successfully reads the startup mode notification.

[0113] In this application, the electronic device further includes:

[0114] The storage unit 406 is configured to save the update configuration information of all data blocks in the basic input / output system if the basic input / output system starts successfully, where all the data blocks include the data protection blocks;

[0115] The sending unit 405 is further configured to send the update configuration information of all data blocks in the basic input / output system to the server for other electronic devices of the same model to update their own basic input / output systems through the update configuration information.

[0116] It should be noted that: when the electronic device provided in the above embodiment updates the data protection blocks in the BIOS, only the division of the above program modules is used for illustration. In actual applications, the above processing can be allocated to different program modules according to needs, that is, the internal structure of the device is divided into different program modules to complete all or part of the above-described processing. In addition, the electronic device provided in the above embodiment and the method embodiment for updating the data protection blocks provided above belong to the same concept, and the specific implementation process is detailed in the method embodiment and will not be repeated here.

[0117] Figure 5 Schematic diagram of the structural composition of the electronic device in this application Figure 2 As Figure 5 shown, the electronic device 500 includes:

[0118] An embedded controller 501 is configured to receive a startup phase notification sent by a basic input / output system 502, determine the current startup phase of the basic input / output system 502 according to a startup phase identifier carried in the startup phase notification; and send a corresponding startup method notification to the basic input / output system 502 according to the current startup phase.

[0119] The basic input / output system 502 is configured to send a startup phase notification of the current startup to the embedded controller 502 during the startup process of the basic input / output system 502, and receive the startup method notification sent by the embedded controller 501 after the startup of the basic input / output system 502 fails, and forcibly update a corresponding data protection block in the basic input / output system 502 based on the startup method notification.

[0120] The electronic device provided in the above embodiment and the method embodiment for updating the data protection block provided above belong to the same concept. For the specific implementation process, refer to the method embodiment, which will not be elaborated here.

[0121] Furthermore, the electronic device 500 further includes: at least one processor 503, a memory 504 for storing a computer program that can run on the processor 503, at least one network interface 506, and a user interface 505. Each component in the electronic device 500 is coupled together through a bus system 507. It can be understood that the bus system 507 is used to realize the connection and communication between these components. In addition to a data bus, the bus system 507 further includes a power bus, a control bus, and a status signal bus. However, for the sake of clear illustration, in Figure 5 all kinds of buses are labeled as the bus system 507.

[0122] Among them, the user interface 505 may include a display, a keyboard, a mouse, a trackball, a click wheel, a button, a touchpad, or a touch screen, etc.

[0123] It can be understood that the memory 504 can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a ferromagnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as a static random access memory (SRAM), a synchronous static random access memory (SSRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate synchronous dynamic random access memory (DDR SDRAM), an enhanced synchronous dynamic random access memory (ESDRAM), a sync link dynamic random access memory (SLDRAM), and a direct rambus random access memory (DRRAM).The memory 504 described in the embodiments of the present application is intended to include, but is not limited to, these and any other suitable types of memories.

[0124] The memory 504 in the embodiments of the present application is used to store various types of data to support the operation of the electronic device 500. Examples of such data include: any computer programs for operating on the electronic device 500, such as the operating system 5041 and application programs 5042; contact data; phone book data; messages; pictures; audio, etc. Among them, the operating system 5041 contains various system programs, such as the framework layer, core library layer, driver layer, etc., for implementing various basic services and processing hardware-based tasks. The application programs 5042 may include various application programs, such as a Media Player, a Browser, etc., for implementing various application services. The program for implementing the method of the embodiments of the present application may be included in the application programs 5042.

[0125] The processor 503 may be an integrated circuit chip with signal processing capabilities. The above-mentioned processor 503 may also be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc. The software module may be located in a storage medium, and this storage medium is located in the memory 504. The processor 503 reads the information in the memory 504 and combines its hardware to complete the steps of the foregoing method.

[0126] Among them, the processor 503 may also perform the same operations as the EC. For example, the processor 503 may receive the startup phase notification sent by the BIOS, and determine the current startup phase of the BIOS according to the startup phase identifier carried in the startup phase notification; and according to the current startup phase, send a corresponding startup method notification to the BIOS, etc. The specific interaction process between the processor 503 and the BIOS may refer to the interaction process between the EC and the BIOS, which will not be elaborated here.

[0127] In an exemplary embodiment, the electronic device 500 may be a server, a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc. The electronic device 500 may be implemented by one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general purpose processors, controllers, microcontroller units (MCUs), microprocessors, or other electronic components for performing the foregoing methods.

[0128] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods may be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components may be combined, or may be integrated into another system, or some features may be ignored, or not executed. In addition, the couplings, direct couplings, or communication connections between the components shown or discussed may be through some interfaces, and the indirect couplings or communication connections of the devices or units may be electrical, mechanical, or other forms.

[0129] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or distributed to multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0130] In the method embodiments disclosed in several method embodiments provided in the present application, they can be arbitrarily combined without conflict to obtain new method embodiments.

[0131] In the product embodiments disclosed in several product embodiments provided in the present application, the disclosed features can be arbitrarily combined without conflict to obtain new product embodiments.

[0132] In the method or device embodiments provided in the present application, the disclosed features can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.

[0133] As described above, it is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should all be covered within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims described above.

Claims

1. A method for updating a data protection block, the method comprising: After the basic input / output system is updated, if the basic input / output system fails to start, determine the current startup phase of the basic input / output system; Select at least one data protection block for updating the basic input / output system according to the current startup phase; Wherein, the selecting at least one data protection block for updating the basic input / output system according to the current startup phase includes: If the current startup phase of the basic input / output system is the first phase, start the basic input / output system from the self-repair path and forcefully update the low-priority data protection block in the data protection block; Or, if the current startup phase of the basic input / output system is the second phase, start the basic input / output system from the emergency rescue path and forcefully update the second-lowest-priority data protection block in the data protection block; Or, if the current startup phase of the basic input / output system is the third phase, start the basic input / output system with the current system push path; forcefully update the high-priority data protection block in the data protection block; Wherein, the lower the level of the data protection block with a greater impact on system startup; the higher the level of the data protection block with a stronger association with user data.

2. The method according to claim 1, wherein said selecting to update at least one data protection block of the basic input / output system comprises: Select data protection blocks corresponding to the basic input / output system for updating based on the current startup phase and the priority of each data protection block.

3. The method according to claim 2, the method further comprising: Determine the priority of each data protection block according to the impact degree of each data protection block in the at least one data protection block on system startup and the association degree with user data; Wherein, the lower the level of the data protection block with a greater impact on system startup; The higher the level of the data protection block with a stronger association with user data.

4. The method according to claim 1, the determining the current startup phase of the basic input / output system includes: Receive a startup phase notification sent by the basic input / output system, and the startup phase notification carries a current startup phase identifier; Determine the current startup phase of the basic input / output system based on the startup phase identifier.

5. The method according to claim 1, the starting the basic input / output system from the self-repair path includes: Start the basic input / output system from the self-repair path using the backup configuration information of the first phase.

6. The method according to claim 1, the method further comprising: Before forcefully updating the corresponding data protection block in the data protection block, send a startup mode notification for the corresponding phase to the basic input / output system; If the basic input / output system successfully reads the startup mode notification, forcefully update the corresponding data protection block in the data protection block.

7. The method according to claim 1, the method further comprising: If the basic input / output system is successfully started, save the updated configuration information of all data blocks in the basic input / output system, where all the data blocks include each of the data protection blocks; Send the updated configuration information of all data blocks in the basic input / output system to the server for other electronic devices of the same model to update their own basic input / output systems through the updated configuration information.

8. An electronic device, comprising: A determination unit, configured to, after the basic input / output system is updated, if the basic input / output system fails to start, determine the current startup stage of the basic input / output system; An update unit, configured to, if the current startup stage of the basic input / output system is the first stage, start the basic input / output system from the self-repair path and forcefully update the low-priority data protection blocks in the data protection blocks; or, if the current startup stage of the basic input / output system is the second stage, start the basic input / output system from the emergency rescue path and forcefully update the second-lowest-priority data protection blocks in the data protection blocks; or, if the current startup stage of the basic input / output system is the third stage, start the basic input / output system with the current system push path and forcefully update the high-priority data protection blocks in the data protection blocks; where the lower the level of the data protection block with a greater impact on system startup, and the higher the level of the data protection block with a stronger association with user data.

9. An electronic device, comprising: An embedded controller, configured to receive a startup stage notification sent by the basic input / output system, determine the current startup stage of the basic input / output system according to the startup stage identifier carried in the startup stage notification, and send a corresponding startup method notification to the basic input / output system according to the current startup stage; The startup stage includes a first stage, a second stage, and a third stage; in the case where the startup stage is the first stage, start the basic input / output system from the self-repair path; in the case where the startup stage is the second stage, start the basic input / output system from the emergency rescue path; In the case where the startup stage is the third stage, start the basic input / output system with the current system push path; A basic input / output system, configured to send a startup stage notification of the current startup to the embedded controller during the startup process of the basic input / output system, and receive the startup method notification sent by the embedded controller after the basic input / output system fails to start, and forcefully update the corresponding data protection blocks of the basic input / output system based on the startup method notification.

Citation Information

Patent Citations

  • Exception handling method and device of BIOS programs

    CN106776282A

  • Closed BIOS self-repairing method and system, terminal and storage medium

    CN111176897A

  • Method for automatically updating and backing up the BIOS

    US20060225067A1