IP Library Granted Patent US 9,201,805
Granted Patent B2
US 9,201,805 · App. 13/588,111 · Granted Dec 1, 2015

Dispersed storage network virtual address fields

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,201,805
App. No.
13/588,111
Granted
Dec 1, 2015
Kind
B2
Abstract

A dispersed storage network includes a dispersed storage device to store data. The dispersed storage device includes a processing module operable to slice a data segment of a data object into data slices. The processing module further creates a slice name for each of the data slices. The slice name includes routing information containing a vault identifier that identifies a vault associated with the data object, in which the vault identifies at least one user. The slice name further includes a source data name containing an identifier of the data object.

Claims (45)

1. A dispersed storage device for use within a dispersed storage network, comprising:

a processing module operable to:

disperse storage error encode a data segment of a data object to produce a set of encoded data slices; and

create a set of slice names for the set of encoded data slices, wherein a slice name of the set of slice names including:

routing information containing a vault identifier that identifies a vault associated with the data object, the vault being associated with at least one user; and

a source data name containing an identifier of the data object, wherein the slice name pertains to dispersed storage network addressing information for a corresponding encoded data slice of the set of encoded data slices.

2. The dispersed storage device of claim 1 , wherein the processing module further functions to:

disperse storage error encode the data object to produce a plurality of sets of encoded data slices, wherein the plurality of sets of encoded data slices includes the set of encoded data slices, wherein a first encoded data slice of each set of the plurality of sets of encoded data slices is associated with a first pillar number to produce a first group of encoded data slices; and

create a first group of slice names for the first group of encoded data slices, wherein each slice name in the first group of slice names includes a reference to the first pillar number.

3. The dispersed storage device of claim 2 , wherein the processing module further functions to:

wherein a second encoded data slice of each set of the plurality of sets of encoded data slices is associated with a second pillar number to produce a second group of encoded data slices; and

create a second group of slice names for the second group of encoded data slices, wherein each slice name in the second group of slice names includes a reference to the second pillar number.

4. The dispersed storage device of claim 1 , wherein the routing information further comprises at least one of:

a vault generation identifier that identifies a generation of the vault, the generation indicating a virtual address range assigned to a pillar number; and

a slice index based on the vault identifier and a pillar identifier that identifies the pillar numbers.

5. The dispersed storage device of claim 4 , wherein the routing information comprises a reserved field, and wherein the slice index comprises two bytes, the vault identifier comprises sixteen bytes, the vault generation identifier comprises two bytes and the reserved field comprises four bytes.

6. The dispersed storage device of claim 1 , wherein the processing module further functions to:

receive a user identity (ID) and an object name associated with the data object;

determine the vault identifier and user information associated with the user from the user ID; and

determine the source data name from the object name.

7. The dispersed storage device of claim 6 , wherein the source data name comprises the vault identifier, a vault generation identifier and a data name associated with the object name.

8. The dispersed storage device of claim 6 , wherein the user information comprises user attributes of the user and operational parameters, the operational parameters including one or more of an error coding algorithm, a read threshold of the error coding algorithm, the number of pillars for the vault, an encryption algorithm, a slicing parameter, a compression algorithm, an integrity check method, caching settings and parallelism settings.

9. The dispersed storage device of claim 6 , wherein the source data name comprises, in a first format, a type field indicating a file format of the data object, a file identifier that is linked to the object name and a segment identifier that identifies the data segment, and in a second format, a type field indicating a block format of the data object, a filler field and a block identifier that is linked to the object name.

10. A computer readable memory device comprises:

a first memory section that stores operational instructions that, when executed by a computing core, causes the computing core to:

disperse storage error encode a data segment of a data object to produce a set of encoded data slices; and

a second memory section that stores operational instructions that, when executed by the computing core, causes the computing core to:

create a set of slice names for the set of encoded data slices, wherein a slice name of the set of slice names including:

routing information containing a vault identifier that identifies a vault associated with the data object, the vault being associated with at least one user; and

a source data name containing an identifier of the data object, wherein the slice name pertains to dispersed storage network addressing information for a corresponding encoded data slice of the set of encoded data slices.

11. The computer readable memory device of claim 10 further comprises:

the first memory section further stores operational instructions that, when executed by the computing core, causes the computing core to:

disperse storage error encode the data object to produce a plurality of sets of encoded data slices, wherein the plurality of sets of encoded data slices includes the set of encoded data slices, wherein a first encoded data slice of each set of the plurality of sets of encoded data slices is associated with a first pillar number to produce a first group of encoded data slices; and

the second memory section further stores operational instructions that, when executed by the computing core, causes the computing core to:

create a first group of slice names for the first group of encoded data slices, wherein each slice name in the first group of slice names includes a reference to the first pillar number.

12. The computer readable memory device of claim 10 , wherein the second memory section further stores operational instructions that, when executed by the computing core, causes the computing core to:

wherein a second encoded data slice of each set of the plurality of sets of encoded data slices is associated with a second pillar number to produce a second group of encoded data slices; and

create a second group of slice names for the second group of encoded data slices, wherein each slice name in the second group of slice names includes a reference to the second pillar number.

13. The computer readable memory device of claim 10 , wherein the routing information further comprises a vault generation identifier that identifies a generation of the vault, the generation indicating a virtual address range assigned to a pillar.

14. The computer readable memory device of claim 10 , wherein the first memory section further stores operational instructions that, when executed by the computing core, causes the computing core to:

receive a user identity (ID) and an object name associated with the data object;

determining the vault identifier and user information associated with the user from the user ID; and

determining the source data name from the object name.

15. The computer readable memory device of claim 14 , wherein the source data name comprises the vault identifier, a vault generation identifier and a data name associated with the object name.

16. The computer readable memory device of claim 10 , wherein the source data name comprises, in a first format, a type field indicating a file format of the data object, a file identifier that is linked to an object name and a segment identifier that identifies the data segment, and in a second format, a type field indicating a block format of the data object, a filler field and a block identifier that is linked to the object name.

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 20, 2019
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 049233/0624 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2016
From: BAPTIST, ANDREW; DHUSE, GREG
To: CLEVERSAFE, INC.
Reel/Frame 038160/0740 →