ECU Delta File Updates for Low-Memory Vehicle Software Patching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for updating Electronic Control Unit (ECU) software in vehicles are inefficient, requiring significant memory, causing downtime, and introducing additional bugs, especially when updating entire software modules over-the-air, and lack efficient mechanisms for differential updates, anomaly detection, and managing dependencies between ECUs.
Innovation Solution
The implementation of delta files that allow for incremental software updates by receiving and integrating delta files into ECUs without rebooting, using position-independent executable code segments, and updating memory addresses, enabling efficient software updates and anomaly detection without significant memory usage or downtime, and utilizing a virtual file system to manage different software versions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If entire ECU software modules are updated over-the-air, then software vulnerabilities can be fixed promptly, but significant memory space is required and additional bugs may be introduced
Solution Approach 1:
The patent divides the ECU software update into separate modules or components that can be updated independently. Instead of updating the entire software stack, only specific vulnerable modules are targeted for update, reducing the memory space required while maintaining the ability to fix software vulnerabilities promptly.
Solution Approach 2:
The patent extracts and separates the update mechanism from the main ECU software system. By using a standalone update manager and separating update files from core software, the system can apply updates without requiring significant additional memory space in the main ECU firmware.
2Reliability
If entire ECU software modules are updated over-the-air, then software vulnerabilities can be fixed promptly, but the update process is inefficient and inconvenient
Solution Approach 1:
The update process is segmented into discrete, manageable modules that can be downloaded, validated, and installed independently. This allows for more efficient over-the-air updates compared to transmitting and installing entire software suites, reducing both transmission time and processing overhead.
Solution Approach 2:
The patent implements preliminary validation and verification steps before actual software installation. Update packages are pre-validated for integrity and compatibility, and the system prepares receiving buffers and validation routines in advance, making the overall update process more efficient and less prone to errors.
3Reliability
If ECU software is updated using current methods, then updates can be applied, but significant downtime is required and ECU operations are interrupted
Solution Approach 1:
The ECU software system is segmented into multiple operational partitions or images. While one partition is being updated, the other continues to operate, allowing for update application without complete system shutdown. This enables non-stop or minimal-downtime updating of critical vehicle control systems.
Solution Approach 2:
The patent implements dynamic switching between software partitions during update operations. The system can dynamically activate different software versions based on update progress and validation results, allowing seamless transitions that minimize operational interruption and downtime.
4Reliability
If ECU memory is used for software updates, then new software versions can be installed, but available storage space is limited and reprogramming is costly
Solution Approach 1:
The patent extracts the update storage function from the main ECU memory. By using external or dedicated update storage areas separate from primary operational memory, the system can store update packages without consuming valuable ECU flash space, reducing the need for costly memory reprogramming or expansion.
Solution Approach 2:
The patent implements a mechanism where temporary update storage space is allocated only during the update process and then recovered or reused afterward. Update files are temporarily stored in available memory buffers during installation, then discarded after successful deployment, allowing the same memory space to be reused for subsequent operations without permanent allocation.
Data Source
AI summary
Disclosed embodiments relate to perform operations for receiving and integrating a delta file in a vehicle. Operations may include receiving, at an Electronic Control Unit (ECU) in the vehicle, a delta file, the delta file comprising a plurality of deltas corresponding to a software update for software on the ECU and startup code for executing the delta file in the ECU; executing the delta file, based on the startup code, in the ECU; and updating memory addresses in the ECU to correspond to the plurality of deltas from the delta file.


