RDMA Data Durability Flag for Persistent Memory Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed systems in large data centers face challenges in maintaining data consistency and durability across multiple nodes, particularly with the use of persistent memory (PMEM) and remote direct memory access (RDMA), where data may not be guaranteed to be persisted in non-volatile memory during power loss, leading to potential data loss and performance degradation.

Innovation Solution

Implementing a system that uses RDMA with a data_durability flag to ensure data is written to both cache and persistent memory, and employing an RDMA_read with a data_sync flag to explicitly flush data from memory buffers to persistent memory, thereby ensuring data durability and consistency across nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is written only to volatile memory for fast access, then access speed is improved, but data durability deteriorates (data loss on power loss)

Engineering Contradiction:
Improvedata access speedVSAvoiddata durability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by writing data to both volatile memory (for speed) and persistent memory (for durability) simultaneously during the write operation. The durability flag triggers the receiver to copy data to persistent memory before acknowledging the write, ensuring data is preserved before power loss can occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (durability flag and sync flag) that mediates between the fast volatile memory and the durable persistent memory. This intermediary allows the system to leverage both memory types' strengths without sacrificing performance, as the flag system coordinates the dual-write operation transparently.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is written to both volatile memory and persistent memory, then data durability is improved, but write performance deteriorates

Engineering Contradiction:
Improvedata durabilityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the write operations to volatile memory and persistent memory into a single coordinated action. By combining these operations and using the durability flag to trigger the persistent memory write, the system achieves durability without the performance penalty of sequential writes, as both memory locations are updated in parallel.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The receiver side automatically handles the data duplication to persistent memory when it receives data with the durability flag set. This self-service mechanism eliminates the need for the sender to manage the dual-write complexity, maintaining high write performance while ensuring durability through automated local copying.

Inventive Principle:
Principle #25Self-service

3Reliability

If data is flushed from memory buffer to persistent memory explicitly, then data consistency is improved, but latency increases

Engineering Contradiction:
Improvedata consistencyVSAvoidflush latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of continuous or explicit flushing, the system uses periodic action through the sync flag mechanism. Data is flushed to persistent memory only when the sync flag is triggered, allowing data to remain in the fast memory buffer longer and reducing unnecessary flush operations, thereby minimizing latency while maintaining consistency when needed.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system performs preliminary copying of data to persistent memory using the durability flag before the data is potentially needed for consistency checks. This preliminary action ensures that when consistency is required, the data is already in persistent memory, eliminating the need for late-stage flushing that would increase latency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11709774B2Data consistency and durability over distributed persistent memory systems
Publication Date: 2023.07.25 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US11709774B2 patent drawing
  • US11709774B2 patent drawing
  • US11709774B2 patent drawing

AI summary

Examples described herein relates to a network interface apparatus that includes packet processing circuitry and a bus interface. In some examples, the packet processing circuitry to: process a received packet that includes data, a request to perform a write operation to write the data to a cache, and an indicator that the data is to be durable and based at least on the received packet including the request and the indicator, cause the data to be written to the cache and non-volatile memory. In some examples, the packet processing circuitry is to issue a command to an input output (IO) controller to cause the IO controller to write the data to the cache and the non-volatile memory. In some examples, the cache comprises one or more of: a level-0 (L0), level-1 (L1), level-2 (L2), or last level cache (LLC) and the non-volatile memory comprises one or more of: volatile memory that is part of an Asynchronous DRAM Refresh (ADR) domain, persistent memory, battery-backed memory, or memory device whose state is determinate even if power is interrupted to the memory device. In some examples, based on receipt of a second received packet that includes a request to persist data, the packet processing circuitry is to request that data stored in a memory buffer be copied to the non-volatile memory.