Method of controlling seek movements by a magnetic head in a hard disk drive

Abstract: The present invention provides a method for controlling a seek movement by a magnetic head (28) to a selected track (19 to 24) on a rotating disk (12) of a hard disk drive, in which a servo system controls the seek movement in accordance with a comparison of actual head velocities and demand velocities of a stored velocity demand profile, characterised by assigning tracks on the disk to a plurality of concentric zones (110 to 118) on the disk, determining for each of the zones an adjustment value for use in the comparison for offsetting differences occurring between selected demand velocities and the corresponding actual head velocities, storing the adjustment values, and employing the adjustment values in the comparisons made during a seek movement.

Description: The present invention relates to a method for controlling seek movements by a magnetic head to a selected track on a rotating disk of a hard disk drive. A peripheral commonly used with a computer is a hard disk drive, in which data generated by the computer is stored on concentric tracks defined in magnetic coatings formed on metallic disks. The rigidity of the disks permits the data tracks to be closely spaced so that the hard disk drive is capable of storing large amounts of information. Because of this capacity, the hard disk drive is becoming increasingly popular with computer users. Data is written to or read from a selected track by read/write heads, which are supported by a pivotal actuator adjacent to disk stacks so that the heads can be moved across the disks by passing a current through a coil provided on the actuator remote from the heads and immersed in a magnetic field. In order to write data to a selected track of a disk, it is necessary to move an associated read/write head to the track selected and, similarly, to read data, it is necessary to move the read/write head to a track whereon such data has previously been stored. For these purposes, the hard disk drive is provided with a servo circuit that reads a servo pattern in the data tracks or on a dedicated servo disk surface and responds, in a seek mode of operation of the servo system, to control the movement to the track. Often, the servo pattern is used to generate a pattern error signal indicative of the location of the head which reads the pattern (referred to as the servo head) with respect to the centres of the tracks, the servo circuit differentiating the position error signals to obtain a signal proportional to the radial velocity of the servo head across the disk, and comparing the actual velocity of the servo head with velocities stored as a velocity demand profile in a look up table in a micro-processor. If the actual velocity at a given distance from the destination track is lower than the velocity taken from the velocity demand profile for that distance, a correction signal is generated and transmitted to a power amplifier which passes a current through the actuator coil in a direction that will tend to accelerate the head across the disk. Conversely, if the actual velocity of the servo head is greater than the demand velocity for a given servo head location, a current passed through the actuator coil will be in a direction to decelerate the servo head. By designing the velocity demand profile to demand large servo head velocities at large distances from a destination track and to demand steadily decreasing velocities as the servo head approaches the destination track, the servo head can be caused to have a large acceleration at the start of a seek operation and a deceleration near the end of the seek operation. Ideally, this will cause the head to arrive at the track with a velocity such that the head will rapidly settle on the track when the servo circuit undergoes a transition to a track following mode of operation, in which the servo head is maintained in alignment with the track by control signs generated in proportion to the position error signal, and the integral thereof, and transmitted to the power amplifier. In practice, this ideal has not hitherto been achieved. In particular, bias forces are exerted on the heads by air swirling about the disk surfaces and by electrical leads by means of which electrical connections are made to the heads, with the result that the acceleration and deceleration of the heads will not be proportional to the difference between the demand and actual velocities of the heads across the disk. Moreover, electronic offsets similarly affect the relationship between head acceleration and deceleration and the difference in actual and demand velocities. As a result, the heads do not follow the velocity demand profile and, accordingly, can arrive at the destination track with an excessive speed that causes over shoot of the track or with an insufficient speed that can cause the head to stall before reaching the track. In either case, time is consumed in settling the head on the track sufficiently that reading from or writing to the track can be commenced. The net result is a loss of throughput of the hard disk drive. That is, the average rate at which data can be stored or retrieved by the computer, with which the hard disk drive is used, is reduced. A second effect that results in the loss of throughput is bit crowding that occurs at inside tracks on the disk surface carrying the servo patterns. In many cases, it will be desirable to adjust the gain of the servo loop by providing an AGC circuit that responds to dibits of the servo pattern that are geometrically equivalent from one track to another so that, ideally, measurement of signals produced in the servo head by such dibits will provide a constant amplitude signal that can be used for AGC of the loop gain. In practice, however, geometrical equivalents of dibits of the servo pattern cannot be maintained because of the decreasing circumferences of the tracks from the edge of the disk towards the centre thereof. As a result, signals generated in the servo head as dibits of the servo pattern pass thereunder can superimpose to cause the amplitudes of the signals to differ from the amplitudes of the signals that will be produced by isolated servo pattern dibits. Moreover, because of the variation of track circumference with radius, the degree of superposition will vary from one track to another. The net result is that a loop gain that is appropriate from one track is not appropriate for other tracks. Thus, if an average loop gain is used for effecting a seek operation, the differentiated position error signals, to which signals corresponding to the demand velocities taken from the velocity demand profile are compared, will not be representative of the actual velocity of the servo head. Again, long settling times for the heads on a destination track can result in lower data throughput. EP-0272076 discloses a magnetic disc drive system which includes units which immediately upon receipt of a power supply and before receipt of a seek command, measure one or more position offset values along one or more cylinders on a magnetic disc by detecting the control current from a control current detection circuit when the position of the magnetic head is controlled under fine position control, and calculating one or more offset correction values and outputting the calculated offset correction values to the speed control unit and the position control unit. The magnetic disc drive system of EP-0272076 may further include an automatic speed control gain adjustment unit, which after completion of the offset correction value calculation, determines a speed control gain used in the speed control unit by seeking the magnetic head at a predetermined cylinder under application of the calculated offset values and measures a time for the seek which meets a requirement of a reference seek time. EP-0293809 discloses a control apparatus for controlling the positioning of a head in a recording/reproducing apparatus which comprises a carriage mechanism having a head, a switch for selecting one of a battery and a power source using commercial power source, a driving section for driving the carriage mechanism in accordance with incoming velocity difference data, by a current which comes from a power selected by the switch, a velocity difference detector for generating the velocity difference data on the basis of incoming target velocity data and current velocity data and for delivering the velocity difference data to the driving section, a current position detector, for detecting a current position of the head to produce current position data, a current velocity detector for generating the current velocity data from the current position data from the current position detector and a target velocity generator for generating the target velocity data on the basis of incoming target position data and the current position data from the current position detector and for delivering it to the velocity difference detector. The mode select signal is determined in association with the selection of the switch. US-4333117 discloses electronic circuitry for improving the speed and accuracy of shifting the magnetic heads of a disk memory from one track cylinder to another. Head velocity is measured by measuring the servo head transit time between adjacent tracks of the servo disk. A microprocessor controller in conjunction with preferred velocity profile data stored in a read only memory provides a control signal to the linear motor control causing the head arm velocity to follow the preferred velocity profile. It is an object of the present invention to solve the problems described above. In accordance with the present invention, there is provided a method for optimising seeks by a magnetic head to a selected track on a rotating disk of a hard disk drive having a servo system that effects the seeks in accordance with a comparison of the actual head velocities with demand velocities of a velocity demand profile, wherein the hard disk drive has a stored velocity demand profile, characterised by including the steps of: assigning each track on the disk to one of a plurality of concentric zones on the disk; for each zone on the disk determining a velocity increment that will cause the head to have the same actual velocity for both directions of movement of the head across the disk once that increment is added to a demand velocity selected from the stored velocity demand profile for movement of the head in one direction across the disk and subtracted from the same selected demand velocity for movement of the head in the opposite direction across the disk; storing the velocity increments; and thereafter effecting all seeks in said one direction to a track in a selected zone in accordance with a compensated velocity demand profile derived from the stored velocity demand profile by adding the velocity increment for that zone to selected portions of the stored velocity demand profile and effecting all seeks in said opposite direction in accordance with a compensated velocity demand profile derived from the stored velocity demand profile by subtracting the velocity increment for that zone from the same selected portions of the stored velocity demand profile. Thus, the present invention provides a method for adjusting the velocity demand profile adaptively so that the differentiated position error signals to which demand velocity signals are compared are representative of the actual velocity of the servo head near the destination track and the velocity demand profile takes the bias forces into account to provide an appropriate velocity demand profile to be compared with actual head velocities. In the method described below, the tracks on the surface whereon the servo pattern is written are assigned to a series of concentric zones and a loop gain is developed and stored for each of the zones to be used in making seek movements to tracks in such a zone. In particular, an average loop gain is first determined by programming a micro-processor to call for long sweeps back and forth along the disk as part of the start up procedure for the hard disk drive. The demand velocity for such sweeps is selected to be substantially the maximum speed for the servo head during a seek movement and the actual average speed, as determined by differentiating the position error signals, is measured by determining the time required for the head to cross a selected number of tracks. The average loop gain, expressed as an AGC reference level, is then selected so that the average velocity for such sweeps equals the maximum speed called for by the micro-processor. Thereafter, the servo head is moved to each zone in turn and low speed sweeps are made in opposite directions to determine an AGC correction that will cause the average of the actual velocities for two oppositely directed sweeps to be the same as the demand velocity called for to effect the sweeps. Again, the actual velocities are measured by measuring the time for the head to traverse a selected number of the tracks. The AGC corrections are then saved in the look up table and the average AGC level is adjusted, by adding the correction each time a seek movement is made to a track in the zone for which the direction is determined. For adjusting the velocity demand profile, in accordance with the present invention, as described below, the disk is again zoned, and low speed sweeps in opposite directions are made in each zone for a selected demand velocity taken from the velocity demand profile. During such sweeps, the actual head velocity is measured as described above. The demand velocities for such sweeps are then adjusted, by incrementing the demand velocity for movement in one direction and equally decrementing the demand velocity for movement in the other direction to obtain a velocity increment which, when added to the demand velocity profile during movement of the servo head in one direction and subtracted from such demand velocity profile during movement in the other direction, will cause equal actual velocities for the two directions. The velocity increments are stored in relation to the zones and, thereafter, each time a seek movement is made to a track in a selected zone, the seek is carried out with respect to a compensated velocity derived from the stored velocity demand profile by adding the velocity increment to at least portions of the stored profile for seek movements in one direction to tracks in the selected zone and subtracting the velocity increment from corresponding portions of the stored profile for seek movements in the opposite direction to a track in the selected zone. The present invention thus optimises the time for magnetic heads of a hard disk drive to settle on tracks of disks of the drive following seek movements to the tracks. Advantageously, the invention as described compensates for bias forces on the actuator of the hard disk drive and electronic offsets during seek movements to tracks on disks of the drive. Further, the invention as described advantageously compensates for forward gain variations due to such variation as torque constant non-linearities. The present invention will be described further, by way of example, with reference to the accompanying drawings, in which: Figure 1 is a schematic diagram of a servo circuit of a rotating disk data storage device, in which the method of the present invention may be used: Figure 2 is a graph of a velocity demand profile stored in a micro processor of the servo circuit of Figure 1: Figure 3 illustrates zoning of a servo surface of a disk of the rotating disk data storage device of Figure 1: Figure 4 is a graph of a compensated velocity demand profile for a zone near the outside edge of the disk: and Figure 5 is a graph of a compensated velocity demand profile for a zone near the spindle whereon the disk is mounted. The Servo System Figure 1 illustrates generally the construction of a typical servo circuit, designated by the numeral 10, for a rotating disk data storage device. As illustrated therein, the servo circuit 10 comprises a plurality of disks, only one of which is shown in Figure 1 and is designated by the numeral 12, that are co-axially mounted on a spindle 14 for rotation in the direction of an arrow 16. As is known in the art, the disk surfaces, such as the surface 18 of the disk 12, are provided with magnetised coatings so that information can be written along concentric tracks, such as the tracks 19, 20, 22 and 24 partially illustrated on the surface 18, by magnetising consecutive segments along the tracks in opposite directions using a conventional magnetic head 28 that receives an electrical current from a conventional read/write circuit (not shown). Thus, by varying the direction of the current as the disk 12 rotates, consecutive segments of a track are magnetised in opposite directions to record the information that is contained in the series of current reversals through the head 28. Subsequently, the information is read by detecting the magnetic reversals occurring along a selected track. For purposes of illustration, the surface 18 of the disk 12 is assumed to be a dedicated servo surface containing only servo information that is used by the servo circuit 10 in a seek mode of operation to move the head 28 from one track to another, and in a track following mode of operation to maintain the head 28 in radial alignment with a selected track. However, it will be clear to those skilled in the art that the present invention is not limited to the use of a dedicated servo surface for carrying out these operations. Thus, it is contemplated that the circuit 10 can be of the embedded servo type wherein servo information is interspersed with data that is stored on tracks of the disks. In keeping with the assumption that the surface 18 is a dedicated servo surface, information on the surface 18 of the disk 12 will take the form of a servo pattern comprising magnetised dibits that are positioned both radially and circumferentially to cause generation in the servo head 28 of signals representing both the radial and circumferential locations of the head with respect to the tracks as the disk 12 rotates. A suitable pattern of dibits and the manner in which the dibits are utilised to generate servo signals has been described in U.S. Patent No. 4,811,135, the teachings of which are incorporated herein by reference. The head 28 is supported adjacent the surface 18 of disk 12 by an arm 30 of an actuator 32 that is mounted on a spindle 34 so that pivoting of the actuator will cause radial movement of the head 28 across the disk 12. Such pivoting is effected by passing an electrical current through a coil 36 mounted on an end of the actuator 32 opposite an end carrying the head 28. Permanent magnets (not shown) are positioned about the coil 36 to immerse opposite sides of the coil 36 in oppositely directed magnetic fields, indicated by arrows 38 and 40, so that flow of a current through the coil 36 in one direction causes the head 28 to move radially outwardly while flow of a current through the coil 36 in the opposite direction causes the head 28 to move radially inwardly. Signals generated in the head 28 are transmitted to an AGC circuit 42, which comprises a variable amplifier 44 through which the signals are passed to a demodulator 46 which generates position error and track crossing signals used to position the head 28 as will be discussed below. In the present example, it is contemplated that the AGC circuit 42 is of a type wherein the gain of the amplifier 44 is varied by continuously comparing the maximum amplitude of the signal at the output of the amplifier 44 to a reference signal supplied by a micro-processor 48, via a latch 47 and D/A converter 49. Consistent with this AGC approach, the dibits written to the disk surface 18 include radially overlapping elements that form spokes 50 extending across all the tracks on the disk surface so that, in principle, pulses having the same amplitude for all tracks on the disk will be generated in the head 28 each time a spoke passes under the head 28 and, further, other pulses generated by the head 28 will have amplitudes no larger than the amplitudes of the signals generated by the spokes. In such an AGC circuit, a substantially constant signal for comparison with the AGC reference signal can be generated by a peak detector 52 connected to the output of the variable amplifier 44. The output of the peak detector 52 is connected to one input of a difference amplifier 54, the other input of which receives the reference signal from the microprocessor 48, and the output of the amplifier 54 is passed to a gain control terminal of the variable amplifier 44 via low pass filter 56 that removes AC components of the output signal from the amplifier 54. As described in the aforementioned U.S. Patent No. 4,811,135, the servo pattern shown therein, and illustrated in part on the surface 18, defines a fine control region about each track on the surface 18 extending from the mid point between such track and each of the tracks adjacent thereto. In this region, for each track, the demodulator 46 responds to signals received from the variable amplifier 44 by providing on a conducting path 58 a position error signal that has an amplitude proportional to the offset of the centre of the head 28 from the centre of the track associated with the region. The position error signal is measured from a servo ground VSER, which is held as a selected voltage level above a circuit ground established by the power supply (not shown) for the device 10 and which can conveniently be provided by a voltage regulator (not shown) connected across the power supply. Additionally, the demodulator 46 senses the timing of pulses generated in the head 28 by the passage of edges of the servo pattern on the disk surface 18 under the head 28, and provides the down going edge of a square pulse each time the head 28 passes from a fine control region about one track to the fine control region about an adjacent track. (The geometry of the pattern that will result in the appropriate timing has been shown in the aforementioned U.S. Patent No. 4,811,135). These pulses, referred to herein as track crossing signals, are provided on a conducting path 62 to a clock terminal of a counter 60 included in the micro-processor 48 so that, during a seek operation, the number of tracks remaining to completion of the seek operation may be continuously maintained in the counter 60, by entering the binary complement of the number of tracks the head is to be moved and subsequently clocking the counter 60 with the track crossing signals. The direction of movement is determined in a manner that will become clear below. The position error signal is transmitted to a proportioning integrating controller 64 whose output constitutes one component, proportional to both the position error signal and the integral thereof, of a correction signal supplied to a summing amplifier 66 during operation of the servo circuit 10 in the track following mode. An electronic switch 68, controlled by the micro-processor 48 is closed during such operation, and for a reason to become clear below, opened during a seek operation from one track to another. The position error signal from the demodulator 46 is also transmitted to a differentiator 70, which continually provides a signal, corresponding to the actual radial velocity of the head 28 across the surface 18, to the summing amplifier 66 to modify the basic proportioning control scheme of operation of the circuit 10 during track following and to effect seek operations from one track to another in a manner to be described below. In addition to the signals received from the controller 64 and differentiator 70, the summing amplifier 66 receives a velocity demand signal, utilised in effecting a seek operation, from the micro-processor 48 via a latch 72 and a D/A converter 74. The velocity demand signal is received at a resistor 76 and, additionally, at an electronic switch 78 and series resistor 80, in parallel with the resistor 76, so that the gain of the summing amplifier 66, with respect to the velocity demand signal, can be varied by opening the switch 78, for low gain, or closing the switch 78, for high gain, in response to a signal provided by the micro-processor 48. The summing amplifier 66 comprises an operational amplifier 82 having a feedback resistor 84 connected between the output of the operational amplifier 82 and the inverting input thereof in order, in combination with the resistors 76 and 80 and resistors 86 and 87, to fix the gains of the signals received by the amplifier 66. The non-inverting input of the operational amplifier 82 is connected to the servo ground. The output of the summing amplifier 66 is provided to the input of a transconductance power amplifier 88, which drives a current through the coil 36 of the actuator 32 in proportion to the output signal received from the summing amplifier 66. In addition, the circuit 10 comprises a comparator 90 that receives the servo ground at its non-inverting input and the signal from the D/A converter 74 at its inverting input, to permit measurement of the servo ground as part of the start up routine of the data storage device containing the servo circuit 10. To this end, the micro-processor is programmed to output, during start up, a succession of digitally expressed numbers that correspond to different velocities to be demanded of the head 28 during a seek operation, and to monitor the output of the comparator 90 on a conducting path 92. The D/A converter 74 converts these numbers, referred to hereinafter as D/A values, to electrical signals having voltages, with respect to the system ground, proportional to the number in the latch 72. The voltage level of the servo ground is selected so that a digitally expressed number substantially at the mid-point of the range expressible in the latch 72 will, in view of the connection of the non-inverting input of the operational amplifier 82 of the summing amplifier 66 to the servo ground, represent a zero demand velocity for the head 28 across the surface 18. Higher numbers in the latch 72 will result in a velocity demand signal to the amplifier 66 tending to drive the head 28 in one direction across the surface 18 and lower numbers will result in a velocity demand signal tending to drive the head in the opposite direction across the surface 18. Velocity Demand Profile Figure 2 illustrates a typical velocity demand profile, generally indicated by the reference numeral 91 and stored in the look up table in the micro-processor 48, by means of which the servo circuit controls movement of the head 28 from one track to another track, that is, to a destination track represented by the central vertical axis 94 of Figure 2. Such movements are effected by outputting a succession of demand velocities, expressed as D/A values shown on the axis 94, to the latch 72 for conversion to an analogue signal by the D/A converter 74 and for transmission to the summing amplifier 66 as discussed above. As noted above, a D/A value larger than that selected for the servo ground will cause the summing amplifier 66 to provide a signal to the power amplifier 88 that tends to cause the head to be moved in one direction, while a D/A value smaller than that selected for the servo ground tends to cause the head to move in the opposite direction. As a result, the output of profile velocities on a tracks to go basis measured from the destination track will tend to move the head 28 across the surface 18 in a direction towards the destination track. For purposes of illustration, it will be assumed herein that movement of the head 28 in a first direction towards the outer edge of the disk 12 is occasioned by increasing the D/A value to the latch 72, while decreasing the D/A value results in movement of the head 28 in a second direction away from the outer edge of the disk. The D/A values are correlated with velocities to be demanded for the head 28 across the disk in physical units, such as centimetres (or inches) per second. Additional vertical axes 96 and 97, indicating demand velocities in physical units for movement in the first direction, have been included in Figure 2. Similarly, axes 98 and 99 have been included for the second direction to provide a basis for a discussion of the correlations. Initially, it is noted that the velocity demand profile, in physical velocity units versus number of tracks to go in making a seek movement to a selected destination track, can be obtained for purposes of the present invention in any conventional manner so that only a qualitative discussion of the manner in which the profile is obtained will be given. In general, the velocity demand profile is obtained by modelling the mechanical and electrical properties of the rotating disk data storage device and selecting velocities for the profile that will cause the head to have an initial high acceleration towards the destination track followed by a period, for long seek movements, in which the head has a selected constant maximum speed that is indicated by flat portions 100 and 102 of the profile. In a final portion of the seek movement, demand velocities are steadily decreased to cause a controlled deceleration of the head 28 that will cause the head 28 to enter the fine control region about the destination track with a speed that will facilitate rapid settling of the head onto the destination track after a transition to the track following mode of operation of the servo circuit 10. Seek operations are then effected via the comparison of the demand velocity, which is continually updated at the latch 72, and the actual velocity of the head 28, which is indicated by the differentiator 70. The switch 68 is open during seek operations so that the current through the coil 36 is proportional solely to the difference in actual and demand velocities of the head 28. Following the transition to fine control, occurring a selected time after entry of the head 28 into the control region about the destination track, the switch 68 is closed and the D/A value in the latch 72 is set to a zero demand velocity or, preferably, to a position feed forward value. In order to correlate demand velocities in physical units with demand velocities in D/A values, D/A values are selected for the maximum speed to be demanded of the head across the disk in both directions. For example, if the latch 72 is a nine bit latch and the servo ground is at a level 256, the D/A values for the maximum speed might be chosen as fifty six for maximum speed of the head in the second direction and 456 for maximum speed in the first direction. The microprocessor is programmed to transmit each of these D/A values to the latch 72 as part of the start up routine for the circuit 10, and to measure the actual velocity that each D/A value will produce by counting track crossing signals received by the counter 60 of the micro-processor 48 for a selected time interval. The gain of the AGC circuit 42 is adjusted in consecutive high speed sweeps until the velocity so determined for the selected D/A values is substantially the maximum velocity, in either direction, that the head is to achieve in a seek movement. The signal transmitted from the micro-processor 48 to the AGC circuit 42 during these high speed sweeps will be referred to herein as the average AGC signal for the circuit 10. Thereafter, in accordance with the teachings of the prior art, seek movements are made by outputting D/A values to the latch 72 and D/A converter 74 in accordance with the stored velocity demand profile that has been illustrated in Figure 2, while the switch 68 is held open by the microprocessor 48. Before proceeding, it will be useful to explain the characteristics of the stored velocity demand profile established in this manner. Initially the profile is symmetrical with respect to both direction of movement of the head 28 and D/A values measured from the servo ground level, as indicated by the horizontal axis 104. Thus, during seek movements in accordance with the prior art, the micro-processor 48 calls for demand velocities without regard to effects which might vary appropriate AGC levels across the disk, and without regard to forces on the actuator 32 in addition to the Lorentz force on the coil 36 produced by passing therethrough a current from the amplifier 88. Since the actual velocity of the head 28 is determined from signals that are passed through the AGC circuit 42, an inappropriate AGC level, obtained as described above, can cause the head 28 to enter the control region about the destination track represented by the axis 94 with an actual velocity that is higher or lower than the velocity indicated by the velocity demand profile. In the first case, excessive over shoot of the track can occur with the result that the head must be pulled back to the track by the controller 64 and differentiator 70 after a transition to the track following mode has been effected by closing the switch 68. In the second case, under shoot of the track will occur so that the controller 64 and differentiator 70 must pull the head to the destination track after the transition has occurred. In either case, reading of data from or writing of data to a track (not shown), aligned with the destination track on a separate disk surface; must be delayed until settling of the head 28 on the destination track has occurred. Similarly, forces on the actuator 32 can cause the actual velocity of the head 28 to fail to follow the demand velocity because of inappropriate correction signals from the summing amplifier 66 to the power amplifier 88. That is, the model used to derive the velocity demand profile is inapplicable where these forces are not taken into account. As a result, the velocity of the head 28 at the time of entry into the fine control region about the destination track may be too large or too small for the head to be optimally brought into alignment with the destination track following the transition to the track following mode of operation of the circuit 10. Again, the result is excessive over shoot or under shoot producing an excessive delay in reading from or writing to the destination track, caused by a need for the head 28 to be brought substantially into radial alignment with the destination track prior to writing data thereon or reading data therefrom. A second feature of the velocity demand profile is the presence of discontinuities 106 and 108 near the destination track. (For clarity of illustration, the velocity demand profile 91 has not been drawn to scale. Thus, for example, the velocity of the head 28 at the discontinuities 106 and 108 is typically about 2% of the maximum velocity during a seek movement). In the preferred mode of performing a seek operation, it is desirable that the gain of the summing amplifier 66 with respect to the demand velocity be high for large head distances from the destination track to ensure that the signals from the amplifier 66 will have a sufficient magnitude to cause the head to reach its maximum speed rapidly. On the other hand, resolution of demand velocities becomes more important near the destination track to permit fine adjustment of the speed of the head 28 as it nears the track. Both of these considerations are met by changing the gain of the amplifier 66, with respect to the demand velocity received from the micro-processor 48, as the head 28 approaches the destination track. High gain, in initial portions of the seek movement, is effected by closing the switch 78 during such initial portions, to place the resistors 76 and 80 in parallel. Since the gain of the summing amplifier, for each signal to be added, is the ratio of the feedback resistance, i.e. the resistance of the resistor 84, to the resistance through which such signal is introduced into the non-inverting input of the operational amplifier 82, the parallel connection of the resistors 76 and 80 increases the gain of the amplifier 66 with respect to the demand velocity. Correspondingly, opening the switch 78 when the head 28 is near the destination track reduces the gain of the amplifier 66 with respect to the demand velocity. Such gain transition for the summing amplifier can conveniently be selected to occur at, for example, six tracks to go in the execution of a seek movement. The axes 96 and 98 indicate the demand velocity in physical units for portions of the velocity demand profile that are implemented at high summing amplifier gain and the axes 97 and 99 indicate the demand velocity in physical units for a central portion 93 of the velocity demand profile that is implemented at low summing amplifier gain. Adaptive AGC Gain Compensation As noted above, one objective of the present example is to adjust the gain of the servo circuit 10 adaptively to ensure that the AGC level utilised during seek operations will cause the actual velocity of the head 28 to follow the demand velocity for portions of a seek movement near the destination track. To this end, the tracks on the surface 18 of the disk 12 are each assigned to one of a plurality of concentric zones that have been indicated as 110, 112, 114, 116 and 118 in Figure 3. (For clarity of illustration, only five zones have been shown in Figure 3). An AGC level, that will ensure that actual and demand velocities having the same value will result in substantially equal inputs to the summing amplifier 66 from the differentiator 70 and D/A converter 74 is then determined for each zone as will now be described. As part of the start up routine programmed into the micro-processor 48, the head 28 is moved consecutively to each zone and, while the head is in each zone, low speed sweeps are made in both directions across the disk for a selected demand velocity, taken from the velocity demand profile, that has been indicated by the dashed line 120 in Figure 2, for a sweep in the first direction and by the dashed line 122 for a sweep in the second direction. Such sweeps are effected by entering the D/A value corresponding to the selected profile velocity in the latch 72 after disabling summing of the output of the controller 64 in the signal sent to the power amplifier 88 by opening the switch 68. During each of these sweeps, the counter 60 counts track crossings for a selected time period so that the actual velocity of the sweep is, in effect, measured for both sweeps, such velocity being directly proportional to the number of tracks that are crossed. The micro-processor 48 is programmed to compare the average of these actual velocities to the value of the selected velocity taken from the velocity demand profile and, if the average of the actual velocities is lower than the selected velocity, to increment the AGC signal supplied to the AGC circuit 42 via the latch 47 and D/A converter 49. If the average of the actual velocities exceeds the selected demand velocity, the AGO signal supplied to the AGC circuit 42 is decremented. Such adjustments of the AGC signal are continued until the average of the actual velocities is substantially equal to the selected demand velocity. The increment or decrement that has this result is then saved in a RAM (not shown) that provides a memory for the micro-processor 48 at an AGC correction signal for the zone. Thereafter, each time a seek movement to a track in a selected zone is made, the AGC signal supplied to the AGC circuit 42 is adjusted to the sum of the average of the AGC reference signal and the correction signal that has been so determined. As noted, the sweeps utilised to determine the AGC correction signals are preferably made at low speed as has been stated above. The purpose of selecting a low speed for these sweeps is to ensure that the AGC compensation is effected for actual head velocities near the termination of a seek movement. As will be clear to those skilled in the art, mis-matches between the actual head velocity and demand velocities taken from the profile will have the greatest effect on the velocity with which the head enters the control region about a destination track and will accordingly cause the greatest risk of over shoot or under shoot of the destination track. For purposes of this disclosure, the term "low speed" can be defined, for the case in which a gain change is made for the summing amplifier 66 during a seek operation, as a speed taken from the low gain portion 93 of the profile 91. In the absence of such a gain change, useful criteria are a speed no greater than 25.4 cms per second (10 inches per second) or a speed corresponding to a number of tracks to go not exceeding ten. Velocity Demand Profile Compensation While the adaptive AGC gain compensation can be used by itself to effect more rapid track settling characteristics for the magnetic head 28 following a seek movement to a selected track, it is preferable to use it in conjunction with a velocity demand profile compensation, which is arranged to adjust at least central portions of the velocity demand profile in a manner that will compensate for forces, such as windage and flex forces, that are exerted on the actuator 32 in addition to the Lorentz force provided by passing a current through the coil 36. Thus, it is specifically contemplated that the adaptive AGC gain compensation described above may be used in combination with a continuously adaptive velocity feed forward compensation of the present invention. Alternatively, the present invention contemplates velocity demand profile compensation as part of the start up routines of the data storage device including the servo circuit 10 in accordance with a method now to be described. As in the case of AGC compensation, the surface 18 of the disk 12 is zoned and each track on the disk is assigned to a selected zone. Preferably, such zones are the same zones for which AGC compensation is effected. Once such assignment has been made, the magnetic head 28 is moved consecutively to each zone and, while the head 28 is in each zone, a velocity increment is determined in a manner similar to that in which the AGC direction signal is determined as described above. In particular, and as illustrated in Figure 4, a velocity corresponding to the dashed lines 120 and 122, for opposite directions of movement of the servo head 28, is selected for making low speed sweeps, as defined above, in both directions in the zone. Such sweeps are then effected by entering the D/A value corresponding to the selected profile velocity in the latch 72 after disabling summing of the output of the controller 64 in the signal sent to the power amplifier 88 by opening the switch 68. During such sweeps, the actual velocity of the head 28 across the disk surface 18 is measured in the same manner that has been described above for AGC compensation and the micro-computer 48 is programmed to compare the actual velocities so measured during the sweeps. If the actual velocity for the sweep in the first direction is lower than the actual velocity in the second direction, as will often occur for zones near the edge of the disk, an increment is added to the velocity taken from the velocity demand profile for a second sweep in the first direction, by incrementing the D/A value for the profile velocity, and the same increment is similarly subtracted from the velocity taken from the velocity demand profile for a second sweep in the second direction. The sweeps are then repeated, with the new demand velocities, as represented by the new D/A values, and the actual velocities for the sweeps are again compared. Incrementing of the demand velocity for a sweep in the first direction while decrementing the demand velocity for a sweep in the second direction is further repeated until the actual velocities are substantially the same for the sweeps in the two directions, i.e. until the actual velocities are equal within the resolution of the actual velocity measurements. The demand velocity increments that had this result, for each zone, are then installed in the RAM associated with the micro-processor 48 for use in the manner that has been indicated in Figures 2 and 4. In Figure 2, for the case in which the actual velocity is initially higher in the second direction, the increment that will cause the low speed sweeps to be the same for a selected zone has been indicated, for both sweep directions, by arrows 124 and 126. As shown in Figure 4, the central portions 93 of the velocity demand profile, corresponding to the portion at which seek movements are effected at a low gain for the demand velocity component of signals supplied to the summing amplifier 66, is shifted towards higher D/A values by an amount equal to the stored increment to provide a compensated velocity demand profile that has been indicated generally at 128. Thereafter, all seek movements to a track in each zone are made in accordance with the compensated velocity demand profile for that zone. As in the case of the AGC compensation, the sweeps used to determine the increments are made at low speed as defined above and the use of low speeds for these sweeps has the same purpose that has been described above, namely to compensate velocity demand profiles for terminal portions of a seek movement, in which velocities for the head 28 that are too high or too low will incur the greatest risk of over shoot or under shoot of the destination track by the head 28. However, it is contemplated that the compensated velocity demand profile may also be generated for all values of "tracks to go" for a seek movement. In this case, the increment determined for a zone will be added to the profile for seek movements in the first direction and subtracted for seek movements in the second direction between the discontinuities 106 and 108 while an adjusted increment will be added or subtracted, as appropriate, to the profile for portions of the profile to either side of the discontinuities. Such adjusted increments are derived from the increments 124 and 126 by dividing the increments 124, 126 by the ratio of the gain of the amplifier 66 with respect to demand velocities at the higher gain to the gain of the amplifier 66 at the lower gain selected therefor. In such case, the compensated velocity demand profile will differ from the profile 128 as shown in dashed lines 130 and 132 in Figure 4. In the case in which the velocities indicated by lines 120 and 122 in Figure 2 cause, for a selected zone, the actual velocity for outwardly directed sweeps to exceed the actual velocity for inwardly directed sweeps, a case that is probable for zones near the spindle 14, increments are added to the velocity indicated by the lines 120, 122 for subsequent sweeps in the second direction and subtracted for subsequent sweeps in the first direction to determine equal increments indicated by arrows 134 and 136 in Figure 2. These increments are stored and seek movements to all tracks in the zone for which the increments 134 and 136 are determined are thereafter made in accordance with a compensated profile 138 shown in Figure 5. As shown therein, the compensated velocity demand profile is found by shifting D/A values for the central portion 93 of the profile to lower values indicated at 137 by the amount of the increment 134, 136 so determined. As in the case described above, compensation can also be effected for all "tracks to go" values that might occur in a seek movement, such compensation being carried out in the manner that has been described above. In the situation in which both the described AGC compensation and the described velocity demand profile compensation of the present invention are used together, it will be useful to generate both the velocity increments and the AGC correction signals for each zone before moving to the next zone and, further, to do so in the order: velocity increment followed by AGC correction signals. In this case, the actual velocity for oppositely directed sweeps during the AGC compensation will be equal, and equal to the average of such velocities, so that only one sweep will be required for each correction to the AGC reference signal.

Claims: A method for optimising seeks by a magnetic head (28) to a selected track (19 to 24) on a rotating disk of a hard disk drive having a servo system that effects the seeks in accordance with a comparison of the actual head velocities with demand velocities of a velocity demand profile, wherein the hard disk drive has a stored velocity demand profile, characterised by including the steps of: assigning each track on the disk to one of a plurality of concentric zones (110 to 118) on the disk; for each zone on the disk, determining a velocity increment that will cause the head to have the same actual velocity for both directions of movement of the head across the disk once that increment is added to a demand velocity selected from the stored velocity demand profile for movement of the head in one direction across the disk and subtracted from the same selected demand velocity for movement of the head in the opposite direction across the disk; storing the velocity increments; and thereafter effecting all seeks in said one direction to a track in a selected zone in accordance with a compensated velocity demand profile derived from the stored velocity demand profile by adding the velocity increment for that zone to selected portions of the stored velocity demand profile and effecting all seeks in said opposite direction in accordance with a compensated velocity demand profile derived from the stored velocity demand profile by subtracting the velocity increment for that zone from the same selected portions of the stored velocity demand profile. A method according to claim 1 characterised in that the demand velocity comprises a digital value; in that the incremental adjusting step comprises adjusting the digital value for the selected demand velocity, and in that the velocity increment comprises a digital value. A method according to claim 1 or claim 2 characterised in that the velocity increment is added or subtracted during a seek movement from a pre-selected distance corresponding to a particular demand velocity, from the selected track, the selected demand velocity employed in the determining step being less than the particular demand velocity. A method according to any one of claims 1 to 3 characterised in that the selected demand velocity employed in the determining step is less than the velocity on the stored velocity demand profile for a distance of less than ten tracks from the selected track. A method according to any preceding claim characterised in that the selected demand velocity employed in the determining step is less than 25.4 cms per second (10 inches per second). A method as claimed in any preceding claim in which an actuator is operable to accelerate or decelerate the magnetic head (28), wherein the actuator is operated to move the transducer for a predetermined time period in opposite directions, and first and second actual velocities are determined by determining first and second distances moved during the predetermined time periods.

Inventors: GENHEIMER STEPHEN R, MURPHY ROBERT D, GENHEIMER, STEPHEN R., MURPHY, ROBERT D.
Applicants: SEAGATE TECHNOLOGY, SEAGATE TECHNOLOGY INTERNATIONAL
Application year: 1991
Main classification: G11B5
IPC codes: G11B5