Dynamic balancing of input/output (IO) operations for a storage system

US11301138B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11301138-B2
Application numberUS-201916516670-A
CountryUS
Kind codeB2
Filing dateJul 19, 2019
Priority dateJul 19, 2019
Publication dateApr 12, 2022
Grant dateApr 12, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one aspect, performing dynamic balancing of input/output (IO) operations includes providing a first queue for a first storage unit and a second queue for a second storage unit. The queues are configured to receive IO requests directed to the storage units. An aspect also includes determining a quality of service (QoS) value assigned to each of the storage units, pulling entries from the queues at a rate that accords with the QoS value, executing IOs, and monitoring bandwidth of the IO operations. Upon determining the bandwidth is not in alignment with the QoS value for either of the first and second storage units, a further aspect includes modifying the rate in which entries are pulled from at least one of the queues, continuing the monitoring the bandwidth and the modifying the rate until the bandwidth aligns with the QoS value assigned to each of the storage units.

First claim

Opening claim text (preview).

We claim: 1. A method for performing dynamic balancing of input/output (IO) operations for storage units, the method comprising: providing a first queue for a first storage unit of the storage units; providing a second queue for a second storage unit of the storage units, the first queue and the second queue configured to receive input/output (IO) requests directed to corresponding first and second storage units; determining a quality of service (QoS) value assigned to each of the first storage unit and the second storage unit; pulling entries from each of the first queue and the second queue at a rate that accords with the QoS value assigned to each of the first storage unit and the second storage unit; executing IO operations pursuant to the pulled entries; monitoring bandwidth of the IO operations, responsive to the executing, with respect to the first storage unit and the second storage unit; and upon determining, from the monitoring, the bandwidth is not in alignment with the QoS value for either of the first storage unit and the second storage unit, adaptively adjusting a ratio in which numbers of entries are pulled from the first queue and the second queue during a subsequent polling cycle based on the monitored bandwidth of the IO operations with respect to the first storage unit and the monitored bandwidth of the IO operations with respect to the second storage unit, continuing the monitoring the bandwidth and the adaptively adjusting the ratio until the bandwidth aligns with the QoS value assigned to each of the first storage unit and the second storage unit. 2. The method of claim 1 , wherein the QoS value assigned to the first queue is the same as the QoS value assigned to the second queue. 3. The method of claim 1 , wherein the QoS value assigned to the first queue is different than the QoS value assigned to the second queue. 4. The method of claim 3 , wherein the rate in which the entries are pulled from the first queue is initially different. 5. The method of claim 1 , further comprising: in response to the monitoring, upon determining a predefined bandwidth level has not been reached for either of the first storage unit and the second storage unit, maintaining the rate of the pulling entries. 6. The method of claim 1 , wherein the first storage unit and the second storage unit are volumes of a storage array. 7. A system for performing dynamic balancing of input/output (IO) operations for storage units, the system comprising: a memory comprising computer-executable instructions; and a processor operable by a storage system, the processor executing the computer-executable instructions, the computer-executable instructions when executed by the processor cause the processor to perform operations comprising: providing a first queue for a first storage unit of the storage units; providing a second queue for a second storage unit of the storage units, the first queue and the second queue configured to receive input/output (IO) requests directed to corresponding first and second storage units; determining a quality of service (QoS) value assigned to each of the first storage unit and the second storage unit; pulling entries from each of the first queue and the second queue at a rate that accords with the QoS value assigned to each of the first storage unit and the second storage unit; executing IO operations pursuant to the pulled entries; monitoring bandwidth of the IO operations, responsive to the executing, with respect to the first storage unit and the second storage unit; and upon determining, from the monitoring, the bandwidth is not in alignment with the QoS value for either of the first storage unit and the second storage unit, adaptively adjusting a ratio in which numbers of entries are pulled from the first queue and the second queue during a subsequent polling cycle based on the monitored bandwidth of the IO operations with respect to the first storage unit and the monitored bandwidth of the IO operations with respect to the second storage unit, continuing the monitoring the bandwidth and the adaptively adjusting the ratio until the bandwidth aligns with the QoS value assigned to each of the first storage unit and the second storage unit. 8. The system of claim 7 , wherein the QoS value assigned to the first queue is the same as the QoS value assigned to the second queue. 9. The system of claim 7 , wherein the QoS value assigned to the first queue is different than the QoS value assigned to the second queue. 10. The system of claim 9 , wherein the rate in which the entries are pulled from the first queue are initially different. 11. The system of claim 7 , wherein the operations further comprise: in response to the monitoring, upon determining a predefined bandwidth level has not been reached for either of the first storage unit and the second storage unit, maintaining the rate of the pulling entries. 12. The system of claim 7 , wherein the first storage unit and the second storage unit are volumes of a storage array. 13. A computer program product for performing dynamic balancing of input/output (IO) operations for storage units, the computer program product embodied on a non-transitory computer readable medium, and the computer program product including instructions that, when executed by a computer, causes the computer to perform operations comprising: providing a first queue for a first storage unit of the storage units; providing a second queue for a second storage unit of the storage units, the first queue and the second queue configured to receive input/output (IO) requests directed to corresponding first and second storage units; determining a quality of service (QoS) value assigned to each of the first storage unit and the second storage unit; pulling entries from each of the first queue and the second queue at a rate that accords with the QoS value assigned to each of the first storage unit and the second storage unit; executing IO operations pursuant to the pulled entries; monitoring bandwidth of the IO operations, responsive to the executing, with respect to the first storage unit and the second storage unit; and upon determining, from the monitoring, the bandwidth is not in alignment with the QoS value for either of the first storage unit and the second storage unit, adaptively adjusting a ratio in which numbers of entries are pulled from the first queue and the second queue during a subsequent polling cycle based on the monitored bandwidth of the IO operations with respect to the first storage unit and the monitored bandwidth of the IO operations with respect to the second storage unit, continuing the monitoring the bandwidth and the adaptively adjusting the ratio until the bandwidth aligns with the QoS value assigned to each of the first storage unit and the second storage unit. 14. The computer program product of claim 13 , wherein the QoS value assigned to the first queue is the same as the QoS value assigned to the second queue. 15. The computer program product of claim 13 , wherein the QoS value assigned to the first queue is different than the QoS value assigned to the second queue. 16. The computer program product of claim 15 , wherein the rate in which the entries are pulled from the first queue are initially different. 17. The computer program product of claim 13 , wherein the operations further comprise: in response to the monitoring, upon determining a predefined bandwidth level has not been reached for either of the first storage unit and the second storage unit, maintaining the rate of the pulling the entr

Assignees

Inventors

Classifications

  • Monitoring storage devices or systems · CPC title

  • Improving I/O performance · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • G06F3/0689Primary

    Disk arrays, e.g. RAID, JBOD · CPC title

  • Single storage device · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11301138B2 cover?
In one aspect, performing dynamic balancing of input/output (IO) operations includes providing a first queue for a first storage unit and a second queue for a second storage unit. The queues are configured to receive IO requests directed to the storage units. An aspect also includes determining a quality of service (QoS) value assigned to each of the storage units, pulling entries from the queu…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0689. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 12 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).