Cacheline Access Control Encoding for Single-Key Memory Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing encryption systems for secure memory, such as Total Memory Encryption (TME) and Secure Memory Encryption (SME), face scalability issues with multi-key encryption for domain separation, requiring large numbers of keys and KeyIDs to be stored near the memory controller, leading to increased latency and reduced performance.

Innovation Solution

Implementing a single-key memory encryption engine with lightweight access control encoding upstream in the processor pipeline, which encodes cachelines to indicate shared values and uses domain-specific masking to ensure data integrity, eliminating the need for large keys and KeyIDs in the memory controller.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multi-key encryption is implemented for domain separation, then security is improved, but device complexity and key management overhead increase significantly

Engineering Contradiction:
ImprovesecurityVSAvoidkey management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the encryption system into two parts: a simplified single-key encryption engine in the memory controller and an access control encoding mechanism in the processor pipeline. This segmentation allows the memory controller to remain simple while domain separation functionality is achieved through the upstream encoding of cachelines with domain identifiers and masking bits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary access control structure that includes domain identifiers and masking bits encoded in cachelines. This intermediary mechanism mediates between the single-key encryption engine and the multi-domain access control requirements, enabling domain separation without requiring multiple encryption keys in the memory controller.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If large numbers of keys are stored near the memory controller, then multi-domain encryption capability is provided, but memory latency increases

Engineering Contradiction:
Improvemulti-domain encryption capabilityVSAvoidmemory latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent extracts the access control encoding functionality from the memory controller and places it in the processor pipeline upstream. This extraction eliminates the need for the memory controller to store and manage large numbers of keys, thereby reducing memory latency while preserving multi-domain encryption capability through the upstream encoding mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If multi-key encryption is used for domain separation, then access control is improved, but cache flush operations increase reducing performance

Engineering Contradiction:
Improveaccess controlVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary encoding of domain identifiers and masking bits in cachelines upstream in the processor pipeline before memory operations. This preliminary action enables the system to maintain strong access control while avoiding the need for frequent cache flushes, as the encoding is already in place when data is written to or read from memory.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4672003A1Upstream multi-domain access control encodings for a downstream single-domain encryption engine
Publication Date: 2025.12.31 INTEL CORP
  • EP4672003A1 patent drawingFigure 1
  • EP4672003A1 patent drawingFigure 2
  • EP4672003A1 patent drawingFigure 3

AI summary

Techniques for masking and access control are described. In some examples, masking and access control circuitry to provide at least per-domain masking, and access control compression, of cache lines to be stored to memory in response to a store instruction and decompression of cache lines loaded from memory for compressible cache lines, wherein a cache line is to be compressed by encoding a pair of matching values in the cache line and storing the encoded pair as a value in the cache line.