IP Library Granted Patent US 10,613,936
Granted Patent B2
US 10,613,936 · App. 16/053,395 · Granted Apr 7, 2020

Fractional slices in a distributed storage system

Inventors: Niall J. McShane (Arlington Heights, IL); Jason K. Resch (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F11/1076G06F3/064G06F3/065G06F3/067G06F3/0619H03M13/2906H04L67/1097H03M13/1515H03M13/3761
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,613,936
App. No.
16/053,395
Granted
Apr 7, 2020
Kind
B2
Abstract

A method for a dispersed storage network (DSN) begins by encoding a data segment of data to produce a set of encoded data slices including an information dispersal algorithm (IDA) width number of encoded data slices. The method continues by determining a number of storage locations, where the number of storage locations is less than the IDA width number, combining, for each storage location, a portion of at least two encoded data slices of the set of encoded data slices to produce a combined slice and sending the combined slice to the storage location for storage. When retrieving the data, the method includes combining slices associated with a set of encoded data slices, de-combining the combined slice, aggregating portions of common encoded data slices and decoding a decode threshold number of the encoded data slices of the set of encoded data slices to produce a recovered data segment.

Claims (52)

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:

encoding a data segment of data to produce a set of encoded data slices, where the set of encoded data slices includes an information dispersal algorithm (IDA) width number of encoded data slices;

determining a number of storage locations, where the number of storage locations is less than the IDA width number;

combining, for each storage location, a portion of at least two encoded data slices of the set of encoded data slices to produce a combined slice for storage in the storage location; and

sending the combined slice to the storage location for storage.

2. The method of claim 1 , wherein the sending the combined slice to the storage location for storage includes storing all portions of an encoded slice in a single DSN storage site.

3. The method of claim 1 , wherein the determining a number of storage locations includes at least one of: interpreting a system registry, initiating a query, or interpreting a query response.

4. The method of claim 1 further comprises, when retrieving the data:

retrieving the combined slices associated with a set of encoded data slices to include reading from logically adjacent storage locations; and

for each combined slice, de-combining the combined slice to reproduce the portions of the at least two encoded data slices;

aggregating portions of common encoded data slices to reproduce at least some encoded data slices of the set of encoded data slices; and

decoding a decode threshold number of the reproduced at least some encoded data slices of the set of encoded data slices to produce a recovered data segment.

5. The method of claim 4 , wherein the combining, for each storage location, a portion of at least two encoded data slices of the set of encoded data slices to produce a combined slice for storage in the storage location includes a combining approach and the de-combining the combined slice is in accordance with the combining approach to reproduce the portions of the at least two encoded data slices.

6. The method of claim 5 , wherein the combining approach includes one of: an even distribution, a weighted distribution, or a predetermined distribution.

7. The method of claim 1 , wherein retrieving the combining slices associated with a set of encoded data slices includes issuing read slice requests to the storage locations, where the read slice requests includes slice names associated with the portions of the encoded data slices, and receiving read slice responses that includes the combined slices.

8. A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:

an interface;

a local memory; and

a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:

encode a data segment of data to produce a set of encoded data slices, where the set of encoded data slices includes an information dispersal algorithm (IDA) width number of encoded data slices;

determine a number of storage locations, where the number of storage locations is less than the IDA width number;

combine, for each storage location, a portion of at least two encoded data slices of the set of encoded data slices to produce a combined slice for storage in the storage location; and

send the combined slice to the storage location for storage.

9. The computing device of claim 8 , wherein the sending the combined slice to the storage location for storage includes storing all portions of an encoded slice in a single DSN storage site.

10. The computing device of claim 8 , wherein the determine a number of storage locations includes at least one of interpreting a system registry, initiating a query, or interpreting a query response.

11. The computing device of claim 8 , wherein the processing module is further configured to, when retrieving the data:

retrieve the combined slices associated with a set of encoded data slices to include reading from logically adjacent storage locations; and

for each combined slice, de-combine the combined slice to reproduce the portions of the at least two encoded data slices;

aggregate portions of common encoded data slices to reproduce at least some encoded data slices of the set of encoded data slices; and

decode a decode threshold number of the reproduced at least some encoded data slices of the set of encoded data slices to produce a recovered data segment.

12. The computing device of claim 11 , wherein the combine, for each storage location, a portion of at least two encoded data slices of the set of encoded data slices to produce a combined slice for storage in the storage location includes a combining approach and the de-combine the combined slice is in accordance with the combining approach to reproduce the portions of the at least two encoded data slices.

13. The computing device of claim 12 , wherein the combining approach includes one of: an even distribution, a weighted distribution, or a predetermined distribution.

14. The computing device of claim 8 , wherein retrieving the combined slices associated with a set of encoded data slices includes issuing read slice requests to the storage locations, where the read slice requests includes slice names associated with the portions of the encoded data slices, and receiving read slice responses that includes the combined slices.

15. A dispersed storage network (DSN) system comprises:

a plurality of DSN storage units;

a dispersed storage client module including:

an interface;

a local memory; and

a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:

encode a data segment of data to produce a set of encoded data slices, where the set of encoded data slices includes an information dispersal algorithm (IDA) width number of encoded data slices;

determine a number of storage locations, where the number of storage locations is less than the IDA width number;

combine, for each storage location, a portion of at least two encoded data slices of the set of encoded data slices to produce a combined slice for storage in the storage location; and

send the combined slice to a corresponding one of the plurality of DSN storage units at the storage location for storage.

16. The DSN system of claim 15 , wherein the send the combined slice to a corresponding one of the plurality of DSN storage units at the storage location for storage includes storing all portions of an encoded slice in a single DSN storage site.

17. The DSN system of claim 15 , wherein the determine a number of storage locations includes at least one of interpreting a system registry, initiating a query, or interpreting a query response.

18. The DSN system of claim 15 , wherein the processing module is further configured to, when retrieving the data:

retrieve the combined slices associated with a set of encoded data slices to include reading from logically adjacent storage locations; and

for each combined slice, de-combine the combined slice to reproduce the portions of the at least two encoded data slices;

aggregate portions of common encoded data slices to reproduce at least some encoded data slices of the set of encoded data slices; and

decode a decode threshold number of the reproduced at least some encoded data slices of the set of encoded data slices to produce a recovered data segment.

19. The DSN system of claim 18 , wherein the combine, for each storage location, a portion of at least two encoded data slices of the set of encoded data slices to produce a combined slice for storage in the storage location includes a combining approach and the de-combine the combined slice is in accordance with the combining approach to reproduce the portions of the at least two encoded data slices.

20. The DSN system of claim 15 , wherein the retrieve the combined slices associated with a set of encoded data slices includes issuing read slice requests to the storage locations, where the read slice requests includes slice names associated with the portions of the encoded data slices, and receiving read slice responses that includes the combined slices.

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 DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2018
From: MCSHANE, NIALL J.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046541/0996 →