U.S. patent application number 14/844915 was filed with the patent office on 2015-12-31 for disk drive with improved spin-up control.
The applicant listed for this patent is Western Digital Technologies, Inc.. Invention is credited to CHARLES J. CALAWAY, ASHOK K. DESAI, JIANGHONG DING, JINSIK KIM, WENLI YANG.
Application Number | 20150380045 14/844915 |
Document ID | / |
Family ID | 51769338 |
Filed Date | 2015-12-31 |
United States Patent
Application |
20150380045 |
Kind Code |
A1 |
CALAWAY; CHARLES J. ; et
al. |
December 31, 2015 |
DISK DRIVE WITH IMPROVED SPIN-UP CONTROL
Abstract
A disk drive is disclosed comprising a head actuated over a
disk, and a spindle motor configured to rotate the disk. The disk
drive further comprises control circuitry configured to measure a
rotation speed of the spindle motor, generate a feed-forward
control based on the measured rotation speed, and spin-up the
spindle motor based on the feed-forward control.
Inventors: |
CALAWAY; CHARLES J.;
(TUSTIN, CA) ; YANG; WENLI; (OAK PARK, CA)
; DESAI; ASHOK K.; (WESTLAKE VILLAGE, CA) ; KIM;
JINSIK; (IRVINE, CA) ; DING; JIANGHONG;
(LADERA RANCH, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Western Digital Technologies, Inc. |
Irvine |
CA |
US |
|
|
Family ID: |
51769338 |
Appl. No.: |
14/844915 |
Filed: |
September 3, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14480566 |
Sep 8, 2014 |
9147428 |
|
|
14844915 |
|
|
|
|
13869885 |
Apr 24, 2013 |
|
|
|
14480566 |
|
|
|
|
Current U.S.
Class: |
360/73.03 |
Current CPC
Class: |
G11B 19/28 20130101;
G11B 19/2054 20130101 |
International
Class: |
G11B 19/20 20060101
G11B019/20; G11B 19/28 20060101 G11B019/28 |
Claims
1. A disk drive comprising: a head actuated over a disk; a spindle
motor configured to rotate the disk; and control circuitry
configured to: measure a rotation speed of the spindle motor;
generate a feed-forward control based on the measured rotation
speed; and spin-up the spindle motor based on the feed-forward
control.
2. The disk drive as recited in claim 1, wherein the control
circuitry is configured to generate the feed-forward control based
on the measured rotation speed and an ambient temperature of the
disk drive.
3. The disk drive as recited in claim 1, wherein the control
circuitry is configured to generate the feed-forward control
proportional to the measured rotation speed.
4. The disk drive as recited in claim 3, wherein the feed-forward
control compensates for a back electromotive force of the spindle
motor.
5. The disk drive as recited in claim 1, wherein the feed-forward
control compensates for a drag torque of the spindle motor.
6. The disk drive as recited in claim 5, wherein the control
circuitry is configured to generate the feed-forward control based
on the measured rotation speed and an ambient temperature of the
disk drive.
7. A method of operating a disk drive comprising a head actuated
over a disk, and a spindle motor configured to rotate the disk, the
method comprising: measuring a rotation speed of the spindle motor;
generating a feed-forward control based on the measured rotation
speed; and spinning up the spindle motor based on the feed-forward
control.
8. The method as recited in claim 7, further comprising generating
the feed-forward control based on the measured rotation speed and
an ambient temperature of the disk drive.
9. The method as recited in claim 7, further comprising generating
the feed-forward control proportional to the measured rotation
speed.
10. The method as recited in claim 9, wherein the feed-forward
control compensates for a back electromotive force of the spindle
motor.
11. The method as recited in claim 7, wherein the feed-forward
control compensates for a drag torque of the spindle motor.
12. The method as recited in claim 11, further comprising
generating the feed-forward control based on the measured rotation
speed and an ambient temperature of the disk drive.
13. Control circuitry for use in a disk drive comprising a head
actuated over a disk, and a spindle motor configured to rotate the
disk, wherein the control circuitry is configured to: measure a
rotation speed of the spindle motor; generate a feed-forward
control based on the measured rotation speed; and spin-up the
spindle motor based on the feed-forward control.
14. The control circuitry as recited in claim 13, wherein the
control circuitry is configured to generate the feed-forward
control based on the measured rotation speed and an ambient
temperature of the disk drive.
15. The control circuitry as recited in claim 13, wherein the
control circuitry is configured to generate the feed-forward
control proportional to the measured rotation speed.
16. The control circuitry as recited in claim 15, wherein the
feed-forward control compensates for a back electromotive force of
the spindle motor.
17. The control circuitry as recited in claim 13, wherein the
feed-forward control compensates for a drag torque of the spindle
motor.
18. The control circuitry as recited in claim 17, wherein the
control circuitry is configured to generate the feed-forward
control based on the measured rotation speed and an ambient
temperature of the disk drive.
Description
CROSS-REFERENCED TO RELATED APPLICATION(S)
[0001] This application is a divisional application of U.S.
application Ser. No. 14/480,566, filed Sep. 8, 2014, entitled "DISK
DRIVE WITH IMPROVED SPIN-UP CONTROL" (WD Docket No. T6366.D1) which
is a divisional of U.S. application Ser. No. 13/869,885, filed Apr.
24, 2013, entitled "DISK DRIVE WITH IMPROVED SPIN-UP CONTROL" (WD
Docket No. T6366), the disclosure of which is hereby incorporated
by reference in its entirety.
BACKGROUND
[0002] 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.
[0003] A spindle motor rotates the disk (or disks) at a high speed
so that the head essentially flies over the disk surface on an air
bearing. When the disk drive is powered on, a spin-up operation is
executed in order to spin up the disk to the operating speed before
loading the head over the disk surface. It is desirable to spin up
the disk as fast as possible in order to minimize the delay before
a host may access the disk drive. In addition, it may be desirable
to achieve a substantially consistent spin-up time across a family
of disk drives so that a disk drive manufacturer may provide an
accurate specification for the spin-up time, thereby enabling the
design of storage systems based on the spin-up specification.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] FIGS. 1A and 1B show a disk drive according to an embodiment
comprising a head actuated over a disk, and a spindle motor for
rotating the disk.
[0005] FIG. 1C is a flow diagram according to an embodiment wherein
a plurality of electrical cycle periods of the spindle motor are
measured, at least two of the cycle periods are combined, and a
rotation speed of the spindle motor is measured based on the
combined cycle periods.
[0006] FIG. 1D shows an embodiment wherein the cycle periods are
combined using a moving average filter that averages N consecutive
electrical cycle periods of the spindle motor.
[0007] FIGS. 2A and 2B show a disk drive according to an embodiment
comprising a head actuated over a disk, and a spindle motor for
rotating the disk.
[0008] FIG. 2C is a flow diagram according to an embodiment wherein
a spin-up gain is generated as a function of a measured rotation
speed of the spindle motor, wherein the function comprises a
polynomial having a degree greater than one.
[0009] FIG. 2D shows control circuitry for spinning up the spindle
motor based on the spin-up gain according to an embodiment.
[0010] FIG. 2E shows a polynomial of degree greater than one for
generating the spin-up gain as a function of the measured rotation
speed of the spindle motor according to an embodiment.
[0011] FIGS. 3A and 3B show a disk drive according to an embodiment
comprising a head actuated over a disk, and a spindle motor for
rotating the disk.
[0012] FIG. 3C is a flow diagram according to an embodiment wherein
a feed-forward spin-up control is generated based on a measured
rotation speed of the spindle motor.
[0013] FIG. 3D shows control circuitry for spinning up the spindle
motor based on the feed-forward spin-up control according to an
embodiment.
[0014] FIGS. 4A and 4B show a disk drive according to an embodiment
comprising a head actuated over a disk, and a spindle motor for
rotating the disk.
[0015] FIG. 4C is a flow diagram according to an embodiment wherein
the spindle motor is spun up based on a speed command profile that
ensures a minimum spin-up time and a limited power consumption
under a worst case environmental condition.
[0016] FIG. 4D shows control circuitry for spinning up the spindle
motor based on the speed command profile according to an
embodiment.
[0017] FIG. 4E shows an example speed command profile according to
an embodiment.
[0018] FIGS. 5A and 5B show a disk drive according to an embodiment
comprising a head actuated over a disk, and a spindle motor for
rotating the disk.
[0019] FIG. 5C is a flow diagram according to an embodiment wherein
the spindle motor is spun up over a second fraction of a spin-up
time based on an initial measured rotation speed of the spindle
motor.
[0020] FIG. 5D shows control circuitry for spinning up the spindle
motor over the second fraction of a spin-up time according to an
embodiment.
[0021] FIG. 5E shows how the second fraction of the spin-up time
may be determined based on an initial measured rotation speed of
the spindle motor according to an embodiment.
[0022] FIGS. 6A and 6B show a disk drive according to an embodiment
comprising a head actuated over a disk, and a spindle motor for
rotating the disk.
[0023] FIG. 6C is a flow diagram according to an embodiment wherein
after spinning up the spindle motor, an integrator of a
constant-speed controller is initialized based on a state of a
spin-up controller.
[0024] FIG. 6D shows control circuitry for spinning up the spindle
motor using a spin-up controller according to an embodiment.
[0025] FIG. 6E shows control circuitry for spinning the disk using
a constant-speed controller after completing the spin-up operation
according to an embodiment.
[0026] FIG. 7 shows control circuitry for spinning up the spindle
motor using a combination of the above-described techniques
according to an embodiment.
DETAILED DESCRIPTION
[0027] FIGS. 1A and 1B show a disk drive according to an embodiment
comprising a head 2A actuated over a disk 4, and a spindle motor 6
operable to rotate the disk 4. The spindle motor 6 operates
according to a plurality of electrical cycles over a single
revolution of the spindle motor 6, where each electrical cycle
spans a cycle period. The disk drive further comprises control
circuitry 8 operable to execute the flow diagram of FIG. 1C,
wherein a plurality of the cycle periods are measured (block 10),
at least two of the cycle periods are combined (block 12), and a
rotation speed of the spindle motor is measured based on the
combined cycle periods (block 14).
[0028] In the embodiment of FIG. 1B, the disk surface 4A comprises
a plurality of servo tracks 16 defined by servo sectors
18.sub.0-18.sub.N, wherein data tracks are defined relative to the
servo tracks at the same or different radial density. The control
circuitry 8 processes a read signal emanating from the head 2A to
demodulate the servo sectors 18.sub.0-18.sub.N 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 8 filters the PES using a
suitable compensation filter to generate a control signal 20
applied to a voice coil motor (VCM) 22 which rotates an actuator
arm about a pivot in order to actuate the head 2A radially over the
disk surface 4A in a direction that reduces the PES. The servo
sectors 18.sub.0-18.sub.N 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.
[0029] During a spin-up operation, the control circuitry 8 measures
a rotation speed of the spindle motor 6 which is compared to a
target rotation speed of a speed command profile. A control signal
24 is generated based on the difference (error) so that the
rotation speed of the spindle motor substantially follows the speed
command profile until reaching the spin-up rotation speed. The
performance of the spin-up operation may depend on the accuracy of
the measured rotation speed of the spindle motor.
[0030] In one embodiment, the rotation speed of the spindle motor
may be measured by evaluating the back electromotive force (BEMF)
zero-crossings in each winding of the spindle motor. The spindle
motor typically operates according to a plurality of electrical
cycles over a single revolution, wherein the total number of
electrical cycles depends on the number of pole-pairs employed in
the spindle motor. For example, a 6-pole-pair spindle motor will
generate six electrical cycles over a single revolution.
Accordingly, at each BEMF zero crossing representing the end of an
electrical cycle, the rotation speed of the spindle motor may be
represented as:
SpindleSpeed [ RPM ] = 60 cycle_period [ # of_pole _pairs ]
##EQU00001##
However, due to a misalignment of the poles, measuring the rotation
speed of the spindle motor based on a single electrical cycle
period results in a noisy measurement, thereby reducing the
performance of the spin-up operation. Accordingly, in one
embodiment the noise due to the misalignment of the poles is
attenuated by combining at least two of the cycle periods, and then
measuring the rotation speed of the spindle motor based on the
combined cycle periods.
[0031] FIG. 1D shows control circuitry according to an embodiment
wherein the spindle motor operates according to N electrical cycles
over a single revolution of the spindle motor, and the cycle
periods are combined by summing N consecutive cycle periods. Block
26 measures an electrical cycle period 28 of the spindle motor,
such as by detecting a zero crossing in the BEMF voltage generated
by the windings. The measured electrical cycle periods 28 are
shifted into a delay line 30, and after measuring N electrical
cycle periods, a mechanical cycle period 32 is generated as the sum
of the last N measured electrical cycle periods 28. The mechanical
cycle period 32 is converted at block 34 into a measured rotation
speed 36 in rotations per minute (RPM). The measured electrical
cycle periods are accumulated 38 to generate a time index 40 used
to index a speed command profile (SCP) 42 that outputs a target
rotation speed 44 over a spin-up interval. The measured rotation
speed 36 is subtracted from the target rotation speed 44 to
generate an error signal 46 processed by a controller 48. The
controller 48 generates a control signal 50 applied to a driver 52
in order to generate the control signal 24 applied to the spindle
motor 6 to thereby accelerate the spindle motor 6 so that the
rotation speed substantially follows the target speed output by the
SCP 42.
[0032] In the embodiment of FIG. 1D, as each new electrical cycle
period 28 is measured at block 26, the mechanical cycle period 32
is updated based on the running N consecutive electrical cycle
periods. That is, the delay line 30, adder 54, and scalar 34
implement a moving average filter (MAF) of the form:
SpindleSpeed [ RPM ] = 60 [ 1 + z - 1 + z - 2 + z - ( N - 1 ) ]
cycle_period ##EQU00002##
The moving average filter represented by the above equation
effectively filters out the noise in the measured rotation speed of
the spindle motor caused by the misalignment of the poles. In one
embodiment, the above moving average filter may be modified to sum
fewer or more than the N electrical cycle periods over a revolution
of the spindle motor.
[0033] FIGS. 2A and 2B show a disk drive according to an embodiment
wherein the control circuitry 8 is operable to execute the flow
diagram of FIG. 2C during a spin-up operation. A rotation speed of
the spindle motor is measured (block 56), and a gain is generated
as a function of the measured rotation speed (block 58), wherein
the function comprises a polynomial having a degree greater than
one. The spindle motor is spun up based on the gain (block 60).
[0034] FIG. 2D shows control circuitry for spinning up the spindle
motor according to an embodiment wherein block 62 measures a
rotation speed 64 of the spindle motor 6, such as by measuring the
electrical cycle periods as described above. A function 66
generates a gain Kfbk 68 that is used to spin up the spindle motor,
where in the embodiment of FIG. 2D, the gain Kfbk 68 is multiplied
by the error signal 46 to generate the control signal 50. That is,
the control circuitry in the embodiment of FIG. 2D comprises at
least a proportional controller for spinning up the spindle motor,
wherein the gain of the proportional controller is generated as a
function of the measured rotation speed of the spindle motor.
FIG. 2E illustrates an embodiment wherein the function 66 for
generating the gain Kfbk in FIG. 2D comprises a polynomial having a
degree greater than one. In the example of FIG. 2D, the function 66
comprises a quadratic polynomial; however, other embodiments may
use a higher degree polynomial. In one embodiment, the gain Kfbk
may be computed for a number of different rotation speeds based on
a design bandwidth of the control loop using a complex equation,
which consists of the transfer functions of the spindle motor 6,
motor driver 52, and the function for measuring the rotation speed
of the spindle motor (e.g., the MAF described above). After
generating the gain Kfbk for the number of different rotation
speeds, the gain values may be fitted to a curve representing a
polynomial having a degree greater than one. The following is an
example derivation of the gain Kfbk based on the measured rotation
speed and the bandwidth of the control loop:
TABLE-US-00001 Define Units: RPM := 2 .pi.rad 60 s ##EQU00003##
kRPM := 1000 RPM gmf := 10.sup.-3kgf j := {square root over (-1)}
Motor Parameters: Inertia := 44 gm cm.sup.2 = 4.4 .times.
10.sup.-6m.sup.2 kg K e := 0.61 V k R P M ##EQU00004## K t := K e =
5.825 .times. 10 - 3 N m A ##EQU00005## K f := 0.45 gmf cm kRPM
##EQU00006## R.sub.w := 3.6.OMEGA. R.sub.i := 0.124.OMEGA. R.sub.d
:= 0.648 .OMEGA. L.sub.w := 0.6 mH R.sub.a := R.sub.w + R.sub.i +
R.sub.d = 4.372.OMEGA. Speed.sub.0 := 5400 RPM .omega. 0 := Speed 0
= 565.487 rad s ##EQU00007## T s := 2 .pi. .omega. 0 = 0.011 s
##EQU00008## Ecycles := 6 .omega. e 0 := .omega. 0 Ecycles = 3.393
.times. 10 3 rad s ##EQU00009## T es := 2 .pi. .omega. 0 Ecycles =
1.852 ms ##EQU00010## SpClockFreq := 100 MHz SpClockDiv := 32
V.sub.supply := 5 V nBitsKval := 12 f olbw := 1 48 T es = 11.25 Hz
##EQU00011## K d := 1 1 RPM 1 1 V supply nBitsKval - 1 2 = 0.012 V
s ##EQU00012## MarginLT := 0.8 MarginK.sub.e := 0.9 Basic
Calculations: Electric Pole: Pole e := R a L w = 7.287 .times. 10 3
Hz ##EQU00013## Equivalent Impedance: R eq := ( .omega. e 0 L w ) 2
+ R a 2 R a = 5.32 .OMEGA. ##EQU00014## Mechaniacal Pole: Pole m :=
K f R eq + K e K t Inertia R eq = 1.545 Hz ##EQU00015## Gain := K t
K f R eq + K t K e = 1.61 .032 A m N ##EQU00016## Motor Transfer
function: G m ( s ) := K t s Inertia R eq + K f R eq + K t K e
##EQU00017## Moving Average Filter: MAFz ( z ) := z 5 + z 4 + z 3 +
z 2 + z + 1 6 z 5 ##EQU00018## MAFs ( s ) := MAFz ( 2 + s T es 2 -
s T es ) ##EQU00019## Open Loop Transfer function: G open ( s ) = G
m ( s ) MAFs ( s ) ( K fbk K d - K e MarginK e - R a K f MarginLT K
t ) ##EQU00020## PI Controller coefficents: f.sub.olbw = 11.25 Hz
.omega. olbow := 2 .pi.f olbw = 70.686 rad s ##EQU00021## K fbk :=
1 + G m ( j .omega. olbw ) MAFs ( j .omega. olbow ) ( K e MarginK e
+ R a K f MarginLT K t ) K d G m ( j .omega. olbw ) MAFs ( j
.omega. olbw ) = 25.457 ##EQU00022##
In the above example, the gain Kfbk=25.457 has been computed for a
measured rotation speed of 5400 RPM. The following table shows the
gain Kfbk computed using the above derivation for different
measured rotation speeds of the spindle motor. The gain Kfbk values
in the table may then be fitted to a curve represented by the
following polynomial:
Kfbk=0.797+0.3255(RPM/100)+0.0024(RPM1100).sup.2
TABLE-US-00002 Spindle Speed Sample Frequency Open Loop (RPM) (Hz)
Bandwidth (Hz) K.sub.fbk 300 30 0.63 1.743 400 40 0.83 2.081 500 50
1.04 2.448 750 75 1.56 3.38 1000 100 2.08 4.33 1500 150 3.13 6.304
1750 175 3.65 7.305 2000 200 4.17 8.326 2250 225 4.69 9.368 2500
250 5.21 10.435 3000 300 6.25 12.651 3500 350 7.29 14.995 4500 450
9.38 20.173 5400 540 11.25 25.457
[0035] FIGS. 3A and 3B show a disk drive according to an embodiment
wherein the control circuitry 8 is operable to execute the flow
diagram of FIG. 3C during a spin-up operation. A rotation speed of
the spindle motor is measured (block 70), and feed-forward control
is generated based on the measured rotation speed (block 72). The
spindle motor is spun up based on the feed-forward control (block
74).
[0036] FIG. 3D shows control circuitry for spinning up the spindle
motor according to an embodiment wherein a feedback controller 76
generates a feedback control signal 78 based on the error signal
46. The feedback controller 76 may implement any suitable feedback
algorithm, such as the proportional control shown in FIG. 2D. The
feedback control signal 78 is adjusted by a feed-forward control
signal 80 to generate the control signal 50 applied to the driver
52. The feed-forward control signal 80 may compensate for one or
more disturbances injected into the control loop, such as a BEMF of
the spindle motor 6, or a drag torque of the spindle motor 6.
[0037] In one embodiment, the BEMF of the spindle motor 6
counteracts the acceleration torque of the control signal 50,
thereby requiring a higher control signal (e.g., a higher driving
current) in order to apply the desired acceleration torque to the
spindle motor 6. In one embodiment, the BEMF of the spindle motor 6
increases proportionally with the rotation speed Nm of the spindle
motor, and therefore in the embodiment shown in FIG. 3D, a first
feed-forward control signal 82 is generated by multiplying the
measured rotation speed 64 by a gain Ke 84 representing the BEMF
constant of the spindle motor 6. In one embodiment, the BEMF
constant of the spindle motor varies based on the ambient
temperature, and therefore in the embodiment of FIG. 2D the gain Ke
84 is adjusted based on a measured ambient temperature T of the
disk drive.
[0038] In one embodiment, the spindle motor 6 may exhibit a
counteracting drag torque that may also vary based on the rotation
speed of the spindle motor 6 according to:
( LT = f [ T , Nm ] ) Rw [ T ] Kt [ T ] ##EQU00023##
where LT represents the load torque which is a function of the
rotation speed Nm and ambient temperature T, Rw represents a
winding resistance which is a function of ambient temperature T,
and Kt represents a torque constant of the spindle motor which is a
function of ambient temperature T. Accordingly, the control
circuitry of FIG. 3D comprises blocks 86 and 88 representing the
above equation to generate a second feed-forward control signal 90
added to the first feed-forward control signal 82 to generate a
composite feed-forward control signal 80. Any suitable function may
be employed to compute the load torque (LT) as a function of the
rotation speed Nm and the ambient temperature T, wherein in one
embodiment the function may be generated by curve fitting nominal
load torque measurements over a number of different ambient
temperatures taken for a representative subset of spindle
motors.
[0039] FIGS. 4A and 4B show a disk drive according to an embodiment
wherein the control circuitry 8 is operable to execute the flow
diagram of FIG. 4C during a spin-up operation. A rotation speed of
the spindle motor is measured (block 92), and a control signal is
generated based on the measured rotation speed and a speed command
profile (block 94). The spindle motor is spun up based on the
control signal (block 96).
[0040] FIG. 4D shows control circuitry for spinning up the spindle
motor according to an embodiment wherein the speed command profile
42 is generated to ensure a minimum spin-up time and a limited
power consumption under a worst case environmental condition. A
controller 98 generates the control signal 50 based on a difference
(error signal 46) between the measured rotation speed 64 of the
spindle motor and a target rotation speed generated by the speed
command profile 42. FIG. 4E shows an example of a speed command
profile 42 comprising a target speed as a function of the spin-up
time. The speed command profile may be generated in any suitable
manner, such as by empirically evaluating a representative subset
of spindle motors over worst case environmental conditions, such as
worst case ambient temperature. In another embodiment, the speed
command profile may be computed theoretically based on nominal
technical characteristics of the spindle motor, as well as a
nominal characterization of the spindle motor under worst case
environmental conditions. In one embodiment, the speed command
profile may account for a maximum current draw of the spindle
motor. By taking into account the worst case environmental
conditions, together with the maximum current draw of the spindle
motor, the speed command profile 42 may be generated that will
ensure a minimum (as well as consistent) spin-up time and a limited
power consumption across all operating conditions.
[0041] FIGS. 5A and 5B show a disk drive according to an embodiment
wherein the control circuitry 8 is operable to execute the flow
diagram of FIG. 5C during a spin-up operation. A rotation speed of
the spindle motor is measured (block 106), and a control signal is
generated based on a difference between the measured rotation speed
and a target rotation speed (block 108). The spindle motor is
spun-up based on the control signal generated over a second
fraction of a spin-up time (block 110), wherein the target rotation
speed is generated based on a speed command profile and the second
fraction of the spin-up time. The second fraction of the spin-up
time is determined based on an initial measured rotation speed of
the spindle motor (block 104) prior to generating the control
signal.
[0042] In the embodiment of FIG. 5C, the control circuitry 8 begins
spinning up the spindle motor during a first fraction of the
spin-up time using an open loop control system (block 100). After
the first fraction of the spin-up time, the initial rotation speed
of the spindle motor is measured (block 102) so that the second
fraction of the spin-up time may be determined (block 104). In one
embodiment illustrated by the speed command profile shown in FIG.
5E, the spindle motor is spun-up over a spin-up time with a
corresponding target speed increasing over time. During the first
fraction of the spin-up time, the spindle motor is controlled open
loop (independent of the control signal 50), wherein at the end of
this time the spindle motor will be rotating at an unknown rotation
speed. Before enabling the closed loop control circuitry of FIG.
5D, the initial rotation speed of the spindle motor is measured so
that a corresponding point on the speed command profile of FIG. 5E
may be determined, and so that the time index 40 may be
appropriately initialized.
[0043] In the embodiment illustrated in FIG. 5E, a delta is added
to the initial measured rotation speed so that an initial target
rotation speed when enabling the closed loop control circuitry of
FIG. 5D is higher than the initial measured rotation speed. In this
manner, the initial target rotation speed ensures the spindle motor
continues accelerating from the initial measured rotation speed
after enabling the control circuitry of FIG. 5D. After adding the
delta to generate the initial target rotation speed, the
corresponding time in the speed command profile may be determined.
The time 38 in FIG. 5D may be initialized to zero, and an offset
112 added to the time 38 that is based on the initial measured
rotation speed 114 of the spindle motor. Referring again to FIG.
5E, after adding the offset 112 to the time 38, the speed command
profile then generates the target rotation speed over the second
fraction of the spin-up time, wherein the control signal 50 in the
closed loop control circuitry of FIG. 5D is generated based on this
target rotation speed.
[0044] FIGS. 6A and 6B show a disk drive according to an embodiment
wherein the control circuitry 8 is operable to execute the flow
diagram of FIG. 6C during a spin-up operation. The spindle motor is
spun up to a target rotation speed using a spin-up controller
(block 116). After spinning up the spindle motor, an integrator is
initialized based on a state of the spin-up controller (block 118),
and the spindle motor is then controlled using a constant-speed
controller comprising the integrator (block 120).
[0045] FIG. 6D shows control circuitry comprising a spin-up
controller 122 operable to spin up the spindle motor 6 using, for
example, one or more of the above described techniques. FIG. 6E
shows control circuitry according to an embodiment wherein at the
end of the spin-up operation, a constant-speed controller 124 is
used to control the speed of the spindle motor 6. In the embodiment
of FIG. 6E, the constant-speed controller 124 comprises a
proportional/integral (PI) controller including a proportional gain
Kp 126 for multiplying the error signal 46 and an integrator 128
for integrating the error signal 46. The error signal 46 may be
generated as the difference between the measured rotation speed 64
of the spindle motor 6 and a target speed 130 corresponding to a
constant rotation speed during normal operation of the disk
drive.
[0046] In one embodiment, when the control circuitry 8 transitions
from the spin-up controller 122 shown in FIG. 6D to the
constant-speed controller 124 shown in FIG. 6E, the integrator 128
of the constant-speed controller 124 is initialized based on a
state of the spin-up controller 122 in order to minimize any
undershoot or overshoot. In one embodiment, the control circuitry 8
will transition from the spin-up controller 122 to the
constant-speed controller 124 when the end of the speed command
profile is reached at the final target speed (at the end of the
spin-up interval), and the error signal 46 is changing at a slow
rate which ensures the spin-up controller 122 has reached a steady
state. Accordingly, when the spin-up controller 122 has reaches the
steady state, the acceleration control signal 50 being generated by
the spin-up controller 122 becomes a good candidate for the initial
state of the integrator 128 in the constant-speed controller 124.
In one embodiment, the control circuitry is operable to initialize
the integrator 128 according to:
Accel-KpSpeedErr
where Accel represents the acceleration control signal 50 of the
spin-up controller 122 at the end of the spin-up operation, Kp
represents the gain 126 of the constant-speed controller 124, and
SpeedErr represents the error signal 46.
[0047] FIG. 7 shows control circuitry according to an embodiment
operable to spin up the spindle motor 6 using a combination of the
above-described techniques. However, other embodiments may employ
fewer of the above described techniques, or a different technique
in combination with one or more of the above-described techniques.
For example, in some embodiments it may be unnecessary to employ a
moving average filter in order to measure the rotation speed 36 of
the spindle motor 6 if there is an insignificant misalignment of
the poles. Other embodiments may employ a moving average filter in
order to measure the rotation speed 36 with or without employing
one or more of the other techniques described above.
[0048] 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 power integrated circuit (PIC), or in a
component separate from the PIC, such as a disk controller, or
certain operations described above may be performed by a PIC and
others by a disk controller. In one embodiment, the PIC 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).
[0049] 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.
[0050] 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.
[0051] 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 inventions disclosed
herein.
* * * * *