IP Library Granted Patent US 10,025,665
Granted Patent B2
US 10,025,665 · App. 15/184,614 · Granted Jul 17, 2018

Multi-stage slice recovery in a dispersed storage network

Inventor: Jason K. Resch (Chicago, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/1076G06F3/064G06F3/065G06F3/067G06F3/0619G06F11/1662G06F17/3053G06F17/30312G06F17/30545G06F17/30575G06F17/30578H03M13/33H03M13/3761H04L65/4076H04L67/06H04L67/1095H04L67/1097H04L67/16G06F2201/805H03M13/1515
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,025,665
App. No.
15/184,614
Granted
Jul 17, 2018
Kind
B2
Abstract

A method for use by a computing device in a dispersed storage network (DSN) to recover corrupt encoded data slices. In response to a request to storage units of the DSN for encoded data slices corresponding to a data segment, the computing device of a receives less than a decode threshold number of valid encoded data slices and at least one integrity error message that provides an indication of a corrupt encoded data slice. The computing device requests and receives at least one corrupt encoded data slice corresponding to the integrity error message(s). Utilizing at least one correction approach involving stored integrity data, the computing device then corrects the corrupt slice(s) to produce a decode threshold number of encoded data slices in order to decode the corresponding data segment. A variety of correction approaches may be employed, including a multi-stage approach that utilizes data from both valid and invalid slices.

Claims (16)

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:

in response to a request for encoded data slices, receiving less than a decode threshold number of encoded data slices and at least one integrity error message from a set of storage units of the DSN in which the encoded data slices are stored, wherein each of the encoded data slices is an encoded portion of a corresponding data segment, and the at least one integrity error message provides an indication of a corrupt encoded data slice;

requesting at least one corrupt encoded data slice from the set of storage units;

receiving the at least one corrupt encoded data slice; and

correcting the at least one corrupt encoded data slice, utilizing at least one correction approach, to produce at least the decode threshold number of encoded data slices.

2. The method of claim 1 , further comprising:

decoding the decode threshold number of encoded data slices to generate the corresponding data segment.

3. The method of claim 1 , wherein correcting the at least one corrupt encoded data slice includes:

selecting a first correction approach based on available integrity information;

attempting to correct the at least one corrupt encoded data slice using the first correction approach;

in response to determining that the first correction approach was not successful, selecting a second correction approach based on available integrity information; and

correcting the at least one corrupt encoded data slice using the second correction approach.

4. The method of claim 1 , wherein the at least one correction approach includes applying stored integrity information corresponding to the at least one corrupt encoded data slice to determine if the data of the encoded data slice is valid.

5. The method of claim 1 , the at least one correction approach utilizing slice substitution and a stored integrity value corresponding to a pre-encoded version of the data segment.

6. The method of claim 1 , wherein the at least one correction approach includes byte-by-byte recovery of the at least one corrupt encoded data slice utilizing valid bytes, in a common byte position, from a decode threshold number of encoded data slices.

7. The method of claim 1 , the at least one correction approach utilizing at least one of: stored integrity information regarding the data segment, stored integrity information generated by a dispersed storage error encoding process during encoding of the encoded data slices, or stored integrity information regarding individual ones of the encoded data slices generated prior to storage of the encoded data slices in the set of storage units.

Assignments (5)
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 Jun 16, 2016
From: RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038934/0817 →
Continuity (2)
Provisional Application 62186590 · Jun 30, 2015
Related Publication 20170004041A1 · Jan 5, 2017