Method, apparatus and computer program product for managing input/output

US11144209B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11144209-B2
Application numberUS-202016919791-A
CountryUS
Kind codeB2
Filing dateJul 2, 2020
Priority dateJan 18, 2018
Publication dateOct 12, 2021
Grant dateOct 12, 2021

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.

Embodiments of the present disclosure provide a method, an apparatus and a computer program product for managing an input/output (I/O). The method comprises, in response to receiving a first I/O request of a first type for a storage device, determining whether there exists at least one credit available to the first type of I/O requests. Each of the at least one credit indicates I/O processing capability reserved by the storage device for the first type of I/O requests. The method further comprises allocating a first credit to the first I/O request based on a result of the determining. The method further comprises performing, by using the first credit, an I/O operation requested by the first I/O request on the storage device. Moreover, the method further comprises, in response to completion of the I/O operation, recycling the first credit for use by a subsequent I/O request. Embodiments of the present disclosure can implement dynamic allocation of I/O processing capability for different types of I/Os.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of managing an input/output (I/O), comprising: in response to receiving a first I/O request of a first type for a storage device, determining whether there exists at least one credit available to the first type of I/O requests, each of the at least one credit indicating I/O processing capability reserved by the storage device for the first type of I/O requests; allocating a first credit to the first I/O request based on a result of the determining; performing, by using the first credit, an I/O operation requested by the first I/O request on the storage device; and in response to completion of the I/O operation, recycling the first credit for use by a subsequent I/O request; wherein the storage device is a redundant array of independent disks (RAID), and wherein the I/O processing capability is represented by a number of I/O operations that the RAID is able to process concurrently. 2. The method according to claim 1 , wherein allocating the first credit to the first I/O request comprises: in response to determining that there exists the at least one credit, allocating the first credit from the at least one credit to the first I/O request. 3. The method according to claim 1 , wherein allocating the first credit to the first I/O request comprises: in response to determining an absence of the at least one credit, adding the first I/O request to a waiting queue, so as to wait for one or more credits allocated to the first type of I/O requests to be recycled; and in response to the one or more credits being recycled, allocating the first credit from the one or more credits to the first I/O request. 4. The method according to claim 3 , further comprising: changing a length of the waiting queue based on a result of the performing of the I/O operation. 5. The method according to claim 1 , further comprising: in response to determining that there exists at least one credit and receiving a first request to allocate a second credit from the at least one credit for a second I/O request of a second type, determining average response time of the first type of I/O requests; and in response to the average response time being below a predetermined threshold, allocating the second credit from the at least one credit to the second I/O request. 6. The method according to claim 5 , further comprising: in response to receiving a second request to expedite processing of the first type of I/O requests, recycling the second credit for use by a subsequent I/O request of the first type. 7. The method according to claim 5 , wherein a first priority assigned to an I/O request of the first type is higher than a second priority assigned to an I/O request of the second type. 8. The method according to claim 1 , wherein the storage device is a mapped RAID. 9. An apparatus of managing an input/output (I/O), comprising: at least one processing unit; at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the apparatus to perform acts including: in response to receiving a first I/O request of a first type for a storage device, determining whether there exists at least one credit available to the first type of I/O requests, each of the at least one credit indicating I/O processing capability reserved by the storage device for the first type of I/O requests; allocating a first credit to the first I/O request based on a result of the determining; performing, by using the first credit, an I/O operation requested by the first I/O request on the storage device; and in response to completion of the I/O operation, recycling the first credit for use by a subsequent I/O request; wherein the storage device is a redundant array of independent disks (RAID), and wherein the I/O processing capability is represented by a number of I/O operations that the RAID is able to process concurrently. 10. The apparatus according to claim 9 , wherein allocating the first credit to the first I/O request comprises: in response to determining that there exists the at least one credit, allocating the first credit from the at least one credit to the first I/O request. 11. The apparatus according to claim 9 , wherein allocating the first credit to the first I/O request comprises: in response to determining an absence of the at least one credit, adding the first I/O request to a waiting queue, so as to wait for one or more credits allocated to the first type of I/O requests to be recycled; and in response to the one or more credits being recycled, allocating the first credit from the one or more credits to the first I/O request. 12. The apparatus according to claim 11 , wherein the acts further include: changing a length of the waiting queue based on a result of the performing of the I/O operation. 13. The apparatus according to claim 9 , wherein the acts further include: in response to determining that there exists at least one credit and receiving a first request to allocate a second credit from the at least one credit for a second I/O request of a second type, determining average response time of the first type of I/O requests; and in response to the average response time being below a predetermined threshold, allocating the second credit from the at least one credit to the second I/O request. 14. The apparatus according to claim 13 , wherein the acts further include: in response to receiving a second request to expedite processing of the first type of I/O requests, recycling the second credit for use by a subsequent I/O request of the first type. 15. The apparatus according to claim 13 , wherein a first priority assigned to an I/O request of the first type is higher than a second priority assigned to an I/O request of the second type. 16. The apparatus according to claim 9 , wherein the storage device is a mapped RAID. 17. A computer program product comprising a non-transient computer storage medium having stored therein machine executable instructions of one or more software programs, wherein the machine executable instructions when executed by an apparatus, cause the apparatus: in response to receiving a first I/O request of a first type for a storage device, to determine whether there exists at least one credit available to the first type of I/O requests, each of the at least one credit indicating I/O processing capability reserved by the storage device for the first type of I/O requests; to allocate a first credit to the first I/O request based on a result of the determining; to perform, by using the first credit, an I/O operation requested by the first I/O request on the storage device; and in response to completion of the I/O operation, to recycle the first credit for use by a subsequent I/O request; wherein the storage device is a redundant array of independent disks (RAID), and wherein the I/O processing capability is represented by a number of I/O operations that the RAID is able to process concurrently. 18. The computer program product according to claim 17 , wherein allocating the first credit to the first I/O request comprises: in response to determining that there exists the at least one credit, allocating the first credit from the at least one credit to the first I/O request. 19. The computer program product according to claim 17 , wherein allocating the first credit to the first I/O request comprises: in response to determining an absence of the at

Assignees

Inventors

Classifications

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • based on priority control (G06F13/1605 takes precedence) · CPC title

  • for access to input/output bus · CPC title

  • G06F3/0659Primary

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

  • Disk arrays, e.g. RAID, JBOD · 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 US11144209B2 cover?
Embodiments of the present disclosure provide a method, an apparatus and a computer program product for managing an input/output (I/O). The method comprises, in response to receiving a first I/O request of a first type for a storage device, determining whether there exists at least one credit available to the first type of I/O requests. Each of the at least one credit indicates I/O processing c…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 12 2021 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).