Dynamic Erasure Coding Redundancy for Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems using erasure coding, data migration and backward migration due to faulty nodes significantly impact performance, as they require extensive data redistribution and new node addition, leading to performance bottlenecks.

Innovation Solution

A data storage method that dynamically adjusts the EC redundancy ratio by allowing the storage client to generate fewer EC blocks and parity blocks based on available non-faulty nodes, excluding faulty nodes from data storage and avoiding unnecessary data migration, thereby reducing the number of generated blocks and improving system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data migration and backward migration are performed to replace faulty storage nodes, then storage reliability is maintained, but system performance deteriorates due to extensive data redistribution

Engineering Contradiction:
Improvestorage reliabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent dynamically adjusts the EC redundancy ratio based on the number of available non-faulty storage nodes. When faulty nodes are detected, the system reduces the redundancy ratio from the original N+M configuration to match the current number of available nodes, eliminating the need for data migration while maintaining storage reliability through adaptive parameter adjustment.

Inventive Principle:
Principle #15Dynamics

2Reliability

If new storage nodes are added to replace faulty nodes, then storage reliability is improved, but device complexity increases due to node addition and data redistribution

Engineering Contradiction:
Improvestorage reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the redundancy ratio parameter dynamically based on the actual number of available storage nodes. Instead of adding new nodes or performing complex data migration, the system adjusts the EC coding parameters (N and M values) to match the current cluster size, thereby maintaining reliability without increasing device complexity.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If full EC stripe with N+M blocks is generated, then data persistence is ensured, but loss of time increases due to generating and storing additional parity blocks

Engineering Contradiction:
Improvedata persistenceVSAvoiddata storage time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial EC encoding by generating only the necessary number of EC blocks and parity blocks based on the current number of available storage nodes, rather than always generating the full N+M blocks. This reduces the time required for data storage while maintaining sufficient redundancy for data persistence through dynamic parameter adjustment.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11487618B2Data storage method, apparatus, and system
Publication Date: 2022.11.01 HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
  • US11487618B2 patent drawing
  • US11487618B2 patent drawing
  • US11487618B2 patent drawing

AI summary

A storage client needs to store to-be-written data into a distributed storage system, and storage nodes corresponding to a first data unit assigned for the to-be-written data by a management server are only some nodes in a storage node group. When receiving a status of the first data unit returned by the management server, the storage client may determine quantities of data blocks and parity blocks needing to be generated during EC coding on the to-be-written data. The storage client stores the generated data blocks and parity blocks into some storage nodes designated by the management server in a partition where the first data unit is located. Accordingly, dynamic adjustment of an EC redundancy ratio is implemented, and the management server may exclude some nodes in the partition from a storage range of the to-be-written data based on a requirement, thereby reducing a data storage IO amount.