Unified Non-Volatile Memory Architecture for Volatile and Persistent Storage
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Reliability
If encryption is applied to main memory data, then data security is improved, but access performance and simplicity worsen
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.
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.
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
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.
Data Source
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.


