Distributed Storage Range Requests Using Encoded Slice Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed storage systems face challenges in efficiently encoding and decoding data across multiple storage units while maintaining data integrity and security, particularly in scenarios with storage unit failures or data corruption.

Innovation Solution

The implementation of a dispersed storage network (DSN) that uses error encoding techniques like Cauchy Reed-Solomon encoding to divide data into encoded data slices, which are then distributed across multiple storage units, allowing for robust data recovery and secure storage without the need for redundant copies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored using traditional redundancy methods (RAID), then data availability is improved, but storage efficiency deteriorates due to wasted space on duplicate copies

Engineering Contradiction:
Improvedata availabilityVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments data into multiple encoded slices using error correction coding (e.g., Reed-Solomon, Cauchy Reed-Solomon). Instead of storing complete redundant copies, the system divides data into N slices where only K slices are needed for reconstruction, achieving both reliability and storage efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the storage parameter from storing complete data copies to storing encoded data slices with specific redundancy ratios. By adjusting the (N, K) parameters of the error correction code, the system can optimize between reliability and storage efficiency dynamically.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If data is divided into many encoded slices distributed across storage units, then fault tolerance is improved, but system complexity increases

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

Solution Approach 1:

The patent creates a universal encoded storage system where the same error correction coding framework handles multiple functions: data distribution, fault tolerance, and data reconstruction. This multi-functional approach reduces overall system complexity compared to separate mechanisms for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent uses mathematical copying through error correction codes to create redundant information in an efficient manner. Instead of physical copying of data blocks, the system generates encoded slices that contain redundant information, allowing reconstruction without storing actual duplicate copies.

Inventive Principle:
Principle #26Copying

3Reliability

If all encoded data slices are retrieved for decoding, then data integrity is ensured, but retrieval time increases

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

Solution Approach 1:

The patent applies partial action by retrieving only the necessary K slices out of N total slices for data reconstruction. The system doesn't require all slices to be retrieved, only the minimum threshold K, which reduces retrieval time while maintaining data integrity through error correction capabilities.

Inventive Principle:
Principle #16Partial or excessive action

4Reliability

If error correction encoding is applied to all data, then data security is improved, but processing overhead increases

Engineering Contradiction:
Improvedata securityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing error correction encoding during the initial data storage phase. Once data is encoded and stored as slices, no additional processing is needed during retrieval or verification, reducing ongoing processing overhead while maintaining data security and integrity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11818089B1Processing requests for a data range within a data object in a distributed storage system
Publication Date: 2023.11.14 PURE STORAGE INC
  • US11818089B1 patent drawing
  • US11818089B1 patent drawing
  • US11818089B1 patent drawing

AI summary

A method for execution in a storage network includes receiving a request pertaining to a data object, where the request is related to a specified contiguous data range within the data object and the data object is dispersed error encoded to produce a plurality of groups of encoded data slices. The method continues by converting the request into a plurality of partial requests, where each partial request of the plurality of partial requests includes at least one partial task and transmitting each partial request of the plurality of partial requests to a storage unit of a set of storage units. The method then continues by determining when a partial request response has been received for each partial request of the plurality of partial requests and when a partial request response has been received for each partial request of the plurality of partial requests, transmitting an indication that the request pertaining to the data object has been successfully executed.