IP Library Granted Patent US 9,454,431
Granted Patent B2
US 9,454,431 · App. 14/035,433 · Granted Sep 27, 2016

Memory selection for slice storage in a 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,454,431
App. No.
14/035,433
Granted
Sep 27, 2016
Kind
B2
Abstract

A method begins by a dispersed storage (DS) processing module determining that a plurality of sets of encoded data slices is to be stored in a set of storage units of a dispersed storage network (DSN) and identifying one or more devices of the DSN that will potentially issue a read request for at least some sets of encoded data slices. The method continues with the (DS) processing module determining transmission times between the one or more devices and the set of storage units and determining a storage strategy for storing the plurality of sets of encoded data slices in the set of storage units based on the transmission times and memory devices of the set of storage units such that, from set to set of encoded data slices, at least a threshold number of encoded data slices are retrievable with comparable read response times.

Claims (41)

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:

determining that a plurality of sets of encoded data slices is to be stored in a set of storage units of the DSN, wherein a data object is dispersed storage error encoded to produce the plurality of sets of encoded data slices and wherein a storage unit of the set of storage units includes a plurality of memory devices that includes one or more solid state memory devices and disk drive memory devices;

identifying one or more devices of the DSN that will potentially issue a read request for at least a portion of the data object;

determining one or more sets of transmission times between the one or more devices and the set of storage units; and

determining a storage strategy for storing the plurality of sets of encoded data slices in the set of storage units based on the one or more sets of transmission times and the pluralities of memory devices of the set of storage units, wherein the storage strategy indicates whether storage units of the set of storage units are to store encoded data slices of the plurality of sets of encoded data slices in a solid state memory device of the one or more solid state memory devices or in one of the disk drive memory devices such that, from set of encoded data slices to set of encoded data slices of the plurality of sets of encoded data slices, at least a threshold number of encoded data slices are retrievable with comparable read response times.

2. The method of claim 1 further comprises:

issuing one or more sets of write requests to the set of storage units in accordance with the storage strategy for storing the plurality of sets of encoded data slices.

3. The method of claim 1 , wherein the determining the storage strategy further comprises:

determining groupings of encoded data slices of the plurality of sets of encoded data slices, wherein a grouping of encoded data slices of the grouping of encoded data slices is to be stored in a storage unit of the set of storage units; and

determining whether the grouping of encoded data slices is to be written to the storage unit on an individual encoded data slice basis, in batches of encoded data slices, or via a single write request for the grouping of encoded data slices.

4. The method of claim 1 , wherein the determining the storage strategy further comprises:

determining whether a grouping of encoded data slices of groupings of encoded data slices is to be read from a storage unit of the set of storage units on an individual encoded data slice basis, in batches of encoded data slices, or via a single read request for the grouping of encoded data slices, wherein the plurality of sets of encoded data slices is divided into the groupings of encoded data slices.

5. The method of claim 1 , wherein the determining the storage strategy further comprises:

determining a response time for one of the one or more devices and at least some of the set of storage units, wherein the response time includes a request transmission time, a processor request processing time, a disk drive memory access time, a processor response processing time, and a response transmission time, wherein the request transmission time and the response transmission time correspond to a transmission time of the one or more sets of transmission times to produce a set of response times;

evaluating the set of response times to determine whether the threshold number of encoded data slices are retrievable with the comparable read response times; and

when less than the threshold number of encoded data slices are retrievable with comparable read response times, indicating that one or more of the storage units of the set of storage units shall use the solid state memory device such that the threshold number of encoded data slices are retrievable with the comparable read response times.

6. The method of claim 1 further comprises:

determining the storage strategy to include copying a grouping of encoded data slices of groupings of encoded data slices from the one of the disk drive memory devices to cache memory within a storage unit of the set of storage units when the storage unit receives a read request for the at least a portion of the data object, wherein the plurality of sets of encoded data slices is divided into the groupings of encoded data slices.

7. The method of claim 1 , wherein the determining the storage strategy further comprises:

determining groupings of encoded data slices of the plurality of sets of encoded data slices, wherein a grouping of encoded data slices of the grouping of encoded data slices is to be stored in a storage unit of the set of storage units and wherein DSN addresses of the grouping of encoded data slices are continuous based on a common source name of the data object.

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

a processing system, including a processor and a memory, wherein the processing system is configured to:

determine that a plurality of sets of encoded data slices is to be stored in a set of storage units of the DSN, wherein a data object is dispersed storage error encoded to produce the plurality of sets of encoded data slices and wherein a storage unit of the set of storage units includes a plurality of memory devices that includes one or more solid state memory devices and disk drive memory devices;

identify one or more devices of the DSN that will potentially issue a read request for at least a portion of the data object; and

determine one or more sets of transmission times between the one or more devices and the set of storage units; and

determine a storage strategy for storing the plurality of sets of encoded data slices in the set of storage units based on the one or more sets of transmission times and the pluralities of memory devices of the set of storage units, wherein the storage strategy indicates whether storage units of the set of storage units are to store encoded data slices of the plurality of sets of encoded data slices in a solid state memory device of the one or more solid state memory devices or in one of the disk drive memory devices such that, from set of encoded data slices to set of encoded data slices of the plurality of sets of encoded data slices, at least a threshold number of encoded data slices are retrievable with comparable read response times.

9. The DS module of claim 8 wherein the processing system is further configured to:

issue one or more sets of write requests to the set of storage units in accordance with the storage strategy for storing the plurality of sets of encoded data slices.

10. The DS module of claim 8 wherein the processing system is further configured to:

determining groupings of encoded data slices of the plurality of sets of encoded data slices, wherein a grouping of encoded data slices of the grouping of encoded data slices is to be stored in a storage unit of the set of storage units; and

determining whether the grouping of encoded data slices is to be written to the storage unit on an individual encoded data slice basis, in batches of encoded data slices, or via a single write request for the grouping of encoded data slices.

11. The DS module of claim 8 wherein the processing system is further configured to:

determining whether a grouping of encoded data slices of groupings of encoded data slices is to be read from a storage unit of the set of storage units on an individual encoded data slice basis, in batches of encoded data slices, or via a single read request for the grouping of encoded data slices, wherein the plurality of sets of encoded data slices is divided into the groupings of encoded data slices.

12. The DS module of claim 8 wherein the processing system is further configured to:

determining a response time for one of the one or more devices and at least some of the set of storage units, wherein the response time includes a request transmission time, a processor request processing time, a disk drive memory access time, a processor response processing time, and a response transmission time, wherein the request transmission time and the response transmission time correspond to a transmission time of the one or more sets of transmission times to produce a set of response times;

evaluating the set of response times to determine whether the threshold number of encoded data slices are retrievable with the comparable read response times; and

when less than the threshold number of encoded data slices are retrievable with comparable read response times, indicating that one or more of the storage units of the set of storage units shall use the solid state memory device such that the threshold number of encoded data slices are retrievable with the comparable read response times.

13. The DS module of claim 8 wherein the processing system is further configured to:

determine the storage strategy to include copying a grouping of encoded data slices of groupings of encoded data slices from the one of the disk drive memory devices to cache memory within a storage unit of the set of storage units when the storage unit receives a read request for the at least a portion of the data object, wherein the plurality of sets of encoded data slices is divided into the groupings of encoded data slices.

14. The DS module of claim 8 wherein the processing system is further configured to:

determining groupings of encoded data slices of the plurality of sets of encoded data slices, wherein a grouping of encoded data slices of the grouping of encoded data slices is to be stored in a storage unit of the set of storage units and wherein DSN addresses of the grouping of encoded data slices are continuous based on a common source name of the data object.

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 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2013
From: GRUBE, GARY W.; MARKISON, TIMOTHY W.
To: CLEVERSAFE, INC.
Reel/Frame 031270/0975 →