Hardware Memory Tagging Architecture for Low-Overhead Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software-based memory management solutions for memory tagging have high performance overheads, limiting their use to debug and pre-production assessments, and struggle with thorough coverage in complex scenarios due to their complexity and rapid changes in software systems.

Innovation Solution

A hardware-based memory tagging architecture that attaches metadata to linear addresses and pointers, using a metadata table in the linear address space, and provides instructions for attaching and retrieving metadata to ensure fast and precise security checks, with control over overheads and behavior through control registers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software-based memory tagging solutions are used, then memory security checking capability is provided, but performance overhead is high (20x-100x slowdown)

Engineering Contradiction:
Improvememory security checking capabilityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces software-based memory tagging with a hardware-based implementation. The memory management unit (MMU) is enhanced with tagging circuitry that automatically attaches metadata tags to memory addresses and validates them during memory access operations. This hardware substitution eliminates the software overhead that caused 20x-100x performance slowdown while maintaining security checking capability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The hardware tagging system performs automatic tag attachment and validation without requiring software intervention. The MMU autonomously manages the tagging process by comparing metadata tags during memory access operations, enabling self-service security verification that does not burden the processor with software-based checking overhead.

Inventive Principle:
Principle #25Self-service

2Reliability

If software-based memory tagging solutions are used, then memory tagging functionality is achieved, but system complexity increases and thorough coverage in complex scenarios is difficult

Engineering Contradiction:
Improvememory tagging functionalityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces complex software-based memory tagging with streamlined hardware implementation. The MMU incorporates dedicated tagging circuitry that automatically manages metadata attachment and validation, eliminating the need for complex software routines and reducing overall system complexity while achieving thorough coverage in complex scenarios.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The hardware tagging system introduces an intermediary MMU component that mediates between the processor and memory subsystem. This intermediary automatically handles metadata management during memory access operations, simplifying the overall system architecture by centralizing tagging functionality in dedicated hardware rather than distributing complexity across software layers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11392503B2Memory tagging apparatus and method
Publication Date: 2022.07.19 INTEL CORP
  • US11392503B2 patent drawing
  • US11392503B2 patent drawing
  • US11392503B2 patent drawing

AI summary

An apparatus and method for tagged memory management. For example, one embodiment of a processor comprises: execution circuitry to execute instructions and process data, at least one instruction to generate a system memory access request having a first address pointer; and address translation circuitry to determine whether to translate the first address pointer with or without metadata processing, wherein if the first address pointer is to be translated with metadata processing, the address translation circuitry to: perform a lookup in a memory metadata table to identify a memory metadata value, determine a pointer metadata value associated with the first address pointer, and compare the memory metadata value with the pointer metadata value, the comparison to generate a validation of the memory access request or a fault condition, wherein if the comparison results in a validation of the memory access request, then accessing a set of one or more address translation tables to translate the first address pointer to a first physical address and to return the first physical address responsive to the memory access request.