Abstract:
A hard disk drive moves a transducer across a disk surface so that the transducer has an acceleration trajectory, which is symmetric about the midpoint of the curve. A digital signal processor known as a controller is used to control the movement of a transducer. The function of a controller is to move the transducer from its present track to a target track in accordance with a servo control routine. During the seek routine the controller moves the transducer in accordance with seek trajectories derived from a design waveform. The seek trajectories are generated at real time for the controller to perform its function. The invention addresses two important features of trajectories-based seek servomechanism. A very general class of waveforms is the prototype acceleration of investigation, which includes the known waveforms of prior art as its special cases, including the classical bang-bang control, simple sinusoidal seek, more sophisticated generalized Fourier seek trajectory or even the very versatile trajectories such as extended sinusoidal waveform and the generalized sinusoidal waveform. The method of generating seeks trajectories based on a general, normalized waveform is devised. The method is universally applicable for a general waveform, which has symmetry property about its midpoint. The generation of seek states at real time is generally a tedious task. One method for the sinusoidal seek method uses recursive approach to update seek states with the use of trigonometric identities. The extension of this recursive method applies to the generalized Fourier seek trajectory. Following the same lines of recursive method with use of trigonometric identities, more tedious recursive methods can be used for either the extended sinusoidal waveform or the generalized sinusoidal waveform. However, it is much simpler and effectively to use a multi-linear approximation for any seek trajectory to generate seek states for controller. The benefit of the multi-linear approximation over the recursive method becomes even more pronounced when the waveform gets more complicated.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates generally to the design of an apparatus for implementing a very general class of waveform for seek control of servo system associated with a hard disk drive. For use as a current profile in seeks, the general waveform for acceleration trajectory possesses the property of symmetry about its midpoint. Specifically, the invention devises a method to utilize an arbitrary waveform, which is normalized in both amplitude and period to generate seek trajectories, including acceleration, velocity and position for a seek controller to move transducer (or recording head) of a hard disk drive from its present position to another position. The controller forces the movement of a transducer to follow the design trajectories of motion during the process of seeks for better seek performance.  
         [0003]     2. Background  
         [0004]     Hard disk drives include a plurality of magnetic transducers that can write and read information by magnetizing and sensing the magnetic field of a spinning disk(s), respectively. The information is typically formatted into a plurality of sectors that are located within an annular track. There are a number of tracks located across each surface of the disk. A number of vertically aligned tracks are usually referred to as a cylinder.  
         [0005]     Each transducer is integrated into a slider that is incorporated into a head gimbal assembly (HGA), which is referred to as a head or recording head in the following. Each HGA is attached to an actuator arm. The actuator arm is actuated by a voice coil motor (VCM), which is attached to the actuator assembly, and is composed of a coil and a magnetic circuit device. The hard disk drive typically includes a driver circuit and a controller that provide current to excite the VCM in accordance with a servo algorithm. The excited VCM rotates the actuator arm and moves the heads (or, synonymously, transducers) across the surfaces of the disk(s). When writing or reading information the hard disk drive performs a seek routine to move a head (transducer) from one track to its target track on a disk surface. The controller performs a servo routine to assure the transducer moves to the target position fast and accurately.  
         [0006]     Prior art of seek control includes two major seek trajectories as waveform for current profile. They are bang-bang control trajectory and standard sinusoidal trajectory. Many disk drive designs utilize a bang-bang control algorithm for the servo routine to move the transducers because the bang-bang trajectory is theoretically the time optimal method. The waveform of the bang-bang current profile is a positive square wave followed by another square wave in opposite direction. A sinusoidal wave as current profile has been used as an alternative for a bang-bang trajectory of seeks control. A standard sinusoidal seek trajectory is simply a sine function with seek-length dependent period. A sinusoidal waveform is very rigid because there is no flexibility for any changes.  
         [0007]     To get around the rigidity issue of the sinusoidal seek method, there is an approach of prior art to generate an acceleration trajectory with a constant acceleration phase by employing a Fourier series representation with a very few terms. Special efforts are made to eliminate the well-known Gibbs phenomenon of classical Fourier analysis in the trajectory. The approach is named a generalized Fourier seek method because it is not an ordinary Fourier series. An optimization method exists in prior art to determine coefficients for the generalized Fourier waveform by minimizing the total mean-square error.  
         [0008]     As an alternative to the generalized Fourier seek method, there is a method of the prior art that uses the extended sinusoidal trajectory ( FIG. 1 ) for seek servomechanism, which works directly on the geometry of the sinusoidal waveform to insert a constant phase of acceleration for faster access time. The extended sinusoidal waveform is constructed by saturating the sinusoidal wave at a specified level smaller than unity. The resulting waveform is then normalized to have unit amplitude. The method is very general and flexible for adjusting the duration of constant acceleration phase in the waveform.  
         [0009]     The generalized sinusoidal waveform ( FIG. 2 ) is another class of trajectories generated by directly modifying the sine function of the prior art. Both the waveform and its derivative (slope) of a generalized sinusoidal profile are continuous at every point on the trajectory. The generalized sinusoidal waveform is constructed by modifying directly on the simple sine function with the insertion of a constant acceleration phase at the maximal and minimal points of the sine wave. For a standard sinusoidal waveform, the positive portion corresponds to the acceleration phase and the negative portion associates with the deceleration phase. Either the acceleration phase or the deceleration phase of the sinusoidal waveform can be further divided into two sub-phases depending on the slope of the waveform. The acceleration phase can be divided into the initial acceleration phase when the slope of waveform is positive and the final acceleration phase when the slope of the waveform is negative. The boundary point between the initial and final acceleration phases is the peak of acceleration. Similarly, we can divide the deceleration phase into the initial deceleration phase and the final deceleration phase depending on the sign of the waveform slope. The boundary point between the initial and final deceleration phases is the peak of the deceleration phase. The generalized sinusoidal waveform is constructed by inserting a constant acceleration phase in between the initial acceleration phase and the final acceleration phase and also inserting a constant deceleration phase in between the initial deceleration phase and the final deceleration phase. The total duration of the resulting generalized sinusoidal waveform is then normalized to have unity period. The waveform generated from such a construction method is equivalent to extend the peak of acceleration from a point to a finite duration and to extend the peak deceleration from a point to an equal-length finite duration. The only restraint of the trajectory is that the constant duration for acceleration and deceleration shall not exceed one half of the total duration of the waveform.  
         [0010]     The waveforms of the prior art are used to generate seek trajectories for controller, which performs a servo routine to move a transducer across disk surface. The waveform is used as the current trajectory for VCM with its amplitude determined by maximum current level of system design. The acceleration trajectory is linearly proportional to the current trajectory. The direct integration of the acceleration with respect to time for one time and two times yield the velocity trajectory and position trajectory, respectively. To perform its design function, the controller requires the information of current, velocity and position at any instant of servo interrupt during the entire process of seeks. Therefore, the computation of seek trajectories at any instant of time is essential for servomechanism design. The computation of seek trajectories is, therefore, an important task that should be carries out fast and accurately on real time basis. The trajectories for bang-bang control are easy and straightforward to generate. One method to generate sinusoidal seek trajectories employs a recursive algorithm with the use of trigonometric identities to calculate future values (synonymously, states) of these trajectories from their initial values (or states). The generation of seeks trajectories for the generalized Fourier seek method uses a similar recursive approach, which is significantly more tedious because, at least, one more harmonic term is involved. The seek trajectories for the extended sinusoidal waveform and the generalized sinusoidal waveform can be generated following the lines of trigonometric manipulations of even more complicated operations. Much more tedious real-time computations are necessary to generate states for these trajectories. High power central processing unit (CPU) as the digital signal processor (DSP) for the controller is necessary. It is important to emphasize that the states of trajectories are calculated on real time basis, and they need to be calculated fast and accurately. Therefore, it is crucial to come out with an effective method for generating states of seek trajectories at real time. The invention devises an algorithm for the computations of seek states of trajectories at real time using multi-linear approximations for trajectories. Compared to the recursive method for updating states, the new method is a much simpler approach to generate seek trajectories at real time.  
         [0011]     3. Objects and Advantages  
         [0012]     The invention addresses the usage and method of a very general class of waveform for current profile in seek servomechanism of hard disk drives. This general class of waveform is very general and flexible. It includes not only the conventional seek waveforms of bang-bang control curve and the sinusoidal waveform but also the more general waveforms such as the extended sinusoidal waveform and the generalized sinusoidal waveform as its special cases. The class of general waveform requires that the waveform be symmetric about the midpoint of the trajectory ( FIG. 3 ) because it simulates the acceleration phase and deceleration phase of current profile in a seek process.  
         [0013]     Using a waveform as acceleration profile, it is necessary to generate seek trajectories, including current trajectory, velocity trajectory and position trajectory at any instant of servo interrupt during a seek process. For generality, a waveform is typically normalized. The waveform is normalized for both amplitude and period. A normalized waveform is representative for any seek length. Based on the waveform, the velocity trajectory and position trajectory are derived. Both the velocity trajectory and the position trajectory are normalized so that they have unity amplitude in addition to unity period. For a short to medium seek length, an acceleration profile (or current profile) consists two phases: acceleration phase and deceleration. For a relatively longer seek length, the velocity of a transducer in the seek process may exceed a threshold design velocity limit, which is set to assure that the transducer can reliably read system information of Gray code from disk surface. Therefore, a coast mode is inserted in between the acceleration mode and the deceleration mode in which the current is set to be zero. Depending on the seek length, the duration of coast mode varies.  
         [0014]     The seek trajectories are typically generated for seeks without coast mode because the duration of coast mode can be different. For a selected waveform, the first step to generate seek trajectories is to determine the maximum seek length without a coast mode and the corresponding maximum seek time. The threshold seek length is dependent on both the hardware design such as torque constant and moment of inertia of actuator arm and geometrical layout of actuator arm, transducer and disk. When a seek length is longer than the threshold seek length, the duration of coast mode is determined based on the limit speed. The trajectories of long seeks with coast mode are formulated based on the normalized acceleration waveform. The acceleration mode and deceleration mode of trajectories are separated by a seek length dependent coast mode. The deceleration mode trajectories are essentially the same as those without coast mode with the exception of phase delay. When the seek length is shorter than the threshold seek length, we have to compute the seek time for the given seek length first. The seek time is proportional to a waveform dependent parameter and the square root of seek length. The seek trajectories for such seeks without coast mode are then formulated with appropriate scaling of time axis and the amplitudes of trajectories.  
         [0015]     Since the information of seek trajectories are required for the seek controller to perform its function, it is important that the seek states are generated effectively at real time. The curve of seek time versus seek length is approximated by a piecewise linear curve. By dividing this seek time versus seek length curve into a few segments and storing the end points with associated slope in system memory, the seek time is extracted from an appropriate segment by linear interpolation method. Similarly, the seek trajectories, including current, velocity and position, are modeled using a multi-linear approximation. Each trajectory is divided into a few segments with the number and density of segments determined by local curvatures of each trajectory. At any instant of servo interrupt, the seek states for current, velocity and position are extracted from a separate appropriate segment of each trajectory. Using the multi-linear approximation for either a seek time curve or any of the three seek trajectories is simpler and more computationally efficient than the conventional approach using recursive method to update seek states with trigonometric identities. The benefit of the method of multi-linear approximation for a design curve is especially more noticeable when the acceleration waveform gets more complicated.  
       SUMMARY  
       [0016]     To write to or to retrieve information from a target position on disk surface, a recording transducer of an actuator arm assembly moves to the target track on disk surface following a command from controller. The controller uses a servo routine to generate current for VCM as an engine to move the transducer to target reliably and as fast as possible. A bang-bang control algorithm for VCM current has been popular because it is theoretically time optimal for seek time. Since there are a few drawbacks associated with the bang-bang control, a sinusoidal seek method has been used as a preferred alternative to bang-bang control. The sinusoidal function has its merits; however, its waveform is rigid, and the only way to improve seek time is to increase the amplitude of the sinusoidal waveform that is not always possible. To improve the seek time associated with the sinusoidal waveform, a generalized Fourier seek method coupled with an optimization method to determine coefficients for its ingredient harmonics generates a class of more general waveform for seeks. To use the seek trajectories generated based on a current profile, the seek controller needs to know the states (or values) of current, velocity and position at any instant of servo interrupt, which implies that one has to compute these states of trajectories at real time basis. Except the bang-bang control that has relatively simple trajectories, the computation of seek trajectories for other waveform is a time consuming and tedious task even for today&#39;s powerful digital signal processor. A recursive method using trigonometric identities has been used to update seek states of trajectories associated with the sinusoidal seek method. Following the same lines of trigonometric manipulations, a more tedious recursive method is used to generate trajectories for generalized Fourier seek method. With the devises of new classes of waveforms for better seek time and robustness performance such as the extended sinusoidal waveform and the generalized sinusoidal waveform, the computation of these trajectories at real time using the recursive method and its likes may be a formidable task for its poor efficiency.  
         [0017]     The invention addresses the implementation method for a very general class of waveforms for seek controls, including the formulation of seeks trajectories based on an arbitrary acceleration waveform and the computation method to generate the states of seek trajectories at real time. The new class of waveforms is very general, and its only restraint is that the waveform is symmetric about the midpoint of the curve for emulating a typical seek process with the acceleration mode coming first and followed by a deceleration mode. The general class of waveforms includes the bang-bang control, the sine function, the generalized Fourier waveform or even the more general extended sinusoidal waveform and the generalized sinusoidal waveform as its special cases under different restraints.  
         [0018]     For generality, a waveform is typically normalized. The waveform is normalized for both amplitude and period. A normalized waveform is representative for any seek length. The formulation of seek trajectories from a normalized acceleration waveform is not a trivial matter. Based on the waveform, the velocity trajectory and position trajectory are derived. Both the velocity trajectory and the position trajectory are normalized too. For a short to medium seek length, an acceleration profile (or current profile) consists two phases: acceleration phase and deceleration. For a relatively longer seek length, the velocity of a transducer in the seek process may exceed a threshold velocity, which is set to assure that the transducer can reliably read Gray code from disk surface. Therefore, a coast mode is inserted in between the acceleration mode and the deceleration mode. Depending on the seek length, the duration of coast mode varies. For any given waveform, we have to compute the maximum seek length without coast mode and its associated seek time, which are dependent on both the hardware design and the geometrical layout of drives. The design procedures to obtain these two threshold design parameters are outlined. When seek length is shorter than the threshold seek length, the coast mode is not present, and the seek time is proportional to a waveform-dependent parameter and the square root of a seek length. To account for the inflexibility of square-root operation using a fixed-point processor, a multi-linear approximation for the seek time versus seek length is used to extract the seek time for a given seek length, based on which we formulate seek trajectories from the normalized acceleration waveform. When the seek length is longer than the threshold seek length, a coast mode exists. The duration of coast mode is determined, and the coast mode is inserted in between the acceleration mode and the deceleration mode. The trajectories of the deceleration mode are essentially the same as the case of trajectories without coast mode with the exception of phase delay.  
         [0019]     After the completion of formulating seek trajectories for a given waveform, one has to implement these trajectories by generating seek states at any time instant of servo interrupt at real time. Instead of using the conventional recursive method to update the seek dates, we find that it is less time consuming and more efficient to compute seek states by approximating each seek trajectory with a piecewise linear curve, and the seek state at any instant is extracted from an appropriate segment. The benefit of the multi-linear approximation becomes even more pronounced when the waveform gets more complicated.  
     
    
     DRAWINGS  
       [0020]      FIG. 1  illustrates the method to generate an extended sinusoidal waveform. The waveform is constructed by saturating a sine function at a specified level 0&lt;p&lt;1. The resulting waveform is then normalized so that it has unity amplitude. This waveform is a special case of the general waveform investigated in the patent.  
         [0021]      FIG. 2  presents the generation method for a generalized sinusoidal waveform Inserting a constant acceleration range and constant deceleration range to a sine function generates the waveform. Both the waveform and its slope are continuous. This waveform is a special case of the general waveform investigated in the patent.  
         [0022]      FIG. 3  depicts typical waveform of the general trajectory class, which is symmetrical about the midpoint of the waveform. This general waveform is very versatile provided that it is symmetric about its midpoint.  
         [0023]      FIG. 4  shows examples of the same waveforms of  FIG. 3  with a duration of coast mode.  
         [0024]      FIG. 5  is a flowchart summarizes the procedures to generate seek trajectories. For a given seek length, the flowchart shows step-by-step procedures to determine whether a coast mode exists and to generate the final forms of seek trajectories.  
         [0025]      FIG. 6  shows a controller with parametric seek trajectories. The controller requires the information of current, velocity and position at any instant of sampling time during seeks.  
         [0026]      FIG. 7  is an illustration of a controller design with seek trajectory on phase plane. The controller needs information of current trajectory and the seek trajectory on the phase plane at any instant of sampling time during seeks. The seek trajectory on phase plane is obtained combining the velocity and position trajectories by eliminating the time parameter explicitly.  
     
    
     DETAILED DESCRIPTION  
       [0027]     1. Acceleration Waveform and Seek Trajectories  
         [0028]     The waveform as acceleration trajectory in the patent is very general, which is usually normalized for both the abscissa and coordinate of the curve. The abscissa of the trajectory is the normalized time. The coordinate of the trajectory is the normalized acceleration. The normalized acceleration waveform is arbitrary as long as it is symmetric about the midpoint of the trajectory ( FIG. 3 ). Generally, the acceleration waveform is designed based on performance considerations such as access time, acoustic level, power consumption etc.  
         [0029]     In general form, the acceleration trajectory can be described by the following equation.  
               a   ⁡     (   x   )       =     {             f   ⁡     (   x   )       ,             0   ≤   x   &lt;     1   2       ,                 -     f   (     x   -     1   2       )       ,             1   2     &lt;   x   ≤   1.                     (   1   )             
 
         [0030]     Note that f(x) in Eq. (1) defined in  
       0   ≤   x   &lt;     1   2         
 
 should be continuous inside the range. 
 
         [0031]     The general normalized acceleration trajectory also satisfies the following restraint.  
                 max     0   ≤   x   ≤   1       ⁢     a   ⁡     (   x   )         =   1           (   2   )             
 
         [0032]     For servo design of seek control for hard disk drive applications, we need four seek trajectories at any instant of servo interrupt during the entire process of seeks. These seeks trajectories are current trajectory, acceleration trajectory, velocity trajectory and displacement (or position) trajectory. The current trajectory is directly proportional to the given acceleration trajectory. For any given acceleration waveform a(x), the corresponding velocity waveform v(x) and displacement waveform d(x) can be obtained using any of the following four methods. 
        (1) Analytical method: The velocity trajectory and displacement are directly obtained from the acceleration trajectory by integrating with respect to time once and twice, respectively. Dividing by the maximum value of each trajectory normalizes each trajectory after the integration. These normalized trajectories for velocity and position are shown in the following.  
               v   ⁡     (   x   )       =         ∫   0   x     ⁢       a   ⁡     (     x   1     )       ⁢           ⁢     ⅆ     x   1               ∫   0     1   2       ⁢       a   ⁡     (     x   1     )       ⁢           ⁢     ⅆ     x   1                     (   3   )                 d   ⁡     (   x   )       =         ∫   0   x     ⁢       v   ⁡     (     x   1     )       ⁢           ⁢     ⅆ     x   1               ∫   0   1     ⁢       v   ⁡     (     x   1     )       ⁢           ⁢     ⅆ     x   1                     (   4   )             
    The denominators of integrals in Eq. (3) and Eq. (4) are used to normalize the resulting trajectories. The denominator in Eq. (3) is the maximum velocity of the velocity trajectory before normalization. Similarly, the denominator in Eq. (4) is the maximum position of the position trajectory before normalization. The analytical method evaluates the trajectories of Eq. (3) and Eq. (4) in closed form.     (2) Numerical method: The trajectories of velocity and displacement trajectories are obtained from Eq. (3) and Eq. (4) by numerical integration method. Although there are no closed form representations available, v(x) and d(x) are directly available for code implementation.     (3) Instrumental method: For a given design acceleration trajectory a(x), the corresponding velocity and displacement trajectories are obtained using whatever instrument for calculating the area under the curves.     (4) Experimental method: Since the acceleration trajectory is linearly proportional to the current input of VCM, the velocity trajectory and displacement trajectory can be directly measured.     A very different waveform may be devised in the future to servo certain specific purposes of seek servomechanism in the future. The waveform is likely to be very different from the waveforms we know today. For such a waveform, the seek trajectories of velocity and position are likely to be obtained by using any of the latter three methods but not the analytical method.        
 
         [0039]     In Eq. (3), the denominator  
         ∫   0     1   2       ⁢       a   ⁡     (     x   1     )       ⁢           ⁢     ⅆ     x   1             
 
 is applied for normalization so that the maximum value of v(x) is 1 in the range of 0≦x≦1. Similarly, the denominator ∫ 0   1 v(x 1 )dx 1  in Eq. (4) is applied for normalization so that the maximum value of d(x) is 1 in the range of 0≦x≦1. 
 
         [0040]     Under the restraint of Eq. (1), the general function a(x) satisfies the following equation. 
 
∫ 0   1   a ( x ) dx= 0  (5) 
 
         [0041]     Eq. (5) states that the total area under the acceleration trajectory is zero.  
         [0042]     The simplest trajectory of the general waveform class is a bang-bang acceleration curve, which is a square wave for the first half of period followed by a negative square wave with the same magnitude for the second half of the period. A sinusoidal waveform is another example of the general waveform class, which is a simple sine function defined by a(x)=sin(x). For either of these waveforms, the corresponding velocity trajectory and displacement trajectory are readily obtained in closed forms by direct integrations.  
         [0043]     There are, at least, two more complicated seek trajectories of the prior art that are devised for seek control for hard disk drives. By saturating the sine function at a specified level less then one, and the resulting waveform is normalized to have unit amplitude, the extended sinusoidal waveform is constructed. To generate a generalized sinusoidal waveform, a constant acceleration phase and a corresponding constant deceleration phase are inserted at the peaks of the standard sine function, and the resulting waveform is normalized to have unit period. The normalized seek trajectories including acceleration, velocity and displacement using either the extended sinusoidal waveform or generalized sinusoidal waveform of prior art as design current profile exist. However, the implementation method for these seek trajectories is not a trivial matter. The invention outlines the method and procedure to implement the seek trajectories of the most general forms, which apply not only to simple waveform such as the sine function but also to more complicated waveforms such as the extended sinusoidal waveform and the generalized sinusoidal waveform. Furthermore, the implementation method applies for any acceleration waveform that satisfies Eq. (1).  
         [0044]     The waveform of the acceleration trajectory is usually normalized for the normalized time in the range 0≦n*≦1. However, the seek trajectories required for the controller are defined in the range of 0≦n≦N SK , where n is the discrete sampling time and N SK  is the seek time for a given seek length. The normalized time n* is related to the actual time by the following relationship.  
               n   *     =     n     N   SK               (   6   )             
 
         [0045]     For physical applications of the normalized waveform, the time axis of the waveform will be stretched, which is achieved by scaling the normalized time axis by seek time N SK .  
         [0046]     Let g a (n) denote the physical acceleration trajectory defined in the range of 0≦n≦N SK . Further, assume that the function g a (n) satisfies the restraint of Eq. (2) for simplicity. Considering a seek length without coast mode for now, we have 
 
 g   v ( N   SK )=∫ 0   N     SK     g   a ( n ) dn=N   SK ∫ 0   1   g   a ( nN   SK ) dn≡N   SK ∫ 0   1   a ( n ) dn= 0  (7) 
 
         [0047]     The integral given above is the total area under the curve, which is the final velocity at the end of seek. The integral of Eq. (7) is equal to zero because the velocity diminishes at the end of seek. Since the initial velocity is zero, we have g v (0)=0 as implied by Eq. (7). In Eq. (7), a(n) is a mathematical acceleration trajectory, which has been normalized for time axis and also amplitude as defined in Eq. (1). Making an integration from the start of a seek until a certain sampling instant n, the above equation becomes a corresponding velocity trajectory g v (n) defined in the range of 0≦n≦N SK .  
                       g   v     ⁡     (   n   )       =       ⁢       ∫   0   n     ⁢         g   a     ⁡     (     n   1     )       ⁢           ⁢     ⅆ     n   1                       =       ⁢       N   SK     ⁢           ⁢       ∫   0     n     N   SK         ⁢         g   a     ⁡     (       n   1     ⁢     N   SK       )       ⁢           ⁢     ⅆ     n   1                         ≡       ⁢       N   SK     ⁢           ⁢       ∫   0     n     N   SK         ⁢       a   ⁡     (     n   1     )       ⁢           ⁢     ⅆ     n   1                           (   8   )             
 
         [0048]     As implied by Eq. (1), the velocity trajectory g v (n) reaches its maximum at  
         n   =       N   SK     2       ,       
 
 which is  
                 max     0   ≤   x   ≤     N   SK         ⁢       g   v     ⁡     (   n   )         =       N   SK     ⁢           ⁢       ∫   0     1   2       ⁢       a   ⁡     (   n   )       ⁢           ⁢     ⅆ   n                   (   9   )             
 
         [0049]     Similarly, the displacement trajectory defined in the range of 0≦n≦N SK  is obtained from the acceleration trajectory by integrating twice.  
                       g   d     ⁡     (   n   )       =       ⁢       ∫   0   n     ⁢       ∫   0     n   2       ⁢         g   a     ⁡     (     n   1     )       ⁢           ⁢     ⅆ     n   1       ⁢           ⁢     ⅆ     n   2                         =       ⁢         (     N   SK     )     2     ⁢           ⁢       ∫   0     n     N   SK         ⁢       ∫   0       n   2       N   SK         ⁢         g   a     ⁡     (       n   1     ⁢           ⁢     N   SK       )       ⁢           ⁢     ⅆ     n   1       ⁢           ⁢     ⅆ     n   2                           ≡       ⁢         (     N   SK     )     2     ⁢           ⁢       ∫   0     n     N   SK         ⁢       ∫   0       n   2       N   SK         ⁢       a   ⁡     (   n   )       ⁢           ⁢     ⅆ     n   1       ⁢     ⅆ     n   2                             (   10   )             
 
         [0050]     Equivalently, the displacement trajectory g d (n) defined in the range of 0≦n≦N SK  can be shown as a one time integration of a velocity trajectory g v (n) defined in the same range of n.  
                       g   d     ⁡     (   n   )       =       ⁢       ∫   0   n     ⁢         g   v     ⁡     (     n   1     )       ⁢           ⁢     ⅆ     n   1                       =       ⁢       N   SK     ⁢           ⁢       ∫   0     n     N   SK         ⁢         g   v     ⁡     (       n   1     ⁢     N   SK       )       ⁢           ⁢     ⅆ     n   1                         ≡       ⁢       N   SK     ⁢           ⁢       ∫   0     n     N   SK         ⁢       v   ⁡     (     n   1     )       ⁢           ⁢     ⅆ     n   1                           (   11   )             
 
         [0051]     The function v(n) in Eq. (11) is a normalized velocity trajectory as defined in Eq. (3).  
         [0052]     Eq. (11) implies that the initial position is g d (0)=0 and the maximum displacement is just the final position given by 
 
 g   d ( N   SK )= N   SK ∫ 0   1   v ( n ) dn   (12) 
 
         [0053]     It is noted that the factor of N SK  appears in Eq. (8) for the velocity trajectory and the factor of (N SK ) 2  associated with the displacement trajectory of Eq. (10).  
         [0054]     The result of Eq. (10) is important in the determination of maximum seek length without coast mode for any given waveform.  
         [0055]     The current trajectory i(x) and the acceleration trajectory is related by the following equation.  
               a   ⁡     (   x   )       =         K   T     J     ⁢     i   ⁡     (   x   )                 (   13   )             
 
         [0056]     Since the actuator arm has a rotary motion in modem hard disk drive design, the acceleration a(x) given in Eq. (13) is angular acceleration shown in the unit of radian/sec 2 . The two symbols of K T  and J in Eq. (13) stand for VCM torque constant and mass moment of inertia of the actuator arm, respectively.  
         [0057]     2. Maximum Seek Length Without Coast Mode  
         [0058]     The moving speed of a transducer is typically set to a limit so that the transducer can read system information such as Gray code from disk surface reliably. There is coast mode in the acceleration trajectory for short to medium seek lengths. When the seek length is relatively long, and the maximum velocity based on the design acceleration trajectory may exceed the limit speed, a coast mode is inserted in the middle of the acceleration trajectory, in which the acceleration is set to be zero. During the coast mode, the transducer is cruising at a constant speed that is the design limit speed.  
         [0059]     The maximum seek length without a cost mode is dependent on three factors. The first factor is the design related parameters such as torque constant, inertia of actuator arm, maximum VCM current, arm length etc. The second factor is the design limit speed of transducer. Finally, the acceleration waveform is a critical factor for determining the maximum seeks length without a coast mode. The more aggressive the acceleration waveform, the shorter the maximum seek length without a coast mode.  
         [0060]     Given an acceleration waveform, the first task is to determine the maximum seeks length without a coast mode or threshold maximum seek length and the corresponding seek time or threshold maximum seek time for implementation of seek algorithm. The threshold seek time is generally determined first, then the threshold maximum seek length is calculated accordingly.  
         [0061]     To present the concept of the invention, a reference design is made. The design parameters related to the generation of seek trajectories are summarized in Table 1 below.  
                                                           TABLE 1                           Parameters of Reference Design                    Numerical               No   Parameter   Value   Unit   Remark                    1   I max     600   mA   Maximum VCM current       2   K T     609.4   gmf-cm/A   VCM torque constant       3   J   27.00   gm-cm 2     Inertia of actuator                       arm assembly       4   L arm     1.837   in   Arm length (pivot to                       transducer)       5   V max     95   ips   Maximum speed (inch                       per second)       6   N trk     133,932   track   Total number of servo                       tracks       7   Ψ   29.5   degree   Total data stroke       8   Ω   7200   RPM   Rotational speed of                       spindle motor (Revolu-                       tion per minute)       9   N s     240   sector   Number of servo sectors                       on a track                  
 
         [0062]     The sinusoidal waveform is a limiting waveform for either the generalized sinusoidal waveform or the extended sinusoidal waveform when the duration of constant accelerations shrinks to zero. Let A denote the normalized duration for the initial acceleration phase, which is equal to the duration of final acceleration phase, initial deceleration phase or final deceleration phase. When there is no constant acceleration phase, we have the relationship that 4A=1.  
         [0063]     Since the acceleration trajectory for seeks is normalized, the seek trajectories generated based on this normalized profile have to be converted to actual trajectories based on the design of consideration.  
         [0064]     The procedures for trajectories design including the calculation of the threshold maximum seek length and corresponding seek time for a normalized acceleration waveform are as follows. 
        1. Calculate the maximum velocity associated with the normalized velocity trajectory for a seek, which is  
               v   max     =           K   T     ⁢     I   max       J     ⁢           ⁢       ∫   0     1   2       ⁢       a   ⁡     (   x   )       ⁢           ⁢     ⅆ   x                   (   14   )             
    In Eq. (14), a(x) is the normalized acceleration trajectory of design defined in the range of 0≦n≦1. The integral term represents the maximum velocity associated with the given acceleration trajectory, which is usually computed numerically even with the availability of solution in closed form. The factor (K T I max /J) represents the current amplitude of a actual design, where I MAX  is the maximum VCM current of system design.     2. Calculate the maximum seek time (in sample) for the longest seek length without coast mode.  
               N   max     =       V   max         v   max     ⁢     L   arm     ⁢     T   S                 (   15   )             
    3. Calculate the conversion factor of angular displacement (in radian) to track.  
               f   A2T     =         N   trk     Ψ     ⁢     180   π               (   16   )             
    4. Finally, calculate the maximum seek length (in track) without a coast mode as follows.  
               X   max     =           K   T     ⁢     I   max       J     ⁢         f   A2T     ⁡     (       N   max     ⁢     T   S       )       2     ⁢           ⁢       ∫   0   1     ⁢       v   ⁡     (   x   )       ⁢           ⁢     ⅆ   x                   (   17   )             
    The integral term in Eq. (17) represents the maximum displacement associated with the normalized velocity trajectory v(x), which is usually computed numerically even with the availability of solution in closed form. The presence of the (N max T S ) 2  in Eq. (17) follows directly from the reasoning given in Eq. (10).     5. When a given seek length X SK  is shorter than X max , carry out the procedure from Step 6 through Step 10. Otherwise, one is ready to generate trajectories for a seek with coast mode. The method to generate these trajectories is described in Section 4.     6. Calculate the maximum position, which is the position at the end of seek, d f =d(1.0) given by 
 
 d   f   =d (1.0)=∫ 0   1   v ( x ) dx   (18) 
    In Eq. (18), x=1.0 is the end time for seek and v(x) is the normalized velocity trajectory given in Eq. (3). The final displacement is usually evaluated numerically except for very simple cases     7. Calculate the seek waveform dependent parameter for seek time ψ, which is defined as follows.  
             ψ   =     1       d   f                 (   19   )             
    This is a parameter representing the relative speed of seek time.     For the waveform of a sine function, we have ψ=√{square root over (2)}π. For a bang-bang control curve, this parameter turns out to be ψ=2π.     For almost all practical waveforms, the parameter ψ falls in the range between the two limits defined by the sinusoidal waveform for the upper limit and the bang-bang control curve for the lower limit. 
 
2≦ψ≦√{square root over (2)}π  (20) 
    8. Calculate sampling time of the digital servo system as below.  
               T   S     =     60       N   S     ⁢   Ω               (   21   )             
    9. Calculate the waveform dependent seek time (N SK ) as a function of seek length (X SK ) which is shorter than X max .  
               N   SK     =     ψ   ⁢           ⁢     1     T   S       ⁢         J       K   T     ⁢     I   max         ⁢     X   SK                   (   22   )             
    10. Generate seek trajectories without coast mode using the method described in Section 3.        
 
         [0081]     To demonstrate the application of the above design procedures, we use the extended sinusoidal waveform and the generalized sinusoidal waveform as examples to determine the maximum seek length without coast mode in tracks and its associated maximum seek time in samples.  
         [0082]     Table 2 is a comparison table to show the calculations of maximum seek length and corresponding maximum seek time for the generalized sinusoidal waveform without the necessity of a coast mode.  
                                     TABLE 2                           Maximum Seek Length And Seek Time for Generalized       Sine Waveform without Coast Mode            Case No   A   ψ   X max  (track)   N max  (sector)               1   0.25   {square root over (2π)}   82,144   352       2   0.20   2.3747   73,758   316       3   0.15   2.2617   67,076   287       4   0.10   2.1634   61,094   262       5   0.05   2.0769   56,555   242                  
 
         [0083]     Case 1 with A=0.25 reduces the generalized sinusoidal waveform to a sinusoidal wave, which is the slowest waveform in the class.  
         [0084]     The second example uses the extended sinusoidal waveform for illustration. The results of five cases studies are summarized in Table 3 below.  
                                                                   TABLE 3                           Maximum Seek Length And Seek Time for Extended       Sine Waveform without Coast Mode            Case No   p   A   Ψ   X max  (track)   N max  (sector)                    1   1.0   0.25   {square root over (2π)}   82,144   352       2   0.9   0.1782   2.4144   76,407   327       3   0.8   0.1476   2.3441   71,916   308       4   0.5   0.0833   2.1858   62,623   268       5   0.3   0.0485   2.1038   57,886   248                  
 
         [0085]     Case 1 with A=0.25 is the reduced form of a sinusoidal wave, which is the slowest waveform in the class of extended sinusoidal waveforms.  
         [0086]     3. Seek Trajectories Without Coast Mode  
         [0087]     For short to medium seek lengths, there is no coast mode. The seek trajectories, including current, velocity and position, are directly obtained by scaling the normalized seek trajectories. For a given seek length X SK &lt;X max , the corresponding seek time N SK  is less than N max .  
         [0088]     The normalized time axis in these seek trajectories has to be scaled by N SK . The current amplitude is I max  except for very short seek lengths. Therefore, the physical current trajectory to input to VCM is given by  
               I   ⁡     (   n   )       =       I   max     ⁢           ⁢     a   ⁡     (     n     N   SK       )                 (   23   )             
 
         [0089]     Similarly, the physical velocity trajectory and position trajectory for seeks without coast mode are cast in the following.  
               V   ⁡     (   n   )       =       V   SK     ⁢     v   ⁡     (     n     N   SK       )                 (   24   )                 D   ⁡     (   n   )       =       X   SK     ⁢     d   ⁡     (     n     N   SK       )                 (   25   )             
 
         [0090]     For any of these physical seek trajectories, the discrete time n falls in the range 0≦n≦N SK . The function a(●) in Eq. (23) is the given normalized acceleration waveform as described in Section 1. The waveforms of v(●) in Eq. (24) and d(●) in Eq. (25) are derived from a(●) using any appropriate methods described in Section 1.  
         [0091]     It follows from Eq. (8) that the amplitude of velocity V SK  in Eq. (24) is related to the velocity amplitude v max  of Eq. (19), which is associated with the normalized velocity trajectory v(x). 
 
 V   SK   =v   max   N   SK   (26) 
 
         [0092]     4. Trajectories for Long Seeks With Coast Mode  
         [0093]     When a coast mode is not present, the acceleration trajectory for a seek can be divided into two phases: acceleration phase for a(x)≧0 and deceleration phase for a(x)&lt;0. Previously, we have computed the maximum seek length without coast mode for a given acceleration waveform. When the seek length gets longer than this threshold maximum seek length, a coast mode is inserted to assure the reliable reading of Gray code from disk surface. Now we are going to address the generation of these seek trajectories with a cost mode.  
         [0094]     When the seek length X SK  is longer than the threshold maximum seek length X max  as computed in previous section, coast mode exists. Let the corresponding seek time be denoted by N SK &gt;N max , which is the maximum seek length without a coast mode. Then the duration of coast mode is just equal to N CST  as follows. 
 
 N   CST   =N   SK   −N   max   (27) 
 
         [0095]     During the duration of coast mode, the normalized acceleration, velocity and position of the transducer are computed as follows, respectively. 
 
 a ( x )=0  (28) 
 
 v ( x )=1  (29) 
 
 d ( x )= d   a +( x−x   a )  (30) 
 
         [0096]     In Eq. (30), d a  stands for the displacement at the end of positive acceleration phase, and x a  is the end time of the acceleration phase. Since the final value of the normalized position trajectory gains a value due to the coast mode as shown in Eq. (30), the resulting position trajectory with coast mode is no longer to have unity maximum displacement. Therefore, we have to normalize the position trajectory again for unity maximum position at the end of seeks. Further, since there is an additional time elapsed due to the coast mode, the time variable in the above equations are normalized with respect to N SK  so that x≦1.  
         [0097]     Let the normalized seek trajectories of acceleration, velocity and position be denoted by a(x), v(x) and d(x), respectively. These trajectories are generic in the sense that the amplitude and period of each waveform is unity. These trajectories are to be used for any design and for any seek length. Let I(n), V(n) and D(n) be the physical current, velocity and position trajectories, respectively.  
         [0098]     These physical seek trajectories for the acceleration phase, namely  
         0   ≤   n   ≤       N   max     2       ,       
 
 are given as follows.  
               I   ⁡     (   n   )       =       I   max     ⁢     a   ⁡     (     n     N   SK       )                 (   31   )                 V   ⁡     (   n   )       =       V   max     ⁢     v   ⁡     (     n     N   SK       )                 (   32   )                 D   ⁡     (   n   )       =       X   SK     ⁢     d   ⁡     (     n     N   SK       )                 (   33   )             
 
         [0099]     The function a(●) in Eq. (31) is the given normalized acceleration waveform as described in Section 1. The waveforms of v(●) in Eq. (32) and d(●) in Eq. (33) are derived from a(●) using any appropriate methods described in Section 1.  
         [0100]     The physical seek trajectories for the deceleration phase, namely  
             N   max     2     +     N   CST       &lt;   n   &lt;       N   SK     ⁢           ⁢   are         
 
 given in the following.  
               I   ⁡     (   n   )       =       I   max     ⁢     a   (       n   -       N   max     2     -     N   CST         N   SK       )               (   34   )                 V   ⁡     (   n   )       =       V   max     ⁢     v   (       n   -       N   max     2     -     N   CST         N   SK       )               (   35   )                 D   ⁡     (   x   )       =       X   SK     ⁢     d   (       n   -       N   max     2     -     N   CST         N   SK       )               (   36   )             
 
         [0101]     The function a(●) in Eq. (34) is the given normalized acceleration waveform as described in Section 1. The waveforms of v(●) in Eq. (35) and d(●) in Eq. (36) are derived from a(●) using any appropriate methods described in Section 1.  
         [0102]     For the coast mode, these physical seek trajectories for  
           N   max     2     &lt;   n   ≤         N   max     2     +       N   CST     ⁢           ⁢   are           
 
 transformed to be the following from Eq. (27) through Eq. (30).  
               I   ⁡     (   n   )       =   0           (   37   )                 V   ⁡     (   n   )       =     V   max             (   38   )                 D   ⁡     (   n   )       =       D   ⁡     (       N   max     2     )       +       V   max     ⁡     (     n   -       N   max     2       )                 (   39   )             
 
         [0103]     To apply Eq. (39), one needs to convert unit of the design maximum velocity V max  from ips to track per sample.  
         [0104]     For a given seek length X SK , the procedures to generate the seek trajectories require a serial of computations from Section 2 through Section 4. To clarify the design sequences, the flowchart of  FIG. 4  outlines the step-by-step procedures to generate seek trajectories for the given seek length X SK  either with coast mode or without coast mode.  
         [0105]     5. Controller Design for Seeks  
         [0106]     The seek trajectories, including acceleration or current, velocity and position, have been expressed as functions of time. Since the time is a parameter in each design profile, these profiles are referred to as trajectories of the parametric form.  
         [0107]     Depending on the design of seek controller, there are two methods to apply the extended sinusoidal wave to seeks in the servomechanism of hard disk drive. The first type seek controller ( FIG. 4 ) is the conventional approach, which relies on the availability of seek trajectories at any instant of servo interrupt. Since these seek profiles are available at any time instant, they are the parametric trajectories.  
         [0108]     The current trajectory is always given in parametric form because the current input to voice coil motor (VCM) is based on this design trajectory. However, the velocity trajectory and the position trajectory can be combined into a single trajectory on the phase plane by explicitly eliminating the time variable from these trajectories equations. The second type seek controller ( FIG. 5 ) uses the seek trajectory on the phase plane. At any instant of servo interrupt, the head position is measured with a sensor or estimated using an estimator (or observer) when it is available in the servo system design. Given the head position from either the position sensor output or the estimator output, the design velocity at that particular position is extracted from the seek trajectory on the phase plane. The design velocity at that position is then compared against the actual velocity at that instant from either the estimator output or a tachometer output.  
         [0109]     Using either one of the two seek controllers, the controller output consists of three parts: 
        (1) The current corrections associate with the differences between the design velocity and measured velocity, and between the design position and measured position. These error terms are scaled by appropriate gains to yield current corrections.     (2) The design current, which is based on current trajectory at the instant of servo interrupt.     (3) The adjustment current to account for bias caused by flex cable and other possible sources        
 
         [0113]     The control current for the parametric form seek controller ( FIG. 4 ) is given by 
 
 u ( n )= K   1   X   err ( n )+ K   2   V   err ( n )+ i   D ( n )− w   E ( n )  (40) 
 
         [0114]     For seek controller on the phase plane, the controller current ( FIG. 5 ) is computed as follows. 
 
 u ( n )= K   V   V   err ( n )+ i   D ( n )− w   E ( n )  (41) 
 
         [0115]     Note that the parametric trajectories are explicitly dependent on time. The seek trajectory is explicitly dependent on position; however, it is implicitly dependent on time.  
         [0116]     6. Multi-Linear Approximation of a Design Curve  
         [0117]     The design curve referred herein can be a seek time versus seek length curve, a current trajectory, velocity or a position trajectory. The design curve is continuous over the time range of 0≦n≦N SK , where N SK  is the discrete seek time.  
         [0118]     In parametric form, there are three seek trajectories, which are current (or acceleration) trajectory, velocity trajectory and position trajectory. These trajectories are function s of an independent variable, which is time. When the time variable is eliminated from the combination of velocity trajectory and position trajectory, the result is a seek trajectory on the phase plane. For implementation, any of these seek trajectories is approximated by a separate multi-linear trajectory (or a piecewise linear trajectory). With the approach of multi-linear approximation, each seek trajectory is divided into a few linear.  
         [0119]     With such a method, the seek trajectory is expressed mathematically as follows:  
             y   =       f   ⁡     (   x   )       =     {                 C   11     ⁢   x     +     C   10       ,     0   ≤   x   ≤     x   1       ,                     C   21     ⁢   x     +     C   20       ,       x   1     ≤   x   ≤     x   2       ,                     C   31     ⁢   x     +     C   30       ,       x   2     ≤   x   ≤     x   3       ,             ⋯                   C     N   ⁢           ⁢   1       ⁢   x     +     C   N0       ,       x     (     N   -   1     )       ≤   x   ≤       x   N     .                           (   42   )             
 
         [0120]     In the above equation, the variable x is the distance to go in track, and y is the variable associated with a seek trajectory.  
         [0121]     A linear line below approximates each segment of the seek trajectory. 
 
 y   i   =C   i1   x   i   +C   i0   , i= 1, 2, . . . ,  N.   (43) 
 
         [0122]     The first coefficient C i1  is the slope of the line, and the second coefficient C i0  is the intercept of this line.  
         [0123]     Suppose that ({overscore (x)} i , {overscore (y)} i ) and ({overscore (x)} i+1 , {overscore (y)} i+1 ) are the coordinates of the two end points on the i-th linear trajectory. Then the slope of the i-th linear equations is found to be  
               C   i1     =             y   _       i   +   1       -       y   _     i             x   _       i   +   1       -       x   _     i         .             (   44   )             
 
         [0124]     The intercept of the i-th linear equations is just equal to the value of function at left end point. 
 
 C   i0   ={overscore (y)}   i .  (45) 
 
         [0125]     Equivalently, the intercept of the equation can be determined using Eq. (43) as follows. 
 
 C   i0   ={overscore (y)}   i   −C   i1   {overscore (x)}   i , 
 
 C   i0   ={overscore (y)}   i+1   −C   i1   {overscore (x)}   i+1 .  (46) 
 
         [0126]     For implementation consideration, we use the piecewise linear model to represent any of the normalized seek trajectory either in parametric form or on the phase plane. The boundary points x 1 , x 2 , . . . , x N  are pre-determined. Memory storages are used to store three column vectors: {x}, {C i1 } and {C i0 }.  
         [0127]     In addition to these seek trajectories, the multi-linear approximation is also an ideal method to compute the seek time for a seek length shorter than the threshold maximum seek length without coast mode. When the coast mode is not present, the seek time is proportional to the square root of seek length.