Suspending data replication
US-9304889-B1 · Apr 5, 2016 · US
US11301138B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11301138-B2 |
| Application number | US-201916516670-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 19, 2019 |
| Priority date | Jul 19, 2019 |
| Publication date | Apr 12, 2022 |
| Grant date | Apr 12, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Disk arrays, e.g. RAID, JBOD · CPC title
Single storage device · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.