IP Library Granted Patent US 10,437,515
Granted Patent B2
US 10,437,515 · App. 15/841,863 · Granted Oct 8, 2019

Selecting storage units in a dispersed storage network

Inventor: Jason K. Resch (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F3/0659G06F3/061G06F3/064G06F3/067G06F3/0619G06F3/0647G06F3/0653G06F3/0689G06F11/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,437,515
App. No.
15/841,863
Granted
Oct 8, 2019
Kind
B2
Abstract

A method for execution by a computing device of a dispersed storage network includes obtaining resource information for a subset of storage units of a storage unit pool. W available storage units of the storage unit pool are identified in response to receiving a store data request. W choose S combinations of selecting S number of storage units of the W available storage units are identified. A plurality of rating levels is calculated based on the resource information, where each of the plurality of rating levels are assigned to a corresponding combination of the W choose S combinations. One combination of the W choose S combinations is selected based on the plurality of rating levels. Storage of data of the store data request is facilitated utilizing the S number of storage units of the selected one combination.

Claims (50)

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

obtaining resource information for a subset of storage units of a storage unit pool;

identifying a set of available storage units of the storage unit pool in response to receiving a store data request, wherein the set of available storage unit includes exactly a first number of available storage units;

determining a second number, corresponding to the number of storage units to be included in a selected subset of the set of available storage units;

identifying a set of combinations of selecting the second number of storage units from the set of available storage units, wherein the set of combinations corresponds to all possible combinations of selecting exactly the second number of storage units from the set of available storage units, and wherein each combination of the set of combinations includes a unique subset of set of available storage units that includes exactly the second number of storage units;

calculating a plurality of rating levels based on the resource information, wherein each of the plurality of rating levels are assigned to a corresponding combination of the set of combinations;

selecting one combination of the set of combinations based on the plurality of rating levels as the selected subset of the set of available storage units; and

facilitating storage of data of the store data request utilizing the selected subset of the set of available storage units.

2. The method of claim 1 , wherein obtaining the resource information includes interpreting a performance log.

3. The method of claim 1 , wherein identifying the set of available storage units is based on the resource information.

4. The method of claim 1 , wherein calculating the plurality of rating levels is based on access performance metrics and storage availability metrics of the resource information.

5. The method of claim 1 , wherein selecting the one combination includes identifying a highest rated combination of the set of combinations.

6. The method of claim 1 , wherein selecting the one combination includes selecting from a plurality of highest rated combinations utilizing one of: a random selection or a round-robin selection.

7. The method of claim 1 , wherein facilitating storage of the data includes:

dispersed storage error encoding the data to produce at least one set of encoded data slices; and

storing the at least one set of encoded data slices in the selected subset of the set of available storage units.

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:

obtain resource information for a subset of storage units of a storage unit pool;

identify a set of available storage units of the storage unit pool in response to receiving a store data request, wherein the set of available storage unit includes a first number of available storage units;

determine a second number, corresponding to the number of storage units to be included in a selected subset of the set of available storage units;

identify a set of combinations of selecting the second number of storage units from the set of available storage units, wherein the set of combinations corresponds to all possible combinations of selecting exactly the second number of storage units from the set of available storage units, and wherein each combination of the set of combinations includes a unique subset of set of available storage units that includes exactly the second number of storage units;

calculate a plurality of rating levels based on the resource information, wherein each of the plurality of rating levels are assigned to a corresponding combination of the set of combinations;

select one combination of the set of combinations based on the plurality of rating levels as the selected subset of the set of available storage units; and

facilitate storage of data of the store data request utilizing the selected subset of the set of available storage units.

9. The processing system of claim 8 , wherein obtaining the resource information includes interpreting a performance log.

10. The processing system of claim 8 , wherein identifying the set of available storage units is based on the resource information.

11. The processing system of claim 8 , wherein calculating the plurality of rating levels is based on access performance metrics and storage availability metrics of the resource information.

12. The processing system of claim 8 , wherein selecting the one combination includes identifying a highest rated combination of the set of combinations.

13. The processing system of claim 8 , wherein selecting the one combination includes selecting from a plurality of highest rated combinations utilizing one of: a random selection or a round-robin selection.

14. The processing system of claim 8 , wherein facilitating storage of the data includes:

dispersed storage error encoding the data to produce at least one set of encoded data slices; and

storing the at least one set of encoded data slices in the selected subset of the set of available storage units.

15. A computer readable storage medium comprises:

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

obtain resource information for a subset of storage units of a storage unit pool;

identify a set of available storage units of the storage unit pool in response to receiving a store data request, wherein the set of available storage unit includes a first number of available storage units;

determine a second number, corresponding to the number of storage units to be included in a selected subset of the set of available storage units;

identify a set of combinations of selecting the second number of storage units from the set of available storage units, wherein the set of combinations corresponds to all possible combinations of selecting exactly the second number of storage units from the set of available storage units, and wherein each combination of the set of combinations includes a unique subset of set of available storage units that includes exactly the second number of storage units;

calculate a plurality of rating levels based on the resource information, wherein each of the plurality of rating levels are assigned to a corresponding combination of the set of combinations;

select one combination of the set of combinations based on the plurality of rating levels as the selected subset of the set of available storage units; and

facilitate storage of data of the store data request utilizing the selected subset of the set of available storage units.

16. The computer readable storage medium of claim 15 , wherein identifying the set of available storage units is based on the resource information.

17. The computer readable storage medium of claim 15 , wherein calculating the plurality of rating levels is based on access performance metrics and storage availability metrics of the resource information.

18. The computer readable storage medium of claim 15 , wherein selecting the one combination includes identifying a highest rated combination of the set of combinations.

19. The computer readable storage medium of claim 15 , wherein selecting the one combination includes selecting from a plurality of highest rated combinations utilizing one of: a random selection or a round-robin selection.

20. The computer readable storage medium of claim 15 , wherein facilitating storage of the data includes:

dispersed storage error encoding the data to produce at least one set of encoded data slices; and

storing the at least one set of encoded data slices in the selected subset of the set of available storage units.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
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 15, 2017
From: RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044407/0548 →
Continuity (4)
Continuation In Part 15837705 · Dec 11, 2017
Continuation In Part 15006735 · Jan 26, 2016
Provisional Application 62140861 · Mar 31, 2015
Related Publication 20180107427A1 · Apr 19, 2018