Memory Tagging Circuitry Using Data Transformations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory tagging systems require additional reads of memory tags, leading to storage, power, and performance overhead, and are vulnerable to bugs like out-of-bound access and use-after-free vulnerabilities.

Innovation Solution

Implement memory tagging using data transformations, such as classifying data as high or low entropy and applying cryptographic masks to reduce the need for explicit tag retrieval, allowing probabilistic detection of incorrect tag usage without storing metadata in memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory tagging systems store metadata tags in memory, then memory access security can be verified, but storage overhead and memory capacity are consumed

Engineering Contradiction:
Improvememory access securityVSAvoidstorage overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the tag verification function from traditional memory tagging systems that store tags in memory, and implements it through cryptographic transformations of the data itself. The data transformations embed tag information directly in the data payload, eliminating the need for separate tag storage in memory, thereby reducing storage overhead while maintaining security verification capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent makes the data payload serve multiple functions: it carries both the actual data and the tag information needed for security verification. By using cryptographic masks and transformations on the data itself, the same data structure performs both data storage and authentication functions, eliminating the need for separate tag metadata storage

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

2Reliability

If memory tagging systems perform additional reads of memory tags, then access control checks can be verified, but performance overhead increases

Engineering Contradiction:
Improveaccess control verificationVSAvoidperformance overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the tag verification process with the normal data access process. Instead of performing separate reads to retrieve tags and then comparing them, the cryptographic transformations are applied to the data itself, allowing verification to occur as part of the single data access operation, thereby eliminating performance overhead from additional memory reads

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent applies cryptographic masks and transformations to the data in advance, before the access control check is needed. This preliminary transformation embeds the tag information directly in the data, so that when access is requested, the verification can be performed immediately on the transformed data without requiring additional retrieval operations

Inventive Principle:
Principle #10Preliminary action

3Reliability

If memory tagging systems store metadata tags, then tag comparison can be performed, but power consumption increases

Engineering Contradiction:
Improvetag comparison capabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the tag information from separate metadata storage and embeds it within the data payload through cryptographic transformations. This eliminates the need to read and compare separate tag metadata from memory, reducing the energy consumption associated with additional memory access operations and tag comparison logic

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The data itself serves the dual purpose of carrying information and providing verification capability. The cryptographic transformations cause the data to contain embedded tag information that can be verified through the same data access operation, making the data self-verifying and eliminating the need for separate power-consuming tag retrieval and comparison operations

Inventive Principle:
Principle #25Self-service

4Measurement precision

If memory tagging systems use explicit tag retrieval, then accurate tag verification can be achieved, but deterministic behavior is reduced

Engineering Contradiction:
Improvetag verification accuracyVSAvoiddeterministic behavior
Core Design Contradiction:
Measurement precisionVSStability of the object's composition

Solution Approach 1:

The patent changes the parameter representation of tags from explicit stored values to cryptographic transformations of data. Instead of retrieving and comparing explicit tag values, the system uses deterministic cryptographic functions (such as XOR with masks derived from addresses or keys) that produce consistent, verifiable results while maintaining deterministic behavior across access operations

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250306926A1Circuitry and methods for memory tagging based on data transformations
Publication Date: 2025.10.02 INTEL CORP
  • US20250306926A1 patent drawing
  • US20250306926A1 patent drawing
  • US20250306926A1 patent drawing

AI summary

Techniques for memory tagging based on data transformations in a computing system are described. In certain examples, a computing system includes a memory; an execution circuitry to execute an instruction to generate a memory request, comprising a location and a first tag, to read a data line from the memory; and a memory controller circuit to: retrieve data at the location from the memory request, unmask the data using the first tag from the memory request to generate first unmasked data, unmask the data using a second set of one or more tags to generate a corresponding second set of unmasked data, determine that the first unmasked data is random data, determine that the corresponding second set of unmasked data is random data, and send the first unmasked data for the memory request in response to the first unmasked data being the random data, and the corresponding second set of unmasked data being the random data.