IP Library Patent Application 19350667
Patent Application
App. No. 19/350,667

Preference Based Selection of Storage Network Memory for Data Storage

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 None
App. No.
19/350,667
Abstract

A method for a storage network starts by determining first dispersed storage error encoding parameters for a data object and then error encoding the data object in accordance with the first storage error encoding parameters to produce a first plurality of sets of encoded data slices. The method continues, by error encoding the data object in accordance with the first storage error encoding parameters to produce a first plurality of sets of encoded data slices and sending the first plurality of sets of encoded data slices to a first set of storage units for storage therein. The method continues by determining second dispersed storage error encoding parameters for the data object and then error encoding the data object in accordance with the second storage error encoding parameters to produce a second plurality of sets of encoded data slices. Finally, the method continues by sending the second plurality of sets of encoded data slices to a second set of storage units for storage therein and updating a data file directory to indicate storage of the first and second plurality of sets of encoded data slices.

Claims (55)

1 . A method for execution by a computing device of a storage network, the method comprises:

determining first dispersed storage error encoding parameters for a data object;

error encoding the data object in accordance with the first storage error encoding parameters to produce a first plurality of sets of encoded data slices;

sending the first plurality of sets of encoded data slices to a first set of storage units for storage therein;

determining second dispersed storage error encoding parameters for the data object;

error encoding the data object in accordance with the second storage error encoding parameters to produce a second plurality of sets of encoded data slices;

sending the second plurality of sets of encoded data slices to a second set of storage units for storage therein; and

updating a data file directory to indicate storage of the first and second plurality of sets of encoded data slices.

2 . The method of claim 1 wherein:

the first storage error encoding parameters includes a first pillar width number and first decode threshold number, wherein a first level of redundancy corresponds to a difference between the first pillar width number and the first decode threshold number; and

the second storage error encoding parameters includes a second pillar width number and second decode threshold number, wherein a second level of redundancy corresponds to a difference between the second pillar width number and the second decode threshold number, and the second level of redundancy is greater than the first level of redundancy.

3 . The method of claim 1 , further comprises:

generating a slice identifier for each encoded data slice of the first plurality of sets of encoded data slices after error encoding the data object; and

generating a slice identifier for each encoded data slice of the second plurality of sets of encoded data slices after error encoding the data object.

4 . The method of claim 3 further comprises:

generating a plurality of sets of slice identifiers for the first plurality of sets of encoded data slices based on an address range of a plurality of storage network address ranges; and

generating a plurality of sets of slice identifiers for the second plurality of sets of encoded data slices based on another address range of a plurality of storage network address ranges.

5 . The method of claim 3 further comprises:

generating the plurality of sets of slice identifiers for the first plurality of sets of encoded data slices based on a deterministic function and predetermined storage attributes; and

generating a plurality of sets of slice identifiers for the second plurality of sets of encoded data slices based on the deterministic function and predetermined storage attributes.

6 . The method of claim 1 , wherein the data directory includes data identifying information that includes at least one of a data file name, a data file directory listing, data addressing information or a data object identifier.

7 . The method of claim 1 , wherein the first storage error encoding parameters and the second storage error encoding parameters are the same.

8 . The method of claim 1 , wherein slice identifiers for each of the first plurality of sets of encoded data slices and the slice identifiers for each of the second plurality of sets of encoded data slices are generated so that an encoded data slice for the data object stored in a storage unit of the in the first set of storage units has a same slice identifier as an equivalent encoded data slice for the data object stored in a storage unit of the in the second set of storage units.

9 . The method of claim 1 , wherein the data directory includes a hierarchical index.

10 . The method of claim 9 , wherein the hierarchical index is a dispersed hierarchical index.

11 . A computing device of a group of computing devices of a storage network, the computing device comprises:

a network interface;

a local memory; and

a first module operably coupled to the network interface and the local memory, wherein the first module functions to:

determine first dispersed storage error encoding parameters for a data object;

error encode the data object in accordance with the first storage error encoding parameters to produce a first plurality of sets of encoded data slices; and

send the first plurality of sets of encoded data slices to a first set of storage units for storage therein;

a second module, operably coupled to the network interface and the local memory, wherein the second module functions to:

determine second dispersed storage error encoding parameters for the data object;

error encoding the data object in accordance with the second storage error encoding parameters to produce a second plurality of sets of encoded data slices; and

send the second plurality of sets of encoded data slices to a second set of storage units for storage therein;

a third module, operably coupled to the network interface and the local memory, wherein the third module functions to:

update a data file directory to indicate storage of the first and second plurality of sets of encoded data slices.

12 . The computing device of claim 11 , wherein:

the first storage error encoding parameters includes a first pillar width number and first decode threshold number, wherein a first level of redundancy corresponds to a difference between the first pillar width number and the first decode threshold number; and

the second storage error encoding parameters includes a second pillar width number and second decode threshold number, wherein a second level of redundancy corresponds to a difference between the second pillar width number and the second decode threshold number, and the second level of redundancy is greater than the first level of redundancy.

13 . The computing device of claim 11 , wherein:

the first module, when operable within the computing device, further causes the computing device to generate the slice identifiers for each encoded data slice of the first plurality of sets of encoded data slices after error encoding the data object; and wherein

the second module, when operable within the computing device, further causes the computing device to generate the slice identifiers for each encoded data slice of the second plurality of sets of encoded data slices after error encoding the data object.

14 . The computing device of claim 13 , wherein:

the first module, when operable within the computing device, further causes the computing device to generate the slice identifier for each encoded data slice of the first plurality of sets of encoded data slices after error encoding the data object; and

the second module, when operable within the computing device, further causes the computing device to generate the slice identifier for each encoded data slice of the second plurality of sets of encoded data slices.

15 . The computing device of claim 13 , wherein:

the first module, when operable within the computing device, further causes the computing device to generate a plurality of sets of slice identifiers for the first plurality of sets of encoded data slices based on an address range of a plurality of storage network address ranges; and

the second module, when operable within the computing device, further causes the computing device to generate a plurality of sets of slice identifiers for the second plurality of sets of encoded data slices based on another address range of a plurality of storage network address ranges.

16 . The computing device of claim 11 , wherein the data directory includes data identifying information that includes at least one of a data file name, a data file directory listing, data addressing information or a data object identifier.

17 . The computing device of claim 11 , wherein the first storage error encoding parameters and the second storage error encoding parameters are the same.

18 . The computing device of claim 11 , wherein slice identifiers for each of the first plurality of sets of encoded data slices and the slice identifiers for each of the second plurality of sets of encoded data slices are generated so that an encoded data slice for the data object stored in a storage unit of the in the first set of storage units has a same slice identifier as an equivalent encoded data slice for the data object stored in a storage unit of the in the second set of storage units.

19 . The computing device of claim 11 , wherein the data directory is a hierarchical index.

20 . The computing device of claim 11 , wherein the hierarchical index is a dispersed hierarchical index.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2025
From: GLADWIN, S. CHRISTOPHER; MARKISON, TIMOTHY W.; DHUSE, GREG R.; SHIRLEY, THOMAS F., JR.; LEGGETTE, WESLEY B.; RESCH, JASON K.; GRUBE, GARY W.
To: PURE STORAGE, INC.
Reel/Frame 073233/0924 →