Execute-Only Memory Protection Unit for Microcontroller Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microcontroller systems with Von Neumann architecture lack execute-only access rights, making them susceptible to code corruption, especially in applications that require distinguishing between read and execution access, such as smart card systems.

Innovation Solution

Incorporating a memory protection unit (MPU) in microcontroller systems that provides execute-only access rights for protected areas of memory, allowing instructions fetched from within these areas to access data while preventing access from outside, thus preventing code corruption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If execute-only access rights are implemented in a Von Neumann processor, then code corruption is prevented, but device complexity increases

Engineering Contradiction:
Improvecode integrityVSAvoidaccess right implementation
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The memory space is segmented into multiple protected areas, each with its own execute-only access rights. The memory protection unit divides the memory map into distinct regions that can be independently protected, allowing instructions to be executed only from authorized memory locations while preventing code corruption from unauthorized areas

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A memory protection unit is introduced as an intermediary component between the processor and memory. This unit monitors and controls memory access requests, verifying whether each access originates from an authorized execution context before allowing the operation to proceed, thus preventing code corruption without requiring fundamental changes to the processor architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If memory is segmented into protected areas with execute-only access, then security against unauthorized access is improved, but ease of operation deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidmemory access
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The memory protection unit automatically manages access control by maintaining state information about the current execution context and comparing it against the security requirements of each memory access request. This self-service mechanism eliminates the need for software to manually manage security states, making protected memory access as easy to implement as standard memory access while maintaining strong security guarantees

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7895404B2Access rights on a memory map
Publication Date: 2011.02.22 RAMBUS INC
  • US7895404B2 patent drawing
  • US7895404B2 patent drawing
  • US7895404B2 patent drawing

AI summary

A microcontroller system, such as a system-on-a-chip integrated circuit, including a processor (e.g., a Von Neumann processor), memory, and a memory protection unit (MPU), where the MPU provides execute-only access rights for one or more protected areas of the memory. The MPU can allow instructions fetched from within a protected area to access data in the protected area while preventing instructions fetched from outside the protected area from accessing data in the protected area.