Erasure-Coded Group Management Without Read-Modify-Writes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems using shared-nothing architectures face challenges in achieving high availability and fault tolerance with distributed erasure coding, particularly due to the complexity of read-modify-write operations and data corruption risks, which are exacerbated by the lack of specialized hardware in commodity setups.

Innovation Solution

A RoW-oriented abstraction layer and metadata dissemination scheme are implemented to prevent read-modify-writes and enable autonomous garbage collection, allowing for efficient storage of erasure code groups smaller than the optimal size, while maintaining data integrity and reducing network and metadata overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If distributed erasure coding is implemented in shared-nothing storage systems, then capacity overhead is reduced compared to replication, but system complexity and difficulty of implementation increase

Engineering Contradiction:
Improvestorage capacity overheadVSAvoidsystem implementation complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system segments the erasure coding functionality into independent components: data blocks are divided into chunks that can be independently encoded and distributed across different storage nodes. This segmentation allows the complex erasure coding operation to be broken down into manageable pieces that can be processed in parallel, reducing overall system complexity while maintaining the capacity efficiency benefits of erasure coding.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary abstraction layer that handles the complexity of erasure coding operations. This intermediary manages the encoding, decoding, and error correction processes, shielding the rest of the system from the inherent complexity of distributed erasure coding. The intermediary acts as a mediator between the storage nodes and the erasure coding algorithm, simplifying implementation while preserving the capacity overhead advantages.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If read-modify-write operations are performed in distributed erasure coding systems, then data updates can be made, but data corruption risks and operational complexity increase

Engineering Contradiction:
Improvedata update capabilityVSAvoiddata corruption risk
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary actions by pre-calculating and storing parity information before actual data modifications occur. When a read-modify-write operation is needed, the system has already prepared the necessary parity blocks in advance, allowing updates to proceed with reduced risk of data corruption. This preliminary preparation ensures that even if operations fail midway, data integrity is preserved.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms that continuously monitor the state of data blocks and parity information during read-modify-write operations. This feedback system detects potential corruption risks in real-time and can trigger corrective actions before data corruption occurs. The feedback loop provides system-wide visibility into operation status, enabling reliable updates while maintaining data integrity in the distributed erasure coding environment.

Inventive Principle:
Principle #23Feedback

3Speed

If specialized hardware is used for erasure coding operations, then processing speed and reliability improve, but cost and hardware requirements increase

Engineering Contradiction:
Improveerasure coding processing speedVSAvoidhardware cost
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent designs the storage nodes to perform multiple functions: they serve as both data storage devices and erasure coding processors. Each storage node can independently perform encoding, decoding, and error correction operations on its local data blocks without requiring specialized hardware. This multi-functionality allows commodity hardware to achieve processing speeds sufficient for distributed storage operations while avoiding the increased costs associated with specialized erasure coding hardware.

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

4Device complexity

If distributed replication is used instead of erasure coding, then implementation simplicity is maintained, but storage capacity overhead increases

Engineering Contradiction:
Improveimplementation simplicityVSAvoidstorage capacity overhead
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the erasure coding parameters (such as the ratio of data blocks to parity blocks) based on workload requirements and system conditions. By changing these parameters, the system can optimize the balance between capacity overhead and implementation complexity for different scenarios. This flexibility allows the system to achieve lower capacity overhead than fixed replication schemes while maintaining manageable complexity through adaptive parameter selection rather than rigid architectural constraints.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11171666B2Method for efficient erasure coded group management in shared nothing storage clusters
Publication Date: 2021.11.09 NOWOCZYNSKI PAUL JOSEPH
  • US11171666B2 patent drawing
  • US11171666B2 patent drawing
  • US11171666B2 patent drawing

AI summary

An improvement in erasure coded group management shared nothing storage clusters establishing an invariant which declares read-modify-writes will not be done by the system and implements a metadata distribution operation to provide fault tolerance.