B-Tree Metadata Tiering for Low-Latency Erasure-Coded Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional erasure coding in distributed storage systems, such as RAID 5 and RAID 6, faces inefficiencies in writing data due to high read and write amplification factors, leading to increased I/O latency and traffic, which limits system performance.

Innovation Solution

A distributed-computing system architecture that employs a capacity tier with erasure-coded data stripes and a performance tier with mirrored metadata, utilizing a log-structured file system and a B-tree address map to optimize data storage and retrieval, allowing for full or partial stripe write operations with reduced read and write operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional erasure coding is used for fault-tolerant distributed storage, then data reliability is improved, but I/O latency and write amplification increase

Engineering Contradiction:
Improvedata reliabilityVSAvoidI/O latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-calculates and stores parity data in a log-structured format before actual write operations. When a write operation occurs, the pre-computed parity data is immediately available, eliminating the need for real-time parity calculation and reducing I/O latency significantly.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A log-structured file system acts as an intermediary layer between the application layer and the physical storage layer. This intermediary buffers write operations, batches them efficiently, and manages the complexity of erasure coding operations, thereby reducing the impact on application performance while maintaining data reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If conventional erasure coding is used for fault-tolerant distributed storage, then data reliability is improved, but write amplification factor increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidwrite amplification factor
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Multiple write operations are merged and batched together in the log-structured file system. Instead of processing each write operation separately with full parity recalculation, the system combines multiple writes into larger chunks, reducing the total number of parity calculations and write operations to disk, thereby lowering the write amplification factor.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system dynamically adjusts the erasure coding parameters and stripe sizes based on workload characteristics. By optimizing these parameters, the system can reduce the write amplification factor while maintaining the required level of data reliability and fault tolerance.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If data is striped across multiple disks for parallel I/O, then I/O efficiency is improved, but system complexity increases

Engineering Contradiction:
ImproveI/O efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The log-structured file system serves as an intermediary that abstracts the complexity of data striping and distribution across multiple disks. It manages the striping operations, parity distribution, and disk coordination centrally, allowing parallel I/O operations without requiring complex distributed coordination logic at the application layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The file system is segmented into distinct functional layers (log writing, erasure coding, striping, disk I/O), where each layer handles specific tasks independently. This segmentation allows parallel processing at different layers simultaneously while maintaining clear boundaries and reducing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11144394B1Storing B-tree pages in capacity tier for erasure-coded storage in distributed data systems
Publication Date: 2021.10.12 VMWARE INC
  • US11144394B1 patent drawing
  • US11144394B1 patent drawing
  • US11144394B1 patent drawing

AI summary

Systems, for managing metadata data blocks, include a fast performance tier and a large capacity tier. The capacity tier stores the data blocks in erasure-encoded stripes. The performance tier stores map data indicating correspondences between logical addresses, associated with a first layer of the system, and physical addresses associated with a second layer. The map data is structured as a B-tree with leaf nodes and index nodes. A method includes determining a volume associated with the leaves. In response to the volume being greater than a threshold, migrating a portion of the leaves to the stripes of the capacity tier. A portion of the indexes that include pointers to the migrated portion of the leaves are updated to include updated pointers to physical addresses of the stripes that store the migrated leaves. A portion of the performance tier that stores the migrated leaves is re-allocated to store additional map data.