Abstract:
Disclosed is a servo control system for a disk drive actuator using a bi-directional (Up/Down) Difference Counter along with a control circuit therefor which signals the counter each time a &#34;rest position&#34; is passed, indicating whether this passage is toward, or away-from, the destination track.

Description:
The purpose of this invention is to provide a difference counter for a servo control mechanism. The difference counter tracks the movement of disk drive actuator from an initial cylinder to a destination cylinder during a &#34;Seek&#34; operation. 
     In existing disk drive products a difference counter is loaded with the number of cylinders to traverse at the beginning of a seek. The difference counter is decremented at each track crossing as the actuator moves toward the destination cylinder. 
     There are several disadvantages to this method. For various reasons the servo actuator may &#34;overshoot&#34; the destination cylinder before finally coming to rest; when this occurs, the contents of the difference counter are indeterminate as the difference counter is decremented by track crossings both toward and away from a destination cylinder. Also, Servo systems are prone to electrical noise, and this may cause &#34;false track crossings&#34; to be generated and cause the difference counter to be erroneously decremented. The track crossing information is generated from servo data recorded on a servo disk. This data is subject to &#34;drop-outs&#34; which may cause erroneous track crossing information to be generated and cause the difference counter to be erroneously decremented. Our invention addresses these problems. 
     INVENTION FEATURES 
     Herein we teach an improved system, one using a modified difference counter that is decremented by track crossing towards the destination cylinder and is incremented by track crossings away from the destination cylinder. Preferably, the track crossings are detected by comparing position and position quadrature signals (P, Q, one set where P&gt;+Q; and then where P&gt;-Q) and using the results to increment or decrement a Difference Counter (e.g., as indicated in FIGS. 3A, 3B). 
     The contents of the difference counter therefore always represent the number of track crossings between the current actuator position and the desired &#34;rest position,&#34; even when the servo overshoots the destination track. This difference counter is also tolerant of false track crossings caused by electrical noise or drop-outs in the servo data because the counter can be incremented to compensate for the decrement caused by the detection of false track crossing. Thus, a proposed Difference Counter control circuit monitors servo position information and generates appropriate increment or decrement signals for the Difference Counter depending on the movement of the servo actuator. 
     Thus, an object hereof is to provide at least some of the noted features and advantages, and address the indicated problems. Another object is to provide a servo system tolerant of &#34;overshoots,&#34; one that allows the servo system to be adjusted for minimum access time without regard to servo overshoots. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     These and other features and advantages of the present invention will be appreciated by workers as they become better understood by reference to the following detailed description of the present preferred embodiments which should be considered in conjunction with the accompanying drawings, wherein like reference symbols denote like elements: 
     FIG. 1 is a schematic idealized block diagram of a difference counter used in a &#34;control&#34; system for controlling disk drive servo means, while FIG. 3B is a like diagram for a preferred embodiment, a modification of FIG. 1, with FIG. 3A detailing the Difference Counter (D-C) control circuit thereof; 
     FIG. 2 is a plot of idealized position and other signals shown in idealized time relation; and FIG. 4 is a like plot of position and position-quadrature signals. 
     FIG. 5 is a state table applicable to the embodiment of FIG. 3; 
     FIG. 5A is an overall block diagram of a disk drive servo system apt for using this embodiment; 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     General description, background: 
     FIG. 3 schematically illustrates a preferred difference counter embodiment constructed according to principles of this invention (implemented in the circuits of FIGS. 7-12). This, and other means discussed herein, will generally be understood as constructed and operating as presently known in the art, except where otherwise specified. 
     And, except as otherwise specified, all materials, methods and devices and apparatus herein will be understood as implemented by known expedients according to present good practice. 
     Control Method A (FIG. 1) 
     FIG. 1 is given by way of a control technique for comparison with our preferred technique (e.g., see FIG. 3). Here, a servo amplifier SA will be understood as driving a servo actuator AC (e.g., energizing the coil thereof) which translates servo transducer means TR across prescribed servo tracks and is understood as arranged to provide &#34;positioning&#34; signal output; e.g., to a prescribed decoding means PS-D. PS-D responsively applies &#34;position&#34; and &#34;position quadrature&#34; signals to a track-crossing detect means T-C which applies track-crossing signals to a difference counter D-C. Counter D-C is adapted to control a &#34;Profile Prom&#34; stage P-P so as to initiate a &#34;deceleration profile&#34; for the actuator AC (converted via DA stage). 
     The operation may be summarized as follows. 
     The Difference Counter DC is loaded with the number of cylinders between the initial cylinder and the destination cylinder for the &#34;Seek&#34; operation. The output of the difference counter is fed to profile PROM P-P, which contains the deceleration profile for the servo actuator. The output of profile PROM P-P is fed to the velocity command Digital to Analog convertor DA which converts the binary output of the profile PROM to an analog velocity command voltage. The velocity command volage is fed to servo amplifier SA which has a power output stage that drives the servo actuator AC. Coupled to the servo actuator is a Transducer TR which reads servo information recorded on a servo disk. The servo information is decoded to produce &#34;Position&#34; and &#34;Position Quadrature&#34; signals which are used by the Track Crossing generator T-C to generate a decrement signal to decrement Difference Counter D-C as the servo actuator moves from one track to the next. 
     More particularly, in a disk drive like the Memorex 3680, at the beginning of a &#34;Seek&#34; operation, the drive-microprocessor loads the Difference Counter on the DC-Board with the number of tracks the servo system is to move. It also instructs the SA-Board in what direction to seek. The actual &#34;Seek&#34; operation is started by applying an &#34;ACCELERATE&#34; signal to the Access State Register of the SA-Board. 
     As the carriage starts moving across the tracks of the disk, the SA-Board generates track crossing pulses and sends them over to the DC-Board. These track crossing pulses feed into the Difference Counter and decrement it by one for each track crossed. Track crossing pulses are generated when the servo head is over the CENTER of a track. 
     The continuously decrementing Difference Counter feeds into the Profile Rom on the SA-Board whose outputs are applied to the Velocity Control D/A Converter. 
     As the servo head approaches the desired track the servo velocity is gradually reduced and reaches a set value (e.g., here approximately 4.5 μin/sec) when the distance to the target is &#34;One track.&#34; At this point the micro processor switches the servo Access State register from &#34;DECELERATE&#34; to &#34;VELOCITY SETTLE&#34; and clears the Difference Counter to &#34;0&#34;. 
     This happens at track center, one track before the &#34;target track.&#34; The servo now moves slowly across the track border of the target track and toward the center of the target track. 
     The microprocessor waits for a signal &#34;END DECELERATE&#34; supplied by the SA-Board. This signal is generated by monitoring the tachometer of the servo system. After &#34;END DECELERATE&#34; going active the microprocessor waits 300 μs and then applies the state &#34;POSITION SETTLE&#34; to the Access State Register of the servo system. At this time the microprocessor also enables the track following timer. 
     Now the microprocessor waits for the servo head to settle over the center of the target track by waiting for a signal &#34;R/W CAPABLE&#34; which is generated on the DC-Board. This signal is basically derived from the signal &#34;FINE POSITION&#34; supplied by the SA-Board. 
     If the servo for one reason or another overshoots the target track, (that is, if the servo reaches track target-1 and is put into &#34;position settle&#34; mode, and still moves too fast to come to a stop on the target track center), then, the servo will end up on a wrong track when it finally comes to a stop and &#34;END DECELERATE&#34; goes active. 
     Our preferred embodiment addresses such problems (See FIG. 3). 
     Preferred Method B (FIGS. 3A, 3B) 
     FIGS. 3A, 3B indicate a modification of the foregoing in several respects. Here the Difference Counter will be understood as able to increment as well as decrement. That is, it modifies the seek difference counter circuit so that it will count up if the actuator moves away from the destination track, as happens when a seek overshoot occurs. This enables a more optimal servo system to be designed that will automatically recover from an overshoot condition without the need to &#34;rezero&#34; the servo and &#34;reseek&#34; the track. The servo system may then be adjusted for minimum access time without regard to overshoot considerations. 
     This up/down difference counter circuit requires that the servo system be sensitive to the direction of the velocity feedback; thus, a bidirectional Tachometer is also called for. 
     Also the &#34;track crossing detector circuit&#34; T-C is replaced by a Difference Counter control circuit C-I which uses a &#34;State Machine&#34; to generate increment and decrement signals from the Position, Position Quadrature signals and its own internal state. The Difference Counter control circuit is shown in block diagram form in FIG. 3A; (in FIG. 3B, it replaces the track-crossing unit T-C). 
     This up/down counting scheme not only tolerates servo overshoots (allows servo to overshoot if something goes wrong during a servo operation) but also offers the ability to run the servo at marginal high speeds, a feature that will improve average access time. 
     The relationship between the &#34;Position,&#34; &#34;Position Quadrature&#34; and the &#34;P&gt;Q&#34; and P&gt;-Q&#34; signals is shown in FIG. 4. The rest positions of the servo system are numbered 0, 1, 2, and 3, (many other such rest positions exist across the disk surface). 
     In FIG. 3B, the arrangement of FIG. 1 will be understood as modified by a counter-input stage C-I (replacing T-C in FIG. 1), adapted to provide a modified input to the Difference Counter D-C and as shown in FIG. 3A, comprising a Comparator stage C-P coupled to apply &#34;P&gt;Q,&#34; &#34;P&gt;-Q&#34; signals to a prescribed state machine ST which responsively issues &#34;Increment,&#34; &#34;Decrement&#34; and &#34;Forward&#34; commands to control servo amplifier means, [cf &#34;increment&#34; allows actuator to compensate for false track-crossing, or back-up after &#34;overshoot;&#34; &#34;Forward&#34; sends the actuator in the direction of &#34;SEEK&#34;]. 
     Up/Down Difference Counter 
     The state machine continually monitors the P&gt;Q and P&gt;-Q signals to determine the direction of actuator motion. The system is designed to be tolerant of &#34;drop-outs&#34; in the servo signals by requiring that any change in the DETP or DETQ signals is maintained for a fixed period of time before it is acted upon. State machine ST increments or decrements the difference counter as required by actuator motion and adjusts the &#34;seek-direction-bit&#34; so that the servo demand is always towards the target cylinder. 
     As the actuator nears the target cylinder, the microprocessor determines if an overshoot is going to occur. This is done by monitoring a &#34;coarse&#34; position signal that is generated by comparing the Position signal to a reference level. If the &#34;coarse&#34; position is maintained for a fixed length of time the microprocessor decides that no overshoot will occur and initiates the &#34;position-settle&#34; part of the seek. Otherwise the servo remains in the deceleration mode. 
     Operation 
     The operation of counter control stage C-I may be summarized as follows. 
     The Difference Counter is controlled by the STATE Machine (SERVO SEQUENCER) which is implemented in a set of two programmable logic devices. 
     Using this method, the Difference counter is decremented during a servo operation (as before) as the servo head approaches the target track. The decrement is done by the Servo Sequencer. The difference counter reaches &#34;0&#34; as the servo head moves across the last track border into the target track. The Micro Processor on the DMPU-Board then applies &#34;POSITION MODE&#34; to the Access State Register on the DSAD-Board. The Servo system, being in Position Mode, will now guide the Servo Head to the center of the target track. A &#34;FINE POSITION&#34; signal from the DSAD-Board will go active and tell the DMPU-Board that the center of the target track is reached. The DMPU-Board Micro Processor then checks for &#34;R/W CAPABLE&#34; and concludes that the servo head has correctly landed on the target track. 
     When the servo head approaches a target track too fast, and therefore overshoots the target, the Difference Counter is INCREMENTED from zero to one by the Servo Sequencer as soon as it moves into track &#34;target +1.&#34; 
     At this point the Servo Sequencer also changes the forward direction signal to the DSAD-Board, so the servo is directed to return to the target track that was overshot. 
     But as long as the servo keeps overshooting and moves away from the target the Difference Counter is incremented. 
     Eventually the servo will come to a stop, and will change direction toward the target track. As soon as the servo starts moving &#34;towards&#34; the target track, the Servo Sequencer decrements the Difference Counter again. The Difference Counter reaches ZERO as the Servo Head moves back onto the target track, where &#34;Position Mode&#34; is applied to the servo system as in a regular seek. 
     The servo sequencer (state machine ST) continuously monitors the P&gt;Q and P&gt;-Q signals. The state of these signals is compared to the internal state of the &#34;State machine.&#34; The State machine generates appropriate &#34;increment&#34; or &#34;decrement&#34; signals to the Difference Counter D-C according to the &#34;state table&#34; given in FIG. 5. 
     This method ensures that the Difference Counter contents track the movement of the servo actuator across the disk surface. 
     When movement is toward the destination cylinder, the Difference Counter control circuit causes the Difference Counter to be decremented; when movement is away from the destination cylinder, the Difference Counter control circuit causes the Difference Counter to be incremented. The contents of the difference counter will thus always be &#34;valid,&#34; even when the servo actuator overshoots the destination cylinder before coming to rest. 
     This method provides a high degree of noise immunity. If noise on the &#34;Position&#34; or &#34;Position Quadrature&#34; signal causes the Difference Counter to be falsely decremented, then, as soon as the Position or Position Quadrature signal returns to its correct level, the Difference Counter control circuit will increment the Difference Counter. This will eliminate the effect of any false decrement. 
     FIG. 5A is a like block diagram of related servo control logic. 
     Results: 
     Workers will perceive several surprising, advantageous features accruing to this new technique. For instance, it will be seen to yield a Difference Counter which is able to both increment and decrement; a Difference Counter control circuit which monitors the servo position information and generates appropriate increment or decrement signals for the Difference Counter depending on actuator movement direction; and, it allows a system to compensate for &#34;False Track-crossing&#34; signals and for &#34;overshoot.&#34; 
     The embodiment also allows one to tailor a &#34;SEEK DECELERATION Profile&#34;, for minimum average access time regardless of &#34;servo overshoots&#34;. 
     Alternate Methods 
     Our preferred method has been described in terms of specific signals (P&gt;Q and P&gt;-Q) derived from &#34;Position&#34; and &#34;Position Quadrature&#34; signals; but other signals could have been used (e.g., P&gt;O and Q&gt;O). The method has been described in terms of a quadrature positioning system; however, it is equally applicable to nonquadrature systems. 
     It will be understood that the preferred embodiments described herein are only exemplary, and that the invention is capable of many modifications and variations in construction, arrangement and use without departing from the spirit of the invention. 
     Further modifications of the invention are also possible. For example, the means and methods disclosed herein are also applicable to other high density disk files, as well as to related systems. Also, the present invention is applicable for enhancing other types of servo systems. 
     The above examples of possible variations of the present invention are merely illustrative. Accordingly, the present invention is to be considered as including all possible modifications and variations coming within the scope of the invention as defined by the appended claims.