Shared Memory Freedom From Interference via Arbiter Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing environments, such as automobiles, failures in non-critical processes can propagate to critical processes due to shared memory usage, leading to undesirable consequences like safety function failures.
Innovation Solution
The system partitions memory into critical and non-critical domains, using an arbiter circuit to manage access and prevent unauthorized access between these domains, ensuring independence and isolating critical processes from non-critical processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory is shared between critical and non-critical processes, then resource utilization is improved, but reliability deteriorates due to failure propagation
Solution Approach 1:
The memory system is segmented into multiple independent banks, where each bank can be independently accessed by critical or non-critical processes. This segmentation prevents failure propagation while maintaining resource utilization, as a failure in one bank does not affect other banks.
Solution Approach 2:
An intermediary control mechanism is introduced to manage memory access requests from both critical and non-critical processes. This intermediary ensures that non-critical processes cannot cause failures to propagate to critical processes, thus maintaining reliability while allowing shared access.
2Reliability
If memory is partitioned into separate critical and non-critical domains, then reliability is improved by preventing failure propagation, but resource utilization deteriorates
Solution Approach 1:
The memory allocation is made dynamic rather than static. Memory banks can be dynamically assigned to critical or non-critical processes based on current system needs, allowing the system to maintain reliability through isolation when needed while maximizing resource utilization when processes are functioning normally.
3Ease of operation
If full memory access is allowed for all processes, then ease of operation is improved, but reliability deteriorates due to unauthorized access
Solution Approach 1:
Different access permissions are assigned to different processes based on their criticality level. Critical processes receive full access permissions to their designated memory banks, while non-critical processes receive restricted access permissions. This local differentiation of access rights maintains ease of operation for critical functions while preventing unauthorized access that could compromise reliability.
Data Source
AI summary
A processing system includes a memory circuit that includes a first portion that stores critical data and a second portion that stores non-critical data. An arbiter circuit transmits first memory requests and corresponding data between a first processing circuit that performs critical processes and the memory circuit. The arbiter circuit also transmits second memory requests and corresponding data between a second processing circuit that performs non-critical processes and the memory circuit. The arbiter circuit prevents unauthorized memory requests between the first and second processing circuits and the memory circuit, establishing freedom from interference between the critical and non-critical processes. The freedom from interference prevents some errors from propagating from the non-critical processes to the critical processes, enabling a critical process to continue functioning after a non-critical process fails. When the processing system is implemented in an automobile, safety features continue to function after a failure to other features.


