NVDIMM Metadata Synchronization for Storage Cluster Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In information handling systems, maintaining data integrity across a storage cluster is challenging, especially when a node experiences power loss and later rejoins the cluster, as the data and metadata may become stale, leading to inconsistencies and potential data loss.

Innovation Solution

The system employs a memory controller with non-volatile dual-inline memory modules (NVDIMMs) that store data and metadata in volatile and non-volatile memory respectively, synchronizing data and metadata across nodes using timestamps and hashed metadata, and applying transforms to update data when a node rejoins the cluster, ensuring data integrity and fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data and metadata are stored in volatile memory for fast access, then speed is improved, but reliability deteriorates because data is lost during power loss

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

Solution Approach 1:

The system performs preliminary actions by continuously writing data and metadata from volatile memory to non-volatile memory before potential power loss occurs. This ensures that even if power is lost, the data is already preserved in non-volatile storage, resolving the contradiction between fast volatile access and reliable data preservation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If data is synchronized across all cluster nodes, then reliability is improved, but loss of time increases due to synchronization overhead

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system extracts only the essential synchronization information (metadata and change indicators) and transmits it to other nodes, rather than synchronizing entire data sets. This selective extraction maintains data consistency across the cluster while significantly reducing the time and bandwidth required for synchronization operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If complete data synchronization is performed when a node rejoins the cluster, then reliability is improved, but productivity deteriorates due to extended downtime

Engineering Contradiction:
Improvedata integrityVSAvoidnode availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs partial synchronization by applying only the metadata and transform information received from other nodes, rather than performing a complete data resynchronization. This partial action is sufficient to restore data integrity while minimizing the time the node remains offline, thus maintaining productivity.

Inventive Principle:
Principle #16Partial or excessive action

4Measurement precision

If metadata is updated frequently to track data changes, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improvechange detection accuracyVSAvoidsynchronization mechanism complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system uses parameter changes in metadata (such as timestamps, version numbers, or hash values) to track and detect data changes across nodes. By monitoring these specific parameters rather than comparing entire data sets, the system achieves precise change detection while keeping the synchronization mechanism relatively simple and efficient.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10846183B2Method and apparatus for ensuring data integrity in a storage cluster with the use of NVDIMM
Publication Date: 2020.11.24 DELL PROD LP
  • US10846183B2 patent drawing
  • US10846183B2 patent drawing
  • US10846183B2 patent drawing

AI summary

An information handling system includes a persistent storage and a memory controller. The persistent storage includes a volatile memory and a non-volatile memory. The memory controller stores data and metadata for a data file within the volatile memory, and the data file is synchronized within other information handling systems of a storage cluster. The memory controller updates the metadata in response to a change in the data of the data file, stores the data and the metadata for the data file within the non-volatile memory prior to a power loss of the information handling system, and synchronizes the data and the metadata of the data file with current data and current metadata for the data file found in the other information handling systems in response to the information handling system being back online. The data is synchronized with the current metadata based on a transform for the data file being received from the other information handling systems.