IP Library Granted Patent US 9,875,158
Granted Patent B2
US 9,875,158 · App. 15/266,011 · Granted Jan 23, 2018

Slice storage in a dispersed storage network

Inventors: Kumar Abhijeet (Chicago, IL); Wesley B. Leggette (Chicago, IL); Jason K. Resch (Chicago, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/1076G06F3/064G06F3/067G06F3/0619G06F3/0659G06F11/142G06F21/10G06F21/60G06F21/6272H03M13/611H04L9/0861H04L9/0894G06F11/0712G06F11/0784G06F11/0787H03M13/616H04L67/1097H04L2209/34
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 9,875,158
App. No.
15/266,011
Granted
Jan 23, 2018
Kind
B2
Abstract

A method for use in a dispersed storage network (DSN) operates to output at least a write threshold number of write slice requests to a set of storage units of the DSN and receive write slice responses from the set of storage units. When the write threshold number of favorable write slice responses is received, the method includes generating a corresponding number of commit requests and outputting the number of commit requests to associated storage units corresponding to the write threshold number of favorable write slice responses received.

Claims (58)

1. A method for execution by a dispersed storage and task (DST) processing unit that includes a processor, the method comprises:

receiving, at a processing system, a data object for storage in a dispersed storage and task network (DSTN);

determining, by the processing system, a retrieval reliability level associated with the data object;

determining, by the processing system, baseline dispersal parameters for storage of the data object utilizing a dispersed storage error coding function;

determining, by the processing system, a write threshold value for storage of the data object utilizing the dispersed storage error coding function based on the retrieval reliability level;

encoding, by the processing system, the data object utilizing the dispersed storage error coding function in accordance with the baseline dispersal parameters to produce a plurality of sets of encoded data slices;

for each set of encoded data slices of the plurality of sets of encoded data slices, generating, by the processing system, a set of write slice requests that includes the set of encoded data slices;

outputting, by the processing system, at least a write threshold number of write slice requests to a set of DST execution units of the DSTN;

receiving, by the processing system, write slice responses from the set of DST execution units;

when the write threshold number of favorable write slice responses is received:

generating, by the processing system, a corresponding number of commit requests; and

outputting, by the processing system, the number of commit requests to associated DST execution units corresponding to the write threshold number of favorable write slice responses received.

2. The method of claim 1 wherein the data object includes at least one of: a data file, a metadata file, a segment allocation table file, or an index node file.

3. The method of claim 1 wherein a higher retrieval reliability level is associated with the data object, when the data object includes at least one of: a metadata file, a segment allocation table file, or an index node file, and wherein a lower retrieval reliability level is associated with the data object, when the data object includes at least one other file type not including a metadata file, a segment allocation table file, or an index node file.

4. The method of claim 1 wherein determining the retrieval reliability level includes at least one of: a lookup of the retrieval reliability level, receiving the retrieval reliability level, a query for the retrieval reliability level, accessing a historical reliability record for the retrieval reliability level, and retrieving the retrieval reliability level.

5. The method of claim 1 wherein the baseline dispersal parameters include one or more of: a pillar width value, a decode threshold value, and an encoding matrix.

6. The method of claim 1 wherein determining the baseline dispersal parameters is based on one or more of: the retrieval reliability level associated with the data object, a lookup of the baseline dispersal parameters, a predetermination of the baseline dispersal parameters, and receiving the baseline dispersal parameters.

7. The method of claim 1 further comprising:

generating a set of slice names corresponding to the set of encoded data slices.

8. The method of claim 1 wherein the write slice response includes an indicator of success or failure of the write slice request.

9. The method of claim 1 wherein outputting the number of commit requests includes outputting one commit request to each DST execution unit corresponding to one of the write threshold number of favorable write slice responses received.

10. A processing system of a dispersed storage and task (DST) processing unit 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:

receive a data object for storage in a dispersed storage and task network (DSTN);

determine a retrieval reliability level associated with the data object;

determine baseline dispersal parameters for storage of the data object utilizing a dispersed storage error coding function;

determine a write threshold value for storage of the data object utilizing the dispersed storage error coding function based on the retrieval reliability level;

encode the data object utilizing the dispersed storage error coding function in accordance with the baseline dispersal parameters to produce a plurality of sets of encoded data slices;

for each set of encoded data slices of the plurality of sets of encoded data slices, generate a set of write slice requests that includes the set of encoded data slices;

output at least a write threshold number of write slice requests to a set of DST execution units of the DSTN;

receive write slice responses from the set of DST execution units;

when the write threshold number of favorable write slice responses is received:

generate a corresponding number of commit requests; and

output the number of commit requests to associated DST execution units corresponding to the write threshold number of favorable write slice responses received.

11. The processing system of claim 10 wherein the data object includes at least one of: a data file, a metadata file, a segment allocation table file, or an index node file.

12. The processing system of claim 10 wherein a higher retrieval reliability level is associated with the data object, when the data object includes at least one of: a metadata file, a segment allocation table file, or an index node file, and wherein a lower retrieval reliability level is associated with the data object, when the data object includes at least one other file type not including a metadata file, a segment allocation table file, or an index node file.

13. The processing system of claim 10 wherein determining the retrieval reliability level includes at least one of: a lookup of the retrieval reliability level, receiving the retrieval reliability level, a query for the retrieval reliability level, accessing a historical reliability record for the retrieval reliability level, and retrieving the retrieval reliability level.

14. The processing system of claim 10 wherein the baseline dispersal parameters include one or more of: a pillar width value, a decode threshold value, and an encoding matrix.

15. The processing system of claim 10 wherein determining the baseline dispersal parameters is based on one or more of: the retrieval reliability level associated with the data object, a lookup of the baseline dispersal parameters, a predetermination of the baseline dispersal parameters, and receiving the baseline dispersal parameters.

16. The processing system of claim 10 wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

generate a set of slice names corresponding to the set of encoded data slices.

17. The processing system of claim 10 wherein the write slice response includes an indicator of success or failure of the write slice request.

18. The processing system of claim 10 wherein outputting the number of commit requests includes outputting one commit request to each DST execution unit corresponding to one of the write threshold number of favorable write slice responses received.

19. A non-transitory 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:

receive a data object for storage in a dispersed storage and task network (DSTN);

determine a retrieval reliability level associated with the data object;

determine baseline dispersal parameters for storage of the data object utilizing a dispersed storage error coding function;

determine a write threshold value for storage of the data object utilizing the dispersed storage error coding function based on the retrieval reliability level;

encode the data object utilizing the dispersed storage error coding function in accordance with the baseline dispersal parameters to produce a plurality of sets of encoded data slices;

for each set of encoded data slices of the plurality of sets of encoded data slices, generate a set of write slice requests that includes the set of encoded data slices;

output at least a write threshold number of write slice requests to a set of DST execution units of the DSTN;

receive write slice responses from the set of DST execution units;

when the write threshold number of favorable write slice responses is received:

generate a corresponding number of commit requests; and

output the number of commit requests to associated DST execution units corresponding to the write threshold number of favorable write slice responses received.

20. The non-transitory computer readable storage medium of claim 19 wherein outputting the number of commit requests includes outputting one commit request to each DST execution unit corresponding to one of the write threshold number of favorable write slice responses received.

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 Sep 15, 2016
From: ABHIJEET, KUMAR; LEGGETTE, WESLEY B.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039754/0364 →
Continuity (4)
Continuation In Part 14844328 · Sep 3, 2015
Continuation 13944277 · Jul 17, 2013
Provisional Application 61696018 · Aug 31, 2012
Related Publication 20170004045A1 · Jan 5, 2017