Firmware Update via Flash Memory Block Differences
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing firmware update methods for devices with Micron's Authenta Flash are inefficient, requiring the entire firmware image to be transferred and recorded, even if only minor changes are made, leading to high data transmission and network resource consumption, and lack reliability and stability, especially when updating multiple devices simultaneously.
Innovation Solution
A firmware massive update method that calculates and transmits only the differences in the firmware image in blocks of 4 KB to 64 KB, using a gRPC protocol for communication, and manages firmware data by storing and updating boot images in specific areas of the flash memory, with Authenticated Modify (AM) blocks, minimizing data transmission and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire firmware image is transferred and recorded to Authenta flash, then the update reliability is ensured, but the data transmission volume and network resource consumption increase significantly
Solution Approach 1:
The firmware image is divided into multiple blocks (e.g., 4KB to 64KB blocks). The system calculates and transmits only the difference values for changed blocks rather than the entire firmware image, significantly reducing data transmission volume while maintaining update reliability through selective block updating
Solution Approach 2:
The system extracts only the changed portions (difference values) from the firmware image for transmission and updating. By identifying and transmitting only the modified blocks rather than the complete firmware image, data transmission volume is minimized while ensuring reliable updates through targeted block replacement
2Reliability
If the entire firmware image is recorded even for minor changes, then the Authenta flash requirements are met, but the update time increases
Solution Approach 1:
The firmware update process is segmented into block-level operations. By dividing the firmware image into manageable blocks and updating only the changed blocks rather than the entire image, the update time is significantly reduced while maintaining stability through systematic block management and verification
Solution Approach 2:
The system performs partial updating by applying only the necessary block changes rather than re-recording the entire firmware image. This partial action approach reduces update time for minor changes while ensuring stability through comprehensive block-level error checking and verification protocols
3Productivity
If firmware update is performed on multiple devices simultaneously using traditional methods, then all devices are updated, but the network resources and time consumption become excessive
Solution Approach 1:
The massive update process is segmented into device-level independent block operations. Each device receives and processes only its specific changed blocks rather than complete firmware images, allowing parallel updates across multiple devices with minimal network resource consumption and optimized time efficiency
Solution Approach 2:
For massive simultaneous updates, the system applies partial updating to each device by transmitting only the difference values for changed blocks. This approach enables efficient batch processing of multiple devices while minimizing cumulative network resource consumption and total update time
Data Source
AI summary
A firmware massive update method using a flash memory includes: a firmware data registration step of receiving, from a manufacturer server, at least one of information of a user device that is a firmware update target, and firmware information and registering the received information as firmware data; a firmware data management step of receiving a request from a firmware update server in which the registered firmware data is stored, and storing and managing the registered firmware data in a specific area of a flash memory included in the user device via a network; and a firmware update execution step of executing a firmware update on the firmware data managed in the specific area of the flash memory included in the user device through the firmware update server.


