Abstract:
An off-track error recovery method and apparatus for a disk drive are disclosed herein. Off-track errors are either due to vibration of the disk drive or due to defective servo data stored on a disk surface of the disk drive. In order to tailor error recovery operations associated with each of the two types of off-track errors, the present invention distinguishes between the two types of errors, when possible. Accordingly, the overall time for performing off-track error recovery operations is reduced and/or off-track error recovery operations are made more efficient.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     Priority is claimed from U.S. Provisional Patent Application Ser. No. 60/339,267 filed Dec. 11, 2001, which is incorporated herein by reference in its entirety. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to computer disk drives. More particularly, the present invention relates to an off-track error recovery method and apparatus for a disk drive. 
     BACKGROUND OF THE INVENTION 
     A disk drive is a data storage device that stores digital data in substantially concentric tracks on a data storage disk. During disk drive operation, the data storage disk is rotated about an axis while a transducer is used to read data from, or write data to, a target track of the disk. A servo control loop is used to position the transducer above the target track, while the data transfer is taking place. The servo control loop uses servo data read from a surface of the data storage disk as position feedback to maintain the transducer in a substantially centered position above the target track during the data transfer. However, because of positioning errors inherent in the disk drive and external forces, the transducer does not remain perfectly centered during the entire data transfer. Instead, the transducer remains within a positional range about the target track that is dictated by the mechanical properties of the drive. 
     When a transducer moves off-track during a write operation, there is a chance that the transducer might inadvertently write data on or near an adjacent track. In such situations, the data on the adjacent track may be corrupted. In addition, data that is written off-track by the transducer may be difficult or impossible to read during a subsequent read operation on the present track due to its off-track position. 
     In an attempt to prevent the writing of data on an adjacent track, disk drive manufacturers have developed off-track thresholds that indicate an off-track transducer position beyond which write operations will be suspended. Off-track thresholds may also be used in conjunction with performing read operations. 
     In general, two types of situations will cause the off-track threshold to be exceeded, thereby resulting in an off-track error. The first type of situation is due to vibration of the disk drive. The second type of situation is due to defective servo data. 
     When an off-track error is detected, the disk drive enters an error recovery mode. It is desirable to recover from an error as quickly as possible. If too much time is taken in attempting to recover from an error, a time-out error may be received from a host computer associated with the disk drive, which may cause the host computer to lock-up. In addition, if too much time is taken in attempting to recover from an error, disk drive performance requirements may not be met. 
     There are different types of ways for recovering from off-track errors due to vibration as opposed to recovering from off-track errors due to defective servo data. However, there has yet to be a technique which can distinguish between these two types of off-track errors. 
     Accordingly, it would be desirable to develop an error recovery method and apparatus that distinguishes between off-track errors due to vibration and off-track errors due to defective servo data, so that appropriate corrective action with respect to each type of error may be taken. 
     SUMMARY OF THE INVENTION 
     The present invention is designed to meet the aforementioned, and other, needs. The invention is directed to an off-track error recovery method and apparatus for a disk drive. 
     Off-track errors are either due to vibration of the disk drive or due to defective servo data stored on a disk surface of the disk drive. In order to tailor error recovery operations associated with each of the two types of off-track errors, the present invention distinguishes between the two types of errors, when possible. Accordingly, the overall time for performing off-track error recovery operations is reduced and/or off-track error recovery operations are made more efficient. 
     For example, in the case of off-track errors due to defective servo data, the time for performing off-track recovery may be reduced, since (at least some) off-track recovery procedures relating to vibration errors may be skipped. In the case of off-track errors due to vibration, reliability (e.g., likelihood of data recovery) may be increased, since additional time (and revolutions) may be spent attempting to read/write, as (at least some) recovery procedures relating to off-track errors associated with defective servo data may be skipped. 
     Other embodiments, objects, features and advantages of the invention will be apparent from the following specification taken in conjunction with the following drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  diagrammatic representation illustrating a disk drive with which the present invention may be used; 
         FIG. 2  is a diagrammatic representation of a top view of a magnetic storage disk illustrating a typical organization of data on the surface of the disk; 
         FIG. 3  is a flowchart illustrating a conventional off-track error recovery technique; 
         FIG. 4  is a flowchart illustrating an error recovery method, in accordance with one embodiment of the present invention; and, 
         FIG. 5  illustrates a table that contains data that has been obtained in a data collection step associated with  FIG. 4 ; and, 
         FIG. 6  illustrates another table that contains data that has been obtained in a data collection step associated with  FIG. 4 . 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     While this invention is susceptible of embodiments in many different forms, there are shown in the drawings and will herein be described in detail, preferred embodiments of the invention with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the broad aspects of the invention to the embodiments illustrated. 
       FIG. 1  illustrates a disk drive, generally designated  10 , with which the present invention may be used. The disk drive comprises a disk  12  that is rotated by a spin motor  14 . The spin motor  14  is mounted to a base plate  16 . An actuator arm assembly  18  is also mounted to the base plate  16 . 
     The actuator arm assembly  18  includes a transducer  20  (having a write head and a read head) mounted to a flexure arm  22  which is attached to an actuator arm  24  that can rotate about a bearing assembly  26 . The actuator arm assembly  18  also contains a voice coil motor  28  which moves the transducer  20  relative to the disk  12 . The spin motor  14 , voice coil motor  28  and transducer  20  are coupled to a number of electronic circuits  30  mounted to a printed circuit board  32 . The electronic circuits  30  typically include a read channel chip, a microprocessor-based controller and a random access memory (RAM) device. 
     The disk drive  10  may include a plurality of disks  12  and, therefore, a plurality of corresponding actuator arm assemblies  18 . However, it is also possible for the disk drive  10  to include a single disk  12  as shown in  FIG. 1 . 
       FIG. 2  is a simplified diagrammatic representation of a top view of a disk  12  having a surface  42  which has been formatted to be used in conjunction with a sectored servo system (also known as an embedded servo system). As illustrated in  FIG. 2 , the disk  12  includes a plurality of concentric tracks  44   a – 44   h  for storing data on the disk&#39;s surface  42 . Although  FIG. 2  only shows a relatively small number of tracks (i.e., 8) for ease of illustration, it should be appreciated that typically tens of thousands of tracks are included on the surface  42  of a disk  12 . 
     Each track  44   a – 44   h  is divided into a plurality of data sectors  46  and a plurality of servo sectors  48 . The servo sectors  48  in each track are radially aligned with servo sectors  48  in the other tracks, thereby forming servo wedges  50  which extend radially across the disk  12  (e.g., from the disk&#39;s inner diameter  52  to its outer diameter  54 ). 
     When performing a reading or writing operation, a determination is made as to whether an off-track error has occurred. Specifically, a comparison is made between an off-track threshold and a position error signal obtained by reading the servo information associated with a target track from which a data transfer is desired. If the position error signal exceeds the off-track threshold during a read or write operation, an off-track error has occurred and the disk drive enters an error recovery mode. 
       FIG. 3  is a flowchart that illustrates a conventional off-track recovery mode when performing a read operation. Since there was no prior method of distinguishing between off-track errors due to vibration and off-track errors due to defective servo data, and since corrective action associated with off-track errors due to defective servo data is more severe than corrective action associated with off-track errors due to vibration, attempts are made to read the desired data for many revolutions of the disk surface in case the off-track error is due to vibration. Error recovery steps associated with recovering from off-track errors due to defective servo data are performed only after exhausting all of the error recovery steps associated with recovering from an off-track error due to vibration. 
     For example, attempts might be made to read data from the desired track for 200 revolutions of the disk, in the hopes that the off-track error was due to vibration and that the vibration will stop before the 200 revolutions were completed. Steps would be taken to recover from an off-track error due to defective servo data only after the 200 revolutions were completed. 
     Such a process is inefficient for at least two reasons. First, if the system could determine that the off-track error was due to vibration, more attempts might be made to read data from the desired track before taking the relatively severe corrective action associated with recovering from an off-track error due to defective servo data. Second, if the system could determine that the off-track error was not due to vibration, fewer attempts might be made (and, hence, less time would be taken) to read data from the desired track before taking steps to recover from an off-track error due to defective servo data. 
     Accordingly, if a determination could be made as to whether an off-track error was likely due to vibration error or not, error recovery could be made more efficient. Among other things, the present invention provides a technique for determining whether an off-track error is due to vibration or not. 
       FIG. 4  is a flowchart that illustrates an error recovery method in accordance with one embodiment of the present invention. After an off-track error has occurred, data is collected, as set forth in step  410 . Data is collected while attempting to read data from the desired track for a predetermined number of revolutions (e.g., 10 revolutions). In one embodiment, a table is created of all of the servo sectors where an off-track error occurred, along with a count of the number of times an off-track error occurred at the servo sector during the predetermined number of revolutions. In addition, the table includes, for each unique servo sector where an off-track error occurred, the latest servo sector where an off-track error ceased to exist. 
     More specifically, servo sectors on a track are generally numbered to indicate their relative circumferential positions around the disk surface. The table includes the number of the servo sector where an off-track occurred, along with the number of times an off-track error occurred at that servo sector number. Furthermore, in order to determine largest circumferential portion of the track that was affected by an off-track error that occurred at the servo sector during the predetermined number of revolutions, a record is made of the number of the circumferentially-farthest servo sector where the off-track error ceased to exist. 
     Reference is made to  FIG. 5 , which illustrates an exemplary table used during (or developed after) the data gathering step  410 . The first row in the table corresponds to an off-track error that occurred at servo sector number  2 . Only one error occurred at servo sector number  2  during the predetermined number of data-gathering revolutions. The off-track error ceased to exist at servo sector number  4 . 
     The second row in the table corresponds to off-track errors that occurred at servo sector number  10 . As indicated in the table, three off-track errors occurred at servo sector number  10  during the predetermined number of data-gathering revolutions. Since multiple off-track errors occurred, they may have ceased to exist at different circumferential locations around the track. For example, the off-track error may have ceased to exist at sector number  13 , when the first off-track error was detected. Similarly, the off-track error may have ceased to exist at servo sector number  15 , when the second off-track error was detected. Likewise, the off-track error may have ceased to exist at sector number  12 , when the third off-track error was detected. 
     In order to determine the largest circumferential portion of the track that was affected by the off-track error during the data-gathering revolutions, a record is made of the circumferentially-farthest servo sector where the off-track error ceased to exist (in the example, servo sector number  15 ). This information is especially useful when performing error recovery steps associated with defective servo data, as will be explained in more detail herein. 
     Referring again to  FIG. 4 , the collected data is then analyzed in step  420 . Specifically, in determining whether an off-track error was due to vibration, a comparison is made between a first predetermined threshold and the number of error counts obtained during the data-gathering step. If none of the servo sectors have an error count that is greater than the first predetermined threshold, then a determination is made that the off-track error is likely due to vibration. 
     If any of the servo sectors have an error count that is greater than the first predetermined threshold, then a determination is made as to whether any of the sectors have an error count that is greater than a second predetermined threshold. If at least one of the servo sectors has an error count that is greater than the second predetermined threshold, then a determination is made that the off-track error is likely due to defective servo data. 
     On the other hand, if any of the servo sectors have an error count that is greater than the first predetermined threshold but less than the second predetermined threshold, then an uncertainty exists as to whether the off-track error is due to vibration or defective servo data. 
     In one embodiment, the data is collected for 10 revolutions, the first predetermined threshold is  3  and the second predetermined threshold is  7 . It should be understood that the present invention is not limited to such values. If the aforementioned values were used in conjunction with data from the table of  FIG. 5 , a determination would be made that the off-track error is due to vibration. 
     Referring again to  FIG. 4 , if the off-track error was determined to be due to vibration (step  430 ), a vibration error recovery operation is performed (step  440 ). In such operation, further attempts are made to read the desired data for a predetermined number of revolutions of the disk. Generally, the number of revolutions (and, hence, attempts) will be relatively large, in the hopes that the vibration will subside or stop, so that the data may be read. In one embodiment, the predetermined number of revolutions associated with attempting to recover from an off-track error due to vibration is about 360 revolutions. 
     Generally, if it has been determined that the off-track error is due to vibration, the desired data will be able to be read using the above steps of the vibration error recovery operation. However, if the desired data still cannot be read, the steps associated with a defective servo data error recovery operation (described in detail below) are performed. 
     If it was determined that the off-track error was not due to vibration in step  430 , but was determined to be due to defective servo data in step  450 , a defective servo data error recovery operation is performed (step  460 ). In such operation, further attempts are made to read the desired data for a predetermined number of revolutions of the disk. Generally, the number of revolutions (and, hence, attempts) will be relatively small. These attempts are made as a fail safe measure, in case the error was erroneously determined to be due to a defective servo sector instead of vibration. In one embodiment, the predetermined number of revolutions associated with attempting to recover from an off-track error due to defective servo data is about 10 revolutions. In another embodiment, the predetermined number of revolutions is zero and the fail-safe measure is skipped altogether. 
     If the further attempts to read the desired data are unsuccessful, a flywheel recovery step is performed as part of the defective servo data error recovery operation. In the flywheel recovery step, the servo sector that is assumed to be defective (e.g., the servo sector with the greatest number of counts) is ignored by the disk drive&#39;s servo system. That is, the transducer is not repositioned based upon the servo sector that is assumed to be defective. Then, attempts are made to read the desired data for a predetermined number of revolutions of the disk. Generally, the number of revolutions (and, hence, attempts) during the flywheel recovery step are relatively small. In one embodiment, the number of revolutions associated with trying to read the desired data during the flywheel recovery step is about 18. 
     If the desired data is read during the flywheel step, it is written to a new location on the disk surface, in order to reduce the likelihood that similar errors will occur when reading such data in the future. Furthermore, as mentioned in connection with the data collecting step described using  FIGS. 4 and 5 , the reading of other data sectors may be affected by the defective servo sector. Accordingly, the disk drive reads and rewrites (at a new location) any data located between the defective servo sector and the circumferentially-farthest servo sector that was affected by the off-track error, as determined during the data collection step. For example, if the data collection step (step  410 ) resulted in a table similar to that shown in  FIG. 6 , data located between servo sector  27  and servo sector  44  would be read and, then, written to a new location. 
     Returning now to  FIG. 4 , if a determination cannot be made as to whether the off-track error is due to vibration or due to defective servo data, an uncertain error recovery operation (step  470 ) is performed. In such operation, further attempts are made to read the desired data for a predetermined number of revolutions of the disk. Generally, the predetermined number of revolutions (and, hence, attempts) for the uncertain error recovery operation will be less than the number of revolutions for the vibration error recovery operation, but greater than the number of revolutions for the defective servo data error recovery operation. In one embodiment, the predetermined number of revolutions is about 180 revolutions. If the desired data still cannot be read after the predetermined number revolutions, the steps associated with the defective servo data error recovery operation are performed. 
     When an off-track error occurs during a write operation, the operation of the system is generally the same. However, the flywheel recovery step is not used, since a significant risk exists in overwriting data on an adjacent (or other) track. In such case, instead of performing the flywheel recovery step, data is simply written to a different location on the disk surface, where off-track errors do not presently exist. 
     In one embodiment, instead of directly creating a table (as in  FIG. 5 ), a list may be created of servo sector numbers where off-track errors occurred, along with the corresponding servo sector number where each of such off-track errors ceased to exist. In this embodiment, a table, like that of  FIG. 5 , would then be created from the list. 
     In another embodiment, instead of only collecting data associated with servo sectors when off-track errors occurred, position error signal measurements are collected for each servo sector. This data may be analyzed to determine whether an off-track error was due to vibration or due to a defective servo burst. 
     In one embodiment, the predetermined number of revolutions associated with collecting data (in step  410 ) are performed during a hidden re-read operation, which is incapable of being turned off by a customer, as will be understood by those skilled in the art. Furthermore, the predetermined number of revolutions associated with attempting to read data from the desired track in each of the vibration error recovery operation, defective servo data recovery operation, and the uncertain error recovery operation, are performed during a normal re-read operation, which can be turned of by a customer, as will be understood by those skilled in the art. 
     It should be understood that the present invention is not limited to the specific values given herein. Such values have been provided for illustrative purposes only. 
     The present invention may be implemented in the firmware of the controller, in software, or any other convenient place in the disk drive. In addition, the present invention may be implemented in a computer external to the disk drive. 
     While an effort has been made to describe some alternatives to the preferred embodiment, other alternatives will readily come to mind to those skilled in the art. Therefore, it should be understood that the invention may be embodied in other specific forms without departing from the spirit or central characteristics thereof. The present examples and embodiments, therefore, are to be considered in all respects as illustrative and not restrictive, and the invention is not intended to be limited to the details given herein.