# US 12,223,170 B1 · Storage array latency analysis

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,223,170 B1
- Document ID: US12223170B1
- Status: Granted
- Kind: B1
- Application number: 18/229,850
- Filed: 2023-08-03
- Published: 2025-02-06
- Granted: 2025-02-11
- Earliest claimed: 2023-08-03
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: David Moloney; Eileen Kelleher; Colm O'Leary
- Web page: https://patentgrep.com/patent/US12223170B1

## CPC

- G06F 3/0611: {in relation to response time}
- G06F 3/0653: {Monitoring storage devices or systems}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0683: {Plurality of storage devices}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

One or more aspects of the present disclosure relate to relate to analyzing and mitigation storage array latency. In embodiments, an input/output (IO) workload is received by a storage array. Additionally, a latency corresponding to processing one or more IO requests of the IO workload is determined. For example, a factor corresponding to a significant portion of the latency is identified. Further, a remediation action is performed based on the factor identified.

## Claims

### Claim 1

A method comprising:
receiving an input/output (IO) workload at a storage array;
determining a latency corresponding to processing one or more IO requests of the IO workload;
identifying a cause of a portion of the latency;
determining an external factor contributing to a first portion of the latency, wherein the external factor includes an external transfer time corresponding to the one or more IO requests; and
performing a remediation action based on the cause identified.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
measuring a processing time, corresponding to each device external to the storage array, contributing to a transmission or processing of each of the one or more IO requests in the IO workload; and
calculating the external transfer time based on the processing time, corresponding to each device external to the storage array, contributing to the transmission or the processing of each of the one or more IO requests in the IO workload.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
determining an internal factor contributing to a second portion of the latency.

### Claim 4 (depends on 3)

The method of claim 3, wherein the internal factor includes an internal processing time corresponding to the one or more IO requests.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
identifying an IO path, within the storage array, corresponding to processing the one or more IO requests, wherein the IO path corresponds to each component of the storage array involved with processing the one or more IO requests;
measuring each of the component's component processing time corresponding to the one or more IO requests; and
calculating the internal processing time based on each of the component's component processing time.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
calculating a response time for each IO request based on their respective external transfer times and internal processing times.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
identifying an anomaly corresponding to the external transfer times or the internal processing times corresponding to the one or more IO requests based on current and historical external transfer times and internal processing times; and
determining a source corresponding to the anomaly.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
identifying the remediation action based on the source corresponding to the anomaly.

### Claim 9

An apparatus including a memory and processor, the apparatus configured to:
receive an input/output (IO) workload at a storage array;
determine a latency corresponding to processing one or more IO requests of the IO workload;
identify a cause of a portion of the latency;
determine an external factor contributing to a first portion of the latency, wherein the external factor includes an external transfer time corresponding to the one or more IO requests; and
perform a remediation action based on the cause identified.

### Claim 10 (depends on 9)

The apparatus of claim 9, further configured to:
measure a processing time, corresponding to each device external to the storage array, contributing to a transmission or processing of each of the one or more IO requests in the IO workload; and
calculate the external transfer time based on the processing time, corresponding to each device external to the storage array, contributing to the transmission or the processing of each of the one or more IO requests in the IO workload.

### Claim 11 (depends on 10)

The apparatus of claim 10, further configured to:
determine an internal factor contributing to a second portion of the latency.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the internal factor includes an internal processing time corresponding to the one or more IO requests.

### Claim 13 (depends on 12)

The apparatus of claim 12, further configured to:
identify an IO path, within the storage array, corresponding to processing the one or more IO requests, wherein the IO path corresponds to each component of the storage array involved with processing the one or more IO requests;
measure each of the component's component processing time corresponding to the one or more IO requests; and
calculate the internal processing time based on each of the component's component processing time.

### Claim 14 (depends on 13)

The apparatus of claim 13, further configured to:
calculate a response time for each IO request based on their respective external transfer times and internal processing times.

### Claim 15 (depends on 14)

The apparatus of claim 14, further configured to:
identify an anomaly corresponding to the external transfer times or the internal processing times corresponding to the one or more IO requests based on current and historical external transfer times and internal processing times; and
determining a source corresponding to the anomaly.

### Claim 16 (depends on 15)

The apparatus of claim 15, further configured to:
identify the remediation action based on the source corresponding to the anomaly.
