MCU Memory Remapping for OTA Update Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing Over-The-Air (OTA) update process for Micro Control Units (MCUs) is complicated by the need for signature-based version control and requires two writing processes of the application code, increasing startup time and risking data leakage or tampering.

Innovation Solution

An electronic processing device and memory control method that updates application code without signature-based version control, eliminating the need for loader code and reducing the number of writing processes by remapping the base address from a first memory block to a second memory block upon successful writing, allowing a single reboot to execute the updated code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If signature-based version control and two writing processes are used for OTA updates, then the reliability of code updates is improved, but the device complexity and startup time increase

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

Solution Approach 1:

The patent extracts and eliminates the signature verification step from the traditional OTA update process. By removing the signature-based version control mechanism, the system simplifies the update workflow while maintaining reliability through alternative means (direct writing to execution memory followed by reboot). This directly addresses the contradiction by reducing complexity without sacrificing update integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs the code writing operation directly to the execution memory block before reboot, rather than using a two-stage writing process with loader code. This preliminary action approach writes the updated code directly to the active bank, then triggers a reboot to execute the new code, eliminating the need for complex loader verification and reducing overall update complexity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If two writing processes and loader code are used for OTA updates, then the reliability of code verification is improved, but the startup time increases

Engineering Contradiction:
Improvecode verification reliabilityVSAvoidstartup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs the complete code write operation to the execution memory block in a single preliminary action before reboot. This eliminates the need for a second writing process and loader code execution, thereby reducing startup time while maintaining verification reliability through the direct write-reboot-execute sequence.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and removes the loader code component from the update process. By eliminating the loader, the system avoids the additional verification steps and time delays associated with signature checking and staged code loading, achieving faster startup while maintaining update reliability through the simplified direct-write approach.

Inventive Principle:
Principle #2Taking out (Extraction)

3Manufacturing precision

If application code is read out from memory during writing processes, then the completeness of code update is improved, but the risk of data leakage or tampering increases

Engineering Contradiction:
Improvecode update completenessVSAvoiddata leakage risk
Core Design Contradiction:
Manufacturing precisionVSObject-affected harmful factors

Solution Approach 1:

The patent extracts and eliminates the code read-out step from the memory during the writing process. By writing the updated code directly to the execution memory block without reading out the existing code first, the system ensures complete updates while minimizing the risk of data leakage or tampering that would occur during read operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses a disposable approach where the updated code is written directly to the active memory bank and then the system reboots to execute it. This single-pass write operation without read-back verification eliminates the security vulnerability of exposing code during read operations, while the reboot ensures the new code is properly loaded and executed.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS11307795B2Electronic processing devices and memory control methods thereof
Publication Date: 2022.04.19 NUVOTON
  • US11307795B2 patent drawing
  • US11307795B2 patent drawing
  • US11307795B2 patent drawing

AI summary

An electronic processing device including a memory and a Micro Control Unit (MCU) is provided. The memory includes a first memory block and a second memory block. The MCU executes first program code stored in the first memory block to write an update program code into the second memory block, and remaps a base address for a reboot of the electronic processing device from the first memory block to the second memory block in response to successfully writing the update program code into the second memory block. After that, the MCU triggers the reboot of the electronic processing device to execute the update program code stored in the second memory block.