CA1161161A - Disc head arm position controller using digital velocity sensing - Google Patents

Disc head arm position controller using digital velocity sensing

Info

Publication number
CA1161161A
CA1161161A CA000380529A CA380529A CA1161161A CA 1161161 A CA1161161 A CA 1161161A CA 000380529 A CA000380529 A CA 000380529A CA 380529 A CA380529 A CA 380529A CA 1161161 A CA1161161 A CA 1161161A
Authority
CA
Canada
Prior art keywords
tracks
signal
value
track
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA000380529A
Other languages
French (fr)
Inventor
Bruce E. Johnson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magnetic Peripherals Inc
Original Assignee
Magnetic Peripherals Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Magnetic Peripherals Inc filed Critical Magnetic Peripherals Inc
Application granted granted Critical
Publication of CA1161161A publication Critical patent/CA1161161A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/58Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
    • G11B5/596Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following for track following on disks
    • G11B5/59633Servo formatting
    • G11B5/59644Acquisition or selection of servo format from a system reference
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B21/00Head arrangements not specific to the method of recording or reproducing
    • G11B21/02Driving or moving of heads
    • G11B21/08Track changing or selecting during transducing operation
    • G11B21/081Access to indexed tracks or parts of continuous track
    • G11B21/083Access to indexed tracks or parts of continuous track on discs

Abstract

ABSTRACT OF THE DISCLOSURE
Electronic circuitry for improving the speed and accuracy of shifting the magnetic heads of a disk memory from one to another track cylinder. Head velocity is measured with great accuracy by measuring the servo head transit time between adjacent tracks of the servo disk. A microprocessor controller in conjunction with preferred velocity profile data stored in a read only memory pro-vides a control signal to the linear motor control causing the head arm velocity to follow the preferred velocity profile with excellent precision.

Description

This invention relates to magnetic disk memories and in particular to improved means for controlling servo transducer head velocity during a seek operation.
The magnetic disk memory has become the dominant means of auxiliary storage of data in data processing systems. Although access times are still on the order of several milliseconds, once access is completed, data rates are quite high. Increased bit den-sities permit -the storage of an astonishing amount of data in a relatively small volume~
In such devices a plurality of disks are usually mounted Eor rotation on a motor driven spindle. A carriage carries a plur-ality of arms, the free end of each carrying a transducing head placed in reading and writing proximity to a particular disk record-ing surface. The carriage is usually driven back and forth in a linear fashion by a linear motor or voice coil allowing the heads to scan radially across the disk surfaces to access the individual circular, concentric, sequentially numbered tracks. Recent import-ant improvements in bit density and access time as a consequence of increased radial track density result from designating a sur-face of one disk, containing prewritten head positioning data, as a servo surface. A servo system controls the position of a servo head with respect to servo tracks on the servo surface thereby correctly positioning the carriage so as to allow the remaining heads to accurately address desired tracks on their respective re-cording surfaces. The servo tracks are also circular and concen-tric on the servo surface and are sequentially numbered. Each servo track along with its xelated data tracks form a group of tracks
- 2 ~la6~

called a cylinder, each cylinder in essence defining a single carriage position. When it is desired to shift the heads from one cylinder to another in performing a so-called "seek" operation, the servo head is simply shifted to the corresponding destination track, allowing the selected data heads to reference the tracks in the desired cylinder. While the servo head is moving it generates a servo pulse as it crosses each servo track.
It is well-]~nown that it is necessary to accurately con-trol the velocity of the carriage during a move between track cyl-10 inders to assure rapid and accurate shifting between cylinders.
This requires measuring instantaneous, or nearly instantaneous, velocity of the carriage. One co~,mon way to measure carriage velocity employs a magnetic speed transducer which is mounted within the linear motor and whose output signal is functionally related to the armature velocity. United States Patent 4,031,443 of Droux, et al, issued June 21, 1977 discloses this type of mechanism.
United States Patent 4,068,267 of Inouye, issued June 10, 1978 em-ploys the less conventional approach of differentiating the signals from the servo, in effect relying on the slope of the pulses which 20 comprise the servo signal, to determiné velocity. United States Patent 4,068,269 of Commander, et al, issued June 10, 1978 describes apparatus which uses a si~ilar approach to measure velocity.
In this invention, carriage velocity during a seek is measured by measuring the time interval between successive servo signal pulse edges. An oscillator, whose cycle time is substantial-ly smaller than the mini~num time between successive servo pulses, provides pulses used to continuously decrement a counter referred to as the track crossing tlmer. Each servo pulse causes the contents of the timer to be stored for use by the carriage velocity servo control loop, and then to be set to a predetermined optimal co~mt -to permit measurement of the interval next following. As in conventional systems, the servo pulses are also used to decrement a servo pulse counter, which is set by the original move command to the number of tracks required by the move.
The value in the ~rack crossing timer at each servo pulse, with the original and current servo pulse counter values, is used to control ac-celeration and deceleration of the carriage. In particular, when the servo head is decelerating and reaches 33 tracks from the desired track, the amount of deceleration to which the carriage is sub~ected in the succeeding inter-track intervals is proportioned to the velocity error. This permits the carriage to be smoothly and accurately decelerated to track following mode on the destination track without hunting or overshooting.
Accordingly, one purpose of this invention is to reduce the time required to move between tracks of a disk memory.
Another purpose is to reduce costs of the hardware which controls moving between tracks.
Still another purpose is to decelerate the carriage without pro-~0 ducing hunting or overshoot at the end of the move.
Thus, in accordance with a broad aspect of the invention, thereis provided, in a disk memory of the type having at least two rotatable disk surfaces, at least one carrying a plurality of concentric, circular, sequenti-ally numbered servo tracks having a predetermined spacing; a carriage carrying transducer head arms and radially shifted with respect to the disk surfaces by a linear motor responsive to a motor control signal; a servo transducer head carried on a head arm in such proximity as to allow transducing of the servo information thereon when the servo disk surface is rotating; a servo signal .~ -4-r~

demodulator receiving the output of the servo head and providing during radial movement of the servo head a track crossing signal comprised of cylinder pulses, each generated by the servo head's crossing of a predetermined area of each servo track; means receiving the servo transducer head output and supplying a motor control signal to the linear motor for causing the servo transducer head to maintain alignment with any servo track with which alignment currently ex-ists; and computing means storing the number of the servo track aligned with the servo transducer head and receiving a destination track number initiating a seek operation and responsive thereto computing and issuing an initial tracks-to-go value signal equal to the absolute difference between the number of the track with which the servo head is aligned and the destination track number and issuing a seek direction signal specifying the direction the servo transducer head must be moved to reach alignment with the destination track, wherein the invention comprises improved means for controlling servo transducer head veloci-ty during each seek operation, comprising:
(a) timing means receiving the track crossing signal for providing a track crossing time signal encoding in real time the time elapsed between each adjacent pair of cylinder pulses;
(b) a tracks-to-go register receiving the initial tracks-to-go value signal from the computing means and storing said value, and receiving the cylinder pulses and decrementing by one the number of tracks-to-go responsive to each pulse, and supplying a current tracks-to-go signal encoding the contents of the tracks-to-go register; and ~c) velocity control means receiving the track crossing time sig-nal, the current and initial tracks-to-go signals and the seek direction signal for supplying a motor control signal causing the servo head to move radially to a position above the track specified by the initial tracks-to-go and seek direction signals, and approximately follow a predetermined velocity function ~1 . ,.

6~

dependent on the initial tracks-to-go value, said servo head velocity deter-mined from the time encoded in the track crossing time signal and varied as a function of the current tracks-to-go signal value.
This invention will now be further described in conjunction with the accompanying drawings, in which:
Figure 1 is a block diagram of the hardware which performs the shifting from track to track.
Figures 2a - 2d contain the flowchart of the program executed by the microprocessor in Figure 1 to perform the carriage shifting operation.
Figure 1 comprises essentially a small computer system with additional special purpose har~ware to receive signals from servo head 16 in response to them supply motor control signals to voice coil control 26. The servo head signals are generated by servo head 16, amplified by servo head amplifier 173 and transmitted on path 18 to track demodulator 19. Demodulator 19 changes its output signal on path 46 each time amplifier 17 output crosses a preselected level in a preselected direction. Each such change causes one shot 43 to produce a 20~ sec. servo head or cylinder pulse on path 20. Thus, one shot 43 produces a train 112 of 20 sec. cylinder pulses, each pulse coinciding in exactly the same way timewise, with the servo track causing it, while the servo head moves across its disc in a radial direction. The repeatability and uniformity of the positional relationship of head 16 and a track versus the time when the associated cylinder pulse occurs is import~
ant, because the accuracy of this relationship determines the measured time between track crossings. As will be explained, this time is used as a measure of the velocity of servo head 16, and therefore the velocity of the carriage which transports servo head 16.
Microprocessor 10 is the heart of the head shifting appar-atus, ana executes instructions stored in read only memory (ROM) 13.
Microprocessor 10 communicates with read only memory 13, as well as I/O interfaces 11 and 14 and decremental counters module 32, on a data bus 15 permitting two-way communication between microprocessor 10 and these devices~ These devices as well as microprocessor 10 are all off-the-shelf items available from Motorola, Inc., Schaum-berg, Illinois, whose model numbers appear in parentheses on them in Figure 1. Similar devices, well known to those skilled in the art, are available from other sources. By placing appropriate request signals on data bus 15, microprocessor 10 can cause the other elements attached to the bus to accept data from or transmit data to microprocessor 10. The program controlling the operation of microprocessor 10 is contained in ROM 13. ROM 13 with the proper program loaded in it can be considered simply another elec-tronic element since it is unlikely to be changed until the con-trolled device itself is changed.

L6~

The new cylinder address is supplied to the computing syst~m on data path 31. One commercial version of a disk memory em-ploying this invention has a servo disk with 824 tracks, so 10 data lines are used to carry the cylinder address. Microprocessor 10 receives these cylinder addresses by sending appropriate control signals over data bus 15 to I/O interface 11, to whose input path 31 is attached. Cylinder pulses on data path 20 are also provided to microprocessor 10 via the I/O interface 14 and data bus 15.
The cylinder pulses on data path 20 are also direct inputs 10 to track crossing ~TX) timer 23 and "tracks-to-go" (TTG) counter 24.
These timers and voice coil (VC) timer 22 together comprise decrem-ental counters module 32. Each of these counters can be prepro-grammed to decrement responsive to a preselected input signal for-mat in any one of several ways. Their contents can also be read directly by data bus 15 at any time, and they have preporgrammable output capabilities as well. All can be preset to any desired value by microprocessor 10 vai data bus 15. Specifically, voice coil timer 22 is programmed to decrement by 1 responsive to each pulse on path 21 and stop on 0. When VC timer 22 is 0, it produces 20 a 1 on the power enable path 25, and 0 otherwise.
TX timer 23 is preprogrammed to have 2 different modes of operation either of which can be selected by executing the proper instruction in microprocessor 10 setting the flip~flop in I/O
interface 14 which controls the signal on path 45~ When this sig-nal is 0, after microprocessor 10 sets TX timer 23 unequal to 0, TX timer 23 is enabled to begin decrementing by 1 for each pulse on path 37 responsi~e to the leading edge of~ the next cylinder pulse 6~

on path 20. When the signal on path 45 is set to 1, TX timer 23 is enabled to begin decrementing by l for each pulse on path 37 responsive to the next trailing edge of the cylinder pulse on path 20. In either case, TX timer 23 stops decrementing when a leading edge of a cylinder pulse on path 20 occurs or if TX timer 23 is decremented to 0. Accordingly, TX timer 23 provides a means, when path 37 carries clock pulses and when the signal on path 45 is a 1, for timing between cylinder pulses. The 20~ sec. cylinder pulse provides time for microprocessor lO to store and to reload the con-tents of TX timer 23 after the leading edge which stops counter 23and before a trailing eage which may start it again. When the carriage is moving very rapidly, microprocessor lO does not have time to perform all its required functions in the time between the trailing edge of a cylinder pulse and the leading edge ne~t follow-ing. For this situation, setting the signal on path 45 to 0 pro-vides a means for timing eYery second interval between cylinder pulses. In this case, timer 23 is stopped by the leading edge of a cylinder pulse on path 20 and will not start until the next cylinder pulse leading edge occurs. This time has been determined to always be long enough to allow microprocessor lO to complete its operations. At high speeds of the carriage, testing the speed every other track crossing has been determined to provide satis-factory speed control Tracks-to-go (TTG) counter 24 decrements by l responsive to each cylinder pulse on path 20n ~ s is apparent ~rom the term "timer" applied to TX timer 23 and VC timer 22, these counters have tlmed or clock inputs, which are presented on paths 37 and 21, respectively. A l mhz clock or ~6~L6~

oscillator 12 provides on path 21 a pulse train, each of whose pulses' leading edge is 1~ sec. from the lea~ing edges of the 2 neighboring pulses. In a~dition, the logic network associated with AND gates 33 and 35 permits either 1~ sec. or 4~ sec. pulses to be supplied on path 37 to TX timer 23. This allows the resolu~
tion TX time~ 23 to be either 1 or 4~ sec. depending on whether the signal on path 38 is set to a 1 or a 0 by microprocessor 10 con-trolling the state of the appropriate flip-flop in I/O interface 14. Because of the wide range of veloci-ties at which head 16 can be moved by voice coil 30, ana the 8 bit size of TX timer 23, this is necessary to cover with sufficient resolution the time range between the very fastest and slowest head 16 ~elocity to be measured.
The resolution changing circuitry includes the 2 bit count-er 44 which is driven by the clock pulses on path 21 Each fourth clock pulse causes an overflow from 2 bit counter 44 which produces a pulse on path 40. A 0 on path 38 is changed to a 1 on path 39 by inverter circuit 34 which enables one input of AND gate 35. Simul-taneously, the 0 on path 38 disables a similar input of AND gate 33.
The enabled input of AND gate 35 allows the 4~ sec. pulses on path 40 to pass to path 42 and through O~ gate 36 t~ path 37 and TX
timer 23. When microprocessor 10 sets the bit in ~/O interface 14 controlling path 38 to Q, then AND gate 33 is enabled and AND gate 35 is disabled. This allows the 1~ sec. rate pulses from clock 12 on path 21 to pass through AND gate 33 to path 41, OR gate 36, and path 37 to TX ti~er 23. Simultaneously, the inverted signal on path 39:, which is a 0, preYents the 4 ~sec~ rate pulses ~rom 2 bit counter 44 from reaching OR gate 36. In -this manner, the spacing of pulses on path 37 applied to TX timer 23 can be set at either 1 or 4 ~sec. depending on whether the signal on path 38 is a 1 or a 0, respectively.
Vlice coil or linear motor control 26 applies drive power to voice coil 30 on path 29 in response to the power enable signal on path 25 from VC timer 22. During operation, the direction of current flow through voice coil 30 (and direction for servo head 16 movement) is controlled by the signal on forward/reverse signal path 27. Fine/coarse signal path 28 selects the mode of control, viz. track following or track seeking. For the purposes of this invention, coarse control is specified throughout by the signal presented on path 28 exsept for the very beginning and end of each seek operation, where fine control is specified. Microprocessor 10 pro~ides each signal directly through bus 15 and the flip~flop in-volved in I/O interface 14 The hardware disclosed in Figure 1 will not properly con-trol the carriage speed and direction without presence of a proper program, which is provided by firmware, in read only memory (ROM) 13. In the preferred embodiment, this program becomes a fixed mod-ification to ROM 13. Such memories are physically (electrically, usually) altered by entry of a program into them, and so are physically different from similar memories containing different data. This concept is important because invention lies in the procedures carried out under control of the physically modified ROM 13.

6~

Turning next to Figure 2~, it, along with Figures 2b-2d form a flowchart for the preferred firmware routine stored in RO~
13 and executed by microprocessor 10. In this flowchart, convention-al symbology is followed, with ovals denoting continuity or initia-tion of instruction execution, diamonds denoting decision points, rectangular boxes denoting functional operations, and circles de-noting internal entry points. Occasionally rectangular function boxes ~ill implicitly include decision elements, but the functions performed therein are considered well-known in the computer arts.
Those continuity ovals which are identical have the same reference numerals. Arrows in the pathways denote the sequence of events, pointing to later occurrences as between two elements of the chart.
The move operation starts with SEEK oval 50 in Figure 2a.
As Figures 2a - 2d are discussed, certain functional capabilities of the apparatus of Figure 1 ~ill be explained in this context. Thus, a seek operation i5 entered at continuity oval 50 in response to an interrupt generated by the request for access to a new track, how-ever generated. In response to the interrupt, microprocessor 10 be-gins execution of the seek operation which is the purpose of this invention, by executing the instructions represented by function box 51. These instructions cause the new cylinder address carried on path 31 to be read from I/O interface 11. The new cylinder address is stored in a convenient temporary (T) register within microprocess-or 10, and the current address is subtracted from it, the absolute value of this difference being stored in another T register to be used later as the seek len~th. ~icroprocessor 10 then executes an instruct~on proaucing an input signal to I/O interface 14 which changes the fine/coarse mode bit on path 28 from fine mode to coarse mode. Enabling the coarse mode causes voice coil con-trol 26 to dis-engage the track following control circuitry and to supply DC power to voice coil 29 in response to a power enable signal on path 25.
The instructions represented by decision diamond 52 test the difference between the current cylinder address and the new cylinder address, and if 0 return microprocessor 10 to execute its track following program segment as indicated by oval 53~ This simply involves resetting the signal on path 28. If the dif~erence between the new cylinder address and the current cylinder address is not 0 then the decision diamond 54 instructions test if the new cylinder address is greater than the maximum cylinder address. If this is true, then the seek request is illegal. This is indicated in some fashion by execution of instructions corresponding to func-tion box 55, which take appropriate action to deal with the error and then return to the track following portion of the program to await further external response to the error. Assuming that the seek requested is legal and non-zero, microprocessor 10 then exe-cutes the instructions represented by function box 90, which trans-2Q mits a signal to I/O interface 14 causing the forward/re~erse flagon output path 27 to ~e set to prepare motor control 26 to acceler-ate the carriage and servo head 16 toward the destination track by further operations to be described shortly. TX timer 23 is set to decrement each microsecond by setting to 1 the flip-flop in I/O
interface 14 controlling the signal on path 38. TX timer 23 is also set to begin decrementing, aftex each time it is loaded, by the next following cylinder pulse leading edge on path 20. This is accom-~ 13 ~

plished by properly setting -the flip-flop in I/O interface 14 which controls the signal on path 45. Finally, the contents of TX timer 23 are cleared.
A fundamental assumption for the acceleration and deceler-ation phases -- vi~. the remaining portion -- of the program is that the kinematic characteristics of voice coil control 26 f voice coil 30, and the carriage driven by it are independent of the cylinder address at any ti~e. Thus, a 100 cylinder seek from cylinder 0 to cylinder 100 can be dealt with in the same fashion as a 100 cylinder seek from cylinder 700 to cylinder 600~ The critical variables con-trolling carriage velocity are the length of the seek involved, that is, the value calculated in function block 51, and the tracks or cylinders to go. (The terms "cylinder" and "track" can in gener-al be used interchangeably here. Strictly speaking, a cylinder com-prises all the tracks of equal radius in a multisurface stack of recording discs. Thus each cylinder in one device employing this invention comprises a servo track and several data tracks. The term "tracks-to-go" in a seek operation refers to the servo tracks on the servo disc and is of course exactly the number of cylinders 2Q to be counted to reach the desired one.) The preferred embodiment employs a velocity function which specifies a preferred servo head velocity during deceleration.
This function is not continuous, but is instead defined in terms of track crossing time as a function of the current tracks-to-go value.
Microprocessor 10 and RO~ 13, functioning as an acceleration control means, generate an intex~ediate txacks~to-go val-ue as a function of the initîal tracks-to-~o value and between it and 1, This inter-6~

mediate value is used as the argument in computing the value of the velocity in terms of minimum track crossing time during acceleration.
This intermediate tracks-to-go value also defines the track at which active decelera-tion resulting Erom reversed force from linear motor or voice coil 30 starts. This intermediate tracks-to-go value will be referred to as DECELT (DECELeration Track) hereafter.
The preferred algorithm by which DECELT is calculated is described in conjunction with operation block 56-61 of Figure 2a.
During the acceleration phase, while microprocessor 10 functions as an acceleration control means, the track crossing time specified by the velocity function using DECELT as the argument, is compared every, or every other, inter-track interval with the actual track crossing time measured by TX timer 23. If the time measured by timer 23 is greater than that specified by the velocity function using DECELT as the argument/ then microprocessor 10 causes more acceleration of servo head 16 toward the destination track to be applied by voice coil control 26 and voice coil 30 by setting VC
timer 22 unequal to 0. If the track crossing time measured by TX
timer 23 is less than that specified by the velocity function and DECELT, then acceleration of ser~o head 16 is halted by clearing VC
timer 22.
When servo head 16 reaches the track corresponding to the DECELT value, the acceleration phase is completed. ~t the DECELT
track-microprocessor 10 and ROM 13 begin to function as a decelera-tion control means. If the seek is longer than 33 tracks, then de-celeration occurs initially in the so~called bang-bang mode where deceleration power is applied to ~otor 30 continuously after a vel-ocity comparison shows servo head 16 velocity exceecling that speci-fied by the velocity function for the current tracks~to-go value.
When a velocity test shows velocity to be less than that specified by the function, power is removed from motor 30 and head 16 coasts until a velocity measurement shows head 16 velocity exceeds that specified by the velocity function. It should again be mentioned that in the preferred embodiment actual velocities are nok computed or tested. Only crossing times are tested, and the velocity func-tion dependent variable is specified in crossing times rather than velocities.
When head 16 reaches a tracks-to-go value of 33, decelera-tion becomes proportional. That is, the len~th of time power is ap-plied to voice coil 30 is dependent on the difference between the last measured velocity of servo head 16 and that specified for the corresponding tracks-to-go value from the velocity function. Since the measurements and comparisons actually are performed in times, each time difference is used as an independent variable in a pro-portional deceleration function to select one of a range of deceler-ating power "on" times for motor 30. These decelerating times gen-erally increase over most of the interval of increasing differencesbetween the track crossing times and the velocity function time cor-responding thereto.
Although the velocity function and proportional decelera-tion function could be cast in terms of formulae computed by micro-processor 10, it is instead preferred to maintain these functional relationships in tabular form. Table I, Ideal ~elocity Profile (see Appendix), is permanently stored in ROM 13 and provides preferred track crossing times during deceleration as entries in 1 or 4 ~sec.
resolutions. Each tracks-to-go value between 1 ana 255 ;s a direct index to Table I for its associated pre~erred track crossing time.
The addressing algorithm then simply requires the tracks-to-go value to be added to the base address in ROM 13 of Table I to provide the address of the preferred crossiny time for any tracks-to-go value.
Table II incorporates the proportional deceleration func-tion where the error in microseconds is the index speci~ying the entry containing the proper duration of deceleratiny power to voice coil 30. The error is the time which the track crossing time ~rom Table I exceeds the measured track crossing time; i.e., devi-ates from the preferred track crossing time on the side of excessive velocity. Table II is also stored in ROM 13, and adding its base address to the error specifies the address of the appropriate decel-erating power duration. Note that head 16 coasts during the next period whenever TX counter 23 has counted down to 0, i.e., the vel-ocity error is 0 or negative. Note also that the deceleration power is not related to the current tracks-to~go value, even though less power is theoretically required to correct for a given track crossing time error at a smaller current tracks-to-go value and lower velocity than at a larger tracks-to-go ~alue~
Flowchart blocks numbered from 56 to 61 represent the machine instructions which cause microprocessor 10 to compute the DECELT algorithm. In decision diamond 56, seek length is tested to be equal to or greater than 34. If less than 34, the table in operation bo~ 59 is used to set DECELT ~ ~or a 1 track seek length, DECELT is set to 1. No attempt is made latex in the operation to i~61 decelerate the carriage since the track following system can most reliably lock onto the carriage and control its position when the carriage approaches the desired cylinder at a preselected velocity, two inches per second in the commercial version for which this con-trol system is designed. This velocity is achieved, as will be explained later, by the operations in function box 62. For the re-maining seek lengths from 2 to 33, DECELT iS specified in the table of function box 59, as being either 1, 3 or 4 less than the original seek length. The choice of these values in a given system depends on the kinematic characteristics of the carriage driven by voice coil 30, and voice coil 30 itself.
Decision diamond 57 branches to either function hox 60 or function box 58. For seek lengths greater than 33 and less than or equal to 128, DECELT is set to the integral value of 11/16 multi~
plied by the s-eek length by function box 58's instructions. When the seek length exceeds 128, DECELT is set to the lesser of the integral value of 5/8 times the seek length, or 255, by function box 60's instructions. After DECELT has been set for a seek length in excess of 33, the hardware executes the instructions which begin with long acceleration oval 61 in Figure 2c.
If seek length was originally less than 34, then after DECELT has been set, the initial voice coil on-time is set as a function of the seek length by the execution of instructions corres-pondin~ to operation box 62. As explained earlier, when voice coil timer 22 is unequal to 0 a power enable signal is produced on path 25 which causes motor control 26 to apply current to voice coil 30.
The direction is controlled by the pre~iously set forward/reverse signal on path 27. Voice coil timer 22 is decremented by 1 each 1 ~sec. clock pulse. Hence storing the on-time entry in the table of operation bo~ 62 in YC timer 22 causes the motor control to sup-ply power for that specified amount of time.
When the carriage is first accelerated to move off its track, servo head 16 may generate a false cylinder pulse. For the commercial embodiment here involved a delay of 640 ~sec. as provided by function ~ox 63 will assure that no false cylinder pulses will be generated and tha~ crossing of the first track will be properly sensed. After the 640 ~sec. period has elapsed, the instructions corresponding to operation box 64 cause the seek length absolute value, previously stored in a T register, to be transmitted to tracks-to-go (TTG) counter 24. As explained earlier, each cylinder pulse on path 20 causes the contents of TTG counter 24 to be decre-mented by 1. The delay of function box 63 assures that the seek length is not placed in counter 24 until no possibility of a false track crossing pulse exists.
Figure 2b describes the operations for completing the ac-celeration phase of a short seek; i.e., one for a seek length of 33 tracks or less. Short acceleration connector oval 65 shown in Figures 2a and 2b denotes an uninterrupted sequence of nstructions ~rom those performing the functions of box 64 to those of decision diamond 91. Executing the instructions corresponding to decision diamond 91 causes microprocessor 10 to read the contents of TTG
counter 24 and test whether it is less than 33 or not~ If it is, then microprocessor 10 executes instructions corresponding to func t;on box 93 which changes the resolution of TX timer 23 from the 1 ~sec. previously selected for it, to 4 ~sec., by changing the flip-~lop in I/O interface 14 to produce a 0 on path 38 Operation of the system continues with execution of the in-structions represented by function box 66 which cause microprocessor 10 to continuously read the input of I/O interface 11 which receives the output of 20 ~sec. one shot 43. Setting of one shot 43 sets its bit in I/O interface 11, and means that a cylinder pulse has been detected by servo head 16. When the appropriate bit is set in I/O
interface 11, the instructions in microprocessor 10 read it, thereby clearing it, and cause the instructions represented by function box 67 to be executed. These instructions cause the contents of TX
timer 23 to be loaded into a temporary (T) register internal to microprocessor la. The instructions performing the operations of block 68 then cause microprocessor 10 to enter the ideal velocity profile table with the DECELT tracks-to-go value as the index and load this value into TX timer 23, thereby preparing it to he enabled ~y the next cylinder pulse traillng edge. Note that the time for servo head 16 to traverse the first inter-track space isn't measured The value just read from TX timer 23 into the T register is then tested by the instructions of decision diamond 69. If the res-idue of TX timer 23 just stored in the T register is greater than 0, this means that the carriage is traveling faster than desired, be-cause fewer than Table I's ideal number of microseconds has been decremented from TX timer 23. (During the first execution of these instructions during each seek operation the TX timer 23 residue will always be 0 beca~lse the instxuctions repxesented by function box 51 set ~t to 0, and it has not been altered slnce.l If the T register _ 20 -is not 0, microprocessor lO begins executing the sequence of in-structions represented by ~unction box 70, which simply effects the transmitting of a 0 to VC timer 22, turning off voice coil 30. If TX timer 23 had been counted down to zero prior to the last cylinder pulse (or this ;s the first pass), then microprocessor 10 instead executes the instructions represented by function box 71. These instructions turn on voice coil 29 by transmitting 255 to voice coil timer 22.
The foregoing operations for controlling power to voice coil 30 have the effect of limiting the radial velocity of servo head 16 (and the carriage supporting and moving it) so when the contents of TTG counter 24 becomes equal to the DECELT value, the velocity will be very close to that ideal velocity listed in Table I for the DECELT value. No great harm occurs if the velocity is less than this value, since the only effect is that the seek occurs slightly more slowly than is possible. However, if the velocity of servo head 16 is too great (i.e., the number of times TX timer 23 is decremented in a given interval is too small), it is possible that servo head 16 may overshoot the- desired track requiring another seek or perhaps even causing data in the wrong track to be read.
The instructions next executed are represented by decision diamond 72, and determine whether or not the acceleration phase of a seek has concluded. The contents of TTG counter 24 is read up and stored in a T register in microprocessor lO and compared to the DECELT value. If the TTG counter 24 contents are equal to or less than the DECELT value, then microprocessor 10 causes execution of the instruction sequence corresponding to decision dia-mond 73, For _ 21 -a seek of 2, the instructions corresponding to function box 59caused microprocessor 10 to set DECELT to 1~ If the instructions for decision diamond 73 detect the DECELT value to be 1, -then the instructions for function box 74 are executed. These cause voice coil timer 22 to ~e clearea, shutting off voice coil 30, and then a standardized sequence for setting up the track following function occurs. This includes setting the fine/coarse signal on path 28 to indicate fine control to voice coil control 26 and setting the internal microprocessor register storing the current address be-tween seeks to the seek address. If the instructions correspondingto decision diamond 73 cause microprocessor 10 to determine that DECELT is not 1, then the instructions corresponding to function box 76 are executed. Microprocessor 10 is caused to toggle the flip-flop controlling the signal on forward/reverse path 27 to change the direction of current flow through voice coil 30. The power to voice coil 30 is turned off, and microprocessor 10 is caused to execute a sequence of instructions which will proportion-ately (to the current speed) decelerate the carriage and servo head 16 to the appropriate speed for entering fine control, as inaicated by proportional deceleration connector oval 78. Lastly, if TTG
counter 24 contents are greater than the DECELT value, then the instructions corresponding to decision diamond 72 cause the sequence of instructions corresponding to function box 91 to be re-executed, as indicated by short acceleration connector oval 65, ~ ecall that in ~igure 2a microprocessor 10 differentiated between a short seek of 33 tracks or less, and a long seek where the length ;s at least 34, by the instruction sequence represented by decision diamond 56. When seek length is at least 34, an event-ual exit from that sequence of instructions is represented by the long acceleration connector oval 61~ Connector oval 61 in Figures 2a and 2c represent the star~ of executing instructions correspona-ing to function box 92, which cause 255 to be transmitted to voice coil timer 23. This causes voice coil 30 to begin accelerating servo head 16 toward the desired track. After this acceleration has commenced, microprocessor 10 is caused to wait 640 ~sec., as represented by f-unction box 93, to permit any spurious cylinder pulse to be ignored. After this inter~al, microprocessor 10 exe cutes the instructions corresponding to function box 94 which cause the seek length to be transmitted to TTG counter 24D The instruc-tions corresponding to function box 95, executed next, cause micro-processor 10 to change the flip-flop in I/O interface 14 to set the signal on path 45 to start decrementing on cylinder pulse leading edges and stop decrementing on each cylinder pulse leading edge next following. Then, as with the instructions corresponding to function box 68 on Figure 2b, the remaining instructions represented by function ~ox 95 cause microprocessor 10 to enter the ideal vel-ocity profile table stored in read only memory 13 and use DECELT asan index to extract the terminal velocity of the carriage in ~sec.
per inter-track interval and store this value in TX timer 23.
Recalling the description of TX timer 23's operation, TX
timer 23 will hegin decrementing when the first cylinder pulse occurs after TX timer 23 is loaded. Because of the way TX timer 23 is programmed, the second cylinder pulse stops decre~enting of TX
timer 23. Microprocessor 10 then executes instructions substantial-ly identical to function box 67 in performing the instructions of functlon box 97 in storing the TX timer 23 residue. Similarly, in-structions for function box 98 are essentially identical -to those for function box 68 in reloading TX timer 23 with the nominal mini-mum track crossing time for the seekO The ins-tructions represented by decision diamond 99 perform the same test on the latest residue of TX timer 23 that the instructions representing decision diamond 69 do. Thus, accordingly as the latest residue of TX timer 23 is greater than 0 or not, voice coil 30 is turned off or turned on as shown in function boxes lO0 and lll, in a fashion identical to the instructions represented by ~unction boxes 70 and 71. The instruc-tions represented by decision diamond 101 are essen-tially identical to those represented by decision diamond 72. Until the contents of TTG counter 23 equals the DECELT value! the instruction sequence starting with the instructions corresponding to function box 96 is continuously executed and voice coil 30 powered so as to apply ac-celeration to servo head 16 whenever its speed falls below that contained in the ideal velocity profile table (Table I) for the specified value of DECELT.
As explained in conjunction with Figu~e 1, because these longer seeks involve ~ery high terminal speeds for head 16 r micro-processor lO will not be able to complete the processing required within the time between two adjacent cylinder pulses. Therefore, 2 inter-track intervals are used to complete the execution of in-structions forming the loop starting with function box 96 and ending with decision diamond lOl. During the f;rst, TX timer 23 is running;
during the secona TX timer 23 is halted, During this phase, measur-~61~

ing velocity every other interval between cylinder pulses is accur-ate enough to provide the neede~ velocity control withouk sacrific-ing either the a~ility to decelerate the carriage in time to pre-vent overshoot or to follow the ideal velocity profile to achieve near minimum seek times. Because of this situation the instructions represented by decision diamond lOi must test the contents of TTG
counter 24 to be equal to or less than the DECELT value~
When TTG counter 24 contents become less than or equal to the DECELT value, microprocessor 10 is caused to exit the acceler-ation loop involving symbols 96-101 and 111, and starts executing the series of ;nstructions which serve as a deceleration control means, the first of which is represented by function box 110. The function box 110 instructions toggle the signal on forward/reverse signal path 27, so that if for example voice coil 30 had been accel-erating head 16 towards the center of the disk, the current is now reversed to decelerate head 16 in that direction, After executing these instructions, microprocessor 10 continues to execute the se-quence of i.nstructions starting with those represented by function box 102, which comprises another wait for 2 cylinder pulses~ When 2Q both have occurred, the instructions of function box 103 again places the contents of timer 23 in a T register. The instructions next executed, represented by function box 104, cause the current TTG counter value to be read up and used as an index to the ideal velocity profile table (Table I) to extract the velocity from it in terms of time between successive cylinder pulses, This value is stored in TX timer 23 preparatory to another countdown sequence during the next interval between cylindex pulses by the instructions represented by function box 104.
During this first deceleration phase, head 16 velocity is controlled in a bang-bang mode. Accordingly, the velocity of servo head 16 is adjusted by applying the decelerating current to voice coil 30 for 2 entire inter-track intervals. If the previously read residue in TX timer 23 was Q, then the instructions for decision diamond 105 detect the contents of the T register equal to 0 and stop decelerating current flow in voice coil 30 by executing the instructions for function box 107, which cause voice coil timer 22 to be set to 0. If TX timer 23 residue at the time the previous cylinder pulse occurred is greater than 0, then voice coil timer 22 is set to 255 by the instructions corresponding to function box 106.
After voice coil timer 22 has been properly set, the instructions of decision diamond 108 test the current contents of TTG counter 24 to see whether it is greater than 33 or not. If it is greater than 33, then the deceleration control by microprocessor 10 continues to operate in the bang-bang mode and the sequence of instructions starting with those corresponding to box 102 are re-executed. If the current contents of TTG counter 24 are equal to or less th~n 33, then the instructions corresponding to function box 80 (Figure 2d) are next executed, as implied by the proportional deceleration connector oval 79.
The instructions represented by the flow chart sy~bols of Figure 2d provi~e proportional deceleration of servo head 16.
That is, the amount of time which decelerating current is applied to voice coil 30 is approximately proportional to the number of microsecond$ too quickly which head 16 completed the traverse be-- 26 ~

tween the previously crossed inter-track interval, Although amper-age in voice coil 30 could be modulated, the modulation I prefer is in the width of the deceleration pulses.
The first activity microprocessor 10 has in the proportion-al deceleration phase is to change TX timer 23 to decrel~ent at 4 ~sec, intervals as shown in function box 80, by changing the signal on path 38 from a 1 to a 0, N~xt, function ~ox 80 shows the entry in the ideal velocity profile table indexed by the contents of TTG
counter 24 minus 1 transmitted to TX counter 23 and I/O interface reset to cause TX timer 23 to start decrementing on cylinder pulse trailing edges. The correct value must ~e used in timing the înterval bet~een successive cylinder pulses, because proportional control of the deceleration requires an accurate measure of tne deviation from the ideal profile for each interval, Thus, the vel-ocity error table (Table II~ takes into account the 20 ~sec. dura~
tion of each cylinder pulse~
~ icroprocessor 10 is caused to ~ait for a cylinder pulse leading edge (function box 82) to stop TX timer 23 decrementing and then effects transmission of the contents of TX timer 23 (function box 83) to an internal T register. An ideal velocity profile table entry indexed by the contents of TTG counter 24 is transmitted to TX timer 23 ~function box 84). While this occu^s, TX timer 23 is started decrementing by the trailing edge of the ~ust-sensed cyl-inder pulse. Next the instructions corresponding to decision diamond 85 are e~ecuted, If the register which contains the prev-ious value of TX timer 23 is equal to 0, the instructions corres-ponding to function box 87 are executed, causing voice coil timer 22 to be cleared and no deceleration to occur. If the prevlously stored contents of TX timer 23 are greater than a ~ this implies that the carriage is moving more rapidly than ls ideal for the given TTG value.
As explained earlier, errors during this portion of decel~
eration are corrected in a proportional-mode rather than in bang-bang mode. Table II of the Appenaix, Velocity Error versus Voice Coil Power Pulse Durations, provides the appropriate voice coil pulse width or on time for each residue value ~n TX timer 23~ For example, in Table II, if the residue in ~he T register stored hy the instruction represented ~y function block ~3 ~as equal to 15, the voice coil on time specified ~y Table II wo~ld ~e 28~ Similar-ly, if TX timer 23 ~esidue is greater th.an or equal to 139 ~556 ~sec,) the on time woula be 255-~sec. The instructions represented by function ~ox 86 simply use the contents of the T register which contains the residue from the last countdown of th.e TX timer as an index to Table II, and insert the value so identified in it in VC timer 22 The entries of Table II are chosen to provide enough power to voice coil 30 to decelerate servo head 16 in an amount 2Q sufficient to keep the velocity very close to the theoretically ideal velocity~ The more rapialy the ideal head 16 is mo~ing, the greater will be the residue in TX timer 23. Inspection of Table II
shows that the entries in it for increasing TX timer 22 residues generally increase proportionately. There are several points of discontinuity~ however, in Table II~ These are peculiar to the characteristics of th.e particular system involved. Different values will be necessar~ for another systemr ~lthouyh theoretical calcul-~ 28 -ation of these values is possible, in actual practice the theoret-ical values must be changed substantially through experimentation to find values that will cause the system to perform properly with unavoida~le tolerances in voice coil control 26, voice coil 30, and the mass and friction in the carriage. Note also that a TX timer 23 residue of a certain value represents a much lower velocity error when servo head 16 is very near the desired cylinder (TTG counter contents small) and movlng slowly than when head 16 is still many cylinders a~ay from the desired cylin~er Table II
represents an acceptable compromise of these differing decelera-tion power requirements.
~ fter the instructions represented by function boxes 86 or 87 have been executed, micxoprocessor 10 next executes the instruc-tions corresponding to decision diamond 88. The contents of the TTG counter 24 are read up and tested to be greater than 1. If this condition is true, the instruction processing sequence begins again with the instructions represented by function block 82~ If the current contents of TTG counter 24 are less than or equal to one, the seek has been completed and the ;nstructions corresponding to function box 89 are executed. ~oice coil timer 22 is cleared and the fine/coarse signal on path 28 is set for track following mode.
There are many other ~ays to mechanize this particular philosopy of carriage speed measurement and voice coil power con-trol. In particular, the parameters in Tables I and II will have to be substantially changed each time a different system is control-led with this hardware Also, it might be desirable to make the ~ 29 -deceleration for a given time error between cylinder pulses de-pendent on the TTG value as well if read only memory becomes very inexpensive.

~ 30 APPENDIX
TABLE I
IDEAL VELOCITY PROFILE
IN TIME BETWEEN CYLINDE~ PULSES

TRACKS RESOLU-030 20* 19* 29* 115 113 111 109 107 105 103 1 US

(*~ Scale in 4 ~sec.

TABLE II
~ELOCITY ERROR (4 US. RESOLUTION) VERSUS
VOICE COIL POWER DECELER~TIOM PULSE DUR~TIONS IN pSEC, .

ERROR
000 - 14 15 16 17 18 19 20 21 22 USEC.
010 23 24 25 26 27 28 36 37 38 39 USEC.
020 40 41 42 43 44 45 46 47 48 49 USEC.
030 50 51 52 53 54 55 56 57 5a 59 USEC.
04Q 60 61 62 63 64 65 66 67 54 55 USEC.
Q50 56 57 58 59 60 61 62 63 64 65 USEC.
060 66 67 68 69 70 71 72 73 74 75 USEC.
070 76 77 78 79 80 81 82 83 84 85 USEC.
080 86 87 88 89 90 91 92 93 94 95 USEC.
090 96 97 98 99 100 101 102 103104 105 USEC.
100 106 107 108 109 110 111 112 113114 115 USEC.
110 116 117 118 119 120 121 122 123124 125 USEC.
120 126 127 128 129 130 131 132 133134 135 USEC.
130 136 137 138 139 140 141 142 143144 255 USEC.
14Q 255 255 255 255 255 255 255 255255 255 USEC.

250 255 255 255 255 255 ,USEC.

Claims (10)

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. In a disk memory of the type having at least two rotatable disk surfaces, at least one carrying a plurality of concentric, circular, sequenti-ally numbered servo tracks having a predetermined spacing; a carriage carrying transducer head arms and radially shifted with respect to the disk surfaces by a linear motor responsive to a motor control signal; a servo transducer head carried on a head arm in such proximity as to allow transducing of the servo information thereon when the servo disk surface is rotating; a servo signal demodulator receiving the output of the servo head and providing during radial movement of the servo head a track crossing signal comprised of cylinder pulses, each generated by the servo head's crossing of a predetermined area of each servo track; means receiving the servo transducer head output and supplying a motor control signal to the linear motor for causing the servo transducer head to maintain alignment with any servo track with which alignment currently ex-ists; and computing means storing the number of the servo track aligned with the servo transducer head, and receiving a destination track number initiating a seek operation and responsive thereto computing and issuing an initial tracks-to-go value signal equal to the absolute difference between the number of the track with which the servo head is aligned and the destination track number and issuing a seek direction signal specifying the direction the servo transducer head must be moved to reach alignment with the destination track, wherein the invention comprises improved means for controlling servo transducer head velo-city during each seek operation, comprising:
(a) timing means receiving the track crossing signal for providing a track crossing time signal encoding in real time the time elapsed between each adjacent pair of cylinder pulses;
(b) a tracks-to-go register receiving the initial tracks-to-go value signal from the computing means and storing said value, and receiving the cylinder pulses and decrementing by one the number of tracks-to-go responsive to each pulse, and supplying a current tracks-to-go signal encoding the con-tents of the tracks-to-go register; and (c) velocity control means receiving the track crossing time sig-nal, the current and initial tracks-to-go signals and the seek direction signal for supplying a motor control signal causing the servo head to move radially to a position above the track specified by the initial tracks-to-go and seek direction signals, and approximately follow a predetermined velocity function dependent on the initial tracks-to-go value, said servo head velocity deter-mined from the time encoded in the track crossing time signal and varied as a function of the current tracks-to-go signal value.
2. The improvement of claim 1 wherein the velocity control means further comprises acceleration control means for determining a minimum track crossing time during acceleration as a function of the initial tracks-to-go value, and for providing a motor control signal accelerating the servo trans-ducer head toward the destination track when the minimum track crossing time is smaller than the last measured time in the track crossing time signal.
3. The improvement of claim 2, wherein the velocity control means further comprises deceleration velocity function means for supplying a preferred track crossing time signal responsive to receiving a tracks-to-go signal and related thereto, said times in said preferred track crossing time signal follow-ing those specified by the velocity function for the related tracks-to-go values; and wherein the acceleration control means further comprises maximum velocity selection means applying the initial tracks-to-go value to a preselect-ed deceleration track algorithm and computing therefrom an intermediate tracks-to-go value, for supplying the intermediate tracks-to-go value as the signal to the deceleration velocity function means and receiving therefrom the related preferred track crossing time encoded in a signal, and supplying the time en-coded in the preferred track crossing time signal from the deceleration velocity function means to the velocity control means as the minimum track crossing time.
4. The improvement of claim 1 wherein the velocity control means further comprises deceleration control means for determining according to the velocity function, a track crossing time for each of a series of current tracks-to-go values, and for providing a motor control signal decelerating the servo transducer head as it moves toward the destination track when the last measured time in the track crossing time signal is smaller than the track crossing time determined as a velocity function of the current tracks-to-go value.
5. The improvement of claim 4, wherein the deceleration means further comprises means for determining the difference between the track crossing time specified by the velocity function using the current tracks-to-go value as argument and the last measured time in the track crossing time signal, and means for supplying as a function of said time difference a motor control sig-nal providing deceleration power on-time increasing with increasing time difference over at least one sequence of time differences.
6. The improvement of claim 1, wherein the velocity control means further comprises:
(a) a memory having a plurality of addressable locations, each address associated according to a predetermined indexing algorithm with at least one of a predetermined sequence of tracks-to-go values, the contents of each such location containing a value encoding a track crossing time specified by the predetermined velocity function with the associated tracks-to-go value as argu-ment, said memory supplying the contents of each such location responsive to receiving the location's address;
(b) motor controller means receiving the current tracks-to-go signal and the crossing time signal, for supplying the memory with the address associated according to the indexing algorithm with the current tracks-to-go value and receiving the contents of the location addressed thereby, and for comparing the track cross-ing time value encoded therein with the latest track crossing time in the crossing time signal, and if the time value in the crossing time signal is different from the time value received from the memory, supplying a motor control signal changing the speed of the servo head to more nearly match the next measured track crossing time to the time received from the memory.
7. The improvement of claim 6, wherein the motor controller means further comprises:
(a) means for applying the initial tracks-to-go value to a preselected deceleration track algorithm and generating therefrom a deceleration tracks-to-go value, said value being smaller than the initial tracks-to-go value;
(b) acceleration control means receiving the deceleration tracks-to-go value, supplying the memory with the address associ-ated therewith, and receiving from the memory the track crossing time supplied responsive thereto, for providing a motor control signal accelerating the servo transducer head toward the destin-ation track when (i) the track crossing time received from the memory respon-sive to the deceleration tracks-to-go value is smaller than the latest track crossing time encoded in the track crossing time signal, and (ii) the current tracks-to-go value is greater than the deceleration tracks-to-go value.
8. The improvement of claim 7, wherein the motor controller means further comprises bang-bang deceleration control means receiving the deceleration tracks-to-go value and the current tracks-to-go value, for supplying a motor control signal deceler-ating the servo transducer head as it moves toward the destination track when (i) the current tracks-to-go value is less than the deceleration tracks-to-go value, and (ii) the track crossing time value encoded in the signal from the memory is larger than the latest track crossing time encoded in the track crossing time signal.
9, The improvement of claim 7 wherein the memory further com-prises a plurality of addressable locations, each. address associ-ated according to a predetermined error algorithm with one of a plurality of predetermined error times, the contents of each such address specified by a predetermined proportional deceleration function specifying the decelerating force for each associated error time, and wherein the motor controller means comprises means for generating an error time by forming the difference between the track crossing time value encoded in the signal from the memory and the latest track crossing time in the track crossing signal, for supplying an address computed according to the error algorithm using the latest error time generated, and for receiving the con-tents of the memory location addressed thereby and supplying a motor control signal to the motor causing the motor to supply the associated decelerating force to the carriage.
10. The improvement of claim 9, wherein the memory stores a motor "on" time for each decelerating force stored, and wherein the motor controller means further comprises means for supplying the associated on time in each motor control signal.
CA000380529A 1980-06-30 1981-06-24 Disc head arm position controller using digital velocity sensing Expired CA1161161A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US164,435 1980-06-30
US06/164,435 US4333117A (en) 1980-06-30 1980-06-30 Disc head arm position controller using digital velocity sensing

Publications (1)

Publication Number Publication Date
CA1161161A true CA1161161A (en) 1984-01-24

Family

ID=22594466

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000380529A Expired CA1161161A (en) 1980-06-30 1981-06-24 Disc head arm position controller using digital velocity sensing

Country Status (3)

Country Link
US (1) US4333117A (en)
AU (1) AU537471B2 (en)
CA (1) CA1161161A (en)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5736479A (en) * 1980-07-29 1982-02-27 Victor Co Of Japan Ltd Automatic program searching playback device in playback device
US4660106A (en) * 1980-09-24 1987-04-21 Quantum Corporation Data transducer position control system for rotating disk data storage equipment
USRE32075E (en) * 1980-09-24 1986-01-28 Quantum Corporation Data transducer position control system for rotating disk data storage equipment
US4516177A (en) * 1982-09-27 1985-05-07 Quantum Corporation Rotating rigid disk data storage device
US4486797A (en) * 1982-11-22 1984-12-04 International Business Machines Corporation Sliding mask variable resolution velocity trajectory for track following servo
US4547822A (en) * 1983-08-04 1985-10-15 Tecstor, Inc. Head positioning servo for disk drives
JPS6089876A (en) * 1983-10-21 1985-05-20 Toshiba Corp Magnetic head moving controller
US4591933A (en) * 1983-11-28 1986-05-27 Computer Memories, Incorporated Disk drive head positioner with optimized seek operation
US4882671A (en) * 1985-06-05 1989-11-21 Plus Development Corporation Microprocessor controlled rigid disk file subsystem
US4819153A (en) * 1985-06-05 1989-04-04 Plus Development Corporation Microprocessor controlled rigid disk file subsystem
US4777545A (en) * 1985-10-31 1988-10-11 Teac Corporation Circuit arrangement for inhibiting writing on a magnetic disk during the settling time of a transducer head
US4669004A (en) * 1986-02-27 1987-05-26 Quantum Corporation High capacity disk file with embedded sector servo
US4775903A (en) * 1986-10-14 1988-10-04 Hewlett-Packard Company Sampled servo seek and track follow system for a magnetic disc drive
US4808900A (en) * 1987-03-02 1989-02-28 Unisys Corp. Bi-directional difference counter
US4855977A (en) * 1987-07-27 1989-08-08 Laser Magnetic Storage International Company Track seeking apparatus and method using sampled information
JP2565205B2 (en) * 1987-08-20 1996-12-18 ソニー株式会社 Optical disk device
US4926405A (en) * 1987-09-08 1990-05-15 Pioneer Electronic Corporation High-speed search method for use in a disc player system
DE3732916A1 (en) * 1987-09-30 1989-04-20 Thomson Brandt Gmbh DEVICE FOR PLAYING BACK DATA
US4949201A (en) * 1988-04-01 1990-08-14 Micropolis Corporation Disk drive head position controller with static bias compensation and plural velocity detectors
US4899234A (en) * 1988-04-04 1990-02-06 Magnetic Peripherals Inc. Adaptive velocity profile for disk actuator control
US4982298A (en) * 1988-08-01 1991-01-01 Rigidyne Corporation Adaptive velocity profile system for a disk drive head
US5090002A (en) * 1989-03-07 1992-02-18 International Business Machines Corporation Positioning systems employing velocity and position control loops with position control loop having an extended range
JPH02306479A (en) * 1989-05-19 1990-12-19 Tokico Ltd Magnetic disk controller
JPH0386926A (en) * 1989-06-19 1991-04-11 Matsushita Electric Ind Co Ltd Retrieving device for information track
US4914725A (en) * 1989-07-10 1990-04-03 International Business Machines Corporation Transducer positioning servo mechanisms employing digital and analog circuits
US5132855A (en) * 1989-11-28 1992-07-21 Seagate Technology, Inc. Adaptive velocity profile selection based on torque constant measurement
JPH03178082A (en) * 1989-12-07 1991-08-02 Matsushita Electric Ind Co Ltd Data transducer positioning device
US5189571A (en) * 1990-04-30 1993-02-23 Seagate Technology, Inc. Adaptive settle time minimization for a hard disk drive
JP2634489B2 (en) * 1990-12-21 1997-07-23 富士通株式会社 Magnetic disk drive
US5657179A (en) * 1991-03-28 1997-08-12 Seagate Technology, Inc. Method for reducing noise during track seeking in a disc drive
US5475545A (en) * 1991-03-28 1995-12-12 Seagate Technology, Inc. Method for reducing noise during seeks in a hard disk drive
US5329409A (en) * 1991-07-24 1994-07-12 Seagate Technology, Inc. Correction of current feedback offset for disc drive servo systems
US5305160A (en) * 1991-07-31 1994-04-19 Seagate Technology, Inc. Compensating for variations in torque capability of voice coil motors
US5305447A (en) * 1991-07-31 1994-04-19 Seagate Technology, Inc. Multi-task operating system for a disc drive
US5381279A (en) * 1993-10-13 1995-01-10 Maxtor Corporation Disk drive system with adjustable spindle and actuator power to improve seek and access performance
US5696647A (en) * 1994-03-28 1997-12-09 Seagate Technology, Inc. Method for carrying out seeks in a hard disc drive to limit the generation of acoustic noise including using a slew rate limit
US6570733B1 (en) 1998-01-13 2003-05-27 Seagate Technology Llc Adaptive servo gain adjustment to improve disc drive seek performance
US6449117B1 (en) 1998-07-13 2002-09-10 Seagate Technology Llc Reducing acoustic noise using a current profile during initial stages of a disc drive seek
JP2002520762A (en) 1998-07-13 2002-07-09 シーゲイト テクノロジー エルエルシー Creating a current profile to reduce disk drive seek time variation and acoustic noise generation
US6744590B2 (en) * 2000-09-14 2004-06-01 Samsung Electronics Co., Inc. Seek trajectory adaptation in sinusoidal seek servo hard disk drives

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1503971A (en) * 1975-05-15 1978-03-15 Ibm Positioning system for data storage apparatus
US4031443A (en) * 1975-05-22 1977-06-21 Compagnie Honeywell Bull (Societe Anonyme) Apparatus for positionally controlling a movable head assembly
JPS582427B2 (en) * 1975-10-09 1983-01-17 富士通株式会社 Jikiday squat couch
GB1499268A (en) * 1976-06-30 1978-01-25 Ibm Servo apparatus
US4272793A (en) * 1979-06-04 1981-06-09 Texas Instruments Incorporated System and method for positioning a magnetic head transducer on a flexible storage media
US4237502A (en) * 1979-07-10 1980-12-02 Per Sci, Inc. Disk drive system

Also Published As

Publication number Publication date
AU6952481A (en) 1982-01-07
AU537471B2 (en) 1984-06-28
US4333117A (en) 1982-06-01

Similar Documents

Publication Publication Date Title
CA1161161A (en) Disc head arm position controller using digital velocity sensing
US4816941A (en) Disk file digital servo control system with optimized sampling rate
US4547822A (en) Head positioning servo for disk drives
CA1110359A (en) Servo system for track accessing and track following in a disk drive
EP0684596B1 (en) Method of controlling seek movements by a magnetic head in a hard disk drive
US4237502A (en) Disk drive system
EP0063936B1 (en) Position control apparatus
CA1322789C (en) Single stage seek method
EP0308070B1 (en) A data recording disk file with digital servo control
US4896228A (en) Magnetic disc apparatus having improved head position control
US5233486A (en) Method for correcting track counting errors during seeks in a hard disc drive
US4636883A (en) Magnetic head control apparatus
US4300174A (en) Guard band control for magnetic disks
US4685007A (en) Disk drive with track zero location system
US4125882A (en) Disc file system with improved seek control
JPS63140469A (en) Detecting system for reference track of disk memory device
US4789909A (en) Method and apparatus for placing servo information at predetermined locations on a disc
US4789816A (en) Stepping motor drive control apparatus
EP0356939B1 (en) Device for controlling an access operation of an information recording and reproducing device
EP0244980B1 (en) Rate-of-change signal generator and method using sampling techniques
JPS598170A (en) Head moving system
JPH0430667B2 (en)
JPH01144280A (en) Magnetic disk device
JP2512413B2 (en) Sample value control type magnetic head positioning control method
KR850001460B1 (en) Driver of coaxial disk pack

Legal Events

Date Code Title Description
MKEX Expiry