ECU Software Update with Dual Memory Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current vehicle software and firmware update processes require frequent visits to dealerships, leading to delays and potential inconsistencies in software versions across vehicles, as they often rely on physical connections and manual interventions, which can result in lost data if updates fail.

Innovation Solution

A system and method that utilize a processor to detect a vehicle key-off event, delete the existing software version from internal memory, load a new software version from external memory, and revert to the previous version if the update fails, allowing for over-the-air updates without dealer intervention and ensuring data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single on-board flash memory is used in the ECU, then the device complexity is reduced, but the reliability deteriorates because the memory cannot be restored if overwritten during an update

Engineering Contradiction:
Improvememory structureVSAvoidsoftware update reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The flash memory is divided into two separate memory spaces: primary memory for executing instructions and booting, and secondary memory for storing update files. This segmentation allows the primary memory to be safely overwritten during updates while the secondary memory preserves the update files for potential restoration, thus resolving the contradiction between simplicity and reliability.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the existing software version is deleted from primary memory before loading the new version, then the update speed is improved, but the reliability worsens because there is no fallback option if the update fails

Engineering Contradiction:
Improveupdate speedVSAvoidupdate success guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by copying the existing software version from primary memory to the secondary memory before deleting it. This creates a backup copy that can be restored if the update fails, allowing the system to proceed with deletion and loading operations without compromising reliability.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If dealer intervention is required for software updates, then the ease of operation is reduced, but the reliability improves because the dealer can ensure proper installation

Engineering Contradiction:
Improveupdate process convenienceVSAvoidsoftware version consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The ECU is equipped with automated update capabilities that allow it to perform software updates independently without dealer intervention. The system automatically manages the update process including downloading update files to secondary memory, deleting existing versions from primary memory, loading new versions, and handling failures by restoring from backups, thus enabling self-service updates while maintaining reliability through automated error handling.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12001825B2Method and apparatus for vehicle software update installation
Publication Date: 2024.06.04 FORD GLOBAL TECH LLC
  • US12001825B2 patent drawing
  • US12001825B2 patent drawing
  • US12001825B2 patent drawing

AI summary

A system includes a processor configured to detect a vehicle key-off. The processor is also configured to delete from a primary memory (“internal memory”) of an electronic control unit an existing software version for which a new software version update exists in a secondary memory of the ECU. The processor is further configured to load the new software version from the secondary memory (“external memory”) into the primary memory and upon detection of a failure during the load, delete the new software version from the primary memory and reload the existing software version from the secondary memory.