IP Library Granted Patent US 10,530,861
Granted Patent B2
US 10,530,861 · App. 15/818,633 · Granted Jan 7, 2020

Utilizing multiple storage pools in a dispersed storage network

Inventors: Ethan S. Wozniak (Park Ridge, IL); Andrew D. Baptist (Mt. Pleasant, WI); Greg R. Dhuse (Chicago, IL); Ilya Volvovski (Chicago, IL); Jason K. Resch (Chicago, IL); Thomas D. Cocagne (Elk Grove Village, IL)
Assignee: PURE STORAGE, INC.
H04L67/1097G06F3/0604G06F3/0689G06F11/1092G06F3/064G06F3/067G06F3/0619
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,530,861
App. No.
15/818,633
Granted
Jan 7, 2020
Kind
B2
Abstract

A method for execution by a dispersed storage and task (DST) processing unit includes receiving data for storage. A storage approach for the data is determined based on the data. Storage of the data in a plurality of sets of storage units is facilitated in accordance with the storage approach. A determination is made to recover the data from storage, and a set of storage units is selected from the plurality of sets of storage units for recovery of the data. Recovery of the data from the selected set of storage units is facilitated.

Claims (61)

1. A method for execution by a storage processing unit that includes a processor, the method comprises:

receiving first data for storage;

determining a first storage approach for the first data based on the first data, wherein determining the first storage approach includes determining a number of sets of storage units for storage of the first data;

facilitating storage of the first data in a plurality of sets of storage units in accordance with the first storage approach, the plurality of sets of storage units corresponding to the number of sets of storage units;

determining to recover the first data from storage based on at least one of: receiving an access request that includes a read data request or detecting loss of the first data from at least one set of storage units of the plurality of sets of storage units;

selecting a selected set of storage units from the plurality of sets of storage units for recovery of the first data in accordance with one of: a high retrieval reliability approach or a low retrieval reliability approach; and

facilitating recovery of the first data from the selected set of storage units.

2. The method of claim 1 , and wherein a number of the plurality of sets of storage units is in accordance with the determined number of sets.

3. The method of claim 2 , further comprising:

receiving second data for storage;

determining a second storage approach for the second data based on the second data, wherein determining the second storage approach includes determining to store the second data in exactly one set of storage units, and wherein determining the second storage approach further includes selecting the one set of storage units; and

facilitating storage of the second data in the one set of storage units in accordance with the second storage approach.

4. The method of claim 3 , wherein a first set of the plurality of sets of storage units is in accordance with a first information dispersal algorithm (IDA) configuration, wherein a second set of the plurality of sets of storage units is in accordance with a second IDA configuration, wherein the first IDA configuration is wider than the second IDA configuration, and wherein the second set is selected for storage of the second data.

5. The method of claim 4 , further comprising:

comparing a first size of the first data to a small size threshold and comparing a second size of the second data to the small size threshold;

wherein the number of the plurality of sets of storage units for storage of the first data is determined to be greater than one in response to determining that the first size of the first data compares unfavorably to the small size threshold; and

wherein the second data is determined to be stored in the exactly one set of storage units in response to determining that the second size of the second data compares favorably to the small size threshold.

6. The method of claim 4 , further comprising:

comparing a first access frequency of the first data to an access frequency threshold and comparing a second access frequency of the second data to the access frequency threshold;

wherein the number of the plurality of sets of storage units for storage of the first data is determined to be greater than one in response to determining that the first access frequency of the first data compares unfavorably to the access frequency threshold; and

wherein the second data is determined to be stored in the exactly one set of storage units in response to determining that the second access frequency of the second data compares favorably to the access frequency threshold.

7. The method of claim 1 , wherein determining the first storage approach includes selecting a plurality of information dispersal algorithm (IDA) configurations, further comprising:

selecting the plurality of sets of storage units based on determining each of the plurality of sets of storage units are in accordance with a corresponding one of the plurality of IDA configurations.

8. The method of claim 7 , wherein the plurality of IDA configurations includes a first IDA configuration and a second IDA configuration, wherein the first IDA configuration is wider than the second IDA configuration, wherein a first set of the plurality of sets of storage units is in accordance with the first IDA configuration, and wherein a second set of the plurality of sets of storage units is in accordance with the second IDA configuration.

9. The method of claim 8 , further comprising:

selecting from one of: the high retrieval reliability approach and the low retrieval reliability approach in response to determining to recover the first data;

wherein the first set is selected for recovery of the first data when the high retrieval reliability approach is selected; and

wherein the second set is selected for recovery of the first data when the low retrieval reliability approach is selected.

10. The method of claim 9 , wherein the high retrieval reliability approach is selected in response to determining a size of the first data is larger than a large data size threshold level.

11. The method of claim 9 , wherein the high retrieval reliability approach is selected in response to determining that a time frame since a last retrieval is greater than a retrieval time frame threshold level.

12. The method of claim 9 , wherein the low retrieval reliability approach is selected in response to determining to maximize I/O operations per second.

13. A processing system of a dispersed storage processing unit 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:

receive first data for storage;

determine a first storage approach for the first data based on the first data, wherein determining the first storage approach includes determining a number of sets of storage units for storage of the first data;

facilitate storage of the first data in a plurality of sets of storage units in accordance with the first storage approach, the plurality of sets of storage units corresponding to the number of sets of storage units;

determine to recover the first data from storage based on at least one of: receiving an access request that includes a read data request or detecting loss of the first data from at least one set of storage units of the plurality of sets of storage units;

select a selected set of storage units from the plurality of sets of storage units for recovery of the first data in accordance with one of: a high retrieval reliability approach or a low retrieval reliability approach; and

facilitate recovery of the first data from the selected set of storage units.

14. The processing system of claim 13 , wherein a number of the plurality of sets of storage units is in accordance with the determined number of sets.

15. The processing system of claim 14 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

receive second data for storage;

determine a second storage approach for the second data based on the second data, wherein determining the second storage approach includes determining to store the second data in exactly one set of storage units, and wherein determining the second storage approach further includes selecting the one set of storage units; and

facilitate storage of the second data in the one set of storage units in accordance with the second storage approach.

16. The processing system of claim 15 , wherein a first set of the plurality of sets of storage units is in accordance with a first information dispersal algorithm (IDA) configuration, wherein a second set of the plurality of sets of storage units is in accordance with a second IDA configuration, wherein the first IDA configuration is wider than the second IDA configuration, and wherein the second set is selected for storage of the second data.

17. The processing system of claim 13 , wherein determining the first storage approach includes selecting a plurality of information dispersal algorithm (IDA) configurations, further comprising:

selecting the plurality of sets of storage units based on determining each of the plurality of sets of storage units are in accordance with a corresponding one of the plurality of IDA configurations.

18. The processing system of claim 17 , wherein the plurality of IDA configurations includes a first IDA configuration and a second IDA configuration, wherein the first IDA configuration is wider than the second IDA configuration, wherein a first set of the plurality of sets of storage units is in accordance with the first IDA configuration, and wherein a second set of the plurality of sets of storage units is in accordance with the second IDA configuration.

19. The processing system of claim 18 , further comprising:

selecting from one of: the high retrieval reliability approach and the low retrieval reliability approach in response to determining to recover the first data;

wherein the first set is selected for recovery of the first data when the high retrieval reliability approach is selected; and

wherein the second set is selected for recovery of the first data when the low retrieval reliability approach is selected.

20. 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 storage network that includes a processor and a memory, causes the processing system to:

receive first data for storage;

determine a first storage approach for the first data based on the first data, wherein determining the first storage approach includes determining a number of sets of storage units for storage of the first data;

facilitate storage of the first data in a plurality of sets of storage units in accordance with the first storage approach, the plurality of sets of storage units corresponding to the number of sets of storage units;

determine to recover the first data from storage based on at least one of: receiving an access request that includes a read data request or detecting loss of the first data from at least one set of storage units of the plurality of sets of storage units;

select a selected set of storage units from the plurality of sets of storage units for recovery of the first data in accordance with one of: a high retrieval reliability approach or a low retrieval reliability approach; and

facilitate recovery of the first data from the selected set of 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 Nov 21, 2017
From: WOZNIAK, ETHAN S.; BAPTIST, ANDREW D.; DHUSE, GREG R.; VOLVOVSKI, ILYA; RESCH, JASON K.; COCAGNE, THOMAS D.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044189/0485 →