IP Library Granted Patent US 10,031,700
Granted Patent B2
US 10,031,700 · App. 15/334,830 · Granted Jul 24, 2018

Storing data copies in a dispersed storage network

Inventors: Andrew D. Baptist (Mt. Pleasant, WI); Greg R. Dhuse (Chicago, IL); Scott M. Horan (Clarendon Hills, IL); Ravi V. Khadiwala (Bartlett, IL); Wesley B. Leggette (Chicago, IL); Manish Motwani (Chicago, IL); Jason K. Resch (Chicago, IL); Praveen Viraraghavan (Chicago, IL); Ilya Volvovski (Chicago, IL); Trevor J. Vossberg (Chicago, IL); Ethan S. Wozniak (Park Ridge, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F3/067G06F3/064G06F3/0619G06F3/0629G06F3/0644G06F3/0665G06F3/0689G06F9/4881G06F9/5083G06F11/1076G06F11/1092G06F11/1402G06F11/1464G06F12/0866G06F12/0891G06F15/17331H03M13/1515G06F2201/84G06F2211/1007G06F2212/1024G06F2212/154G06F2212/263G06F2212/403H03M13/616H03M13/6502H04L61/1582H04L61/6004H04L63/101
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,031,700
App. No.
15/334,830
Granted
Jul 24, 2018
Kind
B2
Abstract

A method for use in a dispersed storage network operates to determine first information dispersal algorithm (IDA) parameters; determine second IDA parameters; divide data for storage to produce a plurality of first segments in accordance with the first IDA parameters and a plurality of second segments in accordance with the second IDA parameters; dispersed storage error encode the plurality of first segments utilizing the first IDA parameters to produce sets of first encoded data slices; dispersed storage error encode the plurality of second segments utilizing the second IDA parameters to produce sets of second encoded data slices; and facilitate storage of the sets of first encoded data slices and the sets of second encoded data slices in a plurality of storage units.

Claims (41)

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

determining first information dispersal algorithm (IDA) parameters;

determining second IDA parameters, wherein at least one value of the second IDA parameters is different from a corresponding at least one value of the first IDA parameters;

dividing data for storage to produce a plurality of first segments in accordance with the first IDA parameters and a plurality of second segments in accordance with the second IDA parameters;

dispersed storage error encoding the plurality of first segments utilizing the first IDA parameters to produce sets of first encoded data slices;

dispersed storage error encoding the plurality of second segments utilizing the second IDA parameters to produce sets of second encoded data slices; and

facilitating storage of the sets of first encoded data slices and the sets of second encoded data slices in a plurality of storage units.

2. The method of claim 1 wherein determining the first information dispersal algorithm (IDA) parameters is based on one or more of: an interpretation of system registry information, a request, interpreting a received message, or a characteristic of data for storage.

3. The method of claim 2 wherein determining the second IDA parameters is based on one or more of: another interpretation of the system registry information, another request, interpreting the received message, another characteristic of the data for storage, a first byte recovery performance requirement, and a maximum slice size, wherein the maximum slice size is proportional to a second segment size divided by a decode threshold number corresponding to the second IDA.

4. The method of claim 1 wherein the first IDA parameters include a first segment size, wherein the second IDA parameters include a second segment size, and wherein dividing data for storage includes partitioning the data by the first segment size to produce the plurality of first segments and the second segment size to produce the plurality of second segments.

5. The method of claim 1 wherein dispersed storage error encoding the plurality of first segments includes dispersed storage error encoding each first segment of the plurality of first segments utilizing the first IDA parameters to produce the sets of first encoded data slices.

6. The method of claim 1 wherein dispersed storage error encoding the plurality of second segments includes dispersed storage error encoding each second segment of the plurality of second segments utilizing the first IDA parameters to produce the sets of second encoded data slices.

7. The method of claim 1 wherein facilitating the storage includes sending the sets of first encoded data slices and the sets of second encoded data slices to the plurality of storage units for storage.

8. A processing system of a first 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:

determine first information dispersal algorithm (IDA) parameters;

determine second IDA parameters, wherein at least one value of the second IDA parameters is different from a corresponding at least one value of the first IDA parameters;

divide data for storage to produce a plurality of first segments in accordance with the first IDA parameters and a plurality of second segments in accordance with the second IDA parameters;

dispersed storage error encode the plurality of first segments utilizing the first IDA parameters to produce sets of first encoded data slices;

dispersed storage error encode the plurality of second segments utilizing the second IDA parameters to produce sets of second encoded data slices; and

facilitate storage of the sets of first encoded data slices and the sets of second encoded data slices in a plurality of storage units.

9. The processing system of claim 8 wherein determining the first information dispersal algorithm (IDA) parameters is based on one or more of: an interpretation of system registry information, a request, interpreting a received message, or a characteristic of data for storage.

10. The processing system of claim 9 wherein determining the second IDA parameters is based on one or more of: another interpretation of the system registry information, another request, interpreting the received message, another characteristic of the data for storage, a first byte recovery performance requirement, and a maximum slice size, where wherein the maximum slice size is proportional to a second segment size divided by a decode threshold number corresponding to the second IDA.

11. The processing system of claim 8 wherein the first IDA parameters include a first segment size, wherein the second IDA parameters include a second segment size, and wherein dividing data for storage includes partitioning the data by the first segment size to produce the plurality of first segments and the second segment size to produce the plurality of second segments.

12. The processing system of claim 8 wherein dispersed storage error encoding the plurality of first segments includes dispersed storage error encoding each first segment of the plurality of first segments utilizing the first IDA parameters to produce the sets of first encoded data slices.

13. The processing system of claim 8 wherein dispersed storage error encoding the plurality of second segments includes dispersed storage error encoding each second segment of the plurality of second segments utilizing the first IDA parameters to produce the sets of second encoded data slices.

14. The processing system of claim 8 wherein facilitating the storage includes sending the sets of first encoded data slices and the sets of second encoded data slices to the plurality of storage units for storage.

15. 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:

determine first information dispersal algorithm (IDA) parameters;

determine second IDA parameters, wherein at least one value of the second IDA parameters is different from a corresponding at least one value of the first IDA parameters;

divide data for storage to produce a plurality of first segments in accordance with the first IDA parameters and a plurality of second segments in accordance with the second IDA parameters;

dispersed storage error encode the plurality of first segments utilizing the first IDA parameters to produce sets of first encoded data slices;

dispersed storage error encode the plurality of second segments utilizing the second IDA parameters to produce sets of second encoded data slices; and

facilitate storage of the sets of first encoded data slices and the sets of second encoded data slices in a plurality of storage units.

16. The non-transitory computer readable storage medium of claim 15 wherein determining the first information dispersal algorithm (IDA) parameters is based on one or more of: an interpretation of system registry information, a request, interpreting a received message, or a characteristic of data for storage.

17. The non-transitory computer readable storage medium of claim 16 wherein determining the second IDA parameters is based on one or more of: another interpretation of the system registry information, another request, interpreting the received message, another characteristic of the data for storage, a first byte recovery performance requirement, and a maximum slice size, wherein the maximum slice size is proportional to a second segment size divided by a decode threshold number corresponding to the second IDA.

18. The non-transitory computer readable storage medium of claim 15 wherein the first IDA parameters include a first segment size, wherein the second IDA parameters include a second segment size, and wherein dividing data for storage includes partitioning the data by the first segment size to produce the plurality of first segments and the second segment size to produce the plurality of second segments.

19. The non-transitory computer readable storage medium of claim 15 wherein dispersed storage error encoding the plurality of first segments includes dispersed storage error encoding each first segment of the plurality of first segments utilizing the first IDA parameters to produce the sets of first encoded data slices.

20. The non-transitory computer readable storage medium of claim 15 wherein dispersed storage error encoding the plurality of second segments includes dispersed storage error encoding each second segment of the plurality of second segments utilizing the first IDA parameters to produce the sets of second encoded data 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 050451/0549 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE EXECUTION DATE FOR INVENTOR HORAN PREVIOUSLY RECORDED ON REEL 040140 FRAME 0467. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 31, 2016
From: BAPTIST, ANDREW D.; DHUSE, GREG R.; HORAN, SCOTT M.; KHADIWALA, RAVI V.; LEGGETTE, WESLEY B.; MOTWANI, MANISH; RESCH, JASON K.; VIRARAGHAVAN, PRAVEEN; VOLVOVSKI, ILYA; VOSSBERG, TREVOR J.; WOZNIAK, ETHAN S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040517/0513 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2016
From: BAPTIST, ANDREW D.; DHUSE, GREG R.; HORAN, SCOTT M.; KHADIWALA, RAVI V.; LEGGETTE, WESLEY B.; MOTWANI, MANISH; RESCH, JASON K.; VIRARAGHAVAN, PRAVEEN; VOLVOVSKI, ILYA; VOSSBERG, TREVOR J.; WOZNIAK, ETHAN S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040140/0476 →
Continuity (2)
Provisional Application 62260735 · Nov 30, 2015
Related Publication 20170153941A1 · Jun 1, 2017