Firmware configuration verification method and device, management controller and storage medium
By setting multiple independent storage areas in the management controller and comparing the firmware profile, we can determine a reliable firmware profile, which solves the problem of unreliable startup of the management controller when the firmware profile is damaged, and achieves higher startup reliability.
Patent Information
- Application Number
- CN202412000502.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2044-12-31
Smart Images

Figure CN119739435A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of management controllers, and in particular to a firmware configuration verification method, device, management controller and storage medium. Background Art
[0002] The management controller is a common component in server devices. In the related art, in order to achieve higher availability, the management controller can be set with a main firmware file and a backup firmware file. However, the main firmware file and the backup firmware file are based on the same firmware configuration file. When the firmware configuration file is damaged, it is difficult to ensure the normal startup of the management controller. Summary of the invention
[0003] The purpose of the present invention is to provide a firmware configuration verification method, device, management controller and storage medium, which can set multiple firmware configuration files in multiple independent storage areas, and determine a more reliable firmware configuration file by comparing the firmware configuration files in different storage areas, so that startup can be based on the reliable firmware configuration file to ensure the startup reliability of the management controller.
[0004] In order to solve the above technical problems, the present invention provides a firmware configuration verification method, which is applied to a management controller. The management controller has a main firmware storage area, a backup firmware storage area and a public storage area. The main firmware storage area stores a first firmware configuration file, the backup firmware storage area stores a second firmware configuration file, and the public storage area stores a public firmware configuration file. The method includes:
[0005] In the startup phase, the first firmware configuration file, the second firmware configuration file and the common firmware configuration file are compared to obtain a comparison result;
[0006] If the comparison result is that there is a pair of identical firmware configuration files among the first firmware configuration file, the second firmware configuration file and the common firmware configuration file, booting is performed according to the identical firmware configuration files;
[0007] If the comparison result is that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different, startup is performed according to the public firmware configuration file.
[0008] Optionally, the management controller has a main memory and a backup memory, both the main memory and the backup memory have private partitions and public partitions, the private partition of the main memory sets a main firmware storage area, the private partition of the backup memory sets a backup firmware storage area, the public partitions of the main memory and the backup memory jointly set a public storage area, and the private partition of the main memory and the private partition of the backup memory are used for firmware flashing.
[0009] Optionally, the main firmware storage area stores the main firmware file, and the backup firmware storage area stores the backup firmware file;
[0010] Before comparing the first firmware configuration file, the second firmware configuration file, and the public firmware configuration file, the method further includes:
[0011] Determine whether the version number of the main firmware file is the same as the version number of the backup firmware file;
[0012] If the version numbers are different, determining to start based on the backup firmware file, and using the backup firmware file to replace the main firmware file;
[0013] If the version numbers are the same, then compare each data segment in the main firmware file with each data segment in the backup firmware file to determine whether the data in the main firmware file and the backup firmware file are consistent;
[0014] If the data of the main firmware file is consistent with the backup firmware file, it is determined to start based on the main firmware file;
[0015] If the data of the main firmware file is inconsistent with the data of the standby firmware file, determine to start based on the standby firmware file, and use the standby firmware file to replace the main firmware file;
[0016] When determining the firmware file used for startup, the step of comparing the first firmware configuration file, the second firmware configuration file and the common firmware configuration file is entered.
[0017] Optionally, comparing each data segment in the main firmware file with each data segment in the standby firmware file to determine whether the main firmware file and the standby firmware file have consistent data includes:
[0018] The first data segment in the read-only partition of the main firmware storage area is used as the data segment to be processed, and it is determined whether the data segment to be processed is a header file;
[0019] If the data segment to be processed is not a header file, the next data segment in the read-only partition of the main firmware storage area is used as the data segment to be processed, and the step of determining whether the data segment to be processed is a header file is entered;
[0020] If the data segment to be processed is a header file, determining whether the data format of the data segment to be processed is a file system format;
[0021] If the data format of the data segment to be processed is not in the file system format, the next data segment in the read-only partition of the main firmware storage area is used as the data segment to be processed, and the step of determining whether the data segment to be processed is a header file is entered;
[0022] If the data format of the data segment to be processed is the file system format, then determine the offset value of the data segment to be processed in the read-only partition, and use the corresponding data segment in the read-only partition of the backup firmware storage area as the data segment to be compared according to the offset value;
[0023] Calculate a first check value of the data segment to be processed, calculate a second check value of the data segment to be compared, and determine whether the first check value and the second check value are the same;
[0024] If the first check value and the second check value are different, it is determined that the data of the main firmware file and the backup firmware file are inconsistent;
[0025] If the first check value and the second check value are the same, determining whether all data segments in the read-only partition of the main firmware storage area have been processed;
[0026] If the data segment in the read-only partition of the main firmware storage area has not been processed, the next data segment in the read-only partition of the main firmware storage area is used as the data segment to be processed, and the step of determining whether the data segment to be processed is a header file is entered;
[0027] If the data segments in the read-only partition of the main firmware storage area have all been processed, it is determined that the data of the main firmware file is consistent with that of the standby firmware file.
[0028] Optionally, comparing the first firmware configuration file, the second firmware configuration file, and the common firmware configuration file to obtain a comparison result includes:
[0029] Determining whether the first firmware configuration file and the public firmware configuration file are the same;
[0030] If the first firmware configuration file and the public firmware configuration file are the same, generating a comparison result indicating that the first firmware configuration file and the public firmware configuration file are the same;
[0031] If the first firmware configuration file and the public firmware configuration file are not the same, determining whether the second firmware configuration file and the public firmware configuration file are the same;
[0032] If the second firmware configuration file is identical to the public firmware configuration file, generating a comparison result indicating that the second firmware configuration file is identical to the public firmware configuration file;
[0033] If the second firmware configuration file is not the same as the public firmware configuration file, determining whether the first firmware configuration file is the same as the second firmware configuration file;
[0034] If the first firmware configuration file and the second firmware configuration file are the same, generating a comparison result indicating that the first firmware configuration file and the second firmware configuration file are the same;
[0035] If the first firmware configuration file and the second firmware configuration file are not the same, a comparison result is generated indicating that the first firmware configuration file, the second firmware configuration file and the common firmware configuration file are all different.
[0036] Optionally, it also includes:
[0037] If the first firmware configuration file and the second firmware configuration file are the same, updating the public firmware configuration file using the first firmware configuration file;
[0038] If the comparison result is that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different, the first firmware configuration file and the second firmware configuration file are updated using the public firmware configuration file.
[0039] Optionally, it also includes:
[0040] When receiving the updated firmware configuration file, updating the public firmware configuration file using the updated firmware configuration file;
[0041] The first firmware configuration file and the second firmware configuration file are updated using the updated public firmware configuration file.
[0042] Optionally, if the comparison result is that there is a pair of identical firmware configuration files among the first firmware configuration file, the second firmware configuration file, and the common firmware configuration file, booting according to the identical firmware configuration file includes:
[0043] If the comparison result shows that the first firmware configuration file and the second firmware configuration file are the same, booting is performed according to the first firmware configuration file;
[0044] If the comparison result shows that the first firmware configuration file and the public firmware configuration file are the same, booting according to the first firmware configuration file;
[0045] If the comparison result is that the second firmware configuration file is the same as the public firmware configuration file, startup is performed according to the second firmware configuration file.
[0046] The present invention also provides a firmware configuration verification device, which is applied to a management controller. The management controller has a main firmware storage area, a backup firmware storage area and a public storage area. The main firmware storage area stores a first firmware configuration file, the backup firmware storage area stores a second firmware configuration file, and the public storage area stores a public firmware configuration file. The device includes:
[0047] A comparison module, used to compare the first firmware configuration file, the second firmware configuration file and the common firmware configuration file during the startup phase to obtain a comparison result;
[0048] A first startup module, configured to start according to the same firmware configuration file if the comparison result shows that there is a pair of identical firmware configuration files among the first firmware configuration file, the second firmware configuration file and the common firmware configuration file;
[0049] The second startup module is used to start according to the public firmware configuration file if the comparison result shows that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different.
[0050] The present invention also provides a management controller, comprising:
[0051] Memory for storing computer programs;
[0052] The processor is used to implement the above-mentioned firmware configuration verification method when executing a computer program.
[0053] The present invention also provides a non-volatile computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are loaded and executed by a processor, the above-mentioned firmware configuration verification method is implemented.
[0054] The present invention provides a firmware configuration verification method, which is applied to a management controller. The management controller has a main firmware storage area, a standby firmware storage area and a public storage area. The main firmware storage area stores a first firmware configuration file, the standby firmware storage area stores a second firmware configuration file, and the public storage area stores a public firmware configuration file. The method comprises: in a startup phase, comparing the first firmware configuration file, the second firmware configuration file and the public firmware configuration file to obtain a comparison result; if the comparison result is that a pair of identical firmware configuration files exist among the first firmware configuration file, the second firmware configuration file and the public firmware configuration file, startup is performed according to the identical firmware configuration file; if the comparison result is that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different, startup is performed according to the public firmware configuration file.
[0055] It can be seen that the present invention can first set a main firmware storage area, a backup firmware storage area and a public storage area in the management controller, the main firmware storage area stores the first firmware configuration file, the backup firmware storage area stores the second firmware configuration file, and the public storage area stores the public firmware configuration file, so that three firmware configuration files can be set in the three storage areas. Subsequently, in the startup phase, the first firmware configuration file, the second firmware configuration file and the public firmware configuration file can be compared to obtain a comparison result; if the comparison result is that there is a pair of identical firmware configuration files in the first firmware configuration file, the second firmware configuration file and the public firmware configuration file, then the startup is performed according to the same firmware configuration file; if the comparison result is that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different, then the startup is performed according to the public firmware configuration file. In other words, in simple terms, a more reliable firmware configuration file can be determined by comparing the firmware configuration files in different storage areas, and the startup can be performed based on the reliable firmware configuration file, thereby ensuring the startup reliability of the management controller. The present invention also provides a firmware configuration verification device, a management controller and a non-volatile computer-readable storage medium, which have the above-mentioned beneficial effects. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.
[0057] Figure 1 A schematic diagram of a storage area provided by an embodiment of the present invention;
[0058] Figure 2 A schematic diagram of setting storage partitions in a memory provided by an embodiment of the present invention;
[0059] Figure 3 A flowchart of a firmware configuration verification method provided by an embodiment of the present invention;
[0060] Figure 4 A schematic diagram of a configuration file comparison process provided by an embodiment of the present invention;
[0061] Figure 5 A schematic diagram of a rollback process provided by an embodiment of the present invention;
[0062] Figure 6 A structural block diagram of a firmware configuration verification device provided by an embodiment of the present invention;
[0063] Figure 7This is a structural block diagram of a management controller provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0064] 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 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.
[0065] The management controller is a common component in server equipment. Common management controllers may include baseboard management controllers (BMC), iLO managers (Integrated Lightout), remote control cards iDRAC (Integrated Dell Remote Access Controller), etc. In related technologies, in order to achieve higher availability, the management controller may be set with a main firmware file and a backup firmware file. However, the main firmware file and the backup firmware file are based on the same firmware configuration file. When the firmware configuration file is damaged, it is difficult to ensure the normal startup of the management controller.
[0066] In view of this, in order to solve the technical problem of how to improve the reliability of firmware configuration files, the present invention can provide a firmware configuration verification method, which can set multiple firmware configuration files in multiple independent storage areas, and determine a more reliable firmware configuration file by comparing the firmware configuration files in different storage areas, so that startup can be performed based on the reliable firmware configuration file to ensure the startup reliability of the management controller.
[0067] The following first introduces the improvements to the firmware configuration file storage method. For easier understanding, please refer to Figure 1 , Figure 1A schematic diagram of a storage area provided by an embodiment of the present invention. In this embodiment, the management controller has three independent storage areas, namely, a main firmware storage area, a standby firmware storage area and a public storage area. The main firmware storage area stores a first firmware configuration file, the standby firmware storage area stores a second firmware configuration file, and the public storage area stores a public firmware configuration file. Under normal circumstances, the three firmware configuration files store the same firmware configuration, and it can be determined by mutual comparison whether the firmware configuration files store the same firmware configuration. In addition, when updating the firmware file, the main firmware file is only written to the main firmware storage area, the standby firmware file is only written to the standby firmware storage area, and the public storage area is not written and updated. The public storage area is only used to store public firmware storage files in this embodiment. Therefore, after the above improvements, this embodiment can store three firmware configuration files in three independent storage areas, and the same firmware configuration file can be found by comparison, and the same firmware configuration file can be regarded as a reliable firmware configuration file; at the same time, a guaranteed public firmware configuration file can also be saved in the public storage area to ensure that there is still an available firmware configuration file when the first firmware configuration file and the second firmware configuration file are both invalid.
[0068] It should be noted that this embodiment does not limit how to set the above-mentioned main firmware storage area, backup firmware storage area and public storage area. For example, the above-mentioned main firmware storage area, backup firmware storage area and public storage area can be set in the same memory of the management controller. Of course, in order to avoid the failure of a single memory, the management controller can have a main memory and a backup memory. The main memory and the backup memory both have private partitions and public partitions. The private partition of the main memory sets the main firmware storage area, and the private partition of the backup memory sets the backup firmware storage area. The public partitions of the main memory and the backup memory jointly set the public storage area. The private partition of the main memory and the private partition of the backup memory are used for firmware flashing. For easy understanding, please refer to Figure 2 , Figure 2 A schematic diagram of setting storage partitions in a memory provided by an embodiment of the present invention. It can be seen that the main firmware memory has a private main firmware storage area, and the backup firmware memory has a private backup firmware storage area, and the two can form a common storage area together. In this way, the storage reliability of the firmware configuration file can be further improved.
[0069] Based on the above introduction, the firmware configuration verification method provided by the embodiment of the present invention is introduced below. Figure 3 , Figure 3 A flowchart of a firmware configuration verification method provided by an embodiment of the present invention, the method may include:
[0070] S101. In a startup phase, a first firmware configuration file, a second firmware configuration file, and a common firmware configuration file are compared to obtain a comparison result.
[0071] As described above, in this embodiment, multiple firmware configuration files can be set in multiple independent storage areas. Therefore, in this step, when the management controller is started, it can compare these multiple firmware configuration files, determine the firmware configuration files with the same firmware configuration content, and use them as reliable files to start according to the reliable files, thereby improving the reliability of the firmware configuration.
[0072] It should be noted that this embodiment does not limit how to compare the first firmware configuration file, the second firmware configuration file, and the public firmware configuration file. For example, the firmware configuration contents in each firmware configuration file may be compared; or only the size of each firmware configuration file may be compared. If the sizes are different, it means that the firmware configuration files are different. Considering that comparing file sizes can achieve higher comparison efficiency, this embodiment can compare the file sizes of the first firmware configuration file, the second firmware configuration file, and the public firmware configuration file to obtain a comparison result.
[0073] It should also be noted that the present embodiment does not limit the comparison order of the first firmware configuration file, the second firmware configuration file, and the public firmware configuration file. For example, the first firmware configuration file can be compared with the public firmware configuration file first. If the first firmware configuration file is different from the public firmware configuration file, the second firmware configuration file is compared with the public firmware configuration file. If the second firmware configuration file is different from the public firmware configuration file, the first firmware configuration file is compared with the second firmware configuration file. In this way, the present embodiment can first determine whether the first firmware configuration file in the main firmware storage area is reliable, and then determine whether the first firmware configuration file in the backup firmware storage area is reliable; at the same time, considering that the public firmware configuration file has a strong reliability, the first firmware configuration file and the second firmware configuration file can be compared with the public firmware configuration file respectively, and then the first firmware configuration file can be compared with the second firmware configuration file, so as to achieve a higher comparison efficiency.
[0074] Based on this, the first firmware configuration file, the second firmware configuration file and the common firmware configuration file are compared to obtain a comparison result, which may include:
[0075] Step 11: Determine whether the first firmware configuration file and the public firmware configuration file are the same; if the first firmware configuration file and the public firmware configuration file are the same, proceed to step 12; if the first firmware configuration file and the public firmware configuration file are not the same, proceed to step 13.
[0076] Step 12: Generate a comparison result indicating that the first firmware configuration file and the public firmware configuration file are identical.
[0077] Step 13: Determine whether the second firmware configuration file is the same as the public firmware configuration file; if the second firmware configuration file is the same as the public firmware configuration file, proceed to step 14; if the second firmware configuration file is not the same as the public firmware configuration file, proceed to step 15.
[0078] Step 14: Generate a comparison result indicating that the second firmware configuration file is identical to the public firmware configuration file.
[0079] Step 15: Determine whether the first firmware configuration file and the second firmware configuration file are the same; if the first firmware configuration file and the second firmware configuration file are the same, proceed to step 16; if the first firmware configuration file and the second firmware configuration file are not the same, proceed to step 17.
[0080] Step 16: Generate a comparison result indicating that the first firmware configuration file and the second firmware configuration file are the same.
[0081] Step 17: Generate a comparison result indicating that the first firmware configuration file, the second firmware configuration file, and the public firmware configuration file are all different.
[0082] S102: If the comparison result shows that there is a pair of identical firmware configuration files among the first firmware configuration file, the second firmware configuration file, and the common firmware configuration file, booting is performed according to the identical firmware configuration files.
[0083] In this step, if the comparison result is that there is a pair of identical firmware configuration files among the first firmware configuration file, the second firmware configuration file and the common firmware configuration file, the identical firmware configuration files can be regarded as reliable firmware configuration files and booted according to the reliable firmware configuration files.
[0084] For example, if the comparison result is that the first firmware configuration file and the second firmware configuration file are the same, then the system can be started according to the first firmware configuration file; if the comparison result is that the first firmware configuration file and the public firmware configuration file are the same, then the system can be started according to the first firmware configuration file; if the comparison result is that the second firmware configuration file and the public firmware configuration file are the same, then the system can be started according to the second firmware configuration file.
[0085] Based on this, if the comparison result is that there is a pair of identical firmware configuration files among the first firmware configuration file, the second firmware configuration file, and the common firmware configuration file, starting according to the identical firmware configuration file may include:
[0086] Step 21: If the comparison result shows that the first firmware configuration file and the second firmware configuration file are the same, booting is performed according to the first firmware configuration file.
[0087] Step 22: If the comparison result is that the first firmware configuration file and the public firmware configuration file are the same, booting is performed according to the first firmware configuration file.
[0088] Step 23: If the comparison result shows that the second firmware configuration file is the same as the public firmware configuration file, booting is performed according to the second firmware configuration file.
[0089] S103: If the comparison result is that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different, booting is performed according to the public firmware configuration file.
[0090] In this step, if the comparison result is that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different, considering that when updating the firmware file, the main firmware file is only written to the main firmware storage area, the backup firmware file is only written to the backup firmware storage area, and the public storage area is not flashed and updated, the public firmware configuration file has higher reliability, and then the system is started according to the public firmware configuration file.
[0091] Further, after the execution of steps S102 and S103, considering that there may be different firmware configuration files, in order to ensure data consistency, reliable firmware configuration files can be used to update data of different firmware configuration files. Specifically, if the comparison result is that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different, considering that the reliability of the public firmware configuration file is higher at this time, the public firmware configuration file can be used to update the first firmware configuration file and the second firmware configuration file. If the comparison result is that the first firmware configuration file and the second firmware configuration file are the same, the public firmware configuration file is different from both the first firmware configuration file and the second firmware configuration file, which means that the reliability of the first firmware configuration file and the second firmware configuration file is higher, so the first firmware configuration file can be used to update the public firmware configuration file.
[0092] Based on this, the method may further include:
[0093] Step 31: If the first firmware configuration file and the second firmware configuration file are the same, the public firmware configuration file is updated using the first firmware configuration file.
[0094] Step 32: If the comparison result is that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different, the first firmware configuration file and the second firmware configuration file are updated using the public firmware configuration file.
[0095] Furthermore, when the user needs to adjust the firmware configuration, the public firmware configuration file can be updated first by using the updated firmware configuration file to give priority to updating the public firmware configuration file with higher reliability among the three firmware configuration files, and then the updated public firmware configuration file can be used to update the first firmware configuration file and the second firmware configuration file, thereby improving the reliability of the firmware configuration update.
[0096] Based on this, the method may further include:
[0097] Step 41: When the updated firmware configuration file is received, the public firmware configuration file is updated using the updated firmware configuration file.
[0098] Step 42: Use the updated public firmware configuration file to update the first firmware configuration file and the second firmware configuration file.
[0099] Based on the above embodiments, the present invention can first set a main firmware storage area, a backup firmware storage area and a public storage area in the management controller, the main firmware storage area stores the first firmware configuration file, the backup firmware storage area stores the second firmware configuration file, and the public storage area stores the public firmware configuration file, so that three firmware configuration files can be set in the three storage areas. Subsequently, in the startup phase, the first firmware configuration file, the second firmware configuration file and the public firmware configuration file can be compared to obtain a comparison result; if the comparison result is that there is a pair of identical firmware configuration files in the first firmware configuration file, the second firmware configuration file and the public firmware configuration file, then the startup is performed according to the same firmware configuration file; if the comparison result is that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different, then the startup is performed according to the public firmware configuration file. In other words, in simple terms, a more reliable firmware configuration file can be determined by comparing the firmware configuration files in different storage areas, and the startup can be performed based on the reliable firmware configuration file, thereby ensuring the startup reliability of the management controller.
[0100] Based on the above embodiment, in order to further improve the reliability of the management controller startup, in addition to verifying the firmware configuration file, this embodiment can also verify the main firmware file in the main firmware storage area and the backup firmware file in the backup firmware storage area to verify the reliability of the main firmware file. The verification process of the firmware file is introduced below. Based on this, the main firmware storage area stores the main firmware file, and the backup firmware storage area stores the backup firmware file; before comparing the first firmware configuration file, the second firmware configuration file and the public firmware configuration file, it can also include:
[0101] S201: Determine whether the version number of the main firmware file is the same as the version number of the standby firmware file.
[0102] In this embodiment, when performing a firmware file upgrade, in addition to upgrading the main firmware file, the backup firmware file also needs to be upgraded to ensure that the two are consistent. Therefore, if it is determined that the version number of the main firmware file is the same as the version number of the backup firmware file, it can be preliminarily determined that the main firmware file is reliable; if it is determined that the version number of the main firmware file is different from the version number of the backup firmware file, it can be determined that there is a defect in the firmware upgrade, and then the main firmware file can be determined to be unreliable. Then, when it is determined that the main firmware file is unreliable, it can be started based on the backup firmware file.
[0103] S202: If the version numbers are different, determine to start based on the backup firmware file, and use the backup firmware file to replace the main firmware file.
[0104] In this step, if it is determined that the version numbers of the main firmware file and the backup firmware file are inconsistent, the main firmware file can be determined to be faulty, and then the backup firmware file can be used to start. Of course, if the main firmware file is determined to be unreliable, the backup firmware file can also be used to replace the main firmware file to achieve firmware file rollback.
[0105] S203: If the version numbers are the same, then compare each data segment in the main firmware file with each data segment in the standby firmware file to determine whether the data in the main firmware file and the standby firmware file are consistent.
[0106] In this step, when it is determined that the version numbers of the main firmware file and the backup firmware file are the same, in order to further verify whether the main firmware file is damaged, the data consistency of the main firmware file and the backup firmware file can be further verified. For example, in this step, each data segment in the main firmware file can be compared with each data segment in the backup firmware file to determine whether the data of the main firmware file and the backup firmware file are consistent.
[0107] It should be noted that this embodiment does not limit how to compare each data segment in the main firmware file with each data segment in the backup firmware file, and can be set according to actual application requirements. First, the firmware file can be stored in the read-only area of the memory, so the data in the read-only area needs to be compared. In addition, since the header file can usually identify the starting position of a complete data segment, the data in the file system format (such as JFFS, Journaling Flash File System, flash memory device log file system) usually records the relevant information of the file system. Therefore, after taking out the data segment from the read-only partition of the main firmware storage area, it can be determined whether the data segment is a header file and whether it is in the file system format. If it is a header file or a file system format, it can be compared with the corresponding data segment in the read-only partition of the backup firmware storage area. On the contrary, if the data segment is not a header file or is not in the file system format, it is necessary to take out the next data segment in the read-only partition of the main firmware storage area.
[0108] In addition, to compare whether the data segments are consistent, a check value (such as a hash value) of each data segment can be calculated and compared. If the check values are consistent, it means that the data segments are the same; if the check values are inconsistent, it means that the data segments are inconsistent. Furthermore, if any data segment in the main firmware file is inconsistent with the corresponding data segment in the backup firmware file, it can be determined that there is data inconsistency between the main firmware file and the backup firmware file.
[0109] Based on this, comparing each data segment in the main firmware file with each data segment in the standby firmware file to determine whether the data of the main firmware file and the standby firmware file are consistent may include:
[0110] Step 1: Take the first data segment in the read-only partition of the main firmware storage area as the data segment to be processed, and determine whether the data segment to be processed is a header file; if the data segment to be processed is not a header file, proceed to step 2; if the data segment to be processed is a header file, proceed to step 3.
[0111] It should be noted that this embodiment does not limit how to determine whether a data segment is a header file, and reference may be made to related technologies of header files and firmware.
[0112] Step 2: The next data segment in the read-only partition of the main firmware storage area is used as the data segment to be processed, and the step of determining whether the data segment to be processed is a header file is entered.
[0113] Step 3: Determine whether the data format of the data segment to be processed is the file system format; if the data format of the data segment to be processed is not the file system format, proceed to step 4; if the data format of the data segment to be processed is the file system format, proceed to step 5.
[0114] It should be noted that this embodiment does not limit how to determine whether a data segment is in a file system format, and reference may be made to the relevant technology of JFFS2.
[0115] Step 4: The next data segment in the read-only partition of the main firmware storage area is used as the data segment to be processed, and the step of determining whether the data segment to be processed is a header file is entered.
[0116] Step 5: Determine the offset value of the data segment to be processed in the read-only partition, and use the corresponding data segment in the read-only partition of the backup firmware storage area as the data segment to be compared according to the offset value.
[0117] In this embodiment, the offset value is the offset distance of the data segment compared to the starting position of the read-only partition. Since the main firmware file should be the same as the backup firmware file, the offset value of each data segment in the main firmware file in the read-only partition of the main firmware storage area should be consistent with the offset value of each data segment in the backup firmware file in the read-only partition of the backup firmware storage area. Therefore, the corresponding data segment can be queried according to the offset value.
[0118] Step 6: Calculate the first check value of the data segment to be processed, calculate the second check value of the data segment to be compared, and determine whether the first check value and the second check value are the same; if the first check value and the second check value are not the same, proceed to step 7; if the first check value and the second check value are the same, proceed to step 8.
[0119] It should be noted that the present embodiment does not limit the calculation method of the check value, and can be set according to actual application requirements, for example, reference can be made to the relevant technology of hash value.
[0120] Step 7: Determine that the data of the main firmware file and the backup firmware file are inconsistent;
[0121] Step 8: Determine whether all data segments in the read-only partition of the main firmware storage area have been processed; if the data segments in the read-only partition of the main firmware storage area have not been processed, proceed to step 9; if the data segments in the read-only partition of the main firmware storage area have been processed, proceed to step 10;
[0122] Step 9: taking the next data segment in the read-only partition of the main firmware storage area as the data segment to be processed, and entering the step of determining whether the data segment to be processed is a header file;
[0123] Step 10: Determine whether the data of the main firmware file is consistent with the data of the backup firmware file.
[0124] S204: If the data of the main firmware file is consistent with the data of the backup firmware file, determine to start based on the main firmware file.
[0125] In this step, if it is determined that the data of the main firmware file is consistent with that of the backup firmware file, it can be determined that the main firmware file is reliable, and then the system can be started based on the main firmware file.
[0126] S205: If the data of the main firmware file is inconsistent with the data of the backup firmware file, determine to start based on the backup firmware file, and use the backup firmware file to replace the main firmware file.
[0127] In this step, if it is determined that the main firmware file and the backup firmware file data are inconsistent, it can be determined that the main firmware file is damaged, and then it can be started based on the backup firmware file. Of course, if it is determined that the main firmware file is unreliable, the backup firmware file can also be used to replace the main firmware file to achieve firmware file rollback.
[0128] S206: When determining the firmware file used for startup, enter the step of comparing the first firmware configuration file, the second firmware configuration file, and the common firmware configuration file.
[0129] In this step, after completing the verification of the firmware file, the firmware configuration file may be verified.
[0130] Based on the above embodiment, the firmware configuration verification method is introduced below based on a specific example. In this embodiment, the use of a common configuration file for flash0 and flash1 can be changed to an area for each flash to store the configuration file, while retaining the shared configuration file. When the baseboard management controller is powered on, a judgment can be added when reading the configuration file to compare the size of the flash0 configuration file and the shared configuration file and compare the size of the flash1 configuration file and the shared configuration file.
[0131] Please refer to the configuration file comparison process Figure 4 , Figure 4 A schematic diagram of a configuration file comparison process provided by an embodiment of the present invention is specifically implemented as follows:
[0132] 1. When the sizes of the compared configuration files are equal, it is considered that there is no abnormality in the configuration files, and the system starts normally according to flash0, and uses the configuration files in flash0;
[0133] 2. When the sizes of the compared configuration files are not equal, compare the size of the configuration file stored in flash0 with the size of the configuration file stored in flash1 to determine whether the flash0 configuration file or the flash1 configuration file is abnormal.
[0134] 3. When the size of the configuration file in flash0 is not equal to the shared configuration file, compare the size of the configuration file in flash1 with the shared configuration file. If they are equal, it means that the configuration file in flash1 is damaged, and use flash1 to start.
[0135] 4. When the configuration files of flash1 are not equal, directly use the common configuration file to start, and resynchronize the common configuration file to the configuration files of flash0 and flash1.
[0136] In addition, this embodiment is also provided with a rollback mechanism to ensure that the configuration files of flash0 and flash1 are aligned.
[0137] For the rollback process, please refer to Figure 5 , Figure 5 A schematic diagram of a rollback process provided by an embodiment of the present invention is provided. The rollback process is specifically implemented as follows:
[0138] 1. First compare the version numbers of flash0 and flash1. If they are different, directly synchronize flash1 with the firmware content and configuration file of flash0.
[0139] 2. If the version numbers are consistent, check the read-only partition, read a black from the current image, and distinguish whether it is a header file. If it is not a header file, continue to look for black. If it is a header file, determine whether it is in JFFS2 format. If it is not in JFFS2 format, continue to look for black. If it is in JFFS2 format, calculate and record the current offset, and jump to the same position of flash1 at the same time. According to black, read the data of the same partition of flash1 and calculate the checksum. If the checksum value calculated is inconsistent with the flash1 partition, roll back.
[0140] 3. If the checksum calculated with the flash1 partition is consistent, it is compared with the checksum in the flash0 partition. If they are inconsistent, roll back. If they are consistent, rebuild the check read-only partition and read black from the current image to form a closed loop.
[0141] The firmware configuration verification device, management controller, computer-readable storage medium, and computer program product provided in the embodiments of the present invention are introduced below. The firmware configuration verification device, management controller, computer-readable storage medium, and computer program product described below can be referenced to each other with the firmware configuration verification method described above.
[0142] Please refer to Figure 6 , Figure 6This is a structural block diagram of a firmware configuration verification device provided by an embodiment of the present invention. The device is applied to a management controller. The management controller has a main firmware storage area, a backup firmware storage area, and a public storage area. The main firmware storage area stores a first firmware configuration file, the backup firmware storage area stores a second firmware configuration file, and the public storage area stores a public firmware configuration file. The device may include:
[0143] The comparison module 601 is used to compare the first firmware configuration file, the second firmware configuration file and the common firmware configuration file in the startup phase to obtain a comparison result;
[0144] A first startup module 602, configured to start according to the same firmware configuration file if the comparison result shows that there is a pair of identical firmware configuration files among the first firmware configuration file, the second firmware configuration file and the common firmware configuration file;
[0145] The second starting module 603 is configured to start according to the public firmware configuration file if the comparison result shows that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different.
[0146] Optionally, the main firmware storage area stores the main firmware file, and the backup firmware storage area stores the backup firmware file; the device may also include:
[0147] A version number detection module is used to determine whether the version number of the main firmware file is the same as the version number of the backup firmware file;
[0148] A first setting module, for determining to start based on a backup firmware file if the version numbers are different, and replacing the main firmware file with the backup firmware file;
[0149] The data segment detection module is used to compare each data segment in the main firmware file with each data segment in the standby firmware file if the version numbers are the same, to determine whether the main firmware file and the standby firmware file have consistent data;
[0150] A second setting module is used to determine to start based on the main firmware file if the data of the main firmware file is consistent with the data of the standby firmware file;
[0151] A third setting module is used to determine to start based on the backup firmware file if the data of the main firmware file is inconsistent with the backup firmware file, and replace the main firmware file with the backup firmware file;
[0152] The process control module is used to enter the step of comparing the first firmware configuration file, the second firmware configuration file and the common firmware configuration file when determining the firmware file used for startup.
[0153] Optionally, the data segment detection module may include:
[0154] The header file judgment submodule is used to take the first data segment in the read-only partition of the main firmware storage area as the data segment to be processed, and judge whether the data segment to be processed is a header file;
[0155] The first process control submodule is used for, if the data segment to be processed is not a header file, taking the next data segment in the read-only partition of the main firmware storage area as the data segment to be processed, and entering the step of determining whether the data segment to be processed is a header file;
[0156] The data format determination submodule is used to determine whether the data format of the data segment to be processed is a file system format if the data segment to be processed is a header file;
[0157] The second process control submodule is used for, if the data format of the data segment to be processed is not in the file system format, taking the next data segment in the read-only partition of the main firmware storage area as the data segment to be processed, and entering the step of determining whether the data segment to be processed is a header file;
[0158] A search submodule, for determining an offset value of the data segment to be processed in the read-only partition if the data format of the data segment to be processed is a file system format, and taking a corresponding data segment in the read-only partition of the backup firmware storage area as a data segment to be compared according to the offset value;
[0159] A comparison submodule, used to calculate a first check value of the data segment to be processed, calculate a second check value of the data segment to be compared, and determine whether the first check value and the second check value are the same;
[0160] A first determination submodule, configured to determine that the data of the main firmware file and the backup firmware file are inconsistent if the first check value and the second check value are different;
[0161] A processing completion judgment submodule, used for judging whether all data segments in the read-only partition of the main firmware storage area have been processed if the first check value and the second check value are the same;
[0162] A loop control submodule, for, if the data segment in the read-only partition of the main firmware storage area has not been processed, taking the next data segment in the read-only partition of the main firmware storage area as the data segment to be processed, and entering the step of determining whether the data segment to be processed is a header file;
[0163] The first determination submodule is used to determine that the data of the main firmware file is consistent with the data of the standby firmware file if all data segments in the read-only partition of the main firmware storage area have been processed.
[0164] Optionally, the comparison module 601 includes:
[0165] A first comparison submodule, used to determine whether the first firmware configuration file and the public firmware configuration file are the same;
[0166] A first result generating submodule, for generating a comparison result indicating that the first firmware configuration file and the public firmware configuration file are the same if the first firmware configuration file and the public firmware configuration file are the same;
[0167] A second comparison submodule, configured to determine whether the second firmware configuration file is the same as the public firmware configuration file if the first firmware configuration file is not the same as the public firmware configuration file;
[0168] A second result generating submodule, for generating a comparison result indicating that the second firmware configuration file is the same as the public firmware configuration file if the second firmware configuration file is the same as the public firmware configuration file;
[0169] A third comparison submodule, configured to determine whether the first firmware configuration file and the second firmware configuration file are the same if the second firmware configuration file and the public firmware configuration file are not the same;
[0170] a third result generating submodule, configured to generate a comparison result indicating that the first firmware configuration file and the second firmware configuration file are the same if the first firmware configuration file and the second firmware configuration file are the same;
[0171] The fourth result generating submodule is used to generate a comparison result indicating that the first firmware configuration file, the second firmware configuration file and the common firmware configuration file are all different if the first firmware configuration file and the second firmware configuration file are different.
[0172] Optionally, the device may further include:
[0173] A first updating module, configured to update the common firmware configuration file using the first firmware configuration file if the first firmware configuration file and the second firmware configuration file are the same;
[0174] The second updating module is used to update the first firmware configuration file and the second firmware configuration file by using the public firmware configuration file if the comparison result shows that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different.
[0175] Optionally, it also includes:
[0176] A third updating module is used to update the public firmware configuration file using the updated firmware configuration file when the updated firmware configuration file is received;
[0177] The fourth updating module is used to update the first firmware configuration file and the second firmware configuration file by using the updated public firmware configuration file.
[0178] Optionally, the first starting module 602 includes:
[0179] A first startup submodule, configured to start the system according to the first firmware configuration file if the comparison result shows that the first firmware configuration file and the second firmware configuration file are the same;
[0180] A second startup submodule, configured to start the system according to the first firmware configuration file if the comparison result shows that the first firmware configuration file and the public firmware configuration file are the same;
[0181] The third startup submodule is used to start according to the second firmware configuration file if the comparison result shows that the second firmware configuration file is the same as the public firmware configuration file.
[0182] Please refer to Figure 7 , Figure 7 This is a structural block diagram of a management controller provided in an embodiment of the present invention. The embodiment of the present invention provides a management controller 10, including a processor 11 and a memory 12; wherein the memory 12 is used to store computer programs; the processor 11 is used to execute the firmware configuration verification method provided in the aforementioned embodiment when executing the computer program.
[0183] For the specific process of the above firmware configuration verification method, reference may be made to the corresponding contents provided in the above embodiments, which will not be described in detail here.
[0184] Furthermore, the memory 12, as a carrier for storing resources, may be a read-only memory, a random access memory, a magnetic disk or an optical disk, etc., and the storage method may be temporary storage or permanent storage.
[0185] In addition, the management controller 10 also includes a power supply 13, a communication interface 14, an input / output interface 15 and a communication bus 16; wherein the power supply 13 is used to provide working voltage for each hardware device on the management controller 10; the communication interface 14 can create a data transmission channel between the management controller 10 and external devices, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present invention, and is not specifically limited here; the input / output interface 15 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.
[0186] An embodiment of the present invention further provides a computer program product, including a computer program / instruction, which implements the firmware configuration verification method described in the above embodiment when the computer program / instruction is executed by a processor.
[0187] Since the embodiments of the computer program product part correspond to the embodiments of the firmware configuration verification method part, please refer to the description of the embodiments of the firmware configuration verification method part for the embodiments of the computer program product part, which will not be repeated here.
[0188] An embodiment of the present invention further provides a non-volatile computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the firmware configuration verification method described in the above embodiment is implemented.
[0189] Since the embodiments of the computer-readable storage medium part correspond to the embodiments of the firmware configuration verification method part, the embodiments of the storage medium part refer to the description of the embodiments of the firmware configuration verification method part, which will not be repeated here.
[0190] The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referred 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.
[0191] 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.
[0192] 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.
[0193] The above is a detailed introduction to a firmware configuration verification method, device, management controller and storage medium provided by the present invention. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present invention, the present invention can also be improved and modified, and these improvements and modifications also fall within the scope of protection of the present invention.
Claims
1. A firmware configuration verification method, characterized in that: Applied to a management controller, the management controller has a main firmware storage area, a backup firmware storage area and a public storage area, the main firmware storage area stores a first firmware configuration file, the backup firmware storage area stores a second firmware configuration file, and the public storage area stores a public firmware configuration file, the method includes: In the startup phase, the first firmware configuration file, the second firmware configuration file and the common firmware configuration file are compared to obtain a comparison result; If the comparison result is that there is a pair of identical firmware configuration files among the first firmware configuration file, the second firmware configuration file and the common firmware configuration file, booting is performed according to the identical firmware configuration files; If the comparison result is that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different, booting is performed according to the public firmware configuration file.
2. The firmware configuration verification method according to claim 1, characterized in that: The management controller has a main memory and a backup memory, both of which have a private partition and a public partition. The private partition of the main memory sets the main firmware storage area, the private partition of the backup memory sets the backup firmware storage area, the public partitions of the main memory and the backup memory jointly set the public storage area, and the private partition of the main memory and the private partition of the backup memory are used for firmware flashing.
3. The firmware configuration verification method according to claim 2, characterized in that: The main firmware storage area stores the main firmware file, and the backup firmware storage area stores the backup firmware file; Before comparing the first firmware configuration file, the second firmware configuration file and the public firmware configuration file, the method further includes: Determine whether the version number of the main firmware file is the same as the version number of the standby firmware file; If the version numbers are different, determining to start based on the standby firmware file, and using the standby firmware file to replace the main firmware file; If the version numbers are the same, then comparing each data segment in the main firmware file with each data segment in the standby firmware file to determine whether the main firmware file and the standby firmware file have consistent data; If the data of the main firmware file is consistent with the data of the standby firmware file, determining to start based on the main firmware file; If the data of the main firmware file is inconsistent with the data of the standby firmware file, determining to start based on the standby firmware file, and replacing the main firmware file with the standby firmware file; When determining the firmware file used for startup, the step of comparing the first firmware configuration file, the second firmware configuration file and the common firmware configuration file is entered.
4. The firmware configuration verification method according to claim 1, characterized in that: The comparing each data segment in the main firmware file with each data segment in the standby firmware file to determine whether the data of the main firmware file and the standby firmware file are consistent includes: Taking the first data segment in the read-only partition of the main firmware storage area as the data segment to be processed, and determining whether the data segment to be processed is a header file; If the data segment to be processed is not a header file, the next data segment in the read-only partition of the main firmware storage area is used as the data segment to be processed, and the step of determining whether the data segment to be processed is a header file is entered; If the data segment to be processed is a header file, determining whether the data format of the data segment to be processed is a file system format; If the data format of the data segment to be processed is not the file system format, the next data segment in the read-only partition of the main firmware storage area is used as the data segment to be processed, and the step of determining whether the data segment to be processed is a header file is entered; If the data format of the data segment to be processed is the file system format, determining an offset value of the data segment to be processed in the read-only partition, and taking a corresponding data segment in the read-only partition of the backup firmware storage area as a data segment to be compared according to the offset value; Calculating a first check value of the data segment to be processed, calculating a second check value of the data segment to be compared, and determining whether the first check value and the second check value are the same; If the first check value and the second check value are different, it is determined that the data of the main firmware file and the backup firmware file are inconsistent; If the first check value and the second check value are the same, determining whether all data segments in the read-only partition of the main firmware storage area have been processed; If the data segment in the read-only partition of the main firmware storage area has not been processed, the next data segment in the read-only partition of the main firmware storage area is used as the data segment to be processed, and the step of determining whether the data segment to be processed is a header file is entered; If the data segments in the read-only partition of the main firmware storage area have all been processed, it is determined that the main firmware file is consistent with the backup firmware file data.
5. The firmware configuration verification method according to any one of claims 1 to 4, characterized in that: The comparing the first firmware configuration file, the second firmware configuration file and the common firmware configuration file to obtain a comparison result includes: Determining whether the first firmware configuration file and the public firmware configuration file are the same; If the first firmware configuration file is identical to the public firmware configuration file, generating a comparison result indicating that the first firmware configuration file is identical to the public firmware configuration file; If the first firmware configuration file is different from the public firmware configuration file, determining whether the second firmware configuration file is the same as the public firmware configuration file; If the second firmware configuration file is identical to the public firmware configuration file, generating a comparison result indicating that the second firmware configuration file is identical to the public firmware configuration file; If the second firmware configuration file is different from the public firmware configuration file, determining whether the first firmware configuration file is the same as the second firmware configuration file; If the first firmware configuration file is identical to the second firmware configuration file, generating a comparison result indicating that the first firmware configuration file is identical to the second firmware configuration file; If the first firmware configuration file and the second firmware configuration file are not the same, a comparison result is generated indicating that the first firmware configuration file, the second firmware configuration file and the common firmware configuration file are all different.
6. The firmware configuration verification method according to claim 5, characterized in that: Also includes: If the first firmware configuration file is the same as the second firmware configuration file, updating the public firmware configuration file using the first firmware configuration file; If the comparison result is that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different, the first firmware configuration file and the second firmware configuration file are updated using the public firmware configuration file.
7. The firmware configuration verification method according to claim 5, characterized in that: If the comparison result is that there is a pair of identical firmware configuration files among the first firmware configuration file, the second firmware configuration file, and the common firmware configuration file, booting according to the identical firmware configuration files includes: If the comparison result is that the first firmware configuration file and the second firmware configuration file are the same, starting according to the first firmware configuration file; If the comparison result is that the first firmware configuration file and the public firmware configuration file are the same, booting according to the first firmware configuration file; If the comparison result is that the second firmware configuration file is the same as the public firmware configuration file, booting is performed according to the second firmware configuration file.
8. A firmware configuration verification device, characterized in that: Applied to a management controller, the management controller has a main firmware storage area, a backup firmware storage area and a public storage area, the main firmware storage area stores a first firmware configuration file, the backup firmware storage area stores a second firmware configuration file, and the public storage area stores a public firmware configuration file, the device comprises: A comparison module, used to compare the first firmware configuration file, the second firmware configuration file and the common firmware configuration file in a startup phase to obtain a comparison result; A first startup module, configured to start according to the same firmware configuration file if the comparison result shows that there is a pair of identical firmware configuration files among the first firmware configuration file, the second firmware configuration file and the common firmware configuration file; The second startup module is configured to start the system according to the public firmware configuration file if the comparison result shows that the first firmware configuration file, the second firmware configuration file and the public firmware configuration file are all different.
9. A management controller, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the firmware configuration verification method according to any one of claims 1 to 7 when executing the computer program.
10. A non-volatile computer-readable storage medium, characterized in that: The non-volatile computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are loaded and executed by a processor, the firmware configuration verification method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Storage device and method for using a virtual file in a public memory area to access a plurality of protected files in a private memory area
CN102656550A
Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device
CN102906754A
Remote online firmware updating method and device based on train broadcasting system
CN113190252A
Information processing apparatus using exchange file, control method thereof, and storage medium
CN114385249A
Firmware control method and device and electronic equipment
CN116009941A