US20010033454A1 - Rotational acceleration correction in a disc drive - Google Patents

Rotational acceleration correction in a disc drive Download PDF

Info

Publication number
US20010033454A1
US20010033454A1 US09/770,422 US77042201A US2001033454A1 US 20010033454 A1 US20010033454 A1 US 20010033454A1 US 77042201 A US77042201 A US 77042201A US 2001033454 A1 US2001033454 A1 US 2001033454A1
Authority
US
United States
Prior art keywords
controller
disc drive
gains
gain
limit
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/770,422
Other versions
US6414813B2 (en
Inventor
Dustin Cvancara
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/770,422 priority Critical patent/US6414813B2/en
Assigned to SEAGATE TECHNOLOGY LLC reassignment SEAGATE TECHNOLOGY LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CVANCARA, DUSTIN M.
Publication of US20010033454A1 publication Critical patent/US20010033454A1/en
Application granted granted Critical
Publication of US6414813B2 publication Critical patent/US6414813B2/en
Assigned to JPMORGAN CHASE BANK, AS COLLATERAL AGENT reassignment JPMORGAN CHASE BANK, AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: SEAGATE TECHNOLOGY LLC
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 JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND FIRST PRIORITY REPRESENTATIVE, WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT AND SECOND PRIORITY REPRESENTATIVE reassignment JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND FIRST PRIORITY REPRESENTATIVE SECURITY AGREEMENT Assignors: MAXTOR CORPORATION, SEAGATE TECHNOLOGY INTERNATIONAL, SEAGATE TECHNOLOGY LLC
Assigned to SEAGATE TECHNOLOGY LLC, SEAGATE TECHNOLOGY HDD HOLDINGS, SEAGATE TECHNOLOGY INTERNATIONAL, MAXTOR CORPORATION 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 LLC, EVAULT INC. (F/K/A I365 INC.), SEAGATE TECHNOLOGY INTERNATIONAL 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
    • 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/5582Track change, selection or acquisition by displacement of the head across disk tracks system adaptation for working during or after external perturbation, e.g. in the presence of a mechanical oscillation caused by a shock
    • 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/59627Aligning for runout, eccentricity or offset compensation

Definitions

  • the invention relates to disc drive storage systems using accelerometers.
  • the invention relates to correction for rotational acceleration in a disc drive storage system.
  • Disc drives have problems when rotational shock or vibration forces are applied.
  • the rotational shock can move a read/write head away from the center of the desired track on a disc. This can cause either an error or a delay in transferring data.
  • the use of an accelerometer for correction reduces problems encountered with rotational vibration.
  • a disc drive includes a shock evaluator or sensing circuit with resettable threshold shock values to account for changes in operating conditions.
  • a disc drive includes an acceleration responsive sensor that is sampled at a different sampling rate than the position error signal.
  • Disc drives particularly those used in battery-powered portable computers, have significant electrical power constraints that preclude solving these problems using larger or faster controllers that draw excessive amounts of power.
  • a method and an apparatus are needed, within the power constraints of a disc drive, to correct for rotational vibration while avoiding unduly delaying performance of servo control calculations.
  • a method and apparatus are also needed that avoid overcorrecting for transient rotational events.
  • the circuit includes a servo controller that controls a positioning motor for the head as a function of servo data from the head.
  • the circuit also includes a rotational vibration (RV) controller that also controls the positioning motor for the head as a function of an output of an accelerometer and multiple sets of adjustable gains “g i ” in the rotational vibration controller.
  • RV rotational vibration
  • the accelerometer output indicates vibration and is coupled to the RV controller.
  • the accelerometer output is compared to an acceleration threshold stored in the controller. If the acceleration is greater than the threshold, then a conditional branch is made to provide rotational vibrational correction to the positioning motor.
  • the controller updates one set of the adjustable controller gains “g i ” within a computational time limit after a first execution of servo controller code.
  • the controller preferably updates a second set of the adjustable controller gains “gi” within the computational time limit after a second execution of servo controller code.
  • FIG. 1 illustrates an embodiment of a disc drive including a processor adapted to perform rotational acceleration correction
  • FIG. 2 illustrates a block diagram of an embodiment of a disc drive including a processor adapted to perform rotational acceleration correction
  • FIG. 3 illustrates a flow chart of performing rotational acceleration correction in a processor
  • FIG. 4 illustrates a flow chart of performing rotational acceleration correction including a gain step limit in a processor
  • FIG. 5 illustrates exemplary timing of gain corrections interleaved with servo calculations in a processor.
  • an embodiment of a disc drive 100 includes a processor 140 that performs rotational acceleration correction as a function of an accelerometer output 156 from an accelerometer 157 .
  • Disc drive 100 includes a disc pack 126 having storage surfaces 106 that are typically layers of magnetic material.
  • the disc pack 126 includes a stack of multiple discs.
  • a read/write head assembly 112 includes a read/write transducer 110 for each stacked disc.
  • Disc pack 126 is spun or rotated as shown by arrow 107 to allow read/write head assembly 112 to access different rotational locations for data on the storage surfaces 106 on the disc pack 126 .
  • Read/write head assembly 112 is actuated to move radially, relative to the disc pack 126 , as shown by arrow 122 to access different radial locations for data on the storage surfaces 106 of disc pack 126 .
  • the actuation of read/write head assembly 112 is provided by a voice coil motor 118 .
  • Voice coil motor 118 includes a rotor 116 that pivots on axle 120 and an arm 114 that actuates the read/write head assembly 112 .
  • Accelerometer 157 is preferably mounted in disc drive 100 . Accelerometer 157 is closely mechanically coupled to the disc drive 100 so that it experiences substantially the same acceleration as the disc drive 100 . Alternatively, accelerometer 157 can be mounted external to the disc drive 100 , provided that the close mechanical coupling is maintained. Accelerometer 157 is oriented such that accelerometer 157 experiences rotational acceleration that is similar to the rotational acceleration experienced by disc drive 100 due to rotational acceleration of the disc drive 100 . Accelerometer 157 provides acceleration data that is used by a circuit at location 130 in controlling the position of read/write transducer 110 .
  • a portion 132 of the circuit at location 130 that controls the rotational actuation of the read/write head assembly 112 is broken out and illustrated schematically on the right side of FIG. 1.
  • One or more of the read/write transducers 110 provide data indicating a sensed actuator position 2 (track) on line 134 to a demodulator 136 .
  • Demodulator 136 demodulates the sensed actuator position 2 , putting the position data in a digital form that is coupled along line 138 to processor 140 .
  • Processor 140 includes RAM 142 and ROM 144 and generates a signal on line 146 for controlling the voice coil motor 118 .
  • the signal on line 146 is amplified by power amplifier 148 .
  • Power amplifier 148 provides an output current I that couples along line 150 to the voice coil motor 118 and controls the rotational or mechanical position 2 M of read/write head assembly 112 .
  • the current I includes a correction current as explained in more detail below in connection with the example illustrated in FIG. 2.
  • Processor 140 includes a setpoint input 152 that receives reference data, typically from a CPU of an associated personal computer, indicating a desired actuator position 2 d .
  • ROM 144 stores instructions for a voice coil motor controller process or algorithm that controls the read/write head position 2 M so that data can be read or written on the desired (setpoint) track on the storage surfaces 106 of disc pack 126 .
  • the processor 140 includes instructions stored in ROM 144 for a process or algorithm that provides acceleration correction for the read/write head assembly 112 using the accelerometer 157 .
  • the processor 140 provides an output on line 146 that is corrected for the effects of rotational acceleration sensed by the accelerometer 157 .
  • the rotational acceleration correction is described in more detail below in connection with examples illustrated in FIGS. 2 - 5 .
  • the function of processor 140 under normal or natural operating conditions is to provide closed loop “servo” control of the positioning of the voice coil motor 118 so that data on the disc pack 126 can be read or written.
  • the processor 140 can also perform a servo filtered-X algorithm for rotational acceleration corrections when needed without interrupting the normal servo functions for excessively long time intervals.
  • the filtered X algorithm calibrates a set of gains based on the amplitude and phase relationship between the acceleration and the position error signal (PES) experienced by the servo system.
  • the rotational acceleration correction can be performed automatically when the levels of acceleration and/or a position error signal (PES) are above thresholds where such correction is indicated.
  • portion 132 of the disc drive controller can be implemented as a single integrated circuit or it can be implemented in several integrated circuits or include discrete circuit components or software in any combination, depending on the application.
  • Portion 132 of the disc drive controller can transmit and receive data for the user on line 158 , or data for the user can be handled by a different portion of the disc drive circuitry, depending on the needs of the application.
  • FIG. 2 illustrates a first embodiment of a disc drive controller 170 using an accelerometer 172 to provide rotational vibration feedforward (RVFF) control.
  • RVFF rotational vibration feedforward
  • This RVFF control corrects for vibration disturbances of the position of a read/write head 176 on a storage disc 177 .
  • the accelerometer 172 is mechanically coupled to the disc drive and experiences substantially the same vibrational disturbances that are experienced by read/write head 176 and positioning motor 174 .
  • Controller 170 includes a servo controller 190 that provides a current I 1 to summing junction 193 .
  • Controller 170 also includes a rotational vibration feedforward (RVFF) controller 191 that provides a current 12 to summing junction 193 .
  • Summing junction 193 provides a current I 1 +I 2 along line 192 to a positioning motor 174 which positions the read/write head 176 on the surface of storage disc 177 .
  • the read/write head 176 senses its position or track on the magnetic storage disc 177 .
  • Read/write head 176 electrically couples along line 179 to a demodulator circuit 178 .
  • Demodulator circuit 178 demodulates the sensed position and provides a demodulated output indicating a sensed read/write head position ⁇ on line 180 .
  • Demodulator circuit 178 also provides data read from the disc 177 along line 181 to a computer system connected to the disc drive.
  • the sensed read/write head position ⁇ on line 180 is coupled to a summing junction 182 .
  • the summing junction 182 also receives a signal indicating a desired head position ⁇ d on line 184 from a computer system connected to the disc drive.
  • the summing junction 182 generates a position error signal (PES) 186 that represents the algebraic difference ( ⁇ d ⁇ ).
  • PES position error signal
  • the servo controller 190 , the read/write head 176 , and the positioning motor 174 together comprise a servo system, which is a closed-loop control system that controls the position of the read/write head 176 .
  • the rotational vibration (RV) controller 191 has multiple sets 200 , 202 of adjustable controller gains “g i ”, i.e. G 1 , G 2 . . . GN.
  • a “set” of controller gains comprises one or more gains.
  • the controller gains “g i ” are adjusted to change the characteristics of the RV controller 191 as needed to provide for correction (current I 2 ) when there is rotational acceleration.
  • An RV update circuit 192 performs calculations for rotational acceleration correction in real time. In other words, RV update circuit 192 performs calculations for transient rotational acceleration correction while the transient disturbance is taking place.
  • servo controller 190 performs servo calculations to position the head 176 with current I 1 to the desired rotational position indicated by the input on line 184 , which can be time variant.
  • the servo controller 190 and the RV update circuit 192 place simultaneous and conflicting demands for processor time on the processor 170 .
  • This conflict is overcome in a workable way by an algorithm that divides or splits up the controller gains or taps “g i ” into smaller groups or sets 200 , 202 of controller gains “g i ” and performing the smaller sets at different times that are spaced apart.
  • Slices of code, or processor instructions, that update the smaller sets 200 are executed in a way that is interleaved in time with execution of slices of code for the servo controller 190 . This interleaving of code slices is illustrated in more detail in FIG. 5.
  • the algorithm performs the update or calibration computation in sets. Fore example, five taps can be calculated in one set during one time slice, and five taps can be calculated in another set during a subsequent time slice. This is somewhat complicated by the fact that there is a desire to calibrate the gain taps on current information and only when the PES and acceleration levels are above the required thresholds. Having a first set calibrated does not necessarily imply that a second set will also be calibrated, however, the calibration sets take place so often that the effects tend to even out and all gains are calibrated successfully.
  • a conditional branch is executed in code to update a set in update circuit 192 .
  • Only one of the sets 200 , 202 of controller gains “g i ” is updated with each conditional branch. This spreads out the time used for calculating updated controller gains so that it does not preempt or interrupt the calculations of servo controller 190 for too long a period of time.
  • the calculation of controller gains “g i ” by update circuit 192 is broken up into smaller sets 200 , 202 that are interleaved in time with the calculations of servo controller 190 . Both types of calculations are thus completed in real time without interfering with one another.
  • the accelerometer 172 provides an accelerometer output 188 that indicates rotational vibration to RV update circuit 192 .
  • the accelerometer 172 senses acceleration about a Z-axis that is approximately parallel with an axis of rotation of the read/write head 176 .
  • the RV update circuit 192 compares the accelerometer output 188 to an acceleration threshold stored in the controller at memory 198 .
  • the RV update circuit 192 also compares the position error signal (PES) on line 186 to a PES threshold stored in the controller at memory 198 . If the accelerometer output 188 exceeds the acceleration threshold at 198 and the PES on line 186 exceeds the PES threshold at memory 198 , then RV update circuit executes a conditional branch.
  • the slice of code executed in the conditional branch generates an update of one of the sets 200 or 202 of controller gains. This is explained in more detail in FIGS. 3 - 4 .
  • the update circuit 192 updates one set 200 of the adjustable controller gains “g i ” within a computational time limit after a first conditional branch. After a second or subsequent conditional branch, the update circuit updates the second set 202 of adjustable controller gains.
  • two sets of controller gains are illustrated. It will be understood by those skilled in the art, however, that 3 , 4 , 5 , or an arbitrary number M of sets could be used to meet the computational time limit needs in a particular disc drive application.
  • Controller 170 generates currents I 1 and I 2 that are summed at summing junction 193 to form current I that is coupled to voice coil motor 174 .
  • Current I includes a current component I 1 that due to servo control and also includes a correction current component I 2 that corrects for rotational vibration.
  • Voice coil motor 174 provides a torque T that positions the read/write head 176 according to both current components. The read/write head 176 stays well centered on the desired track and data can be read and written on the storage disc 177 without excessive error or delay due to transient rotational acceleration disturbances.
  • RV update circuit 192 preferably stores a preset gain step limit at 204 .
  • the RV update circuit 192 limits adjustable controller gain change “g 1 ⁇ g I ⁇ 1 ” by the preset gain step limit. This gain step limit avoids overcorrecting for large rotational accelerations and avoids errors in the position of the read/write head 176 during and after these large rotational accelerations. The controller is thus able to reject the undesired effects of large rotational shocks or other transient noise events.
  • Update circuit 192 preferably updates the adjustable controller gains “g i ” based on amplitude and phase relationships between the accelerometer output 188 and the PES on line 186 .
  • the adjustable controller gains “g i ” are updated substantially according to Equation 1.
  • Equation 1 k is a sequence number of the conditional branch. A conditional branch may occur frequently when there is lot vibration, or may occur very infrequently when there is little or no vibration.
  • Const is a constant and H 1 is a function representing the acceleration output 188 passed through a model (algorithm) representing characteristics of the positioning motor 174 . Equation 1 is executed once per tap “i” of the filtered X algorithm. The tap “i” is one of the numbered gains in a set. When a larger number of taps is used, the overall feedforward system generally operates better. An increased number of taps, however, increases calculation time.
  • Equation 1 is explained in more detail below in connection with the flow chart illustrated in FIG. 3.
  • adjustable controller gains “g i ” are updated substantially according to Equation 2.
  • Equation 2 provides the added benefit of limiting the difference in gain calibration levels between different sets of gains.
  • F is a function whose value is equal in amplitude to that of gain_step_limit and has the same polarity as the computed product. In this way, the maximum single step change in the individual gains is limited to a positive or a negative gain_step_limit. This provides rejection of spurious inputs and also limits the rate of reaction to sudden changes in vibration characteristics such as amplitude and frequency content. Equation 2 is explained in more detail below in connection with the flow chart illustrated in FIG. 4.
  • FIG. 3 illustrates a general flow chart performing rotational acceleration correction in a disc drive.
  • the process illustrated in FIG. 3 can perform the corrections such as those shown in Equation 1 for a disc drive such as those illustrated in FIGS. 1 or 2 , for example.
  • processing starts at start 220 when a conditional branch is executed.
  • Conditional branches are assigned sequential numbers “K” so that different sets of controller gains can be selected for updating at decision point 222 depending on the number K of the conditional branch.
  • K the number of controller gains
  • sets are selected based on whether K is odd (not evenly divisible by 2) or even (evenly divisible by 2).
  • a counter “i” is initially set to “n” at process block 232 .
  • the counter “i” is tested at decision point 234 to determine if it is counted down yet to “n/2”. If the counter “i” has not been counted down that far yet, then the process proceeds along line 236 (marked NO) to process block 238 .
  • the number K will be odd and processing will proceed from decision point 222 along line 250 .
  • the counter “i” is initially set to “n/2” at process block 252 .
  • the counter “i” is tested at decision point 254 to determine if it is counted down yet to “0”. If the counter “i” has not been counted down that far yet, then the process proceeds along line 256 (marked N) to process block 258 .
  • FIG. 4 illustrates a general flow chart performing rotational acceleration correction in a disc drive.
  • the process illustrated in FIG. 4 can perform the corrections such as those shown in Equation 2 for a disc drive such as those illustrated in FIGS. 1 or 2 , for example.
  • the process illustrated in FIG. 4 is similar to the process illustrated in FIG. 3.
  • the reference numerals used in FIG. 4 that are the same as reference numerals used in FIG. 3 identify the same or similar processes.
  • the process shown in FIG. 4 performs a calculation along the lines of Equation 2 in process blocks 238 A, 238 B and 258 A, 258 B, while the process illustrated in FIG. 3 performs calculations along the lines of Equation 1 in process blocks 238 , 258 .
  • FIG. 4 performs a calculation along the lines of Equation 2 in process blocks 238 A, 238 B and 258 A, 258 B, while the process illustrated in FIG. 3 performs calculations along the lines of Equation 1 in process blocks 238 , 258 .
  • process blocks 238 A, 258 A perform all of the functions listed in Equation 2 except for the gain_step_limit.
  • Process blocks 238 B and 258 B perform the function of gain_step_limit in Equation 2.
  • the gain step limit limits the amount of change (g i (k) ⁇ g i (k ⁇ 1) in a gain tap to a predetermined limit. This arrangement helps prevent overcorrecting when there is a large rotational disturbance.
  • the processes illustrated in FIG. 4 are generally the same as those described above in connection with FIG. 3.
  • FIGS. 3 and 4 can be executed in software, hardware, or a combination of software and hardware.
  • FIG. 5 is a timing diagram that schematically illustrates timing relationships between interleaved slices of code that are executed in performing servo controller functions and gain update functions.
  • a first waveform 280 illustrates servo data that is received from the head, such as might be present, for example, on line 138 in FIG. 1 or line 180 in FIG. 2.
  • a second waveform 282 illustrates a data ready interrupt that indicates that the servo data is ready for use.
  • a third waveform 284 indicates time intervals during which code for a servo controller, such as servo controller 190 in FIG. 2 is executing. After each execution of code for the servo controller, there is an interval of time T 1 when code for the servo controller is not executing, and there is computational time available for use.
  • the length of the time interval T 1 sets a computational time limit (CTL) which limits the amount of computation that can be interleaved between two successive executions of servo controller code. Updating all of the taps in the gains for rotational vibration correction takes an amount of time that exceeds the computational time limit (CTL).
  • CTL computational time limit
  • the gains are thus divided up into two sets 1 and 2.
  • a fourth waveform 286 illustrates a time interval 288 during which the first set 1 of gains are updated and a time interval 290 during which the second set 2 of gains are updated.
  • the slices of processor time 288 , 290 are interleaved with slices of processor time 284 that are used for servo controller computations. Time overruns beyond the computational time limit T 1 can cause an interrupt for the next data wedge, and multisamp computation can be pushed out in time, and a significant error in servo performance results. In some disc drives, however, a shorter computational time limit may be required, and three or more sets of adjustable gains can be used to meet the shorter time limit.
  • a controller 130 , 170 that controls a positioning motor ( 118 , 174 ) for the head ( 110 , 176 ) includes multiple sets ( 200 , 202 ) of adjustable controller gains “g i ” for rotational vibration correction.
  • An accelerometer output ( 156 , 188 ) indicating vibration is coupled to the controller ( 130 , 170 ).
  • the accelerometer output ( 156 , 188 ) is compared to an acceleration threshold (at 198 ) stored in the controller ( 130 , 170 ).
  • the controller ( 130 , 170 ) generates conditional branching ( 220 ) as a function of the comparison.
  • the controller ( 130 , 170 ) updates one set ( 200 ) of the adjustable controller gains “g i ” within a computational time limit (T 1 ) after a first conditional branch ( 220 ).
  • the controller ( 130 , 170 ) preferably updates a second set ( 202 ) of the adjustable controller gains “gi” within the computational time limit (T 1 ) after a second conditional branch ( 220 ).

Landscapes

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

Abstract

A disc drive controller corrects for rotational vibration disturbances of a head position. The controller includes multiple sets of adjustable controller gains. The controller compares an accelerometer output to an acceleration threshold and generates conditional branches as a function of the comparison. The controller updates one set of the adjustable controller gains within a computational time limit after a first conditional branching. The controller updates a second set of the adjustable controller gains within the computational time limit after a second conditional branching.

Description

    CROSS REFERENCE TO RELATED APPLICATION
  • This application claims priority of U.S. Provisional Application No. 60/180,755, filed Feb. 7, 2000 by Dustin M. Cvancara for “Improved Calibration of Filtered X-Gains with respect to Computational Time Limitations and the Rejection of Transient Events.” This application is also a continuation of International Application No. PCT/US01/______ (Atty docket S01.13-0649/STL9498PC), filed on even date herewith by Seagate Technology LLC for “Rotational Acceleration Correction in a Disc Drive” which in turn claims priority of the aforementioned U.S. Provisional Application.[0001]
  • FIELD OF THE INVENTION
  • The invention relates to disc drive storage systems using accelerometers. In particular, the invention relates to correction for rotational acceleration in a disc drive storage system. [0002]
  • BACKGROUND OF THE INVENTION
  • Disc drives have problems when rotational shock or vibration forces are applied. The rotational shock can move a read/write head away from the center of the desired track on a disc. This can cause either an error or a delay in transferring data. The use of an accelerometer for correction, however, reduces problems encountered with rotational vibration. [0003]
  • The use of accelerometers in disc drives is known. In U.S. Pat. Nos. 6,018,431 & 5,923,487 Carlson et al., for example, a disc drive includes a shock evaluator or sensing circuit with resettable threshold shock values to account for changes in operating conditions. In U.S. Pat. No. 5,663,847 Abramovitch, a disc drive includes an acceleration responsive sensor that is sampled at a different sampling rate than the position error signal. [0004]
  • It is difficult, however, for the head-positioning servo controller to complete computations associated with using an accelerometer without excessively delaying computations associated with responding to servo positioning command inputs from an associated computer system. Further, when the disc drive experiences rather large transient rotational shocks, the vibration correction calculations can tend to overcorrect and cause significant errors in the performance of the servo controller functions. [0005]
  • Disc drives, particularly those used in battery-powered portable computers, have significant electrical power constraints that preclude solving these problems using larger or faster controllers that draw excessive amounts of power. [0006]
  • A method and an apparatus are needed, within the power constraints of a disc drive, to correct for rotational vibration while avoiding unduly delaying performance of servo control calculations. A method and apparatus are also needed that avoid overcorrecting for transient rotational events. [0007]
  • SUMMARY OF THE INVENTION
  • Disclosed is a method and circuit that correct for rotational vibration disturbances of a head position in a disc drive. The circuit includes a servo controller that controls a positioning motor for the head as a function of servo data from the head. The circuit also includes a rotational vibration (RV) controller that also controls the positioning motor for the head as a function of an output of an accelerometer and multiple sets of adjustable gains “g[0008] i” in the rotational vibration controller.
  • The accelerometer output indicates vibration and is coupled to the RV controller. The accelerometer output is compared to an acceleration threshold stored in the controller. If the acceleration is greater than the threshold, then a conditional branch is made to provide rotational vibrational correction to the positioning motor. [0009]
  • The controller updates one set of the adjustable controller gains “g[0010] i” within a computational time limit after a first execution of servo controller code. The controller preferably updates a second set of the adjustable controller gains “gi” within the computational time limit after a second execution of servo controller code.
  • Additional features and benefits will become apparent with a careful review of the following drawings and the corresponding detailed description.[0011]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates an embodiment of a disc drive including a processor adapted to perform rotational acceleration correction; [0012]
  • FIG. 2 illustrates a block diagram of an embodiment of a disc drive including a processor adapted to perform rotational acceleration correction; [0013]
  • FIG. 3 illustrates a flow chart of performing rotational acceleration correction in a processor; [0014]
  • FIG. 4 illustrates a flow chart of performing rotational acceleration correction including a gain step limit in a processor; and [0015]
  • FIG. 5 illustrates exemplary timing of gain corrections interleaved with servo calculations in a processor.[0016]
  • DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS
  • In FIG. 1., an embodiment of a [0017] disc drive 100 includes a processor 140 that performs rotational acceleration correction as a function of an accelerometer output 156 from an accelerometer 157. Disc drive 100 includes a disc pack 126 having storage surfaces 106 that are typically layers of magnetic material. The disc pack 126 includes a stack of multiple discs. A read/write head assembly 112 includes a read/write transducer 110 for each stacked disc. Disc pack 126 is spun or rotated as shown by arrow 107 to allow read/write head assembly 112 to access different rotational locations for data on the storage surfaces 106 on the disc pack 126.
  • Read/write [0018] head assembly 112 is actuated to move radially, relative to the disc pack 126, as shown by arrow 122 to access different radial locations for data on the storage surfaces 106 of disc pack 126. Typically, the actuation of read/write head assembly 112 is provided by a voice coil motor 118. Voice coil motor 118 includes a rotor 116 that pivots on axle 120 and an arm 114 that actuates the read/write head assembly 112.
  • Accelerometer [0019] 157 is preferably mounted in disc drive 100. Accelerometer 157 is closely mechanically coupled to the disc drive 100 so that it experiences substantially the same acceleration as the disc drive 100. Alternatively, accelerometer 157 can be mounted external to the disc drive 100, provided that the close mechanical coupling is maintained. Accelerometer 157 is oriented such that accelerometer 157 experiences rotational acceleration that is similar to the rotational acceleration experienced by disc drive 100 due to rotational acceleration of the disc drive 100. Accelerometer 157 provides acceleration data that is used by a circuit at location 130 in controlling the position of read/write transducer 110.
  • A [0020] portion 132 of the circuit at location 130 that controls the rotational actuation of the read/write head assembly 112 is broken out and illustrated schematically on the right side of FIG. 1. One or more of the read/write transducers 110 provide data indicating a sensed actuator position 2 (track) on line 134 to a demodulator 136. Demodulator 136 demodulates the sensed actuator position 2, putting the position data in a digital form that is coupled along line 138 to processor 140. Processor 140 includes RAM 142 and ROM 144 and generates a signal on line 146 for controlling the voice coil motor 118. The signal on line 146 is amplified by power amplifier 148. Power amplifier 148 provides an output current I that couples along line 150 to the voice coil motor 118 and controls the rotational or mechanical position 2 M of read/write head assembly 112. The current I includes a correction current as explained in more detail below in connection with the example illustrated in FIG. 2. Processor 140 includes a setpoint input 152 that receives reference data, typically from a CPU of an associated personal computer, indicating a desired actuator position 2 d. ROM 144 stores instructions for a voice coil motor controller process or algorithm that controls the read/write head position 2 M so that data can be read or written on the desired (setpoint) track on the storage surfaces 106 of disc pack 126.
  • The [0021] processor 140 includes instructions stored in ROM 144 for a process or algorithm that provides acceleration correction for the read/write head assembly 112 using the accelerometer 157. The processor 140 provides an output on line 146 that is corrected for the effects of rotational acceleration sensed by the accelerometer 157. The rotational acceleration correction is described in more detail below in connection with examples illustrated in FIGS. 2-5. The function of processor 140 under normal or natural operating conditions is to provide closed loop “servo” control of the positioning of the voice coil motor 118 so that data on the disc pack 126 can be read or written. The processor 140 can also perform a servo filtered-X algorithm for rotational acceleration corrections when needed without interrupting the normal servo functions for excessively long time intervals. The filtered X algorithm calibrates a set of gains based on the amplitude and phase relationship between the acceleration and the position error signal (PES) experienced by the servo system. The rotational acceleration correction can be performed automatically when the levels of acceleration and/or a position error signal (PES) are above thresholds where such correction is indicated.
  • It will be understood by those skilled in the art that the [0022] processor 140 can execute other support functions for the disc drive 100 as well. Portion 132 of the disc drive controller can be implemented as a single integrated circuit or it can be implemented in several integrated circuits or include discrete circuit components or software in any combination, depending on the application. Portion 132 of the disc drive controller can transmit and receive data for the user on line 158, or data for the user can be handled by a different portion of the disc drive circuitry, depending on the needs of the application.
  • FIG. 2 illustrates a first embodiment of a [0023] disc drive controller 170 using an accelerometer 172 to provide rotational vibration feedforward (RVFF) control. This RVFF control corrects for vibration disturbances of the position of a read/write head 176 on a storage disc 177. As illustrated by broken line 171, the accelerometer 172 is mechanically coupled to the disc drive and experiences substantially the same vibrational disturbances that are experienced by read/write head 176 and positioning motor 174.
  • [0024] Controller 170 includes a servo controller 190 that provides a current I1 to summing junction 193. Controller 170 also includes a rotational vibration feedforward (RVFF) controller 191 that provides a current 12 to summing junction 193. Summing junction 193 provides a current I1+I2 along line 192 to a positioning motor 174 which positions the read/write head 176 on the surface of storage disc 177.
  • The read/[0025] write head 176 senses its position or track on the magnetic storage disc 177. Read/write head 176 electrically couples along line 179 to a demodulator circuit 178. Demodulator circuit 178 demodulates the sensed position and provides a demodulated output indicating a sensed read/write head position θ on line 180. Demodulator circuit 178 also provides data read from the disc 177 along line 181 to a computer system connected to the disc drive. The sensed read/write head position θ on line 180 is coupled to a summing junction 182. The summing junction 182 also receives a signal indicating a desired head position θd on line 184 from a computer system connected to the disc drive. The summing junction 182 generates a position error signal (PES) 186 that represents the algebraic difference (θd−θ). The servo controller 190, the read/write head 176, and the positioning motor 174 together comprise a servo system, which is a closed-loop control system that controls the position of the read/write head 176.
  • The rotational vibration (RV) [0026] controller 191 has multiple sets 200, 202 of adjustable controller gains “gi”, i.e. G1, G2 . . . GN. A “set” of controller gains comprises one or more gains. The controller gains “gi” are adjusted to change the characteristics of the RV controller 191 as needed to provide for correction (current I2) when there is rotational acceleration. An RV update circuit 192 performs calculations for rotational acceleration correction in real time. In other words, RV update circuit 192 performs calculations for transient rotational acceleration correction while the transient disturbance is taking place. At the same time, however, servo controller 190 performs servo calculations to position the head 176 with current I1 to the desired rotational position indicated by the input on line 184, which can be time variant. The servo controller 190 and the RV update circuit 192 place simultaneous and conflicting demands for processor time on the processor 170. This conflict is overcome in a workable way by an algorithm that divides or splits up the controller gains or taps “gi” into smaller groups or sets 200, 202 of controller gains “gi” and performing the smaller sets at different times that are spaced apart. Slices of code, or processor instructions, that update the smaller sets 200 are executed in a way that is interleaved in time with execution of slices of code for the servo controller 190. This interleaving of code slices is illustrated in more detail in FIG. 5.
  • Instead of processing all of the taps during the same time slice, in response to the same acceleration and PES levels, the algorithm performs the update or calibration computation in sets. Fore example, five taps can be calculated in one set during one time slice, and five taps can be calculated in another set during a subsequent time slice. This is somewhat complicated by the fact that there is a desire to calibrate the gain taps on current information and only when the PES and acceleration levels are above the required thresholds. Having a first set calibrated does not necessarily imply that a second set will also be calibrated, however, the calibration sets take place so often that the effects tend to even out and all gains are calibrated successfully. [0027]
  • A conditional branch is executed in code to update a set in [0028] update circuit 192. Only one of the sets 200, 202 of controller gains “gi” is updated with each conditional branch. This spreads out the time used for calculating updated controller gains so that it does not preempt or interrupt the calculations of servo controller 190 for too long a period of time. The calculation of controller gains “gi” by update circuit 192 is broken up into smaller sets 200, 202 that are interleaved in time with the calculations of servo controller 190. Both types of calculations are thus completed in real time without interfering with one another.
  • The [0029] accelerometer 172 provides an accelerometer output 188 that indicates rotational vibration to RV update circuit 192. The accelerometer 172 senses acceleration about a Z-axis that is approximately parallel with an axis of rotation of the read/write head 176. The RV update circuit 192 compares the accelerometer output 188 to an acceleration threshold stored in the controller at memory 198. The RV update circuit 192 also compares the position error signal (PES) on line 186 to a PES threshold stored in the controller at memory 198. If the accelerometer output 188 exceeds the acceleration threshold at 198 and the PES on line 186 exceeds the PES threshold at memory 198, then RV update circuit executes a conditional branch. The slice of code executed in the conditional branch generates an update of one of the sets 200 or 202 of controller gains. This is explained in more detail in FIGS. 3-4.
  • The [0030] update circuit 192 updates one set 200 of the adjustable controller gains “gi” within a computational time limit after a first conditional branch. After a second or subsequent conditional branch, the update circuit updates the second set 202 of adjustable controller gains. In this example, two sets of controller gains are illustrated. It will be understood by those skilled in the art, however, that 3, 4, 5, or an arbitrary number M of sets could be used to meet the computational time limit needs in a particular disc drive application.
  • [0031] Controller 170 generates currents I1 and I2 that are summed at summing junction 193 to form current I that is coupled to voice coil motor 174. Current I includes a current component I1 that due to servo control and also includes a correction current component I2 that corrects for rotational vibration. Voice coil motor 174 provides a torque T that positions the read/write head 176 according to both current components. The read/write head 176 stays well centered on the desired track and data can be read and written on the storage disc 177 without excessive error or delay due to transient rotational acceleration disturbances.
  • [0032] RV update circuit 192 preferably stores a preset gain step limit at 204 . The RV update circuit 192 limits adjustable controller gain change “g1−gI−1” by the preset gain step limit. This gain step limit avoids overcorrecting for large rotational accelerations and avoids errors in the position of the read/write head 176 during and after these large rotational accelerations. The controller is thus able to reject the undesired effects of large rotational shocks or other transient noise events.
  • [0033] Update circuit 192 preferably updates the adjustable controller gains “gi” based on amplitude and phase relationships between the accelerometer output 188 and the PES on line 186. In one preferred arrangement, the adjustable controller gains “gi” are updated substantially according to Equation 1.
  • g i(k)=g i(k−1 )+const*PES(k)*H 1(k,i)  Equation 1
  • In [0034] Equation 1, k is a sequence number of the conditional branch. A conditional branch may occur frequently when there is lot vibration, or may occur very infrequently when there is little or no vibration. “Const” is a constant and H1 is a function representing the acceleration output 188 passed through a model (algorithm) representing characteristics of the positioning motor 174. Equation 1 is executed once per tap “i” of the filtered X algorithm. The tap “i” is one of the numbered gains in a set. When a larger number of taps is used, the overall feedforward system generally operates better. An increased number of taps, however, increases calculation time. If sets of gains are used, the calculation time at each conditional branch is reduced, and the rate of gain convergence is only slightly reduced using Equation 1. The slowing of the rate of gain convergence is beneficial since it helps limit the effects of transient noise or one-time shock inputs. Equation 1 is explained in more detail below in connection with the flow chart illustrated in FIG. 3.
  • In another preferred arrangement, adjustable controller gains “g[0035] i” are updated substantially according to Equation 2.
  • g i(k)=g i(k−1)+F{const*PES(k)*H i(k,i), gain step limit}  Equation 2
  • In [0036] Equation 2, k is a sequence number of the conditional branch, const is a constant, H1 is the acceleration output passed through a model (algorithm) representing characteristics of the positioning motor and gain_step_limit is a gain step limit stored in the controller. Equation 2 provides the added benefit of limiting the difference in gain calibration levels between different sets of gains. F is a function whose value is equal in amplitude to that of gain_step_limit and has the same polarity as the computed product. In this way, the maximum single step change in the individual gains is limited to a positive or a negative gain_step_limit. This provides rejection of spurious inputs and also limits the rate of reaction to sudden changes in vibration characteristics such as amplitude and frequency content. Equation 2 is explained in more detail below in connection with the flow chart illustrated in FIG. 4.
  • FIG. 3 illustrates a general flow chart performing rotational acceleration correction in a disc drive. The process illustrated in FIG. 3 can perform the corrections such as those shown in [0037] Equation 1 for a disc drive such as those illustrated in FIGS. 1 or 2, for example. In FIG. 3, processing starts at start 220 when a conditional branch is executed. Conditional branches are assigned sequential numbers “K” so that different sets of controller gains can be selected for updating at decision point 222 depending on the number K of the conditional branch. In the example illustrated in FIG. 3, there are only two sets of controller gains, and sets are selected based on whether K is odd (not evenly divisible by 2) or even (evenly divisible by 2). It will be understood that there can be a larger number P of sets of controller gains that is larger than 2, in which case sets of controller gains can be sequentially selected for updating based on a counter which counts from 1 to P.
  • If the number K is found to be an odd number at [0038] decision point 222, then processing proceeds generally along the right side 228 of FIG. 3 to update the first set of controller gains or taps i=1 up to i=(n/2) illustrated schematically at 224. If the number K is found to be an even number at 222, then processing proceeds generally along the left side 230 of FIG. 3 to update the second set of controller gains or taps i=(n/2)+1 up to I=n as illustrated schematically at 226.
  • After the [0039] left side 230 has been selected at decision point 222, a counter “i” is initially set to “n” at process block 232. Next, the counter “i” is tested at decision point 234 to determine if it is counted down yet to “n/2”. If the counter “i” has not been counted down that far yet, then the process proceeds along line 236 (marked NO) to process block 238. Process block 238 performs a calculation like that shown in Equation 1 with i=n on the first pass. The counter i is then decremented, i.e., i=i−1, at process block 240 and program flow returns along line 242 to decision point 234. The process continues to loop around the path 234-236-238-240-242-234 until the counter “i” is decremented to i=n/2. Then, program flow exits the loop at 244 and goes to process block 246. At process block 246, the conditional branch number K is incremented, K=K+1, and the program flow leaves gain updating to return to servo processing at process block 248. The next time there is an conditional branch to process block 220, the number K will be odd and processing will proceed from decision point 222 along line 250.
  • After the [0040] right side 228 has been selected at decision point 222, the counter “i” is initially set to “n/2” at process block 252. Next, the counter “i” is tested at decision point 254 to determine if it is counted down yet to “0”. If the counter “i” has not been counted down that far yet, then the process proceeds along line 256 (marked N) to process block 258. Process block 258 performs a calculation like that shown in Equation 1 with i=n/2 on the first pass. The counter i is then decremented, i.e., I=i−1, at process block 260 and program flow returns along line 262 to decision point 254. The process continues to loop around the path 254-256-258-260-262-254 until the counter “i” is decremented to i=0. Then, program flow exits the loop at 264 and goes to process block 246. At process block 246, the conditional branch number K is incremented, K=K+1, and the program flow leaves gain updating to return to servo processing at process block 248.
  • FIG. 4 illustrates a general flow chart performing rotational acceleration correction in a disc drive. The process illustrated in FIG. 4 can perform the corrections such as those shown in [0041] Equation 2 for a disc drive such as those illustrated in FIGS. 1 or 2, for example. The process illustrated in FIG. 4 is similar to the process illustrated in FIG. 3. The reference numerals used in FIG. 4 that are the same as reference numerals used in FIG. 3 identify the same or similar processes. The process shown in FIG. 4 performs a calculation along the lines of Equation 2 in process blocks 238A, 238B and 258A, 258B, while the process illustrated in FIG. 3 performs calculations along the lines of Equation 1 in process blocks 238, 258. In FIG. 4, process blocks 238A, 258A perform all of the functions listed in Equation 2 except for the gain_step_limit. Process blocks 238B and 258B perform the function of gain_step_limit in Equation 2. The gain step limit limits the amount of change (gi(k)−gi(k−1) in a gain tap to a predetermined limit. This arrangement helps prevent overcorrecting when there is a large rotational disturbance. In other respects, the processes illustrated in FIG. 4 are generally the same as those described above in connection with FIG. 3.
  • It will be understood by those skilled in the art that the steps illustrated in FIGS. 3 and 4 can be executed in software, hardware, or a combination of software and hardware. [0042]
  • FIG. 5 illustrates exemplary timing of gain corrections calculated within a computational time limit CTL=T[0043] 1 and interleaved with servo calculations in a processor such as processor 170 described in connection with FIG. 2 or processor 140 described in connection with FIG. 1. FIG. 5 is a timing diagram that schematically illustrates timing relationships between interleaved slices of code that are executed in performing servo controller functions and gain update functions.
  • In FIG. 5, a [0044] first waveform 280 illustrates servo data that is received from the head, such as might be present, for example, on line 138 in FIG. 1 or line 180 in FIG. 2. A second waveform 282 illustrates a data ready interrupt that indicates that the servo data is ready for use. A third waveform 284 indicates time intervals during which code for a servo controller, such as servo controller 190 in FIG. 2 is executing. After each execution of code for the servo controller, there is an interval of time T1 when code for the servo controller is not executing, and there is computational time available for use. The length of the time interval T1 sets a computational time limit (CTL) which limits the amount of computation that can be interleaved between two successive executions of servo controller code. Updating all of the taps in the gains for rotational vibration correction takes an amount of time that exceeds the computational time limit (CTL). The gains are thus divided up into two sets 1 and 2. A fourth waveform 286 illustrates a time interval 288 during which the first set 1 of gains are updated and a time interval 290 during which the second set 2 of gains are updated.
  • The slices of [0045] processor time 288, 290 are interleaved with slices of processor time 284 that are used for servo controller computations. Time overruns beyond the computational time limit T1 can cause an interrupt for the next data wedge, and multisamp computation can be pushed out in time, and a significant error in servo performance results. In some disc drives, however, a shorter computational time limit may be required, and three or more sets of adjustable gains can be used to meet the shorter time limit.
  • In summary, a method and circuit are disclosed that correct for rotational vibration disturbances of a position (θ) of a head ([0046] 110, 176) in a disc drive (100). A controller (130, 170) that controls a positioning motor (118, 174) for the head (110, 176) includes multiple sets (200, 202) of adjustable controller gains “gi” for rotational vibration correction.
  • An accelerometer output ([0047] 156, 188) indicating vibration is coupled to the controller (130, 170). The accelerometer output (156, 188) is compared to an acceleration threshold (at 198) stored in the controller (130, 170). The controller (130, 170) generates conditional branching (220) as a function of the comparison.
  • The controller ([0048] 130, 170) updates one set (200) of the adjustable controller gains “gi” within a computational time limit (T1) after a first conditional branch (220). The controller (130, 170) preferably updates a second set (202) of the adjustable controller gains “gi” within the computational time limit (T1) after a second conditional branch (220).
  • It is to be understood that even though numerous characteristics and advantages of various embodiments of the present 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. The examples of algorithms illustrated can be modified for various applications within the scope of the invention. Although the preferred embodiments described herein are directed to disc drives, it will be appreciated by those skilled in the art that the teachings of the present invention can be applied to other systems where accelerometers are used, without departing from the scope and spirit of the present invention. [0049]

Claims (16)

What is claimed is:
1. A method of correcting for vibration disturbances of a head position in a disc drive, comprising:
(a) controlling a positioning motor for the head with a controller having multiple sets of adjustable controller gains “gi”;
(b) coupling an accelerometer output indicating vibration of the disc drive to the controller;
(c) comparing the accelerometer output to an acceleration threshold stored in the controller;
(d) branching conditionally in the controller as a function of the comparing; and
(e) updating one set of the adjustable controller gains “gi” within a computational time limit after a first conditional branching.
2. The method of
claim 1
, further comprising:
(f) updating a second set of the adjustable controller gains “gi” within a computational time limit after a second conditional branching.
3. The method of
claim 1
further comprising:
(f) storing a preset gain step limit in the controller and limiting an adjustable controller gain change “gi−gi−1” by the preset gain step limit.
4. The method of
claim 1
, further comprising:
(f) generating a position error signal (PES) as a function of a position set point and a sensed head position; and
(g) further conditioning the generating of the successive conditional branching upon the PES exceeding a PES threshold stored in the controller.
5. The method of
claim 4
further comprising:
(h) updating the adjustable controller gains “gi” based on amplitude and phase relationships between the accelerometer output and the PES.
6. The method of
claim 4
further comprising:
(h) updating the adjustable controller gains “gi” substantially according to the formula:
g i(k)=g i(k−1)+const*PES(k)*H 1(k,i)
where k is a sequence number of the conditional branching, “const” is a constant and H1 is the acceleration output passed through a model representing characteristics of the positioning motor.
7. The method of
claim 4
, further comprising:
(h) updating the adjustable controller gain “gi” substantially according to the formula:
g i(k)=g i(k−1)+F{const*PES(k)*H 1(k,i), gain step limit}
where k is a sequence number of the conditional branching, const is a constant, H1 is the acceleration output passed through a model representing characteristics of the positioning motor and gain_step_limit is a gain step limit stored in the controller.
8. A disc drive, comprising:
a servo system including a servo controller having multiple sets of adjustable controller gains “gi”, a head, and a motor coupled to the servo controller and the head;
a rotational vibration correction circuit adapted to receive an accelerometer output and the rotational vibration correction circuit providing successive conditional branchings as a function of a comparison of the accelerometer output and an acceleration threshold; and
an update circuit providing an update of one of the multiple sets of the adjustable controller gains “gi” within a computational time limit after each successive conditional branching.
9. The disc drive of
claim 8
wherein the update circuit provides an update of a second set of the adjustable controller gains “gi” within a computational time limit after a second conditional branching.
10. The disc drive of
claim 8
wherein the update circuit includes a preset gain step limit provides a controller gain change “gi−gi−1” that is limited by the preset gain step limit.
11. The disc drive of
claim 8
, wherein the servo system includes a summing junction that is couplable to a position set point and a sensed head position, the summing junction coupling a position error signal (PES) to the comparator circuit.
12. The disc drive of
claim 11
wherein the update circuit updates the adjustable controller gains “gi” based on amplitude and phase relationships between the accelerometer output and the PES.
13. The disc drive of
claim 11
wherein the update circuit updates the adjustable controller gains “gi” substantially according to the formula:
g i(k)=g i(k−1)+const*PES(k)*H i(k,i)
where k is a sequence number of the conditional branching, “const” is a constant and H1 is the acceleration output passed through a model representing characteristics of the positioning motor.
14. The disc drive of
claim 11
wherein the update circuit updates the adjustable controller gain “gi” substantially according to the formula:
g i(k)=g i(k−1)+F{const*PES(k)*H 1(k,i), gain step limit}
where k is a sequence number of the conditional branching, const is a constant, H1 is the acceleration output passed through a model representing characteristics of the positioning motor and gain_step_limit is a gain step limit stored in the controller.
15. A disc drive, comprising:
means for servo-controlling a head position as a function of multiple sets of adjustable controller gains “gi”; and
means for comparing an accelerometer output to a stored acceleration threshold, and for providing an update of one of the multiple sets of the adjustable controller gains “gi” within a computational time limit after a first conditional branching.
16. The disc drive of
claim 15
, further comprising:
means for updating a second set of the adjustable controller gains “gi” within a computational time limit after a second conditional branching.
US09/770,422 2000-02-07 2001-01-26 Rotational acceleration correction in a disc drive Expired - Lifetime US6414813B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/770,422 US6414813B2 (en) 2000-02-07 2001-01-26 Rotational acceleration correction in a disc drive

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US18075500P 2000-02-07 2000-02-07
PCT/US2001/002677 WO2001057854A2 (en) 2000-02-07 2001-01-26 Rotational acceleration correction in a disc drive
US09/770,422 US6414813B2 (en) 2000-02-07 2001-01-26 Rotational acceleration correction in a disc drive

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/002677 Continuation WO2001057854A2 (en) 2000-02-07 2001-01-26 Rotational acceleration correction in a disc drive

Publications (2)

Publication Number Publication Date
US20010033454A1 true US20010033454A1 (en) 2001-10-25
US6414813B2 US6414813B2 (en) 2002-07-02

Family

ID=22661647

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/770,422 Expired - Lifetime US6414813B2 (en) 2000-02-07 2001-01-26 Rotational acceleration correction in a disc drive

Country Status (3)

Country Link
US (1) US6414813B2 (en)
AU (1) AU2001233037A1 (en)
WO (1) WO2001057854A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1662348A1 (en) * 2004-11-30 2006-05-31 Fanuc Ltd Rotary shaft control apparatus
US10473949B2 (en) 2017-01-30 2019-11-12 Semiconductor Components Industries, Llc Systems and methods for an optical image stabilizer system

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10084860T1 (en) * 1999-07-23 2002-08-01 Seagate Technology Llc Fault rejection for disk drives using an adaptive feedforward servo with accelerometer
WO2002031827A2 (en) * 2000-10-13 2002-04-18 Seagate Technology Llc Suspension sense capability for windage control
US20030220751A1 (en) * 2002-05-22 2003-11-27 Toh Michael Joo Chiang Method and apparatus to verify disc drive vibrational performance
US7265931B2 (en) * 2003-06-05 2007-09-04 Matsushita Electric Industrial Co., Ltd. Apparatus to reject disk drive disturbance
US20040246833A1 (en) * 2003-06-05 2004-12-09 Ehrlich Richard M. Disk drive system model for determining a threshold to perform disturbance rejection
US20040257693A1 (en) * 2003-06-05 2004-12-23 Ehrlich Richard M. Disk drive disturbance rejection using accelerometer and/or back-EMF measurements
US20040246617A1 (en) * 2003-06-05 2004-12-09 Ehrlich Richard M. Disk drive disturbance rejection using spindle motor speed
US7088546B2 (en) * 2003-06-05 2006-08-08 Matsushita Electric Industrial Co., Ltd. Method to reject disk drive disturbance
JP2005129172A (en) * 2003-10-24 2005-05-19 Matsushita Electric Ind Co Ltd Impact protective device for hard disk drive
US6937423B1 (en) * 2004-02-06 2005-08-30 Western Digital Technologies, Inc. Reducing effects of rotational vibration in disk drive
US7177113B1 (en) * 2005-08-03 2007-02-13 Hitachi Global Storage Technologies Netherlands B.V. Magnetic recording disk drive with switchable rotational vibration cancellation
JP2007095119A (en) 2005-09-27 2007-04-12 Hitachi Global Storage Technologies Netherlands Bv Disk device and control method of same
US7525753B1 (en) 2005-10-18 2009-04-28 Maxtor Corporation Reducing seek wind-up in a disk drive using early acceleration feedforward signal
US7423833B1 (en) 2005-12-13 2008-09-09 Marvell International Ltd. Servo loop employing correction vector from a secondary disturbance sensor to minimize correlation between servo loop error and disturbance sensor output
US7375916B2 (en) 2006-03-17 2008-05-20 Hitachi Global Storage Technologies Netherlands B.V. Magnetic recording disk drive with multiple feedforward controllers for rotational vibration cancellation
US7580217B2 (en) * 2007-01-02 2009-08-25 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with hybrid analog-digital acceleration feedforward control system and method for rejecting rotational vibration
US7768738B2 (en) * 2007-11-13 2010-08-03 Sensor Platforms, Inc. Mitigating the effects of disturbances of a disk drive
US7633704B2 (en) * 2008-04-28 2009-12-15 Seagate Technology Llc Regulating tuning rate of adaptive filter coefficients for feed-forward disturbance rejection in a servo control loop
US7852588B1 (en) 2008-06-23 2010-12-14 Western Digital Technologies, Inc. Disk drive adjusting gain of shock detector relative to resonant frequency amplitude
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
US20100079906A1 (en) * 2008-09-29 2010-04-01 Wile Donald T Adaptive Feed Forward Rotational Vibration Compensation During a SEEK Operation
US8179626B1 (en) 2009-12-04 2012-05-15 Western Digital Technologies, Inc. Adaptive shock detection
US8896955B1 (en) 2010-08-31 2014-11-25 Western Digital Technologies, Inc. Adaptive track follow control
KR20120035423A (en) * 2010-10-05 2012-04-16 삼성전자주식회사 Disk drive and method for writing disk drive
US8634158B1 (en) 2011-11-16 2014-01-21 Western Digital Technologies, Inc. Disk drive generating feed-forward actuator compensation based on a speaker driver signal
US8737013B2 (en) 2011-11-16 2014-05-27 Western Digital Technologies, Inc. Disk drive selecting disturbance signal for feed-forward compensation
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
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
US9747936B1 (en) 2016-08-24 2017-08-29 Western Digital Technologies, Inc. Data storage device filtering sensor signal to optimize shock and thermal pop detection

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5426545A (en) * 1991-05-09 1995-06-20 Sidman; Michael D. Active disturbance compensation system for disk drives
US5299075A (en) * 1992-06-04 1994-03-29 Hewlett-Packard Company Apparatus and method for shock attenuation in a disk recording and/or reproduction system using variable gain acceleration sensor
US5491394A (en) 1993-08-20 1996-02-13 Maxtor Corporation Acceleration sensing write disable system utilizing actuator arm coil
US5696645A (en) 1993-10-22 1997-12-09 Maxtor Corporation Apparatus for protecting memory devices from external shock forces by using an integrating band pass filter
JP3415288B2 (en) 1993-11-09 2003-06-09 株式会社東芝 Information recording / reproducing device
US5521772A (en) 1993-11-30 1996-05-28 International Business Machines Corporation Disk drive with accerleration rate sensing
US5389850A (en) 1994-02-04 1995-02-14 Maxtor Corporation Rotational shock sensor
US5663847A (en) * 1995-03-27 1997-09-02 Abramovitch; Daniel Y. Rejection of disturbances on a disk drive by use of an accelerometer
US6046878A (en) * 1997-04-30 2000-04-04 Seagate Technology, Inc. Object positioning using discrete sliding mode control with variable parameters
US5923487A (en) * 1997-06-05 1999-07-13 Maxtor Corporation Integrated shock sensing device
US5856895A (en) 1997-07-02 1999-01-05 Seagate Technology, Inc. Internal accelerometer for improved servo performance and shock sensing on high performance disc drive heads
US6064540A (en) * 1998-03-30 2000-05-16 International Business Machines Corporation Active control for stabilizing a servo-controlled actuator system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1662348A1 (en) * 2004-11-30 2006-05-31 Fanuc Ltd Rotary shaft control apparatus
US20060113947A1 (en) * 2004-11-30 2006-06-01 Fanuc Ltd Rotary shaft control apparatus
US7196489B2 (en) 2004-11-30 2007-03-27 Fanuc Ltd Rotary shaft control apparatus
US10473949B2 (en) 2017-01-30 2019-11-12 Semiconductor Components Industries, Llc Systems and methods for an optical image stabilizer system

Also Published As

Publication number Publication date
US6414813B2 (en) 2002-07-02
AU2001233037A1 (en) 2001-08-14
WO2001057854A3 (en) 2002-02-21
WO2001057854A2 (en) 2001-08-09

Similar Documents

Publication Publication Date Title
US6414813B2 (en) Rotational acceleration correction in a disc drive
US7265934B2 (en) Head position control method, head position control device, and disk device
US5602689A (en) Digital servo control system for use in disk drives, including sample integrity tester for reducing effects of spurious sampled position values
US5325247A (en) Digital multi-rate notch filter for sampled servo digital control system
US6101058A (en) Method of implementing a linear discrete-time state-space servo control system on a fixed-point digital signal processor in a disc drive
US6545835B1 (en) Method and apparatus for RRO learning before and after shipping to cancel RRO in a disk drive
US6831809B2 (en) Rotary recording apparatus and method of controlling the apparatus
US6721122B2 (en) Disk drive unit and control method for same
US20030231423A1 (en) Data storage device, control device, off-track control method, and control method
CN101114496A (en) Head position control method, head position control device and disk device
EP1840883A2 (en) Head positioning control method, head positioning control device and disk apparatus
US6728061B2 (en) Head position control method, control device for disk device and disk device
US20010003497A1 (en) Control method and control device for a disk storage device
JPH08255023A (en) Method and unit for positioning control and head positioning device using the unit
US11875821B2 (en) Disk device
JP4864841B2 (en) Positioning control system and positioning control method
US7808737B2 (en) Magnetic disk drive
JP3779668B2 (en) Disk storage device and head positioning control method
US7460331B2 (en) Seek control method, seek control device and medium storage device
JP2790570B2 (en) Disk recording and playback device
JP2001512881A (en) Disk drive with robust track following servo controller
CA2312044C (en) Digital servo control system for use in disk drives
JP2621665B2 (en) Head positioning control method
JPH06139731A (en) Head position correcting method for disk device
Pang et al. Singular perturbation control for vibration rejection in HDDs with a PZT active suspension

Legal Events

Date Code Title Description
AS Assignment

Owner name: SEAGATE TECHNOLOGY LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CVANCARA, DUSTIN M.;REEL/FRAME:011764/0760

Effective date: 20010118

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 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

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
FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

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

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: 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: 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 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 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

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 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: 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

FPAY Fee payment

Year of fee payment: 12