A method for batch online upgrade of solid state drive firmware
By generating work order data sets and online timelines, verifying the security of the solid-state drive firmware and optimizing the upgrade time period, the security vulnerabilities and slow upgrade speed in the solid-state drive firmware upgrade process are solved, and efficient and secure batch online upgrades are achieved.
Patent Information
- Application Number
- CN202411572311.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-06
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2044-11-06
AI Technical Summary
In the prior art, the solid-state hard disk firmware upgrade method is prone to security vulnerabilities when processing a large number of hard disks, resulting in the firmware being tampered with or damaged, and cannot be carried out concurrently during batch upgrades, resulting in slow upgrade speed and low efficiency.
Connect the computer to the network to obtain solid-state drive firmware information and download tasks at all points in time, generate work order data sets and script data sets, use hash values, validity periods and IP addresses to verify data transmission security, generate online timelines and optimize upgrade time periods, and realize batch online upgrades.
It improves the security of data transmission and batch upgrade efficiency, ensures the security of data transmission, and improves the upgrade speed during the concurrent upgrade process.
Smart Images

Figure CN119415120B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of solid - state drive storage management, and specifically to a method for batch online upgrade of solid - state drive firmware. Background Art
[0002] A solid - state drive (SSD) is a data storage device made of a solid - state electronic storage chip array. The solid - state drive has no mechanical components such as disks or magnetic heads and has significant advantages over traditional hard disk drives (HDDs) in terms of speed, durability, power consumption, and noise. The core of the solid - state drive is a storage array composed of flash memory chips. Data is stored in these chips, read and written electronically, and a flash translation layer (FTL) software algorithm is used to manage the storage and access of data, which is responsible for converting the data requests of the host system into the addresses of physical storage units. Solid - state drives are widely used in multiple fields such as computers, servers, data centers, and mobile devices, and their durability and reliability are increasingly favored by consumers and enterprises. With the development of technology, the storage capacity of solid - state drives is constantly increasing, and corresponding firmware needs to be updated and upgraded to ensure the reliability and efficiency of the system.
[0003] Currently, when traditional methods for upgrading solid - state drive firmware process a large number of hard disks, security vulnerabilities are likely to occur, resulting in the firmware being tampered with or damaged, making it difficult to ensure the security of data transmission. In addition, batch upgrades are usually carried out sequentially according to the application order and cannot be carried out concurrently, resulting in slow upgrade speed and low efficiency. Summary of the Invention
[0004] (1) Technical Problems to be Solved
[0005] In view of the deficiencies of the prior art, the present invention provides a method for batch online upgrade of solid - state drive firmware, which has the advantages of high batch verification security and high concurrent upgrade efficiency, and solves the problems that traditional upgrade methods are difficult to ensure the security of data transmission and cannot perform concurrent upgrades with low efficiency.
[0006] (2) Technical Solutions
[0007] To achieve the above object, the present invention provides the following technical solution: A method for batch online upgrade of solid - state drive firmware, comprising the following steps:
[0008] Step 1: Obtain the firmware information of all solid - state drives waiting for upgrade at all time points and all download tasks at all time points through a network connection to a computer, and classify and form a work order data set and a script data set;
[0009] Step 2: According to the work order dataset, analyze the hash value, validity period, and IP address of each group of firmware information, generate the corresponding verification data group Yzsj, judge the security of data transmission, count all the work order data that pass the verification, and generate the online timeline SZ arranged in chronological order from earliest to latest;
[0010] Step 3: According to the work order dataset, the script dataset, and the online timeline SZ, analyze the task duration Rwsc of each work order and generate the corresponding upgrade time period SJD;
[0011] Step 4: According to the upgrade time period SJD, update the nodes of the online timeline SZ, and batch upgrade the solid-state drives online. If there are overlaps in the upgrade time periods SJD of multiple work orders, then combined with the script dataset, after optimization management, continue the upgrade.
[0012] Preferably, in the above Step 1, the expression of the work order dataset is {G1 d 、G2 d 、G3 d 、...、Gn d}, where G1 d to Gn d are the solid-state drive firmware information waiting to be upgraded from the first time point to the nth time point respectively. The solid-state drive firmware information includes the SN number, HTTPS certificate, and key. The solid-state drive firmware information waiting to be upgraded at a single time point corresponds to a single work order, and d represents the specific time for obtaining a single group of solid-state drive firmware information.
[0013] Preferably, in the above Step 1, the expression of the script dataset is to are the first to the mth download tasks respectively, g represents the SN number of the solid-state drive corresponding to a single download task, and z represents the number of file bytes of a single download task.
[0014] Preferably, in the above Step 2, the calculation process of the verification data group Yzsj is as follows:
[0015] Extract the solid-state drive firmware information waiting to be upgraded at the i-th time point in the work order dataset and mark it as Gi d ;
[0016] Calculate the hash values of the HTTPS certificate and key in G1 d respectively through OpenSSL, mark the hash value of the HTTPS certificate as sha HIIPS , and mark the hash value of the key as sha my ;
[0017]
[0018] In the formula, Yzsj represents the verification data group, sha HIIPS ∩sha my represents the intersection part of the HTTPS certificate hash value and the key hash value, HIIPS min represents the effective date of the HTTPS certificate, HIIPS max represents the expiration date of the HTTPS certificate, HIIPS min ≤i≤HIIPS max represents comparing the i-th time point with the validity period of the HTTPS certificate. C represents the computer trust list, which includes the CA list and the IP address list. HIIPS∩C represents comparing the HTTPS certificate with the computer trust list.
[0019] Preferably, in the second step, if the HTTPS certificate hash value and the key hash value in the verification data group Yzsj are inconsistent, it means that the HTTPS certificate and the key do not match, and the verification fails. The work order is not allowed to continue the communication connection. If the i-th time point in the verification data group Yzsj exceeds the validity period of the HTTPS certificate, it means that the HTTPS certificate has expired, and the verification fails. The work order is not allowed to continue the communication connection. If the issuing authority of the HTTPS certificate in the verification data group Yzsj does not match the CA list or the subject of the HTTPS certificate does not match the IP address list, it means that the computer does not trust the HTTPS certificate, and the verification fails. The work order is not allowed to continue the communication connection.
[0020] Preferably, in the second step, if the HTTPS certificate hash value and the key hash value in the verification data group Yzsj are the same, the HTTPS certificate has not expired, the issuing authority of the HTTPS certificate matches the CA list, and the subject of the HTTPS certificate matches the IP address list, it means that the data transmission security is high, the verification is qualified, and the work order is allowed to continue the communication connection.
[0021] Preferably, in the third step, the calculation process of the task duration Rwsc is as follows:
[0022] Each node in the online timeline SZ corresponds to a work order. Extract the work order of the k-th node and mark it as Gk d , Gk d contains the solid-state drive firmware information waiting to be upgraded at the k-th time point, and d represents the specific time to obtain a single group of solid-state drive firmware information;
[0023] If Gk d has a download task, extract the k-th download task in the script dataset and mark it as Among them, is the same as the solid-state drive SN number contained in Gk d ;
[0024]
[0025] In the formula, Rwsc represents the task duration, V represents the download speed of the computer, represents the file byte number of the k-th download task divided by the download speed to obtain the required download duration, and YL represents the reserved duration when the computer processes the work order. represents the sum of the download duration and the reserved duration, which is the task duration.
[0026] Preferably, in the third step, the task duration Rwsc of the work order of the k-th node is marked as Rwsc k and then the required start time of the work order of the k-th node is calculated, and its expression is d - Rwsc k d - Rwsc k from d - Rwsc
[0027] Preferably, in the fourth step, a single work order corresponds to two nodes in the online timeline SZ. The start time corresponds to one node, and the end time corresponds to one node. The time period between the two nodes is the upgrade time period SJD of a single work order.
[0028] Preferably, in the fourth step, a byte threshold ZY with a fixed range is set, and the total file byte number of multiple overlapping download tasks is counted. If the total file byte number does not exceed the byte threshold ZY, there is no need to adjust the nodes, and the solid-state drive is continuously upgraded online in batches according to the online timeline SZ. If the total file byte number exceeds the byte threshold ZY, the nodes need to be adjusted in advance, and then the solid-state drive is upgraded online in batches.
[0029] Compared with the prior art, the present invention provides a method for batch online upgrading of solid-state drive firmware, which has the following beneficial effects:
[0030] 1. The present invention obtains the solid-state drive firmware information waiting to be upgraded at all time points and all download tasks at all time points through network connection to the computer, and classifies and forms a work order data set and a script data set. The SN number, HTTPS certificate, and key are key data for subsequent security verification. Analyze the hash value, validity period, and IP address of each group of firmware information to generate a corresponding verification data group Yzsj to judge the security of data transmission. If the HTTPS certificate hash value and the key hash value in the verification data group Yzsj are the same, the HTTPS certificate has not expired, the issuing authority of the HTTPS certificate matches the CA list, and the subject of the HTTPS certificate matches the IP address list, it means that the data transmission security is high and the verification is qualified, allowing the work order to continue the communication connection. Count all the work order data with qualified verification and arrange them in chronological order from early to late to generate the online timeline SZ. The batch verification has high security, which helps to improve the subsequent computer batch upgrade efficiency.
[0031] 2. The present invention analyzes the task duration Rwsc of each work order through the work order dataset, the script dataset, and the online timeline SZ, generates the corresponding upgrade time period SJD, updates the nodes of the online timeline SZ, and batch upgrades the solid-state drives online. Each work order corresponds to two nodes in the online timeline SZ. The start time corresponds to one node, and the end time corresponds to one node. The time period between the two nodes is the upgrade time period SJD of a single work order. If the upgrade time periods SJD of multiple work orders overlap, combined with the script dataset, after optimization management, the upgrade continues. Set a byte threshold ZY within a fixed range, and count the total number of bytes of the files of multiple download tasks in the overlapping part. If the total number of bytes of the files does not exceed the byte threshold ZY, there is no need to adjust the nodes, and the solid-state drives are batch upgraded online according to the online timeline SZ. If the total number of bytes of the files exceeds the byte threshold ZY, it is necessary to adjust the nodes in advance and then batch upgrade the solid-state drives online. Specifically, the work orders that need to adjust the nodes are processed for download tasks in the idle time period in advance, and the concurrent upgrade efficiency is high. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 It is a schematic diagram of the steps of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0033] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0034] Since the traditional method for upgrading the solid-state drive firmware is prone to security vulnerabilities when processing a large number of hard drives, resulting in the firmware being tampered with or damaged, it is difficult to ensure the security of data transmission. In addition, batch upgrades are usually updated sequentially according to the application order and cannot be carried out concurrently, with a slow upgrade speed and low efficiency. Therefore, a method for batch online upgrading of solid-state drive firmware is provided. Please refer to Figure 1 A method for batch online upgrading of solid-state drive firmware includes the following steps:
[0035] Step 1: Obtain the solid-state drive firmware information waiting for upgrade at all time points and the download tasks at all time points through a network connection to a computer, and classify and form a work order dataset and a script dataset. The expression of the work order dataset is {G1 d 、G2 d 、G3 d 、...、Gn d}, where G1 d to Gn dThey are the SSD firmware information waiting for upgrade from the first time point to the nth time point. The SSD firmware information includes the SN number, HTTPS certificate, and key. The SN number, HTTPS certificate, and key are key data for subsequent security verification. The SSD firmware information waiting for upgrade at a single time point corresponds to a single work order. d represents the specific time for obtaining a single set of SSD firmware information. The expression of the script data set is to They are the first to the mth download tasks respectively. g represents the SN number of the SSD corresponding to a single download task, and z represents the number of file bytes of a single download task. Since different SSDs are running different versions of the firmware, some SSDs need to download new firmware for upgrade, while another part of the SSDs are already running the latest version and do not need to download the script file;
[0036] Step 2: According to the work order data set, analyze the hash value, validity period, and IP address of each group of firmware information to generate the corresponding verification data group Yzsj. The calculation process is as follows:
[0037] Extract the SSD firmware information waiting for upgrade at the ith time point in the work order data set and mark it as Gi d ;
[0038] Calculate the hash values of the HTTPS certificate and key in G1 d respectively through OpenSSL, and mark the hash value of the HTTPS certificate as sha HIIPS , mark the hash value of the key as sha my . Taking SHA-256 as an example, the hash value is a 64-character long hexadecimal string, and each character can be a number from 0-9 or a lowercase letter from a-f;
[0039]
[0040] In the formula, Yzsj represents the verification data group, and sha HIIPS ∩sha my represents the intersection part of the HTTPS certificate hash value and the key hash value. HIIPS min represents the effective date of the HTTPS certificate, and HIIPS max represents the expiration date of the HTTPS certificate. HIIPS min ≤i≤HIIPS max means comparing the ith time point with the validity period of the HTTPS certificate. C represents the computer trust list, and the computer trust list includes the CA list and the IP address list. HIIPS∩C means comparing the HTTPS certificate with the computer trust list;
[0041] According to the verification data group Yzsj, judge the security of data transmission. If the difference between the HTTPS certificate hash value and the key hash value in the verification data group Yzsj is inconsistent, it means that the HTTPS certificate and the key do not match, and the verification fails. The work order is not allowed to continue the communication connection. If the i-th time point in the verification data group Yzsj exceeds the validity period of the HTTPS certificate, it means that the HTTPS certificate has expired and the verification fails. The work order is not allowed to continue the communication connection. If the issuing authority of the HTTPS certificate in the verification data group Yzsj does not match the CA list or the subject of the HTTPS certificate does not match the IP address list, it means that the computer does not trust the HTTPS certificate, and the verification fails. The work order is not allowed to continue the communication connection. If the HTTPS certificate hash value and the key hash value in the verification data group Yzsj are the same, the HTTPS certificate has not expired, the issuing authority of the HTTPS certificate matches the CA list, and the subject of the HTTPS certificate matches the IP address list, it means that the data transmission security is high, the verification is qualified, and the work order is allowed to continue the communication connection;
[0042] Statistically analyze all the work order data with qualified verification, and generate an online timeline SZ arranged in chronological order from early to late. Batch verification with high security helps improve the subsequent computer batch upgrade efficiency;
[0043] Step 3: According to the work order data set, the script data set, and the online timeline SZ, analyze the task duration Rwsc of each work order and generate the corresponding upgrade time period SJD. The calculation process is as follows:
[0044] Each node in the online timeline SZ corresponds to a work order. Extract the work order of the k-th node and mark it as Gk d ,Gk d contains the solid-state drive firmware information waiting to be upgraded at the k-th time point, and d represents the specific time for obtaining a single set of solid-state drive firmware information;
[0045] If Gk d has a download task, correspondingly extract the k-th download task in the script data set and mark it as Among them, is the same as the solid-state drive SN number contained in Gk d ;
[0046]
[0047] In the formula, Rwsc represents the task duration, V represents the computer's download speed, represents the file byte number of the k-th download task divided by the download speed to obtain the required download duration, YL represents the reserved duration when the computer processes the work order, represents the sum of the download duration and the reserved duration, which is the task duration;
[0048] Mark the task duration Rwsc of the work order of the k-th node as Rwsc k , and then calculate the start time required for the work order of the k-th node. Its expression is d - Rwsc k , d - Rwsc k From d - Rwsc to d is the upgrade time period SJD corresponding to the work order of the k-th node;
[0049] Step 4: According to the upgrade time period SJD, update the nodes of the online time axis SZ, and batch online upgrade the solid-state drive. Each work order corresponds to two nodes in the online time axis SZ. The start time corresponds to one node, and the end time corresponds to one node. The time period between the two nodes is the upgrade time period SJD of a single work order. If the upgrade time periods SJD of multiple work orders overlap, then combined with the script data set, after optimization management, continue the upgrade. Set a fixed-range byte threshold ZY, and count the total file bytes of multiple download tasks in the overlapping part. If the total file bytes do not exceed the byte threshold ZY, there is no need to adjust the nodes, and continue to batch online upgrade the solid-state drive according to the online time axis SZ. If the total file bytes exceed the byte threshold ZY, it is necessary to adjust the nodes in advance and then batch online upgrade the solid-state drive. Specifically, the work orders that need to adjust the nodes are processed for download tasks in the idle time period in advance, and the concurrent upgrade efficiency is high.
[0050] Example 1: In this experiment, a 1TB solid-state drive was selected as the experimental object. After detection, the hash value of the HTTPS certificate of this solid-state drive is e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85, and the key hash value is e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855. The application upgrade time point is June 10th. The validity period of the HTTPS certificate is from June 1st to June 30th. The issuing authority of the HTTPS certificate is DigiCert, and the IP address of the HTTPS certificate is Address A. The computer-trusted issuing authority is also DigiCert, and the computer-trusted is also Address A. The calculation formula for the verification data group Yzsj of this solid-state drive is as follows:
[0051]
[0052] In the formula, Yzsj represents the verification data set, and e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85 represents the intersection of the HTTPS certificate hash value and the key hash value. After judgment, the solid-state drive firmware upgrade work order is verified to be qualified, and this work order is allowed to continue the communication connection.
[0053] Embodiment 2: In this experiment, a solid-state drive with a 5000KB download task is selected as the experimental object. After detection, the download speed of the computer at the current time point is 100KB / s, and the reserved duration for processing the work order is 5 minutes. The calculation formula for the task duration Rwsc of the solid-state drive firmware upgrade work order is as follows:
[0054]
[0055] In the formula, Rwsc represents the task duration. represents the file byte number of the download task of this work order divided by the download speed, and the required download duration is 50s. represents the sum of the download duration and the reserved duration, and 350s is the task duration.
[0056] Although the embodiments of the present invention have been shown and described, for those of ordinary skill in the art, it can be understood that various changes, modifications, substitutions, and variations can be made to these embodiments without departing from the principle and spirit of the present invention. The scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. A method for batch online upgrade of solid state drive firmware, characterized in that, It includes the following steps: Step 1: Obtain the SSD firmware information waiting for upgrade at all time points and all download tasks through network connection to the computer, and classify and form a work order data set and a script data set; Step 2: According to the work order data set, analyze the hash value, validity period, and IP address of each group of firmware information, generate the corresponding verification data group Yzsj, judge the security of data transmission, count all the work order data with qualified verification, and arrange them in chronological order from early to late to generate the online timeline SZ; Step 3: According to the work order data set, script data set, and online timeline SZ, analyze the task duration Rwsc of each work order and generate the corresponding upgrade time period SJD; Step 4: According to the upgrade time period SJD, update the nodes of the online timeline SZ, and batch online upgrade the SSD. If there is an overlap in the upgrade time periods SJD of multiple work orders, then combine the script data set, and continue the upgrade after optimization management.
2. A method for batch online upgrade of solid state drive firmware according to claim 1, characterized in that: in the first step, the expression of the work order data set is {G1 d , G2 d , G3 d ,..., Gn d}, where G1 d to Gn d are the solid state drive firmware information waiting for upgrade at the first time point to the nth time point respectively. The solid state drive firmware information includes the SN number, HTTPS certificate and key. The solid state drive firmware information waiting for upgrade at a single time point corresponds to a single work order, and d represents the specific time for obtaining a single set of solid state drive firmware information.
3. A method for batch online upgrade of a solid state drive firmware according to claim 2, characterized in that: In the first step, the expression of the script data set is to are the first to the mth download tasks respectively, g represents the SSD SN number corresponding to a single download task, and z represents the file byte number of a single download task.
4. A method for batch online upgrade of a solid state drive firmware according to claim 3, characterized in that: In the second step, the calculation process of the verification data group Yzsj is as follows: Extract the solid-state drive firmware information waiting for upgrade at the i-th time point in the work order dataset and mark it as Gi d ; Calculate the hash values of the HTTPS certificate and key in G1 respectively through OpenSSL, and mark the hash value of the HTTPS certificate as sha d , and mark the hash value of the key as sha HIIPS ; my ; In the formula, Yzsj represents the verification data group, sha HIIPS ∩sha my represents the intersection part of the HTTPS certificate hash value and the key hash value, HIIPS min represents the effective date of the HTTPS certificate, HIIPS max represents the expiration date of the HTTPS certificate, HIIPS min ≤i≤HIIPS max represents comparing the i-th time point with the validity period of the HTTPS certificate. C represents the computer trust list, which includes the CA list and the IP address list. HIIPS∩C represents comparing the HTTPS certificate with the computer trust list.
5. A method for batch online upgrade of a solid state drive firmware according to claim 4, characterized in that: In the second step, if the HTTPS certificate hash value and the key hash value in the verification data group Yzsj are inconsistent, it means that the HTTPS certificate and the key do not match, and the verification fails. This work order is not allowed to continue the communication connection. If the i-th time point in the verification data group Yzsj exceeds the validity period of the HTTPS certificate, it means that the HTTPS certificate has expired, and the verification fails. This work order is not allowed to continue the communication connection. If the issuing authority of the HTTPS certificate in the verification data group Yzsj does not match the CA list or the subject of the HTTPS certificate does not match the IP address list, it means that the computer does not trust the HTTPS certificate, and the verification fails. This work order is not allowed to continue the communication connection.
6. A method for batch online upgrade of a solid-state drive firmware according to claim 5, characterized in that: In the second step, if the HTTPS certificate hash value and the key hash value in the verification data group Yzsj are the same, the HTTPS certificate has not expired, the issuing authority of the HTTPS certificate matches the CA list, and the subject of the HTTPS certificate matches the IP address list, it means that the data transmission security is high, the verification is qualified, and this work order is allowed to continue the communication connection.
7. A method for batch online upgrade of a solid-state drive firmware according to claim 6, characterized in that: In the third step, the calculation process of the task duration Rwsc is as follows: Each node in the online timeline SZ corresponds to a work order. Extract the work order of the k-th node and label it as Gk d , Gk d contains the solid-state drive firmware information waiting to be upgraded at the k-th time point, and d represents the specific time for obtaining a single set of solid-state drive firmware information; If Gk d There is a download task, extract the k-th download task in the corresponding extraction script dataset, and mark it as Among them, is the same as the SSD SN number included in Gk d ; In the formula, Rwsc represents the task duration, V represents the download speed of the computer, represents the file byte count of the k-th download task divided by the download speed to obtain the required download duration, YL represents the reserved duration when the computer processes the work order, represents the sum of the download duration and the reserved duration, which is the task duration.
8. A method for batch online upgrade of a solid state drive firmware according to claim 7, characterized in that: In the third step above, mark the task duration Rwsc of the work order of the k-th node as Rwsc k , and then calculate the start time required for the work order of the k-th node, and its expression is d - Rwsc k , d - Rwsc k From d - Rwsc to d is the upgrade time period SJD corresponding to the work order of the k-th node.
9. A method for batch online upgrade of a solid state drive firmware according to claim 8, characterized in that: In the fourth step, a single work order corresponds to two nodes in the online timeline SZ. The start time corresponds to one node, and the end time corresponds to one node. The time period between the two nodes is the upgrade time period SJD of a single work order.
10. A method for batch online upgrade of a solid-state drive firmware according to claim 9, characterized in that: In the fourth step, set a fixed range of byte threshold ZY, and count the total number of bytes of the files of multiple overlapping download tasks. If the total number of bytes of the files does not exceed the byte threshold ZY, there is no need to adjust the nodes, and continue to batch online upgrade the SSD according to the online timeline SZ. If the total number of bytes of the files exceeds the byte threshold ZY, it is necessary to adjust the nodes in advance and then batch online upgrade the SSD.
Citation Information
Patent Citations
Segmental detection method for multi-task resource conflict
CN103019811A
Intelligent terminal upgrading strategy management method
CN112052023A