Log-Structured CoW B+ Tree Metadata Storage on NVM

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing metadata storage systems face challenges in efficiently managing and accessing large volumes of small metadata objects on Non-Volatile Memory (NVM) devices due to asymmetric access latencies, I/O operations, and reduced device lifetime, leading to increased latency and overhead from thread synchronization and CPU processing.

Innovation Solution

A multi-core processor-based data storage system employing log-structured, Copy-on-Write (CoW) B+ tree techniques with core-affine data and resource partitioning, using lightweight user-level threads and lockless data structures to minimize latency and ensure concurrent access to versioned metadata snapshots across multiple epochs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional metadata storage systems are used on NVM devices, then data capacity is maintained, but access latency increases and device lifetime is reduced

Engineering Contradiction:
Improveaccess latencyVSAvoiddevice lifetime
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent segments the metadata storage system into multiple independent components: log-structured storage regions, B+ tree index structures, and versioned snapshot partitions. Each segment handles specific operations independently, reducing contention and improving access latency while distributing wear across multiple NVM regions to extend device lifetime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-allocating NVM regions for different metadata operations, pre-building B+ tree structures in memory before persistence, and creating versioned snapshots in advance. This preparation reduces the complexity and time of actual metadata access operations while minimizing random writes to the NVM device.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If thread synchronization is implemented for concurrent metadata access, then data consistency is maintained, but processing overhead increases

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the metadata namespace into multiple independent partitions, each with its own version counter and snapshot history. This segmentation allows different threads to access different partitions concurrently without requiring global synchronization, maintaining data consistency within each partition while eliminating cross-partition locking overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates lightweight copy-on-write snapshots of metadata partitions instead of using heavy-weight locking mechanisms. When a thread needs to modify metadata, it creates a snapshot copy, applies changes to the copy, and atomically switches the snapshot reference. This copying approach maintains consistency without requiring thread synchronization during read operations.

Inventive Principle:
Principle #26Copying

3Productivity

If fine-grained partitioning is applied to metadata storage, then access efficiency is improved, but system complexity increases

Engineering Contradiction:
Improveaccess efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements fine-grained partitioning of metadata into small fixed-size blocks organized in log-structured sequences, with B+ trees providing hierarchical indexing. This segmentation improves access efficiency by enabling targeted reads of specific metadata blocks without loading entire partitions, while the log structure simplifies append operations compared to traditional block devices.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary layer consisting of in-memory B+ tree structures that cache and index metadata blocks before they are persisted to NVM. This intermediary layer absorbs the complexity of fine-grained management in memory using efficient data structures, while presenting a simplified interface to the NVM storage layer, thereby improving access efficiency without proportionally increasing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11487435B1System and method for non-volatile memory-based optimized, versioned, log-structured metadata storage with efficient data retrieval
Publication Date: 2022.11.01 DATADIRECT NETWORKS INC
  • US11487435B1 patent drawing
  • US11487435B1 patent drawing
  • US11487435B1 patent drawing

AI summary

A system and method for efficiently storing and accessing large volumes of metadata persistent on Non-Volatile Memory (NVM) storage systems is provided. The system applies log-structured, Copy-on-Write (CoW) B+ tree methods, and supports a core-affine data and resource partitioning approaches on the system's architecture and platform with a high-degree of parallelism within the CPU, NVMe storage, and networking devices. The subject system and method efficiently indexes both in-core (DRAM resident) and out-of-core (NVM resident) metadata, supports a variety of data access patterns, supports CoW features and provides verifiable data safety and integrity capabilities. The present system minimizes latencies over all aspects of the metadata management and access path by leveraging core-affine resource partitioning with runtime environment providing lightweight user-level threads with low-latency context switching that execute within the exclusive context of a dedicated CPU core, and partitioned resources.