Key Capability Storage Circuitry for Temporal Safety

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory protection techniques are coarse-grained and struggle to enforce temporal safety, as software compartments can copy capabilities freely, making it difficult to revoke access efficiently.

Innovation Solution

Implement key capability storage circuitry to manage capabilities with additional bounds checking, restricting transfers and creating temporary access rights using key capabilities, ensuring temporal safety by preventing arbitrary loading and storing of key capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If capabilities are allowed to be copied freely between memory and registers, then software compartments can maintain flexible access rights, but it becomes difficult to revoke access efficiently and enforce temporal safety

Engineering Contradiction:
Improveflexibility of access rightsVSAvoidtemporal safety
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The capability storage is segmented into key capability storage circuitry and regular capability storage. Key capabilities are stored separately from regular capabilities, allowing the system to distinguish between capabilities that require temporal safety enforcement and those that do not. This segmentation enables selective revocation of access rights without affecting other capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The key capability storage circuitry acts as an intermediary layer between the software compartment and the regular capability storage. It mediates the creation, storage, and revocation of capabilities, providing an additional control mechanism that enables efficient temporal safety enforcement while maintaining the flexibility of capability-based access control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the entire address space is scrubbed to revoke capabilities, then temporal safety is enforced, but system performance deteriorates due to the costly operation

Engineering Contradiction:
Improvetemporal safetyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the temporal safety enforcement mechanism from the general capability management system by creating a dedicated key capability storage circuitry. This extraction allows revocation operations to be performed selectively on only the key capabilities stored in this separate circuitry, rather than requiring a comprehensive scrub of the entire address space, thus maintaining temporal safety while improving performance.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If key capability storage circuitry is introduced with additional bounds checking, then temporal safety is improved, but device complexity increases

Engineering Contradiction:
Improvetemporal safetyVSAvoidcapability management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The key capability storage circuitry is merged with the existing capability management infrastructure, sharing common control logic and bounds checking mechanisms. This merging approach allows the system to benefit from the additional temporal safety enforcement while avoiding the full overhead of a completely separate capability management system, thus reducing the increase in device complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP4285253B1Key capability storage
Publication Date: 2025.10.15 ARM LTD
  • EP4285253B1 patent drawingFigure 1
  • EP4285253B1 patent drawingFigure 2
  • EP4285253B1 patent drawingFigure 3~5

AI summary

Key capability storage circuitry 90 is provided to store a key capability specifying key bounds indicating information indicative of permissible bounds for information specified by any one or more of: a non-capability operand, a capability, or the key capability itself. For a given software compartment executed by the processing circuitry, which lacks a key capability operating privilege associated with at least a portion of the key capability storage circuitry, the processing circuitry is configured to prohibit certain manipulations of the key capability, including a transfer between key capability storage and a memory location selected by the given software compartment. This can help to support temporal safety.