A firmware version refresh method, device, system and medium

By recording firmware version differences files and refreshing firmware according to refresh instructions, the cumbersome and time-consuming problem of refreshing firmware versions in the existing technology is solved, and a more efficient firmware version management and refresh process is achieved.

CN112685067BActive Publication Date: 2025-01-07LANGCHAO ELECTRONIC INFORMATION IND CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011568163.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-12-25
Publication Date
2025-01-07
Estimated Expiration
2040-12-25

AI Technical Summary

Technical Problem

The refresh process of existing server firmware versions is cumbersome and time-consuming, and Flash particles are frequently removed and installed on the burner. Each time, additional burner and software resources are required, resulting in inefficiency.

Method used

By receiving change instructions transmitted by the controller, comparing the firmware version difference files, and recording them to the storage component. Reading the difference files according to the refresh instructions for firmware refresh is avoided every time a new firmware version is generated and the use of additional burners.

Benefits of technology

Simplifies the firmware version refresh process, improves processing efficiency, reduces operation steps and time, and reduces the risk of physical damage to the server.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112685067B_ABST
    Figure CN112685067B_ABST
Patent Text Reader

Abstract

The embodiment of the present invention discloses a firmware version refresh method, device, system and medium, which receive a change instruction transmitted by a controller; compare the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and record the difference file to a storage component. When a refresh instruction transmitted by the controller is received, a target difference file matching the flash instruction is read from the storage component; according to the file type corresponding to the refresh instruction, the target file is fed back to the controller, wherein the target file is a file obtained based on the target difference file. The controller can complete the firmware refresh operation on the flash memory component based on the target file. The firmware version required for this refresh can be obtained based on the target difference file matching the flash instruction, which solves the time-consuming and labor-intensive problem of repeatedly refreshing the firmware version during software debug testing, and effectively improves the processing efficiency of the firmware version refresh.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of server testing, and in particular to a firmware version refreshing method, device, system and computer-readable storage medium. Background Art

[0002] With the rapid development of the information age, technologies such as the Internet and artificial intelligence have covered all areas of society, which has put higher requirements on the data processing capabilities of servers and the transmission capabilities of network data. To achieve the above goals, the hardware and software on the server need to complement each other and be highly integrated.

[0003] A mature server product will inevitably go through repeated troubleshooting (Debug) testing phases, which often takes a long time. When a software bug occurs, it is generally solved by upgrading the firmware version. When cross-verifying and locating the problem, it is necessary to refresh the previous and next versions of the firmware (Firmware, FW) back and forth.

[0004] like Figure 1 The figure shows a schematic diagram of refreshing the firmware version through a burner in the traditional way. In order to refresh the basic input and output system (BIOS) and baseboard management controller (BMC) firmware, the BIOS Flash and BMC Flash particles need to be removed from the server and installed on the burner, and the burner and the PC need to be connected with a USB adapter. The PC also needs to install the corresponding burning software, and then refresh the corresponding firmware version file, and finally reinstall the refreshed BIOS Flash and BMC Flash on the server. Each firmware upgrade requires source files of different firmware versions, additional burners and corresponding software resources, and must be powered off, resulting in a cumbersome, time-consuming and labor-intensive firmware refresh method.

[0005] It can be seen that how to improve the processing efficiency of firmware version updating is a problem that technical personnel in this field need to solve. Summary of the invention

[0006] The purpose of the embodiments of the present invention is to provide a firmware version refreshing method, device, system and computer-readable storage medium.

[0007] In order to solve the above technical problems, an embodiment of the present invention provides a firmware version updating method, comprising:

[0008] receiving a change instruction transmitted by a controller;

[0009] Comparing the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and recording the difference file to a storage component;

[0010] When receiving a refresh instruction transmitted by the controller, reading a target difference file matching the flash writing instruction from the storage component;

[0011] According to the file type corresponding to the refresh instruction, a target file is fed back to the controller so that the controller can complete the firmware refresh operation on the flash memory component according to the target file; wherein the target file is obtained according to the target difference file.

[0012] Optionally, comparing the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and recording the difference file to a storage component includes:

[0013] When receiving the BIOS Flash firmware change instruction transmitted by the controller, obtaining the firmware version corresponding to the BIOS Flash firmware change instruction from the controller, and obtaining the original firmware version from the BIOS Flash;

[0014] The difference file is recorded in the BIOS area of ​​the storage component.

[0015] Optionally, comparing the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and recording the difference file to a storage component includes:

[0016] When receiving the BMC Flash firmware change instruction transmitted by the controller, obtaining the firmware version corresponding to the BMC Flash firmware change instruction from the controller, and obtaining the original firmware version from the BMC Flash;

[0017] The difference file is recorded in the BMC area of ​​the storage component.

[0018] Optionally, when the refresh instruction is a firmware refresh instruction, feeding back a target file to the controller according to a file type corresponding to the refresh instruction includes:

[0019] Reading a difference file matching the firmware refresh instruction from the storage component;

[0020] A target firmware version is generated according to the current firmware version and the difference file, and the target firmware version is fed back to the controller, so that the controller completes the firmware refresh operation on the flash memory component according to the target firmware version.

[0021] Optionally, when the refresh instruction is a firmware cross-level refresh instruction, feeding back a target file to the controller according to a file type corresponding to the refresh instruction includes:

[0022] A plurality of difference files matching the firmware cross-level refresh instruction are read from the storage component, and the plurality of difference files are fed back to the controller so that the controller generates a target firmware version according to the current firmware version and the plurality of difference files; and a firmware refresh operation on the flash memory component is completed according to the target firmware version.

[0023] The embodiment of the present invention also provides a firmware version updating device, comprising a receiving unit, a comparing unit, a reading unit and a feedback unit;

[0024] The receiving unit is used to receive the change instruction transmitted by the controller;

[0025] The comparison unit is used to compare the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and record the difference file to the storage component;

[0026] The reading unit is configured to read a target difference file matching the flash instruction from the storage component when receiving the refresh instruction transmitted by the controller;

[0027] The feedback unit is used to feed back a target file to the controller according to the file type corresponding to the refresh instruction, so that the controller can complete the firmware refresh operation on the flash memory component according to the target file; wherein the target file is obtained according to the target difference file.

[0028] Optionally, when the comparison unit receives a BIOS Flash firmware change instruction transmitted by the controller, it obtains the firmware version corresponding to the BIOS Flash firmware change instruction from the controller and obtains the original firmware version from the BIOS Flash; and records the difference file to the BIOS area of ​​the storage component.

[0029] Optionally, when the comparison unit receives the BMC Flash firmware change instruction transmitted by the controller, it obtains the firmware version corresponding to the BMC Flash firmware change instruction from the controller and obtains the original firmware version from the BMC Flash; and records the difference file to the BMC area of ​​the storage component.

[0030] Optionally, when the refresh instruction is a firmware refresh instruction, the feedback unit is used to read a difference file matching the firmware refresh instruction from the storage component; generate a target firmware version based on the current firmware version and the difference file, and feed back the target firmware version to the controller so that the controller can complete the firmware refresh operation on the flash memory component according to the target firmware version.

[0031] Optionally, when the refresh instruction is a firmware cross-level refresh instruction, the feedback unit is used to read multiple difference files that match the firmware cross-level refresh instruction from the storage component, and feed back the multiple difference files to the controller, so that the controller can generate a target firmware version based on the current firmware version and the multiple difference files; and complete the firmware refresh operation on the flash memory component based on the target firmware version.

[0032] The embodiment of the present invention further provides a firmware version refresh system, comprising a logic processing component and a storage component; wherein the logic processing component is connected to a controller and a flash memory component respectively;

[0033] The logic processing component is used to receive the change instruction transmitted by the controller, compare the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and record the difference file to the storage component; when receiving the refresh instruction transmitted by the controller, read the target difference file matching the flash instruction from the storage component, and feed back the target file to the controller according to the file type corresponding to the refresh instruction; wherein the target file is obtained according to the target difference file;

[0034] The controller is connected to the flash memory component and is used to complete a firmware refresh operation on the flash memory component according to the target file fed back by the logic processing component.

[0035] Optionally, the flash memory component includes BIOS Flash and BMC Flash.

[0036] Optionally, when the change instruction is a BIOS Flash firmware change instruction; accordingly, the logic processing component is used to obtain the firmware version corresponding to the BIOS Flash firmware change instruction from the controller and the original firmware version from the BIOS Flash when receiving the BIOS Flash firmware change instruction transmitted by the controller; and record the difference file to the BIOS area of ​​the storage component;

[0037] When the change instruction is a BMC Flash firmware change instruction; accordingly, the logic processing component is used to obtain the firmware version corresponding to the BMC Flash firmware change instruction from the controller when receiving the BMC Flash firmware change instruction transmitted by the controller, obtain the original firmware version from the BMC Flash, and record the difference file to the BMC area of ​​the storage component.

[0038] Optionally, when the refresh instruction is a firmware refresh instruction, the logic processing component is used to read a difference file matching the firmware refresh instruction from the storage component, generate a target firmware version according to the current firmware version and the difference file, and feed back the target firmware version to the controller;

[0039] Correspondingly, the controller is used to complete the firmware refresh operation on the flash memory component according to the target firmware version fed back by the logic processing component.

[0040] Optionally, when the refresh instruction is a firmware cross-level refresh instruction, the logic processing component is used to read a plurality of difference files matching the firmware cross-level refresh instruction from the storage component, and feed back the plurality of difference files to the controller;

[0041] Correspondingly, the controller is used to receive multiple difference files fed back by the logic processing component, generate a target firmware version according to the current firmware version and the multiple difference files; and complete the firmware refresh operation on the flash memory component according to the target firmware version.

[0042] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the firmware version refresh method as described in any one of the above items are implemented.

[0043] It can be seen from the above technical solution that the change instruction transmitted by the controller is received; the firmware version corresponding to the change instruction is compared with the original firmware version to obtain a difference file, and the difference file is recorded in the storage component. The difference file contains data with differences between the two versions. When the refresh instruction transmitted by the controller is received, the target difference file matching the flash instruction is read from the storage component; according to the file type corresponding to the refresh instruction, the target file is fed back to the controller, wherein the target file is a file obtained according to the target difference file. The controller can complete the firmware refresh operation of the flash memory component according to the target file. In this technical solution, by recording the difference files between different versions, the firmware version required for this refresh can be obtained according to the target difference file matching the flash instruction. The firmware refresh method is simple and easy to operate. When implementing the firmware refresh operation of the flash memory component, no additional burner is required, and no new firmware version needs to be generated for each refresh. The problem of repeatedly refreshing the firmware version in software Debug testing is solved, and the processing efficiency of the firmware version refresh is effectively improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In order to more clearly illustrate the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0045] Figure 1 A schematic diagram of a traditional method of updating the firmware version through a burner;

[0046] Figure 2 A flowchart of a firmware version updating method provided by an embodiment of the present invention;

[0047] Figure 3 A schematic diagram of the hardware structure of a firmware version refresh system provided by an embodiment of the present invention;

[0048] Figure 4 A schematic diagram of implementing a firmware version refresh based on a difference file provided by an embodiment of the present invention;

[0049] Figure 5 A schematic diagram of the structure of a firmware version updating device provided by an embodiment of the present invention;

[0050] Figure 6 A schematic diagram of the structure of a firmware version refresh system provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0051] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0052] In order to enable those skilled in the art to better understand the scheme of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0053] Next, a firmware version updating method provided by an embodiment of the present invention is described in detail. Figure 2 A flowchart of a firmware version updating method provided by an embodiment of the present invention, the method comprising:

[0054] S201: Receive a change instruction transmitted by a controller.

[0055] The firmware version refresh method provided in the embodiment of the present invention is applicable to the firmware upgrade of various commonly used flash memory components. Among them, the flash memory components may include BIOS Flash and BMC Flash. For the convenience of subsequent introduction, BIOS Flash and BMC Flash are used as examples for description.

[0056] In practical applications, a logic processing component and a storage component may be provided, and the firmware refresh of the flash memory component may be completed through the interaction between the logic processing component and the control component. The logic processing component may adopt a field programmable gate array (FPGA), the storage component may adopt an electrically erasable programmable read-only memory (EEPROM), and the controller may adopt a BMC.

[0057] When the firmware needs to be changed, the controller can send a change instruction to the logic processing component.

[0058] S202: Compare the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and record the difference file to a storage component.

[0059] In order to reduce the time spent on generating firmware each time a firmware refresh operation is performed, a difference file of different versions may be stored in the storage component. The difference file contains data that differs between two versions.

[0060] In the embodiment of the present invention, for the convenience of description, the firmware and its corresponding version may be referred to as firmware version.

[0061] Considering that in actual applications, for the same type of flash memory components, the latest firmware version is often modified and improved on the basis of the previous firmware version, the difference file can be the difference data between two adjacent firmware versions.

[0062] Taking three different versions of firmware as an example, including a first firmware version, a second firmware version and a third firmware version, the difference file may include difference data between the second firmware version and the first firmware version, and difference data between the third firmware version and the second firmware version.

[0063] Different flash memory components have their own corresponding firmware versions. Accordingly, each flash memory component has its corresponding storage area in the storage component. In the embodiment of the present invention, the area used to store the difference file of BIOS Flash can be called BIOS area, and the area used to store the difference file of BMC Flash can be called BMC area.

[0064] Taking BIOS Flash as an example, when the firmware of BIOS Flash needs to be changed, the controller can send a BIOS Flash firmware change instruction to the logical processing component. After the logical processing component receives the BIOS Flash firmware change instruction sent by the controller, it can obtain the firmware version corresponding to the BIOS Flash firmware change instruction from the controller and obtain the original firmware version from BIOSFlash; and record the difference file to the BIOS area of ​​the storage component.

[0065] Taking BMC Flash as an example, when the firmware of BMC Flash needs to be changed, the controller can send a BMC Flash firmware change instruction to the logic processing component. After receiving the BMC Flash firmware change instruction sent by the controller, the logic processing component can obtain the firmware version corresponding to the BMC Flash firmware change instruction from the controller and obtain the original firmware version from the BMC Flash; and record the difference file to the BMC area of ​​the storage component.

[0066] S203: When a refresh instruction transmitted by the controller is received, a target difference file matching the flash instruction is read from the storage component.

[0067] The refresh operation may include performing an upgrade operation on the firmware on the flash memory component or performing a downgrade operation on the firmware on the flash memory component.

[0068] When the controller needs to perform a refresh operation on the firmware on the flash memory component, the logic processing component can obtain the firmware version currently stored on the flash memory component, and determine the target difference file that matches the flash instruction based on the version to be upgraded or downgraded by the refresh instruction.

[0069] For example, the firmware version currently stored on the flash memory component is the first firmware version, and the refresh instruction indicates that the firmware needs to be upgraded to the second version. At this time, the logic processing component can read the difference file corresponding to the second firmware version and the first firmware version from the storage component, and the difference file is the target difference file.

[0070] S204: Feedback the target file to the controller according to the file type corresponding to the refresh instruction, so that the controller can complete the firmware refresh operation on the flash memory component according to the target file.

[0071] When considering firmware upgrade or downgrade, the firmware can be upgraded or downgraded directly to an adjacent level, or the firmware upgrade or downgrade can be performed across multiple levels.

[0072] The controller will send a refresh instruction to the logic processing unit to obtain the target file required for the firmware upgrade or downgrade. In order to distinguish different types of refresh instructions, in the embodiment of the present invention, the instruction corresponding to the operation of directly upgrading or downgrading to the adjacent first level can be called a firmware refresh instruction, and the instruction corresponding to the operation of upgrading or downgrading the firmware across multiple levels can be called a firmware cross-level refresh instruction.

[0073] Taking the refresh instruction as a firmware refresh instruction as an example, the logic processing component can read the difference file that matches the firmware refresh instruction from the storage component; based on the current firmware version and the difference file, generate a target firmware version, and feedback the target firmware version to the controller, so that the controller can complete the firmware refresh operation on the flash memory component according to the target firmware version.

[0074] Taking the refresh instruction as a firmware cross-level refresh instruction as an example, in order to reduce the requirements on the processing performance of the logical processing component, the logical processing component can read multiple difference files that match the firmware cross-level refresh instruction from the storage component, and directly feed back the multiple difference files to the controller, so that the controller can generate a target firmware version based on the current firmware version and the multiple difference files; based on the target firmware version, complete the firmware refresh operation on the flash memory component.

[0075] Figure 3This is a hardware structure diagram of a firmware version refresh system, taking the flash memory components including BIOS Flash and BMC Flash, BMC as the controller, FPGA as the logic processing component, and EEPROM as the storage component as an example. Assume that the current FW version of the server is 1.0, and now the FW version needs to be upgraded to 2.0, and the online upgrade is performed using the BMC Web interface. When the BMC has a FW version refresh request, the BMC will send the 1.FW Change signal as a change instruction to the FPGA chip in advance. The FPGA chip determines whether to change the firmware version of the BIOS Flash or the BMC Flash by identifying the high and low levels of the FW Change signal. In actual applications, a low level can be used to indicate that the firmware version is changed on the BIOS Flash, and a high level can be used to indicate that the firmware version is changed on the BMC Flash.

[0076] FPGA selects the selected area through the high and low levels of the 1.FW Change signal. If the 1.FW Change signal is low, the BIOS Flash can be selected through the signal 2.BIOS Select, and the FPGA obtains the 1.0FW file from the BIOS Flash. Conversely, if the 1.FW Change signal is high, the BMC Flash can be selected through the signal 3.BMC Select, and the FPGA obtains the 1.0FW file from the BMC Flash. At the same time, the FPGA obtains the file with FW version 2.0 from the BMC through the signal 8.FPGA I2C. Then, the two version files are compared inside the FPGA chip, and the different contents of the two versions are saved in the form of difference files.

[0077] When executing the saving of the difference file, the FPGA can select the saving area of ​​the difference file through the high and low levels of the 1.FW Change signal. If the 1.FW Change signal is low, the difference files of different BIOS versions are saved to the BIOS storage area through the signal 4.BIOS Save. On the contrary, if the 1.FW Change signal is high, the difference files of different BMC versions are saved to the BMC storage area through the signal 4.BMC Save. After the comparison file is saved, the storage component can send the signal 7.FW Compare Done to the BMC, and the BMC completes the refresh operation of the FW2.0 version.

[0078] In the embodiment of the present invention, a difference file is generated each time a version of FW is upgraded, such as Figure 4A schematic diagram of implementing firmware version refresh based on difference files is provided in an embodiment of the present invention. Assuming that the firmware version includes four versions, namely 1.0-2.0-3.0-4.0, three difference files △T1, △T2, and △T3 will be generated accordingly. During the Debug test of the FW version, if you want to reduce the BIOS version from 4.0 to 3.0, the BMC will send a signal 6.FW Change Request to the storage chip to activate the storage component, and transmit the difference file △T3 in the BIOS storage area to the FPGA through the signal 9.FW I2C. The FPGA modifies the current version 4.0 to 3.0 according to the comparison file, and transmits the modified 3.0 target file to the BMC through the 8.FPGA I2C signal. Finally, the FW refresh of the BIOS Flash 3.0 version is completed through the BIOS SPI.

[0079] If you need to downgrade the version of FW4.0 to 2.0, you need to send the two difference files △T2 and △T3 in the storage component to the BMC at the same time. The BMC first downgrades the version 4.0 to 3.0 based on the comparison file of △T3, and then downgrades the version 3.0 to 2.0 based on the comparison file of △T2. In this way, the FW refresh across versions is achieved.

[0080] Similarly, when an upgrade operation is required in the refreshed FW, the operation is similar to the above method and will not be repeated here.

[0081] It can be seen from the above technical solution that the change instruction transmitted by the controller is received; the firmware version corresponding to the change instruction is compared with the original firmware version to obtain a difference file, and the difference file is recorded in the storage component. The difference file contains data with differences between the two versions. When the refresh instruction transmitted by the controller is received, the target difference file matching the flash instruction is read from the storage component; according to the file type corresponding to the refresh instruction, the target file is fed back to the controller, wherein the target file is a file obtained according to the target difference file. The controller can complete the firmware refresh operation of the flash memory component according to the target file. In this technical solution, by recording the difference files between different versions, the firmware version required for this refresh can be obtained according to the target difference file matching the flash instruction. The firmware refresh method is simple and easy to operate. When implementing the firmware refresh operation of the flash memory component, no additional burner is required, and no new firmware version needs to be generated for each refresh. The problem of repeatedly refreshing the firmware version in software Debug testing is solved, and the processing efficiency of the firmware version refresh is effectively improved.

[0082] Figure 5A schematic diagram of the structure of a firmware version updating device provided by an embodiment of the present invention, comprising a receiving unit 51, a comparing unit 52, a reading unit 53 and a feedback unit 54;

[0083] A receiving unit 51, configured to receive a change instruction transmitted by a controller;

[0084] A comparison unit 52, used to compare the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and record the difference file to a storage component;

[0085] The reading unit 53 is used to read the target difference file matching the flashing instruction from the storage component when receiving the flashing instruction transmitted by the controller;

[0086] The feedback unit 54 is used to feed back the target file to the controller according to the file type corresponding to the refresh instruction, so that the controller can complete the firmware refresh operation on the flash memory component according to the target file; wherein the target file is obtained according to the target difference file.

[0087] Optionally, when the comparison unit receives a BIOS Flash firmware change instruction transmitted by the controller, it obtains the firmware version corresponding to the BIOS Flash firmware change instruction from the controller and the original firmware version from the BIOS Flash; and records the difference file to the BIOS area of ​​the storage component.

[0088] Optionally, when receiving a BMC Flash firmware change instruction transmitted by the controller, the comparison unit is used to obtain a firmware version corresponding to the BMC Flash firmware change instruction from the controller and obtain an original firmware version from the BMC Flash; and record a difference file in a BMC area of ​​the storage component.

[0089] Optionally, when the refresh instruction is a firmware refresh instruction, the feedback unit is used to read a difference file that matches the firmware refresh instruction from the storage component; generate a target firmware version based on the current firmware version and the difference file, and feedback the target firmware version to the controller so that the controller can complete the firmware refresh operation on the flash memory component according to the target firmware version.

[0090] Optionally, when the refresh instruction is a firmware cross-level refresh instruction, the feedback unit is used to read multiple difference files that match the firmware cross-level refresh instruction from the storage component, and feed back the multiple difference files to the controller, so that the controller can generate a target firmware version based on the current firmware version and the multiple difference files; based on the target firmware version, complete the firmware refresh operation on the flash memory component.

[0091] Figure 5 The description of the features in the corresponding embodiments can be found in Figure 2The relevant descriptions of the corresponding embodiments will not be repeated here one by one.

[0092] It can be seen from the above technical solution that the change instruction transmitted by the controller is received; the firmware version corresponding to the change instruction is compared with the original firmware version to obtain a difference file, and the difference file is recorded in the storage component. The difference file contains data with differences between the two versions. When the refresh instruction transmitted by the controller is received, the target difference file matching the flash instruction is read from the storage component; according to the file type corresponding to the refresh instruction, the target file is fed back to the controller, wherein the target file is a file obtained according to the target difference file. The controller can complete the firmware refresh operation of the flash memory component according to the target file. In this technical solution, by recording the difference files between different versions, the firmware version required for this refresh can be obtained according to the target difference file matching the flash instruction. The firmware refresh method is simple and easy to operate. When implementing the firmware refresh operation of the flash memory component, no additional burner is required, and no new firmware version needs to be generated for each refresh. The problem of repeatedly refreshing the firmware version in software Debug testing is solved, and the processing efficiency of the firmware version refresh is effectively improved.

[0093] Figure 6 A schematic diagram of the structure of a firmware version refresh system 60 provided in an embodiment of the present invention includes a logic processing component 661 and a storage component 62; wherein the logic processing component 61 is connected to a controller 63 and a flash memory component 66 respectively;

[0094] The logic processing component 61 is used to receive the change instruction transmitted by the controller 63, compare the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and record the difference file to the storage component 62; when receiving the refresh instruction transmitted by the controller 63, read the target difference file matching the flash instruction from the storage component 62, and feedback the target file to the controller 63 according to the file type corresponding to the refresh instruction; wherein the target file is obtained according to the target difference file;

[0095] The controller 63 is connected to the flash memory component 66 and is used to complete the firmware refresh operation on the flash memory component 66 according to the target file fed back by the logic processing component 61 .

[0096] Optionally, the flash memory component includes BIOS Flash and BMC Flash.

[0097] Optionally, when the change instruction is a BIOS Flash firmware change instruction; correspondingly, the logic processing component is used to obtain the firmware version corresponding to the BIOS Flash firmware change instruction from the controller and the original firmware version from the BIOS Flash when receiving the BIOS Flash firmware change instruction transmitted by the controller; and record the difference file to the BIOS area of ​​the storage component;

[0098] When the change instruction is a BMC Flash firmware change instruction; correspondingly, the logic processing component is used to obtain the firmware version corresponding to the BMC Flash firmware change instruction from the controller when receiving the BMC Flash firmware change instruction transmitted by the controller, obtain the original firmware version from the BMC Flash, and record the difference file to the BMC area of ​​the storage component.

[0099] Optionally, when the refresh instruction is a firmware refresh instruction, the logic processing component is used to read a difference file matching the firmware refresh instruction from the storage component, generate a target firmware version according to the current firmware version and the difference file, and feed back the target firmware version to the controller;

[0100] Correspondingly, the controller is used to complete the firmware refresh operation on the flash memory component according to the target firmware version fed back by the logic processing component.

[0101] Optionally, when the refresh instruction is a firmware cross-level refresh instruction, the logic processing component is used to read a plurality of difference files matching the firmware cross-level refresh instruction from the storage component, and feed back the plurality of difference files to the controller;

[0102] Accordingly, the controller is used to receive multiple difference files fed back by the logic processing component, generate a target firmware version according to the current firmware version and the multiple difference files; and complete the firmware refresh operation on the flash memory component according to the target firmware version.

[0103] Figure 6 The description of the features in the corresponding embodiments can be found in Figure 2 The relevant descriptions of the corresponding embodiments will not be repeated here one by one.

[0104] It can be seen from the above technical solution that the change instruction transmitted by the controller is received; the firmware version corresponding to the change instruction is compared with the original firmware version to obtain a difference file, and the difference file is recorded in the storage component. The difference file contains data with differences between the two versions. When the refresh instruction transmitted by the controller is received, the target difference file matching the flash instruction is read from the storage component; according to the file type corresponding to the refresh instruction, the target file is fed back to the controller, wherein the target file is a file obtained according to the target difference file. The controller can complete the firmware refresh operation of the flash memory component according to the target file. In this technical solution, by recording the difference files between different versions, the firmware version required for this refresh can be obtained according to the target difference file matching the flash instruction. The firmware refresh method is simple and easy to operate. When implementing the firmware refresh operation of the flash memory component, no additional burner is required, and no new firmware version needs to be generated for each refresh. The problem of repeatedly refreshing the firmware version in software Debug testing is solved, and the processing efficiency of the firmware version refresh is effectively improved.

[0105] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the firmware version refresh method described in any of the above embodiments are implemented.

[0106] The above is a detailed introduction to a firmware version refresh method, device, system and computer-readable storage medium provided in an embodiment of the present invention. The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the embodiments can be referenced to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description. It should be pointed out that for ordinary technicians in this technical field, without departing from the principle of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the scope of protection of the claims of the present invention.

[0107] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0108] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

Claims

1. A firmware version updating method, characterized in that: include: receiving a change instruction transmitted by a controller; Comparing the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and recording the difference file to a storage component; When receiving a refresh instruction transmitted by the controller, reading a target difference file matching the flash writing instruction from the storage component; Feedback a target file to the controller according to the file type corresponding to the refresh instruction, so that the controller can complete the firmware refresh operation on the flash memory component according to the target file; wherein the target file is obtained according to the target difference file; When the refresh instruction is a firmware refresh instruction, the logic processing component is used to read a difference file matching the firmware refresh instruction from the storage component, generate a target firmware version according to the current firmware version and the difference file, and feed back the target firmware version to the controller; correspondingly, the controller is used to complete the firmware refresh operation on the flash memory component according to the target firmware version fed back by the logic processing component; When the refresh instruction is a firmware cross-level refresh instruction, the logic processing component is used to read multiple difference files matching the firmware cross-level refresh instruction from the storage component, and feed back the multiple difference files to the controller; correspondingly, the controller is used to receive the multiple difference files fed back by the logic processing component, generate a target firmware version according to the current firmware version and the multiple difference files; and complete the firmware refresh operation on the flash memory component according to the target firmware version; The firmware refresh of the flash memory component is completed through the interaction between the logic processing component and the controller; the logic processing component adopts a field programmable logic gate array, the controller adopts a baseboard management controller, the storage component adopts an electrically erasable programmable read-only memory, and the storage component stores different versions of differential files.

2. The firmware version updating method according to claim 1, characterized in that: The step of comparing the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and recording the difference file to the storage component includes: When receiving the BIOS Flash firmware change instruction transmitted by the controller, obtaining the firmware version corresponding to the BIOS Flash firmware change instruction from the controller, and obtaining the original firmware version from the BIOS Flash; The difference file is recorded in the BIOS area of ​​the storage component.

3. The firmware version updating method according to claim 1, characterized in that: The step of comparing the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and recording the difference file to a storage component includes: When receiving the BMC Flash firmware change instruction transmitted by the controller, obtaining the firmware version corresponding to the BMC Flash firmware change instruction from the controller, and obtaining the original firmware version from the BMC Flash; The difference file is recorded in the BMC area of ​​the storage component.

4. A firmware version updating device, characterized in that: It includes a receiving unit, a comparing unit, a reading unit and a feedback unit; The receiving unit is used to receive the change instruction transmitted by the controller; The comparison unit is used to compare the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and record the difference file to the storage component; The reading unit is configured to read a target difference file matching the flash instruction from the storage component when receiving the refresh instruction transmitted by the controller; The feedback unit is used to feed back a target file to the controller according to the file type corresponding to the refresh instruction, so that the controller can complete the firmware refresh operation on the flash memory component according to the target file; wherein the target file is obtained according to the target difference file; When the refresh instruction is a firmware refresh instruction, the feedback unit is used to read a difference file matching the firmware refresh instruction from the storage component; generate a target firmware version according to the current firmware version and the difference file, and feed back the target firmware version to the controller, so that the controller completes the firmware refresh operation on the flash memory component according to the target firmware version; when the refresh instruction is a firmware cross-level refresh instruction, the feedback unit is used to read a plurality of difference files matching the firmware cross-level refresh instruction from the storage component, and feed back the plurality of difference files to the controller, so that the controller generates the target firmware version according to the current firmware version and the plurality of difference files; According to the target firmware version, the firmware refresh operation of the flash memory component is completed; the firmware refresh of the flash memory component is completed through the interaction between the logic processing component and the controller; the logic processing component adopts a field programmable logic gate array, the controller adopts a baseboard management controller, the storage component adopts an electrically erasable programmable read-only memory, and the storage component stores different versions of difference files.

5. A firmware version updating system, characterized in that: It includes a logic processing component and a storage component; wherein the logic processing component is connected to the controller and the flash memory component respectively; The logic processing component is used to receive the change instruction transmitted by the controller, compare the firmware version corresponding to the change instruction with the original firmware version to obtain a difference file, and record the difference file to the storage component; when receiving the refresh instruction transmitted by the controller, read the target difference file matching the flash instruction from the storage component, and feed back the target file to the controller according to the file type corresponding to the refresh instruction; wherein the target file is obtained according to the target difference file; The controller is connected to the flash memory component and is used to complete a firmware refresh operation on the flash memory component according to the target file fed back by the logic processing component; When the refresh instruction is a firmware refresh instruction, the logic processing component is used to read a difference file matching the firmware refresh instruction from the storage component, generate a target firmware version according to the current firmware version and the difference file, and feed back the target firmware version to the controller; correspondingly, the controller is used to complete the firmware refresh operation on the flash memory component according to the target firmware version fed back by the logic processing component; When the refresh instruction is a firmware cross-level refresh instruction, the logic processing component is used to read multiple difference files matching the firmware cross-level refresh instruction from the storage component, and feed back the multiple difference files to the controller; correspondingly, the controller is used to receive the multiple difference files fed back by the logic processing component, generate a target firmware version according to the current firmware version and the multiple difference files; and complete the firmware refresh operation on the flash memory component according to the target firmware version; The firmware refresh of the flash memory component is completed through the interaction between the logic processing component and the controller; the logic processing component adopts a field programmable logic gate array, the controller adopts a baseboard management controller, the storage component adopts an electrically erasable programmable read-only memory, and the storage component stores different versions of differential files.

6. The firmware version updating system according to claim 5, characterized in that: The flash memory components include BIOSFlash and BMC Flash.

7. The firmware version updating system according to claim 6, characterized in that: When the change instruction is a BIOS Flash firmware change instruction; accordingly, the logic processing component is used to obtain the firmware version corresponding to the BIOS Flash firmware change instruction from the controller and obtain the original firmware version from the BIOS Flash when receiving the BIOS Flash firmware change instruction transmitted by the controller; and recording the difference file in the BIOS area of ​​the storage component; When the change instruction is a BMC Flash firmware change instruction; accordingly, the logic processing component is used to obtain the firmware version corresponding to the BMC Flash firmware change instruction from the controller when receiving the BMC Flash firmware change instruction transmitted by the controller, obtain the original firmware version from the BMC Flash, and record the difference file to the BMC area of ​​the storage component.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the firmware version refresh method according to any one of claims 1 to 3 are implemented.

Citation Information

Patent Citations

  • Update data generating apparatus and information device, as well as program

    US20110179408A1