The present invention generally relates to controlling sensor movement and, more particularly, to controlling an actuator that moves a read/write head in a data storage device.
Disk drives are digital data storage devices which can enable users of computer systems to store and retrieve large amounts of data in a fast and efficient manner. A typical disk drive includes a plurality of magnetic recording disks which are mounted to a rotatable hub of a spindle motor and rotated at a high speed. An array of read/write heads is disposed adjacent surfaces of the disks to transfer data between the disks and a host computer. The heads can be radially positioned over the disks by a rotary actuator and a closed loop servo system and can fly proximate the surfaces of the disks upon air bearings.
A plurality of nominally concentric tracks can be defined on each disk surface. A preamp and driver circuit generates write currents that are used by the head to selectively magnetize areas of the tracks during a data write operation and amplifies read signals detected by the head during a data read operation. A read/write channel and interface circuit are connected to the preamp and driver circuit to transfer the data between the disks and the host computer.
The servo system can operate in two primary modes: seeking and track following. During a seek, a selected head is moved from an initial track to a target track on the corresponding disk surface. The servo system applies a current command signal to an actuator coil to accelerate the head toward the target track. During the seek, the servo system can measure the location of the head as it moves across the disk based on servo data that is recorded on the disk, and can adjust the current command signal in response to the location measurements. As the head approaches the target track, the servo system decelerates the head to bring it to rest over the target track. Thereafter, the servo system enters the track following mode wherein the head is maintained over the center of the target track while data is written/read.
As will be appreciated, a disk drive is primarily utilized to transfer data between the disk tracks and the host computer. Such data transfer operations usually cannot occur during a seek, but rather require the servo system to be in track following mode. Hence, to maximize disk drive data transfer rate capabilities disk drives can attempt to minimize their average seek times while satisfying other constraints on disk drive operation, such as noise and/or vibration constraints. However, a servo system that may be optimized based on the expected characteristics of a family of disk drives may not adequately compensate for differences in the characteristics between individual disk drives within that family. Moreover, over time disk drive characteristics can further vary due to, for example, mechanical wear, altitude variations, and power supply voltage variations. Accordingly, a servo system that is designed to provide minimum average seek times for a family of disk drives may not provide acceptable performance for at least some disk drives in the family.
Embodiments of the present invention are directed to apparatus and methods that adjust servo gain. In some embodiments, a circuit determines a bias force error that occurs between an estimated bias force and an actual bias force on an actuator during movement by a servo motor. The circuit adjusts a servo gain in response to the bias force error, and regulates movement of the actuator by the servo motor in response to the servo gain.
In some further embodiments, the method includes determining a bias force error between an estimated bias force and an actual bias force on an actuator during movement by a servo motor, adjusting a servo gain in response to the bias force error, and regulating movement of the actuator by the servo motor in response to the servo gain.
In some further embodiments, an apparatus includes a servo controller that adjusts a servo gain based on differences between: 1) a position error, which is determined based on double integration of differences between a measured location and a desired location of an actuator during a seek operation; and 2) a bias force error, which is determined based on single integration of estimated responses and measured responses of a servo motor during the seek operation.
Various embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings. However, this invention should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will convey the scope of the invention to those skilled in the art.
It will be understood that, as used herein, the term “comprising” or “comprises” is open-ended and includes one or more stated elements, steps and/or functions without precluding one or more unstated elements, steps and/or functions. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. The term “and/or” and “/” includes any and all combinations of one or more of the associated listed items. In the drawings, the size and relative sizes of regions may be exaggerated for clarity. Like numbers refer to like elements throughout.
Some embodiments may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.). Consequently, as used herein, the term “signal” may take the form of a continuous waveform and/or discrete value(s), such as digital value(s) in a memory or register. Furthermore, various embodiments may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system.
Embodiments are described below with reference to block diagrams and operational flow charts. It is to be understood that the functions/acts noted in the blocks may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
A simplified diagrammatic representation of a disk drive, generally designated as 10, is illustrated in
The actuator 18 includes a head 20 (or transducer) mounted to a flexure arm 22 which is attached to an actuator arm 24 that can rotate about a pivot bearing assembly 26. The head 20 may, for example, include a magnetoresistive (MR) element and/or a thin film inductive (TFI) element. The actuator 18 also includes a servo motor 28 (e.g., voice coil motor (VCM)) which moves the head 20 relative to the disk stack 12. The spindle motor 14 and servo motor 28 are coupled to a controller, read/write channel circuits, and other associated electronic circuits 30 which can be enclosed within one or more integrated circuit packages mounted to a printed circuit board (PCB) 32. The controller, read/write channel circuits, and other associated electronic circuits 30 are referred to below as a “controller” for brevity. The controller 30 may include analog circuitry and/or digital circuitry, such as a gate array and/or microprocessor-based instruction processing device.
Referring now to the illustration of
The actuator 18 includes a plurality of the heads 20, each of which is positioned to be adjacent to a different one of the disk surfaces 36. Each head 20 is mounted to a corresponding one of the flexure arms 22. The servo motor 28 operates to move the actuator arm 24, and thus moves the heads 20 relative to their respective disk surfaces 36. The heads 20 are configured to fly on an air cushion relative to the data recording surfaces 36 of the rotating disks 34 while writing data to the data recording surface responsive to a write command from a host device or while reading data from the data recording surface to generate a read signal responsive to a read command from the host device.
Write commands and associated data from the host device 60 are buffered in the buffer 55. The data controller 52 is configured to carry out buffered write commands by formatting the associated data into blocks with the appropriate header information, and to transfer the formatted data from the buffer 55, via the read/write channel 54, to logical block addresses (LBAs) on the disk 34 identified by the associated write command.
The read write channel 54 can convert data between the digital signals processed by the data controller 52 and the analog signals conducted through the heads 20 in the HDA 56. The read write channel 54 provides servo data read from the HDA 56 to the servo controller 53. The servo data can be used to detect the location of the head 20 in relation to LBAs on the disk 34. The servo controller 53 can use LBAs from the data controller 52 and the servo data to seek the head 20 to an addressed track and block on the disk 34, and to maintain the head 20 aligned with the track while data is written/read on the disk 34.
The servo controller 53 regulates the current command signal (ia of
The servo controller 53 includes a seek control loop that has a servo gain Ka relating input command signals to output response of the servo motor 28 positioning the actuator assembly 18. As will be described below, the servo gain Ka can be applied to a seek command, to feedback signals from the plant, and to estimates from a plant model to generate a current command signal which is supplied to the servo motor 28.
The gain Ka may be varied as a function of the radial location of the head 20 relative to the disk 12, so as to, for example, compensate for variation in torque constant of the servo motor 28 across the disk 12. The servo motor 28 torque constant can vary due to variation in the motor's magnet flux as the actuator 18 is rotated from the outer diameter to the inner diameter of the disk 12. The servo motor 28 torque constant may vary according to a second order (parabolic) shape, with lower values near the inner diameter and outer diameter of the disk 12 and higher values near the middle diameter of the disk 12. The gain Ka may be selected among a table of Ka values that are associated with various radial zones across the disk 12.
The gain Ka may be adjusted in part based on calibration operations that attempt to reduce the result of a double integration of a position error signal (PES), which is formed as a difference between a desired head position and actual head position relative to the servo information on the disk 12. A gain Ka calibration operation is described in U.S. Pat. No. 6,490,120 which is incorporated herein by reference in its entirety. Gain Ka calibration may be carried out based on an assumption that the double integration of the PES represents a mismatch between an expected torque constant and an actual torque constant of the servo motor 28 at a defined current command signal.
However, in the disk drive 10, for any given track location of the head 20, there will be some amount of lateral force acting on the actuator assembly 18 tending to move the head 20 off-track, which is referred to as a “bias force.” One potential source of the bias force can be wind which is created by the rotating disk 12. This windage bias force is usually directed radially outwardly from the rotating disk 12, with its strength increasing as the head 20 gets closer to the outer diameter parameter of the disk 12. Other potential sources of the bias force can include stresses created by the cable used to connect the head 20 through the rotatable actuator assembly 18 to the PCB 32, and/or viscous forces resisting rotation of the actuator assembly 18. Accordingly, a bias current level should be supplied to the servo motor 28 to oppose these lateral bias forces on the actuator assembly 18, and which can be sufficiently large so as to offset the lateral bias forces while seeking the head 20 or maintaining the head 20 aligned with a target track.
The inventors of the present application have determined that when one of the inputs to the control loop of the servo controller 53 is an estimate of bias force on the actuator assembly 18, error in the estimated bias force can introduce an unacceptable error when attempting to calibrate the gain Ka. Smaller form factor disk drives (e.g., 1″ disk drives) can be more susceptible than larger form factor disk drives (e.g. 3.5″ disk drives) to the effect of bias force error on error in the calibrated gain Ka. For example, the bias current level to compensate for bias force can be proportionally larger for smaller form factor disk drives than for larger form factor disk drives. Thus, 3.5″ disk drives can have a substantially larger torque constant and corresponding larger ratio of the current command signal level to the bias current level relative to 1″ disk drives. Thus, when controlling the servo motor 28 during a seek operation, an error in the estimation of bias current level can result in a larger error when calibrating the gain Ka of a 1″ disk drive than when calibrating the gain Ka for a 3.5″ disk drive.
In accordance with some embodiments, circuitry in the servo controller 53, and/or in another component of the electronics 30, is configured to determine a bias force error between an estimated bias force and an actual bias force on the actuator assembly 18 during movement thereof by the servo motor 28. The circuitry adjusts a servo gain in response to the determined bias force error, and regulates movement of the actuator 18 by the servo motor 28 in response to the servo gain. The circuitry may calibrate the gain Ka by seeking the head 20 to one or more target tracks while determining the bias force error, and adjusting the Ka to compensate for the determined bias force error(s) and to reduce PES observed while seeking. Calibration of the gain Ka may be carried out through a closed loop iterative process that repetitively seeks the head 20 to various target tracks and adjusts the gain Ka so as to compensate for the determined bias force error(s) and to reduce PES while seeking.
The servo controller 53 may generate the servo command signal Us as a sinusoidal servo command signal which may be based on a one minus cosine (1-cos) reference current signal. The servo controller may scale the sinusoidal servo command signal in response to each particular seek length (i.e., the number of tracks over which the head 20 will be moved via a seek operation). The sinusoidal servo command signal may be used for relatively short seek distances (e.g., such as less than about 100 tracks). Relatively longer seek operations may be carried out using velocity-controlled seeks, where the threshold seek distance may be determined based on, for example, a determination of which one of the sinusoidal servo command signal based seek or the velocity-control seek will provide faster seek performance.
The controller 400 includes a plant model 404 that is configured to model the nominal input to output response characteristics of the plant 402. A response estimator 406 in the plant model 400 generates an estimate of the response (“Ytraj”) of the servo motor 28 to the input servo command signal “Us” A bias estimator 408 in the plant model 400 generates an estimate of the bias force acting on the actuator assembly 18 (“bias estimate”) during seek operations. The bias estimator 408 may estimate the bias force that is expected to occur on the actuator assembly 18 and head 20 as a function of, for example, radial location of the head 20 on the disk 12. The bias estimator 408 may include a table of estimated bias values mapped to radial partitions on the disk 12, and may select among the estimated bias values in the table based on a present radial location of the head 20 and/or a radial location of the target track on the disk 12.
The expected/estimated nominal gain of the servo motor 28 is represented in
The error (“e”) in
The feedback control signal Ue is summed with the sinusoidal servo command signal Us, and a bias estimation error (“Ub”) is subtracted from the result to generate a current command signal (“U”). During seeking and track following, the current command signal U is scaled (Block 401) by a calibrated gain Ka value to generate a scaled current command signal that is input to the plant 402 (e.g., supplied to the servo motor 28). The gain Ka value can be read from a table of predefined Ka values. The bias estimation error Ub is determined as the difference between the estimated bias force (“Biasestimate”) from the bias estimator 408 and the actual bias force (“Biasactual”) exhibited by the plant 402, as represented by the equation Ub=Biasactual−Biasestimate.
The combined gain (“Ka”) of the reference sine seek controller 400 can be determined as a ratio between Kp0 and Kp, as represented by the equation Ka=Kp0/Kp. As shown in
U
e
=U
e
′+Ũ
b, (Equation 1)
where Ũb is the error in the bias estimation error Ub, and corresponds to a component contribution amount that would cancel the bias estimation error Ub.
Accordingly, the current signal U applied to the plant 402 can be represented by Equation 2 below:
U=U
s+Ue′+Ũb−Ub≈Us+Ue′ (Equation 2)
The total seek time is represented as tsk, and the calculated feed forward seek time is represented as tf. For purposes of exemplary explanation only, the seek time tsk can be defined to be the duration from starting a seek to transitioning into a settling phase, and does not include the settling time tst to settle the head 20 into alignment with a target track. The velocity at time instant t (“v(t)”) can be defined based on equation 3 below:
At the end of each seek, t=tsk and v(tsk)≈0, equation 3 can be simplified as shown in equation 4 below:
For tf≦t≦tsk and Us=0, equation 4 can be further simplified as
which can be further represented as
in view of the sinusoidal feed-forward current Us.
These relationships can be combined into equation 5 below:
With continued reference to
Therefore, in view of equation 1 above,
When the seek length is very small, Ũb can be considered to be constant during a seek operation, which provides the equation
Consequently, the error Ũb can be represented by equation 6 below:
In view of equation 6, the reference sine seek controller 400 of
Referring to
When seek operations are carried out using a sinusoidal feed-forward servo command signal Us, the seek length X can be further represented by the following equation 8:
Equations 7 and 8 can be combined to provide the following equation 9 representing the seek length X:
The following relationships may thereby be provided:
where C is constant when the seek length X is fixed.
The double integration of
can be calculated after each sinusoidal seek based on Equation 11 below:
Referring to
Ka(n)=Ka(n−1)+μ*W(n). (Equation 12)
At Block 602, the initial Ka value can be set to 1. At the beginning of each iteration, a new Ka(n) value can be used to compute the control output U.
The calibration operations 600 may be carried out, for example, during idle periods of time for the disk drive 10, so that the gain Ka can be adjusted while the disk drive 10 is not being utilized by the host 60 to store/retrieve data. Alternatively or additionally, the calibration operations 600 may be carried out while the host 60 is storing/retrieving data to enable dynamic adjustment of the gain Ka.
For each iteration of the gain calibration, the head 20 is moved through a seek operation at Block 604 from a present location to a target track using a command signal that is scaled by the gain Ka(n) for a present iteration. The seek operation may correspond to short seek distances in which the command signal is a sinusoidal servo command signal Us supplied to the modeled reference sine seek controller 400. A bias estimation error Ũb can be determined at Block 606 from equation 6, by accumulating the output of the PD controller 410 over the seek time tsk from starting the seek to transitioning into the settling phase.
At Block 608, a gain adjustment value W can be determined from equation 11 above, such as based on a difference between the accumulated position error and the accumulated bias force error for a present seek operation. At Block 610, the gain adjustment value W can be scaled by a convergence constant μ to generate a scaled gain adjustment value (μ*W(n)). The convergence constant μ can be defined to regulate how quickly the gain Ka follows changes in the gain adjustment value W, and, thereby, to provide stability in the gain Ka. The convergence constant μ can be much less than 1. A new gain Ka(n) of a present iteration number “n” can be determined by adding the gain adjustment value (μ*W(n)) to a previous gain Ka(n−1) from a previous seek iteration number “n−1”.
At Block 612, a decision is made as to whether the iterative calibration should be continued or terminated. More particularly, a determination is made as to whether a difference between the new gain Ka(n) and the previous gain Ka(n−1) differs by at least a threshold gain convergence value and, if not, another iteration of gain calibration is carried out through Blocks 604-612. Otherwise, if the gain Ka has sufficiently converged at Block 612, the iterative gain Ka calibration process is terminated, and the newly calibrated gain Ka is subsequently used to regulate movement of the actuator assembly 18 by the servo motor 28 during seek operations.
The iterative gain Ka calibration operations 600 of
Although calibration operations of
The torque constant of the servo motor 28 can vary in response to temperature. To compensate for variation in the motor torque constant, the servo controller 53 may calibration the servo gain Ka across a range of temperatures, and may generate/update a table of servo gain Ka values that are associated with, for example, defined ranges of temperatures and radial zones on the disk 12. Accordingly, the servo controller 53 may then select among the servo gain Ka values in response to temperature measured in the disk drive 10 and radial location of the head 20 and a target track on the disk 12.
In the drawings and specification, there have been disclosed typical preferred embodiments of the invention and, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation, the scope of the invention being set forth in the following claims.