IP Library Granted Patent US 11,740,972
Granted Patent B1
US 11,740,972 · App. 17/085,170 · Granted Aug 29, 2023

Migrating data in a vast storage network

Inventors: Ravi V. Khadiwala (Bartlett, IL); Greg R. Dhuse (Chicago, IL); Manish Motwani (Chicago, IL); Jason K. Resch (Chicago, IL); Ilya Volvovski (Chicago, IL)
Assignee: Pure Storage, Inc.
G06F11/1092G06F3/061G06F3/064G06F3/0604G06F3/067G06F3/0611G06F3/0619G06F3/0635G06F3/0659G06F3/0665G06F3/0689G06F11/2094H03M13/1515H03M13/3761H04L43/0864H04L43/0876H04L43/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 11,740,972
App. No.
17/085,170
Granted
Aug 29, 2023
Kind
B1
Abstract

Methods and apparatus for use in a storage network operate by: storing, in a first storage unit of a first set of storage units of the storage network, a first encoded data slice corresponding to at least one data object; assigning one or more additional storage units to the storage network to form a second set of storage units, the second set of storage units including the one or more additional storage units; migrating the first encoded data slice from the first storage unit to at least one of the one or more additional storage units of the second set of storage units; and reallocating a mapping of the first encoded data slice from the first storage unit to the at least one of the one or more additional storage units of the second set of storage units.

Claims (34)

1. A method for execution by at least one processing system, the method comprising:

electronically storing, in a first storage unit of a first set of storage units, a first encoded data slice corresponding to at least one data object, wherein the first encoded data slice is dispersed storage encoded;

providing a second set of storage units, the second set of storage units including one or more additional storage units;

determining error coding dispersal storage parameters associated with the second set of storage units to have a decode threshold in common with parameters by which the first encoded data slice is dispersed storage encoded; and

migrating the first encoded data slice from the first storage unit to at least one of the one or more additional storage units of the second set of storage units, wherein the migrating is based on metadata associated with the data object, a replication factor associated with the data object, and when the error coding dispersal storage parameters associated with the second set of storage units are determined to have the decode threshold in common with the parameters by which the first encoded data slice is dispersed storage encoded.

2. The method of claim 1 , wherein the first storage unit of the first set of storage units comprises a solid state memory device.

3. The method of claim 1 , wherein the first storage unit of the first set of storage units comprises temporary storage.

4. The method of claim 1 , wherein the additional storage units are implemented via random access memory space.

5. The method of claim 1 , wherein the additional storage units comprise permanent storage.

6. The method of claim 1 , wherein the at least one data object is dispersed error encoded into a plurality of data slices that includes the first encoded data slice.

7. The method of claim 1 , further comprising:

storing, in the first storage unit of the first set of storage units, a second encoded data slice corresponding to the at least one data object.

8. The method of claim 7 , further comprising:

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

9. The method of claim 7 , further comprising:

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

10. A processing system comprises:

at least one processor;

a memory that stores operational instructions, that when executed by the at least one processor, cause the processing system to perform operations including:

electronically storing, in a first storage unit of a first set of storage units, a first encoded data slice corresponding to at least one data object, wherein the first encoded data slice is dispersed storage encoded;

providing a second set of storage units, the second set of storage units including one or more additional storage units;

determining error coding dispersal storage parameters associated with the second set of storage units to have a decode threshold in common with parameters by which the first encoded data slice is dispersed storage encoded; and

migrating the first encoded data slice from the first storage unit to at least one of the one or more additional storage units of the second set of storage units, wherein the migrating is based on metadata associated with the data object, a replication factor associated with the data object, and when the error coding dispersal storage parameters associated with the second set of storage units are determined to have a decode threshold in common with the parameters by which the first encoded data slice is dispersed storage encoded.

11. The processing system of claim 10 , wherein the first storage unit of the first set of storage units comprises a solid state memory device.

12. The processing system of claim 10 , wherein the first storage unit of the first set of storage units comprises temporary storage.

13. The processing system of claim 10 , wherein the additional storage units are implemented via random access memory space.

14. The processing system of claim 10 , wherein the additional storage units comprise permanent storage.

15. The processing system of claim 10 , wherein the at least one data object is dispersed error encoded into a plurality of data slices that includes the first encoded data slice.

16. The processing system of claim 11 , wherein the operations further include:

storing, in the first storage unit of the first set of storage units, a second encoded data slice corresponding to the at least one data object.

17. The processing system of claim 16 , wherein the operations further include:

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

18. The processing system of claim 17 , wherein the operations further include:

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

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2020
From: KHADIWALA, RAVI V.; DHUSE, GREG R.; MOTWANI, MANISH; RESCH, JASON K.; VOLVOVSKI, ILYA
To: PURE STORAGE, INC.
Reel/Frame 054226/0709 →
Cited By (1)
US 12,267,251