# US 2014/0208154 A1 · Storing data in a dispersed storage network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0208154 A1
- Document ID: US20140208154A1
- Status: Published application
- Kind: A1
- Application number: 14/223,406
- Filed: 2014-03-24
- Published: 2014-07-24
- Earliest claimed: 2011-11-01
- Assignees: Cleversafe, Inc.
- Applicants: Cleversafe, Inc.
- Inventors: S. Christopher Gladwin; Wesley Leggette; Andrew Baptist; Jason K. Resch
- Web page: https://patentgrep.com/patent/US20140208154A1

## CPC

- G06F 11/073: {in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00)}
- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G06F 21/62: Protecting access to data via a platform, e.g. using keys or access control rules
- H04L 1/0057: {Block codes (H04L1/0061, H04L1/0064 take precedence)}
- H04L 1/0061: {Error detection codes}
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F 2211/1028: Distributed, i.e. distributed RAID systems with parity
- H04L 1/0072: {Error control for data other than payload data, e.g. control data}
- H04L 1/0083: {Formatting with frames or packets; Protocol or part of protocol for error control}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 2)

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 a first vault region of the set of vault regions;
establishing a second set of storage nodes of the plurality of storage nodes as a 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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 4)

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.

### Claim 6 (depends on 4)

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.

### Claim 7 (depends on 1)

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.

### Claim 8 (depends on 1)

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.

### Claim 9 (depends on 1)

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.

### Claim 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.

### Claim 11 (depends on 10)

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.

### Claim 12 (depends on 11)

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 a first vault region of the set of vault regions;
establishing a second set of storage nodes of the plurality of storage nodes as a 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.

### Claim 13 (depends on 11)

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.

### Claim 14 (depends on 13)

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.

### Claim 15 (depends on 13)

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.

### Claim 16 (depends on 10)

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.

### Claim 17 (depends on 10)

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.

### Claim 18 (depends on 10)

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.
