Firmware upgrading method, device and equipment

By generating an integrated upgrade package, including capacity tags, firmware areas and merge areas, the problems of low efficiency, error-prone and waste of firmware upgrades of SSDs of different capacity are solved, and batch online upgrades of the same model of SSDs are achieved, improving security and efficiency.

CN119883337APending Publication Date: 2025-04-25SHENZHEN CITY TECHWIN SEMICONDUCTOR COMPANY LIMITED
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411939300.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

The existing firmware upgrade methods have problems such as inefficiency, error-prone and waste of resources for SSDs of different capacity, especially when batch upgrades, the risk of firmware and SSD mismatch.

Method used

A firmware upgrade method is proposed. By obtaining the capacity configuration table and firmware program of the SSD of each capacity, an integrated upgrade package is generated, including the capacity tag, firmware area and merge area. This integrated upgrade package can be used to batch upgrade SSDs of all capacity of the same model online.

Benefits of technology

It has achieved batch online upgrades to SSDs of the same model and different capacity, simplified the operation process, improved safety and efficiency, and reduced resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119883337A_ABST
    Figure CN119883337A_ABST
Patent Text Reader

Abstract

The invention provides a firmware upgrading method, device and equipment, and is applied to the technical field of firmware upgrade.The method comprises the steps that for a solid state disk of each capacity, an upgrading package determined for firmware to be upgraded is obtained; the upgrade package comprises a capacity configuration table and a firmware program. The capacity configuration table corresponds to the capacity of the solid state disk. And extracting a capacity label from the capacity configuration table. And generating an integrated upgrade package by utilizing the capacity configuration table of the solid state disk of each capacity, the capacity label corresponding to the capacity configuration table and the firmware program. And sending the integrated upgrade package to the target server, so that target solid state disks with multiple capacities in the target server upgrade the target firmware of the target solid state disk by using the integrated upgrade package, and the problems of low efficiency, easy error and resource waste existing in a firmware upgrade scheme for SSDs with different capacities at present can be solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of firmware upgrade, and in particular to a firmware upgrade method, device and equipment. Background Art

[0002] In modern data storage systems, solid state disks (SSDs) are widely used due to their high-speed read and write performance, low power consumption, and high reliability. However, with the expansion of SSD product lines and technological advances, it is becoming more and more common for SSDs of different capacities to share the same version of firmware. Although this design simplifies the firmware development process, it brings many challenges in practical applications, especially when performing firmware upgrades.

[0003] For example, the current firmware upgrade process requires the update server to first distinguish the capacity of each SSD and select the corresponding firmware upgrade package. This process is not only time-consuming, but also prone to human errors. Since SSDs of different capacities use different firmware upgrade packages, even if these SSDs belong to the same series and most of the code logic is the same, with only a few configuration parameter differences, there is still a high risk of firmware and SSD mismatch when performing batch upgrades on customer sites. This may lead to upgrade failures or device failures, increasing maintenance costs. A complete firmware upgrade package needs to be prepared separately for each capacity of SSD, even though the differences between these upgrade packages are very small. This practice results in a large amount of redundant data transmission and storage space occupation, especially when new versions of firmware need to be released frequently, which puts an unnecessary burden on network bandwidth and storage resources. For end users, the complex upgrade process increases the difficulty of operation and reduces satisfaction. Especially in large-scale deployment environments, such as data centers or enterprise-level applications, batch upgrading SSD firmware is a tedious and error-prone task. Summary of the invention

[0004] The purpose of the present application is to provide a firmware upgrade method, device and equipment to solve the problems of low efficiency, easy errors and waste of resources in the current firmware upgrade solutions for SSDs of different capacities.

[0005] In a first aspect, an embodiment of the present application provides a firmware upgrade method, which is applied to at least one solid-state drive, each solid-state drive has a different capacity, and the firmware to be upgraded between each solid-state drive is the same. The method includes: for each capacity of the solid-state drive, obtaining an upgrade package determined for the firmware to be upgraded. The upgrade package includes a capacity configuration table and a firmware program. The capacity configuration table corresponds to the capacity of the solid-state drive. Extract the capacity label from the capacity configuration table. Generate an integrated upgrade package using the capacity configuration table of each capacity of the solid-state drive, the capacity label corresponding to the capacity configuration table, and the firmware program. Send the integrated upgrade package to the target server so that the target solid-state drives of various capacities in the target server use the integrated upgrade package to upgrade the target firmware of the target solid-state drive.

[0006] The firmware upgrade method provided in the embodiment of the present application extracts a very small amount of capacity-related configuration files and their verification data from the upgrade packages of SSDs of the same series but with different capacities, and stores them separately, and then merges them with the firmware program to form an integrated upgrade package. The integrated upgrade package can be used to perform batch online upgrades on SSDs of all capacities of the same model without considering the capacity differences of the upgraded SSDs. The upgrade process is simple, safe and efficient.

[0007] In a possible implementation, the integrated upgrade package includes a parameter area, a firmware area, and a merge area. The integrated upgrade package is generated using the capacity configuration table of each capacity solid-state drive, the capacity label corresponding to the capacity configuration table, and the firmware program, including: storing the firmware program in the firmware area. Storing the capacity label in the parameter area. According to the storage address of the capacity label in the parameter area, the capacity configuration table is correspondingly stored in the merge area.

[0008] In a possible implementation, the firmware upgrade method provided in the embodiment of the present application further includes: filtering out a first capacity tag from the capacity tag. Using the first capacity tag, determining a target capacity configuration table corresponding to the first capacity tag in the merge area, and storing the target capacity configuration table in the parameter area. Using the target capacity configuration table, generating a target capacity configuration table check code, and storing the target configuration table check code in the parameter area.

[0009] In a possible implementation, the integrated upgrade package includes a parameter area, a firmware area, and a merge area. The integrated upgrade package is generated using the capacity configuration table of each capacity solid-state drive, the capacity label corresponding to the capacity configuration table, and the firmware program, and also includes: filtering out the target solid-state drive from the solid-state drives of each capacity. Based on the target upgrade package of the target solid-state drive, the target capacity label is stored in the parameter area. The target capacity label is the capacity label except the capacity label corresponding to the target solid-state drive. Based on the target upgrade package of the target solid-state drive, the target capacity configuration table is added to the integrated area of ​​the target upgrade package to obtain the integrated upgrade package. The target capacity configuration table is the capacity configuration table except the capacity configuration table corresponding to the target solid-state drive.

[0010] In a possible implementation, the firmware upgrade method provided in the embodiment of the present application further includes: using the firmware program to generate a firmware program verification code, storing the firmware program verification code in the parameter area, using the parameter area to generate a parameter area verification code, and storing the parameter area verification code in the parameter area.

[0011] In a possible implementation, for each capacity of a solid-state drive, obtaining an upgrade package determined for the firmware to be upgraded includes: obtaining a firmware program of the firmware to be upgraded. According to the capacity of the solid-state drive, determining a capacity configuration table for upgrading the firmware in the solid-state drive. According to the capacity configuration table and the firmware program corresponding to each capacity of the solid-state drive, generating an upgrade package.

[0012] A possible implementation method is to send an integrated upgrade package to a target server so that target solid-state hard disks of multiple capacities in the target server use the integrated upgrade package to upgrade target firmware of the target solid-state hard disks, including: if the firmware to be upgraded in the target server does not match the first capacity tag in the integrated upgrade package, traverse the parameter area to determine a second capacity tag that matches the firmware to be upgraded. Obtain a capacity configuration table corresponding to the second capacity tag from a merge area of ​​the integrated upgrade package, so that the firmware to be upgraded uses the capacity configuration table corresponding to the second capacity tag and the firmware program in the integrated upgrade package to upgrade.

[0013] In a second aspect, an embodiment of the present application provides a firmware upgrade device, which is applied to at least one solid-state drive, each solid-state drive has a different capacity, and the firmware to be upgraded between each solid-state drive is the same. The device includes: an acquisition module, an extraction module, a generation module, and a sending module.

[0014] The acquisition module is used to acquire the upgrade package determined for the firmware to be upgraded for each capacity of the solid state drive. The upgrade package includes a capacity configuration table and a firmware program. The capacity configuration table corresponds to the capacity of the solid state drive.

[0015] The extraction module is used to extract the capacity label from the capacity configuration table.

[0016] The generation module is used to generate an integrated upgrade package by using the capacity configuration table of each capacity of the solid state drive, the capacity label corresponding to the capacity configuration table, and the firmware program.

[0017] The sending module is used to send the integrated upgrade package to the target server, so that the target solid-state hard disks of various capacities in the target server use the integrated upgrade package to upgrade the target firmware of the target solid-state hard disks.

[0018] In a third aspect, an embodiment of the present application provides a firmware upgrade device, which has the function of implementing the firmware upgrade method of the first aspect or any possible implementation method. The function can be implemented by hardware, or by hardware executing corresponding software implementation. The hardware or software includes one or more modules corresponding to the above functions.

[0019] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores instructions. When the computer-readable storage medium is run on a computer, the computer can execute the firmware upgrade method of the above-mentioned first aspect or any possible implementation method.

[0020] In a fifth aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the firmware upgrade method of the first aspect or any possible implementation method described above.

[0021] Among them, the technical effects brought about by any design method in the second to fifth aspects can refer to the technical effects brought about by different possible implementation methods in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the specific implementation methods of the present application or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0023] Figure 1 A schematic diagram of the structure of a firmware upgrade device provided in an embodiment of the present application;

[0024] Figure 2 A schematic diagram of the structure of a firmware upgrade system provided in an embodiment of the present application;

[0025] Figure 3 A flowchart of a firmware upgrade method provided in an embodiment of the present application;

[0026] Figure 4 A schematic diagram of the structure of a firmware upgrade device provided in an embodiment of the present application;

[0027] Figure 5 Another structural schematic diagram of a firmware upgrade system provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various different configurations.

[0029] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for which protection is sought, but merely represents selected embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.

[0030] Products of different capacities in the same series of SSDs (Solid State Disks) can use the same version of firmware, but when upgrading them, they need to use a firmware upgrade package respectively. When updating the firmware of the SSD on the server, you first need to distinguish the capacity and correctly select the firmware corresponding to the SSD to be upgraded, and then you can upgrade it online. This is not only inefficient, but also prone to firmware and SSD mismatch problems. Especially when upgrading SSDs in batches at the customer site, it will consume a lot of manpower and material resources.

[0031] Currently, when upgrading SSDs in batches, multiple firmwares are simply spliced ​​together in sequence. In fact, the code logic used by disks of different capacities in the same series is the same, and only a small number of configuration parameters related to the capacity are different. In other words, most of the contents of the upgrade package are the same. There are problems such as low efficiency, easy errors, and waste of resources in the firmware upgrade solutions for SSDs of different capacities.

[0032] Based on this, an embodiment of the present application provides a firmware upgrade method, which is applied to at least one solid-state drive, each solid-state drive has a different capacity, and the firmware to be upgraded between each solid-state drive is the same. The method includes: for each capacity of the solid-state drive, obtaining an upgrade package determined for the firmware to be upgraded. The upgrade package includes a capacity configuration table and a firmware program. The capacity configuration table corresponds to the capacity of the solid-state drive. Extract the capacity label from the capacity configuration table. Generate an integrated upgrade package using the capacity configuration table of each capacity of the solid-state drive, the capacity label corresponding to the capacity configuration table, and the firmware program. Send the integrated upgrade package to the target server so that the target solid-state drives of various capacities in the target server use the integrated upgrade package to upgrade the target firmware of the target solid-state drive.

[0033] The firmware upgrade method provided in the embodiment of the present application extracts a very small amount of capacity-related configuration files and their verification data from the upgrade packages of SSDs of the same series but with different capacities, and stores them separately, and then merges them with the firmware program to form an integrated upgrade package. The integrated upgrade package can be used to perform batch online upgrades on SSDs of all capacities of the same model without considering the capacity differences of the upgraded SSDs. The upgrade process is simple, safe and efficient.

[0034] The solution provided by the embodiment of the present application will be described in detail below with reference to specific drawings.

[0035] On the one hand, the embodiment of the present application provides a firmware upgrade device, such as Figure 1 As shown, the firmware upgrade device 100 may include a processor 101 , a memory 102 and a communication module 103 .

[0036] The processor 101 may include one or more processing units, for example, the processor 101 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0037] The memory 102 is used to store instructions and data. In some embodiments, the memory 102 may be a cache memory. The memory 102 may store instructions or data that have just been used or are cyclically used by the processor 101. If the processor needs to use the instructions or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 101, and improves the efficiency of the system.

[0038] The communication module 103 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the firmware upgrade device 100. The communication module 103 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The communication module 103 can be used to provide support for the firmware upgrade device 100 to perform wireless communications with other devices.

[0039] In a second aspect, the present application embodiment provides a firmware upgrade system 200, such as Figure 2 As shown, the firmware upgrade system 200 may include a firmware upgrade device 100 and a server 201 .

[0040] The firmware upgrade device 100 is used to send the integrated upgrade package to the server 201 after generating the integrated upgrade package.

[0041] After receiving the integrated upgrade package sent by the firmware upgrade device 100, the server 201 is used to send the integrated upgrade package to solid state drives of various capacities in the server 201, so that the solid state drives use the integrated upgrade package to upgrade the firmware in the solid state drives.

[0042] It should be noted that the above Figure 1 The illustrated firmware upgrade device 100 and Figure 2 The illustrated firmware upgrade system 200 is only an example of the application scenario of the present application solution, and is not a limitation on the application scenario of the present application solution. At the same time, the present application is for the firmware upgrade system 200, and does not limit the number of firmware upgrade devices 100 and the number of servers 201 in the firmware upgrade system 200. The number of firmware upgrade devices 100 and the number of servers 201 can both be one or more.

[0043] On the one hand, the embodiment of the present application provides a firmware upgrade method, which can be deployed as follows Figure 1 The firmware upgrade device 100 shown in FIG. Figure 2 The firmware upgrade system 200 shown performs.

[0044] like Figure 3 As shown, the method includes:

[0045] S301, for each solid-state drive of each capacity, obtaining an upgrade package determined for firmware to be upgraded.

[0046] The upgrade package includes a capacity configuration table and a firmware program. The capacity configuration table corresponds to the capacity of the solid state drive.

[0047] A possible implementation manner is to obtain a firmware program of the firmware to be upgraded, determine a capacity configuration table for upgrading the firmware in the solid-state hard disk according to the capacity of the solid-state hard disk, and generate an upgrade package according to the capacity configuration table and the firmware program corresponding to each capacity of the solid-state hard disk.

[0048] Exemplarily, a general firmware program is compiled from the source code, and the firmware program includes the necessary drivers, applications, and configuration files for firmware upgrades, which are suitable for basic functional testing and subsequent testing. Based on the firmware program, multiple copies of the firmware program are created. According to the different capacity requirements of different solid-state drives and the capacity of the solid-state drive, the capacity configuration table for upgrading the firmware in the solid-state drive is determined, such as 1920GB, 3840GB, 3200GB, etc. Using special tools, the customized firmware program and capacity configuration table are packaged into an upgrade package format that meets the requirements to obtain an upgrade package.

[0049] Furthermore, for each upgrade package, each capacity corresponding upgrade package can be tested on the device to ensure that the upgrade package functions properly. If a problem occurs during the test, the problem is recorded and fixed, and the test is repeated until the expected quality standard is achieved.

[0050] Furthermore, after the upgrade package is generated, a check value of the firmware program is generated and placed in a specified location in the parameter area of ​​the upgrade package. A capacity is selected, 3KB parameters and their check value data are generated and placed in a specified location in the parameter area. Finally, a check value of the parameter area itself is generated.

[0051] S302: extract a capacity tag from the capacity configuration table.

[0052] Exemplarily, a capacity tag (model name) is extracted from the capacity configuration table. The firmware to be upgraded can use the capacity tag to find a capacity configuration table that matches the capacity of the solid-state drive corresponding to the firmware to be upgraded.

[0053] S303, generating an integrated upgrade package using the capacity configuration table of each capacity of the solid state drive, the capacity label corresponding to the capacity configuration table, and the firmware program.

[0054] Exemplarily, firstly, the 5KB parameter area of ​​each upgrade package is cut out and saved as an independent 5KB configuration file.

[0055] In a possible implementation, the firmware program is stored in the firmware area, the capacity tag is stored in the parameter area, and the capacity configuration table is stored in the merge area according to the storage address of the capacity tag in the parameter area.

[0056] Specifically, the first capacity label is filtered out from the capacity labels.

[0057] For example, one capacity label may be selected from the capacity labels as the first capacity label, or the first capacity label may be filtered out from the capacity labels according to a preset filtering rule (eg, priority, default setting, etc.).

[0058] Using the first capacity tag, determine the target capacity configuration table corresponding to the first capacity tag in the merged area, and store the target capacity configuration table in the parameter area. Using the target capacity configuration table, generate a target capacity configuration table check code, and store the target configuration table check code in the parameter area.

[0059] For example, as shown in Table 1, Table 1 is an example of an integrated upgrade package. The firmware program is used as the firmware area of ​​the integrated upgrade package. Any capacity is selected to generate a capacity configuration table and a check value and written into the parameter area. A merge area is opened at the end of the integrated upgrade package to store 5KB configuration files of all capacities, and a mapping table is established in the parameter area. In the mapping table, address a is specified to store the starting position of the first configuration file for firmware addressing. The capacity label (model name) is a string used to distinguish the capacity of the SSD. The firmware can use the model name to find a configuration file that matches its own capacity. The model name in the first configuration file is stored at the specified address b, the model name of the second configuration file is stored at address c, and so on. After storing all types of configuration files and mapping tables, the check value of the parameter area is finally generated.

[0060] Table 1 Integrated upgrade package

[0061]

[0062]

[0063] Another possible implementation method is to select a target solid-state drive from solid-state drives of each capacity. Based on the target upgrade package of the target solid-state drive, the target capacity tag is stored in the parameter area. The target capacity tag is the capacity tag except the capacity tag corresponding to the target solid-state drive. Based on the target upgrade package of the target solid-state drive, the target capacity configuration table is added to the integrated area of ​​the target upgrade package to obtain an integrated upgrade package. The target capacity configuration table is the capacity configuration table except the capacity configuration table corresponding to the target solid-state drive.

[0064] Specifically, the firmware program is used to generate a firmware program verification code, and the firmware program verification code is stored in the parameter area. The parameter area is used to generate a parameter area verification code, and the parameter area verification code is stored in the parameter area.

[0065] S304, sending the integrated upgrade package to the target server, so that the target solid state drives of various capacities in the target server upgrade the target firmware of the target solid state drives using the integrated upgrade package.

[0066] In a possible implementation, if the firmware to be upgraded in the target server does not match the first capacity tag in the integrated upgrade package, the parameter area is traversed to determine the second capacity tag that matches the firmware to be upgraded. The capacity configuration table corresponding to the second capacity tag is obtained from the merge area of ​​the integrated upgrade package, so that the firmware to be upgraded is upgraded using the capacity configuration table corresponding to the second capacity tag and the firmware program in the integrated upgrade package.

[0067] Exemplarily, the integrated upgrade package is sent to the target server in the form of online upgrade, so that the server distributes the integrated upgrade package to all SSDs in the target server. After receiving the integrated upgrade package, the SSD first confirms that the integrated upgrade package meets the verification, and then determines whether the capacity configuration table in the parameter area of ​​the integrated upgrade package matches the capacity of the SSD itself. If they match, the parameter area is directly used for upgrading. If they do not match, the capacity tag of the SSD is used to traverse all the capacity tags in the mapping table, determine the configuration file that is the same as the capacity tag of the SSD itself, and then calculate the address of the merged area corresponding to the configuration file, and then copy the capacity parameters from the address, and after the verification is passed, it is used by the SSD.

[0068] For example, if the solid-state drive to be upgraded is 512GB, after receiving the integrated upgrade package, the solid-state drive calculates the storage address of 512GB from the mapping table and retrieves the configuration file. After verification, the firmware program and the 512GB configuration table in the merge area are stored in the solid-state drive to complete the online upgrade of the solid-state drive.

[0069] The firmware upgrade method provided in the embodiment of the present application extracts a very small amount of capacity-related configuration files and their verification data from the upgrade packages of SSDs of the same series but with different capacities, and stores them separately, and then merges them with the firmware to form an integrated upgrade package, which can be used to perform batch online upgrades on SSDs of all capacities of this model without considering the capacity differences of the upgraded SSDs.

[0070] For example, taking a series of SSD products as an example, a common upgrade package is 1029KB, and the size of the integrated upgrade package formed by the 8 capacities of SSDs in this series is only 8*5KB=40KB larger than the size of the original common upgrade package, which is a very small increase. When using common upgrade packages to upgrade SSDs of 8 capacities, on-site personnel need to use 8 packages, totaling 8232KB, and need to carefully confirm whether the capacity of the disk to be upgraded is consistent with the upgrade package. Through the firmware upgrade method of the present application, only a 1069KB integrated package needs to be sent to the on-site personnel, and the on-site personnel can complete the upgrade task by sending it to all SSDs to be upgraded in this series, without considering the capacity differences of the SSDs. The operation is simple, safe and efficient.

[0071] Furthermore, if an integrated upgrade package has been burned into the SSD, ordinary upgrade packages can also be processed. There is no mapping table in the ordinary upgrade package. After receiving the ordinary upgrade package, the SSD will detect the capacity tag in the capacity configuration table in the parameter area of ​​the ordinary upgrade package. If the capacity tag is the same as the capacity tag of the SSD, it will skip querying the mapping table, thereby storing the capacity configuration table and firmware program in the ordinary upgrade package to the SSD to upgrade the SSD. This process supports version rollback, and the SSD running an integrated upgrade package can also correctly process the old version of the ordinary upgrade package, meeting a variety of upgrade scenarios and being flexible to use.

[0072] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the working principle of the firmware upgrade device. It is understandable that in order to realize the above functions, the firmware upgrade device includes a hardware structure and / or software module corresponding to each function. Those skilled in the art should easily realize that, in combination with the algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can 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 this application.

[0073] The embodiment of the present application can divide the functional modules of the firmware upgrade device according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processor. The above integrated module can be implemented in the form of hardware or software functional module.

[0074] It should be noted that the division of modules in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. Figure 4 FIG. 2 shows a possible schematic diagram of the firmware upgrade device involved in the above embodiments. Figure 5 As shown, the firmware upgrade device 400 may include: an acquisition module 401 , an extraction module 402 , a generation module 403 and a sending module 404 .

[0075] The acquisition module 401 is used to support the firmware upgrade device 400 provided in the embodiment of the present application to perform the following steps: Figure 3 S301 in the firmware upgrade method shown.

[0076] The extraction module 402 is used to support the firmware upgrade device 400 provided in the embodiment of the present application to perform the following steps: Figure 3 S302 in the firmware upgrade method shown.

[0077] The generation module 403 is used to support the firmware upgrade device 400 provided in the embodiment of the present application to perform the following steps: Figure 3 S303 in the firmware upgrade method shown.

[0078] The sending module 404 is used to support the firmware upgrade device 400 provided in the embodiment of the present application to perform the following Figure 3 S304 in the firmware upgrade method shown.

[0079] In a possible implementation, the integrated upgrade package includes a parameter area, a firmware area, and a merge area. The device is specifically used to store the firmware program in the firmware area. The capacity label is stored in the parameter area. According to the storage address of the capacity label in the parameter area, the capacity configuration table is correspondingly stored in the merge area.

[0080] In a possible implementation, the device is specifically used to filter out a first capacity tag from the capacity tags. Using the first capacity tag, determine the target capacity configuration table corresponding to the first capacity tag in the merge area, and store the target capacity configuration table in the parameter area. Using the target capacity configuration table, generate a target capacity configuration table check code, and store the target configuration table check code in the parameter area.

[0081] In a possible implementation, the device is specifically used to filter out a target solid-state hard disk from solid-state hard disks of each capacity. Based on the target upgrade package of the target solid-state hard disk, the target capacity tag is stored in the parameter area. The target capacity tag is the capacity tag except the capacity tag corresponding to the target solid-state hard disk. Based on the target upgrade package of the target solid-state hard disk, the target capacity configuration table is added to the integrated area of ​​the target upgrade package to obtain an integrated upgrade package. The target capacity configuration table is the capacity configuration table except the capacity configuration table corresponding to the target solid-state hard disk.

[0082] In a possible implementation, the device is specifically used to generate a firmware program verification code using a firmware program, and store the firmware program verification code in a parameter area. The parameter area is used to generate a parameter area verification code, and the parameter area verification code is stored in the parameter area.

[0083] In a possible implementation, the device is specifically used to obtain a firmware program of the firmware to be upgraded. According to the capacity of the solid-state hard disk, a capacity configuration table for upgrading the firmware in the solid-state hard disk is determined. According to the capacity configuration table and the firmware program corresponding to each capacity of the solid-state hard disk, an upgrade package is generated.

[0084] In a possible implementation, the device is specifically configured to traverse the parameter area to determine a second capacity tag matching the firmware to be upgraded if the firmware to be upgraded in the target server does not match the first capacity tag in the integrated upgrade package. The capacity configuration table corresponding to the second capacity tag is obtained from the merged area of ​​the integrated upgrade package, so that the firmware to be upgraded is upgraded using the capacity configuration table corresponding to the second capacity tag and the firmware program in the integrated upgrade package.

[0085] It should be noted that all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module and will not be repeated here.

[0086] The firmware upgrade device 400 provided in the embodiment of the present application is used to perform the above Figure 3 The firmware upgrade method shown can therefore achieve the same effect as the above-mentioned firmware upgrade method.

[0087] The present application also provides a firmware upgrade device, which can be the firmware upgrade device described in the above embodiment. Figure 2 The firmware upgrade device 103 shown can execute the firmware upgrade method and related steps in the above method embodiment.

[0088] An embodiment of the present application also provides a computer-readable storage medium on which instructions are stored. When the instructions are executed, the firmware upgrade method and related steps in the above method embodiment are executed.

[0089] The embodiment of the present application also provides a computer program product. When the computer program product is run on a computer, the computer executes the firmware upgrade method and related steps in the above method embodiment.

[0090] In some embodiments, the methods described herein may be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or encoded on other non-transitory media or articles of manufacture.

[0091] The present application also provides a firmware upgrade system 500. Figure 5As shown, the firmware upgrade system 500 includes at least one processor 501 and at least one interface circuit 502 .

[0092] As an example, when the firmware upgrade system 500 includes a processor and an interface circuit, the processor may be Figure 5 The processor 501 shown in the solid line frame (or the processor 501 shown in the dotted line frame) may be Figure 5 The interface circuit 502 shown in the solid line frame (or the interface circuit 502 shown in the dotted line frame) is shown in the solid line frame. When the firmware upgrade system 500 includes two processors and two interface circuits, the two processors include Figure 5 The processor 501 shown in the solid line frame and the processor 501 shown in the dotted line frame, the two interface circuits include Figure 5 The interface circuit 502 shown in the solid line frame and the interface circuit 502 shown in the dotted line frame are not limited to this.

[0093] The processor 501 and the interface circuit 502 may be interconnected via a line. For example, the interface circuit 502 may be used to receive a signal. In another example, the interface circuit 502 may be used to send a signal to another device (e.g., the processor 501). For example, the interface circuit 502 may read a computer instruction stored in a memory and send the computer instruction to the processor 501. The processor 501 executes the instruction and implements the various steps in the above embodiments in combination with the input and output devices, such as implementing Figure 3 The various steps performed in the method embodiment shown. Of course, the firmware upgrade system 500 may also include other discrete components, which are not specifically limited in the embodiment of the present application.

[0094] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0095] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0096] The units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0097] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0098] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to enable a firmware upgrade device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.

[0099] The above contents are only specific implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application shall be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims

1. A firmware upgrade method, characterized in that: Applied to at least one solid-state drive, each of the solid-state drives has a different capacity, and the firmware to be upgraded between each of the solid-state drives is the same; the method comprises: For each capacity of the solid state drive, obtaining an upgrade package determined for the firmware to be upgraded; the upgrade package includes a capacity configuration table and a firmware program; the capacity configuration table corresponds to the capacity of the solid state drive; Extracting a capacity tag from the capacity configuration table; Generate an integrated upgrade package using the capacity configuration table of the solid-state hard disk of each capacity, the capacity label corresponding to the capacity configuration table, and the firmware program; The integrated upgrade package is sent to a target server, so that target solid-state hard disks of various capacities in the target server use the integrated upgrade package to upgrade target firmware of the target solid-state hard disks.

2. The method according to claim 1, characterized in that The integrated upgrade package includes a parameter area, a firmware area and a merge area; the integrated upgrade package is generated by using the capacity configuration table of the solid-state hard disk of each capacity, the capacity label corresponding to the capacity configuration table and the firmware program, including: storing the firmware program in the firmware area; storing the capacity tag in the parameter area; According to the storage address of the capacity tag in the parameter area, the capacity configuration table is correspondingly stored in the merge area.

3. The method according to claim 2, characterized in that The method further comprises: Filtering a first capacity label from the capacity labels; Using the first capacity tag, determining a target capacity configuration table corresponding to the first capacity tag in the merged area, and storing the target capacity configuration table in the parameter area; The target capacity configuration table is used to generate a target capacity configuration table verification code, and the target configuration table verification code is stored in the parameter area.

4. The method according to claim 1, characterized in that: The integrated upgrade package includes a parameter area, a firmware area and a merge area; the integrated upgrade package is generated by using the capacity configuration table of the solid-state hard disk of each capacity, the capacity label corresponding to the capacity configuration table and the firmware program, and further includes: Filter out target SSDs from SSDs of each capacity; Based on the target upgrade package of the target solid state drive, storing a target capacity label in the parameter area; the target capacity label is a capacity label among the capacity labels except the capacity label corresponding to the target solid state drive; Based on the target upgrade package of the target solid state drive, a target capacity configuration table is added to the integrated area of ​​the target upgrade package to obtain the integrated upgrade package; the target capacity configuration table is the capacity configuration table in the capacity configuration table except the capacity configuration table corresponding to the target solid state drive.

5. The method according to any one of claims 2 to 4, characterized in that: The method further comprises: generating a firmware program verification code by using the firmware program, and storing the firmware program verification code in the parameter area; A parameter area check code is generated by using the parameter area, and the parameter area check code is stored in the parameter area.

6. The method according to claim 1, characterized in that The step of obtaining, for each capacity of the solid state drive, an upgrade package determined for the firmware to be upgraded includes: Obtaining the firmware program of the firmware to be upgraded; Determining a capacity configuration table for upgrading the firmware in the solid-state hard disk according to the capacity of the solid-state hard disk; The upgrade package is generated according to the capacity configuration table and the firmware program corresponding to the solid state drive of each capacity.

7. The method according to claim 1, characterized in that The step of sending the integrated upgrade package to the target server so that the target solid-state hard disks of various capacities in the target server use the integrated upgrade package to upgrade the target firmware of the target solid-state hard disks includes: If the firmware to be upgraded in the target server does not match the first capacity tag in the integrated upgrade package, traverse the parameter area to determine a second capacity tag that matches the firmware to be upgraded; A capacity configuration table corresponding to the second capacity tag is obtained from the merged area of ​​the integrated upgrade package, so that the firmware to be upgraded is upgraded using the capacity configuration table corresponding to the second capacity tag and the firmware program in the integrated upgrade package.

8. A firmware upgrade device, characterized in that: Applied to at least one solid-state hard disk, each of the solid-state hard disks has a different capacity, and the firmware to be upgraded between each of the solid-state hard disks is the same; the device comprises: An acquisition module, configured to acquire, for each capacity of the solid state drive, an upgrade package determined for the firmware to be upgraded; the upgrade package includes a capacity configuration table and a firmware program; the capacity configuration table corresponds to the capacity of the solid state drive; An extraction module, used to extract a capacity tag from the capacity configuration table; A generating module, configured to generate an integrated upgrade package by using a capacity configuration table of the solid-state hard disk of each capacity, a capacity label corresponding to the capacity configuration table, and the firmware program; The sending module is used to send the integrated upgrade package to the target server, so that the target solid-state hard disks of various capacities in the target server use the integrated upgrade package to upgrade the target firmware of the target solid-state hard disks.

9. A firmware upgrade device, characterized in that: The firmware upgrade device comprises a processor and a memory, wherein the memory stores computer executable instructions that can be executed by the processor, and the processor executes the computer executable instructions to implement the firmware upgrade method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the firmware upgrade method according to any one of claims 1 to 7 is implemented.