IP Library Granted Patent US 10,977,127
Granted Patent B1
US 10,977,127 · App. 17/081,056 · Granted Apr 13, 2021

Concatenating 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 10,977,127
App. No.
17/081,056
Granted
Apr 13, 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 (42)

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

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

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; 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. A computer readable memory comprises:

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

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

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; and

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

9. The computer readable memory of claim 8 , 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.

10. The computer readable memory of claim 9 , wherein the data object is mapped to the encoded data block of the plurality of data blocks.

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

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

13. The computer readable memory of claim 8 , 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.

14. The computer readable memory of claim 13 , wherein the data structure is a data matrix that includes the plurality of data blocks.

15. A device of a storage network (SN), the 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 perform operations that include:

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

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; and

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

16. The device of claim 15 , 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.

17. The device of claim 16 , wherein the data object is mapped to the encoded data block of the plurality of data blocks.

18. The device of claim 15 , wherein the dispersed encoding function includes a forward error-correction encoding.

19. The device of claim 15 , wherein the dispersed encoding function includes a Cauchy-Reed-Solomon encoding or a Reed-Solomon encoding.

20. The device of claim 15 , 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.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2020
From: RESCH, JASON K.; DHUSE, GREG; BAPTIST, ANDREW
To: CLEVERSAFE, INC.
Reel/Frame 054188/0924 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2020
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054235/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 054615/0345 →
Cited By (10)
US 12,386,785 US 12,450,199 US 12,461,895 US 12,505,072 US 12,511,261 US 12,517,867 US 12,547,591 US 12,619,578 US 12,619,579 US 12,619,580