IP Library Granted Patent US 11,093,330
Granted Patent B1
US 11,093,330 · App. 17/195,150 · Granted Aug 17, 2021

Combining data objects in a vast data storage network

Inventors: Jason K. Resch (Chicago, IL); Greg Dhuse (Chicago, IL); Andrew Baptist (Mt. Pleasant, WI)
Assignee: PURE STORAGE, INC.
G06F11/1076G06F3/064G06F3/067G06F3/0619G06F11/1092G06F16/2237G06F16/86G06F16/951H03M13/2906G06F2211/1028
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 11,093,330
App. No.
17/195,150
Granted
Aug 17, 2021
Kind
B1
Abstract

A method includes identifying an independent data object of a plurality of independent data objects for retrieval from dispersed storage network (DSN) memory. The method further includes determining a mapping of the plurality of independent data objects into a data matrix, wherein the mapping is in accordance with the dispersed storage error encoding function. The method further includes identifying, based on the mapping, an encoded data slice of the set of encoded data slices corresponding to the independent data object. The method further includes sending a retrieval request to a storage unit of the DSN memory regarding the encoded data slice. When the encoded data slice is received, the method further includes decoding the encoding data slice in accordance with the dispersed storage error encoding function and the mapping to reproduce the independent data object.

Claims (39)

1. A method for execution in a storage network, the method comprises:

identifying a data object of a plurality of data objects for retrieval from the storage network, wherein the plurality of data objects is combined to produce a concatenated data object, wherein the concatenated data object is encoded in accordance with a dispersed encoding function to produce a set of encoded data blocks, and wherein the plurality of data objects is combined by:

identifying data objects having a common trait; and

establishing the plurality of data objects from the data objects having the common trait;

identifying an encoded data block of the set of encoded data blocks corresponding to the data object based on a mapping of the plurality of data objects;

retrieving the encoded data block from a storage unit of the storage network; and

decoding the encoded data block in accordance with the dispersed encoding function and the mapping to reproduce the data object.

2. The method of claim 1 , wherein the concatenated data object is encoded by:

generating a plurality of data blocks; and

dispersed error encoding the plurality of data blocks to produce the set of encoded data blocks.

3. The method of claim 2 , wherein the data object is mapped to the encoded data block of the plurality of data blocks.

4. The method of claim 1 , wherein the dispersed encoding function includes a Cauchy-Reed-Solomon encoding or a Reed-Solomon encoding.

5. The method of claim 1 , wherein the dispersed encoding function includes a forward error-correction encoding.

6. The method of claim 1 , wherein the mapping of the plurality of data objects includes a mapping of the plurality of data objects to a data structure corresponding to a plurality of data blocks, wherein the data object is mapped to one or more of the plurality of data blocks.

7. The method of claim 6 , wherein the data structure is a data matrix that includes the plurality of data blocks.

8. The method of claim 1 , wherein the mapping of the plurality of data objects includes:

a mapping of the plurality of data objects into “k” rows, wherein one or more of the plurality of data objects is mapped to a single row of the “k” rows.

9. The method of claim 8 , wherein the “k” rows correspond to a number of the set of encoded data blocks resulting from performing the dispersed encoding function.

10. The method of claim 1 , wherein the mapping of the plurality of data objects includes:

a mapping of the plurality of data objects into “k” rows, wherein one of the plurality of data objects is mapped to more than one row of the “k” rows.

11. The method of claim 10 , wherein the “k” rows correspond to a number of the set of encoded data blocks resulting from performing the dispersed encoding function.

12. The method of claim 1 , wherein the mapping of the plurality of data objects includes a mapping of the plurality of data objects to a data matrix that includes the plurality of data blocks.

13. A computer readable memory comprises:

a memory section that stores operational instructions that, when executed by a computing device of a storage network, causes the computing device to perform operations that include:

identifying a data object of a plurality of data objects for retrieval from the storage network, wherein the plurality of data objects is combined to produce a concatenated data object, wherein the concatenated data object is encoded in accordance with a dispersed encoding function to produce a set of encoded data blocks, and wherein the plurality of data objects is combined by:

identifying data objects having a common trait; and

establishing the plurality of data objects from the data objects having the common trait;

identifying an encoded data block of the set of encoded data blocks corresponding to the data object based on a mapping of the plurality of data objects;

retrieving the encoded data block from a storage unit of the storage network; and

decoding the encoded data block in accordance with the dispersed encoding function and the mapping to reproduce the data object.

14. The computer readable memory of claim 13 , wherein the dispersed encoding function includes a Cauchy-Reed-Solomon encoding or a Reed-Solomon encoding.

15. The computer readable memory of claim 13 , wherein the dispersed encoding function includes a forward error-correction encoding.

16. The computer readable memory of claim 13 , wherein the mapping of the plurality of data objects includes:

a mapping of the plurality of data objects into “k” rows, wherein one or more of the plurality of data objects is mapped to a single row of the “k” rows.

17. The computer readable memory of claim 16 , wherein the “k” rows correspond to a number of the set of encoded data blocks resulting from performing the dispersed encoding function.

18. The computer readable memory of claim 13 , wherein the mapping of the plurality of data objects includes:

a mapping of the plurality of data objects into “k” rows, wherein one of the plurality of data objects is mapped to more than one row of the “k” rows.

19. The computer readable memory of claim 18 , wherein the “k” rows correspond to a number of the set of encoded data blocks resulting from performing the dispersed encoding function.

20. The computer readable memory of claim 13 , wherein the mapping of the plurality of data objects includes a mapping of the plurality of data objects to a data matrix that includes the plurality of data blocks.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2021
From: RESCH, JASON K.; DHUSE, GREG; BAPTIST, ANDREW
To: CLEVERSAFE, INC.
Reel/Frame 055532/0232 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2021
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 055533/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 055533/0287 →
Continuity (7)
Continuation 17081056 · Oct 27, 2020
Continuation 16988247 · Aug 7, 2020
Continuation 16171794 · Oct 26, 2018
Continuation 15679569 · Aug 17, 2017
Continuation 15351628 · Nov 15, 2016
Continuation 14589391 · Jan 5, 2015
Provisional Application 61944742 · Feb 26, 2014
Cited By (1)
US 12,585,539