Flash Peripheral Device Bootloader Fallback Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional flash devices in embedded systems, such as those used in countermeasure warfare systems, are vulnerable to power loss or errors during flashing operations, leading to unsuccessful updates and rendering the systems unusable, necessitating remote resets and causing mission delays.

Innovation Solution

A flash peripheral device with a kernel, bootloader, and operation application that includes a master and agent flash image, along with checksum elements, allowing the system to revert to legacy instructions if the update fails, enabling continuous reflashing and preventing system 'bricking'.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional flash architecture is used for updating instructions in embedded systems, then the system can be updated with new instructions, but the system becomes vulnerable to power loss or errors during flashing operations, rendering it unusable

Engineering Contradiction:
Improveinstruction update capabilityVSAvoidsystem availability during flash operation
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The flash memory is divided into multiple partitions: a first partition containing legacy instructions and a second partition containing updated instructions. This segmentation allows the system to maintain operational instructions while updating, preventing complete system failure if an update error occurs. The bootloader can selectively load from either partition based on update success.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-loading updated instructions into a second partition before switching to them. The bootloader is configured to attempt loading updated instructions first, and only if that fails does it revert to legacy instructions in the first partition. This preliminary arrangement ensures continuous operability.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If conventional flash architecture is used, then updates can be performed, but remote reset is required when updates fail, causing mission delays

Engineering Contradiction:
Improveupdate process simplicityVSAvoiddowntime for remote reset
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The embedded system performs self-service by automatically detecting flash operation failures and switching to legacy instructions in the first partition without requiring external intervention. The bootloader monitors update success and autonomously reverts to operational state if needed, eliminating the need for remote reset operations and reducing downtime.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms where the bootloader monitors the success of flash operations and automatically adjusts its behavior based on the outcome. If updated instructions fail to load, the system receives feedback about the failure and automatically switches to legacy instructions, creating a closed-loop error handling system that prevents complete system failure.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12153910B2Golden flash image
Publication Date: 2024.11.26 BAE SYSTEMS INFORMATION ANDELECTRONIC SYSTEMS INTEGRATION INC
  • US12153910B2 patent drawing
  • US12153910B2 patent drawing
  • US12153910B2 patent drawing

AI summary

Flash peripheral device may include a kernel in logical communication with a bootloader where the kernel, when initialized, is adapted to upload in at least one hardware controller via the bootloader. Flash peripheral device may also include at least one firmware protocol in logical communication with the kernel and configured to initialize at least one hardware driver of the at least one hardware controller. Flash peripheral device may also include an operation application in logical communication with the kernel and provided with a legacy set of instructions and at least one updated set of instructions. The operation application executes and runs the at least one updated set of instructions when the at least one updated set of instructions is flashed to the operation application or executes and runs the legacy set of instructions when the at least one updated set of instructions fails to be flashed to the operation application.