Multiversioned Nonvolatile Memory Hierarchy for Persistent Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in maintaining data integrity and consistency during updates in nonvolatile memories, particularly due to system failures and application errors, which can lead to corrupt data and increased overhead in performance and power consumption.
Innovation Solution
A multiversioned nonvolatile memory hierarchy is implemented, using a persistent memory architecture that includes both a nonvolatile cache and nonvolatile main memory, allowing data to be made persistent as soon as it is written to the cache, reducing latency and traffic, and enabling automatic persistence without the need for logging.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If log-based techniques are used to ensure data integrity in nonvolatile memory, then data consistency is improved, but system overhead and power consumption increase
Solution Approach 1:
The patent extracts and removes the logging mechanism from the data persistence system. Instead of using log-based techniques to track and recover data, the system uses a multiversioned nonvolatile memory hierarchy where data is directly written to multiple memory levels (cache and main memory) simultaneously, eliminating the need for logs and associated overhead
Solution Approach 2:
The patent implements copying by maintaining multiple versions of data in the nonvolatile memory hierarchy. When data is updated, previous versions are preserved in the memory hierarchy, allowing automatic recovery without logs. The system copies data to both nonvolatile cache and nonvolatile main memory, ensuring persistence without requiring logging mechanisms
2Reliability
If traditional nonvolatile memory systems write data sequentially to cache then to main memory, then data persistence is achieved, but latency increases and throughput decreases
Solution Approach 1:
The patent applies preliminary action by pre-establishing the multiversioned memory hierarchy structure before data writes occur. The system prepares multiple memory locations (cache and main memory) in advance, allowing data to be written to both locations simultaneously rather than sequentially, reducing latency and improving throughput
Solution Approach 2:
The patent transitions from a sequential two-stage write process (cache then main memory) to a parallel multi-dimensional approach where data is written to both nonvolatile cache and nonvolatile main memory simultaneously. This dimensional change in the write operation allows both persistence and high throughput to be achieved without compromise
3Reliability
If atomic writes are implemented to ensure data integrity, then data consistency is improved, but device complexity increases
Solution Approach 1:
The patent implements self-service by allowing the nonvolatile memory hierarchy to automatically manage data integrity and consistency through its multiversioned structure. The system self-recovers from failures by reading previous versions from the memory hierarchy without external intervention or complex control mechanisms, simplifying the overall system while maintaining reliability
Data Source
Figure 1A
Figure 1B
Figure 2
AI summary
Example methods and systems to provide persistent memory are disclosed herein. An example system includes a nonvolatile cache to store data received from a volatile cache. The data is associated with a transaction and the data is to be identified as durable when the transaction is committed. The example system includes a nonvolatile memory to store the data received from the nonvolatile cache when the data is identified as durable.