US20010043428A1 - Compression and storage of written-in error compensation tables in an embedded servo disc drive - Google Patents

Compression and storage of written-in error compensation tables in an embedded servo disc drive Download PDF

Info

Publication number
US20010043428A1
US20010043428A1 US09/781,363 US78136301A US2001043428A1 US 20010043428 A1 US20010043428 A1 US 20010043428A1 US 78136301 A US78136301 A US 78136301A US 2001043428 A1 US2001043428 A1 US 2001043428A1
Authority
US
United States
Prior art keywords
values
frequency
domain
repeatable run
compensation values
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.)
Granted
Application number
US09/781,363
Other versions
US6449116B2 (en
Inventor
John Morris
Thomas Zirps
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.)
Seagate Technology LLC
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US09/781,363 priority Critical patent/US6449116B2/en
Assigned to SEAGATE TECHNOLOGY LLC reassignment SEAGATE TECHNOLOGY LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MORRIS, JOHN C., ZIRPS, THOMAS C.
Publication of US20010043428A1 publication Critical patent/US20010043428A1/en
Assigned to JPMORGAN CHASE BANK, AS COLLATERAL AGENT reassignment JPMORGAN CHASE BANK, AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: SEAGATE TECHNOLOGY LLC
Application granted granted Critical
Publication of US6449116B2 publication Critical patent/US6449116B2/en
Assigned to JPMORGAN CHASE BANK, AS COLLATERAL AGENT reassignment JPMORGAN CHASE BANK, AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SEAGATE TECHNOLOGY LLC
Assigned to SEAGATE TECHNOLOGY LLC reassignment SEAGATE TECHNOLOGY LLC RELEASE OF SECURITY INTERESTS IN PATENT RIGHTS Assignors: JPMORGAN CHASE BANK, N.A. (FORMERLY KNOWN AS THE CHASE MANHATTAN BANK AND JPMORGAN CHASE BANK), AS ADMINISTRATIVE AGENT
Assigned to WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT AND SECOND PRIORITY REPRESENTATIVE, JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND FIRST PRIORITY REPRESENTATIVE reassignment WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT AND SECOND PRIORITY REPRESENTATIVE SECURITY AGREEMENT Assignors: MAXTOR CORPORATION, SEAGATE TECHNOLOGY INTERNATIONAL, SEAGATE TECHNOLOGY LLC
Assigned to SEAGATE TECHNOLOGY LLC, MAXTOR CORPORATION, SEAGATE TECHNOLOGY HDD HOLDINGS, SEAGATE TECHNOLOGY INTERNATIONAL reassignment SEAGATE TECHNOLOGY LLC RELEASE Assignors: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Assigned to THE BANK OF NOVA SCOTIA, AS ADMINISTRATIVE AGENT reassignment THE BANK OF NOVA SCOTIA, AS ADMINISTRATIVE AGENT SECURITY AGREEMENT Assignors: SEAGATE TECHNOLOGY LLC
Assigned to SEAGATE TECHNOLOGY US HOLDINGS, INC., SEAGATE TECHNOLOGY INTERNATIONAL, EVAULT INC. (F/K/A I365 INC.), SEAGATE TECHNOLOGY LLC reassignment SEAGATE TECHNOLOGY US HOLDINGS, INC. TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Assignors: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT AND SECOND PRIORITY REPRESENTATIVE
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/59627Aligning for runout, eccentricity or offset compensation
    • 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
    • G11B21/106Track 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 on disks
    • 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

Definitions

  • the present invention relates to servo systems in disc drives.
  • the present invention relates to compensation for errors in servo systems.
  • Disc drives read and write information along concentric tracks formed on discs. To locate a particular track on a disc, disc drives typically use embedded servo fields on the disc. These embedded fields are utilized by a servo subsystem to position a head over a particular track. The servo fields are written onto the disc when the disc drive is manufactured and are thereafter simply read by the disc drive to determine position.
  • the first type of error is a written-in error that arises during the creation of the servo fields.
  • Written-in errors occur because the write head used to produce the servo fields does not always follow a perfectly circular path due to unpredictable pressure effects on the write head from the aerodynamics of its flight over the disc, and from vibrations in the gimbal used to support the head. Because of these written-in errors, a head that perfectly tracks the path followed by the servo write head will not follow a circular path.
  • Track following errors arise as a head attempts to follow the path defined by the servo fields.
  • the track following errors can be caused by the same aerodynamic and vibrational effects that create written-in errors.
  • track following errors can arise because the servo system is unable to respond fast enough to high frequency changes in the path defined by the servo fields.
  • One existing technique for repeatable run-out error compensation involves storing time-domain compensation values in the form of a compensation table on discs in the disc drive. These compensation values are injected into the servo loop to compensate for repeatable run-out errors. Typically, a time-domain compensation value for each servo sector is required to be stored in the compensation table. The resulting large compensation table needs to be stored on discs in the drive due to the large memory requirement.
  • the present system relates to a repeatable run-out error compensation scheme that employs a compression technique that is integral to the compensation algorithm and stores frequency-domain compensation values in the compensation table, thereby addressing the above-mentioned problems.
  • a method and apparatus for compensating for repeatable run-out errors in a disc drive in which transfer function values for a servo loop in the disc drive are first determined. A sequence of repeatable run-out values for a portion of the disc drive is then determined. A transform is applied to the sequence of repeatable run-out values to obtain frequency-domain repeatable run-out values. Each frequency-domain repeatable run-out value is divided by a respective transfer function value to produce a sequence of frequency-domain compensation values which are then stored. An inverse transform is applied to the frequency-domain compensation values to obtain a sequence of time-domain compensation values. The sequence of time-domain compensation values is inserted into the servo loop.
  • FIG. 1 is a perspective view of a head-disc assembly (HDA) in accordance with the present system.
  • FIG. 2 is a top view of a section of a disc showing an ideal track and a realized written-in track.
  • FIG. 3 is a block diagram of a prior art servo loop.
  • FIG. 4 is a block diagram of a servo loop of the present invention.
  • FIG. 5 is a flow diagram of a non-iterative embodiment of the present invention.
  • FIG. 6 is a flow diagram of an iterative embodiment of the present invention.
  • HDA 100 includes a housing with a base 102 and a top cover (not shown).
  • HDA further includes a disc pack 106 , which is mounted on a spindle motor (not shown) by a disc clamp 108 .
  • Disc pack 106 includes a plurality of individual discs which are mounted for co-rotation about central axis 109 .
  • Each disc surface has an associated slider 110 which is mounted in HDA 100 and carries a read/write head for communication with the disc surface.
  • sliders 110 are supported by suspensions 112 which are in turn supported by track accessing arms 114 of an actuator 116 .
  • the actuator shown in FIG. 1 is of the type known as a rotary moving coil actuator and includes a voice coil motor (VCM), shown generally at 118 .
  • VCM voice coil motor
  • Other types of actuators can be used, such as linear actuators.
  • Voice coil motor 118 rotates actuator 116 with its attached sliders 110 about a pivot shaft 120 to position sliders 110 over a desired data track along a path 122 between a disc inner diameter 124 and a disc outer diameter 126 .
  • Voice coil motor 118 operates under the control of a closed-loop servo controller within internal circuitry 128 based on position information, which is stored on one or more of the disc surfaces within dedicated servo fields.
  • the servo fields can be interleaved with data sectors on each disc surface or can be located on a single disc surface that is dedicated to storing servo information.
  • the read/write head As slider 110 passes over the servo fields, the read/write head generates a readback signal that identifies the location of the head relative to the center line of the desired track. Based on this location, actuator 116 moves suspension 112 to adjust the head's position so that it moves toward the desired position. Once the transducing head is appropriately positioned, servo controller 128 then executes a desired read or write operation.
  • Section 200 includes a plurality of radially extending servo fields such as servo fields 206 and 208 .
  • the servo fields include servo information that identifies the location of actual track 204 along disc section 200 .
  • Any variation in the position of a head away from circular track 202 is considered a position error.
  • the portions of track 204 that do not follow circular track 202 create written-in repeatable run-out position errors.
  • a position error is considered a repeatable run-out error if the same error occurs each time the head passes a particular circumferential location on the disc.
  • Track 204 creates a repeatable run-out error because each time a head follows the servo fields that define track 204 , it produces the same position error relative to ideal track 202 .
  • a head attempting to write to or read from track 204 will not follow track 204 but instead will more closely follow perfectly circular track 202 . This is accomplished using a compensation signal that prevents the servo system from tracking repeatable run-out errors resulting from the irregular shape of track 204 .
  • FIG. 3 a block diagram of a servo loop 300 of the prior art is shown.
  • the servo loop includes a servo controller 302 , having a gain of “K” and a disc drive 304 having a gain of “P”.
  • Servo controller 302 is the servo control circuitry within internal circuit 128 of FIG. 1.
  • Disc drive 304 includes actuator assembly 116 , voice coil motor 118 , track accessing arm 114 , suspension 112 , and sliders 110 , all of FIG. 1.
  • Servo controller 302 generates a control current 306 that drives the voice coil motor of disc drive 304 .
  • disc drive 304 produces head motion 308 .
  • the written-in error, d w is represented as a separate input signal 310 even though the written-in error would otherwise appear implicitly in head motion 308 .
  • the separation of written-in error 310 from head motion 308 provides a better understanding of the present invention.
  • noise in the servo system has been separated and appears as noise 312 , which is added to the head motion.
  • the sum of head motion 308 , written-in error 310 and noise 312 results in the head's servo measurement signal 316 .
  • Servo measurement signal 316 is subtracted from a reference signal 318 , which is generated by internal circuitry 128 based on a desired location for the head. Subtracting head measurement 316 from reference signal 318 produces position error signal 320 which is input to servo controller 302 .
  • R is the repeatable run-out portion of position error signal 320 as defined in EQ. 13.
  • the present invention adds a compensation signal to the servo loop of the prior art.
  • This added signal is shown in servo loop 400 of the present invention, which is shown in FIG. 4.
  • the compensation signal added to the servo loop is compensation signal 402 , which is produced by compensation circuitry 404 .
  • compensation signal 402 is inserted after the summation of written-in error 310 and head motion 308 .
  • the compensation signal can be added at other locations within the servo loop.
  • d c is compensation signal 402 . From EQ. 4, it is apparent that the effects of written-in error, d w , will be eliminated by compensation signal, d c , if the compensation signal is equal to the negative of the written-in error.
  • R is the repeatable run-out component of the position error measurement.
  • the compensation signal injected into the servo loop of the present invention is a time-domain signal.
  • this time-domain signal is determined using stored frequency-domain compensation values produced by a modified version of the frequency domain relationship shown in EQ. 6.
  • the stored frequency-domain compensation values are read and transformed into a time-domain compensation signal when the servo system seeks to a specified track.
  • the sample rate f s is defined as:
  • T s is the sample period and RPM is the rotations per minute of the disc.
  • N is the number of servo sectors
  • k is a specific sector
  • ⁇ f spindle is the spindle frequency in Hz
  • is an index set of integers drawn from a subset of the integers 1 to N 2 .
  • This index set defines the frequencies of the written-in error that will be compensated. Because a reduced index set is used, the standard Fast Fourier Transform (FFT) algorithm is not employed, and instead, the specialized DFT is computed using the index set ⁇ in EQS. 11 and 12.
  • FFT Fast Fourier Transform
  • the method shown in flow diagram 500 begins at state 502 and proceeds to state 504 where the transfer function of the servo system is measured at all desired harmonies of the spindle frequency defined by the index set ⁇ .
  • This transfer function can be measured using known techniques, which are described in “Discrete Time Control” by Franklin, Paul & Workman. Essentially, these techniques inject a disturbance into the servo system and measure a resulting signal within the servo system. The ratio of the injected signal to the measured signal provides the transfer function.
  • the method continues at state 506 where a time-domain sequence of repeatable run-out values is determined for a track.
  • R(k) is a sequence of time-domain repeatable run-out values
  • V is the number of revolutions
  • N is the number of servo fields along a track
  • PES[k+(i ⁇ 1)N] is the position error signal generated at the k th servo field at each i th revolution.
  • the position error signal for each servo field is recorded.
  • the recorded position error signals for a particular servo field are then summed together and divided by the number of revolutions. This is repeated for each servo field resulting in a sequence of repeatable run-out values comprising one repeatable run-out error for each servo field.
  • This sequence of repeatable run-out values is represented by R(k).
  • state 506 the method continues at state 508 , where the sequence of time-domain repeatable run-out values created in state 506 is transformed into a sequence of frequency-domain repeatable run-out values, R(j ⁇ ).
  • the time-domain sequence of repeatable run-out values is transformed using the specialized DFT at those frequencies defined by the index set ⁇ :
  • frequency-domain compensation values are stored in a compensation table.
  • the compensation values are preferably stored in a non-volatile memory and not on disc surfaces.
  • a time-domain sequence of compensation values is injected into the servo loop as a compensation signal.
  • the time-domain compensation sequence is obtained by first reading the frequency-domain compensation values from memory and then computing the inverse transform. This is described by the following equation:
  • d c ( k ) DFT ⁇ 1 ⁇ d c ( j ⁇ ) ⁇ , ⁇ m ⁇ (2 ⁇ spindle ), m ⁇ (EQ. 16)
  • EQ. 16 is implemented by compensation circuit 404 (of FIG. 4) immediately before the servo system seeks a specified track.
  • Compensation circuit 404 first reads the frequency domain compensation values from memory, computes the inverse transform, and then has the complete time domain compensation table ready and available during the track seek operation. The method ends at state 516 .
  • the method described in FIG. 5 is preferably repeated for each track on the disc.
  • the transfer function of the servo system may be measured as little as once for the method or may be measured at an inner track, a middle track and an outer track. If more than one transfer function is measured, the transfer function associated with a track that is closest to the track currently being examined is used in the computations of the compensation values for the track. In addition, a separate transfer function may be measured for each head.
  • the quality of the compensation value produced through the method of FIG. 5 is dependent upon the number of revolutions used to determine the repeatable run-out values in state 506 . As the number of revolutions increases, the accuracy of the repeatable run-out values improves. However, each revolution increases the time required to build the disc drive and thus should be minimized if possible. Preferably, the number of revolutions should be kept at five or fewer revolutions per track.
  • a time-domain sequence of repeatable run-out values is then determined in state 606 using EQ. 13 above.
  • the number of revolutions used to determine the repeatable run-out values is equal to five.
  • state 608 the repeatable run-out values are compared against a limit for repeatable run-out values and if the repeatable run-out values are below the limit, the process ends at state 610 .
  • time-domain repeatable run-out values are above the desired limits for the disc drive, they are transformed into a sequence of frequency-domain repeatable run-out values in state 612 using EQ. 14 above.
  • each of the frequency-domain repeatable run-out values is divided by the values of the transfer function at the frequencies of the respective run-out values. These divisions produce a sequence of frequency-domain current-iteration compensation values.
  • each frequency-domain current-iteration compensation value is multiplied by an adaptation gain parameter to produce a sequence of incremental values.
  • the incremental values represent changes to be made to the compensation values currently being used by the servo loop.
  • the frequency-domain compensation values are added to the incremental values to produce a sequence of refined compensation values that are stored in the compensation table. This process is described by the equation:
  • is a written-in repeatable run-out adaptation gain parameter, 0 ⁇ 1. Note that ⁇ can be a frequency-dependent parameter so long as
  • the adaptation gain parameter discussed in state 616 typically has a value between zero and one, only a fraction of the derived compensation value is used to adjust the compensation value used by the servo loop. This causes the servo loop's compensation value to increase in a controlled manner until it reaches the value that provides repeatable run-out values within the limits set within state 608 .
  • state 618 the new compensation values created in state 616 are inverse transformed and injected into the servo loop as a compensation signal and control is returned to state 606 .
  • the inverse transformation process is described by the equation:
  • Steps 606 , 608 , 612 , 614 , 616 and 618 repeat such that the compensation values grow until they reach values that cause the repeatable run-out values to be within the limits set by state 608 .
  • the final compensation values are stored as real and complex coefficients in the frequency domain in a non-volatile memory.
  • the compensation values need not be stored on disc surfaces and could instead be stored in non-volatile memory.
  • prior art techniques using stored time-domain compensation values utilize 1-2% of the disc capacity to store the compensation table. In addition to consuming disc space, there are problems associated with reading compensation values from or writing compensation values to disc surfaces resulting from errors preventing the head from following an ideal path.
  • a method of compensating for repeatable run-out errors in a disc drive storage system includes a state 504 of determining transfer function values for a servo loop in the disc drive and 506 of determining a sequence of repeatable run-out values for a portion of the disc drive.
  • a transform is applied to the sequence of repeatable run-out values to obtain frequency-domain repeatable run-out values.
  • each frequency-domain repeatable run-out value is divided by a respective transfer function value to produce a sequence of frequency-domain compensation values.
  • frequency-domain compensation values produced in state 510 are stored.
  • an inverse transform is applied to the frequency domain compensation values to obtain a sequence of time-domain compensation values and the sequence of time-domain compensation values is injected into the servo loop.
  • compensated repeatable run-out values are determined in state 606 after injecting time-domain compensation values into the servo loop.
  • a transform is applied to the compensated repeatable run-out values to obtain frequency-domain compensated repeatable run-out values.
  • frequency-domain compensated repeatable run-out values are divided by respective transfer function values to produce frequency-domain current-iteration compensation values. These frequency-domain current-iteration compensation values are arithmetically combined with frequency-domain compensation values in state 616 to form refined frequency-domain compensation values.
  • An inverse transform is applied to the refined frequency-domain compensation values in state 618 .
  • a servo loop 400 includes a servo controller 302 , actuator 116 , a head 110 and a sensor located in the head.
  • the servo loop 400 of the present invention also includes a compensation circuit 404 for injecting a compensation signal 402 , where the compensation signal is formed by determining a sequence of repeatable run-out values in a state 506 , transforming the sequence of repeatable run-out values into a sequence of frequency-domain repeatable run-out values in a state 508 and dividing each frequency domain repeatable run-out value by a respective transfer function value of the servo loop in a state 510 .
  • the frequency-domain compensation values are inverse transformed to obtain time-domain compensation values that are used to create the compensation signal 402 .

Landscapes

  • Moving Of The Head To Find And Align With The Track (AREA)

Abstract

A method and apparatus for compensating for repeatable run-out errors in a disc drive is provided in which transfer function values for a servo loop in the disc drive are first determined. A sequence of repeatable run-out values for a portion of the disc drive is then determined. A transform is applied to the sequence of repeatable run-out values to obtain frequency-domain repeatable run-out values. Each frequency-domain repeatable run-out value is divided by a respective transfer function value to produce a sequence of frequency-domain compensation values which are then stored. An inverse transform is applied to the frequency-domain compensation values to obtain a sequence of time-domain compensation values. The sequence of time-domain compensation values is inserted into the servo loop.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application claims priority of U.S. Provisional Application No. 60/202,888 filed May 10, 2000, by John C. Morris and Thomas C. Zirps for “EFFICIENT COMPRESSION AND STORAGE OF ZAP TABLES”; and is a continuation of International Application No. PCT/US00/(Atty docket S01.13-0671/STL9659PC), filed on even date herewith by Seagate Technology LLC for “COMPRESSION AND STORAGE OF WRITTEN-IN ERROR COMPENSATION TABLES IN AN EMBEDDED SERVO DISC DRIVE”, which is published in English and in turn claims priority of the aforementioned U.S. Provisional Application.[0001]
  • FIELD OF THE INVENTION
  • The present invention relates to servo systems in disc drives. In particular, the present invention relates to compensation for errors in servo systems. [0002]
  • BACKGROUND OF THE INVENTION
  • Disc drives read and write information along concentric tracks formed on discs. To locate a particular track on a disc, disc drives typically use embedded servo fields on the disc. These embedded fields are utilized by a servo subsystem to position a head over a particular track. The servo fields are written onto the disc when the disc drive is manufactured and are thereafter simply read by the disc drive to determine position. [0003]
  • Ideally, a head following the center of a track moves along a perfectly circular path around the disc. However, two types of errors prevent heads from following this ideal path. The first type of error is a written-in error that arises during the creation of the servo fields. Written-in errors occur because the write head used to produce the servo fields does not always follow a perfectly circular path due to unpredictable pressure effects on the write head from the aerodynamics of its flight over the disc, and from vibrations in the gimbal used to support the head. Because of these written-in errors, a head that perfectly tracks the path followed by the servo write head will not follow a circular path. [0004]
  • The second type of error that prevents circular paths is known as a track following error. Track following errors arise as a head attempts to follow the path defined by the servo fields. The track following errors can be caused by the same aerodynamic and vibrational effects that create written-in errors. In addition, track following errors can arise because the servo system is unable to respond fast enough to high frequency changes in the path defined by the servo fields. [0005]
  • Written-in errors are often referred to as repeatable run-out errors because they cause the same errors each time the head passes along a track. As track densities increase, these repeatable run-out errors begin to limit the track pitch. Specifically, variations between the ideal track path and the actual track path created by the servo fields can result in a track interfering with or squeezing an adjacent track. This is especially acute when a first written-in error causes a head to be outside of an inner track's ideal circular path and a second written-in error causes the head to be inside of an outer track's ideal circular path. To avoid limitations on the track pitch, systems that compensate for repeatable run-out errors are employed. [0006]
  • One existing technique for repeatable run-out error compensation involves storing time-domain compensation values in the form of a compensation table on discs in the disc drive. These compensation values are injected into the servo loop to compensate for repeatable run-out errors. Typically, a time-domain compensation value for each servo sector is required to be stored in the compensation table. The resulting large compensation table needs to be stored on discs in the drive due to the large memory requirement. [0007]
  • The present invention addresses these and other problems, and offers other advantages over the prior art. [0008]
  • SUMMARY OF THE INVENTION
  • The present system relates to a repeatable run-out error compensation scheme that employs a compression technique that is integral to the compensation algorithm and stores frequency-domain compensation values in the compensation table, thereby addressing the above-mentioned problems. [0009]
  • A method and apparatus for compensating for repeatable run-out errors in a disc drive is provided in which transfer function values for a servo loop in the disc drive are first determined. A sequence of repeatable run-out values for a portion of the disc drive is then determined. A transform is applied to the sequence of repeatable run-out values to obtain frequency-domain repeatable run-out values. Each frequency-domain repeatable run-out value is divided by a respective transfer function value to produce a sequence of frequency-domain compensation values which are then stored. An inverse transform is applied to the frequency-domain compensation values to obtain a sequence of time-domain compensation values. The sequence of time-domain compensation values is inserted into the servo loop. [0010]
  • These and various other features as well as advantages which characterize the present invention will be apparent upon reading of the following detailed description and review of the associated drawings.[0011]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a perspective view of a head-disc assembly (HDA) in accordance with the present system. [0012]
  • FIG. 2 is a top view of a section of a disc showing an ideal track and a realized written-in track. [0013]
  • FIG. 3 is a block diagram of a prior art servo loop. [0014]
  • FIG. 4 is a block diagram of a servo loop of the present invention. [0015]
  • FIG. 5 is a flow diagram of a non-iterative embodiment of the present invention. [0016]
  • FIG. 6 is a flow diagram of an iterative embodiment of the present invention.[0017]
  • DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
  • Referring now to FIG. 1, a perspective view of a magnetic disc drive, head disc assembly (HDA) [0018] 100 in accordance with the present invention is shown. The same reference numerals are used in the various figures to represent the same or similar elements. HDA 100 includes a housing with a base 102 and a top cover (not shown). HDA further includes a disc pack 106, which is mounted on a spindle motor (not shown) by a disc clamp 108. Disc pack 106 includes a plurality of individual discs which are mounted for co-rotation about central axis 109.
  • Each disc surface has an associated [0019] slider 110 which is mounted in HDA 100 and carries a read/write head for communication with the disc surface. In the example shown in FIG. 1, sliders 110 are supported by suspensions 112 which are in turn supported by track accessing arms 114 of an actuator 116. The actuator shown in FIG. 1 is of the type known as a rotary moving coil actuator and includes a voice coil motor (VCM), shown generally at 118. Other types of actuators can be used, such as linear actuators.
  • [0020] Voice coil motor 118 rotates actuator 116 with its attached sliders 110 about a pivot shaft 120 to position sliders 110 over a desired data track along a path 122 between a disc inner diameter 124 and a disc outer diameter 126. Voice coil motor 118 operates under the control of a closed-loop servo controller within internal circuitry 128 based on position information, which is stored on one or more of the disc surfaces within dedicated servo fields. The servo fields can be interleaved with data sectors on each disc surface or can be located on a single disc surface that is dedicated to storing servo information. As slider 110 passes over the servo fields, the read/write head generates a readback signal that identifies the location of the head relative to the center line of the desired track. Based on this location, actuator 116 moves suspension 112 to adjust the head's position so that it moves toward the desired position. Once the transducing head is appropriately positioned, servo controller 128 then executes a desired read or write operation.
  • Referring now to FIG. 2, a top view of a [0021] section 200 of a disc with an ideal, perfectly circular track 202 and an actual track 204 is shown. Section 200 includes a plurality of radially extending servo fields such as servo fields 206 and 208. The servo fields include servo information that identifies the location of actual track 204 along disc section 200.
  • Any variation in the position of a head away from [0022] circular track 202 is considered a position error. The portions of track 204 that do not follow circular track 202 create written-in repeatable run-out position errors. A position error is considered a repeatable run-out error if the same error occurs each time the head passes a particular circumferential location on the disc. Track 204 creates a repeatable run-out error because each time a head follows the servo fields that define track 204, it produces the same position error relative to ideal track 202.
  • Under the present invention, a head attempting to write to or read from [0023] track 204 will not follow track 204 but instead will more closely follow perfectly circular track 202. This is accomplished using a compensation signal that prevents the servo system from tracking repeatable run-out errors resulting from the irregular shape of track 204.
  • Referring now to FIG. 3, a block diagram of a [0024] servo loop 300 of the prior art is shown. The servo loop includes a servo controller 302, having a gain of “K” and a disc drive 304 having a gain of “P”. Servo controller 302 is the servo control circuitry within internal circuit 128 of FIG. 1. Disc drive 304 includes actuator assembly 116, voice coil motor 118, track accessing arm 114, suspension 112, and sliders 110, all of FIG. 1.
  • [0025] Servo controller 302 generates a control current 306 that drives the voice coil motor of disc drive 304. In response, disc drive 304 produces head motion 308. In FIG. 3, the written-in error, dw, is represented as a separate input signal 310 even though the written-in error would otherwise appear implicitly in head motion 308. The separation of written-in error 310 from head motion 308 provides a better understanding of the present invention. In addition, noise in the servo system has been separated and appears as noise 312, which is added to the head motion. The sum of head motion 308, written-in error 310 and noise 312 results in the head's servo measurement signal 316. Servo measurement signal 316 is subtracted from a reference signal 318, which is generated by internal circuitry 128 based on a desired location for the head. Subtracting head measurement 316 from reference signal 318 produces position error signal 320 which is input to servo controller 302.
  • The servo loop of FIG. 3 has a closed loop response that is calculated as: [0026] y = PK 1 + PK ( r - n - d w ) EQ . 1
    Figure US20010043428A1-20011122-M00001
  • where “y” is [0027] head motion 308, “P” is the gain of disc drive 304, “K” is the gain of servo controller 302, “r” is reference signal 318, “n” is noise signal 312, and “dw” is the written-in error.
  • From EQ. 1, it is clear that heads in servo loops of the prior art move in response to written-in errors. This movement is undesirable since it places the head outside of the ideally circular track path. Further, because the transfer function, PK/(1+PK), is frequency dependent, the transfer function suffers from peaking at certain frequencies. This peaking causes even greater position errors because it amplifies the written-in error at certain frequencies. [0028]
  • An alternative description of the response of the closed loop system of FIG. 3 is: [0029] PES = 1 1 + PK ( r - n - d w ) EQ . 2
    Figure US20010043428A1-20011122-M00002
  • where PES is position error signal [0030] 320 of FIG. 3. Using EQ. 2, an estimation of dw can be produced by ignoring reference signal 318 and noise signal 312 and only using the portions of position error signal 320 that are caused by repeatable run-out error. This results in: d w = - R 1 ( 1 + PK ) EQ . 3
    Figure US20010043428A1-20011122-M00003
  • where R is the repeatable run-out portion of [0031] position error signal 320 as defined in EQ. 13.
  • To eliminate the unwanted head motion created by the written-in error, the present invention adds a compensation signal to the servo loop of the prior art. This added signal is shown in [0032] servo loop 400 of the present invention, which is shown in FIG. 4. In FIG. 4, the elements that are common to FIG. 3 are numbered the same. The compensation signal added to the servo loop is compensation signal 402, which is produced by compensation circuitry 404. In FIG. 4, compensation signal 402 is inserted after the summation of written-in error 310 and head motion 308. However, those skilled in the art will recognize that the compensation signal can be added at other locations within the servo loop.
  • With the addition of [0033] compensation signal 402, the closed loop response of servo loop 400 is expressed as: y = PK 1 + PK ( r - n - d w - d c ) EQ . 4
    Figure US20010043428A1-20011122-M00004
  • where d[0034] c is compensation signal 402. From EQ. 4, it is apparent that the effects of written-in error, dw, will be eliminated by compensation signal, dc, if the compensation signal is equal to the negative of the written-in error.
  • Using EQS. 3 and 4 above, an estimation of the compensation signal, d[0035] c, needed to eliminate the effects of written-in error, dw, appears as: d c = R 1 ( 1 + PK ) EQ . 5
    Figure US20010043428A1-20011122-M00005
  • where R is the repeatable run-out component of the position error measurement. [0036]
  • In terms of frequencies, EQ. 5 can be described as: [0037] dc ( j ω ) = R ( j ω ) 1 ( 1 + PK ) ( j ω ) EQ . 6
    Figure US20010043428A1-20011122-M00006
  • The compensation signal injected into the servo loop of the present invention is a time-domain signal. Preferably, this time-domain signal is determined using stored frequency-domain compensation values produced by a modified version of the frequency domain relationship shown in EQ. 6. The stored frequency-domain compensation values are read and transformed into a time-domain compensation signal when the servo system seeks to a specified track. [0038]
  • If [0039] disc 200 has N servo sectors (206,208, etc.) on each track, the sample rate fsis defined as:
  • ƒs=1/T s =N·RPM/60 Hz  (EQ. 7)
  • where T[0040] s is the sample period and RPM is the rotations per minute of the disc. One aspect of the invention includes the recognition that the written-in error is periodic, with a period of Ts which equals 60/(N·RPM) seconds. Because the signal is periodic, the spectrum of the written-in error (dw) is uniquely defined by a Fourier series with discrete line spectra: d w ( t ) = m = - c m j 2 π m T a t = c 0 + 2 m = 1 c m cos ( 2 π m T s t + φ M ) EQ . 8
    Figure US20010043428A1-20011122-M00007
  • where c[0041] m is the Fourier coefficient for each frequency component. With the additional constraint that dw is discrete-time with N samples, results in the Fourier series consisting of only N harmonically related exponential functions. If the disc drive actuator is moving at frequencies which are above the Nyquist frequency (fs/2 Hz), then these frequencies will be aliased below the Nyquist frequency when written into the disc surface. With this additional constraint, the spectrum of the written-in error, dw and the written-in correction, dc can be expressed as: d w ( k ) = m = 0 N - 1 c m j 2 π m N k EQ . 9 d c ( k ) = m = 0 N - 1 b m j 2 π m N k EQ . 10
    Figure US20010043428A1-20011122-M00008
  • where c[0042] m are the Fourier coefficients of the written-in error dw, and bm are the Fourier coefficients of the written-in compensation dc.
  • Given these constraints an algorithm for estimating the spectrum of written-in repeatable run-out correction, d[0043] c (jω), and the resulting time-domain written-in repeatable run-out correction signal, dc(k), on a specified track and head, with data compression integral to the algorithm can be derived as shown below.
  • The specialized Discrete Fourier Transform (DFT) and its inverse carrying out calculations over a subset of harmonic frequencies defined on an index set Ξ for a signal x is as follows:[0044]
  • [0045] x ( j ω ) = DFT { x ( k ) } , = k = 0 N - 1 x ( k ) × - j 2 π m N , ω = m · ( π f spindle ) , m Ξ EQ . 11 x ( k ) = DFT - 1 { x ( j ω ) } , = 1 N m Ξ x ( j 2 π m f spindle ) × j 2 π k m N , k = 0 , , N - 1 EQ . 12
    Figure US20010043428A1-20011122-M00009
  • where N is the number of servo sectors, k is a specific sector, ƒf[0046] spindle is the spindle frequency in Hz and Ξ is an index set of integers drawn from a subset of the integers 1 to N 2 .
    Figure US20010043428A1-20011122-M00010
  • This index set defines the frequencies of the written-in error that will be compensated. Because a reduced index set is used, the standard Fast Fourier Transform (FFT) algorithm is not employed, and instead, the specialized DFT is computed using the index set Ξ in EQS. 11 and 12. [0047]
  • Based on EQS. 11 and 12, it can be seen that computation reduces from order N[0048] 2 to Ndim(Ξ), where dim(Ξ) is the dimension (or number of elements) of index set Ξ. The resulting written-in error compensation algorithm in accordance with the present invention based on the above definitions is shown in FIG. 5.
  • The method shown in flow diagram [0049] 500 begins at state 502 and proceeds to state 504 where the transfer function of the servo system is measured at all desired harmonies of the spindle frequency defined by the index set Ξ. The transfer function measured in state 504 is 1/(1+PK) (jω) where ω=m·(2πfspindle) and mεΞ. This transfer function can be measured using known techniques, which are described in “Discrete Time Control” by Franklin, Paul & Workman. Essentially, these techniques inject a disturbance into the servo system and measure a resulting signal within the servo system. The ratio of the injected signal to the measured signal provides the transfer function.
  • Once the transfer function has been measured, the method continues at [0050] state 506 where a time-domain sequence of repeatable run-out values is determined for a track. The repeatable run-out values can be calculated by repeatedly following the track over a number of revolutions, V, and averaging the position error signal obtained at each servo field over all of the revolutions. This is described by the following equation: R ( k ) = 1 V i = 1 V PES [ k + ( i - 1 ) · N ] EQ . 13
    Figure US20010043428A1-20011122-M00011
  • where R(k) is a sequence of time-domain repeatable run-out values, V is the number of revolutions, N is the number of servo fields along a track, and PES[k+(i−1)N] is the position error signal generated at the k[0051] th servo field at each ith revolution.
  • Thus, at each revolution, the position error signal for each servo field is recorded. The recorded position error signals for a particular servo field are then summed together and divided by the number of revolutions. This is repeated for each servo field resulting in a sequence of repeatable run-out values comprising one repeatable run-out error for each servo field. This sequence of repeatable run-out values is represented by R(k). [0052]
  • After [0053] state 506, the method continues at state 508, where the sequence of time-domain repeatable run-out values created in state 506 is transformed into a sequence of frequency-domain repeatable run-out values, R(jω). Preferably, the time-domain sequence of repeatable run-out values is transformed using the specialized DFT at those frequencies defined by the index set Ξ:
  • R(jω)=DFT{R(k)}, ω=m·(2πƒspindle), mεΞ  (EQ. 14)
  • In [0054] state 510, the respective frequency-domain repeatable run-out values are divided by the value of the servo loop's transfer function at the respective frequencies. This process is described by the equation. d c ( ) = R ( ) 1 1 + PK ( ) , ω = m · ( 2 π f spindle ) , m Ξ EQ . 15
    Figure US20010043428A1-20011122-M00012
  • Once the frequency-domain compensation values have been produced in [0055] state 510, the method continues in state 512 where frequency-domain compensation values are stored in a compensation table. The compensation values are preferably stored in a non-volatile memory and not on disc surfaces. At state 514, a time-domain sequence of compensation values is injected into the servo loop as a compensation signal. The time-domain compensation sequence is obtained by first reading the frequency-domain compensation values from memory and then computing the inverse transform. This is described by the following equation:
  • d c(k)=DFT −1 {d c(jω)}, ωm·(2πƒspindle), mεΞ  (EQ. 16)
  • EQ. 16 is implemented by compensation circuit [0056] 404 (of FIG. 4) immediately before the servo system seeks a specified track. Compensation circuit 404 first reads the frequency domain compensation values from memory, computes the inverse transform, and then has the complete time domain compensation table ready and available during the track seek operation. The method ends at state 516.
  • Except for the step of measuring the transfer function of the servo system, the method described in FIG. 5 is preferably repeated for each track on the disc. The transfer function of the servo system may be measured as little as once for the method or may be measured at an inner track, a middle track and an outer track. If more than one transfer function is measured, the transfer function associated with a track that is closest to the track currently being examined is used in the computations of the compensation values for the track. In addition, a separate transfer function may be measured for each head. [0057]
  • The quality of the compensation value produced through the method of FIG. 5 is dependent upon the number of revolutions used to determine the repeatable run-out values in [0058] state 506. As the number of revolutions increases, the accuracy of the repeatable run-out values improves. However, each revolution increases the time required to build the disc drive and thus should be minimized if possible. Preferably, the number of revolutions should be kept at five or fewer revolutions per track.
  • To accommodate a lower number of revolutions, one embodiment of the present invention utilizes an iterative process. Such an iterative process is shown in FIG. 6. The flow diagram [0059] 600 of FIG. 6 starts at state 602 and continues at state 604 where the transfer function measured is 1/(1+PK) (jω) where ω=m·(2πfspindle) and mεΞ.
  • A time-domain sequence of repeatable run-out values is then determined in [0060] state 606 using EQ. 13 above. Preferably the number of revolutions used to determine the repeatable run-out values is equal to five.
  • In [0061] state 608, the repeatable run-out values are compared against a limit for repeatable run-out values and if the repeatable run-out values are below the limit, the process ends at state 610.
  • If the time-domain repeatable run-out values are above the desired limits for the disc drive, they are transformed into a sequence of frequency-domain repeatable run-out values in [0062] state 612 using EQ. 14 above.
  • In [0063] state 614, each of the frequency-domain repeatable run-out values is divided by the values of the transfer function at the frequencies of the respective run-out values. These divisions produce a sequence of frequency-domain current-iteration compensation values. The process is described by the equation: δ c i ( ) = R ( ) 1 1 + PK ( ) , ω = m · ( 2 π f spindle ) , m Ξ EQ . 17
    Figure US20010043428A1-20011122-M00013
  • where the value of i indicates the current iteration. [0064]
  • In [0065] state 616, each frequency-domain current-iteration compensation value is multiplied by an adaptation gain parameter to produce a sequence of incremental values. The incremental values represent changes to be made to the compensation values currently being used by the servo loop. The frequency-domain compensation values are added to the incremental values to produce a sequence of refined compensation values that are stored in the compensation table. This process is described by the equation:
  • d c l(jω)=dc l−1(jω)+Φ×δc l(jω), ω=m·(2πƒspindle), mεΞ  (EQ. 18)
  • where Φ is a written-in repeatable run-out adaptation gain parameter, 0<Φ≦1. Note that Φ can be a frequency-dependent parameter so long as ||Φ||≦1. [0066]
  • On the first pass through the iteration of FIG. 6 the current compensation value at each servo field is equal to zero (when i=1, d[0067] c l−1(k)=dc 0(k)=0).
  • Since the adaptation gain parameter discussed in [0068] state 616 typically has a value between zero and one, only a fraction of the derived compensation value is used to adjust the compensation value used by the servo loop. This causes the servo loop's compensation value to increase in a controlled manner until it reaches the value that provides repeatable run-out values within the limits set within state 608.
  • In [0069] state 618, the new compensation values created in state 616 are inverse transformed and injected into the servo loop as a compensation signal and control is returned to state 606. The inverse transformation process is described by the equation:
  • d c l(k)=DFT −1 {d c l(jω)}, ω=m·(2πƒspindle), mεΞ  (EA. 19)
  • [0070] Steps 606, 608, 612, 614, 616 and 618 repeat such that the compensation values grow until they reach values that cause the repeatable run-out values to be within the limits set by state 608. The final compensation values are stored as real and complex coefficients in the frequency domain in a non-volatile memory.
  • For a disc with N servo sectors employing the run-out compensation technique of the present invention, the compression obtained is 2·dim(Ξ)/N. Adequate compensation can be achieved with dim(Ξ)≦10. Thus, in one example with N=224 servo sectors, the compression attained is 2×10/224≈0.1. As a result of the significant reduction in the number of compensation values with this technique, the compensation values need not be stored on disc surfaces and could instead be stored in non-volatile memory. In contrast, prior art techniques using stored time-domain compensation values utilize 1-2% of the disc capacity to store the compensation table. In addition to consuming disc space, there are problems associated with reading compensation values from or writing compensation values to disc surfaces resulting from errors preventing the head from following an ideal path. [0071]
  • Since data compression is integral to the algorithm used to calculate compensation values in accordance with the present invention, the process of determining repeatable run out compensation values is substantially faster than in prior art techniques. [0072]
  • In summary, a method of compensating for repeatable run-out errors in a disc drive storage system includes a [0073] state 504 of determining transfer function values for a servo loop in the disc drive and 506 of determining a sequence of repeatable run-out values for a portion of the disc drive. In state 508, a transform is applied to the sequence of repeatable run-out values to obtain frequency-domain repeatable run-out values. At state 510, each frequency-domain repeatable run-out value is divided by a respective transfer function value to produce a sequence of frequency-domain compensation values. In state 512, frequency-domain compensation values produced in state 510 are stored. In state 514, an inverse transform is applied to the frequency domain compensation values to obtain a sequence of time-domain compensation values and the sequence of time-domain compensation values is injected into the servo loop.
  • In further embodiments of the present invention, compensated repeatable run-out values are determined in [0074] state 606 after injecting time-domain compensation values into the servo loop. In state 612, a transform is applied to the compensated repeatable run-out values to obtain frequency-domain compensated repeatable run-out values. In state 614, frequency-domain compensated repeatable run-out values are divided by respective transfer function values to produce frequency-domain current-iteration compensation values. These frequency-domain current-iteration compensation values are arithmetically combined with frequency-domain compensation values in state 616 to form refined frequency-domain compensation values. An inverse transform is applied to the refined frequency-domain compensation values in state 618.
  • In a [0075] disc storage system 304 of the present invention a servo loop 400 includes a servo controller 302, actuator 116, a head 110 and a sensor located in the head. The servo loop 400 of the present invention also includes a compensation circuit 404 for injecting a compensation signal 402, where the compensation signal is formed by determining a sequence of repeatable run-out values in a state 506, transforming the sequence of repeatable run-out values into a sequence of frequency-domain repeatable run-out values in a state 508 and dividing each frequency domain repeatable run-out value by a respective transfer function value of the servo loop in a state 510. This produces a sequence of frequency-domain compensation values that are stored in a compensation table in a state 512. The frequency-domain compensation values are inverse transformed to obtain time-domain compensation values that are used to create the compensation signal 402.
  • It is to be understood that even though numerous characteristics and advantages of various embodiments of the invention have been set forth in the foregoing description, together with details of the structure and function of various embodiments of the invention, this disclosure is illustrative only, and changes may be made in detail, especially in matters of structure and arrangement of parts within the principles of the present invention to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed For example, the particular elements may vary depending on the particular application for the servo system while maintaining substantially the same functionality without departing from the scope and spirit of the present invention. In addition, although the preferred embodiment described herein is directed to a servo loop for a disc drive system, it will be appreciated by those skilled in the art that the teachings of the present invention can be applied to other systems, without departing from the scope and spirit of the present invention. [0076]

Claims (10)

What is claimed is:
1. A method of compensating for repeatable run-out errors in a disc drive, the method comprising:
(a) determining transfer function values for a servo loop in the disc drive;
(b) determining a sequence of repeatable run-out values for a portion of the disc drive;
(c) applying a transform to the sequence of repeatable run-out values to obtain frequency-domain repeatable run-out values;
(d) dividing each frequency-domain repeatable run-out value by a respective transfer function value to produce frequency-domain compensation values;
(e) storing the frequency-domain compensation values produced in step (d);
(f) applying an inverse transform to the frequency-domain compensation values to obtain a sequence of time-domain compensation values; and
(g) injecting the sequence of time-domain compensation values into the servo loop.
2. The method of
claim 1
, wherein respective frequencies of the transfer function values of step (a), the frequency-domain compensation values of step (d) and the inverse transform of the frequency-domain compensation values step (f) represent a subset of harmonic frequencies of a spindle motor rotational frequency between the spindle motor rotational frequency and one-half of a number of servo fields around a disc times the spindle motor rotational frequency.
3. The method of
claim 1
, wherein step (c) is carried out by applying a specialized DFT to the sequence of repeatable run-out values, and step (f) is carried out by applying a specialized inverse DFT to the frequency domain compensation values, wherein the specialized DFT and the specialized inverse DFT carry out calculations only over a subset of harmonic frequencies of a spindle motor rotational frequency between the spindle motor rotational frequency and one-half of a number of servo fields around a disc times the spindle motor rotational frequency.
4. The method of
claim 1
, further comprising:
(h) determining a sequence of compensated repeatable run-out values after injecting the time-domain compensation values according to step (g);
(i) if a compensated repeatable run-out value exceeds an acceptable repeatable run-out limit, then computing refined frequency-domain compensation values through:
(1) applying a transform to the compensated repeatable run-out values to obtain frequency-domain compensated repeatable run-out values;
(2) dividing the frequency-domain compensated repeatable run-out values by the respective transfer function values to produce a sequence of frequency-domain current-iteration compensation values;
(3) arithmetically combining the frequency-domain current-iteration compensation values with the frequency-domain compensation values to produce refined frequency-domain compensation values;
(4) applying an inverse transform to the refined frequency-domain compensation values to obtain refined time-domain compensation values;
(5) injecting the refined time-domain compensation values into the servo loop;
(6) determining a sequence of refined compensated repeatable run-out values; and
(7) replacing the frequency-domain compensation values with the refined frequency-domain compensation values if the refined compensated repeatable run-out values are less than the compensated repeatable run-out values.
5. The method of
claim 4
, wherein the arithmetically combining step (i)(3) comprises multiplying each element of the frequency-domain current-iteration compensation values by a frequency-dependant adaptation gain parameter to produce incremental values, and respectively adding the incremental values to the frequency-domain compensation values.
6. The method of
claim 4
, further comprising repeating steps (f), (g), (h) and (i) iteratively with each iteration using refined frequency-domain compensation values of an immediately previous iteration until none of the compensated repeatable run-out values exceed an acceptable repeatable run-out limit.
7. A disc storage system implementing the method of
claim 1
.
8. A disc storage system having a servo loop for positioning a head over a disc, the servo loop comprising:
a servo controller which generates a servo control signal in response to a received position error signal;
an actuator, coupled to the servo controller, which is capable of moving the head in response to the servo control signal;
a sensor, located in the head, which is capable of sensing servo information located on the disc and producing a servo signal therefrom, the servo signal being combined with a reference signal to produce the position error signal; and
a compensation circuit for injecting a compensation signal comprised of time-domain compensation values into the servo loop, the compensation circuit comprising a storage device that stores frequency-domain compensation values which are inverse transformed to obtain time-domain compensation values, the frequency-domain compensation values being formed by:
determining a sequence of repeatable run-out values;
transforming the sequence of repeatable run-out values into frequency-domain repeatable run-out values; and
dividing each of the frequency-domain repeatable run-out values by respective values of a transfer function of the servo loop at respective frequencies of the frequency-domain repeatable run-out values to produce a sequence of frequency-domain compensation values.
9. The disc storage system of
claim 8
, wherein the compensation circuit is further adapted to substitute the frequency-domain compensation values with refined frequency-domain compensation values by:
inverse transforming the sequence of frequency-domain compensation values into a sequence of time-domain values;
injecting the sequence of time-domain compensation values into the servo loop;
determining a sequence of compensated repeatable run-out values while the time-domain compensation values are injected into the servo loop;
transforming the sequence of compensated repeatable run-out values into frequency-domain compensated repeatable run-out values;
dividing each of the frequency-domain compensated repeatable run-out values by respective values of a transfer function of the servo loop to produce a sequence of frequency-domain current-iteration compensation values;
multiplying each of the frequency-domain current-iteration compensation values by an adaptation gain parameter to produce incremental values;
adding the incremental values to the frequency-domain compensation values to obtain refined frequency-domain compensation values; and
replacing the frequency-domain compensation values with the refined frequency-domain compensation values in the compensation circuit.
10. A disc drive comprising:
a servo loop including a head and a servo controller capable of controlling the location of the head; and
compensation means coupled to the servo loop for compensating for repeatable run-out.
US09/781,363 2000-05-10 2001-02-12 Compression and storage of written-in error compensation tables in an embedded servo disc drive Expired - Lifetime US6449116B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/781,363 US6449116B2 (en) 2000-05-10 2001-02-12 Compression and storage of written-in error compensation tables in an embedded servo disc drive

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US20288800P 2000-05-10 2000-05-10
US09/781,363 US6449116B2 (en) 2000-05-10 2001-02-12 Compression and storage of written-in error compensation tables in an embedded servo disc drive
PCT/US2001/004478 WO2001086656A1 (en) 2000-05-10 2001-02-12 Compression and storage of written-in error compensation tables in an embedded servo disc drive

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/004478 Continuation WO2001086656A1 (en) 2000-05-10 2001-02-12 Compression and storage of written-in error compensation tables in an embedded servo disc drive

Publications (2)

Publication Number Publication Date
US20010043428A1 true US20010043428A1 (en) 2001-11-22
US6449116B2 US6449116B2 (en) 2002-09-10

Family

ID=22751634

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/781,363 Expired - Lifetime US6449116B2 (en) 2000-05-10 2001-02-12 Compression and storage of written-in error compensation tables in an embedded servo disc drive

Country Status (8)

Country Link
US (1) US6449116B2 (en)
JP (1) JP2004507855A (en)
KR (1) KR20030013403A (en)
CN (1) CN1427992A (en)
AU (1) AU2001238166A1 (en)
DE (1) DE10196156T1 (en)
GB (1) GB2378810B (en)
WO (1) WO2001086656A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556371B1 (en) * 2000-06-21 2003-04-29 International Business Machines Corporation Generation of higher-order harmonic sine and cosine sequences by indexing a first-order sine/cosine table
US20030112544A1 (en) * 2001-12-18 2003-06-19 Brent Jay Harmer Efficient feedforward compensation for repeatable runout in a disc drive
US20050018344A1 (en) * 2003-07-24 2005-01-27 Hitachi Global Storage Technologies Method and apparatus for determining modulated, amplitude ramping RRO harmonics in multi-screw clamped HDD disk/spindle assembly
US7054092B2 (en) 2003-12-10 2006-05-30 Matsushita Electric Industrial Co., Ltd. Methods for improving printed media self-servo writing
US7092182B2 (en) 2003-12-10 2006-08-15 Matsushita Electric Industrial Co., Ltd. Marker-zone to determine gross positioning on a reference surface of a media
US7092183B2 (en) 2003-12-10 2006-08-15 Matsushita Electric Industrial Co., Ltd. Template pattern for improving printed media self-servo writing
US7095580B2 (en) 2003-12-10 2006-08-22 Matsushita Electric Industrial Co., Ltd Methods to determine gross and fine positioning on a reference surface of a media
US20070008644A1 (en) * 2005-06-29 2007-01-11 Dong-Ho Oh Methods calculating RRO and RRO compensation value in HDD
US7215498B2 (en) 2004-06-18 2007-05-08 Matsushita Electric Industrial Co., Ltd. Dynamic stroke optimization in the self servo-write process
US20070195443A1 (en) * 2006-02-17 2007-08-23 Fujitsu Limited Disk-device correcting system, information managing device, master-disk producing device, and master-disk producing method
US20130342929A1 (en) * 2012-06-21 2013-12-26 HGST Netherlands B.V. Method of compensating for repeatable runout error

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751046B1 (en) * 1999-10-22 2004-06-15 Seagate Tech. Llc Writing servo data patterns on a data storage disk to account for repeatable and non-repeatable disturbances and thereby provide concentric data tracks
FR2803926B1 (en) * 2000-01-14 2002-04-05 Thomson Csf Sextant METHOD FOR AUTOMATICALLY GENERATING A SYMBOL TABLE OF A REAL-TIME COMPUTER
US7054096B1 (en) * 2002-01-04 2006-05-30 Maxtor Corporation Method and apparatus for determining embedded runout correction values
US6853514B2 (en) * 2002-02-05 2005-02-08 Seagate Technology Llc Method for measuring PES noise of servo patterned media
US6831803B2 (en) * 2002-04-01 2004-12-14 Seagate Technology Llc Repeatable runout identification device and method
US20040021977A1 (en) * 2002-08-01 2004-02-05 Lim Choonkiat Compensating for coherent runout error in a data-storage device
US6995940B2 (en) * 2003-07-22 2006-02-07 Matsushita Electric Industrial Co., Ltd. Systems for WORF improvement in conditional servowriting
US7227714B2 (en) * 2003-07-22 2007-06-05 Matsushita Electric Industrial Co., Ltd. Methods for conditional servowriting
US7106548B2 (en) * 2003-07-22 2006-09-12 Matsushita Electric Industrial Co., Ltd. Methods for WORF improvement in conditional servowriting
US7133228B2 (en) * 2003-10-10 2006-11-07 Seagate Technology Llc Using data compression to achieve lower linear bit densities on a storage medium
US7136251B2 (en) * 2003-12-24 2006-11-14 Matsushita Electric Industrial, Co., Ltd. Methods for WORF improvement in conditional servowriting
US7457075B2 (en) * 2004-02-24 2008-11-25 Seagate Technology Llc System and method for reducing ZAP time and track squeeze in a data storage device
US7417813B2 (en) * 2004-05-26 2008-08-26 Seagate Technology Llc Overlapping data track access
US8140744B2 (en) * 2004-07-01 2012-03-20 Seagate Technology Llc Method and system for increasing data storage reliability and efficiency via compression
US7085093B2 (en) * 2004-07-08 2006-08-01 Matsushita Electric Industrial Co., Ltd. Systems and methods for doubling sample rate using two-step self-servowriting
US7061709B2 (en) * 2004-07-08 2006-06-13 Matsushita Electric Industrial Co., Ltd. Systems and methods for two-step self-servowriting using 1.5-step intermediate pattern
US7046476B1 (en) 2005-01-10 2006-05-16 Hitachi Global Storage Technologies Method apparatus and system for accessing discontinuous media tracks
US8643976B1 (en) 2007-01-31 2014-02-04 Western Digital Technologies, Inc. Method for improved repeatable runout learning in a disk drive
CN101436410A (en) * 2007-11-12 2009-05-20 深圳易拓科技有限公司 Method for eliminating interference formed by HDD irregular track
US8341501B2 (en) 2009-04-30 2012-12-25 International Business Machines Corporation Adaptive endurance coding of non-volatile memories
US8769374B2 (en) 2010-10-13 2014-07-01 International Business Machines Corporation Multi-write endurance and error control coding of non-volatile memories
CN102479343B (en) * 2010-11-30 2013-10-30 金蝶软件(中国)有限公司 Data processing method and device
US8743503B1 (en) 2013-03-11 2014-06-03 Western Digital Technologies, Inc. Disk drive updating compensation values for multiple servo sectors based on PES generated for current servo sector
CN117059134B (en) * 2023-07-10 2024-03-19 华中科技大学 Classification compensation method for nonlinear transition offset in disk data writing process

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317464A (en) 1991-06-28 1994-05-31 Syquest Technology, Inc. Removable cartridge disk drive with cartridge interlocking and spindle motor telescoping mechanisms
WO1993006595A1 (en) 1991-09-25 1993-04-01 Integral Peripherals, Inc. Adaptive runout compensation for miniature disk drives
US5444583A (en) 1992-09-30 1995-08-22 Quantum Corporation Disk drive having on-board triggered digital sampling analyzer
US5550685A (en) 1993-10-22 1996-08-27 Syquest Technology, Inc. Applying an adaptive feed-forward algorithm as a frequency selective filter in a closed loop disk drive servo system in order to compensate for periodic perturbations which otherwise appear in the servo system position error signal
US5608586A (en) 1994-10-21 1997-03-04 International Business Machines Corporation Robust servo for disk-shift compensation in rotating storage system
JP2965062B2 (en) * 1996-06-10 1999-10-18 富士通株式会社 Disk device and head position control method for disk device
US5978169A (en) 1997-09-23 1999-11-02 Seagate Technology, Inc. Repeated servo runout error compensation in a disc drive
US6141175A (en) * 1997-10-08 2000-10-31 Western Digital Corporation Repeatable runout cancellation in sectored servo disk drive positioning system
WO1999022369A1 (en) * 1997-10-24 1999-05-06 Seagate Technology, Inc. Compensation for repeatable run-out error
US6069794A (en) 1999-02-08 2000-05-30 Chuang; Wen-Hao Bushing for combining fan and heat sink

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6556371B1 (en) * 2000-06-21 2003-04-29 International Business Machines Corporation Generation of higher-order harmonic sine and cosine sequences by indexing a first-order sine/cosine table
US20030112544A1 (en) * 2001-12-18 2003-06-19 Brent Jay Harmer Efficient feedforward compensation for repeatable runout in a disc drive
US20050018344A1 (en) * 2003-07-24 2005-01-27 Hitachi Global Storage Technologies Method and apparatus for determining modulated, amplitude ramping RRO harmonics in multi-screw clamped HDD disk/spindle assembly
US6992853B2 (en) 2003-07-24 2006-01-31 Hitachi Global Storage Technologies Netherlands B.V Method and apparatus for determining modulated, amplitude ramping RRO harmonics in multi-screw clamped HDD disk/spind assembly
US7054092B2 (en) 2003-12-10 2006-05-30 Matsushita Electric Industrial Co., Ltd. Methods for improving printed media self-servo writing
US7092182B2 (en) 2003-12-10 2006-08-15 Matsushita Electric Industrial Co., Ltd. Marker-zone to determine gross positioning on a reference surface of a media
US7092183B2 (en) 2003-12-10 2006-08-15 Matsushita Electric Industrial Co., Ltd. Template pattern for improving printed media self-servo writing
US7095580B2 (en) 2003-12-10 2006-08-22 Matsushita Electric Industrial Co., Ltd Methods to determine gross and fine positioning on a reference surface of a media
US7215498B2 (en) 2004-06-18 2007-05-08 Matsushita Electric Industrial Co., Ltd. Dynamic stroke optimization in the self servo-write process
US20070008644A1 (en) * 2005-06-29 2007-01-11 Dong-Ho Oh Methods calculating RRO and RRO compensation value in HDD
US7643241B2 (en) * 2005-06-29 2010-01-05 Samsung Electronics Co., Ltd. Methods calculating RRO and RRO compensation value in HDD
US20070195443A1 (en) * 2006-02-17 2007-08-23 Fujitsu Limited Disk-device correcting system, information managing device, master-disk producing device, and master-disk producing method
EP1821291A3 (en) * 2006-02-17 2008-03-05 Fujitsu Ltd. Disk-device correcting system, information managing device, master-disk producing device, and master-disk producing method
US7787200B2 (en) 2006-02-17 2010-08-31 Toshiba Storage Device Corporation Disk-device correcting system, information managing device, master-disk producing device, and master-disk producing method
US20130342929A1 (en) * 2012-06-21 2013-12-26 HGST Netherlands B.V. Method of compensating for repeatable runout error
US9001450B2 (en) * 2012-06-21 2015-04-07 HGST Netherlands B.V. Method of compensating for repeatable runout error

Also Published As

Publication number Publication date
WO2001086656A1 (en) 2001-11-15
AU2001238166A1 (en) 2001-11-20
WO2001086656B1 (en) 2002-02-14
CN1427992A (en) 2003-07-02
US6449116B2 (en) 2002-09-10
KR20030013403A (en) 2003-02-14
JP2004507855A (en) 2004-03-11
GB2378810B (en) 2004-03-17
GB2378810A (en) 2003-02-19
DE10196156T1 (en) 2003-06-18
GB0227474D0 (en) 2002-12-31

Similar Documents

Publication Publication Date Title
US6449116B2 (en) Compression and storage of written-in error compensation tables in an embedded servo disc drive
US6751045B1 (en) Compensation for repeatable run-out error
US6437936B1 (en) Repeatable runout compensation using a learning algorithm with scheduled parameters
US6563663B1 (en) Repeatable runout compensation using iterative learning control in a disc storage system
US6549362B1 (en) Method and apparatus for the enhancement of embedded runout correction in a disk drive
US6608731B2 (en) Dynamic reduction of track shape errors in disc drives
US6785084B2 (en) Correction of dynamic track spacing errors in storage devices
US6115203A (en) Efficient drive-level estimation of written-in servo position error
US7119981B2 (en) Method and apparatus for tracking radially-dependent repeatable run-out
US6487035B1 (en) Method and apparatus for adaptive feedforward cancellation
US6392834B1 (en) Concentric spacing of virtual data tracks using run-out compensation
US6411461B1 (en) Data collection system and method for zero acceleration path correction
US7251097B2 (en) Written-in error compensation method for coherent repeatable runout
US20090225467A1 (en) Method of creating correction table for head position control, head position control method, and disk device
US6751046B1 (en) Writing servo data patterns on a data storage disk to account for repeatable and non-repeatable disturbances and thereby provide concentric data tracks
US7330331B2 (en) Repeatable runout estimation in a noisy position error signal environment
US7167336B1 (en) Method for providing variable gain, iterative embedded runout correction in a disk drive
US6785073B2 (en) Identification and cancellation of cage frequency in a hard disc drive
US20040228027A1 (en) Apparatus and method for maintaining stability in a disc drive servo loop
US6963466B2 (en) Radial dependent low frequency repeatable run out compensation apparatus and method
US20030133220A1 (en) Written-in repeatable run-out compensation in embedded servo disc drives
US6292324B1 (en) Disk drive with compensation values calculated using a non-causal impulse response
US20040021977A1 (en) Compensating for coherent runout error in a data-storage device
US6804079B2 (en) Written-in repeatable run-out compensation in embedded servo disc drives
US6606215B1 (en) Compensation for repeatable runout error

Legal Events

Date Code Title Description
AS Assignment

Owner name: SEAGATE TECHNOLOGY LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MORRIS, JOHN C.;ZIRPS, THOMAS C.;REEL/FRAME:011548/0428

Effective date: 20010212

AS Assignment

Owner name: JPMORGAN CHASE BANK, AS COLLATERAL AGENT, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:SEAGATE TECHNOLOGY LLC;REEL/FRAME:013177/0001

Effective date: 20020513

Owner name: JPMORGAN CHASE BANK, AS COLLATERAL AGENT,NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNOR:SEAGATE TECHNOLOGY LLC;REEL/FRAME:013177/0001

Effective date: 20020513

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: JPMORGAN CHASE BANK, AS COLLATERAL AGENT, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:SEAGATE TECHNOLOGY LLC;REEL/FRAME:013516/0015

Effective date: 20020513

CC Certificate of correction
AS Assignment

Owner name: SEAGATE TECHNOLOGY LLC, CALIFORNIA

Free format text: RELEASE OF SECURITY INTERESTS IN PATENT RIGHTS;ASSIGNOR:JPMORGAN CHASE BANK, N.A. (FORMERLY KNOWN AS THE CHASE MANHATTAN BANK AND JPMORGAN CHASE BANK), AS ADMINISTRATIVE AGENT;REEL/FRAME:016958/0328

Effective date: 20051130

REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 4

SULP Surcharge for late payment
AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT

Free format text: SECURITY AGREEMENT;ASSIGNORS:MAXTOR CORPORATION;SEAGATE TECHNOLOGY LLC;SEAGATE TECHNOLOGY INTERNATIONAL;REEL/FRAME:022757/0017

Effective date: 20090507

Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATE

Free format text: SECURITY AGREEMENT;ASSIGNORS:MAXTOR CORPORATION;SEAGATE TECHNOLOGY LLC;SEAGATE TECHNOLOGY INTERNATIONAL;REEL/FRAME:022757/0017

Effective date: 20090507

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: MAXTOR CORPORATION, CALIFORNIA

Free format text: RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:025662/0001

Effective date: 20110114

Owner name: SEAGATE TECHNOLOGY INTERNATIONAL, CALIFORNIA

Free format text: RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:025662/0001

Effective date: 20110114

Owner name: SEAGATE TECHNOLOGY LLC, CALIFORNIA

Free format text: RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:025662/0001

Effective date: 20110114

Owner name: SEAGATE TECHNOLOGY HDD HOLDINGS, CALIFORNIA

Free format text: RELEASE;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:025662/0001

Effective date: 20110114

AS Assignment

Owner name: THE BANK OF NOVA SCOTIA, AS ADMINISTRATIVE AGENT,

Free format text: SECURITY AGREEMENT;ASSIGNOR:SEAGATE TECHNOLOGY LLC;REEL/FRAME:026010/0350

Effective date: 20110118

AS Assignment

Owner name: SEAGATE TECHNOLOGY INTERNATIONAL, CAYMAN ISLANDS

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT AND SECOND PRIORITY REPRESENTATIVE;REEL/FRAME:030833/0001

Effective date: 20130312

Owner name: SEAGATE TECHNOLOGY US HOLDINGS, INC., CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT AND SECOND PRIORITY REPRESENTATIVE;REEL/FRAME:030833/0001

Effective date: 20130312

Owner name: EVAULT INC. (F/K/A I365 INC.), CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT AND SECOND PRIORITY REPRESENTATIVE;REEL/FRAME:030833/0001

Effective date: 20130312

Owner name: SEAGATE TECHNOLOGY LLC, CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT AND SECOND PRIORITY REPRESENTATIVE;REEL/FRAME:030833/0001

Effective date: 20130312

FPAY Fee payment

Year of fee payment: 12