Memory Protection Unit Region Descriptor Override Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing systems face limitations in memory protection due to the restrictive nature of internal Memory Protection Units (MPUs), which are cost-constrained and require a large number of region descriptors to manage memory access, leading to inefficiencies in handling overlapping memory regions.
Innovation Solution
The implementation of default policy override logic within the MPU allows for overlapping region descriptors, enabling reduced descriptor usage by determining permissions and memory attributes based on the least restrictive cache-inhibited and most restrictive guarded settings, thereby minimizing the number of region descriptors needed for a memory map.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If the MPU uses a limited number of region descriptors to reduce cost, then device complexity is reduced, but the ability to manage overlapping memory regions is restricted
Solution Approach 1:
The patent applies local quality by making the attribute selection policy local to each matching region descriptor. When multiple descriptors match an access address, the system selectively chooses attributes (cache-inhibited or guarded) based on the specific descriptor's override attribute settings, rather than applying a global policy. This allows flexible management of overlapping regions with fewer descriptors.
Solution Approach 2:
The system implements dynamics by making the attribute selection policy dynamic rather than static. The override attribute in each region descriptor enables the system to adaptively choose between cache-inhibited and guarded attributes at runtime based on which descriptor matches the access address, allowing the same hardware structure to handle diverse memory protection scenarios.
2Reliability
If the MPU enforces strict memory protection attributes for all regions, then memory protection reliability is improved, but the flexibility to handle different memory access types is reduced
Solution Approach 1:
The patent applies local quality by making the attribute selection policy local to each matching region descriptor. When multiple descriptors match an access address, the system selectively chooses attributes (cache-inhibited or guarded) based on the specific descriptor's override attribute settings, rather than applying a global policy. This allows flexible management of overlapping regions with fewer descriptors.
Solution Approach 2:
The system implements dynamics by making the attribute selection policy dynamic rather than static. The override attribute in each region descriptor enables the system to adaptively choose between cache-inhibited and guarded attributes at runtime based on which descriptor matches the access address, allowing the same hardware structure to handle diverse memory protection scenarios.
Data Source
AI summary
A memory protection unit (MPU) is configured to store a plurality of region descriptor entries, each region descriptor entry defining an address region of a memory, an attribute corresponding to the region, and an attribute override control corresponding to the attribute. A memory access request to a memory address is received and determined to be within a first address region defined by a first region descriptor entry and within a second address region defined by a second region descriptor entry. When the attribute override control of the first region descriptor entry indicates that override is to be performed, the value of the attribute of the first region descriptor entry is applied for the memory access. When the attribute override control of the second region descriptor entry indicates that override is to be performed, the value of the attribute of the second region descriptor entry is applied for the memory access.


