IP Library Granted Patent US 10,678,450
Granted Patent B2
US 10,678,450 · App. 16/174,504 · Granted Jun 9, 2020

Migrating an encoded data slice based on an end-of-life memory level of a memory device

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 10,678,450
App. No.
16/174,504
Granted
Jun 9, 2020
Kind
B2
Abstract

A method begins by a processing module determining a priority access level of an encoded data slice stored on a memory device. The method continues by determining a soft failure level for the memory device, wherein the soft failure level includes a plurality of discrete usability levels with a highest usability level representing a maximum amount of usable memory, a second usability level representing a lower usability level than the highest usability level and a lowest usability level representing an unusable level when the usable memory is below a threshold. The method continues with the processing module determining whether to migrate the encoded data slice from the memory device based on the priority access level and the end-of-life memory level. The method continues with the processing module identifying another memory device. The method continues with the processing module facilitating migration of the encoded data slice to another memory device.

Claims (77)

1. A method comprises:

determining a priority access level of an encoded data slice stored on a memory device;

determining a soft failure level for the memory device, wherein the soft failure level includes a plurality of discrete usability levels, with a highest usability level representing a maximum amount of usable memory, at least a second usability level representing a lower usability level than the highest usability level and a lowest usability level representing an unusable level where the usable memory is below a threshold;

determining whether to migrate the encoded data slice from the memory device based on the priority access level and the soft failure level; and

when it is determined to migrate the encoded data slice from the memory device:

identifying another memory device; and

facilitating migration of the encoded data slice to the another memory device.

2. The method of claim 1 , wherein the usability levels include at least one of: a data retrieval failure rate, a memory element failure, a bad disk sector, a mechanical disk operational issue, or a data write verification issue.

3. The method of claim 1 further comprises reprovisioning the memory device by updating a local storage table to indicate a mapping of encoded data slice names, associated with the encoded data slice requiring a storage reliability level consistent with the usability level, to memory device addresses within the memory device.

4. The method of claim 1 , wherein the facilitating migration of the encoded data slice comprises:

determining to replicate the encoded data slice; and

storing the encoded data slice in the other memory device.

5. The method of claim 4 , wherein the storing the encoded data slice in the other memory device comprises:

identifying the other memory device;

determining another soft failure level of the other memory device;

comparing a representation of the priority access level and the other soft failure level to a sliding migration scale; and

when the representation compares favorably to the sliding migration scale, facilitate storing the encoded data slice in the other memory device.

6. The method of claim 1 further comprises:

deleting the encoded data slice from the memory device; and

updating a memory assignment table to indicate that the other memory device is storing the encoded data slice.

7. The method of claim 1 , wherein the determining the priority access level is based on at least one of:

a number of accesses of the encoded data slice;

a service-level agreement;

a data type indicator;

a predetermination;

a lookup;

a priority level of data contained within the encoded data slice;

a priority level of a user account associated with the encoded data slice;

a message; or

a command.

8. A distributed storage (DS) processing unit comprises:

an interface for coupling to a plurality of memory devices; and

a processing module operable to:

determine a priority access level of an encoded data slice stored on a memory device of the plurality of memory devices;

determine a soft failure level for the memory device, wherein the soft failure level includes a plurality of discrete usability levels, with a highest usability level representing a maximum amount of usable memory, at least a second usability level representing a lower usability level than the highest usability level and a lowest usability level representing an unusable level where the usable memory is below a threshold;

determine whether to migrate the encoded data slice from the memory device based on the priority access level and the soft failure level; and

when it is determined to migrate the encoded data slice from the memory device:

identify another memory device of the plurality of memory devices; and

facilitate migrating the encoded data slice to the another memory device.

9. The DS processing unit of claim 8 , wherein the usability levels include at least one of: a data retrieval failure rate, a memory element failure, a bad disk sector, a mechanical disk operational issue, or a data write verification issue.

10. The DS processing unit of claim 8 , further comprising reprovisioning the memory device by updating a local storage table to indicate a mapping of encoded data slice names associated with encoded data slices, requiring a storage reliability level consistent with the usability level, to memory device addresses within the memory device.

11. The DS processing unit of claim 8 , wherein the processing module functions to facilitate migrating the encoded data slice by:

determining to replicate the encoded data slice; and

storing, via the interface, the encoded data slice in the other memory device.

12. The DS processing unit of claim 11 , wherein the processing module functions to store the encoded data slice in the other memory device by:

identifying the other memory device;

determining another soft failure level of the other memory device;

comparing a representation of the priority access level and the other soft failure level to a sliding migration scale; and

when the representation compares favorably to the sliding migration scale, facilitate storing, via the interface, the encoded data slice in the other memory device.

13. The DS processing unit of claim 8 , wherein the processing module further functions to:

delete the encoded data slice from the memory device; and

update a memory assignment table to indicate that the other memory device is storing the encoded data slice.

14. The DS processing unit of claim 8 , wherein the processing module functions to determine whether to migrate the encoded data slice by at least one of:

comparing a representation of the priority access level and the soft failure level to a sliding migration scale; and

when the representation compares unfavorably to the sliding migration scale, indicating the migration of the encoded data slice.

15. A memory system comprises:

a plurality of memory devices; and

a processing module operable to:

determine a priority access level of an encoded data slice stored on a memory device of the plurality of memory devices;

determine a soft failure level for the memory device, wherein the soft failure level includes a plurality of discrete usability levels, with a highest usability level representing a maximum amount of usable memory, at least a second usability level representing a lower usability level than the highest usability level and a lowest usability level representing an unusable level where the usable memory is below a threshold;

determine whether to migrate the encoded data slice from the memory device based on the priority access level and the soft failure level; and

when it is determined to migrate the encoded data slice from the memory device:

identify another memory device of the plurality of memory devices; and

facilitate migrating the encoded data slice to the another memory device.

16. The memory system of claim 15 , wherein the usability levels include at least one of: a data retrieval failure rate, a memory element failure, a bad disk sector, a mechanical disk operational issue, or a data write verification issue.

17. The memory system of claim 15 , further comprising reprovisioning the memory device by updating a local storage table to indicate a mapping of encoded data slice names associated with encoded data slices, requiring a storage reliability level consistent with the usability level, to memory device addresses within the memory device.

18. The memory system of claim 15 , wherein the processing module functions to facilitate migrating the encoded data slice by:

determining to replicate the encoded data slice; and

storing the encoded data slice in the other memory device.

19. The memory system of claim 15 , wherein the processing module further functions to:

delete the encoded data slice from the memory device; and

update a memory assignment table to indicate that the other memory device is storing the encoded data slice.

20. The memory system of claim 15 , wherein the processing module functions to store the encoded data slice in the other memory device by:

identifying the other memory device;

determining another soft failure level of the other memory device;

comparing a representation of the priority access level and the other soft failure level to a sliding migration scale; and

when the representation compares favorably to the sliding migration scale, facilitate storing the encoded data slice in the other memory device.

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 Oct 30, 2018
From: GRUBE, GARY W.; RESCH, JASON K.; MARKISON, TIMOTHY W.; VOLVOVSKI, ILYA; MOTWANI, MANISH
To: CLEVERSAFE, INC.
Reel/Frame 047359/0842 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2018
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047360/0131 →
Continuity (3)
Continuation 13204061 · Aug 5, 2011
Provisional Application 61377428 · Aug 26, 2010
Related Publication 20190073143A1 · Mar 7, 2019
Cited By (2)
US 12,314,413 US 12,443,623