IP Library Granted Patent US 11,656,941
Granted Patent B2
US 11,656,941 · App. 17/443,915 · Granted May 23, 2023

Retrieval of data objects with a common trait in a 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,656,941
App. No.
17/443,915
Granted
May 23, 2023
Kind
B2
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 (34)

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 have a common trait and the plurality of data objects are combined to produce a concatenated data object encoded in accordance with a dispersed encoding function to produce a set of encoded data blocks;

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

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

decoding at least a portion of 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 set of encoded data blocks.

4. The method of claim 1 , wherein the dispersed encoding function includes an erasure coding.

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 the set of encoded data blocks, wherein the data object is mapped to one or more of the set of encoded data blocks.

7. The method of claim 6 , wherein the data structure is a data matrix.

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 common trait is a common data type.

11. The method of claim 10 , wherein the common trait is a common entity.

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 set of encoded 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 have a common trait and the plurality of data objects are combined to produce a concatenated data object encoded in accordance with a dispersed encoding function to produce a set of encoded data blocks;

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

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

decoding at least a portion of 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 an erasure coding.

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 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 computer readable memory of claim 16 , wherein the common trait is a common data type.

18. The computer readable memory of claim 13 , wherein common trait is a common entity.

19. The computer readable memory of claim 18 , wherein the mapping of the plurality of data objects includes a mapping of the plurality of data objects to a data structure corresponding to the set of encoded data blocks, wherein the data object is mapped to one or more of the set of encoded data blocks.

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.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: RESCH, JASON K.; DHUSE, GREG; BAPTIST, ANDREW
To: CLEVERSAFE, INC.
Reel/Frame 057014/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057015/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 057015/0772 →
Continuity (9)
Continuation 17195150 · Mar 8, 2021
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
Related Publication 20210357290A1 · Nov 18, 2021
Cited By (1)
US 12,585,539