Distributed Memory Selection for Encoded Slice Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed storage systems face challenges in efficiently storing and retrieving large data sets across multiple devices while ensuring data integrity and security, particularly in handling complex tasks and large data volumes.

Innovation Solution

The system employs a distributed computing architecture that encodes data into multiple slices and distributes them across geographically disparate storage units, using error correction techniques and secure encoding to ensure data integrity and availability, allowing for efficient storage and retrieval of large data sets and execution of complex tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is distributed across multiple storage devices, then data reliability and fault tolerance are improved, but system complexity increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments data into multiple slices and distributes them across different storage devices. Each slice is independently stored with error correction codes, allowing the system to recover from device failures. This segmentation approach improves reliability by ensuring data availability even when individual devices fail, while the modular nature of slice management helps control system complexity through standardized operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements error correction codes and redundancy mechanisms in advance before data loss can occur. By pre-configuring error correction capabilities and distributing redundant slices across multiple devices, the system cushions against potential failures. This beforehand cushioning approach maintains reliability without requiring complex real-time intervention systems when failures occur.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If error correction techniques are applied to encoded data slices, then data integrity is improved, but processing time increases

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

Solution Approach 1:

The patent applies error correction encoding to data slices during the initial storage process rather than during retrieval or verification. By performing the computationally intensive error correction encoding in advance during data ingestion, the system ensures data integrity is built into the stored slices without adding processing delays during read operations. This preliminary action allows fast retrieval while maintaining strong integrity guarantees.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If data is encoded into multiple slices and distributed across geographically disparate units, then fault tolerance against network issues is improved, but communication overhead increases

Engineering Contradiction:
Improvefault toleranceVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements local error correction capabilities within each geographically dispersed storage unit, allowing each location to independently verify and repair its local slices without constant communication with other sites. This local quality approach provides fault tolerance for network issues by enabling autonomous operation at each site, reducing communication overhead while maintaining the ability to recover from local failures.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11360852B1Selection of memory in a distributed data storage network
Publication Date: 2022.06.14 PURE STORAGE INC
  • US11360852B1 patent drawing
  • US11360852B1 patent drawing
  • US11360852B1 patent drawing

AI summary

Methods and apparatus for selection of memory devices in a distributed storage network. In an embodiment, a computing device receives a data object for storage and forwards the data object to a buffer for temporary storage, the buffer comprised of a first memory devices of a first memory type. A system level storage efficiency is determined for the data object based, at least in part, on a data attribute associated with the data object. Second memory devices, of a second memory type, are selected based on the system level storage efficiency preference, and compatible dispersed storage error encoding parameters for the data object are determined. The data object is encoded using the encoding parameters to generate a plurality of encoded data slices, which are provided to the second plurality of memory devices for storage. Further, system addressing information is generated based on an identifier associated with the data object.