Concurrent Memory Protection and Address Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing systems face challenges in handling memory access operations efficiently, particularly when combining multiple software applications on a single processor, as legacy software compiled in non-position-independent manner can cause address conflicts, and real-time systems require deterministic response times which are not met by traditional memory protection and address translation units.
Innovation Solution
A data processing apparatus that combines a memory protection unit and an address translation unit, allowing selection based on target addresses for handling memory access operations, with the memory protection unit determining permission and the address translation unit translating virtual addresses to physical addresses, and both units operating concurrently to support deterministic and relocatable memory access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a memory protection unit is used to ensure deterministic response times in real-time systems, then response time predictability is improved, but the system cannot handle legacy software with address conflicts
Solution Approach 1:
The system dynamically switches between two operational modes: using the memory protection unit for real-time deterministic operations and using the address translation unit for legacy software compatibility. The mode selection is based on the specific memory access requirements and software type being executed, allowing the system to adapt its behavior rather than being fixed in one approach.
Solution Approach 2:
The system changes the address space interpretation parameter based on which unit is active. When the memory protection unit is active, addresses are interpreted as physical addresses for deterministic access. When the address translation unit is active, addresses are interpreted as virtual addresses that need translation, enabling legacy software to run without conflicts.
2Adaptability or versatility
If an address translation unit is used to support legacy software with virtual addresses, then software compatibility is improved, but response time becomes non-deterministic
Solution Approach 1:
The system dynamically switches between two operational modes: using the memory protection unit for real-time deterministic operations and using the address translation unit for legacy software compatibility. The mode selection is based on the specific memory access requirements and software type being executed, allowing the system to adapt its behavior rather than being fixed in one approach.
Solution Approach 2:
The address space is segmented into regions that are handled by different units. The memory protection unit handles segments requiring deterministic physical address access, while the address translation unit handles segments containing legacy virtual addresses. This segmentation allows each unit to operate in its optimal mode without interfering with the other.
3Reliability
If only a memory protection unit is used, then deterministic memory access is achieved, but address translation for relocatable code is not supported
Solution Approach 1:
The system merges the memory protection unit and address translation unit into a single integrated apparatus that can handle both functions. By combining these two previously separate units, the system achieves both deterministic memory access protection and virtual-to-physical address translation capabilities within one unified structure.
Solution Approach 2:
The integrated apparatus provides multi-functionality by incorporating both memory protection and address translation capabilities. This universal design allows the single apparatus to handle diverse memory access requirements including real-time deterministic operations, legacy software compatibility, and relocatable code execution without requiring separate dedicated units.
4Adaptability or versatility
If only an address translation unit is used, then virtual address translation is supported, but deterministic response times cannot be guaranteed
Solution Approach 1:
The system merges the memory protection unit and address translation unit into a single integrated apparatus that can handle both functions. By combining these two previously separate units, the system achieves both deterministic memory access protection and virtual-to-physical address translation capabilities within one unified structure.
Solution Approach 2:
The system dynamically switches between two operational modes: using the memory protection unit for real-time deterministic operations and using the address translation unit for legacy software compatibility. The mode selection is based on the specific memory access requirements and software type being executed, allowing the system to adapt its behavior rather than being fixed in one approach.
Data Source
AI summary
A processing apparatus has a memory protection unit (MPU) 38 and an address translation unit (ATU) 120 which operate concurrently for memory access operations performed by processing circuitry 22. The MPU 38 stores access permission data for corresponding regions of an address space. The ATU 120 stores address translation entries for defining virtual-to-physical mappings for corresponding pages of the address space. In response to a memory access operation specifying a target address, one of the MPU 38 and the ATU 120 is selected to handle the memory access operation based on the target address. If the MPU 38 is selected then the target address is a physical address and the MPU 38 checks access permissions using a corresponding set of permission data. If the ATU 120 is selected then the target address is a virtual address and is translated into a physical address using a corresponding translation entry.


