IP Library Granted Patent US 10,481,802
Granted Patent B1
US 10,481,802 · App. 15/784,657 · Granted Nov 19, 2019

Balancing Mapped RAID background I/O with user I/O via dynamically changing background credits on Mapped RAID system and method

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,481,802
App. No.
15/784,657
Granted
Nov 19, 2019
Kind
B1
Abstract

A method, computer program product, and computer system for receiving, by a computing device, an I/O request for data. A number of storage devices of a plurality of storage devices in a Mapped RAID group that will be used to process the I/O request may be determined. It may be determined that an amount of I/O credits available for the number of storage devices is insufficient. The amount of I/O credits available for the number of storage devices to process the I/O request may be tuned dynamically based upon, at least in part, determining that the amount of I/O credits available for the number of storage devices is insufficient.

Claims (29)

1. A computing system including one or more processors and one or more memories configured to perform operations comprising:

receiving an I/O request for data, wherein the I/O request includes at least one of a user I/O request and a background operation I/O request;

determining a number of storage devices of a plurality of storage devices in a Mapped RAID group that will be used to process the I/O request;

determining that an amount of I/O credits available for the number of storage devices is insufficient, wherein each I/O credit represents an I/O operation on a storage device of the plurality of storage devices in the Mapped RAID group, wherein the amount of I/O credits available for the number of storage devices includes an amount of user I/O credits and an amount of background I/O credits; and

tuning, dynamically, the amount of I/O credits available for the number of storage devices to process the I/O request based upon, at least in part, determining that the amount of I/O credits available for the number of storage devices is insufficient, wherein tuning, dynamically, the amount of I/O credits available for the number of storage devices includes balancing the amount of user I/O credits and the amount of background I/O credits for the number of storage devices.

2. The computing system of claim 1 wherein a first tuning technique for tuning, dynamically, the amount of I/O credits available for the number of storage devices is triggered when a first condition occurs.

3. The computing system of claim 1 wherein a second tuning technique for tuning, dynamically, the amount of I/O credits available for the number of storage devices includes a +delta credits technique.

4. The computing system of claim 1 wherein a third tuning technique for tuning, dynamically, the amount of I/O credits available for the number of storage devices includes a −delta credits technique.

5. The computing system of claim 1 wherein the operations further comprise returning one or more I/O credits used to process the I/O request.

6. A computer-implemented method comprising:

receiving, by a computing device, an I/O request for data, wherein the I/O request includes at least one of a user I/O request and a background operation I/O request;

determining a number of storage devices of a plurality of storage devices in a Mapped RAID group that will be used to process the I/O request;

determining that an amount of I/O credits available for the number of storage devices is insufficient, wherein each I/O credit represents an I/O operation on a storage device of the plurality of storage devices in the Mapped RAID group, wherein the amount of I/O credits available for the number of storage devices includes an amount of user I/O credits and an amount of background I/O credits; and

tuning, dynamically, the amount of I/O credits available for the number of storage devices to process the I/O request based upon, at least in part, determining that the amount of I/O credits available for the number of storage devices is insufficient, wherein tuning, dynamically, the amount of I/O credits available for the number of storage devices includes balancing the amount of user I/O credits and the amount of background I/O credits for the number of storage devices.

7. The computer-implemented method of claim 6 wherein a first tuning technique for tuning, dynamically, the amount of I/O credits available for the number of storage devices is triggered when a first condition occurs.

8. The computer-implemented method of claim 6 wherein a second tuning technique for tuning, dynamically, the amount of I/O credits available for the number of storage devices includes a +delta credits technique.

9. The computer-implemented method of claim 6 wherein a third tuning technique for tuning, dynamically, the amount of I/O credits available for the number of storage devices includes a −delta credits technique.

10. The computer-implemented method of claim 6 wherein the amount of I/O credits available for the number of storage devices for processing the I/O request includes at least one of a number of user I/O credits in an extent pool and a number of background I/O credits in the extent pool.

11. The computer-implemented method of claim 6 further comprising returning one or more I/O credits used to process the I/O request.

12. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising:

receiving an I/O request for data, wherein the I/O request includes at least one of a user I/O request and a background operation I/O request;

determining a number of storage devices of a plurality of storage devices in a Mapped RAID group that will be used to process the I/O request;

determining that an amount of I/O credits available for the number of storage devices is insufficient, wherein each I/O credit represents an I/O operation on a storage device of the plurality of storage devices in the Mapped RAID group, wherein the amount of I/O credits available for the number of storage devices includes an amount of user I/O credits and an amount of background I/O credits; and

tuning, dynamically, the amount of I/O credits available for the number of storage devices to process the I/O request based upon, at least in part, determining that the amount of I/O credits available for the number of storage devices is insufficient, wherein tuning, dynamically, the amount of I/O credits available for the number of storage devices includes balancing the amount of user I/O credits and the amount of background I/O credits for the number of storage devices.

13. The computer program product of claim 12 wherein a first tuning technique for tuning, dynamically, the amount of I/O credits available for the number of storage devices is triggered when a first condition occurs.

14. The computer program product of claim 12 wherein a second tuning technique for tuning, dynamically, the amount of I/O credits available for the number of storage devices includes a +delta credits technique.

15. The computer program product of claim 12 wherein a third tuning technique for tuning, dynamically, the amount of I/O credits available for the number of storage devices includes a −delta credits technique.

16. The computer program product of claim 12 wherein the amount of I/O credits available for the number of storage devices for processing the I/O request includes at least one of a number of user I/O credits in an extent pool and a number of background I/O credits in the extent pool.

17. The computer program product of claim 12 wherein the operations further comprise returning one or more I/O credits used to process the I/O request.

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 (044535/0109) 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 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 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/0475 →
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 Nov 29, 2017
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 044535/0109 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
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 044535/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2017
From: GAO, JIAN; HAN, GENG; DONG, JIBING; GONG, SHAOQIN; SUN, REE; CHIU, NAIZHONG; XU, XINLEI; KANG, JAMIN
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 043873/0022 →