Method, apparatus and computer program product for queueing I/O requests on mapped RAID
AssigneeEMC IP Holding Company LLC
InventorsGeng Han, Jibing Dong, Jian Gao, Xinlei Xu, Jamin Kang, Naizhong Chiu
Life of this patent
Estimating the term…
Abstract
There is disclosed techniques for queuing I/O requests on Mapped RAID. The techniques comprising queuing a pending I/O request in a queue. The techniques also comprising determining that sufficient credits are available to enable a number of storage devices of a plurality of storage devices in a Mapped RAID group to process the pending I/O request. The techniques further comprising processing the pending I/O request upon determining that there is sufficient credits.
Claims18
A method, comprising:
- queuing a pending input/output (I/O) request in a queue;
- determining that sufficient credits are available to enable a number of storage devices of a plurality of storage devices in a Mapped redundant array of independent disks (RAID) group to process the pending I/O request, wherein the Mapped RAID group comprises one or more RAID extents, each RAID extent containing a respective set of device extents allocated to that RAID extent, each device extent supported by an extent of storage on a storage device of the plurality of storage devices, wherein credits include one or more of:
- user I/O credits, background I/O credits, and disk I/O credits;
- wherein each RAID extent includes an amount of user I/O credits corresponding to each extent's ability to handle the pending I/O request corresponding to one or more of read/write I/Os;
- wherein each RAID extent includes an amount of background I/O credits corresponding to each extent's ability to handle the pending I/O request corresponding to one or more of rebuild, verify, and copy I/Os;
- wherein each disk extent of the plurality of storage devices includes an amount of disk I/O credits corresponding to each disk's ability to handle the pending I/O request, each disk having an initial amount of disk I/O credits based on disk type;
- and
- processing the pending I/O request upon determining that there are sufficient credits.
An apparatus, comprising:
- memory;
- and
- processing circuitry coupled to the memory, the memory storing instructions which, when executed by the processing circuitry, cause the processing circuitry to:
- queue a pending input/output (I/O) request in a queue;
- determine that sufficient credits are available to enable a number of storage devices of a plurality of storage devices in a Mapped redundant array of independent disks (RAID) group to process the pending I/O request, wherein the Mapped RAID group comprises one or more RAID extents, each RAID extent containing a respective set of device extents allocated to that RAID extent, each device extent supported by an extent of storage on a storage device of the plurality of storage devices, wherein credits include one or more of:
- user I/O credits, background I/O credits, and disk I/O credits;
- wherein each RAID extent includes an amount of user I/O credits corresponding to each extent's ability to handle the pending I/O request corresponding to one or more of read/write I/Os;
- wherein each RAID extent includes an amount of background I/O credits corresponding to each extent's ability to handle the pending I/O request corresponding to one or more of rebuild, verify, and copy I/Os;
- wherein each disk of the plurality of storage devices includes an amount of disk I/O credits corresponding to each disk's ability to handle the pending I/O request, each disk having an initial amount of disk I/O credits based on disk type;
- and
- process the pending I/O request upon determining that there are sufficient credits.
A computer program product having a non-transitory computer readable medium which stores a set of instructions, the set of instructions, when carried out by processing circuitry, causing the processing circuitry to perform a method of:
- queuing a pending input/output (I/O) request in a queue;
- determining that sufficient credits are available to enable a number of storage devices of a plurality of storage devices in a Mapped redundant array of independent disks (RAID) group to process the pending I/O request, wherein the Mapped RAID group comprises one or more RAID extents, each RAID extent containing a respective set of device extents allocated to that RAID extent, each device extent supported by an extent of storage on a storage device of the plurality of storage devices, wherein credits include one or more of:
- user I/O credits, background I/O credits, and disk I/O credits;
- wherein each RAID extent includes an amount of user I/O credits corresponding to each extent's ability to handle the pending I/O request corresponding to one or more of read/write I/Os;
- wherein each RAID extent includes an amount of background I/O credits corresponding to each extent's ability to handle the pending I/O request corresponding to one or more of rebuild, verify, and copy I/Os;
- wherein each disk extent of the plurality of storage devices includes an amount of disk I/O credits corresponding to each disk's ability to handle the pending I/O request, each disk having an initial amount of disk I/O credits based on disk type;
- and
- processing the pending I/O request upon determining that there are sufficient credits.
Dependencies are inferred from the claim text.