Matching Key Capabilities for Hierarchical Memory Security
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Speed
If traditional volatile random-access memory is used, then fast access speed is improved, but data loss occurs when power is removed
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.
Data Source
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.


