Dynamic Firmware Deduplication via Global Data Table
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Information handling systems face challenges in efficiently updating firmware due to limited storage capacity in flash memory devices, which restricts the size of firmware revisions and storage of additional features, despite the need for data deduplication to improve storage and bandwidth utilization.
Innovation Solution
A method for dynamic data deduplication of firmware updates involves dividing the firmware image into data blocks, identifying patterns, generating a global data deduplication table with an index array, and restoring the deduplicated firmware image before execution, allowing for reduced storage and transmission requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If firmware update size is increased to include additional features, then functionality is improved, but storage capacity is exceeded
Solution Approach 1:
The firmware image is divided into multiple data blocks of fixed size (e.g., 4KB each). This segmentation allows the system to identify and deduplicate individual blocks rather than treating the entire firmware as a single unit, enabling more efficient storage utilization within limited flash memory capacity.
Solution Approach 2:
The patent creates a global data deduplication table that stores unique data blocks and their locations. Instead of storing duplicate firmware blocks across multiple partitions, the system references the same physical blocks through the deduplication table, effectively multiplying the usable storage capacity without increasing physical storage size.
2Quantity of substance
If firmware update size is reduced through deduplication, then storage efficiency is improved, but data transmission size is reduced
Solution Approach 1:
The deduplication table is generated and stored in the firmware update package before transmission. This preliminary action allows the receiving system to immediately utilize the deduplication information without needing to perform additional analysis, reducing the overall transmission requirements and improving bandwidth efficiency.
3Quantity of substance
If deduplication table is generated, then storage utilization is improved, but processing complexity is increased
Solution Approach 1:
The deduplication table is organized with local optimizations, such as grouping data blocks by their source partition and using localized indexing structures. This local organization reduces the complexity of searching and managing the deduplication information compared to a fully global approach, while still achieving high storage utilization.
Data Source
AI summary
A method for updating firmware includes receiving a firmware update package having a firmware image, and deduplicating the firmware image. The deduplicating may include dividing the firmware image into data blocks and determining a pattern in the data blocks. The method generates a global data deduplication table including an index array associated with the data patterns, and updates the firmware with the deduplicated firmware image. The method invokes an initialization procedure that includes execution of the updated firmware, and restores the updated firmware based on the global data deduplication table prior to the execution.


