Erasure-Coded Storage with Mirrored Metadata

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 performance limitations.

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 efficiency deteriorates due to high read and write amplification factors

Engineering Contradiction:
Improvedata reliabilityVSAvoidI/O efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments data into data stripes with separate data blocks and parity blocks stored on different disks. This segmentation allows selective access to only the necessary blocks for read-modify-write operations, reducing the number of I/O operations required compared to conventional erasure coding where all blocks in a stripe must be accessed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a metadata layer that acts as an intermediary between the host and the erasure-coded storage system. This metadata layer tracks the logical-to-physical address mapping and enables direct access to specific data blocks without requiring read operations on all blocks in the stripe, thereby reducing read amplification and improving I/O efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If erasure coding is implemented to tolerate disk failures, then fault tolerance is improved, but write operations require significant read and write amplification

Engineering Contradiction:
Improvefault toleranceVSAvoidwrite operation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-calculating and storing metadata that maps logical addresses to physical block locations before write operations occur. This preliminary metadata preparation enables direct writes to specific blocks without requiring preliminary reads of other blocks in the stripe, significantly reducing write amplification and operation time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the operational parameters of erasure coding by using fixed stripe widths and optimizing the distribution of data and parity blocks across disks. This parameter optimization allows for more efficient write operations by minimizing the number of blocks that need to be read and rewritten when modifying a single block, thereby reducing write amplification factor.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If data is striped across multiple disks for parallel I/O operations, then I/O efficiency is improved, but data redundancy is lost

Engineering Contradiction:
ImproveI/O efficiencyVSAvoiddata redundancy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges the benefits of RAID 0 striping with RAID 5/6 erasure coding by combining data stripes and parity stripes across multiple disks. This merging maintains the parallel I/O efficiency of striping while incorporating redundancy through parity blocks, allowing the system to achieve both high I/O performance and data protection simultaneously.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system creates a universal storage architecture that performs multiple functions: data striping for parallel I/O, erasure coding for fault tolerance, and metadata management for efficient address mapping. This multi-functional approach allows a single system to achieve both high I/O efficiency and data redundancy without requiring separate systems for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11507544B2Efficient erasure-coded storage in distributed data systems
Publication Date: 2022.11.22 VMWARE INC
  • US11507544B2 patent drawing
  • US11507544B2 patent drawing
  • US11507544B2 patent drawing

AI summary

Techniques for efficiently storing client data blocks on a distributed-computing system are provided. The system includes a fast performance tier and a large capacity tier. The capacity tier stores the client data blocks in erasure encoded data stripes. The performance tier stores logical map data including an address map indicating a correspondence between logical addresses associated with a first layer of the system and physical addresses associated with a second layer. A method includes receiving a request to include additional client data blocks in the client blocks. The request indicates logical addresses for additional blocks. Corresponding physical addresses for additional block are determined. Each additional block is stored at the physical address. Additional logical map data is stored in the performance tier. Storing the additional logical map data includes updating the address map to indicate the correspondence between the logical addresses and the physical addresses for the additional blocks.