IP Library Granted Patent US 10,083,081
Granted Patent B2
US 10,083,081 · App. 15/005,306 · Granted Sep 25, 2018

Responding to a maintenance free storage container security threat

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,083,081
App. No.
15/005,306
Granted
Sep 25, 2018
Kind
B2
Abstract

A method includes detecting a storage error regarding an encoded data slice. The method further includes determining failure mode information regarding a set of storage units. The method further includes determining, based on the failure mode information, whether to use a data-based rebuilding protocol or a zero information gain rebuilding protocol for rebuilding the encoded data slice. The method further includes, when the zero information gain rebuilding protocol is to be used to rebuild the encoded data slice retrieving zero information gain partial encoded data slices from one or more storage servers of the set of storage servers; and rebuilding the encoded data slices based on the zero information gain partial encoded data slices.

Claims (81)

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

detecting a storage error regarding an encoded data slice, wherein a data object is dispersed storage error encoded into a plurality of sets of encoded data slices, wherein a data segment of the data object is dispersed storage error encoded into a set of encoded data slices of the plurality of sets of encoded data slices, wherein a decode threshold number of encoded data slices of the set of encoded data slices is needed to rebuild the data segment, wherein the encoded data slice is one of the set of encoded data slices, and wherein the plurality of sets of encoded data slices is stored in a set of storage servers;

determining failure mode information regarding the set of storage servers;

determining, based on the failure mode information, whether to use a data-based rebuilding protocol or a zero information gain rebuilding protocol for rebuilding the encoded data slice; and

when the zero information gain rebuilding protocol is to be used to rebuild the encoded data slice:

retrieving zero information gain partial encoded data slices from one or more storage servers of the set of storage servers; and

rebuilding the encoded data slices based on the zero information gain partial encoded data slices.

2. The method of claim 1 further comprises:

when the data-based rebuilding protocol is to be used to rebuild the encoded data slice:

retrieving the decoded threshold number of encoded data slices from a sub set of the set of storage servers;

dispersed storage error decoding the decode threshold number of encoded data slices to recover the data segment; and

re-encoding the data segment to rebuild the encoded data slice.

3. The method of claim 1 , wherein the detecting the storage error regarding the encoded data slice comprises one of:

determining a list response of one of the storage servers of the set of storage servers compares unfavorably to a list response from another storage server of the set of storage servers;

determining that a calculated slice integrity value of the encoded data slice compares unfavorably to a retrieved slice integrity value corresponding to the encoded data slice;

determining that one of the storage servers is in a failure mode; and

receiving a rebuild request for the encoded data slice.

4. The method of claim 1 , wherein the failure mode information comprises one or more of:

a listing of failed storage locations within the set of storage servers;

an indication that a particular storage server of the set of storage servers has failed; and

an indication that another storage server of the set of storage servers is operating at less than a desired storage level but greater than a storage failure level.

5. The method of claim 1 further comprises:

determining to use the data-based rebuilding protocol when a number of storage servers of the set of storage servers in a non-failure mode is equal to or greater than a threshold number; and

determining to use the zero information gain rebuilding protocol when the number of storage servers of the set of storage servers in the non-failure mode is less than the threshold number.

6. A rebuilding apparatus comprises:

a first module, when operable within a computing device, causes the computing device to:

detect a storage error regarding an encoded data slice, wherein a data object is dispersed storage error encoded into a plurality of sets of encoded data slices, wherein a data segment of the data object is dispersed storage error encoded into a set of encoded data slices of the plurality of sets of encoded data slices, wherein a decode threshold number of encoded data slices of the set of encoded data slices is needed to rebuild the data segment, wherein the encoded data slice is one of the set of encoded data slices, and wherein the plurality of sets of encoded data slices is stored in a set of storage servers;

a second module, when operable within the computing device, causes the computing device to:

determine failure mode information regarding the set of storage servers;

a third module, when operable within the computing device, causes the computing device to:

determine, based on the failure mode information, whether to use a data-based rebuilding protocol or a zero information gain rebuilding protocol for rebuilding the encoded data slice; and

a fourth module, when operable within the computing device, causes the computing device to:

when the zero information gain rebuilding protocol is to be used to rebuild the encoded data slice:

retrieve zero information gain partial encoded data slices from one or more storage servers of the set of storage servers; and

rebuild the encoded data slices based on the zero information gain partial encoded data slices.

7. The rebuilding apparatus of claim 6 further comprises:

a fifth module, when operable within the computing device, causes the computing device to:

when the data-based rebuilding protocol is to be used to rebuild the encoded data slice:

retrieve the decoded threshold number of encoded data slices from a sub set of the set of storage servers;

dispersed storage error decode the decode threshold number of encoded data slices to recover the data segment; and

re-encode the data segment to rebuild the encoded data slice.

8. The rebuilding apparatus of claim 6 , wherein the first module, when operable within the computing device, further causes the computing device to detect the storage error regarding the encoded data slice by one of:

determining a list response of one of the storage servers of the set of storage servers compares unfavorably to a list response from another storage server of the set of storage servers;

determining that a calculated slice integrity value of the encoded data slice compares unfavorably to a retrieved slice integrity value corresponding to the encoded data slice;

determining that one of the storage servers is in a failure mode; and

receiving a rebuild request for the encoded data slice.

9. The rebuilding apparatus of claim 6 , wherein the failure mode information comprises one or more of:

a listing of failed storage locations within the set of storage servers;

an indication that a particular storage server of the set of storage servers has failed; and

an indication that another storage server of the set of storage servers is operating at less than a desired storage level but greater than a storage failure level.

10. The rebuilding apparatus of claim 6 , wherein the third module, when operable within the computing device, further causes the computing device to:

determine to use the data-based rebuilding protocol when a number of storage servers of the set of storage servers in a non-failure mode is equal to or greater than a threshold number; and

determine to use the zero information gain rebuilding protocol when the number of storage servers of the set of storage servers in the non-failure mode is less than the threshold number.

11. A maintenance free storage container comprises:

a set of storage servers, wherein a data object is dispersed storage error encoded into a plurality of sets of encoded data slices, wherein a data segment of the data object is dispersed storage error encoded into a set of encoded data slices of the plurality of sets of encoded data slices, wherein a decode threshold number of encoded data slices of the set of encoded data slices is needed to rebuild the data segment, and wherein the plurality of sets of encoded data slices is stored in a set of storage servers;

an environmental controller operable to maintain a functioning environment for the set of storage servers;

a communication device operable to transceive data access requests regarding the plurality of sets of encoded data slices; and

a container controller operable to:

detect a storage error regarding an encoded data slice, wherein the encoded data slice is one of the set of encoded data slices;

determine failure mode information regarding the set of storage servers;

determine, based on the failure mode information, whether to use a data-based rebuilding protocol or a zero information gain rebuilding protocol for rebuilding the encoded data slice; and

when the zero information gain rebuilding protocol is to be used to rebuild the encoded data slice:

retrieve zero information gain partial encoded data slices from one or more storage servers of the set of storage servers; and

rebuild the encoded data slices based on the zero information gain partial encoded data slices.

12. The maintenance free storage container of claim 11 , wherein the container controller is further operable to:

when the data-based rebuilding protocol is to be used to rebuild the encoded data slice:

retrieve the decoded threshold number of encoded data slices from a sub set of the set of storage servers;

dispersed storage error decode the decode threshold number of encoded data slices to recover the data segment; and

re-encode the data segment to rebuild the encoded data slice.

13. The maintenance free storage container of claim 11 , wherein the container controller is further operable to detect the storage error regarding the encoded data slice by one of:

determining a list response of one of the storage servers of the set of storage servers compares unfavorably to a list response from another storage server of the set of storage servers;

determining that a calculated slice integrity value of the encoded data slice compares unfavorably to a retrieved slice integrity value corresponding to the encoded data slice;

determining that one of the storage servers is in a failure mode; and

receiving a rebuild request for the encoded data slice.

14. The maintenance free storage container of claim 11 , wherein the failure mode information comprises one or more of:

a listing of failed storage locations within the set of storage servers;

an indication that a particular storage server of the set of storage servers has failed; and

an indication that another storage server of the set of storage servers is operating at less than a desired storage level but greater than a storage failure level.

15. The maintenance free storage container of claim 11 , wherein the container controller is further operable to:

determine to use the data-based rebuilding protocol when a number of storage servers of the set of storage servers in a non-failure mode is equal to or greater than a threshold number; and

determine to use the zero information gain rebuilding protocol when the number of storage servers of the set of storage servers in the non-failure mode is less than the threshold number.

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 Jan 25, 2016
From: GLADWIN, S. CHRISTOPHER; RESCH, JASON K.; GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 037572/0485 →