Memory Access Control Unit for Firmware Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processing systems lack effective protection against unauthorized access and reverse engineering of firmware, which can compromise security and allow third-party developers to analyze or modify critical firmware code during application development.

Innovation Solution

A processing system with a memory access control unit, referred to as a 'firewall,' that controls access to firmware code by intercepting memory requests, distinguishing between firmware and application code, and switching between secure and normal modes to prevent unauthorized access, thereby restricting debugging and modification of firmware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If firmware is stored in non-volatile memory (ROM) to prevent modification, then firmware protection is improved, but third-party developers cannot access firmware for debugging and analysis during application development

Engineering Contradiction:
Improvefirmware protectionVSAvoiddebugging access
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements a memory access control unit that dynamically changes access permissions based on the operational state of the processing system. When the system is in normal operation mode, the control unit restricts access to firmware in non-volatile memory to prevent reverse engineering. When the system enters debug mode, the control unit modifies its behavior to allow debugging access to firmware. This dynamic switching resolves the contradiction by making the protection mechanism adaptive rather than static, allowing both security and debugging functionality to coexist through state-dependent access control.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If debug interface is enabled to allow third-party developers to debug application code, then ease of operation is improved, but firmware code becomes vulnerable to reverse engineering and unauthorized access

Engineering Contradiction:
Improvedebugging capabilityVSAvoidreverse engineering risk
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent applies different access control rules to different memory regions and operational contexts. The memory access control unit is configured to allow the debug interface to access volatile memory containing application code while simultaneously blocking access to non-volatile memory containing firmware. This local differentiation of access permissions allows debugging functionality to operate on application code without exposing the firmware to reverse engineering, thus resolving the contradiction by applying quality differentiation to specific memory regions rather than uniform access control.

Inventive Principle:
Principle #3Local quality

3Reliability

If memory access control is restricted to protect firmware, then security is improved, but application code cannot be accessed for debugging when needed

Engineering Contradiction:
Improvefirmware securityVSAvoidaccess flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The memory access control unit dynamically adjusts its access control policy based on the operational state of the processing system. In normal operation mode, it enforces strict protection of firmware in non-volatile memory while allowing access to application code in volatile memory. In debug mode, it reverses the access permissions to allow comprehensive access to both firmware and application code for debugging purposes. This dynamic adaptability resolves the contradiction by making the security mechanism flexible and context-dependent rather than rigid and static.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9355276B2Processing system
Publication Date: 2016.05.31 NXP BV
  • US9355276B2 patent drawing
  • US9355276B2 patent drawing
  • US9355276B2 patent drawing

AI summary

A processing system is disclosed. The system comprises: a processing unit; a memory adapted to store firmware code and application code for execution by the processor; and a memory access control unit adapted to control access of the processing unit to firmware code and application code stored in the memory. The memory access control unit is adapted to disable access to firmware code when access to application code is enabled, and to disable access to application code when access to firmware code is enabled.