IP Library Granted Patent US 10,733,042
Granted Patent B2
US 10,733,042 · App. 15/848,580 · Granted Aug 4, 2020

Techniques for handling drive errors based on extents causing the drive errors

Inventors: Hongpo Gao (Beijing, CN); Jamin Kang (Beijing, CN); Jian Gao (Beijing, CN); Ree Lei Sun (Beijing, CN); Shaoqin Gong (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/0793G06F3/065G06F3/0619G06F3/0689G06F11/079G06F11/0727G06F11/0754G06F11/1088G06F11/1092
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,733,042
App. No.
15/848,580
Granted
Aug 4, 2020
Kind
B2
Abstract

Implementations of the present disclosure relate to a method and apparatus for handling an error for a drive. The logic space of the drive is divided into a plurality of extents. The method comprises determining a type of errors in response to the errors detected in I/O operations for the drive. The method further comprises determining a drive extent of the plurality of extents of the drive that causes the errors in response to determining that the type of the errors is a soft medium error or a data error, the soft medium error being an error that can be repaired by re-mapping of a failed extent and the data error being an error that is caused by damage of data on the drive. Furthermore, the errors can be handled only with respect to the drive extent that causes the errors.

Claims (131)

1. A method for handling an error for a drive with a logic space divided into a plurality of extents, the method comprising:

in response to errors detected in I/O operations for the drive, determining a type of the errors;

in response to determining that the type of the errors is a soft medium error or a data error, determining a drive extent of the plurality of extents of the drive that causes the errors, the soft medium error being an error that can be repaired by re-mapping of a failed extent and the data error being an error that is caused by damage of data on the drive; and

handling the errors only with respect to the drive extent that causes the errors;

wherein if the type of the errors is determined to be a soft medium error, handling the errors only with respect to the drive extent that causes the errors comprises:

counting a number of the errors and a number of the I/O operations, respectively;

calculating a ratio of the number of the errors to the number of the I/O operations; and

handling the errors based on the ratio; and

wherein handling the errors based on the ratio comprises:

comparing the ratio with a threshold,

in response to the ratio being greater than a shutdown threshold, marking the drive extent as unavailable; and

in response to the ratio being smaller than the shutdown threshold but greater than a life threshold, marking the drive extent as end of life.

2. The method according to claim 1 , wherein handling the errors based on the ratio further comprises:

in response to the drive extent being marked as end of life, duplicating data from the drive extent to a further drive extent, and replacing the drive extent with the further drive extent; or

in response to the drive extent being marked as unavailable, reconstructing, on a further drive extent, data that is identical to data on the drive extent, and replacing the drive extent with the further drive extent.

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

in response to determining that a type of other errors is a hard medium error, handling the other errors with respect to an entirety of the drive, the hard medium error being an error that is caused by a hardware failure in the drive.

4. The method according to claim 3 , wherein handling the other errors with respect to an entirety of the drive comprises:

counting a number of the other errors and a number of the I/O operations, respectively;

calculating a ratio of the number of the other errors to the number of the I/O operations; and

handling the other errors based on the ratio.

5. The method according to claim 4 , wherein handling the other errors based on the ratio comprises:

comparing the ratio with a threshold,

in response to the ratio being greater than a shutdown threshold, marking the drive as unavailable;

in response to the ratio being smaller than the shutdown threshold but greater than a life threshold, marking the drive as end of life; and

in response to the ratio being smaller than the life threshold but greater than a resetting threshold, resetting the drive.

6. The method according to claim 1 , wherein counting the number of the errors is based on weights for the errors, the method further comprising:

in response to bursts of the errors or in absence of an impact on a normal I/O operation for the drive by the errors, reducing the weights.

7. The method according to claim 1 , further comprising:

in response to determining that a type of other errors is a data error, handling the other errors only with respect to the drive extent that causes the other errors by marking the drive extent that causes the other errors as unavailable.

8. An electronic device, comprising:

at least one processing unit; and

at least one memory coupled to the at least one processing unit and storing instructions executable by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the electronic device to perform acts of:

in response to errors detected in I/O operations for a drive, determining a type of the errors, wherein a logic space of the drive is divided into a plurality of extents;

in response to determining that the type of the errors is a soft medium error or a data error, determining a drive extent of the plurality of extents of the drive that causes the errors, the soft medium error being an error that can be repaired by re-mapping of a failed extent and the data error being an error that is caused by damage of data on the drive; and

handling the errors only with respect to the drive extent that causes the errors;

wherein if the type of the errors is determined to be a soft medium error, handling the errors only with respect to the drive extent that causes the errors comprises:

counting a number of the errors and a number of the I/O operations, respectively;

calculating a ratio of the number of the errors to the number of the I/O operations; and

handling the errors based on the ratio; and

wherein handling the errors based on the ratio comprises:

comparing the ratio with a threshold,

in response to the ratio being greater than a shutdown threshold, marking the drive extent as unavailable; and

in response to the ratio being smaller than the shutdown threshold but greater than a life threshold, marking the drive extent as end of life.

9. The electronic device according to claim 8 , wherein handling the errors based on the ratio further comprises:

in response to the drive extent being marked as end of life, duplicating data from the drive extent to a further drive extent, and replacing the drive extent with the further drive extent; or

in response to the drive extent being marked as unavailable, reconstructing, on a further drive extent, data that is identical to data on the drive extent, and replacing the drive extent with the further drive extent.

10. The electronic device according to claim 8 , wherein the instructions, when executed by the at least one processing unit, further cause the electronic device to perform an act of:

in response to determining that a type of other errors is a hard medium error, handling the other errors with respect to an entirety of the drive, the hard medium error being an error that is caused by a hardware failure in the drive.

11. The electronic device according to claim 10 , wherein handling the other errors with respect to an entirety of the drive comprises:

counting a number of the other errors and a number of the I/O operations, respectively;

calculating a ratio of the number of the other errors to the number of the I/O operations; and

handling the other errors based on the ratio.

12. The electronic device according to claim 11 , wherein handling the other errors based on the ratio comprises:

comparing the ratio with a threshold,

in response to the ratio being greater than a shutdown threshold, marking the drive as unavailable;

in response to the ratio being smaller than the shutdown threshold but greater than a life threshold, marking the drive as end of life; and

in response to the ratio being smaller than the life threshold but greater than a resetting threshold, resetting the drive.

13. The electronic device according to claim 8 , wherein counting the number of the errors is based on weights for the errors, and the instructions, when executed by the at least one processing unit, further cause the electronic device to perform an act of:

in response to bursts of the errors or in absence of an impact on a normal I/O operation for the drive by the errors, reducing the weights.

14. The electronic device according to claim 8 , wherein the instructions, when executed by the at least one processing unit, further cause the electronic device to perform an act of:

in response to determining that a type of other errors is determined to be a data error, handling the other errors only with respect to the drive extent that causes the errors by marking the drive extent that causes the other errors as unavailable.

15. A computer program product for handling an error for a drive with a logic space divided into a plurality of extents, the computer program product comprising:

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

in response to errors detected in I/O operations for the drive, determining a type of the errors;

in response to determining that the type of the errors is a soft medium error or a data error, determining a drive extent of the plurality of extents of the drive that causes the errors, the soft medium error being an error that can be repaired by re-mapping of a failed extent and the data error being an error that is caused by damage of data on the drive; and

handling the errors only with respect to the drive extent that causes the errors;

wherein if the type of the errors is determined to be a soft medium error, handling the errors only with respect to the drive extent that causes the errors comprises:

counting a number of the errors and a number of the I/O operations, respectively;

calculating a ratio of the number of the errors to the number of the I/O operations; and

handling the errors based on the ratio; and

wherein handling the errors based on the ratio comprises:

comparing the ratio with a threshold,

in response to the ratio being greater than a shutdown threshold, marking the drive extent as unavailable; and

in response to the ratio being smaller than the shutdown threshold but greater than a life threshold, marking the drive extent as end of life.

16. The computer program product of claim 15 , wherein counting the number of the errors is based on weights for the errors; and

wherein the code is further configured to enable the execution of:

in response to bursts of the errors or in absence of an impact on a normal I/O operation for the drive by the errors, reducing the weights.

17. The computer program product of claim 15 , wherein in response to determining that a type of other errors is a data error, handling the other errors only with respect to the drive extent that causes the other errors by marking the drive extent that causes the other errors as unavailable.

18. A method for handling an error for a drive with a logic space divided into a plurality of extents, the method comprising:

in response to errors detected in I/O operations for the drive, determining a type of the errors;

in response to determining that the type of the errors is a soft medium error or a data error, determining a drive extent of the plurality of extents of the drive that causes the errors, the soft medium error being an error that can be repaired by re-mapping of a failed extent and the data error being an error that is caused by damage of data on the drive; and

handling the errors only with respect to the drive extent that causes the errors;

wherein if the type of the errors is determined to be a soft medium error, handling the errors only with respect to the drive extent that causes the errors comprises:

counting a number of the errors and a number of the I/O operations, respectively;

calculating a ratio of the number of the errors to the number of the I/O operations; and

handling the errors based on the ratio; and

wherein counting the number of the errors is based on weights for the errors, the method further comprising: in response to bursts of the errors or in absence of an impact on a normal I/O operation for the drive by the errors, reducing the weights.

19. A method for handling an error for a drive with a logic space divided into a plurality of extents, the method comprising:

in response to errors detected in I/O operations for the drive, determining a type of the errors;

in response to determining that the type of the errors is a soft medium error or a data error, determining a drive extent of the plurality of extents of the drive that causes the errors, the soft medium error being an error that can be repaired by re-mapping of a failed extent and the data error being an error that is caused by damage of data on the drive; and

handling the errors only with respect to the drive extent that causes the errors;

wherein the method further comprises:

in response to determining that the type of the errors is a hard medium error, handling the errors with respect to an entirety of the drive, the hard medium error being an error that is caused by a hardware failure in the drive;

wherein handling the errors with respect to an entirety of the drive comprises:

counting a number of the errors and a number of the I/O operations, respectively;

calculating a ratio of the number of the errors to the number of the I/O operations; and

handling the errors based on the ratio; and

wherein handling the errors based on the ratio comprises:

comparing the ratio with a threshold,

in response to the ratio being greater than a shutdown threshold, marking the drive as unavailable;

in response to the ratio being smaller than the shutdown threshold but greater than a life threshold, marking the drive as end of life; and

in response to the ratio being smaller than the life threshold but greater than a resetting threshold, resetting the drive.

20. An electronic device, comprising:

at least one processing unit; and

at least one memory coupled to the at least one processing unit and storing instructions executable by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the electronic device to perform acts of:

in response to errors detected in I/O operations for a drive, determining a type of the errors, wherein a logic space of the drive is divided into a plurality of extents;

in response to determining that the type of the errors is a soft medium error or a data error, determining a drive extent of the plurality of extents of the drive that causes the errors, the soft medium error being an error that can be repaired by re-mapping of a failed extent and the data error being an error that is caused by damage of data on the drive; and

handling the errors only with respect to the drive extent that causes the errors;

wherein if the type of the errors is determined to be a soft medium error, handling the errors only with respect to the drive extent that causes the errors comprises:

counting a number of the errors and a number of the I/O operations, respectively;

calculating a ratio of the number of the errors to the number of the I/O operations; and

handling the errors based on the ratio; and

wherein counting the number of the errors is based on weights for the errors, and the instructions, when executed by the at least one processing unit, further cause the electronic device to perform an act of: in response to bursts of the errors or in absence of an impact on a normal I/O operation for the drive by the errors, reducing the weights.

21. An electronic device, comprising:

at least one processing unit; and

at least one memory coupled to the at least one processing unit and storing instructions executable by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the electronic device to perform acts of:

in response to errors detected in I/O operations for a drive, determining a type of the errors, wherein a logic space of the drive is divided into a plurality of extents;

in response to determining that the type of the errors is a soft medium error or a data error, determining a drive extent of the plurality of extents of the drive that causes the errors, the soft medium error being an error that can be repaired by re-mapping of a failed extent and the data error being an error that is caused by damage of data on the drive; and

handling the errors only with respect to the drive extent that causes the errors;

wherein the instructions, when executed by the at least one processing unit, further cause the electronic device to perform an act of:

in response to determining that the type of the errors is a hard medium error, handling the errors with respect to an entirety of the drive, the hard medium error being an error that is caused by a hardware failure in the drive;

wherein handling the errors with respect to an entirety of the drive comprises:

counting a number of the errors and a number of the I/O operations, respectively;

calculating a ratio of the number of the errors to the number of the I/O operations; and

handling the errors based on the ratio; and

wherein handling the errors based on the ratio comprises:

comparing the ratio with a threshold,

in response to the ratio being greater than a shutdown threshold, marking the drive as unavailable;

in response to the ratio being smaller than the shutdown threshold but greater than a life threshold, marking the drive as end of life; and

in response to the ratio being smaller than the life threshold but greater than a resetting threshold, resetting the drive.

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 Jan 29, 2018
From: GAO, HONGPO; KANG, JAMIN; SUN, REE LEI; GAO, JIAN; GONG, SHAOQIN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044750/0737 →