IP Library Granted Patent US 9,971,649
Granted Patent B2
US 9,971,649 · App. 15/283,196 · Granted May 15, 2018

Deploying and growing a set of dispersed storage units at and by non-information dispersal algorithm (IDA) width multiples

Inventors: Greg R. Dhuse (Chicago, IL); Manish Motwani (Chicago, IL); Jason K. Resch (Chicago, IL); Ilya Volvovski (Chicago, IL)
Assignee: International Business Machines Corporation
G06F11/1092G06F3/064G06F3/0604G06F3/067G06F3/0611G06F3/0619G06F3/0659G06F3/0665G06F3/0689G06F11/2094H03M13/1515H03M13/3761H04L43/0864H04L43/16H04L67/1008H04L67/1097G06F2201/805
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,971,649
App. No.
15/283,196
Granted
May 15, 2018
Kind
B2
Abstract

Methods and apparatus for use in a dispersed storage network (DSN) to deploy and grow a set of dispersed storage (DS) units for use in the DSN memory. In an example of operation, a DS client module assigns one or more additional DS units to a storage set to form a new storage set, where data is encoded in the DSN utilizing a dispersed storage error encoding function in accordance with an information dispersal algorithm (IDA) width. For each encoded data slice stored in the existing storage set, the DS client module utilizes a distributed agreement protocol function to select a storage unit of the new storage set for storage of the encoded data slice.

Claims (39)

1. A method of growing a dispersed storage network, the dispersed storage network including a first set of dispersed storage units, wherein a first dispersed storage unit of the first set of dispersed storage units stores a first encoded data slice and a second encoded data slice and wherein the first encoded data slice and the second encoded data slice originate from a first data source, the method comprising:

assigning one or more additional dispersed storage units to the dispersed storage network including the first set of dispersed storage units to form a second set of dispersed storage units the second set of dispersed storage units including the first set of dispersed storage units and the one or more additional dispersed storage units;

reallocating the first encoded data slice from the first dispersed storage unit to at least one of the one or more additional dispersed storage units of the second set of dispersed storage units that does not presently store the first encoded data slice; and

facilitating migration of the first encoded data slice from the first dispersed storage unit to the at least one of the one or more additional dispersed storage units of the second set of dispersed storage units that does not presently store the first encoded data slice.

2. The method of claim 1 , wherein the dispersed storage units in the first set of dispersed storage units are fewer than an information dispersal algorithm width number.

3. The method of claim 1 , wherein assigning one or more additional dispersed storage units to the dispersed storage network comprises determining a number of additional dispersed storage units.

4. The method of claim 3 , wherein assigning one or more additional dispersed storage units to the dispersed storage network comprises identifying the one or more additional dispersed storage units.

5. The method of claim 4 , further comprising selecting the one or more additional dispersed storage units identified for assignment.

6. The method of claim 3 , wherein determining the number of additional dispersed storage units is based on one or more of a predetermination, an estimated future storage requirements and existing storage utilization levels.

7. The method of claim 1 , wherein assigning one or more additional dispersed storage units to the dispersed storage network uses a distributed agreement protocol.

8. The method of claim 7 , wherein the distributed agreement protocol updates first weights for dispersed storage units of the first set of dispersed storage units and establishes second weights for the one or more additional dispersed storage units.

9. The method of claim 1 , wherein facilitating migration comprises sending the first encoded data slice to a dispersed storage computing device.

10. A first dispersed storage unit of a first set of dispersed storage units for use in a dispersed storage network, the first dispersed storage unit comprising:

a communications interface;

a memory; and

a processor;

wherein the memory includes a first encoded data slice and a second encoded data wherein the first encoded data slice and the second encoded data slice originate from a first data source and wherein the memory further includes instructions for causing the processor to:

assign one or more additional dispersed storage units to the dispersed storage network including the first set of dispersed storage units to form a second set of dispersed storage units the second set of dispersed storage units including the first set of dispersed storage units and the one or more additional dispersed storage units;

reallocate the first encoded data slice from the first dispersed storage unit to at least one of the one or more additional dispersed storage units of the second set of dispersed storage units that does not presently store the first encoded data slice; and

facilitate migration of the first encoded data slice from the first dispersed storage unit to the at least one of the one or more additional dispersed storage units of the second set of dispersed storage units that does not presently store the first encoded data slice.

11. The first dispersed storage unit of claim 10 , wherein the dispersed storage units in the first set of dispersed storage units are fewer than an information dispersal algorithm width number.

12. The first dispersed storage unit of claim 10 , wherein the memory further comprises instructions for causing the processor to determine a number of additional dispersed storage units.

13. The first dispersed storage unit of claim 12 , wherein the memory further comprises instructions for causing the processor identify the one or more additional dispersed storage units.

14. The first dispersed storage unit of claim 13 , wherein the memory further comprises instructions for causing the processor to select the one or more additional dispersed storage units for assignment.

15. The first dispersed storage unit of claim 12 , wherein the instructions for causing the processor to determine a number of additional dispersed storage units uses one or more of a predetermination, estimated future storage requirements and existing storage utilization levels.

16. The first dispersed storage unit of claim 10 , wherein the instructions for causing the processor to assign one or more additional dispersed storage units to the dispersed storage network uses a distributed agreement protocol.

17. The first dispersed storage unit of claim 16 , wherein the distributed agreement protocol is operable to update first weights for dispersed storage units of the first set of dispersed storage units and operable to establish second weights for the one or more additional dispersed storage units.

18. The first dispersed storage unit of claim 10 , wherein the memory further comprises instructions for causing the processor to send the first encoded data slice to a dispersed storage computing device.

19. A dispersed storage network comprising:

a first set of dispersed storage units including a first dispersed storage unit;

the first dispersed storage unit including:

a communications interface;

a memory; and

a processor;

wherein the memory includes a first encoded data slice and a second encoded data wherein the first encoded data slice and the second encoded data slice originate from a first data source and wherein the memory further includes instructions for causing the processor to:

assign one or more additional dispersed storage units to the dispersed storage network including the first set of dispersed storage units to form a second set of dispersed storage units the second set of dispersed storage units including the first set of dispersed storage units and the one or more additional dispersed storage units;

reallocate the first encoded data slice from the first dispersed storage unit to at least one of the one or more additional dispersed storage units of the second set of dispersed storage units that does not presently store the first encoded data slice; and

facilitate migration of the first encoded data slice from the first dispersed storage unit to the at least one of the one or more additional dispersed storage units of the second set of dispersed storage units that does not presently store the first encoded data slice.

20. The dispersed storage network of claim 19 , wherein the dispersed storage units in the first set of dispersed storage units are fewer than an information dispersal algorithm width number.

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 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 Sep 30, 2016
From: DHUSE, GREG R.; MOTWANI, MANISH; RESCH, JASON K.; VOLVOVSKI, ILYA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039916/0252 →
Continuity (2)
Provisional Application 62248752 · Oct 30, 2015
Related Publication 20170123698A1 · May 4, 2017