Erasure Coded Data Rebuilding Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed storage systems face challenges in maintaining data integrity and availability due to data corruption or loss, especially when multiple storage units fail, as they lack efficient error correction and data reconstruction mechanisms.

Innovation Solution

A dispersed storage network (DSN) that employs error encoding using Cauchy Reed-Solomon encoding, distributing data into encoded slices stored across multiple geographically dispersed units, with a managing unit and integrity processing unit for error detection and rebuilding, ensuring data recovery and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is distributed across multiple storage units without redundant copies, then storage efficiency is improved, but data reliability deteriorates when storage units fail

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments data into multiple encoded slices using Cauchy Reed-Solomon encoding, distributing them across different storage units. This allows the system to store data efficiently without full redundant copies while maintaining reliability through mathematical encoding that enables reconstruction from any sufficient subset of slices.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of data representation by applying Cauchy Reed-Solomon encoding, transforming original data into encoded slices with specific mathematical properties. This encoding allows the system to achieve both storage efficiency and reliability by enabling data reconstruction from any k slices out of n total slices, where k < n.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If error correction encoding is applied to all data, then data integrity is improved, but processing time increases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies Cauchy Reed-Solomon encoding in advance during the data writing phase, so that error correction capabilities are already built into the stored slices. This preliminary action eliminates the need for time-consuming error correction processing during data retrieval, as the encoding is performed once during storage setup rather than repeatedly during access operations.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If multiple encoded slices are stored across dispersed units, then data security is improved, but reconstruction complexity increases when data needs to be recovered

Engineering Contradiction:
Improvedata securityVSAvoidreconstruction complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent incorporates integrity processing units that continuously monitor the health and accessibility of encoded slices across the distributed storage network. This feedback mechanism tracks which slices are available and their operational status, enabling the system to dynamically select the optimal set of slices for reconstruction and guiding the decoding process to minimize complexity by using only necessary slices.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11580076B1Prioritizing rebuilding erasure coded data in a storage network
Publication Date: 2023.02.14 PURE STORAGE INC
  • US11580076B1 patent drawing
  • US11580076B1 patent drawing
  • US11580076B1 patent drawing

AI summary

A method includes scanning, from plurality of sets of encoded data slices to plurality of sets of encoded data slices, to identify encoded data slices that are in need of rebuilding. The method further includes adding the identified encoded data slices into a first level rebuilding queue. The method further includes analyzing the identified encoded data slices based on a rebuilding prioritization function to establish a prioritization for the identified encoded data slices. The method further includes transferring, based on the analyzing, a first group of encoded data slices into a first priority rebuilding queue and a second group of encoded data slices into a second priority rebuilding queue. The method further includes rebuilding the first and second group of encoded data slices based on a rebuilding prioritization protocol.