US 11,989,418 B2
Method and apparatus for upgrading SSD firmware compatible with raid SSD and non-raid
Rongjuan Shen, Shenzhen (CN); Daojing Han, Shenzhen (CN); Yifan Zou, Shenzhen (CN); and Weiliang Wang, Shenzhen (CN)
Assigned to SHENZHEN UNIONMEMORY INFORMATION SYSTEM LIMITED, Guangdong (CN)
Appl. No. 17/043,465
Filed by SHENZHEN UNIONMEMORY INFORMATION SYSTEM LIMITED, Shenzhen (CN)
PCT Filed Feb. 28, 2020, PCT No. PCT/CN2020/077087
§ 371(c)(1), (2) Date Sep. 29, 2020,
PCT Pub. No. WO2021/093222, PCT Pub. Date May 20, 2021.
Claims priority of application No. 201911093608.2 (CN), filed on Nov. 11, 2019.
Prior Publication US 2023/0132119 A1, Apr. 27, 2023
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0613 (2013.01) [G06F 3/0629 (2013.01); G06F 3/0653 (2013.01); G06F 3/0679 (2013.01)] 12 Claims
OG exemplary drawing
 
1. A method for upgrading a solid-state disk (SSD) firmware compatible with a redundant array of independent drives (RAID) and a non-RAID, comprising the steps of:
packing, by an SSD manufacturer, two firmware versions consisting of an RAID firmware and a non-RAID firmware together, when the two firmware versions need to be released;
adding, by the SSD manufacturer, a configuration information with a fixed length of bytes to a firmware header of a resulting packed firmware,
wherein the configuration information comprises: index values, offsets, and file sizes of the RAID firmware and the non-RAID firmware, respectively;
determining, by a firmware upgrading tool in a host, according to an internal information of an SSD, whether a matching firmware version thereof is the RAID firmware or the non-RAID firmware;
acquiring, by the firmware upgrading tool in the host, the configuration information of the firmware header from the SSD manufacturer;
the resulting packed firmware is parsed by the firmware upgrading tool according to a predetermined format, and an appropriate firmware is selected for upgrading;
comparing, by the firmware upgrading tool in the host, the internal information of the SSD with the configuration information of the firmware header, selecting a matching index value, and reading a corresponding firmware into a memory of the host, according to the offsets and the file sizes; and
downloading, by the firmware upgrading tool, the corresponding firmware to the SSD by sending a standard firmware upgrade command, whereby upgrading the SSD firmware for the SSD in the host.