Encoded Data Slice Integrity Checks in Dispersed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current dispersed storage networks face challenges in ensuring the integrity and reliability of encoded data slices, particularly in maintaining data integrity across multiple storage units and recovering from errors or missing data slices without loss of data.

Innovation Solution

The implementation of a dispersed storage network with an integrity processing unit that calculates and verifies integrity check values for encoded data slices, using Cauchy Reed-Solomon encoding and decoding functions, and manages the storage and retrieval of encoded data slices across multiple storage units to ensure data integrity and fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dispersed storage error encoding is used to distribute data across multiple storage units, then data reliability and fault tolerance are improved, but the complexity of verifying data integrity across distributed units increases

Engineering Contradiction:
Improvedata integrityVSAvoidintegrity verification complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by calculating integrity check values (ICVs) for encoded data slices at the time of encoding, before the actual storage operation. These ICVs are embedded within the encoded data slices themselves, allowing storage units to verify integrity without requiring complex cross-unit verification protocols. The ICV is computed as a function of the encoded data slice content, enabling self-verification at each storage unit independently.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism by using integrity check values as a mediator between the encoded data slices and the verification process. Rather than directly comparing data across storage units, the ICV serves as an intermediate verification token that simplifies the integrity check. The ICV is calculated using a hash function or checksum algorithm on the encoded data slice, creating a compact representation that can be efficiently verified without handling the full data payload.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple integrity check values are calculated and stored for each encoded data slice, then data verification capability is improved, but storage overhead and system resource consumption increase

Engineering Contradiction:
Improvedata verification capabilityVSAvoidstorage overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies partial action by calculating and storing only a single integrity check value for each encoded data slice, rather than multiple ICVs. This single ICV is sufficient to verify the integrity of the corresponding encoded data slice when retrieved from storage. The approach avoids the overhead of storing redundant ICVs while maintaining adequate verification capability for the dispersed storage system's fault tolerance requirements.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If Cauchy Reed-Solomon encoding is used to encode data segments into multiple encoded data slices, then fault tolerance and data recovery capability are improved, but the computational complexity of encoding and decoding operations increases

Engineering Contradiction:
Improvefault toleranceVSAvoidencoding complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the original data into multiple data segments, where each data segment is then independently encoded into multiple encoded data slices using Cauchy Reed-Solomon encoding. This segmentation approach allows the system to achieve fault tolerance at the segment level, where losing some slices from one segment does not compromise the entire dataset. Each segment can be independently recovered if enough slices are available, reducing the computational burden compared to encoding the entire dataset as a single unit.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10440107B2Protecting encoded data slice integrity at various levels
Publication Date: 2019.10.08 PURE STORAGE INC
  • US10440107B2 patent drawing
  • US10440107B2 patent drawing
  • US10440107B2 patent drawing

AI summary

A method for execution within a dispersed storage network (DSN), where the method begins by calculating, utilizing a first integrity check value function, an integrity check value of a first type for each encoded data slice of a set of encoded data slices to produce a corresponding set of integrity check values. The method continues by issuing, via a network, one or more sets of write slice requests 1-n to a set of storage units 1-n within the DSN, where the one or more sets of write slice requests include a plurality of sets of the encoded data slices and a corresponding plurality of sets of the integrity check values. The method continues, when verifying integrity of a received encoded data slice, by a storage unit calculating, utilizing a second integrity check value function, an integrity check value of a second type for the encoded data slice.