Tiered Memory Copy-on-Write Crash Safety

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing tiered memory systems face performance drawbacks and data loss risks due to the slower persistence of data in persistent memory (PMEM) compared to volatile memory, and the periodic backing up of volatile memory data, which is not crash-safe.

Innovation Solution

A method for a tiered memory system that instantaneously persists changes by copying write requests from volatile memory to PMEM, using a copy-on-write approach, and updating mappings to ensure data durability, thereby avoiding data loss in case of a crash.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data in volatile memory is periodically persisted in storage, then storage capacity is maintained, but data loss risk increases during crashes

Engineering Contradiction:
Improvedata persistence safetyVSAvoiddata loss during crash
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system performs preliminary persistence actions by copying data from volatile memory to persistent memory before crashes can occur. The copy-on-write mechanism ensures that data is persisted to PMEM at the moment of write operations, proactively preventing data loss rather than relying on periodic backup.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a copy-on-write mechanism where data is copied from volatile memory to persistent memory when write operations occur. This creates redundant copies of data in both memory types, ensuring that if volatile memory is lost during a crash, the data remains safe in persistent memory.

Inventive Principle:
Principle #26Copying

2Reliability

If PMEM is used instead of volatile memory, then data persistence is achieved, but performance decreases

Engineering Contradiction:
Improvedata persistenceVSAvoidread and write performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the memory system into two distinct tiers: volatile memory for high-performance operations and persistent memory for data durability. By dividing the memory functionality across these two types, the system achieves both high speed (from volatile memory) and data persistence (from PMEM), resolving the performance-persistence tradeoff.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system merges volatile memory and persistent memory into a unified tiered memory architecture. This combination allows the system to leverage the speed of volatile memory for active operations while simultaneously benefiting from the persistence guarantees of PMEM, achieving both high productivity and reliability.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If copy-on-write is executed for every write request, then instant persistence is achieved, but system complexity increases

Engineering Contradiction:
Improveinstant data persistenceVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The copy-on-write mechanism operates automatically in response to write requests without requiring complex external management. The system self-manages the copying process from volatile to persistent memory, reducing the need for complex persistence management logic while ensuring instant data durability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11893273B2Crash-safe tiered memory system
Publication Date: 2024.02.06 VMWARE INC
  • US11893273B2 patent drawing
  • US11893273B2 patent drawing
  • US11893273B2 patent drawing

AI summary

A method of writing to a tiered memory system of a computing device, the tiered memory system including volatile memory and persistent memory (PMEM), includes the steps of: in response to a first write request including first data to write to a first page of the tiered memory system, copying contents of the first page to a second page located in the PMEM; after copying the contents of the first page to the second page, writing the first data to the second page; and after writing the first data to the second page, updating a first mapping of the tiered memory system to reference the second page instead of the first page.