Distributed Storage Metadata Log Recovery Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face inefficiencies in write operations due to high write amplification from partial stripe writes in erasure coded systems, particularly with RAID-6, which requires significant NVRAM for caching and complex metadata management with log-structured file systems.

Innovation Solution

Implementing a distributed storage system with two tiers of storage, using a LFS disk layout for capacity objects and an overwrite-based file system for metadata objects, ensuring all writes are issued as full stripe writes without relying on NVRAM caching or complex metadata management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If erasure coding is used for fault tolerance, then storage overhead is reduced compared to mirroring, but write amplification increases due to partial stripe writes requiring read-modify-write sequences

Engineering Contradiction:
Improvestorage overheadVSAvoidwrite efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system pre-calculates and stores parity information for erasure coded stripes in advance. When a write operation occurs, the pre-computed parity allows the system to perform full stripe writes without requiring read-modify-write sequences, thereby eliminating write amplification while maintaining the storage efficiency of erasure coding

Inventive Principle:
Principle #10Preliminary action

2Productivity

If NVRAM is used to cache partial stripe writes, then write amplification is reduced, but device complexity and cost increase

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

Solution Approach 1:

The patent extracts the parity calculation and caching functionality from expensive NVRAM hardware and implements it using software-based mechanisms in the distributed storage system. This allows the system to achieve the same write efficiency benefits without requiring costly NVRAM components at each node, thereby reducing device complexity while maintaining write performance

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If log-structured file system is used to coalesce writes, then partial stripe writes are avoided, but metadata management complexity increases

Engineering Contradiction:
Improvewrite efficiencyVSAvoidmetadata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the coalescing functionality from complex log-structured file systems and implements a simplified version specifically tailored for erasure coded storage. The system maintains a write buffer that tracks pending writes and automatically coalesces them into full stripe writes, eliminating the need for complex LFS metadata management while achieving the same write efficiency benefits

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11625370B2Techniques for reducing data log recovery time and metadata write amplification
Publication Date: 2023.04.11 VMWARE INC
  • US11625370B2 patent drawing
  • US11625370B2 patent drawing
  • US11625370B2 patent drawing

AI summary

Techniques for reducing data log recovery time and metadata write amplification when checkpointing a data log of a storage object in a distributed storage system are provided. In one set of embodiments, a node of the system can determine whether the data log has reached a first threshold size, where the data log comprises a plurality of data log records, and where each data log record includes data and metadata for a write request directed to the storage object. If the data log has reached the first threshold size, the node can copy, from each of the plurality of data log records, the metadata for the write request to a corresponding metadata log entry in a metadata log of the storage object. The node can then truncate the data log by removing the plurality of data log records.