1. Field of the Invention
The present invention relates to a method for correcting a non-linear position error signal function used to position a head relative to a disk of a hard disk drive.
2. Background Information
Hard disk drives contain a plurality of magnetic heads that are coupled to rotating disks. The heads can magnetize and sense the magnetic fields of the disk to write and read data, respectively. The heads are coupled to a pivoting actuator arm that has a voice coil motor.
Data is typically stored on tracks that extend radially across the disk surfaces. The voice coil motor can be energized to pivot the actuator arm and move the heads to different track locations. Each track is typically divided into a number of sectors. Each sector contains at least one data field.
Each track may also contain a plurality of servo fields. Each servo field may contain a number of servo bits that are read by the heads to determine the head position relative to the center of the track. It is desirable to center the head relative to the track when writing and/or reading data.
Most hard disk drives contain a servo loop that utilizes the servo bits to generate a position error signal (PES). The PES is used in the servo loop to move the head to a desired position relative to the track centerline. The PES is ideally a linear function of the actual displacement between the head and the center of the track. It has been found that magneto-resistive (MR) heads will generate a non-linear PES function. Consequently, the PES does not truly represent the actual displacement of the head relative to the track.
A hard disk drive with a memory that contains a plurality of integrated gain compensation values. The integrated gain compensation values are used to position a head relative to a disk of the drive.
Disclosed is a hard disk drive that utilizes a plurality of integrated gain compensation values to correct a non-linear position error signal (PES) function of the drive. The gain compensation values are generated, integrated and stored during an initial burn-in process of the drive. The PES is used in a servo loop to position a head relative to a track of a disk. The PES may have a non-linear function so that the signal does not correlate with the actual position of the head. The integrated gain compensation values are used to correct the non-linear function so that the PES more accurately reflects the position of the head relative to the track.
Referring to the drawings more particularly by reference numbers,
The disk drive 10 may include a plurality of heads 20 located adjacent to the disks 12. Each head 20 may have separate write (not shown) and read elements (not shown). The heads 20 are gimbal mounted to a flexure arm 26 as part of a head gimbal assembly (HGA). The flexure arms 26 are attached to an actuator arm 28 that is pivotally mounted to the base plate 16 by a bearing assembly 30. A voice coil 32 is attached to the actuator arm 28. The voice coil 32 is coupled to a magnet assembly 34 to create a voice coil motor (VCM) 36. Providing a current to the voice coil 32 will create a torque that swings the actuator arm 28 and moves the heads 20 across the disks 12.
The hard disk drive 10 may include a printed circuit board assembly 38 that includes a plurality of integrated circuits 40 coupled to a printed circuit board 42. The printed circuit board 40 is coupled to the voice coil 32, heads 20 and spindle motor 14 by wires (not shown).
The read/write channel circuit 58 is connected to a controller 64 through read and write channels 66 and 68, respectively, and read and write gates 70 and 72, respectively. The read gate 70 is enabled when data is to be read from the disks 12. The write gate 72 is to be enabled when writing data to the disks 12. The controller 64 may be a digital signal processor that operates in accordance with a firmware and/or software routine, including a routine(s) to write and read data from the disks 12. The read/write channel circuit 58 and controller 64 may also be connected to a motor control circuit 74 which controls the voice coil motor 36 and spindle motor 14 of the disk drive 10. The controller 64 may be connected to a non-volatile memory device 76. By way of example, the device 76 may be a read only memory (“ROM”). The non-volatile memory 76 may contain the firmware and/or software performed by the controller 64.
The controller 64 energizes the voice coil motor 36 and move the heads 20 in accordance with a servo loop. The servo loop includes reading a servo field(s) of a disk 12 and generating a position error signal. The servo loop will also include a gain block that compensates for open loop gain variations relative to the radial location of the heads 20 relative to the disk 12. The gain block has a gain that varies as a function of the radial position of the heads. This is known as the gain function g(x). The variation in gain is compensated by gain compensation values. The gain compensation values are actually the inverse of the gain. The gain compensation values are therefore 1/g(x). The use and design of open loop servo gain blocks are known in the art.
As shown in
Another approach is to correlate the inverse PES function with an integration of the gain compensation values from the serve gain block. This approach is based on an assumption that the gain function g(x) is approximately equal to the derivative of the PES function f(x). A plot of the actual derivative of f(x) and a numerical derivative of g(x) by a perturbation method is shown in
Unfortunately, the perturbation method actually produces a function h(x) that is approximately equal to g(f−1(x)).
Assume f(x) and f−1(x) are differentiable.
Assume there exists positive constants m and M such that:
m≦f′(x)≦M (1)
By definition:
f(f−1(x))=x (2)
differentiating both sides yields;
(f−1)′(x)f′(f−1(x))=1 (3)
which can be rearranged as:
integrating both sides yields:
Thus the inverse correction function can be determined by integrating the gain compensation values. A correction value for any given point x can be generated by summing the gain compensation values for position 0 through x. An example, of a corrected PES function is shown in
The compensation values are generated from the gain block of the servo loop performed by the controller. In block 102 a table may be generated that contains an integration value for each head position of the drive. The integration values are the integrals for the gain compensation values generated for each position from position 0 to position x.
By way of example, if the head position is 5, then the integrated gain compensation value would be the sum of the gain compensation values generated in block 100 for positions 0, 1, 2, 3, 4 and 5. A different integrated gain compensation value is generated for each head position. Blocks 100 and 102 may occur simultaneously or in an otherwise time overlapping manner. For example, the integrated values may be calculated while the gain compensation values are being generated.
The integrated gain compensation value table is stored in memory in block 104. The table may be stored in memory 76, or on a disk 12. When the disk drive is operating the controller can read the table to obtain an integrated compensation value that is used to correct the PES for each head position in block 106. By way of example, the PES can be multiplied with the integrated gain compensation value.
While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art.