IP Library Patent Application 12777850
Patent Application
App. No. 12/777,850

DISTRIBUTED STORAGE NETWORK INCLUDING MEMORY DIVERSITY

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
12/777,850
Abstract

A distributed storage processing unit can generate data slices and determine metadata for each of the data slices. The metadata includes information that can be used to determine storage diversity preferences, which can include requirements that data slices generated from a common data segment each be stored in memories of the same (or different) type and model, memories with the same (or different) failure rates, memories having fast read (or write) characteristics, and so on. Decisions about which memory units to use for storing data slices can be made based on how closely the characteristics of the memories match the storage diversity preferences. The decision can be made at a distributed storage processing unit that generates the data slices, at a distributed storage unit receiving the data slices for storage, or elsewhere.

Claims (50)

1 . A method comprising:

generating a plurality of data slices in a distributed storage processing unit;

determining metadata associated with the plurality of data slices, the metadata including information that can be used to determine storage diversity preferences;

determining characteristics of a plurality of storage units included in a distributed storage network;

selecting particular storage units of the plurality of storage units based on a favorable match between the storage diversity preferences and the characteristics of the particular storage units; and

delivering the plurality of data slices to the particular storage units.

2 . The method of claim 1 , wherein selecting particular storage units further comprising:

identifying candidate storage units having characteristics that favorably match different storage diversity preferences;

sorting the candidate storage units based on the different storage diversity preferences; and

selecting particular candidate storage units based on a favorable match of the different storage diversity preferences.

3 . The method of claim 1 , wherein the storage diversity preferences include similarity and difference requirements.

4 . The method of claim 1 , wherein the storage diversity preferences include a requirement that a stripe used to store data slices associated with a common data segment include no more than a threshold number of memories of the same model.

5 . The method of claim 1 , wherein the metadata includes an indication that the plurality of data slices should be stored in storage units selected to optimize frequent access of stored data.

6 . The method of claim 1 , wherein the metadata includes an indication that the plurality of data slices should be stored in storage units selected to optimize failure rates.

7 . A method comprising:

receiving a data slice to be stored in one of a plurality of memories at a dispersed storage unit;

obtaining metadata associated with the plurality data slice, the metadata including an indication of storage diversity preferences;

determining characteristics of the plurality of memories;

selecting particular memories of the plurality of memories based on a favorable match between the storage diversity preferences and the characteristics of the particular memories; and

storing the data slices to the particular memory.

8 . The method of claim 7 , wherein selecting particular memories further comprising:

identifying candidate memories having characteristics that favorably match storage different diversity preferences;

sorting the candidate memories based on the storage different diversity preferences; and

selecting particular candidate memories based on a favorable match of the storage different diversity preferences.

9 . The method of claim 7 , wherein the storage diversity preferences include similarity and difference requirements.

10 . The method of claim 7 , wherein the metadata includes an indication that the plurality of data slices should be stored in memories optimized for cost.

11 . The method of claim 7 , wherein the metadata includes an indication that the plurality of data slices should be stored in storage units optimized for capacity.

12 . A dispersed storage processing unit comprising:

a processor to generate a plurality of data slices, each of the plurality of data slices including metadata;

the processor further to select candidate storage units based on a correlation between the metadata and characteristics of the candidate storage units; and

a communications interface to deliver the plurality of data slices to the candidate storage units.

13 . The dispersed storage processing unit of claim 12 , wherein the processor is further to:

identify a plurality of candidate storage units having a plurality of characteristics;

sort the plurality of candidate storage units based on the plurality of characteristics; and

select particular candidate storage units based on a favorable correlation of the metadata and the plurality of characteristics of the plurality of candidate storage units.

14 . The dispersed storage processing unit of claim 12 , wherein the metadata includes information used to determine storage unit similarity and difference requirements.

15 . The dispersed storage processing unit of claim 12 , wherein the dispersed storage processing unit ensures that a read threshold number of data slices are delivered to storage units employing different types of memories.

16 . The dispersed storage processing unit of claim 12 , wherein the metadata includes an indication that the plurality of data slices should be stored in storage units optimized for location diversity.

17 . A dispersed storage unit comprising:

a communications interface to receive a data slice for storage, the data slice including metadata;

a plurality of memory units;

a processor to select at least one of the memory units to store the data slice, the selection based on a correlation between the metadata and characteristics of the plurality of memory units;

the processor further to direct the data slices to the at least of the memory units to be stored.

18 . The dispersed storage unit of claim 17 , wherein the processor is further to:

identify a plurality of candidate memory units having a plurality of characteristics;

sort the plurality of candidate memory units based on the plurality of characteristics; and

select particular candidate memory units based on a favorable correlation of the metadata and the plurality of characteristics of the plurality of candidate memory units.

19 . The dispersed storage unit of claim 17 , wherein the metadata includes information used to determine memory unit similarity and difference requirements.

20 . The dispersed storage unit of claim 17 , wherein the metadata includes an indication that the data slice is to be stored in a memory unit selected to meet access speed requirements.

21 . The dispersed storage unit of claim 17 , wherein the metadata includes an indication that the data slice is to be stored in a memory unit selected based on a reliability requirement.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2010
From: RESCH, JASON K.; GLADWIN, S. CHRISTOPHER
To: CLEVERSAFE, INC.
Reel/Frame 024368/0484 →