Matching Key Capabilities for Hierarchical Memory Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Capability-based memory systems struggle to accommodate complex memory level hierarchies, particularly in rack-scale systems with dynamic or indirect physical memory mapping, limiting their usage in large-scale computing designs.

Innovation Solution

The implementation of matching key capabilities (MaKCs) that propagate and reverse-inherit through a hierarchy of memory levels, enabling scalable memory access and security across complex memory hierarchies, even when address spaces are dynamically mapped and indirect, ensuring access integrity and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If capability-based memory systems are implemented, then memory access security and integrity are improved, but the ability to accommodate complex memory level hierarchies with dynamic mapping deteriorates

Engineering Contradiction:
Improvememory access securityVSAvoidaccommodation of complex memory hierarchies
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The capability structure is segmented into multiple components including a capability pointer, base address, limit, and access rights. This segmentation allows the system to maintain security checks while supporting complex memory hierarchies by breaking down the capability validation into manageable parts that can be propagated through multiple memory levels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements nested capability structures where capabilities can be contained within capabilities, allowing capabilities to be propagated through multiple memory levels. Each memory level can have its own capability structure that nests within the parent level's capability, enabling complex hierarchical memory systems while maintaining security.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Speed

If traditional volatile random-access memory is used, then fast access speed is improved, but data loss occurs when power is removed

Engineering Contradiction:
Improvememory access speedVSAvoiddata persistence
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system dynamically manages memory persistence by allowing memory blocks to be marked as persistent or non-persistent based on their usage requirements. This dynamic approach enables the system to optimize between speed and persistence on a per-block basis, rather than requiring all memory to have the same characteristics.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10592437B2Memory matching key capability
Publication Date: 2020.03.17 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10592437B2 patent drawing
  • US10592437B2 patent drawing
  • US10592437B2 patent drawing

AI summary

Memory blocks are associated with each memory level of a hierarchy of memory levels. Each memory block has a matching key capability (MaKC). The MaKC of a memory block governs access to the memory block, in accordance with permissions specified by the MaKC. The MaKC of a memory block can uniquely identify the memory block across the hierarchy of memory levels, and can be globally unique across the memory blocks. An MaKC of a memory block includes a block protection key (BPK) stored with the memory block, and an execution protection key (EPK). If a provided EPK for a memory block matches the memory block's BPK upon comparison, access to the memory block is allowed according to the permissions specified by the MaKC.