Realm Memory Scrub-Commit State for Data Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory access control techniques fail to effectively manage ownership and access rights for memory regions across different software processes, particularly in scenarios where higher privilege processes attempt to access memory regions owned by lower privilege processes, leading to potential security breaches and data exposure.

Innovation Solution

The implementation of a realm management unit that controls transitions between memory region states, including invalid, valid, and scrub-commit states, to enforce ownership rights and prevent unauthorized access, using scrubbing processes to ensure data integrity and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If memory regions are allowed to be reallocated to different owner realms, then memory utilization and flexibility are improved, but data security and integrity are worsened due to potential exposure to higher privilege processes

Engineering Contradiction:
Improvememory reallocation flexibilityVSAvoiddata security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by performing a scrubbing process before transitioning a memory region from invalid state to valid state. The scrubbing process sets each storage location to a value uncorrelated with previous values, proactively eliminating security risks before reallocation occurs. This ensures that when memory regions are reallocated to different owner realms, no sensitive data from previous owners remains exposed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If scrubbing process is performed before memory region validation, then data security is improved, but processing time and system complexity are worsened

Engineering Contradiction:
Improvedata securityVSAvoidmemory region transition time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies dynamics by introducing a scrub-commit state that allows the scrubbing process to be asynchronous and non-blocking. The memory region can transition to scrub-commit state and become accessible to the owner realm while the scrubbing process continues in the background. This dynamic state transition enables the system to balance security requirements with performance needs, avoiding unnecessary delays in memory region availability.

Inventive Principle:
Principle #15Dynamics

3Reliability

If ownership rights are strictly enforced to exclude other realms, then data security is improved, but memory access flexibility and productivity are worsened

Engineering Contradiction:
Improveownership enforcementVSAvoidmemory access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing memory regions into distinct ownership domains with clearly defined state transitions. Each memory region is associated with a specific owner realm and can only be accessed by that owner or through controlled transitions. This segmentation enforces ownership rights while maintaining system-wide productivity by allowing parallel operations in different memory regions and enabling efficient state machine-based access control.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11237957B2Scrub-commit state for memory region
Publication Date: 2022.02.01 ARM LTD
  • US11237957B2 patent drawing
  • US11237957B2 patent drawing
  • US11237957B2 patent drawing

AI summary

A realm management unit (RMU) 20 manages ownership of memory regions by realms, each realm corresponding to at least a portion of a software process executed by processing circuitry. Memory access circuitry 26 enforces ownership rights for the regions, with the owner realm having a right to exclude other realms from accessing data stored within its owned region. The RMU 20 controls transitions of memory regions between region states, including an invalid state 220, a valid state 222, and a scrub-commit state 800 in which the memory region is allocated to an owner realm, inaccessible to that owner realm until a scrubbing process has been performed for the memory region to set each storage location of the region to a value uncorrelated with a previous value stored in the storage location, and prevented from being reallocated to a different owner realm.