Pre-fetching Data Segments in Dispersed Storage Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems face challenges with data integrity and security due to the failure of memory devices, particularly those using physical movement technologies, and the inefficiencies and security risks associated with redundant array of independent discs (RAID) solutions.

Innovation Solution

A distributed storage network system that employs error coding dispersal storage functions to partition and encode data into multiple slices, which are then stored across geographically diverse locations, ensuring data integrity and security through forward error correction and secure signature generation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored using conventional memory devices or RAID solutions, then data storage capacity is achieved, but data integrity and security deteriorate due to device failures and unauthorized access risks

Engineering Contradiction:
Improvedata integrityVSAvoidstorage system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides data into multiple data segments and further partitions each segment into multiple slices, which are then distributed across different storage devices. This segmentation approach ensures that no single device holds complete data, protecting against unauthorized access and failures while maintaining data integrity through distributed storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs pre-fetching of data segments by monitoring access patterns and proactively retrieving data segments before they are actually requested. This preliminary action reduces latency and improves data availability while maintaining system reliability through anticipatory data loading.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If redundant array of independent discs (RAID) is used to protect against disc failure, then data security improves, but storage capacity is reduced due to parity overhead

Engineering Contradiction:
Improvedata securityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of using traditional RAID parity blocks that reduce overall storage capacity, the patent segments data into multiple independent slices distributed across devices. This allows full utilization of storage capacity on each device while providing redundancy through distribution, eliminating the capacity penalty associated with RAID parity overhead.

Inventive Principle:
Principle #1Segmentation

3Productivity

If data is pre-fetched to improve access speed, then productivity increases, but data consumption rate may exceed DS unit response rate causing buffer overflow

Engineering Contradiction:
Improvedata access speedVSAvoidbuffer overflow risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The pre-fetch buffer management system dynamically adjusts buffer allocation and pre-fetching rates based on real-time monitoring of data consumption patterns and DS unit response rates. This dynamic adaptation ensures optimal data access speed while preventing buffer overflow by adjusting pre-fetch intensity to match actual system capacity and demand.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms that monitor data consumption rates and DS unit response rates, using this information to adjust pre-fetching behavior. When buffers approach capacity or response rates decrease, the system reduces pre-fetching intensity, preventing overflow while maintaining efficient data access when conditions permit.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8874990B2Pre-fetching data segments stored in a dispersed storage network
Publication Date: 2014.10.28 PURE STORAGE INC
  • US8874990B2 patent drawing
  • US8874990B2 patent drawing
  • US8874990B2 patent drawing

AI summary

A method begins by a processing module receiving a data segment retrieval request regarding a data segment, which is stored in a dispersed storage network (DSN) memory. The method continues with the processing module processing the data segment retrieval request, determining pre-fetch segment buffering information, and when the pre-fetch segment buffering information indicates pre-fetching one or more other data segments, generating one or more pre-fetch segment retrieval requests for the one or more other data segments, receiving, one or more sets of at least a decode threshold number of encoded data slices, decoding, in accordance with a dispersed storage error coding function, the one or more sets of at least a decode threshold number of encoded data slices to reproduce the one or more other data segments, and updating a pre-fetch segment buffer with the one or more other data segments.