Claims
- 1. A method of controlling a disk drive 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 sectors such that a cluster includes multiple input/output (I/O) data sectors and an error detection sector, where the error detection sector contains a value indicating a physical location on the disk for the cluster; and in response to a read request from a host, reading a cluster of data from the disk drive, and comparing the value contained in an error detection sector of the cluster to an expected value to determine whether the disk drive accessed data from a correct physical location on the disk drive.
- 2. 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.
- 3. 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.
- 4. The method as defined in claim 1, wherein the disk drive is an ATA disk drive.
- 5. The method as defined in claim 1, wherein each cluster contains exactly one error detection sector.
- 6. The method as defined in claim 1, wherein the method is implemented within automated circuitry of a controller device.
- 7. The method as defined in claim 1, wherein the method is performed such that the disk drive's hardware and firmware can remain unmodified.
- 8. The method as defined in claim 1, wherein the sectors of the cluster belong to a single disk drive.
- 9. An error detection system that controls a disk drive to provide an indication as to whether the disk drive accessed a correct location, the system comprising:
a store circuit adapted to store data on the disk drive within clusters of sectors, where a cluster includes multiple input/output (I/O) data sectors and an error detection sector, where the error detection sector contains a value that indicates a physical location on the disk 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 a value retrieved within the cluster of data to an expected value to determine whether the disk drive accessed data from a correct physical location on the disk drive.
- 10. The system as defined in claim 9, 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.
- 11. The system as defined in claim 10, wherein the error detection code is a CRC code generated from all I/O data stored within the corresponding cluster.
- 12. The system as defined in claim 9, wherein the disk drive is an ATA disk drive.
- 13. The system as defined in claim 9, wherein each cluster contains exactly one error detection sector.
- 14. The system as defined in claim 9, wherein the system is implemented in an application specific integrated circuit (ASIC).
- 15. The method as defined in claim 9, wherein the data sectors and the error detection sector of the cluster belong to a single disk drive.
- 16. 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; receiving the input/output data and the additional verification data from the disk drive, where the input/output data and the additional verification data contains an error; and comparing the additional verification data to an expected verification data to detect the error.
- 17. The method as defined in claim 16, wherein the sectors of a cluster are within a single disk drive.
RELATED APPLICATION
[0001] This application is a continuation application of U.S. application Ser. No. 09/732,244, entitled “DISK DRIVE DATA PROTECTION USING CLUSTERS CONTAINING ERROR DETECTION SECTORS,” filed Dec. 7, 2000, the entirety of which is incorporated by reference herein.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09732244 |
Dec 2000 |
US |
Child |
10774164 |
Feb 2004 |
US |