Erasure Coded Storage Write Coalescing via Two-Tier Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems employing erasure coding face inefficiencies in write operations due to high write amplification from partial stripe writes, which are exacerbated by the need for large NVRAM for caching and the complexity of managing metadata in log-structured file systems.

Innovation Solution

The system creates separate metadata and capacity objects, with the capacity object using an erasure coding scheme and a log-structured file system layout, and the metadata object using mirroring and an overwrite-based file system layout, allowing for efficient coalescing of partial stripe writes into full stripe writes without requiring extensive NVRAM or complex metadata management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If partial stripe writes are executed in erasure coded storage systems, then data can be updated efficiently, but write amplification increases significantly

Engineering Contradiction:
Improvewrite efficiencyVSAvoidwrite amplification
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the storage system into two distinct tiers: a performance tier with high-speed storage devices for caching and a capacity tier with larger, slower storage devices for bulk storage. This segmentation allows partial stripe writes to be buffered in the performance tier and consolidated into full stripe writes before being issued to the capacity tier, reducing write amplification while maintaining write efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by buffering partial stripe writes in the performance tier storage devices before consolidating and issuing them as full stripe writes to the capacity tier. This preliminary buffering and consolidation process reduces the immediate write amplification impact on the storage system.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If NVRAM is used to cache partial stripe writes, then write performance improves, but hardware cost and complexity increase

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

Solution Approach 1:

The patent uses cheaper, more readily available storage devices in the performance tier (such as SSDs or memory buffers) instead of expensive NVRAM. These temporary storage objects are sufficient for the caching function and can be easily replaced or expanded, avoiding the need for expensive non-volatile memory hardware while achieving the same write performance improvement.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Productivity

If log-structured file system is used to coalesce writes, then partial stripe writes can be merged, but metadata management becomes complex

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

Solution Approach 1:

The patent extracts the metadata management complexity from the capacity tier by handling all metadata operations in the performance tier. The performance tier maintains its own metadata for tracking partial stripe writes and consolidation, while the capacity tier uses simpler overwrite-based file system metadata. This separation removes the complexity of managing log-structured metadata across the entire system.

Inventive Principle:
Principle #2Taking out (Extraction)

4Loss of energy

If full stripe writes are always issued, then write amplification is minimized, but write flexibility is reduced

Engineering Contradiction:
Improvewrite amplificationVSAvoidwrite flexibility
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

Solution Approach 1:

The system dynamically adapts its behavior based on the write pattern received. When partial stripe writes are detected, they are buffered in the performance tier and then consolidated into full stripe writes for issuance to the capacity tier. This dynamic buffering and consolidation process maintains write flexibility for the application while achieving write amplification reduction at the storage level.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11334277B2Issuing efficient writes to erasure coded objects in a distributed storage system with two tiers of storage
Publication Date: 2022.05.17 VMWARE INC
  • US11334277B2 patent drawing
  • US11334277B2 patent drawing
  • US11334277B2 patent drawing

AI summary

Techniques for issuing efficient writes to an erasure coded storage object in a distributed storage system are provided. In one set of embodiments, a node of the system can receive a write request for updating a logical data block of the storage object, write data/metadata for the block to a record in a data log of a metadata object of the storage object (where the metadata object is stored on a performance storage tier), place the block data in a free slot of an in-memory bank, and determine whether the in-memory bank has become full. If the in-memory bank is full, the node can further allocate a segment in a capacity object of the storage object for holding contents of the in-memory bank (where the capacity object is stored on a capacity storage tier), and write the in-memory bank contents via a full stripe write to the allocated segment.