Shared Memory Segmentation for Vehicle Control Data Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-core microcomputer systems, exclusive control methods for accessing shared data lead to waiting times that cannot be tolerated in high-speed applications like engine control, causing delays and inefficiencies, especially when task preemption occurs during data updates.
Innovation Solution
A control device with a shared memory that stores data redundantly across multiple arithmetic units, utilizing a program area with data update, synchronization, and reference processing units to manage data access without exclusive control, ensuring data consistency and reducing waiting times.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If exclusive control is used for accessing shared data in multi-core microcomputer, then data consistency is ensured, but waiting time increases and real-time performance deteriorates
Solution Approach 1:
The shared memory is segmented into multiple storage areas, with each arithmetic unit having its own dedicated storage area. This segmentation eliminates the need for exclusive control when accessing shared data, as each unit operates on its own segment without interfering with others, thereby resolving the contradiction between data consistency and waiting time.
Solution Approach 2:
A data notification unit is introduced as an intermediary mechanism. When data is updated in one arithmetic unit's storage area, the notification unit informs other units, allowing them to synchronize without requiring exclusive control. This mediator enables data consistency while avoiding the waiting time associated with traditional exclusive control methods.
2Reliability
If interrupt inhibition is used to prevent preemption during exclusive control, then data access safety is improved, but processing delay of other CPUs increases
Solution Approach 1:
By segmenting the shared memory into separate storage areas for each arithmetic unit, the system eliminates the need for interrupt inhibition during data access. Each unit can read and write to its own segment independently, maintaining data access safety without preventing preemption or delaying other CPUs.
Solution Approach 2:
Data is copied to separate storage areas corresponding to different arithmetic units. This copying mechanism allows each unit to access its own copy without interfering with others, eliminating the need for interrupt inhibition and preventing processing delays while ensuring data access safety.
3Adaptability or versatility
If software changes are made for each new vehicle model to adapt CPU allocation, then system adaptability is improved, but development complexity increases
Solution Approach 1:
The shared memory is segmented into multiple storage areas that can be independently allocated to different arithmetic units. This segmentation allows flexible CPU allocation for different vehicle models without requiring software changes, as the hardware structure already supports multiple access patterns. Each storage area can be assigned to different units based on the specific vehicle model requirements, improving adaptability while reducing development complexity.
Data Source
AI summary
If exclusive control is used when carrying out update processing or reference processing to a data buffer in a shared memory among plural arithmetic units, waiting time increases and it is difficult to guarantee a real time property. Accordingly, in a control device for a vehicle, a data buffer is multiplexed, and each arithmetic unit carries out update processing and reference processing to a different multiplexed data buffer. An arithmetic unit that is different from the arithmetic unit executing the data update processing synchronizes one data buffer updated by data update processing, with the multiplexed data buffer, in a shorter time than an execution cycle of the data update processing.


