Memory Protection Unit Region Descriptor Override Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvenumber of region descriptorsVSAvoidability to manage overlapping memory regions
Core Design Contradiction:
Device complexityVSAdaptability or versatility

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvememory protectionVSAvoidflexibility to handle different memory access types
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8639895B2Systems and methods for memory region descriptor attribute override
Publication Date: 2014.01.28 NXP USA INC
  • US8639895B2 patent drawing
  • US8639895B2 patent drawing
  • US8639895B2 patent drawing

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.