IP Library Granted Patent US 10,157,002
Granted Patent B2
US 10,157,002 · App. 13/204,061 · Granted Dec 18, 2018

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

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,157,002
App. No.
13/204,061
Granted
Dec 18, 2018
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 with the processing module determining an end-of-life memory level for the memory device. 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 (96)

1. A method comprising:

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

determining a soft failure level for the memory device;

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 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.

3. The method of claim 2 , 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.

4. 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.

5. The method of claim 1 further comprises:

tracking migration history of encoded data slices from the memory device; and

decommissioning the memory device based on the migration history.

6. 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.

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

a service life indicator;

a historical performance record;

an error message;

an error rate;

a performance test result;

a predetermination;

a query;

a message; or

a command.

8. The method of claim 1 , wherein the determining whether to migrate the encoded data slice comprises 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.

9. 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;

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.

10. The DS processing unit of claim 9 , 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.

11. The DS processing unit of claim 10 , 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.

12. The DS processing unit of claim 9 , 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.

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

track migration history of encoded data slices from the memory device; and

decommission the memory device based on the migration history.

14. The DS processing unit of claim 9 , 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;

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 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.

17. 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.

18. 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.

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

track migration history of encoded data slices from the memory device; and

decommission the memory device based on the migration history.

20. The memory system of claim 15 , 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.

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 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 May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2011
From: GRUBE, GARY W.; RESCH, JASON K.; MARKISON, TIMOTHY W.; VOLVOVSKI, ILYA; MOTWANI, MANISH
To: CLEVERSAFE, INC.
Reel/Frame 026709/0033 →