Firmware Update Method for Low Memory Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Low memory devices face challenges in firmware updates as they lack sufficient memory to store both current and new firmware versions, requiring external devices, additional memory, or complex boot loaders with embedded communication stacks, which are prone to bugs and memory-intensive.

Innovation Solution

The firmware is split into a core part and an extended part, allowing the core part to independently connect to a remote server, download, and manage updates without needing a wired connection, external memory, or a communication stack in the boot loader, by inhibiting entry points, erasing the current extended part, downloading new components, and activating the new firmware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the firmware is updated by connecting to an external device, then the new firmware version can be downloaded and installed, but the device requires a wired connection to another device

Engineering Contradiction:
Improvefirmware update capabilityVSAvoidconnection requirement
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The device performs firmware updates autonomously using its own resources. The core part of the firmware contains a download client that can independently connect to remote servers, download new firmware versions, and install updates without requiring external device assistance or wired connections.

Inventive Principle:
Principle #25Self-service

2Quantity of substance

If an external memory is added to the device, then the new firmware version can be stored during update, but the device requires adaptation for receiving external memory

Engineering Contradiction:
Improvememory capacityVSAvoiddevice adaptation
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The firmware is divided into a core part and an extended part. The core part (containing update functionality) is updated first and can be installed in the available memory space. The extended part is updated separately, allowing the update process to proceed with the existing memory capacity without requiring external memory or device adaptation.

Inventive Principle:
Principle #1Segmentation

3Reliability

If a boot loader with communication stack is used, then the firmware update can be performed autonomously, but the boot loader becomes complex and requires more internal memory

Engineering Contradiction:
Improveautonomous update capabilityVSAvoidboot loader complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The communication and download functionality is extracted from the boot loader and placed in the core part of the firmware. This allows the boot loader to remain simple and memory-efficient, while the core part contains the necessary download client and update management capabilities to perform autonomous updates.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If the core part is updated first, then the download client is available for updating the extended part, but memory space must be managed carefully

Engineering Contradiction:
Improveupdate efficiencyVSAvoidmemory space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The core part is updated first as a preliminary action, establishing the download client capability before updating the extended part. This sequencing allows the system to gain update functionality early in the process, enabling the extended part to be downloaded and installed subsequently, optimizing the use of available memory space during the update process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10564873B2Method for updating a firmware on a low memory device
Publication Date: 2020.02.18 THALES DIS FRANCE SA
  • US10564873B2 patent drawing
  • US10564873B2 patent drawing
  • US10564873B2 patent drawing

AI summary

The present invention relates to a method for updating a firmware on a device, from a current version to a new version, said firmware being split into: —a core part, —an extended part comprising a plurality of entry points callable by the core part, said method comprising: —inhibiting the entry points between the core part of the current version, called current core part, and the extended part of the current version, called current extended part; —erasing the current extended part; —downloading the core part of the new version, called new core part; —erasing the current core part; —downloading—the extended part of the new version, called new extended part; —activating the entry points between the new core part and the new extended part.