← Back to Patent Explorer
US6751757B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Disk drive data protection using clusters containing error detection sectors

Assignee: Summit Data Systems LLC
•
Filing: 2000-12-07
•
Granted: 2004-06-15
•
Expires: 2020-12-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention is related to methods and apparatus that can enhance the reliability of a hard drive by providing a built-in error check in the drive. Conventional hard drives can erroneously seek to an incorrect location on a platter of the hard drive. The erroneous seek corrupts the data stream and is difficult to detect and correct. Embodiments of the present invention can detect a logical block address assigned to a portion of the platter of the hard drive and thereby detect when an erroneous seek has occurred. Upon detection of an error, one embodiment of the present invention can further take corrective action to read from the correct portion of the platter.

Inventors

  • 👤 Richard J. Biskup
  • 👤 Brian R. Davis
  • 👤 James A. McDonald
  • 👤 Robert W. Horst

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 00:59
CPC Classifications
G; G11; G11B; G11B27/00; G11B27/10; G11B27/102; G11B27/105; G11B20/00; G11B20/10; G11B20/18; G11B20/1816; G11B2020/10916; G11B2220/00; G11B2220/20; G11B2220/40; G11B2220/41; G11B2220/415

Claims Analysis

Total Claims: 47
Claim 1
Independent Claim 138 words
A method of controlling a disk drive that uses standard-format, 512-byte sectors so as to determine whether data returned by the disk drive was read from a correct location, the method comprising: storing data on the disk drive within clusters of standard-format, 512 byte sectors such that a cluster includes multiple input/output (I/O) data sectors and an error detection sector, the error detection sectors containing an address value indicating logical block addresses to which the respective clusters correspond; and in response to a read request from a host, reading a cluster of data from the disk drive, and comparing the address value contained within the cluster of data to an expected address value to determine whether the disk drive accessed a correct cluster; wherein the method is performed by a controller that is external to the disk drive.
Claim 2
Independent Claim 138 words
A method of controlling a disk drive that uses standard-format, 512-byte sectors so as to determine whether data returned by the disk drive was read from a correct location, the method comprising: storing data on the disk drive within clusters of standard-format, 512 byte sectors such that a cluster includes multiple input/output (I/O) data sectors and an error detection sector, the error detection sectors containing an address value indicating logical block addresses to which the respective clusters correspond; and in response to a read request from a host, reading a cluster of data from the disk drive, and comparing the address value contained within the cluster of data to an expected address value to determine whether the disk drive accessed a correct cluster; wherein the method is performed by a controller that is external to the disk drive.
Claim 3
Dependent Claim 54 words
The method as defined in claim 1 , wherein the error detection sectors further contain error detection codes for I/O data stored within the respective data sectors, and wherein reading a cluster further comprises determining whether the error detection code within the cluster data is consistent with the I/O data within the cluster data.
Claim 4
Dependent Claim 27 words
The method as defined in claim 2 , wherein the error detection code is a CRC code generated from all I/O data stored within the corresponding cluster.
Claim 5
Dependent Claim 17 words
The method as defined in claim 1 , wherein the disk drive is an ATA disk drive.
Claim 6
Dependent Claim 23 words
The method as defined in claim 1 , wherein each cluster contains a number of I/O data sectors falling between 16 and 64.
Claim 7
Dependent Claim 22 words
The method as defined in claim 5 , wherein each cluster consists of 32 I/O data sectors and one error detection sector.
Claim 8
Dependent Claim 17 words
The method as defined in claim 1 , wherein each cluster contains exactly one error detection sector.
Claim 9
Dependent Claim 45 words
The method as defined in claim 1 , wherein reading a cluster of data further comprises translating a logical block address received from the host to a target logical block address to account for a non-availability of the error detection sectors as I/O data sectors.
Claim 10
Dependent Claim 20 words
The method as defined in claim 1 , wherein the method is implemented within automated circuitry of a controller device.
Claim 11
Dependent Claim 93 words
The method as defined in claim 1 , further comprising: storing the address value stored in the error detection sector in both true and complementary form; reading both the true and the complementary form of the address value; and comparing the true and the complementary form of the stored address value so that where a discrepancy between the stored address value and the expected address value is detected, the method can distinguish between an error from the disk drive and an error from a circuit associated with computation of the error detection sector.
Claim 12
Dependent Claim 158 words
An error detection system that controls a disk drive that uses standard-format, 512-byte sectors to provide an indication as to whether the disk drive accessed a correct location, wherein the system is external to the disk drive such that the disk drive's hardware and firmware can remain unmodified, the system comprising: a store circuit adapted to store data on the disk drive within clusters of standard-format, 512-byte sectors, where a cluster includes multiple input/output (I/O) data sectors and an error detection sector, where the error detection sectors contain an address value that is related to a logical block address that corresponds to a sector from the cluster; and a read circuit adapted to read a cluster of data from the disk drive in response to a read request from a host, and to compare the address value contained within the cluster of data to an expected address value to determine whether the disk drive accessed a correct cluster.
Claim 13
Dependent Claim 158 words
An error detection system that controls a disk drive that uses standard-format, 512-byte sectors to provide an indication as to whether the disk drive accessed a correct location, wherein the system is external to the disk drive such that the disk drive's hardware and firmware can remain unmodified, the system comprising: a store circuit adapted to store data on the disk drive within clusters of standard-format, 512-byte sectors, where a cluster includes multiple input/output (I/O) data sectors and an error detection sector, where the error detection sectors contain an address value that is related to a logical block address that corresponds to a sector from the cluster; and a read circuit adapted to read a cluster of data from the disk drive in response to a read request from a host, and to compare the address value contained within the cluster of data to an expected address value to determine whether the disk drive accessed a correct cluster.
Claim 14
Dependent Claim 64 words
The system as defined in claim 11 , wherein the store circuit is further adapted to store error detection codes for I/O data stored within the respective data sectors of the error detection sectors, and wherein the read circuit is further adapted to determine whether the error detection code stored within the cluster data is consistent with the I/O data within the cluster data.
Claim 15
Dependent Claim 27 words
The system as defined in claim 12 , wherein the error detection code is a CRC code generated from all I/O data stored within the corresponding cluster.
Claim 16
Dependent Claim 17 words
The system as defined in claim 11 , wherein the disk drive is an ATA disk drive.
Claim 17
Dependent Claim 23 words
The system as defined in claim 11 , wherein each cluster contains a number of I/O data sectors falling between 16 and 64.
Claim 18
Dependent Claim 22 words
The system as defined in claim 15 , wherein each cluster consists of 32 I/O data sectors and one error detection sector.
Claim 19
Dependent Claim 17 words
The system as defined in claim 11 , wherein each cluster contains exactly one error detection sector.
Claim 20
Dependent Claim 45 words
The system as defined in claim 11 , wherein the read circuit is further adapted to translate a logical block address received from the host to a target logical block address to account for a non-availability of the error detection sectors as I/O data sectors.
Claim 21
Dependent Claim 20 words
The system as defined in claim 11 , wherein the system is implemented in an application specific integrated circuit (ASIC).
Claim 22
Dependent Claim 66 words
The system as defined in claim 11 , wherein the store circuit is further adapted to store the address value in both a true and a complementary form, where the read circuit is further adapted to read both the true and the complementary form of the address value and to compare the true and the complementary form to detect an error in the error detection system.
Claim 23
Independent Claim 65 words
A method of organizing a plurality of sectors of a disk drive into a plurality of clusters, the method comprising: arranging a cluster from the plurality of clusters of the disk drive into a plurality of data sectors and at least one extra sector; maintaining input/output data in the data sectors; and maintaining verification data for the cluster in the at least one extra sector.
Claim 24
Independent Claim 65 words
A method of organizing a plurality of sectors of a disk drive into a plurality of clusters, the method comprising: arranging a cluster from the plurality of clusters of the disk drive into a plurality of data sectors and at least one extra sector; maintaining input/output data in the data sectors; and maintaining verification data for the cluster in the at least one extra sector.
Claim 25
Dependent Claim 28 words
The method as defined in claim 21 , wherein the verification data comprises a value related to a logical block address of a sector in the corresponding cluster.
Claim 26
Dependent Claim 20 words
The method as defined in claim 21 , wherein the verification data comprises a value related to the corresponding cluster.
Claim 27
Dependent Claim 28 words
The method as defined in claim 21 , wherein the verification data comprises a value related to an error detection code of the corresponding data group of sectors.
Claim 28
Dependent Claim 30 words
The method as defined in claim 21 , wherein the verification data comprises a value related to a Cyclic Redundancy Check (CRC) checksum of the corresponding data group of sectors.
Claim 29
Dependent Claim 23 words
The method as defined in claim 21 , wherein the plurality of data sectors comprise a value that is a power of 2.
Claim 30
Dependent Claim 58 words
The method as defined in claim 21 , further comprising: maintaining both a true and a complementary form of at least a portion of the verification data stored in the extra sector; and identifying a source of error based on a comparison between the true and the complementary form of the at least portion of the verification data.
Claim 31
Independent Claim 152 words
A method of storing data in a disk drive such that an error can be detected when the stored data is later requested, the method comprising: receiving a first address and a first data from a computer system, where the first data is associated with the first address, where the first data is to be maintained in the disk drive and the first address is an address associated with the computer system; translating the first address to a second address to account for a non-availability of an error detection sector as a data sector, where the second address relates to a location of a sector in the disk drive; relating the sector to a cluster of sectors, where the cluster of sectors contains data sectors and at least one error checking sector; and storing an identifier in the error checking sector so that the cluster can be identifiably maintained from other clusters.
Claim 32
Independent Claim 152 words
A method of storing data in a disk drive such that an error can be detected when the stored data is later requested, the method comprising: receiving a first address and a first data from a computer system, where the first data is associated with the first address, where the first data is to be maintained in the disk drive and the first address is an address associated with the computer system; translating the first address to a second address to account for a non-availability of an error detection sector as a data sector, where the second address relates to a location of a sector in the disk drive; relating the sector to a cluster of sectors, where the cluster of sectors contains data sectors and at least one error checking sector; and storing an identifier in the error checking sector so that the cluster can be identifiably maintained from other clusters.
Claim 33
Dependent Claim 47 words
The method as defined in claim 28 , wherein the disk drive comprises a plurality of disk drives in a disk array, and where each cluster with data sectors and at least one error checking sector is arranged within a single disk drive of the disk array.
Claim 34
Dependent Claim 40 words
The method as defined in claim 28 , wherein the identifier comprises a logical block address of at least one sector in the cluster, and where the logical block address is the logical block address referenced by the disk drive.
Claim 35
Dependent Claim 40 words
The method as defined in claim 28 , wherein the identifier comprises a logical block address of at least one sector in the cluster, and where the logical block address is the logical block address referenced by the computer system.
Claim 36
Dependent Claim 26 words
The method as defined in claim 28 , wherein the identifier comprises a value related to a logical block address of a sector in the cluster.
Claim 37
Dependent Claim 23 words
The method as defined in claim 28 , wherein the identifier comprises a plurality of logical block address for sectors in the cluster.
Claim 38
Dependent Claim 20 words
The method as defined in claim 28 , wherein the identifier comprises a value related to a count of clusters.
Claim 39
Dependent Claim 46 words
The method as defined in claim 28 , further comprising translating a capacity reported by the disk drive to an effective capacity, wherein the translating includes a compensation for a loss in capacity to account for a non-availability of the error detection sectors as data sectors.
Claim 40
Independent Claim 102 words
A method of detecting an error in a disk drive, the method comprising: receiving input/output data to be written to the disk drive; writing the input/output data and additional verification data to the disk drive, where the input/output data and the additional verification data are stored in a cluster of the disk drive, where a sector containing the additional verification data is separate from sectors that store the input/output data in the cluster; erroneously reading the input/output data and the additional verification data from the disk drive; and comparing the additional verification data to an expected verification data to detect the error.
Claim 41
Independent Claim 102 words
A method of detecting an error in a disk drive, the method comprising: receiving input/output data to be written to the disk drive; writing the input/output data and additional verification data to the disk drive, where the input/output data and the additional verification data are stored in a cluster of the disk drive, where a sector containing the additional verification data is separate from sectors that store the input/output data in the cluster; erroneously reading the input/output data and the additional verification data from the disk drive; and comparing the additional verification data to an expected verification data to detect the error.
Claim 42
Dependent Claim 24 words
The method as defined in claim 1 , wherein the method is performed such that the disk drive's hardware and firmware can remain unmodified.
Claim 43
Dependent Claim 20 words
The method as defined in claim 1 , wherein the sectors of the cluster belong to a single disk drive.
Claim 44
Dependent Claim 26 words
The method as defined in claim 11 , wherein the data sectors and the error detection sector of the cluster belong to a single disk drive.
Claim 45
Dependent Claim 39 words
The method as defined in claim 21 , wherein the plurality of data sectors and the at least one extra sector for a cluster of the disk drive are arranged in a contiguous block of Logical Block Addresses (LBAs).
Claim 46
Dependent Claim 20 words
The method as defined in claim 36 , wherein the sectors of a cluster are within a single disk drive.
Claim 47
Dependent Claim 26 words
The method as defined in claim 36 , wherein each cluster comprises 32 data sectors for storing input/output data and one sector for additional verification data.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-06-15 2007-12-15 2008-06-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-06-15 2011-12-15 2012-06-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-06-15 2015-12-15 2016-06-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag