Disk drives comprise a disk and a head connected to a distal end of an actuator arm which is rotated about a pivot by a voice coil motor (VCM) to position the head radially over the disk. The disk comprises a plurality of radially spaced, concentric tracks for recording user data sectors and servo sectors. The servo sectors comprise head positioning information (e.g., a track address) which is read by the head and processed by a servo control system to control the actuator arm as it seeks from track to track.
While the disk drive is centerline tracking a data track during write/read operations, there may be repeatable disturbances induced in the servo control system, such as a repeatable runout (RRO) due to an eccentricity of the servo tracks. There may also be a repeatable disturbance due to a “written-in error” of the servo sectors. The RRO and “written-in error” may be considered fixed disturbances that remain substantially constant over the life of the disk drive. There may also be a variable repeatable disturbance affecting the servo control system due, for example, to degradation of the spindle motor over the life of the disk drive, or changes in the operating environment such as external vibrations affecting the disk drive. When the disturbance is repeatable, compensation values may be learned and then applied to the servo control system as each servo sector is processed, thereby reducing the undesirable effect of the repeatable disturbance.
In the embodiment of
In one embodiment, the compensation values are learned for each servo track during a calibration procedure, for example, after servo writing each disk surface. After learning the compensation values for a current servo track, the compensation values may be written after each servo sector as illustrated in
In an embodiment described below, the compensation values may be updated as the PES is generated for each servo sector until a stopping criterion has been met. A benefit of this embodiment is that the compensation values are generated and applied in the servo control system in real time so that when the stopping criterion has been met, the compensation values are immediately available for writing to the disk. Another benefit of this embodiment is that the compensation values are updated on a servo sector basis rather than on a revolution basis which means the stopping criterion may be met within a partial revolution of the disk while still updating all of the compensation values for each PES generated. In this manner, the time needed to learn the compensation values for each servo track is minimized, thereby significantly reducing the execution time of the manufacturing procedure.
In another embodiment, the compensation values that compensate for a repeatable disturbance may be computed on-the-fly during access operations of the disk drive. For example, after seeking the head to a target servo track the compensation values may be learned and/or updated on-the-fly as each servo sector is read prior to, or while accessing a data track. In one embodiment, updating the compensation values may improve the tracking performance when attempting retry operations for failed reads. That is, if a read operation fails while attempting to access a data track, updating the compensation values may improve the tracking performance of the servo control system during retry reads of the same data track.
In one embodiment, the compensation values may be used to cancel the repeatable disturbance from the measured position of the head (the PES) so that the head's trajectory is essentially unaffected by the repeatable disturbance. For example, when the repeatable disturbance comprises a repeatable runout (RRO), the fundamental and lower order harmonics of the RRO may be followed using feed-forward compensation, while the higher order harmonics may be canceled from the measured position of the head (the PES) so that the head's trajectory is unaffected by the higher order harmonics.
where C represents a controller 52 and P represents the plant 54 (the head actuator). The compensation values 50 that will cancel the effect of the repeatable disturbance on the measured position of the head 48 may therefore be generated based on:
PES·G
where G is the inverse of the error rejection curve. Accordingly, in the time domain the compensation values 50 may be generated by convolving the PES measurements with the impulse response of G 56. In an embodiment described below, a single term of each correlation in this convolution can be computed for the PES generated at each servo sector, and this single term of each correlation may be used to update the compensation value for all of the servo sectors. This is illustrated in
In one embodiment, the compensation values 50 may be adapted so as to cancel the effect of the disturbance 46 on the measured position of the head 48 (the PES) which is understood by transforming the servo control system of
where the stability condition for the above equation is:
0<α<2.
As described above, the time domain compensation value 50 for a particular servo sector may be generated by convolving the PES generated for all of the servo sectors in a revolution with the impulse response of G 56. Accordingly, when the head reaches servo sector i=0, the corresponding convolution term for updating the corresponding compensation value may be computed as:
where PES(i) represents the PES generated at each servo sector over the previous revolution of the disk, and gj represents the corresponding values of the impulse response of G 56. When the head reaches the next servo sector i=1, the corresponding convolution term for updating the corresponding compensation value may be computed as:
and so on for each servo sector. In one embodiment, instead of waiting to collect a full revolution of the PES for all of the servo sectors in order to update the compensation value for a single servo sector as described above, the single term in the correlation for all servo sectors is computed for all the servo sectors as each PES is generated for each servo sector. This single term in each correlation may then be used to update the corresponding compensation values for each servo sector (i.e., a single term in the above correlation summation is used to update each compensation value).
The above process for updating the compensation values as each PES is generated for each servo sector is represented mathematically in the equation of
w0+=α(a)·PES(a)·g(mod(M−a,M))
where g(mod(M−a,M)) represents the corresponding value of the impulse response of G 56. A similar update is applied to all of the compensation values for each of the servo sectors based on the PES generated for servo sector i=a and as computed according to the equation of
The equation of
In one embodiment, updating the compensation values 50 based on
The variance of the PES (PES_VAR) may be updated in any suitable manner at block 74 of
PES_VAR+=pes[i]·pes[i]−PesSaved[i]·PesSaved[i];
PesSaved[i]=pes[i].
In the above update equation, a PesSaved[ ] array saves the most recent PES generated for each servo sector. In one embodiment, the PesSaved[ ] array is initialized to zero so that PES_VAR will be generated initially by summing the square of the PES generated at each servo sector over the first revolution of the disk. The PES_VAR is then updated by adding the square of the current PES minus the square of the previous PES generated for each servo sector. As the compensation values converge, the PES will decrease causing the PES_VAR to decrease until it falls below the threshold at block 76.
Referring to block 78 of
In one embodiment, the flow diagram of
Any suitable control circuitry may be employed to implement the flow diagrams in the above embodiments, such as any suitable integrated circuit or circuits. For example, the control circuitry may be implemented within a read channel integrated circuit, or in a component separate from the read channel, such as a disk controller, or certain operations described above may be performed by a read channel and others by a disk controller. In one embodiment, the read channel and disk controller are implemented as separate integrated circuits, and in an alternative embodiment they are fabricated into a single integrated circuit or system on a chip (SOC). In addition, the control circuitry may include a suitable preamp circuit implemented as a separate integrated circuit, integrated into the read channel or disk controller circuit, or integrated into a SOC.
In one embodiment, the control circuitry comprises a microprocessor executing instructions, the instructions being operable to cause the microprocessor to perform the flow diagrams described herein. The instructions may be stored in any computer-readable medium. In one embodiment, they may be stored on a non-volatile semiconductor memory external to the microprocessor, or integrated with the microprocessor in a SOC. In another embodiment, the instructions are stored on the disk and read into a volatile semiconductor memory when the disk drive is powered on. In yet another embodiment, the control circuitry comprises suitable logic circuitry, such as state machine circuitry.
The various features and processes described above may be used independently of one another, or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. In addition, certain method, event or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate. For example, described tasks or events may be performed in an order other than that specifically disclosed, or multiple may be combined in a single block or state. The example tasks or events may be performed in serial, in parallel, or in some other manner. Tasks or events may be added to or removed from the disclosed example embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged compared to the disclosed example embodiments.
While certain example embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions disclosed herein. Thus, nothing in the foregoing description is intended to imply that any particular feature, characteristic, step, module, or block is necessary or indispensable. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the inventions disclosed herein.
Number | Name | Date | Kind |
---|---|---|---|
5949605 | Lee et al. | Sep 1999 | A |
6069764 | Morris et al. | May 2000 | A |
6141175 | Nazarian et al. | Oct 2000 | A |
6310742 | Nazarian et al. | Oct 2001 | B1 |
6437936 | Chen et al. | Aug 2002 | B1 |
6449116 | Morris et al. | Sep 2002 | B2 |
6519108 | Au et al. | Feb 2003 | B2 |
6549362 | Melrose et al. | Apr 2003 | B1 |
6556371 | Ottesen et al. | Apr 2003 | B1 |
6563663 | Bi et al. | May 2003 | B1 |
6587302 | Ahn | Jul 2003 | B2 |
6650499 | Kusumoto | Nov 2003 | B1 |
6678108 | Smith et al. | Jan 2004 | B2 |
6826006 | Melkote et al. | Nov 2004 | B1 |
6898047 | Shishida et al. | May 2005 | B2 |
6924959 | Melkote et al. | Aug 2005 | B1 |
6937420 | McNab et al. | Aug 2005 | B1 |
6937424 | Chang et al. | Aug 2005 | B2 |
6975480 | Codilian et al. | Dec 2005 | B1 |
6999267 | Melkote et al. | Feb 2006 | B1 |
7046477 | Shibata | May 2006 | B2 |
7088547 | Wang et al. | Aug 2006 | B1 |
7106547 | Hargarten et al. | Sep 2006 | B1 |
7139149 | Sun et al. | Nov 2006 | B1 |
7196864 | Yi et al. | Mar 2007 | B1 |
7304819 | Melkote et al. | Dec 2007 | B1 |
7423834 | Sun et al. | Sep 2008 | B1 |
7450336 | Wang et al. | Nov 2008 | B1 |
7576941 | Chen et al. | Aug 2009 | B1 |
7583470 | Chen et al. | Sep 2009 | B1 |
7764459 | Cho | Jul 2010 | B2 |
7894156 | Ehrlich et al. | Feb 2011 | B2 |
7940487 | Krishnan et al. | May 2011 | B1 |
20030123180 | Settje et al. | Jul 2003 | A1 |
20040246619 | Zhang | Dec 2004 | A1 |
20070297088 | Sun et al. | Dec 2007 | A1 |
Entry |
---|
U.S. Appl. No. 60/782,909, filed Mar. 15, 2006, 5 pages. |