IP Library Granted Patent US 10,592,165
Granted Patent B1
US 10,592,165 · App. 15/886,950 · Granted Mar 17, 2020

Method, apparatus and computer program product for queueing I/O requests on mapped RAID

Inventors: Geng Han (Beijing, CN); Jibing Dong (Beijing, CN); Jian Gao (Beijing, CN); Xinlei Xu (Beijing, CN); Jamin Kang (Beijing, CN); Naizhong Chiu (Newton, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0659G06F3/0613G06F3/0689
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,592,165
App. No.
15/886,950
Granted
Mar 17, 2020
Kind
B1
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.

Claims (38)

1. 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.

2. The method as claimed in claim 1 , wherein the queue comprises a multi-priority queue with respective priority levels in the multi-priority queue describing different levels of service with respect to processing of pending I/O requests.

3. The method as claimed in claim 2 , wherein one of the priority levels in the multi-priority queue describes a higher level of service relative to another priority level in the multi-priority queue such that a pending I/O request in a higher priority level will be prioritized for processing over a pending I/O request in the other priority level.

4. The method as claimed in claim 2 , wherein respective pending I/O requests in a priority level in the multi-priority queue will be selected for processing in accordance with a first-in first-out approach.

5. The method as claimed in claim 2 , wherein each of the priority levels in the multi-priority queue include a count associated therewith relating to an amount of pending I/O requests to be processed before moving to a next priority level in the multi-priority queue.

6. The method as claimed in claim 5 , wherein a count associated with a priority level in the multi-priority queue is higher relative to a count associated with another priority level in the multi-priority queue with a lower level of servicing.

7. 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.

8. The apparatus as claimed in claim 7 , wherein the queue comprises a multi-priority queue with respective priority levels in the multi-priority queue describing different levels of service with respect to processing of pending I/O requests.

9. The apparatus as claimed in claim 8 , wherein one of the priority levels in the multi-priority queue describes a higher level of service relative to another priority level in the multi-priority queue such that a pending I/O request in a higher priority level will be prioritized for processing over a pending I/O request in the other priority level.

10. The apparatus as claimed in claim 8 , wherein respective pending I/O requests in a priority level in the multi-priority queue will be selected for processing in accordance with a first-in first-out approach.

11. The apparatus as claimed in claim 8 , wherein each of the priority levels in the multi-priority queue include a count associated therewith relating to an amount of pending I/O requests to be processed before moving to a next priority level in the multi-priority queue.

12. The apparatus as claimed in claim 11 , wherein a count associated with a priority level in the multi-priority queue is higher relative to a count associated with another priority level in the multi-priority queue with a lower level of servicing.

13. 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.

14. The computer program product as claimed in claim 13 , wherein the queue comprises a multi-priority queue with respective priority levels in the multi-priority queue describing different levels of service with respect to processing of pending I/O requests.

15. The computer program product as claimed in claim 14 , wherein one of the priority levels in the multi-priority queue describes a higher level of service relative to another priority level in the multi-priority queue such that a pending I/O request in a higher priority level will be prioritized for processing over a pending I/O request in the other priority level.

16. The computer program product as claimed in claim 14 , wherein respective pending I/O requests in a priority level in the multi-priority queue will be selected for processing in accordance with a first-in first-out approach.

17. The computer program product as claimed in claim 14 , wherein each of the priority levels in the multi-priority queue include a count associated therewith relating to an amount of pending I/O requests to be processed before moving to a next priority level in the multi-priority queue.

18. The computer program product as claimed in claim 17 , wherein a count associated with a priority level in the multi-priority queue is higher relative to a count associated with another priority level in the multi-priority queue with a lower level of servicing.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045482/0131) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: HAN, GENG; DONG, JIBING; GAO, JIAN; XU, XINLEI; KANG, JAMIN; CHIU, NAIZHONG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044812/0254 →