IP Library Granted Patent US 10,049,120
Granted Patent B2
US 10,049,120 · App. 14/794,723 · Granted Aug 14, 2018

Consistency based access of data in a dispersed storage network

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,049,120
App. No.
14/794,723
Granted
Aug 14, 2018
Kind
B2
Abstract

A method begins by a requesting entity sending a normal data segment access request to first and second groups of storage units of a dispersed storage network. The method continues with the requesting entity sending a group failure data segment access request to the first group of storage units when the second group of storage units has less than a decode threshold number of encoded data slices of a set of encoded data slices available. When the second group of storage units has reestablished that the at least the decode threshold number of encoded data slices is available, the method continues with the requesting entity sending a re-integration data segment write request to the first and second groups of storage units and sending a re-integration data segment read request to the first group of storage units.

Claims (54)

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN) that stores a set of encoded data slices, wherein a data segment is dispersed storage error encoded into the set of encoded data slices in accordance with a plurality of error encoding parameters that includes a width number and a decode threshold number, wherein the set of encoded data slices includes a width number of encoded data slices in accordance with the width number of the plurality of error encoding parameters, and wherein the data segment is recoverable from a decode threshold number of encoded data slices of the set of encoded data slices in accordance with the decode threshold number of the plurality of error encoding parameters, the method comprises:

sending, by a requesting entity, a normal data segment access request to first and second groups of storage units of the DSN, wherein each of the first and second groups of storage units includes a processor and a memory and is allocated a unique subset of encoded data slices of the set of encoded data slices, wherein each unique subset of encoded data slices includes at least the decode threshold number of encoded data slices, and wherein the normal data segment access request is regarding a first number of encoded data slices of the set of encoded data slices that exceeds the at least the decode threshold number of encoded data slices in each of the unique subsets of encoded data slices;

detecting that the second group of storage units has less than the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices available;

sending, by the requesting entity, a group failure data segment access request to the first group of storage units in response to detecting that the second group of storage units has less than the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices available, wherein the group failure data segment access request is regarding a second number of encoded data slices of the set of encoded data slices that is equal to or less than the at least the decode threshold number of encoded data slices in each of the unique subsets of encoded data slices and is equal to or greater than the decode threshold number;

detecting that the second group of storage units has reestablished that the at least the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices is available;

sending, by the requesting entity, a re-integration data segment write request to the first and second groups of storage units in response to detecting that the second group of storage units has reestablished that the at least the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices is available, wherein the re-integration data segment write request is regarding the at least the decode threshold number of encoded data slices; and

sending, by the requesting entity, a re-integration data segment read request to the first group of storage units in response to detecting that the second group of storage units has reestablished that the at least the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices is available, wherein the re-integration data segment read request is regarding the second number of encoded data slices.

2. The method of claim 1 further comprises:

the width number is equal to or greater than two times the decode threshold number.

3. The method of claim 1 further comprises:

sending, by the requesting entity, a normal data segment read request as the normal data segment access request to the first and second groups of storage units of the DSN;

receiving, by the requesting entity, first encoded data slices of the unique subset of encoded data slices stored by the first group of storage units;

receiving, by the requesting entity, second encoded data slices of the unique subset of encoded data slices stored by the second group of storage units; and

determining, by the requesting entity, data consistency of the first and second encoded data slices.

4. The method of claim 1 further comprises:

when the second group of storage units has less than the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices available and the group failure data segment access request is a read request, establishing the second number as a read threshold number.

5. The method of claim 1 further comprises:

when the second group of storage units has less than the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices available and the group failure data segment access request is a write request, establishing the second number as a write threshold number.

6. The method of claim 1 further comprises:

when the second group of storage units has reestablished that the at least the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices is available, determining whether at least one encoded data slice of the corresponding unique subset of encoded data slices requires rebuilding;

when the at least one encoded data slice of the corresponding unique subset of encoded data slices requires rebuilding, rebuilding the at least one encoded data slice; and

returning to use of the normal data segment access request.

7. The method of claim 1 further comprises:

storing, by a plurality of groups of storage units, the set of encoded data slices, wherein the width number is equal to or greater than n times the number of groups in the plurality of groups, wherein the plurality of groups of storage units includes the first and second groups of storage units, wherein each of the plurality of groups of storage units is allocated a unique subset of encoded data slices of the set of encoded data slices.

8. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a dispersed storage network (DSN) that stores a set of encoded data slices, wherein a data segment is dispersed storage error encoded into the set of encoded data slices in accordance with a plurality of error encoding parameters that includes a width number and a decode threshold number, wherein the set of encoded data slices includes a width number of encoded data slices in accordance with the width number of the plurality of error encoding parameters, and wherein the data segment is recoverable from a decode threshold number of encoded data slices of the set of encoded data slices in accordance with the decode threshold number of the plurality of error encoding parameters, causes the one or more computing devices to:

send, by a requesting entity, a normal data segment access request to first and second groups of storage units of the DSN, wherein each of the first and second groups of storage units includes a processor and a memory and is allocated a unique subset of encoded data slices of the set of encoded data slices, wherein each unique subset of encoded data slices includes at least the decode threshold number of encoded data slices, and wherein the normal data segment access request is regarding a first number of encoded data slices of the set of encoded data slices that exceeds the at least the decode threshold number of encoded data slices in each of the unique subsets of encoded data slices;

detect that the second group of storage units has less than the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices available;

send, by the requesting entity, a group failure data segment access request to the first group of storage units in response to detecting that the second group of storage units has less than the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices available, wherein the group failure data segment access request is regarding a second number of encoded data slices of the set of encoded data slices that is equal to or less than the at least the decode threshold number of encoded data slices in each of the unique subsets of encoded data slices and is equal to or greater than the decode threshold number;

detect that the second group of storage units has reestablished that the at least the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices is available;

send, by the requesting entity, a re-integration data segment write request to the first and second groups of storage units in response to detecting that the second group of storage units has reestablished that the at least the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices is available, wherein the re-integration data segment write request is regarding the at least the decode threshold number of encoded data slices; and

send, by the requesting entity, a re-integration data segment read request to the first group of storage units in response to detecting that the second group of storage units has reestablished that the at least the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices is available, wherein the re-integration data segment read request is regarding the second number of encoded data slices.

9. The non-transitory computer readable storage medium of claim 8 further comprises:

the width number is equal to or greater than two times the decode threshold number.

10. The non-transitory computer readable storage medium of claim 8 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

send, by the requesting entity, a normal data segment read request as the normal data segment access request to the first and second groups of storage units of the DSN;

receive, by the requesting entity, first encoded data slices of the unique subset of encoded data slices stored by the first group of storage units;

receive, by the requesting entity, second encoded data slices of the unique subset of encoded data slices stored by the second group of storage units; and

determine, by the requesting entity, data consistency of the first and second encoded data slices.

11. The non-transitory computer readable storage medium of claim 8 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

when the second group of storage units has less than the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices available and the group failure data segment access request is a read request, establish the second number as a read threshold number.

12. The non-transitory computer readable storage medium of claim 8 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

when the second group of storage units has less than the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices available and the group failure data segment access request is a write request, establish the second number as a write threshold number.

13. The non-transitory computer readable storage medium of claim 8 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

when the second group of storage units has reestablished that the at least the decode threshold number of encoded data slices of the corresponding unique subset of encoded data slices is available, determining whether at least one encoded data slice of the corresponding unique subset of encoded data slices requires rebuilding;

when the at least one encoded data slice of the corresponding unique subset of encoded data slices requires rebuilding, rebuilding the at least one encoded data slice; and

returning to use of the normal data segment access request.

14. The non-transitory computer readable storage medium of claim 8 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

store, by a plurality of groups of storage units, the set of encoded data slices, wherein the width number is equal to or greater than n times the number of groups in the plurality of groups, wherein the plurality of groups of storage units includes the first and second groups of storage units, wherein each of the plurality of groups of storage units is allocated a unique subset of encoded data slices of the set of encoded data slices.

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 Jul 22, 2015
From: RESCH, JASON K.; BAPTIST, ANDREW; MCSHANE, NIALL JOHN; DHUSE, GREG; SHIRLEY, THOMAS FRANKLIN, JR.; PALINCKX, GREGORY; KENNEDY, RUSSELL PAUL; GLADWIN, S. CHRISTOPHER; MCCAMMON, ROBERT CLARK; SHERER, JAMES
To: CLEVERSAFE, INC.
Reel/Frame 036154/0350 →