# Patent

## Title
Method for spindle bearing friction estimation for reliable disk drive startup operation

## Abstract

Temperature of the disk drive is measured using components of the disk drive without the need of including a separate temperature sensor to optimize performance of the spindle motor during startup. To measure temperature, the resistance of the VCM winding is measured and used to estimate the spindle bearing temperature. Back emf is measured from VCM windings and used during startup to accurately determine actuator position. Because the VCM coil resistance varies significantly with temperature, coil resistance variations with temperature are determined to enable compensation for inaccuracies in determination of actuator velocity. This inferred temperature is then used to optimize the start up procedure for the spindle motor to accommodate the increased frictional loading of the spindle bearing. In this way an improved performance in the reliability and spin up operation time can be realized without the addition of a separate temperature measurement hardware element.

## Background
PRIOITY CLAIM TO PROVISIONAL APPLICATION
This Patent Application claims priority to U.S. Provisional Patent Application No. 60/436,751, filed Dec. 27, 2002.


BACKGROUND
1. Technical Field
The present invention relates to a method for starting a brushless DC spindle motor in a hard disk drive memory subsystem, and more particularly to starting the spindle motor in the presence of varying ambient temperatures.
2. Related Art
A hard disk drive typically includes one or more rotatable storage media, or disks upon which data is encoded. The disks are mounted on the shaft of a spindle motor for rotation. Data is encoded on the rotating disks as bits of information using magnetic field reversals grouped in tracks. A transducer head supported by an actuator arm is used to read data from or write data to the disks. A voice control motor (VCM) attached to the actuator arm controls positioning of the actuator, and thus the transducer head position over a disk. Servo position data read from the disk is processed by the processor, enabling the processor to provide servo control signals to the VCM for proper positioning of a transducer head relative to a disk.
Temperature changes during startup can significantly affect components of the disk drive. The operating temperature of a drive can be up to 50 degrees Celsius higher than the drive when it first starts at room temperature. In particular, low temperatures at startup of the drive will significantly affect run-up of the spindle motor. Oil bearing spindles, or other hydrodynamic spindle motors, have increased drag torque at low temperatures, primarily due to increased viscosity of the bearing fluid. The increased drag is most significant for hydrodynamic bearing spindles, which may be used in very high speed hard disk drives, such as drives that operate at 10,000 revolutions per minute (rpm).
A specific disadvantage is that the increased drag of the spindle bearing at low temperature start conditions may be so high that the spindle does not come up to speed in a desired time. For a 10,000 rpm, hydrodynamic bearing spindle, the difference in power due to additional bearing drag can be 1.0 Watt between 10° C. and 25° C. This corresponds to a significant difference in drag torque. A spindle motor with a torque constant based upon this worst case start condition may significantly compromise the motor at nominal operating conditions. The increased drag at low temperature starts would demand a lower torque constant to meet necessary voltage headroom conditions. A typical design practice is to reduce the motor torque constant just enough to allow spindle motor spin-up within a desired time, while allowing sufficient voltage headroom for adequate speed control.
The spindle motor bearings in typical disk drive spindle motors are located very close to the motor windings. The motor windings are the most significant source of heat in a motor. Thus, as the motor starts, the bearings heat up and increase in temperature. The bearing drag torque is a function primarily of the viscosity of the bearing grease base oil and of the stiffness of the grease, both of which reduce with increased temperature. So the bearing drag torque reduces with time shortly after the motor starts spinning due to the heating of the bearings. By allowing more time to spin up to speed before closed loop motor control takes over, the bearing drag can be reduced.
An error checking procedure for the proper operation of disk drives, primarily magnetic disk drives, is to conduct a “time out test” at the start-up of the disk drive. In a time out test, if the disk drive does not reach full operational speed within the time out or specified period, it is deemed an error. Often, a spindle motor controller sends an error signal if the spindle motor cannot come up to speed during the time out period and the drive is turned off.
SUMMARY
In accordance with the present invention, a method of measuring temperature of the disk drive and use of the temperature to control spin-up of the spindle motor is provided using components of the disk drive without the need of installing a separate temperature sensor.
To determine temperature, the resistance of the VCM coil winding is measured and used to estimate the spindle bearing temperature. Back emf measurements determined from VCM coil winding are typically used during startup to accurately determine actuator velocity and position. Because the VCM coil resistance varies significantly with temperature, coil resistance variations with temperature are determined to enable compensation. The tabulated temperatures are in turn used, in accordance with the present invention, to infer temperature of the drive during startup. This inferred temperature is then used to optimize the start procedures for the spindle motor to accommodate the increased frictional loading of the spindle bearing. In this way an improved performance in the reliability and spin up operation time can be realized without the addition of a separate temperature measurement hardware element.



BRIEF DESCRIPTION OF THE DRAWINGS
Further details of the present invention are explained with the help of the attached drawings in which:
FIG. 1 shows a block diagram of components of a hard disk drive configured to provide a disk drive temperature estimation during start-up based on measured resistance of the VCM coil; and
FIG. 2 shows details of the VCM driver of FIG. 1; and
FIG. 3 shows details of the spindle motor, along with further details of the spindle motor driver circuit shown in FIG. 1.



DETAILED DESCRIPTION
FIG. 1 shows a block diagram of components of a hard disk drive system configured to provide a disk drive temperature estimation during start-up. The hard disk drive includes a rotating disk 2 containing a magnetic medium for storing data in defined tracks. Data is written to or read from the disk 2 using a transducer or read/write head 4 provided on an actuator 6. Actuator movement is controlled by a voice control motor (VCM) 7 made up of a coil configured for receiving an external signal, and a rotor magnet.
Current is provided to the coil of the VCM 7 using a VCM driver 10. Details of the VCM driver 10 and VCM 7 are described subsequently with respect to FIG. 3. The VCM driver 10 in turn receives positioning command signals from a processor 12 to control the amount of current applied to achieve a desired movement of actuator 7.
To control the actuator 6 using a closed loop servo control technique, the processor 12 receives data from the rotating disk 2. The data is read from or written to the rotating disk 2 using the transducer head 4. The analog data read is provided through a read/write (R/W) pre-amplifier 14. The amplified read data is provided to the R/W channel 16, which includes circuitry to convert the data from analog to digital and decode the digital data to provide to the hard disk controller (HDC) 34. The R/W channel 16 further converts data received from the HDC to be written from digital to analog for providing through the R/W preamp 14 to transducer head 4. The data read includes servo data provided in digital form from the HDC 34 to the processor 12.
Servo data provided to the processor 12 includes information indicating track positioning of the transducer head 4 over the rotating disk 2. The processor 12 determines track mis-registration (TMR) and creates a servo positioning control command signal for providing to VCM driver 10 to correct for the TMR. Also, if it is desired to read data from or write data to other tracks on the rotating disk 4, the processor 12 creates servo positioning control commands for providing to VCM driver 10 to enable the transducer head 4 to move from the current track to the desired track.
The processor 12 can provide control commands to a spindle motor controller 18 to control the operation speed of the spindle motor. The spindle motor controller 18 in turn provides control signals to the spindle motor driver 19, which in response applies voltages to the windings of the spindle motor to cause the desired motor speed. The spindle motor driver 19 is described in more detail subsequently with respect to FIG. 3.
Processor 12 executes instructions acquired from a stored control program to control disk drive functions. During startup, the control program is embedded in flash memory, or other non-volatile memory and then either executed directly, or loaded into a random access memory RAM 22 connected to the processor 12 and executed. Various firmware routines are stored in memory locations for controlling the operation of the actuator 7 and spindle motor 30. Here, control programs include the instructions the processor 12 executes, and tables, parameters or arguments used during the execution of these programs.
The processor 12 also communicates with the HDC 34 which has access to components external to the hard disk drive system through an advanced technology attachment (ATA) interface bus 20. The ATA bus 20 is also referred to as an integrated drive electronics (IDE) bus, and although specifically shown as an ATA bus, may be another type of external component interface in accordance with the present invention. The HDC 34 further provides access to additional DRAM memory 36. Control programs for the processor may reside in DRAM 36, or in RAM 22 directly accessible by the processor 12.
For a hard disk drive, application specific integration circuits (ASICs) have been created to integrate a number of circuit components onto a single chip. One such ASIC 26 is illustrated in FIG. 1. As shown, the ASIC 26 integrates the processor 12, RAM 22, R/W channel 16, spindle motor controller 18, HDC 34, DRAM 36, and ATA interface bus 20 all onto a single chip. The chip for disk drive control is typically referred to as a system on a chip (SOC).
Although shown as separate components, the VCM driver 11 and spindle motor driver 19 can be combined into a single “hard disk controller”. The processor 12 is shown as a single unit directly communicating with the VCM driver 10, although a separate VCM controller processor may be used in conjunction with processor 12 to control the VCM driver 10. Further, although spindle motor controller 18 is shown as a separate processor from processor 12, it is understood that the spindle motor controller 18 may be combined into the processor 12.
FIG. 2 shows details of the VCM driver 11 of FIG. 1 as connected to the VCM 7. As shown, the VCM driver 11 includes a VCM current application circuit 50, which applies current to the coil 8 of the VCM 7 with a duration and magnitude controlled based on a signal received from the VCM driver 10. The coil 8 is modeled in FIG. 3 to include a coil inductance 71, a coil resistance 72 and a back emf voltage generator 73. Current provided through the coil 71 controls movement of the rotor 9, and likewise movement of the rotor generates a back emf voltage in voltage generator 73.
The VCM driver 10 further includes a back emf detection circuit 52 for sensing the velocity of the actuator based on current received by a sense resistor 70 in the VCM 7. The open-circuit voltage of the VCM is estimated by observation of the actual VCM voltage and the VCM current (either the commanded current or the sensed current, sensed using a series resistor 70), and multiplication of the current by an estimated VCM coil resistance and subtraction of that amount from the measured coil voltage.
During startup, actuator velocity is determined using measurements from the VCM back emf detection circuit 52. To monitor the actuator velocity, back emf voltage across the coil 8 of the VCM 7 is monitored as part of the voltage of the actuator. Back emf varies as a function of the velocity of the actuator coil through the magnetic field produced by the magnet 9 of the VCM 7 and as a function of the velocity of the actuator 6 down the ramp 28. Servo indications on the disk can be read when a spindle motor normal operation speed is obtained after spin-up.
The current application circuit 50 can function as a processor to determine the appropriate amount of current to apply to windings of the VCM 7 to achieve a desired movement, or simply as a circuit to apply voltages with processing performed by processor 12. With current application circuit 50 acting as a processor, feedback from the back emf detection circuit 52 is provided to the current application circuit 50 to enable a determination of actuator movement during startup, and appropriate current to apply to achieve a desired actuator movement. The main processor 12 only functions to send control codes to indicate movement should occur to a desired position. With the current application circuit limited to circuitry for applying voltages, and all processing performed by processor 12, a feedback signal from the VCM back emf detection circuit 52 will be provided to the processor 12 to enable the processor 12 to determine actuator velocity at startup and apply appropriate control signals to the VCM current application circuit to achieve a desired actuator movement.
As indicated previously, during shut down, the actuator 6 is positioned on a ramp 28 situated off to the side of a disk 2 to prevent contact between the transducer head 4 and disk 2. During startup, actuator velocity down the ramp 28 is controlled using measurements from the VCM back emf detection circuit 52 so that the slider of transducer 4 flies when it gets to the bottom of the ramp 28 and does not contact the disk 2. The slider has an air bearing surface that causes the transducer to fly above the data tracks of the disk surface due to fluid currents caused by the spindle motor rotating the disk. Thus, the transducer 4 does not physically contact the disk surface 2 during normal operation of the disk drive to minimize wear at both the head 4 and disk surface 2. With contact of the transducer head 4 and disk surface 2 undesirable, a critical time during operation of a disk drive is just before the disk drive shuts down. When shutting down a disk drive, the actuator 6 is moved so that the transducer 4 does not land on the portion of the disk that contains data. How this is actually accomplished depends on the design of the drive.
Typically during shut down, the actuator 6 is positioned on a ramp 28 situated off to the side of a disk 2. A portion of the ramp 28 is positioned over the disk 2 itself. In operation, before power is actually shut off, the actuator 6 assembly slides up the ramp 28 to a park position at the top of the ramp 28 so that the transducer 4 does not contact the disk 2. This procedure is known as unloading the heads.
Temperature changes during startup can significantly affect calculations of actuator velocity based on back emf. The voltage of the actuator motor varies with the temperature of the permanent magnet 9 and the resistance of the coil 8 in the VCM 7. With operating temperature of a drive up to 50 degrees Celsius higher than the drive temperature when it first starts, a resulting change in back emf can be as much as 10–15%. Variations of coil resistance with temperature may thus be determined to correct for variations in measured voltage of the actuator motor to estimate the back emf voltage. Since, the material and length of coil 8 are known, its resistance variation with temperature is readily determined.
Processor 12 executes instructions acquired from a stored control program to control disk drive functions. During startup, the control program is embedded in flash memory, or other non-volatile memory and then either executed directly, or loaded into RAM 22 and executed. During startup, the control program causes the processor 12 to measure the back emf from the VCM coil winding 8 to determine velocity of the actuator. In accordance with the present invention, the control program further causes the processor 12 to measure either a resulting voltage or current return from VCM coil 8 during the back emf measurement using the VCM back emf circuit 52 to determine a resistance R of the coil 8 based on the formula V=I×R, where I is current and V is voltage across the coil 8. The resistance measured can be the resistance of the coil 72, or in other embodiments the resistance of sense resistor 70 or a combination of resistances 70 and 72. The control program then either accesses a table of values to determine drive temperature based on the value R, or simply make a calculation to determine drive temperature based on the known length, size, and material of the coil 8. The temperature measurement is then used to correct the determination of actuator velocity based on back emf measurement, as well as to optimize spin up of the spindle motor.
FIG. 3 shows details of the spindle motor 30 including coils 62 and rotor 68. Also shown are more details of the spindle motor driver circuit 19 as shown in block diagram in FIG. 1. The spindle motor 30 includes three windings 63, 64 and 65 electrically arranged in a Y configuration. A rotor 68 supports rotor shaft 31 of the spindle motor 30 and has magnets that provide a permanent magnetic field. The spindle motor 30 generates torque on rotor 68 when current flows through at least one of the windings 63–65. The torque depends upon the magnitude and direction of current flow through the windings 63–65, and the angular position of rotor 65 relative to windings 63–65. The functional relationship between torque and current flow and angular position is commonly determined corresponding to a respective one of a series of commutation states.
Spindle motor driver 19 supplies current to windings 63–65 to cause rotor 38 to rotate at an operating spin-rate during the operation mode of the disk drive. Spindle motor driver 19 includes a commutation circuit 40 to apply different commutation state currents at different clock times. Commutation circuit 40 provides a sequence of commutation states by applying a voltage+V across a selected combination of windings 63–65 to generate a torque on rotor 68 in order to maintain the operating spin-rate of rotor 68.
The commutation circuit 40 clocks a series of commutation clock pulses applied to windings 63–65 to advance commutation state from a present commutation state to a next commutation state. The series of commutation clock pulses have a corresponding series of commutation clock periods. The commutation clock periods have a systematically introduced variation from a nominal commutation clock period that depends on the operating spin-rate of rotor 68.
Processor 12 executes instructions acquired from a stored control program to control disk drive functions. These functions include starting up and controlling the speed of spindle motor 30 via spindle motor controller 19 and numerous other disk drive functions. Spindle motor controller 19 is connected to processor 12 to permit processor 12 to directly communicate with spindle motor driver 19.
Processor 12 suitably includes a flash memory, or other embedded non-volatile memory that stores control programs it uses during startup. Various firmware routines are stored in memory locations for controlling the operation of spindle motor 30. Here, control programs include the instructions the processor 12 executes, and tables, parameters or arguments used during the execution of these programs. Processor control programs may also reside in RAM 22, or memory over ATA bus 20.
Spindle motor controller 18 includes a control circuitry to command spindle motor driver 19 to apply a current through at least one winding of windings 63–65 to cause rotor 68 to rotate. The spindle controller 18 executing a speed controller routine controls the current through windings 63–65 in order to maintain the operating spin-rate of rotor 68 in response to back emf signals received from back emf detection circuit 42 in the spindle motor driver 19. The spindle motor controller 19 monitors the time period between back emf zero crossings and provides this time period information to enable determination of the speed of spindle motor 68. The speed indication is then used to control the current through windings 63–65 to accomplish a desired speed.
Spindle motor controller 18 also controls speed using a series of commutation clock pulses to be provided from the commutation circuit 40 of the spindle motor driver 19 to advance commutation state sequence from a present commutation state to a next commutation state in the commutation state sequence.
During the operation mode of the disk drive, the commutation states proceed through a sequence of six commutation states corresponding to a set of torque values to maximize the peak positive torque produced by spindle motor 30. For each of the commutation states, a voltage+V is applied across a combination of at least two of the windings 63–65.
The spindle motor controller 18 serves as a speed controller to control the spin-rate of spindle motor 30 to maintain a substantially constant spin-rate of disk 2. Commutation state sequences are provided as controlled by the spindle controller 19 from the commutation circuit 40 during the operation mode in response to commutation clock pulses from the spindle motor controller 18 so that a desired torque is generated for rotor 68 of spindle motor 30.
Although the spindle motor driver 19 and spindle motor controller 18 are disclosed as separate items, the processing performed can be combined into the commutation voltage/timing application circuit 40 to form one device. With such a combination, spindle motor back emf detection circuit 42 will provide a signal directly to the commutation circuit 40 to enable determination of commutation currents needed to achieve a desired speed. With spindle motor controller 18 and driver 19 separated, the spindle motor back emf detection circuit 42 output will go to the spindle motor controller 18.
In accordance with the present invention, the temperature determined from the resistance of the coil windings can be used to optimize spindle motor performance during startup in a number of ways. In a first embodiment, the time-out time period for the spindle motor is extended as temperature is reduced. As indicated above, the time-out period is set to give the spindle motor adequate time to spin-up and reach a desired operation spin rate. If the time-out period is exceeded, a signal is sent from the processor 12 to the spindle motor controller 18 to cause the spindle motor 30 to shut down to prevent damage. With bearing friction significantly increasing with reduced temperature, spin-up time likewise will be significantly increased. Increased time-out periods are set corresponding to decreasing temperatures and stored in the start up code accessible by the processor 12. Thus, upon startup the processor will determine temperature from the VCM coil 8, and then set the time-out period for the spindle motor 30 accordingly.
In another embodiment, the voltage applied to coil windings 63–65 of the spindle motor 30 are increased to generate additional torque during the alignment step and the run up of the startup operation as temperature is reduced. As indicated above, the magnitude of the voltage applied to the coil windings 63–65 is related to the amount of torque generated by the spindle motor 30. With bearing friction significantly increasing with temperature, spin-up time can be minimized by increasing the torque applied corresponding to a reduction in temperature. Thus, upon startup, the processor will determine temperature from the spindle coil resistance, and then control the spindle controller 18 to set the initial voltage values to increase torque based on the drive temperature for the alignment step and the subsequent run up step. Since the spindle motor 30 heats up within a matter or minutes, the voltages applied can then be reduced to level used during normal operation temperatures to prevent damage to the spindle motor.
In an additional embodiment, current magnitude applied to the spindle motor windings is monitored and current is increased to increase torque when temperature levels decrease. Current applied to the spindle motor windings is then increased as temperature levels rise.
In a further embodiment, the commutation state sequence timing is controlled to increase torque during startup as temperature is reduced. As indicated, a series of commutation clock pulses are provided to control application of voltages to the coil windings 63–65. Upon startup, the processor can determine temperature from the resistance of the spindle coil windings 63–65, and then control the spindle controller 18 to set the initial commutation states to generate a torque with increasing value based on reduced drive temperature. As with control of the magnitude of the currents, the commutation clock pulses are altered to increase torque initially upon startup with cold temperatures, but with the spindle motor 30 heating up to a normal operating temperature within a matter of minutes, the commutation clock pulse periods are returned to normal to maintain an optimal torque applied to the spindle bearings.
In further embodiments, a combination of controlling the time-out period, the currents or voltages applied to the coil windings 63–65 and the commutation state sequence timing is applied to optimize startup of the spindle motor based on startup drive temperature determined from the VCM coil resistance. Such embodiments will combine the features based on desired design requirements. For instance if the currents used are at a maximum value and cannot be increased during startup, and the time-out period can only minimally be increased, a combination of increasing start-up time and adjusting commutation sequence timing can be used to optimize startup procedures.
In some circumstances, the spindle motor is shut down without parking the actuator on a ramp. Instead the heads land on the disk in a landing zone where data is not stored. During a contact startup operation, at power up of the disk drive, the head will still be in contact with the landing zone. A phenomenon known as “stiction” between the head and the landing zone is a potential problem in a contact start operation. Stiction resists separation between the head and disk surface and can be highly detrimental to disk drive operation. The stiction between the disk surface and the head can be so significant that a significant higher spindle motor torque is required to separate the head from the disk surface, than when the heads are parked on a ramp, or significantly more time is required for spin-up of the spindle motor. Without parking the heads, in accordance with the present invention, startup procedures may be altered to increase the time-out period or startup torque to account for the increased friction if the heads are not parked on a ramp, but instead remain in contact with the disk in combination with a lowered temperature.
Although the present invention is described for use with hard disk drives for recording in magnetic media, it is understood that principles in accordance with the present invention can be used with optical disk drives, or other types of magnetic disk drives such as floppy drives.
Although the present invention has been described above with particularity, this was merely to teach one of ordinary skill in the art how to make and use the invention. Many additional modifications will fall within the scope of the invention, as that scope is defined by the following claims.

## Claims

1. A method to control start up in a disk drive, the method comprising the steps of:
measuring a resistance of a coil in a voice coil motor (VCM) of the disk drive;
determining a temperature of the coil of the VCM based on the measured resistance; and
increasing torque applied to a spindle motor during startup to correspond with a decrease in the temperature determined.

2. The method of claim 1, wherein the step of increasing the torque comprises increasing current levels applied to coil windings of the spindle motor.

3. The method of claim 1, wherein the step of increasing the torque comprises increasing voltage levels applied to coil windings of the spindle motor.

4. The method of claim 1, wherein the step of increasing the torque comprises controlling a sequence of commutation states applied to windings of the spindle motor during startup.

5. The method of claim 1, wherein the step of increasing the torque comprises controlling timing of signals applied to coil windings of the spindle motor.

6. The method of claim 1, further comprising the step of setting a time out period after which the spindle motor is turned off if it has not reached a desired operation velocity, wherein the time out period is increased with the decrease in the temperature.

7. A method to control start up in a disk drive, the method comprising the steps of:
measuring a resistance of a coil in a voice coil motor (VCM) of the disk drive;
determining a temperature of the coil of the VCM based on the measured resistance;
determining a time out period for the disk drive to be powered down if a spindle motor has not reached a desired operational velocity, wherein the timeout period is increased with a decrease in the determined temperature;
detecting whether the spindle motor reaches the operational velocity within the time out period;
providing a startup failure signal to enable power down of the spindle motor when the spindle motor does not reach the desired operational velocity within the time out period; and
setting current levels to apply to coil windings of the spindle motor during startup of the spindle motor, the current levels being set to increase torque applied to the spindle motor during startup to correspond with the decrease in the determined temperature.

8. The method of claim 7, further comprising the step of:
applying a sequence of commutation states to coil windings of the spindle motor during startup to generate the torque to cause movement of the spindle motor, wherein the torque generated by the sequence of commutation states has an increased value corresponding with the decrease in the determined temperature.

9. The method of claim 7, further comprising the step of:
controlling timing of signals applied to coil windings of the spindle motor to generate the torque to cause movement of the spindle motor, wherein the torque generated by a sequence of commutation states has an increased value corresponding with the decrease in the determined temperature.

10. A method to control start up in a disk drive, the method comprising the steps of:
measuring a resistance of a coil in a voice coil motor (VCM) of the disk drive;
determining a temperature of the coil of the VCM based on the measured resistance;
determining a time out period for the disk drive to be powered down if a spindle motor has not reached a desired operational velocity, wherein the timeout period is increased with a decrease in the determined temperature;
detecting whether the spindle motor reaches the operational velocity within the time out period;
providing a startup failure signal to enable power down of the spindle motor when the spindle motor does not reach the desired operational velocity within the time out period; and
applying a sequence of voltages to coil windings of the spindle motor to generate a torque to cause movement of the spindle motor, wherein the torque generated has an increased value corresponding with the decrease in the determined temperature.