DS Processing Unit Slice Caching for Faster Remote Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems in dispersed networks face challenges in ensuring immediate and efficient access to data, as data is stored in remote locations, leading to slow service of data requests.

Innovation Solution

A dispersed storage network (DSN) with a managing unit, integrity processing unit, and computing devices that use error encoding techniques like Cauchy Reed-Solomon encoding to distribute data into encoded slices, allowing for efficient storage and retrieval across multiple geographically dispersed storage units, ensuring data availability and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored in remote locations throughout the data storage system, then data can be distributed across multiple storage units, but data access requests are slowly serviced

Engineering Contradiction:
Improvedata distributionVSAvoiddata access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system pre-caches encoded data slices in local memory before they are actually requested. The DS processing unit identifies frequently accessed slices and loads them into cache memory in advance, so when a read request arrives, the data can be served from local cache rather than fetching from remote storage units, thus resolving the contradiction between distributed storage reliability and fast access speed.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If encoded data slices are cached in the DS processing unit, then data retrieval performance is improved, but the memory of the DS processing unit is consumed

Engineering Contradiction:
Improvedata retrieval performanceVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

The system applies different caching strategies to different types of data slices based on their access patterns and characteristics. Frequently accessed slices are cached in full, while less frequently accessed slices use different storage strategies. This selective approach ensures that memory resources are allocated efficiently to the slices that provide the most performance benefit, resolving the contradiction between retrieval performance and memory consumption.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts caching parameters such as cache size allocations, eviction policies, and pre-fetching thresholds based on observed access patterns. By changing these parameters adaptively, the system optimizes the balance between keeping useful data in cache and managing limited memory resources, thus resolving the performance-memory consumption contradiction.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If a decode threshold number of encoded data slices are required to recover data, then data security and error tolerance are improved, but data access time increases

Engineering Contradiction:
Improveerror toleranceVSAvoiddata access time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-loads sufficient encoded data slices into cache memory to meet the decode threshold requirement before actual data requests are processed. By having the required number of slices already available in local cache, the system avoids the time penalty of fetching slices from remote storage units during decode operations, thus resolving the contradiction between error tolerance requirements and data access time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10073658B2Optimized caching of slices by a DS processing unit
Publication Date: 2018.09.11 PURE STORAGE INC
  • US10073658B2 patent drawing
  • US10073658B2 patent drawing
  • US10073658B2 patent drawing

AI summary

A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. A computing device receives a data access request involving a set of EDSs associated with a data object that are distributedly stored among storage units (SUs) including first SU(s) coupled via a local network of the DSN and second SU(s) remotely located to the computing device and coupled via an external network of the DSN. The computing device caches within the at least one memory therein a subset of EDSs stored within the second SU(s) remotely located to the computing device and coupled to the computing device via the external network.