IP Library Granted Patent US 10,929,065
Granted Patent B2
US 10,929,065 · App. 16/447,129 · Granted Feb 23, 2021

Method, device and computer program product for coordinating access operations

Inventors: Hongpo Gao (Beijing, CN); Jian Gao (Beijing, CN); Geng Han (Beijing, CN); Jianbin Kang (Beijing, CN); Jibing Dong (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0659G06F3/0604G06F3/0653G06F3/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,929,065
App. No.
16/447,129
Granted
Feb 23, 2021
Kind
B2
Abstract

Techniques coordinate access operations. Such techniques involve: obtaining first statistical data of a first set of access operations associated with a first storage resource pool in the RAID and second statistical data of a second set of access operations associated with a second storage resource pool in the RAID, the first set of access operations including a background access operation and a user access operation, and the second set of access operations including at least a user access operation; determining, based on the first and second statistical data, availability of a memory shared by the first and second storage resource pools; and adjusting, based on the availability, the background access operation in the first set of access operations to control a capacity of the memory occupied by the background access operation. Accordingly, the response time of the storage system for the user access operations can be shortened, etc.

Claims (79)

1. A method for coordinating access operations for a redundant array of independent disks (RAID), comprising:

obtaining first statistical data of a first set of access operations associated with a first storage resource pool in the RAID and second statistical data of a second set of access operations associated with a second storage resource pool in the RAID, the first set of access operations including a background access operation and a user access operation, and the second set of access operations including at least a user access operation;

determining, based on the first and second statistical data, availability of a memory shared by the first and second storage resource pools; and

adjusting, based on the availability of the memory, the background access operation in the first set of access operations so as to control a capacity of the memory occupied by the background access operation.

2. The method according to claim 1 , wherein obtaining the first statistical data includes the following: obtaining at least one of a type, granularity, a scheduling frequency, the number of parallel threads, and duration of the background access operation in the first set of access operations; and obtaining at least one of the number of user access operations, response time for the user access operation, and a timestamp of a last user access operation in the first set of access operations.

3. The method according to claim 1 , wherein obtaining the second statistical data includes:

obtaining at least one of the number of user access operations, response time for the user access operation, and a timestamp of a last user access operation in the second set of access operations.

4. The method according to claim 1 , wherein determining the availability of the memory includes:

determining an available capacity of the memory based on the number of user access operations in the first statistical data and the second statistical data; and

determining a capacity ratio between the available capacity and a total capacity of the memory.

5. The method according to claim 4 , wherein adjusting the background access operation includes:

in response to the capacity ratio being below a first capacity threshold, performing at least one of the following:

decreasing granularity of the background access operation,

decreasing a scheduling frequency of the background access operation,

reducing the number of parallel threads of the background access operation, and

shortening duration of the background access operation; and

in response to the capacity ratio exceeding a second capacity threshold that is greater than the first capacity threshold, performing at least one of the following:

increasing the granularity of the background access operation,

increasing the scheduling frequency of the background access operation,

increasing the number of parallel threads of the background access operation, and

increasing the duration of the background access operation.

6. The method according to claim 1 , wherein determining the availability of the memory includes:

determining, from the first statistical data, response time for the user access operation in the first set of access operations; and

determining the availability of the memory based on the determined response time and first reference response time for the first storage resource pool.

7. The method according to claim 6 , wherein adjusting the background access operation includes:

in response to the determined response time being more than the first reference response time, performing at least one of the following:

decreasing granularity of the background access operation,

decreasing a scheduling frequency of the background access operation,

reducing the number of parallel threads of the background access operation, and

shortening duration of the background access operations; and

in response to the determined response time being less than second reference response time for the first storage resource pool that is less than the first reference response time, performing at least one of the following:

increasing the granularity of the background access operations,

increasing the scheduling frequency of the background access operations,

increasing the number of parallel threads of the background access operations, and

increasing the duration of the background access operations.

8. The method according to claim 7 , wherein adjusting the background access operation is performed based on a priority of the background access operation.

9. A device for coordinating access operations for a redundant array of independent disks (RAID), 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 device to perform acts including:

obtaining first statistical data of a first set of access operations associated with a first storage resource pool in the RAID and second statistical data of a second set of access operations associated with a second storage resource pool in the RAID, the first set of access operations including a background access operation and a user access operation, and the second set of access operations including at least a user access operation;

determining, based on the first and second statistical data, availability of a memory shared by the first and second storage resource pools; and

adjusting, based on the availability of the memory, the background access operation in the first set of access operations so as to control a capacity of the memory occupied by the background access operation.

10. The device according to claim 9 , wherein obtaining the first statistical data including the following: obtaining at least one of a type, granularity, a scheduling frequency, the number of parallel threads, and duration of the background access operation in the first set of access operations; and obtaining at least one of the number of user access operations, response time for the user access operation, and a timestamp of a last user access operation in the first set of access operations.

11. The device according to claim 9 , wherein obtaining the second statistical data includes:

obtaining at least one of the number of user access operations, response time for the user access operation, and a timestamp of a last user access operation in the second set of access operations.

12. The device according to claim 9 , wherein determining the availability of the memory includes:

determining an available capacity of the memory based on the number of user access operations in the first statistical data and the second statistical data; and

determining a capacity ratio between the available capacity and a total capacity of the memory.

13. The device according to claim 12 , wherein adjusting the background access operation includes:

in response to the capacity ratio being below a first capacity threshold, performing at least one of the following:

decreasing granularity of the background access operation,

decreasing a scheduling frequency of the background access operation,

reducing the number of parallel threads of the background access operation, and

shortening duration of the background access operation; and

in response to the capacity ratio exceeding a second capacity threshold that is greater than the first capacity threshold, performing at least one of the following:

increasing the granularity of the background access operation,

increasing the scheduling frequency of the background access operation,

increasing the number of parallel threads of the background access operation, and

increasing the duration of the background access operation.

14. The device according to claim 9 , wherein determining the availability of the memory includes:

determining, from the first statistical data, response time for the user access operation in the first set of access operations; and

determining the availability of the memory based on the determined response time and first reference response time for the first storage resource pool.

15. The device according to claim 14 , wherein adjusting the background access operation includes:

in response to the determined response time being more than the first reference response time, performing at least one of the following:

decreasing granularity of the background access operation,

decreasing a scheduling frequency of the background access operation,

reducing the number of parallel threads of the background access operation, and

shortening duration of the background access operations; and

in response to the determined response time being less than second reference response time for the first storage resource pool that is less than the first reference response time, performing at least one of the following:

increasing the granularity of the background access operations,

increasing the scheduling frequency of the background access operations,

increasing the number of parallel threads of the background access operations, and

increasing the duration of the background access operations.

16. The device according to claim 13 , wherein adjusting the background access operation is performed based on a priority of the background access operation.

17. A computer program product having a non-transitory computer readable medium which stores a set of instructions to coordinate access operations for a redundant array of independent disks (RAID); the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

obtaining first statistical data of a first set of access operations associated with a first storage resource pool in the RAID and second statistical data of a second set of access operations associated with a second storage resource pool in the RAID, the first set of access operations including a background access operation and a user access operation, and the second set of access operations including at least a user access operation;

determining, based on the first and second statistical data, availability of a memory shared by the first and second storage resource pools; and

adjusting, based on the availability of the memory, the background access operation in the first set of access operations so as to control a capacity of the memory occupied by the background access operation.

18. The computer program product according to claim 17 , wherein obtaining, determining, and adjusting occur while processing circuitry performs access operations on the RAID in response to host input/output (I/O) requests from a set of host computers.

Assignments (9)
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 (053311/0169) Recorded Jun 23, 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
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 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
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2019
From: GAO, HONGPO; GAO, JIAN; HAN, GENG; KANG, JIANBIN; DONG, JIBING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049687/0212 →