Erasure-Coded Network Storage for Low-Overhead Data Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current erasure coding techniques in network storage systems face challenges in reducing network overhead and efficiently verifying data integrity, particularly with Vandermond Reed-Solomon codes, as they require significant computational resources and storage overhead, and existing solutions like Local Repairable Code (LRC) struggle to validate recovered data without incurring excessive network traffic or storage costs.

Innovation Solution

The implementation of a modified erasure coding scheme (k, r, p, m) that divides source data blocks into local and global parity blocks, allowing for efficient data recovery and verification by using local and global parity blocks to reconstruct data from corrupted blocks, reducing network overhead and storage requirements compared to traditional triple replication methods.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional triple replication is used to protect data integrity, then data reliability is improved, but storage overhead and cost increase prohibitively

Engineering Contradiction:
Improvedata integrityVSAvoidstorage overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The data is segmented into k source data blocks that are distributed across multiple nodes. Instead of replicating entire data sets three times, the system divides data into manageable blocks and uses erasure coding to generate parity blocks, reducing the total storage overhead while maintaining data integrity through distributed reconstruction capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system employs a composite protection mechanism combining local parity blocks (p) for quick local recovery and global parity blocks (m) for comprehensive data protection. This layered approach creates a hybrid erasure coding scheme (k, r, p, m) that optimizes both storage efficiency and data reliability by using different types of parity blocks for different recovery scenarios.

Inventive Principle:
Principle #40Composite materials

2Quantity of substance

If erasure coding schemes are implemented to reduce storage overhead, then storage efficiency is improved, but computational resources and complexity increase

Engineering Contradiction:
Improvestorage overheadVSAvoidcomputational complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The erasure coding process is segmented into local and global operations. Local parity blocks are computed from subsets of source data blocks within local groups, reducing the computational scope compared to global erasure coding. This segmentation allows parallel processing and reduces the complexity of individual computation tasks while maintaining overall system efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Parity blocks are pre-computed and stored alongside source data blocks during the initial data writing phase. This preliminary action eliminates the need for complex real-time computation during data recovery operations, as the system can directly retrieve and reconstruct data using the pre-existing parity blocks, significantly reducing operational computational complexity.

Inventive Principle:
Principle #10Preliminary action

3Loss of energy

If local repairable code is used to reduce network overhead, then network efficiency is improved, but data verification capability is compromised

Engineering Contradiction:
Improvenetwork overheadVSAvoiddata verification
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

Data blocks are organized into local groups with local parity blocks for efficient local recovery, reducing network traffic for common repair operations. Global parity blocks provide an additional layer that can be used for data verification by reconstructing data through different block combinations, ensuring integrity without requiring excessive network communication for verification purposes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system incorporates verification mechanisms that use global parity blocks to validate recovered data integrity. When data is recovered using local parity blocks, the system can cross-verify the recovered data by reconstructing it through global parity blocks, providing feedback confirmation that the data is correct without requiring additional network traffic to external nodes.

Inventive Principle:
Principle #23Feedback

4Reliability

If more parity blocks are added to enhance data protection, then data reliability is improved, but storage requirements and access overhead increase

Engineering Contradiction:
Improvedata protectionVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Parity blocks are segmented into local parity blocks (p) and global parity blocks (m) with different protection scopes. Local parity blocks protect data within local groups, requiring fewer blocks per group compared to full global protection. This segmentation allows the system to achieve adequate protection levels with fewer total parity blocks, reducing storage requirements while maintaining reliability for common failure scenarios.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different levels of protection are applied locally versus globally. Local parity blocks provide quick recovery for single-node failures within a local group, while global parity blocks provide broader protection. This local quality approach ensures that most common failures can be handled by lightweight local parity, reducing the overall number of parity blocks needed compared to uniform global protection schemes.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10698765B2Techniques to recover data in a network storage system
Publication Date: 2020.06.30 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US10698765B2 patent drawing
  • US10698765B2 patent drawing
  • US10698765B2 patent drawing

AI summary

Examples include techniques to recover data in a storage. In some examples, an erasure code may be implemented to protect a data file or data object stored to nodes of a networked storage system. Corrupted data included in source data blocks may be recovered and verified based on the erasure code.