IP Library Granted Patent US 10,133,632
Granted Patent B2
US 10,133,632 · App. 15/485,160 · Granted Nov 20, 2018

Determining completion of migration in a dispersed storage network

Inventors: Wesley B. Leggette (Chicago, IL); Manish Motwani (Chicago, IL); Jason K. Resch (Chicago, IL)
Assignee: International Business Machines Corporation
G06F11/1076G06F3/0604G06F3/067G06F3/0647H04L67/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 10,133,632
App. No.
15/485,160
Granted
Nov 20, 2018
Kind
B2
Abstract

A method for determining completion of a data migration that results from a distributed agreement protocol (DAP) change within a distributed storage network (DSN). The method begins by transferring, in accordance with the DAP change, encoded data slices to one or more other storage units within the DSN. The method continues by maintaining a storage unit migration tracking repository that tracks migration of the encoded data slices. The method continues by maintaining a storage pool migration tracking repository based on the storage unit migration tracking repositories of the plurality of storage units. The method continues by maintaining a DSN migration tracking repository based on the storage pool migration tracking repositories of the plurality of storage pools. The method continues by indicating completion of the data migration as a result of the DAP change based on information within the DSN tracking repository.

Claims (74)

1. A method for determining completion of a data migration that results from a distributed agreement protocol (DAP) change within a distributed storage network (DSN) that includes a plurality of storage pools, wherein a storage pool of the plurality of storage pools includes a plurality of storage units, the method comprises:

in accordance with the DAP change, transferring, by a storage unit of the plurality of storage units, encoded data slices to one or more other storage units within the DSN;

while transferring the encoded data slices, maintaining, by the storage unit, a storage unit migration tracking repository that tracks migration of the encoded data slices;

maintaining, by a storage pool monitoring module affiliated with the storage pool, a storage pool migration tracking repository based on the storage unit migration tracking repositories of the plurality of storage units, wherein the storage pool migration tracking repository tracks migration of a group of encoded data slices by the plurality of storage units;

maintaining, by a DSN monitoring module affiliated with the DSN, a DSN migration tracking repository based on the storage pool migration tracking repositories of the plurality of storage pools, wherein the DSN migration tracking repository tracks migration of a plurality of groups of encoded data slices by pluralities of storage units of the plurality of storage pools; and

indicating, by the DSN monitoring module, completion of the data migration as a result of the DAP change based on information within the DSN tracking repository.

2. The method of claim 1 , wherein the maintaining the storage unit migration tracking repository comprises:

receiving a rebuild listing request that includes a range of DSN addresses;

identifying one or more encoded data slices of the encoded data slices being transferred as a result of the DAP change that have one or more DSN addresses within the range of DSN addresses to produce identified encoded data slices;

determining whether the identified encoded data slices have been transferred; and

when one or more of the identified encoded data slices have not been transferred:

determining one or more source names for the one or more encoded data slices; and

adding the one or more source names to the storage unit migration tracking repository.

3. The method of claim 2 further comprises:

when one or more of the identified encoded data slices have been transferred:

determining whether the one or more source names are in the storage unit migration tracking repository;

when the one or more source names are in the storage unit migration tracking repository; and

deleting the one or more source names from the storage unit migration tracking repository.

4. The method of claim 1 , wherein the maintaining by the storage pool migration tracking repository comprises:

updating a first entry in the storage pool migration tracking repository for a first storage unit of the plurality of storage units based on a first status of migration by the first storage unit; and

updating a second entry in the storage pool migration tracking repository for a second storage unit of the plurality of storage units based on a second status of migration by the second storage unit.

5. The method of claim 4 further comprises:

determining the first status as non-complete when the storage unit migration tracking repository of the first storage unit includes at least one source name; and

determining the first status as complete when the storage unit migration tracking repository of the first storage unit is void of source names.

6. The method of claim 4 further comprises:

determining the first status as non-complete when the storage unit migration tracking repository of the first storage unit includes an indication that migration is incomplete for at least one source name; and

determining the first status as complete when the storage unit migration tracking repository of the first storage unit includes an indication that migration is complete for all source names listed in the storage unit migration tracking repository of the first storage unit.

7. The method of claim 1 , wherein the maintaining the DSN migration tracking repository comprises:

updating a first entry in the DSN migration tracking repository for a first storage pool of the plurality of storage pools based on a first status of migration by the first storage pool; and

updating a second entry in the DSN migration tracking repository for a second storage pool of the plurality of storage pools based on a second status of migration by the second storage pool.

8. The method of claim 7 further comprises:

determining the first status as non-complete when the storage pool migration tracking repository of the first storage pool includes an indication that migration is incomplete for at least one storage unit of a first plurality of storage units associated with the first storage pool; and

determining the first status as complete when the storage pool migration tracking repository of the first storage pool includes an indication that migration is complete for all storage units of the first plurality of storage units.

9. The method of claim 1 , wherein the indicating completion of the data migration comprises:

determining a status of each storage pool of the plurality of storage pools indicates completion of data migration for the respective storage pool.

10. A computer readable storage device for determining completion of a data migration that results from a distributed agreement protocol (DAP) change within a distributed storage network (DSN) that includes a plurality of storage pools, wherein a storage pool of the plurality of storage pools includes a plurality of storage units, the computer readable storage device comprises:

a first memory section that stores operational instructions that, when executed by a storage unit of the plurality of storage units of the DSN, causes the storage unit to:

transfer in accordance with the DAP change, encoded data slices to one or more other storage units within the DSN;

a second memory section that stores operational instructions that, when executed by the storage unit, causes the storage unit to:

while transferring the encoded data slices, maintain a storage unit migration tracking repository that tracks migration of the encoded data slices;

a third memory section that stores operational instructions that, when executed by a storage pool monitoring module affiliated with the storage pool, causes the storage pool monitoring module to:

maintain a storage pool migration tracking repository based on the storage unit migration tracking repositories of the plurality of storage units, wherein the storage pool migration tracking repository tracks migration of a group of encoded data slices by the plurality of storage units;

a fourth memory section that stores operational instructions that, when executed by a DSN monitoring module affiliated with the DSN, causes the DSN monitoring module to:

maintain a DSN migration tracking repository based on the storage pool migration tracking repositories of the plurality of storage pools, wherein the DSN migration tracking repository tracks migration of a plurality of groups of encoded data slices by pluralities of storage units of the plurality of storage pools; and

a fifth memory section that stores operational instructions that, when executed by the DSN monitoring module, causes the DSN monitoring module to:

indicate completion of the data migration as a result of the DAP change based on information within the DSN tracking repository.

11. The computer readable storage device of claim 10 , wherein the second memory section stores further operational instructions that, when executed by the storage unit, causes the storage unit to maintaining the storage unit migration tracking repository by:

receiving a rebuild listing request that includes a range of DSN addresses;

identifying one or more encoded data slices of the encoded data slices being transferred as a result of the DAP change that have one or more DSN addresses within the range of DSN addresses to produce identified encoded data slices;

determining whether the identified encoded data slices have been transferred; and

when one or more of the identified encoded data slices have not been transferred:

determining one or more source names for the one or more encoded data slices; and

adding the one or more source names to the storage unit migration tracking repository.

12. The computer readable storage device of claim 11 , wherein the second memory section stores further operational instructions that, when executed by the storage unit, causes the storage unit to:

determine whether the one or more source names are in the storage unit migration tracking repository;

when the one or more source names are in the storage unit migration tracking repository; and

delete the one or more source names from the storage unit migration tracking repository.

13. The computer readable storage device of claim 10 , wherein the third memory section stores further operational instructions that, when executed by the storage pool monitoring module, causes the storage pool monitoring module to maintain the storage pool migration tracking repository by:

updating a first entry in the storage pool migration tracking repository for a first storage unit of the plurality of storage units based on a first status of migration by the first storage unit; and

updating a second entry in the storage pool migration tracking repository for a second storage unit of the plurality of storage units based on a second status of migration by the second storage unit.

14. The computer readable storage device of claim 13 , wherein the third memory section stores further operational instructions that, when executed by the storage pool monitoring module, causes the storage pool monitoring module to:

determine the first status as non-complete when the storage unit migration tracking repository of the first storage unit includes at least one source name; and

determine the first status as complete when the storage unit migration tracking repository of the first storage unit is void of source names.

15. The computer readable storage device of claim 13 , wherein the third memory section stores further operational instructions that, when executed by the storage pool monitoring module, causes the storage pool monitoring module to:

determine the first status as non-complete when the storage unit migration tracking repository of the first storage unit includes an indication that migration is incomplete for at least one source name; and

determine the first status as complete when the storage unit migration tracking repository of the first storage unit includes an indication that migration is complete for all source names listed in the storage unit migration tracking repository of the first storage unit.

16. The computer readable storage device of claim 10 , wherein the fourth memory section stores further operational instructions that, when executed by the DSN monitoring module, causes the DSN monitoring module to maintain the DSN migration tracking repository by:

updating a first entry in the DSN migration tracking repository for a first storage pool of the plurality of storage pools based on a first status of migration by the first storage pool; and

updating a second entry in the DSN migration tracking repository for a second storage pool of the plurality of storage pools based on a second status of migration by the second storage pool.

17. The computer readable storage device of claim 16 , wherein the fourth memory section stores further operational instructions that, when executed by the DSN monitoring module, causes the DSN monitoring module to:

determine the first status as non-complete when the storage pool migration tracking repository of the first storage pool includes an indication that migration is incomplete for at least one storage unit of a first plurality of storage units associated with the first storage pool; and

determine the first status as complete when the storage pool migration tracking repository of the first storage pool includes an indication that migration is complete for all storage units of the first plurality of storage units.

18. The computer readable storage device of claim 10 , wherein the fifth memory section stores further operational instructions that, when executed by the DSN monitoring module, causes the DSN monitoring module to indicate completion of the data migration by:

determining a status of each storage pool of the plurality of storage pools indicates completion of data migration for the respective storage pool.

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 Apr 12, 2017
From: LEGGETTE, WESLEY B.; MOTWANI, MANISH; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041979/0787 →
Continuity (5)
Continuation In Part 15056517 · Feb 29, 2016
Continuation In Part 12903212 · Oct 13, 2010
Provisional Application 61290632 · Dec 29, 2009
Provisional Application 62154867 · Apr 30, 2015
Related Publication 20170220418A1 · Aug 3, 2017