IP Library Granted Patent US 9,594,507
Granted Patent B2
US 9,594,507 · App. 14/451,911 · Granted Mar 14, 2017

Dispersed storage system with vault updating and methods for use therewith

Inventor: S. Christopher Gladwin (Chicago, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F3/0604G06F3/067G06F3/0611G06F3/0647G06F3/0655G06F3/0665G06F3/0689G06F9/4881G06F11/1076G06F12/1458G06F21/31G06F21/6272H04L67/1002H04L67/1095H04L67/1097H04L67/145G06F2003/0698G06F2212/1052G06F2212/154G06F2221/2149
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 9,594,507
App. No.
14/451,911
Granted
Mar 14, 2017
Kind
B2
Abstract

A method for execution by one or more processing modules of a dispersed storage network (DSN) includes storing a set of encoded data slices in an original plurality of storage units of the DSN associated as a current generation of a storage vault. The method determines whether utilization of the original plurality of storage units is greater than a utilization threshold. When the utilization of the original plurality of storage units is greater than the utilization threshold, the original plurality of storage units are updated to include at least one additional storage unit and a proper subset of the original plurality of storage units associated as the current generation of a storage vault to generate an updated plurality of storage units associated as a next generation of the storage vault. The set of encoded data slices are stored in the updated plurality of storage units of the DSN associated as the next generation of the storage vault.

Claims (34)

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:

distributedly storing a set of encoded data slices in an original plurality of storage units of the DSN associated as a current generation of a storage vault based on a current generation mapping of the set of encoded data slices that specifies the original plurality of storage units of the DSN, wherein the original plurality of storage units of the DSN includes a width dispersal parameter of a dispersed storage error encoding function by which the set of encoded data slices is generated;

determining whether utilization of the original plurality of storage units is greater than a utilization threshold;

when the utilization of the original plurality of storage units is greater than the utilization threshold, updating the original plurality of storage units to include at least one additional storage unit and a proper subset of the original plurality of storage units associated with the current generation of the storage vault to generate an updated plurality of storage units associated with a next generation of the storage vault, wherein the updated plurality of storage units includes more than a width dispersal parameter number of storage units; and

distributedly storing the set of encoded data slices in the updated plurality of storage units of the DSN associated as the next generation of the storage vault based on a next generation mapping of the set of encoded data slices that specifies the width dispersal parameter number of storage units of the updated plurality of storage units that includes the at least one additional storage unit and excludes at least one of the original plurality of storage units of the DSN.

2. The method of claim 1 wherein the original plurality of storage units include N storage units wherein N is an integer greater than 2 and wherein N−1 of the original plurality of storage units are included in the updated plurality of storage units.

3. The method of claim 2 wherein N corresponds to a write threshold number of encoded data slices for a data segment stored in the DSN in at least one of the set of encoded data slices.

4. The method of claim 1 wherein the original plurality of storage units are associated with the current generation of the storage vault via a table.

5. The method of claim 1 wherein determining whether utilization of the original plurality of storage units is greater than the utilization threshold includes determining whether utilization of any one of the original plurality of storage units is greater than the utilization threshold.

6. The method of claim 1 wherein the proper subset of the original plurality of storage units is determined by including storage units of the original plurality of storage units having utilization that is less than the utilization threshold.

7. The method of claim 1 wherein the set of encoded data slices are stored in the updated plurality of storage units, such that none of the set of encoded data slices is stored in a same storage unit of the updated plurality of storage units used previously to store that same encoded data slice of the set of encoded data slices in the original plurality of storage units.

8. A dispersed storage and task (DST) processing unit comprises:

at least one processor, when operable within a computing device, that causes the computing device to:

distributedly store a set of encoded data slices in an original plurality of storage units of a dispersed storage network (DSN) associated as a current generation of a storage vault based on a current generation mapping of the set of encoded data slices that specifies the original plurality of storage units of the DSN, wherein the original plurality of storage units of the DSN includes a width dispersal parameter of a dispersed storage error encoding function by which the set of encoded data slices is generated;

determine whether utilization of the original plurality of storage units is greater than a utilization threshold;

when the utilization of the original plurality of storage units is greater than the utilization threshold, update the original plurality of storage units to include at least one additional storage unit and a proper subset of the original plurality of storage units associated with the current generation of the storage vault to generate an updated plurality of storage units associated with a next generation of the storage vault, wherein the updated plurality of storage units includes more than a width dispersal parameter number of storage units; and

distributedly store the set of encoded data slices in the updated plurality of storage units of the DSN associated as the next generation of the storage vault based on a next generation mapping of the set of encoded data slices that specifies the width dispersal parameter number of storage units of the updated plurality of storage units that includes the at least one additional storage unit and excludes at least one of the original plurality of storage units of the DSN.

9. The DST processing unit of claim 8 wherein the original plurality of storage units include N storage units wherein N is an integer greater than 2 and wherein N−1 of the original plurality of storage units are included in the updated plurality of storage units.

10. The DST processing unit of claim 9 wherein N corresponds to a write threshold number of encoded data slices for a data segment stored in the DSN in at least one of the set of encoded data slices.

11. The DST processing unit of claim 8 wherein the original plurality of storage units are associated with the current generation of the storage vault via a table.

12. The DST processing unit of claim 8 wherein determining whether utilization of the original plurality of storage units is greater than the utilization threshold includes determining whether utilization of any one of the original plurality of storage units is greater than the utilization threshold.

13. The DST processing unit of claim 8 wherein the proper subset of the original plurality of storage units is determined by including storage units of the original plurality of storage units having utilization that is less than the utilization threshold.

14. The DST processing unit of claim 8 wherein the set of encoded data slices are stored in the updated plurality of storage units, such that none of the set of encoded data slices is stored in a same storage unit of the updated plurality of storage units used to previously store a same encoded data slice of the set of encoded data slices in the original plurality of storage units.

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

at least one memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), causes the one or more computing devices to:

distributedly store a set of encoded data slices in an original plurality of storage units of the DSN associated as a current generation of a storage vault based on a current generation mapping of the set of encoded data slices that specifies the original plurality of storage units of the DSN, wherein the original plurality of storage units of the DSN includes a width dispersal parameter of a dispersed storage error encoding function by which the set of encoded data slices is generated;

determine whether utilization of the original plurality of storage units is greater than a utilization threshold;

when the utilization of the original plurality of storage units is greater than the utilization threshold, update the original plurality of storage units to include at least one additional storage unit and a proper subset of the original plurality of storage units associated with the current generation of the storage vault to generate an updated plurality of storage units associated with a next generation of the storage vault, wherein updated plurality of storage units includes more than a width dispersal parameter number of storage units; and

distributedly store the set of encoded data slices in the updated plurality of storage units of the DSN associated as the next generation of the storage vault based on a next generation mapping of the set of encoded data slices that specifies the width dispersal parameter number of storage units of the updated plurality of storage units that includes the at least one additional storage unit and excludes at least one of the original plurality of storage units of the DSN.

16. The non-transitory computer readable storage medium of claim 15 wherein the original plurality of storage units include N storage units wherein N is an integer greater than 2 and wherein N−1 of the original plurality of storage units are included in the updated plurality of storage units.

17. The non-transitory computer readable storage medium of claim 16 wherein N corresponds to a write threshold number of encoded data slices for a data segment stored in the DSN in at least one of the set of encoded data slices.

18. The non-transitory computer readable storage medium of claim 15 wherein determining whether utilization of the original plurality of storage units is greater than the utilization threshold includes determining whether utilization of any one of the original plurality of storage units is greater than the utilization threshold.

19. The non-transitory computer readable storage medium of claim 15 wherein the proper subset of the original plurality of storage units is determined by including storage units of the original plurality of storage units having utilization that is less than the utilization threshold.

20. The non-transitory computer readable storage medium of claim 15 wherein the set of encoded data slices are stored in the updated plurality of storage units, such that none of the set of encoded data slices is stored in a same storage unit of the updated plurality of storage units used previously to store a same encoded data slice of the set of encoded data slices in the original plurality of storage units.

Assignments (6)
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 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
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 Aug 5, 2014
From: GLADWIN, S. CHRISTOPHER
To: CLEVERSAFE, INC.
Reel/Frame 033467/0253 →
Continuity (2)
Provisional Application 61886452 · Oct 3, 2013
Related Publication 20150100846A1 · Apr 9, 2015