IP Library Patent Application 16171585
Patent Application
App. No. 16/171,585

IDENTIFYING ENCODED DATA SLICES FOR REBUILDING

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 None
App. No.
16/171,585
Abstract

A method for identifying encoded data slices for rebuilding includes determining, by a computing device of a dispersed storage network (DSN), a partial scanning approach based on an event, where the event is one of a plurality of possible events. When the event is a memory device issue, the method further includes selecting a first partial scanning approach that includes: sending a scan memory device request to the storage unit to scan the memory device for encoded data slices affected by the memory device issue, receiving a scan memory device response from the storage unit, and identifying the encoded data slices indicated in the scan memory device response for rebuilding.

Claims (69)

1 . A method for identifying encoded data slices for rebuilding, the method comprises:

determining, by a computing device of a dispersed storage network (DSN), an event, wherein the event is one of a plurality of possible events;

determining, by the computing device, a partial scanning approach based on the event;

when the event is a memory device issue of a memory device of a storage unit of a set of storage units of the DSN, selecting, by the computing device, a first partial scanning approach that includes:

sending, by the computing device, a scan memory device request to the storage unit to scan the memory device for encoded data slices affected by the memory device issue, wherein the scan memory device request includes a request to list slice names of encoded data slices stored in the memory device;

receiving, by the computing device, a scan memory device response from the storage unit; and

identifying, by the computing device, the encoded data slices indicated in the scan memory device response for rebuilding.

2 . The method of claim 1 further comprises:

when the event is a periodic scan of a storage unit of the set of storage units, selecting, by the computing device, a second partial scanning approach that includes:

sending, by the computing device, a slice integrity scan request to the storage unit;

receiving, by the computing device, a slice integrity scan response from the storage unit; and

identifying, by the computing device, encoded data slices indicated in the slice integrity scan response for rebuilding.

3 . The method of claim 1 further comprises:

when the event is a storage unit failure, selecting, by the computing device, a third partial scanning approach that includes:

sending, by the computing device, a scan storage unit request to the failed storage unit;

receiving, by the computing device, a scan storage unit response from the failed storage unit; and

identifying, by the computing device, encoded data slices indicated in the scan storage unit response for rebuilding.

4 . The method of claim 1 further comprises:

when the event is a write operation error, selecting, by the computing device, a fourth partial scanning approach that includes:

flagging, by the computing device, encoded data slices for rebuilding based on the write operation error.

5 . The method of claim 1 further comprises:

when the event is an unclean shutdown of a storage unit of the set of storage units, selecting, by the computing device, a fifth partial scanning approach that includes:

sending, by the computing device, a scan storage unit request to the storage unit, wherein the scan storage unit request includes one of:

a request to list slices names of encoded data slices stored across memory devices of the storage unit; and

a request to list slices names of encoded data slices of operations open within a time frame prior to the unclean shutdown; and

receiving, by the computing device, a scan storage unit response from the storage unit; and

identifying, by the computing device, encoded data slices indicated in the scan storage unit response for rebuilding.

6 . The method of claim 1 further comprises:

when the event is an unclean shutdown of the set of storage units, selecting, by the computing device, a full scanning approach that includes:

sending, by the computing device, a set of scan storage unit requests to the set of storage units;

receiving, by the computing device, a set of scan storage unit responses from the set of storage units; and

identifying, by the computing device, encoded data slices indicated in the set of scan storage unit responses for rebuilding.

7 . The method of claim 1 , wherein the determining the partial scanning approach is further based on one or more of: a performance goal, a performance level, a network loading level, a network loading level goal, interpreting an entry of a system registry, the slice name associated with the event, and a predetermination.

8 . A computing device of a dispersed storage network (DSN), the computing device comprises:

an interface;

memory; and

a processing module operably coupled to the memory and the interface, wherein the processing module is operable to identify encoded data slices for rebuilding by:

determining an event, wherein the event is one of a plurality of possible events;

determining a partial scanning approach based on the event;

when the event is a memory device issue of a memory device of a storage unit of a set of storage units of the DSN, selecting a first partial scanning approach that includes:

sending a scan memory device request to the storage unit to scan the memory device for encoded data slices affected by the memory device issue, wherein the scan memory device request includes a request to list slice names of encoded data slices stored in the memory device;

receiving a scan memory device response from the storage unit; and

identifying the encoded data slices indicated in the scan memory device response for rebuilding.

9 . The computing device of claim 8 , wherein the processing module is further operable to:

when the event is a periodic scan of a storage unit of the set of storage units, select a second partial scanning approach that includes:

send a slice integrity scan request to the storage unit;

receive a slice integrity scan response from the storage unit; and

identify encoded data slices indicated in the slice integrity scan response for rebuilding.

10 . The computing device of claim 8 , wherein the processing module is further operable to:

when the event is a storage unit failure, select a third partial scanning approach that includes:

sending a scan storage unit request to the failed storage unit;

receiving a scan storage unit response from the failed storage unit; and

identifying encoded data slices indicated in the scan storage unit response for rebuilding.

11 . The computing device of claim 8 , wherein the processing module is further operable to:

when the event is a write operation error, select a fourth partial scanning approach that includes:

flagging encoded data slices for rebuilding based on the write operation error.

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

when the event is an unclean shutdown of a storage unit of the set of storage units, select a fifth partial scanning approach that includes:

sending a scan storage unit request to the storage unit, wherein the scan storage unit request includes one of:

a request to list slices names of encoded data slices stored across memory devices of the storage unit; and

a request to list slices names of encoded data slices of operations open within a time frame prior to the unclean shutdown; and

receiving a scan storage unit response from the storage unit; and

identifying encoded data slices indicated in the scan storage unit response for rebuilding.

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

when the event is an unclean shutdown of the set of storage units, select a full scanning approach that includes:

sending a set of scan storage unit requests to the set of storage units;

receiving a set of scan storage unit responses from the set of storage units; and

identifying encoded data slices indicated in the set of scan storage unit responses for rebuilding.

14 . The computing device of claim 8 , wherein the determining the partial scanning approach is further based on one or more of: a performance goal, a performance level, a network loading level, a network loading level goal, interpreting an entry of a system registry, the slice name associated with the event, and a predetermination.

Assignments (4)
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 Nov 7, 2018
From: SHIRLEY, THOMAS F., JR.; GRUBE, GARY W.; CILFONE, BART R.; KHADIWALA, RAVI V.; DHUSE, GREG R.; COCAGNE, THOMAS D.; STORM, MICHAEL C.; VEDPATHAK, YOGESH R.; LEGGETTE, WESLEY B.; RESCH, JASON K.; BAPTIST, ANDREW D.; VOLVOVSKI, ILYA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047446/0929 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2018
From: SHIRLEY, THOMAS F., JR.; GRUBE, GARY W.; CILFONE, BART R.; KHADIWALA, RAVI V.; DHUSE, GREG R.; COCAGNE, THOMAS D.; VEDPATHAK, YOGESH R.; LEGGETTE, WESLEY B.; RESCH, JASON K.; BAPTIST, ANDREW D.; VOLVOVSKI, ILYA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047328/0374 →