Bounded Capability Metadata Layout for Non-Redundant Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies face challenges in efficiently storing metadata in a way that allows for single-step access while avoiding redundancy, leading to wasted memory and limited metadata association with objects.
Innovation Solution
Implementing a pointer format with a bounds field and metadata field, allowing non-redundant metadata storage by storing metadata at the beginning or end of an object, and enabling access control through a metadata management circuit.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If metadata is stored redundantly with each memory block, then single-step access is enabled, but memory space is wasted and metadata association is limited
Solution Approach 1:
The patent divides metadata storage into two separate components: a metadata register that stores the actual metadata and a metadata tag field in each memory block that stores only an index or pointer to the metadata. This segmentation eliminates redundant storage while enabling efficient access through the tag field, resolving the contradiction between fast access and memory space utilization.
Solution Approach 2:
The patent introduces a new dimension to metadata storage by using an indirect addressing mechanism. Instead of storing complete metadata in each memory block (spatial redundancy), the system stores a compact tag/index that points to the metadata in a separate register. This dimensional shift from direct to indirect storage achieves both fast access (through the tag) and efficient space utilization (by storing metadata once in the register).
2Loss of substance
If metadata is stored non-redundantly in a separate register, then memory space is optimized, but access requires multiple steps
Solution Approach 1:
The patent implements preliminary action by pre-computing and storing the metadata index in the tag field of each memory block during the memory allocation or metadata creation phase. This allows the metadata access mechanism to directly retrieve the metadata using the pre-stored index without requiring complex search or computation at access time, thus maintaining fast access while using non-redundant storage.
3Reliability
If capability metadata is stored with each data block, then access control is enabled, but redundancy increases memory usage
Solution Approach 1:
The patent uses a copying mechanism where only the essential access control information (metadata index/tag) is copied into each memory block's tag field, while the complete capability metadata is stored once in a separate metadata register. This selective copying enables access control functionality while avoiding the memory space overhead of storing complete capability metadata with each data block.
Data Source
Figure 1
Figure 2A~2B
Figure 3A
AI summary
Systems, methods, and apparatuses for implementing non-redundant metadata storage addressed by bounded capabilities are described. In certain examples, a hardware processor core comprises an execution circuit to generate a first memory access request for a first single object in memory by a first capability and a second memory access request for a second different sized single object in the memory by a second capability, wherein a format of each of the first capability and the second capability comprises a single metadata field for access control of a single object in the memory, a bounds field that is to indicate a lower bound and an upper bound of the single object in the memory to which the single metadata field authorizes access, and an address field to indicate an address in the single object that is to be accessed; and a capability management circuit to determine a first location of a corresponding first metadata field in the memory based on the bounds field of the first capability, proceed with the first memory access request in response to a match of metadata in the single metadata field of the first capability against metadata at the corresponding first metadata field in the memory, determine a second location of a corresponding second metadata field in the memory based on the bounds field of the second capability, and proceed with the second memory access request in response to a match of metadata in the single metadata field of the second capability against metadata at the corresponding second metadata field in the memory.