Metadata Summary Table for Dynamic Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hardware security schemes that associate metadata with physical memory lead to unacceptable memory overheads in cloud deployments, where compute nodes reserve large ranges of physical memory for metadata even if not all virtual machines use these schemes.

Innovation Solution

Implementing a metadata summary table that uses a small fixed reservation of physical memory to store coarse-grained metadata and pointers to dynamically allocated memory for fine-grained metadata, allowing for efficient metadata management and reduced memory overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed large range of physical memory is reserved for metadata storage, then metadata security checks can be performed, but memory overhead becomes unacceptable in cloud deployments

Engineering Contradiction:
Improvemetadata security check capabilityVSAvoidmemory overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments metadata storage into two distinct components: a small fixed metadata summary table reserved in physical memory, and dynamic metadata stored in separately allocated memory regions. This segmentation allows the system to maintain security check capabilities through the summary table while avoiding the need to reserve large contiguous memory ranges, thus reducing overall memory overhead in cloud deployment scenarios.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic allocation mechanisms where metadata memory regions are allocated on-demand rather than being statically reserved. The system can dynamically allocate and deallocate metadata storage regions based on actual needs, allowing cloud compute nodes to reduce memory overhead when metadata security schemes are not actively used by virtual machines, while still maintaining the capability to perform security checks when needed.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If dynamic allocation of metadata memory is implemented, then memory overhead is reduced, but system complexity increases due to additional allocation management

Engineering Contradiction:
Improvememory overheadVSAvoidmemory allocation management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-reserving a small metadata summary table in physical memory that contains allocation information and pointers. This pre-configured structure simplifies subsequent dynamic allocation operations, as the system only needs to manage metadata regions rather than the entire memory management process, thus reducing the complexity burden of dynamic allocation while still achieving memory overhead reduction.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The metadata summary table acts as an intermediary structure between the fixed reserved memory and the dynamically allocated metadata regions. It stores metadata descriptors and pointers that mediate access to the actual dynamic metadata storage, simplifying the management complexity by providing a stable, small-footprint interface while enabling flexible dynamic allocation in the background.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12326809B2Dynamically allocatable physically addressed metadata storage
Publication Date: 2025.06.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12326809B2 patent drawing
  • US12326809B2 patent drawing
  • US12326809B2 patent drawing

AI summary

In examples there is a computing device comprising a processor, the processor having a memory management unit. The computing device also has a memory that stores instructions that, when executed by the processor, cause the memory management unit to receive a memory access instruction comprising a virtual memory address; translate the virtual memory address to a physical memory address of the memory, and obtain permission information associated with the physical memory address. Responsive to the permission information indicating that metadata is permitted to be associated with the physical memory address, a check is made of a metadata summary table stored in the physical memory to check whether metadata is compatible with the physical memory address. Responsive to the check being unsuccessful, a trap is sent to system software of the computing device in order to trigger dynamic allocation of physical memory for storing metadata associated with the physical memory address.