Shared Code Storage for Faster ECU Overlay Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge in autonomous vehicles with central and zone-based architectures is the significant impact of code loading time from nonvolatile memory devices on performance during runtime, particularly with software updates and function additions for zonal ECUs.

Innovation Solution

A shared storage device with a nonvolatile memory and storage controller that loads code segments into a buffer memory based on characteristic information, and a system memory device that receives and outputs these segments to ECUs for rapid execution, optimizing code loading and execution efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If code is loaded directly from nonvolatile memory device to ECU, then storage capacity is sufficient, but code loading time is excessive and affects runtime performance

Engineering Contradiction:
Improvecode loading timeVSAvoidruntime performance
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent divides the entire code into multiple code segments and stores them in the nonvolatile memory device. Instead of loading the entire code at once, only the required code segments are loaded into the buffer memory and then to the ECU, significantly reducing code loading time and improving runtime performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-loads code segments into the buffer memory during system initialization or idle periods, so that when the ECU needs to execute specific functions, the required code segments are already available in the buffer memory, eliminating wait time and improving runtime performance.

Inventive Principle:
Principle #10Preliminary action

2Speed

If all code segments are loaded into buffer memory, then code execution speed improves, but memory resource consumption increases

Engineering Contradiction:
Improvecode execution speedVSAvoidmemory resource consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the code and loads only the necessary segments into the buffer memory based on the ECU's current execution needs. This selective loading approach maintains fast code execution speed while minimizing buffer memory usage, as only relevant code segments occupy memory resources at any given time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent loads partial code segments into the buffer memory rather than the entire code base. This partial loading strategy provides sufficient code execution speed for current operations while avoiding the excessive memory consumption that would result from loading all code segments simultaneously.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If code segments are managed without characteristic information, then storage structure is simple, but code segment identification and retrieval efficiency decreases

Engineering Contradiction:
Improvecode segment retrieval efficiencyVSAvoidstorage structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a segment table as an intermediary data structure that stores characteristic information about each code segment (such as segment identifiers, addresses, and metadata). This segment table acts as an index that enables efficient identification and retrieval of code segments without requiring complex search algorithms, thus improving retrieval efficiency while adding only moderate structural complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4600812A1Shared storage device and automotive device including the same
Publication Date: 2025.08.13 SAMSUNG ELECTRONICS CO LTD
  • EP4600812A1 patent drawingFigure 1
  • EP4600812A1 patent drawingFigure 2
  • EP4600812A1 patent drawingFigure 3~4

AI summary

An automotive device includes an electronic control unit (ECU), a shared storage device, and a system memory device. The ECU sends a code request. The shared storage device includes a nonvolatile memory device that stores code segments forming an entire code corresponding to the code request, and a storage controller that loads one or more code segments of the stored code segments from the nonvolatile memory device into a buffer memory based on characteristic information of each code segment. The system memory device receives the one or more code segments from the buffer memory and stores the one or more code segments, and outputs the one or more code segments to the ECU. The ECU receives the one or more code segments from the system memory device and overlays the one or more code segments onto an executable code set and executes a function based on the executable code set.