Adaptive track seeking for disc drives

Abstract: A method and apparatus for optimizing the track seeking operation of disc drives by adaptively changing the seek velocity profile in response to the actual performance of the drive during track seeking operations based upon the amount of head overshoot and the actuator power dissipation.

Description: FIELD OF THE INVENTION The present invention relates to track seeking operations for disc drives, and more particularly to methods and apparatus for controlling the track seeking servo system for a disc drive to provide optimal acquisition times for track seeking operations. BACKGROUND OF THE INVENTION When a head in a disc drive is moved by its corresponding servo-controlled actuator from one track to another selected track, the servo system that controls the actuator must closely monitor and control the velocity of the head on a real time basis. For this purpose, the position information is derived from the read signal from the head. The analog read signal from the head is converted to a digital read signal by an analog to digital (A/D) converter. The servo system then derives position information from the digital read signal. For a sampled data control system disc drive, embedded servo position information in the read signal is periodically sampled and passed to a microprocessor. The microprocessor calculates the measured velocity V m by taking the difference between the position indicated by the current sample and the position indicated by the previous sample and dividing the difference by the sample period. The microprocessor generates an acceleration command that is used to correct any difference between the measured velocity of the head V m and a desired velocity of the head V d according to a seek velocity profile that is appropriate given the number of tracks left to travel to the destination track. The microprocessor command is converted to a constant current analog control signal by a digital to analog converter. This control signal drives the actuator and thereby corrects the velocity of the head. The seek velocity profile that is used by the microprocessor to determine what level of current to command to the actuator is implemented with the process of comparing the present track position of the head with the selected track position and selecting the desired velocity V d based upon this difference in tracks. Typically the microprocessor has a table of desired velocities based upon the difference in tracks for this purpose. The table of desired velocities V d that are stored in the microprocessor are generally based upon empirical evaluation of a sample of disc drives operating under worst case conditions with substandard actuator motors. As a result, drives with greater seek performance potential operating under normal conditions are not able to seek any faster than weak drives operating under unfavorable conditions. In JP-A-61 280 081 there is described a device for optimising the performance of an actuator for a disk drive head under various conditions, which monitors the temperature and voltage conditions prevailing and determines a maximum rotation speed for the given conditions. In JP-A-02 128 380 there is described a control circuit for limiting the coil current in a magnetic disk drive device when over-current conditions are sensed more than a predetermined number of times within a predetermined period of time. Under such conditions, the circuit delays the sending of a positioning complete signal. In JP-A-01 064 178 there is described an automatic adjusting device for optimising seek operations of a magnetic disk device, using a microprocessor which controls the device in accordance with measured parameters related to measured undershoot, overshoot and access time. In JP-A-57 164 476 there is described a servo positioning mechanism for a disk drive device which compensates for variance in constituent parts, in which an extent of overshoot allowed during a track seek operation is set and held automatically to obtain the best transfer ratio for positioning. In JP-A-01 220 271 there is described a device for reducing access time to a target track by switching control for an optical travel motor from velocity control to track follow up control when an optical head approaches the number of first regulation tracks found in advance. In US-4 622 604 there is described a magnetic head control apparatus which uses a stored velocity table comprising intended velocity data which are used to set the velocity control of the magnetic head to correspond with the intended and calculated moving distance of the head. SUMMARY OF THE INVENTION The present invention provides a method of optimising the seek time of a head as defined in claim 1 and an apparatus for optimising the seek time of a head as defined in claim 15. The present invention optimizes the track seeking operation of disc drives by adaptively changing the seek velocity profile in response to the actual performance of the drive during track seeking operations based upon the amount of head overshoot, the actuator power dissipation and the actual seek time. The number of head overshoots and the actuator motor power level are monitored during periodic consecutive intervals, and the seek velocity profile is optimized only when the combination of power level and number of overshoots do not meet specified conditions. DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of a track seeking servo system suitable for incorporating the present invention. Figure 2 is a graphical representation of a typical seek velocity profile for a given measured velocity V m of a disc drive head, indicating desired velocities V d as a function of the number of tracks for the head to go to the desired track. Figure 3 is a typical seek velocity profile and a corresponding shifted-time seek velocity profile. Figure 4 is a flow chart of the methodology of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Referring to the drawings, wherein the reference characters designate like or corresponding parts throughout the views, Figure 1 is a block diagram of a typical track seeking servo system 2. The track seeking system 2 comprises an analog to digital (A/D) converter 4, a sampler 6, a microprocessor 8, a digital to analog converter 10 and an actuator motor 12. The input of the A/D converter 4 receives an analog read signal on a line 14. The analog read signal is produced by a controlled head (not shown) that is coupled to a servo controlled actuator (not shown). The A/D converter 4 converts the analog read signal to a digital read signal on a line 16. The digital position information in the digital read signal is sampled by the sampler 6 on a periodic basis. The sampler 6 provides position samples on a line 18 that are received by the microprocessor 8. The microprocessor 8 determines the measured velocity of the head V m by comparing the positions of consecutive samples and dividing the difference in positions by the sample period. The respective positions are conveniently determined by identifying the track number information in the samples. The microprocessor 8 then determines the proper constant current acceleration command that is appropriate for the head to be displaced from its current position to the selected track. The acceleration command is transmitted from the microprocessor 8 to the D/A converter on a line 20. The D/A converter converts the acceleration command signal from the microprocessor 8 to a respective constant current signal that drives the actuator motor 12 via a line 22. The microprocessor bases its determination of the appropriate constant current acceleration command for a given sample on the current measured head velocity V m , the present position of the head and the desired position of the selected track. The present and desired positions of the head are conveniently compared in terms of the respective track numbers. The microprocessor 8 determines a desired velocity of the head V d based upon a seek velocity profile. The seek velocity profile is a lookup table of desired velocities V d as a function of the number of tracks to the destination track. During a seek, the constant current acceleration command issued by the microprocessor 8 for each sample period is proportional to the difference between the desired velocity V d , as determined by the seek velocity table based upon the number of tracks to go, and the measured velocity V m . Figure 2 is a graphical representation of a typical seek velocity profile for a given current measured velocity V m . A line 24 represents the amplitude of the desired velocity V d as a function of the number of tracks to go to the destination track. As part of developing a seek velocity profile such as shown in Figure 2, the microprocessor 8 determines the maximum attainable terminal velocity for the head V t . The microprocessor 8 then determines the distance, in the number of tracks, traveled in going from the terminal velocity V t to the final velocity V o at the point of the destination track x o . The microprocessor 8 generates a seek velocity profile table by determining the appropriate desired velocities V d between the terminal velocity V t and the final velocity V o . The terminal velocity of the head is established by the microprocessor 8 according to the following procedure. The microprocessor 8 determines the distance of the longest seek for the system 2, in number of tracks. The microprocessor 8 creates a generally step-shaped velocity profile over the distance of the longest seek with the terminal velocity V t set to the maximum allowable value as determined by the drive system. The terminal velocity V t is positioned along the profile for a distance of roughly half of the total distance of the seek. The final values of velocities are set to the final velocity V o . The terminal velocity profile so established by the microprocessor 8 is then used to determine the terminal velocity for one seek that is roughly equal to this distance. The microprocessor 8 measures the terminal velocity of the seek while using the terminal velocity profile at a distance of roughly half the actual total length of the seek. Because of the mass moved by the actuator motor 12, the terminal velocity profile as measured is generally triangular in shape. The deceleration distance going from the terminal velocity V t to the final velocity V o is then established by the microprocessor 8 according to the following procedure. The microprocessor 8 determines a terminal velocity V t using the velocity profile for V t as described above with a seek length corresponding to a distance that is somewhat shorter than the distance of the seek itself to guarantee that the terminal velocity V t is reached. This is considered a "long seek". The distance to go, in the number of tracks, is then measured by the microprocessor 8 from the terminal velocity V t to the final velocity V o . This is the deceleration distance for the seek. The microprocessor 8 then creates an idealized seek velocity profile, based upon the relationship that the actual velocity desired at any point is proportional to the square root of the distance plus a constant. This may be expressed according to the relationship V d = (K 1 * x 1/2 ) + K 2 wherein the constants K 1 and K 2 are determined by the values of V t , x t , V o and x o . The microprocessor 8 generates values of desired velocities V d for each track for the number of tracks to go for the entire distance of the seek. A seek velocity profile is then created by the microprocessor 8 with the value of the desired velocity V d as a function of the number of tracks to go to the destination track. The values of the idealized velocity profile so determined are applicable to a full-deceleration seek. For the case of a controlled-deceleration seek, as used in the preferred embodiment, the servo system 2 does not integrate out the constant error between the desired velocity V d and the measured velocity V m because of the sampling nature of the servo system 2. To overcome any track seeking inaccuracy that is attributable to this error, the microprocessor 8 shifts the seek velocity profile by the duration of one sample period. To determine the time-shifted seek velocity profile, the time t for each value of desired velocity V d in the idealized seek velocity profile is determined using the corresponding distance x according to the relationship t = V 2 - 2 * K 2 * V + K 2 2 - K 1 2 * C K 1 2 * V where V = (K 1 * x 1/2 ) + K 2 and C = V o 2 - 2 * V o * K 2 + K 2 2 K 1 2 The microprocessor 8 shifts the time t by one sample period T so that the shifted time t'= t + T. Using the shifted value of time t', the microprocessor 8 determines the time-shifted desired velocity V d ' for the corresponding distance x according to the following relationship: Figure 3 is a graphical representation of an idealized seek velocity profile and a corresponding time-shifted velocity profile. A line 26 represents the amplitude of the desired velocity V d as a function of the number of tracks to go to the destination track. A line 28 represents the amplitude of the time-shifted desired velocity V d ' as a function of the number of tracks to go to the destination track. In order to control power dissipation for the actuator motor 12 and to track parameter shifts of the actuator motor 12 during operation, it is necessary for the microprocessor 8 to periodically perform an update of the seek velocity profiles that it generates as described above. In addition, this embodiment allows for the adjustment of the terminal velocity V t without performing the two special seeks, thereby saving time. In the preferred embodiment, such updates are completed within approximately 150 milliseconds so that their impact upon normal drive performance is almost unnoticeable. However, the number of periodic updates are minimized to insure that they do not interfere with the normal operation of the drive. The microprocessor 8 determines when such periodic updates are necessary by keeping track of its constant current command signal to monitor power dissipation of the actuator motor 12 and the number of seek overshoots to determine how well the seek velocity profile is optimized. Figure 4 is a flow chart of the procedure used by the microprocessor 8 in determining when a periodic seek velocity profile is necessary. On a periodic basis, according to a periodic interval that depends upon the individual characteristics of the drive, the microprocessor 8 makes a determination of an update. The microprocessor 8 monitors a timer that is set to expire a predetermined period after each update. If the timer has expired, the microprocessor 8 recalculates the velocity seek profile. If the timer has not expired, the microprocessor 8 measures the power dissipation of the actuator motor 12 and the number of overshoots of the head for the interval. The microprocessor 8 then compares the power P dissipated in the interval with the maximum power P m allowed per interval and the number of overshoots OV in the interval with the maximum number of overshoots OV m allowed per interval. If P is less than P m and OV is less than OV m , the microprocessor 8 increases the value of the terminal velocity V t accordingly. If not, then the microprocessor 8 determines if P is less than P m and OV is greater than OV m . If these two conditions are true, the microprocessor 8 optimizes the seek velocity profile. If these two conditions are not true, then the microprocessor 8 determines if P equals P m and OV is less than OV m . If so, the microprocessor 8 does not perform an update during this interval. If not, the microprocessor 8 determines if P equals P m and OV is greater than OV m . If so, then the microprocessor 8 optimizes the seek velocity profile. If not, the microprocessor 8 determines if P is greater than Pm and OV is less than OV m . If so, the microprocessor 8 decreases the value of the terminal velocity V t accordingly. If not, the microprocessor 8 determines if P is greater than P m and OV is greater than OV m . If true, the microprocessor 8 optimizes the seek velocity profile. If not, the microprocessor 8 does not perform an update during this interval. As described above, the present invention monitors the power for the actuator motor 12 and the number of overshoots of the head during seeks during consecutive periodic intervals and updates the seek velocity profiles for the disc drive to adaptively optimize the seek times for the disc drive under actual operation conditions. Thus there has been described above a method and apparatus for adaptively optimizing the seek times of a disc drive under actual operating conditions by altering the seek velocity profile according to the frequency of head overshoots during seek operations and the power level of the actuator motor. It will be understood that various changes in the details and configurations of the preferred embodiment described above in order to explain the nature of the invention may be made by those skilled in the art within the scope of the present invention as expressed in the appended claims.

Claims: A method of optimizing the seek time for at least one head in a disc drive system between an initial track and a selected one of a plurality of other tracks on at least one disc in said disc drive system, comprising the steps of: monitoring actuator power dissipation (P) and track seeking overshoots (OV) of said head during consecutive periodic intervals of a selected duration; increasing a terminal actuator velocity (V t ) when said measured power dissipation (P) and said overshoot count (OV) are less than selected maximum values (P m ,OV m ) during any one of said intervals; decreasing said terminal actuator velocity (V t ) when said measured power dissipation (P) is greater than said maximum power dissipation value (P m ) and said overshoot count (OV) is less than said maximum overshoot count (OV m ) during any one of said intervals; optimizing a seek velocity profite (24) for said head when said measured power dissipation (P) is less than said maximum power dissipation level (P m ) and said overshoot count (OV) is greater than said maximum overshoot count (OV m ) during any one of said intervals; optimizing said seek velocity profile (24) for said head when said measured power dissipation (P) is equal to said maximum power dissipation level (P m ) and said overshoot count (OV) is greater than said maximum overshoot count (OV m ) during any one of said intervals; optimizing said seek velocity profile (24) for said head when said measured power dissipation (P) is greater than said maximum power dissipation level (P m ) and said overshoot count (OV) is greater than said maximum overshoot count (OV m ) during any one of said intervals; and optimizing said seek velocity profile (24) for said head when the interval since the last optimization of said seek velocity profile exceeds more than a selected period. The method recited in claim 1, wherein said step of monitoring comprises the step of tracking the level of an actuator current signal. The method recited in claim 1, wherein said step of monitoring comprises the step of tracking the level of a head position signal. The method recited in claim 1, wherein said step of increasing said terminal actuator velocity comprises the step of tracking the level of an actuator current signal to measure actuator power dissipation. The method recited in claim 1, wherein said step of increasing said terminal actuator velocity comprises the step of tracking the level of a head position signal to detect head overshoots. The method recited in claim 1, wherein said step of decreasing said terminal actuator velocity comprises the step of tracking the level of an actuator current signal to measure actuator power dissipation. The method recited in claim 1, wherein said step of decreasing said terminal actuator velocity comprises the step of tracking the level of a head position signal to detect track overshoots. The method recited in claim 1, wherein said step of optimizing a seek velocity profile for said head when said measured power dissipation is less than said maximum power dissipation level and said overshoot count is greater than said maximum overshoot count during any one of said intervals comprises the step of tracking the level of an actuator current signal to measure actuator power dissipation. The method recited in claim 1, wherein said step of optimizing a seek velocity profile for said head when said measured power dissipation is less than said maximum power dissipation level and said overshoot count is greater than said maximum overshoot count during any one of said intervals comprises the step of tracking the level of a head position signal to detect track overshoots. The method recited in claim 1, wherein said step of optimizing said seek velocity profile for said head when said measured power dissipation is equal to said maximum power dissipation level and said overshoot count is greater than said maximum overshoot count during any one of said intervals comprises the step of tracking the level of an actuator current signal to measure actuator power dissipation. The method recited in claim 1, wherein said step of optimizing said seek velocity profile for said head when said measured power dissipation is equal to said maximum power dissipation level and said overshoot count is greater than said maximum overshoot count during any one of said intervals comprises the step of tracking the level of a head position signal to detect track overshoots. The method recited in claim 1, wherein said step of optimizing said seek velocity profile for said head when said measured power dissipation is greater than said maximum power dissipation level and said overshoot count is greater than said maximum overshoot count during any one of said intervals comprises the step of tracking the level of an actuator current signal to measure actuator power dissipation. The method recited in claim 1, wherein said step of optimizing said seek velocity profile for said head when said measured power dissipation is greater than said maximum power dissipation level and said overshoot count is greater than said maximum overshoot count during any one of said intervals comprises the step of tracking the level of a head position signal to detect track overshoots. The method recited in claim 1, wherein said step of optimizing said seek velocity profile for said head when the interval since the last optimization of said seek velocity profile exceeds more than a selected period comprises the step of timing intervals between said optimizations. Apparatus for optimizing the seek time for at least one head in a disc drive system between an initial track and a selected one of a plurality of other tracks on at least one disc in said disc drive system, comprising: means (4,6,8) for monitoring actuator power dissipation (P) and track seeking overshoots (OV) of said head during consecutive periodic intervals of a selected duration; means (8,10,12) for increasing a terminal actuator velocity (V t ) when said measured power dissipation (P) and said overshoot count (OV) are less than selected maximum values (P m ,OV m ) during any one of said intervals; means (8,10,12) for decreasing said terminal actuator velocity (V t ) when said measured power dissipation (P) is greater than said maximum power dissipation value (P m ) and said overshoot count OV is less than said maximum overshoot count (OV m ) during any one of said intervals; means (8) for optimizing a seek velocity profile (24) for said head when said measured power dissipation (P) is less than said maximum power dissipation level (P m ) and said overshoot count OV is greater than said maximum overshoot count (OV m ) during any one of said intervals; means (8) for optimizing said seek velocity profile (24) for said head when said measured power dissipation (P) is equal to said maximum power dissipation level (P m ) and said overshoot count (OV) is greater than said maximum overshoot count (OV m ) during any one of said intervals; means (8) for optimizing said seek velocity profile (24) for said head when said measured power dissipation (P) is greater than said maximum power dissipation level (P m ) and said overshoot count (OV) is greater than said maximum overshoot count (OV m ) during any one of said intervals; and means (8) for optimizing said seek velocity profile (24) for said head when the interval since the last optimization of said seek velocity profile exceeds more than a selected period. The apparatus recited in claim 15, wherein said means for monitoring comprises: an analog to digital converter (4) for converting an analog head position signal to a digital position signal; a sample (6) for periodically sampling said digital position signal to provide position signal samples; and a microprocessor (8) for processing said position signal samples. The apparatus recited in claim 15, wherein said means for increasing a terminal actuator velocity when said measured power dissipation and said overshoot count are less than selected maximum values during any one of said intervals comprises a microprocessor (8). The apparatus recited in claim 15, wherein said means for decreasing said terminal actuator velocity when said measured power dissipation is greater than said maximum power dissipation value and said overshoot count is less than said maximum overshoot count during any one of said intervals comprises a microprocessor (8). The apparatus recited in claim 15, wherein said means for optimizing a seek velocity profile for said head when said measured power dissipation is less than said maximum power dissipation level and said overshoot count is greater than said maximum overshoot count during any one of said intervals comprises a microprocessor (8). The apparatus recited in claim 15, wherein said means for optimizing said seek velocity profile for said head when said measured power dissipation is equal to said maximum power dissipation level and said overshoot count is greater than said maximum overshoot count during any one of said intervals comprises a microprocessor (8). The apparatus recited in claim 15, wherein said means for optimizing said seek velocity profile for said head when said measured power dissipation is greater than said maximum power dissipation level and said overshoot count is greater than said maximum overshoot count during any one of said intervals comprises a microprocessor (8). The apparatus recited in claim 15, wherein said means for optimizing said seek velocity profile for said head when the interval since the last optimization of said seek velocity profile exceeds more than a selected period comprises a timer.

Inventors: GIOVANETTI MATTHEW FRANCIS, RUB BERNARDO, VESESKIS KENNETH FRANCIS, ZAYAS FERNANDO ANIBAL, GIOVANETTI, MATTHEW FRANCIS, RUB, BERNARDO, VESESKIS, KENNETH FRANCIS, ZAYAS, FERNANDO ANIBAL
Applicants: QUANTUM CORP, QUANTUM CORPORATION
Application year: 1991
Main classification: G11B21
IPC codes: G11B21