IP Library Granted Patent US 11,023,169
Granted Patent B2
US 11,023,169 · App. 16/390,534 · Granted Jun 1, 2021

Identifying performance impact events in data storage equipment based on queue depth metrics

Inventors: Zachary Arnold (Concord, MA); Peter Beale (Acton, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0659G06F3/067G06F3/0613G06F3/0662
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 11,023,169
App. No.
16/390,534
Filed
Apr 22, 2019
Granted
Jun 1, 2021
Kind
B2
Examiner
YU, HENRY W
Art Unit
2181
USPC
710/5
Abstract

A technique manages data storage equipment. The technique involves receiving queue depth metrics from data storage performance data describing data storage performance of the data storage equipment. The technique further involves performing a performance impact detection operation on the queue depth metrics to determine whether a performance impacting event has occurred on the data storage equipment. The technique further involves, in response to a result of the performance impact detection operation indicating that a performance impacting event has occurred on the data storage equipment, launching a set of performance impact operations to address the performance impacting event that occurred on the data storage equipment. Such a technique may be performed by an electronic apparatus coupled with the data storage equipment (e.g., over a network).

Claims (79)

1. A method of managing data storage equipment, the method comprising:

obtaining first queue depth metrics from data storage performance data describing data storage performance of the data storage equipment, the first queue depth metrics including a first series of time-specific queue depth values, each time-specific queue depth value representing a current queue depth for the data storage equipment at a respective point in time;

performing a performance impact detection operation on the first queue depth metrics to determine whether a first performance impacting event has occurred on the data storage equipment, the performing of the performance impact detection operation comprising:

from the first series of time-specific queue depth values, computing an average queue depth value over a predefined period of time;

identifying, within the predefined period of time, a time range in which a portion of the first series of time-specific queue depth values exceeds the average queue depth value; and

performing a first set of evaluation operations on the data storage performance data within an evaluation window defined by the identified time range; and

in response to a result of the performance impact detection operation indicating that the first performance impacting event has occurred on the data storage equipment, launching a set of performance impact operations to address the first performance impacting event that occurred on the data storage equipment.

2. A method as in claim 1 wherein obtaining the first queue depth metrics from the data storage performance data includes:

acquiring input/output (I/O) operations per second (IOPS) data and latency data from the data storage equipment, and

deriving the first queue depth metrics from the IOPS data and the latency data acquired from the data storage equipment.

3. A method as in claim 2 wherein performing the performance impact detection operation on the first queue depth metrics further includes:

performing a set of comparison operations to determine whether time-specific queue depth values of the portion of the first series of time-specific queue depth values exceeds the average queue depth value by a predefined queue depth threshold.

4. A method as in claim 3 wherein performing the performance impact detection operation on the first queue depth metrics further includes:

in response to one or more of the time-specific queue depth values of the portion of the first series of time-specific queue depth values exceeding the average queue depth value by the predefined queue depth threshold, performing the first set of evaluation operations on the data storage performance data.

5. A method as in claim 4 wherein the IOPS data includes a series of time-specific IOPS values;

wherein the latency data includes a series of time-specific latency values; and

wherein performing the first set of evaluation operations on the data storage performance data over the time range includes:

performing a negative covariance operation to determine whether negative covariance that exceeds a negative covariance threshold exists between a portion of the series of time-specific IOPS values and a portion of the series of time-specific latency values during the time range.

6. A method as in claim 4 wherein the IOPS data includes a series of time-specific IOPS values; and

wherein performing the first set of evaluation operations on the data storage performance data over the time range includes:

from the series of time-specific IOPS values, computing a first average IOPS value over the predefined period of time and a second average IOPS value over the time range, and

performing a comparison operation to determine whether the second IOPS value is lower than the first IOPS value.

7. A method as in claim 4 wherein the latency data includes a series of time-specific latency values;

wherein the data storage performance data further includes a series of time-specific read percentage values identifying percentages of read operations performed by the data storage equipment at respective points in time; and

wherein performing the first set of evaluation operations on the data storage performance data over the time range includes:

performing a positive correlation operation to determine whether positive correlation that exceeds a predefined positive correlation threshold exists between a portion of the series of time-specific latency values and a portion of the series of time-specific read percentage values over the time range.

8. A method as in claim 4 wherein the latency data includes a series of time-specific latency values;

wherein the data storage performance data further includes a series of time-specific read percentage values identifying percentages of read operations performed by the data storage equipment at respective points in time; and

wherein performing the first set of evaluation operations on the data storage performance data over the time range includes:

performing an inverse correlation operation to determine whether inverse correlation that exceeds a predefined inverse correlation threshold exists between a portion of the series of time-specific latency values and a portion of the series of time-specific read percentage values over the time range.

9. A method as in claim 4 wherein the latency data includes a series of time-specific latency values;

wherein the data storage performance data further includes a series of time-specific I/O size distributions describing distributions of I/O sizes for I/O operations performed by the data storage equipment at respective points in time; and

wherein performing the first set of evaluation operations on the data storage performance data over the time range includes:

performing a positive correlation operation to determine whether positive correlation that exceeds a predefined positive correlation threshold exists between a portion of the series of time-specific latency values and a portion of the series of time-specific I/O size distributions over the time range.

10. A method as in claim 2 wherein the IOPS data includes a series of time-specific IOPS values; and

wherein deriving the first queue depth metrics includes:

computing the first series of time-specific queue depth values from the series of time-specific IOPS values, each time-specific queue depth value being based on a respective time-specific IOPS value of the series of time-specific IOPS values to enable performance impact detection from an online transaction processing (OLTP) perspective.

11. A method as in claim 2 wherein the IOPS data includes a series of time-specific IOPS values; and

wherein deriving the first queue depth metrics includes:

computing an average IOPS value from the series of time-specific IOPS values, and

computing the first series of time-specific queue depth values from the average IOPS value, each time-specific queue depth value being based on the average IOPS value to enable performance impact detection from an online analytical processing (OLAP) perspective.

12. A method as in claim 2 wherein the IOPS data includes a series of time-specific IOPS values; and

wherein deriving the first queue depth metrics includes:

computing an average IOPS value from the series of time-specific IOPS values,

computing the first series of time-specific queue depth values from the series of time-specific IOPS values, each time-specific queue depth value of the first series being based on a respective time-specific IOPS value of the series of time-specific IOPS values to enable performance impact detection from an online transaction processing (OLTP) perspective, and

computing a second series of time-specific queue depth values from the average IOPS value, each time-specific queue depth value of the second series being based on the average IOPS value to enable performance impact detection from an online analytical processing (OLAP) perspective.

13. A method as in claim 1 wherein the data storage equipment includes storage devices and storage processing circuitry constructed and arranged to perform data storage operations on the storage devices on behalf of a set of host computers;

wherein launching the set of performance impact operations includes:

while the storage processing circuitry of the data storage equipment performs data storage operations on the storage devices on behalf of the set of host computers, performing a set of computerized remedial operations in response to the result of the performance impact detection operation.

14. A method as in claim 13 wherein performing the set of computerized remedial operations includes:

in a graphical user interface (GUI) window that displays a chart of particular data storage performance of the data storage equipment versus time, highlighting at least a portion of the chart to identify occurrence of the performance impact event.

15. A method as in claim 13 wherein performing the set of computerized remedial operations includes:

transmitting an alert notification to a client device to identify occurrence of the performance impact event to a user of the client device.

16. A method as in claim 13 wherein performing the set of computerized remedial operations includes:

providing a set of commands to the data storage equipment to adjust operation of the data storage equipment.

17. Electronic circuitry, comprising:

a communications interface constructed and arranged to communicate with the data storage equipment;

memory; and

control circuitry coupled to the communications interface and the memory, the memory storing instructions which, when carried out by the control circuitry, cause the control circuitry to:

obtain queue depth metrics from data storage performance data describing data storage performance of data storage equipment, the queue depth metrics including a series of time-specific queue depth values, each time-specific queue depth value representing a current queue depth for the data storage equipment at a respective point in time, at least some of the data storage performance data having been received through the communications interface,

perform a performance impact detection operation on the queue depth metrics to determine whether a performance impacting event has occurred on the data storage equipment, the performance impact detection operation comprising:

from the series of time-specific queue depth values, computing an average queue depth value over a predefined period of time;

identifying, within the predefined period of time, a time range in which a portion of the series of time-specific queue depth values exceeds the average queue depth value; and

performing a set of evaluation operations on the data storage performance data within an evaluation window defined by the identified time range; and

in response to a result of the performance impact detection operation indicating that the performance impacting event has occurred on the data storage equipment, launch a set of performance impact operations to address the performance impacting event that occurred on the data storage equipment.

18. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage data storage equipment; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

obtaining queue depth metrics from data storage performance data describing data storage performance of the data storage equipment, the queue depth metrics including a series of time-specific queue depth values, each time-specific queue depth value representing a current queue depth for the data storage equipment at a respective point in time;

performing a performance impact detection operation on the queue depth metrics to determine whether a performance impacting event has occurred on the data storage equipment, the performing of the performance impact detection operation comprising:

from the series of time-specific queue depth values, computing an average queue depth value over a predefined period of time;

identifying, within the predefined period of time, a time range in which a portion of the series of time-specific queue depth values exceeds the average queue depth value; and

performing a set of evaluation operations on the data storage performance data within an evaluation window defined by the identified time range; and

in response to a result of the performance impact detection operation indicating that the performance impacting event has occurred on the data storage equipment, launching a set of performance impact operations to address the performance impacting event that occurred on the data storage equipment.

19. A method as in claim 1 wherein the obtaining of the queue depth metrics includes computing the series of time-specific queue depth values from (i) a series of time-specific IOPS values and (ii) a series of time-specific latency values.

20. A method as in claim 19 further comprising:

in response to the result of the performance impact detection operation indicating that the first performance impacting event has not occurred on the data storage equipment:

obtaining second queue depth metrics, the obtaining of the second queue depth metrics including computing a second series of time-specific queue depth values from (i) an average of the series of time-specific IOPS values and (ii) the series of time-specific latency values;

determining that a portion of the second series of time-specific queue depth values exceeds the average queue depth value within the predefined period of time;

performing a second set of evaluation operations on the data storage performance data within the evaluation window defined by the identified time range; and

in response to a result of the second set of evaluation operations indicating that a second performance impacting event has occurred on the data storage equipment, launching a second set of performance impact operations to address the second performance impacting event that occurred on the data storage equipment.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 050405 FRAME 0534 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058001/0001 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2019
From: ARNOLD, ZACHARY; BEALE, PETER
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049199/0953 →
Continuity (1)
Related Publication 20200333978A1 · Oct 22, 2020