IP Library Granted Patent US 10,705,931
Granted Patent B2
US 10,705,931 · App. 15/954,774 · Granted Jul 7, 2020

Methods, devices and computer readable mediums for managing storage system

Inventors: Lifeng Yang (Beijing, CN); Xinlei Xu (Beijing, CN); Jian Gao (Beijing, CN); Jibing Dong (Beijing, CN); Geng Han (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/2094G06F3/061G06F3/0619G06F3/0653G06F3/0659G06F3/0689G06F11/1076G06F2201/82
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,705,931
App. No.
15/954,774
Granted
Jul 7, 2020
Kind
B2
Abstract

Embodiments of the present disclosure relate to methods, devices and computer readable mediums for managing a storage system. The storage system includes a disk array which includes at least one disk array group. The method comprises in response to receiving a first message indicating that a failure occurs in a disk in the disk array, determining first information on a disk array group that the failed disk belongs to. The method further comprises obtaining a first number of outstanding input/output (I/O) operations on rebuilding the failed disk in the disk array group. The method further comprises determining, based on the first information and the first number, a threshold number of I/O operations that is applicable for the disk array group. In addition, the method further comprises controlling, based on the threshold number, the number of I/O operations initiated to the disk array group.

Claims (82)

1. A method for managing a storage system, the storage system including a disk array which includes at least one disk array group, the method comprising:

in response to receiving a first message indicating that a failure occurs in a disk in the disk array, determining first information on a disk array group that the failed disk belongs to;

obtaining a first number of outstanding input/output (I/O) operations on rebuilding the failed disk in the disk array group;

determining, based on the first information and the first number, a threshold number of I/O operations that is applicable for the disk array group; and

controlling, based on the threshold number, the number of I/O operations initiated to the disk array group;

wherein controlling the number of I/O operations initiated to the disk array group comprises:

in response to receiving a request for a first I/O operation on the disk array group, determining a third number of outstanding I/O operations initiated to the disk array group;

in response to the threshold number exceeding the third number, initiating to the disk array group at least part of first I/O operations; and

in response to initiating the at least part of the first I/O operations, updating the threshold number.

2. The method according to claim 1 , wherein determining the first information on the disk array group that the failed disk comprises:

identifying a logic storage unit corresponding to the disk array group; and

setting a state of the identified logic storage unit from a normal state to a degraded state.

3. The method according to claim 2 , further comprising:

in response to receiving a second message indicating that the failure in the disk array group is removed, setting the state of the logic storage unit from the degraded state back to the normal state.

4. The method according to claim 1 , wherein determining the first information on the disk array group comprises:

obtaining:

a total number of disks in the disk array group;

the number of spare disks for rebuilding the failed disk in the disk array group; and

a second number of I/O operations affordable for each disk in the disk array group.

5. The method according to claim 4 , wherein determining the threshold number of I/O operations that is applicable for the disk array group comprises:

determining the threshold number based on the total number of disks, the number of spare disks, the first number and the second number.

6. The method according to claim 1 , wherein the at least part of the first I/O operations includes a reading operation, and wherein updating the threshold number comprises:

in response to initiating the reading operation, reducing the threshold number by a first predefined number.

7. The method according to claim 1 , wherein the at least part of the first I/O operations includes a writing operation, and wherein updating the threshold number comprises:

in response to initiating the writing operation, reducing the threshold number by a second predefined number.

8. A system, comprising:

a storage system including a disk array which includes at least one disk array group;

computer-executable program logic encoded in memory of one or more computers enabled to manage storage,

wherein the computer-executable program logic is configured for the execution of:

in response to receiving a first message indicating that a failure occurs in a disk in the disk array, determining first information on a disk array group that the failed disk belongs to;

obtaining a first number of outstanding input/output (I/O) operations on rebuilding the failed disk in the disk array group;

determining, based on the first information and the first number, a threshold number of I/O operations that is applicable for the disk array group; and

controlling, based on the threshold number, the number of I/O operations initiated to the disk array group;

wherein controlling the number of I/O operations initiated to the disk array croup comprises:

in response to receiving a request for a first I/O operation on the disk array group, determining a third number of outstanding I/O operations initiated to the disk array group;

in response to the threshold number exceeding the third number, initiating to the disk array group at least part of first I/O operations; and

in response to initiating the at least part of the first I/O operations, updating the threshold number.

9. The system according to claim 8 , wherein determining the first information on the disk array group that the failed disk comprises:

identifying a logic storage unit corresponding to the disk array group; and

setting a state of the identified logic storage unit from a normal state to a degraded state.

10. The system according to claim 9 , wherein the computer-executable program logic is further configured for the execution of:

in response to receiving a second message indicating that the failure in the disk array group is removed, setting the state of the logic storage unit from the degraded state back to the normal state.

11. The system method according to claim 8 , wherein determining the first information on the disk array group comprises:

obtaining:

a total number of disks in the disk array group;

the number of spare disks for rebuilding the failed disk in the disk array group; and

a second number of I/O operations affordable for each disk in the disk array group.

12. The system according to claim 11 , wherein determining the threshold number of I/O operations that is applicable for the disk array group comprises:

determining the threshold number based on the total number of disks, the number of spare disks, the first number and the second number.

13. The system according to claim 8 , wherein the at least part of the first I/O operations includes a reading operation, and wherein updating the threshold number comprises:

in response to initiating the reading operation, reducing the threshold number by a first predefined number.

14. The system according to claim 8 , wherein the at least part of the first I/O operations includes a writing operation, and wherein updating the threshold number further comprises:

in response to initiating the writing operation, reducing the threshold number by a second predefined number.

15. A computer program product for managing a storage system, the storage system including a disk array which includes at least one disk array group, the computer program product comprising:

a non-transitory computer readable medium encoded with computer executable code, the code configured to enable the execution of:

in response to receiving a first message indicating that a failure occurs in a disk in the disk array, determining first information on a disk array group that the failed disk belongs to;

obtaining a first number of outstanding input/output (I/O) operations on rebuilding the failed disk in the disk array group;

determining, based on the first information and the first number, a threshold number of I/O operations that is applicable for the disk array group; and

controlling, based on the threshold number, the number of I/O operations initiated to the disk array group;

wherein controlling the number of I/O operations initiated to the disk array group comprises:

in response to receiving a request for a first I/O operation on the disk array group, determining a third number of outstanding I/O operations initiated to the disk array group;

in response to the threshold number exceeding the third number, initiating to the disk array group at least part of first I/O operations; and

in response to initiating the at least part of the first I/O operations, updating the threshold number.

16. The computer program product according to claim 15 , wherein determining the first information on the disk array group that the failed disk comprises:

identifying a logic storage unit corresponding to the disk array group; and

setting a state of the identified logic storage unit from a normal state to a degraded state.

17. The computer program product according to claim 16 , wherein the code is further configured to enable the execution of:

in response to receiving a second message indicating that the failure in the disk array group is removed, resetting the state of the logic storage unit from the degraded state back to the normal state.

18. The computer program product according to claim 15 , wherein determining the first information on the disk array group comprises:

obtaining:

a total number of disks in the disk array group;

the number of spare disks for rebuilding the failed disk in the disk array group; and

a second number of I/O operations affordable for each disk in the disk array group.

19. The method according to claim 1 , wherein a cache is constructed and arranged to initiate cached I/O operations to the disk array group; and

wherein controlling the number of I/O operations further comprises:

while the disk array group is able to receive cached I/O operations from the cache, delaying initiation at least some of the cached I/O operations from the cache to accelerate rebuilding of the failed disk.

20. The system according to claim 8 , wherein a cache is constructed and arranged to initiate cached I/O operations to the disk array group; and

wherein controlling the number of I/O operations further comprises:

while the disk array group is able to receive cached I/O operations from the cache, delaying initiation at least some of the cached I/O operations from the cache to accelerate rebuilding of the failed disk.

21. The computer program product according to claim 15 , wherein a cache is constructed and arranged to initiate cached I/O operations to the disk array group; and

wherein controlling the number of I/O operations further comprises:

while the disk array group is able to receive cached I/O operations from the cache, delaying initiation at least some of the cached I/O operations from the cache to accelerate rebuilding of the failed disk.

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 (046366/0014) 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
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 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 058298/0093 →
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 (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
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 046366/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2018
From: YANG, LIFENG; XU, XINLEI; GAO, JIAN; DONG, JIBING; HAN, GENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045596/0408 →
Priority Claims (1)
CN 2017 1 0250538 · Apr 17, 2017 · national
Continuity (1)
Related Publication 20180300211A1 · Oct 18, 2018
Cited By (1)
US 12,682,949