# Patent

## Title
Data storage device commutating a spindle motor using closed-loop rotation phase alignment

## Abstract

A data storage device is disclosed comprising a head actuated over a disk, and a spindle motor configured to rotate the disk, wherein the spindle motor comprises a plurality of windings. A commutation controller is configured to commutate the windings based on a commutation sequence driven by an oscillator. A rotation phase of the spindle motor is measured, and a phase error is generated based on the measured rotation phase of the spindle motor and a phase of the commutation sequence, wherein a frequency of the oscillator is adjusted based on the phase error.

## Background
BACKGROUND
Data storage devices such as disk drives comprise a disk and a head connected to a distal end of an actuator arm which is rotated about a pivot by a voice coil motor (VCM) to position the head radially over the disk. The disk comprises a plurality of radially spaced, concentric tracks for recording user data sectors and servo sectors. The servo sectors comprise head positioning information (e.g., a track address) which is read by the head and processed by a servo control system to control the actuator arm as it seeks from track to track.
FIG. 1 shows a prior art disk format 2 as comprising a number of servo tracks 4 defined by servo sectors 60-6N recorded around the circumference of each servo track. Each servo sector 6i comprises a preamble 8 for storing a periodic pattern, which allows proper gain adjustment and timing synchronization of the read signal, and a sync mark 10 for storing a special pattern used to symbol synchronize to a servo data field 12. The servo data field 12 stores coarse head positioning information, such as a servo track address, used to position the head over a target data track during a seek operation. Each servo sector 6i further comprises groups of servo bursts 14 (e.g., N and Q servo bursts), which are recorded with a predetermined phase relative to one another and relative to the servo track centerlines. The phase based servo bursts 14 provide fine head position information used for centerline tracking while accessing a data track during write/read operations. A position error signal (PES) is generated by reading the servo bursts 14, wherein the PES represents a measured position of the head relative to a centerline of a target servo track. A servo controller processes the PES to generate a control signal applied to a head actuator (e.g., a voice coil motor) in order to actuate the head radially over the disk in a direction that reduces the PES.
The disk 2 is typically rotated by a spindle motor at a high speed so that an air bearing forms between the head and the disk surface. A commutation controller applies a driving signal to the windings of the spindle motor using a particular commutation sequence in order to generate a rotating magnetic field that causes the spindle motor to rotate. Prior art disk drives have typically controlled the commutation of the windings by measuring a zero-crossing frequency of a back electromotive force (BEMF) voltage generated by the windings of the spindle motor.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a prior art disk format comprising a plurality of servo tracks defined by servo sectors.
FIG. 2A shows a data storage device in the form of a disk drive according to an embodiment comprising a head actuated over a disk, and a commutation controller configured to commutate the windings of a spindle motor based on a commutation sequence.
FIG. 2B shows control circuitry according to an embodiment wherein a measured rotation phase of the spindle motor is compared to a phase of the commutation sequence to generate a phase error used to adjust the frequency of an oscillator.
FIG. 3 shows an embodiment wherein the rotation phase of the spindle motor is measured based on zero crossings of a BEMF voltage generated by the windings of the spindle motor.
FIG. 4 shows an embodiment wherein the rotation phase of the spindle motor is measured based on servo sectors read from the disk.
FIG. 5 shows an embodiment wherein the commutation sequence is driven based on compensation values that compensate for a mechanical parameter of the spindle motor.



DETAILED DESCRIPTION
FIG. 2A shows a data storage device according to an embodiment comprising a disk 16, and a spindle motor 18 configured to rotate the disk 16, wherein the spindle motor 18 comprises a plurality of windings. The disk drive further comprises a head 20 actuated over the disk 16, and control circuitry 22 comprising an oscillator 24 (FIG. 2B) configured to drive a commutation controller 26 configured to commutate the windings based on a commutation sequence. FIG. 2B shows an embodiment wherein a rotation 28 phase of the spindle motor 18 is measured at block 30. A phase error 32 is generated based on the measured rotation phase 28 of the spindle motor and a phase 34 of the commutation sequence, wherein a frequency of the oscillator 24 is adjusted based on the phase error 32.
The rotation phase 28 of the spindle motor 18 may be generated in any suitable manner. In one embodiment shown in FIG. 2A, a back electromotive force (BEMF) voltage 36 generated by the windings of the spindle motor 18 may be processed in order to measure the rotation phase 28. For example, in an embodiment shown in FIG. 3, a BEMF detector 38 may generate a BEMF signal 40 representing zero crossings in the BEMF voltage 36 generated by the windings of the spindle motor 18. The BEMF signal 40 may be processed at block 41 to convert the BEMF zero crossings into a corresponding rotation phase 28 of the spindle motor 18. In another embodiment shown in FIG. 4, the rotation phase 28 of the spindle motor 18 may be measured based on timing data recorded on the disk 16, such as servo sectors 420-42N that define servo tracks 44 (FIG. 2A). The servo data 46 read from the servo sectors may be processed at block 48 to detect a corresponding wedge number representing the sequence number of the servo sectors. The detected wedge number is converted at block 50 into a corresponding rotation phase 28 of the spindle motor 18.
In one embodiment, while the disk is being spun up and/or when synchronizing to the timing data on the disk 16 is lost, the control circuitry 22 shown in FIG. 2A may process the BEMF signal 40 representing the BEMF zero-crossings. The commutation controller 26 may generate a control signal 52 which configures the BEMF detector 38 to detect the zero-crossing of the BEMF voltage generated by each winding as the disk rotates. The commutation controller 26 also generates a control signal 54 applied to commutation logic 56. In the embodiment of FIG. 2A, the commutation logic 56 is configured by the control signal 54 to control the state of switches 58 in order to drive the windings with driving voltages +V and −V. The commutation logic 56 may operate in any suitable manner, such as by driving the switches 58 as linear amplifiers that apply continuous-time sinusoidal voltages to the windings. In another embodiment, the commutation logic 56 may drive the switches 58 using pulse wide modulation (PWM), such as using square wave PWM, trapezoidal PWM, or sinusoidal PWM. Regardless as to how the windings are driven, the commutation controller 26 generates the control signal 54 so that the windings are commutated at the correct periods, thereby generating the desired rotating magnetic field that causes the spindle motor to rotate. In one embodiment, the control circuitry 22 may generate a control signal 60 that controls the effective amplitude of the driving voltages (continuous or PWM), thereby controlling the speed of the spindle motor.
In one embodiment, the commutation controller 26 may disable the driving voltage applied to the winding that the BEMF detector 38 is evaluating for a zero-crossing during a zero-crossing window. However, disabling the driving voltage typically induces current transients in the windings of the spindle motor, which can result in acoustic noise, torque/speed jitter, and disk vibration. Accordingly, in one embodiment after the disk 16 has spun up to a target operating speed and the control circuitry 22 has synchronized to the timing data on the disk 16, the control circuitry 22 may switch from using the BEMF signal 40 to using the timing data on the disk 16 to drive the commutation sequence. If synchronization to the timing data is lost for any reason, the control circuitry 22 may switch back to using the BEMF signal 40 to drive the commutation sequence.
In one embodiment, the control circuitry 22 processes a read signal 62 emanating from the head 20 to demodulate the servo sectors 420-42N and generate a position error signal (PES) representing an error between the actual position of the head and a target position relative to a target track. The control circuitry 22 filters the PES using a suitable compensation filter to generate a control signal applied to a voice coil motor (VCM) 64 which rotates an actuator arm 66 about a pivot in order to actuate the head 20 radially over the disk 16 in a direction that reduces the PES. The servo sectors 420-42N may comprise any suitable head position information, such as a track address for coarse positioning and servo bursts for fine positioning. The servo bursts may comprise any suitable pattern, such as an amplitude based servo pattern or a phase based servo pattern.
In one embodiment shown in FIG. 2B, the frequency of the oscillator 24 drives a counter 68 the output of which drives the commutation sequence of the commutation controller 26. For example, in one embodiment the counter 68 is a modulo-N counter (where N+1 represents the number of states of the commutation sequence) so that the counter 68 continuously cycles from 0 to N as the commutation sequence is repeated. In one embodiment, the frequency of the oscillator 24 is adjusted so as to drive the phase error 32 toward zero, thereby commutating the windings at the desired frequency.
In one embodiment shown in FIG. 2B, the phase error 32 is filtered using a suitable filter 70 to generate a filtered phase error, and the frequency of the oscillator 24 is adjusted based on the filtered phase error. Any suitable filter 70 may be employed, wherein in FIG. 5 the filter 70 comprises a proportional-integral-derivative (PID) filter. In one embodiment, the control circuitry may adapt the filter 70 to reduce the average phase error 32. In another embodiment, the control circuitry may adapt the filter 70 to attenuate acoustic noise, and in one embodiment the control circuitry may adapt the filter 70 in response to an acoustic sensor integrated with the disk drive.
FIG. 5 shows an embodiment wherein the control circuitry may generate compensation values 72 based on:

A1 sin ω1t+B1 cos ω1t 

where A1 and B1 are adaptable coefficients and ω1 represents a frequency based on a mechanical parameter of the spindle motor 18. For example, in one embodiment the pole pairs of the spindle motor may exhibit an asymmetrical alignment due to manufacturing tolerances such that the optimal time to commutate the windings may be based on a fundamental frequency (the rotation frequency of the spindle motor) plus an additional frequency that accounts for the asymmetrical alignment of the pole pairs. Accordingly, in one embodiment the compensation values 72 generated based on the above sinusoid are added to the filtered phase error 74 to generate the control signal applied to the oscillator 24. In one embodiment, the control circuitry 22 may adapt the above coefficients A1 and B1 based on:

A1k+1=A1k−γ·tErrk·sin(ω1tk−φ1)

B1k+1=B1k−γ·tErrk·sin(ω1tk−φ1)

where γ is a learning coefficient, and tErrk is a timing error based on a measured rotation period of the spindle motor (e.g., the timing error tErrk may be generated based on the phase error 32 or the filtered phase error 74). That is, the timing error tErrk will decrease toward zero as the coefficients A1 and B1 converge toward the correct values that compensate for the mechanical parameter of the spindle motor.

In one embodiment, the control circuitry 22 may generate the phase error 32 N times over a single revolution of the disk, where N is an integer greater than zero. For example, in the embodiment shown in FIG. 3, the control circuitry 22 may generate the phase error 32 at every BEMF zero crossing, or at every other BEMF zero crossing, or any other suitable frequency of BEMF zero crossings. In the embodiment shown in FIG. 4, the control circuitry 22 may generate the phase error 32 at every servo sector, or at every servo sector that corresponds to a BEMF zero crossing, or at any other suitable frequency of servo sectors.
Any suitable control circuitry may be employed to implement the flow diagrams in the above embodiments, such as any suitable integrated circuit or circuits. For example, the control circuitry may be implemented within a read channel integrated circuit, or in a component separate from the read channel, such as a disk controller, or certain operations described above may be performed by a read channel and others by a disk controller. In one embodiment, the read channel and disk controller are implemented as separate integrated circuits, and in an alternative embodiment they are fabricated into a single integrated circuit or system on a chip (SOC). In addition, the control circuitry may include a suitable preamp circuit implemented as a separate integrated circuit, integrated into the read channel or disk controller circuit, or integrated into a SOC.
In one embodiment, the control circuitry comprises a microprocessor executing instructions, the instructions being operable to cause the microprocessor to perform the flow diagrams described herein. The instructions may be stored in any computer-readable medium. In one embodiment, they may be stored on a non-volatile semiconductor memory external to the microprocessor, or integrated with the microprocessor in a SOC. In another embodiment, the instructions are stored on the disk and read into a volatile semiconductor memory when the disk drive is powered on. In yet another embodiment, the control circuitry comprises suitable logic circuitry, such as state machine circuitry.
In various embodiments, a disk drive may include a magnetic disk drive, an optical disk drive, etc. In addition, while the above examples concern a disk drive, the various embodiments are not limited to a disk drive and can be applied to other data storage devices and systems, such as magnetic tape drives, solid state drives, hybrid drives, etc. In addition, some embodiments may include electronic devices such as computing devices, data server devices, media content storage devices, etc. that comprise the storage media and/or control circuitry as described above.
The various features and processes described above may be used independently of one another, or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. In addition, certain method, event or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate. For example, described tasks or events may be performed in an order other than that specifically disclosed, or multiple may be combined in a single block or state. The example tasks or events may be performed in serial, in parallel, or in some other manner. Tasks or events may be added to or removed from the disclosed example embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged compared to the disclosed example embodiments.
While certain example embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions disclosed herein. Thus, nothing in the foregoing description is intended to imply that any particular feature, characteristic, step, module, or block is necessary or indispensable. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the embodiments disclosed herein.

## Claims

1. A data storage device comprising:
a disk;
a spindle motor configured to rotate the disk, wherein the spindle motor comprises a plurality of windings;
a head actuated over the disk; and
control circuitry comprising an oscillator configured to drive a commutation controller configured to commutate the windings based on a commutation sequence, the control circuitry configured to:
measure a rotation phase of the spindle motor;
generate a phase error based on the measured rotation phase of the spindle motor and a phase of the commutation sequence; and
adjust a frequency of the oscillator based on the phase error.

2. The data storage device as recited in claim 1, wherein the control circuitry is further configured to measure the rotation phase of the spindle motor based on a back electromotive force (BEMF) voltage zero crossing of the spindle motor.

3. The data storage device as recited in claim 1, wherein:
the disk comprises timing data; and
the control circuitry is further configured to measure the rotation phase of the spindle motor based on the timing data.

4. The data storage device as recited in claim 3, wherein the timing data comprises servo sectors on the disk.

5. The data storage device as recited in claim 3, wherein control circuitry is further configured to generate the phase error N times over a single revolution of the disk, where N is an integer greater than zero.

6. The data storage device as recited in claim 1, wherein control circuitry is further configured to:
filter the phase error to generate a filtered phase error; and
adjust a frequency of the oscillator based on the filtered phase error.

7. The data storage device as recited in claim 6, wherein control circuitry is further configured to adapt the filtering to reduce the average phase error.

8. The data storage device as recited in claim 6, wherein control circuitry is further configured to adapt the filtering to attenuate acoustic noise.

9. The data storage device as recited in claim 6, wherein control circuitry further comprises an acoustic sensor, and the control circuitry is further configured to adapt the filtering based on the acoustic sensor.

10. A method of operating a data storage device, the method comprising:
actuating a head over a disk;
driving a commutation sequence based on an oscillator;
measuring a rotation phase of a spindle motor configured to rotate the disk based on the commutation sequence;
generating a phase error based on the measured rotation phase of the spindle motor and a phase of the commutation sequence; and
adjusting a frequency of the oscillator based on the phase error.

11. The method as recited in claim 10, further comprising measuring the rotation phase of the spindle motor based on a back electromotive force (BEMF) voltage zero crossing of the spindle motor.

12. The method as recited in claim 10, wherein:
the disk comprises timing data; and
the method further comprises measuring the rotation phase of the spindle motor based on the timing data.

13. The method as recited in claim 12, wherein the timing data comprises servo sectors on the disk.

14. The method as recited in claim 12, further comprising generating the phase error N times over a single revolution of the disk, where N is an integer greater than zero.

15. The method as recited in claim 10, further comprising:
filtering the phase error to generate a filtered phase error; and
adjusting a frequency of the oscillator based on the filtered phase error.

16. The method as recited in claim 15, further comprising adapting the filtering to reduce the average phase error.

17. The method as recited in claim 15, further comprising adapting the filtering to attenuate acoustic noise.

18. The data storage device as recited in claim 15, further comprising adapting the filtering based on an acoustic sensor.