Log-structured File System Segment Cleaning via Data Block Remapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional erasure coding in distributed data systems, such as RAID 6 schemes, face 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 with a capacity storage tier using erasure-coded data stripes and a performance storage tier for metadata, employing a B-tree structure and logical address mapping to optimize data storage and retrieval, allowing for reduced read and write operations through full or partial stripe write modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional erasure coding (RAID 6) 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 segments storage into two distinct tiers: a performance storage tier using RAID 1 mirroring for low-latency operations and a capacity storage tier using RAID 6 erasure coding for high-capacity fault-tolerant storage. This segmentation allows each tier to be optimized for its specific function, resolving the contradiction between reliability and I/O latency by handling different data types in different locations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A logical-to-physical address mapping layer acts as an intermediary between the host and the two storage tiers. This mapping layer intelligently directs I/O operations to the appropriate tier based on data characteristics and access patterns, enabling the system to achieve both low latency (by routing hot data to performance tier) and high reliability (by storing data with EC protection in capacity tier).

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If RAID 6 erasure coding is used for distributed storage, then fault tolerance is improved, but write amplification factor increases

Engineering Contradiction:
Improvefault toleranceVSAvoidwrite amplification
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The write operation is segmented into two paths: performance-critical writes go to the RAID 1 performance tier with minimal amplification, while capacity-optimized writes go to the RAID 6 capacity tier. This segmentation reduces overall write amplification by avoiding EC recalculations for all writes, only performing them when data is migrated to or refreshed in the capacity tier.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by maintaining a logical-to-physical address mapping that tracks data locations and validity. This mapping allows the system to determine whether writes need to trigger EC recalculations in advance, avoiding unnecessary write operations and reducing write amplification factor by only performing EC operations when absolutely necessary.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If data is striped and erasure coded across multiple disks, then storage capacity efficiency is improved, but read and write operation complexity increases

Engineering Contradiction:
Improvestorage capacity efficiencyVSAvoidoperation complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The logical-to-physical address mapping serves as an intermediary that abstracts the complexity of erasure-coded striping from host operations. The mapping layer handles all the complex logic for determining which disks contain valid data, reconstructing lost blocks, and managing stripe operations, thereby reducing operation complexity at the host level while maintaining high storage capacity efficiency through EC.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The capacity storage tier employs self-service mechanisms where the RAID 6 controller automatically performs erasure coding calculations, data reconstruction, and validity checking without requiring complex host-level intervention. This self-service approach simplifies host operations while maintaining efficient use of storage capacity through automated EC management.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11262919B2Efficient segment cleaning employing remapping of data blocks in log-structured file systems of distributed data systems
Publication Date: 2022.03.01 VMWARE INC
  • US11262919B2 patent drawing
  • US11262919B2 patent drawing
  • US11262919B2 patent drawing

AI summary

Client data is structured as a set of data blocks. A first subset of data blocks is stored on a current segment of the disks. A second subset of data blocks is stored on a previous segment. A request to clean client data is received, including a request to update the current segment to include the second subset of data blocks. The second subset of data blocks is accessed and transmitted from a lower layer to a higher system layer. Parity data is generated at the higher layer. The parity data is transmitted to the lower layer. The lower layer updates second mapping data. In the updated mapping of the second mapping data, each local address that references a data block of the second subset of data blocks is included in the current segment of the plurality of disks. The lower layer writes the parity data in the current segment.