Memory Tag Cache Layout for Low-Latency Access Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory protection techniques suffer from performance degradation, high latency, and hardware overhead, and do not effectively prevent memory access violations.

Innovation Solution

Implementing a system cache with a memory tagging unit that caches allocation tags, allowing for reduced latency and hardware overhead by storing metadata and corresponding data in the same cache line, and using a write coalescing buffer to optimize memory access operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory tagging is implemented to detect memory safety violations, then memory protection capability is improved, but performance degradation and latency increase

Engineering Contradiction:
Improvememory protection capabilityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments memory tagging metadata into allocation tags (AT) and memory tagging data (MT data), storing them in separate cache structures. This segmentation allows independent optimization of tag storage and data access paths, reducing the performance overhead of memory tagging by enabling parallel access to tags and data without requiring full metadata retrieval for every memory operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a tag cache that stores only allocation tags locally in the memory controller, while MT data is stored in main memory. This local quality approach brings the most frequently accessed metadata (allocation tags) close to the data path, enabling fast validation of memory accesses without the latency of retrieving full metadata from main memory for every operation.

Inventive Principle:
Principle #3Local quality

2Reliability

If memory tagging metadata is stored in main memory, then memory protection is achieved, but hardware overhead and latency increase

Engineering Contradiction:
Improvememory protectionVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent pre-loads allocation tags into a tag cache structure in the memory controller before they are needed for memory validation. This preliminary action ensures that when memory access validation is required, the allocation tags are already available in fast cache memory, eliminating the latency that would otherwise be incurred by retrieving tags from main memory at the time of validation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a tag cache as an intermediary structure between main memory and the memory validation logic. This intermediary caches allocation tags locally, acting as a buffer that provides fast access to metadata without requiring direct access to main memory, thereby reducing latency while maintaining memory protection capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If separate cache structures are used for metadata and data, then memory protection is improved, but hardware complexity increases

Engineering Contradiction:
Improvememory protectionVSAvoidhardware overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a tag cache that serves multiple functions: it stores allocation tags for memory validation, provides fast metadata access, and reduces the need for separate complex metadata management structures. This multi-functionality approach consolidates several hardware components into a single unified structure, reducing overall hardware complexity while maintaining memory protection capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Reliability

If memory tagging is implemented to prevent memory access violations, then system security is improved, but bandwidth and head-of-line blocking are worsened

Engineering Contradiction:
Improvememory safetyVSAvoidbandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the allocation tag validation function from the main memory data path, implementing it as a separate tag cache structure in the memory controller. This extraction allows memory access validation to occur independently of the data transfer path, enabling bandwidth optimization where data can be transferred at full speed while tag validation proceeds in parallel, thus preventing head-of-line blocking and maintaining high bandwidth while ensuring memory safety.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20250348431A1Memory tagging in a computing system
Publication Date: 2025.11.13 QUALCOMM INC
  • US20250348431A1 patent drawing
  • US20250348431A1 patent drawing
  • US20250348431A1 patent drawing

AI summary

Some aspects of the disclosure provide various techniques for implementing memory tagging to protect memory with reduced performance degradation, lower latency impact on the data path, and reduced hardware overhead. Furthermore, the memory tagging techniques can avoid head-of-line (HOL) blocking in memory access and are capable of delivering high bandwidth. In some aspects, a computing apparatus can implement a tag cache in a portion of a system cache and using a memory tagging unit to manage allocation tags cached in the tag cache.