Patent Publication Number: US-7215503-B2

Title: Time linear arrival for velocity mode seeks

Description:
FIELD OF THE INVENTION 
     Embodiments of the present invention relate generally to control systems for disc drives. More particularly, the present embodiments relate to improving seek performance in a disc drive by way of a control system employing an improved reference profile for controlling arrival at a track. 
     BACKGROUND OF THE INVENTION 
     Disc drives are commonly used in workstations, personal computers, laptops and other computer systems to store large amounts of data in a form that can be made readily available to a user. In general, a disc drive comprises a magnetic disc that is rotated by a spindle motor. The surface of the disc is divided into a series of data tracks. The data tracks are spaced radially from one another across a band having an inner diameter and an outer diameter. 
     Each of the data tracks extends generally circumferentially around the disc and can store data in the form of magnetic transitions within the radial extent of the track on the disc surface. An interactive element, such as a magnetic transducer, is used to sense the magnetic transitions to read data, or to transmit an electric signal that causes a magnetic transition on the disc surface, to write data. The magnetic transducer includes a read/write gap that contains the active elements of the transducer at a position suitable for interaction with the magnetic surface of the disc. The radial dimension of the gap fits within the radial extent of the data track containing the transitions so that only transitions of the single track are transduced by the interactive element when the interactive element is properly centered over the respective data track. 
     The magnetic transducer is mounted by a head structure to a rotary actuator arm and is selectively positioned by the actuator arm over a preselected data track of the disc to either read data from or write data to the preselected data track of the disc, as the disc rotates below the transducer. The actuator arm is, in turn, mounted to a voice coil motor that can be controlled to move the actuator arm across the disc surface. 
     A servo system is typically used to control the position of the actuator arm to insure that the head is properly centered over the magnetic transitions during either a read or write operation. In a known servo system, servo position information is recorded on the disc surface between written data blocks, and periodically read by the head for use in a closed loop control of the voice coil motor to position the actuator arm. Such a servo arrangement is referred to as an embedded servo system. 
     In modern disc drive architectures utilizing an embedded servo, each data track is divided into a number of data sectors for storing fixed sized data blocks, one per sector. Associated with the data sectors are a series of servo sectors, generally equally spaced around the circumference of the data track. The servo sectors can be arranged between data sectors or arranged independently of the data sectors such that the servo sectors split data fields of the data sectors. 
     Each servo sector contains magnetic transitions that are arranged relative to a track centerline such that signals derived from the transitions can be used to determine head position. For example, the servo information can comprise two separate bursts of magnetic transitions, one recorded on one side of the track centerline and the other recorded on the opposite side of the track centerline. Whenever a head is over a servo sector, the head reads each of the servo bursts and the signals resulting from the transduction of the bursts are transmitted to, e.g., a microprocessor within the disc drive for processing. 
     When the head is properly positioned over a track centerline, the head will straddle the two bursts, and the strength of the combined signals transduced from the burst on one side of the track centerline will equal the strength of the combined signals transduced from the burst on the other side of the track centerline. The microprocessor can be used to subtract one burst value from the other each time a servo sector is read by the head. When the result is zero, the microprocessor will know that the two signals are equal, indicating that the head is properly positioned. 
     If the result is other than zero, then one signal is stronger than the other, indicating that the head is displaced from the track centerline and overlying one of the bursts more than the other. The magnitude and sign of the subtraction result can be used by the microprocessor to determine the direction and distance the head is displaced from the track centerline, and generate a control signal to move the actuator back towards the centerline. 
     Each servo sector also contains encoded information to uniquely identify the specific track location of the head. For example, each track can be assigned a unique number, which is encoded using a Gray code and recorded in each servo sector of the track. The Gray code information is used in conjunction with the servo bursts to control movement of the actuator arm when the arm is moving the head in a seek operation from a current track to a destination track containing a data field to be read or written. 
     A seek operation generally consists of three phases, an acceleration phase in which the actuator arm begins to move and picks up speed, a coasting phase during which acceleration stays constant (if required), and a deceleration phase in which the actuator arm (and head) slows down to arrive at the desired track. The final approach of the head to the desired track is known as “arrival.” 
     The arrival portion of a seek operation can have a profound impact on the performance of a disc drive, since seeking is one of the most expensive operations performed by a disc drive in terms of performance cost. Because acceleration and velocity are continuous physical quantities, it is not possible for the actuator arm to come to an instantaneous stop from any arbitrary velocity. Instead, the actuator arm must gradually decelerate at a controlled rate in order for the head to become centered over the desired track. If deceleration is too rapid, the actuator arm control system may experience overshoot and instabilities (such as oscillation) that make track following difficult and ultimately result in performance degradation. If, on the other hand, deceleration is too gradual, performance will also be degraded because the seek operation itself will take too long. 
     The present embodiments provide a solution to this and other problems, and offers other advantages over previous solutions. 
     SUMMARY OF THE INVENTION 
     Embodiments of the present invention provide a method and apparatus for controlling the arrival of a disc drive actuator arm assembly using a time-linear arrival profile. Some embodiments of the present invention employ a closed-loop control system in which velocity is the controlled parameter. A reference velocity is calculated as a function of the current position of the arm assembly and the amount of time left to complete the seek operation, where the first derivative of the reference velocity function with respect to time varies linearly with respect to time. This computed reference velocity is compared to the actual velocity as determined from measuring the position of the arm assembly and the actual command signal applied to the arm assembly motor. An error signal is thus obtained. This error signal is summed with a feedforward signal to achieve the desired command signal, where the feedforward signal is derived from the measured acceleration of the arm assembly. In some embodiments, this time-linear arrival is utilized in the second stage of a two-stage arrival sequence, in which the arm assembly follows a constant-acceleration profile during the first stage. 
     These and various other features as well as advantages which characterize the present embodiments will be apparent upon reading of the following detailed description and review of the associated drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is an exemplary perspective view of an exemplary disc drive. 
         FIG. 2  is an exemplary top plan view of the printed circuit board of the exemplary disc drive of  FIG. 1 . 
         FIG. 3  is a block diagram of a disc drive actuator arm control system in accordance with embodiments of the present invention; 
         FIG. 4  is a flowchart representation of a process of performing a seek in accordance with embodiments of the present invention; and 
         FIG. 5  is a phase plane diagram depicting the operation of a track arrival using square root and time-linear arrival profiles in accordance with embodiments of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     Referring now to the drawings, and initially to  FIG. 1 , there is illustrated an example of a disc drive designated generally by the reference numeral  20 . The disc drive  20  includes a stack of storage discs  22   a–d  and a stack of read/write heads  24   a–h . In the depicted example, heads are only shown on the top surface of each platter of the disc driver for simplicity and clarity of the drawing, however, it should be noted that additional heads are typically provided for the bottom surfaces of each platter as well. Each of the storage discs  22   a–d  is provided with a plurality of data tracks to store user data. As illustrated in  FIG. 1 , one head is provided for each surface of each of the discs  22   a–d  such that data can be read from or written to the data tracks of all of the storage discs. The heads are coupled to a pre-amplifier  31 . It should be understood that the disc drive  20  is merely representative of a disc drive system utilizing the present invention and that the present embodiments can be implemented in a disc drive system including more or fewer storage discs. 
     The storage discs  22   a–d  are mounted for rotation by a spindle motor arrangement  29 , as is known in the art. Moreover, the read/write heads  24   a–h  are supported by respective actuator arms  28   a–h  for controlled positioning over preselected radii of the storage discs  22   a–d  to enable the reading and writing of data from and to the data tracks. To that end, the actuator arms  28   a–h  are rotatably mounted on a pin  30  by a voice coil motor  32  operable to controllably rotate the actuator arms  28   a–h  radially across the disc surfaces. One of ordinary skill in the art will recognize that some disc drives utilize linear voice coil actuator arms that move laterally along a radial direction with respect to the discs, rather than the rotary voice coil actuator arms depicted here. 
     Each of the read/write heads  24   a–h  is mounted to a respective actuator arm  28   a–h  by a flexure element (not shown) and comprises a magnetic transducer  25  mounted to a slider  26  having an air bearing surface (not shown), all in a known manner. As typically utilized in disc drive systems, the sliders  26  cause the magnetic transducers  25  of the read/write heads  24   a–h  to “fly” above the surfaces of the respective storage discs  22   a–d  for non-contact operation of the disc drive system, as discussed above. When not in use, the voice coil motor  32  rotates the actuator arms  28   a–h  during a contact stop operation, to position the read/write heads  24   a–h  over a respective landing zone  58  or  60 , where the read/write heads  24   a–h  come to rest on the storage disc surfaces. As should be understood, each of the read/write heads  24   a–h  is at rest on a respective landing zone  58  or  60  at the commencement of a contact start operation. 
     A printed circuit board (PCB)  34  is provided to mount control electronics for controlled operation of the spindle motor  29  and the voice coil motor  32 . The PCB  34  also includes read/write channel circuitry coupled to the read/write heads  24   a–h  via the pre-amplifier  31 , to control the transfer of data to and from the data tracks of the storage discs  22   a–d . The manner for coupling the PCB  34  to the various components of the disc drive is well known in the art, and includes a connector  33  to couple the read/write channel circuitry to the pre-amplifier  31 . 
     Referring now to  FIG. 2 , there is illustrated in schematic form the PCB  34  and the electrical couplings between the control electronics on the PCB  34  and the components of the disc drive system described above. A microprocessor  35  is coupled to each of a read/write control  36 , spindle motor control  38 , actuator control  40 , ROM  42  and RAM  43 . In modern disc drive designs, the microprocessor can comprise a digital signal processor (DSP). The microprocessor  35  sends data to and receives data from the storage discs  22   a–d  via the read/write control  36  and the read/write heads  24   a–h.    
     The microprocessor  35  also operates according to instructions stored in the ROM  42  to generate and transmit control signals to each of the spindle motor control  38  and the actuator control  40 . The spindle motor control  38  is responsive to the control signals received from the microprocessor  35  to generate and transmit a drive voltage to the spindle motor  29  to cause the storage discs  22   a–d  to rotate at an appropriate rotational velocity. 
     Similarly, the actuator control  40  is responsive to the control signals received from the microprocessor  35  to generate and transmit a voltage to the voice coil motor  32  to controllably rotate the read/write heads  24   a–h , via the actuator arms  28   a–h , to preselected radial positions over the storage discs  22   a–d . The magnitude and polarity of the voltage generated by the actuator control  40 , as a function of the microprocessor control signals, determines the radial direction and radial speed of the read/write heads  24   a–h.    
     When data to be written or read from one of the storage discs  22   a–d  are stored on a data track different from the current radial position of the read/write heads  24   a–h , the microprocessor  35  determines the current radial position of the read/write heads  24   a–h  and the radial position of the data track where the read/write heads  24   a–h  are to be relocated. The microprocessor  35  then implements a seek operation wherein the control signals generated by the microprocessor  35  for the actuator control  40  cause the voice coil motor  32  to move the read/write heads  24   a–h  from the current data track to a destination data track at the desired radial position. 
     When the actuator has moved the read/write heads  24   a–h  to the destination data track, a multiplexer (not shown) is used to couple the head  24   a–h  over the specific data track to be written or read, to the read/write control  36 , as is generally known in the art. The read/write control  36  includes a read channel that, in accordance with modern disc drive design, comprises an electronic circuit that detects information represented by magnetic transitions recorded on the disc surface within the radial extent of the selected data track. As described above, each data track is divided into a number of data sectors. 
     During a read operation, electrical signals transduced by the head from the magnetic transitions of the data sectors are input to the read channel of the read/write control  36  for processing via the pre-amplifier  31 . The RAM  43  can be used to buffer data read from or to be written to the data sectors of the storage discs  22   a–d  via the read/write control  36 . The buffered data can be transferred to or from a host computer utilizing the disc drive for data storage. 
     The present embodiments provide a method and apparatus for controlling the arrival of a disc drive actuator arm assembly using a time-linear arrival profile. Some embodiments of the present invention employ a closed-loop control system in which velocity is the controlled parameter. A reference velocity is calculated as a function of the current position of the arm assembly and the amount of time left to complete the seek operation, where the first derivative of the reference velocity function with respect to time varies linearly with respect to time. This computed reference velocity is compared to the actual velocity as determined from measuring the position of the arm assembly and the actual command signal applied to the arm assembly motor. An error signal is thus obtained. This error signal is summed with a feedforward signal to achieve the desired command signal, where the feedforward signal is derived from the measured acceleration of the arm assembly. 
     In some embodiments, the arrival phase of a seek operation is conducted in two stages. In the first stage, the acceleration (which is actually deceleration in the case of arrival) is a constant and represents an optimum level of acceleration for the voice coil motor. This allows the arm assembly to move at an optimal velocity for as long as practicable. This first stage is said to follow a “square root” velocity profile, because the velocity of the head when acceleration is constant is √{square root over (2ax)}, where a is the instantaneous acceleration of the head and x is the position of the head as measured from the desired track. In a preferred embodiment, the “desired track” that is used to compute the square root velocity profile may not be the actual track to which the entire seek will take place; an optimal target track for the square root velocity profile is chosen at the beginning in order to optimize the overall seek time. 
     The second stage is the “time-linear arrival” stage, in which the acceleration of the head varies linearly with respect to time until the acceleration, velocity, and position of the head converge at zero at the desired track. In a preferred embodiment, the point at which the transition from the “square-root” velocity profile stage to the “time-linear arrival” stage takes place is determined before the seek operation takes place, by determining a point at which a smooth transition may be made from the square root profile to the time-linear arrival profile. One of ordinary skill in the art will recognize that such a transition point may be determined by setting one or more of the motion functions (e.g., velocity or acceleration) of one profile equal to the corresponding function(s) from the other profile and solving for the unknown distance at which the acceleration and/or velocity value(s) from both profiles are equal. An example of this transition process is provided in  FIG. 5 .  FIG. 5  is a phase plane diagram of a two-stage arrival in accordance with embodiments a of the present invention. Graph  500  shows a transition point  502  between a square root velocity profile (solid line) and a time-linear arrival profile (dashed line) in terms of head velocity and the number of tracks to go in the seek operation. Similarly graph  550  depicts a transition point  552  between a square root velocity profile (solid line) and a time-linear arrival profile (dashed line) in terms of head deceleration and the number of tracks to go in the seek operation. 
     In the “time-linear arrival” stage, the position of the head varies polynomially with respect to time, rather than exponentially. A set of basic motion functions for a time-linear arrival are as follows: 
                             a   ⁡     (   t   )       =       a   0     ⁢   mt       ,                   v   ⁡     (   t   )       =       1   2     ⁢     a   0     ⁢   m   ⁢           ⁢     t   2         ,                         x   ⁡     (   t   )       =       1   6     ⁢     a   0     ⁢   m   ⁢           ⁢     t   3         ,               
where m, the “slope constant,” determines the slope of the acceleration function a(t). If the total time to decelerate from a 0  to 0 is given as T, then m=T −1 . Thus, by “time linear” it is meant that acceleration varies linearly with respect to time. Since instantaneous acceleration is the first derivative (from the differential calculus) of instantaneous velocity, it is a necessary and sufficient condition of a time-linear arrival profile that the first derivative of the velocity varies linearly with respect to time. It can be easily verified that the above motion functions for time-linear arrival may be rewritten as follows:
 
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             a 
                             ⁡ 
                             
                               ( 
                               t 
                               ) 
                             
                           
                           = 
                           
                             
                               2 
                               ⁢ 
                               v 
                             
                             t 
                           
                         
                         , 
                       
                     
                   
                   
                     
                       
                         
                           
                             v 
                             ⁡ 
                             
                               ( 
                               t 
                               ) 
                             
                           
                           = 
                           
                             
                               3 
                               ⁢ 
                               x 
                             
                             t 
                           
                         
                         , 
                       
                     
                   
                 
               
             
             
               
                 
                   
                     x 
                     ⁡ 
                     
                       ( 
                       t 
                       ) 
                     
                   
                   = 
                   
                     
                       
                         a 
                         0 
                       
                       
                         6 
                         ⁢ 
                         
                           m 
                           2 
                         
                       
                     
                     . 
                   
                 
               
             
           
         
       
     
     It can also be easily verified that the following equations also define a time-linear arrival profile: 
                       a   ⁡     (   SamsToGo   )       =       2   ⁢   v     SamsToGo       ,                   v   ⁡     (   SamsToGo   )       =       3   ⁢   x     SamsToGo       ,                   x   ⁡     (   SamsToGo   )       =       1   6     ⁢       a   0     ·     SamsToGo   2           ,               
where SamsToGo represents the number of sampling periods left in the duration of the seek operation. In some embodiments, these sampling periods correspond to the time periods between successive samples of servo information from the disc to determine the position of the head with respect to the disc&#39;s tracks. These motion functions in terms of SamsToGo are easily calculated in fixed-point arithmetic in digital circuitry or in a stored-program computer. In a preferred embodiment, SamsToGo itself is predetermined according to empirical data gathered during the design process of the disc drive, as this number will be specific to a particular mechanical and electrical design. Embodiments of the present invention determine a reference velocity v ref (t) using the above function definition for v(t) by applying an empirically estimated position value for x and the estimated number samples remaining as SamsToGo. v ref (t) is then compared with an empirically estimated velocity figure to derive an error signal, which is then used to correct the command signal fed to the voice coil motor.
 
       FIG. 3  is a block diagram of a disc drive actuator arm control system in accordance with embodiments of the present invention. The block diagram represented in  FIG. 3  is representative of control circuitry or program code for computer-based control. Although this discussion will refer to the elements described in  FIG. 3  in terms of components of a control circuit (e.g., multiplier  302 , etc.), it should be understood by those skilled in the art that the control system described in  FIG. 3  may be implemented in program code for execution in a stored-program computing device (e.g., a microprocessor, microcontroller, DSP, or other device that executes software), in dedicated circuitry, or in a combination of both. Each block in  FIG. 3  may be implemented as one or more instructions in a programming language such as C, for example. 
     In some embodiments, while the square root profile is being used, a feedforward signal  300  is generated based on the maximum current drive for plant  318 , which, in some embodiments, is a voice coil motor. Feedforward signal  300  represents a desired acceleration profile. In the “square-root” velocity profile mode of operation, feedforward signal  300  is a constant that represents the maximum command current that can be fed to plant  318 . In the “time-linear arrival” velocity profile mode, on the other hand, acceleration varies linearly with respect to time. Thus, during the time-linear arrival portion of a seek operation, feedforward signal  301 , which is derived from an empirically estimated acceleration, is used instead (which is itself computed from the velocity of the head as determined by estimator  308 —where the acceleration is calculated from velocity as 2v/SamsToGo and the velocity is calculated as 3x/SamsToGo). In  FIG. 3 , a switch  303  represents the ability to switch from the square root velocity profile to the time-linear arrival profile. The closed-loop system of  FIG. 3  uses velocity as the controlled parameter to correct feedforward signal  300  (in the square root profile) or feedforward signal  301  (in the time-linear arrival profile) in order to be used as a command signal to plant  318 . 
     Multiplier  302  converts feedforward signal  300  from a value of an electrical current (i.e., to drive plant  318 ) to an acceleration value. Meanwhile, the desired track (target track  306 ) is compared with position feedback information from plant  318  to generate a position value X (summing block  307 ). Reference velocity generator  304  takes this current position information and current acceleration information and uses this information, along with the number of remaining sampling periods (SamsToGo) and derives a reference velocity. This reference velocity is derived according to a different formula, depending on whether the “square root” profile is being used or the “time-linear arrival” profile is being used, as shown in  FIG. 3 . In the square-root profile, the reference velocity is computed as sqrt(2*a*X) (which denotes √{square root over (2ax)} in several programming languages). In the “time-linear arrival” profile, the reference velocity is computed as (3*X)/SamsToGo. A limiter  310  is applied to the output of reference velocity generator  304  to keep the output within acceptable ranges. 
     Estimator  308  takes position feedback information from plant  318  and the command signal that is fed to plant  318  (which is indicative of acceleration), and computes an empirical estimate of the velocity of the head. This estimated velocity is compared with the reference velocity (summing block  311 ) to obtain an error signal. This error signal is then multiplied by a suitable constant (multiplier  312 ) to obtain a scaled error signal. The scaled error signal is then compared with feedforward signal  300  (summing block  313 ) to obtain an adjusted command signal. A limiter  314  and notch filter  316  are applied to this adjusted command signal to keep the command signal within acceptable current levels and to prevent instability, respectively. This limited, filtered command signal is then fed into plant  318  to control movement of the actuator arm assembly. 
       FIG. 4  is a flowchart representation of a process of controlling the arrival phase of a seek operation in a disc drive in accordance with preferred embodiments of the present invention. The distance to travel and time to complete the arrival phase of the seek are first calculated (block  400 ). The square root velocity profile is initially used in a control system as in  FIG. 3  to control the deceleration of the actuator arm assembly (block  402 ), and the square root velocity profile continues to be used (block  404 : No) until a pre-determined transition point is reached. When the transition point is reached (block  404 : Yes), then the time-linear velocity profile is used instead of the square root profile (block  406 ) until the desired track is reached (block  408 ), after which time track following and track access may be enabled. 
     Thus, a novel method and apparatus for controlling the arrival of a disc drive arm assembly at a track, are herein disclosed and characterized by steps of determining a current velocity of the arm assembly; determining a current position of the arm assembly; determining a current acceleration of the arm assembly; determining a reference velocity based on at least the current position of the arm assembly; comparing the current velocity of the arm assembly with the reference velocity to generate an error signal; combining the error signal with a feedforward signal to generate a command signal, wherein the feedforward signal is derived from the current acceleration; and applying the command signal to move the arm assembly, wherein the reference velocity is determined in accordance with a function that causes a first derivative with respect to time of the reference velocity to vary linearly with respect to time. 
     It is important to note that while the present embodiments have been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present embodiments are capable of being distributed in the form of a computer readable medium of instructions or other functional descriptive material and in a variety of other forms and that the present embodiments are equally applicable regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media, such as a floppy disk, a hard disk drive, a RAM, CD-ROMs, DVD-ROMs, and transmission-type media, such as digital and analog communications links, wired or wireless communications links using transmission forms, such as, for example, radio frequency and light wave transmissions. The computer readable media may take the form of coded formats that are decoded for actual use in a particular data processing system. Functional descriptive material is information that imparts functionality to a machine. Functional descriptive material includes, but is not limited to, computer programs, instructions, rules, facts, definitions of computable functions, objects, and data structures. 
     The description of the present embodiments has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiments were chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.