Code Generation for ECU Nonvolatile Memory Wear Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern electronic control units (ECUs) face challenges with data wear and slow write speeds in nonvolatile memory, such as flash memory, due to the high number of write cycles and slow write speeds, which can lead to data loss and increased wear over time.

Innovation Solution

A method for automatically generating production code from block diagrams that identifies and optimizes write operations by tracing input signals through adjacent blocks, generating combined production code that only includes write instructions for elements affected by assignment operations, thereby reducing the number of write operations on nonvolatile memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If write operations are performed frequently to update data in nonvolatile memory, then data freshness and control accuracy are improved, but memory wear increases and write speed decreases

Engineering Contradiction:
Improvedata freshnessVSAvoidmemory lifespan
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent applies local quality by selectively updating only the specific elements of the composite variable that have changed, rather than rewriting the entire composite variable. This is achieved by identifying which individual elements within the composite variable structure have been modified and generating write instructions solely for those changed elements, thereby reducing overall write operations on the nonvolatile memory while maintaining data freshness for updated portions.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the composite variable into individual elements and tracks changes at the element level. By dividing the composite variable structure into separable components and monitoring modifications to each element independently, the system can generate targeted write operations for only those segments that have changed, reducing the total number of write operations to nonvolatile memory and extending its lifespan.

Inventive Principle:
Principle #1Segmentation

2Stability of the object's composition

If the entire composite variable is written to nonvolatile memory on every update, then data consistency is ensured, but write time increases and effective write speed decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent ensures data consistency by maintaining the structural integrity of the composite variable while updating only the specific elements that have changed. The system tracks which elements within the composite variable structure have been modified and generates write instructions solely for those changed elements, thereby reducing overall write operations on the nonvolatile memory while maintaining data freshness for updated portions.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent applies partial action by performing only the necessary write operations for changed elements rather than writing the entire composite variable. This selective approach updates only the minimal required portion of data (partial action) while maintaining overall data consistency, thereby reducing write time and improving effective write speed without compromising data integrity.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If code is generated to handle composite variables with multiple elements, then functionality is improved, but code complexity increases

Engineering Contradiction:
ImprovefunctionalityVSAvoidcode complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the code generation processes for composite variables by creating a unified approach that handles multiple elements within a single composite variable structure. The system integrates change detection, element identification, and selective write operation generation into a combined code generation framework, reducing the need for separate handling logic for each element and simplifying the overall code structure while maintaining full functionality for composite variables.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10078500B2Method and system for automatic code generation
Publication Date: 2018.09.18 DSPACE SE & CO KG
  • US10078500B2 patent drawing
  • US10078500B2 patent drawing
  • US10078500B2 patent drawing

AI summary

A method for generating production code from a block diagram on a host computer is provided. A block in the block diagram has a number of input ports for receiving signals and a number of output ports for sending signals. The processor identifies a first block in the block diagram. The input signal is traced back to a second block upstream of the first block. Compliance with a optimization condition is checked, the optimization condition being fulfilled when a group of adjacent blocks has an assignment operation that affects one or more elements of the input signal while leaving at least one element of the composite variable unchanged. A combined production code is generated for the group of adjacent blocks when the optimization condition is fulfilled so that the combined production code includes write instructions for those elements of the composite variable that are affected by the assignment operation.