IP Library Granted Patent US 10,216,434
Granted Patent B2
US 10,216,434 · App. 15/350,677 · Granted Feb 26, 2019

Detailed memory device statistics with drive write location determination

Inventor: Jason K. Resch (Chicago, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F3/0619G06F3/064G06F3/0604G06F3/067G06F3/0608G06F3/0611G06F3/0616G06F3/0623G06F3/0631G06F3/0644G06F3/0647G06F3/0652G06F3/0653G06F3/0659G06F3/0661G06F3/0665G06F11/1076G06F11/1092G06F12/0813G06F12/0888G06F12/1408G06F17/30194G06F17/30327H03M13/3761H04L43/0852H04L43/0876H04L43/0888H04L43/16H04L67/1097G06F2212/1032G06F2212/1036G06F2212/1052G06F2212/154G06F2212/263G06F2212/402G06F2212/403G06F2212/60G06F2212/62H03M13/1515
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,216,434
App. No.
15/350,677
Granted
Feb 26, 2019
Kind
B2
Abstract

Method and systems for selecting memory resources in a dispersed storage network (DSN) include a processing module obtaining deep statistics for one or more memory device of at least some storage units of a plurality of storage units of the DSN. The processing module also determines a performance level of the memory device based on the associated deep statistics of at least the memory device and further determines whether to access a memory device based on the associated performance level of the memory device. For example, the processing module indicates not to access the memory device when the performance level of the memory device is less than a minimum performance threshold level and selects another memory device associated with a favorable performance level. In addition to, the processing module can generate a new DSN address for new data storage where the new DSN address is associated with the another memory device.

Claims (39)

1. A method of selecting memory resources in a dispersed storage network, the dispersed storage network including a plurality of dispersed storage units, the plurality of dispersed storage units each including a respective plurality of memories, the method comprising:

obtaining respective deep statistics for the respective plurality of memories of one or more of the plurality of dispersed storage units;

determining a respective performance level of one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units; and

determining whether to access one of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units based on the respective performance level of the one of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units.

2. The method of claim 1 , wherein the respective deep statistics pertain to respective ranges of slice names assigned to the respective plurality of memories of the one or more of the plurality of dispersed storage units.

3. The method of claim 1 , wherein the respective deep statistics include one or more of a memory device identifier, a slice name range, a throughput level, a process loading level indicator (IOPS), a number of read operations per unit of time, a number of write operations per unit of time, a number of delete operations per unit of time, an error count, an error count percentage, a number of errors per unit of time, a read latency level, a write latency level, a storage capacity utilization level, a storage capacity level, a number of requests received per unit of time, a rebuild activity rate, a rebalancing activity rate, and a migration activity rate.

4. The method of claim 1 , wherein the step of obtaining respective deep statistics for the respective plurality of memories of one or more of the plurality of dispersed storage units includes one or more of issuing a deep statistics request, interpreting a deep statistics response, and extracting the respective deep statistics from a recovered data object stored as at least one set of data object slices.

5. The method of claim 1 , wherein step of determining a respective performance level of one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units includes one or more of interpreting the respective deep statistics to produce respective interpreted deep statistics, comparing the respective interpreted deep statistics to one or more templates of performance levels to produce respective comparisons, calculating respective performance scores based on the respective comparisons, and interpreting the respective performance scores to produce respective performance levels.

6. The method of claim 1 , wherein step of determining whether to access one of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units based on the respective performance level of the one of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units is based on whether the respective performance level of the one or more of the respective plurality of memories is above or below a threshold.

7. The method of claim 6 , further including selecting another of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units based on the respective performance level of the another of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units.

8. The method of claim 7 , further including generating a new dispersed storage network address for new data storage, where the new dispersed storage network address for new storage is associated with the another of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units.

9. A dispersed storage processing unit for selecting memory resources in a dispersed storage network, the dispersed storage network including a plurality of dispersed storage units, the plurality of dispersed storage units each including a respective plurality of memories, the dispersed storage processing unit comprising:

a communications interface;

a memory; and

a computer processor;

where the memory includes instructions for causing the computer processor to:

obtain respective deep statistics for the respective plurality of memories of one or more of the plurality of dispersed storage units;

determine a respective performance level of one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units; and

determine whether to access one of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units based on the respective performance level of the one of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units.

10. The dispersed storage processing unit of claim 9 , wherein the respective deep statistics pertain to respective ranges of slice names assigned to the respective plurality of memories of the one or more of the plurality of dispersed storage units.

11. The dispersed storage processing unit of claim 9 , wherein the respective deep statistics include one or more of a memory device identifier, a slice name range, a throughput level, a process loading level indicator (IOPS), a number of read operations per unit of time, a number of write operations per unit of time, a number of delete operations per unit of time, an error count, an error count percentage, a number of errors per unit of time, a read latency level, a write latency level, a storage capacity utilization level, a storage capacity level, a number of requests received per unit of time, a rebuild activity rate, a rebalancing activity rate, and a migration activity rate.

12. The dispersed storage processing unit of claim 9 , wherein the memory includes instructions for further causing computer the processor to issue a deep statistics request, interpret a deep statistics response, and extract the respective deep statistics from a recovered data object stored as at least one set of data object slices.

13. The dispersed storage processing unit of claim 9 , wherein the memory includes instructions for further causing the computer processor to interpret the respective deep statistics to produce respective interpreted deep statistics, compare the respective interpreted deep statistics to one or more templates of performance levels to produce respective comparisons, calculate respective performance scores based on the respective comparisons, and interpret the respective performance scores to produce respective performance levels.

14. The dispersed storage processing unit of claim 9 , wherein the instructions for causing the computer processor to determine whether to access one of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units based on the respective performance level of the one of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units is based on whether the respective performance level of the one or more of the respective plurality of memories is above or below a threshold.

15. The dispersed storage processing unit of claim 14 , wherein the memory includes instructions for further causing the computer processor to select another of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units based on the respective performance level of the another of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units.

16. The dispersed storage processing unit of claim 15 , wherein the memory includes instructions for further causing the computer processor to generate a new dispersed storage network address for new data storage, where the new dispersed storage network address for new storage is associated with the another of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units.

17. A dispersed storage network comprising:

a plurality of dispersed storage units, the plurality of dispersed storage units each including a respective plurality of memories;

a dispersed storage processing units including:

a communications interface;

a memory; and

a computer processor;

where the memory includes instructions for causing the computer processor to:

obtain respective deep statistics for the respective plurality of memories of one or more of the plurality of dispersed storage units;

determine a respective performance level of one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units; and

determine whether to access one of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units based on the respective performance level of the one of the one or more of the respective plurality of memories of the one or more of the plurality of dispersed storage units.

18. The dispersed storage network of claim 17 , wherein the respective deep statistics pertain to respective ranges of slice names assigned to the respective plurality of memories of the one or more of the plurality of dispersed storage units.

19. The dispersed storage network of claim 17 , wherein the respective deep statistics include one or more of a memory device identifier, a slice name range, a throughput level, a process loading level indicator (IOPS), a number of read operations per unit of time, a number of write operations per unit of time, a number of delete operations per unit of time, an error count, an error count percentage, a number of errors per unit of time, a read latency level, a write latency level, a storage capacity utilization level, a storage capacity level, a number of requests received per unit of time, a rebuild activity rate, a rebalancing activity rate, and a migration activity rate.

20. The dispersed storage network of claim 17 , wherein the memory includes instructions for further causing computer the processor to issue a deep statistics request, interpret a deep statistics response, and extract the respective deep statistics from a recovered data object stored as at least one set of data object slices.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 050451/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2016
From: RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040311/0015 →
Continuity (2)
Provisional Application 62272848 · Dec 30, 2015
Related Publication 20170195420A1 · Jul 6, 2017