Embedded OS Update via Dual-Sector Storage Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for firmware updates in embedded systems are inadequate in ensuring secure updates, particularly against uncontrollable conditions such as power outages, which can render the system inoperable by overwriting both the original and new firmware versions, leading to system failure.

Innovation Solution

The proposed solution involves partitioning the non-volatile storage unit into a boot sector and two sectors for the embedded operating system, where the initialization variable determines which sector's OS is loaded, allowing for secure overwrite and reset only upon successful completion of the update process, ensuring the system can revert to a functional state even if the update fails.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the firmware update overwrites the original embedded operating system, then the new version is installed, but if the update fails due to power outage or download failure, both the original and new versions become inoperable, causing system failure

Engineering Contradiction:
Improvefirmware update capabilityVSAvoidsystem operability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The non-volatile storage unit is divided into a first sector for storing the original embedded operating system and a second sector for storing the new version. This segmentation allows the system to maintain both versions separately, enabling recovery if the update fails, thus resolving the contradiction between update capability and system reliability.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If the system uses a single sector for the embedded operating system, then the storage structure is simple, but the system cannot recover from update failures

Engineering Contradiction:
Improvestorage structureVSAvoidsystem recovery capability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The storage unit is segmented into multiple sectors (first sector for original OS, second sector for new version) with an initialization variable tracking which sector is active. This provides recovery capability while maintaining manageable complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system prepares the second sector in advance for storing the new version before update occurs. The initialization variable is pre-configured to indicate the active sector, enabling the system to switch to the backup sector if update fails, thus providing preliminary recovery preparation.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the system downloads and installs firmware updates, then new features and defect fixes are achieved, but the risk of power outage or download failure rendering the system inoperable increases

Engineering Contradiction:
Improvefirmware update efficiencyVSAvoidpower outage risk
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system creates a backup storage structure with a second sector reserved for the new version and an initialization variable to track the active sector. This cushioning preparation before update allows the system to withstand power outages or download failures without becoming inoperable, as it can switch to the backup sector if needed.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS8181007B2Electronic device and method for secure operating system update in embedded system
Publication Date: 2012.05.15 GIGA COMPUTING TECHNOLOGY CO LTD
  • US8181007B2 patent drawing
  • US8181007B2 patent drawing
  • US8181007B2 patent drawing

AI summary

An electronic device and method for secure embedded operating system update within embedded system. The embedded system includes a random-access memory, a non-volatile storage unit and a processing unit. The non-volatile storage unit defines a boot sector, a first sector and a second sector and contains a boot loader in the boot sector, an initialization variable in the boot sector and an embedded operating system in the first sector. The second sector is provided for storing another embedded operating system. The processing unit is coupled to the random-access memory and the non-volatile storage unit and is capable of executing the boot loader in order to copy one of the embedded operating systems from either the first sector or the second sector of the non-volatile storage unit into the random-access memory according to the current value of the initialization variable and then executing the loaded embedded operating system.