Fast-Zero Memory Controller for 3DXP Initialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The initialization of large 3DXP memories during system bootup is time-consuming, impacting user experience due to the need for software initialization of zeros across multiple terabytes of memory, which can take several minutes.

Innovation Solution

Implementing a fast-zero memory (FZM) feature where the memory controller maintains metadata to track the first read from any location in 3DXP memory, allowing for caching of zeros in near memory and subsequent decryption to avoid software initialization, and using an encryption engine for memory encryption and integrity protection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software initialization of zeros is performed across multiple terabytes of 3DXP memory during system bootup, then memory meets software expectations for zero data on first read, but boot time becomes excessively long (several minutes)

Engineering Contradiction:
Improvememory initialization correctnessVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The memory controller performs preliminary actions by pre-fetching data from 3DXP memory into near memory during bootup before software needs it. The fast-zero memory feature tracks which memory locations have been read and ensures zeros are available in near memory, eliminating the need for software to manually initialize each location.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Near memory acts as an intermediary between 3DXP memory and software. Instead of software directly accessing and initializing 3DXP memory, the memory controller mediates by caching data in near memory, which provides faster access and eliminates the time-consuming initialization process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If 3DXP memory is used as volatile memory to provide multiple TBs of capacity, then performance and power efficiencies are improved, but the time required to initialize all memory locations increases significantly

Engineering Contradiction:
Improvememory capacity and efficiencyVSAvoidinitialization time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Instead of initializing all memory locations, the fast-zero memory feature implements partial action by only tracking and providing zeros for memory locations that are actually read during bootup. The memory controller maintains metadata to identify which locations have been accessed and ensures zeros are available in near memory for those specific locations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The memory controller provides self-service by automatically managing the caching of zeros in near memory based on read requests. When software reads from a memory location, the controller ensures the data is available without requiring software to perform initialization, making the system self-sufficient.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12143501B2ISA support for programming hardware over untrusted links
Publication Date: 2024.11.12 INTEL CORP
  • US12143501B2 patent drawing
  • US12143501B2 patent drawing
  • US12143501B2 patent drawing

AI summary

In embodiments detailed herein describe an encryption architecture with fast zero support (e.g., FZ-MKTME) to allow memory encryption and integrity architecture to work efficiently with 3DXP or other far memory memories. In particular, an encryption engine for the purpose of fast zeroing in the far memory controller is detailed along with mechanisms for consistent key programming of this engine. For example, an instruction is detailed which allows software to send keys protected even when the controller is located outside of a system on a chip (SoC), etc.