CPC G06F 8/65 (2013.01) [H04L 9/50 (2022.05); H04L 2209/463 (2013.01)] | 18 Claims |
1. A method for updating firmware of a target device, comprising:
dividing the firmware into a plurality of sections, and assigning the sections to a plurality of block segments using a first electronic device, wherein each of the block segments comprises one or more of the sections and section metadata corresponding to the one or more sections;
generating a firmware chain by generating a series of blocks corresponding to the block segments and creating links between the blocks using a first electronic device, and publishing the block segments onto the firmware chain, wherein each block comprises one of the block segments and block metadata corresponding to the block segment;
obtaining the sections from the firmware chain using the target device, and writing the sections to a first storage bank of the target device;
generating a new block segment by comparing the firmware to new firmware using the first electronic device, wherein the new firmware comprises one or more updated sections and the section metadata corresponding to the updated sections;
adding a new block into the firmware chain using the first electronic device by generating the new block corresponding to the new block segments and creating a new link between the new block and the last block on the firmware chain, and publishing the new block segments onto the firmware chain, wherein the new block comprises the new block segment and the block metadata corresponding to the new block segment; and
using all of the section metadata obtained from the firmware chain after the new block is published to identify the updated sections using the target device, writing the updated sections from the firmware chain to a second storage bank of the target device, and writing sections other than the updated sections from the first storage bank to the second storage bank.
|