Fault-Tolerant Variable Region Repaving During FOTA Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current firmware update processes lack fault tolerance during over-the-air updates, particularly in non-volatile UEFI variable stores, which can lead to device boot failures and incomplete updates.

Innovation Solution

Implementing a fault-tolerant transaction-based write process that uses a spare region in secure non-volatile memory to backup primary region variables, allowing for seamless recovery and restart of the update process in case of faults, and extending UEFI to enable secure and efficient repaving of variables during firmware over-the-air updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fault-tolerant variable region repaving process is implemented during FOTA update, then device reliability is improved, but device complexity increases

Engineering Contradiction:
Improvefirmware update reliabilityVSAvoidupdate process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The secure store is divided into a primary region and a spare region. The primary region holds the active firmware variables, while the spare region serves as a backup area. This segmentation allows the system to perform fault-tolerant operations by switching between regions, ensuring that if one region becomes corrupted or fails during update, the other remains intact and functional.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Before performing the variable region repaving operation, the system creates a backup of the primary region variables in the spare region. This preliminary action ensures that if the repaving process fails or encounters errors, the original variables can be restored from the backup, preventing device boot failures and ensuring update reliability.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If UEFI is extended to enable variable repaving during FOTA, then adaptability is improved, but manufacturing precision requirements increase

Engineering Contradiction:
Improvefirmware update capabilityVSAvoidvariable store integrity
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The system implements a transaction-based fault-tolerant write (FTW) process that includes validation and verification steps. After repaving variables in the primary region, the system validates the updated variables and ensures their integrity before committing the changes. This feedback mechanism ensures manufacturing precision by detecting and correcting errors, while the extended UEFI provides the adaptability needed for flexible FOTA updates.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10185553B2Fault-tolerant variable region repaving during firmware over the air update
Publication Date: 2019.01.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10185553B2 patent drawing
  • US10185553B2 patent drawing
  • US10185553B2 patent drawing

AI summary

Variables utilized in device firmware that provides various boot and runtime services are repaved in a fault-tolerant manner within a secure store in a durable, non-volatile device memory during an FOTA update process. A spare region in the secure store is utilized to temporarily hold a back-up of a primary region in which the firmware variables are written. Using a transaction-based fault-tolerant write (FTW) process, the variables in the primary region can be repaved with variables contained in a firmware update payload that is delivered from a remote service. In the event of a fault in the variable region repaving process, either the primary or spare region will remain valid so that firmware in a known good state can be utilized to enable the device to boot successfully and the variable region repaving in the FOTA update process may be restarted.