Fast-Zero Memory Controller for 3DXP Initialization
Find Innovative SolutionsGenerate 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
Engineering 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)
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.
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.
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
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.
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.
Data Source
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.


