IP Library Granted Patent US 10,209,903
Granted Patent B2
US 10,209,903 · App. 13/779,469 · Granted Feb 19, 2019

Method and apparatus for dispersed storage memory device utilization

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 10,209,903
App. No.
13/779,469
Granted
Feb 19, 2019
Kind
B2
Abstract

A method begins with a processing module receiving data for storage. The method continues with the processing module determining storage metadata regarding storage requirements of the data. When the storage metadata includes a first type of storage mode, the method continues with the processing module determining a first error coding dispersal storage function; identifying first memory of DSN memory; encoding the data in accordance with the first error coding dispersal storage functions; and outputting the first encoded data slices to the first memory for storage therein. When the storage metadata includes a second type of storage mode, the method continues with the processing module determining a second error coding dispersal storage function; identifying second memory of a dispersed storage network (DSN) memory; encoding the data in accordance with the second error coding dispersal storage functions; and outputting the second encoded data slices to the second memory for storage therein.

Claims (66)

1. A method for dispersed memory storage comprises:

receiving data for storage;

determining storage metadata regarding storage requirements of the data, wherein the storage metadata indicating one or more of: a set of storage units of a plurality of sets of storage units of a dispersed storage network (DSN) memory, a storage mode of a plurality storage modes, and a corresponding one of a plurality of error coding dispersal storage functions;

encoding a data segment of the data in accordance with the corresponding one of a plurality of error coding dispersal storage functions to produce a set of encoded data slices;

when the storage metadata indicates a first type of storage mode of the plurality of storage modes:

outputting the set of encoded data slices to a first set of memory devices of the set of storage units for storage therein;

determining to change the storage mode from the first type of storage mode to a third type of storage mode of the plurality of storage modes after outputting the set of encoded data slices to the first set of memory devices of the set of storage units for storage; and

facilitating transfer of a subset of encoded data slices of the set of encoded data slices from storage in the first set of memory devices to storage in a subset of a second set of memory devices, wherein a set difference of the set of encoded data slices and the subset of the set of encoded data slices is greater than or equal to a decode threshold number of the one of the plurality of error coding dispersal storage functions;

when the storage metadata indicates a second type of storage mode of the plurality of storage modes:

outputting the set of encoded data slices to the second set of memory devices of the set of storage units of the DSN memory for storage therein; and

when the storage metadata indicates the third type of storage mode of the plurality of storage modes:

outputting the decode threshold number of encoded data slices of the set of encoded data slices to a subset of the first set of memory devices for storage therein; and

outputting remaining encoded data slices of the set of encoded data slices to the subset of the second set of memory devices for storage therein.

2. The method of claim 1 further comprising:

the first type of storage mode including a first time phase indicator that specifies a time period for initial storage of the data; and

the second type of storage mode including a second time phase that corresponds to a time period after the time period for initial storage of the data expires.

3. The method of claim 1 further comprises:

the first type of storage mode including an indication for customized data content; and

the second type of storage mode including an indication for generic data content.

4. The method of claim 1 further comprises:

the first type of storage mode including at least one of a first retrieval requirement and a first reliability requirement; and

the second type of storage mode including at least one of a second retrieval requirement and a second reliability requirement.

5. The method of claim 1 , wherein the DSN memory comprises:

a plurality of DSN memory sites, wherein a one of the plurality of DSN memory sites includes a dispersed storage (DS) unit that includes a first type of memory devices and a second one of the plurality of DSN memory sites includes a DS unit that includes a second type of memory devices, wherein the first type of memory devices have different memory characteristics than the second type of memory devices, and wherein the memory characteristics includes one or more of: speed of access, cost, reliability, availability, and capacity.

6. The method of claim 1 , wherein the DSN memory comprises:

a plurality of dispersed storage (DS) units, wherein the first memory includes a first set of the plurality of DS units and the second memory includes a second set of the plurality of DS units, wherein one of the plurality of DS units includes a first type of memory devices and a second type of memory devices, wherein the first type of memory devices have different memory characteristics than the second type of memory devices, and wherein the one of the plurality of DS units is included in the first and second set of the plurality of DS units.

7. The method of claim 1 , wherein determining to change the storage mode from the first type of storage mode to the third type of storage mode is based on determining a time period of storage in the first set of memory devices has elapsed.

8. The method of claim 1 , wherein determining to change the storage mode from the first type of storage mode to the third type of storage mode is based on determining an update of the storage metadata has occurred.

9. The method of claim 1 , wherein determining to change the storage mode from the first type of storage mode to the third type of storage mode is based on determining a change of available memory devices has occurred.

10. The method of claim 1 , further comprising, when the storage metadata indicates the third type of storage mode of the plurality of storage modes:

determining to change the storage mode from the third type of storage mode to the second type of storage mode after outputting the decode threshold number of encoded data slices of the set of encoded data slices to the subset of the first set of memory devices for storage and after outputting the remaining encoded data slices of the set of encoded data slices to the subset of the second set of memory devices for storage therein; and

facilitating transfer of the decode threshold number of encoded data slices of the decode threshold number of encoded data slices from storage in the first set of memory devices to storage in the second set of memory devices.

11. A computer comprises:

a dispersal memory interface; and

a processing module operable to:

receive data for storage;

determine storage metadata regarding storage requirements of the data, wherein the storage metadata indicating one or more of: a set of storage units of a plurality of sets of storage units of a dispersed storage network (DSN) memory, a storage mode of a plurality storage modes, and a corresponding one of a plurality of error coding dispersal storage functions;

encode a data segment of the data in accordance with the corresponding one of a plurality of error coding dispersal storage functions to produce a set of encoded data slices;

when the storage metadata indicates a first type of storage mode of the plurality of storage modes:

output the set of encoded data slices to a first set of memory devices of the set of storage units for storage therein;

determine to change the storage mode from the first type of storage mode to a third type of storage mode of the plurality of storage modes after outputting the set of encoded data slices to the first set of memory devices of the set of storage units for storage; and

facilitate transfer of a subset of encoded data slices of the set of encoded data slices from storage in the first set of memory devices to storage in a subset of a second set of memory devices, wherein a set difference of the set of encoded data slices and the subset of the set of encoded data slices is greater than or equal to the decode threshold number of the one of the plurality of error coding dispersal storage functions;

when the storage metadata indicates a second type of storage mode of the plurality of storage modes:

output the set of encoded data slices to a second set of memory devices of the set of storage units for storage therein; and

when the storage metadata indicates the third type of storage mode of the plurality of storage modes:

output the decode threshold number of encoded data slices of the set of encoded data slices to a subset of the first set of memory devices for storage therein; and

output remaining encoded data slices of the set of encoded data slices to the subset of the second set of memory devices for storage therein.

12. The computer of claim 11 further comprises:

the first type of storage mode including a first time phase indicator that specifies a time period for initial storage of the data; and

the second type of storage mode including a second time phase that corresponds to a time period after the time period for initial storage of the data expires.

13. The computer of claim 11 further comprises:

the first type of storage mode including an indication for customized data content; and

the second type of storage mode including an indication for generic data content.

14. The computer of claim 11 further comprises:

the first type of storage mode including at least one of a first retrieval requirement and a first reliability requirement; and

the second type of storage mode including at least one of a second retrieval requirement and a second reliability requirement.

15. The computer of claim 11 , wherein the DSN memory comprises:

a plurality of DSN memory sites, wherein a one of the plurality of DSN memory sites includes a dispersed storage (DS) unit that includes a first type of memory devices and a second one of the plurality of DSN memory sites includes a DS unit that includes a second type of memory devices, wherein the first type of memory devices have different memory characteristics than the second type of memory devices, and wherein the memory characteristics includes one or more of: speed of access, cost, reliability, availability, and capacity.

16. The computer of claim 11 , wherein the DSN memory comprises:

a plurality of dispersed storage (DS) units, wherein the first memory includes a first set of the plurality of DS units and the second memory includes a second set of the plurality of DS units, wherein one of the plurality of DS units includes a first type of memory devices and a second type of memory devices, wherein the first type of memory devices have different memory characteristics than the second type of memory devices, and wherein the one of the plurality of DS units is included in the first and second set of the plurality of DS units.

17. The computer of claim 11 , wherein determining to change the storage mode from the first type of storage mode to the third type of storage mode is based on determining a time period of storage in the first set of memory devices has elapsed.

18. The computer of claim 11 , wherein determining to change the storage mode from the first type of storage mode to the third type of storage mode is based on determining an update of the storage metadata has occurred.

19. The computer of claim 11 , wherein determining to change the storage mode from the first type of storage mode to the third type of storage mode is based on determining a change of available memory devices has occurred.

20. The computer of claim 11 , wherein the processing module, when the storage metadata indicates the third type of storage mode of the plurality of storage modes, is further operable to:

determine to change the storage mode from the third type of storage mode to the second type of storage mode after outputting the decode threshold number of encoded data slices of the set of encoded data slices to the subset of the first set of memory devices for storage and after outputting the remaining encoded data slices of the set of encoded data slices to the subset of the second set of memory devices for storage therein; and

facilitate transfer of the decode threshold number of encoded data slices of the decode threshold number of encoded data slices from storage in the first set of memory devices to storage in the second set of memory devices.

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 Oct 11, 2018
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 047130/0234 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →