Non-Canonical Address KeyID Encoding for Scalable Memory Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Multi-Key Total Memory Encryption (MKTME) systems face a scaling issue due to limited space in page table entries, which restricts the number of cryptographic keys that can be specified, leading to performance and efficiency problems in multi-tenant computing environments.

Innovation Solution

The solution involves using non-canonical address bits in the linear address space to specify KeyIDs, allowing for a larger number of keys without modifying paging structures, and employing a KeyID remapping table to manage key ownership and isolation, enabling scalable memory encryption and integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If page table entry size is increased to accommodate KeyIDs, then the number of cryptographic keys that can be specified increases, but system software complexity and performance overhead increase significantly

Engineering Contradiction:
Improvenumber of cryptographic keysVSAvoidsystem software complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent moves KeyID specification from the traditional page table entry dimension to the address space dimension. By utilizing unused bits in the linear address space (bits 48-63 in 64-bit addresses), the system can specify up to 64K different keys without modifying the structure or size of page table entries. This dimensional shift resolves the contradiction by providing key specification capability in a different architectural layer that does not impact paging software complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If physical address bits are increased to accommodate more keys, then the number of addressable memory locations increases, but the addressable memory space is reduced

Engineering Contradiction:
Improvenumber of cryptographic keysVSAvoidaddressable memory space
Core Design Contradiction:
Adaptability or versatilityVSLength of stationary object

Solution Approach 1:

The patent segments the 64-bit linear address space into two functional parts: the lower 48 bits continue to serve traditional memory addressing purposes, while the upper 16 bits (bits 48-63) are repurposed to carry KeyID information. This segmentation allows the system to simultaneously maintain full addressable memory space for data while embedding key identification information in the previously unused upper address bits, thus resolving the contradiction between key diversity and memory capacity.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If additional cached metadata is introduced to support more keys, then the number of cryptographic keys increases, but cache resources are consumed

Engineering Contradiction:
Improvenumber of cryptographic keysVSAvoidcache resources
Core Design Contradiction:
Adaptability or versatilityVSVolume of stationary object

Solution Approach 1:

The patent enables the address space itself to carry the key identification information without requiring external caching structures. The linear address bits directly encode the KeyID, allowing the memory subsystem to retrieve key information from the address field itself rather than from separate cached metadata. This self-service approach eliminates the need for additional cache resources while supporting a large number of cryptographic keys.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10684945B2System, apparatus and method for providing key identifier information in a non-canonical address space
Publication Date: 2020.06.16 INTEL CORP
  • US10684945B2 patent drawing
  • US10684945B2 patent drawing
  • US10684945B2 patent drawing

AI summary

In one embodiment, an apparatus includes a page miss handler to receive a full address including a linear address portion having a linear address and a key identifier portion having a key identifier for a key. The page miss handler may insert an entry including this key identifier in a translation storage. The apparatus further may include a remapping table having a plurality of entries each to store information regarding a key identifier. Other embodiments are described and claimed.