Dynamic Firmware Deduplication via Global Data Table

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Adaptability or versatility

If firmware update size is increased to include additional features, then functionality is improved, but storage capacity is exceeded

Engineering Contradiction:
Improvefirmware functionalityVSAvoidstorage capacity
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #26Copying

2Quantity of substance

If firmware update size is reduced through deduplication, then storage efficiency is improved, but data transmission size is reduced

Engineering Contradiction:
Improvestorage efficiencyVSAvoidbandwidth efficiency
Core Design Contradiction:
Quantity of substanceVSLoss of energy

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.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If deduplication table is generated, then storage utilization is improved, but processing complexity is increased

Engineering Contradiction:
Improvestorage utilizationVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20200334028A1System and Method for Dynamic Data Deduplication for Firmware Updates
Publication Date: 2020.10.22 DELL PROD LP
  • US20200334028A1 patent drawing
  • US20200334028A1 patent drawing
  • US20200334028A1 patent drawing

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.