Patent ID: 6119261
Filing Date: 2000-09-12
Classification: G11B

Abstract:
In a hard disk drive including a rotating data storage disk, a head transducer structure including a magnetoresistive read element and positioned over the disk for data writing and reading operations to and from a formatted track, a read channel connected to the read element, and a digital data handling and control section connected to the read channel for handing data block transfers between the data storage disk and a host computing environment, a method for precisely determining the location of data errors on the data storage disk and correcting the errors comprising the steps of:(A) reading a sector of data and collecting ECC syndromes;(B) electrically detecting a data error and determining a proximate data error beginning location and proximate data error ending location;(C) determining if the detected data error has a detected error cation,(a) if the data error does not have a detected error location then applying ECC and determining if the data has been corrected,(i) if the data has been corrected then returning a correctable flag to the main drive data recovery firmware,(ii) if the data has not been corrected then verifying that that there was no detected error location and returning an uncorrectable flag to the main drive data recovery firmware;(D) if it was determined that the data error has a detected error location then redefining the data error beginning location at a predetermined number of contiguous byte positions prior to the data error beginning location determined in step (B);(E) redefining the data error ending location at a predetermined number of byte positions after the redefined data error beginning location determined in step (D);(F) setting a counter for counting a predetermined number of iterations of the redefinition of the data error beginning location and the data error ending location;(G) applying a data correction algorithm to the data defined between the data error beginning location and the data error ending location;(H) determining if the data defined between the data error beginning location and the data error ending location has been corrected and if the data has been corrected then returning a correctable flag to the main drive data recovery firmware.