Dispersed Storage Network Throughput Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current dispersed storage networks face challenges in efficiently managing and storing data across multiple storage units while ensuring data integrity and security, particularly in the event of storage unit failures, without relying on redundant copies.

Innovation Solution

The implementation of a dispersed storage network that uses error encoding techniques, such as Cauchy Reed-Solomon encoding, to divide data into encoded slices, which are then distributed across multiple storage units, allowing for efficient storage and retrieval with a decode threshold that ensures data recovery even in the event of failures, and managing these slices based on unique ingest rates of each unit.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored using traditional redundancy methods with multiple copies, then data reliability is improved, but storage efficiency deteriorates due to wasted space

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

Solution Approach 1:

The patent segments data into multiple slices using error encoding (e.g., Cauchy Reed-Solomon encoding) where original data is divided into k slices and encoded into n total slices. This segmentation allows storage across multiple units without creating full redundant copies, resolving the contradiction between reliability and storage efficiency by using mathematical encoding instead of simple duplication.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of data representation from direct copying to encoded transformation. By applying error encoding algorithms, the system transforms original data into encoded slices where any k slices can reconstruct the original data. This parameter change enables achieving reliability without proportional increases in storage quantity.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If data is divided into many slices and distributed across storage units, then storage efficiency is improved, but system complexity deteriorates due to managing slice distribution and reconstruction

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

Solution Approach 1:

The patent implements self-service through automated slice management where the system automatically handles slice distribution, tracking, and reconstruction processes. The error encoding scheme inherently provides the mechanics for reconstruction without requiring complex external management, as the mathematical properties of the encoding enable automatic recovery when sufficient slices are available.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback mechanisms where the system monitors slice availability and automatically triggers reconstruction processes when needed. The slice ingest rate monitoring and threshold-based recovery mechanisms provide feedback loops that manage complexity by responding to system state changes rather than requiring constant manual intervention.

Inventive Principle:
Principle #23Feedback

3Productivity

If the system monitors and manages varying slice ingest rates of storage units, then network efficiency is improved, but operational complexity deteriorates

Engineering Contradiction:
Improvenetwork efficiencyVSAvoidoperational complexity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent applies dynamics by making the slice distribution process adaptive to varying storage unit performance. The system dynamically adjusts slice allocation based on monitored ingest rates, allowing faster units to receive more slices and slower units to receive fewer slices. This dynamic approach improves network efficiency while the automation reduces operational complexity through algorithmic decision-making.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent replaces manual mechanical management of slice distribution with automated computational mechanisms. Instead of manually configuring and monitoring each storage unit, the system uses software-based slice ingest rate monitoring and automatic threshold-based recovery processes, substituting mechanical operational complexity with computational automation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Reliability

If error encoding is used to protect against storage unit failures, then data security is improved, but processing time deteriorates due to encoding and decoding operations

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

Solution Approach 1:

The patent applies preliminary action by performing error encoding during the initial data storage process rather than during recovery operations. The encoding is done once when data is first written, creating encoded slices that are immediately ready for distribution. This preliminary encoding action reduces processing time during recovery since the decoding process can begin immediately when sufficient slices are available, without requiring real-time encoding operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10104168B2Method for managing throughput in a distributed storage network
Publication Date: 2018.10.16 PURE STORAGE INC
  • US10104168B2 patent drawing
  • US10104168B2 patent drawing
  • US10104168B2 patent drawing

AI summary

A method for managing throughput in a distributed storage network includes encoding data to produce a plurality of sets of encoded data slices. According to the method, one or more write slice requests are generated corresponding to one or more sets of encoded data slices, and write slice requests are then output to a set of distributed storage and task execution units. For each distributed storage and task execution unit, a data ingest rate is generated and a write threshold number of distributed storage and task execution units is determined. A transmit data rate is determined and write slice requests are determined, followed by the generation write slice requests to the distributed storage and task execution units. A write threshold number of write slice requests is then input to the distributed storage and task execution units.