IP Library Granted Patent US 10,452,265
Granted Patent B2
US 10,452,265 · App. 14/452,136 · Granted Oct 22, 2019

Dispersed storage system with width dispersal control and methods for use therewith

Inventors: S. Christopher Gladwin (Chicago, IL); Jason K. Resch (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F3/0604G06F3/061G06F3/064G06F3/067G06F3/0611G06F3/0619G06F3/0622G06F3/0635G06F3/0637G06F3/0647G06F3/0655G06F3/0665G06F3/0689G06F9/4881G06F11/1076G06F12/1458G06F21/31G06F21/6272H04L67/1002H04L67/1095H04L67/1097H04L67/145G06F16/10G06F16/182G06F2003/0698G06F2211/1028G06F2212/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 10,452,265
App. No.
14/452,136
Granted
Oct 22, 2019
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 to increase a width dispersal parameter of the storage vault. When the width dispersal parameter of the storage vault is to be increased, the original plurality of storage units are updated to include at least one additional storage unit 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 (28)

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:

storing a first set of encoded data slices, corresponding to a first data segment, in an original plurality of storage units of the DSN in a storage vault, wherein the first set of encoded data slices were generated by performing, on the first data segment, a dispersed storage error encoding algorithm utilizing a pillar width dispersal parameter set to a current width, wherein the current width is equal to a count of the original plurality of storage units, wherein the current width is equal to a count of the first set of encoded data slices, and wherein each one of the first set of encoded data slices is stored in a different, corresponding one of the original plurality of storage units;

determining whether to increase the pillar width dispersal parameter of the storage vault, wherein determining whether to increase the pillar width dispersal parameter of the storage vault includes evaluating a retrieval reliability of the storage vault and determining to increase the pillar width dispersal parameter when the retrieval reliability of the storage vault compares unfavorably to a desired retrieval reliability;

when the pillar width dispersal parameter of the storage vault is to be increased to an updated width, updating the original plurality of storage units to include at least one additional storage unit to generate an updated plurality of storage units associated with the storage vault, wherein the updated width is determined based on a difference between the retrieval reliability of the storage vault and the desired retrieval reliability; and

adding a second set of encoded data slices, corresponding to a second data segment, to the storage vault storing the first set of encoded data slices, wherein the second set of encoded data slices were generated by performing, on the second data segment, the dispersed storage error encoding algorithm utilizing the pillar width dispersal parameter set to the updated width, wherein the updated width is equal to a count of the updated plurality of storage units, wherein the current width is equal to a count of the second set of encoded data slices, and wherein each one of the second set of encoded data slices are stored in a different, corresponding one of the updated plurality of storage units.

2. The method of claim 1 wherein updating the original plurality of storage units includes determining the updated width by incrementing the current width of the pillar width dispersal parameter of the storage vault by a predetermined number.

3. The method of claim 1 wherein updating the original plurality of storage units includes determining the updated width and determining an incremental number of storage units based on a difference between the updated width and the current width of the pillar width dispersal parameter of the storage vault, and wherein the incremental number of storage units is greater than one.

4. The method of claim 1 wherein updating the original plurality of storage units includes determining an unutilized capacity for the original plurality of storage units.

5. The method of claim 1 wherein updating the original plurality of storage units to include at least one additional storage unit includes selecting the at least one additional storage unit from a set that includes at least one dormant storage unit and at least one non-dormant storage unit having unutilized capacity.

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

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

store a first set of encoded data slices corresponding to a first data segment, in an original plurality of storage units of a dispersed storage network (DSN) in a storage vault, wherein the first set of encoded data slices were generated by performing, on the first data segment, a dispersed storage error encoding algorithm utilizing a pillar width dispersal parameter set to a current width, wherein the current width is equal to a count of the original plurality of storage units, wherein the current width is equal to a count of the first set of encoded data slices, and wherein each one of the first set of encoded data slices is stored in a different, corresponding one of the original plurality of storage units;

determine whether to increase the pillar width dispersal parameter of the storage vault, wherein determining whether to increase the pillar width dispersal parameter of the storage vault includes evaluating a retrieval reliability of the storage vault and determining to increase the pillar width dispersal parameter when the retrieval reliability of the storage vault compares unfavorably to a desired retrieval reliability;

when the pillar width dispersal parameter of the storage vault is to be increased to an updated width, updating the original plurality of storage units to include at least one additional storage unit to generate an updated plurality of storage units associated with the storage vault, wherein the updated width is determined based on a difference between the retrieval reliability of the storage vault and the desired retrieval reliability; and

add a second set of encoded data slices corresponding to a second data segment, to the storage vault storing the first set of encoded data slices, wherein the second set of encoded data slices were generated by performing, on the second data segment, the dispersed storage error encoding algorithm utilizing the pillar width dispersal parameter set to the updated width, wherein the updated width is equal to a count of the updated plurality of storage units, wherein the current width is equal to a count of the second set of encoded data slices, and wherein each one of the second set of encoded data slices are stored in a different, corresponding one of the updated plurality of storage units.

7. The DST processing unit of claim 6 wherein updating the original plurality of storage units includes determining the updated width by incrementing the current width of the pillar width dispersal parameter of the storage vault by a predetermined number.

8. The DST processing unit of claim 6 wherein updating the original plurality of storage units includes determining the updated width and determining an incremental number of storage units based on a difference between the updated width and the current width of the pillar width dispersal parameter of the storage vault, and wherein the incremental number of storage units is greater than one.

9. The DST processing unit of claim 6 wherein updating the original plurality of storage units includes determining an unutilized capacity for the original plurality of storage units.

10. The DST processing unit of claim 6 wherein updating the original plurality of storage units to include at least one additional storage unit includes selecting the at least one additional storage unit from a set that includes at least one dormant storage unit and at least one non-dormant storage unit having unutilized capacity.

11. A nontransitory 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:

store a first set of encoded data slices corresponding to a first data segment, in an original plurality of storage units of the DSN in a storage vault, wherein the first set of encoded data slices were generated by performing, on the first data segment, a dispersed storage error encoding algorithm utilizing a pillar width dispersal parameter set to a current width, wherein the current width is equal to a count of the original plurality of storage units, wherein the current width is equal to a count of the first set of encoded data slices, and wherein each one of the first set of encoded data slices is stored in a different, corresponding one of the original plurality of storage units;

determine whether to increase the pillar width dispersal parameter of the storage vault, wherein determining whether to increase the pillar width dispersal parameter of the storage vault includes evaluating a retrieval reliability of the storage vault and determining to increase the pillar width dispersal parameter when the retrieval reliability of the storage vault compares unfavorably to a desired retrieval reliability;

when the pillar width dispersal parameter of the storage vault is to be increased to an updated width, updating the original plurality of storage units to include at least one additional storage unit to generate an updated plurality of storage units associated with the storage vault, wherein the updated width is determined based on a difference between the retrieval reliability of the storage vault and the desired retrieval reliability; and

add a second set of encoded data slices corresponding to a second data segment, to the storage vault storing the first set of encoded data slices, wherein the second set of encoded data slices were generated by performing, on the second data segment, the dispersed storage error encoding algorithm utilizing the pillar width dispersal parameter set to the updated width, wherein the updated width is equal to a count of the updated plurality of storage units, wherein the current width is equal to a count of the second set of encoded data slices, and wherein each one of the second set of encoded data slices are stored in a different, corresponding one of the updated plurality of storage units.

12. The nontransitory computer readable storage medium of claim 11 wherein updating the original plurality of storage units includes determining the updated width by incrementing the current width of the pillar width dispersal parameter of the storage vault by a predetermined number.

13. The nontransitory computer readable storage medium of claim 11 wherein updating the original plurality of storage units includes determining the updated width and determining an incremental number of storage units based on a difference between the updated width and the current width of the pillar width dispersal parameter of the storage vault, and wherein the incremental number of storage units is greater than one.

14. The nontransitory computer readable storage medium of claim 11 wherein updating the original plurality of storage units includes determining an unutilized capacity for 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 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 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; RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 033468/0762 →