CA2068329C - Digital servo control system for use in disk drives - Google Patents

Digital servo control system for use in disk drives

Info

Publication number
CA2068329C
CA2068329C CA002068329A CA2068329A CA2068329C CA 2068329 C CA2068329 C CA 2068329C CA 002068329 A CA002068329 A CA 002068329A CA 2068329 A CA2068329 A CA 2068329A CA 2068329 C CA2068329 C CA 2068329C
Authority
CA
Canada
Prior art keywords
track
reading device
recording medium
block
arrangement
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 - Fee Related
Application number
CA002068329A
Other languages
French (fr)
Other versions
CA2068329A1 (en
Inventor
Ronald James Kadlec
Thomas James Frederick
Paul Henry Kelley
Philip Saxton Weilbacher
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.)
Sportech PLC
Original Assignee
Rodime PLC
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 Rodime PLC filed Critical Rodime PLC
Priority to CA002235104A priority Critical patent/CA2235104C/en
Publication of CA2068329A1 publication Critical patent/CA2068329A1/en
Application granted granted Critical
Publication of CA2068329C publication Critical patent/CA2068329C/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/59605Circuits
    • G11B5/59622Gain control; Filters
    • 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
    • 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
    • G11B21/085Access to indexed tracks or parts of continuous track on discs with track following of accessed part
    • 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/10Track finding or aligning by moving the head ; Provisions for maintaining alignment of the head relative to the track during transducing operation, i.e. track following
    • 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/54Disposition 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 into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5521Track change, selection or acquisition by displacement of the head across disk tracks
    • G11B5/5526Control therefor; circuits, track configurations or relative disposition of servo-information transducers and servo-information tracks for control thereof
    • G11B5/553Details
    • G11B5/5534Initialisation, calibration, e.g. cylinder "set-up"
    • 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/54Disposition 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 into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5521Track change, selection or acquisition by displacement of the head across disk tracks
    • G11B5/5526Control therefor; circuits, track configurations or relative disposition of servo-information transducers and servo-information tracks for control thereof
    • G11B5/553Details
    • G11B5/5547"Seek" control and circuits therefor
    • 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/59605Circuits
    • G11B5/59616Synchronisation; Clocking
    • 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/5965Embedded servo format

Abstract

A servo control system provides adaptive compensation for a variety of tracking and seek problems found in disk drives.
The servo control system is ideally implemented in digital form for accuracy, speed and compactness. A first embodiment includes two modes, a tracking (or position) mode and a seek (or velocity) mode, each mode employing a variety of compensation functions. A second embodiment includes a single comprehensive control system which functions during both tracking and seek operations.

Description

~ ' !

' ~; W092t95543 2 Q ~ ~ 3 2 9 ~: PCT/~S9~ 02 ~ a~ ~ER~O Co~T~3~ OR ~8E I~ DI8~ DRIVB~ ~
., .
. 'l'~'~N 1 CAL FI~D
O The present invention relates tv servo conL~ol systems s which may be used in c~r,~Lolling the head positioning actuators in storage devices such as disk drives. More sp~cifically, ~he invention relates to digital servo control systems involving.efficient implementations of tracking and seek; ng servo COIlLL ol methods.
BACKGROUND ART AND BA~K~KuuNu OF THE lNv~NlLON
Various servo c~ l syste~s are kno~n in the art. U.S.
Patent No. 3,458,785 (Sordello) ~i~cloees an early example of - a s~-rvo c~nL~ol system employislg quadrature signals for providing position and velocity ini.ormation, the ~y~tem having fine and coarse positioning C~IILLO1 algorithms. U.S~ Patent No. 4,135,217 (Jacques- et al.) discloses a system which ' c~mpensates.for.r~peatable ~ o~.su~h.as wobble o~ a disk, . with stored "run-out'~ information being used to compensate for -.the errors.~ U.S. Patent No. 4 !412,161 (Cornaby) generally discloses a digitally-:.i~plemented .recursive- servo- control stem. U~S.-.~Patent No~ 4,486,797 (W~rk~an3 discloses a servo control~ystem in which:a ~LO~L sd:velocity profile is used.-. U.S. Patent No, 4,783,705 (~oon et al.~ di6closes an 25- em~e~de~.se~tox s2rvo ~ystem.divided into separate track and ~eek~ C~IL ol sy~t ~s,sthe-i 8y em~; n~ i n~ ~an.automatic gain nLrol~:~function... U.S. ~Pate~t ~No.-.,t4,788,60~ (Tsujisawa) - ~:? disclo~e~ a cGntLol ~ystem1for:positioning read/write heads ~ over a ~ ircular~track rr by using harmonics.ofithe.rotation 30~ period o~.the disk,~-.U.~S. PatentzNo~4,835j632.:(Shih et al.~
~discloses-~a:servo ~on~,ol.system having.di~erent sampling and ol.ifrequen~ies for tr~r~in~ and~seek.iop~rations, tha ys~e~appar~ntly. 6C~ l tn.~ior'normal~8~n~ certain value4 during ~ ion. U.S. Patent No. 4,335,633 ~Ed~l ~t al.;)~disclo6es ~;-a~servo:cu..LLol ~yst~ in~olving ~alue~ ;hrated ~or voice ' coil ~otor.~elPratioa as a.~unction o~ radial position using ~ . -a polyno~ial curve~it. ,~
:"

W092/05~3 2 0 ~ ~ 3 2 ~ PCT/US91/06602 ~

U.S. Patent No. 4,879,612 (Freeze et al.~ discloses a servo control system cl~;~;ng a purely digital seek mode but a hybrid tracki~g mode, the system using track identity information and sample testing to reduce errors. U.S. Patent r, No. 4,890,172 (Watt et al.)~discloses an automatic gain c~lihration system for a disk drive servo system. U.S. Patent D
No. 4~907,107 (Sakurai) discloses a low level circuit ~or generating signals corre~pon~;n~ ko sampled magnetic pulses.
U.S0 Patent No. 4,914,644 ~Chen et al.3 discloses a servo - control system including a model of coil ~ul~e.,L involving comparison of a velocity error to a predete~- in~ value during long seeks, when the power ampli~ier is saturated. U.S n Patent No. 4,914,725 (R~l~er et al.~ di~closes a 6ervo control system including a "piggy-back'~ ~onstructio~ incl~ding a ~ine positioner carried by a coarse positioner, the dynamic range :~
of the ~ine positioner being increased momentarily at tha time of track capture, this pate~t naminSI a common inventor with an inventor o~ the present patent application. U.S0 Patent No.
4,942,564 ~Ho~er et al.) discloses a gain compensation system . in which a test signal is i~lL.o~re~ to determine the 6ystem's response for comparison to a:previ.ously.~tored value. U.S.
~;.; Patent No.' 4,g54,909 ~(Sengoku) discloses a system for determ1n~ng ~ovement of-a recording head, espeaially for determining when it has hit a disk ur~ace.~, U.S.:Patent No.
~ 5,038,333 (Chow et al;)-~-di~closes a-track-~eekin~ 3pparatus m -- having a track crossin~ detector ~or'' providing -position . .- :..:information,~ this patent naming an .inventor..who,~:is also a - a', . ~ '3..' named-inventor~in~the:present:patent application..~
~ ,','Z''~ EuL~ean Pa~en~ ~pplication 0,390,467s(0gino)-:discloses .30 .';' -;a.:digital servo~.c~ ,ol syste~ in which c~rt~;n variables are aa~:i~z:.-not:..ualeulated~when ~an ~L~ value is-:~ubstantially zero.
r~ 3~p~nese:Patent;Docs~ment S3-316380~disclo~e~:a co~l~t~l system ..s ~ .a~having:a.plurality.~o~servo.~b~t.~ample period~ -3~
so~.These patents~~~as~well as:~:any~.~ocuments..ci~ed~in this ;35n-r-~ ~patent-.application,~ are.i..c~L~L~ted:.Shereincby.~re~erence in th~r:entirety.~ -t~
-.In the:field of ~a~netic.disk drives, ~ervo syskems are .required.to-a~curately~position read/write heads o~er a given substantially circular track on the disk, as~ well as ~ .

. . ". " . : .
", , s" ". ~

W092/~5S~3 ~ PCT/US91/06602 efficiently move the heads from above one track to a new desired position above a second track. It is desirable in the "tracking" (or "position") mode that the. position of the .. read/write heads with respect to the track be maint~ine~ in the proper center position above the track. Similarly, when moving the heads from one track to anothex. in the "seek" (or "velocity"~ mode, it is desirable that the heads bec~ ? stably centered above the destination trac~ as soon as possible.
These goals must be met even in the pre~ence of anDmalies such as changes to or OC~L1e.~CeS in the disk drive ~h~ni ~ or deviations from perfect circularity in the tracks. These ~n~ ~ ~ ies may involve aging, temperature changes, changes in orientation of the disk drive, humidity, shock and vibration.
Speci~io performance objectives embodying these broad goals include reduction of tracking error (expressed as a percentage of the radial separation of the tracks), averag~ access ti~e (reflecting the average ti~e required to move the read heads to a desti~ation track in a.typica:l read operation and provide the outside world with data from t:he disk), and bit error rate (BER, in bits per lOn).
Meeting these goals ~llows the di~k drive's performanc~
to be i~Lo~d. I~ these goals are not met, misalignment or -': delayed alignment of the read/write heads with respect to the tracks cause'incr ases in read/write e~L~s and a slowdown in read or-write operations. ~
urther obj~ctiv~ include reduction o~.the size o~ the ~: di~k drive: itsel~. Asi recor~ing de~sities ~ ,_ OVe ~ a ...~h;n~Pring: ~actor in re~lt~in~ overall disk:dri~e.~:phy~ical ~ dimensions~may-be~.the size of the ~circuitry -required to implement the~servo system.~-~ Ther~f ore, there-is a need~to ~ ; provi~-a~high-per~ormanre,~ reliabl~, and;fast servo CO~ILLO1 - ;''system-whlch is both economic and co~pact.~ S~ . ....
ore ~pecifically,~ various-schemes:are~known.today ror pl~ci~ position information on the surface.of.idi~ks so that 35'';~ the~position-of th~ head over~the:disk-~can~be-determined.
': ~This position in~ormation, c~ y ~referred~to,~as servo ~ in~ormationj may in some schemes oc~u~y an entire sur~ace of : - one disk. ~his "dedicated":scheme-has the disadvantage that ~t occupies a sub~tantial portion o~ th~ total area allo~ted W092/05~3 ~ 32~ PCT/~Sgl/066~ ~

for useful info~mation. :For example, in a two-disk system, there are four surfaces. If one of th~ surfaces i~ dedicated to servo in~ormation, at least 25% of the otherwise useable surface of the disks is used, purely for p~sitioning informationO As the physical ~ize o~ disks ~eco~?~ smaller with the ~L~yLess o~ technology~ dedication of an entire disk ~urface to servo in~ormation becomes increasingly unacceptable.
. In a sP~Qn~ scheme, called an ~'em~de~l' servo design, the servo information is recorded on every disk ~urface along with the user data areas. Although emhe~e~ servo designs have increased the servo area efficiency over dedicated ~chemes, known embedded servo schemes have typically involved complex servo data ~ields, which has ~orced larger amount~ of disk area to be allocated to the p~sitioning information. As the amount of area dedicated to positioning information increases, either the ~ of u~e,able data decreases, or the density of useable data storage increases, both of which are undesirable. Therefore, there is a need in the art to provide a servo cun~Lol system in which the~re is no ~ur~ace dedicated entirely to servo COll~ ol information, and in which the area r~ .allocated to servo control in~ormat:ion is rP~uc~ to a ;n;
while ~aint~;ning optimum Fe~ing and tracking efficiency.
Known.servo systems involve analog circui~ry. Us~ of analog circuitry in servo systems can involYe reduced :; tolerance to noisa. Clearly, noise-contaminated ~ignals cause . degradation -in system perfo~ q~e, ~o that a c~mensurate .reductionS in ~noise-intolerant .~ nts~ is: dessrable~
;-u~Therefore, there -is a.need-~in-:-the-~art ito provide a totally -'30, ,;~! digi~ally i~plemented::servo~on~Lol~ystem~
.The.disadvantages-of analog or-~:hybrid circuits are not limited to noise intoleraneeO- Analog or hybrid circuits have z~ .typically:been larger.;.in ~ize~than,:purely digital circuits.
", ' ,',j~t~,~.,,~ ',~''~ Furthermore,'~at ~least ~partially..due.~o.~the -~atte~pt to ~35 : epartially~v~come.noi e~-related problemsj~f~n~lo~or hybrid s~rvo c~ ol systems have required ~ore~than one power ~upply - to Ibe:rpr~sent...; There~ore~ -design: objectives ~such as miniaturization iand reduction in~ the nu~er and ouL~

' ' - -~ . : : : ,. . . , :

': ;W~92/0S~3 P~T/US91/06602 requirement~ of power supplie~, ~urther point out a need for a totally digitally-implemented servo ool.LLol system.
There are known CO~I~LO1 systems which are partially ., implemented using digital hardware. However, many of these S systems have several parame~ers which are frozen at the time " of system design, so that the parameters must be selected to be the most acceptable c- ,~umise for all operations. For example, the parameters in fixed-parameter systems must be chosen so as to function during both se~k; ng operations and during tracXing operations. This compromise degrades performance in each operation, as c~ ,ored to a system optimized for a~tracking operation and optimized separately for a sePking operation. Therefore, there i5 a need in the art to provide a servo syste~ in which servo parameters may be adaptively changed in accordance with the operation currently being executed by the servo corl~Luller.
on a matter related ;to operation-specific parameter optimization, it is k~own khat age, temperature, humidity, and other enYironmental factor~ cause deterioration in system per~ormance. Freezing syste~ parameters at the time of design li~its the disk drive's-long-term perform~nce under these -- changing conditions. ~There~ore, there-is a need in the art to - . provide a servo system in which parameters may be-adaptively . calibrated over time, as these environmental changes occur.
25 . . . .~
.~. . .. . . ~ ........ . -~ .
DISCLOSURE OF lNvhNllON
'i' ' Thei~present: invention-'proYides a ~highly''adaptive, ~ -responsiveg ~ ,~ehensive 5ervo oonL~ol~sy~tem'àllowing stable !30 '~ tracking~and;e ficie~t~e~kin~ in the pre6~c~-of~a varietylof c .~ tructuraIr ~n~_ ~1 ies ~and adverse oc~~~Lences~ such as : ~ temperature variation, change in:physical orientation, shock, vibrà~ion,~.and humidiky.~
~Q -i '~r~ The~ invention~ provides: adaptive ~compensation for ~a ~!35'' ~ variety'~:o~:tr~;ng ':'and~ seek~rproblemsi andi';is ideally ~implemented iin digital~-form -~or~ accuracy~-and ~speed. A
Olled' entity'5Uch as actuator coil current is determined y~~-a' ~o.,~ol effort: si~nal ~u~L from:a'digital signal yr~c~or-(Dsp) or microc~-lL~oller. ~

.
, ' ; ; ' ' . . ' ' :
.~ . . 1 , ., ,, -, ,, . ; . ~ . . .: ~ .
.. . . . . . .
' ': ,' : . . :.
. .

W092/05~3 PCTIU~91/~0 !
In a first embod; ~t, the DSP may operate in at least a-tracking m~de or a seek ~ode. Especially in the first ~rho~; ent, repeatable runout which is a function of ~he angular position of the heads wi~h respect to the rotating v 5 disks, and bias which is a function o~ the radial position of the heads, are adaptively compensated. Further, a one-track seek controller is specially provided within the tracking mode for sePk;n~ an adjacent track. A DC offset compensator is provided to correct for offsets in an input position error 10sensor. In the seek mode, a reference velocity deceleration compensation fu~ction i5 per~ormed to optimi~e seek and a~cess time for the particular disk drive, this ~u~ction also being adaptively controlled. Both the tr~k;n~ servo controller and the seek servo cG--~L~ller may b~ infl-lence~ by a bandwidth 15~ ~e~ation ;function. Co~pensation for this Yariety of ~n, ~lies i~,preferably performed in a to~ally di~ital mann~r, ~p~e~i n~ operation and simplifying modi~ication of the servo co"~oller's de~ign and-parameters~ .
According to the present invention, especially a seccnd 20embodiment thereof, an - hP~e~ se:rvo design is provided, the ~ervo ~ield occupying a m~n; ~1 amount of disk surface space.
: -.Content of: the servo field pro~ides-~a:,.maximum .amount of information to.,work with a ~ull ~tate-space-observer in the servo system.: The.observer provides predic~ed state values to 25allow optimum tracking and ~eek perfo~ ~ce. The servo sys*em -~ is implemented in totally digital fo~m, using firmware to ~ implement a set of func~ions~having dynamically ~cAl~hle , . . , . -- .. .. . ...
para~eters and~adaptively.~c~ rated,cc~r~n~tion functions. r Accoxding to the pre~ent i~vention, ~he digital implementation -30 ~ provldes-,a disk:drive with ,an-:extremely ~mall:~form factor, ~requiring-~nly a~.single (for example, 5 volt)~-power supply ~-~which consumes:a-minimal,amount of:power. Dynamically scaled servo sy~t~ parameter~ optimi~e syst iperformanc~ during caessive~portionsJIof-a3Feek oper~ation and during clo~e -35 : trac~ng mode. eFurtheri various~compensation schemes within the jfirmware-ba~ed~ervo:~ol~o~l~r mai~tain~.opti~um 8erv0 ~ per~or~ancedespit~ envil- -ntal~.chang2s~and component :deg~adation.~ ~oreover, the r~ ,~ct storage-of digital servo information on the disk, and the intel.li~ent predictiOn models .
, , ,,. . . , ~ . , ~s~ 2~3~9 ';'W~92/0~3 P~T/~S91/~02 in the servo c~lL~ol system, allow the system to quickly adapt and compensate for unpredictable OC~UL1el~C2S~ ~uch as vibration and shock, thus ~ki n~ the adaptation and r. compensation time imperceptible or barely perceptible to the user. I~ particular, the second embodiment of the present .. invention allows 120 MB (formatted) storage on four 3.5-inch diameter disk surfa~es (two disks~, in a package measuring less than 4 inches wide, 1.0 ln~hes- high, and 5.75 inches deep.
:.~. Other features and advantages of the present inYention are apparent from the following Detailed Description o~ the - Preferred ~ho~iments and the accompanying drawing figures.
:
BRIEF DESCRIPTION OF THE DRAWINGS
The invention is better understood by reading the ~ollowing Detailed Description of the Preferred Embodiments with reference to the AC~ ying drawing ficJures, in which like re~erence numerals refer to like elements throughout, and in which: ~
FIG. lA is a sohematic diagrzlm illustrating a preferred embodiment o~ the servo system according to the present :- invention; .i ~ . . 32 .~' , .FIG..lB is a~ hardware block diagram::of the preferred ~ digital servo syste~ illustrated sc~ ~tically.in FIG. lA;
; 25 . ~ FIG~ 2 -,illustrates sche~atically a tr~cking serYo controller for maint~;ninf~ read/write he~d~ over a given tra~k in a first e~bodi~ent of the invention;
~' i, -, B~ FIG. r~3 :illustrates s~h- ~tically:a seek ~ervo ~o,.L~oller .for ~e ficiently:.~oYingathe read/write- head ~rom a- given :~ 30 -~- location.to closaly approach.a destination track in the first embodi~ent~o~therin~ention;~
FIG.,4r~iscaiflow chart s~hf tically illustrating the ihration3and .operational~ modes~.provided ~:in;... the ~irst ~o~ embodi~ent.o~the:~ervo~ ~U~IL~ ol ~Sy~teN; . ~
; 35io:;.J o~ ,FIG.~5A schemat;c~lly:~illustratès a.portion of.. the input positio~ error sPnQo~130 ~rom~FIG. 1~
-J~ J~.~IG. 5B illustrates a dibit diagram.and a timing diagram use~ulv in~:expl~i n; n~ the- input position error- ~ensor o~
FIG. 5A;
!

., : .: . : , . . . . ..
.

,' ' W092/05~3 2 ~ 6 ~ 3 2 9 PCT/~91/~602 ~

:
~IG. Ç illustrates details of the traGking compensation block 1228 of FIG. 2;
FIG. 7 is a timing diagram us~ul in illustrating the operation of the one-track seek controller 1238 from FIG. 2;
5FIG~ 8 illustrates an emb9dime~t of the repPatable runout compensator shown in FIGS. 2 and 3. -FIG. 9 iilustra~es in greater dPtail the seek compensation block 328 fro~ FIG. 3;
FIG. 10 is a timing dia~ram useful in illustrating the lOoperation of the reference velocity deceleration compensator - 3 4 6 Df FIG. 3;
FIG. ll is a plant block diagram including a mathematical model of an amplifier and actuator;
Fig. 12 is a high-le~el flow diagram showing major 15~unctional blocks in the DSP con~ol system aecording to a second ~mbod:iment of the present-invention.
. :. Fig~. 13 is a high-level flow -chart indicating the seguential ~xecution of conL~ol routinesj- post processing routines, command routines, and status tra~smission~ normally encountered in a fir~ware main proc~ssing loop according to the second ~ ho~
: Fig. 14 illustrates the timing of various digital signal procèssor DSP-operations during-a typical:s~quence of servo ~field ~ample periodsO- . , : . . .
Fig. 15 illustrates ~arious operational characteristics : - - which are present~during ~ucCessiYe periods ~ntered during a typical seek operation ".-.L..... . '~ Fig. .16- illustrates~;a- typical~:iservo fi~ld with an - associated analog signal derived~-from an..exemplary-:track 30..... ~ Fig.~.~'17A.; illustrates.~cthe. o~fs~t- corr~ction~ block, including ~he offset correction.calibration block..~-.Fig. 17B~;illustrates-th~ arrangement.of dibits on the same side!of~racX ~enter,.for use~in determining:o~fset~
Fig. 18A ~how6.the high~gain --~L -l~zation block, the low 35~ gain normalization~-block:with ~soC~ ~ted.~o~ ration blo~k, and an as ociated ~witching ~unction.:.~ s~
~Fig.'l~B.illustrates the ~easurements and~computations "~~ -~---i~volved in-calibrating the low gain normalization blocX.

,: . ; : ~ ,:

$ ~ 3 ~
'~ ' W~92/OS~43 PCT/US9l/06602 Fig. 19 illustrates the trans~er ~unction o~ the inverse nonl~ne~rity co~pensation ~lock.
Fig. 2~A illustrates the linear range extender and tha sample integrity tester in greater detail.
Fig. 20~ illustrates in greater detail t~e wave~orms involved in calculating and generating the fine dynamic window in Fig. ~D.
Fig. 20C illustrates the yeneration of the linear extP~P~ positional error signal PESLE from its integer and 1 ;ne~rly C~ sated ~ractional components.
Fig. 21A illustratPs the p~wer amplifier voltage saturation model used during initial portions of seeks to model ~nnl;n~r characteristics of the plant, the model being shown in conjunction with associated switch; n~ functions to ~nh~n~e operation of the full state observer.
Fig. 21B illustrates wa~e~orms useful in explain;ng the use-of the power amplifier voltage saturation model o~ Fig.
21A.
Fig. 22 illustrates schematically a pre~erred 2 0 implemenl:ation of a full state observer, including a processing ~ime delay calculation por~~ion and a low frequency - integrator.
FIG.; 23A is a ti~i~g :diagram-illustrating ~a typical -~ - positional'error signal useful for expl~;n;n7 the operation of '-- the window detector block in FIG~ 2;~
Fig~ 23B illustrates~a basic embodiment of a settling 'window:detector used for:det~cting whether a given parameter has:~ stàbly.--settled .-to- within .a?~given--tolerance of a dèstination value.~.~
30 ~ Fig, 23C illu~trate~ :8~h~ ~tically~a more:sophisticated '' settling window~-detector :including multiple ~sts, this se~tling window detector:espec;a~ly useful.in generating a J '~ write~window~
~ig. 24 illustrates a pre~erred:integral.~oor~oller, -535 ~ inclu~ing~a state 'fee~h~c~ .co~.l,oller,~ intermediate seek ~ len~th compensator~-single -:track---feedforward ~controller, f~ integral~co~ ol éffort-block with associated bias feedforward ~L

~,.. ..

20~32~
W092/05~3 PCT/US91/0~602 Fig. 25 illustrates in greater detail the transfer ~unction used within the state feedback ~onL~oller in FigO 24.
~ig. 26~ illustrates waveforms generated by the single track ~eedforward co~troller.
5-- ~ig. 26B schematically~illustrate~ functional blocks present within the single track seek feed~orward controller.
Fig. 27 illustrates a bias compensation function wave~orm derived during calibration for the bia~ feedforward controller~-10Fig. 28A lllustrates in greater detail the intermediate seek length compensator.
Fig. 28B illustrates waveforms which ~ trate the saturation problem e~perienced in known controllers during ~eeks of inteL ~~i~te length.
15Fig. 28C illustrates the waveforms which overcome the problems of known ~o~ ollers in inte~ te length seeks, by illL~G~ucing a clamping period at the end of an acceleration pulse which re~ e~ overshoot.
Fig. 29 is a high-level flow chart indicating the 20preferred manner in which the ~SP deter~ines when a recalibration of a correction or compensation block is ne~e~.
Fig. 30 illustrates schematic:ally the ability of the DSP
'' to dynamically scale parameters ur,ed-in functi~nal blocks in ' i the full state observer and inte~ral:c~ oller, selectively using coarse, mid, and ~ine resolutio~ parameter sets based on ' positianal error ~easurements and velocity statesO
- In $he following ~etailed Description of the Pre~erred ~ -? ~ E~hoA~ ,ÇPtS, the~invention~.is described ~with re~erence to first and second 1- ho~ s. FIGS.. lA,-~lB, 5At~5B, 11 and ~ 30'~'~ ~'~23A~apply egually-,.to,both-~ ho~ ~s.~- FIGS. 2-4 and 6-10 apply~especially t~ th~ fir6t--~mbodime~t.- FIGS~ 12-30 apply spe~al1y'',to the. seco~- embodiment.~ . However, it is understood ~hat teachings from o~e embodiment may.r~adily be ~;applie~ ~o~the~other~ e.~ 3~;~
35 s~ '-5FIR8~ ,~RO~TMF~r. ~;FIGS.~ 2 and.~3 are the~highest level functional:diagrams ~or the~fir~ em~odiment, FIG. 4.providing ' ;~ - the~ highest level flow chart. FIGS. 5A-lO detail c~rtain functions per~ormed in Figs. 2, 31 or ~.
. .

..
:. :, . :,.. , . . , ,. ,: . ., :: , ,:
., ,.,,. : . . :
:- , ... : ... ~ , ,.

2~32~' ~' W092t05~3 PCT/US9l/06602 ~ u~ ~MBODI~EN~. FIGo 12 is the highest level functional diagram ~or the 6econd emho~ t, with FIGS. 13 and 14 being the highest level flow diagrams. FIGS. 14-30 detail certain functio~s performed in Yigs. 12, 13, or 14.

BEST MODES FOR CARRYING 0~1T 'rHE lNV~;N l lON
In describing preferred embodiments of the present invention illustrated in the drawings, speci~ic teL ;nology is . employed for the ~ake of clarity. However, the invention is not int~n~e~ to be li~ited to the specific terminology so selected, and it is to be understood that each specific element includes all te~n;cal equivalents which operate in a similar ~nnPr to accomplish a si ;~r purpose. Certain elements may be omitted from the drawings and text for clarity or brevity, as they have structures and functions known to those sXilled in the art and are readily capable of . implementation by such indivi~u~ls; given the following description and ~cc ,~nying drawing figures, those skilled in the art are readily capable of implementing the present invention using knowledged possessed by or readily available to them. .-: ~he present specification is directed to a digitally ~ ervo ~or,~ol system for-a storag~ medium such-as a magnetic : disk drive.~ However, many:of the functio~s described and -~. claimed hsrein ~ay:-readily be applied to devices other than magnetic di~k drives, such sas, ~or ~xample, optical disk .-drives and:other devices.::In short, the many f~atures of the ;invention are.-applicable.to-a ~ariety;of~fields,~not limit~d ;to those sp~c1fically -~ent; one~I in,~his sp~c~ ~ication.
~30~~ si ~ As-.-is known~in-the~artr-.-a typical-disk drive includes one ~i, e~~ mor:more~disks-on which information may be recorded. The disks include;~a plurality~of -son~tric tracks -.on ~which the informa$ion;is,~recorded,~.Usually in~digital.~fo~m.~ Ideally, s~ J~he ~ra~ks are per~e~tly circular~and conce~tric with the axis ~-35s~s~ o~rotationio~the disksO~However, in:practice,r~;the:shape of .- the;~tracks.~ay vary.fro~ ~he.~ideal circular shape so that all ..-~ .points.~on the-trac~ are not equidistant from the axis of -i : . rotation of the disk. ~

. . ~

' ' ' . , , .

20~32iJ f~--W092/05~3 PCT/US91/0~602 A t~pical disk drive further includes read/write heads positioned near the end of an actuator arm. The heads are con~Lolled to move along a path generally (though not usually exactly) along a radial'~egment projecting from the disks axis of rotation. The read/write heads may be positioned above any given oircular track on the disks. Any deformation of a track makes it more difficult for the head to be continuously positioned over the track as the disks rotateO
As seen from a perfectly stationery read/write head, a de~ormed track would appear to "oscillate" back and ~orth along a radial line of the disk, as khe disks rotate. In order to ~ollow this deformed track accurately, the rsad/write heads must be co,.LLolled with great sensitivity to ~aintain ' them in the ~ope~ position over the desired track.
' The difficulty in moving and positioning the read/write heads i5 exacerbated by physical shock to the disk drive, as w~ll as -ch~nical vibrations caused by the disk drive's spindle motor or other vibrating c.,~o~.Pnts, and by inertial forces of the actuator ~~h~ni! holding the read/write heads.
- The ool1LLol problem is cDmplicated by the fact that in most systems, the head positioning actuator itself rotates about an : axis beyond the outer dia~eter of t:he disks, so that the heads ; ' do not'traverse:a purely radiaI path over~the:~urface o~ the : disks. Instead, the heads~ positio~ above the various tracks - is a ~on-l~nP~r function of the rotational position of the head positioning actuator about its own axis.~
'}~Typically,~~ the position of the .heads is .co~L~lled th~ouyh~the interaction o~-a~et:of:pPrmanent:-magnets and a - "voice coil"~disposed~ onlthe head.'-:po~itioning actuator.
-30 î ~'5Controlled functions-o~ n~ are ~entrthrough the actua~or Z~ coil~-~o crea~è magnetic ~ fields ~which ~interact~ with ~:those o~
-~ the -pexmanent magnets, ~ inducing: -tor~ue to - rotationally '?~displacQ the' ~ head E:ositionirlg ~ actuator ~about. its Xi5.
Pri~aary cG~ I of the posil:ion of ~. ~he heads ~.over ~the tracks ~35 ?i ~ of~ .he J magneti~: di~;~ct~ drive 3;is - ~hu5 -zl~ , 1;5h~ through c~sntL~l o~ ~the~ enl,-rpas ing -t}rough- the.~actuator's coil.
-C~ The presèn~ !~invèntion may also be applied ~:in systems using o~her Dleans OI ~uI_~olling the positioning the headj including : .. .. .. .. .
~ , ' , : - .~, ;, ;~
3 2~
::: W092/05543 P~T/US91/~602 those implementation~ using, for exmaple, torque motors or servo motorsO
The present invention provides a compact, adaptivel responsive servo oG~ ol me~h~ for a~curately maintaining the position of read/write heads over a given track on a recording medium;:it:further provides ~or quickly moving the haads to a destination track and stably positioning them there. These advantages are pro~ided even in the presence of the above anomalies of the disk, head positioning actuator, and other electrical or mechanical components -c~ the disk driveO
As used in this specification, the term "anomalies"
refers generally to quantities which vary fro~ the n~rmal or ideal. The term refers ? not only to 9'defect~" such as m;s~h~pen tracks or traumatic events such as physical shock;
the term also ~nc ,~.qses expected variation oP some p~ra~eter in a properly functionin~ disk drive, su~h as variation of bias as a fu~ction of the heads' position on the disks. Thus, when it is said that the presP.nt servo system compensates for anomalies, it encomr~sP~ correction for not only defective or undesirakle feature , but also for expected deviations variations present in totally "normal" disk drives.
FIG. lA is a 50h. -tic illustration o~ithe servo syste~
:according to a preferred embodiment. Some of the blocks shown 25 :. in FIG.-lA icorrespond to physical- elements on a- printed :circuit'board' located ~in ~the disk drive, whereas other elements are :sho~n: as~ functional blocks :~or ~uL~oses o~
illu~tration. :~It~is to ~be understood that the~present ~ in~ntion~may be implementèd using any suitable-combination of 30 .~ hardware~and~so~tware,~ withr:theifunctions;'des~ribed herein r being suitably !allo~àted to hardware and so~tware elements.
.~ ,' ;Although a particular.preferred~embodiment-involving digital ...~~.~ -~.cun~ol-with as~é~bly language implemèntation~is described in ~greater detail below, the ~cope'of~t~e inYention is not to be 35~ slimited:to anylparticular ~mbodiment.~
;Referring;to-iFIG. lA,- a~master co~ oller iO2,~or simply .:' ~."mast~r~ s' ~hown!S:operatively'~o~cted~to co~i,L~ol the .. spindle motor~lO6 and the ~ata oh~nnel 108. The mast0r 102 -~ may be any ~aster cu.-L~oller:known in th~ art such as an INTEL

.;
: :
. " ': .

2~6~32~ ~
W092/0~3 PCT/US9l/~02 ~
~14- :

8032. Usually, the master is a mi~irv~rocessor disposed on th~
same printed circuit board as the servo sy tem. The master 102 acts as a supervisor for the disk drive, con~olling the speed of the spindle ~otor 106. It also ~ionL.ols the flow o~
data in the data ~h~nnel lOB between the host 104 (typically a cu~.~u~er system in which the disk drive is installed) and the read/write heads. Finally, it issues instructions to, and receiving status signals from, the servo loop 110-132. The master 102 also provides ~ cation between the host 104 10 ~ and~a digital signal procçs~sor ~DSP~-110 in the 8ervo loop.
For bxevity, the present specification describes the invention i~ terms o~ a DSP, although it is understood that other implementations, such as mi~-iLoco--Lrollers, may also be used.
Elements 110-132 generally indicat~ the servo loop to :
which the present invention i~ directed. The digital signal proc~.~sor 110 is shown c~nected i~ a loop with a series-cnnn~ct digital to analog convertor (DAC)- 114, a power amplifier 116~ the actuator 118, a ~, -r 126, a sampling SWit~ih 128, an input position sensor 130, and an analog to . digital cul,ve1-or (ADC) 132 which :in turn feeds the digital signal prooessor 110. Elements 114-132 are typically called the "plant", denoting the system which is con~olled by the digital serYo,c~ ol system in-D5P 110. ..~~
~ C The DSP 110 is~advantag~ously~implemented by a single-;~ ,chip proc~isoF~ such as the TMS320C15, available ~rom Texas r Instruments, Inc-, Dallas, Texas. The TMS320C15 includes 4 K
j~.internal read-only ~emory ~ROM) and 256~16-bit words of random ,..accessi..~e~ory -~RAM). .In-~the first ~mho~ , the DSP
'i .t~ .executes--a~ xi~ately -2.5~ K ROM o~ ~-assembly~.language 30 ~r-~ i nstructions which implement the servo,,algorithms described in . ri-;this~pecification- ~In:the ~e~Qn~ ,embodiment, the-a~sembly 1 t'~ language,occupies-approximately-,,4,-,K,~RON- , Given~the known' ~t ~~j,5~ tructure~;land;,~,functlon.~,o~ the .,T~S32,0C15,:~and.. the;~idetailed i ~ -,,"descriptioni,of :.the,..,algori,thms proyided.,below and,in the accompanying drawing;~igures,;,r,thoseisk;lle~:~in:.the~art are , 5'T,.~. :~ ,readily capable o~ impl~ ~ Li,ng the algorithms~in a disk drive ,~ ,.. . ... . . . . . .
~ ,...or.other apparatus requiring dynamic positioning cu~lLLol. For , . , " ... .. ..~ .. . ~
cJ.4.example, information : such ,;as coe~ficients ne~~e~ for -~ -, ;so~p~nsation ~unctions,-may be stored,.in the DSP's internal , , . .. " ;..... . .. .

2~$32~~. W092/05~3 ~CT/~9l/0~02 RAM, or may be downloaded from the ~aster, or may be loadedfrom special tracks on the disks.
~ he pre~erred servo system illustrated by elements 110-132 is thus substantially governed by code wit~in the DSP 110.
~owever, it is to be understood,that the functions implemented in code may be partially or totally implemented in hardware while remaining within the scope of the invention.
FIGS. 2 and 3 illustrate functions performed within the DSP 110 (FIG. lA). ~IG. 2 illustrates the tracking sexvo contxoller which is adapked to cause the heads to follow a given track once they are positioned above it; ~IG. 3 illustrates the seek servo ao~,L~oller, adapted to quickly move the heads from an initial position to a destination track to allow the tracking servo ~ontroller to stably positisn them.
15In the first , ho~; ~nt, the functions per~ormed in each of the block~ in FIGS. 2 and 3 are implemented in DSP assembly language software; FIGS. 2 and 3 are presented in lieu of flnw charts to illustrate the compensation .and ~ollL~ol ~unctions which occur co~ r~ell~ly during operation. ~he functional blocks ~ay each be i.mplsmented as blocks of assembly language code per~orming functions specified in this ~pecification,;~with the int~lcu~ cting pathways indicating passage o~:.data via registers:or~ y~locations ~or use by ; executable code fro~ the diff~rent blucks.-..FIGS. 2 and 3 may 25 -thus be considere~ analogues to co~.v~nLional flow charts. Of :~ course, illustxation of~.. certain functions a~:b~3ing within a ~ingl~ block does not~imply that the corresponAin~ assembly .~ .. language.code:imust-be~:in:~aAicontiguous block .in memory; the ... . code may~be organized-however:de~i~n constraints or ~,. OyL a~mer pr2ference dictate. ,-.3~ 3;
~ It lieslwithin;~he.contemplation of the invention that .some or~all ~of~the ~funct;o~Pl,:hJ o~k~: ~may-.be i~plemented in hardware~lf;~peed or;.some other-design constraint:demands it.
The capability~:of implementing.the tracking;ser~o~coo~.L~oller -35:~r .~ and,the seek ~e3rvo ~-io~.Lloller in;either hardware or~software :: -"i.;.is~demonstrated byithe nature.o~ FI5S. 2-.and 3: although ~he preferre3d embodiment i~ in so~tware, the block diagrams of . - . ..FIGSo 2 and 3 allow:those skilled in~the art to implement 3i; ::--- .;.i . - ~ . . . . .

.

20~832~ r W092/~5~3 PCT/US91/06602:'~

their functions in a~r ~L iate corresponding hardware elements~
Referring again to FIG. lA, the schematic illustration of the ~ervo loop may be described as follows. Based on 5 . algorithms implemented wit~ in the DSP, the DSP provides a ovn~ol effort ~tmction U(k) to the digital to analog converter 114. In DAC 114, the digital co~lL~ol e~fort o~L~uL
U(k) of the DSP is C~51~ Led to an analog ~ignal by a dual 8-bit di~ital to analog conv~er which pro~ides an equivalent 14-bit resolution. The dual 8-bit DAC's may be electronically combined by a single operatinnal ampli~ier to achieve DC
voltage shi~t~ provide the~desired gain, ancl ;n; ;ze the effect of the DAC o~fset-~oltage. This implementation provides a large dynamic-range in converting the control ef~ort U(k) to the actuator coil ¢uLLenL which ulti~ately controls the position of the heads. Preferably, the analog cunLLol-.effGrt is .proce~sP~ by a notch filter to remove .~frequency content in the~ region o~- the most signi~icant mechanical resonance mode(s), thus min~m;ziny excitation and - preventing instability~ .
In those im~lementations using a voice ~oil to collLLol . actuator position,-the analog versi.on of the COI~L~1 effort is s~ amplified by the:power:amplifier 116.-~ The power amplifier 116 .~- . operates in tr~n~Con~ttstance mode,~'in which a voltage is 2~ - ~oalve~Led:to a current which-iq sent through the :coil of ~: :.actuator- 118 to ~ol,~.ol~-the displacemenk of ~he head .~? positioning actuator and ~he .read/write h~ads at 120. The .-power ampli ier ;116 ~ho.-l~ be.designed to ~inimize the effect of the;coil~inductive-time constant:~when operating in its 3 0 l t ne;lr reyion. ..!~ L ~
~'~;Ii..' c~ a~~ In those lmplementa~ions~not::using -a voice coil to ~s. ~ a~ Lol actuator.pcsition, operation o~the power ampli~ier or s~C~L~ u~A~n~J element :.is f.-::correspo~ingly imodified in ,:...,.:v..J~acsordance.with;principles:known to those;skilled in.the art.
-35 nt~For example; if~a.:~olta~ ~o~ olled~:element is used;instea~
-2:-~ a~ ,;o~.a voice.coil,..no tr~n~ Lance trans~ormation.would be ,~r~ Pces~ r "
~' ','-.*'~T',~ The head position 120 with respect to track position 124 ~8 ~hl -tically illustrated by inputting them to the summing , ~
. .
. - , ~ . :

: W~ g~D~3 2 ~ 3 ~ ~ Pcr/~sg~ 602 devioe 126. Su~ming device 126 is srhematically illustrated as receiving at its non-inYerting input the location of the center of a desired track, and receiving at its inverting input the position of the heads. The sum~ing device 126 o~yuLs the differenre between these tw~ positions, an analog indication o~ error head positioning.
The error signal frnm the summing device 126 is periodically sampled by the sampl~ng switch lZ8. Sampling switch 128 provides the sample error signal to the position sensor 130. Sensor 130 performs the low le~el ~unctions conventionally performed in disk drives to distingui~h the degree to which the heads are following a given track.
Convent.ionally, this sensing has involved a detection of a first pul~e on (for example) the left side of the track during an "A" time fra~e, and the suh~equent detection o~ a second pulse on the opposit~ side of the track during a l'B" time frame. This sequential detection of the A and ~ pulses yields a pair of-pulses. The A pulse and B pulse are of the same magnitude if the head:is properly positioned in the center of the track. However, when the head is not properly centered, the A bit and-the B bit have differing magnitude~ with the A-B
~-di~ference having a polarity and ~agnitude~ indicating the direction and distance~of~'the~heads ~rom the center position.
~ Acrording-to the invention, the track identification proces~:detects ~y,,~hLul~izing timing pulses ~ollowed~by gray - ~ codes identi~ying each:particular track. The gray code is con~L~ed .to binary V(integ~r) form: for identifying the particular. track.-~ his'integ~r~!along with the information . -~..,~.;derived:fro~ the A and-B--dibit pulses,iallows the position of ~.~-;the heads~to'be-det~ r ~ne~ anywherè'-;within~!the~portion of the disks..:which-are~so~~ormatted.~
~ .-.-.A high/low gain-signal i~-generated by the digital signal -. ;processor 110 and:is fed~back-~along.~path 134 to the sensor ~ block~130.: .The high/lowigain ~ignal reflects:how ~los'ely the .:~head~ Jarz stably:;~ollowing a parti~ulari~track. ~hermethod by - -..which ~he DSP determines how stably and how ciosely the heads are -following a--particular track :is~éxpl~ine~below, with -: ;re~pe~t~to th~ window detector eXp~;ne~ with ref~rence to . -:FIGS. 2 a~d 23Ao The adjustabl~ gain feature in the ~ensor ... , ., , . - . -W09~/~5~3 2 0 ~ ~ 3 2 9 PCT/US91/066~2 ~ '' 130 is adapted to ini ; z~ quanti2ation errors, and reduces co~plexity and component count for reasons of economy. The sensor is placed in a low gain ~ode when the head has not yet accura~ely ~ettled ~nto the center of the tracX; this low gain mode allows sensi~g the erFor~to within plus or minus half a track width. The sensor~ switched to high gain mode when the head has settled on the center o~ a track within an error of (~or example) plus or minus eight percent of a track width.
The high gain allows greater resolution at the smaller - distance ~ea~u~ ts encountered as the heads closely follow their tracX. Changing the sensor fro~ low gain to high gain mode does not change overall bandwidth of the loop; rather, an increase in sensor gain is accompanied by a c~~ ~n~urate - decrease in compensation gain within seek and tracking compensators in the DSP.
~ nalog to digital convextex 132:schematically indicates the conversion of the ~e~e~ error signal into a binary number .indicating the fxactional positiona:l error signal PESF. The integer positional error signal PESI~ already being in binary form, is directly input to the DSP from the sensor 130. These two binary numbers are input to the digital si~nal processor llO for processing in accordance with the servo algorithms .-described below, with special refare~ce to FIGS. 2 and 3.
.. .
. . Ref erring now to FIG . lB, a hardware -block diagram .. . .. .
25. . equivalent to the schematic FIG. lA i~ provided. ~any of the . blocks shown in ~chematic form in FIG. lA are analogues of ., . ~ , . ~blocks shown in FIG. lB.. -For example,- sensor block 130, . .
~ analo~ to-digital CUIIV~ Ler 132, digital ~ignal proce~sor 110, ; . ..digltal-to-analog c~.lve~Ler 114, power amplifier 116, actuator -~ 118,.~,and~master.c~ oller 102lare present :in~both-diagrams~0:
H~w~v~r, the schematic indication:of~the~head position:120 and . ~the-track position:124 has been more faithfully rendered in ?. -FIG. lB by 6i~ply.indicating~an ou~uL (for exampl~,ra coil ~ u~L~er.L) providçd to a an element (such as;a coil),ln actuator 3;5 , ;~ 118,;,and a1separate~a~alog data~input~along path.502~to the' -..~" sensor 130.,,A~,The,(intergace ~ibetween -~the: digital~sslgnal processor llO and ~aster ~on~Loller 102 is shown~sp~cifically to -indicate a;command register 162 which receives:commands from;the master co,lL~oller ~or presentation to the DSP.

~W~92J055~3 ; 2 0 ~ 5 3 2 ~ pCT/~91/06602 --lg--Similarly, a status register ~60 is pr~vided ~or storage o~
status signals from the DSP for presentation to the master controller. Details of sensor 130 are provided in FIG. 5A, and detail~ o~ the digital-to-analog converter are provided as follows.
The digital-to-analog ~onverter 114 ~omprises a more signi~icant DAC 142 and a less ~ignificant DAC 144 which receive ~he control effork signal U(k) from the DSP. Scaling blocks 146 and 148 scale the respective o~L~uLs of ~AC 142 and 144 to reflect their relative significance. The scaling blocks provide the mutually scaled DAC values to a summation device 150 which combines ~hem into a single analog signal indicative of the desired control ef~ort. The summation -de~ice 1~0 may advantageously comprise an operational amplifier configured in a ~nner known to those skilled in the art. A notch filter 152 ~1; ;n~tes unwanted resonance before the analog control ef~ort signal is provided~to the power amplifier.116. - -. . Referri~g now to FIG. 2, a schematic illustration of the tracking servo controller is provided. In the fir~t --embodiment of the invention, each o~ the illustrated blocks is implemented in ~SP assembly language code. ~wever~ as stated generally above, it is to be under~;tood that some or all of the blocks may be implemented in ~irmware or hardware in response to design constraints or d~e~igner choice.
Referring n~w to the speci$i~ eleme~ts in FIG. 2, the two _- ,o,.ents of the positional error signal enter on pathways 1202 and 1204. The gray code representation of the track ID
. integer positi~nal error, PESI, is input to a ~ample integrity test block 1208. Similar~y, the ~ractional positional error signal PESF derived from the dlbit coflin~ within the gi~en track p~s~s through an automatic gain control ~AGC) 1206 - before being i~put to the sa~ple integrity test 1208. The AGC
1206 lso ~eed~ the DC input offset - ~~n~tor 1212.
Based on a predicted PES signal P~S# on path 1244, .the sample integri~y te5t block 1208 provides Les~e~Live siynals PESI' and PESF~ at its ouL~uL~ only when the input ~ lc PESI
and PESF--lie wi~hin a-range o~ re~ hle possibilities, based .

, .. : ; :
: , . . .
:.: . ',,,: ;, , ' , ~

W~ 92/0~543 . 2 0 ~ g ~ 2 ~ -20- Pcr/Us9l/o6602~

on past readings, as determined by a predicti~e observer block 1242 .
- Fractional and integer signals PESF'. and PES~ ' which are not el im;n~ted by the sample integrity test block are combined in the linear range, -extension block 12~ 0. The combined (fractional plus integer) signal is input to the non-inYerting input of a summation device 1214. The summation device 1214 receives at its inverting input the . ~~uL~uL of ~the DC input of ~set .compensator 1212. The s~mmation device 1214:~uL~u~s 10-:: the~inal positional error.signal PES.to a-node 1216, the ~inal PES signal being used by a statistical monitor 1218, window detectors 1222, a KT multiplier 1224 at.the input o~ a ~tracking compensation block i228, observer block l242, a one-track seek ~ontroller 1238, and a seek and tracking bandwidth compensation block 1250.
~ Iultiplier block 1224 i provided to multiply the - positional error signal PES .in-node 1216 cby a value R~
pro~uce~ by tracking and seek servo bandwidth compensation -- .. }:lock 1250. ~ultiplier 1224 provides the scaled~-PES value to 20 . .. i. the tr~ck; ng compensation block- 1228 O : .. -, ,, , . " , .,,, .. , .. , .. , . " ,, " . , ., . . . .. . .. , , ~ , .. _, . .. . .... .. ... . .......... ... .. .

.. - -2 ~ 2 ~ - -W~92/05~3 21 PCT/U~91/~2 The tracking compensation block 1228 also rece~ves inputs from the window detector 1222, and from a state initial condition calculation block 1236. ~he tracking compensation block provides an ~uL~L to repeatable runout comr~n~tion . (RROC) feedforward block 1230 and to the DC bias compensation ..~ .~ . . . .. . . .
~eedforward block 123~. The tr~ckln~ compensation block also produces an interim control e~fort signal u(k) for the observer 1242 and bandwidth compensator 1250, Th~ tr~ck;ng co~pensation block 1238 is described in greater detail below, ~ with reference to FIG. 6. ~.. .
A summation device 1234 receives the interim control e~fort signal u(k) fr~m the compensation block~ but adjusts it by guantities received ~rom ~he repeatable runout comr~n~ation feedforward block 1230, the DC bias feedforward compensation 15 ~ block 1232, and ~during one-track seeks) a one-track seeX

feedforward controller 1238. Operation of the one-track seek feedforw'ard block 1238 is described in greater detail below, and with reference to FIG. 7. The summation device 1234 . ouL~hLs the ~inal C~11LLO1 effort signal UT ~k) 1240 tO digital to analog convertor ll4 (FIG. lA30 The sbserver block 1242 receives the inal PES ~ignal on node 1216 and the interim c~,Llol effort ~L~L signal u(k) ,andjuses them as a basis..for.~ nerating w'~ndows;for screPn~

~ noise-corrupted PEs~ and PESF signais. Partic~ r ~uL~,Ls generated by ohserver ~ 242 arte .the PES$~ signal on path 1244 ~; and the,veloclty isignal ;VEL# on path~.l246.-~;Both of these signals.are input.to the state initial condition calculatlon :
, ~ ', , : .. ' ' , '' ' ' ' . ~ -', ' ''~' ; ' '" . ' :' ' . :

;' ', ~ " ' , ; ' ~
':

20~8329 ' f~
WO9~/05543 PCT/US9lt~2-~

block 1236; only the-,PES# signal 1244 is input to the sample integrity tex~ blocX 1208.
The window detector 1222 produces the high-low sensor gain signal 134 which is fed back to the sensor block 130 ~FIG. lA). Also, window detector 1222 outputs status information to the master along path 1226. Operation of the window detection block 1222 is described in greater detail below, with reference to FIG. 23A.
A statistical monitor block 1218 receives the final positioning error signal from node 1216t providing information to the master along path 1220.
A more detailed description of the functioning of the blocks of FIG. 2 are provided below, after the description of FIG. 4.
FIG. 3 illustrates schematically the functions performed by the seek servo controller.
The integer portion of the positional error signal PESI
is input along path 302, and the fractional PESF along path 304, to a sample integrity tester, range extender, DC Offset compensator block 308 perfor in~ generally the same functions as elements 1208, 1210, 1212 (~IG. 2). Block 308 provides a - ~ combined PES signàl to a seek observer block 342.
Analogous to the trackin~ observèr ii2i2 (FIG.'2~, the ~seek obsèrver 342imay~simply be a closed;ioop mathematical ~model of the entire servo ~system, and may be implemented accordin~ to principlès of modérn ~n~ol thèory known to those sXilled in the art.~--Observer block i42 provides an ~'~~estimatëd vèloc'ty ~ignal VEL# to both thë inverting input of 'summation device 322 and track ca~ e dete~tor 3~6. The obsërver block also provides a positional error signal estimat~ PES#.to reference velocity deceleration compensation block 346, track'c~ptur~ detector 326, the sample integrity -tester within 308, and the inverting input of ~ = atio~ device 314. ~-~
Requested track information is input alo~g path 312 to non-inverting input of a summing devicè 314. An inYerting input of the s = ing device 314 receive5 an èstimate of the positional error signal PES~ from the observer block 342. ~he summing device 314 vuL~uLs a po5itional error signal to both ( -- WV9~/05543 2 0 ~ ~ ~ 2 ~ PCT/~S9l/0~02 a reference velocity generator 316 and a statistical per~ormanoe analysis block 318. The statistical per~ormance analysis block 318 provides status information to the master along path 320.
The reference velocity generator 316 includes an absolute value block 350 which receives the positional err~r signal.
The absolute value o~ the positional error is input to a multiplier block 352 which receives a deceleration coefficient "al' along a path 348 generated by the reference ~elocity deceleration compensation block 346, descri~ed below. After being multipli~d by coefficient "a", the compensated positional error signal is input to a square root block 354 before being input to a sign block 356. The input quantity is mulkiplied by either ~1 or ~ p~n~; n~ on the value of a signal passed ~rom the absolute value bloc~ 35~ along a path 358. This arrangement ensures that the sign c~ the positional error is not lost within the referenc~ velocity generator 316.
The o~LyuL o~ the sign block 356 is the reference velocity VELR~F which comprises the o~L~u~ of the entire 20. re~er~nce velocity generator 316. The reference velocity VEI~EF is input to the non-inv~rting input o~ a ~tl~rin~ device -~.322. Summing device 322 includes an i~verting input which . r~ceives an estimated;velocity si~nal VE~# ~rom the observer block 342. The summation block 322 provides a velocity error signal ~RRVEL to both~the ~tatist:ical performance analysis :ii blcck 318 and to a multiplier 324. ;~he velocity error signal .- - ERRvEL:is multiplied by a constant Xs which is generated by the tracking and se~k servo bandwidth compensatorO1250 .(~IG. 2).
~ ul~iplier 32~ provides.a scaled.~elocity.error to ~eek 30-; ~ eompensation block 328, whose;details are described below, with rPference to FIG. gO ~he.~eek compensation bloc~ 328 provides an interim c~l,Llol:ef~ort ~ignal:u(k).--to a s~mmation ; device 334j-the-observer.:block 342, and the reference ~elocity ~ decel~rationlcompensationiblock-346.~ . 3~.... . j ,:~ -,"$ In-a-manner similar~to the trAr~;n~:servo ~n~Loll~r of IG. 2~..the summation block.334- also::receives ~eedforward ~ c~mpensation: ~ignals fr~ -a. bias ~e~dforward block 332 - ~ (comp2nsatins -for anomalies .which vary wi~h .the radial : ~- position of th~ , hea~s)~ and- from repeatable runout ., . , , ,.. . .:
..,. ,, , . . ~ :
, . :: . : .
" ,~

W092/05~3 2 ~ ~ 3 ~ 2 ~ -24- P~T~US9l/~6602 ~

compensation (RROC) feedforward block 330 (compensating for performance anomalies which vary with the rotational position of the disks). Summation block 334 provides the final control effort signal Us(k) which is the ouL~uL of the entire seek . servo controller implemented within the digital processor 110 (FIG. lA) during a velocity mode seek.
The reference velocity deceleration compensation block 346 receives the interim control effort signal u~k) ~rom the ~eek compensation block 328 and the positional error siynal estimate PES#. It generatës a deceleration (negative acceleration) gain signal "a" on path 348 which is used in the multiplier 352 in the main data path of the reference velocity generator 316. The details of thP reference velocity deceleration compensation 346 are provided below, and with reference to FI&. 10.
. More details of operation o~ the seek servo controller in ..FIG. 3 are provided below, after discussion of FIG. 4.
The relationship o~ FIGS. lA, lB, 2, and 3 are better understood with re~erence to the. operational flow chart presented in FIG. 4. FIG. 4-is a flow chart illustrating the . operation of the servo loop of FIG. lA.
:. - After power up, illustrated at 402, ~ LLol passes along - ~ -a path:404~to a system c~l;hration blo~k 406.-' At time 406, parameters: used in servo -loop adaptive functions are ;.~calibrated. ~or example, parameter~ are calculated:for the DC
~ - : offset :~ompensation block 1212, the repeatable runout : : compensation feedforward block 1230, the DC bias compensation ..feedforward ~ block 1232, the~ one-track ~eek:- feedforward c con.~oller 1238, the seek:and trAokin~ bandwidth compensator 30: :: 1250~:(all in FIG.-2)j and the re~erence.velocity deceleration compensator 346 (FIG..3~ ,r~
~ Calibration is performed, for ~xample,~by ~lnnln~ the -:..:~::~. driv~' 5; plant through its ~ranges .of.~pertinent ~po~itions, velocities, and movements while taking ~easureme~ts indicating '35 ,.:the amount::o~~compensation~Jnee~eA.~ An~finternal profile may ;-: ~.;;then be generated and stored,:the profile howing'~required ~'~ compensation as a function of ithe pertinent -~independent ..: variable~(such as radial position, rotational position oP the . ~ - disks, a~d so ~orth~. Para~eters (such as filter multipliers) . . . ~. . .. ~ :
.. . .

' !.. ". WO 92/05~3 ~ 3 3 2 ~ PCT/US9l/~602 are calculated and stored. Based on the internal profile generated during the calibration mode, the appropriate compensation or control function uses these customized parameters to optimize system per~ormance.
After the values for these param~ters have been calculated for a given power up, control passes along path 408 to the operational block, ganerally indicated as 410 (FIG. 4).
Control may pass to either the tr~k;ng servo controller 412 (~hown in FIG. 2) or to the seek servo coiALloller 414 (shown in FIG. 3~. During operation, control may p~ss between the tracking servo controller 412 and the seek servo co~lLroller 414, as generall~ indicated by bi-directional path 416.
Control passes back and forth along path 416. For exampl~, when track capture detector 326 dete~ ; ne~ that a seek has approached to a given distance ~rom the destination track with the heads travelli~ below a cextain speed, oollLLol transfers from seek mode 414 to tracking mode 412. Conversely, when the ma~ter issue~ a command to move the head~ away from a given track, control transfers from tracking mode 412 to seek mode 414. ~-The operational mode 410 ~ay be exited for re-. c~ ration, as generally indicated:by path 418 le~ g to .' tc~lihrationl block 406.-~ ~cenarios in ~hich thè operational mod~ of the servo loop conLloller may be tamporarily exited ? include detection of a reduction in performance of any of thè
. ; adaptive'algorithm~ in blocks 1212, 1230, 1232,'1238,:1250 or ..~346. Such degradation in performance ~ay be caus~d by, for example,iiheating o~-c , ~nts, reorientatio~ of the c _u~er ~ - in which the:disk drive is housedj:: or physical-'jarring or 30.~ -~ibration.~ -Alternatively,-'the' c~lthration ~may' occur at selected periodic intervalst: on the~assumption ~that the .~.'adaptive:;:parameters-i-will vary!as time p~'R~es,; even if no Lau~aLic Pvent ~ has ~ eu~led. Prè~erably, the operational model~410 iis'::not;~exited-during-;a~ ritical';read~ or write 35~~:j .operation, but the~rë~ hration~'is'~pér~ormed~dur~g a lull in~activity demanded~by thé master-iO2 (FIG.~t-lA). ' ~
Details of FI~S.~ 2, 3. '' The::tracking and-seek servo cu~-L~ollers -of - FIGS.' 2 and' 3,~i~ as well : as their interrelationship in FIG. 4,ihavë-been briefly d~scribed .. ,~ :. . :
, . ..
, '';

~6~2~ ~
W092/0~3 PCT/V591/~602 r j;

above. Now, a more detailed description o~ operation o~
certain functional blocks in the 8ervo controllers is presented.
FIG. 2. First, details of operation of the tracking servo controller of FIG. 2 are presented. :.
~ utomati~ G~i~ co~trol 6AG~ 1206. The fractional PES, PESF, is normalized by th~ AGC functionO This algorithm divides the sensor's difference signal (A-B) by the sum siynal (A+B) to minimize ef~ects of varying si~nal strengths due to sensor variations o~er time, temperature, media uniformity, and so forth.
8~ple Integrity Tester 1208. This alg~rithm deter ;ne~
if the integer and fractional position error signals for the curxent sample is realistic when compared to the observer estimate and th~P physical constraints on the available acceleration enviL,~ L. ~ ..
Specifically, the integer PES signal PESI must ~it within - a window which is equal to the observer positional estimate, plus or minus a given nu~ber of tracks (e.gO, 4). I~ PES
passes the test, it is used as the c1lrrent sample; otherw~ e, the observer's positional estimate-PES# i5 used for the PES.
If~the PES fails a given number of consecutive times (for - example, twice), then it is assumed valid:and is used-:for the PES. ,..~. . ; .. . . . 5,~, . ...
~ .; -The integrity of the ~ractional:PES~ PESF,:is tested by -~using the two data mea~urements of A-B and A+B.i:The separate ~ measurements.provide two equations and-two unknowns.A, Bo A
~.~ . and,B~are._r ared~to veri~y,~at i~-A is largetthen B is .~ p~ .small-and;yice-versa.~.,If the..test is,p~sPd,.then the sample ;-.is used. .Otherw~isej the-sample~is~assumed contamina~ed with noise,and the observer positional-estimate tpEs# is~used.
, PB3 T~ A~ ~a~g~ ~te~io~2lo.~ he ~ractional..PES has a.,l i~r range~ofi,~/-0.5~track6.~ During nominal i~racking ~;. .-., .conditions, thi~-.is~adequate; h~ev~, during track ca~LuLe or ... I ... ...
35, r ,3 a~ter external sho~k~ exte~dp~ ne~rlpEs range is:desirable.~
The range~extension-algorithm,.uses~,inte~er PES .information . . .which i~ equal to ~he requested track minus ~he ~r~nL track, ~ and ~ultiplies this by the number o~ bits per track inherent -~ in the Practional PES 6ignal. This produst is sum~ed with the . . ~: . . : . .

:, ' : : ' .: ' , : ' ,:' : .:: :
,, .,. . ~
~ ::

!~- 2 0 ~ ~ ~ 2 9 W~92/05~3 PCT/US91/0660 -~7-fractional PES a~ter the ~ractional PES has been correctly signed. The result in one e~boA; -nt is a linearly extended PES with a range of ~/- several tracks, the num~er of tracks of extension being limited by the number of bits used to represent the PE~. If the PE5 P~cee~ limits of the linearly extP~e~ range, then the con~oller automatically issues a ~eek to the desired track.
~r~ n~ Co~pe~s~tor 1228. The preferred tracking compensator (presented in FIG~ 6 and described in greater detail below) includes a double phase lead compensator (two poles and two zeros) and a low frequency integrator (one pole and one ~ero~. ~he arrangement of the filters is mathematically configured such that the pure integrator is in parallel with the double phase lead compensator. This arrangement allows switrhin~ of the integrator upon settling within a specified tracking error.
8tate I~itl~l Co~itio~ C~le~ tio~ 12~6. The phase lead compensator and integrator may be represented in ~ state space representation, having initial conditions dete~ined by state initial condition calculation block 1236. The compensation con~iguration is structured such that the states can be easily ,u~ed at the time of track capl:ure'~rom a velocity mode ' seek to cause the headb':velocity to be:decele~ated so ~hat :~they arrive at track center with ze.ro velocity.
25 ~ The integrator is -i~itiali~ed to zero.; The DC bias feedforward _ ,~nq~tor 1232 ;n;~;zes effects of bias ~orces;
- 7 -1 thé integrator co~ ls the residual of these bias forces.
The initial state'~values for'~the phase--le2d compensator are ;~. '-computed:-by solving~-~ilter di~ference;equations-as -follows.
30 ~ The';head position -andL'~velocity~are--measured~at :the track capture-transition point.~:~Thi~ data-lis usè~ to ~o~pute the ~3~ required coil cùrrent~that causes-t~e'head to move to track center ;and 'haYe ~zero~velocity:when~-it arrives.~~JThis is ~ 'accompl;~h~~:-b~ usi~gla Newtonlan ;~; n~ ~tic ~uation of -35 ~ motion.~ '~The;phase lëad ~ilter~s';required ou~L is now de~ined and thè~e9uation is solved ~or:the state values tha~
i ~ '-will'produce:the desired coil ~ULLe~.' ' Further details on .this algorithm'are pro~ided below. -:'~

,: , . . .: ., .:
- :, : ., :

: .

20~32~ !
W092/05~3 P~T/US91/0660 ~ i~ow D~t~ctor~ 1222. The PES signal is mcnitored to determine when the magnitude of the ~rror signal has decayed to stably r~main within a specific error window. The general concept of the algorithm for detecting when the error is within the window may be identlcal for all windows; therefore it will suffice to de~cribe.window de~tection in general, without reference to a speci~ic parameter being measured.
Re~erenGe is made t o FIG. 23A for a timing diagram of a typical PES waveform approaching a suitable window.
The magnitude of the window~has hysteresis to mi~;r; ze the effeots of - noise from ~alsely tripping the window detector. The exiting of a window is detected by the PES
excPe~l; ng t~e upper bound of the limit plus hysteresis . The entry into a window is detected when the PES magnitude is less ~5 than or equal to the upper bound of the window minus the hysteresis. When the PES has Ll -ine~ within the window for a given amount o~ time as may be -~sllred by counting sectors (preferably hal~ the natural periodl of the closed loop servo system), settling within the window is declared complete.
~r~k;~ Ob~erver 12~2. The t:r~c~ng obse2~er provides a discrete~model o~ the plant. The ouL~u~ of the obserYer includes estimates of the heads' velocity and position.
-8t~t~tieal--Monitor lZ18.~.- The ~tatisti~al monitor .. ..... . .
derives real, time data on the perfo -ncP of the tracking 25 ~- servo system relative ~o the PES; signal. Several forms of . ~ . data are available for- use ~ in~,deteL ;ninq when the drive requires re-calibration or simply for manufacturing prc~cess r~ontrol. Minimum,-maximum, mean and standard deviation of the PES and ~eek-settling timeC~are provided. The number~of times ~30,. that,the !PES: has: exited.-.each window .duringl tr~r~in~ .~i8 ,,. . .~ç l~ted. .~lso,~the hPrl~o~bad samples is provided.
;4DC I~put Of~et C~ tor~1212. . The D inPut offset . }~' C ompensator klock~;tl212 provides."a .~ ensationl,~ignal ko ~ ~c1 ~subtractor2,.1214 only~-when the3sample integ~ity~-tester 1208 ,.35 ~ elects ~.the;~easured,sample,PES~.rather~than,~rthe.~observer-.,.;~ ;generated value.?ES#~ As will~be.appreciaked by those skilled; in-the art, no input-Gompensat~ion,is nee~e~ i~ the valus being input is not used by~-the system beyond the integrity tester itself. The path between sa~ple integrity tester 1208 and the ~ . ; ,. - - - , :

~'~' 2~S~
~: W~92/0~3 PCT/US91/06602 DC input o~fset compensation block 1212 illustrates this disablFment of the latter during ~reewheel mode. The indication to the observer of the freewheel mode is schamatically indicated by a "freewheel'~ path between the sample integrity tester 1208 and the observer 1242~
ThP tracking col,L~oller can r~ceive an offset value from the master controller in order to ; ,~ove the BER. The quantity received from the master may be desi~ned to correspond to a percentage of a track displacement in a specified direction. The tracking conLroller sums this with the PES which results in a DC offset from the sensor's track center indication.
O~e-Trao~c ~eek ~ee~for~ara Co~trol~er 1238. The single track seek is controlled by the tracking controller (FIG. 2) r~ther than the seek -cor,~oller tFIG. 3~, as it ~r ~n~ a quick access time because of its ~requent use. A feedforward control pro~ile assists the closed loop tracking 6ervo system.
The feedforward co~ ol pulse inclucles an acceleration pulse and a deceleration pulse. The accelexation pulse causes a rapid displacement towards the de~;tination for the first portion of motion, correspon~i~g to (for example~ half a track of displacement. The deceleration pulse ~even~s overshoot : -- during the remainder'of:the motion. : : ' ~. The-tr~c~in~ integrator-input is disabled during the :~ motion to ~L~v~lL unnecess~ry overshoot, but is enabled at the -vdestination track center.- The remainder o~he tracking :' c~ ,oller-is operational during this ~otion;~to assist in compensating- for :- inAC~lracies - of the :feedforward pulse amplitude and duration. :? ' .~
30 ~ - ti~~~dditional details of the one-track seek c~lLroller are .:. ~pr~ented below, 7 with spe~i a1 ~'re~erence to FIG. 7.
~~ ' '~ 'FIG-': 3- :~ Details of~operation o~ blo~k~ within the seek - servo ~onL~oller o~FIG.-3 are-now presented~
~ e~ere~Ge V~lo~ ty ~ r~tor 316.;-~he re~erence velocity :.generator:Jemulates~an lopti~al ;trajectory by:i~olving the . ' ;~ewto~ Kinematic equation ~
Vf 2=Vi2~2 * a* ( X~--X~
~-- where ~f = (final velocity)-= 0; ;~ -- ~' Vi = VELREF =' Re~erence Velocity;

, :, " : . :
. :
: ~ , ,:
: , , , : ~ , ' ~ ' , , : , ' :' , ,;
' W~92/0~3 2 ~ 2 ~ PCT/US91/~602 ~
30- !
;

a = acceleration constant Xi = current po ition Xf = final position Solving for VE~R~F ~ VELREF = sqrt(2*d*(x~-xi)~, where d=deceleration constant, signed as deter i n~ in FIG. 3O ~he deceleration con~tant t'd" is equivalent to the qua~tity 'la"
L by the reference velocity deceleration compensator 346 in FIG. 3. ~his quantity is a calibrated value corresponding to the particular drive's deceleration capabilities..
In the illustrated ~mbodiment, the constant decelexation resulting from this profile causes a constant coil current during the last portion of the seek trajectory pro~ile. The deceleration constant may advantayeously be de~ined such that approximately 75% of available coil current is used, l~aving 25% P~c~cs c pacity ~or following during a disturbance.
~ eek ~o~pa~ator 328. The input to th2 compensator is the gain-adju~ted velocity error ERRVEL. The seek comp~nsator includes two paths, a gain path and a comp~nsated path, which are illustrated in FIG~ 9 and described in greater detail below. A double phase lead c~ ~n~ltor is in seri~s with an inteyrator in the co~rPn~ted path.
;~ The gain path is selected during the acceleration portion of the seek. The phase lead compenlsator ouL~uL-:is ~oni~ored . during the acceleration phase untill:he ~u~ crosses through zero. ,The zero crossing oc~u~s prilDr to the:intersection of ~ the reference and fPe~h~k velocities due~to~the inherent . ~
.~ :di~fere~tiating e~fects of the phase lead compensator. This anticipation assist~ in preventi~g overshoot:of.-the re~erence velocity profile. ~?~
30; . ~ The~co~pensated path:is.switched into.the-~loop in place of the gain path at-the zero:crossing detection...However, the integrator.state is ~irst initialized.to a value that pro~ides identicalf~coil3~u,Le~L-as the gain.path~would have at the -,mom~nt.~pf.transition;-..~i~imizing.~;dynamio:~-transients. The .~ deceleration~i..portion ~.of:~thei seekl; cont~m-es~..with the compensated path until track captsre conditions;are ~ati~ied.
S~ek Obs~~ver 342.~ A eu~-eh~, ~ull state observer is i~pl~ment~d in the servo syste~. A~velocity estimate VEL~ is used for ~ee~h~k velocity;:a positional error-estimate PES#

.. . .

~s.~. 20~8~
W~92/0~43 PCT/VS91/06602 is used for the sample integrity test and re~erence velocitygeneration. Advantageously, the sample integrity tester causes the observer to operate open loop during bad samples.
This provides superior performance, provided that the plant is aocurately modelled~ when compared to allowing a bad sample to af~ect th2 observer's input~
~ r~c~ C~pture Detector 326. The track capture detector deteL ineS when the velocity mode (governed by FIÇ. 3) should be exited and the tracking mode (governed by FIG. 2) should be lC entered. The preferred track capture algorithm requires that (1) the head position to be within +/- l.o track of the destination; and (2) the magnitude of the head velocity ~e less then 3.0 ;nçhes per second in oxder for the control to be switched to tracking mode. The velooity mode controller 15 ~ ~in~ active if either of these conditions are not satisfied.
I~ the head is within the positional window but the velo~ity is still e~essive~ the reference velocity generator is dynamically ~odified to operate as a linpAr function of tracks to go. This linear operation replaces the preferred optimal parabolic ; ~unction, .as the parabolic function :~ inherently has a significantly.larger:quantization associated ~-: with it when oscillating about a sma:Ll number of tracks. This . .dynamic modification re~llo~c:the magnitude of the limit cycle ~ here~t in a velocity mode servo when attempting to track..
- :s;~ Zo~e Cro~si~g Algor~th~....-Commonly,- disks-include zonPs ; - of ;;different data densiti s -and~ sampling periods, the di~ferent zones.arranged at different radial locations. When ; ~; crossing a.~-zone~ boundary,, the :seek. servo-.-can. encounter 30 ~ ur,~edlctable !and ~ometimes.esigni~icant:-Yariations in the ,r ~ample,:p~riod.::: This~.~ariation inesampleiperiod .can cause .i.sdramatic transients.~o occur, which co~ld ultimately result in a head crash. The problem is present if the sample time is r:PY~essively;lo~g or~short when~'compared to:nominal.
~35 ~ To:dealiwith~his problem, the~.chanyes~o~ sample periods - :~,...acroRs zone :boundaries is..~:assumed:.,.to :;have-l~a!~ uniform dis~ri~ution between 0 and:2 nominal sample periodsO-: A timer ;is u~ed.to time the sample period to determine if the sample is e~oPssive}y short. The minimal accepkable sample period is , . . .... . . .. . . .

W092/0S~3 2 Q ~ 8 3 2 ~ PCT/US91/06602 ~

0.5 o~ nominal. I~ the sample is unacceptably short, then the sample i5 ignored; otherwise, the controller difference equations are computed. The coslLLoller and observer ~if~erence equations are executed in the freewheel mode i~ the sampl~ hec_ e.c unacceptably long.
~ t~tii~ti~l No~itor 318.~ The statistical monitor derives real time data on the perfo~mance o~ the 5eek servo system.
The minimum, maximumt mean and standard deviation of the velocity error during velocity mode seeks are available status information. Velocity mode seek time is compared to a polynomial ~urve which defines the required access time to veri~y that the seek servo system is performing to sperification. This is a valuable tool ~or use in process controls of the manufacturing line.
Addi~i~n~7 Servo Algori~hms. In addition to those functions shown in FIGS. 2 and 3, the pre~erred servo .con~Loller provides additional functions, presented here for complet~nPqs and :as illustration of the DSP's ability to control the plant in special circums;tances.
~o ~a~ Loa~ Algorith~. The head load algorithm initiates an open loop co~L~ol effort (such as a pulse or other suitably ..; ~controlled waveform~ which causes:head motion towards the OD
:'' (outside-diameter)~9;lassu~ing the he:ads are~parked~at the ID
... (inside ~ er). If~a~given ~" h r of good samples (for examplej-~ ten) have not been:detected after a predeteL ;ne~
period:of.time.(for example~-~l0 msec), the magn.itude of the open loop pulse is increased, -This process is repeated until good~samples~are detected or :the~magnitude of:~the open loop pulse~cee~ a maximum value (for example, l00 mA).~ If the :30 .~ magnitùde ~c~e~'ithe:maximum,-:a failure'to load heads '-is -' r 'j~ L ~edstoi;the~master ~ roller.; If-ten ~on~ecutive good samples are detected,-~a closed-~loop:seek is:initiated to a . --~ .! ."~ C~ 1 ~ hration track~
a~ rk-~lgor~tb~. The~head park~algorithm involves -35.-~ k~gt.towards.~the.~;ID~at.a rlow:coast:velocity until track :I...~?'U. ~'.' ID'~ remain .ll~Gh~nyed-~( indicating:that the head is against the ~~ ; stop) or. until~samples are-absent.: When-:'the samples are - ~-.. absent,~-an open loop bia5 ~ur~ is~supplied to ~he power . ' a~plifier and the head load is compl~ted. . 1~.

- ,. . ~

"
.
, ,~ : ''., ~ , , ~ , .,. ;, 3 2 ~
~ . ,' ~:1 W~92/05~3 P~T/US91/Q~602 Dynamically Calil, ~Le~ ~c ,---aLîon ~snd Control Functions. Several of the compensation and ~ullLLol functions in FIGS. 2 and 3 are initially calibrated upon power up, and then adaptively calibrated during operation, either periodically or when performance monitoring indicates a calibration is necessary. D~tails of certain c~ ,~ns~tion and control functions in FIGS. 2 and 3 are now presented.
D.C. Bias C ~ Ator 1232. A DC Bias~ Calibration - Algorithm (DCBCA) corrects ~or electrical and r~h~ni cal bias 0 ~orces actinSg on th~ actuator which are functions of the head's radial positionS on the disk~. Electrical bias forces can result from voltage and current offsets in the electrical circuitry. Mech~n; cal bias is typically due to the flex cable.
The DCBC~ is invoked at each power on of the disk drive.
The servo system seeks the outer dia~seter of the disk (OD) and measures the averageic~nLLol effort required at this radial positionO Multiple seeks (typically 10) are performed, each of which involves measurement of the average bias force. The mea~u~ -nts result ln two vectors of data. A least mean square (~S) algorithm is performed on th data in order to derive a mathematical model of a straight line equation that ,~ fits~the data such that the least mean squara error criterion is:satisfied.
~ he~straight: line~model is cont~n~ y used--by the tracking and.seek servo system as a $eedforward signal, which . - :.is a functions o~ the head radial position. ~ ~ ~
..In-op~ration:after the initial power up calibration, the ~ DSP continually ~onitors ~he DC'co~-Llol effort re~ired from ::~the.,txacking ~ervo~S~ystem and ~etermin~s if re-calibration of .- c the straight line is neeés~ry.
.'.'i':'5 ~ .C...~npu~ O~f~et-:~o~p~s~tion ~212.-- This-algorithm compensates.-for:-'DC~of~et~ inherent~-at the input position , : .error~7sensor..130.~ r ~
35, , - ., ,-,r,~, rt~JC~ ration of~thi~compensator uses~offset calibration racks' located~at the:IDl~and or~OD'of the disk. -Thé dibi~
pattern-o~ ~hèse tracks d~viate~fro~ thè normal dibit pattern.
~i~ately;10% of the offset~ a~ples per revolution have he A:and B dibits ~ervowritten~~uoh that~the A and B analog . :, . . ...
. . : .; . : : . : ~ " .
:.

. .: :~ :,, , :" . , .; . :

20~32~ ~
W~92/05543 PCT/US9l/~602''~' signals behave identically, in conL~ ~st to the required opposite behavior for tracking. Normally, when the head~ are centered on the track, A-B; when they are o~ center in one direction, A~B, and in the other, A~B. The difference A-B
equals the positional error (PES).
By allowing a small percentage of the A and B dibit pairs to behave identically in a predefined timing arrangement, the servo system ~atisfactorily follows the track by computing the conL~ol effort on the normal samples. ~The dibits at the offset ~ample should behave-identically such that when on track center A=B, when of~ track in one direction A=B and when off in the other direction A-B. The difference (A-B) at the offset ~ample equals the total input offset of the sensor syste~. This input offset mea~u,, -nt iS averaged over multiple samples and revolutions. The'average offset is subtracted from the PES to cancel ou-t the sensor offs~ts.
~ epeatable ~u~o~ Com~e~ator 12~0~ 330 ~RROC~.
Repeatable runout compensation functions are believed to be performed in accordanc~ wi~h, for exa~ple, U.S. Patent 20 No. 4,788,608 (Tsujisawa), U.S. Patent No.. 4,135,217 (Jacques et al.), and U.S. Patent No. 3,458r78~ ~Sordello), all of ~ .
which are inco~u.ated herein by reference. ..
. . . .. .. ..... ..
. In the illustrated embodiment~ ihration' of this ~ ator involves generation of a profile synchronous with 25 r. the~disk rotation which is egual to the average ~onL~ol e~fort , . at..çach sa~pling instant . - ~ This~ pro~ile is used as a feedforward signal.at th~ ~uLyuL of both the tr~ck;ng and seek oll~Lollers. The RROC~feedforward signal is a.time varying ~ ignal,.whereas~the ~D~ bias ~ecidforward- compensator 1232 .,. includes Dr ~alues;-which iare a;function of.radial position.~
- The ~irst formulation of~the RROC profile occurs'at the , ..,,~initial--c~l~hration a~ter,power up.:;: The.servo system seeks , ,,..~the.;middle of each,~one.(~pPc;fic.~ample rate).-.:The C~iuhLLOl e~fort i5 filtered to ~ v~ high ~requency~-content by a 35 ~.r~ilteir;rhaving~a~low~ passafrequencytresponse with constant~
phase delay.;,jA repeatable ~ u~ profile:vector is generated, the pro~ile-vector havi~g a dimension which is equal to the ~ ~ ., . ~ i - - -- .
nu~ber o~ 8amples per revolution. Each sample i5 equal to the . . aver~ge value of the CO~I~rOl. effort at that specific-sample ) , .

,., , :
: , ~ .. : ........... .
.
:. :,, , ~

2 ~ 2 ~~ W092t0~3 PCT/US91/06602 ~35-time over multiple revolutions of the disk. When all profilesare completed ~characteri~ing all zones), they are time-advanced to co~r~ te for inherent time delay in the filter.
The f2edforward input to the servo system is turned on.
~he repeatable component of the control ef~ort ~rom the servo system ~ecomes significantly less; however, a small residual component is present. The pro~ile is cont;nl~lly optimized by adding a weighted measure of the residual cG~IL~ol effort to the profile while the feedforward compensator is active~ ~he 10 result is an adaptive sel~-tuning feedforward signal.
Schematically, the foregoing repeatable runout compen~ation process may be illustrated as in Fig. 80 Refexring to Fig. 8, the uncompensated control effort u(k,~) is input on path 851~ In u(k,~), k is a discrete time variable,-~ is an angular position of the head over the disk, and j is a subscript indicating particular discrete disk angular orientations of ~I j designating whieh of the "S" disk sectors the head is over ( j=l, 2, 3, . . . S) .
The u(k,19j) signal is input to a low pass filter 860 to 20 remove high frequency noise. The filt~red effort #ignal uL~k,~1~) c,uL~.IL from the low~pass lilter on path 861, is used ~. as an input to an.address de~ultiplexer 870. The select input -- - to the~address,demultiplexer.:870 is a sector;signal ~ on path 869. The sector signal 9.may readily be derived as the o~L~uL
o~ a counter which-is reset-with a once-per-revolution index pulse and increment~d once;per sectox by a sector pulse or the -rlBased-on...the~.~alue.i o~ the disk .angular orientation ~ : .-. Yariable.j,;the;addressing demultiplexer cause~ia particular 30 r r~ ~ ~yector.com~orsellL in a.repeatabl ~unou~ profile vector memory 880 to be modi~ied. -~.The modification~o~ ~he ~ector-jcomponent . ~-is.made in accordanceiwith the formula~

.,[uh(k,9,)~n~ F~Z~(k,~
~ ,- i=l...n..; .Z~ '.t .~ : 1O ~ J

where- F~Z~ (k,~) is a::dynamic term representing a~weighted - Z~n~Z~1 e~fort.at- a correspQn~n~.disk anZguZlar :.orientation which enables the cQ~rpn~tor to ~Zdapt~vel~ optimize itself as . ~
. , :

2~329 W092/0~543 PCT/US91/06602 ~.

the repeatable component o~ the COn~LO1 ef~ort changes, FF is a binary ~eedforward on flag indicating when the dynamic term is used to adjust the feedforward control e~fort, and ~ is the weighting factor chosen by the designer. [uL(k,~)/n] is a static term, indicating an average value of the ~o~lLLol effort at corresponding disk angular orientations over n samples.
The FF flag is active is active after the n samples have been averaged for the static component. Once the static component has been calculated, the dynamic omponent may be used for compensating repeatable xunout, as ~ollows.
The components of the repeatable runout pro~ile vector are read out of vector ~ 880 in order, by a ~ultiplexer 890. The select input of multiplexer 890 is the sector value ~ modi~ied by an LPF delay.factor, compensates for phase delays introduced by LPF: 860. 'This modification is ~chematieally indicated by an adder ~92t receiving both the and LPF delay signals, and providing a select input to multiplexer 890.
'Finally~ a switch Q95 is controlled by the FF ~lag, described above. The repeatable runout co~pensation signal RROC is provided when the FF flag is:active.
~ r~ 8eek ~rvo Ba~ t~ Co~pen~atio~ 1250.
.~ . Bandwidth compensation'functions~are believed:to be performed : .-in accordance with, for example, IJ.S. Patent No. 4,835,633 25 - .(Edel ~t al.)- and :U.S. ~atent No. 4,890,172 (Watt et al.), -both of-which are-inc~oLated herein by re~erence In the illustrated ~mbodi~en~, this compensator provide~
~ gains:.. ~Sand Ks for multiplying;~respective ~position and i .velocity error;~ignals before:tra~king and seek R_ ,~nR~tion~
~~30 ~!T~3~ least mean~square (LmS)~system identi~ication algsrithm is implemented~in~the~tr~r~;n~ ~on~oIler in-order to identify the plant parameters (D/At Power ~mp,~~Actuator, Sensor) during the linear mode of operation.
To c~7ihrate,~his ~o~pensator,~iseveral time records of the plant's input and ~L~ data are~ recorded for LMS
proce~sing. The resulting identified plant parameters are used!.~o compute the gain~-~of~the :Z-domain:plant transfer function at the prescribed open loop bandwidth. The resulting gain i8 compared to a n~ ;n~l referen~e value saved in memory.

. ~ , :, ,.. ,.": ,.' ~ ::

2~32~
'W~92t05543 . PCT/US~ 02 The tra~king and seek compensator gains are scaled by theratio of the measured and reference gain values to establish the open loop bandwidth at the compensator's desiyned value.
The resulting servo syste~ has the desired stability of phase and gain margins.
The observer is designed assuming nominal plant gain.
Therefore/ observer perfor~ance is ~nh~nced by multiplying the control effort input by the gain ratio to aecoun~ for specific plant gain.
ReferenG~ Velo~ty D~o~larat~o~ Co~pe~ati~ 3~6. This block ensures that a deceleration pulse i5 not too great in ~agnitude to cause the plant to lose ~nL~l near the end of seeks. In particular, if the reference velocity is too close to the ~Y;- a~plitude negative pulse, and a slight additional ~or,LLol ef~ort is need to compensate for an ~r-ly such as a shock of vibration, the maximum neqative amplitude of the pulse may not be large- enough for efficient compensation. Thsrefore~ a tra~de-of~ ~between ~ large amplitude deceleration pulse ~or speed ~u~poses~ and a smaller . amplitude deceleration pulse to allow responsive c~r.~ol, is desirable. More generally, U.S. Patent No.-4,835,633 lEdel et al.), incorpora~ed her~in by reference, yenerally refers to -adjusting the cu~L~l effort~in an opti~um fashion. ' In the illustrated ;embodi.ment,' : the deceleration - (l~negativ~ acceleration'~) constant "a" used in the referencè
~;; velocity profile iS c~lihrated to optimize the ~c~s~ time for each drive. ~ypically, the ~onstant would have to be selected - .-J-~to be acceptable ov~r the manufacturing popl~lation and over ~ rti~e,;~ temperature ~ and ~ upply ~ voltage --variations.
39 Unfortunately, this would result in poten~ially ~as~ driv2ë
from:b~ing~operated at their~maxi~um potential-.i~;
The~r;present:~-algori~h~ m2asures the: acceleration ,capability.o~ he -drive-when a ~eek'~of sùfficient lëngth is ~ ,.performed. A..~eek'~exper~ P~Ci n~ con5tant aoceleration over a 35~ q~inimum~o~ 5 ~amples is called ~uPficiènt in;len~thO
-,.The Aocel~ratio~ constant'is computed byt~ r .;-.-. ACce~ Distance; (CUL~nl.*Time2) 1' ~
- ; Thi~ calculated;acceleration~of -the dr~ve is averaged over ~ ; ~everal measurement~. -Finally, ~he deceleration Gonstant of ~,, . ,,.,..,,.,, :
" .:: ' ' ' :'''' : ; ,' '. ' W~92/05S43 ~ ~ 6 ~ P~T/U~91/0~02 the re~erence velocity generator is adjusted by co~paring the a~erage v~lue o~ the measured accelerations with a nominal xeference value:
d=d*~rcel ~f/A~c~
50 her details o~ operation. A brief overview of the tracking and seek servo systems has been presented, as well as details of the particular blocks shown in FIGS~ 2-3~ Now, still ~urther structural and funetional'details o~ portions of the first embodiment are presented t~ provide background for 10the above description.
Referring now to FIG. 5A, the servo input position error sensor 130 (FIG. lA) is displayed in greater detail.
Referring also to FIG. 5B, a typical track 550 is illustrated.
A track has recorded on it area 552 and area 554 on 15opposite sides of the track. Area 552 and area 554 are displaced longi~ ;nallyl with the head movi~g relative to the track in a direction indicated by arrow 556. In this manner, the hsad first encounters area 552 at a time frame "A" before it encounters area 554 at a time frame "B".
~0~. Ideally, the head should be centered in the track, at a position indicated~by center line 55,B. ~owever~ for a variety -of re~onq, the track ~ay be o~f center in either a first ~ . .. , ... .,. ~
direction-~560-or-a s~cQn~-direction~562.- If the head is . displaced~in dir~ction 560, it detects a signal A* whi~h is 25larger.in magnitude than a signal B. C~-ve~ely~ if the head .~..is off center.in direction 562, ~t detects a signal B* which is~larger than,the.signal A. It i6 only when the head is . . ~,exactly.,centered~on-line~558 that signal6 A and B are~equal in mag~itudeO~ These ~ignals are illustrated~schematically in 30..~.~ FIG.~ J.~ J~ r~ r The analog~eignal represe~ted by one of-the three graphs .,..$.~hown in FIG. 5B is;input to.the~sensor 130.(FIG..5A) on pa~h ,.. , ... ~ . ~ . .
. .,}.~502....~.In~im~ ~rame A and time ~rame Bj.respective sample-and-. ~,..~hold.circuits 504 and~506.are strobed ~o,that~the magnitude of the A~.and B pulse are recorded. -The~non-inverting~:.input of-a s~mmation circuit 508 receives the:o~ L o~:~ample-and-hold circuit 504, while its:i~verting~o~L~u~ rec~i~es the o~L~uL of sample-and-hold circuit 506. Summation device 510 receives th~ ~L~uL of the two sample and-hold:circuits at two no~~
, ... . .

, .
; . . ,~

, ,, . : - . ;

W~g2/05543 ~ g PCT/US91/06602 inverting inputs. The first ~ummation device thus provides a signal A-B which is a signsd di~ference in magnitude of the A
and B pulses. Ximilarly, the second summation circuit provides an A~B signal which may be used to normalize the A-B
differ~nce in ~utomatic gain con~r.ol block 1206 (FIG. 2).
The A-B dif~erence signal is input to controllable gain multiplier 512, where it is multiplied by a high gain or low gain value deter ;n~ in the digital processor and passed back to the gain block 512 along path 134. A ~ultiplexer 514 ~selectively provides the GAIN(A-B) o~ L of the gain multiplier 512 and the A+B signal from summation device 510 as ou~L5 of the sensor unit 130 fur analog~to-digital conversion by ADC 132 (FIG. lA). Multiplexer 514 sequentially provides its two inputs to the ADC for ultimate use by the AGC
1206; use of the multiplexer avoids ne~dless duplication of ADC circuitry for the two signals.
Track ID detection logic 520 receives signals ~rom the - head as it p~s~s over track ID zone6 which are unique to each track~ Preferably,~ adjacent tracks are coded using a gray code. The detected track ID, a digital quantity, is pr~vided directly-to the.digital signal proc~ssor on.path 135.
Re~erring now to FIG. 6, the tracking compensation block --- 1228 from -FIG. 2 ~is illustrated:cmd described in ~reater : detail than above~
25.- ~ The scaled value~KT*PES is input to t~o parallel paths in ~ the~:tracking c~ ~n~tion block 1228. Along,the first path is - ~ a first switch 604 disposed at the input of an integrator 606 having a-transfer function generally indlcated as G2(z). The .-~- integrator~embodies~.~,a.~phase lag co~pensation ~function ~or 30,-..~ pro~iding stiffness.~to.the~servo syste~ at-~imesls~lected by ; J~ witch 604.-.The integrator,.. 606 provides an.ouL~Lj~ignal to r :. a.summation device.612-las well.;asi~oibias -feedforward block s-~ In.the ~econd'paxallel!path, the.scaled~,value;XT*PES is input to~a double-phase:~lead..compensator 608 havingra,transfer unction,.g2nerally.-:,indicated- as G1tz).~:, A~ witch 610 is --.. -- provided at the o~ L~of.theirldouble~ph~se lead~compensator -608O r-The ~u~L o~!switch ~610 ~eeds another input to ummation::device~612. Summation device 612 provides the ,. . .

.:: : ~ , :

2~32~ ~
W092/05~3 ' PCT/US9~/~6Q2 .
interim control.effort signal u(k~ to the s~mmation device 1234 and to the repeatable runout compensator ~230 (FIG. 2~.
Switches 604 and 610 are controlled by the window detector 1222, as indicated along respective paths 614 and 61~ Also, double-phase lead compensator 608 is provided with initial'conditions along path 616 ~rom state initial condition calculation block 1236 (FIG. 2).
In operation, when the servo system is changing from seek mode to tracking mode, switch 610 is moved from its open position to its closed position when the heads are within a predetermined distance o~ their desired destination, such as, ~o~ example, one track width. This determination is made by the by the track capture detector 326 (FIG. 3). This allows ' the double-phase lead compensator to contribute to the interim control effort u(X); it should have made no suoh contribution to the seek mode co~ ol e~fort. -~-:~ Subsequently, the window ~detector 510ses switch 604, e~fectively turning on the integrator when the positioned error signal verifies that the heads have stably settled ~lose to the center of the track. Phase lag compensator 606 îs thus allowed~to integrate-the positional:error only aft~r it has ; di~inishe~ to-a small~r value, minimizing overshoot.
purpose of the phase lag oompensator''606 is to assist in repositioning the heads when they are not~;~e~lly placed 25 :- ~ov~r the center of the track. ~pon~power-up a table is formed ; ~ and~stoxed;'in _ y, the table:indicating a~ function of the integrator ~u~u~ as a function.o~head positioning ~rror. A
~- . least mean'squar2s'1(LMS) fit o~valùes measured upon power-up is ~'stored~fori:iuse~by thei'feedforward-~ ~n-~tor. , The 30~ f-inte~rator~~thus~'~adapts' to '5 situatlons:-wh'ein the feedforward blocksl~(FIG.:-2~ ~o~not-co~pehsate~exactly for the previously r~ measuredj~c~;hrated~valuies-'~2~he:-inteigrator~is~initially set to zero when the bias feed~orw~rd 1232~is on; otherwise, if ~~ ~ ,thair~bias fêeidforward~is:off, the integrator is maint~ine~ at ~35'- : ::'it ~'.value rret~nè~'fro~rthe~previousstr~c~;n~
' Reférring'noW to FIG'~ a timing diagra~ is pr~sented -; i~;whioh'-illustrates the operation of onei~track seek ~e~dforward ~ ' block-1238. The great frequency with which one-track seeks are expeirienced in normal op~irations of a disk drive provides ' ' , .

2 ~ 3 2 ~
"' W092/05~3 PCT/U~91/06~02 an impetus for this dedicated feed~orward compensation function. This diagram may resemble waveforms involved in any seek-to~track transition, regardless of whether it is a one-track seek or a multiple-track ~eek. However, in seeks other than one-track seeks~ the initial acceleration pulse is not generally profiled in the careful manner characteristic of one-track seek~.
In FIG. 7, five wave~orms are illustrated. Wave~orm 7A
illustrate~ positional error signal as a ~unction of ~ime;
waveform 7B illustrates feedforward control (resembling coil current) as a function of time, showing first an acceleration pulse of magnitude ACCEL and a deceleration pulse of magnitude DECEL; waveform 7C illustrates the state of integrator switch 604 (FI&. 6); wave~o~m 7D represents the state of dif~erentiator switch 610 (FIGa 6); and waveform 7E represents the state of switch 1239 tFIG. 2) at the ~u~ of the one-track seek feedforward block 1238.
In ~IG. 7, between time T~ and time Tl it is a~ that the servo loop is in the tracking mocle, so that the positional error signal is essentially zero. ~owever, at time Tl, a co~mand to movs the heads from the present :track to an adjacent track is received from the In~ster~ At this time, the - positional error signal PES rises i ~;ately from.zero to a . ~value of one track width,~as indicated by the steep~rise in .~uave~orm 7A. A~ the 6ervo ?~h~i' operates, the PES signal -asymptotically appro~hPs ~ero.
The reduction of the positianal error ~ignal is achieved through .the application o~ an~acceleration pulse 7o2 ~rom T1 ~. .,. until T2 to propel.the actuator away,from the pre~ent track 30~ ; toward-,the .destination track.-,~Immediately.following the - acceleration~.pulse 702;is a decelerati~n pulse 704~o~ opposite si~n~ ~ As ~in ~.the general~ case- of~-.~any track ~seek, the ~ -r- deceleration:lpulse is~ determined to~ause .the:~.,h~ads to ~ .approach~.the,dest mation tracklwith a~elocity~:profile which 35 .,~.-es~s~entially~ asymptotically.approaches~izero ~at~ the.ti~e of arrival o ~;,khe h~ad~ at the destinat~on. -~he preferred manner -~- in whi~h-~jto generate ~ the :acceleration -;pulse n702 and ecel~ration pul e 704 is described below.
. , - ..0 . . . - ~ - - . -:, ,: ' ', '~
. . .

~6~2~
W~92/05~ PCT/~S9l/06602 T -~;ately upon receipt o~ the c, ~n~ to move one track, switches 604 and 610, which have previously been closed, are opened, to allow the one track seek servo controller to controi generation o~ the interim control effort u(k). In any seekt whether one~track ox multiple track, these switches are changed from the closed position to the open position at time Tl in wave~orms 7C and 7D.
As described briefly' above, as the head approaches adequately close to the destination, indicated at time T3, the window detector causes phase lead compensator switch 610 to be switched back to its closed positionO It is not until time T4 that integrator switch 604 is closed, allowing the phase lag compPnsator 606 to contribute to the generation of the interim control effort signal u(k). Closure of switch 604 i5 delayed until time T4 so that integrator 606 integrates only the area 706 (under waveform 7A) rather than integrating both areas 706 and 708. Integration of both areas 706 and 708 might cause overshoot and resulting oscillation, the transients of which may delay the final track capture. ~he closure delay until T4 is normally dete- ine~ by the window detector con~irming adequately close tracXing of the heacls; however; in the event ; the window detector mal~unctions, a pxedetermined ti~i~g delay ~ will:activate:the;~witch~so that~the"6ystem will eventually : : use::the-inte~rator to track. In ~lLm~ary, the deceleration 25 -.: puIse, initiated when the head~ has- been displâced by approximately 0.5 of a::track, is t~ ;n~ted at'the ti~e ;-marking closur~ of switch 610, while swltch 604 is closed only ~t' ~ when the:PES~has'settled within a predefined-windo~w.:~' ~ spe~king~ore conceptually, tracking servo ban~width is 30~ .~constràined byrsampling raté and me~h~n~ 're~on~ces. The ?~ one-track~-seek7~eed~orward 'co~lL~olleri;à'ssis~s'fthe'~racking co~ oller in rapidly~settling on the ~estination track to i ,~achieve a'~re~ e~ access'rtimé after:the seak.~ In~th'e ~anner ~ described~:above,-;the iou~u~ of:the-integrator cont'~nu~ to ~ driv~ the ~AG~in order-:to compensa~er~for:current-bias ~orces.' ~ The~ uL~'of therdouble-:phase lead~u ~-n~Ator 18 ~isabled :-:; ; from driving'the -D~C to ~~ the natural ~ervo system dynamics from oppo~ing the ~eedforward~o~rol e~fort. The double phase lead input continues to ~onitor the PE5 signal W~92/05~43 ~ 3 ~ 9 PC~/U~91/06602 during the motion in order to properly establish the initial conditions on the states when the feedforward co~troller is terminated.
Switch 1239, disposed at the ~L~u~ of one-track seek feedforward block 1238 ~FIG. 2), is closed only between time Tl and time T3. This time period is the only tima in which the block 1238 contributes to the final control effort o~
from summing device 1234 (FIG. 2). This period of closure reflects the ease with which the one-track se~k col,L~oller is activated; control ~ ~;n.~ substantially within th~ tracking servo controller (FIG. 2) during one-track seeks rather than being transferred to the seek servo controller (FIG. 3).
Acceleration and deceleration pulse amplitude calibration in one-track seeks is performed as follows. The amplitude of the pulses ~or the speci~ic drive and envi,o- -nt re determined by perfoL ; ng one-track seeks and evaluating a perfo~ ~ce cost function over a suitably sized (for example, 2 row by n col~n) matrix of pulse amplitudes as well as a correspon~i n~ matrix of time durations. ~he elements of the matrix include acceleration and dece.leratiGn pulse amplitudes and correspon~i ng ti~a durations to be tested.
: : For example, the rows contain the acceleration pulse amplitudas -and-~the columns contain the deceleration pul~e .: amplitudes. . Therefore, there are a variety of possible acceleration/deceleration pulse co~hinations ~rom which the -. . optimal eo~bination,is selected.: What comprises optimal pulse amplitudes is deteL i~e~ by i ni ; zing a cost function. The cost~unction is~
Cost~x) = al * ~abs(PES(k))~ +:a2*N -~
for k=~,...,N, where . -N - Mumber'of.~amples to settle into~trA~k; ng window;
al = Weighting coefficient for the àrea',.and .' '3 ~ .=, . a2~=--Weighting coefficient for the~ettling:ti~e, ~ . the weighting coefficients being chosen by thè des~gner. The average cost = ~Cost(x)] / Y, for x=l,...,Y, where~Y - numbër of:one.track seeks~ J 7-, ~ herefore, the selected pulse amplitudes and durations provide the optimal one-track seek per~o~ -nce in ter~s o~
settling time (N) and positional error (PES). The optimal ::: : :: . :.;,, , : . ::

. :::
,. :, :
. .: . . ..

~832~
W092/05~3 PCT/US91/06602 pulse amplitudes for inward and outward seek directions can beind~pendently calculated to account for lack o~ symmetry in the two seek directions.
Optimal cost is saved as a reference value ~or continuous monitoring o~ the single track saeks during drive operation.
If the current cost ~Y~P~ the optimal calibrated cost by a predefined amount, then a re-calibration may be automatically performed. :
The following shows derivation of the initial condition equation~- for the states of the digital tracking servo controller3s phase lead compensator 608 (FIG. 6) during track capture at the end of a velocity mode ~eek. The initial conditions for the double phase lead compensator are calculated by state initial-condition calculation block 1236 15 - (F3Go 2) - The tr~ki~ ~ervo system ~xhibits a signi~icant : unL
of overshoot at track capture~ (For purposes of this discussion, "track c yLuL~I is defined as the transition from the seek mode (FIG. 3) to the tracking m4de (FIG. 2).) Overshoot can cause an ~lnAc~eptable settling time, but can be mi~;~i~~d by proper initi~ tion of the phase lead compensator's states. When :the phase..lead.compensator as states are properly.r initia~ized~at-- track. c~Lule, a . deceleration pulse o~ ~L~el,L is ge~e.rated which~.is a:~unction 25-~ - of the head velocity and distance to track center. .
; As an illuskrative example, the following assumptions are - made~reg~rding plant nominal parameters: . -lO. . - -Actuator In~rtia - 6.582*10.-~4 oZ-irl-se~2 !~
~orque Con~tant .~ 12.04 ;. oz-in/amp Pivot to Head = 2.062u--.~ in ? ~rack Pitch ~ -.617*10~6-~in ~DAC/Amp Gain r,~ ~ 21*10 6: :amp/bit DSPl scaling.factors, relating ~he internal representation of ~ bits in the DSP to;measurements,in ~he real~world; may be as 35 ~.,. follows~
Velocity 4096 Bv = 40 .~ . ;-i~/sec .- ~ ;Distance ; 200 Bd v = , 617*10 6~.i~.:
. where B~, ~d denotes a bit. ~

,, . ~ . ::
: .. . ,. : , .. , ~: :' ~ 2 ~ ~ 8 3 2 ~ ~ pcT/vsgl/o66o2 ~45-The phase lead compensator may be represented by e~uations according to state space th~ory, whose initial conditions may be dete~mined as follows. Tho~e ~killed in the art are capable of det~ inin~ from the known characteristics of the plant the desired Z-domain transfer functions G1(z) and G2(z) (FIG. 67. These transfer functions may be transformed to state spa~e representation and expressed in a new structure, such as Jordan canonical form. In particular, the DSP tracking phase lead filter state equations are:
Xl(k~) = f2ao * X1(k) + f2al * x2(k3 - RTPES(k) x2(k~l) = f2ao * X2(k) ~ ~TPES(k) The ouL~L e~uation i~ thus: -y(k)~= flao*~1(k) ~ ~1al*X2(k)-~ fla2*RTPES(k~
where x1 and x2 are the state variables and the ~ coefficients follow from the derivation from the known coefficients o~ the 2~ trans~er functions G1(z) and G2(z) The initial conditions may b~ found as follows.
As~, ;ng coil ~Lent is a simple multipl~ of the filter . o~L~ (that is, i(k~ = ~ y(k3), and since: . :
i = -(J * Vxo2) / (2 * x * Kt * R) (where J is the actuator inertia,.VxO i~ the initial velocity, ~x is the initial distance to th~ destination tracX, Rt is the . .
- torque constant (not to-be co~u~ed with the.~gain factor KT) ~
- and R is .the distance between the a.ctuator pivot and heads), therefore an initial condition for !;tate variablQ~xl in terms -:: o~ the actuator.structure is~
"" - "~ '''-'~' Xl(O)~ /2flao)*~(J*Vxo2)/t2*lx*~xAKt*R) ~ fla2*Kt*pEs~
.. . .. ~here~ore ~.7in thi5 p rticular.example,. ~ e:initial condition ~ equations~are O t~ 3~ , " ~ t~
30 .~ xi(0) ~ 19.-514*vel2/dist ~ f1~2*~PES~ 2*fiao) ~:
x2(0)~- xi~O)~
9',wh~ire i!.vel" is the:~head.velocity CBv bitsJ fromithe:observer -t~,- ~ at~he :~Ur r ehL'~.sampling~i~instant;.and !~dist" :isndistance ~Bd ~2 ~ bits]~to track'eenter; here, a positive ''~UL in~ ~corresponds to a positive displa~ ~ "dist". ~ 3 ',rj1,~,t',''~
... .r.~ ~his end~ cl~~ion o~'ph~sellead:compensator state .;-i equaki~n initial ~ondition determination. .~
:- . Detailed~'operation o~.-thei~window.detection-block ~222 (FIG.~ 2).is~.illustrat~d in FIG. 23A..

;: . .. .,: . , ', ~- . . . :'., ' .,,, :, :
.. . . .
.. ,. - , " ~ . : ,, : :, , . ,~
~: :: : . . .

.

W~92/05~3 2 ~ ~ ~ 3 ~ ~ PCT/~591t~02 ~

The preferred window detection algorithm is preferably implemented in DSP code to detect the completion of track ~ettling. The settling could be initiated by a transition from velocity mode seek to position ~ode tracking or simply due to an exten1al disturbance cau~ing a transient. The objective of the algorithm is to op~imally dekect the "settled condition'l in order to maximize. he available time ~or th~
drive to read and write data to the dis~ The basic proble~
o~ settling detection i5 illustrated by ~ transient..response signal. The damping associated with the illustrated signal i5 very small relative.to the tracking servo system (50 degree phase ~argin~, in order to clParly demonstrate the problem~
Minimum settling time detection may be defi~ed as a fraction of the natural ~requency of the closed loop servo system; a suitab~e value is half of a cycle.
Referring to FIG. 23A,.a wave~orm 802 resembling a damped sinusoid i~dicates the-positional error signal as a ~unction of time during track settling. The positional error signal waveform 802 is shown approaching zero value, but reflects excursions beyond values X and -X to illustrate an oscillation of the heads:about the center ofAthe track. . FIG. 23A al~o . . ~illustrates a:hysteresis riange Xhy~t centered:about the ~X and X values on the vertical PES.-axis. In.~he~bott~m part of FIG. 23A, a binary window.detection~uuL~uL-is illustrated as 25 .- a function.of time.~
From time To to time.Tl, the window,detection o~L~ is .:. positive r'; n~ ; c~ting that th*'PES is stably-located within the n*X:to~-X-range.~?~owever,-~at~ime T~ the.~PES signaliexits the range (perhaps to seek another track, or-,perhaps hec~tl~e of a physical'~jarring), Lcausing:~'the~window.,detection ~u~y~ -to change state. The window detection.i ~u~U~ remains in its negative~state. until~,~it..is;.~d~termined that~ the PES has ~ ~ 3";~i~ L~e ~UL ~le~ to-a gtabile~location within the~.+X to -X:~range about r~ the~center.of-~the:indicated1o~track; ~In FIG-~-23A, 'this time i5 35 illustrated as T5. ,~ ?.~r.,~ "~ 'J~ -' r'' ~'; ~:ot~ n~ the~.imotion fro~ ther~sour~e .~ocation to the destination track follows an oscillatoryi path,-3the d~e~
sinusoid paRses through the value-X-(Xhy0t/2), indicated at 804, at time T2O ~t time T2, a counter.with a pr~-set value ': .
, (~''' W092/05~3 2 ~ ~ S ~ 2 g PCT/U~91/06602 is started. ~owever, in the illustrated example, the counter does not expire before the waveform exits a given range, illu5trated at point 806 where its magnitude is -X-(Xhyat/2), this exit occurring at time T3. The non-expiration o~ the counter indicates that the heads have not settled within the proper distance of the center of the track, so that the window deteotion o~L~uL remains inactive.
As the PES waveform reenters a range at time T~, indicated at point 808, the counter agai~ counts down from a pre-set value. In this case, ~ter time -T~, the counter decre~ents to zero, indicating stable tracking to within desired tolerances. The counter here expiras at time T5, which is delayed by a period T~ettle ~ro~ time T4. The window detection out~L ~es( ?c active at time T5. :;
~5 The Posi-tional Error Signal (PES) inherently has random noise on it. Th~refore, the algorith~ includes a hysteresis feature to prevent the noise ~xom cauqing undesirable switch;~g o~cillations during a transition across a window boundary. To prevent noise-induced effects, hysteresis zones 810 and 812 are provided~ centered about respective PES values X and -X~ Provision of the hysteresis zones 810 and 812 prevents false triggering of thë coùntér which might otherwise --be caused-at~times-such as at-time-Bl4.-- - ---~
It is.~to be understo4d that FIG. 23A illustrates a generalized track~ settlin~ waveform for a variety of paramëters of int~rest. The settling detection algorithm ulfills a reguire~ent for at least ~our distinct windows.
. .Windows are defined for detectingj:(l).a tracking integrator -window.for the tr~ki n~ ..integrator 606 and~its input switch 604, and (2~ a high gain~.window..~or..determining~when sensor ~ ,., , ., , ," , , . . , . . , . .., .. . . ~ -, , - .130.(FIG. lA).should be in high gain mode...The.re~aining two , I , ,, , " ,, ,.", . , ,.. ,,, . ., .i ,. .... . .
. - .windowe define when the~col.L oller~ can (3~ read .data, or 7 '~ , ~4) wr,ite~da~a~ J ~ ; .;r~ ' , ' ", ; , :'~ '~ ~., ,,. ,.,~ ~.'.
. -.. As~uming nominal.values~are as follows: ~
~35 .. .. . Track Density. . ....- =. ...1620 . ~ Tracks/i~ ..
.... . . Integrator Window.. = . ~/- 4 Tracks .. Read Window = +/- 0.5 - Track High Gain Window ~ 0.056 Track Write Window a +/ O. 04 Track - .:

.

.: ~ ~ ......... ..
i ., . , : l W~92/05~3 ~ 3 2 9 ~CT/US91/0660 and PES sensitivity is:
Low Gain = 5.3*105 Bits/in High Gain = 3.15~106 Bits/in and Closed Loop BW = 325 Hz Disk rotation .~ipeed = 3511 RPM
ID Sectorsi/Rev = 44 Sectors/Rev OD Sectors/Rev = ':.-54 Sectors/Rev . Typisal values which may be used in an operational sc~n~rio for determination of the X to X range, and r~sultant settling time given certain assumptions about the physical structure of the disk drive, are provided in thie charts below. Of course, it is understood that dif~'erent disk drives have different parameters; furthe~ -_a, there is some adjustment left to the discretion of the individual designer. Variations from the lis~ed values may be made in accordance with considerations ::. known *o those skilled in the art.
.. . . .
Window Nom" Value Hyster~_sis Settling Time (Track) ~Track) (msec) Integrator . 4 . : 0.5 1~5 ~25 - - Read ~ O.S - --0.1 - 1.9 .. . .......................................... .
High Gain . 0.056. 0.013 1.1 rita ::; 0.04 ~ . 0.01:. .. ,- 2.3 ~.. - .. / ~ ~ .. i .. . ..
;~ ~~FIG~ 9 illustrate~ in detail the preferred structure of ' ~ ~ the-sèek compensation block 328 (FIG.-i3). - Theistructure of the-block is déscribad-lmmediately below;!its opèration is 35 -" described~with reference--to'FIG. lO.' -' ; The~velocity error'multiplied-by thsi coeffi~ient Xs by m~ltiplier 32i enters two~parallel paths in the compensation block 328. A first path, an essentially-un~. el~sated path ~or the accëleration phase-of a seek,~enters~a multiplier 902 which ~ultiplies the ~input by a factor Kg.tiThe input also feeds a~double pha~é lead compènsator 90i in a ~cond path, ~ich i~'a~highly compensated path~or COII~LO1 during the deceleration phasè of a seek.
. : . . ~, . ", .............. ... .

.

~:~1 2~3~
"~ W092/~3 PCT~S91/0660 In the first pathr the input is multiplied by a KG ~or use during the initial portion of the seek, in w~ich a high-magnitude, constant acceleration is desired. Multiplier 902 ~eeds the first illpUt 0~ a multiplexer 920 along a path 906, as well as feeding initial conditions to an integrator 912 along a path 908.
In the second path~ the v~L~u~ of the double phase lead compensator 904 is input to a switch 910, the ~u~L of the switch being connected to the input of an integrator 9120 The input of a zero crossing detection latch 914 receives the ouL~uL o~ the double phase lead compensator along path 916, and delivers a switch C~ LO1 signal along path 918. The position of switch 910 is deteL ;ne~ ~y the o~L~uL of zero crossing detection latch 914. The zero crossing detection latch 914 c~llLL~ls the select input of multiplexer 920, first selec~ing t~le ~uL~uL of multiplier 902 on path gO6 and kherea~ter the o~ L of int~grator 912 on path 924. The o~yu~ of multiplexer 920 compri~es the interim con~Lol e~fort signal u(k).
Referring now to FIG~ ~0, threa waveforms are prese~ted for .illustrating operation of the se~k servo controller c~ ~ An~Ator in FIG~.3.
~ Graph:lOA illustrates the DSP cGnL~ol e~fort J~L~ U(k~
- as a ~'unction of tim~ acceleration pulse 1002 changes to 25 - a dec~leration pulse 1094 -at an optimally ohosen time TA.
Graph lOB illustrates the coil ~uu~n~ as a function of time.
. The .coil current ishown in graph lOB yenerally ~ollows the ol.-e~fort..signal in~lOA~ al~hough:suc~Pactors as back ~ EMF:~and .inductan~e round,the edges :of the:-aeceleration and -~ eo~ ration pulses. ~- ~1.~ ~-.., ,'!"~ ., ...,,. ~.., ' .,, ..~." . ...
~ Graph lOC:illustrates ~elocity-as a function of time for : - . VE ~ F.-(the;,referen~e-velocity waveform-1002) and VELj~ (the - : feedback.velocity wa~af'orm,1004~. Ref'erence:veloci* waveform ~ .1002is,that ~uL~u~ ~'rom the ref'erence velocity generator 31 (FIG. 3). Fe2dback velocity 1004 iis~the'VEL# ~ uL fr~
-obser~er :342.:i The difference between~these two signals;
ERR~E~, o~Ly~ by ~ummation device 3~2, is also illustrated in - -~graph lOC.- - :.
.. , . .. - - . ~ - . ; . - .
.. ~ . . . .... . . . .. . . . .

.,~ ,;,,,, , : . , :
.~ , . . : ;:
.

2~32~
W092/05~3 PCT/US91/~602 :
~50-Graph lOC illustrates the approach of the feedback velocity waveform 1004 to the re~erence velocity wa~eform 1002., Pref~rably, the approach is asymptotic, but may be otherwise if inadvertently or purposefully undexdamped or overdamped.
At the time TA, the re~erence velocity changes ~rom its constant value on segme~t 1006 to a linearly decreasing segment 1008. At time TA, the feedba~k velocity 1004, which had been.substantially linearly increa~ing along a segment 1010, begins its substantially asy~ptotic approach to reference veloeity segment lOa8, as indicated by curve 1012~
As the heads approach the center of the destination track, the reference velocity and the feedback velocity become - indistin~li ~h~hle~ indicating the ERRVEL ouL~L 0~ summation device 322 (FIG. 3) is re~lce~ to near zero; this ini ; zes the ~ tion which must be performed ~y the seek compe~sation block 328 (FI~So 3 and 9).
! . In operation, switch 910 tFIG. 9) of the ~eek compensator is open during the initial portion o~' the ~eek and ~ultiplexer 920 p~Ps.. the adjusted velocity error on path 906 as the interim cor,LLol e~fort ouLyu~. However, when the double phase lead compensator 904 approaches zero,~zero crossing detector - 914 causes closure of switch 910 and.changing--of multiplexer 920 to select the o~L~L of integrator 912.- (In practice, the time der.ivativP o~ the error signal moves back-and ~orth about ' zero; -it.~is the ~irst crossing whi~h t,cau~ës the latrh to ,chang~stateO) Simultaneously, the ouL~L o~ multiplier 902 is~loaded~into the :integrator 912 ~along:.path.~gO8 a~ the integrator~s.initial condition; this simult~n~ou~ ~witching o~
multiplexer 920 and lo~ing of initial conditions3into the ..integrator.~912 assur -substantlal continuity-in the uu~u~ o~
~ ":multiple~xer ~920.:.. After zero cros~iny detection latch 918 ;~ 3~causes~.:clo~ure~~:of .switch~-IglO,; the:~co~ l ef~ort i~
?~ J~ef~ectivelyf.the,integrated-~uL~uL o~~~he .double'~phase lead -35~ ~.compensat~r 904. .~ }~fj"~J.J,~
-Referring~now.,-,to.;~FIG.~ll, a~ block~diagram including : mathematical models of- the power ampli~ier ~and actuator ~llu~trates the portion of the plant receiving the~ C4~ ol effort ~ignal ~(k) from the DSP 110 (FIG. lA). The plant ~ W092/05~3 2 ~ ~ ~ 3 2 ~ PCT/US91/066~2 ~51-includes DAC 114, power amplifier :L16, actuator coil 118, and actuator model 1150.
DAC 114 comprises a serie~-connected digital to analog converter 1102, gain blsck 1104, and notch filter 1106.
Digital to analog converter 1102, having a finite word length, is optimized to provide a suitable dynamic range to the col.Llol e~fort ~ignal. Gain circuit 1104 scales the analog c~nL~ol effort value to a suitable range be~ore being input to a power amplifier 116. Nstch ~ilter 1106 ~ilters unwanted resonances. A particular embodiment of the DAC i5 illustrated in FIG. lB.
Power amplifier 116 may be conceived as comprising a summation block 1108 which receives at its non-inverting input a re$erence voltage ouL~L by the notch filter 1106. The inverting input of the summat on devi~e 1108 receives a volt~ge ~yuL from a current sensing device 1120, the voltage indicative o~ the ~u~ passing thLuuyh the actuator coil.
Summation device 1108 thus pro~ es a voltage indicating current error signal.
A conventional compensation network 1110 receives the error signal preparing it for the power stage 1112 which converts the voltage to-a high ~u~.a~ he high current is '~ ~voltage limited by limiter 1114 before being input to the non-inverting input o~ a summatio~ device 1116. Summation device 1116 receives at it~ inverting-input a quantity indicative of :i: the:back EMF of the coil. The cuL,~nL:~uL~uL fr~m current summation~device lll6 drives..the actuator coil. The current ~3~ in-the'actuator:~oil:is ~Pn~e~ by current sensing device 1120 for f~e~h~k--to~6u~mation~devi~e 1108.
30 ~ The'coi~ ~u~el,L~ on:path~1122 is also input to the actuator which~is modeled as illustrated. The current is multiplied by a torque constant ~tR~ and a:distance R e~ual to the~di~tance between'the actuator~piYot and the heads. -The ~ uL of multiplier~:ill24~is input.to;~he non-inverting input of a torque!~um~à~ion-deviceill26. ~The.~o~ of the torque su~mation'device is~input to!~a multiplier~.ll28 which divides its input by;the actuator;inertia5J.~-.The o~L~uL of divider 1~28 is integrated by integrator 1130. -Inte~rator 1130 feeds a multiplier 1132 which multiplies.its input by a back EMF

.: . . . ,:

2~832~ :
W092/05~3 PCT/US9l/06~02 ~;' -52~

constant Kbe~f~ This. multiplied quanti~y is input to the inverting input of summation device 1116, indicating the BEMF.
The ouL~ of i~tegrator 1130 is fed back to the inverting input of torque s G ation device 1126 after being multiplied by a viscous:damping constant gx' at block 1138.
The o~L~L of integrator ~130 al50 feeds a second integrator 1134, whose ouL~ indicates the absolute-position o~ the heads on path 1136. The absolute head position is fed back to another non-inverting input o~ the torque summation device 1106 after being multiplie~ by a spring constant Kx in block 1140.
~ CUA~V ~NBODIMBNT. A second e~ho~; -~t of th~ invention is described with special reference to FIGS. 12 and 13. The description of this embodiment is provided in the following order:
Functional Descriptions:
Servo Field Structure (FIG. 16) DSP Control Syste~ (FIG. I2) Servo Timing Te~t ~0 o~fset Correction.(FIGS~ :17A, 17B) : . Gain Nor~alization (FIGS. 18A, 18B) .. Inv~r e:Nonline~rity Co~pensation (FIG. 19) ~:
. .. Range Extension; Integrit~y.i:Test (FIGS. 20A-20C) ~ . Power Amplifier.. Model (FIGS. 21A, 21B) -'~5 :~ ~ Observer (FIG.,22) ~ ~ , Settling Window Dete~tors (FIÇS~-23A, 23~, 23C) . x~ ;;Integral Controller (FIG5.-24, 25) ~-: t -~Single Track~.FF.Controller.;~FIGS.~26A, 26B) Bias ~e~dforward-Controller (FIG. 27) ~,30 ::s ~ .. Inter~ediate-;~engthi~eedforward~Controller --.! ', o e i ~ (FIGS.:,~28A,c28B, 28C) :Re.calibration;(FIG.~-.29)~
.a.. ~ ~ 5,r~ ;sDynamic~sG~ n~of~para~eters (FIG~ 30) ~3~
~ f-.'. ~'~ De~criptiOn of~Sequential Steps:~.?.3.~ 'J~,' S,35~ High-~evel Flow~Chart~.(FIG.~;ii3~ .J .~
: i~ .''J .. '.' .i ;~; : .- ', . ' .. ~ .' ~. ..~ High-l~vel~TimingiDiagram (FIG---14) ~ - ,.
--:,;.s~ ~ ~ . - Phase~:Experienced During Seeks:(FIG. 153 Command Routines - , -i ' ; .~Control::Routines~

:

..
.. . .. .. .
.: ~,: .; : ..~, ( i r 2 0 6 8 3 2 9 ''~W092~055~3 PCT/US9l/~602 SUbrOUtineS
WindQW ROUtine5 POSt PrOCeSSing ROUtineS
Ca11bratiOn POSt PrOCeSSing ROUtineS

The 5erVO Fie1dO FIG- 16 iS a ~agnetiC dOmain diagram Of a Preferred SerVO .fie1d WhiCh iS r~ Y diSPOSed betWeen SeCtOrS On the diSk- Brief1Y, thiS 5erVO ~ie1d PrOVideS
POSitiOna1 inf0rmatiOn tO a head PaeS1ng OVer it~ in the fOrm Of integer graY COded TraCkIDSS and dibit PairS WhiCh a11OW
determinatiOn Of fraCtiOna1 POSitiOn infOrmatiOn. SenSOr e1~ment 130 in FIGS- 1A and 1B SChematiCa11Y i11U5trate the deteCtiOn and USe Of SOme POrtiOnS Of thiS 8erVO ~ie1d, With 15 FIGo 5A ShOWing mOre SPeCi~iCa11Y ~hQ generatiOn O~ integer and POSitiOna1 errOr Signa1S PESI and PESF~ reSPeCtiVe1Y.
FIG- 12 ShOWS hOW the Pref~rred ~erVO SYSte~ USeS thQ PESI and PESF Bigna1S tO C~1~L~O1 the ~erVO 1OOP.
FIG. 16 i11UStrateS the magnetiC dO~ain Pattern O~ the SerVO fie1d ~Or.fOUr adjaCent traCkS~ With the ~nAlOg Signa1 near the tOP Of ~he figUre:~.ident:ifYing the CO~L~Y~nding Signa1 deteCted.bY.the data head aS it P~S~C OVer:the Center of track 3, indiCa~d TC30 In~a pref2rred embodiment of a - : disk:.driv~ having-120 MB~of data o~ two disks7 44 ~ervo fields ~ are:provided on the inner zone of each:disk surface, and 54.:on - the.outer zone.~ .e ~:r .
In.FIG.,16, the.~head p~~~P over the ~agnetic ~- -;n sur~ace-~rom lefk-to.:right~.in the figureJ~in~accordance with .; the:fIollowillg.~deseriptior~ ";
~30..,~;.-..,;~s.~,.- The preamble i~ a~low Prequency alt~rnating:north/south do~ain pattern which~,enabl~s~ logic..,circuitry~.to detect the .1-beg;~n~ng;.of-the ~rvo frame,-i~The.frequency:o~ ~h~.prea~ble pattern is ~lected to be an ~lle~l data pattern,'~:.to yL~v~
.~ervo ~ield detection logic from ~al~ely.~riggering on a data ~35 ~ pattè~n.Y~ Y -,3~ r ~ L ~
Sync-; p~l~e~ a~ter.~he:preamble provide an--accurate ~ - s~nchronizing marker for..~ubsequent~operations. -~
~.;- , A ;code bit,'.located a~ter.~he 6~nC pulse fieldj de~ines ;- .:.~ which ~et o~ A~- B domains to select.- The.determination is 2~329 W0~2/05~3 PCT/US91/~602'-:' relevant to processing information in the PESF field, described below. Specifically, the presence of a code bit enables the selection Qf the ~, BQ dibits, whereas the absQnce of a code bit enables the selection o~ the AN ~ BN
dibits r The index field is a'marker present in only one serYo ~ield per disk revolution. The head thus encounters the index field once per revolution, allowing, ~or example, accurate motor speed ~O1ILLO1.
- The fractional portion of the positional error signal, PES~, is generated from peak detection of the pair of dibits AN ~ BN or ~, BQ identified by the code bit. Therefore, PESF = AN ~ BN :~ if code bit is not present; or, PESF = ~ - BQ if code bit is present.
The dete~ ;n~tion of PESF from the AN~ BN or ~, B~ dibits is made in accordance with FIG. 5B, as described elsewhere in this speci~ication. -In the preferred embodiment, two offset calibration tracks ar~ provided, one in each zoneO In every tenth servo field in these offset ~l;hration tracks, dibits ~re placed on the. same side of track Acenter to allow deter~ination o~
~: :: .offset. ~..This arrany, nt .is,shown in FIG. 17B, and is not further described here. ~~~
Again re~erring to FIG o 16 ~ a wnlque:track identification .25 ~:number,: TrackID,~ is :identified in the ~orm of a gray code pattern which immediately follows the::PESF.~egment. This :~. pattern provides the servo. syste~ .with;head positional ;in~or~vation at each ~ample,~as des~ribed with reference to the range extender in FIG. 20A.--: v The~int2ger,:portion of the .;30 , f.positional~error,~ignal,~ P~SI~ is c~lc~ ted:;by subtracting ~~the requested.~rack~rom the-~u~r~1-L;track;~the~current track being:the~r$ra~k~ identification~number;~measured in the gray code ~ield...-~ .?.i~ "~
r,.:.This-arrangement..diStingUiShes~:~ther~inVention~rom known syste~s in which track ide~tity information may~be:present:in the user,data field~(as oppo~e~ to ~he~ervo field). In the ~nown :systems t'' . the-~track ~-information had to be processed . thluuy~ ~he ~aster '(lO2 in FIGS. lA, lB) rathex than being . immediately accessed and:quickly process~ in the DSP (llO in ... ......

:, . :;,: .: . . , 3 2 ~
' 'W092/05543 PCT/U~1/06602 FIGS. lA, lB). Thus, according to the present invention, the delays of known position control systems axe eliminated, allowing full and immediate DSP knowledge of position and positional error in the DSP itself.
DSP CONTROL SY~ EIIGH LEVE~ FLOW DIAGR~M. Fig. 12 illustrates schematically a s~con~ implementation o~ the DSP
control system according to the present invention. As previously de~cribed, the functions of the second embodiment of the DSP block 110 (FIGS. lA,-lB) are implemented totally in firmware in a Texas Instruments TMS320Cl5PEL, so that the various e'bloc~s" shown in FIG. 12 are emho~ied in blocks of code. Each block of code is not necessarily a contiguous block in memory. Thus, the various "blocks" shown in FIG. 12 are not physical ele~ents in the preferred e~bo~; ~nts, although it lies within th~ contemplation of the invention that they could be implemented as such.
Moreover, FIG. 12 illustrates only the general relationship of ~he major ~unctional blocks. The functional sub-blocks shown within the major b:Locks are veryi~rh~m~tic in nature, and ~any sub-blocks have be.en omitted for the sake of graphic clarity. The major blocks, the functional sub-blocks, .the additional functional blocks not speci~ically illustrated in:;FIG. 12, and.~the op~ration of-all of these entities, are ~: described.below, with reference ~o FIGS. 12 through 30.
25 ~ Broadly, the objects-of .~he DSP oo~ ol system are to measure the ~ead poSitioDal error ~ample :inoludin~ PESF
(fractional PES) and PESI~(integer PES, or. '~~l of tra~ks of error), and to generate.-an:a~r~Liate c~ ol.effort u(k) to :u~- c~ntèr3~he .? heads'onto~he .track~center;whi~h-causes~the PES
3~: ..,. measul, n~tG .~.ve~e ~o-zero. ~ ~P ~ r~
.J.~o achieve these~objects;1the~functional blocks ~hown in - .i FIG. 12:~roce5s ~he~m~asuremant to.:remove or minimize e~l OL S
- -.- which~originate;fro~ o~set~and gain variation.lin.~the head . . - ~, i ..~po~it~on .~ s~ or j ;{ ag well - :, as ~ r or l; n~t ities .-, in: the ~-:6Pn~or 9 6 ~ o,.~. Further, the ~ffects, o~ ;no~e~. ons~lndividual .: . measurements:are,:filtered..?~iThe DSP co,-L~ol system also uses - :.a ~tate ~pace i~plementation .of an:observer to emulate th~
-dyn~mic~.o~ the plant (FI5.'lA elements 114-132) to provide ~ce~es to ~he v~locity ~tate and a ~ltered positional ~tate.

.:: : , .: : . :
: ,; , . . : '' ,: ' : :

~ . : ~ :' :,: ',- : :

2 0 ~
W092/0~3 -56- PCT/~91/06602'~

~oreover, the DSP control ~ystem eliminates steady state error introducad by biases acting on the heads and utilizes cAl ;hrated mea~u~ ~ -nt data to optimize the servo system dynamic and static per~o- ~nce.
Referring more specifically to FIG. 12, sever~l inputs are shown entering the DSP collLLol system. A ~irst input is the integer positional error signal PESI on path 135, derived ~'rom the TrackID gray code field in FIG. 16. PESI is derived by subtracting the track ID from a requested track sent by the ~o masterO The ~ubtraGtion is~schematically illustrated in FIG. 12 by an adder ~31, at whose non-inverting input is the requested track re~eived through c~_ ~n~ register 162 (FI~.-lB). Adder 131 receives the track ID at its inverting input. In a particular preferred e~bodiment, the track ID is read from servo fields which are r~ ly disposed on ~he disk, spaced betw~en sectors thereon.
- A secon~ input to-the DSP; the fractional positional error signal PESF, i~;:input on a path 133. PESF is ~L~ on path 133 by analog-to-digital converter 132 (FIGS. lA, lB), and is ~ltimately derived by~processing dibit signals A and B
(FIG. 16).
The~-fractional positional:error-signal PESF is input to a..servo -sample timing .test: blsck 205.: Timing 'test block rejects any~apparent servo sa~ples.-which occur outside their . expected-:time ~'ra~e,~ but p~Rs~ :the samples which occur as expected in.the ~Lu~e~ time.frame. ~
Assuming-the ~ervo field~was found'in theicorrect time . period,~he;fxa~ti~l po~i~inn~ error~ignal PESF is passed on:.to an~:off~et:~.correction block~210 ~r more~details o~ which are illustrated in FIG.--17A.-~ The offset correction block 210 - e.rl:provides:an~offset-corrected':positional error signal PESo on ~t~ path.211 to a~normalization block 220.:Further detail of the normalization block ,220.~are A illustrated. in.:FIG.ml8A. The -.~s .e normalization .block:provides:a;lnor~alized~positional error .35 ~b.~ .,.signal PESN ' on a path;221- c~! ; !;s~-i.3.,.
'.'~ ~~~t.s i~,The no~malization.block 220 reoeives as further:inputs~
;Jrr~ a.predicted.track~ID Tra~kIDp on path 254~And a high gain-low -~- gain ~O~LLOl signal on path 261. The origin-and generation of ' ' ' ' .

~? 2~832~
" W092/0~43 ' PCT/~gl/066~2 khese two input signals are described below, with reference to~IGS. 21A, 22, 23A, and 23B.
An inverse nonlinearity compensation block 230 receives the normalized posikional error signal PESN from path 221.
The inverse nonl;ne~rity compensation block 230 provides a linearized positional error signal PESL on path 231. Details - of inverse nonl ;ne~rity compensation block 230 are provided ~elow, with reference to FIG~ 19.
The linearized fractional positional error signal PESL is lO : provided to a sample integrity tester and linear range extender 240. The in~eger positional error signal PESI is also provided to the sample integrity tester and linear range 2xtender 240, on path 135. A third input to the sample . inteqrity tester and l;ne~r ra~ge extender 240 is a predicted positional error signal PESp which is provided on path 253.
A fourth input to the sample integrity tester and linear range extender is a second interim ~ L~l effort signal un(k) which is provided on path 252. .~.The sample integrity tester and linear range extender provide an interim positional error signal PES'(k) on path 241. Further details of the structure and operation of the sample inte~rity-tester and linear range extender 240 are provided below,:with reference to FIGS. 20A
- d 20B
an . .... . . ...
~ A ~ull state observer 250 receives the interim positional 25.:;: error signal PESf(k) on-path 241. :.It also receives a ~irst interim effort~signal:u'(k)~-on,a path 271...The full state o~server pro~ides ~(k), a'-l-column by 2-row vector~guantity compr~sing P~S~k) and V~(k)~ on path.251~ Further, the full ~ ~state,observer provides the::se~Qn~ interim~ ,LLol effort 30 ~.m signal u~.~k) to the sample~inte~ ity tester in:.block 240, ~ia path 252. The full state observer also providesithe predicted positional-error-signal:PESpito:the;sample integrity tester on ..' .~ J'-~ s path -253- -~s) Finally~ the~ u~ ;state;~obser~er provides a .prediGted track ID ~r~Tn~.(a ~um of.~he requested.~rack and ~PESp)~ onIpath 254!~or use~in the~normalization~!block 220 and r;~:an int~gral.~onL~oller 270:(desoribed below) ~ ~F Further details of the full state observer.are proYided below,~:with referen~e to FIGS.s21Aj'21B, and 22. - -.

: : -:: ~ ::
, . -.: , . . .
. ~ ,. ~: . :

W~92/05~3 ~ 8 3 ~ ~ PCT/US91/~602~--58~

Th~ ~(k) vector provided on path 251 and the interim positional error signal PES' on path 241 are rec~ived by a settling window block 260. Settling window block 260 generates a high gain-low gain signal on path 261, for use in the normalization block Z20. Settling window detector also produces various window ~ignals for governing operation of an integral controller (described below), and read and write enablement.
~he ~(k) vector on path 25-1, as well as the .interim positional error ~ignal PES' on path 241 and predicted track ID on path 254 are received by an integral collLLoller 270.
The primary purpose of the integral co~ oller is to provide the DSPIs o~L~u~ Llol ef~ort u(k) on path 112. Howe~er, the integral cGn~!~ller 270 also provides th~ first interim ro~l~Lol ef~ort u'(k) on path 271 to the full state observer.
Further details of the inte~ral c~ oller 270 are provided below, with reference to FIG. 24.
The detailEi of the functional blooks of FIG. 12 are now described in greater detail.
ervo ~ampl~ g ~st 205. Full state observer 250 and integral col,L ~ller 270 ~unction properly, only i~ the :....... :sample:period: corr~ffpon~ .to.a full ~ample ~~ime. If a s~osed "sample" o~ before it is expected (as-~determined ~. . . by the-speed of rotation of the disk:and the.distance betwsen 25 : servo fields betw2en disk ~ectors), the "sample" is ignored, : .~ .and a next sample i5 awaited for processing.~ I~ the.expected .... ::. time of arrival-passes without a servo.~ield:beingAdetected, ~ then~the'i:loop~operat~s~in 9!~reewheel"s:mode, with-the estimate -r.~ state-.~variables gen~rated.wi~hin the ~ull state observer 2S0 :30 ~ governing-.;the; servo .~coll~ ,oller: during thei~current sample i d ~ eA ~ " l -Off~et C~ io~-Blook 210.-~Referring now to.FIG. 17A, :the o~f5et :r~orrec~ion~~block;210:is,.illustratedi~,in detail.
~f~ .Very.bri~ly,~the o~set co~ ion:block measures.~ithe PESF
-r~35~ e~ëor's :electrical~offset;.component.:..This~measurement is accompl~he~:~y u~li 7 ~ ~ o~set calibration dibits located in a non~user:.data portion-of.the:disk..:" ~
Essentially, th~ electri~al of~set :of~~a sensor is underetood by referring to FIG. 5A. In FIG. 5A, two paths for , ~ . ; ' . ~ . ., : ' ... ..

2~6~32~: ' ~.~ .. .
: W092/05~3 PCT/US9~/06602 analog data are illustrated in sensor 130. A first path includes sample-and-hold block 504 and a subtractor 508. A
second path includes a sample~and-hold block S06 and an adder 510. Because no two circuits can be identical, even if identical-magnitude pulses enter the two sample-and-hold blocks 504, 506, the analog magnitude of the signals entering subtractor 508 and adder 510 may not be absolutely identical.
This ph~nc -~on is called electrical offset. During operation, the differences in the electrical characteristics of the upper path and lower path cause A and B to be different at the inputs to subtractor 508 and adder 510, so that the differencP and 5um signals o~ there~rom also reflect the electrical o~fset. To correct for this ~lectrical offset, the offset calibration block 2102 (FIG.-.17A) is provided.
15. . The FIG. 17A offset~correction block 210 essentially .comprises a feedforward offset correction c~l;hration block 2102, and an adder 2104O The ~ractional positional error .signal.PESF.on path ;133 is .input ~o the o~fset correction c~lihration block 2102 which produces a feedforward offset . correction value on path 2106. r.. Aclder 2104 receives at its .-non-inv~rting..input:the ~ractional. positional error signal .. PESF. ~-Adders2104::receives;the;feedforward~offset value on . path-2106 at its inverting input. The:o~L~u~ of the offset corxection block-210 is the offset ctJ.Lected positional error '~signal P~S0 .~3~.~ : .~ ~ ~',,'~'! ' '' '. '. '' -' '.-~ ' ~' . : ' , .
he offset.correction c~ hration block 2102.:~unctions in .~ - the.~ollowing -nn~r- Brief ref~rence~is mzde to FIGS. 16 and 5B. Whereas..~he~ractional-positional error~signal.PESF is ~ ~m.~.;..derived from dibits-dispos~d~on/Gpposite sides of track center :30:~: ;*~:(FIG.i5~, and::the~PESF ~egion in:~FIG..~16),:ban-.o~fset.value~is .. . determined~from dibits:which~.are~:located:on.the same side of -. . -, track:~center.. (FIG.:17B).i.:Dibits:on.~he-same:.side:o~ tracX
center.-are not illustrated in7FIG. 16. Su~h.~ame-side dibits ~ may~:..be~ provided...on '.every~.~enth-~ser~o.~:field:.(ten being .35~ xe~plary:and non-limiting),~...so~that~90%:of~th~ 8ervo ~ields ~ have ~dibitsmon opposite~sides:of~ track centers.to allow - - . accurate determination of PESF-~in accordance with FIGS. 5B and ; ~ 16. :~he observer (described below)-:freewheels -during the orfset sample to minimize degradation of tracking performance.

:. .. :, : .
.. . . . .

: ". :: ,: : : , . : : , 21~3-2~ ~-,~
W092/OS543PCT/US9l/06602 -:.

FIG. 17B illustrates two such successi~e of~set mea~uLi ~t dibits A and B in isolation. If the head i5 located over the half o~ the track having the dibits, indi~ated as 2110, two large-magnitude pulses 2112 and 2114 :5 are produced. In coil~rast; when the head is located o~er the half o~ the track whi~h does not have the dibits, indicated as 2120, v~ry small magnitude pulses 2122 and 2124 are generated.
However, when the head is centered on the track, indicated as 2130, two medium-magnitude pulses 2132 ~nd 2134 are generateda 10Thus, when the head ls properly centered over the track, it is expected that -pulses will be generated having a magnitude sub~tantially the same as:pulses 2132, 2134. The "offset value" ~or a given sample is defined as the value of the magnitude of one;pulse minus the value of the magnitude of . the other pulse; that is, ~A-B. .The offset samples are averaged over a sufficient n hPr of off~et dibits, so as to minimize or el; ;n~te the effects o* any noise.: ~he resultant average of o~fsets is saved, thus completing the calibration.
During operation, the saved average is ~ L by block 2102 on path..2106 to be-subtracted ~rom the positional:error signal ! ~ PESF by addex 2104;:(FIG. 17A).. ~he averaged "offset values"
...correct.,the.electrical.of~set phenomenon-described above.
~ Normal~z~t~on Bloc~ 220..~. ,The -offset-compensated -: : positional;error ~signal~PES~' is input::to the:~normalization block 220, illustrated in greater detail~.in FIG. 18A.
~ Briefly,~.the ~ ose,of.the~normalization block is to correct .:-:. for gain variatisns~of:the PESF, reflecting variations in the magnitude of~A.and:B.p~ *s~(see3EIG;~ r5B) ~ s3' _.~e.~. .e:~ The.fractional-PESF ~ L!~has 5ign~ ant inherent 30 ~ r gain~~variations.,~.For~.example,..~PESF~ari~s as:'a function of ~ r~ head,-diek zone;~and 3r~ position on- the~disk.x;~he gain ... .~ariations:resultifxom.the specific.properties o~ the:head and -disk ..medium,' for .example.~ ~; The ~serYo ~-:system.~requires ;..- .-~ slgnificantly large.gain ~tability margins.to guarantee ~ervo .-35 . - stability-'~:in~the~high vol~e.~ of:3s drives .~..manufac~ed.
According to.the presént invention,~a solution'is to normalize .thé~. gain -variation~ o~ the~.position..-.e:sensor.;~ ;:.Thi is .,.accompl;~h~ by measuring the:total signal ~Lr~r~Lh (A~B)mea8 :, ' ' : ' ' '~, ~,, '),' -' :.,' ' ' ' ' : '; ;. :

~0~32~
~'~ W~g2/0~3 PCT/US91/~02 in addition to the PESF=A-B and a~Lo~riately scaling the PESF. Symbolically, ~ESN = PESO (A~B ) REF/ (A~B) MEAS
where PESN i5 the noL ~l; zed positional error signal, PESo is the un normali~ed positional error signal, (A+B)REF is a referenre value described below, and (A~B)MEAS corresponds to the current sampleO
This technique works well provided that the meas~L ~ ?nt is a well-behaved linear ~ignal, a valid assumption when the data head is positioned close to track center. Howéver, the PES linearity significantly degrades when the head position deviates from track center. The inventive cor.L,ol system includes a feedforward PESF nGi ~lization algorithm which utilizes the a~curate gain variation data measured when the head is on track center to derive the optimum normalization funotion for l~w gain measurements.
- ~eferring more specifically to FI~. 18A, the normalization block 220 includes a high gain noL - l; zation block 2210 and a low gain n~ izi~tion block 2220. Both blocks 2210 and 2220 receive the of~l~et-compensated positional erxor signal PESo on path 211A DepPn~;n~ on whether the : ~. controller îs in a high gain mode or a low gain mode, the high : .gain noL -li~i~tion block 2210, or-~t:he low yain ~o. ~lization block 2220,.re~pectively,:provides the normalized positional error signal PESN on path~221. rrhe sele~tion between the u~u~ normalization. block-~-2210 . or ~.-2220 is ~hown h~ -tically by a~-selertor-j2230 whose c~-L~l input i~ the high gain/low gain ~ignal~:on path',261~from settling window ~ block::260:(FIG~12)-~
:30 ;~ :For example,~when.the con~Loller. -:is . in- low gain mode, S-:in~jc~ ng the heads-ar~ not-stablyApositioned over a track center, the ~L~uL ~rom the.low gain norr~liz~tio~ block 2220 is~chosen byiselector 2230:as the:-normalized-positional error i! 'i' '; ~'~ ~ignal~: P~SN. C~V~ ~ely,.,when the,c~ .oller.is.in high gain 35~ 'moded~-indicating~the.heads~are stably posltioned.over a track center, the~~y~ rom.the high gain:nor~ zatio~:bloc~ 2210 is chosPn by'~elèctori2230 as the nGr ~ ,ed.positional error ' : sig~al PESN. -In thé preferred e~bodiment, the-deci~ion ai to '! whether or not a head is clos~ly approaching tra~k center is , . , . .

..
. . , ~8329 W092/05~3 PCT/U~91/06602 determined by whether ox not it has stably ~ettled to within~8% of the track width, as determined within settling window detection block 260. In this manner, the undesirable variations o~ the sensor's gain are normalized, both when the controller is in low gai~ mode and when it is in high gain mode.
The high gain normalization block 2210 also receives (A~B)NEAS,.a measured value.of A~B, where A and B are the magnitudes o~ dibits disposed on opposite sides of track ~0 center as illustrated in FIG5B. High gain normalization block 2210 multiplies the offs~t-c ,~~c~ted positional error signal PESo by a no~ zation value. The n~ -lization value is a reference sum, (A+B)REF, diYided by the ~sasured value o~
- (A~B)MEAS (A+B)RE~ is effectiyely wha~ B)MEAS "should" be~
and is determined by desiyn choice. Thust if (A+B)~EAs is what it "should" be (equal to (B~B)~E~' the~ high gain normalization block 2210 is effecti~ely a multiply-by-1 block, passing the offset-compensated positional error signal PESo through to selector 2230. :
Low gain normalization block 2220 is more complex, so as to compen~ate for ~onli~e~rities of the PES when the heads are not.closely.~ollowing track~center. .Block 2220.~ultiplies - -:PE~o-by a no~ ~;zation value~which ~ay b~:expressed as:
(Zone,H~ad)Tr~Tn~, +~2~Zone,Head) -25 where ~1SZsne, ~ead) and ~2(Zone, Head) are paramPters which :. are a ~unction o~ the zone on the di~kj and the head under .~,-.; .; consideration,. and are.;determined as:~described b~low. For purposes of-.this discussion,~,.a~"zone~'.may be considered to be all points on the disk ~urface between--a.first radius and a ~30.. ~ econd radius.~ In~particular,~.Zone~1 may,be ~on~idered the ~~ ..:~..; . ring-shapedJdisk surface-area~ en the inside.dia~eter and an-intermediat~ diameter, and Zone.2.may be considered tG be the ':.ring-~haped ~: area ~.on - . the . ~disk, between -.the ~ intermediate diame~er.and the~out3ide diameter.-~-The low;gain: norm~lization ,1,35r l block~122iO..receivesi*he~predicted,~rack .ID.Yalue~;!TrackID
~o~.thei~ull.6tat8 obs~rver;~250 (FIG.~-12).i~ J,i. ~ j The;two parameters ~(Zone, Head).iand~2(Zone, Head) are : ... determined in:low gain normalization G~ 1 ~ hration block 2240 in a manner.illustrated in:FIG. 18B. The :inventive co~1rol ,., ; . . : .

-:

2 ~ 2 ."
~; W~92/05~3 PCT/US91/~602 system uses accurate gain variation data measured when thehead is reliably positioned over center track, in high gain mode. First, at multiple radial head positions for a specific zone and head, many values ~f (A+B)MEAs are ~easured, and the measured values averaged. Each point marked x in the top - panel of FIG. 18B represents an average valus ~or a given radial position and head~ For each average data point thus calculated, a ratio is c lculated in which (A+B)R~F is divided by (A+~)~EAS . ~his quotient results in the set o~ points illustrated in the lower panel o~ FIG. 18B, shown by circles.
Using standard curve approximation techniques, a set of approximatin~ curves 2242, 2244 are determined~ Preferably, the curve is a straight line approximation using least square error criteria, curve~ 2242, 2244 being ~irst-order (linear) approximation cur~es. The slope and the Y-intercept of the straight line approximations are determined and stored as the ~l and ~ parameters described above. The ~oregoing steps are repeated for each head and each zone on the disk, resulting in different values ~~ ~l and ~2 for each combination of zone, head, and radius.
AcGording to the invention, ~he normalization of this gain.variation-may be made repeatedly for-a given disk drive.
Thus, the gain factors in the low gain normalization block 2220 are dep~n~Pn~ on values der;;ved during a calibration period ~; ~ tely- be~oxe,::and~ possibly .also during, operation.-: The initial calibratiDn and re-calibration are made ~in~accordance:with principles ~escribed~below.~
" ~ e; X~rso No~lin~ri~y co~p~8atlo~ ~loGk 23D...ln addition . .: to the gain normalization probl~s', the fractional positional 30~) ~error~signal PESF includes.inherent :nonlin~rities-..which are - due~o-.:~ources::other,tha~ those.described.immediately above.
For example,~:~r-in known disk drives in general, the-electrical wldth of the read/write heads~is-less ~han-the~phy6ical width ~ -of:the tracks' -~When the hèad moves ~ery~lightly off-center, :'35~-' the :fiPn~or gain tends to vary ~ubstantially; linearly as'a function o~ the displacementtfrom center track. :~o~ , when : ~ ~ the head- approaches--~the edge of~-~the- tra~k, the sensor saturates~ meaning PES~ no longer ~ o~ionately.reflects actual : ~ractional positional error.~ Substantial ,, :, , ~ :

, . ., . , :, .. . ................... . ..
.,, . ~

2~8~2~
W~92/0~3 PCT/US91/~02 ;'--6~-nonlinearities develop. If l~ft uncorrected, such nonline~rity degrades dynamic performance, and may even introduce stability problems.
Additional undesirable nonl;ne~rities are introduced by, for example, head fringe field effects.
Such nonlinearities are ~ubstan~ially deteL ;n~ by the design of the disk dri~e. Therefore, in cGIlLrast to the noL ~lization of sensor gain performed by nol -l;zation block 220, these nonl ;~P~rities may be modeled before manufacture lO. and compensated ~or in the design of the disk drive. FIG. l9 sçhP~tically illustrates ~he transfer function o~ a preferred inverse nonline~rity block 230 (al~o shown in FIG. 12) which compensates ~or this type of nonltnearities.
Briefly, the input to the inverse nnnl;n~rity block 230 is the no~ ed positional error signal PESM. The GuL~u~ o~
the lnverse n~nline~rity block 230 is a linearized positional error ~iynal PESL. The normalized positional error signal PESN on the horizontal axis is divided into four regions, 2302, 2304, 2306, 2308. The response of the PESL o~u~ as a function of the PESN input is shown by response curve 2310.
Curve 2310 is substantially symmetriG about the origin, so hat-.the curve ~need..only .be:desc:rib~d with-reference to regions 2306 and 2308, with the reco~nltion that coLLe~on~
- description applies to regions 2304, 2302, respectively~
. . -.:As -described.~briefly . above,. ;~hen . the normaliz~d ~po itional.error::~ciynal PESN indicates the head is ~lose to the .track cent~r,. PESL exhibits~a..substantially, l;~e~r response to PESN, and~ would.not, need -.to be: compensated.
owever,- as.the head.- moves: ~ur.ther.-fro~track~center, -' ~onlinP~rities.beco~e ~ore appar~nt.~ As ~he head-approach~s .the holln~ry x in r~gion 2306,;the no~lin~rity o~.the sensor .response h~cQ~?s-~ignificant, !and: r~guires i~he nonlinear co~pensation shown in.FIG. l9.,~The~boundary between region ~ .ai:i..; 2306,and"region ~30 ,~hPlle~.x on,the PESN axi~,;d~notes the :;35.- .,point at which the; ~ensor..,~saturate~99, the~sen~or gi~ing .essentially: ~nln~less~in~sr~ation:in region 2308~
In the region ~eL~cen center track and po~nt x (typlcally 20-50% o~ a.track width, 40% in the pre~erred ~mbodiment), the ~ . - compensation function ~ollows ~ CUrVQ which may be ~mplemented . ~
: .: ~ ;: ~ ,:, . , , .. :. . :.:
:.~
~, :

':' W~92/OS~3 PCT/US91/06602 as a second order (quadratic) equation. In particul r, the equation may be:
PESL = f(PESN) - Ai(PESN)2 + A2-PESN + A3 in regions 230~, 2306, and ~' PES~ = PES~ -in regions 2302 and 2308. The quadratic curve in regions 2304, 2306 is made to be continuous with the portions of the curve in regions 2302, 2308, through choice of these parameters. ~ The. parameters A1, A2, A3:~may be r~adily deter ine~ empirically by those ~killed in th~ art, based on per$o~ ~nce data m~de at the time of disk drive design.
Ra~e ~te~er ~ ~m~le Int~ritY ~Qst~r 240. The range extender portion 2421 of FIG..20A (elsments 2422-2426) provide : :~ a measurem~nt o~ head position relative to a destination track, at any radial position on the disk surface.
. - Generally, sampled position measuxements are subject to error due to noise.- ~he sample integrity teeter portions of .. : FIG. 20A (coarse;static window calculator and tester 2420, fine dynamic window calculator and tester 2430, and selector .2410~ filter ~out measurements that contain large levels of - . ~ -noise. The integrity.testers enable~ ~;ni~-l area o~ the disk to b~ dedicated.:to the servo positional:sensor information by preventing clearly-erroneouis measurements ~rom~eontaminating ~ ~ loop calculations.
:25 ~ - Referring~now to~FIG. 20A,ithe sample integrity tester ,i' and l;nei~r range eixtender -240 are illustrated in greater - detail than in FIG.-~12. Block-240 includeis a:~selector 24~0 .~s. ~which~prodn~ an-interim positional errorrsignal PES' on path ~ ?~ 24i~ PSelec~ion logicS2410 determines~'P~S'(k) from;among two -30 ~ ; possible positional~error!signals...~The:~irst-positional error signal..input.to.~selector 2410 is the-.positionàl error signal PES1~o~L~~by a coaxse tatic window calculator1and tester ' block~2420,~PE5l:being~pr9vided on a~path 2421. ~The second r ' posi~ional error~ nal~nput to~selection logic-block 2410 is a positional error signal PES2, generated ~y~ ine dynamic - -~~ 'window~calcuiator~<-and kester 2430,~-PES2'beingo'provided on a . :.,h..' /-~lpa~h~2431~ 3~ ~ ;
- The ~ u~ PES1 of coarse ~tatic~window calculator and tester 2420~i~ chosen to be either the observerl~ predicted . . .

:. : . . -,, :, . .
t . , , .
, . , ,:

W092/05~3 PC~/US91/06602;!;

PESp on path 253, or a linearly ext~ e~ positional ~rror signal PES~ on path 2427. PESL~ is ~uL~uL by an adder 2426, whose respective inputs are connected~to a BPT (bits per track) sensitivity multiplier 2422, and to the u~ of a schematically illustrated swi~ch 2424. The integer positional error signal PES~ is input to the BPT sensitivity multiplier on path 135. The linearized fractional positional error signal PESL i5 input to switch 2424 on path 231.
Blocks 2422, 2424, and 2426 function as a linear range extender 2421 in the following -nner. When the-distance between the head and a destination track is greater than a predefined number of tracks (for example, 100), it is assumed . :. that the head is traveling with such a high velocity that the fractional portion of the positional error signal, PESL, does not a~curately represent:the head position.. Therefore, when - the head is greater.than a predetermined nl~h~r of tracks from the destination track, switch 2424 is ~et to 0 by a coarse resolution con~ol input, so that the switch's ou~y~ does not : contribute to the summation performed by adder 2426. However, ~, when the head approaches to with:in~he.certain hPr of tracks o~ the destination track, switçh 2424 closes,-allowing ..fractional positionaL error.signal PESLv:to contribute to the summation perfor~ed?by adder ~426. ~- . r, ' BPT sensitivity multiplier 2422 multiplies.the integer 25 . portion of the positional ~error ~iynal:PESI by a suit~ble ~ h~r, for -example, 263 bits.per track.. Because PESI is : r~.derived ~rom:TrackTD gray codes...in the~servo:track (see FIG..~ PESI has units:of "tracks"..-; PES~ already has units ~ c..~of .~".bi~s"...~:~There~ore,~-~ a~ter~,.PE5~ multiplied by 2S3 :,:30 .: ~ibits/track; ~he units o~.~the two;input5 to:~adder 2426 are the :: -. ..same t'.'bi~s"), uitable ~or~processi~g~within.the remainder of herservo loop.:.In this.; -n~r, ~the ~uL~uL rO~ adder 2426, PESL~, r,'is a~l; nearly ext~e~.-positional.,error,~eignal which ;e~presse~ a po~itional;:,error o~the,heads..over the entire disk ~35~ r~di~s-~ c-~ J ~ , ;s ''; ~r,~,i;j',~?~ ~ ~a.~ ' . ? . i - -P~SL~is a definition;.-,of head:po~ition relatiYe to the requested destination track, anywhere from the inside ~ Ler (ID). t o the :outsid~ diameter (OD) -of the usable disk surface7 FIG.:20C illustrates the -nnP~ in which PESLE is ~ormed. The . , ~ .

. . . . .
.
. ., .,.,: : .. ~ ; , .

f 20~32~
''' W092/~5~3 PCT/US91/~602 horiz~ntal axis reflects radial position on the disk sur~ace, with half-track widths and full track widths marked off. The vertical axis represents the various -positional error quantities. It is understood that FIG. 20C illustrates only 5 - two track widths, a small fraction of the radial extent of the - disk, there being thousands of concentric tracks on a typical disk.
In FIG. 20C, PESF repeats with a period of one track width~ Due to nonlinearities in the measu~l- ~nt of the head position, the repeated segm~nts F1, F2, ..O of the PESF
wav~orm are not straight segments at 45 degrees ~rom the horizontal axis, as they would be in the absence of nonline~rities~ Instead, they illustrate the nonl;ne~r measurement response discussed above, with re~erence to the inverse nonline~rity compensation block ~30 of FIG. 19. The area between the PESF curves Fl, F2 ... and 45-degree segments L1, L2 ~O~ respectively, re~lects the csmr~n~tion provided by the inverse nnnl ;ne~rity compen~ation blsck 230 of FIG. 19.
Thus, the ~uL~ of the inverse nonlin~ar compensation block, PESL, is essentially represented by segments L1, L2 O~ .
The value of PESI, the integer portion of the positional '~ - error signal, is illustrated as:the ~tep function Il, I2 ~O~
~ in FIG. 20C.
PESF and its- linearly c ~-~s~ted value PESL ~
~5 : ~ small, less than half a track width in magnitude, throughout the'entire radial dimension o~ the disk.- In ~vl,~Last, TrackID
- increases-line~rly~with the radial distance from a value of 0 - --'at~the outside diameter, to alvalue of 2~ or-example) at ' :; the-inside~diamet~r.~
:30 -~ ' Wh~n~PESIr~and PES~~are:added by~adder 2426-.(FIG. 20~), the desired ~easured value of P~SL~ results, :indicated by a 45-de~ree.line~which extends from the~inside diameter to the ' ;~ outsidè~ dia~eter~of~thej~ldisk.~ That is,~ ~~l~y~ PESLE
accurâtely reflects:~the po~sition:o~ the head anywhere on the 3S ~ usable sur~ace cf-~he disk; relative~to the destination track.
Th~s co~prèhen~iv~ ~ensed head-position is enabled by the gray code T~ackTD -which is provided in the~,~ervo fields extPn~ing r~ ly on the disk, betw~en adjacent~sectors.
FIG. ~6 illustrates the TrackID gra~ code identi~ying PESI.

., : : - : - . ~

2 ~
~WQ92/OS~3 PCT/U~91/~6~02 -~8 . ~
This sensed position over the entire di~k radius is in contrast to known systems, in whioh a track number is embedded only in certain data fieids. In known systems, the track number embedded in the.data field is read once and subtracted from the destination track ll~ her. The difference is loaded into a counter D The counter is d~Lt ~nted each time the fractional positional error signal passes through 0, indicating the head had come one track closer to the destination track. However, the presence of noise causes errors, so that the value in the c~unter does not neces arily reflect the true hPr o~ tracks between the present head position and the destination track.
According to the present inv~ntion, in contrast, unique gray coded TrackID is written at each track, 80 that no count~r is neces~ry. Thus, the servo's us~ of measured value of the li~eax exten~e~ positional error signal PESL~ is less subject ~o noise, especially in view of predictive values generat~d within full state observer 250 (described below).
Ref~rring again to FIG, 20A, i~ P~SL~ falls outside a given window (determined as described below), a possible ~alse measured value has possibly been read. In this event, the . . m observer'.s :prediction ,PESp~is selected, rather~than the l;n~rly exten~e~ measured value PE!,LE. That is, PESl on path 2421 is set equal to PESp from path-253. This~sub~titution 25 ~ causes tha observer to operate in a "fxeewheel" mode during the.sample period,~so;that kh~servo effectively operate~ as . ~,.~an open:.loop ~ystem. .Under these.circumst~,e.s,.there is no ..correction of thei-observer~s predicted PESp, ~ u~e this isituation corresponds to u~modelled~ oc~iiuL!.ences.~iuch as 30.~ physical: shock,..which~the observeir cannot be- expected ito ..In ~ st~.if the measured value PESLE falls inside the ~-coar e.windowJ(indicating-no signi~icant a~lio~ ties in thei -.!''" '1';~ ~position measurement).,jPES~E~is ~ho~ipn as the PES~ y~L on 35~ spath~.2421i.~Under these circu~stan~es,~correction of the - observer's::predicted error signal PE~p-~or-the next Ea~ple -: period i~ performed in the usual ~~niur. To pass PESLE to . .PESl~.the test in the coarse ~tatic window requires: r . ' ! '' ;", ~ ~. . .:
. i . , . ~ . . . . .. . . .. .

'' :, ' -. , 1, ' ,;: '' :, , ' ' : , ~', ~-:': : ' , ~ . !

~ 2~32~
2/0~3 PCT/U~91/~02 PESp-C(PESp) < PESLE ~ PESp+C(PESp) where PESp is the observer's predicted track ID and C(P~Sp) is ~ the magnitude of the allowable 2rror. In a particular preferred e~ho~i ~nt, C(PESP) is a variable quantity. In partlcular, C(PESp) = Cl, if PESp > 250 tracks; and C(PESp3 ~- C2, if PESp ~ 250 tracks, wher~ C1 and C2 may be constants satisfying the relationship Cl~2.
I~ the mea~u~ -~t falls outside the window thus determined, the obs~rver's prediction is substituted for the mea~u~l -nt and a spurious sample flag is set. The servo system is thus made less sensitiYe to the mea~ eL l UL S
due to noise when the h~ad is far from the destination tracX, on the principle that ample time ~ in the seek trajecto~y to recover ~ro~ the measuremsnt ~LO~
As stated bri~fly above, when the head's distance ~rom the destinakion track ls greater than a predefined h~r of tracks, this distance corresponds to a high head velocity which in- turn prevents the fractional portion of the -positional ~rrox (P~SF~ from accurately repre~enting the head position. ;The inaccuracy of P~SF results primarily ~rom the spatial relationship of the TrackID and the PESF dibits in the 25.~- servo:field (FIG.~.16~.~.Thus~ it is understood that, in the foregoing -~ormulas, -PES~ may or 'may -not -:include the ractional portion~o~ the~easured positional error signal, ~ Pp~nd;n~ on the distance.~ ecn-the h~ad~and the destination 30 ~ 3 .-Operatinn of:-the ~ ine dynamic j!window~calculator and tester~.2430.i:andjLassociated ;blocXs;2432 -and -2434: is-now d~scribed-~-BriRfly, the ~ ose of:theirfine dynamic window .
~tor i~ to~provide testing windows ~or~easured PES
3~ amples--when:the:heads~are~clos~-*o ;the~destinakion track.
The fine dynamic window calculator thus provides windows whén ~-' -f ''~ ' the head velocity~ maller,;in c~L~ast to the coarse s~atic window ~alculator which als~ opexates when the heads are : i~urther- -~rom ~destinatio~ -- track, travelltng- fas~er.
Furthermore, ~he fin~ dyna~ic.~indow calculator CA 1 C~ tes a .~:: . . - . ~ .............. . .

., ~ , ,: , .: . . , ., j . . ... . .

2~32~
W092/05~3 PCT/US9~/~6602 plurality of progressively smaller (that is, dynamically changing) windows as the heads approa h destination track center, based on a feedback of th~ decreasing co~ l efPort.
The u~(k) signal on path 252, which was generated by the full s~ate observer 250, is input to an absolute value block 2432. The ~u~u~ of the absolute value block 2432 is input to a low pass filter block 2434. The o~u~ of low pass filter block 2434 is input to the fine dynamic window calculator and tester 2430. Other inputs to fine dynamic input window calculator and tester 2430 are the observer3s predicted positional error signal PESp on path 253, and the c~arse static window calculator and tester's positicnal error signal - PES1 on path 2421. The ~ine dynamic window calculator and tester 2430 provides its positional error sig~al PES2 on path 2431, which is input to selector 2410. The col,L~ol input to selector 2410 is a resolution signal, choosing PES2 only when the sy~tem is in fine or mid resolution ~ode.
The dynamic window which block 2430 ealculates, and which is applied to the PES1 and PESp signals input to it t is a dynamic window~..That is, the ~agnitude of the window varies as a-function of time, dete~mined by the filtered absolute ; . value:of-~the secon~ interim control ef~ort u~(k). The o~L~L
; PES2 is either (1) PES1 or (2):Pl~Sp ~CL, where CL is a - cla~ping value determined below. . ~
.25 -j : The timing diagra~ in FIG. 20B show an.exemplary set of ~- waveforms for-u~(k) t for the ouL~L of absolute value block . 2432,~for the.uuL~uL of low pass filter block;2434, and for .the i.fine: dynamic window.,~about; PESp..;..As :illustrated in FIG. 20B, the sécond interim co~LLol effort ~ignal u~(k) ~30 .~..rdecreases ~in magnitude as. a function of .;time, generally indicating a:settling;.closer.::to the..track.center.-~ Such a . :J:~ settling~wa~eform~is.~ncountered.as ~he~system recovers ~rom ;external.~shock~or vibration,.for exampleO :Derivation of the ;J ~u~Ls,-~o~blocks 2432.and~.2434-are readily~apparent to those ~35 ~ .skilled.~in--,the:art. ~ .,'' ',' S.~ '.iX',:"~ '.,1~',,'.'., -'~,'.b' '.;
: --.: :..-.:Finally, the inventive sy~tem provides ~or ~alr~ tion o~
. ~ u:a window in accordance with~a for~ula:which dynamically Yaries : . ac~ording to paramet~rs a and b which are calculated as part o~ the e~Yironmental.specification of:.the disk drive. In " , , ~ . ' ' ' ' ! ' ;' ' . ', ' , ' ' ' ~ , . " ' ' ' ' , ' '. ' . ' ' ~ ' ~ ' ~'~ ' ' 2~32~
''- W092/~3 PCT/~S91/~02 ~71-particular, the magnitude of error tolerated by the window function is expressed ac~ording to tha formula:

PESp - (a~2+b3 ~ PES1 < PESp + (a~+b) ~ where PESp is the observer~s predicted PES, U2 is the signal o~ by the low pa~s filter block 2434, and a, b are coe~ficients defining the dynamic ~agnitude of the window d~termined by the enviL~ ?ntal specification of the disk drive. The clamping value CL referr~d to above is a~2+b~
By dynamically defining the window as a fun~tion of con~ol effort (which is in turn an i~dication of physical disturbance of the head), otherwise unmodelled physical di~turbances do not interfere with the windows' rejection of noise ~oL~u~Led sa~ples. Therefore, the vindows cause rejectio~ of position measur~ments only when ~ensor noise - (having a higher- frequency than -physical dis~urh~n~P~) CGL r ~5 the measurementsu The operation of the dynamic window calculator and tester, i~ conjunction with selection logic 2410, minimiz~s 'the ~h~ncefi that lower-frequency physical shock will be confused wit:h sensor noise.
. -,..~he s~lection logic block 2410 determines whether PESl or PES2 ~sisubse~uently used by the full state observer.250 and integral ~o.,~oller 2700 . ~ : ~ull ~tat~ ogs~r~er 250. Referring to FI~5. 21A a~d 22, -thP~full ~tate observer 250 is illustrate~.~ Briefly;-the ~ain ose of full state obs~rver 250 is to pro~ida a-.2-row by column~ve~tor guantity:~k)~to integral c~ oller 270. ~s ~ ..rdes~ribed briefly above, with reference to FIG~ 12,i~(k) is a -30 ~ ~ector S quantity including,P~S(k) and ~L(k).;-~.,Broadly, thé
ctor~guanti~ ~(k)~is~derived-from:the~.PES'(k)i-signal on path~~241~ro~ the inteyrity te~ter and~ e~r range-extender '~'1?~ 1 240 ~ust~idescribed~ The-~ector~;~quantity -~(k) is also ~ 33'determined~ini~accordance-~with ~ecQnd~interim c~lL~ol ef~ort 35~ ignal un(k)-which is gen~rated on FIG. 21A,~ ich is in turn .;o~ a~ed:~rom~the~~ir~t int~rim c~ ol-ef~ort~~ignal u'(k) ed back'fro~ integral c~l,L~oller 270 on ~ath-271.
~ ~ Re~erring irst to FIG. 21A, a ~elector 2500 is provided, - - the rwu~ o~ whlch is ~he secQn~ interim:control ef~ort . . :. .
: : .. . .
'' " ''" ~ ' ' ' ': ,, ,: , , .
: : .. ..

2B~8~29 W092/~3 PCT/US91/06~02 signal u~(k) on path 252. The inventive controller provides that the second interim control effort signal un(k~ is u~ually the same as the first interim control signal u'(k). However, during the initial period of seeks in which the power amplifier 116 (FIGS. lA, lB) is ~aturated and therefore harder to model, another control signal us(k~, a "power amp sakurated" control effort signal on path 2520, is used.
The top panel of FIG. 21B illustrates the first interim control effort signal u'(k) ~nd the us(k) uu~u~ from the power amp saturation model. These two signals are input to selector block 2500. The bottom panel illustrates the second interim conLlol effort signal u~(k) which is the o~L~ of the selector block 2500. Selector 2500 selects u5 (k) during the first portion o~ the seek, when u'(k)>us(k). Therea~ter, it selects u'(k) whPn the u'(k~ waveform crosses the us(k) waveform as it decreases, that is, wh~n u'(k)<u5(k).
eleGtor 2500 illustrates schematically the selection of -either the us(k) ~L~uL of a sat~ration model 2510 on path . - 2520, or the first intarim ~n~LO1 e~fort signal u'lk) on path 271. The cGn~Lol input to selector 2500 is driven by a latch block-;2530 which dete ;~es wheth~r the absolute value of the : . ; -interim ~cun~lol-.e~fort .signal~u'~k~..is. greater than the . . .
.absolute value of the saturation model 2510's-~u~uL us(k).
At the beg;nn;n~ of a seek,.the :latch 2530 is reset by a 25: ~.. "seek" ~signal,:so that the.us(k) ~L~uL of the sakuration model 2510 is sele~ted. However~ several conditions can cause the latch to be set, selecting.u~(k)-to pass throuyh selector 3. 2500.~5pecifically,- on short ~eeks,:;the c~n~lol effort u'(k) ~ .:.. .."decreases~very guickly; so-vthat:.it 600n becomes smaller in 30- -.~.magnitude-:than us(k).. ~Alternatively,~on longex~seeks, the .l.~, ;..~,..-p~werja~pli~i~r is .PUt; of:~aturation long.enough so .~hat the r ~,;, ,", ', system operates linearly as~it approa~hes destination track.
: xr .-~ As ay~Leciated by:those skilled.in the art, ithe slower .rise~.~i~e:of,th~.,us(k) signal~odels;the inductive affect o~
35.; ~.~ the~l..coil .in the disk drive actuator. . ~Similarly, the :~-.. downwardly .~loping portion o~-the..;us(k) pulse -top closely models the back EMF rhPnc ~ on observed in such coils. When . o.the effects of the coil inductance and back EMF are modelled, s~- - the predictive abilities of the state predi tor (shown in . . .

'~: :' ' ,: .:
~. :' ' ;

~ wo g2/0s~3 2 ~ 6 S ~ 2 ~ PcrJUS9~/0~602 FIG. 72) and the operation o~ the integrity tester (shown in FIG. 20A) are ~nh~nce~l even during the initial portions of a seek.
The model envisioned by the present invention need not be limited to modelling aturation characteristics of power amplifiers whi~h driv~ voice coil~. More generally, the inYentiOn envisions a model producing a mo~elled waveform which would otherwise be difficult for a servo system to predict and trackO
10 .The preferred saturation model 2510 is im~lemented as follows. A maximum voltage value, indicated at 2511 is multîplied by the sign of u'(k) at multiplier block 2512. The signed ~aximum voltage i~ input to the ~on-inverting input of an adder 25~3. The V~(k) value from the current observer on 15path 251 is multiplied by a back-EMF multiplier 2514, the multiplied ~bem~V~(k) value being input to the inver~ing input of adder 2513.. Adder 2513 provides its sum to a second adder 2514, as well a~ to a feedfo~ard multiplier block 2515.
Adder 2514 dxives a delay block 2516, which delays the sample by one sample period,: in accordance with conventional Z-transform theory. ~.The ~yuL of delay blook 251~ drives a . secon~ multiplier block.2517, as well as a~feedback multiplier -block:2518. FeP~h~k ~ultiplier block 2518 feeds the second ..input to adder 2514. The.oh~uLs of multiplier blo~ks 2515 -25 ~ and ~2517 are..input to a;third adder~2519, which produces uS(k)j to the o~L of...~he ~iaturation model 2510.-:
Blocks-2514-.2519 effectively comprise:a.low pass filter .which~accurately~models the-inductance and resistance of the ~ ,s. actuator coil-.~ The nonlin~r:operation o~ a r~al-world pl~t ~.30.~ is thus effectively.~odeled,!even during th~sinitial portions :;~ ,s; .-of a-seek when.J-a.plant would normally.be dif~icult,;to model.
. The ~ull.~tat~ obs~rver.illustrated-in FIG.~22.implements ;ob~erv~r-r~unctions,,using dif~eren~e--eguations in a full ~tate ~odel. -IObse~v~s3in general~are~knownito t~ose .~.35 ,A~psk~l~e~ ln~ the~.;art~, and,~.the~general.-,oo~~~t need not.~be urther described;here.,A partiGular.pre~erred implementation ; of an-observer,~à.full ~tate ~uLL~nL abserver ~ith positional 3.'~ error and velocity state:~variables,~ is descri~ed.

', , , ' ; ' ;' . .

3 2 ~ 1 W~92/05~3 PCT/US91/06602 t Very brie~ly, a predicted value of the state is generated, and ~ correction term is produced to correct it.
The oorrection term provides correction for any steady state error which would erroneou51y cause an out-of-window detection 5when the head is in fact sta~ly aligned over center track.
Referring now more specifically to FIG. 22, the second interim co~ ol effort signal u"(k) on path 252 ~ans out to two delay blocks 2541, 2542. Delay block 2541 is a single-period delay block, whereas delay block 2542 is a two-sa~ple 10-~lay. block functioning in accordance with col,v~ntional Z-trans~orm theoryO Delay blocks 2541, 2542 produce delayed sQcond interim output signals which are input to rpO vector multiplier block 2543 and rp1 vector multiplier block 2544, respectivelv. The ~ty~s of multiplier blocks 2543, 2544 are 152xl vectors input to an adder 2545. Adder 2545 receivQs a third 2xl vector input from a 2xl ~at~ix -multiplier block 2546, described below. ~he ou~yu~ of ~dder 2545.is a 2xl state variable xp(k~. The variable xp~k) may be considered a predicted value of state variable 2(k~. ~ore conceptually, 20the ~u yose of elements 2541-2544 i5 to calculate the delays inherent in measurement, allowing them to be compensated for - :. --in.calculating predicted values of.the stat variables.
--: 2~ Observèrs are typically used:.to model. the ~ -~sured ~ phenomena in the plant under.~o~ l; however, they are also -25 ~t~' ~valuable in providing a low.noise:e~timatP of a state that is mea6ured-~such as PES~ when the sensor is particularly noisy.
-The present disk drive's window algorithms deteL ;ne when the ~ ;head position is reliably on~track-center-so that the PES is ;~maint~;n~ in- the-. respective~ window. .o .The observer's ; 30 r~ ;positional';estimate~is~used for the win~ow.function, in order to:~, v~lL~ensor noise from ;erroneously.causing-.an out o~
~ " window detection. :Dûe to the.extremely:small write window j S ~- ''T '~ or example,-~+~% track),;it-is i~perative that.the observer's PES not:have a ~teady.state-:error component.
~5~;35 o~ The~ present~inventloni includes, two ~i*erhn;~ues ~ to .s~ ~ eli~inàte this~potential ~teady~state error;;problem. First, ;an.integral function is implemented in the observer to provide in~inite gain at DC,:: thus .completely eliminating the DC
o~fset. Second, the D.C. component of the co~ ol effort from . .
: '' ' . ' ' . ': . ' :~: . . :

:'?~.~ 2 ~ ~ ~ 3 ~ ~
.i W092/05~3 PCT/US91/06602 the integral controller function (which is the source of the s~eady st~te error in observers~ is routed to bypa6s khe observer. This significantly reduces the observer's integrator transient settling ti~e.
Referring again to FIG~ 22, the interim positional error signal PES'(k), a scalar-entity from the sample integrity tester and linear xange extender 240, passes on path 241 to the non-inverting input o~ an adder 2550. The inverting input of adder 2550 is connected to th2 ~u~uL of a Cp multiplier 2551. Multiplier 2551 multiplies predicted 2xl ~tate variable xp~k~ by a lx2 coef~icient Cp to yield a scalar subtraction term ~or adder 2550.
The Oh~u~ of Cp multiplier is the predicted positional error signal PESp(k~ on path 253 which is used by the integrity tester in block 240 (FIG. 20A). PESp(k) is also input to a 1/~PT ("bits per track") units adjusting multiplier 25S3. Multiplier 2553 provides a scal~d PESp(k) (having units of "trackl') to an adder 2554. Adder 2554 adds the scaled PESp(k) with the requested track to form the predicted track ID, Tr~r~T~t on path 254 which is used by low gain nv. ~ tion block 220 and integral ~onL.~ller 270.
The difference resulting whe~n suhtracting the scaled predicted ~tate.variable xp(k3 from.the interim-positional error si~nal PES'(k~ may be thought o~ as an observer error e(k)-Observer error signal e(k); a ~c~l~r quantity, is input to a low fre~uency integrator 2560. ~he pres~nt invention advantageou~ly provides low freguency integrator 2560 not present in knQwn observers. Inte~rator 2560 removes steady state error from the ~ystem~~by pro~iding a correction term which proYides theoretically infinite gain to a DC input.
More ~peci~ically, it ~ v~s DC offset, between,the measured positional error~ignal~;PES' ~nput to the observer on path 241, and the estimated positional error,state .variable P~S
ou~L on path ~251. .Thes~low frequency integrator 2560 includes a ~C~i~r add~r 2561, a.one-sample delay block 2562, and a 2xl vector multiplier block 2563. Add~r 2561 receives ~he observer error ~ignal e(k) and the ouLyuL Of delay block 2562 to produce x~(k~l). The ou~ of delay block 2562~

.
, .

; ~
W0~2/05~3 2 ~ ~ ~ 3 2 ~ -76- PCT/U~91/06~02 ~ ~

xi(k), is input to a 2xl vector multiplier 2564. Di vector multiplier block 2563 receives e(k). The respective 2xl u~L~uLs of vector multipliers 2563, Z564 are input to vector adder 2565, which forms the 2xl ou'~uL E~k~ o~ low ~requency integrator 2560.
The 2xl E(k) u~L~u~ of low frPquency integrator 2560 i5 input to a 2x2 KeC multiplier 2567 which provides an amplitude adjustment to E(k). The o~L~L of multiplier block 2567 is the 2xl correction term which adder 2570 adds to the predicted state value xp(k). Adder 2570 receives the predicted value xp(k) and the corrsction term ~rom multiplier block 2567, to produce a 2xl corrected prediction. The corrected prediction is input to both a delay/identity multiplier block 2571, and to a multiplier bloc~ 2572. ~he o~ of delay/identity multiplier block 2571 i5 input to multiplier block 2546, mentioned above. The multiplier block 2572 multiplies the corrected prediction by a value Ce. The o~L~uL of m~ltiplier.
: block 2572 constitutes the vector quantity ~(k), which is ou~uL to the integral col.L~oller.
The:equations y~e~.ing the observer structure shown in FIG. 22 are now ~;R~ sed. The difference e~uation describing . . .... the dynamics of.the.plant.(power amplifierg actuator, sensor) ~ . can::be: calculated from the electrical and ~:mechanical - - .para~eters o~ the plant.

Xp (k) Xe (k-l ) +rO ul/ (k-l ) +rl ul/ (k-2 ~ :
where~
'. ? 't,~ L
J~ 7~ C -; ~ Xp(k) --~LP(k) ¦ ~ X~(k) - ~L ( ~ 'The~observèr eirror equation is: - -"~''' ~~' ~~.~' _i.-'' i~ r~-~ ' ' " è(k~ = PES'~k) - Cp~ (k~ -The integral state equation is~
- r-- . . .. ~ . .. . r ,.
' ~ ""'"'' ' ;''' ''' ~i (k+l) =x~ (k) +e Itk~
Thé obseirver~érror equation with integral term is . ,. . . . l..~.. . ei(k) = e(k) ~ ~x~(k) ' ,, , . , . . , ~ , . . . , ~
where - .

. .. : ,:: .. : . ,: .,;; .. . .
:: :

': :. : ., ~'~W~g2/05~3 _77 2~g~ PCT/US91/06602 = T~2~fi in high gain mode, and ~ = O in low gain moda where T~ is the 6ampl~ period between servo fields, and ~i is the break frequency o~ th~ integrator.
. The resulting error term E(k) in matrix ~orm is:
E(k) - C~Xi(k) ~ ~ie(k) wher~

¦el(k) ¦ Ct~¦a¦
The observer correction term is:
Xe(k) = ~ (k) ~ KeE~k) ~, where K Ik'~ ~ ¦
whëre ke1 and k~2 ar~ prsdet~rmined 5c~ 1 ~rS defining observer ~re~uency reSsponse.
The observer o~L~u~ equation is';:
~(k) = cexe~]~
.. The predicted track ID (TrackID ) is calculated ~ron PESp, thie .. . ... ,. , .. .. ,. ,. . ... .. .. . ...... ... , .. , .~ .. P . ...... . . . . .
predicted value of the positional..error.signal, as shown in ; ~IG..12: .. .... .;!-TrackID~.= RequestedTrack.~+ PESp l/~PT ..
... .. ~. .. Determination o~.values for ~he variou~ parameters in - ~- ........ , . ~ ~., . .. ,.... . . ,. .. ... . ,) ........ . . .. ... .. ..
FIGS..21A and.22 lies within the ability of those skilled in , . , ;,., , , .~ ". ,,,; . . . . -. . ... .. . . . . .
the. art, in accordanc~ with conventional state space . . col.~Loller ~heory~as.ipresented,..for .exa~ple,..in Katauhiko .Ogata~'s textbook Discrete Time Control ~YStems ~Prentire-Hall, . l987?.~ The~resentjinve~tion i~proves.on ~he~known.theory by .25 ~ providing dynamic. Rc~i~n~ of ~the para~eters, as .described 7 r ~ . J -? i- 3 t3 ;~
~ .f ~ ;8~ttli~;~ow D~t~ctors 260. ~;FIG~ j23s i?lustrates ...~ .r..sche~ati~ally ~functional..blocks~.~used in.a preferred window d~tectox block 260.(FIG...12). In particular, the illustrated 30 ~ window. detector . is ~e~pe~ y suitable ~or demonstrating .~...operation o~.the high ~aln ~indow ~(FIGo 12 path 261), the inteqrator window (go~eirning ~IG. 24 switch 2748), and the .

,., .' ,. ~ ' , ~ :
.
~'' ~ ' . ' ' " . ;,, W092/~s~3 2 ~ ~ ~ 3 2 ~ PCT/US91/06602 ~
-7~i read window. The write window, being more complex, is described below, with reference to FIG. 23C.
FIG. 23B is more easily understood with reference to the waveform in FIG. 23A. In FIG. 23B, the processed positional error signal PES, is input to an absolute value block 820 ~o that the magnîtude of the .positional error signal is considered~ The magnitude of P~S is input to two threshold detectors 822, 832. First threshold detector 822 determines whether the magnitude of P~S is less than the low window, x-(xHysT/2) (see FIG. 23A). When the magnitude of P~S exceeds the low window, it sets down counter 824, loading a settling value proportional to T~ettle on path 828. During each sample period, timed by a clock signal on path 826, the down counter 824 is de~ nted by one. Of course, if the magnitude o~ P~S
~5 conti~l~es to be greater than the low window, the value of the down counter is repeated set to the loaded value of T~ettle so that the down counter does not approach its underflow value.
However, when the magnitude of P~S fails below the low threshold (indicating the heads are approaching the destination track), the clock signal on path 826 decrements the down counter until it underflow~i, o~L~L~ing an underflow - value-on path 830. -.The underflow signal on path 830 is - ' received by a-"sét" input of a set:tling détector 836, whose o~u~ on path 840 determines whether ~iettling has been completed. Subjëct to the ~iignal at its "reset" input ~~~ (described below), when detector 836 receives thP underflow -- -signal -from down counter 824, its window signal on 840 is ' activatéd.~
S Thè~magnitude of~P~S is also compàred to the high window 30- - x~(x~ys~/2)--(see ~ ~IG. 23A)--by- threshold ~dètector 832 (FIG.'23B). The ~ui~u~ of threshold detëctor 832 provides a i~ reset 5ignâl to thëL-~ettling de~ector 836. - As long as the magnitude of P~S is greater than th~ high threshold, the , .. - . , . ~ , . -- ......... ,; . - ~ ,. .. .. ... ...
- '----Gu~u~ path 840 o~ setkling~dete~tor 836 is maintained in its ~35 i inactivë tatë, lndicating the heads àre not posltlonèd within 4 the given'wlndow about centér track. ~ ~' . , . . . ~ . ~ . . ,. . ~ , , . , . . ; , . . . . . .. . . . . . . . . . . . . .
'; -~''' -'~he above-described ~locks describe in general terms the ~ettling of heads about~a destination track. Further details :: . . ., :
,, "

.

~a~s~
~i- ~092/05~3 PCT/U~91/06602 of sequential methods of window detection are provided in theSETTLING WINDOW D~ lON RUU1~1N~S description.
--In the i~econ~ ~mbodiment, the foregoing description relates especially to the hiyh gain wi~dow, the integrator window, and the read window. Hu~e~-, because of the write - window's i ~o~Lance in deteL ;n;n~ when it is safe for the h~ad to write information onto the surface of the disk, it is more complex. Special reference is made to FIG. 23C, which - embodies six tests ~or the write window, the tests being labelled 851-856.. The contents of each of the test blocks is easily understood by reference to the description of the LOW
GAIN WINDOW routine, provided elsewhere in this ~pecification.
No:further description need be provided here. However, the - "window" block 853, and the window bluck within block 854, are . understood to be i~plemented substantially as described with respect ~o FI~S. 23A and 23B.
: .' The respective o~L~uLs of each o~ th~ test blocks 851-856 .. are input to a schematically illust:rated six-input.AND gate 850. The window at the ouL~L of ~ND gate 850 iis active only when all its inputs are active. AND gate 8S0 illustrates how, 'if any of .the tests 851-856 fail, the write window u~ L
..becomes inactive..i ~r, ~
The writ@: window generation method according to the : ..- present-~:invention is sensitive to predicted movement of the :... heads ~away from center track,~.and not simply the: present : pGsition: .O~ thel::he~ . O~ course,-:it lies withi~ the . conte~plation of ~he.invention-that fewer than all.~the test 851-~56 may be.employieid-,to-det~i~ine th~i write window, or that ~ o :one or-~ore Lo~ -:the~tests 851-856.~ayibe applied~to windows other than~the write window. . J i. ~ Oi ~ '70- -~ Tnteqral' ~0~0119r 270. '' FIG.'24 :~illustrates the .- :'. -..integral,cûl.LLolleri~270 in -.greater detail:~.than FIG. 12.
Brie~ly,~ the:.integral eol-LLoller 270:is.implement2d~1n a state ."' .;;,._'J ~eedback.confisuration,~,With~integral ~or~Lol, receiving and ~ .pro~es~i~g posit;o~ error and velo~ity ~tate variables. The preferred embodi~ent~'of~he integral ~Un~L oller additionally - ha~ ~~.several i::enh~ements::~which optimize co.~loller per~ormance, as described:below.

: ~ ' ;' . ~
. .

2~3329 ~. ~
W092/05~3 PCT/US91/06602 80~

The purpose of the col.L~oller i5 to receive the ~(kj state varlables (P~S~k) and V~L(k)) from observer 250, the processed positional error signal PES'(k) from the sample integrity te~ter 240, and the predicted track signal TrackIDP
from the full state observer, and provide the final control effort u(k) to digital-to-analog con~el~er 114 ~'FIGS. lA, lB) on path 112, as well as provide-an interim ~onL~ol effort signal u'(k) to the ~ull state observer 250.
The state estimate signal ~(k)- i5 input to a state feedback ~o~l~r~ller generally indicated as 2710, which may be of conventional design. The estimat P~5(k) is input to a transfer function block 2712, which compensates for the no~ e~rity due to finite maximum- control effort. This - compensation, the transfer~.function of whi~h is shown in FIG. 25j is performed in a manner known to those skilled in khe art. Transfer functlon block~2712 provides a reference ~elocity to the non-inverting input of an adder 2714. The inverting input o~ adder 2714 receives the state estimate V~L(k) ~rom the full state obse~r. This quantity is considered a feedback velocity which is subtracted from the reference velocity, the adder 2714 producing a difference which is considered a velocity error ev(k) whi~h is used during both tracking and sePkin~ operations. .
: : im, The velocity error ev(k) is input to:both a multiplier :25~ block 2762j and to an intermediate seek length compensator .2760.~ The ~uLyuL Of multiplierlblock 2762 is:input to a s~econd.adder 2764, whose u~ L~ua~k) is.~also used by the ~ o intermedlate~eek-.length :compensator-2760.--~ The details of e.~3~ J intermediate~eek~length compensator~2760 are~provided ~elow, 30with ref~ren e to FIGS. 28A,~28C,~ and 28B.i.~.s.; .~
; s~Inte~ te seek-leng~h.compen~sator~27ÇO~provides the first interim control effort signal.,u~(k) .to~observer 250 on path..271-,;as wall.as providing:a~fir~t-;~input to a:.third adder ~ ,7276~ h~rd~adder~.2766 adjusts:.~he:interim.co~LIol sffort -~35 ?-::.signal~u~.(k)iwith::further signals.on:paths 2749 and.2751 in a manner,.~o :bs:de~cribed below, to~produce,the~inal ~ ol _ e~fort signal u(k)-which is output to the digital-to-analog collv~-Ler 114 (FIGS. lA, lB).

.. . .. . .

:: :.
.

2~32~
W092/0~3 P~T/~S91/0~6~2 Meanwhile, the processed positional error mea~Le~rntsignal, PES'(k~ on path 241 is input to both a single track seek feedforward col,L~oller 2720, as well as to an integral control ef~ort block 2740~ Sinyle track s~ek feedforward 2720 produces a ~eedforward compensation signal on path 2721 to the second inpu~ o~ adder 2764. Thus, the ~ingle track seek feedforward controller affects both the interim control effort signal u'(k), as well as the ~inal con~Lol effsrt ~ignal u(k).
r The details o~ the single track seek ~eed~orward controller are d2scribed in greater detail below, with reference to FIGS~ 26A and 26B.
Integral control ef~ort block 2740 includes an adder 2742 which receives the processed positional error signal PES'(k) from the sample integrity tester 240. The ~u~L of adder 2742 is input to both a switched feedback delay block 2744, as well as to a Ki coef~icient multiplier blo~k 2746. The ~L~
of the switohed feedback delay block 2744 is input to the second, non-inverting input of adder 2742. The ~ L of multiplier block 2746, u~(k), is th~ integral control effort.
The integral con~ol effort u1~k) compensates ~or DC bias forces acting on ~he plant, such as physical pressure exerted . on the actuator by the flex cable. .. . .:.
The integral con~ol e~fort u~k) is used only when the heads are closely.appro~h;~ center track.,.Otherwise, the 25 . .integral control effort-:signal is pr~vented from affecting the -. -; ,final ~of.L,ol sffort 6ignal~u~k)~ illustrated-~rhP~tically by ... a !'.switch~'-2748 between the.ouL~uL ui~k) of:integral col,Llol e~fort ~~block 2740~and-:adder 2766. -;Controlled by the ~ .inte~rator windsw,-l~witch 2748~i~ "closed'~.~-.only when *he heads .~.30 -.~:are ~tably settled-lwithin':~.a:i-.predete~ ;né~distance of the :r~ racks ~(+~o%~ ori~example)~;n,!but~ open~? ~or.;example~
:;during the majorit~ ~o~ a s~eek .before3.~settling OC~ulS~
Accordingly, the resolution ~gnal ~loses-~the switch only when the sy~tem-is in ~in~ resolution mod~ or l;ne~r mid xesolution .~.35~ . ~ode. ~. ~,: r, ~ ", ' ', !t j~ ~ !; , ~~
-., X ~.~r-' Inside the integral co~ e~fort ~block- 2740, the edback delay block 2744 e~fectively has an initial condition .:. ,.(IC)..,6et function performed by "momentary.;.~witch" 2743 immediately bafore ~witch 2748 i~ closed. Setting the initial ,: , ~ ' '~' '' ' . '' . ' ~

20~332~

condition of the integral control effort block thus assuresthat any supposed "DC bias" measured during the early of a seek does not contribute to the c~n~lol effort signal as the heads closely follow the destination track. The initial condition reset function is schematically illustrated as a switch 2743 at the input to f~edback delay block 2744, the switch being ~et to 0 momen~arily, ; -~iately before switch 2748 is closed~ .
. -Bias feed~orward controller 2750 receives ui~k) from the integral ~o~Llol e~fort bloek 2740, a~ well as receiving TrackIDp on path 254 from the full state observer 250.
Briefly, during -a calibration operation, bias feed~orward controller 2750 monitor~ u~(k) to detel ; n~ necessary bias compensation, and during operation provides that compensation 15 . for any bias force acting on the heads. During operation, the bias feedforward c~mrenC~tion provided on path 2751 is thus an ideal compensation, so that ~he value of ultk) during operatlon on path 2749 is reduced to near 0. The bias feedforward co1!LLoller is calibrated or dynamically rPc~lihrated, in a ~nn~r described below, with reference to FIG..-27. . ~- - - -Both (l) the.switched.~L~Ls~.of;~the integral conLLol. -~ . ef~ort;.ui(~) on path ~ 2749, and ~2) .the bias feed~orward : compensation:signal. on path :.275l,~.affect only the final 2S ~onL~ol effort ignal u(X~ on path ll2.- They.do not affect the~.interim ~o~ ol effort signal:u'(k) on path 271 which is , ',î used by.full state.observer:250. The integral control effort - ; ' u~~(k)~is summed with the ate-fee~h~ki~u,.L~ e~fort after he point-~rom whi~h~the observer taps of~ the coilLL~l ef~ort "30 .i ~u'(k).3~This arrange~ent.~in;r;zes~the:cbserver~s steady state error when the:observer'~.low~;fre9Uençy;integrator~(LFI) 2560 ;; is-=.disabled.(in:low.~!gain mode~,~..while also mini~izing the associated settling~time for~the.:LFI to establish the steady r~c..... ..... state Yalue ~ a~ter ~,turn: on.~in, high gain ~ mode3 ,. ~
35Referring now to FIG~ 26A, control effort pul~es generated i during' operation~ -of . the ~ le tr~ok ~sk eedfor~r~ ~6h~ol~er 2720 are illustrated. As is readily ~-appreciated by those ~killP~ in the artj commands ~or single track sQ~ks (~eks to an immediat~ly adjacent track) are very : . .: .;

'i' W~92/05~3 PCT/~S91/06602 often encountered during operation. Such single-track seek ~ 5 are encountered succP~ively in situations when a large block of data stored on adjacent tracks is read or .~.
! wri~ten, as when acces6ing text ~iles. Be~ause o~ the high fr~quency-o~ occurrence of single track seeks, the present invention provides a special single track seek -feedforward controller block to min; ize the seek time, thereby substantially Pnh~ncing overall di~sk drive performance.
As shown in FIG~ 26A, the pro~ile of a-single tra~k seek control effort signal includes an acceleration pulse 2722 ~ollowed by a deceleration pulse 2724. The single track feedforward profile on path 2721 (FIG. 24) is defined explicitly in terms o~ a parameter set including: (1) the magnitude of the acceleration puls~, ~2) the duration of the acceleration pulse, (3) the magnitude o~ the deceleration pulse, and (4) the duration o~ the deceleration pulse. The calibration algorithm finds the opti~al parameter ~et to use for the ~eedforward ~OIlLr ol e~ort profile (FIG. 26A). A
matrix o~ parameter values are test~d to determine the optimal set.
The single track feedforward function is a function of ~.the various indi~idual heads in the disk drive, as well as the : ~ -.radial position of th~ tracks-involved in the single track . - seekO For each of the various heads and radial positions, the . 25 : ihape of the ~ingle:track feedforward profile 2721 is chosen : so.as .to min; ;~e a:cost function.'~ ~he cost ~unction ~ay be ~ xpressed~as~
-- ~ - Cost= . ~ .C~¦PES'(k)¦] +~ ~N~

. ,'..'.L'".~ ' .-i whére-;~
; ~ N represents ~settling~.~i~e~t~the nu~ber of ~ia~ples reguired ., - x - -:--.to stably:-~-settl~ the heads within:a given window-about the : 35.:- -.destination track center;~ s~. f"!m"','', PES'~k)¦ Le~cesents the area beneath the~PES' graph which:in ~ turn~-represents:overshoot;'-and .: ..,.~ .3~
: ~ and ~ are ~designer-chosen weighting parameters which determine relative :weighting of the overshoot and settling ~ time considerations.-. ',',. . . :

, 3 2 ~
W~92/05~3 PCT/USgl/06602 After an optimal parameter ~et i~ found and ~tored, the perfo~ ~n~e of the ~ingle track ~eeks are continually monitored and compar~d to the original optimal c05t ~rom the previous calibration. If the system changes (due to variations in temperaturQ or component wear, for example) the DSP detects that the cost exc~eds the optimal by a predefined threshold, and issues a request to perform a new calibration.
- The single track seek feedforward controller 2720 may be . schematically illustrated as shown in FIG. 26B. The single track seek feedforward pulse generator 27200 includes a unity source 27201 fee~; n~ both an aL multiplier 27202 and a d~
multipli~r 27203. Ou~ s of ~ultipliers 27202 and 27203 are input to respective select inputs of a selector 27204. The select input of ~elector 27204 is connPcted to an acceleration/deceleration pulse det~ction hloc~ 27205 which deteL ine~ when an acceleration pulse ends and a deceleration pulse begins, in response to the measured positional error signal PES'. Finally, a ~witch 27206 c~nnects or disconne ts the ~u~u~ of selector 27204 to the o~u~ of the single track feedforwar~ co~Lloller, on path 2721. Briefly, the magnitude aL determines the ~agnitude of the acceleration pulse, while ~ dM det~- ;nes~the magnitude of the deceleration pulse, the - ~- timing.division.between which is determined by block 27205.
, . :The beg;nni n~ of the acceleration pulse, and the end of the 25 -:~ . deceleratiQn pulse are detel ;ne~ by the ~; ;n~ of the eontrol -; input to-switch 27205. ~The ~vn~ol::input to switch 27205 is deteL ;ne~ by logic governing the duration of the ac~eleration and d~cel~rat~on puls~s.
ThQ~values of'thë parameters a~;and dM are deteL in~ as follows. First, a performance measurement block 27210 determines a cost function on path 27211 ~or a variety of dif~erent possible acceleration and d~celeration pulse heights and durations. In-:particular, performance-measurement block 27210 includ~s an absolute.value.block:272 2~ :series with a ~35;~ ;summ tion.block 27213 and an~:~ multiplier 27214j which feeds an adder 2721S. The PES'~.signal~:feeds;the ~absolute value .~block a7212 thro~gh a switch 27216 enabled by the single track -: s~ek flag. ,.In a parallel path, sample clock puls~s are counted by a counter 27217 wh~n enabled by a switch 27220 ~ :, , ': ~: :,: ,: ..... : ., ~ : .

~ 2~32~
' W~g2/0~43 PCT/US91/06602 governed by the single track seek flag. The o~L~L of counter 27217 is placed in a hold register 27218 which in turn has an . ouL~L multiplied by a ~ multiplier block 27219. The ouL~Ls of the ~ multiplier block 27214 and ~ multiplier block 27219, respectively indicating overshoot and settling time in the cost function, are added by adder 27215 .to arrive at cost value on path 27211. The ¢ost value is a function of dif~erent indices used for permutations of different magnitudes and durations of the aceeleration and deceleration pulses. - ~
A decision block 27410 determines whether a single track seek feedforward ~or-LLoller calibration i9 in ~rOyres5. If a calibration is not in ~OyL2SS (indicati~g the controller is actually opexating), the DSP deteL ;~g whether.the present cost is greater than an optimum cost (as pre~iously de~e~ in~
: plus-an allowable variation ~) as indicated by block 274~1.
If the present cost ~YcPe~ the optimum cost plus the variation A, the DSP concludes that the present calibration values have sufficiently deteriorated from optimum to request 20- that the master issue a.re~ hration com~and at block 27412.
: However, if the DSP determines that a c~ l i hration is in ...... .progress,.it determines:whether the present cost function is less; than:--the :.optimum cost .:hexetofore a~ ted, as . ~ indicated~by block-27413~. If the-present.cost is less than -25 the-optimum-cost,--the opti~um cost~is set to:the present cost, - and the new.parameters.~L and ~L rèplace the.previous optimum parametersj~ as indicated by block.27414~ -Controlip~s~s to block 27415.~ s ~S~7~. 'L''';.~
However,~i~ the present cost is not 1PSS than the optimum cost~~hitherto c~lcul~ted,''.. thellreplacement block 27414:'is skipped, and control passes directly to block 27415~ Block -:~ . ~ 274~5 determines whether the present calibration is:complete.
the/~present c~l~hration :iS complete,~.;the.~DSP exits the -?~ c~ hration:routine~and se~s .the~cal~hration~complete flag, indicated in block 27416, be~ore ~&LUL1~ing to the c~ n~
.~..:. ''l~routine.~ However;:if the c~l~hration.~is lincomplete, oun~Lol s .? ~p~ses-to block.27417.~i-In'block-27417,~-the indices o~ the aL
and..dM~parameters are changed, to allow testing o~ a new . . ~ . ,,. , . ~ .. .

.;'' ~
: . , . ::, 3 ~ ~
W092/05~3 PCr/US~1/06602 ., ' ' permutation of values. They are stored in respective blocks 27202 and 27203 in the pulse ge~eration block 27200.
Referring now to FIG. 27, the operation of the bi~s ~ee~forwar~ ~o~troller 2750 is illustrated. A primary S advantage o~ providing the bias feedforward conLloller 2750.in con~unction with the integral ~ontroller 2740 is a significant - reduction in transient dynamics when the integral controller ~ - is switched on or o~f.
~: -. As shown in FIG. 27 f each data point x represents an average of various values ui(k) o~L~ during a calibration , ;
period by integral control effort block 2740 ~FIG. 24), for a - given krack position on the horizontal axis. The averaged ~- values are plotted as a function of track, between the outside diamet r (OD~ and the inside diameter (ID~. The plotted :15 -averaged:.integral c~lL,ol effort signals :are joined by a suitable curve, indicated by the.lines connecting the plotted points. In a preferred embodiment, the fitted curYe may be a piecewise linear a~yL~xl~ation -joining the plotted points.
Thus, within various radial segments of the disk, the bias . feedforward ~-ne~tion signal B~ on path 2751 is ~odeled by a l;nP~r interpolation, the totality.of the bias feedforward ..control~function thus.being.a~piecewise linear_approximation .,: of.-the.average bias compensation effort.required. .
- . .: Because the horizontal:axis in FIG.~27 is the TrackIDp, ~.the bias feedforward oon~Loller stores sets.of:linear equation ~ ariables~l andr~2 as a function~of:TrackIDp.~. The bias ~?'-' . ~ eed~orward function is defined-.in-a piecewise~co~bination o~
line segments de~ined in the ~ollowing ~-nn~r~

.. ?:30,~ o~F ,~.BFF = ~ r~ckTn~)~rackIDp-:~+ ~ (TrackIDp)-, ~ :

.The 9B1.~ and;~2:~ ~alue~are ~tored in~a '!Atable during the '--cAlihration,proce s, andrare ~alled up for.use:according to ;the.above::formula~when :a :particular~jTrackIDp ~'iS. encollntered 35~ during operation-. 0'1~ 3~ 'L -~S:~J~
~ P~lly~he~ ce~the bias feedforward sig~al on~path 2751 ; -. U should co~pensate for the bias ef~ects originally detected ~y . ~ - -inte9~ral co~rol ef~ort- block 2740 during c~ ration9 the ~'residual" integral col,~.ol effort u~(k) (FIG. 24) should be ii: i,,: ~, : :
., ~

~ 2~332~
W~92/05S43 PCT/US91/06602 essentially 0 during operation. However~ the DSP monitors theresidual integral control ef~ort ui(k) tG determine if a recalibration i~ nP~ess~ry . Rec~ ~; hration is often a result of factors such as the plant changing due to temperature, time, component wear, and 50 forth. Should the residual control e~fort ui(k) P~ceed a certain threshold during operation, the ~ and ~2 values çan be re-calibrated dynamically. ~he re-calibration is accomplished as during the initial calibration: by repeatedly positioning the heads, 10 perfG~ ;n~ mea~u,l -nts. of the bias using integral control ef~ort block ~740, averaging the values determined thereby, - and storing new values in the ~ 2 table.
- The int~rPe~i~t~ ~ek length. ~ompe~sator 2760 is illustrated in FIG. 28A. InteL ~ te s~ek lengths are those which are long enough to require large magnitudes of coil current, but whose time durations are not ufficiently long to allow the power amplifier to recover from saturation before.
arriving at the destination track. Thus, a seek-is ~r - - ~
"inteL~ te" if the seek is long enough to cause the plant power amplifier 116 (FIGS. lA, lB) to become voltage-saturated, but not long ~ h for the power amplifier to recover from saturation ~o the plant: can follow its prescribed -pro~ile. ;-; .~
: A:problem of c~.,ceLl, in:inkermediate length ~eeks is due - to the ~inite.~upply voltag~ and the coil inductance. The -- ~ problem which is encountered in saeks of intermediate length ' causes system-performance shown-by wavefor~s :illustrated in FIG.s28B.- .;.~
Referring:more speci~ically ~to the graphs show~ in 30~ ! FIG.i28Bj~ ! the~top:panel:illu~trates~the reference Yelocity profile -with the ~fee~h~k ~,velocityO ~.~The: middleipanel of FIG~328B-illustrates khe~col-~Lol effort-.u(k):!as a-~unction of . time, showing :r:a substantially.:.square acceleration pulse followed by its substantiallyb-~iquare ~deceleration pulse.
35 ~ Finally~ ~he bottom panel of FIG, 28B:illustrates;the actuator coil's ~UlL~-t i(t) ~a5 a function o~ ti~e~ he ~ilow rise t1~a due to inductance in the co~ and ~h~ slowly decayiny top of the pulse due to back ENF, are evident in the waveform.

.: " , , ~ . ~.
: , . , , . :,.;. ~ , :
, . . . . . . . .
; . . ~ , W092/05~3 ~ PCT/VS9l/Q6602 i - During an inte~ te length seek, the feedback velocity passes over tha reference velocity profile at a crossover point C. The ~eedback velocity exceeds the re~erence velocity profile for a substantial ~ime after the crossover poi~t C, indicated by an "overshoot.":area. This causes a reduction in performance due to undesirakle physical overshoot of the destination track by the heads. This ovPrshoot effectively extends the settling time of th~ heads, slowing overall disk ~ drive p~rformance.
The problem shown in FIG. 28B is not encountered in vexy short-seeks, because the .power amplifier never becomes saturated, allowing acceptably close ~'e~i n~ of plant pexfo~ ~nce, Short seeks do not require large magnitudes o~
coil current, ;so that the finite voltage limit dues not prevent~the power a~plifier ~rom delivering the required coil - current.~
The problem shown in FIG. 28B is al o not encountered in ~ery long seeks, because the ~aturation o~ the power ampli~ier has been- overcome through passage o~ time,- allowing the overall plant performance to be modeled~.with acceptable accuracy. More specifically, whereas long seeks do require .J-.large .coil-~ ~ulL~L ;magnitudes. which :result in voltage saturation during acceleration and at khe transition from -,.~ .. aacceleration:- to ~ecel~ration,-:the time duration o~ the ~25 .~deceleration:phase of the:~eek is-sufficiently long to allow .the power amplifier to ~ecover from saturation and operate in the'!line~r mode to.deliver the.-:reguired:coil curr~nt well in advance of the arrival at the destination track.-.; .Oe ..n ,~B~ie~ly, t~e~intermediate seek length~compensator is.~t30~ e~,t ~L~ L~3~ammed-to eco~,.ize intermediate seek lengths as being ~, .'.'7:'~S~ between 2~'and 125 tra~ks away.~ro~ the current:head posikion.
The~ comren~Ator~ continuously~onitors the velocity error ~during:. ..the acceleration.:pha6e:..;0f Athe~6eekO ,When ~ the e..~:/ ;smagnitude..,-o~ the:~velocity~.~error. (refer~ce~-velocity minus .35.5~.7a feedh~ka,~velocity) ~d~creasesi:..~o.,-,an:ioptl~ally,J~predefined .}~ thrQshold,~.and .i(2)~,the cco"~ol~effort .:i5 ' ~t~ 11 in the saccelerakion phase,nthen th~ ~acceleration con~Lol effoxt is . -clamped to a ~ra~tion of the maxlmum.value Sfor example, 25%~
for the rem~tn~Pr of khe acceleration pulse. ~his clamping , , . - .
. - . - -, . ,,, , : :
,: , ~; : , '-i! 2 ~ 2 ~ --W092/0~3 PCT/US9ltO6602 cau~es the coil current to decrease prior to the deceleration pulse. When the deceleration phase begins and the control ef~ort requests that the coil current transition from the acceleration polarity to the deceleration polarity, the voltage (~=L~ildt) required is less than would have been required had the clamp not been ~xercised, because di/dt is ~ow small~r. A significant reduction or elimination in the duration of the voltage saturation results, which enables the servo system to optimally guide the head to the destination track in minimal time.
Re~erring more specifically to FIG. 28C, the intermediate seek length compensator 2760 according to the present invention alters the co~LLol effort function u(k) from FIG. 28B so that it is clamped during the final portion of the acceleration pulse. As illustrated in the middle panel of FIG. 28C, the acceleration pulse i5 reduced in value from its maximum value uN~x to a clamped value UCL during a clamping period ~c~ at the end of the a celeration pulse. By ~orming the fisst interim co~ ol ef~ort signal u'(k) in this manner, the overshoot of the feedback velocity with respect to the . . reference velocity profile is minimized. The reduction in overshoot is illustrated by a comparison of the respective top .p~nelc of FIGS..28C and 28B.~ By so.modi~ying the cor,~rol . . .e~fort signal,:the-coil.current is modified~so that-it has a 25 ~- waveform shown in:the bottom panel of:FIG. 28C.
The~ ~nn~r . in which :the clamping of:.the con~ol e~fort signal is achieved is shown schematically in FIG.-~.28A. The uL~uL of adder.2764.(FIG. 24), ua(k~l is,input to-a clamping ~ blocki2770.- A selector.2772 ~elects the ua(k) input-~ignal in ;30 ~-~..,its "normal!'~position,.before and;a~ter::the :clamping period ~ -:.;(FIG.;:28C).. During the clamping.period, .selector 2772 selects the ~u~uL of:i~he clampiny block ~770. ~Control of the -, -r~ elector 2772:is deteL in~d.within SÇh~ -tically illustrated . ...,m~ ~witch logic block 27.74.~ r~ a;, .~
, 35 ~ . s --Switch logic 2774':is thus.respon~ivejto the :Ua (k) signal -on path~2765,-as well as to the ~elocity::error-~ignal ev(k) on path 2715-~rom-adder 2714 (FIG. 24).: .The switch logic 2774 . activates selector 2772 only during see~s o~ intermediate length, the responsiveness to the eek length being ~ : : ~, : , ~ ~, , : . :

3 ~
W092J05~3 PCT/US91/06602 ~

schematically indicated by the presence of a seek length input 2776. The length o~ the seek i5 ultimately deteL ;~e~ by C~ ~n~ received through command register 162 (FIG. lB) in a manner readily appreciated by those skilled in the art.
Re ~alibratio~. The portions o~ the preferred servo system which are calibrated, and capable o~ re-calibration, include the offset correction block 2102, the low gain normalization block 2240,-the single-track seek feedforward compensator 2720, and the bias ~eedforward controller 2750.
According to the present invention, any block which may be calibrated, may also ba re-calibrated during operation. Re-cal; hration during operation ensures that overall system per~ormance may be continually optimized, even in the presence of such factors as component aging, temperature variation, changes in physical orientation of the disk drive, and so forth. ~
FIG. 29 s~hPr~tically illustrates the manner in which a given compensation or correction block may be re-c~lihrated during operation. The c- ,-n~tion o~ correction block may be any o~ those four mentioned specifically, or, conceivably, any other block which a designer may- find it advisable to dynamically~re-calibrate.," .., ~....~..~.~..: ~. . . ~.
- During--operation ;9f the se:rvo system, a suitable :: ~ perfoL -~e parameter, indicated as an input on path 2802, is examined. What.the suitab~e-performance parameter is, varies ~- with the particular c~l~ hratio~ block-.under consideration.
:~ 'For:~example,i-if --the offset..co~eoLion ~ block .is under consideration~ the per~ormance'parameter is a measured offset ~ value. If the calibration~block under cvnsideration is the :;:30 ~ low~gain.normalization-blo~k, the performance.parameter is a ~ ~'measured variation away fro~ the predicted' nn~lin~r gain. if ' ~the~c~lihratio~ block under onsideration is the single-track ','~'!~,~, ' ' seek-feedforward:compensatox~ ~he performance parameter is the cost function as measured in ;FIGo 26C~ --r If~the.icalibration ~:35 -block under ~onsideration is the bias-feed-forward ~onLLoller, -i :; the performance para~eter is the residual:col,~Lol e~fort ui(k) -ouL~uL by the integral~cor.L ol e~fort block 2740.
:;- -~ :.. The:;DSP takes~;the absolute value -of::the .performance ~ - parameter in block 2810,- and subjects a ~eries of such . , : . . : ~
.: :
:~
.:

2~32~
(. ' .
W092/05~3 PCT/U~91/05602 absolute valu~s to a low pass filt:er ~unction, schematically illustrated as 2812. The low pass filter ensures that a sin~le abnormal mea~urt ent does not cause re-calibration.
The purpose of blocks 2810 and 2812 is to ensure that the 5 magnitude of a -~nin~fully quantity o~ measured perform~nce parameters are considered.
At block 2814, the DSP compares the variation from ideal of the ~iltered absolute values of the per~o~ ~ncP parameter to a predefined per~ n~e tolerance. The tolerance to which the ~iltered absolute values are compared, varies with the particular calibration block under consideration. For example, if the off~et correction block is under consideration, the tolerance is an of~set ~ariation. If the calibration block under consideration is the low gain .- noL ~li~ation block, the tolerance is tolerance of gain away from the predicted nonlinear gain.- If the cAlihration block under consideration is the single-track seek feedforward compensator, the tolerance is a c~st function variation value ~ as described with respect to FIG. 26Co If the c~l;hration block under consideration is th~ bias feed ~orward c~ Loller, the tolerance is a maxi~um allowable variation of residual ..~ control e~ort ui(k) ~L~u~:by.the integral c~rlL,ol effort blo~k 2740. .~
u:-; If- the~ filtered ~bsolute ~alue of th~ p~rformance parameter is less than or equal to the allowed tolerance away from an ideal value, then the DSP continues in its processing : .without rPquesting re-c~l ;hration, indicated by~block 2818.
owever,- if ~he ~filter d~absolute value:of.3the :performance :parameters is greater.than the~allowed tolerance-away from the cideal~,~alue; then~ the DSP~m.r~quests. the .~aster.~ issue~ a ~ -; ~~.t re-calibration~ command.--~Thç-rQ~uest:~forlIre~c~l;hration, indicated as block 2816, is p~se~:th~ouyh the status buffer Y~ 160 e(FIG. lB).in~th~ ~orm~o~.-a status word.;~ic~tion. In response,~-the master may~find.issue~a re-c~l;hration command ~35 ~ to:cause theiparticular-:block:~under consideration to be:re-- - ' c~ 1 1 hrated .- ; ~ l ;? ~ .-, 1 . r ' In jthis ~anner,- the present sy5tem~.can.~adaptively -. co~pensate ~or such.Pactors as co~ponent aging, temperature :.~;variation, change~ in th~ physical oriQntation o~ ths dis~

., . :, ; , ; ;
. ::
: : ,'' . , ~ , : ' ':
..

2 ~ C~ ~ , W092/0~3 PCT/U~91/06602 :

drive, and ~o forth, to continually optimize the disk drive's perf OL ~n~ .
Dy~mic ~c~lin~ o~ P~rameter~. According to a preferred embodiment, the values of various parameters in the firmware are dynamically scaled. That is, the values of certain parameters, previously described as being "co~stant", may collectively change under certain circumst~nces. According to dynamic scali~g, the value of the parameters is determined by the expected range of data magnitude which are encountered at any given time. For example, in the full state observer 250 in FIG. 22, the paramaters rpO, rpl, ~p, cp, and Ce in blocks 2543, 2544, 2546, 2551, and 2572, respectively, collectively take on differe~tly scaled sets of values, depending on the value of the PES and veloeity signalsO Similarly, in the integral co.. L~oller 270 in FIG. 24, the scalar multiplier --f(P~S(k)), X, Ki in respective blocks ~712, 2762, and 2746, are s;~ rly dynamically scaled.
The advantage of dynamic 5~ is bettex understood by a recognition that, in ~he preferred ~ ho~ , a digital signal processor is implemented.:..using .16-bit in~eger arithmetic. Words of 16-bit length provide adequate . resolution only ~over. a given. range o~ measured values, ; n~! ~h as they can represent nl~h~rs rangin~ from 0 through 65,5361o. However, ~he velocity and position measurements 25 _:..whi~h are of..concern throughout~the DSP co~ ol system as a -.~ whole ~FIG. 12) take:on.values.which ~cee~ the dynamic range capable of .~esentation with only 16 b~ts.. A pro~essor with .larger.word-size could be~used;-.ho~v~l, this would result in - increased costO;-.~-.Alternativ~ly,~.~floating- point arithmetic 30 ; ~! ' could.~.be employed;r.however, use of~loating;point.arith~etic o.~ ...isosubstantially-~.~ore...eYren~i~e.:-. Therefore, the present in~ention icombines -the-~peed ;and i implicity~ o~ integer ~ arithmetic~with~3the advantage~ o~.accuracy.which.follow ~rom ''~''~''~,''.'~,i'J i .an ext~n~ dynamic,range of~.parameter values.~
-;35 ~l ! ,' t~ cording~ :~o.-~.the~ present ;-,inventionj--.a - plurality ~pre~erably three) re~olution modes are .~pro~ided: ~ine resolution mQde,:~.~id resolution ~ode, and.coarse resolution ~ ~ode. . The~above.list of.parameters thus ~ay thus take on : -~ three differe~t sets o~ values: ~ine resolution values, mid ...... : .
.. . .

~' 20~32g ' W092/05543 PCT/US9l/06602 resolution values, and coarse resolution values. Each different set of values ~orresponds to one of the resolution modes. The mid resolution mode may be divided into linear and non-linear modes for some purposes, as illustrated in FIG. 15.
At any given time, only one of the three-parameter sets are used in the mentioned functional blocks shown in FIGS. 22 and 24. The choice o~ which of the three parameter sets is made by reference to the magnitude of the positional error signal and the velocity ~tate signal.
Fsr simplicity, the positional error signal is first considered in isolation. I~ the positional error signal indicates the head is l~ss than (for example) 0.08 track from the destination track, the controller is in the ~ine resolution mode, ~nd the fine rPsolution parameter set is used in the mentioned blocks in FIGS. 22 and 24. IP the positional error signal indicates the heads are a distance to a destination track of (for example) between 0.08 and 100 : -tracks, the mid resolution parameter set is used in FIGS. 22 and 24. Finally, when the positional error signal indicates a distance to destination track of greater.than (~or exa~ple) lO0 tracks, the coarse resolution parameter set is:employed in FIGS. 22 and 24.~
~ ' In the prëferred emho~ -nt~ the-determination of which :; ~ resolution mode parameter set is used is also determined in accordance with'the velocity of the heads.~ Analogous to:.the 'two PES thresholds of 0.08 track and ~00 tracks,-twv velocity thresholds are chosen, de~ining boundari~s betw~en three velocity regions,~'-s'~The~-two~t~resholds detPrmine~whether the '~ veloci~y-indicates the resolution mode-sho~ 'be fine-(if less 30~ than ~the-'lower~ thre'shold)','~medium ~(if ~between the .two " thrésholds)~':or-coarse (if:'grëater~than the--laryer.threshold).
he velocity~thresholds'~ay ~e chosen by.thoie skilled in the :;c~ art,~:~based on the particular~di k~drive underl:consideration.
2 ~5i~ ''According to a preferred-embodiment,i.velocity;thresholds :35 ~ are:primarily designed~to~ v~n~;DSP;fixed-length integ~r ; ' word over~low~ The velocity '''~ hresholds ~to~:enter ~ine ~ ' - resolution i mode are: ~tringent, to~ vanL PESF from ' saturating a~ter entering high gain msde (~ee FIG. 15). ~hus :: -th~ decision- to'switch between :coarse and ~id resolution :; - ., , -:: , , . , ; , :: . , , ~, : ,; ~ , ~, . , . :,,:
- ~ , ~ ,, : . . . . .

.: ~ :, : , ~o~32~ ~, W092/0~3 PCT/US~ 02 parameter sets i5 made when the velocity crosses 37211 tracksper second, regardless of whether the heads are accelerating or deceleratingO However, the velocity decision threshold to enter ~ine resolution mode from mid resolution mode, is more stringent tha~ that allowing fi~e re~olution mode to be exited to mid resolution mode. In par~icular, mid resolution mode is exited to enter fine resolutlon mode on decelerating through 126 tracks per second. Conversely, ~ine:-resolution mode is exited to enter mid resolution mode on accelerating through 590 tracks per fieco~. Oficourse, alternative schemes of entering and exiting resolution modes lie within the contemplation of the invention.
The "worst case" of the positio~al error sîg~al resolution mode and the velocity resolution mode choice is chosen, with a bias towar~ coarser resolution mode. That is, the positional error signal indicates that the position supports a fine resolution mo~e~ but ~he velocity is between th~ fir~t and s~con~ velocity thresholds (indicating a mid resolution parameter set ~ho~ be used), the '~woxst case~9 is ~ the choice of the mid resolution parameter ~et. In this . .. -nnPr~ the observ~r and the integral con~ ~ller functions never "overflow'~ with data values larger.~:than exp~cted. The range of. values handle~-.by the -D5P con~oller i~ thus ~ incraa~ed. Without- d~namic sc~l ;n~ .o~ the .mentioned .25 :~.parameters, the performance-of the DSP woul~ be limited by ~he ; size of:the data words, and~the.accuracy~of its meas~! ~ ents and ~alculations would be ~ Lo~ised~due to fiaturation and/or quantization ~LO~ at e~ data~lvalues. ~ r FIG;~30 schematically~illustrates the dynamic fi~Al;n~ of :~-.30 .:.. parameters.described above.~ More~5p~cifically/ the processed ~ ;positinn~l i error ~ signal . PES '~ and :,~he :Yel9qity~state variable ..~ .. ~.uV~L--.entering po ition ~. ~ eshold.~eço~Pr~.~block 2830 and -.r~.~velocity .threshold~e~o~r,.block 2832,:t~;respectively. These nl:~ecoA~r:.:blocks~exa~ine.jtheir. re~pecti~e~input signals and 35~ 'provide :an active ~signal-~:on~exa~tly ~ne ~o~ ,three of their u~uL path~ to.indicate whether:the input ignal ~alls within (1) /the ~ine~iresolution-~mode position or. velocity range, - ,';(2) the:mid resolution ~ode po~ition or ~velocity-range, or ~(3).the.coarse re~olution mode position~or velocity range.

:: : .. .: . . .-,:: ' :' ~ . ' ,. , ~ ' ''' ''' ' ' ' .. . . ..
6$3~9 '- W~92/05~3 PCT/U~i91/0660 The deco~ers determine whioh of their three respective paths to activate by cc ~ring the input value to the two thresholds which define the boundaries between the three possible resolution modes.
The worst case mode selection block 2834 reviews the two active paths ~rom decoders, and sel~cts the l'worst" mode.
Coarse resolution is considered worse than mid resolution, which in turn is con~idered worse than fine resolution mode.
Block 2834 uu~u-s its decision as to which of the two re~olution modes is worse/ on path 2835.
Different sets of values ~or parameters rpO, rpl, ~p, Cp, and Ce in blocks 2543, 2544, 2546, 2551, and 2572 ~FIG. 22), and for para~eters such as scalar multiplier f(P~S(k)), K, and Ki in respective blocks 2712, 2762, and 2746 (FIG. 24) are stored in coarse resolution parameter 6et y 2836, mid resolution parameter set memory 2837, a~d fine resolution parameter set memory 2838, r~spectively. The "worst case"
resolution select signal on pa~h 2835 determin~s which parameter set is used in the function blocks in FIGS. 22, 24, schematically indicated by~a parameter set selector 2839. In practice, it is preferred:~that the "worst case" ~election signal merely point:.to a particular location in a table cont~ning the differen~ parameter setsl so as to:specify to ~.*he DSP..which.o~ the~three..paramet~r :~ets to use when :performing the functions in the functional block~ in FIGS~ 22 -i :and 24.: : - "
: : In operation, typically, the para~eters in coarse -resolution para~eter ~et memory 2836 are used:~duri~g the '-initial~;portion of a qeek.s?.The ~a~ -ters in:mid-resolution 30:.~ parameter set:memory 2837 are u~ed~during the middle portion of a seekc Finally, the~parameters.;in:~fine~.resolution paraméter ~et memory-2838 are:used duri~g ~he final portion of i a~seek. ~ Nowever,-~ u~ations such as::physical: shock or vibration may cause:the:worst ~ase -~ig~al on.path 2835 to ~ rtemporarily !revert ~ to - a worse resolution ~ode;:as expl~i~
above. '-' ~ -f G~-~EVE~ F~O~ CEAR~.~ FIG.:13 is~a high-level flow '~ char~~indicating operation of the -digital signal-processor - , .- . ., ~.... . . . ....... - . .

. ; ..... . . .
~ ,:,: . , :- : . : :, : ~ : , ; .
', ,: '; . .~ . '' :

2~ 3~t3 W092/~5543 PCT/~91/06602 110, with special reference to the DSP control system shown in FIG. 12.
When power i5 turned on, or upon a reset command, control passes from power on/reset block 160 to the system lnitiali~ation block 1610 During ~ystem in~tialization, the DSP system hardwaxe and RAM, as wel~ as external periph~rals, are initialized. Also, a ~her,k~um memory test of the DSP
~OYLam memory is performed. ~ny oth~r initialization routines reguired for any given ho~; ?~t are performed at this time, in accordance with principles known to those skilled in the art-. Further, however, the parameters shown in the inYentiVe syste~m in FIGS. 12-30 are downloaded.
Thereafter, control passes to a block 167 which is part of a main loop 164 comprising blocks 165, 166, 167, 168.
-In block 167, the DSP ~heç~- cl -n~ register 162 - (FIG. lB) for a command ~rom the master. First, the DSP
~.he~,k~ to see whether the _: -n~ (if any) is a new _ -n~.
I~ the~command is not a new command, then ~o~,~.ol passes imm~diately to block 168. Howev~r, i~ a n~w - -n~ i~
present, it is- processeA. In a particular preferred :embodiment,.-the.command register :i9 a 16 bik register. The . .. upper...four.bits.are the command code which is later used to '. address a command.-jump table.- The:~command.jump table is a : ~table of addresses pointing to initial locations of respective ~ 25 . se~l~n~ of.-DSP instructions implementing.that:particular command. The lower 12 bits o~ the ~ word~are parameters ~ for-.use:in-.the particular-co~mand.:.. Finally~ the command is -~C~o ~executed,~in the Ynn~r.of a subroutinej befor~.conL~ul pas~es c~.to block 168~ ,~aster commands which are.believed-important to .~o30~ S.~ sop~ration of a::.particular preferre~.-.embodiment.are~described -,'J -.''~'-'~; ;~ in greater.detail;:below~ ?
In block 168; the DSPiverifies the availability of status : :~:"~:;register.-160 for receipt of~any-status.l-e~oL~s~from the DSP.
,.,;; If the.~status-buffer 160 is~not~available, of:~if.~there is no 35~ tatus:word~to ~oL~ con~rol~p~s~qimmediately-.to the~top of th~ loop, to block 165. ~.-.J~
HOWeV~L~ :if~ the status buffer is available, the DSP
-; d~termines~whether ,th~ tr~ ckin~ status is ~pPn~i n~. The tr~C~in~ status is a ~ePOL~ of the degree to which the DSP

~~ . . : , , ;

- ., , -. . .
t 2B~329 ~~: W092/0~S43 PCT/US91/06602 believes the disk drive's heads are tracking the appropriatetrack. The tracking statu~ is "p~n~i n~ when the DSP has a tracking statu~ report to provide to the master. In this case, thP status is sent to the controller, and control passes to block 165.
If the tracking status is not pen~in~ then the DSP
detel ;nes whether a c~ -n~ status is p~;n~. ~ cl ~n~
status is the DSP~s report as to the DSP~s execution of a co~mand previously received ~ro~ the master. If a command status is p~n~i n~ ~ it is sent to the master. If it is not pPn~in~ control passes to block 165.
Block 165 generally denotes execution of a DSP control routine. FIG. 12 illustrates the cor,Lrol routine schematically. It is understood that various parameters and switch settings in FIG. 12 vary, dep~n~;n~ on in~ormation in the servo field, commands received fxom the master, and internal variables derived ~rom a history of inputs to the system~ However, generally, the various ~ir~ware blocks ~hown in FIG~ 12 are exe~uted in direct response to the head's encountering a servo field. At:~ording to a preferred embodiment, the blocks shown in FIG. 12 are implemented in DSP
~irmware. . , -A
: - :After 'the COnLLOl xoutine~is;~executed in~block 165, - ~nL~ol pAqses to block 166.~ In block;l66, post processing 25- : routines are executed.~ The post processing routines often "''''' ~ ' 'J view the :results.~of~the ~ullLLol,routine- which was just - - -~executed; and determine an a~o~5 iate coll~,ol routine to ~ -execute during:.a subsequent ~iteration of,loop;.~164. For î~- ~- ~example,~---based -on:~i.state~~variable.~ values..;and:~.S.predicted ~30 -~'po itiQ~ rror.values-calculated bytthe:end o~sthe~previous on~.ol~routine, a-- postl.~processing--..routine :may~idetermine whether the samejJor a new~ l LL ol.routine should be executed during the next iteration of loop 164. ~ S: ~0 ~
; '~-':;6~ ;-/iPosti~;processing: routines.;also~check ~to see whether ~' c~l~hration~o~,-any parameters is necesF~ry.:~-If,.cal~bration~is ecess~ry, ~the ~-,post.~processing routines~ initiate the ~'~ c~l~hration. ' Furtherj-ipost processing routines change the ~Iswitches9~ shown schematically in:~FIG. 12, such as high gain/low gain switch 2230 (FIG. 18A) and integral control : .

2 ~
W092/05~43 PCT/US91/~602 -98~

effort switch 2748 (FIG. 24). MoreoYer, th~ post processing routines define ~tatus words to be ~ent to the master via status buffer 160 (FIG. lB), when a~7~,G~Liate.
The speci~ication of which control routine or which post processing routine is to be executed in a subsequent block 165 or 166, respectively, is made $hrough selection of a "control vector" or a "post processing vector", respectively. The term "vector", as used herein, denotes a pointer indicating a routine. However, "vector" may also be used loosely to refer to the entire routine which is specified.
It is understood that the flow chart in FIG. 13 is schematic in nature, and that variations on the illustrated ~oy~am flow may be made, while r~;nin~ within the scope of the invention. For example, when the post processing routine determines an em~7rgency situation (such as the head varying fro~ center track-during a:write operation~, it can cause actlons to be taken immediately to prevent further writing, actions which would otherwise be cont~ in blocks 165 or 167, for exampleO Thus, FIG. 13 shows the flow encountered in the ma~ority o~ servo sample periods, but need not absolutely restrict all implementations of th~ pre~ent invention.
FIG. 13 demonstrates the second ~ hQ~; ~ent~s use o~
~ r blocks of DSP ~ode. ~During execution o~ a c~YI~ol - routine ~165), a particular post processing routine may be 2S - designated for execution immediately thereafter.~.Si~ilarly~
: ::;during execution of a post processing routine (166~, a con~lol - - ~ routine ~ay be designated~or execution in block 165 during ~
ubsequènt~itsration o~ he~loop. How~ver, the;~aster may issue7 j a co~mand,:detected ~7 in:block 167,~whichichanges the ~;-30 ::~: coilL~ l-routine-which i~ designated for execution:-in-the next 3iteration. ~he::~o~ r nature o~ ~he:blocks~~o~ .~od~ allow ' rapid r re-direction: of:c~nLLol in re~ponse tor~a variety of ' ..:~'...::. !' ~? ;~- ~igh - 1~Y~1 ~i~i~g.''~. :FIG~:14 illustrates-FchP~tically a ~35 -J~typical-~track T having :a ~series.of.data.f~elds~Dl, D2,-D3 alternating:~with servo ~ields S~ S2,~S3. Servo~ields Sl, ; -~-S2,-S3 are preferably of.the type illustrated :in greater :: ~ detail in F~. 16.

;.: ' , :
"': '" ' '"', , ' ~

W~92~0~3 2 ~ PCT~US91/~2 FIG. 14 also has a timing diagram juxtaposed with the illustrative track T, ~howing correspon~nce of DSP activities to the head's encounter~ with sexvo tracks. In particular, it is apparent that the main loop 164 o~ FIG. 13 is executed once 5 per serYo field as in the majority o~ ~a~ple periods. When a servo fie].d is read, the presently ~pecified col.LL~l routin~
is executed,- corresponding to block 165 (FIG. 13).
Thereafter, a post processing routine which ~as speci~ied ' within the control routine or before the COllLr ol routine, is then executed, correspon~i ng to block 166. Thereafter, the c. -n~ reqister is çhe~kP~ for ~ -n~ from the master, - corresponding to block 1670 Finallyt a status word is ~yuL
~to the ~ ~uL buf~er when a~L~riate, corresponding to block 168.
According to the preferred ~ ho~; ~ent, the so~tware routines are optimized for speed of execution, so that the status is uuL~ well be~or~ a sl~hs~uent servo ~ield is encountered by the head~. This is indicated by the space between "status out" and the subsequent "read S2". Execution of the FIG~ 13 loop including the ~onL~oi r~utine, post processing, command input, and ~tatus ouL~uL~ is repeated for ~ach encounter o~ a~servo ~ield. It is understood that the timing illu-~trated in FIG. 14 need-not-be followed in all -- sample periods, but~is illustrative of the functioning of ~he 2~ DSP in most scenarios. For exa~ple~ if the re~ of a servo ield ~ynchronization pulse is not~detected eaxly, then no uch loop is 2xecut~d. A ~uitable:reacquisition te~hni~ue, known ko ~hose skill~d -in thë art, may be executed in the event o~ a su~ficiently-larye number of ~Imi~s~d~ servo fields.
':30 f~ 6P~a~ o~'-Rt"-~Di~ 80Q~t: ~..... FIG.,15::is a diagram indicating:i"/various: para~eters ~ r m~des, :and manners o~
:; -~ functioning:-during various~portions of a long -~eek. More specifically,~he graph at :the top~o~ FIG.~15 ~illustrates ~ -:t ;-~rëf~L~,eei~velocity~ uuL~uL-;from block-2712~-~FIG.:24) as a function~ of itime.-~3 FI~-~15~ also-illustrates~theL feedback '~ ~ii- velocity 'V~L on path -'251-(al~o in ~IG.:24).~ As readily apprec~ated by those ~illed in ~he art in light of the ac~ompanying desGription, the ~ee~h~ck velocity approaches the downwardly ~loping reference velocity, preferably as soon as .. . ..
, ~
~, . : , ,. :

2~3 2~
W092/05~3 PCT/US91/06602 --loo~

possible and with ; n; -1 overshoot. (In FIG. 15, the overshoot is exaggerated for purposes of illustration.) The difference between the reference velocity and the feeAh~k velocity, essentially an ,error ~unction ev on path 2715 (FIG. 24), approaches zero as the head approaches the center o~ the destination track.
FIG. 15 also illustrates the settling window detectors~
high gain/low gai~ 5ignal on path 261 (FIG. 12). FIG. 15 illustrates ranges .of positional error signals during 10 51iCC~S.~iVe ti~e periods correspon~in? to.the velocity curves in the graph at the tGp of FIG. 15. Further, the resolution mode is ~ trated to proceed from coarse resolution, to mid - resolution, and finally to fine resolution as the head approaches the center of the destination track, allowing different p~ra~eter sets to be used in the DSP firmware~
.. FIG. 15 also illustrates when the PES windows (integrator, read, write, low/high gain) are determined by settling window deteotor~ in block 260 (FIG. 12)o FIG. 15 illustrates when . the coarse -static window block 2420 and the fine dynamic window block 2430 (FIG. 20A) contribute to a deter~ination of -:- the processed measured positional error- signal PES'(k).
FIG.--15.;:illustrates .when .the ~PESF;meas~ nt: i~ ignored during PES dete~minations... Finally, FIG.-lS illustrates the ~;, ?io~lLLol- routines .whi~hu:.are active during the ~sequential ~.-25 .periods of the seek. -~
- FIG. 15 is presented,~o draw together preferred ti~ing of unctions of various portions,of the DSP~software, with the .underst~n~3~?!~..that ~variations~may~be made withoutideparting . '?. ~ fro~ thesscope of~thej~invention.~ "- r/ ~ 3 '-.30 'J,'.~ DE~IT~Fn~DB8C~IP~ION-CF~ u~ ~L~ OPE~A~IO~?8. The '3 ~s/?following sections~ provider descriptions~of , sequential operations.o~; various~preferred ~o~m~n~-routines; co~LLol ,~;;,-~.,..~.rroutines-~(including subroutines a,nd.window routines); and post -'5 i~ process~ng/~:routines:~(including~ o~ hration~post~!proce~sing ~'c35~si~ routines).~ ,These descriptions suppl~-- - L- ~he -~low,diagrams ~ sho~n, for,example,~ FIG. 12 and the ~igures de~lin~ its 5~Ji ~;~ s~ructur~.;-~, i.,i~ - ;~. ,a ' . ; .

: ' !,,; ' ~ ' ~092/05~3 -101- PCT/US91/06602 F13~as. In the following descriptions, various flags are referred to. For reference, the following brief descriptions are provided.
The "Write Flag~ is set to indica~e that the head is stably positioned within the write window (see FIGS. 23A, 23B, 23G)o - !
The "Write Prot~ct Flag" is a hardware control line which, when set, prevents the disk drive hardware from writing data on the surface of the disk. Generally, the write protect 10 flag is set when the head is not stably within the write window, as dete- ine~ by the Writ~ Flag, above.
The "Read Flag" is set to indicate that the head is reliably positioned within the read window (see FIGS. 23A, 23B).
15The "offtrack" flag is set to indicate that the head has exited either one oP an a~u~Liate window, ~ither the write window or the read window.
The g'Spurious Sample Flag" is set to indicate an apparently bad sample has been encountered. ThiS f lag is set to indicate exactly one such.oc~.Llence, that is, duxing a single sample period. Ge~erally, this flay is ~hPcke~ during ;...a.subsequent;sample.period. :When the subsequent sample is detel in~ ~to be a bad sample, the- DSP .knows that two ~ consecutive apparently bad samples:have been read, allowing it -.25 to respond accordingly.
QMMaNn ~ h~8.; Various co~mands from the master are , .: '.~:.' ,''~ ~OW . ~i~cllR5e~ for~ u~oses of~, illustr~ting a preferred ;.operation of;the~DSP aceording to the present invention. The '.i? i~ ollowing~isc~sions~assu~e ~he~pSP has~-received a command .30~ rom the~aster,.;in accordance with block~l67.(FIG. 13). Near .the~-end of most command routines, t~e command status word is set to a~ertain value to.indicate,--for example, completion of . non-completion;of~the c -n~ It-.-is understood-that, when ~,the ~tatus:.is set to.;a~certain~value~or~,~u~L~to the status c..35~ bu~eril60 (FIG..lB),.the.~command ~tatus."pPn~in~".indica~ion S.~is set,~ An~ ~ o~ous to the-status pPn~ in~-described above. Such - minor~"bookkeeping'9:tasks, well capable of implementation by those ~killed in the ~.artî are.omitted ~rom the ~ollowiny . descriptions ~or the ~ake of brevit~. -::
. - . .
. . .. ... .. . . .
. , . :: , .. : :.

~ : ' :, . ' .:~ :'' ~. ': ,,, .
' :: '~ : . ::~

W~92/05~3 2 ~ PCT/US9l/~602t:~
-~02-Generally, the ~ollowing routines ~ay be called from any other routine, as needed. The descriptions herein oft~n specify that "control ~eLu~i~s to the main loop", on the assumption that, in the pre~erred embodiment, such routine is most likely called from the main loop. However, it is understood that, if called from a routine and not from the main loop, ~on~Lol would return to the calling routi~e, and not to the main loop. Further, when it is said that control - ~e~uL~s to either the main loop or the calling routine, the routine is considered terminated, and no further processing occurs in that invocation of the routine.
BAD COMMAND. When the DSP receives a c~ -n~ which is invalid, illegal, or unrecognizable for some reason, the BAD
CO~MAND is executed. A cl ~n~ to ceek to a track which does - 15 not exist, for example, is invalid. Similarly~ a command which has a ~s an~ code not correspon~ to any valid c~ auses this routine to be executed. The routine itself comprises setting the ~ommand status to 7'bad c~
and r~turning to the main loop.
HEAD SELECT. When this _ -n~ i re~eived, the DSP
deteL ines-whether the DSP is busy performing another task or '~ whether~he~head number selected in the co7~mand parametex i~
in~alid. :: If~ieither~of-lthese conditions ~is ~et, the BAD
: ~MM~Nn routine is executed before returning to the main loop.
How~ver, if neither of these conditions is pr~sent, the - - D5P elects-a new head *rom among:plural~heads in the disk drive.7 -The DSP-resets:the.tracking status (which.indicates 'the''degree:to'which a'head is tracking its destination trac~).
~ ' The~low gain:mode is entered, on the assumption.that ~election '::;30 -i~of à 'différent~ head ~causes ~a deterioration -~,in-~ tracking '?~ perfo7~mance-withjrespect~to the.new head 'as - , 7ed to the ~? ~ head which'was'~formerly~selected.~ Further; the~ settling coùnter~~~'for ~determiningethe:settling ~windows~,in: ettling ;window'dètectors 260~(FIG.~rl2)~~are ini~;~l;7ed.~r~ Finally, the ~- 35~ ;c~ Loir~ector for khe subsequent cG~.Lrol'~routine~iteration~in biock'i65,~3and the post'/processing vector for:-,the subseguent pos~ processing routine iteration in 166,~are.~hQs~n~ In ' '- ::par~ic~ r, a LOW GAIN ~RAC~T~G vector (described below) is selected as a ~l7hsequent co~ ol routine,~and the S~TTLE pos~

, :: . , :- :.
. i .
:'' ' , .
. , ~ ....

2~832~
f,' WO 92/0~43 PCI/US91/~6602 processing vector is c-hosPn ~or the subsequent pc~st processing routine. Af ter selection o~ the control and post processing vectors, the DSP r t:LULIIS to the main loop (FIG. 13~ .
FAST HEAD SELECTo The FAST HE~D SEL}~CT command routine 5simply stores the next head to select, as commanded by the ~ master~ The F~ST HEaD SELECT routine ~1~ ,l.ores the head which is to perform the seek, thus avoiding execution of the HEAl) S13LEC~ routine be~ore tha actual ~;eek command. Ct -nll status is set to "fast head select complete". Of course, if 10the head sel~cted by the ~naster is invalid, ~the BAD COMMA~r~
routine is executed. The advantage of the FAST HEAD SELECT
rolltine is to expedite a subsequent seek command.
SEEK. The SEEK commarld first dete~ in~s whether the DSP
is busy perf orming another task, or whether the track mnnher ~5is an invalid selection . In either . eYent, : control passes to the 13AD C~O~MAND routinc, after which co~lL~ol is ~el_uL~-ed to the main loop. However, if the DSP is not busy perfo. ;
another task and the track n~er is ~ralisl, the DSP ~ets the post processirlg vector to subsequently execute the SETT~E
2 9. routine . . - . Thus, the SEq TLE post ~1 cscessing vector will subsequently be executed after any of the SEEK, SHORT SEhK, or . .LOW GAIN TRA~KTNG~co~ ol routines(d~scribed below).
- .-- The.tracking status is.then reset,:indicating that the : h~ad is ns longer on the desired tracX. The power.amplifier 25saturation ~odel 2510 (FIG. 21A) is initialized, prior to the eek.:- A~Iu~Liate flag~ are~.~et, such as tho~e selecting or .deselecting the single tra~k seek f~edforward ~ol.L.oller 2720 ~?~or.~he intermediate'~eek length-cQ ~n~ator (~IG. 24), based - on ~he~di~ference b~L~een the ~ t.track and:the requested /~ track.~j~A.write proteat:flag is.~~et~-to ~v~ overwriti~g preexisting;data on the-.di~k. ~:The switch-?2748.àt the ~Ly~L
~ . o~integrator 2740~?(FIG.~:24) is spened.i~the 6eek.is not a u .. - one~tra~k eeekj ~o avoid transient:~ffects~in.~;the integrator - ~- duringi~eeks longer.i~than l:.~track.~ .The-~dynaml~ally;~calable ~35 ~. parameter67;~re'~caled, based -~oni.the ~length~;~of tha ~eek.
'J' Finallyj the-co~-~L~l vectox~ set ~o ei~her:~SEER.or SHORT
..SEEK,-ba~ed on the length o~ the seek.-.. .:: ....
hQ 8eek-is.a SXORT SEEK (les~ than, ~or example, 100 trac~s~, then the-SEER command routine terminates, co~ ol .,j . ~ ~

2 ~ 2 9 ~
W092/05~43 PCT/USgl/0~602 --~0~ ~

passing to the main loop. HoweYer, if this is a long seek, control passes immediately to the c~llLlol routine indicated by the control vector, on the principle that on longer s~eks exact t; ; ng is not as crucial as an early start. During longer seeksl there i5 a longer period of opportunity for correcting any inaccuracies in'the co~ ol effort~
LOAD HEADS (WITH FAST ~EAD SELECT). The LOAD HE~DS
command routine first verifie~ that the actuator is parked and that the selected head is valid. If either of these two conditions.~is not met, th~n the B~ COMMAND routine is executed be~ore returning to the main loop. The body o~ the ~OAD HEADS command routine begins with the selection of the new head which was stored duri~g the FAST ~EAD SELECT c ~n~
routine pre~iously executed. An initial bias current is set, biasing the actuator toward the outside diameter away from the parked position. The tr~r~i ng status is cleared, indicating the.~designated h~ad is outside all windows. The control - vector is set to a routine which causes there to be no control . ef~ort ~uL~uL to the DAC 114, so that none of the routines 20 s~h~ -tically illustrated in FIG. 12 are executed. Finally, : the post.processing vector is set to indicate the LOAD HEADS
~post.processing~routine, describedL belDw... (The LOAD HEADS
- post.processing routine -contains the code which actually ~ . .writes 5to the DAC.-. Thereafter, cG~Llol L~U' 115 to the main ~ ~loop. ~.;... ~ . . .
. PARK~,~EADS -(WITH FAST ~EAD SE~ECT~ The P~K HEADS
:. command ~routine determin~s whether the selected he~d is invalid, :executing::the B~D ~MM~N~ - routine in:that ~ase.
~ s:.~"~ Assuminsithe selected.:head is.valid,~.the,reguested track is 30-~:r-.~set to-?1300 (indicating a-track insid~ the~inner.diameter (ID) of :the:Sdisk).~ The:.-post ~YocesSin~ ~eCtOr.~is:;~et,to PARK
~ HEADS,~described.below. Thereaft~r,-the SEEK~command routine '.''~';4i .," .'.'.iS entered at-a:point wher~ the~tr~~~ status is~reset, the ;. subsequent operations-being executed as described-.above.
,.35.~ DOW~ n COEFFI~ LS. ,The calibration .values in the compensatiDn blocks, and- the~coefficients used"in various multiplier blocks 5hown in the D5P control system o~ ~IG. 12, ..ar~ downloaded .to tables:.in random access ~emory (RAM) :~ associated with ~or prefer~bly in~ the DSP. This com~nd .. .
~, "' ' .. .
; , ., ;: ., .~
.

2 ~ 3 ~
( -~'W~92/~5~3 PCT/~S91/~2 routine is ~xecuted, for example, a~ter the disk drive exits a power save mode in which the DSP volatile RAM's contents were lost. Initially, the DowNn~n COEFFI~ NlS ci - n~
routine verifies that the actuator is parked and that the master-indicated dataiblock h~r to download is valid. If ~ither of these two conditions is not met, the BAD COMMAND
routine is executed. Assuming the criteria are met, the DSP
sets up a:block starting address and block count, and sends a "ready to receive block" :status to the master via status bu~fer 160 (FIG. lB~. Then, the D5P receives the~block of parameters downloaded from the master, after which it ~ends a "final word r~ceived"-status indication to the master~ The downloA~ing.o~ coefficients thus being completed, corlL ol LeLu~.,s to-the main loop (FIG. 13).
15UPLOAD COEFFICIENTS. In a manner s; i~r to the-DOWNLOAD
COEEFICIENTS.command routine~ the UPLO~D COEFFICIENT5 routlne verifies that the.actuator is parked and that the block number to upload is valid, otherwise causing execution o~ the BAD
~MMA~ routine. The blo~k starting address and block count are set up, and a "ready to upload block" status i sent to ~ .the master. The block is uploaded, a~ter which the "transfer .complet~ status~~is-..,sent :to3;:th2 ~master.~ The UPLOAD
~COEFFI~l~NlS ' command. rcutinei~:is advantageously executed ~ ely before powex is cut o~fisuch as during.. the power -25 .save .~ode,, thus avoiding. the re~i~lihration ~which would otherwise be n~cPs~ry~aft~r power is.:restored to -the disk r~T~TR~ ON. '.-.f' The~ ~Ar~TR~ION~:co~m~nd~ routine allows par~m~ters ,~within ~.~various .'~..functional~ 'blocks to be ~,30 ~ reo~ hrated. ' -s For.mexample~ o~set;~i~orre~ition~ li hration ,'~s3~rr.*~ block;~2102~,i(FIG~,17A), .low ~.gain- normalization Ci~1ihration bIock ~2240-:! (FIG.i.18A),~-..single-track~. seek: feedforward ration blocX .~2720..;-tFIG.:24)r~ and~ bias ~feed~orward ~:: .'. 'I S . ~, ~Ci~ l~hration block~27~i0 (FIG.:::24)-~.may ~be~ l;hrated, using :.:35ii ~ routines'wh~ch ~are'~ c~le~ a~ter~the ,.presPnt~ T.TR~A~ION
om~and:~routine~i~ invoked.~ , -h Fir~t, the:DSP determines whether it is busy with another task . I f it: is busy, th~ BAD Ç0~M~ routine is:executed, ~.. ; .a~ter which c~.lLlol ~eLu~-ls to the main loop.- ! However, if the :, ~ : . ,.:~,. . . .
.. ,,, , ~ :
~ :; , : , . ~
,,' . , ' ~: ., ~Q~329 '' ~
WO 92/~543 PCI/VS9l/06602 ;

D5:P is not busy with another tas3c, the calibration co~m~n(l parameter i~rom the master is ~co~e~, to determine the particular block which should be recali}:rated.
In a particular pref erred e~bo~ nt, the abov~ f our blocks are those which may be recalibratQd7: However, it lies within thQ contemplation o~ the invention that less than these four blocks, or-blocks in addition to the four listed blocXs, may be calibrated. In any event/. a~ter the:. DSP ~leco~lPs the c~ ~ 1 hration type parameter, the a~ v~ iate calibration routine,. one of thcse described immediately hereafter, is executed .
SING~E l~CK SEEK FEEDFORWARD CONq~RO~LhR (27203 ~T.TR~A~rIoN. This command routine iF~mediately sets the post processing vector to SINGLE TRACK SEE~ FEEDFORWARD. The 15 - oommand status is ~leared, so as to c:~n~l any existing indication that a prior command has been t::c)mpleted. The DSP
~ele~::ts ~or example) head zero, and the destination track to track lOO. Thereafter, the SEEX routine i5 entered at a point where the tr~k;n~ status is reset, with subsequent operations 2 0 ~ executed as described above .
: INPUT OFFSET O~TT~R~TION (2102). . This calibration . command. routine-!~irst-~ts~ the..post:.~processing.::vector to ~OFFSET .~AT.TR~ ON; ~ describ~d below.:-;The'command status is . ~. cleared, and.head.:zero:.(for exa~ple~ is selected. ..The o~fset 25~;J .~accumulation.~ariable~is cleared, and the destination track is -;~ ? ' ~ ..;5et- to 20.~ Then,~the SEEK':~ -n~ routine is entered at a poink where the tracking status is reset, and- subsequent ''~ f~ operations-,executed:.as.described above.~
;.LOW ~AIN.~.NO~M~TTZATION;~TTR~ATION (2240).~ The post ~30~.-.a..~o~essing..;vector.i.~;~is ~et~ to:.~LOW ~ GAIN:: NO~T.TZATION
. r~7.TR~ oN~ described.below.~The command.~tatus,is~cleared.
~ .The DSPe6elects:a starting,head,,.:for example head zero, as ~...;...el..wPll a~ choosing a destination ~rackm~or;exa~plej~40) and a -:m..-,s ~-~aximu~ rack .(for~.example~ 760). ';~t~The ~A+B~accumulator is ,~35;~ clear~d,~:~and a:pointer. s~t:.~up for.~indicating a-place ini:a ta~l~ o~ straight-line equations, the~pla~e.being~a~unction o~ head and zone.:~-.A ~ample counter is set-to an initial .. ; ~ :.. Yalue. ~.Finally, the con~ol:.ef~ort is re~uc~ by one decibel . for ç~lihration-~ul~oses, th~ reduction :a~compli ~he~ by ~, ' ' ', .
: .
.. . .. ... , ; , . .

'i;W092/OS~3 2 ~ 3 2 ~ PCT/US9~ 2 ~7-reducing any suitable parameter in the DSP ~o.l~l.ol system.
Thereafter, the SEER c' ~n~ routine ic entered at the pla~e where the tracking status is reset, with subsequent operations being executed as described above.
. BIAS FEEDFORWARD C~TT~RA~ION (2750)~ The post processing - vector is set to BIAS ~T~T~RA~ION, de~cribed below. The co~mand status is cleared, to prevent i _~er indication that a co~mand has been co~pleted. The a~ ator for ~veraging the bias force variable~ is cleared, and the sample down-counter, indicating the number of samples to average, is initialized. The data ~ample pointers,- indicating data samples between the outside diameter and the inside diameter, is initialized. Finally, the starting track address is chosen. Then, the-SEEK co -n~ routine is entere~ at the point where the tracking status is reset, wikh subsequent operations being executed as described above.
The command routines described immediately above are exe~uted as part of blo~k 167 (FIG. 13). ~ith few exceptions (noted speci~ically), the ~OI1tLO1 passes to ~ense status block 168, in which a status e~oL~ is sent to the mastar via status buf~er 160 (FIG. lB~ After a next servo field sample 5illustrated in FIG. 143, a ~OIl~ ol routine designated by an a~tive control vector is executed i~ block .165 ~ 3~.
Important~co~i~Lol routines are ne~: describ~d.
25 . . ~O~R0~ ~u ~ FIG. 12 illustrates sche~atically the . . -60~tware-which may beiexecuted during the.~ontrol routines.
For 'purpos~s of ~his~,section, four col,Llol. routines are ; - ~described,~corrP~po~;n~:.to thei~uç~es~ive ~o~,L~ol routines listed in FIG~ i5. ~h~ ~our ~O~LO1 routines are ~ ce~sively .30.~ executed during a~eek from a-~60urc~-location;to a destination .trackj~ ~he :~ucce~iv~:~execution .ass~ that ,no outside -~~; ~ di~uLbance (suchras .a~physical--shock)~ ~eLLULbg ..~he sy~tem.
e..~ . s~It is under~tood~hat,~in-the ~vent~o~ fiuch pe~LuL~ation, the 5 tr~c~; ny; Ben~or ~ea5uri~g..the .distance.between.~he present :35~t; ;;-head-location and;the destination track ~ay.~cause:a;jump fro~
one routine to a previously executed routine..~4~It should be :x-~ noted that~the ~Gur;~routines describad below~are all executed : by the ~unction blocks illustrated:in FIG. 12 and sub-blocks ~ :---~ thereof. Th~ di~erence in ~unction be~ween the ~our routi~es . . ..
; ., 2Q~2~
W092/~5~3 PCT/US91/~02 derives from, for example~ the di~ference in gain of the FIG. 12 system, the difference in resclution and corresponding dif~erence in the parameters which are dynamically ~caled, differences in functioning of the ~ettling window detectors 260 and integrity testers.240, all as indicated in FIG. 15.
FIG. 12 is a comprehens~ve system allowing both tracking and sePk;ng to be accomplished without separate tracking and seek co~trollers.
~ The SEEK COr~LLOl routine. ~he SEEK ~CO~lLLOl routine begin~ by setting the analog-to-digital converter to low gain.
Then, the DSP inputs and proc~sP~ the raw sample from the analog-to-digital ~UilV~L Ler 132. At this time, the value of PESF is known.
-. Next, the DSP verifies the presence of a properly timed 15 :- qynchronization ~ignal. In the presence of a good synchronization signal, the mea~u~l -nt is scaled according to : -. a "bits per track" multiplier to placa the -a~ nt in.
~ - :units of "bits", a~ter :which the Co~RSE STATIC WlN~
subroutine, described below, i~ executed. If the 20:: ~y~ch~u~ization 6ignal was not . found, or was a bad .~ synchronization signal, ~he sc~lin~ step and the C~A~.~ STATIC
WlN~.. execution are skipped.... ! ~
The DSP then calculates the.observer.~u~L equations, 2(k). . Based on the-predicted position-and velocity states .25 rr. ~ comprising 2~(k), the DSP.generates the reference velocity and .- c~l.LLol effort u(k). The DSP ouL~Ls th~:~ol~L~l effort u(k) ~ a ~o~c~he udigital-to-~n~lo~ co.lve~Ler 114 (FIG. lB) after Se~r suitabl~ :8c~ng. i. Therea~ter, the:observer update equations ~,~r~ re CAl ted.~ *~ J~
:~30:s.~ Tha~:-D~P~then determines .whethex..rthe heads:are close ..-~.-,-. ~o enough~to~.~he~:destination :track~.to...ichange re~olution from -coarse:resolution to mid~r~solution.-~:.If;~th~.heads;are close r,o~ noll~hj~o ~he d~stination track,-.the DSP.:replaces.the coarse ''''.';'~'-~J~l ~re~oluti*n~parameters With ~id resolution paramet~rs and sets r35 .-7 /l~the3r~0~ALl~l. vector :to,3SHO~T.~SEEK,..-tolbe--~de~arihed below, .r~Iw~-.' RegardlQ~s ~:o~ whether ~the h~ad~ is clo~erlenough to the ."! de~tina~ion~ track, ~he ~ D~P. ~e -umput~s :the low gain .normalization ~actor (2240,'FIG..12~ and the bias feed~orward factor ~or block 2750 (FTG. 24). !Co~trol L~U~llS to the ~ain -, ,. .:, ' . - . .; .
.

'-:'W092/05~3 2 ~ ~ ~ 3 2 ~ pCT/US9l/~60~

loop, so that the SETTLE post processing routine may be executed.
The SHORT SEEK c~lLlol routineO The SHORT SEEK con~rol routine begins by setting the analog-to-digital converter to a low gain, and by sampli~g and proces~ing the raw sample therefrom. The m~a~ nt iS scaledl and the COARSE STATIC
WINDOW subroutine (described below) is ex~cuted. The observer equations are calculated.
Then, in accordance with FIG. 25, the DSP determines whether the positional error signal is in the linear range.
I~ the PES is in the linear range, the co..L~ol vector is set to LOW GAIN TRACKING and cor.~Lol passes to the LOW GAIN
TRACKING control routine, at the point at which the l;ne~r col~L ol effoxt is generated.
15 However, i~ the positional error signal is not in the linear range yet, the reference velocity and control effort u(k) are generated in accordance with the intermediate seek length compensator 2760 (FIG. 24). The c~s,~ol effort is a~Lu~iately-~caled and ~uL~L to the digital-to-analog converter to COII~ ol the plant. ~he observer update equations are then calculated. :
.. The:DSP.then determines vhether the head is too far from :: .the destination track ~or the~SHORT S~EK ~un~ol routine. I~
-: the destination should.for so~e reason~be too far away from the present location of the head, the P~S and V~L states are : ap~y~iately .-eC~ based.:on the current~:resolution mode -:.. . (coarse, mid,~or..fine),:and the COII~LO1 vector is set to the SEEK. CG~IL1~1 routine.~ In-any ~vent,.the DSP ~e ~ u,uLes the low gain..normalization.--factor -and~ he..bias.-feedforward --30 ~ . ~uantity:~befor~ Lu~lling to.the main loop..~ s-~, -The~LOW~AIN TRA~RING c,l,LLol routine.:. "5. This ~II
routine is used:~for-mid~re~olution, line~r:~o~LLol during low ~ gain tracking,~s.Fir~t, ~he analog-to~;digital~ onverter i5 ~t ..iJ;~.to-~low.gains~land~the~raw::'6ample ouL~u~7.*her~~L~ is input.
:35 ~ :Sample~int~grity.~testsi.are performed,.in;accordance with .~.the ..~measurement ~ n~, . C~ STA~IC J~lN~W :; and .FINE DYNA~IC
: - WINDOW shown in FIG. 20A.- Then, the ob~erver ~uL~u~:equations - : : are c~ ted. -- -. .. , ,, ~. - . : ~
. ;.
" , :

,:, ,, , ~ ;: : , :.. : ::

2~3~
W092/05~3 P~T/U~91/06602 ~ ~
i Next, the DSP determines whether th~ positional error signal is in the linear range, determined by the transfer ~unction illustrated in FIG. 25. If the positional error signal is not in the linear range, the c~nLLol vector is set to SHOR~ SEEK,- and the SHORT SEEK c;on~Lol routine is entered at an entry point beg;n~in~ with the generation of the reference velocity and control e~fort.
However, i~ the positional error signal is in the linear range, ~OnLLO1 remains in the LOW GAIN T~A~KT~G control roukine. ~he cGn~ol ef~ort, which is a linear co~L~ol effort, is generated. The control ef~ort is ap~,u~liately scaled and o~ to the digital-to-analog converter. Then, the observer update equations axe c ,~Led.
The winclow functions are then executed, eash in a ~nner ~ r 15to be consistent with FIGS~ 23A, 23B and 23C. The integrator window, ~he read window, the write window, and the high gain window are ~c~ ted~ ~inally, the low gain noL ~1i2ation factor is yle _ ,u~ed before COnLLO1 passes to the main loop for exacutivn of a suitable post processing routine ~normally the-SETTLE post processing routine)..
The HIGH GAIN TRACKING col.LLo:L routine~ The HI~H GAIN
~G routine:~is used~or.high resolution, linear OOn~LO1 : ~ during high gain tracking, and .corresponds-.to the E~enario ::.when:the head is stably positioned over:the center of the 25 ~- t k -~
rac . . , . ,~ .. ~ , . . .
.... ...,:'--First,-~the analog-to-digital ~ v~rLer is ~et to high gain, and th~ raw sample .ou1~u~ therefrom-is received by the DSP.~.~.The~ a~ple integrity testB are performed; in accordance ~ with~t~e coarse static window~c~ 1Ator:2420:and ~ine dynamic window calculator~2430. 7 Theoob~erver:oh~L equations are c~lc~ ted ".and the'linear~oo~ ol.effort.u(k) is generated, .!S' ~C~l e~ ,a~d,~uL~u~ to the ~di5ital~to-analog a~l.v~rLer9 The 'observer..update~equations are ~ uLed,-~J<and~the RE~D WINDOW, ~ E.. WlN~ .a~d LOW-... ~AINi ~lN~ ?;routines ~.are~; executed~
-'i 35~.r 1 ~ R~c~ }.the~;in~grator, window ,~.J is,~relativ~ily~.large, ~he ~ 5 ~.integrator win~ow''rout~ne need not be ~ Finally, the :- ,t--i DSP ~ ompute~ the lo~ gain nor~alization ~a~tor b~fore cvn~Lol ~eLuL--s to the ~ain loop ~or execution of a suitable ~ . , ' ,' . - ~: ' ' -~; W092/05543 PCT/~91/066~

post processing routine (no~ -lly the TRACK post processing routine).
SUBRO~ S. The control routines commonly call variou~
~uhroutines which implement are lower-level funckions.
For example, each time the CO~ILL ol 5ystem of FIG. 12 is invoked, the servo sample and timing test is executed. In this block 205, the ~ample period is measured, by deter~;n;~
the time transpired since the most recent confirmed servo ~ield was xead. It is possible that the input detection circuitry may falsely detect a servo ~ield when-in fact the head has not yet encountered the subsequent ~ervo ~ield. In this case, the servo sample ti~ing test 205 prevents execution of the rest of the functional blocks in FIG. 12, L~LUL11ing to await a servo field wit~in an expected time window after the 15 - previous confirmed servo field.
~ lternatively, the time window during which the subsequent servo field is expected to be detected may pass without such detection. ~Such an o~c~Len~e is noL- ~lly detected by the non occuLlerl~e o~ a s~nchronization field within the expected time window. In ~his event, the system :may ~enerate a "dummy" synchronizzltion signal to allow the ~unctional blocks in FIG.~12 to be e.xecuted in the "freewheel~
mode: in which. the servo-.~conL oller-; operates based on . predictions.from the full ~tate obs3erver 250.
25~ .Similarly, at-the o~LyuL :of the DSP,~routines must.. be used to ~u~uL ~the ~n~Lol e~fort.u(k):~:to the.digital-to--- an~lo~ c~l~ve~L~r-(DAC). In ~he event that the DAC input word is smaller-than the~~potential~magnitude.~of u(k)j-u(k) must be ~ clamped to'~e~el-~ DAC overflow.~:.Ini~his event,-FIG. 24 would :?30 ~ be:~odified ~o that:the ouL~u~ of adder.~2766~.passes throu~h a ' .clampi~g~block before being~u-~uL as U~k)"~''J The:fir t interim o~,~Lol.e~fort signal u'(k)~ hen:dete~mined as u(k) minus both:*h~'-con~ e~forts~Son pathsJ2749~!and~275~ In tho e :,.-..:- situations:J-when~:.,the,~u~yu~ on~ol ie~fortiis c~rP~, the power ampli~ier~aturation ~odel:must:be '&~ r iately ~c~le~
i, ~! as well. As will:~/raadily ~e appreciated by those ~killed in -.the art, thes~ subroutine~ ar~ highly flep~ t.on the analog-to~digital~a~d digital-to-analog ~.v~Ler~ plac~d at the - :~input a~d ~ uL of the di~ital ~i~nal yl~c~sor.~ ~owever, : , ,: .. : ., ' 2 ~
WO9~/05~3 PCT/US91/~C~2-'-the low level o~ these functions demonstrates that their implementation lies readily within the ability of those sXilled in khe art, bas~d upon their choice of the converters.
The preferred COARSE STATIC WINDOW routine shown as block 2420 (FIG. 20A) operates in the following manner.
First, the absolute value of the dif~erence between the - linear ext~n~e~ positional error signal PESLE and the predicted positional error ~ignal PESp is detel ined. If the : absolute value is less than a given clamped value, the r spurious sample flaq is cleared (assuming it was set in a previous sample period), a spurious sample counter is set to an initial value, and ~on~-ol Le~Lns to the c~lling routine.
If, however, the absolute value determinecl above i~ not less than the clamped value, the DSP dete~ ; n~S whether the 1~ spurious sample flag has been set in a previous sa~pl~ period.
If the spurious ~ample flag is set ~;n~;c~ting the present ~ample is the sec~n~ ~purious ~ample in a row), c~llLL~l returns ; ~ tely to the c~ routine~ Ho~eveL, if the spurious sample flag is not set, the observer is run open loop during this sample, with PESl being set equal to the predicted PES:--value, PESp. Then, the spurious sample counter is decremented:and .~h~P~ ~for expiration.. .If..the :spurious .~sample counter has~not:expired, corl~Lol ~L~l,s i ~ tely to the c~llin~ routine.' If the ~p~ ious ~ample has.expired, the spuriuus sample flag~and the spurious sample counter axe s~t, b~fore'c~nL~ol ~e~ul~s:to ~he ~ ng routine.
.?agriefly~:i the~ u~ose of..the : steps.- starting with ~: determination of wh~her.~the~spurious sample.flag is ~et, is to':ensuxe ~hat:the~predicted~~alue PESp is used.only certain :;30.s. .. h~rxof,times r(for example,~five~ti~es);..therea~ter, the measured value PESLE~ hould~be .used,~on the.a~sump~ion ~hat -: .~ ,the~i~ltially suspect-measur~d values are in~ee~correct and .'' '~5.''; ~ the'predicted value~ no longer~.track the head's:~true position.
~ .,J.~..xi. The pre~erre~ FINE:DYNAMIC WINDOW routine,-illustrated as ,-35 :~ ~'blo~k~2430-~FIG.' 20A)"o~Ls~es as~i~ollow~;~x~
'''.'. ' -'. ' ~.'f ' ~e~First,.khe:DSP~dete~mines,.Whether the absolute;value of - the di~e~ew~ bet~een ~he positional error signal m~nus the -.:. predicted value PESpj.~.is les~ ~han a~clamp value. If the ~ absolute-Yalue of-this di~ference '7iS ' le ~ than the clamp .

3 2 ~
W092/05~3 P~TlUSgl/~602 value, then the spurious sample flag is cleared and the spurious sample counter is set before i~mediately ~eLu ~ling to the calling routine. If, however, the absolute value of the difference is not less than the cla~p value~ the DSP
deteL ;n~s whether the spurious sample ~lag is set during a previous sample period. I~ the spurious sample flag is set, control ~eLULnS im~ediately to the calling routineO
If, however, the spurious sample flag is not set, then the o~L of the fine dynamic window calculator PES2 is set equal to the predicted state PESp ~ the clamp value, determined in accordanca with FIG. 2OB. ~he spurious sample counter is de~LI -~ted and tested for- expiration. If the spurious sample counter has not expirPd, ~ollLLol returns ~ tely to the calling routine. If, however, the spurious sample counter has expired, the spurious sample ~lag and the spurious sa~ple counter are set, and ~o}.L.ol ~e~u~"s to the ~ l1jng routine. This roukine ensures that the predicted value i-~ used for only a certain n h~r of sample periods, determined by the spurious sample counter, before the measured value PES~E.is selected in its plac:e.
SETT~ING WI~DOW D~ ON ~uu~ ;S. The ~ettling window :detectors 260 .have~been describ~.d-,in .general terms with reference:to ~IGS.- 23B, and 23C. ~owever~ to~upplement that general description, ~he following descriptions of ~equential .~ethods are pro~ided.- - . . . -~
.The lNlP~ OR window.: The.~ ~ATOR window determineswhen switch 2748 (FIG. 24) at the ou~L o~.integral C~ LO1 ::: ; e~fort-block-2740?isiopen or olo~ed. 'S~hat~ , this window etermines-whether.the o~u~.of the~integral:con~ol e$fort .30~ block..contri~utes:~to.a determination~of the final coi. ~L ol effort u(k) on-:pa~h-112.-~ x ~ r J~
.. First,-the-DSP;determineS whether the positional error signal~.is ;outside the "high window't.~::Here,:-~he~term "high -;r-ii window" denotes a~:,magnitude greater~.than:~.that o~;x~(xHysTl2) as shown in.FIG~.23A.~ Assa~baohy~v~ the ~S ~ay.ba outside .:-~ - :the:high window in:the:early parts of seeks.~ Even aft~r it is - less. than . the high:window ~or ~ ,few ~easurements, the : positionall.~error ~ignal may inorease-beyond the high window, or example, when the di6k ~riv~ receive~ a phy~i~al ~hook.

: , , ,: ,: : ........................... .
", : , , " ~ ", ,;~ ' ,: . ;

20~3~
W092/05~3 PCT/US9~/Q6602' :

If the positional error signal is greater ~han the high window, the ~ettling counter is LeL~l..ed to its initial value, the switeh 2748 is opened, and the integrator states saved when the heads were in a previous write window are now re~loaded into the integrator. Therea~ter, control ~eLu,l.s to th~ calling routine (LOW GAIN TRArRT~G or HIGH GAIN TRACKING).
If, above, it was dete, ine~ that the positional error signal was not outside the.high window, the DSP determines . whether the .integrator switch 2748 ie on. I~!it is on, c~s,LIol return~ to the-c~l 1 ;n~ routine. If the inte~rator switch is not~ on, the DSP then deteL i n~s whether the positional error signal is inside the low window.
If the positional error signal is not in th~ low window, ~ Lr ol returns ; ~ tely to the ~ l l i n~ routine. If the positional error signal i5 within the low window, the settling counter is decremented, and the DSP then determines whether the settling counter has underflowed (in~ ting expiration of the counter's settling time; see FIG. 23A). If it has not e~pired (indicating not enough time has p~e~e~ to verify stable settling), COII~L~1 ~eLul--s i -~;Ately ~o the calling routine. -However, i~-the settling counter has underflowed o:.~indicating expiration.o~ the settling counter's time, and . --~-.ftherefore stable-~settling), the integrator switch is turned :,:.on,.allowing..the integrator's ~UL~UL . to contribute to the control effort. Control then Le~UL-115 to the calling routine.
-~..:;;~. .:. .:~ The READ-.WINDOW. routi~e .is preferably~.i~ple~ented as ~;. follows. .~
.s~ r ,The READ Wl~UU.. routine determines~swhenJthe .read flay s :-.should be~set~or:cleared.~~.,The DSP ~Le~oLLs the .state of the :30,~Go ..read flag to;the ~asteri~~so ~hat;th~-~asterlcan.intelligently issu~ commands ko read at a ~ U~L ' ~ti~e. -..,.. ;~ 3 ~
'-i~' ' ' -3 ~ 7,.First,- the READ~wlN~ .routin~-.determines whether the . -~,.,i r~-~cpoSitional~error eignal~i~s~with~n ~he~!'low window'~ s used . "i:.,.herein/i~the~iterm ~"low window"~ denotes~a magnitud~ equal ~35. s e~o~X-(X~ys~/2),as~.,illUStrated.in~FI~...23A.-~
-j,, --:~.";.; -- ,T~ the.po~it~Qn~l error.~ignal.is.within ~he low window, .the settling~counter is de~L~ -nted. If the settling counter h~s expiredj U~ L~ u~l,s to the callin~ routine-(LOW GAIN
: TRAr~T~G or HIGH GAIN ~ArRTNG)~ Hu~ , if the settli~g 2 ~ 9 "-: W(~ ~2t05~43 PCI/VS~1/06602 counter has expired, the read f lag is set, indicating the settling of the posil:ional error signal for a su~ficien~
length of time to allow reading in~ormatiorl from the track.
After the read flag is set, c:ontrol returns to the calling routine.
If, at the outset , the positio~al error signal is not - within the low window, the settling counter is set to its initial value. Then,- the DSP determines whether the positional error signal is within the high window. If the positional error signal i5 within the high window, control returns ~o the calling routine.
I~, however, the positional error signal is not within the high wir~dow, the DSP clears the ~ettling c:ounter, as well as the read ~lag and write flag. Finally, the offtrack flag is set, ind:icating the heads are not sufiEic:i~ntly ~ettled on the destination track to justify ~ither . a write or a read operation. Immediately after the appropriate ~lags are set, con,L-ol ~etul~ls to the cP~ n~ routine. These flsgs are used by the post processing routine to ~orward c:o~e~yonding ~tatus in~o~nation to the master.
The LOW GAIN WRITE wlNL~Oh is pre~erably imple~ented as .. ::... follows. ~
: . - Fir~;t, the ~OW GAIN WRITE WI]NDOW routine ~he~ .a to ~;ee whether the read~flag îs set. If.the read ~lag is not set, it 25 ~ is assured that theipositional-error signal is outside the -~ read window~ and by implic:ation~outslde the smaller write window. There~ore, the present routin~ clear~.the write flag, ets thQ write-protection,~and sets the:o~ftrack bit before raturning to the calling.routine.~
: 30 ~ Assuming that~the.read ~lag.is set~the DSP~dete~ ;~es wheth~r the ~ES~is::within~.the low:window,.-x (xHysT/2). If the positional~error signal is within~the'low.window,;th~ spurious ample:flag is ~t (i~ it was.cleared in a previous sample)~
'''~'' '' ~'J the states~of~he~integrator 2740 are ~aved,~ and.:the ~ettling -35 ~:; counter~:is decremen~ed.~ ? :~".'.~.".-~iY '.~.S, ~
Then, the DSP ~he~ks to ~ee whe~her the.~ettling counter - ~ has underflowed (expired). ~I~ it ha~not expired, the coli~Lol : ~e~u~..s to the calling routine immediately.---Huw~v~L, if the ~ettling counter ha~ expired (indiGatin~ ~table ~ettling), ~he ; . - : . , ~ .
;: , ;,~, : :

W092/05543 P~T/US91/0~602 ~
--116-- r DSP disables the write. protection, sets the read and write flags, and clears the seek flag before returning to the calling routine.
If, originally, the PES was not within the low window, the ~SP sets the settling counter to its original ~alue.
Then, the DSP determines whether the positional error signal is within the hi~h window. If the PES is within the high window, any spurious sample flag is reset and co~.L~ol is : returned ko the c~ routine. If, however, the PES is not within the high window~ the DSP determines whether a spurious sample flag has been set in t~e previous sample. If the spurious sample flag was not already set, the ~purious sample flag is now set in the present routine, before ~e~LIling to the calling routine. H~wev~l, if the spurious sample flag was ~et in the previous sample, the write flag is cleared, the write protect bit is set, the offtrack bit is set, and con~ol r~uLIls to the c~llin~ routine.
- : The HIGH GAIN WINDOW routine determines when to enter the high gain mode~ First~ the DSP determines whether the positional error signal is within the low window, x-(x~yST/2) :in FIG. 23A. If the.PES is not within the low window, the settling counter is ~et and control ~~Lu~ls to ~he c~ll;n~
-. -. . routine. ~ ; the PES: is wi~in: the-~ low window, ~:he DSP
: ~ determines whethe r th velocity.;.J state is l~eneath a predetermined threshold. .If the velocity ~tate is not sm ller .than the predete ;nP~ threshold, the settling counter is set . ; and control~ s-to the c~ n~ -routine.
.-i .~.; ..',;~ ,;..r;I~.-~he velocity ~tate~ small enoughj and the positional ' error signal is within.the:low.window,~.the ettling counter is .;30 ~ decremented.i~-. If~?the'decremented-~ value.~o~ the counter ;n~ tes the settling time,has e~pired,~ the ~on~ol ~ector i~
. .
et to..HIG~-~GAIN.T~Ar~T~, described above,~e~ore ~O~!~LO1 .:,--~. ~e~LI1~ to~the c~l 1in~ routine. I~-~the s~ttling counter has ... not expired,: OO~LLO1 le~u~,.s~,imm~diately~.to the calling routine without setting the-i~u~ y~ctor-;~to--~HIGH :~GAIN
; ' ~, .''r.';3'- ~ TNG~ J ' ~ "-;~ , "", ,, ''',~ .;, t ~.
The ~IG~{ - GAIN WRIT~ WlNL101. routirl~, is - entered, as~uming -. ;;: -the co~lL~oller is already in the high gain.state. Fir~t, the : . :read ~lag .is ~he~kefl. I~ the read ~lag i~ not ~et, the .

~ 2~3329 C WO9~/05~43 PCT/US91/06602 position~l error signal i~ clearly not within the read window and therefore cannot be within the write window. Under these Ci~l Lances, the present routine immediately clears the write flag, enables the write protect, sets the offtrack flag and xeturns i ~;~tely to the calling routine.
If the read ~lag is set, the DSP determines whether the estimated posltional error signal P~S is inside the low write windowO If P~S is within the low write window, the spurious sample flay is cleared and the integrakor states are saved in the event of a physical :shock to the system in the near fu~e. Then, the DSP deter ines whether the observer error ouL~u~ by adder 2550 (FIG. 22~ is small enough. If the observer error is not small e~ough, control returns ~ tely to the c~l l ;ng routine. However9 if the observer error is small enough (below a predetermined thre~hold), the DSP decrements the settling counter and dete ;n~s whether it has expired. If the settling counter has not expired, cGIlLLol - ~etuL.. s im -a;~tely to the calling routine. I~, however, the settling counter has expired tindicating stable ~ettling), the DSP disables the write protection, sets the read and write . flags, and clears the seek flag before control LeLuL~Is to the -- : calling-routina. <~
-~ - : If, originally, P~S is not within the low-write window, . the:settling counter is s~t to its ~initial value.... ~he DSP
2S then deter inQS whether P~S is within the high window. If it is .within thè high ;window (implying::it is within the hysteresis zone), the~spurious' sa~ple .~lag.is :cleared and r.~ol ~~ et~LllS ' -immediakely *o -the~ c~ 11 i n~ ~routine. If, ;: - .3-:however,~~P~S is:not within the~high window, the DSP:~h~c~ to ~ee whether ~he;:~purious sample flag-has:already:been set,':in -the.previous 6amplé period.-:-If:~-the spurious ~ample flag is aiready set (indicating:two consecutive:~spurious sa~ples), the -- i~; write'flag i8 '~cleared:to effectively-.write ~-ect the disk re~ ~and'~onLLol r~u~l~s to the"call in~ routine-~:If,! however, the spurious sampla'flag has~not~already:~baen .set,.ithe present routine ~ets the ~purious ~ample flag to~in~ic~te the present - P~S~is outside:the high window,'and:c~nL~ eL~L-"s to the ~ 1 1 i ng routine.

.

329 f~
W~92/05~3 PCT/US91/0660 The LOW GAIN WINDOW routine include several tests, the routine determin;ng if co~ ol should be changed to a low gain ~ode~ This routine is designed for quickly and reliably detecting when an event has oc-ic~iL~ed to move the head off previously stable high gain tracking. In particular, any of several conditions will ~iause the controller to exit high gain modeO These conditions include:
1. If the positional error signal is at a maximum value two sample periods in a row, it is assumed that-the positional error signal is saturated, indicating an actual positional error too great for the system to measure.-2O The processed positional error signal PES' on path 241 is extrapolated to saturate (eYc~e~ its -~; value) based. on a very large e~timated ~elocity V~L. A large estimated velocity state indicates the plant is incapable of being c-ionLlolled quickly enough to compensate for the anticipated saturation of the positional error.
3. The estimated-positional error state P~S i5 not within its window.
. 4. The con~uL~ence of two conditions: (a) the proc~ssP~
:positional error signal PES' is not within its window, andi ~b) the spurious sample flag is set, indicating the previous sample was~ beyond its..:window. ..,~ These two conditions ~ colleictively confirmi~he hypothesi~; that the positional error .25 is too larg~ for high gai~ trackin~
;. ...5. .:The ~o~ ellc~ of two conditions: (a) the TrackID
rom.~he ervo field.is.not.the..requested track, and (b) the spurious gample ~lag.is set to indicate a previous sample was ;. not wi~hiin .itsiwindow.~ Collectively, ithiese~two .conditions ~:~30 i. ;-indicate:the~headi.is not.over.~the co~eL-i~-~j,track.
6~ The ~CO~ r Lence O~ WO conditions-~J~(a) the TrackID
,mea~ured~as.beingione track different.~han the~requested ',J ',' ~;~ track,--and-.(b):~the epositiona~ error ~signal~ at the aturation~.levelOs~Collect~Yely, these two.condltions confirm ,-s35,:~s~ ?the.head ~i~. 7 not .overjthe5requ2~ted track. .~, r, ,~ ,r~r: ~ ~a Be~ore the low.gain.~tracking ~ode,i3,exlted, ~he ~ ol vectcr is ~et.to LOW GAIN TRA~T~G, the write ~lag is cleared, and the offtrack bit is set.

.: .

3 2 ~ ~
.., ~ WO9~/Og~3 PCT/US91/06602 --~19--PO~ PROCE~8IN~ R~ . Various post processing routines executed within block 166 (FIG. 13) are now described. The choice o~ which post processing routine is execu~ed is deteL ;ne~ ~y the most recent setting of a post processing vector prior to entry into block:166. The post processing vector may.be detel i~e~, fox example, in either block 167 (during a co~mand routine), in block 165 (during a control routine), or within block 166 (during a previous post processing routine). -10 . . PARK. The P~K post processing routine is used to monitor the progress of a "park headsl' command execution, described aboveO First, the DSP deteL ines whether the park process has been completed. If it has been completed, control returns to the main loop~ If the park has not been completed, the DSP: determines whether the actuator has reached thehypothetical "destination track", track 1300. If "track 1300"
has not been reached~ a timeout counter is ~he~ke~ for expiration. If the-timeout counter has expired, or if the . actuator has reached track 1300, then a variety o~ functions are performed before le~u~.ling to ~he main loop. Howeverj if iit was deteL ~n~ that the timeout counter has not expired, ~-L~ol~leLur~ls immediately to.the main loop. .: .
Th function~ which are perfor~ed be~ore ~eLuLi~ing to the main loop, if the actuator has reached destination track 1300 .25~;,m. :or the -timeout counter has expîred; .include setting the ollLLul ef~ort to an-open loop bias toward ~he inner diameter ..end .top o~ ~ e disk dxive.. Both.the.~u~l~rol ~ector and the post pro~essing vector~.are ~et to:NOP, the.."no-operation"
routine which i~volve~an~ te~eLul., to:the c~l1i n~
:?e30 ~, routine without any processing.~-...The-~.co~mand status is set to s-~ .!'park co~plete~ or forwarding to ~he ~aster.~
~; ~?;~ .LOAD.HE~D. The LOAD ~E~D post processing routine is used to.-monitor-the-system:duri~g head-load operations.~ Briefly, the:LOAD HEAD routine.in~olves~in~ nting actuator current ~35~:Li~.rin~an openiloop fashioniuntil the actuator:..is biased out of its park position toward a track close ~o the outer ~ia--~er, , such.a~ track lOO. .is -:, --.. .. ~: The LOAD HEAD routine begins with a determination of ;- -- whether ~he load is cQ~plete.- Thi~ determination is made by "
, : . .:

2~6~
W092/05543 PCT/US9l/06602 -12~-reference to whether the head is ~tably positioned within the read window of track 100, ~or example. I~ the load is complete, ~ased on this criteria, c o.ll.Lol ~eLL~r~'s immediately to the main loop. If, however, the load is not ~omplete, the DSP deteL ;ne~ whether the servo is still operating in an open loop fashion. If the servo is not operating in an open loop fashion, the system passes to a l'closed loop portion" of the LOAD HEAD routine, that portion to be describ~d below.
When the load is determined not to:be complete, and the servo is dete~ ine~ to be operàting in an ope~ loop fashion, the DSP then determines whether there have been ten consecutive good ~ynchronization signals received. In this - case, indicating it~is safe to beqin operation in closed loop - mode,.the destination track is set equal to 100 and the SEEK
. command routine, described above, is ~ntered at the pla~e . where the tracking status.is reset.
. : : If~ however, the DSP determines ~hat ther~ have not been : ten good s~nchronization ~ignals in a row, 'the open loop CUL e~l~ . biasing the actuator toward the outside diameter is .~20 ~ incremented upward, and.the ouLle~l~ level compared to a '.' :' ;-t maximum value-~ I~ the ~ -UL L ellL level has not yet reached the maximum yalue,.cu,.L~ol leLur~ls immecliately.to.the main loop to .J !-~allow the new, higher level of-~uL.L~ to have an e~fect on ~ the:àctuator. ,.-:.25 ~ . If, however,.the ~L ~I-L l~vel.~has ~re~ç~e~ the ~;
value, a the DSP i n~ ic~tes a "head load ~ailure'!~ 6tatu~
for ~forwarding..to~the ~aster, and .applies-openY~loop bias -....-. ~.;r~oward-~he~inside diameter :5top to tte~pt to Jpark ths ac~uator ~e~ore l~Lu~ing to the main loop.~
-30u~ L;~ he s:~closed~~~loop port~on~' .o~ hé:~LOAD- ~EAD routine includesi-the following:.isteps.~ ~.First,~ he.DSP~-determines wheth~r..the~load is co~plete,.~such as~d~t~ ; nin~ whether the -heads have.settled stably within the-read window.of track 100.
If ~;the ~load ~ n complete,~l~tthe . DSP indicates ~,!'head load 35~-. ,..-.~.complete".:~tatus for the:~master,.and~L~uli,s immediately:~to ..the main.loop.~
If, ho~v~L, the load is not indicated as-complete based ::; : -: on thi~ criterion, :the DSP determines whether the timeout -counter has expiréd. I~ the timeout counter has not expired, . :'''. ' ' .: : .. ' : . ~

-~i 2~32~ -~, ' : W092t~S~3 PCT/US91/06602 control return~ to the main loop i ~ tely. If, however,th~ timeout counter has expir~d, the destination track is in~ ~ ~nted ~rom 100 on the assumption that sGmething was wrong with track lO0 but that the ~OAD HE~D routine has not .5 yet been deemed a failure~ To ensure that this process o~
incrementing the destination track - does not go on indefinitely, the DSP determines whether khe destination track has grown too large (Por example, greater than track 105). If the destination track is not too-large, f~or.L~ol is passed to the portion of the SEEK ~_ ~n~ routine begi nn; n~ where the command status is reset. I~ the destination track has become too large, the DSP indicates "head load failure" to the master, a~d applies open loop bias toward the inner diameter stop in the disk drive to attempt to park the heads, before returning to the main loop.
SETT~E. The SET~LE post processing routine is used to monitor the 6ettling status for seeks and for head selects~
The SETT~E post processing-vector is selected during the initial portion of the:SEEK ~ routine described above.
20. .First, the DSP determines whether there has been a ch~nge in the status o~ the read or write windows. That is, the DSP
..idetermines:whether.a read or write:window has been exited or . : entered since the last time ~he statu~ was ~he~ke~. IP there . ~ is no change in the status of ~he read window or write window, c~r.LLol r~turns immediately to the calling xoutin~. If, ', , ,r however, there is-a~change in,~tatus o~ the read window or . write.-window, any preYiou~ offtrack status ~or the master is ~ cleared, and:the nsw ~racking ~tatus is indicated to the .:3~, .';J._ :! ~aster.::Then,:the~DSP dete~ s whether ~he head has settled .;.,~.i30 .~ twithin..the wrike window.~ If ~he~.head ~i8 not~.s2ttled wi~hin r~(.;,the!-write.~indow~control LeL~ tely to.the c~ n~
'-; 'Jroutine~ r~ c..,~
. ~ e~ hl ~.ev~r~rr.th~ head;~hae.-isettled within the wrlte .;, .window, ~he~post-~rocessin~ ~ector~ set to~T~ACK~ on the 35~ pri~cipls"~hat; ~he~.~write~window:~.is~the: na~ L ~ window, guarantee~ n~ ~he~head i~.stably settled overltrack center.
After th~ po~t proceesing ~ector;is set to.~RACK, c~ ol Lu~ o the c~ n~ routine. : ~

::

:

2~832~
W092/05~3 PCT/U~9~/~602-;:;

As described above, the SETTLE post processing routine is invoked when the SEEg control xoutin~ sets the post processing vector to SETTLE. Thus, the SETTLE routine is repeatedly invoked during the sample periods of the first portion of seeks. When~the head has stably settled over center track, the post processing vector is set to TRACK for the remainder of the seek.
TRACK. ~he ~RACK post processing routine begin~ with a determination of whether there~is a change in the status sf the read window or the write window, analogous to the test performed in the SETTLE post processing routine. If there is no ch nge in these status, control L ~Lu~ IIS immediately to the : ca~ling routine. If, however, there has been a change in the status 'o~ the readiwindow or write window since the last status check, a~y previous of~track status for the master is cleared, a new tracking status is ~ent to-the master, and control is Le~LIIed to the:;~All in~ routine.
CALIBRATION POST PROCESSING --ROU11N~S. Various c~lihration post processing routines are provided, correspon~i ng to the c~ 1 i hration command routines described : above. These include khe bias calibration post processing ' routine, ~the no~ -liz~tion calibration lpost -~processing routine, the offset calibration post ~ocessing routine, and ' the ~inglP- tracX seek feedforward c~lihration post processing ;;~routine.~ s~ a~
BIAS ~T~TRRA~ION. :'~As-:described ~above, the piecewise l;nP~r bias fee~orward ~o~ oller is ~ hrated by averaging ~ a 'plural~ty lof- measurè~ents~at algroup ofShead posit~ons ; 3 distributed between~-~he ~outside diameter~ and .the inside 30' ~ diameter, as indica~ed-iin FIG.;:27; Prefexred se~uéntial s~eps i ';involved -in'vcollecting~data,îlav~raging'ithem,~iand;:processing the~ to arrive at bias feedforward valu~, are now.described.
.rA-~ S~ 7i~ The gIAsrr~T~TR~iTIoN~post~pro~es6ing routine begins with a~eter~ination o~:whether~calibration,is complete. I~ the 35 ~ c~l~hration is complete,r~con~ol ~uL~.s~a~ Qdiately to~the g~rou~ine.~ uw~ r i~ -:calibration-~is~.not co~plete, processing~continues-as ~ollowsO '~
. The DSP determines:whether ~he head has-settled within a writ~ window. I~ kha head has not Bettled within the write .. . . ,.. , . :

. ' ~ ,' ; ~ : .
.. ; ~ : , :, ' . .: ':. ~ ~ .:

2 ~ 2 ~
W092/05~3 PCT/US91/06602 window~ the settling timeout counter is ~!ke~ke~ to see whether it has expired. If the se~tling timeout counter has not expired, ~ollL~ol returns immediately to the calling routine.
Howaver, if the write window has not been entered, and the settlin~ timeout counter has expired, steps are taken to ensure that th~ system does not try indefinitely to attempt to avarage measured values. In this case, the bias force averag~r is cleared, the sample counter is reset, and the destination track is incremented ~or a ~ub~equent attempt at bias calibraticn. . I~ this in~rl- ~nted valuP of the destination track is too large, the command status is set to ~3c~1ihration failurel' for - ication to the master, the DAC
c~nt~ol effort is cleared, the control vector i5 set to NOP
(no operation), and the heads are parkedt:before control is ~eL~ ed to the calling routine. However, if the in~LI ~nted destination track is not too large, the SEEK c - n~ rsutine is entered at a point where the tr~~kin~ status is reset.
If it was determined above that the head is within the write window, the bias force sample is contri}:~uted to the sum 2 0 f or the average, and a sample c:otmter corresp~nfl i n~ to ~he number of ~amples to be averaged is decremented. Then, the - ... .DSP determines whether.the sa~ple count has expired, returning ..... .to~the c:~l l ;ng routine if. :it has expired. However, if the . sample count~r.has not expired, the DSP dete~min~s whether the : preserlt data point is.a Iirst data point taken. . .
this is not:.the.~irst data point taken, the slop~ and . .the Y-interaept be1:w~en tha . current measurement and ~he previous.~measurement-~is computed;~:the slope and Y-in~ercept ~then being stor~d in ~ table.~.. I~ this~is only:the~:first data .-30.. ~:point..~taken,.:~the:ic h~ation and torage~steps described immediately:.:abov~ are ~kipp~d. ~ L;~
Then, the~DSP dete. ;n~s whether this.i6 the la5t sample :.point.a~If:this~is thellast,~ample:point,~.t~e..~integrator is ~ :cleared andjkhei:bias:-~eed~orward:switch,~'is:..turned o~. The :35~ ommand.status~is.~et.ito indicate !!bias~c~ ration co~pleté~' o:.com~unicate completion.i:of the routine~to.khe master be~ore oio,.~ol L~ "S to.the C~ ng rou~ine.-~
- ,--. :~::-.~. If,-: holvev~~this is not the last~.,~a~ple point, the u~all~ ~easurement is saved for a ~ubsequent sample period, : , . . ,: , . ~

, .: . : : : . : . . . :-: , : ..
, . '"' '~: ~ , ':

2~8~2~
W092/05~3 PCT/US9l/~602 -12~-in anticipation that a slope and Y-interc2~L will have to be computed in the fu~uLe. The bias force averager i5 cleared, znd the ~ample counter is reset. Then, the destination tr~ck is in~ nted, and the SEEX command routine is entered at the . point where the tracking status is reset.
LOW GAIN NORMALIZATION.~AT.TRR~TION. The LOW GAIN
NORMALIZATION C~T~TR~ATION .post processing routine is implemented as follows. As described above with reference to - ~ FIGo 18B, various values are measured when the head is located - at.a plurality of positions between the outside diameter and the insid~ diameter of the disk, the values are avaraged, and a linear least squares approximation to the proc~ssed averages is determined for each zone on the disk. The flow of operations may ba as ~ollows.
-First, the DSP determines whether calibration is complete.~ I~ it is complete, oonL ~1 L~Lu~l.s i -~iately to the c~ll;n~ routine. If it i5 not complete, processing cont;nue~ as ~ollo~s.
The D P dete~ ines whether the head is within the write window andt if not, if the settle ti.meout counter has expired.
If the head is within ~he write window and th~ settle timeout counter.:.has~not~expired, c~lL.ol .e~uL~-s:immediately to the 1 t ng routine. If,. however, the head is not within the .:write window and th~ s~ttle-timeout counter has expired, the DSP takes actions to ensure that it does not try indefinitely . . .~ . to c~lihrate using a -certain ~rack which may be flawed in some way. ~In particular,~.the DSP clears-the "A+B" accumulator, :m;~ -r~sets the;sample-counter,i. and increments;the destination .~i;. .t~ .track~so ~hat~a new track may be used~for the normalization :~-'30~ c~lihration~If the new,--~incremented destination~track is.not too large, c~ ol p~5e~ ~0 the SEEK..command~:routine at the ~ point where the:~rA~;n~-status.is reset. ,~I~3the destination '-'J,' ~ Ji8 ~.too.large,,cunLLol:passes--~o a ~ e~Q~:portion~of the LOW
.GAIN NO~MATiTzATIoN c~lihration routine,~described below.
,~35~ o~ e~fh~~f~Retu~ ing to the:decision,~entioned~above,:~as:to whPther -e~he head~is;within the write windowjiif the~head i~ dete~ ;ne~
to be within the wr~te window,~another "A~" dibit sample is contribut~d to ~he sum for the.average,:and a sample counter -~decremented. The DSP then determines whether the sample ,, ., , ~ ~

.. .

2~32~ '' ' ; -.'.
' ; W0~2/05543 P~T/VS91/~6602 counter has expiredc If the sample counter has not expired,. control returns immediately to the calling routine. However/
if the ~ample counter has expired, the DSP co~Les (A~B)REF/(A+B)MEAS. The sample is saved in a table, along with a correspon~in~ TrackID. I~ the new, incremented destlnation track ~ll hPr ls not too large ~indicating the edge of the zone has not been reached~, the SEEK c~ ~n~ routine is entered at the point where the tracking status is reset. If, however, the n~w, in~L~ -nted destination track ~ h~r is too large, the "se~o~.portion" of.the LOW GAIN NORM~T.TZATION c~lihration routine menti~ned above, is entered.
. The !'second portion" of the LOW GAIN NORMALIZATION
calibration routine includes the following steps.
First, the DSP dete~ ; neS whether there are at least seven (~or example~ data points. If there are not yet seven data points, the command status is set to l'low ~ain no~ ation calibration ~ailure" ~or co~munication to the master. Th~ corL~ol ~fort to the D~C i~ cleared, and the heads are parked. :Finally, the rec~ested track is set to the current track be~ore . CGn~L~l i5 ~ laLuL..ed. to ~he c~ll;n~
routine.
~; : .;. , If,-..however, .it was determined that~there are at least seven data points, processing in the:LOW GAIN N~M~T.TZATION
~ : C~l;hration routine ~ay continue. Specifically, a least 25 ~ sguares 1;n~r fit to the data points :is computed, and the slope-and Y -inteL~e~ -for this head:~nd.zone are.determined.
. .With:this.portion~o~ the calculations:co~plete, the pointers ~g ,~ .for the a~ple:.buf~ers are reset, and:~khe:sample counter set r.'..~ ~~0'i.,i~ initial .value to prepare .for decreme~t~ng in a 30~ i .'subsequent iteration o~ Xhe c~libration loop.~
Th~n t .~he DSP determines.whether:.the-inner.zone (assuming ,there.~o'be -?~two:'zones3:~still~nee~ to be~performed ~or the present.headO~ If~rit-needsfto~i~.be:~performed;'~the requested track is ~et to the zon~ boundary+20.and.the maximum track is .35;~ ;mset .to 1240,~thussl'bracketing'!: the~,~zone.,~ Then, the !SEEK
;t .-. ' ~ command routine is~enkered.at~the point-where.the tracking - :. tatus is~reset.~
~ 'If~.hvu~ the DSP determines ~hat.the inner zone does not need to be per~or~ed for ~his head; a zone of~set is added . . ; .

.: ,. , : .
. , :

20~832~
W~92/0~3 PCT~US9l/06602 to the Y-intercept for the inner zone, to compens~te for the difference in "Y-intercepts" between the left side and the right side o~ FIG. 18B. Then, the DSP determines whether the calibration process has been performed for all heads. If the 5 . process has not been completed for all heads, the head number is incremented~ the reguested track is set to 40t the ~;
track is set- to 760 to !'bracketl' the zons, and the SEEK
command routine is entered at the point where the tracking ~tatus is resetO
If, however, the~DSP detel inP~ that the calibration routine has been completed ~or all heads, the ~ - n~ status is set to "low gain noL Ql; zation calibration complete" for ce ~ ;cation to the master. A power amplifier gain is set to a nominal value and the requested track is set to the current track before returning to the c~ g routine.
INPUT OFFSET. ~he ~ preferrecl INPUT OFFSET ~alibration : post processing routine includes the following steps, made.
with reference to FIG. 17B.. First,~-the DSP determines whether the c~l; hration has been completed. If the calibration has .20 been completed, COrlLLOl Le~UL~15 i -~i ately to the calling routine.
s- If~3~the~ 1 ihration i is; not .yet complete, processing - . continues as:follow~
;Firstt the DSP det~rm;~e~ whether:the head is-within the :25; write window and, if not,:whether the settle timeout coun~er ...-;~.. has~e~pired. If the head is not within the write window but the settle-timeout'~counter has expired, the DSP takes action ~s~ on.the.;assumption that it.~ho~ not continue indefinitely "~trying.l~.to ~:c~lihrate.. on, a.'potenkially flawed track.
Specifically,-~he-DSP::;sets:.,the ~ -n~ - tatus..to~ calibration -~s::;:....u~s~ failure~ for communication:to~the masterO ~ The~DSP clears the ~ J ~ DAC,cor.LLol ef~ort,;~and parki~ the heads.-~The control vector r ", ~ .,ip-~-~ isi~et -torNop:!~no :Gperation) ~before-control~is ~L~..ed to the ~ r ~ J' ..~GaIling..routi~le~ '. ' 't.~ .'' J' ~ 'i G' ..
/35 r~ J ;iso.r~ .huh~ev~r~! the~ DSP .deter~ines ,that the~head is not :.';.i---. within-thQ write window but:the ~ettle.~ out counter has not yet expired, co~,L,ol ~e~u~-5 immediately: to-~the calling . routine.without executing the a~orementioned-steps7 , :. :. .
:
, .... .
:. : .
' ~
, ' . , .'' ~

2 ~
~'W~ 92/05~3 PCT/US91/06602 If it was det~ e~ above, that the head was within the write window, the DSP then detel ines whether this is an offset ~-;hration sector. As described above, in the pre~erred embodiment, every tenth sector is an o~fset ~ hration sector, ~Qning that the dibits in.the PESF region of the servo field (FIG. 16) are located on the same side of track center, rather than on opposite sides of track center, If this is not a calibration sector, .the dibits should -- . effectively be ignored. The DSP determines whether this sector is one immediately pre~edin~ an offset calibration sector. If it is not a sector immediately prece~in~ an offset c~lihration, control returns to the c~lling routine ~ tely. Xf, however, the DSP dete~ ;nPs that the present sector; ~ tely prPce~es an offset c~l;hration sector, the DSP sets a "freewheel next-sector" bit to ?nsure that, during execution of.the next ~on~Lol routine, the freewheel mode is entered ~o that the of~set dibits, being on the same side of track center (FIG. 17B), do not contaminate the tracking function which should be performed only a~ter encountering a 20 82rVO ~ield with dibits on opposite sides of track center (~IG. 58).. After the "freewheel next sector" bit is set, . .; . : .:.: COI1 LL ol.~eLu. ns to the.c~ll; n~:routine...
: .; : - :.If,.above, it was~determined that the present sector is . ~n~of~set ~A1;hration eector, a positional error signal is .25 : ~:added to the of~set:.accumulator, and a sample :counter is :, .'?~ de~ nted, The~DSP.~then determines whether this is the last ~ ample:to be taken. If-not, C~??~I~LO1 etUr 116; ~di~tely to .1-? ~ --the;c~ll;n~ routine./~Ho~ev~ri~if this is determined-not to be the last sample, the value in thel~offset:accumulator is 3O-~J ~ divided by.the sampie count,~.thus:arriving-at.an average. The ~s~ result o~ithis.divi~ionr~is~tored~lin:-an offset variable, .a:co~p?eting~.the calculation~;~portion o~ -the~ calibration.
,Finally,- thei~co~mand.status-is ~et to~."offset calibration ~ ;s~complete~ or.A.co~municatio n~to:the master,-;:before .-~ L~l iS
.35 ~ s~e~ul~ed to ~h~.calling routine.~ o ~
0~ ;rr'l ;j ~ 5IMGLE-j~RACK~ SEER;-~T~TRR~ION-' -The~ preferred SINGLE
rt~ ~ ~ ' TRACK 5EER FEEDFORW~RD-~TT~ION post~procassing routin~
includes the following steps. Special re~er~nce is made to FIGS. 24, 26A, and 26B.

,- , . .
: ; , ' . .' :, . , . : ,,~ .
1:, h ~ W ~J ;' First, the DSP determines whethPr the calibration is complete. If the calibration is complete, co~,~rol returns ;~r~ tely to the calling routine. If the calibration routine is not yet complete, processing continues as followsO
5The DSP.dete~ ;nes whether.the head is currently within the wri$e window and, if not, whethex the settle timeout c~unter has expired. Under these circumstances, the DSP acts on the assumption that an undue -- u~lL of time has been spent attempting to calibrate, and terminates the calibration lOroutine early. Specifically, the DSP sets the ~ -n~ status to "c~l;hration failure" to r. icate to the master, and parks the heads before e4~ 0l returns to the calling routine.
If, however, the DSP dete~ ines that the head is not within the write window but the settle-timeout counter has not yet 15expired, a sector counter is in~ - Led, and the present PES
is contributed to an ac~ ted value before conLLol is L eL~r ~ed to the c~lli n~ routine. The ~ tion of the PES
in this manner relates to the incrementing of the value o~ the cost function. -20If, above~ the DSP determines that the head is settled within-the write window, processing continll~s as follows. The DSP det~rmines whether there are;more seeks to average, during this particular.combination o~ parameters.. If there are more seeks to average, the least significant bit of:the requested ~rackID is toggled, and the SEEK ~ -n~ routine is entered at the:~point-where the tracXing status~is reset. Toggling the . . . ,least. ~ignificant bit of the reguested TrackID causes a subsequent ~eek to be executed in a dire~tion opposite that of the:present seekO
.30 ~ ;.If,-above,:it was.determined that no more:seeks are to be ,.-. . ~ - averaged ~or .this ~particular com~ination of parameters . (acceleration and deceleration pulse magnitude and duration), s~ .the :DSP.. ~computes ~he per~ormance.. measure ~or .buth seek ..directions.~i-The performance~is:measured-as a:function of the sector counter (indic~ting-~.the time~:.required eto.enter the :::. . write window). The.performance is also measured as a function :.. of:the accu~ulated PES, which corresponds to a calculAtion of ; i the cost.function. . . . ...
. . . ~ :, ,. ~ .

- 2~32~
f,;
~'~ W092/OS5~3 PCT/~9~ 2 Al50, the DSP compares the per~ormance measures for both seek directions to the previously stored best performance mea~ures as deteL ;ne~ by the ;~; -7 cost function previously calculated. Based on the comparative performance, the DSP
determines whether the present inward seek or outwaxd seek performance are better than the previously stored measures.
I~ the present performance is better, the present performance measures are saved, as are the particular pulse configurations (acce~eration pulse duration and height; deceleration pulse duration and height). Of course, if the pres~nt perfo~ -nce measures are in~erior to those previously determined to be the previous best per~ormance measures, the present performances and pulse characterizations are not stored.
Then, the D5P determines whether there are any more feedforward combin tions to try in this zone. If there are more combinations to try, the DSP alters the feed~orward pulse combination (onP of the pulse duration or pulse height para~eters). The DSP clears the sector counters ~or seeks in both directions~ as well as the PES accumulator for both directio~s~ The seek counter is set to its initial value and the least significant bit of the requested track is toggled so as to allow se~k; n~ in a direction opposite to that o~ the present seek. Then, the SEE~ n~ routine is entered at the point wh~re the tr~kin~ status is resetO
If, above, the DSP deter~7nes that there are no more ~eedforward combinations to try in this zone, the DSP
det~ s whether there ar~ any mor~ zones on the entire disk to c~l~hrate. If there ar~ ~ore zones to calibrate, the destination track is set to a single track seek calibration in the next zone, and the S~EK ~om~and routine is entered at the point where the tracking statu~ is reset.
I~, however, the DSP deter~ine5 that there are no more zone~ to do, it sets the command status to "sin~le track seek ~1 t hra~ion complete~ ~or communication to the master. The single track seek feedforward block, previously having its ou~ co~nected ~rom the syst~m, is activated for use during operation. Finally, coll~ LOl ~e~LllS ~0 ths c~
routine.

.. .
::
-., ; :
: ; '1.: . i :. , :.~ ' ., 2~83~'~
W092/05~43 PCT/US91/~02 ~.--130~

Go~clu ~o~. Modifications and variations of the above-described , ho~; -nts of the present invention are possible, as appreciated by those ~killed in th~ art in light of the above teachings. It is therefore to be understood that, within the scope of the appended claims and their equivalents, the invention may be practiced otherwise than as specifically described. In particular, terms such as device, system, compensator, block, and so forth, need not be implemented in the manner described above to fall within the scope of the invention, but are meant to ~n~omr~i5 anything which could reasonably be interpreted as falling within the language o~
the claims.

'~

.: .
, . .... .

- . .
, . .. - . ,, :. .. ~
. . -. .. .. , . l .
: : : . :' ':'; . : :' ,. , , ~ .,,., ,: ., . ~' : .:
; ~,: ;, . ~ , .
... . . . . . .

Claims (25)

WHAT IS CLAIMED IS:
1. In an information storage device having a recording medium and a reading device for reading information from the recording medium, an arrangement for controlling the reading device's position relative to the recording medium by processing position samples encountered in respective sample periods and for providing an effort signal before a subsequent sample period to control the position of the reading device relative to the recording medium, the arrangement comprising:
a) at least one position information area embedded between information in the recording medium, the position information area including a fractional positional information area which the reading device encounters only once per sample period and which includes at least one dibit pair allowing determination of the reading device's position with a precision substantially smaller than a width of information tracks in the recording medium; and b) a position control device, responsive to only one dibit measurement per sample period from only one dibit pair per sample period from the reading device, the position control device including:
1) means for pre-processing the dibit measurement to compensate for non-ideal characteristics of the dibit measurement, and for generating a pre-processed signal for each dibit measurement, wherein the means for pre-processing includes:
i) means for compensating for gain of the reading device as a function of its position relative to the recording medium, in response to the only one dibit measurement per sample period; and 2) means, responsive to the pre-processed signal, for generating the effort signal.
2. The arrangement of claim 1, wherein a plurality of the position information areas collectively form:
a plurality of generally radially disposed servo fields separating generally wedge-shaped data areas in a disk-shaped recording medium.
3. The arrangement of claim 2, wherein:
the servo fields include a plurality of dibit pairs, each dibit pair corresponding to one of a plurality of generally concentric data recording paths, there being only one dibit pair per recording track between adjacent wedge-shaped areas.
4. The arrangement of claim 3, wherein the position control device includes:
means for processing the position samples derived from the dibit measurements, the means for processing completing a comparison between present position samples and a requested location, in time for the means for generating the effort signal to generate the effort signal before the reading device encounters a subsequent servo field.
5. The arrangement of claim 1, wherein the means for pre-processing includes:
means for determining whether an encountered signal corresponds to a time window in which the reading device is predicted to encounter a dibit pair.
6. The arrangement of claim 1, wherein the means for pre-processing includes:
means for correcting an electrical offset between paths that process respective signals derived from first and second bits of the dibits.
7. The arrangement of claim 1, wherein the means for pre-processing includes:

means for compensating a reading response of the reading device as a function of its position relative to a track of information in the recording medium, by providing a transfer function wherein:
1) the transfer function varies substantially linearly with relative position when the reading device is within a range about the track; and 2) the transfer function varies in a manner that is not substantially linear when the reading device is beyond the range.
8. The arrangement of claim 1, wherein the means for pre-processing includes:
means for reducing effects on the position control device of spurious position samples, the means for reducing effects including:
1) means for testing whether the position samples lie within a permissible range, the permissible range being based on previous position samples and previous effort signals; and 2) means for providing an integrity-tested positional error signal to the means for generating the effort signal, in response to the testing.
9. The arrangement of claim 1, wherein the means for pre-processing includes:
means for deriving an extended relative position value only from (1) current position samples and (2) a requested location, the extended relative position value defining a position of the reading device relative to the requested location throughout substantially all of the reading device's range of motion.
10. The arrangement of claim 1, wherein the means for generating the effort signal includes:
a state space observer including state variables representing position and velocity of the reading device with respect to the recording medium.
11. The arrangement of claim 1, wherein the means for generating the effort signal includes:
an integral controller, responsive to pre-processed position samples from the means for pre-processing, for generating the effort signal to control the position of the reading device relative to the recording medium.
12. The arrangement of claim 1, wherein:
the recording medium of the information storage apparatus has a storage density equivalent to two-sided disks 3.5 inches in diameter having an aggregate formatted storage capability of 120 megabytes.
13. The arrangement of claim 1, wherein:
the recording medium has information stored in tracks, there being about 1620 tracks per inch.
14. The arrangement of claim 1, wherein:
the position information field includes information determining the relative position of the reading device with respect to a requested position, over the entire area of the recording medium.
15. The arrangement of claim 1, wherein the means for pre-processing includes:
means for compensating for non-linear amplitude change of the dibit measurements as a function of reading device distance from a center of tracks in the recording medium.
16. The arrangement of claim 15, wherein:
the position information areas are embedded between information in the recording medium so that the reading device allows the position control device processes only one dibit measurement per data sector.
17. In an information storage apparatus having a recording medium with a plurality of tracks of informat and a reading device for reading information from the recording medium, an arrangement for optimizing movement of the reading device from a source track to a destination track which is a predetermined distance away from the source track, the arrangement comprising:
a) means for controlling, the means for controlling providing a seek control signal, the means for controlling operating using a set of calibrated values substantially defining the control signal, the calibrated values being formed by a means for calibrating, the means for calibrating including:
1) means for changing the position of the reading device relative to the recording medium by a given number of track width(s), using a present set of possible calibrated values;
2) means for measuring one or more performance parameters during the changing of position;
3) means for computing a present cost function in accordance with the measured performance parameters; and 4) means for saving the present set of possible calibrated values if the present cost function is superior to a previous best cost function for the present reading device and track location.
18. The arrangement of claim 17, wherein:
the means for controlling provides a single track seek control signal, the means for controlling including a set of calibrated values substantially defining the single track control signal, the single track control signal allowing the reading device to move from the source track to an adjacent destination track.
19. In an information storage apparatus having a recording medium, a reading device, and a position control system for controlling the position of the reading device relative to the recording medium during an operation in which the relative position of the reading device and a requested location relative to the recording medium is reduced, an arrangement for determining whether the reading device has stably settled within one or more given windows about the requested location, the arrangement comprising:
a) a first window detector including a timing device which determines when a parameter related to the position of the reading device relative to the requested location has continuously been less than a first window magnitude for a first predetermined period of time, the first window detector providing a first window signal; and b) a second detector, responsive to a calculated velocity of the reading device relative to the requested location, the second detector providing a second window signal;
wherein the first window signal and the second window signal contribute to one or more control signals which govern corresponding operations in the position control system.
20. In an information storage device having a recording medium and a reading device, an arrangement for controlling the reading device's position relative to a requested location relative to the recording medium throughout a seek operation in which the distance between the reading device and the requested location is reduced, the arrangement comprising:
a) means for controlling the position of the reading device relative to the recording medium by processing position-related signals, the position-related signals being related to at least the position of the reading device relative to the recording medium, wherein:
1) the means for controlling operates using a plurality of parameters which operate on the position-related signals during the processing, values of the parameters remaining substantially constant within each of a plurality of periods of the seek operation but varying among the periods; and 2) the means for controlling includes means for changing the values of the parameters so as to reduce errors in how the position-related signals represent quantities which relate to the position of the reading device relative to the recording medium, the changing being substantially in accordance with the periods of the seek operation.
21. The arrangement of claim 20, wherein:
the means for controlling operates in fixed point arithmetic; and the means for changing the values of the parameters reduces the errors by changing resolution of the parameters in accordance with periods of the seek operation so as to allow different quantities to be represented in the fixed point arithmetic.
22. The arrangement of claim 20, wherein the plurality of parameters include:

a plurality of parameter sets, each parameter set providing a different degree of resolution for mathematical quantities in the means for controlling.
23. The arrangement of claim 20, wherein:
the means for changing the values of the parameters includes means for changing the values of the parameters to increasingly finer resolution parameter sets as the distance between the reading device and the requested location is reduced.
24. The arrangement of claim 20, wherein:
the means for changing the values of the parameters includes means for changing the values of the parameters to increasingly finer resolution parameter sets as the velocity of the reading device with respect to the recording medium is reduced.
25. In an information storage device having a recording medium and a reading device for reading information from the recording medium, an arrangement for controlling the reading device's position relative to the recording medium by processing position samples encountered between data sectors and for providing an effort signal before an end of a subsequent data sector to control the position of the reading device relative to the recording medium, the arrangement comprising:
a) at least one position information area embedded between information in the recording medium, the position information area including a fractional positional information area which the reading device encounters only once per data sector and which includes at least one dibit pair allowing determination of the reading device's position with a precision substantially smaller than a width of information tracks in the recording medium; and b) a position control device, responsive to only one dibit measurement per data sector from only one dibit pair per data sector from the reading device, the position control device including:
1) means for pre-processing the dibit measurement to compensate for non-ideal characteristics of the dibit measurement, and for generating a pre-processed signal for each dibit measurement, wherein the means for pre-processing includes:
i) means for compensating for a gain of the reading device as a function of its position relative to the recording medium, in response to the only one dibit measurement per data sector; and 2) means, responsive to the pre-processed signal, for generating the effort signal.
CA002068329A 1990-09-18 1991-09-17 Digital servo control system for use in disk drives Expired - Fee Related CA2068329C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA002235104A CA2235104C (en) 1990-09-18 1991-09-17 Digital servo control system for use in disk drives

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58397290A 1990-09-18 1990-09-18
US583,972 1990-09-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CA002235104A Division CA2235104C (en) 1990-09-18 1991-09-17 Digital servo control system for use in disk drives

Publications (2)

Publication Number Publication Date
CA2068329A1 CA2068329A1 (en) 1992-03-19
CA2068329C true CA2068329C (en) 1998-10-13

Family

ID=24335373

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002068329A Expired - Fee Related CA2068329C (en) 1990-09-18 1991-09-17 Digital servo control system for use in disk drives

Country Status (8)

Country Link
US (10) US5646797A (en)
EP (1) EP0507907B1 (en)
AT (1) ATE175801T1 (en)
AU (1) AU8739091A (en)
CA (1) CA2068329C (en)
DE (1) DE69130762T2 (en)
ES (1) ES2129414T3 (en)
WO (1) WO1992005543A1 (en)

Families Citing this family (304)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5646797A (en) * 1990-09-18 1997-07-08 Rodime Plc Digital servo control system for use in disk drives
US5424881A (en) 1993-02-01 1995-06-13 Cirrus Logic, Inc. Synchronous read channel
JPH07169202A (en) * 1993-12-13 1995-07-04 Nec Ibaraki Ltd Magnetic disk device
US5666238A (en) * 1993-12-28 1997-09-09 Kabushiki Kaisha Toshiba Data sector control apparatus and method for disk storage system
EP1152409B1 (en) 1994-06-07 2006-08-09 Hitachi Global Storage Technologies Japan, Ltd. Information storing device
US6078444A (en) * 1995-05-12 2000-06-20 Cirrus Logic, Inc. Read channel auxiliary high precision data conversion
US5892634A (en) * 1995-05-23 1999-04-06 Kabushiki Kaisha Toshiba Method and apparatus for heat positioning control in disk storage system
US5729129A (en) * 1995-06-07 1998-03-17 Biosense, Inc. Magnetic location system with feedback adjustment of magnetic field generator
JPH0973618A (en) * 1995-09-07 1997-03-18 Toshiba Corp Head positioning control system for disk recording and reproducing device, and speed control method suitable for the system
WO1997015047A1 (en) * 1995-10-20 1997-04-24 Syquest Technology, Inc. Disk drive servo system
KR100251920B1 (en) * 1995-11-07 2000-04-15 윤종용 Initialization method of hdd with self tunning method
JP3875294B2 (en) * 1995-11-17 2007-01-31 富士通株式会社 Disk unit
KR0156861B1 (en) * 1995-11-27 1998-12-15 김광호 Auto-compensation method of servo control gain in hard disk drive
KR100195183B1 (en) * 1995-12-19 1999-06-15 윤종용 The extended data field of hard disk drive
US5793559A (en) * 1996-02-27 1998-08-11 Quantum Corporation In drive correction of servo pattern errors
US5912782A (en) * 1996-03-27 1999-06-15 International Business Machines Corporation System and method for adjusting actuator control current for directional torque variance in a disk drive
US5930068A (en) * 1996-04-05 1999-07-27 Seagate Technology, Inc. Detecting servo defects in a disc drive
US5706222A (en) * 1996-04-29 1998-01-06 International Business Machines Corporation Multiple mode peak detector
US5838515A (en) * 1996-04-30 1998-11-17 Quantum Corporation PWM/linear driver for disk drive voice coil actuator
US6125000A (en) * 1996-05-21 2000-09-26 Maxtor Corporation Disk drive seek control system utilizing predicted motion parameter and dynamic trajectory alignment
US5742443A (en) * 1996-05-31 1998-04-21 Industrial Technology Research Institute Method and apparatus for data placement of continuous media to utilize bandwidth efficiency
US6097564A (en) * 1996-06-05 2000-08-01 Mobile Storage Technology Inc. Method for precise velocity feedback control in an actuator system of a disk drive
US5949608A (en) * 1996-06-05 1999-09-07 Mobile Storage Technology Inc. Time dependent velocity-controlled disk drive actuator system
JPH1011927A (en) * 1996-06-24 1998-01-16 Toshiba Corp Device and method for servo writing for magnetic disk apparatus
US5926336A (en) * 1996-09-13 1999-07-20 Samsung Electronics Co., Ltd. Method and apparatus for rewriting servo information on a disk in a hard disk assembly
KR100223633B1 (en) * 1996-12-31 1999-10-15 윤종용 Recording method
JPH10222942A (en) * 1997-02-03 1998-08-21 Fujitsu Ltd Head positioning device for magnetic storage device
JP3317333B2 (en) * 1997-02-27 2002-08-26 インターナショナル・ビジネス・マシーンズ・コーポレーション Actuator control device and magnetic disk device
US6201322B1 (en) * 1997-03-19 2001-03-13 Seagate Technology Llc Brushless spindle DC motor used as an actuator to create radial force
US6046878A (en) * 1997-04-30 2000-04-04 Seagate Technology, Inc. Object positioning using discrete sliding mode control with variable parameters
US6031684A (en) * 1997-06-03 2000-02-29 Seagate Technology, Inc. Servo gain optimization using model reference seeks in a disc drive
US6304408B1 (en) * 1997-06-19 2001-10-16 Texas Instruments Incorporated Apparatus and method for a reduced seek-to-track time fuzzy rule controller for a hard disk drive read/write head actuator
JPH1139783A (en) 1997-07-14 1999-02-12 Internatl Business Mach Corp <Ibm> Start-up method and its device for information recorder
US5986830A (en) * 1997-07-30 1999-11-16 Cirrus Logic, Inc. Read/write channel write precompensation system and method using one or more delay clocks
US5978752A (en) * 1997-08-07 1999-11-02 Seagate Technology, Inc. Model validation algorithm for characterizing parameters and uncertainty in a disc drive
US6002232A (en) 1997-08-15 1999-12-14 Iowa State University Research Foundation, Inc. Robust vibration suppression methods and systems
US6490120B1 (en) 1997-08-29 2002-12-03 Seagate Technology Llc Servo gain optimization using a variable convergence factor
US6084538A (en) * 1997-09-05 2000-07-04 Cirrus Logic, Inc. Offset calibration of a flash ADC array
US5990707A (en) * 1997-09-05 1999-11-23 Cirrus Logic, Inc. Method and system for sliced integration of flash analog to digital converters in read channel circuits
US5990814A (en) * 1997-09-05 1999-11-23 Cirrus Logic, Inc. Method and circuit for calibration of flash analog to digital converters
US6028727A (en) * 1997-09-05 2000-02-22 Cirrus Logic, Inc. Method and system to improve single synthesizer setting times for small frequency steps in read channel circuits
JPH11265513A (en) * 1998-01-13 1999-09-28 Fujitsu Ltd Optical storage device
US6166876A (en) * 1998-02-24 2000-12-26 Seagate Technology, Inc. Minimizing settling time in a disc drive servo system
US6111712A (en) * 1998-03-06 2000-08-29 Cirrus Logic, Inc. Method to improve the jitter of high frequency phase locked loops used in read channels
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
DE19983364T1 (en) 1998-07-13 2001-06-13 Seagate Technology Power profile shaping to reduce disk drive seek time variation and acoustic noise generation
US6268974B1 (en) 1998-07-13 2001-07-31 Seagate Technology Llc Gain optimization in a disc drive
US6271636B1 (en) * 1998-09-14 2001-08-07 Seagate Technology Llc Servo control system and method for a data storage device with improved braking
US6313964B1 (en) 1998-09-23 2001-11-06 International Business Machines Early write enable with off-track write protection
US6515820B1 (en) 1998-09-25 2003-02-04 Seagate Technology Llc Sine seek adaptation at voltage and temperature margins
DE19983614T1 (en) 1998-10-09 2001-09-13 Seagate Technology Llc Disk drive method and apparatus for dynamically setting searches
US6285972B1 (en) * 1998-10-21 2001-09-04 Mts Systems Corporation Generating a nonlinear model and generating drive signals for simulation testing using the same
JP3516598B2 (en) * 1998-10-29 2004-04-05 パイオニア株式会社 Track jumping equipment
US6381088B1 (en) 1998-11-06 2002-04-30 Acorn Technologies, Inc. Apparatus for developing a dynamic servo signal from data in a magnetic disc drive and method
USRE40413E1 (en) * 1998-11-06 2008-07-01 Purchased Patent Management Llc Method and apparatus for developing a dynamic servo signal from data
TW526630B (en) * 1998-11-10 2003-04-01 Asml Netherlands Bv Actuator and transducer
US6054828A (en) * 1998-12-16 2000-04-25 Stmicroelectronics, N.V. Circuitry and methods for adjusting and switching the gain of a digital-to-analog converter in a disk drive
JP3559209B2 (en) * 1998-12-24 2004-08-25 富士通株式会社 Storage device
US6452355B2 (en) * 1999-01-08 2002-09-17 Siemens Aktiengesellschaft Control method and numerical control for the vibration-reduced acceleration of a movable machine element
US6487035B1 (en) 1999-01-15 2002-11-26 Seagate Technology Llc Method and apparatus for adaptive feedforward cancellation
US6341048B1 (en) 1999-01-25 2002-01-22 Seagate Technology Llc Method and apparatus for servo data synchronization in a disc drive
DE19983933T1 (en) 1999-02-22 2002-01-24 Seagate Technology Compensation for repeatable leakage errors
JP3552158B2 (en) * 1999-04-08 2004-08-11 富士通株式会社 Storage device
WO2000063896A1 (en) * 1999-04-21 2000-10-26 Seagate Technology Llc Adaptive h-infinity hardware controller for disc drive actuator control
US6594105B1 (en) * 1999-04-21 2003-07-15 Seagate Technology Llc Time optimal seeks using linear velocity scheduling
GB2363212B (en) * 1999-04-21 2003-07-23 Seagate Technology Llc Self tuning model reference controller in a disc drive
US6262619B1 (en) 1999-04-27 2001-07-17 International Business Machines Corporation Method and system for power amplifier offset nulling
US6469855B1 (en) 1999-04-30 2002-10-22 International Business Machines Corporation Method and system for adaptive settle and write inhibit constraints based on head geometry and servo/mechanical system
CN1357139A (en) 1999-05-07 2002-07-03 西加特技术有限责任公司 Repeatable runout compensatino using iterative learning control in disc storage system
US6549351B1 (en) * 1999-06-22 2003-04-15 Cirrus Logic, Inc. Auxiliary data encoding in a disk drive system
US6504670B1 (en) * 1999-07-06 2003-01-07 Maxtor Corporation Method and apparatus for reducing oscillations excited during a seek operation in a disk drive
JP2003505818A (en) 1999-07-23 2003-02-12 シーゲイト テクノロジー エルエルシー Reproducible run-out correction using a parameter-scheduled learning algorithm
US6184645B1 (en) * 1999-09-02 2001-02-06 Texas Instruments Incorporated Voltage mode drive for control circuit for an actuator using sampled back EMF control
IT1313394B1 (en) * 1999-09-16 2002-07-23 St Microelectronics Srl MOTOR CONTROL SYSTEM OF THE BEARING ARM OF A READING AND / OR WRITING HEAD DURING PARKING AND RELEASE PHASES.
US6594106B1 (en) 1999-10-29 2003-07-15 International Business Machines Corporation Adaptive servo estimator and compensator for coil and carriage deformation in voice coil motor driven hard disk drive
US6594103B1 (en) 1999-11-12 2003-07-15 Acorn Technologies, Inc. Read channel generating absolute value servo signal
US6545836B1 (en) 1999-11-12 2003-04-08 Acorn Technologies, Inc. Servo control apparatus and method using absolute value input signals
US20050240246A1 (en) * 1999-12-24 2005-10-27 Medtronic, Inc. Large-scale processing loop for implantable medical devices
TW507196B (en) * 2000-02-25 2002-10-21 Via Tech Inc Device and method of signal compensation for high speed disk drive
JP2001273647A (en) * 2000-03-29 2001-10-05 Sanyo Electric Co Ltd Optical disk device
US6490121B1 (en) 2000-03-31 2002-12-03 Seagate Technology Llc Accelerated servo control calculations method and apparatus for a disc drive
US6674606B1 (en) 2000-04-21 2004-01-06 Seagate Technology Llc Method and apparatus to normalize the acceleration constant
US6600621B1 (en) * 2000-05-31 2003-07-29 Hitachi Global Storage Technologies Netherlands B.V. Techniques for multitrack positioning and controlling error growth in self-servowriting systems
US6819521B2 (en) 2000-06-09 2004-11-16 Seagate Technology Llc Repeated runout position error compensation in a disc drive servo system
DE10196311T1 (en) * 2000-06-09 2003-12-04 Seagate Technology Llc Reduce actuator arm vibration during transient mode in a disk drive servo system
US6690534B2 (en) 2000-06-14 2004-02-10 Seagate Technology Llc Method and apparatus for handling multiple resonance frequencies in disc drives using active damping
US6831804B2 (en) 2000-06-20 2004-12-14 Seagate Technology Llc Method and apparatus for handling resonance effects in disc drives using active damping
JP2004507024A (en) 2000-08-23 2004-03-04 シーゲート テクノロジー リミテッド ライアビリティ カンパニー Method and apparatus using track scan data for highly accurate head control based on PES linearity
DE10043254A1 (en) * 2000-09-02 2002-03-14 Bosch Gmbh Robert Method for triggering an adjusting element/valve affected by hysteresis e.g. for motor vehicle, involves correcting triggering value for adjustment element with adjustment value by relying on temporary change in triggering value.
US6801384B2 (en) * 2000-09-14 2004-10-05 Samsung Electronics Co., Ltd. Voltage-constrained sinusoidal seek servo in hard disk drives
US6744590B2 (en) * 2000-09-14 2004-06-01 Samsung Electronics Co., Inc. Seek trajectory adaptation in sinusoidal seek servo hard disk drives
WO2002025389A1 (en) * 2000-09-19 2002-03-28 Fujitsu Limited Digital servo control method, digital servo control device, storage device, and head position control method
US6771454B2 (en) 2000-10-13 2004-08-03 Seagate Technology Llc Suspension sense capability for windage control
US6768609B2 (en) * 2000-11-27 2004-07-27 Seagate Technology Llc Reducing position error signal nonlinearity through iterative calibration of a compensation table
US7054094B2 (en) * 2000-12-12 2006-05-30 Seagate Technology Llc Real-time automatic loop-shaping for a disc drive servo control system
US6683743B2 (en) 2001-01-10 2004-01-27 Hitachi Global Storage Technologies Netherlands B.V. Method for controlling the velocity of an actuator arm in a hard disk drive
US7680004B2 (en) * 2001-01-25 2010-03-16 Dphi Acquisitions, Inc. Digital servo system with inverse non-linearity compensation
US7095685B2 (en) * 2001-01-25 2006-08-22 Dphi Acquisitions, Inc. System and method for detecting and recovering from an off-format state in an optical disc drive
US6977873B2 (en) * 2001-01-25 2005-12-20 Dphi Acquisitions, Inc. System and method to adjust the level of re-calibration effort based on disc drive performance
US7522480B2 (en) * 2001-01-25 2009-04-21 Dphi Acquisitions, Inc. Digital tracking servo system with multi-track seek with an acceleration clamp
US20030055026A1 (en) 2001-04-17 2003-03-20 Dey L.P. Formoterol/steroid bronchodilating compositions and methods of use thereof
US6667344B2 (en) 2001-04-17 2003-12-23 Dey, L.P. Bronchodilating compositions and methods
US6690523B1 (en) * 2001-04-30 2004-02-10 Western Digital Technologies, Inc. Disk drive for updating operating zone parameters with adapted zone parameters calibrated in the field
US6678108B2 (en) 2001-05-14 2004-01-13 International Business Machines Corporation Method and apparatus for identifying spindle imbalance in a hard disk drive
US6574070B2 (en) 2001-08-09 2003-06-03 Seagate Technology Llc Model reference generator for a disc drive
SG116453A1 (en) * 2001-09-20 2005-11-28 Seagate Technology Llc A system for combining automatic gain control values in a disc drive to perform drive performance operations.
JP3884936B2 (en) * 2001-09-21 2007-02-21 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ Rotating recording apparatus and control method thereof
US6867943B2 (en) * 2001-12-18 2005-03-15 Seagate Technology Llc Efficient feedforward compensation for repeatable runout in a disc drive
US7466507B2 (en) 2002-01-11 2008-12-16 Seagate Technology Llc Rangeless servo notch optimization
TWI283403B (en) * 2002-02-19 2007-07-01 Via Tech Inc Focus control method and device
US6882487B2 (en) * 2002-04-01 2005-04-19 Seagate Technology Llc Compensation for timing variation in disc drives employing servo tracking systems
US6831803B2 (en) 2002-04-01 2004-12-14 Seagate Technology Llc Repeatable runout identification device and method
AU2003240192A1 (en) * 2002-06-14 2003-12-31 Koninklijke Philips Electronics N.V. Controller device with switchable characteristic
US7035037B2 (en) * 2002-06-18 2006-04-25 Seagate Technology Llc Disc drive with compensation for non-repeatable runout
US7529051B2 (en) * 2002-08-05 2009-05-05 Seagate Technology Llc Compensation for variation in timing skew in a disc drive data storage system
EP1406246A3 (en) * 2002-09-27 2007-11-21 Matsushita Electric Industrial Co., Ltd. Disk drive and disk drive control method
US6870342B2 (en) * 2002-10-03 2005-03-22 Seagate Technology Llc Cosine bang-bang seek control for a voice coil of a disc drive
US6862155B2 (en) * 2002-11-07 2005-03-01 Seagate Technology Llc Squeeze evaluations that account for low frequency components, in a controller usable in a data handling system
ES2221552B1 (en) * 2003-03-03 2006-02-16 Diseños Electronicos, S.L. DEVICE FOR PROTECTION AGAINST SHORT CIRCUITS AND OVERCENSITIES.
US7002761B1 (en) * 2003-03-27 2006-02-21 Marvell International Ltd. Demodulation compensation for spiral servo tracks in hard disk drives
US6937424B2 (en) * 2003-05-12 2005-08-30 Hitachi Global Storage Technologies Netherlands N.V. Repeatable runout (RRO) compensation methods and apparatus for data storage devices
US7215503B2 (en) * 2003-06-20 2007-05-08 Seagate Technology Llc Time linear arrival for velocity mode seeks
US6930851B2 (en) * 2003-06-26 2005-08-16 Seagate Technology Llc Guiding a sensor using a broadly-curved lateral profile
TWI359675B (en) * 2003-07-10 2012-03-11 Dey L P Bronchodilating β-agonist compositions
US20050034539A1 (en) * 2003-08-14 2005-02-17 Tan Leeling Motor torque variation compensation
US6917483B2 (en) * 2003-09-02 2005-07-12 Seagate Technology Llc Non-consecutive transitional mechanism for seek operations when transitioning from a seek control to a track following control
US6906886B2 (en) * 2003-09-08 2005-06-14 Seagate Technology Llc Peak to peak detect method to protect seek/settle induced encroachment
US7127376B2 (en) * 2003-09-23 2006-10-24 Neurocom International, Inc. Method and apparatus for reducing errors in screening-test administration
US6958881B1 (en) 2003-11-26 2005-10-25 Western Digital Technologies, Inc. Disk drive control system having a servo processing accelerator circuit
US7139150B2 (en) * 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
JP2005301508A (en) * 2004-04-08 2005-10-27 Fanuc Ltd Control unit
KR100618854B1 (en) * 2004-07-30 2006-09-01 삼성전자주식회사 Method for optimizing a repeatable run out compensator and disc drive using the same
US7286317B1 (en) * 2005-02-03 2007-10-23 Maxtor Corporation Disk drive that compensates for repeatable runout of a disk based on measured timing between servo information and methods thereof
KR101253515B1 (en) * 2005-04-06 2013-04-11 소니 가부시끼가이샤 Servo control device, servo control method, and disc recording or reproducing device
US7493234B2 (en) * 2005-05-10 2009-02-17 International Business Machines Corporation Monitoring and reporting normalized device system performance
US7372382B2 (en) * 2005-06-27 2008-05-13 Intel Corporation Voltage regulation using digital voltage control
TWI302233B (en) * 2005-08-19 2008-10-21 Delta Electronics Inc Method for estimating load inertia and a system for controlling motor speed by using inverse model
US7145304B1 (en) * 2005-08-29 2006-12-05 Zoran Corporation Rotating storage media control loops having adaptive feed forward insertion of signals including harmonics
JP4109280B2 (en) * 2005-09-08 2008-07-02 ファナック株式会社 Machine having a movable part driven and controlled by a servo motor
US7319570B2 (en) * 2005-09-19 2008-01-15 Seagate Technology Llc Random vibration and shock compensator using a disturbance observer
US7733588B1 (en) * 2006-01-04 2010-06-08 Marvell International Ltd. Repetitive feed-forward algorithm for self-servo-write PLL
JP4690948B2 (en) * 2006-03-31 2011-06-01 東芝ストレージデバイス株式会社 Positioning control device setting determination method and positioning control device
JP4411428B2 (en) * 2006-03-31 2010-02-10 東芝ストレージデバイス株式会社 Head position control method, head position control device, and disk device
JP4550764B2 (en) * 2006-04-26 2010-09-22 東芝ストレージデバイス株式会社 SEEK CONTROL METHOD, SEEK CONTROL DEVICE, AND DISC DEVICE
JP4551884B2 (en) * 2006-05-09 2010-09-29 東芝ストレージデバイス株式会社 Disk unit with bi-directional communication function
JP5111912B2 (en) * 2006-05-10 2013-01-09 株式会社リコー Motor drive device and image forming apparatus
US7554761B2 (en) * 2006-06-13 2009-06-30 Seagate Technology Llc Open loop Ka calibration with low frequency compensation
US7436617B2 (en) * 2006-06-21 2008-10-14 Broadcom Corporation Controller, state estimator and methods for use therewith
US7369343B1 (en) 2006-07-27 2008-05-06 Western Digital Technologies, Inc. Disk drive correcting track address during a write operation
JP4991201B2 (en) * 2006-07-28 2012-08-01 株式会社東芝 Positioning control device setting determination method and positioning control device
US7930044B2 (en) * 2006-09-07 2011-04-19 Fakhruddin T Attarwala Use of dynamic variance correction in optimization
US7542225B1 (en) 2006-11-17 2009-06-02 Western Digital Technologies, Inc. Disk drive idle mode responsive to flex circuit cable bias changes
US7440223B2 (en) * 2006-11-22 2008-10-21 Samsung Electronics Co., Ltd. Written-in repeatable run-out correction for hard disk drives
US7546170B2 (en) * 2007-01-02 2009-06-09 Neuroblast, Inc. Easily tuned and robust control algorithm for single or multiple variable systems
DE102007009368B4 (en) * 2007-02-23 2015-03-26 Sew-Eurodrive Gmbh & Co Kg Method for regulating a position and drive for moving an object
US8024052B1 (en) * 2007-03-30 2011-09-20 Tim Hakala Adaptive mapping of device output change to amounts of control effort
US7558016B1 (en) 2007-04-20 2009-07-07 Western Digital Technologies, Inc. Disk drive servo control techniques for predicting an off-track condition utilizing an estimation filter
US7778120B2 (en) * 2007-05-08 2010-08-17 Mediatek Inc. Calibration method for determining servo parameters for accessing an optical disc
US7956619B2 (en) * 2007-05-31 2011-06-07 Woodward Hrt, Inc. Testing an inductive load of a device using a modulated signal
US8164845B1 (en) 2007-08-08 2012-04-24 Marvell International Ltd. Method and apparatus for asymmetry correction in magnetic recording channels
JP4908344B2 (en) * 2007-08-08 2012-04-04 株式会社東芝 Magnetic disk drive and magnetic head control method
US8085010B2 (en) 2007-08-24 2011-12-27 The Powerwise Group, Inc. TRIAC/SCR-based energy savings device for reducing a predetermined amount of voltage using pulse width modulation
US8698447B2 (en) 2007-09-14 2014-04-15 The Powerwise Group, Inc. Energy saving system and method for devices with rotating or reciprocating masses
US8810190B2 (en) * 2007-09-14 2014-08-19 The Powerwise Group, Inc. Motor controller system and method for maximizing energy savings
US7737793B1 (en) 2007-09-27 2010-06-15 Marvell International Ltd. Calibrating control loops
US7920448B2 (en) * 2007-10-05 2011-04-05 Princeton Technology Corporation Runout detection method
US7486470B1 (en) 2007-10-31 2009-02-03 Hitachi Global Storage Technologies Netherlands B.V. Hard disk drive vibration cancellation using adaptive filter
US8027119B2 (en) * 2007-11-07 2011-09-27 Seagate Technology Llc Vibration detection and compensation filter
US7885033B2 (en) * 2007-11-09 2011-02-08 Seagate Technology Llc Anticipatory track switching
KR20090085279A (en) * 2008-02-04 2009-08-07 삼성전자주식회사 Apparatus for hard disk drive and method for design an additional controller in hard disc drive
US8174781B2 (en) * 2008-05-05 2012-05-08 Hitachi Global Storage Technologies, Netherlands B.V. Method for screening magnetic-recording heads
US7595953B1 (en) 2008-07-22 2009-09-29 Hitachi Global Storage Technologies Netherlands B.V. Magnetic recording disk drive with switchable compensation for mechanical and electrical disturbances
US7826170B2 (en) 2008-09-18 2010-11-02 Hitachi Global Storage Technologies Netherlands, B.V Apparatus and method for adjusting a feed-forward signal for seek control during a seek operation
US8222313B2 (en) * 2008-10-06 2012-07-17 Xerox Corporation Radiation curable ink containing fluorescent nanoparticles
US7990818B2 (en) * 2008-12-23 2011-08-02 General Electric Company Cascaded control of a pick-up head for multi-layer optical data storage
US7864482B1 (en) 2009-02-27 2011-01-04 Western Digital Technologies, Inc. Disk drive calibrating VCM notch filter by increasing the width and/or the depth of the notch
GB2469140B (en) 2009-04-04 2013-12-11 Dyson Technology Ltd Control of an electric machine
GB2469129B (en) 2009-04-04 2013-12-11 Dyson Technology Ltd Current controller for an electric machine
GB2469128A (en) * 2009-04-04 2010-10-06 Dyson Technology Ltd Generating control signals for an electric machine from a position sensor
GB2469130B (en) * 2009-04-04 2014-01-29 Dyson Technology Ltd Control system for an electric machine
US8698446B2 (en) 2009-09-08 2014-04-15 The Powerwise Group, Inc. Method to save energy for devices with rotating or reciprocating masses
JP5824453B2 (en) 2009-09-08 2015-11-25 ザ パワーワイズ グループ,インコーポレイテッドThe Powerwise Group,Inc. Energy saving system and method for apparatus having rotating mass or reciprocating mass
US9142235B1 (en) 2009-10-27 2015-09-22 Western Digital Technologies, Inc. Disk drive characterizing microactuator by injecting sinusoidal disturbance and evaluating feed-forward compensation values
JP5312688B2 (en) * 2010-04-26 2013-10-09 三菱電機株式会社 Servo control device
JP5953004B2 (en) * 2011-02-08 2016-07-13 日本発條株式会社 Magnetic disk unit
US8760796B1 (en) 2011-06-03 2014-06-24 Western Digital Technologies, Inc. Reducing acoustic noise in a disk drive when exiting idle mode
JP5803361B2 (en) * 2011-07-12 2015-11-04 いすゞ自動車株式会社 Actuator control method and actuator control apparatus
US8917474B1 (en) 2011-08-08 2014-12-23 Western Digital Technologies, Inc. Disk drive calibrating a velocity profile prior to writing a spiral track
JP5838681B2 (en) 2011-09-16 2016-01-06 いすゞ自動車株式会社 Actuator control method and actuator control apparatus
US8737013B2 (en) 2011-11-16 2014-05-27 Western Digital Technologies, Inc. Disk drive selecting disturbance signal for feed-forward compensation
DE112012004848B9 (en) * 2011-11-22 2018-03-22 Mitsubishi Electric Corporation Motor control device
US9093105B2 (en) 2011-12-09 2015-07-28 Western Digital Technologies, Inc. Disk drive charging capacitor using motor supply voltage during power failure
US8824081B1 (en) 2012-03-13 2014-09-02 Western Digital Technologies, Inc. Disk drive employing radially coherent reference pattern for servo burst demodulation and fly height measurement
US8929021B1 (en) 2012-03-27 2015-01-06 Western Digital Technologies, Inc. Disk drive servo writing from spiral tracks using radial dependent timing feed-forward compensation
US8922937B1 (en) 2012-04-19 2014-12-30 Western Digital Technologies, Inc. Disk drive evaluating multiple vibration sensor outputs to enable write-protection
US8767343B1 (en) 2012-04-24 2014-07-01 Western Digital Technologies, Inc. Disk drive increasing integrator output range to complete seek operation
US8995075B1 (en) 2012-06-21 2015-03-31 Western Digital Technologies, Inc. Disk drive adjusting estimated servo state to compensate for transient when crossing a servo zone boundary
US8937784B1 (en) 2012-08-01 2015-01-20 Western Digital Technologies, Inc. Disk drive employing feed-forward compensation and phase shift compensation during seek settling
US8947819B1 (en) 2012-08-28 2015-02-03 Western Digital Technologies, Inc. Disk drive implementing hysteresis for primary shock detector based on a more sensitive secondary shock detector
US8917469B1 (en) 2012-09-13 2014-12-23 Western Digital Technologies, Inc. Disk drive correcting an error in a detected gray code
US9158296B2 (en) * 2012-10-19 2015-10-13 Abb Inc. Modeling profile response from bumping multiple consecutive profiling actuators
US8922938B1 (en) 2012-11-02 2014-12-30 Western Digital Technologies, Inc. Disk drive filtering disturbance signal and error signal for adaptive feed-forward compensation
US8879191B1 (en) 2012-11-14 2014-11-04 Western Digital Technologies, Inc. Disk drive modifying rotational position optimization algorithm to achieve target performance for limited stroke
CN103871435A (en) * 2012-12-10 2014-06-18 建兴电子科技股份有限公司 CD-ROM drive and operation method thereof
US9076490B1 (en) 2012-12-12 2015-07-07 Western Digital Technologies, Inc. Disk drive writing radial offset spiral servo tracks by reading spiral seed tracks
US8929022B1 (en) 2012-12-19 2015-01-06 Western Digital Technologies, Inc. Disk drive detecting microactuator degradation by evaluating frequency component of servo signal
US9047919B1 (en) 2013-03-12 2015-06-02 Western Digitial Technologies, Inc. Disk drive initializing servo read channel by reading data preceding servo preamble during access operation
US8902538B1 (en) 2013-03-29 2014-12-02 Western Digital Technologies, Inc. Disk drive detecting crack in microactuator
US9001454B1 (en) 2013-04-12 2015-04-07 Western Digital Technologies, Inc. Disk drive adjusting phase of adaptive feed-forward controller when reconfiguring servo loop
US20140320998A1 (en) 2013-04-24 2014-10-30 Western Digital Technologies, Inc. Disk drive with improved spin-up control
US8896957B1 (en) 2013-05-10 2014-11-25 Western Digital Technologies, Inc. Disk drive performing spiral scan of disk surface to detect residual data
US8953271B1 (en) 2013-05-13 2015-02-10 Western Digital Technologies, Inc. Disk drive compensating for repeatable run out selectively per zone
US8922931B1 (en) 2013-05-13 2014-12-30 Western Digital Technologies, Inc. Disk drive releasing variable amount of buffered write data based on sliding window of predicted servo quality
US8891194B1 (en) 2013-05-14 2014-11-18 Western Digital Technologies, Inc. Disk drive iteratively adapting correction value that compensates for non-linearity of head
US9047901B1 (en) 2013-05-28 2015-06-02 Western Digital Technologies, Inc. Disk drive measuring spiral track error by measuring a slope of a spiral track across a disk radius
US8830617B1 (en) 2013-05-30 2014-09-09 Western Digital Technologies, Inc. Disk drive adjusting state estimator to compensate for unreliable servo data
US9026728B1 (en) 2013-06-06 2015-05-05 Western Digital Technologies, Inc. Disk drive applying feed-forward compensation when writing consecutive data tracks
US8896950B1 (en) * 2013-06-12 2014-11-25 Texas Instruments Incorporated Analog front end for proximity sensing of tunneling current
US9147418B1 (en) 2013-06-20 2015-09-29 Western Digital Technologies, Inc. Disk drive compensating for microactuator gain variations
US9058827B1 (en) 2013-06-25 2015-06-16 Western Digitial Technologies, Inc. Disk drive optimizing filters based on sensor signal and disturbance signal for adaptive feed-forward compensation
US9076471B1 (en) 2013-07-31 2015-07-07 Western Digital Technologies, Inc. Fall detection scheme using FFS
US9484733B1 (en) 2013-09-11 2016-11-01 Western Digital Technologies, Inc. Power control module for data storage device
US9064537B1 (en) 2013-09-13 2015-06-23 Western Digital Technologies, Inc. Disk drive measuring radial offset between heads by detecting a difference between ramp contact
US8941939B1 (en) 2013-10-24 2015-01-27 Western Digital Technologies, Inc. Disk drive using VCM BEMF feed-forward compensation to write servo data to a disk
US9823294B1 (en) 2013-10-29 2017-11-21 Western Digital Technologies, Inc. Negative voltage testing methodology and tester
US9058834B1 (en) 2013-11-08 2015-06-16 Western Digital Technologies, Inc. Power architecture for low power modes in storage devices
US9471072B1 (en) 2013-11-14 2016-10-18 Western Digital Technologies, Inc Self-adaptive voltage scaling
US9142249B1 (en) 2013-12-06 2015-09-22 Western Digital Technologies, Inc. Disk drive using timing loop control signal for vibration compensation in servo loop
US8970979B1 (en) 2013-12-18 2015-03-03 Western Digital Technologies, Inc. Disk drive determining frequency response of actuator near servo sample frequency
US8917475B1 (en) 2013-12-20 2014-12-23 Western Digital Technologies, Inc. Disk drive generating a disk locked clock using radial dependent timing feed-forward compensation
US9025269B1 (en) 2014-01-02 2015-05-05 Western Digital Technologies, Inc. Disk drive compensating for cycle slip of disk locked clock when reading mini-wedge
US9269386B1 (en) 2014-01-29 2016-02-23 Western Digital Technologies, Inc. Data storage device on-line adapting disturbance observer filter
US9053726B1 (en) 2014-01-29 2015-06-09 Western Digital Technologies, Inc. Data storage device on-line adapting disturbance observer filter
US9058826B1 (en) 2014-02-13 2015-06-16 Western Digital Technologies, Inc. Data storage device detecting free fall condition from disk speed variations
US9361939B1 (en) 2014-03-10 2016-06-07 Western Digital Technologies, Inc. Data storage device characterizing geometry of magnetic transitions
US9142225B1 (en) 2014-03-21 2015-09-22 Western Digital Technologies, Inc. Electronic system with actuator control mechanism and method of operation thereof
US9047932B1 (en) 2014-03-21 2015-06-02 Western Digital Technologies, Inc. Data storage device adjusting a power loss threshold based on samples of supply voltage
US8913342B1 (en) 2014-03-21 2014-12-16 Western Digital Technologies, Inc. Data storage device adjusting range of microactuator digital-to-analog converter based on operating temperature
US9141177B1 (en) 2014-03-21 2015-09-22 Western Digital Technologies, Inc. Data storage device employing glitch compensation for power loss detection
US9013825B1 (en) 2014-03-24 2015-04-21 Western Digital Technologies, Inc. Electronic system with vibration management mechanism and method of operation thereof
US8934186B1 (en) 2014-03-26 2015-01-13 Western Digital Technologies, Inc. Data storage device estimating servo zone to reduce size of track address
US9625898B2 (en) * 2014-03-31 2017-04-18 Honda Motor Co., Ltd. Feedback control system having servomechanism monitoring system and methods of monitoring servomechanisms
US9208808B1 (en) 2014-04-22 2015-12-08 Western Digital Technologies, Inc. Electronic system with unload management mechanism and method of operation thereof
US9208810B1 (en) 2014-04-24 2015-12-08 Western Digital Technologies, Inc. Data storage device attenuating interference from first spiral track when reading second spiral track
US8982490B1 (en) 2014-04-24 2015-03-17 Western Digital Technologies, Inc. Data storage device reading first spiral track while simultaneously writing second spiral track
US8891191B1 (en) 2014-05-06 2014-11-18 Western Digital Technologies, Inc. Data storage device initializing read signal gain to detect servo seed pattern
US9053712B1 (en) 2014-05-07 2015-06-09 Western Digital Technologies, Inc. Data storage device reading servo sector while writing data sector
US8902539B1 (en) 2014-05-13 2014-12-02 Western Digital Technologies, Inc. Data storage device reducing seek power consumption
US8922940B1 (en) 2014-05-27 2014-12-30 Western Digital Technologies, Inc. Data storage device reducing spindle motor voltage boost during power failure
US9171567B1 (en) 2014-05-27 2015-10-27 Western Digital Technologies, Inc. Data storage device employing sliding mode control of spindle motor
US9053727B1 (en) 2014-06-02 2015-06-09 Western Digital Technologies, Inc. Disk drive opening spiral crossing window based on DC and AC spiral track error
US9013824B1 (en) 2014-06-04 2015-04-21 Western Digital Technologies, Inc. Data storage device comprising dual read sensors and dual servo channels to improve servo demodulation
US8941945B1 (en) 2014-06-06 2015-01-27 Western Digital Technologies, Inc. Data storage device servoing heads based on virtual servo tracks
US8958169B1 (en) 2014-06-11 2015-02-17 Western Digital Technologies, Inc. Data storage device re-qualifying state estimator while decelerating head
US9350278B1 (en) 2014-06-13 2016-05-24 Western Digital Technologies, Inc. Circuit technique to integrate voice coil motor support elements
US9171568B1 (en) 2014-06-25 2015-10-27 Western Digital Technologies, Inc. Data storage device periodically re-initializing spindle motor commutation sequence based on timing data
US9299374B2 (en) 2014-07-15 2016-03-29 International Business Machines Corporation Dynamically optimizing read performance by adjusting servo-based head location
US9007714B1 (en) 2014-07-18 2015-04-14 Western Digital Technologies Inc. Data storage device comprising slew rate anti-windup compensation for microactuator
US9349401B1 (en) 2014-07-24 2016-05-24 Western Digital Technologies, Inc. Electronic system with media scan mechanism and method of operation thereof
US9076473B1 (en) 2014-08-12 2015-07-07 Western Digital Technologies, Inc. Data storage device detecting fly height instability of head during load operation based on microactuator response
US9076472B1 (en) 2014-08-21 2015-07-07 Western Digital (Fremont), Llc Apparatus enabling writing servo data when disk reaches target rotation speed
US8982501B1 (en) 2014-09-22 2015-03-17 Western Digital Technologies, Inc. Data storage device compensating for repeatable disturbance when commutating a spindle motor
US9099147B1 (en) 2014-09-22 2015-08-04 Western Digital Technologies, Inc. Data storage device commutating a spindle motor using closed-loop rotation phase alignment
US9153283B1 (en) 2014-09-30 2015-10-06 Western Digital Technologies, Inc. Data storage device compensating for hysteretic response of microactuator
US9208815B1 (en) 2014-10-09 2015-12-08 Western Digital Technologies, Inc. Data storage device dynamically reducing coast velocity during seek to reduce power consumption
US9418689B2 (en) 2014-10-09 2016-08-16 Western Digital Technologies, Inc. Data storage device generating an operating seek time profile as a function of a base seek time profile
US9111575B1 (en) 2014-10-23 2015-08-18 Western Digital Technologies, Inc. Data storage device employing adaptive feed-forward control in timing loop to compensate for vibration
US9165583B1 (en) 2014-10-29 2015-10-20 Western Digital Technologies, Inc. Data storage device adjusting seek profile based on seek length when ending track is near ramp
US9245540B1 (en) 2014-10-29 2016-01-26 Western Digital Technologies, Inc. Voice coil motor temperature sensing circuit to reduce catastrophic failure due to voice coil motor coil shorting to ground
US9355667B1 (en) 2014-11-11 2016-05-31 Western Digital Technologies, Inc. Data storage device saving absolute position at each servo wedge for previous write operations
US9454212B1 (en) 2014-12-08 2016-09-27 Western Digital Technologies, Inc. Wakeup detector
US9251823B1 (en) 2014-12-10 2016-02-02 Western Digital Technologies, Inc. Data storage device delaying seek operation to avoid thermal asperities
US9129630B1 (en) 2014-12-16 2015-09-08 Western Digital Technologies, Inc. Data storage device employing full servo sectors on first disk surface and mini servo sectors on second disk surface
US9286927B1 (en) 2014-12-16 2016-03-15 Western Digital Technologies, Inc. Data storage device demodulating servo burst by computing slope of intermediate integration points
US9581978B1 (en) 2014-12-17 2017-02-28 Western Digital Technologies, Inc. Electronic system with servo management mechanism and method of operation thereof
US9230592B1 (en) 2014-12-23 2016-01-05 Western Digital Technologies, Inc. Electronic system with a method of motor spindle bandwidth estimation and calibration thereof
US9230593B1 (en) 2014-12-23 2016-01-05 Western Digital Technologies, Inc. Data storage device optimizing spindle motor power when transitioning into a power failure mode
US9407015B1 (en) 2014-12-29 2016-08-02 Western Digital Technologies, Inc. Automatic power disconnect device
US9437237B1 (en) 2015-02-20 2016-09-06 Western Digital Technologies, Inc. Method to detect power loss through data storage device spindle speed
US9959204B1 (en) 2015-03-09 2018-05-01 Western Digital Technologies, Inc. Tracking sequential ranges of non-ordered data
US9245560B1 (en) 2015-03-09 2016-01-26 Western Digital Technologies, Inc. Data storage device measuring reader/writer offset by reading spiral track and concentric servo sectors
US9214175B1 (en) 2015-03-16 2015-12-15 Western Digital Technologies, Inc. Data storage device configuring a gain of a servo control system for actuating a head over a disk
US9343102B1 (en) 2015-03-25 2016-05-17 Western Digital Technologies, Inc. Data storage device employing a phase offset to generate power from a spindle motor during a power failure
US9355676B1 (en) 2015-03-25 2016-05-31 Western Digital Technologies, Inc. Data storage device controlling amplitude and phase of driving voltage to generate power from a spindle motor
US9286925B1 (en) 2015-03-26 2016-03-15 Western Digital Technologies, Inc. Data storage device writing multiple burst correction values at the same radial location
US9343094B1 (en) 2015-03-26 2016-05-17 Western Digital Technologies, Inc. Data storage device filtering burst correction values before downsampling the burst correction values
US9245577B1 (en) 2015-03-26 2016-01-26 Western Digital Technologies, Inc. Data storage device comprising spindle motor current sensing with supply voltage noise attenuation
US9886285B2 (en) 2015-03-31 2018-02-06 Western Digital Technologies, Inc. Communication interface initialization
US9424868B1 (en) 2015-05-12 2016-08-23 Western Digital Technologies, Inc. Data storage device employing spindle motor driving profile during seek to improve power performance
KR101930198B1 (en) * 2015-05-22 2018-12-17 닛산 지도우샤 가부시키가이샤 Fault Diagnosis Device and Fault Diagnosis Method
US9396751B1 (en) 2015-06-26 2016-07-19 Western Digital Technologies, Inc. Data storage device compensating for fabrication tolerances when measuring spindle motor current
US9542966B1 (en) 2015-07-09 2017-01-10 Western Digital Technologies, Inc. Data storage devices and methods with frequency-shaped sliding mode control
US10464594B2 (en) * 2015-09-03 2019-11-05 Steering Solutions Ip Holding Corporation Model based driver torque estimation
US10336363B2 (en) 2015-09-03 2019-07-02 Steering Solutions Ip Holding Corporation Disabling controlled velocity return based on torque gradient and desired velocity error
US9437231B1 (en) 2015-09-25 2016-09-06 Western Digital Technologies, Inc. Data storage device concurrently controlling and sensing a secondary actuator for actuating a head over a disk
US9899834B1 (en) 2015-11-18 2018-02-20 Western Digital Technologies, Inc. Power control module using protection circuit for regulating backup voltage to power load during power fault
US20170160771A1 (en) * 2015-12-03 2017-06-08 HGST Netherlands B.V. Enhanced fan control in data storage enclosures
US9564162B1 (en) 2015-12-28 2017-02-07 Western Digital Technologies, Inc. Data storage device measuring resonant frequency of a shock sensor by applying differential excitation and measuring oscillation
US9620160B1 (en) 2015-12-28 2017-04-11 Western Digital Technologies, Inc. Data storage device measuring resonant frequency of a shock sensor by inserting the shock sensor into an oscillator circuit
US11246905B2 (en) 2016-08-15 2022-02-15 President And Fellows Of Harvard College Treating infections using IdsD from Proteus mirabilis
US11112705B2 (en) 2017-10-17 2021-09-07 Asml Netherlands B.V. Motor, dual stroke stage and lithographic apparatus
JP6897491B2 (en) * 2017-10-24 2021-06-30 オムロン株式会社 Servo driver and state change detection method
CN108762083B (en) * 2018-06-13 2021-04-02 长春萨米特光电科技有限公司 Automatic control system based on acceleration observer
JP7156131B2 (en) * 2019-03-27 2022-10-19 オムロン株式会社 Servo DC power supply system and motor controller

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3427606A (en) * 1966-03-02 1969-02-11 Ibm Memory system
US3881184A (en) * 1974-05-28 1975-04-29 Ibm Adaptive digital servo system
NL7509906A (en) * 1975-08-21 1977-02-23 Philips Nv DEVICE FOR READING A DISK-SHAPED REGISTRATION CARRIER.
US4135217A (en) * 1976-11-02 1979-01-16 Xerox Corporation Utilization of stored run-out information in a track following servo system
US4133011A (en) * 1977-12-23 1979-01-02 International Business Machines Corporation Sampled data positioning system employing a model of the physical system for time optimal control
JPS5564662A (en) * 1978-11-08 1980-05-15 Toshiba Corp Self-compensator for magnetic disk memory unit
US4355273A (en) * 1980-09-15 1982-10-19 Xerox Corporation Servo capture system
JPS57127904A (en) * 1981-01-29 1982-08-09 Toshiba Corp Readout circuit for magnetic storage device
US4412161A (en) * 1981-04-24 1983-10-25 Iomega Corporation Digital control of servo circuit
US4536809A (en) * 1982-05-10 1985-08-20 Digital Equipment Corporation Adaptive misposition correcting method and apparatus for magnetic disk servo system
US5109307A (en) * 1982-05-10 1992-04-28 Digital Equipment Corporation Continuous-plus-embedded servo data position control system for magnetic disk device
JPS58199471A (en) * 1982-05-17 1983-11-19 Toshiba Corp Speed control system of magnetic disk device
US4486797A (en) * 1982-11-22 1984-12-04 International Business Machines Corporation Sliding mask variable resolution velocity trajectory for track following servo
US4575776A (en) * 1982-12-20 1986-03-11 International Business Machines Corporation Magnetic recording disk file servo control system including an actuator model for generating a simulated head position error signal
JPS59154629A (en) * 1983-02-23 1984-09-03 Victor Co Of Japan Ltd Circuit for compensating signal characteristic for recording and reproducing position of rotating disc in radial direction
US4516162A (en) * 1983-04-21 1985-05-07 Magnetic Peripherals Inc. Method for verifying servo data
US4590526A (en) * 1983-11-01 1986-05-20 Amcodyne Incorporated Method and apparatus for controlling head movement relative to a disk in an embedded servo system
US4591933A (en) * 1983-11-28 1986-05-27 Computer Memories, Incorporated Disk drive head positioner with optimized seek operation
US4638383A (en) * 1984-02-22 1987-01-20 Mcginlay James G Micro hard-disk drive system
US4755977A (en) * 1984-07-05 1988-07-05 Storage Technology Partners Ii Runout compensation for a coarse tracking servo system in an optical disk storage unit
US4579103A (en) * 1984-10-01 1986-04-01 Poffenbarger Perry S Foot warming device
US4618898A (en) * 1984-12-20 1986-10-21 Advanced Micro Devices, Inc. Method and apparatus for reading a disk
US4616276A (en) * 1985-07-16 1986-10-07 International Business Machines Corporation Disk file servo control system with fast reduction of repeatable head position error
US4788608A (en) * 1985-10-22 1988-11-29 Nec Corporation Head positioning system for positioning a magnetic head on an eccentric target track
US4638384A (en) * 1985-11-19 1987-01-20 Rodime, Plc Head positioning mechanism for rotating disk data storage system
US4835631A (en) * 1985-12-05 1989-05-30 Fuji Photo Film Co., Ltd. Apparatus for controlling playback head tracking for rotary recording medium using average peak envelope position
US4783705A (en) * 1986-02-27 1988-11-08 Quantum Corporation High capacity disk file with embedded sector servo and SCSI interface
JPS62248168A (en) * 1986-04-21 1987-10-29 Hitachi Ltd Recording/reproducing method for magnetic disc device
US4679103A (en) * 1986-04-29 1987-07-07 International Business Machines Corporation Digital servo control system for a data recording disk file
US4677507A (en) * 1986-05-30 1987-06-30 Magnetic Peripherals Inc. Digital velocity control for a disk drive servo system
US4786990A (en) * 1986-05-30 1988-11-22 Hewlett-Packard Company Servo gain compensation in a disc drive
US4697127A (en) * 1986-06-09 1987-09-29 International Business Machines Corporation Adaptive control technique for a dynamic system
US4821125A (en) * 1986-06-11 1989-04-11 International Business Machines Corporation Compensation of write current adn delta-V for recording component and radial position
US4937689A (en) * 1986-10-14 1990-06-26 Maxtor Corporation Apparatus for controlling seek strategy of read/write head in a disk drive
JPS6398885A (en) * 1986-10-14 1988-04-30 Nec Corp Magnetic head positioning controller
US4775903A (en) * 1986-10-14 1988-10-04 Hewlett-Packard Company Sampled servo seek and track follow system for a magnetic disc drive
US4879612A (en) * 1986-11-26 1989-11-07 Data Technology Corporation Head positioning servo-mechanism with error reduction capabilities
US4823212A (en) * 1986-11-26 1989-04-18 Hewlett-Packard Company Sampled servo code format and system for a disc drive
JP2612262B2 (en) * 1986-12-16 1997-05-21 富士通株式会社 Magnetic disk device
JPS63281264A (en) * 1987-05-13 1988-11-17 Mitsubishi Electric Corp Information storage device
JPS63316380A (en) * 1987-06-19 1988-12-23 Victor Co Of Japan Ltd Magnetic disk device
JPH0821210B2 (en) * 1987-07-09 1996-03-04 日本電気株式会社 Position error compensation method
JPS6448291A (en) * 1987-08-17 1989-02-22 Nec Corp Magnetic disk device
US4835633A (en) * 1987-09-16 1989-05-30 International Business Machines Corporation Disk file digital servo control system with compensation for variation in actuator acceleration factor
US4835632A (en) * 1987-09-16 1989-05-30 International Business Machines Corporation Disk file digital servo control system with multiple sampling rate
JPH0677379B2 (en) * 1987-09-30 1994-09-28 株式会社東芝 Disk device
JP2559616B2 (en) * 1988-03-22 1996-12-04 富士写真フイルム株式会社 Magnetic recording device
US5101303A (en) * 1988-03-22 1992-03-31 Fuji Photo Film Co., Ltd. Peak position detecting method and peak position deciding method in magnetic playback apparatus
US4969059A (en) * 1988-03-28 1990-11-06 Rigidyne Corporation Offset nulling system for computer disk drives
JPH0757111B2 (en) * 1988-05-13 1995-06-14 富士通株式会社 Magnetic disk servo circuit
JPH0821213B2 (en) * 1988-08-05 1996-03-04 富士通株式会社 Sector servo information detection method
US4914644A (en) * 1988-09-26 1990-04-03 International Business Machines Corporation Disk file digital servo control system with coil current modeling
US4890172A (en) * 1988-09-27 1989-12-26 Digital Equipment Corporation Automatic servo gain calibration system for a disk drive
NL8802435A (en) * 1988-10-05 1990-05-01 Philips Nv DEVICE FOR SCANNING A RECORD CARRIER, AND A CONTROL CIRCUIT FOR APPLICATION IN SUCH A DEVICE.
US5227931A (en) * 1988-10-31 1993-07-13 Canon Kabushiki Kaisha Stepper motor head driving device accounting for hysteresis error
US4942564A (en) * 1988-10-31 1990-07-17 Hewlett-Packard Company Servo system gain compensation method for magneto-optic disk drives
JPH02148476A (en) * 1988-11-30 1990-06-07 Toshiba Corp Servo magnetic disk device
JPH02149983A (en) * 1988-11-30 1990-06-08 Nikon Corp Auto-tracking device
JPH02154361A (en) * 1988-12-05 1990-06-13 Mitsubishi Electric Corp Magnetic disk device
US5063454A (en) * 1989-01-10 1991-11-05 Fujitsu Limited Automatic adjustment method and system for servo motor circuit of a magnetic disk apparatus
US5182684A (en) * 1989-03-08 1993-01-26 International Business Machines Corporation Estimator positioning system and method
JPH0348308A (en) * 1989-03-28 1991-03-01 Canon Inc Digital servo controller
US5038333A (en) * 1989-05-05 1991-08-06 International Business Machines Corporation Positioning systems including reliable track crossing detection for high speed relative motions
JPH0373476A (en) * 1989-05-17 1991-03-28 Mitsubishi Electric Corp Recording device
JPH02304780A (en) * 1989-05-18 1990-12-18 Nec Gumma Ltd Floppy disk device
JPH02312072A (en) * 1989-05-29 1990-12-27 Nec Corp Magnetic head positioning controller
US4914725A (en) * 1989-07-10 1990-04-03 International Business Machines Corporation Transducer positioning servo mechanisms employing digital and analog circuits
US5287227A (en) * 1989-11-08 1994-02-15 Seagate Technology, Inc. Track dependent variable level qualification pulse detector
JPH03156720A (en) * 1989-11-15 1991-07-04 Nec Corp Servo information detector for buried servo system
JP2993052B2 (en) * 1990-05-30 1999-12-20 ソニー株式会社 Disk drive device
JPH0444688A (en) * 1990-06-12 1992-02-14 Ricoh Co Ltd Optical disk driving device
US5128813A (en) * 1990-06-21 1992-07-07 Quantum Corporation Thermal compensated head positioner servo for disk drive
US5646797A (en) * 1990-09-18 1997-07-08 Rodime Plc Digital servo control system for use in disk drives
JPH04155677A (en) * 1990-10-19 1992-05-28 Fujitsu Ltd Servo pattern demodulating system
JPH04159608A (en) * 1990-10-23 1992-06-02 Nec Gumma Ltd Magnetic recorder
DE4035067A1 (en) * 1990-11-05 1992-05-14 Teves Gmbh Alfred CIRCUIT ARRANGEMENT FOR CONTROLLING AN ACTUATOR
JP2634489B2 (en) * 1990-12-21 1997-07-23 富士通株式会社 Magnetic disk drive
US5270627A (en) * 1991-06-24 1993-12-14 Unilens Corp., U.S.A. Machine tool control system
JP3125452B2 (en) * 1992-07-02 2001-01-15 ソニー株式会社 Magnetic disk drive
JPH06243617A (en) * 1993-02-19 1994-09-02 Toshiba Corp Magnetic disk device and integrated circuit for read reproduction
DE69425008T2 (en) * 1993-03-26 2000-11-02 Halliburton Energy Serv Inc Digital mud pulse telemetry arrangement
US5432352A (en) * 1993-09-20 1995-07-11 Eaton Corporation Ion beam scan control
KR0138329B1 (en) * 1994-02-07 1998-06-15 김광호 Interface method and apparatus in digital signal process system
JP2948090B2 (en) * 1994-03-04 1999-09-13 日本コロムビア株式会社 Optical carrier recording device
JP3334354B2 (en) * 1994-09-06 2002-10-15 ソニー株式会社 Variable speed playback method and playback apparatus for digital video signal
JPH0877538A (en) * 1994-09-09 1996-03-22 Hitachi Ltd Magnetic disk device

Also Published As

Publication number Publication date
DE69130762D1 (en) 1999-02-25
AU8739091A (en) 1992-04-15
US5675450A (en) 1997-10-07
ATE175801T1 (en) 1999-01-15
US5914829A (en) 1999-06-22
US6347018B1 (en) 2002-02-12
CA2068329A1 (en) 1992-03-19
US5680272A (en) 1997-10-21
WO1992005543A1 (en) 1992-04-02
US5638230A (en) 1997-06-10
EP0507907B1 (en) 1999-01-13
US5684650A (en) 1997-11-04
EP0507907A1 (en) 1992-10-14
US5677809A (en) 1997-10-14
DE69130762T2 (en) 1999-09-09
US5914830A (en) 1999-06-22
US5602689A (en) 1997-02-11
ES2129414T3 (en) 1999-06-16
US5646797A (en) 1997-07-08

Similar Documents

Publication Publication Date Title
CA2068329C (en) Digital servo control system for use in disk drives
US5072318A (en) Disk file with adaptive cancellation of nonrepeatable disk runout
CA1268857A (en) Digital servo control system for a data recording disk file
JP3875294B2 (en) Disk unit
US4914644A (en) Disk file digital servo control system with coil current modeling
US6178060B1 (en) Current profile shaping to reduce disc drive seek time variation and acoustic noise generation
US5917672A (en) Disk file head positioning servo system incorporating adaptive saturated seek and head offset compensation
US6046878A (en) Object positioning using discrete sliding mode control with variable parameters
EP0209692A2 (en) A disk file servo control system with fast reduction of repeatable head position error
US8369041B2 (en) Method and apparatus for reducing repeatable runout in storage systems
KR100737265B1 (en) Head positioning control method, head positioning control device and disk apparatus
EP0264535A2 (en) Shock and vibration disturbance compensation system for disc drives
US6504670B1 (en) Method and apparatus for reducing oscillations excited during a seek operation in a disk drive
US6545838B1 (en) Self tuning model reference controller in a disc drive
US20040004782A1 (en) Data storage apparatus, rotation control apparatus, and rotation control method
US6449117B1 (en) Reducing acoustic noise using a current profile during initial stages of a disc drive seek
JPH09231701A (en) Head positioning control method
CA2312044C (en) Digital servo control system for use in disk drives
CA2235104C (en) Digital servo control system for use in disk drives
Chen et al. Application of digital servo control on high-performance VCM in HDD
JPH0696545A (en) Head-positioning control device for data recording and reproduction apparatus
JP2001250349A (en) Disk device

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed