IP Library Patent Application 15846728
Patent Application
App. No. 15/846,728

DETECTING STORAGE ERRORS IN A DISPERSED STORAGE NETWORK

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.
15/846,728
Abstract

A method for execution by a computing device includes updating a storage error list in response to detecting a write slice failure. The storage error list is also updated in response to detecting a failure of a storage unit memory, wherein the storage unit memory is utilized to store a first at least one of a plurality of encoded data slices. A first range error message is issued in response to detecting loss of a local slice name list associated with storage of a second at least one of the plurality of encoded data slices. The storage error list is updated in response to receiving a second range error message. Rebuilding of a third at least one of the plurality of encoded data slices is facilitated based on interpreting the storage error list.

Claims (107)

1 . A method for execution by a computing device that includes a processor, the method comprises:

updating a storage error list in response to detecting a write slice failure;

updating the storage error list in response to detecting a failure of a storage unit memory, wherein the storage unit memory is utilized to store a first at least one of a plurality of encoded data slices;

issuing a first range error message in response to detecting loss of a local slice name list associated with storage of a second at least one of the plurality of encoded data slices;

updating the storage error list in response to receiving a second range error message; and

facilitating rebuilding of a third at least one of the plurality of encoded data slices based on interpreting the storage error list.

2 . The method of claim 1 , wherein updating the storage error list in response to detecting the write slice failure includes:

identifying a slice name associated with write slice rhetoric of the write slice failure;

generating a modified storage error list to include the slice name; and

publishing the modified storage error list to at least one other entity of a dispersed storage network (DSN).

3 . The method of claim 1 , wherein updating the storage error list in response to detecting the failure of the storage unit memory includes:

identifying a plurality of slice names from the local slice name list;

generating a modified storage error list to include the plurality of slice names; and

publishing the modified storage error list to at least one other entity of a dispersed storage network (DSN).

4 . The method of claim 1 , wherein issuing the first range error message includes:

identifying a DSN address range associated with the local slice name list;

generating the first range error message to include the identified DSN address range;

selecting one storage unit from a plurality of storage units; and

sending the first range error message to the one storage unit.

5 . The method of claim 1 , wherein updating the storage error list in response to receiving the second range error message includes:

extracting a DSN address range from the second range error message;

identifying a plurality of locally stored encoded data slices associated with a local DSN address range that corresponds to the DSN address range;

identifying a plurality of identified slice names of the plurality of locally stored encoded data slices;

generating a plurality of generated slice names for the DSN address range based on the plurality of identified slice names;

generating a modified storage error list to include the plurality of generated slice names; and

publishing the modified storage error list.

6 . The method of claim 1 , wherein facilitating rebuilding of the third at least one of the plurality of encoded data slices includes:

extracting a slice name of the third at least one of the plurality of encoded data slices from the storage error list;

obtaining a decode threshold number of encoded data slices of a data segment associated with the slice name;

dispersed storage error decoding the decode threshold number of encoded data slices to generate a reproduced data segment;

dispersed storage error encoding the reproduced data segment to produce a rebuilt encoded data slice associated with the slice name; and

facilitating storage of the rebuilt encoded data slice in a memory of a storage unit associated with the slice name.

7 . The method of claim 6 , wherein obtaining the decode threshold number of encoded data slices includes:

generating a decode threshold number of other slice names associated with the data segment;

issuing a plurality of read slice requests that includes the decode threshold number of other slice names to a plurality of storage units; and

receiving a plurality of read slice responses that includes the decode threshold number of encoded data slices.

8 . A processing system of a computing device comprises:

at least one processor;

a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to:

update a storage error list in response to detecting a write slice failure;

update the storage error list in response to detecting a failure of a storage unit memory, wherein the storage unit memory is utilized to store a first at least one of a plurality of encoded data slices;

issue a first range error message in response to detecting loss of a local slice name list associated with storage of a second at least one of the plurality of encoded data slices;

update the storage error list in response to receiving a second range error message; and

facilitate rebuilding of a third at least one of the plurality of encoded data slices based on interpreting the storage error list.

9 . The processing system of claim 8 , wherein updating the storage error list in response to detecting the write slice failure includes:

identifying a slice name associated with write slice rhetoric of the write slice failure;

generating a modified storage error list to include the slice name; and

publishing the modified storage error list to at least one other entity of a dispersed storage network (DSN).

10 . The processing system of claim 8 , wherein updating the storage error list in response to detecting the failure of the storage unit memory includes:

identifying a plurality of slice names from the local slice name list;

generating a modified storage error list to include the plurality of slice names; and

publishing the modified storage error list to at least one other entity of a dispersed storage network (DSN).

11 . The processing system of claim 8 , wherein issuing the first range error message includes:

identifying a DSN address range associated with the local slice name list;

generating the first range error message to include the identified DSN address range;

selecting one storage unit from a plurality of storage units; and

sending the first range error message to the one storage unit.

12 . The processing system of claim 8 , wherein updating the storage error list in response to receiving the second range error message includes:

extracting a DSN address range from the second range error message;

identifying a plurality of locally stored encoded data slices associated with a local DSN address range that corresponds to the DSN address range;

identifying a plurality of identified slice names of the plurality of locally stored encoded data slices;

generating a plurality of generated slice names for the DSN address range based on the plurality of identified slice names;

generating a modified storage error list to include the plurality of generated slice names; and

publishing the modified storage error list.

13 . The processing system of claim 8 , wherein facilitating rebuilding of the third at least one of the plurality of encoded data slices includes:

extracting a slice name of the third at least one of the plurality of encoded data slices from the storage error list;

obtaining a decode threshold number of encoded data slices of a data segment associated with the slice name;

dispersed storage error decoding the decode threshold number of encoded data slices to generate a reproduced data segment;

dispersed storage error encoding the reproduced data segment to produce a rebuilt encoded data slice associated with the slice name; and

facilitating storage of the rebuilt encoded data slice in a memory of a storage unit associated with the slice name.

14 . The processing system of claim 13 , wherein obtaining the decode threshold number of encoded data slices includes:

generating a decode threshold number of other slice names associated with the data segment;

issuing a plurality of read slice requests that includes the decode threshold number of other slice names to a plurality of storage units; and

receiving a plurality of read slice responses that includes the decode threshold number of encoded data slices.

15 . A computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage network (DSN) that includes a processor and a memory, causes the processing system to:

update a storage error list in response to detecting a write slice failure;

update the storage error list in response to detecting a failure of a storage unit memory, wherein the storage unit memory is utilized to store a first at least one of a plurality of encoded data slices;

issue a first range error message in response to detecting loss of a local slice name list associated with storage of a second at least one of the plurality of encoded data slices;

update the storage error list in response to receiving a second range error message; and

facilitate rebuilding of a third at least one of the plurality of encoded data slices based on interpreting the storage error list.

16 . The computer readable storage medium of claim 15 , wherein updating the storage error list in response to detecting the write slice failure includes:

identifying a slice name associated with write slice rhetoric of the write slice failure;

generating a modified storage error list to include the slice name; and

publishing the modified storage error list to at least one other entity of a dispersed storage network (DSN).

17 . The computer readable storage medium of claim 15 , wherein updating the storage error list in response to detecting the failure of the storage unit memory includes:

identifying a plurality of slice names from the local slice name list;

generating a modified storage error list to include the plurality of slice names; and

publishing the modified storage error list to at least one other entity of a dispersed storage network (DSN).

18 . The computer readable storage medium of claim 15 , wherein issuing the first range error message includes:

identifying a DSN address range associated with the local slice name list;

generating the first range error message to include the identified DSN address range;

selecting one storage unit from a plurality of storage units; and

sending the first range error message to the one storage unit.

19 . The computer readable storage medium of claim 15 , wherein updating the storage error list in response to receiving the second range error message includes:

extracting a DSN address range from the second range error message;

identifying a plurality of locally stored encoded data slices associated with a local DSN address range that corresponds to the DSN address range;

identifying a plurality of identified slice names of the plurality of locally stored encoded data slices;

generating a plurality of generated slice names for the DSN address range based on the plurality of identified slice names;

generating a modified storage error list to include the plurality of generated slice names; and

publishing the modified storage error list.

20 . The computer readable storage medium of claim 15 , wherein facilitating rebuilding of the third at least one of the plurality of encoded data slices includes:

extracting a slice name of the third at least one of the plurality of encoded data slices from the storage error list;

obtaining a decode threshold number of encoded data slices of a data segment associated with the slice name;

dispersed storage error decoding the decode threshold number of encoded data slices to generate a reproduced data segment;

dispersed storage error encoding the reproduced data segment to produce a rebuilt encoded data slice associated with the slice name; and

facilitating storage of the rebuilt encoded data slice in a memory of a storage unit associated with the slice name.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 050451/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2017
From: LEGGETTE, WESLEY B.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044445/0502 →