Bounded Pointer Range Check State Transition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing apparatuses face challenges in efficiently and reliably altering the capability domain of processing circuitry, which is defined by bounded pointers, as they cannot extend the range of memory addresses accessible without compromising security and functional correctness.

Innovation Solution

The introduction of a current range check state that can transition between a default and an executive state, allowing the processing circuitry to temporarily disable range checks for non-bounded pointers, enabling access to memory addresses outside the current capability domain for altering bounded pointers and modifying the capability domain.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If range check operations are always performed for non-bounded pointers, then memory access security is improved, but access flexibility to alter capability domain deteriorates

Engineering Contradiction:
Improvememory access securityVSAvoidaccess flexibility to alter capability domain
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a dynamic state machine with two states (default state and executive state) that controls the behavior of range check operations. In the default state, range checks are performed for all pointers to ensure security. In the executive state, range checks are disabled for non-bounded pointers to enable flexible access to alter the capability domain. The state transitions are triggered by specific events, allowing the system to adapt its security behavior dynamically based on operational context.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If the capability domain is altered to access new memory regions, then functionality is improved, but security constraints may be compromised

Engineering Contradiction:
Improvecapability domain flexibilityVSAvoidsecurity constraints
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements a state transition mechanism where the system enters the executive state through a controlled event-driven process before allowing access to new memory regions. This preliminary state change prepares the system by disabling range checks only when necessary and under controlled conditions. After the capability domain is successfully altered, the system can transition back to the default state, restoring security constraints. This ensures that security is maintained during normal operation while allowing temporary relaxation when needed for legitimate capability domain alterations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If range checks are disabled for non-bounded pointers, then access efficiency is improved, but security protection deteriorates

Engineering Contradiction:
Improveaccess efficiencyVSAvoidsecurity protection
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies different security check behaviors to different types of pointers based on their location and purpose. Bounded pointers always undergo range check operations regardless of the current state, maintaining security for memory regions that require protection. Non-bounded pointers have their range checks conditionally disabled only in the executive state, allowing efficient access when the system needs to alter the capability domain. This localized differentiation of security behavior optimizes both security and efficiency based on the specific pointer type and operational context.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3384396B1An apparatus and method for managing bounded pointers
Publication Date: 2020.12.23 ARM LTD
  • EP3384396B1 patent drawingFigure 1
  • EP3384396B1 patent drawingFigure 2A~2B
  • EP3384396B1 patent drawingFigure 3

AI summary

An apparatus and method are provided for managing bounded pointers. The apparatus has processing circuitry to execute a sequence of instructions, and a plurality of storage elements accessible to the processing circuitry, for storage of bounded pointers and non-bounded pointers. Each bounded pointer has explicit range information associated therewith indicative of an allowable range of memory addresses when using the bounded pointer. A current range check storage element is then used to store a current range check state for the processing circuitry. When the current range check state indicates a default state, the processing circuitry is responsive to execution of a memory access instruction identifying a pointer to be used to identify a memory address, to perform a range check operation to determine whether access to that memory address is permitted. In particular, when the memory access instruction identifies as the pointer one of the bounded pointers, the range check operation is performed with reference to the explicit range information associated with that bounded pointer. If instead the memory access instruction identifies a non-bounded pointer, the range check operation is performed with reference to default range information defined for the processing circuitry. On detection of at least one event, the current range check state is set to an executive state. When in the executive state, the processing circuitry is responsive to execution of a memory access instruction to disable the range check operation when the identified pointer is a non-bounded pointer. This provides an efficient, but controlled, mechanism for enabling the set of bounded pointers available to the processing circuitry to be altered.