IP Library Granted Patent US 9,927,976
Granted Patent B2
US 9,927,976 · App. 15/345,172 · Granted Mar 27, 2018

Storing data in a directory-less 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,927,976
App. No.
15/345,172
Granted
Mar 27, 2018
Kind
B2
Abstract

A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) sending a plurality of sets of encoded data slices to DSN memory for storage in accordance with a plurality of sets of DSN data addresses. The method continues with the DS processing module generating retrieval data that is based on a data object number and data storage information. The method continues with the DS processing module dispersed storage error encoding the retrieval data to produce a set of encoded retrieval data slices and generating a set of DSN retrieval data addresses based on the data name and on retrieval data storage information. The method continues with the DS processing module sending the set of encoded retrieval data slices to the DSN memory for storage in accordance with the set of DSN retrieval data addresses.

Claims (70)

1. A dispersed storage (DS) module of a dispersed storage network (DSN), the DS module comprises:

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

send a plurality of sets of encoded data slices to DSN memory for storage in accordance with a plurality of sets of DSN data addresses, wherein data is dispersed storage error encoded to produce the plurality of sets of encoded data slices, wherein the data has a data name, wherein the plurality of sets of DSN data addresses is generated based on a data object number associated with the data and data storage information, and wherein the data name includes file system information;

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

generate retrieval data that is based on the data object number and the data storage information;

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

dispersed storage error encode the retrieval data to produce a set of encoded retrieval data slices;

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

generate a set of DSN retrieval data addresses based on the data name and on retrieval data storage information; and

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

send the set of encoded retrieval data slices to the DSN memory for storage therein in accordance with the set of DSN retrieval data addresses.

2. The DS module of claim 1 further comprises:

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

utilize a pseudo random number generator to produce the data object number; and

determine, the data storage information, from dispersed storage error encoding parameters that include one or more of:

data segmenting information regarding segmenting the data into a plurality of data segments;

a total number of encoded data slices per set of encoded data slices of the plurality of sets of encoded data slices;

a decode threshold number of encoded data slices per the set of encoded data slices;

a read threshold number of encoded data slices per the set of encoded data slices; and

a write threshold number of encoded data slices per the set of encoded data slices.

3. The DS module of claim 1 , wherein the file system information comprises one or more of:

a user identifier;

a vault identifier; and

a file system path name for the data.

4. The DS module of claim 1 , wherein the fourth module causes the computing device to generate the set of DSN retrieval data addresses by:

performing a deterministic function on the data name to produce a retrieval data object number; and

determining, the retrieval data storage information, from dispersed storage error encoding parameters that includes one or more of:

a total number of encoded retrieval data slices for the set of encoded retrieval data slices;

a decode threshold number of encoded retrieval data slices for the set of encoded retrieval data slices;

a read threshold number of encoded retrieval data slices for the set of encoded retrieval data slices; and

a write threshold number of encoded retrieval data slices for the set of encoded retrieval data slices.

5. The DS module of claim 1 further comprises:

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

determine to store multiple copies of the set of encoded retrieval data slices;

identify multiple sets of storage units of the DSN memory for storing the multiple copies; and

for each copy of the multiple copies:

generate a unique set of DSN retrieval data addresses based on the data name, on the retrieval data storage information, and on a corresponding one of the multiple sets of storage units; and

send the set of encoded retrieval data slices to the corresponding one of the multiple sets of storage units for storage in accordance with the unique set of DSN retrieval data addresses.

6. The DS module of claim 5 further comprises:

the multiple sets of storage units being part of a logical storage vault within the DSN memory, wherein a first set of storage units of the set of storage units corresponds to a first generation of the DSN memory and a second set of storage units of the set of storage units corresponds to a second generation of the DSN memory.

7. The DS module of claim 1 further comprises:

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

receive a read request regarding the data, wherein the read request regarding the data includes the data name;

estimate likely retrieval data storage information;

generate likely DSN retrieval data addresses based on the data name and the likely retrieval data storage information;

send read requests to the likely DSN retrieval data addresses; and

when favorable responses to the read requests have been received:

reconstruct the retrieval data; and

utilize the retrieval data to reconstruct the data.

8. The DS module of claim 7 , wherein the sixth module cause the computing device to estimate the likely retrieval data storage information by one or more of:

determining a logical DSN address to physical storage device mapping;

determining historical use patterns of the DSN memory; and

determining historical storage patterns of a requesting entity that is requesting the read request.

9. The DS module of claim 7 further comprises:

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

when favorable responses to the read requests have not been received:

estimate a second likely retrieval data storage information;

generate second likely DSN retrieval data addresses based on the data name and the second likely retrieval data storage information;

send second read requests to the second likely DSN retrieval data addresses; and

when favorable responses to the second read requests have been received:

reconstruct the retrieval data; and

utilize the retrieval data to reconstruct the data.

10. The DS module of claim 7 further comprises:

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

estimate a second likely retrieval data storage information;

generate second likely DSN retrieval data addresses based on the data name and the second likely retrieval data storage information;

send second read requests to the second likely DSN retrieval data addresses;

when favorable responses to either of the read requests or the second read requests have been received:

reconstruct the retrieval data; and

utilize the retrieval data to reconstruct the data.

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 Mar 9, 2017
From: MOTWANI, MANISH; STORM, MICHAEL COLIN; VOLVOVSKI, ILYA; DHUSE, GREG; BAPTIST, ANDREW; LEGGETTE, WESLEY
To: CLEVERSAFE, INC.
Reel/Frame 041531/0124 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2017
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041937/0316 →