Multiversioned Nonvolatile Memory Hierarchy for Persistent Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata consistencyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improvedata persistenceVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If atomic writes are implemented to ensure data integrity, then data consistency is improved, but device complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidmemory hierarchy complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2972891B1Multiversioned nonvolatile memory hierarchy for persistent memory
Publication Date: 2020.05.06 HEWLETT PACKARD ENTERPRISE DEV LP
  • EP2972891B1 patent drawingFigure 1A
  • EP2972891B1 patent drawingFigure 1B
  • EP2972891B1 patent drawingFigure 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.