IP Library Granted Patent US 11,616,653
Granted Patent B2
US 11,616,653 · App. 17/738,244 · Granted Mar 28, 2023

Storing error-encoded data slices in vast network based on storage requirements and parameters

Inventors: Jason K. Resch (Warwick, RI); Greg R. Dhuse (Chicago, IL)
Assignee: Pure Storage, Inc.
H04L9/3263H04L9/0825H04L9/3247H04L67/1097
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 11,616,653
App. No.
17/738,244
Granted
Mar 28, 2023
Kind
B2
Abstract

A method for use in a distributed storage network includes determining storage parameters associated with error-encoded data slices generated from data to be stored in the distributed storage network. The storage parameters include information indicating a read threshold number of error-encoded data slices required to recover the data. Storage requirements of a storage unit included in the distributed storage network are also determined. The storage unit includes multiple memory devices configured to store one or more error-encoded data slices of the read threshold number of error-encoded data slices. A number of the one or more error-encoded data slices are stored in the storage unit based on the storage requirements of the storage unit and the storage parameters.

Claims (49)

1. A method for use in a distributed storage network, the method comprising:

determining storage parameters associated with error-encoded data slices generated from data to be stored in the distributed storage network, wherein the storage parameters include information indicating a read threshold number of error-encoded data slices required to recover the data;

determining storage requirements of a storage unit included in the distributed storage network, wherein the storage unit includes a plurality of memory devices configured to store one or more error-encoded data slices of the read threshold number of error-encoded data slices; and

storing a number of the one or more error-encoded data slices in the storage unit based on the storage requirements of the storage unit and the storage parameters.

2. The method of claim 1 , wherein determining the storage requirements of the storage unit includes:

identifying potential memory device failures.

3. The method of claim 2 , wherein identifying potential memory device failures includes:

determining a failure rate associated with the storage unit.

4. The method of claim 1 , wherein determining the storage requirements of the storage unit includes:

determining a capacity of the storage unit.

5. The method of claim 1 , further comprising:

determining a performance level associated with the storage unit.

6. The method of claim 1 , further comprising:

selecting a number of memory devices for storing error-encoded data slices based on the storage requirements of the storage unit.

7. The method of claim 1 , wherein determining storage requirement of the storage unit includes:

determining a status of an availability indicator associated with the storage unit.

8. A method for use in a distributed storage network, the method comprising:

determining storage parameters associated with error-encoded data slices generated from data to be stored in the distributed storage network, wherein the storage parameters include information indicating a read threshold number of the error-encoded data slices required to recover the data;

determining storage requirements of a storage unit included in the distributed storage network, wherein the storage unit includes a plurality of memory devices configured to store one or more error-encoded data slices of the read threshold number of error-encoded data slices;

identifying, based on the storage parameters and the storage requirements of the storage unit, selected memory devices to be used for storing the one or more error-encoded data slices; and

storing the one or more error-encoded data slices in the selected memory devices.

9. The method of claim 8 , wherein determining the storage requirements of the storage unit includes:

identifying potential memory device failures.

10. The method of claim 9 , wherein identifying potential memory device failures includes:

determining a predicted failure rate associated with the storage unit.

11. The method of claim 10 , wherein identifying selected memory devices includes:

selecting a number of memory devices to be used for storing error-encoded data slices based on the read threshold number of the error-encoded data slices required to recover the data and the predicted failure rate associated with the storage unit.

12. The method of claim 8 , wherein determining the storage requirements of the storage unit includes:

determining a capacity of the storage unit.

13. The method of claim 8 , further comprising:

determining a performance level associated with the storage unit; and

selecting devices to use for storing error-encoded data slices based on the performance level of the storage unit.

14. The method of claim 8 , wherein determining storage requirement of the storage unit includes:

determining a status of an availability indicator associated with the storage unit.

15. A distributed storage network comprising:

at least one processor configured to determine storage parameters associated with error-encoded data slices generated from data to be stored in the distributed storage network, wherein the storage parameters include information indicating a read threshold number of the error-encoded data slices required to recover the data;

a storage unit including a plurality of memory devices configured to store one or more error-encoded data slices of the read threshold number of error-encoded data slices;

the at least one processor further configured to determine storage requirements of the storage unit; and

the storage unit configured to store a number of the one or more error-encoded data slices in at least some of the memory devices based on the storage requirements of the storage unit and the storage parameters.

16. The distributed storage network of claim 15 , wherein:

the at least one processor is further configured to identify potential memory device failures.

17. The distributed storage network of claim 16 , wherein:

the at least one processor is further configured to identify potential memory device failures based at least in part on a failure rate associated with the storage unit.

18. The distributed storage network of claim 15 , wherein:

the at least one processor is further configured to determine a capacity of the storage unit.

19. The distributed storage network of claim 15 , wherein the at least one processor is further configured to:

determine a performance level associated with the storage unit.

20. The distributed storage network of claim 15 , wherein the at least one processor is further configured to:

select a number of memory devices to use for storing error-encoded data slices based on the storage requirements of the storage unit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2022
From: RESCH, JASON K.; DHUSE, GREG R.
To: PURE STORAGE, INC.
Reel/Frame 059867/0414 →
Continuity (5)
Continuation 16686492 · Nov 18, 2019
Continuation In Part 16142479 · Sep 26, 2018
Continuation In Part 13611533 · Sep 12, 2012
Provisional Application 61554358 · Nov 1, 2011
Related Publication 20220263666A1 · Aug 18, 2022