Differential Image Update for Flash Memory Capacity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As programmable circuitry becomes increasingly complex, the images used to configure microprocessor circuitry continue to grow in size, often exceeding the available storage capacity in flash memory, necessitating external flash or alternative methods to store updated images.

Innovation Solution

The use of differential image data generated through processes like Bsdiff, which represents the differences between the original and updated images, allows for the construction of the updated image during the update process, utilizing less memory and enabling updates in resource-constrained systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the complete updated image is stored in flash memory, then the microprocessor circuitry can be updated with new functionality, but the flash memory capacity is exceeded

Engineering Contradiction:
Improveupdated image functionalityVSAvoidflash memory capacity
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The updated image is divided into two parts: differential image data (containing only changes) and original image (stored in flash memory). This segmentation allows the complete updated image to be constructed on-demand without storing it entirely in flash memory, resolving the capacity contradiction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The differential image data is nested within the flash memory alongside the original image. When an update is needed, the differential data is applied to the original image to construct the updated image, effectively nesting the update mechanism within the existing storage structure.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Area of stationary object

If external flash memory is used to store the updated image, then sufficient storage capacity is available, but the device complexity increases

Engineering Contradiction:
Improvestorage capacityVSAvoidsystem architecture
Core Design Contradiction:
Area of stationary objectVSDevice complexity

Solution Approach 1:

The system uses itself (the original image already stored in flash memory) as part of the update process. The differential image data references and modifies the original image in-place, eliminating the need for external flash memory and reducing device complexity.

Inventive Principle:
Principle #25Self-service

3Area of stationary object

If the original image is shifted to create a swap area, then the updated image can be constructed in place, but the update process time increases

Engineering Contradiction:
Improvein-place update capabilityVSAvoidupdate process duration
Core Design Contradiction:
Area of stationary objectVSLoss of time

Solution Approach 1:

The original image is shifted to create a swap area before the update process begins. This preliminary action prepares the memory space in advance, allowing the updated image to be constructed directly in the flash memory without requiring additional external storage, though it does extend the update time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250045040A1Methods and apparatus to differentially update programmable circuitry
Publication Date: 2025.02.06 TEXAS INSTRUMENTS INC
  • US20250045040A1 patent drawing
  • US20250045040A1 patent drawing
  • US20250045040A1 patent drawing

AI summary

An example apparatus includes: interface circuitry; machine-readable instructions; and programmable circuitry configured to at least one of instantiate or execute the machine-readable instructions to: determine a number of memory sectors to shift an original image based on a length of extra data in an updated image in differential image data; shift the original image by the number of memory sectors to create a swap area, the swap area including the number of memory sectors; and construct the updated image based on the differential image data and the original image.