Adaptive index reference position qualification

Method and apparatus for performing a seek operation to move a data transducing head from an initial track to a destination track on a rotatable recording surface. A servo control circuit operates to sweep the head across the recording surface. Servo data from an intermediary track are transduced to obtain a detected angular position value for the head with respect to the recording surface. When the detected angular position value differs from a predicted angular position value for the head, the servo control circuit initiates an index qualification routine at the conclusion of the seek. The qualification routine involves transducing the servo data from the destination track to verify the accuracy of the predicted angular position value. In this way, the effects of spurious (false) index signals obtained from the servo data transduced during the seek operation are minimized, and unnecessary reinitializations of the servo control circuit are avoided.

FIELD OF THE INVENTION

This invention relates generally to the field of digital data storage devices and more particularly, but not by way of limitation, to tracking and qualifying index servo data during a seek operation in a disc drive.

BACKGROUND

Disc drives are data storage devices used to store and retrieve digital user data in a fast and efficient manner. A typical disc drive stores such data on one or more rigid magnetic recording discs which are rotated at a constant high speed. An actuator controllably moves a corresponding number of data transducing heads to access data stored in tracks defined on the disc surfaces.

Servo data are written to the discs during disc drive manufacturing to define the tracks and to provide head positional information to a closed loop servo control circuit. The servo data are transduced and used by the servo control circuit during both seeking and track following operations.

The servo data include index data used to identify an index reference position on the disc surfaces. The index reference position corresponds to a “once-around” (i.e., zero degrees) angular reference for the discs. A typical servo control circuit tracks the angular position of the head by counting the number of servo fields encountered after each occurrence of the index reference position.

Because of track-to-track phase incoherence, a servo control circuit can misidentify the occurrence of the index reference position as the head is swept past the tracks during a high velocity seek operation. An index frame can be misdetected as a non-index frame, and vice versa. Such a false index detection can cause disorientation of the servo circuit (i.e., a loss of synchronization with the actual frame count), leading to uncertainty in the angular position of the head with respect to the disc.

Accordingly, there remains a continued need for improved approaches to maintaining an accurate indication of the angular location of a selected head during and after seek operations in a disc drive, and to eliminate unnecessary corrective actions (including full servo reinitialization operations) when spurious index servo signals are transduced during a seek.

SUMMARY OF THE INVENTION

As embodied herein and as claimed below, the present invention is generally directed to a method and apparatus for performing an index qualification routine during a seek operation.

In accordance with preferred embodiments, during a seek operation a servo control circuit operates to apply current to an actuator motor to sweep the head across the recording surface. Servo data from intermediary tracks between the initial track and the destination track are transduced to obtain detected angular position values for the head with respect to the recording surface.

When a particular detected angular position value differs from a corresponding predicted angular position value for the head, the servo control circuit declares an unsafe condition and initiates an index qualification routine at the conclusion of the seek. The qualification routine involves transducing the servo data from the destination track to verify the accuracy of the predicted angular position value.

The qualification routine serves to determine whether the servo control circuit actually lost synchronization with the disc, or whether spurious (false) index signals were obtained from the disc as the head was swept past the intermediary tracks during the high velocity seek operation. In this way, unnecessary and time consuming servo circuit reinitialization operations are avoided and data rate transfer performance is improved.

These and various other features and advantages which characterize the claimed invention will be apparent from a reading of the following detailed description and a review of the associated drawings.

DETAILED DESCRIPTION

FIG. 1shows a disc drive data storage device100of the type used to store and retrieve digital data. A base deck102cooperates with a top cover104(shown in partial cutaway) to form an environmentally controlled housing for the drive100.

A spindle motor106supported within the housing rotates a number of rigid magnetic recording discs108in a rotational direction109. An actuator110is provided adjacent the discs108and moves a corresponding number of heads112across the disc recording surfaces through application of current to an actuator coil114of a voice coil motor (VCM)116.

FIG. 2shows a portion of one of the discs108. Servo wedges118radially extend from the innermost to the outermost radii of the disc recording surfaces. The servo wedges118are written during disc drive manufacturing to define a number of concentric tracks120as shown in FIG.3. Each servo wedge118comprises a plurality of radially aligned servo data fields (S)122.

User data fields (sectors)124are defined in the areas between adjacent servo data fields120during a disc drive formatting operation. The sectors124store fixed-size blocks (such as 512 bytes) of user data from a host device. While the number of servo wedges118per disc will depend upon the configuration of a particular drive, it will be contemplated for purposes of the present discussion that each disc surface in the disc drive100has a total of 200 such wedges118. Thus, each selected head112will encounter a total of 200 servo fields over each full revolution of the associated disc108.

While servo data fields can take any number of desired forms, the exemplary format ofFIG. 3includes an automatic gain control (AGC) field126, a synchronization (sync) field128, a Gray code (GC) field130, an index field132and a position field134. The AGC field126provides an oscillating (2T) pattern that allows the proper gain characteristics to be set in preparation for receipt of the remaining servo data. The sync field128provides a particular bit sequence for timing detection. The GC field130provides a unique track address to indicate the radial position of the head112.

The index field132indicates the angular position of the head112, and the position field134provides intra-track positioning data. Other configurations for the servo data field122, including a different ordering of these respective fields, are readily envisioned.

The index field132is preferably provided with one of two different (binary) magnetically stored patterns: a “non-index” pattern which corresponds to a logical zero (0), and an “index” pattern which corresponds to a logical one (1).FIG. 4provides a graphical representation of one exemplary set of readback signals obtained from such binary index patterns, plotted against an elapsed time x-axis136and a readback signal amplitude y-axis138.

A logical 1 pattern is written using a positive magnetic flux transition followed by a negative magnetic flux transition (i.e., a di-bit pattern), thereby providing a readback pattern such as generally shown at140. A logical 0 pattern is indicated by an absence of any magnetic flux transitions, resulting in a baseline readback signal as generally shown at142.

FIG. 5provides a graphical representation of another exemplary set of readback signals plotted against an elapsed time x-axis144and an amplitude y-axis146. Readback signals for the logical 0 and logical 1 patterns are respectively shown at148,150. Both signals include one-half cycle (180°) delays (denoted as timing marks T1, T2), with the number of cycles between the T1and T2marks being different for the respective signals. Other index mark configurations are readily contemplated.

Preferably, all of the index fields132in one selected servo wedge118(FIG. 2) from each disc surface are selected to store the logical 1 pattern, and the remaining index fields132in the remaining wedges118store the corresponding logical 0 pattern. In this way, the servo fields122with the logical 1 pattern are identified as corresponding to the index reference position (i.e., zero degrees), as indicated in FIG.2. All of the tracks on a given disc surface thus share the same index reference position.

Drives having multiple disc surfaces may or may not orient the servo wedges118(FIG. 2) from each disc surface in a common vertical (angular) alignment. That is, the index reference position for a first selected disc surface may not necessarily correspond to the index reference position for a second disc surface within a disc stack. Nevertheless, even if the servo wedges118are staggered slightly from one disc surface to the next, the index reference positions for all of the disc surfaces will generally be in the same angular vicinity within the disc stack.

FIG. 6provides a functional block diagram of communication and control electronics of the disc drive100of FIG.1. Interface (I/F) hardware152provides a communication port with the host device and includes a data buffer, error correction code (ECC) circuitry, and a sequencer (disc manager). Overall disc drive control is provided by a top level controller154with associated memory156. The controller operates in accordance with a selected industry standard host communications protocol, such as SCSI (small computer system interface).

A read/write application specific integrated circuit (R/W ASIC)158includes read and write channel circuitry to provide the requisite encoding for data to be written to the discs108, and the requisite signal processing to decode transduced readback signals from the selected head112. Such readback signals first undergo preamplification by a preamplifier/driver circuit (preamp)160mounted to the side of the actuator110(FIG.1). Preferably, the R/W ASIC is a purchased component commercially available from a number of sources such as Marvel Technology, Inc.

The R/W ASIC158includes servo demodulation capabilities that enable the device to detect and output the servo data from the servo fields122to a digital ASIC162. The servo data are provided along serial data lines164and a clock signal is provided via clock line166. The digital ASIC162conditions the servo data by detecting the various different types of servo data (Gray code, position field data, etc.) and arranging the data into multi-bit form (e.g., 16-bits).

The conditioned servo data are loaded into registers168for retrieval by a servo ARM (advanced RISC (reduced instruction set computer) machine) device170. The ARM device170is a servo processor which operates in accordance with programming in ARM memory172and instructions from the controller154. The ARM device170outputs coil current commands via path174to a coil driver (not shown) which in turn applies the appropriate current to the actuator coil114(FIG. 1) to position the selected head as desired across the surface of the associated disc108.

The digital ASIC162includes a hardware manager176. The hardware manager176provides various timing control functions including tracking the number of servo data fields122that have passed the head112since the most recent index reference position. In this way, the hardware manager176provides a continual indication to the ARM device170of the angular position of the selected head112. The hardware manager176is preferably configured to account for changes in the index reference position between disc surfaces (if any) when a head switch is made from a first selected head to a second selected head.

For reference, the heads112, preamp160, demodulation portions of the R/W ASIC158, the digital ASIC162, the ARM device170, the coil driver and the coil114collectively form a closed loop servo control system (generally denoted at178).

The servo data from the servo data fields122are transduced and used by the servo control system178both during track following as well as during seek operations. By way of illustration,FIG. 7provides a graphical representation of a seek velocity curve180and a seek current curve182, representative of a velocity controlled seek operation carried out by the servo control system178to move a selected head112from an initial track to a destination track on the associated disc surface. The curves180,182are plotted against a position x-axis184and a common amplitude y-axis186. The position x-axis184is expressed in terms of “tracks to go” to the destination track (which is identified as “track 0”).

During the seek, a relatively large amount of current is applied to the coil114(as shown at188) to cause a rapid acceleration of the head112(portion190) away from the initial track (position X1). The acceleration continues until the head112reaches a maximum velocity, VMAX (portion192). Once the maximum velocity is attained, the current drops to substantially zero amps (portion194) and the head112“coasts” at this velocity.

Once a deceleration point XD is reached, a relatively large amount of braking current (portion196) is applied having a direction opposite that of the initial acceleration current188. The braking current196nominally causes the velocity of the head to follow a selected deceleration profile (portion198). The deceleration profile198is selected to nominally cause the head112to reach and settle onto the destination track in a minimal amount of time.

The foregoing seek operation is carried out by determining the radial velocity of the head112and continually adjusting the amount of applied current to cause the velocity to follow the desired trajectory. This velocity is determined through the detection and decoding of the servo data on the intermediary tracks between the initial track and the destination track.

Although the head112reaches a relatively high velocity during the seek, the servo control system178is nominally able to decode the GC fields130to detect each track-crossing during the seek. The servo control system178further nominally decodes the index fields132to maintain an accurate count of the angular position of the head112.

While the foregoing seek methodology has been found operable, a number of factors including increased spindle motor speeds and increased data densities have made it generally more difficult to accurately detect the servo data while the heads112move past the tracks at a high velocity during a seek. Phase incoherence between adjacent tracks can lead to the misidentification of the index reference position as the head112is moved rapidly across the tracks. Such index misidentification events can cause a loss of synchronization between the servo control system178and the discs108.

Accordingly,FIG. 8provides a flow chart for a SEEK OPERATION routine200, illustrative of steps carried out in accordance with preferred embodiments of the present invention to move the selected head112from an initial track to a destination track. The steps of the routine200are generally representative of programming stored in ARM memory172and used by the ARM device170during high velocity seek operations.

As shown byFIG. 8, upon receipt of a seek command from the top level controller154, step202, the ARM device170operates to establish the requisite seek parameters to define the desired seek operation, step204. Such parameters include identification of the destination track, the desired head to be selected (if a head change is required), the number of tracks to go to the destination track, the calculated velocity profile, etc.

The ARM device170initiates the seek at step206by outputting the appropriate current command values to the coil driver (via path174) to initiate the acceleration of the selected head112in the desired direction toward the destination track. The ARM device170uses the servo data transduced from intermediate tracks (at the sample rate of the demodulation circuitry) to count down the tracks remaining in the seek and to ascertain the actual velocity of the head112. The ARM device170attempts to maintain an accurate indication of both the radial position and the angular position of the head112with respect to the disc108during the seek.

Decision step208inquires whether a Gray code (GC) error event occurs as the servo data samples are decoded; that is, whether the demodulated GC indicates the head112is somewhere other than where it should be at different times during the seek. It will be noted that such an error can arise when the GC is misdetected (so that the head112is actually where it should be located). However, such an error can also arise when the GC is correctly detected but a system error has caused the head to wind up somewhere other than where it should be during the seek.

By way of example, if a particular seek is performed to move the head112from track1001to track2000, periodic servo data samples should show the head successively progressing toward the destination track. If a particular GC sample shows the head to be over track2500(which is beyond the destination track), the ARM device170can decide to ignore this one sample and instead rely on an observer module of the ARM programming to provide an estimate of radial position for that particular sample.

However, if subsequent samples also indicate the head to be actually near track2500(or the samples in general cannot be reliably decoded), the seek will be aborted as shown by step210. The ARM device170will preferably apply a braking current to the actuator110to decelerate the head to a stop, determine which track the head112landed upon, and try again by initiating a new seek to the destination track from the track upon which the head landed.

When the R/W ASIC158is able to correctly demodulate the GC fields132and thereby maintain an accurate determination of the correct radial location of the head112, the routine ofFIG. 8continues with another inquiry at step212, namely whether an index misdetection has occurred. In other words, step212determines whether a possible loss of angular location tracking has occurred during the seek.

An index misdetection will generally arise if the demodulation circuitry of the R/W ASIC158identifies a non-index pattern as an index pattern, or identifies an index pattern as a non-index pattern. In either case, a particular bit or bits in the registers168will be set to reflect occurrence of a new index. This will generally conflict with the ongoing count by the hardware manager176based on the second most recent index indication. Thus, the index register168and the hardware manager176will disagree as to the occurrence of the most recent index reference position.

The ARM device170will accordingly declare the system178to be in an unsafe condition, as indicated by step214, but will otherwise continue with the seek to the destination track, as indicated by decision step216. This can occur so long as the servo system178maintains an accurate determination of the radial position of the head112.

Once the head112reaches the destination track, the routine passes to step218where an on track servo qualification step takes place. Preferably, the servo qualification comprises the successful transducing of the servo data from a selected number of servo fields122on the destination track with the head112.

For example, if the access command that brought about the seek operation is a read operation (i.e., the head112has been moved to the destination track to read data from one or more sectors124), then the servo qualification step218will preferably be deemed successful when three successive position fields134on the destination track show the head112to be within the read fault tolerance specified for that track (e.g., ±20% of the track width from track center).

If the access command associated with the seek is a write operation, the servo qualification step218will preferably be deemed successful when five successive position fields134indicate the head112to be within the write fault tolerance specified for that track (e.g., ±15% of track width about track center).

Once the servo qualification step218is successfully completed, the routine passes to decision step220to determine whether the ARM device170declared an unsafe condition during the seek (i.e., whether UC=YES). If not, the ARM device170will provides a report to the controller154that the head112is on the destination track, step222, and the seek routine ends at step224. At this point the controller154coordinates the transfer of data with the associated sectors124on the destination track and selects the next access command to be executed. When a new access command is selected that requires a seek to a new destination track, the routine200is once again initiated.

Referring again to decision step220, at such times that an unsafe condition has been declared, the routine ofFIG. 8passes to a subsequent index qualification step226. As discussed below, the index qualification step226is performed to verify whether the hardware manager176is correctly synchronized with the disc108.

If the qualification step is successful, as indicated by decision step228the routine passes to the on track report step222and the process ends as before. On the other hand, if the qualification step fails, the routine passes to a demodulation resynchronization step230(“demod resync”).

The demod resync step230comprises a full resynchronization of the demodulation hardware and preferably includes declaration of an error condition to the controller154, movement of the beads118to a known position (such as over landing zones at the innermost diameters of the discs108), electrical reinitialization of the R/W ASIC158and the digital ASIC160, and then controlled movement of the heads118to a second known starting position over a selected data track to acquire radial and angular positions of the head. The seek command is then reinitiated from the second known starting position.

Other reinitialization sequences are envisioned, but it will be recognized that all such sequences will typically take a substantial amount of elapsed time (such as on the order of 900 milliseconds). It is therefore desirable to only perform such full reinitialization sequences when absolutely necessary; that is, when the demodulation hardware has in fact lost synchronization with the discs108.

FIG. 9provides a generalized flow chart for the index qualification step226of FIG.8. To better understand the flow ofFIG. 9, it will be helpful to first briefly discuss the several possible outcomes that can occur during the index qualification process. These are listed in Table 1. It will be understood that the probability of each outcome is not the same, so that some of the listed outcomes will only likely occur on a relatively rare basis while others are likely to occur more frequently.

The different outcomes represented in Table 1 represent different actual conditions of the drive100: the hardware manager176is actually synchronized with the disc108or it is not; errors in the decoding of the index patterns do in fact occur or do not occur during the index qualification process. Because the ARM device170can only observe the existing count of the hardware manager176and observe the occurrence of index patterns at various times, the ARM device170attempts to deduce the actual state of the drive100and apply corrective actions accordingly.

The first possible condition is that the hardware manager176has correctly maintained proper synchronization with the disc108during the seek, and no errors occur during the subsequent transducing of the servo data from the destination track during the index qualification step. In this case it is contemplated that the index patterns subsequently detected from the destination track will indicate the index reference position to be exactly where the hardware manager176predicted it would be located.

Accordingly, after a statistically significant number of index patterns have been correctly detected in the right place on the destination track, the ARM device170will safely conclude that the misdetected index pattern(s) during the seek were spurious signals. The ARM device170can therefore release control to the controller154with a high degree of confidence that the hardware manager176is correctly synchronized with the disc108.

The second possible outcome during the index qualification step226listed in Table 1 is that the hardware manager176has maintained proper synchronization with the disc108, but errors are observed in the transduced index patterns once the head112reaches the destination track; that is, index patterns are identified at locations other than expected, or index patterns are not identified at the expected index reference position as the head112is maintained on the destination track. Such errors can be due to a number of factors, including anomalous conditions associated with the disc surface.

If the errors are nonrepeatable and go away after the head112remains on the destination track for an additional number of revolutions, and the index patterns thereafter are correctly identified at locations corresponding to what is estimated by the hardware manager176, then the ARM device170can discount the errors as spurious signals and proceed as described above.

If the errors are repeatable, however, then the ARM device170is not in a position to determine whether errors exist in the transduced index signals or whether the hardware manager176is out of sync with the disc. However, instead of aborting the index qualification step at this point and proceeding with the full reinitialization process of step230(FIG.8), the head118is preferably moved to a second, adjacent track to determine whether the index reference pattern on the second track can be properly detected and determined to match the count of the hardware manager176.

If the hardware manager176is found to correctly match the detected index pattern from the second track, a hard erroneous index condition can be declared for the destination track and the disc drive100can take remedial steps with regard to the destination track (reallocate the data on the destination track, etc.). It will be noted that if a hard erroneous index condition in fact exists with the destination track, a full reinitialization of the hardware (step230) will not cure this defect.

Thus, the index qualification step226ofFIG. 9begins with a prediction of the angular location of the index reference position using the ongoing count of the hardware manager176, as indicated by step232. The servo circuit178causes the head118to continue following the destination track while decoding the servo data from the servo data fields122in an attempt to detect the actual index reference position, step234.

If the servo index data match that predicted by the hardware manager176, as indicated by decision step236, the index qualification process is deemed to be successful, step238, and the process returns at step240. On the other hand, if the servo index data do not match that predicted by the hardware manager176, the head118is moved to a second track at step242.

The second track is preferably selected as a track adjacent to the destination track (such as, for example, the next track in a direction toward the innermost diameter of the disc108). A position controlled seek is preferably carried out using the servo position data (field134,FIG. 3) to quickly advance the head118to the second track. The hardware manager176continues the ongoing counting of servo fields122at this time and maintains a prediction of the location of the next index reference position.

Once on the second track, the servo circuit178again monitors the servo data in an attempt to detect the actual index reference position, step244. If the detected index reference position is found to match that predicted by the hardware manager176, decision step246, an error is declared with the servo index data on the destination track, step248. This error is resolved by subsequently deallocating the existing data from the destination track (so that the destination track is not accessed in the future), or by noting the error for future reference so that the hardware manager count is used (and the servo index data are ignored) to track angular position during future accesses to the destination track.

The head118is next advanced back to the destination track at step250, the index qualification process is deemed successful at step238and the routine returns as before at step240.

Returning to decision step246, when the index reference position from the servo index data of the second track also indicates a mismatch from the hardware manager176, it is likely that the hardware manager encountered an error during operation and is no longer synchronized with the disc108. The routine thus passes to step252, the index qualification process is deemed unsuccessful, and the routine returns at step240so that the full reinitialization of the demod resync step230can be carried out.

It will now be understood that the present invention (as embodied herein and as claimed below) is generally directed to an apparatus and method for performing a seek operation in a data storage device (such as the disc drive100).

In accordance with preferred embodiments, the seek operation is carried out by a servo control circuit (such as178) to move a data transducing head (such as118) from an initial track to a destination track on a rotatable recording surface (such as108), and includes transducing servo data from an intermediary track between the initial track and the destination track as the head sweeps across the recording surface to obtain a detected angular position value for the head with respect to the recording surface (such as by steps206,212); declaring an unsafe condition when the detected angular position value differs from a predicted angular position value for the head (such as by step214); and performing an index qualification routine after the head reaches the destination track to verify accuracy of the predicted angular position value (such as by step226).

The predicted angular position value is preferably determined by an angular position prediction circuit (such as176), and the method further preferably includes reinitializing the angular position prediction circuit when the index qualification routine determines that the predicted angular position value for the head is inaccurate (such as by step230).

The index qualification routine further preferably comprises estimating a location of an index reference position on the destination track (such as by step232); transducing servo data on the destination track in an attempt to detect the index reference position (such as by step234) and verifying the accuracy of the predicted angular position value for the head when the estimated location of the index reference position corresponds to the detected location of the index reference position (such as by steps236,238).

The index qualification routine further preferably comprises moving the head to a second track adjacent the destination track when the estimated location of the index reference position fails to correspond to the detected location of the index reference position from the servo data transduced from the destination track (such as by step242); transducing servo data on the second track in an attempt to detect the index reference position (such as by step244); and verifying the accuracy of the predicted angular position value for the head when the estimated location of the index reference position corresponds to the detected location of the index reference position on the second track (such as by step246).

The method further preferably comprises declaring an error condition associated with the servo data on the destination track when the estimated location of the index reference position corresponds to the detected location of the index reference position on the second track (such as by step248).

It will be clear that the present invention is well adapted to attain the ends and advantages mentioned as well as those inherent therein. While presently preferred embodiments have been described for purposes of this disclosure, numerous changes may be made which will readily suggest themselves to those skilled in the art and which are encompassed in the appended claims.