Cache Capability Metadata Modification Markers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In capability-based architectures, there is a need for improved mechanisms to manage capability metadata, particularly to distinguish between data blocks representing capabilities and general-purpose data, and to efficiently track changes in capability metadata to prevent unauthorized access and optimize storage operations.
Innovation Solution
An apparatus and method utilizing cache storage with capability metadata modification markers to indicate changes in capability metadata associated with data blocks, allowing for efficient tracking and separate handling of capabilities and data values, thereby ensuring security and reducing unnecessary memory accesses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If capability metadata is stored and tracked for every data block in cache storage, then security and functional correctness are improved, but device complexity and storage overhead increase
Solution Approach 1:
The capability metadata is segmented into individual bits (capability tag bits) that can be independently managed and tracked. Each data block in the cache has associated capability metadata bits that can be separately modified and monitored, allowing fine-grained security control without requiring complex centralized management structures.
Solution Approach 2:
The cache control circuitry automatically sets capability metadata modification markers in response to write operations, without requiring external intervention. The system self-manages the tracking of capability metadata changes through automatic marker setting when data blocks are modified, reducing the need for complex external control mechanisms.
2Measurement precision
If capability metadata modification markers are set for every write operation, then tracking precision is improved, but productivity and processing speed deteriorate
Solution Approach 1:
Instead of tracking every possible change, the system uses modification markers that are set selectively based on write operations. The capability metadata modification marker is set only when necessary to indicate a change state, allowing the system to achieve sufficient tracking precision without the overhead of continuous or exhaustive monitoring of all data block modifications.
3Reliability
If capability metadata is stored separately from data blocks, then security control is improved, but loss of time due to separate accesses increases
Solution Approach 1:
The capability metadata is merged with the data blocks in the same cache storage structure, allowing both data and capability information to be accessed together in a single cache operation. This integration eliminates the need for separate access operations to retrieve capability metadata, reducing access time while maintaining security control through the preserved capability tag bits and modification markers.
Data Source
Figure 1
Figure 2A~2B
Figure 3
AI summary
Apparatus comprising cache storage and a method of operating such a cache storage are provided. Data blocks in the cache storage have capability metadata stored in association therewith identifying whether the data block specifies a capability or a data value. At least one type of capability is a bounded pointer. Responsive to a write to a data block in the cache storage a capability metadata modification marker is set in association with the data block, indicative of whether the capability metadata associated with the data block has changed since the data block was stored in the cache storage. This supports the security of the system, such that modification of the use of a data block from a data value to a capability cannot take place unless intended. Efficiencies may also result when capability metadata is stored separately from other data in memory, as fewer accesses to memory can be made.