Firmware update control device, system, and method thereof

TWI935945BActive Publication Date: 2026-08-11NUVOTON
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
TW114131304
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-08-15
Publication Date
2026-08-11
Estimated Expiration
2045-08-14

Smart Images

  • Figure TWG2TB001905884_001
    Figure TWG2TB001905884_001
  • Figure TWG2TB001905884_002
    Figure TWG2TB001905884_002
  • Figure TWG2TB001905884_003
    Figure TWG2TB001905884_003
Patent Text Reader

Abstract

A firmware update control device, system, and method are disclosed. The firmware update control device includes execution memory, data memory, and a security module. The execution memory stores firmware update code and generates locking and unlocking codes based on the bootloader's key. The data memory stores update context data. The security module controls the access permissions of the execution memory and data memory based on the locking and unlocking codes. When a client program performs a firmware update, the security module unlocks the data memory's access permissions based on the unlocking codes, allowing the client program to call the execution memory to perform the firmware update based on the firmware update code and update context data. After the firmware update is completed, the security module locks the data memory's access permissions based on the locking codes.
Need to check novelty before this filing date? Find Prior Art

Claims

1. A firmware update control device, connected to a bootloader and a client program, the bootloader generating a key, the firmware update control device comprising: an execution memory for storing a firmware update code, and generating a locking code and an unlocking code based on the key; a data memory for storing update context data; and a security module connected to the execution memory for controlling access permissions of the execution memory and the data memory based on the locking code and the unlocking code; wherein, When the client program executes a firmware update, the security module unlocks the data memory access permissions according to the unlock code, so that the client program can call the execution memory to execute the firmware update according to the firmware update code and the update context data; after the firmware update is completed, the security module locks the data memory access permissions according to the lock code.

2. The firmware update control device as described in claim 1, wherein, When the firmware update control device enters an initialization state, the access permissions of the execution memory and the data memory are preset to be open, and the execution memory performs the storage of the firmware update code and the data memory performs the storage of the update context data; after the storage of the firmware update code and the update context data is completed, the security module locks the access permissions of the execution memory and the data memory according to the locking code.

3. The firmware update control device as described in claim 1, wherein, The updated context information includes at least one of the following: the firmware's storage address, firmware type, and encryption algorithm.

4. The firmware update control device as described in claim 1, wherein, The security module includes multiple registers, which lock or unlock access permissions to the execution memory and the data memory based on the state of the multiple registers.

5. A firmware update system, comprising: a first storage device for storing a bootloader that generates a key; a second storage device for storing a client program; and a firmware update control device connected to the first storage device and the second storage device, comprising: an execution memory for storing a firmware update code and generating a locking code and an unlocking code based on the key; a data memory for storing update context data; and a security module connected to the execution memory for controlling access permissions of the execution memory and the data memory based on the locking code and the unlocking code; wherein... When the client program executes a firmware update, the security module unlocks the data memory access permission according to the unlock code. The client program then calls the execution memory to execute the firmware update according to the firmware update code and the update context data. When the client program completes the firmware update, the security module locks the data memory access permission according to the lock code.

6. The firmware update system as described in claim 5, wherein, When the firmware update control device enters an initialization state, the access permissions of the execution memory and the data memory are preset to be open, and the execution memory performs the storage of the firmware update code and the data memory performs the storage of the update context data; when the storage of the firmware update code and the update context data is completed, the security module locks the access permissions of the execution memory and the data memory according to the locking code.

7. The firmware update system as described in claim 5, wherein, The updated context information includes at least one of the following: the firmware's storage address, firmware type, and encryption algorithm.

8. A firmware update method, comprising: randomly generating a key; generating a locking code and an unlocking code based on the key; when performing a firmware update, unlocking access permissions of a data memory based on the unlocking code, and performing the firmware update based on a firmware update code in execution memory and update context data in the data memory; when the firmware update is completed, locking access permissions of the data memory based on the locking code.

9. The firmware update method as described in claim 8, wherein, In an initialization state, the access permissions of the execution memory and the data memory are preset to be open, and the firmware update code is stored in the execution memory and the update context data is stored in the data memory.

10. The firmware update method as described in claim 8, wherein, The key is generated by a startup program, which randomly generates a new key each time the startup program starts.

Citation Information

Patent Citations

  • Platform firmware armoring technology

    TW201218079A

  • Verifying controller code and system boot code

    TW201443686A

  • Firmware update in a storage backed memory package

    TW201937365A

  • Firmware upgrade method and device

    TW202009778A

  • Over the air update for IoT devices, such as wireless electronic locks

    TW202329756A