IP Library Granted Patent US 11,662,915
Granted Patent B2
US 11,662,915 · App. 17/356,838 · Granted May 30, 2023

Parity in a vast storage system using alternate memory

Inventors: Gary W. Grube (Barrington Hills, IL); Jason K. Resch (Chicago, IL); Timothy W. Markison (Mesa, AZ); Ilya Volvovski (Chicago, IL); Manish Motwani (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F3/0619G06F3/067G06F3/0647G06F3/0679G06F12/0223G06F11/1076
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,662,915
App. No.
17/356,838
Granted
May 30, 2023
Kind
B2
Abstract

A method begins by a processing module of a storage network analyzing storage network memory for a level of usability and based on the analyzing, selecting alternative memory available for receipt of encoded data slices stored in current memory, where a data object is segmented into a plurality of data segments and a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices. The method continues with the processing module determining whether to move encoded data slices from current memory to alternative memory and based on a determination to move slices, allocating alternative memory. Finally, the processing module moves at least some encoded data slices from a current memory to alternate memory and updates a memory assignment mechanism for the at least some encoded data slices.

Claims (78)

1. A method comprises:

analyzing storage network memory of a storage network for a level of usability to produce an alternative network memory analysis;

based on the analysis, selecting alternative memory available for receipt of encoded data slices stored in current memory, wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices;

determining whether to move encoded data slices from current memory to alternative memory;

in response to a determination to move slices, allocating alternative memory;

moving at least some encoded data slices from a current memory to alternate memory; and

updating a memory assignment mechanism for the at least some encoded data slices.

2. The method of claim 1 , wherein the analyzing storage network memory is triggered by at least one of:

an error message;

resumption of a previously abandoned analysis process; and

a message and a command.

3. The method of claim 1 , wherein the storage network memory does not include current memory.

4. The method of claim 1 , wherein the storage network memory of the storage network includes a plurality of memory devices.

5. The method of claim 1 , wherein the level of usability is based on a relative utilization of the alternative storage network memory.

6. The method of claim 1 , wherein the level of usability is based on a relative historical usage of the alternative storage network memory.

7. The method of claim 6 , wherein the relative historical usage is determined based on at least one of:

querying a memory usability level table;

testing a reprovisioned memory device;

determining a memory assignment;

receiving an error message;

retrieving an error message history;

receiving a message;

obtaining historical reliability data of similar reprovisioned memory devices;

a reprovisioned memory device age;

a reprovisioned memory type;

a reprovisioned memory usage level; and

and receiving a command.

8. The method of claim 1 , wherein the level of usability is based on a relative amount of historical usage of the alternative storage network memory and a relative utilization of the alternative storage network memory.

9. The method of claim 1 , wherein the memory assignment mechanism is a memory assignment table.

10. The method of claim 1 , wherein the determining whether to move encoded data slices from current memory to alternative memory is based on at least one of:

a status of the alternative memory;

a current memory utilization;

an available memory indicator of the alternative memory;

a predetermination;

a lookup;

a message; and

a command.

11. The method of claim 1 , wherein the current memory is a different memory type than the alternative memory.

12. A computing device comprising:

an interface configured to interface and communicate with a storage network;

memory that stores operational instructions; and

a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:

analyze alternative storage network memory for a level of usability to produce an alternate network memory analysis;

based on the analysis, select alternative memory available for receipt of encoded data slices stored in current memory, wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices;

determine whether to move encoded data slices from current memory to alternative memory;

in response to a determination to move slices, allocate alternative memory;

move at least some encoded data slices from a current memory to alternate memory; and

update a memory assignment mechanism for the at least some encoded data slices.

13. The computing device of claim 12 , wherein the processing module is further configured to:

analyze alternative storage network memory based on a trigger, wherein the trigger is at least one of:

an error message;

resumption of a previously abandoned analysis process; and

a message and a command.

14. The computing device of claim 12 , wherein the storage network memory of the storage network includes a plurality of memory devices.

15. The computing device of claim 12 , wherein the level of usability is based on a relative utilization of the alternative storage network memory.

16. The computing device of claim 12 , wherein the level of usability is based on a relative historical usage of the alternative storage network memory.

17. The computing device of claim 16 , wherein the relative historical usage is determined based on at least one of:

querying a memory usability level table;

testing a reprovisioned memory device;

determining a memory assignment;

receiving an error message;

retrieving an error message history;

receiving a message;

obtaining historical reliability data of similar reprovisioned memory devices;

a reprovisioned memory device age;

a reprovisioned memory type;

a reprovisioned memory usage level; and

and receiving a command.

18. The computing device of claim 12 , wherein the level of usability is based on a relative amount of historical usage of the alternative storage network memory and a relative utilization of the alternative storage network memory.

19. The computing device of claim 12 , wherein the memory assignment mechanism is a memory assignment table.

20. The computing device of claim 12 , wherein the determining whether to move encoded data slices from current memory to alternative memory is based on at least one of:

a status of the alternative memory;

a current memory utilization;

an available memory indicator of the alternative memory;

a predetermination;

a lookup;

a message; and

a command.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2021
From: GRUBE, GARY W.; RESCH, JASON K.; MARKISON, TIMOTHY W.; VOLVOVSKI, ILYA; MOTWANI, MANISH
To: CLEVERSAFE, INC.
Reel/Frame 056656/0459 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2021
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 056673/0597 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 056673/0813 →