IP Library Granted Patent US 8,381,025
Granted Patent B2
US 8,381,025 · App. 12/778,663 · Granted Feb 19, 2013

Method and apparatus for dispersed storage memory device selection

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 8,381,025
App. No.
12/778,663
Granted
Feb 19, 2013
Kind
B2
Abstract

A method begins when a dispersed storage (DS) processing unit of a DS unit has at least one of DS unit operational data and DS unit operating system algorithm to store. The method continues with the DS processing unit encoding at least a portion of the at least one of DS unit operational data and DS unit operating system algorithm in accordance with an error coding dispersal storage function to produce a plurality of data slices. The method continues with the DS processing unit storing at least some of the plurality of data slices in memory devices of the DS unit in accordance with the error coding dispersal storage function.

Claims (104)

1. A method for execution by a dispersed storage (DS) unit comprises:

when the DS unit has at least one of DS unit operational data and DS unit operating system algorithm to store:

encoding at least a portion of the at least one of DS unit operational data and DS unit operating system algorithm in accordance with an error coding dispersal storage function to produce a plurality of data slices; and

storing at least some of the plurality of data slices in memory devices of the DS unit in accordance with the error coding dispersal storage function; and

when the DS unit has an encoded slice of content data to store:

selecting one of the memory devices of the DS unit for storing the encoded slice based on metadata associated with the encoded slice to produce a selected memory device; and

storing the encoded slice in the selected memory device, wherein the selecting the one of the memory devices of the DS unit includes:

retrieving data slices of the DS unit operational data from the memory devices to produce retrieved data slices;

reconstructing vault information from the retrieved data slices in accordance with the error coding dispersal storage function; and

selecting the one of the memory devices based on the vault information.

2. The method of claim 1 , wherein the DS unit operational data comprises at least one of:

a DS table;

a local virtual distributed storage network (DSN) address to physical memory table;

a log;

an activity record;

a memory utilization record;

an error record;

a storage record;

a retrieval record; and

a vault information record.

3. The method of claim 1 , wherein the storing at least some of the plurality of data slices further comprises:

determining a memory device requirements for the storing of the at least some of the plurality of data slices in the memory devices based on metadata; and

identifying the memory devices based on the memory device requirements.

4. The method of claim 3 , wherein the metadata comprises at least one of:

a data type;

a data size;

a data priority;

a data security index;

an estimated storage time;

an estimated time between retrievals; and

a storage requirement.

5. The method of claim 1 , wherein the storing of the at least some of the plurality of data slices in the memory devices further comprises:

storing at least a read threshold number of the plurality of data slices in a first set of the memory devices; and

storing remaining data slices of the plurality of data slices in a second set of the memory devices.

6. The method of claim 1 further comprises:

when the DS unit has at least one of DS unit operational data and DS unit operating system algorithm to store:

storing a remaining one of the plurality of data slices in a memory device of another DS unit in accordance with the error coding dispersal storage function.

7. A dispersed storage (DS) unit comprises:

a plurality of memory devices;

a dispersed storage processing unit operable to:

when at least one of DS unit operational data and DS unit operating system algorithm is to be stored:

encode at least a portion of the at least one of DS unit operational data and DS unit operating system algorithm in accordance with an error coding dispersal storage function to produce a plurality of data slices; and

store at least some of the plurality of data slices in memory devices of the DS unit in accordance with the error coding dispersal storage function; and

when an encoded slice of content data is to be stored:

select one of the plurality of memory devices for storing the encoded slice based on metadata associated with the encoded slice to produce a selected memory device; and

store the encoded slice in the selected memory device, wherein the selecting the one of the memory devices of the DS unit includes:

retrieving data slices of the DS unit operational data from the memory devices to produce retrieved data slices;

reconstructing vault information from the retrieved data slices in accordance with the error coding dispersal storage function; and

selecting the one of the memory devices based on the vault information.

8. The DS unit of claim 7 , wherein the DS unit operational data comprises at least one of:

a DS table;

a local virtual distributed storage network (DSN) address to physical memory table;

a log;

an activity record;

a memory utilization record;

an error record;

a storage record;

a retrieval record; and

a vault information record.

9. The DS unit of claim 7 , wherein the dispersed storage processing unit further functions to store at least some of the plurality of data slices by:

determining a memory device requirements for the storing of the at least some of the plurality of data slices in the memory devices based on metadata; and

identifying the memory devices based on the memory device requirements.

10. The DS unit of claim 9 , wherein the metadata comprises at least one of:

a data type;

a data size;

a data priority;

a data security index;

an estimated storage time;

an estimated time between retrievals; and

a storage requirement.

11. The DS unit of claim 9 , wherein the dispersed storage processing unit further functions to store at least some of the plurality of data slices in the memory devices by:

storing at least a read threshold number of the plurality of data slices in a first set of the memory devices; and

storing remaining data slices of the plurality of data slices in a second set of the memory devices.

12. The DS unit of claim 7 further comprises:

an interface module; and

wherein the dispersed storage processing unit further functions to:

when the DS unit has at least one of DS unit operational data and DS unit operating system algorithm to store:

outputting, via the interface module, a remaining one of the plurality of data slices to a memory device of another DS unit in accordance with the error coding dispersal storage function.

13. A dispersed storage (DS) unit comprises:

an interface module operable to receive an encoded slice of content data;

a plurality of memory devices; and

a processing unit operable to:

determine that the encoded slice is to be stored;

retrieve a plurality of data slices from at least some of the plurality of memory devices based on the encoded slice;

reconstruct DS operational data from the plurality of data slices in accordance with an error coding dispersal storage function;

selecting one of the plurality of memory devices for storing the encoded slice based on the DS operational data to produce a selected memory device; and

storing the encoded slice in the selected memory device;

retrieve a plurality of data slices of a DS unit operating system algorithm from at least some of the plurality of memory devices;

reconstruct the DS unit operating system algorithm from the plurality of data slices in accordance with an error coding dispersal storage function; and

execute at least a portion of the DS unit operating system algorithm.

14. The DS unit of claim 13 , the processing unit further functions to:

update the DS operational data to produce updated DS operational data when the encoded slice is stored;

construct a second plurality of data slices from the updated DS operational data in accordance with the error coding dispersal storage function; and

output, via the interface module, the second plurality of data slices in at least some of the plurality of memory devices based on the encoded slice.

15. The DS unit of claim 13 , wherein the DS operational data comprises at least one of:

a DS table;

a local virtual distributed storage network (DSN) address to physical memory table;

a log;

an activity record;

a memory utilization record;

an error record;

a storage record;

a retrieval record; and

a vault information record.

Assignments (4)
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 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2010
From: HOFFMAN, STEVEN MARK; RESCH, JASON K.; GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 024375/0906 →