Partial Generator Matrix Recovery for Low-I/O Erasure Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed systems require high storage redundancy for fault tolerance, leading to increased costs and inefficient I/O operations during data recovery, as they often need to read all valid and check blocks, resulting in high I/O consumption.

Innovation Solution

A method involving a partial generator matrix is used to generate check data for stored data, allowing only partial check and data blocks to be read during recovery, reducing I/O consumption by associating partial check data with specific partial data and irrelevant to other data, thus enabling efficient data recovery without relying on other data blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional RS method is used to generate check blocks for fault tolerance, then data reliability is improved, but I/O consumption during data recovery increases significantly

Engineering Contradiction:
Improvedata reliabilityVSAvoidI/O consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the generator matrix into multiple partial generator matrices, where each partial generator matrix corresponds to a specific data block. This segmentation enables the check blocks to be divided into partial check blocks, each associated with specific data blocks. During recovery, only the relevant partial check blocks need to be read, rather than all check blocks, thereby reducing I/O consumption while maintaining data reliability through the distributed redundancy structure.

Inventive Principle:
Principle #1Segmentation

2Reliability

If multiple copies of data blocks are stored for fault tolerance, then data reliability is improved, but storage cost increases

Engineering Contradiction:
Improvefault tolerance capabilityVSAvoidstorage redundancy
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent transforms the traditional copy-based redundancy approach into an encoding-based redundancy approach using Reed-Solomon codes. Instead of storing multiple identical copies of data blocks, the system encodes data blocks using the generator matrix to produce check blocks with controlled redundancy ratios. By adjusting the parameters of the generator matrix, the system can achieve the desired fault tolerance capability while optimizing storage redundancy to be significantly lower than traditional copying methods.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If all valid data blocks and check blocks are read during recovery, then data recovery accuracy is ensured, but I/O consumption increases

Engineering Contradiction:
Improvedata recovery accuracyVSAvoidI/O consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent extracts and stores mapping relationships between data blocks and their corresponding partial check blocks. During recovery operations, the system queries this mapping to identify only the specific partial check blocks needed for recovering the lost data block. This extraction approach ensures that the minimum necessary data is read to achieve accurate recovery, eliminating the need to read all valid data blocks and check blocks as required by traditional RS methods.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10754727B2Method and apparatus for storing data and method and apparatus for recovering data
Publication Date: 2020.08.25 BEIJING SANKUAI ONLINE TECH CO LTD
  • US10754727B2 patent drawing
  • US10754727B2 patent drawing
  • US10754727B2 patent drawing

AI summary

The present disclosure provides a method and an apparatus for storing data and a method and an apparatus for recovering data, where the method of recovering data may include: reading partial check data and partial data corresponding to to-be-recovered data from prestored data, where the partial check data is obtained by coding entire data of the to-be-stored data based on a partial generator matrix, the partial generator matrix is obtained by dividing a row of an entire generator matrix and rows of the partial generator matrix which are obtained by dividing include a zero element; and recovering the to-be-recovered data based on the read partial check data and partial data. The examples of the present disclosure can reduce read data volume during data recovery and further reduce I/O consumption substantially.