Firmware set updating method

By introducing a firmware set update method that automatically recognizes and generates recommended update combinations in the server management system, the problems of low efficiency and unpredictable compatibility of manual firmware updates are solved, and automated updates are realized, reducing operation and maintenance costs and system failure risks.

CN119829098APending Publication Date: 2025-04-15SHENZHEN YIWANKE DATA EQUIP TECH CO LTD
View PDF 0 Cites 3 Cited by

Patent Information

Application Number
CN202411944207.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

In the existing server management system, firmware updates need to be manually imported one by one, resulting in wasted operation and maintenance time and cost, and it is difficult to predict firmware compatibility, which is prone to failure.

Method used

Provide a firmware set update method, automatically identify the recommended update combination in the firmware set through the substrate management controller BMS, and automatically execute the firmware update process. The method includes obtaining the firmware set, identifying the firmware type and version, generating a recommended update combination, and automatically updating the firmware according to user instructions or recommended combinations.

Benefits of technology

This method can automate the firmware update process, save operation and maintenance costs, reduce system failures caused by firmware incompatibility, and improve system reliability and stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119829098A_ABST
    Figure CN119829098A_ABST
Patent Text Reader

Abstract

The invention provides a firmware set updating method, which is executed in a BMS (Baseboard Management Controller), and comprises the following steps: acquiring a firmware set and storing the firmware set in a nonvolatile memory, the firmware set comprising more than one firmware, and each firmware comprising more than one version; identifying the firmware type and the firmware version of each firmware in the firmware set; according to a preset firmware adaptation table and the firmware type and the firmware version of each firmware in the firmware set, generating a recommended update combination formed by each firmware in the firmware set; and according to a user instruction, reading the firmware selected by the user from the nonvolatile memory for automatic updating or reading the firmware corresponding to the recommended updating combination from the nonvolatile memory for automatic updating. According to the firmware set updating method provided by the invention, the recommended updating combination in the firmware set can be automatically identified and the firmware updating process can be automatically executed, so that the operation and maintenance cost can be saved.
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 management, and in particular to a firmware set updating method. Background Art

[0002] In modern server system management, firmware updates are an important part of ensuring system security and stable performance. However, with the increase of management modules in the server management system, the number of firmware updates required has also increased significantly. In the prior art, it is usually necessary to manually import and update the firmware one by one. This update method greatly wastes operation and maintenance time and labor costs. At the same time, since the compatibility of the firmware cannot be predicted when the firmware is manually imported, it is also easy to cause failures caused by incompatibility of the firmware. Summary of the invention

[0003] The firmware set updating method provided by the present invention can automatically identify the recommended update combination in the firmware set and automatically execute the firmware updating process, which is beneficial to saving operation and maintenance costs.

[0004] The present invention provides a firmware set updating method, which is executed in a baseboard management controller BMS, and the method comprises:

[0005] Acquire a firmware set and store it in a non-volatile memory, wherein the firmware set includes more than one firmware, and each firmware includes more than one version;

[0006] Identifying the firmware type and firmware version of each firmware in the firmware set;

[0007] Generate a recommended update combination formed by each of the firmware in the firmware set according to a preset firmware adaptation table, a firmware type and a firmware version of each of the firmware in the firmware set;

[0008] According to the user instruction, the firmware selected by the user is read from the non-volatile memory for automatic update or the firmware corresponding to the recommended update combination is read from the non-volatile memory for automatic update.

[0009] Optionally, the identifying the firmware type and firmware version of each firmware in the firmware set includes:

[0010] Using a file suffix matching method, the file suffix names corresponding to the firmwares are identified to determine the firmware type and firmware version of the firmwares; or,

[0011] Using a file type identification method, calling a corresponding application programming interface in the system, identifying the file category field in the file header of the file corresponding to each of the firmware, so as to determine the firmware type and firmware version of each of the firmware; or,

[0012] The file feature recognition method is adopted to compare the capacity or data format of the file corresponding to each of the firmwares to determine the firmware type and firmware version of each of the firmwares.

[0013] Optionally, generating a recommended update combination formed by each firmware in the firmware set according to a preset firmware adaptation table, a firmware type and a firmware version of each firmware in the firmware set includes:

[0014] Acquire the preset firmware adaptation table, wherein the firmware adaptation table includes firmware combinations formed by multiple versions of the multiple firmwares and scores corresponding to the firmware combinations;

[0015] Arrange and combine the firmware in the firmware set to form a complete firmware combination;

[0016] The full firmware combination is matched with the firmware adaptation table to obtain the recommended update combination.

[0017] Optionally, the arranging and combining the firmware in the firmware set to form a complete firmware combination includes:

[0018] When more than one type of firmware in the firmware set has more than one firmware version, the firmware in the firmware set are arranged and combined so that each combination contains at least one firmware and each combination contains at most one firmware of a single firmware type, so as to form the full firmware combination.

[0019] Optionally, matching the full firmware combination with the firmware adaptation table to obtain the recommended update combination includes:

[0020] A first firmware combination is obtained in which the scores of each combination in the firmware adaptation table meet the first preset condition and the number of firmware updates required meets the second preset condition, and the first firmware combination is determined as the recommended update combination.

[0021] Optionally, matching the full firmware combination with the firmware adaptation table to obtain the recommended update combination includes:

[0022] Using the firmware that needs to be updated in each firmware combination in the full firmware combination, replacing the corresponding firmware in the currently installed firmware to form a combination to be processed;

[0023] Searching the firmware adaptation table for a score corresponding to the combination to be processed;

[0024] The recommended update combination is determined according to the scores corresponding to the to-be-processed combinations.

[0025] Optionally, the step of reading the firmware selected by the user from the non-volatile memory for automatic update or reading the firmware corresponding to the recommended update combination from the non-volatile memory for automatic update according to the user instruction includes:

[0026] Get the user's configuration instructions;

[0027] When the configuration instruction is used to instruct automatic updating according to the firmware selected by the user, reading the firmware selected by the user from the non-volatile memory for automatic updating;

[0028] When the configuration instruction is used to instruct automatic updating according to the firmware corresponding to the recommended update combination, the firmware corresponding to the recommended update combination is read from the non-volatile memory for automatic updating.

[0029] Optionally, the step of reading the firmware selected by the user from the non-volatile memory for automatic update or reading the firmware corresponding to the recommended update combination from the non-volatile memory for automatic update according to the user instruction includes:

[0030] Determining an update sequence according to the firmware types included in the firmware selected by the user, or determining an update sequence according to the firmware types included in the firmware corresponding to the recommended update combination;

[0031] According to the update sequence, the firmware selected by the user is updated one by one or the firmware corresponding to the recommended update combination is updated; wherein, after each firmware update is completed, the terminal is restarted, and after the restart, the firmware currently required to be updated stored in the non-volatile memory is obtained and the firmware currently required to be updated is updated.

[0032] Optionally, determining the update sequence according to the firmware types included in the firmware selected by the user, or determining the update sequence according to the firmware types included in the firmware corresponding to the recommended update combination includes:

[0033] When the firmware selected by the user includes the baseboard management controller firmware or the firmware corresponding to the recommended update combination includes the baseboard management controller firmware, the baseboard management controller firmware is determined as the last in the update sequence, and the update sequence of the firmware other than the baseboard management controller firmware is determined according to the user instruction or configuration;

[0034] When the firmware selected by the user does not include the baseboard management controller firmware or the firmware corresponding to the recommended update combination does not include the baseboard management controller firmware, the update order of each firmware is determined according to a user instruction or configuration.

[0035] Optionally, after reading the firmware selected by the user from the non-volatile memory for automatic updating according to the user instruction or reading the firmware corresponding to the recommended update combination from the non-volatile memory for automatic updating, the method further includes:

[0036] Matching a firmware combination formed by each of the firmwares installed after the update with the firmware adaptation table to obtain a first score of the firmware combination formed by each of the firmwares installed after the update;

[0037] When the first score is lower than a preset score threshold, an alarm message is sent to the user.

[0038] In the technical solution provided by the present invention, after obtaining the firmware set, the firmware type and firmware version are first automatically identified. After the identification is completed, the firmware type and firmware version are matched according to the preset firmware adaptation table to obtain the recommended update combination, and the optimal firmware update combination is automatically identified for the user. After the user determines the firmware that needs to be updated, the corresponding firmware can be read from the non-volatile memory and automatically updated. Utilizing the technical solution provided by the present application, the time and labor costs required for operation and maintenance can be effectively reduced. At the same time, the compatibility of multiple firmwares can also be diagnosed, reducing the risk of system bugs caused by firmware incompatibility, thereby improving the reliability and stability of the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 A flowchart of a firmware set updating method according to an embodiment of the present invention;

[0040] Figure 2 A flowchart of generating a recommended update combination for a firmware set update method according to another embodiment of the present invention;

[0041] Figure 3 A flowchart of generating a recommended update combination for a firmware set update method according to another embodiment of the present invention;

[0042] Figure 4 A flowchart of a firmware set update method for automatically updating firmware according to another embodiment of the present invention;

[0043] Figure 5 A flowchart of a firmware set update method for automatically updating firmware according to another embodiment of the present invention;

[0044] Figure 6 The present invention is another embodiment of the firmware set update method of the present invention. DETAILED DESCRIPTION

[0045] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings 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.

[0046] The embodiment of the present invention provides a firmware set update method, which is executed in a baseboard management controller BMS, such as Figure 1 As shown, the method includes:

[0047] Step 100, obtaining a firmware set and storing it in a non-volatile memory, wherein the firmware set includes more than one firmware, and each firmware includes more than one version;

[0048] In some embodiments, the firmware set may include, for example, a set formed by a combination of one or more firmware such as a basic input and output system BIOS, a management engine ME, a baseboard management controller BMC, a complex programmable logic device CPLD, etc. In the firmware set, the versions of the aforementioned types of firmware may include one or more. When acquiring the firmware, the BMS may receive the firmware set uploaded by the user in an in-band or out-of-band manner, or may acquire it from a pre-set path by means of timed acquisition or the like. When receiving the firmware set uploaded by the user, the user may upload it in an in-band manner, for example, the user may log in to the background of the BMC and copy the firmware to be upgraded to a specified directory; the user may also upload it in an out-of-band manner, for example, log in to the BMC Web interface and enter the firmware files in sequence through the file input box. The firmware in the firmware set may be a complete compressed package or a plurality of continuous scattered small files. For example, when the user needs to update the three firmwares BIOS.rom, BMC.ima, and CPLD.vme, the user may upload the three firmware files in sequence, or compress the three files into a compressed package of any format and upload it, or compress any two of the files into a package, and then upload the compressed package and the remaining files in sequence.

[0049] Step 200, identifying the firmware type and firmware version of each firmware in the firmware set;

[0050] In some embodiments, the process of identifying the firmware type and firmware version of each firmware in the firmware set is automatic identification, and the identification means may adopt a method of writing a script or calling a file application programming interface API to write an executable file.

[0051] Step 300, generating a recommended update combination formed by each firmware in the firmware set according to a preset firmware adaptation table, the firmware type and the firmware version of each firmware in the firmware set;

[0052] In some embodiments, the preset firmware adaptation table is a table pre-configured or stored in a non-volatile memory, in which firmware combinations formed by multiple firmware types and multiple firmware versions and scores corresponding to each firmware combination are stored. Based on the firmware adaptation table, the score of the combination formed by the firmware installed in the server after the update of the update combination formed by each firmware type and firmware version in the firmware set can be determined, thereby determining the recommended update combination.

[0053] Step 400: According to a user instruction, the firmware selected by the user is read from the non-volatile memory for automatic update or the firmware corresponding to the recommended update combination is read from the non-volatile memory for automatic update.

[0054] In some embodiments, the user can select the firmware to be updated this time, or can choose to update the firmware corresponding to the recommended update combination. After the user selects the firmware range to be updated, the firmware update is automatically completed. The non-volatile storage (such as Flash) of the baseboard management controller BMC stores an update script toolkit, and the firmware is updated one by one using the update script toolkit in a certain order until all updates are completed. Since the server needs to be restarted after each firmware update is completed, a driver for updating the firmware package needs to be written in the BMC. The driver finds the update script toolkit in the non-volatile storage (such as Flash) of the baseboard management controller BMC every time the server is hot restarted (i.e., AC restart) to update the firmware that needs to be updated in this round.

[0055] As an optional implementation, in step 200, identifying the firmware type and firmware version of each firmware in the firmware set includes:

[0056] Using the file suffix matching method, the file suffix names corresponding to each firmware are identified to determine the firmware type and firmware version of each firmware; or,

[0057] Adopting the file type identification method, calling the corresponding application programming interface in the system, identifying the file category field in the file header of the file corresponding to each firmware, so as to determine the firmware type and firmware version of each firmware; or,

[0058] The file feature recognition method is adopted to compare the capacity or data format of the files corresponding to each firmware to determine the firmware type and firmware version of each firmware.

[0059] In some embodiments, when identifying the firmware in the firmware set, it is necessary to decompress all the obtained firmware packages, and then identify the decompressed files. For example, the file suffix matching method can be used for identification, and files with specific suffix names can be identified. For example, files with the .vmw suffix are usually files corresponding to CPLD firmware. The file type identification method can also be used for identification, and the file category field in the file header is read by calling the system application programming interface API to identify the file type. The file feature identification method can also be used for identification, and the version and category of a specific file can be identified by comparing the file capacity size and the file data format.

[0060] As an optional implementation, Figure 2 As shown, in step 300, generating a recommended update combination formed by each firmware in the firmware set according to the preset firmware adaptation table, the firmware type and the firmware version of each firmware in the firmware set includes:

[0061] Step 310, obtaining a preset firmware adaptation table, wherein the firmware adaptation table includes firmware combinations formed by multiple versions of multiple firmwares and scores corresponding to the firmware combinations;

[0062] In some embodiments, the preset firmware adaptation table is a pre-configured or stored table file, which records the firmware combinations formed by multiple versions of multiple firmware and the corresponding scores. For example, the following table can be used as the firmware adaptation table:

[0063] ME Version CPLD Version BIOS version BMC version Score ME Version CPLD Version BIOS version BMC version Score Combination 1 v1.0 v1.0 v1.0 v1.0 40 Combination 13 v1.0 v2.0 v2.0 v1.0 72 Combination 2 v1.0 v1.0 v1.0 v2.0 45 Combination 14 v1.0 v2.0 v2.0 v2.0 77 Combination 3 v1.0 v1.0 v1.0 v3.0 48 Combination 15 v1.0 v2.0 v2.0 v3.0 73 Combination 4 v1.0 v1.0 v1.0 v4.0 44 Combination 16 v1.0 v2.0 v2.0 v4.0 70 Combination 5 v1.0 v1.0 v2.0 v1.0 48 Combination 17 v1.0 v3.0 v1.0 v1.0 58 Combination 6 v1.0 v1.0 v2.0 v2.0 55 Combination 18 v1.0 v3.0 v1.0 v2.0 57 Combination 7 v1.0 v1.0 v2.0 v3.0 60 Combination 19 v1.0 v3.0 v1.0 v3.0 55 Combination 8 v1.0 v1.0 v2.0 v4.0 60 Combination 20 v1.0 v3.0 v1.0 v4.0 88 Combination 9 v1.0 v2.0 v1.0 v1.0 50 Combination 21 v1.0 v3.0 v2.0 v1.0 89 Combination 10 v1.0 v2.0 v1.0 v2.0 70 Combination 22 v1.0 v3.0 v2.0 v2.0 90 Combination 11 v1.0 v2.0 v1.0 v3.0 69 Combination 23 v1.0 v3.0 v2.0 v3.0 92 Combination 12 v1.0 v2.0 v1.0 v4.0 70 Combination 24 v1.0 v3.0 v2.0 v4.0 95

[0064] In some preferred embodiments, the aforementioned firmware adaptation table can be constructed based on the prior data of each firmware combination. During the construction process, the score of each combination can be determined based on the actual performance impact of the combination of multiple firmware and multiple versions on the server performance during operation. Generally, the better the server performance of a single combination during operation, the higher the score will be. In order to objectively evaluate and compare the quality performance and adaptability of multiple firmware combinations. For example, the overall score of the firmware combination can be divided into three main parts: the score of the downtime category, the score of the display abnormality and functional failure category, and the score of the performance category, and weights are assigned according to their importance. For example, the weight assigned to the downtime category score is W1=50%, the score of the display abnormality and functional failure category score is W2=35%, and the score of the performance category score is W3=15%.

[0065] For the downtime score, the basic score is set according to the degree of harm caused by the stage where the downtime occurs. For example, when the motherboard hardware cannot be powered on normally, the basic score is S_{base1}=30, when the BIOS is down, the basic score is S_{base2}=50, and when the CPU operating system successfully starts but other components are down, the basic score is S_{base3}=70. In order to further characterize the degree of harm caused by the downtime at each stage, an additional score S_{addon} is also set. The additional score S_{addon} is usually proportional to the sequence number N of the stage where the downtime occurs in the power-on startup process. That is, first, the total score of the additional score is evenly distributed to each stage in the total number of stages S_{all} from the successful operation of BIOS to the OS, and then the sequence number N of the stage where the downtime occurs is multiplied by the average score to obtain the additional score. Finally, the basic score and the additional score are added together to obtain the downtime score. For example, the BIOS needs to go through the five stages of "SEC stage - PEI stage - DXE stage - BDS stage - TSL stage" to run successfully to the OS. If the current firmware combination of the server can run to the DXE stage (stage 3) of the BIOS before crashing, the score calculation for the crash category is:

[0066] S_{total1}=S_{base2}+S_{max} / S_{all}*N=50+30 / 5*3=68.

[0067] For the display anomaly and functional failure scores, they can be mainly divided into two parts: display score S_{display} and function score S_{function}. Among them, for the display score S_{display}, the display score can be calculated based on the total display score S_{displaymax} and the number of faults n detected by the character information related to the SMBIOS specification and various logo image information. For example, when the highest display score is 40 points and n faults are detected, the display score is S_{display} = S_{displaymax} / (n+1) = 40 / (n+1). For the function score S_{function}, similar to the calculation process of the display score S_{display}, the function score can be calculated based on the total function score S_{functionmax} and the number of major faults m detected in the six major functions of CPU internal function, PCIe bus function, peripheral bus function, storage function, security function, and other functions. For example, when the highest function score is 60 points and m faults are detected, the function score is S_{function}=S_{functionmax} / (m+1)=60 / (m+1). Finally, the display score and the function score are added together to get the display abnormality and function failure score. For example, when 3 display faults are detected and no faults of major functions are detected, the display abnormality and function failure score is:

[0068] S_{total2}=S_{display}+S_{function}

[0069] =S_{displaymax} / (n+1)+S_{functionmax} / (m+1)=40 / (3+1)+60 / (0+1)=70

[0070] For the performance part, the scoring can be divided into three categories: boot speed score S_{speed}, stability score S_{fixity} and energy consumption score S_{energy}. The total score of the three scores can be specified, for example, the total score of the boot speed score is 40 points, the total score of the stability score is 30 points, and the total score of the energy consumption score is 30 points. When calculating the above three scores, the corresponding data can be tested according to the specified test method, and then the score can be calculated according to the specified calculation formula. For example, for the boot speed part, the specified measurement method is to detect the total duration of the entire process from powering on the server to entering the OS login interface under the condition of minimum memory and hard disk. When the duration is less than X seconds, the score is calculated in the range of 20-40 points according to the decreasing concave function relationship; when the duration is greater than X seconds, the score is calculated in the range of 0-20 points according to the decreasing convex function relationship; the relationship can be fitted with the simplest quadratic function.

[0071] After obtaining the scores for downtime, display anomalies and functional failures, and performance, they can be weighted and summed according to their corresponding weights, that is, the total score can be calculated according to the following formula:

[0072] S_{total}=W1*S_{total1}+W2*S_{total2}+W3*S_{total3}

[0073] It should be noted that in the aforementioned embodiment, the maximum score of S_{total1} is 100 points, the maximum score of S_{total2} is 100 points, the maximum score of S_{total3} is 100 points, and the maximum score of the total score S_{total} is 100 points. This scoring method can effectively reflect the overall performance of the firmware combination in terms of stability and functional integrity.

[0074] Step 320, arranging and combining the firmware in the firmware set to form a complete firmware combination;

[0075] In some embodiments, arranging and combining the firmware in the firmware set means that all versions of all firmware in the firmware set are regarded as N original element sets (N is the total number of firmware types), and one element is taken from each original element set for full combination to obtain a set of all possible firmware combinations. That is, multiple versions of firmware of the same firmware type are regarded as one original element set, and when combining, one element is taken from each original element set for combination.

[0076] Step 330: Match the full firmware combination with the firmware adaptation table to obtain the recommended update combination.

[0077] In some embodiments, since the firmware adaptation table records the combinations formed by various types and versions of firmware and the corresponding scores, the score of the updated firmware combination can be obtained by matching the full firmware combination with the firmware adaptation table. Therefore, a better update combination, i.e., a recommended update combination, can be obtained based on the score.

[0078] As an optional implementation, in step 320, the arranging and combining the firmware in the firmware set to form a complete firmware combination includes:

[0079] When more than one type of firmware in the firmware set has more than one firmware version, the firmware in the firmware set are arranged and combined so that each combination contains at least one firmware and each combination contains at most one firmware of a single firmware type, so as to form a complete firmware combination.

[0080] In some embodiments, in the firmware set, there may be a situation where one or several firmwares have multiple versions. However, in actual update, for the same type of firmware, only one version of the firmware can be selected for update. Therefore, when forming a full firmware combination, each combination contains at least one firmware, and the firmware of a single firmware type in each combination contains at most one firmware. An exemplary full combination method and the corresponding score after matching with the firmware adaptation table are provided as follows:

[0081]

[0082]

[0083] As an optional implementation, in step 330, matching the full firmware combination with the firmware adaptation table to obtain the recommended update combination includes:

[0084] A first firmware combination is obtained, in which the scores of each combination in the firmware adaptation table meet the first preset condition and the number of firmware updates required meets the second preset condition, and the first firmware combination is determined as the recommended update combination.

[0085] In some embodiments, the first preset condition may be, for example, the firmware combination with the highest score, and the second preset condition may be, for example, the firmware combination with the least firmware update required. In some preferred embodiments, the firmware combination with the score that meets the first preset condition should have a higher priority, that is, when there are firmware combinations with the same score and the score is higher than other firmware combinations, further judgment is made based on the number of firmware updates required, and the firmware combination with the less number of firmware updates required is selected as the recommended update combination.

[0086] As an optional implementation, Figure 3 As shown, in step 330, matching the full firmware combination with the firmware adaptation table to obtain the recommended update combination includes:

[0087] Step 331, using the firmware that needs to be updated in each firmware combination in the full firmware combination to replace the corresponding firmware in the currently installed firmware to form a combination to be processed;

[0088] In some embodiments, since the score of the firmware combination formed after the update should be considered before the update, in this embodiment, the firmware to be updated is used to replace the corresponding firmware in the installed firmware, and then the replaced firmware combination is scored.

[0089] Step 332, searching the firmware adaptation table for a score corresponding to the combination to be processed;

[0090] In some embodiments, the firmware adaptation table records the scores corresponding to the firmware combinations formed by various types and versions of firmware. Therefore, in this embodiment, the corresponding processing combination is searched in the firmware adaptation table to obtain the corresponding score.

[0091] Step 333: Determine a recommended update combination according to the scores corresponding to the combination to be processed.

[0092] In some embodiments, the scores of multiple pending combinations are compared, and the pending combination with the highest score and the least amount of firmware to be updated is selected as the recommended update combination.

[0093] As an optional implementation, Figure 4 As shown, in step 400, the process of reading the firmware selected by the user from the non-volatile memory for automatic update or reading the firmware corresponding to the recommended update combination from the non-volatile memory for automatic update according to the user instruction includes:

[0094] Step 410, obtaining the user's configuration instructions;

[0095] In some embodiments, in this step, before automatically updating the components, the user determines how to update the firmware. The selectable options can be set, for example, in the following ways: first, update according to the firmware update range specified by the user; second, update according to the recommended update combination.

[0096] Step 420, when the configuration instruction is used to instruct automatic updating according to the firmware selected by the user, reading the firmware selected by the user from the non-volatile memory for automatic updating;

[0097] In some embodiments, when the user instructs to update according to the firmware selected by the user, the user specifies the firmware to be updated, and after the user determines the firmware to be updated, the automatic update starts.

[0098] Step 430: When the configuration instruction is used to instruct to automatically update the firmware corresponding to the recommended update combination, the firmware corresponding to the recommended update combination is read from the non-volatile memory for automatic update.

[0099] In some embodiments, when the user instructs to update the firmware corresponding to the recommended update combination, the user is no longer required to specify the firmware to be updated, and the firmware corresponding to the recommended update combination is automatically updated one by one.

[0100] As an optional implementation, Figure 5As shown, in step 400, according to the user instruction, reading the firmware selected by the user from the non-volatile memory for automatic update or reading the firmware corresponding to the recommended update combination from the non-volatile memory for automatic update includes:

[0101] Step 440, determining the update sequence according to the firmware types included in the firmware selected by the user, or determining the update sequence according to the firmware types included in the firmware corresponding to the recommended update combination;

[0102] In some embodiments, since the method for automatically updating the firmware is executed in the baseboard management controller, it is necessary to ensure that the baseboard management controller is the last firmware to be updated. Therefore, when the firmware to be updated includes the firmware of the baseboard management controller, it needs to be placed last for update. When the firmware of the baseboard management controller is not included, it can be updated according to the order specified by the user or the random order or the update order determined by other methods.

[0103] Step 450, according to the update sequence, updates the firmware selected by the user one by one or updates the firmware corresponding to the recommended update combination; wherein, after each firmware update is completed, the terminal is restarted, and after the restart, the firmware currently required to be updated stored in the non-volatile memory is obtained and the firmware currently required to be updated is updated.

[0104] In some embodiments, since each firmware needs to restart the server after the update is completed in order for the updated firmware to run, in this step, the terminal is restarted after each firmware update is completed. After the restart, the firmware required to be updated after this restart is obtained from the non-volatile memory again for update.

[0105] As an optional implementation, in step 440, determining the update order according to the firmware type included in the firmware selected by the user, or determining the update order according to the firmware type included in the firmware corresponding to the recommended update combination includes:

[0106] When the firmware selected by the user includes the baseboard management controller firmware or the firmware corresponding to the recommended update combination includes the baseboard management controller firmware, the baseboard management controller firmware is determined to be the last in the update sequence, and the update sequence of the firmware other than the baseboard management controller firmware is determined according to the user instruction or configuration;

[0107] When the firmware selected by the user does not include the baseboard management controller firmware or the firmware corresponding to the recommended update combination does not include the baseboard management controller firmware, the update order of each firmware is determined according to the user instruction or configuration.

[0108] In some embodiments, since the method for automatically updating the firmware is executed in the baseboard management controller, it is necessary to ensure that the baseboard management controller is the last firmware to be updated. Therefore, when the firmware to be updated includes the firmware of the baseboard management controller, it needs to be placed last for update, and other firmware can be updated according to the order specified by the user, random order, or update order determined by other methods. When the firmware of the baseboard management controller is not included, it can be updated according to the order specified by the user, random order, or update order determined by other methods.

[0109] As an optional implementation, Figure 6 As shown, in step 400, after the firmware selected by the user is read from the non-volatile memory for automatic update according to the user instruction or the firmware corresponding to the recommended update combination is read from the non-volatile memory for automatic update, the method further includes:

[0110] Step 500, matching the firmware combination formed by the firmware installed after the update with the firmware adaptation table to obtain a first score of the firmware combination formed by the firmware installed after the update;

[0111] Step 600: When the first score is lower than a preset score threshold, an alarm message is sent to the user.

[0112] In some embodiments, after the firmware update is completed, the time of the firmware update and the firmware layer compatibility can be displayed on the control interface of the baseboard management controller BMC. When the score of the updated firmware combination is lower than the preset threshold, it indicates that the current firmware combination is prone to failure during operation, so a warning needs to be issued to the user. For example, when the score is lower than 50 points, a related firmware compatibility warning needs to be recorded in the BMC alarm log.

[0113] In the aforementioned embodiments, the efficiency and accuracy of firmware updates are greatly improved through intelligent firmware identification and adaptation selection mechanisms, while optimizing the stability of the system and user operation experience. Since the aforementioned embodiments can automatically identify firmware and form recommended update combinations, the need for manual intervention and monitoring is reduced, saving a lot of operation and maintenance human resource costs. According to actual data statistics, the operation and maintenance costs can be reduced by at least 30% by using the aforementioned embodiments to update the firmware. At the same time, the aforementioned embodiments will provide recommended update combinations, which can effectively reduce system failures and performance problems caused by incompatible firmware versions. Through actual testing and comparative analysis, the system stability has been significantly improved, and the failure rate has been reduced by at least 20%. In addition, the aforementioned embodiments can also automatically record and display update logs and fitness scores during the update process, provide real-time feedback and alarm mechanisms, help operation and maintenance personnel quickly locate and solve problems, and significantly improve management efficiency. Management efficiency indicators show that update management time and manpower input have been reduced by at least 25%.

[0114] Based on the advantages of the aforementioned embodiments, the aforementioned embodiments have broad application prospects:

[0115] First, in cloud service providers and virtualized environments, the stability and performance of servers are crucial to the overall service quality. The firmware update methods provided in the aforementioned embodiments can help cloud service providers effectively manage firmware updates for large-scale server clusters and improve service stability and security. Therefore, the aforementioned embodiments can be applied in the fields of cloud computing and virtualized environments.

[0116] Second, since the fields of HPC and big data analysis rely on efficient and reliable computing resources, the stability and performance of the server have an important impact on the efficiency of task execution. The firmware update method provided by the aforementioned embodiments can realize intelligent firmware management of HPC clusters and big data processing servers and optimize system operation efficiency. Therefore, the aforementioned embodiments can be applied to the fields of high performance computing (HPC) and big data analysis.

[0117] Third, since financial institutions and trading systems have extremely high requirements for server stability and data security, the firmware update methods provided in the aforementioned embodiments can provide financial service providers with efficient and secure firmware update solutions to ensure the continuous operation of the trading system and the security of data. Therefore, the aforementioned embodiments can be applied to the fields of financial services and trading systems.

[0118] Fourth, since online service platforms such as e-commerce and social media have strict requirements on server stability and response speed to ensure user experience and data security, the aforementioned implementations can optimize server firmware management of e-commerce and online service platforms and improve service reliability and efficiency. Therefore, the aforementioned implementations can be applied to the fields of e-commerce and online service platforms.

[0119] Fifth, since scientific research institutions and educational institutions usually have a large number of server devices to support scientific research and teaching activities. The firmware update methods provided in the above embodiments can help scientific research and educational institutions improve the management efficiency of servers, reduce operation and maintenance costs, and ensure the smooth progress of scientific research and teaching activities. Therefore, the above embodiments can be applied to the field of scientific research and educational institutions.

[0120] Those skilled in the art can understand that all or part of the processes in the above method embodiments can be implemented by instructing related hardware through a server program, and the program can be stored in a server-readable storage medium, and when the program is executed, it can include the processes in the above method embodiments. The storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.

[0121] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed by the present invention should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.

Claims

1. A firmware set updating method, characterized in that: Executed in a baseboard management controller BMS, the method includes: Acquire a firmware set and store it in a non-volatile memory, wherein the firmware set includes more than one firmware, and each firmware includes more than one version; Identifying the firmware type and firmware version of each firmware in the firmware set; Generate a recommended update combination formed by each of the firmware in the firmware set according to a preset firmware adaptation table, a firmware type and a firmware version of each of the firmware in the firmware set; According to a user instruction, the firmware selected by the user is read from the non-volatile memory for automatic updating or the firmware corresponding to the recommended update combination is read from the non-volatile memory for automatic updating.

2. The method according to claim 1, characterized in that The identifying the firmware type and firmware version of each firmware in the firmware set includes: Using a file suffix matching method, the file suffix names corresponding to the firmwares are identified to determine the firmware type and firmware version of the firmwares; or, Using a file type identification method, calling a corresponding application programming interface in the system, identifying the file category field in the file header of the file corresponding to each of the firmware, so as to determine the firmware type and firmware version of each of the firmware; or, The file feature recognition method is adopted to compare the capacity or data format of the file corresponding to each of the firmwares to determine the firmware type and firmware version of each of the firmwares.

3. The method according to claim 1, characterized in that: The generating a recommended update combination formed by each firmware in the firmware set according to the preset firmware adaptation table, the firmware type and the firmware version of each firmware in the firmware set comprises: Acquire the preset firmware adaptation table, wherein the firmware adaptation table includes firmware combinations formed by multiple versions of the multiple firmwares and scores corresponding to the firmware combinations; Arrange and combine the firmware in the firmware set to form a complete firmware combination; The full firmware combination is matched with the firmware adaptation table to obtain the recommended update combination.

4. The method according to claim 3, characterized in that Arranging and combining the firmware in the firmware set to form a complete firmware combination includes: When more than one type of firmware in the firmware set has more than one firmware version, the firmware in the firmware set are arranged and combined so that each combination contains at least one firmware and each combination contains at most one firmware of a single firmware type, so as to form the full firmware combination.

5. The method according to claim 3, characterized in that: The matching the full firmware combination with the firmware adaptation table to obtain the recommended update combination includes: A first firmware combination is obtained in which the scores of each combination in the firmware adaptation table meet the first preset condition and the number of firmware updates required meets the second preset condition, and the first firmware combination is determined as the recommended update combination.

6. The method according to claim 3, characterized in that The matching the full firmware combination with the firmware adaptation table to obtain the recommended update combination includes: Using the firmware that needs to be updated in each firmware combination in the full firmware combination, replacing the corresponding firmware in the currently installed firmware to form a combination to be processed; Searching the firmware adaptation table for a score corresponding to the combination to be processed; The recommended update combination is determined according to the scores corresponding to the to-be-processed combinations.

7. The method according to claim 1, characterized in that The step of reading the firmware selected by the user from the non-volatile memory for automatic update or reading the firmware corresponding to the recommended update combination from the non-volatile memory for automatic update according to the user instruction includes: Get the user's configuration instructions; When the configuration instruction is used to instruct automatic updating according to the firmware selected by the user, reading the firmware selected by the user from the non-volatile memory for automatic updating; When the configuration instruction is used to instruct to automatically update the firmware corresponding to the recommended update combination, the firmware corresponding to the recommended update combination is read from the non-volatile memory for automatic update.

8. The method according to claim 1, characterized in that: The step of reading the firmware selected by the user from the non-volatile memory for automatic update or reading the firmware corresponding to the recommended update combination from the non-volatile memory for automatic update according to the user instruction includes: Determining an update order according to the firmware types included in the firmware selected by the user, or determining an update order according to the firmware types included in the firmware corresponding to the recommended update combination; According to the update sequence, the firmware selected by the user is updated one by one or the firmware corresponding to the recommended update combination is updated; wherein, after each firmware update is completed, the terminal is restarted, and after the restart, the firmware currently required to be updated stored in the non-volatile memory is obtained and the firmware currently required to be updated is updated.

9. The method according to claim 8, characterized in that The determining of the update sequence according to the firmware types included in the firmware selected by the user, or the determining of the update sequence according to the firmware types included in the firmware corresponding to the recommended update combination includes: When the firmware selected by the user includes the baseboard management controller firmware or the firmware corresponding to the recommended update combination includes the baseboard management controller firmware, the baseboard management controller firmware is determined as the last in the update sequence, and the update sequence of the firmware other than the baseboard management controller firmware is determined according to the user instruction or configuration; When the firmware selected by the user does not include the baseboard management controller firmware or the firmware corresponding to the recommended update combination does not include the baseboard management controller firmware, the update order of each firmware is determined according to the user instruction or configuration.

10. The method according to claim 1, characterized in that After reading the firmware selected by the user from the non-volatile memory for automatic update according to the user instruction or reading the firmware corresponding to the recommended update combination from the non-volatile memory for automatic update according to the user instruction, the method further includes: Matching a firmware combination formed by each of the firmwares installed after the update with the firmware adaptation table to obtain a first score of the firmware combination formed by each of the firmwares installed after the update; When the first score is lower than a preset score threshold, an alarm message is sent to the user.

Citation Information

Cited By

  • Firmware updating method, electronic equipment and storage medium

    CN120428992A

  • Firmware update methods, electronic devices and storage media

    CN120428992B

  • Firmware updating method, electronic equipment, firmware updating device and firmware updating system

    CN120428995A