Unified Non-Volatile Memory Architecture for Volatile and Persistent Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems require a separate non-volatile memory for main memory and backing store, leading to complexities in access management and volatility, as well as inefficiencies in data retention and access latency.

Innovation Solution

Implementing a non-volatile memory system that serves as both main memory and backing store, allowing direct access through a physical memory address space without a file system intervention, with encryption mechanisms to manage volatility and fine-grained access control, using a mapping from virtual to physical addresses to achieve performance comparable to DRAM.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If a separate non-volatile memory is used for main memory and backing store, then data retention across power cycles is improved, but access latency and system complexity increase

Engineering Contradiction:
Improvedata retentionVSAvoidaccess latency
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent merges main memory and backing store into a single non-volatile memory device, eliminating the need for data transfer between separate memory components. This unified memory architecture allows agents to access both volatile and persistent data through a single physical address space, reducing access latency while maintaining data retention capabilities across power cycles.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The non-volatile memory device is designed to serve multiple functions simultaneously: it acts as both main memory (providing volatile-like access) and backing store (providing persistent storage). By implementing different access modes and encryption schemes within the same device, the system achieves multi-functionality without requiring separate memory components, thereby reducing overall system complexity and access time.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If a file system is used to manage access to backing store, then data organization and security are improved, but access speed and bandwidth decrease

Engineering Contradiction:
Improvedata organizationVSAvoidaccess speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the file system layer from the memory access path, allowing agents to directly address and access data in the non-volatile memory without file system intervention. By using a physical address space that directly maps to the memory device, the system eliminates file system overhead and bottlenecks, achieving file-system-less access while maintaining data organization through direct address mapping and encryption mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If encryption is applied to main memory data, then data security is improved, but access performance and simplicity worsen

Engineering Contradiction:
Improvedata securityVSAvoidaccess complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies different encryption schemes to different regions of the non-volatile memory device. Main memory portions use encryption keys that are discarded on power down to provide volatile-like security, while persistent store portions use different encryption keys that are retained. This local differentiation of encryption approaches allows the system to maintain data security while simplifying access patterns for each memory region.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes encryption parameters (keys) based on the memory access mode and power state. During operation, main memory uses specific encryption keys for security, while persistent storage uses different keys. Upon power down, the main memory keys are discarded to implement volatility, while persistent keys are preserved. This parameter changing approach maintains security without requiring complex access procedures.

Inventive Principle:
Principle #35Parameter changes

4Stability of the object's composition

If non-volatile memory is used as main memory, then data retention is improved, but volatility behavior and access patterns worsen

Engineering Contradiction:
Improvedata retentionVSAvoidvolatility behavior
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic behavior in the non-volatile memory system by allowing different access modes and key management strategies for different memory regions. The system can switch between volatile-like behavior (discarding keys on power down) and persistent behavior (retaining keys), adapting to the specific access requirements of main memory versus backing store operations within the same physical device.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11714924B2Unified addressable memory
Publication Date: 2023.08.01 APPLE INC
  • US11714924B2 patent drawing
  • US11714924B2 patent drawing
  • US11714924B2 patent drawing

AI summary

In one embodiment, a system includes a non-volatile memory that may serve as both the main memory system and the backing store (or persistent storage). In some embodiments, the non-volatile memory is divided into a main memory portion and a persistent portion. Data in the main memory operation may be encrypted using one or more first keys, and data in the persistent portion may be encrypted using one or more second keys, in an embodiment. The volatile behavior of main memory may be implemented by discarding the one or more first keys in a power down event or other event that indicates a loss of main memory data, while the one or more second keys may be retained. In one embodiment, the physical address space of the non-volatile memory may be a mapping from a second physical address space that is used within the system.