IP Library Granted Patent US 10,915,261
Granted Patent B2
US 10,915,261 · App. 15/843,804 · Granted Feb 9, 2021

Selecting a set of storage units in a distributed storage network

Inventors: Andrew D. Baptist (Mt. Pleasant, WI); Greg R. Dhuse (Chicago, IL); Wesley B. Leggette (Chicago, IL); Jason K. Resch (Chicago, IL); Ilya Volvovski (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F3/0644G06F3/064G06F3/067G06F3/0619G06F11/1076
View Patent ↗
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 10,915,261
App. No.
15/843,804
Granted
Feb 9, 2021
Kind
B2
Abstract

A method for execution by a computing device of a dispersed storage network includes identifying a DSN address for data to be accessed within a DSN. A plurality of storage cohorts associated with the data to be accessed are identified. Ranked scoring information for each storage cohort obtaining ranked scoring information for each storage cohort of the plurality of storage cohorts with regards to the data to be accessed is obtained. A storage cohort of the plurality of storage cohorts is selected based on the ranked scoring information. Slice access requests are issued to a set of storage units of the selected storage cohort for the data to be accessed. Slice access responses received from at least one of the set of storage units of the selected storage cohort are processed.

Claims (42)

1. A method for execution by a computing device that includes a processor, the method comprises:

identifying a distributed storage network (DSN) identifier for data to be accessed within a DSN;

identifying a plurality of storage cohorts associated with the data to be accessed;

issuing a ranked scoring information request that includes the DSN identifier for the data and identifiers of the plurality of storage cohorts;

obtaining ranked scoring information for each storage cohort of the plurality of storage cohorts with regards to the data to be accessed, wherein the ranked scoring information is obtained based on the ranked scoring information request;

selecting exactly one selected storage cohort of the plurality of storage cohorts based on the ranked scoring information;

issuing a plurality of slice access requests to a set of storage units of the exactly one selected storage cohort for the data to be accessed; and

processing a plurality of received slice access responses from multiple ones of the set of storage units of the exactly one selected storage cohort.

2. The method of claim 1 , wherein the data to be accessed was distributed storage error encoded to produce a set of encoded data slices for storage in the plurality of storage cohorts prior to issuing the slice access requests to the set of storage units of the exactly one selected storage cohort for the data to be accessed, and wherein the received slice access responses include at least one encoded data slice of the set of encoded data slices.

3. The method of claim 1 , wherein identifying the plurality of storage cohorts associated with the data to be accessed includes interpreting system registry information based on a storage generation associated with the DSN identifier for the data.

4. The method of claim 1 , wherein obtaining the ranked scoring information includes performing a distributed agreement protocol function for a DSN address range utilizing a location weight of the each storage cohort to produce a score for the each storage cohort to be ranked in the ranked scoring information.

5. The method of claim 1 , wherein the exactly one selected storage cohort is associated with a highest score of the ranked scoring information.

6. The method of claim 1 , wherein issuing the slice access requests includes generating and sending the slice access requests to the set of storage units of the exactly one selected storage cohort.

7. The method of claim 1 , wherein the slice access requests are read slice requests, and wherein processing the received slice access responses includes distributed storage error decoding received encoded data slices of the received slice access responses to reproduce the data.

8. A processing system of a computing device comprises:

at least one processor;

a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to:

identify a distributed storage network (DSN) identifier for data to be accessed within a DSN;

identify a plurality of storage cohorts associated with the data to be accessed;

issue a ranked scoring information request that includes the DSN identifier for the data and identifiers of the plurality of storage cohorts;

obtain ranked scoring information for each storage cohort of the plurality of storage cohorts with regards to the data to be accessed, wherein the ranked scoring information is obtained based on the ranked scoring information request;

select exactly one selected storage cohort of the plurality of storage cohorts based on the ranked scoring information;

issue slice access requests to a set of storage units of the exactly one selected storage cohort for the data to be accessed; and

process received slice access responses from multiple ones of the set of storage units of the exactly one selected storage cohort.

9. The processing system of claim 8 , wherein the data to be accessed was distributed storage error encoded to produce a set of encoded data slices for storage in the plurality of storage cohorts prior to issuing the slice access requests to the set of storage units of the exactly one selected storage cohort for the data to be accessed, and wherein the received slice access responses include at least one encoded data slice of the set of encoded data slices.

10. The processing system of claim 8 , wherein identifying the plurality of storage cohorts associated with the data to be accessed includes interpreting system registry information based on a storage generation associated with the DSN identifier for the data.

11. The processing system of claim 8 , wherein obtaining the ranked scoring information includes performing a distributed agreement protocol function for a DSN address range utilizing a location weight of the each storage cohort to produce a score for the each storage cohort to be ranked in the ranked scoring information.

12. The processing system of claim 8 , wherein the exactly one selected storage cohort is associated with a highest score of the ranked scoring information.

13. The processing system of claim 8 , wherein issuing the slice access requests includes generating and sending the slice access requests to the set of storage units of the exactly one selected storage cohort.

14. The processing system of claim 8 , wherein the slice access requests are read slice requests, and wherein processing the received slice access responses includes distributed storage error decoding received encoded data slices of the received slice access responses to reproduce the data.

15. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by a processing system of a distributed storage network (DSN) that includes a processor and a memory, causes the processing system to:

identify a DSN identifier for data to be accessed within a DSN;

identify a plurality of storage cohorts associated with the data to be accessed;

issue a ranked scoring information request that includes the DSN identifier for the data and identifiers of the plurality of storage cohorts;

obtain ranked scoring information for each storage cohort of the plurality of storage cohorts with regards to the data to be accessed, wherein the ranked scoring information is obtained based on the ranked scoring information request;

select exactly one selected storage cohort of the plurality of storage cohorts based on the ranked scoring information;

issue slice access requests to a set of storage units of the exactly one selected storage cohort for the data to be accessed; and

process received slice access responses from multiple ones of the set of storage units of the exactly one selected storage cohort.

16. The non-transitory computer readable storage medium of claim 15 , wherein the data to be accessed was distributed storage error encoded to produce a set of encoded data slices for storage in the plurality of storage cohorts prior to issuing the slice access requests to the set of storage units of the exactly one selected storage cohort for the data to be accessed, and wherein the received slice access responses include at least one encoded data slice of the set of encoded data slices.

17. The non-transitory computer readable storage medium of claim 15 , wherein obtaining the ranked scoring information includes performing a distributed agreement protocol function for a DSN address range utilizing a location weight of the each storage cohort to produce a score for the each storage cohort to be ranked in the ranked scoring information.

18. The non-transitory computer readable storage medium of claim 15 , wherein the exactly one selected storage cohort is associated with a highest score of the ranked scoring information.

Assignments (3)
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 Dec 17, 2017
From: BAPTIST, ANDREW D.; DHUSE, GREG R.; LEGGETTE, WESLEY B.; RESCH, JASON K.; VOLVOVSKI, ILYA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044415/0418 →