IP Library Granted Patent US 11,782,789
Granted Patent B2
US 11,782,789 · App. 17/449,189 · Granted Oct 10, 2023

Encoding data and associated metadata in a storage network

Inventors: Scott M. Horan (Clarendon Hills, IL); Wesley B. Leggette (Chicago, IL); Jason K. Resch (Chicago, IL)
Assignee: Pure Storage, Inc.
G06F11/108G06F3/061G06F3/0604G06F3/065G06F3/0605G06F3/067G06F3/0619G06F3/0622G06F3/0643G06F3/0644G06F3/0647G06F3/0653G06F3/0668G06F3/0689G06F11/1076G06F11/1662G06F11/3034G06F13/4282G06F16/122G06F16/1824G06F16/24578G06F21/6218G06F21/645H03M13/2906H03M13/3761H04L9/0861H04L67/1097H04L67/63G06F3/064G06F2201/805H03M13/1515
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,782,789
App. No.
17/449,189
Granted
Oct 10, 2023
Kind
B2
Abstract

A storage network operates by: generating metadata for a data object; first disperse storage error encoding the metadata to produce a set of metadata slices, wherein the first disperse storage error encoding utilizes first dispersal parameters, the first dispersal parameters including a first decode threshold of 1; generating sets of first data slices via a second disperse storage error encoding of data segments associated with the data object, wherein the second disperse storage error encoding utilizes second dispersal parameters, the second dispersal parameters different from the first dispersal parameters and the second dispersal parameters including a second decode threshold greater than 1; producing an additional data segment associated with the data object wherein the additional data segment is different from the data segments and the metadata; and third disperse storage error encoding the additional data segment to produce a set of second data slices, wherein the third disperse storage error encoding utilizes the first dispersal parameters including the first decode threshold of 1.

Claims (48)

1. A method for execution by one or more processing modules of a storage network, the method comprises:

generating metadata for a data object;

first disperse storage error encoding the metadata to produce a set of metadata slices, wherein the first disperse storage error encoding utilizes first dispersal parameters, the first dispersal parameters including a first decode threshold of 1;

generating sets of first data slices via a second disperse storage error encoding of data segments associated with the data object, wherein the second disperse storage error encoding utilizes second dispersal parameters, the second dispersal parameters different from the first dispersal parameters and the second dispersal parameters including a second decode threshold greater than 1;

producing an additional data segment associated with the data object wherein the additional data segment is different from the data segments and the metadata;

third disperse storage error encoding the additional data segment to produce a set of second data slices, wherein the third disperse storage error encoding utilizes the first dispersal parameters including the first decode threshold of 1;

facilitating storage of the set of metadata slices, the sets of first data slices and the set of second data slices in one or more storage units of the storage network;

subsequently accessing at least one of the metadata slices to reproduce the metadata and at least one of the set of second data slices to reproduce the additional data segment; and

using the additional data segment while retrieving the data segments associated with the data object from the storage network via the one or more processing modules.

2. The method of claim 1 , wherein the first disperse storage error encoding includes utilizing the first dispersal parameters to store a copy of the metadata in each storage unit.

3. The method of claim 2 , wherein the first dispersal parameters to store metadata in each storage unit further include an information dispersal algorithm threshold of width 1.

4. The method of claim 1 , wherein the sets of first data slices are generated via a data segmentation approach.

5. The method of claim 4 , wherein the data segmentation approach includes any of: fixed size, ramping up size, or ramping down size.

6. The method of claim 1 , wherein facilitating storage includes issuing a write slice request to the one or more storage units of the storage network.

7. The method of claim 1 , wherein the sets of first data slices are generated via a partitioning of the data object.

8. A computing device of a storage network, 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:

generate metadata for a data object;

first disperse storage error encode the metadata to produce a set of metadata slices, wherein the first disperse storage error encoding utilizes first dispersal parameters, the first dispersal parameters including a first decode threshold of 1;

generate sets of first data slices via a second disperse storage error encoding of data segments associated with the data object, wherein the second disperse storage error encoding utilizes second dispersal parameters, the second dispersal parameters different from the first dispersal parameters and the second dispersal parameters including a second decode threshold greater than 1;

produce an additional data segment associated with the data object wherein the additional data segment is different from the data segments and the metadata;

third disperse storage error encode the additional data segment to produce a set of second data slices, wherein the third disperse storage error encoding utilizes the first dispersal parameters including the first decode threshold of 1;

facilitate storage of the set of metadata slices, the sets of first data slices and the set of second data slices in one or more storage units of the storage network;

subsequently access at least one of the metadata slices to reproduce the metadata and at least one of the set of second data slices to reproduce the additional data segment; and

use the additional data segment while retrieving the data segments associated with the data object from the storage network.

9. The computing device of claim 8 , wherein the first disperse storage error encoding includes utilizing the first dispersal parameters to store a copy of the metadata in each storage unit.

10. The computing device of claim 9 , wherein the first dispersal parameters to store metadata in each storage unit further include an information dispersal algorithm threshold of width 1.

11. The computing device of claim 8 , wherein the sets of first data slices are generated via a data segmentation approach.

12. The computing device of claim 11 , wherein the data segmentation approach includes any of: fixed size, ramping up size, or ramping down size.

13. The computing device of claim 8 , wherein facilitating storage includes issuing a write slice request to the one or more storage units of the storage network.

14. The computing device of claim 8 , wherein the sets of first data slices are generated via a partitioning of the data object.

15. A computer readable storage medium comprises:

at least one memory that stores operational instructions that, when executed by a processing module of a storage network that includes a processor and a memory, causes the processing module to:

generate metadata for a data object;

first disperse storage error encode the metadata to produce a set of metadata slices, wherein the first disperse storage error encoding utilizes first dispersal parameters, the first dispersal parameters including a first decode threshold of 1;

generate sets of first data slices via a second disperse storage error encoding of data segments associated with the data object, wherein the second disperse storage error encoding utilizes second dispersal parameters, the second dispersal parameters different from the first dispersal parameters and the second dispersal parameters including a second decode threshold greater than 1;

produce an additional data segment associated with the data object wherein the additional data segment is different from the data segments and the metadata;

third disperse storage error encode the additional data segment to produce a set of second data slices, wherein the third disperse storage error encoding utilizes the first dispersal parameters including the first decode threshold of 1;

facilitate storage of the set of metadata slices, the sets of first data slices and the set of second data slices in one or more storage units of the storage network;

subsequently access at least one of the metadata slices to reproduce the metadata and at least one of the set of second data slices to reproduce the additional data segment; and

use the additional data segment while retrieving the data segments associated with the data object from the storage network.

16. The computer readable storage medium of claim 15 , wherein the first disperse storage error encoding includes utilizing the first dispersal parameters to store a copy of the metadata in each storage unit.

17. The computer readable storage medium of claim 16 , wherein the first dispersal parameters to store metadata in each storage unit further include an information dispersal algorithm threshold of width 1.

18. The computer readable storage medium of claim 15 , wherein the sets of first data slices are generated via a data segmentation approach.

19. The computer readable storage medium of claim 18 , wherein the data segmentation approach includes any of: fixed size, ramping up size, or ramping down size.

20. The computer readable storage medium of claim 15 , wherein facilitating storage includes issuing a write slice request to the one or more storage units of the storage network.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2021
From: HORAN, SCOTT M.
To: PURE STORAGE, INC.
Reel/Frame 057909/0590 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2021
From: LEGGETTE, WESLEY B.; RESCH, JASON K.
To: PURE STORAGE, INC.
Reel/Frame 057635/0055 →
Continuity (4)
Continuation In Part 16555035 · Aug 29, 2019
Continuation 15144080 · May 2, 2016
Provisional Application 62199816 · Jul 31, 2015
Related Publication 20220012123A1 · Jan 13, 2022