IP Library Granted Patent US 8,190,945
Granted Patent B2
US 8,190,945 · App. 12/284,021 · Granted May 29, 2012

Method for maintaining track data integrity in magnetic disk storage devices

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 8,190,945
App. No.
12/284,021
Granted
May 29, 2012
Kind
B2
Abstract

Techniques for detection of impending data errors in a mass storage system, such as a track squeeze problem in an electromagnetic disk drive, and then repairing the impending problem, such as by rewriting the affected tracks. In many cases the problem is detected and repair is effected when the original data can still be read. In other cases, when the data is no longer readable on the disk in question, but when the disk is part of a Redundant Array of Independent Disks (RAID) system, or other system in which higher layer fault tolerance mechanisms are implemented, the missing data can be recovered via these mechanisms. The recovered data is then used to repair the track squeeze problem. The invention can be implemented as firmware in a storage system, as a component of a general purpose operating system, or inside individual disk drives, or it can use a combination of these implementations.

Claims (95)

1. A method for processing an error condition in a mass data storage media device which records data in concentric adjacent tracks of an electromagnetic storage media, the method comprising the steps of:

initiating a user data input/output (I/O) operation to a particular identified user data area within the storage media device;

analyzing a result of the I/O operation to predict when a track squeeze error condition indicating an error unrecoverable by the media device itself is likely to start occurring during a future user data I/O operation that accesses the particular identified user data area within the storage media device, but which track squeeze error condition had not actually yet occurred; and

rewriting user data to at least one track proximate to the particular identified area; and

wherein the analyzing step further comprises:

determining a variance in completion time of the result from the I/O operation exceeding a threshold.

2. A method as in claim 1 wherein the analyzing step further comprises:

examining whether a raw read error rate in the result from the I/O operation is exceeding a predetermined threshold.

3. A method as in claim 1 wherein the analyzing step further comprises:

comparing any one or more of Self-Monitoring, Analysis, and Reporting Technology (SMART) counter data values in the result from the I/O operation against predetermined acceptable performance thresholds.

4. A method as in claim 1 wherein the analyzing step further comprises:

determining if a sequential read throughput rate in the result from the I/O operation is less than an expected throughput by a difference exceeding a predetermined threshold amount.

5. A method as in claim 4 wherein the expected throughput is determined as a function of block address of the affected track.

6. A method as in claim 4 wherein the expected throughput is determined as a function of block address measured for a disk type during system design or drive type acceptance.

7. A method as in claim 1 wherein the analyzing step further comprises:

determining if the timing of the result of the I/O operation is slower than expected by a threshold.

8. A method as in claim 1 wherein the analyzing step further comprises:

determining if a timeout of in the result of the (I/O) operation has occurred.

9. A method as in claim 1 wherein the rewriting step additionally comprises:

rewriting a track within which the particular identified area is located.

10. A method as in claim 9 wherein the rewriting step additionally comprises:

reading data from the particular identified area before it becomes unrecoverable.

11. A method as in claim 10 wherein the rewriting step additionally comprises:

permitting a longer than normally specified read timeout if necessary to read data from the identified area.

12. A method as in claim 9 wherein the rewriting step additionally comprises:

determining data to be rewritten in the identified area via a redundant data copy provided at higher layers in a storage system of which the disk drive is a part.

13. A method as in claim 12 wherein the higher layer redundant data copy is provided by a higher layer system function selected from the group consisting of Redundant Array of Independent Disks (RAID), data replication, or backup data storage.

14. A method as in claim 12 wherein the mass storage device is part of an array of mass storage devices used to provide a high availability storage array.

15. A method as in claim 12 wherein the higher layer redundant data copy is regenerated by examining one or more states of system elements.

16. A method as in claim 12 wherein the higher layer redundant data copy is regenerated by a higher layer system function selected from the group consisting of Redundant Array of Independent Disks (RAID), file system, or storage virtualization system.

17. A method as in claim 9 wherein the rewriting step additionally comprises:

rewriting the identified area once.

18. A method as in claim 9 wherein the rewriting step additionally comprises:

rewriting the identified area multiple times.

19. A method as in claim 1 wherein the rewriting step additionally comprises:

rewriting a range of tracks comprising the particular identified area.

20. A method as in claim 1 wherein the analyzing and rewriting steps are implemented as additional processing in a regular active I/O processing path of the mass storage device.

21. A method as in claim 1 wherein the analyzing and rewriting steps are implemented as a background thread that runs when the storage device is idle.

22. A method as in claim 1 wherein the analyzing and rewriting steps are carried out during execution of an application program when the drive is in use by an end customer.

23. A method as in claim 1 wherein the analyzing and rewriting steps are used for fault analysis of failed drives returned from a customer.

24. A method as in claim 1 wherein the analyzing and rewriting steps are implemented in a general purpose operating system such as might be used for server computers.

25. A method as in claim 1 wherein the analyzing and rewriting steps are implemented in firmware or hardware in a storage controller.

26. A method as in claim 1 wherein the analyzing and rewriting steps are implemented in a storage controller contained within a computer system, attached via a local computer bus.

27. A method as in claim 26 wherein the local computer bus is a Peripheral Component Interconnect (PCI) bus.

28. A method as in claim 1 wherein the analyzing and rewriting steps are implemented in a storage controller attached to a Storage Area Network.

29. A method as in claim 1 wherein the analyzing and rewriting steps are implemented in drive electronics located in one or more disk drive assemblies.

30. A method as in claim 1 wherein the analyzing and rewriting steps are implemented in a distributed fashion among one or more places selected from a group consisting of a general purpose operating system executing on a host computer, in firmware in a storage controller, or in drive electronics located in a disk drive assembly.

31. A method for processing an error condition in a mass data storage media device which records data in concentric adjacent tracks of an electromagnetic storage media, the method comprising the steps of:

initiating a user data input/output (I/O) operation to a particular identified user data area within the storage media device;

analyzing a result of the I/O operation to predict when a track squeeze error condition indicating an error unrecoverable by the media device itself is likely to start occurring during a future user data I/O operation that accesses the particular identified user data area within the storage media device, but which track squeeze error condition had not actually yet occurred; and

rewriting user data to at least one track proximate to the particular identified area and

wherein the track squeeze error detection process is used during a manufacturing test process as a component screening process for incoming test of a disk drives drive when it is to be incorporated into a larger system.

32. A method as in claim 31 wherein the screening process rejects drives based on either excessive track squeeze detected or track rewrite not being effective.

33. An apparatus for processing an error condition in a mass data storage device which records data in concentric adjacent tracks of an electromagnetic storage media, the apparatus comprising:

detect when a track squeeze error condition indicating an error unrecoverable by the media device itself is likely to start occurring, but which has not yet actually occurred, during a future I/O operation to the particular identified area within the storage media;

an interface, for initiating a user data input/output (I/O) operation to a particular identified storage area on the storage media; and

an analyzer, for analyzing a result of the I/O operation to a data recording apparatus, for rewriting data stored in at least one track proximate to the particular identified area of the storage media wherein the analyzer further comprises:

a comparator, for determining if a variance in completion time of the I/O operation exceeds a threshold.

34. An apparatus as in claim 33 wherein the comparator further comprises:

a comparator, for determining whether a raw read error rate resulting from the I/O operation is exceeding a predetermined threshold.

35. An apparatus as in claim 33 wherein the comparator further comprises:

a comparator, for comparing any one or more of Self-Monitoring, Analysis, and Reporting Technology (SMART) counter data values reported by the I/O operation against predetermined acceptable performance thresholds.

36. An apparatus as in claim 33 wherein the comparator f further comprises:

a comparator, for determining if a sequential read throughput rate resulting from the I/O operation is less than an expected throughput by a difference exceeding a predetermined threshold amount.

37. An apparatus as in claim 36 wherein the expected throughput is determined as a function of block address of the affected track.

38. An apparatus as in claim 37 wherein the expected throughput is determined as a function of block address measured for a disk type during system design or drive type acceptance.

39. An apparatus as in claim 33 wherein the comparator f further comprises:

a comparator, for determining if the timing of the result of the I/O operation is slower than expected by a threshold.

40. An apparatus as in claim 33 wherein the comparator further comprises:

a comparator, for determining if a timeout of in the I/O operation has occurred.

41. An apparatus as in claim 33 wherein the data write apparatus additionally rewrites a track within which the particular identified area is located.

42. An apparatus as in claim 41 wherein the write apparatus additionally rewrites a range of tracks comprising the particular identified area.

43. An apparatus as in claim 41 additionally comprising:

a data read apparatus, for reading data from the identified area before it becomes unrecoverable.

44. An apparatus as in claim 43 wherein the data read apparatus additionally comprises components for permitting a longer than normally specified read timeout if necessary to read data from the identified area.

45. An apparatus as in claim 41 wherein the write apparatus additionally determines data to be rewritten in the identified area via a redundant data copy provided at higher layers in a storage system of which the disk drive is a part.

46. An apparatus as in claim 45 wherein the higher layer redundant data copy is provided by a higher layer system function selected from the group consisting of Redundant Array of Independent Disks (RAID), data replication, or backup data storage.

47. An apparatus as in claim 45 wherein the mass storage device is part of an array of mass storage devices used to provide a high availability storage array.

48. An apparatus as in claim 45 wherein the higher layer redundant data copy is regenerated by examining one or more states of system elements.

49. An apparatus as in claim 45 wherein the higher layer redundant data copy is regenerated by a higher layer system function selected from the group consisting of Redundant Array of Independent Disks (RAID), file system, or storage virtualization system.

50. An apparatus as in claim 41 wherein the write apparatus rewrites the identified area at least once.

51. An apparatus as in claim 41 wherein the write apparatus additionally rewrites the identified area multiple times.

52. An apparatus as in claim 33 wherein the analyzer and write apparatus are implemented as additional processing in a regular active I/O processing path of the mass storage device.

53. An apparatus as in claim 33 wherein the analyzer and write apparatus are implemented as a background thread that runs when the storage device is idle.

54. An apparatus as in claim 33 that is used during a manufacturing test process as a test for disk drives to be placed in service.

55. An apparatus as in claim 54 wherein the test process rejects drives based on either excessive track squeeze detected or track rewrite not being effective.

56. An apparatus as in claim 33 wherein the analyzer and data write apparatus are implemented at least partially as an application program when the drive is in use by an end customer.

57. An apparatus as in claim 33 wherein the analyzer and data write apparatus are used for fault analysis of failed drives returned from a customer.

58. An apparatus as in claim 33 wherein the analyzer and data write apparatus are implemented at least partially in a general purpose operating system such as might be used for server computers.

59. An apparatus as in claim 33 wherein the analyzer and data write apparatus are implemented at least in part in firmware or hardware in a storage controller.

60. An apparatus as in claim 33 wherein the analyzer and data write apparatus are implemented at least in part in a storage controller contained within a computer system, attached via a local computer bus.

61. An apparatus as in claim 60 wherein the local computer bus is a Peripheral Component Interconnect (PCI) bus.

62. An apparatus as in claim 33 wherein the analyzer and data write apparatus are implemented in a storage controller attached to a Storage Area Network.

63. An apparatus as in claim 33 wherein the analyzer and data write apparatus are implemented at least in part in drive electronics located in one or more disk drive assemblies.

64. An apparatus as in claim 33 wherein the analyzer and data write apparatus are implemented in a distributed fashion among one or more places selected from a group consisting of a general purpose operating system executing on a host computer, in firmware in a storage controller, or in drive electronics located in a disk drive assembly.

Assignments (15)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
MERGER Recorded Jan 21, 2010
From: EQUALLOGIC INC.
To: DELL PRODUCTS L.P.
Reel/Frame 023828/0438 →