IP Library Granted Patent US 11,606,431
Granted Patent B2
US 11,606,431 · App. 17/651,614 · Granted Mar 14, 2023

Maintaining failure independence for storage of a set of encoded data slices

Inventors: Andrew G. Peake (Chicago, IL); Jason K. Resch (Warwick, RI)
Assignee: Pure Storage, Inc.
H04L67/1097G06F16/182H04L67/5682H04L67/60H04L67/62
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,606,431
App. No.
17/651,614
Granted
Mar 14, 2023
Kind
B2
Abstract

A method includes detecting a storage error associated with a first memory device of a storage unit of a set of storage units, where data is error encoded into a set of encoded data slices and stored in a plurality of memory devices of the set of storage units, and where the plurality of memory devices includes the first memory device. The method further includes determining attributes associated with the first memory device and determining attributes of other memory devices of the plurality of memory devices. The method further includes selecting a memory device from the other memory devices based on the attributes of the memory device comparing favorably to the attributes associated with the first memory device. The method further includes rebuilding an encoded data slice associated with the storage error and storing the rebuilt encoded data slice in the selected memory device.

Claims (46)

1. A method for execution by a computing device of a storage network, the method comprising:

detecting a storage error associated with a first memory device of a storage unit of a set of storage units of the storage network, wherein data is error encoded into a set of encoded data slices and stored in a plurality of memory devices of the set of storage units, and wherein the plurality of memory devices includes the first memory device;

determining memory device attributes associated with the first memory device;

determining memory device attributes of other memory devices of the plurality of memory devices;

selecting a memory device from the other memory devices based on the memory device attributes of the memory device comparing favorably to the memory device attributes associated with the first memory device;

rebuilding an encoded data slice associated with the storage error to produce a rebuilt encoded data slice; and

storing the rebuilt encoded data slice in the selected memory device.

2. The method of claim 1 , wherein the detecting the storage error comprises:

interpreting an error message.

3. The method of claim 1 , wherein the detecting the storage error comprises:

interpreting a request.

4. The method of claim 1 , wherein the detecting the storage error comprises:

detecting a failed memory device.

5. The method of claim 1 , wherein the detecting the storage error comprises:

interpreting a memory test result.

6. The method of claim 1 , wherein the detecting the storage error comprises:

detecting a missing encoded data slice.

7. The method of claim 1 , wherein the determining attributes associated with the first memory device comprises:

interpreting a system registry.

8. The method of claim 1 , wherein the determining attributes associated with the other memory devices comprises:

interpreting a system registry.

9. The method of claim 1 , wherein the determining attributes associated with the first memory device comprises:

interpreting a memory device list.

10. The method of claim 1 , wherein the determining attributes associated with the other memory devices comprises:

interpreting a memory device list.

11. The method of claim 1 , wherein the attributes of the memory device comparing favorably to the attributes associated with the first memory device comprises:

determining the attributes of the memory device include a substantially similar available capacity level as the attributes associated with the first memory device.

12. The method of claim 1 , wherein the attributes of the memory device comparing favorably to the attributes associated with the first memory device comprises:

determining the attributes of the memory device include a substantially similar end-of-life timeframe as the attributes associated with the first memory device.

13. The method of claim 1 , wherein the attributes of the memory device comparing favorably to the attributes associated with the first memory device comprises:

determining the attributes of the memory device include a same serial number range as the attributes associated with the first memory device.

14. The method of claim 1 , wherein the attributes of the memory device comparing favorably to the attributes associated with the first memory device comprises:

determining the attributes of the memory device include a substantially similar performance level as the attributes associated with the first memory device.

15. The method of claim 1 , wherein the attributes of the memory device comparing favorably to the attributes associated with the first memory device comprises:

determining the attributes of the memory device include a same manufacture as the attributes associated with the first memory device.

16. The method of claim 1 , wherein the rebuilding the encoded data slice comprises:

obtaining a decode threshold number of encoded data slices of the set of encoded data slices;

decoding the decode threshold number of encoded data slices to produce recovered data; and

error encoding that recovered data to produce the rebuilt encoded data slice.

17. The method of claim 1 further comprises:

associating a slice name of the rebuilt encoded data slice with the selected memory device.

18. The method of claim 17 , wherein the associating comprises:

updating a directory to include the slice name associated with the selected memory device and to disassociated the slice name from the first memory device.

19. The method of claim 17 , wherein the associating comprises:

updating an index to include the slice name associated with the selected memory device and to disassociated the slice name from the first memory device.

20. The method of claim 1 , wherein the plurality of memory devices include “m” types of memory devices, and wherein each storage unit of the set of storage unit includes a first type of memory device of the “m” types of memory devices, and a second type of memory device of the “m” types of memory devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2022
From: PEAKE, ANDREW G.; RESCH, JASON K.
To: PURE STORAGE, INC.
Reel/Frame 059060/0244 →
Continuity (8)
Continuation In Part 16862166 · Apr 29, 2020
Continuation 16256649 · Jan 24, 2019
Continuation In Part 15805085 · Nov 6, 2017
Continuation 14721723 · May 26, 2015
Continuation In Part 14707943 · May 8, 2015
Provisional Application 62031320 · Jul 31, 2014
Provisional Application 62019074 · Jun 30, 2014
Related Publication 20220174114A1 · Jun 2, 2022