Centralized Memory Protection for SoC Bus Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current microprocessor architectures lack comprehensive protection for memory and peripherals across all potential master devices and memory destinations, leading to inconsistent and decentralized protection schemes that fail to ensure secure and controlled memory access, especially in system-on-chip (SoC) devices.

Innovation Solution

A centralized memory protection function (CMP) is introduced to manage and enforce access rights for all bus data transfers within the SoC, ensuring that all memory and peripheral accesses are checked against predefined settings, preventing unauthorized access by raising error flags or aborting bus transfers, and providing a single point of control for coherent settings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If decentralized protection units (MMU/MPU) are used for each master device, then each device can independently control its memory access, but the protection settings become incoherent and inconsistent across the system

Engineering Contradiction:
Improveindependent memory access controlVSAvoidprotection coherence
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a centralized memory protection unit that acts as an intermediary between master devices and memory destinations. This central unit receives and validates access requests from all masters, ensuring coherent protection settings across the entire system while maintaining the ability to control individual device access patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent consolidates multiple distributed protection functions into a single centralized memory protection unit. By merging the protection capabilities of individual MMU/MPU units into one centralized authority, the system achieves consistent and coherent protection settings across all master devices and memory destinations.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If MMU is used for memory protection, then CPU core accesses are protected, but the protection granularity is too coarse (page-based) for embedded applications

Engineering Contradiction:
ImproveCPU memory protectionVSAvoidaccess control granularity
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The patent changes the granularity parameter of memory protection from page-based (coarse) to byte-based or word-based (fine). The centralized memory protection unit can define protection regions with precise address ranges and granular access permissions, enabling fine-grained control suitable for embedded applications while maintaining CPU protection.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If multiple distributed protection settings are allowed, then each master device can be configured independently, but conflicting settings occur due to the distributed nature of the configuration

Engineering Contradiction:
Improveindependent device configurationVSAvoidconfiguration consistency
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The centralized memory protection unit serves as an intermediary that receives configuration requests from multiple master devices and ensures that settings are consistent across the system. It manages the configuration space to prevent conflicts while allowing independent configuration of each device's access patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms where the centralized protection unit validates access requests and configuration settings against established rules. When conflicts are detected, the system can provide feedback to the initiating device or automatically resolve the conflict, ensuring configuration consistency across all devices.

Inventive Principle:
Principle #23Feedback

4Device complexity

If no centralized protection is implemented, then device complexity is reduced, but comprehensive memory protection across all masters and destinations is lost

Engineering Contradiction:
Improveprotection system structureVSAvoidcomprehensive memory protection
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The centralized memory protection unit is designed to handle protection for all master devices and memory destinations within a single unified structure. This universal protection mechanism provides comprehensive coverage across the entire memory map while maintaining a relatively simple device structure compared to having multiple distributed protection units.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8806654B2Controlling the access of master elements to slave elements over a communication bus
Publication Date: 2014.08.12 NXP USA INC
  • US8806654B2 patent drawing
  • US8806654B2 patent drawing
  • US8806654B2 patent drawing

AI summary

A system comprises one or more slave elements operably coupled to a plurality of master devices. A central protection function is operably coupled to a first communication bus and configured to control data flow between the one or more slave elements and the plurality of master devices via the communication bus.