Shortcut Error Recovery Procedure
Original Publication Date: 1999-Dec-01
Included in the Prior Art Database: 2003-Jun-19
Disclosed is a procedure to reduce the time to spend for the error recovery during reading or writing data on a hard disk drive so that the decrease of the data transfer rate between the hard disk drive and the host system is minimized. The firmware of the hard disk drive has a certain error recovery procedure, which consists of several steps for several different kinds of errors like Thermal Asperity, Off-tracked data, etc. The error recovery procedure accesses the data with many different ways from the normal access Each way is defined as an error recovery step and it is performed in a pre-defined order. Once an error occurs and is recovered by a certain step, this Shortcut Error Recovery Procedure stores the information of the error recovery which consists of the error location, read or write, what kind of error, which step has recovered the error. Next time the same error occurred at the same location, the Shortcut Error Recovery Procedure attempts the error recovery step first which was stored at the previous same error. This may reduce the time to recover an error that is repeatable and minimize the decrease of the data transfer rate. For example, let's think a case of reading a sector. A sector has data written on off-track position which cannot be read on on-track position. To read data from the sector, the head of the hard disk drive should seek to a certain off-track position but the off-track read error recovery step may be the tenth step of the conventional error recovery procedure for Read operation. First time the sector written on off-track is read, the Shortcut Error Recovery Procedure checks on the stored information whether the same error has occurred on the same location before. Since there is no information for the error, the conventional error recovery procedure does the error recovery step by step from the first step. Only one error recovery step can be done to the sector per one revolution of the disk. Therefore ten revolutions are needed to reach the tenth step for the sector to be able to be read. The Shortcut Error Recovery Procedure stores the information of the error recovery which consists of Logical Block Address (LBA) of the sector, Read operation, Uncorrectable error, tenth step to recover the error. Next time the same sector is read, the tenth error recovery step is done first of all steps by the Shortcut Error Recovery Procedure based on comparing the current error information to the stored information for the sector. There is much possibility for the sector to be read with one revolution by the Shortcut Error Recovery Procedure since the error like a off-tracked data is repeatable for Read operation until the sector is overwritten with new data. Therefore the time spent for the error recovery by the Shortcut Error Recovery Procedure gets to be one tenth by the conventional one since the conventional error recovery procedure needs the ten revolutions to recover the error this time again. Same algorithm and effectiveness for Write operation is applicable. Once the Shortcut Error Recovery Procedure fails to recover the error with the stored step, the information stored for the error of the location is cleared. Checking, Clearing or Storing the information for an error is done only in the error case by the Shortcut Error Recovery Procedure so that it has no performance impact to the no error case of Read or Write operations.