IP Library Granted Patent US 9,483,337
Granted Patent B2
US 9,483,337 · App. 14/223,406 · Granted Nov 1, 2016

Storing data in a dispersed storage network

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 9,483,337
App. No.
14/223,406
Granted
Nov 1, 2016
Kind
B2
Abstract

A method begins by creating a vault as a virtual memory block within memory of a dispersed storage network (DSN). A segment of data is encoded into a set of encoded data slices and stored in the vault. The method continues by dividing the virtual memory block into a set of vault regions. The method continues by determining, for each vault region of the set of vault regions, vault parameters to produce a set of vault parameters. Vault parameters include a decode threshold number of encoded data slices and a total number of encoded data slices for encoding the segment of data. The method continues by facilitating data access to the vault in accordance with the set of vault parameters.

Claims (79)

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

creating a vault as a virtual memory block within memory of a dispersed storage network (DSN), wherein a segment of data is encoded into a set of encoded data slices that is stored in the vault;

dividing the virtual memory block into a set of vault regions;

for each vault region of the set of vault regions, determining vault parameters to produce a set of vault parameters, wherein first vault parameters includes a first decode threshold number of encoded data slices and a first total number of encoded data slices for encoding the segment of data and wherein second vault parameters includes a second decode threshold number of encoded data slices and a second total number of encoded data slices for encoding the segment of data; and

facilitating data access to the vault in accordance with the set of vault parameters, wherein, within the vault, a first set of encoded data slices created in accordance with first vault parameters is accessible from a first vault region of the set of vault regions and a second set of encoded data slices created in accordance with the second vault parameters is accessible from a second vault region of the set of vault regions.

2. The method of claim 1 , wherein creating the vault further comprises:

identifying a plurality of storage nodes of the DSN; and

allocating at least a portion of storage capability of each of the plurality of storage nodes to the vault to form the virtual memory block.

3. The method of claim 2 further comprises:

the dividing the virtual memory block into the set of vault regions including:

establishing a first set of storage nodes of the plurality of storage nodes as the first vault region of the set of vault regions;

establishing a second set of storage nodes of the plurality of storage nodes as the second vault region of the set of vault regions; and

establishing a third set of storage nodes of the plurality of storage nodes as a third vault region of the set of vault regions;

affiliating the first vault parameters with the first vault region;

affiliating the second vault parameters with the second vault region; and

affiliating third vault parameters of the set of vault parameters to the third vault region.

4. The method of claim 1 further comprises:

creating a second vault as a second virtual memory block within the memory of the DSN;

dividing the second virtual memory block into a second set of vault regions;

for each vault region of the second set of vault regions, determining vault parameters to produce a second set of vault parameters, wherein third vault parameters of the second set of vault parameters includes a third decode threshold number of encoded data slices and a third total number of encoded data slices for encoding the segment of data and wherein fourth vault parameters of the second set of vault parameters includes a fourth decode threshold number of encoded data slices and a fourth total number of encoded data slices for encoding the segment of data; and

facilitating data access to the second vault in accordance with the second set of vault parameters.

5. The method of claim 4 further comprises:

identifying a plurality of storage nodes of the DSN;

allocating a first portion of storage capability of each of the plurality of storage nodes to the vault to form the virtual memory block; and

allocating a second portion of storage capability of each of the plurality of storage nodes to the second vault to form the second virtual memory block.

6. The method of claim 4 further comprises:

identifying a first plurality of storage nodes of the DSN;

allocating at least a portion of storage capability of each of the first plurality of storage nodes to the vault to form the virtual memory block;

identifying a second plurality of storage nodes of the DSN; and

allocating at least a portion of storage capability of each of the second plurality of storage nodes to the second vault to form the second virtual memory block.

7. The method of claim 1 , wherein the facilitating data access comprises:

modifying DSN addressing protocol to include a vault region identifier in slice names regarding the set of encoded data slices.

8. The method of claim 1 further comprises:

for a vault region of the set of vault regions, determining metadata vault parameters regarding storing metadata associated with the segment of data, wherein metadata vault parameters includes a third decode threshold number of encoded metadata slices and a third total number of encoded metadata slices for encoding metadata associated with the segment of data.

9. The method of claim 1 , wherein the facilitating data access comprises:

providing the set of vault parameters to one or more computing devices of the DSN.

10. A dispersed storage (DS) module comprises:

a first module, when operable within a computing device, causes the computing device to:

create a vault as a virtual memory block within memory of a dispersed storage network (DSN), wherein a segment of data is encoded into a set of encoded data slices that is stored in the vault; and

dividing the virtual memory block into a set of vault regions;

a second module, when operable within the computing device, causes the computing device to:

for each vault region of the set of vault regions, determine vault parameters to produce a set of vault parameters, wherein first vault parameters includes a first decode threshold number of encoded data slices and a first total number of encoded data slices for encoding the segment of data and wherein second vault parameters includes a second decode threshold number of encoded data slices and a second total number of encoded data slices for encoding the segment of data; and

a third module, when operable within the computing device, causes the computing device to:

facilitate data access to the vault in accordance with the set of vault parameters, wherein, within the vault, a first set of encoded data slices created in accordance with first vault parameters is accessible from a first vault region of the set of vault regions and a second set of encoded data slices created in accordance with the second vault parameters is accessible from a second vault region of the set of vault regions.

11. The DS module of claim 10 , wherein the first module, when operable within the computing device, further causes the computing device to create the vault further by:

identifying a plurality of storage nodes of the DSN; and

allocating at least a portion of storage capability of each of the plurality of storage nodes to the vault to form the virtual memory block.

12. The DS module of claim 11 further comprises:

the first module, when operable within the computing device, further causes the computing device to divide the virtual memory block into the set of vault regions by:

establishing a first set of storage nodes of the plurality of storage nodes as the first vault region of the set of vault regions;

establishing a second set of storage nodes of the plurality of storage nodes as the second vault region of the set of vault regions;

establishing a third set of storage nodes of the plurality of storage nodes as a third vault region of the set of vault regions;

the second module, when operable within the computing device, further causes the computing device to:

affiliate the first vault parameters with the first vault region;

affiliate the second vault parameters with the second vault region; and

affiliate third vault parameters of the set of vault parameters to the third vault region.

13. The DS module of claim 11 further comprises:

the first module, when operable within the computing device, further causes the computing device to:

create a second vault as a second virtual memory block within the memory of the DSN;

divide the second virtual memory block into a second set of vault regions;

the second module, when operable within the computing device, further causes the computing device to:

for each vault region of the second set of vault regions, determine vault parameters to produce a second set of vault parameters, wherein third vault parameters of the second set of vault parameters includes a third decode threshold number of encoded data slices and a third total number of encoded data slices for encoding the segment of data and wherein fourth vault parameters of the second set of vault parameters includes a fourth decode threshold number of encoded data slices and a fourth total number of encoded data slices for encoding the segment of data; and

the third module, when operable within the computing device, further causes the computing device to:

facilitate data access to the second vault in accordance with the second set of vault parameters.

14. The DS module of claim 13 , wherein the first module, when operable within the computing device, further causes the computing device to:

identify a plurality of storage nodes of the DSN;

allocate a first portion of storage capability of each of the plurality of storage nodes to the vault to form the virtual memory block; and

allocate a second portion of storage capability of each of the plurality of storage nodes to the second vault to form the second virtual memory block.

15. The DS module of claim 13 , wherein the first module, when operable within the computing device, further causes the computing device to:

identify a first plurality of storage nodes of the DSN;

allocate at least a portion of storage capability of each of the first plurality of storage nodes to the vault to form the virtual memory block;

identify a second plurality of storage nodes of the DSN; and

allocate at least a portion of storage capability of each of the second plurality of storage nodes to the second vault to form the second virtual memory block.

16. The DS module of claim 10 , wherein the third module, when operable within the computing device, further causes the computing device to facilitate data access by:

modifying DSN addressing protocol to include a vault region identifier in slice names regarding the set of encoded data slices.

17. The DS module of claim 10 , wherein the second module, when operable within the computing device, further causes the computing device to:

for a vault region of the set of vault regions, determine metadata vault parameters regarding storing metadata associated with the segment of data, wherein metadata vault parameters includes a third decode threshold number of encoded metadata slices and a third total number of encoded metadata slices for encoding metadata associated with the segment of data.

18. The DS module of claim 10 , wherein the third module, when operable within the computing device, further causes the computing device to facilitate data access by:

providing the set of vault parameters to one or more computing devices of the DSN.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: GLADWIN, S. CHRISTOPHER; LEGGETTE, WESLEY; BAPTIST, ANDREW; RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 038309/0166 →