U.S. patent application number 14/866005 was filed with the patent office on 2016-01-14 for data storage device employing sliding mode control of spindle motor.
The applicant listed for this patent is Western Digital Technologies, Inc.. Invention is credited to MICHAEL T. NICHOLLS, TAYLOR NORITO KELENA WATANABE.
Application Number | 20160012845 14/866005 |
Document ID | / |
Family ID | 54328284 |
Filed Date | 2016-01-14 |
United States Patent
Application |
20160012845 |
Kind Code |
A1 |
NICHOLLS; MICHAEL T. ; et
al. |
January 14, 2016 |
DATA STORAGE DEVICE EMPLOYING SLIDING MODE CONTROL OF SPINDLE
MOTOR
Abstract
A data storage device is disclosed comprising a head actuated
over a disk, and a spindle motor configured to rotate the disk. A
speed of the spindle motor is sampled, and an error signal is
generated based on a difference between the sampled speed and a
target speed. A sliding mode control signal for controlling a speed
of the spindle motor is generated based on a first non-zero gain
when the error signal is greater than zero and less than a first
positive threshold, and a second non-zero gain when the error
signal is greater than the first positive threshold.
Inventors: |
NICHOLLS; MICHAEL T.;
(LAGUNA HILLS, CA) ; WATANABE; TAYLOR NORITO KELENA;
(TUSTIN, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Western Digital Technologies, Inc. |
Irvine |
CA |
US |
|
|
Family ID: |
54328284 |
Appl. No.: |
14/866005 |
Filed: |
September 25, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14287511 |
May 27, 2014 |
9171567 |
|
|
14866005 |
|
|
|
|
Current U.S.
Class: |
360/73.03 |
Current CPC
Class: |
G11B 19/28 20130101;
H02P 6/182 20130101 |
International
Class: |
G11B 19/28 20060101
G11B019/28 |
Claims
1. A data storage device comprising: a head actuated over a disk; a
spindle motor configured to rotate the disk; and control circuitry
configured to: sample a speed of the spindle motor at a sampling
rate; generate an error signal based on a difference between the
sampled speed and a target speed; generate a sliding mode control
signal for controlling a speed of the spindle motor based on the
error signal; and when the error signal exceeds a threshold,
increase the sampling rate.
2. The data storage device as recited in claim 1, wherein the
control circuitry is further configured to: sample the speed of the
spindle motor based on a back electromotive force (BEMF) voltage
generated by the spindle motor; when the error signal is less than
the threshold, sample the speed once per revolution of the disk;
and when the error signal exceeds the threshold, sample the speed
at least twice per revolution of the disk.
3. The data storage device as recited in claim 2, wherein: the BEMF
voltage crosses a threshold at least twice per revolution of the
disk; and the control circuitry is further configured to sample the
speed based on a duration between the BEMF voltage crossings.
4. The data storage device as recited in claim 1, wherein the disk
comprises a plurality of servo sectors and the control circuitry is
further configured to sample the speed of the spindle motor based
on the servo sectors.
5. The data storage device as recited in claim 4, wherein the
control circuitry is further configured to sample the speed based
on a duration between the servo sectors.
6. A method of operating data storage device, the method
comprising: sampling a speed of a spindle motor at a sampling rate;
generating an error signal based on a difference between the
sampled speed and a target speed; generating a sliding mode control
signal for controlling a speed of the spindle motor based on the
error signal; and when the error signal exceeds a threshold,
increasing the sampling rate.
7. The method as recited in claim 6, further comprising: sampling
the speed of the spindle motor based on a BEMF voltage generated by
the spindle motor; when the error signal is less than the
threshold, sampling the speed once per revolution of the disk; and
when the error signal exceeds the threshold, sampling the speed at
least twice per revolution of the disk.
8. The method as recited in claim 7, wherein: the BEMF voltage
crosses a threshold at least twice per revolution of the disk; and
the method further comprises sampling the speed based on a duration
between the BEMF voltage crossings.
9. The method as recited in claim 6, wherein the disk comprises a
plurality of servo sectors and the method further comprises
sampling the speed of the spindle motor based on the servo
sectors.
10. The method as recited in claim 9, further comprising sampling
the speed based on a duration between the servo sectors.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a divisional of U.S. patent application
Ser. No. 14/287,511, filed on May 27, 2014 (Atty. Docket No.
T6961), which is hereby incorporated by reference in its
entirety.
BACKGROUND
[0002] 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.
[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 accessing the disk during write/read operations, it
is typically important for the spindle motor to maintain the disk
at a target rotation speed so as to maintain a target data rate
when writing data to the disk and reading data from the disk.
Certain disturbances affecting the spindle motor may cause the
rotation speed to deviate significantly from the target rotation
speed. For example, tilting the disk drive may cause a large
underspeed disturbance due to a gyroscopic effect. A linear
controller, such as a proportional/integral or PI controller, may
be unable to sufficiently compensate for these large disturbances
and may even become unstable due to the controller saturating the
digital-to-analog converter (DAC) that generates the control signal
(e.g., current) applied to the spindle motor.
[0004] FIG. 1 shows a prior art disk format 2 as comprising a
number of servo tracks 4 defined by servo sectors 6.sub.0-6.sub.N
recorded around the circumference of each servo track. Each servo
sector 6.sub.i 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 6.sub.i 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] FIG. 1 shows a prior art disk format comprising a plurality
of servo tracks defined by servo sectors.
[0006] 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 that is rotated by a spindle motor.
[0007] FIG. 2B shows a sliding mode control embodiment wherein a
control signal for controlling a speed of the spindle motor is
generated based on a first non-zero gain when the error signal is
greater than zero and less than a first positive threshold, and
based on a second non-zero gain when the error signal is greater
than the first positive threshold.
[0008] FIG. 3A shows a sliding mode control embodiment wherein a
speed of the spindle motor is sampled at a sampling rate that is
adjusted based on a difference between the sampled speed and a
target speed.
[0009] FIG. 3B shows a sliding mode control embodiment wherein the
control signal for controlling the speed of the spindle motor is
substantially zero when the error signal is within a dead zone.
[0010] FIG. 3C shows a sliding mode control embodiment wherein the
control signal for controlling the speed of the spindle motor is
generated based on switching gains without a boundary layer.
[0011] FIG. 3D shows a sliding mode control embodiment wherein the
control signal for controlling the speed of the spindle motor is
generated based on switching gains with a boundary layer.
DETAILED DESCRIPTION
[0012] FIG. 2A shows a data storage device in the form of a disk
drive according to an embodiment comprising a head 16 actuated over
a disk 18, and a spindle motor 20 configured to rotate the disk 18.
The disk drive further comprises control circuitry 22 operable to
sample a speed 24 of the spindle motor, and generate an error
signal 26 based on a difference between the sampled speed 24 and a
target speed 28. A sliding mode control signal 30 for controlling a
speed of the spindle motor 20 is generated based on a first
non-zero gain G1 (e.g., FIG. 2B) when the error signal 26 is
greater than zero and less than a first positive threshold +Th1,
and a second non-zero gain G2 when the error signal 26 is greater
than the first positive threshold +Th1.
[0013] In the embodiment of FIG. 2A, the disk 18 comprises a
plurality of servo tracks 32 defined by servo sectors
34.sub.0-34.sub.N, wherein data tracks are defined relative to the
servo tracks at the same or different radial density. The control
circuitry 22 processes a read signal 36 emanating from the head 16
to demodulate the servo sectors 34.sub.0-34.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 22 filters the PES using a
suitable compensation filter to generate a control signal 38
applied to a voice coil motor (VCM) 40 which rotates an actuator
arm 42 about a pivot in order to actuate the head 16 radially over
the disk 18 in a direction that reduces the PES. The servo sectors
34.sub.0-34.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.
[0014] Block 44 of FIG. 2A may sample the speed 24 of the spindle
motor 20 in any suitable manner. In one embodiment, the speed of
the spindle motor 20 may be sampled by evaluating the back
electromotive force (BEMF) voltage in each winding of the spindle
motor 20. The spindle motor 20 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 20. For example, a
6-pole-pair spindle motor will generate six electrical cycles over
a single revolution. In one embodiment, the speed of the spindle
motor 20 may be sampled by measuring the frequency of the
electrical cycles, such as by detecting when the BEMF voltage
crosses a threshold (e.g., zero-crossings). In another embodiment,
the speed of the spindle motor 20 may be sampled based on the
frequency of the detected servo sectors 34.sub.0-34.sub.N. For
example, the frequency of the detected servo sectors
34.sub.0-34.sub.N may be determined by measuring the interval
between consecutive servo sectors (the wedge-to-wedge time).
[0015] In one embodiment, block 46 of FIG. 2A generates the sliding
mode control signal 30 applied to the spindle motor 20 in order to
maintain the spindle motor at the target speed 28. Referring to the
embodiment of FIG. 2B, when the error signal 26 representing the
error between the sampled speed 24 and the target speed 28 exceeds
a first positive threshold +Th1, the sliding mode control signal 30
is generated by multiplying the error signal 26 by a gain G2. When
the error signal 26 exceeds a second positive threshold +Th2, the
sliding mode control signal is saturated, such as by saturating a
digital-to-analog converter (DAC) used to generate the sliding mode
control signal 30, or otherwise limiting the amplitude of the
sliding mode control signal 30 (e.g., through firmware). When the
error signal 26 is less than the first positive threshold +Th1 (but
greater than zero), the sliding mode control signal 30 is generated
by multiplying the error signal 26 by a gain G1 that is less than
the gain G2. When the error signal 26 is negative, the sliding mode
control signal 30 is similarly generated based on thresholds -Th1
and -Th2 as well as a gain G3 which may be the same or different
from G2. As illustrated in the example of FIG. 2B, the sliding mode
control signal 30 may be generated asymmetrically relative to the
polarity of the error signal 26.
[0016] In one embodiment, employing a sliding mode control
algorithm to control the speed of the spindle motor 20 provides
improved disturbance compensation, such as by saturating the
sliding mode control signal 30 during a large disturbance while
maintaining stability of the speed control loop. In one embodiment,
the gains G2 and G3 may be selected so that the sliding mode
control signal 30 quickly reaches saturation in the presence of a
large disturbance, thereby decreasing the response time to
compensate for the disturbance without losing stability as may
happen when employing a linear control algorithm, such as with a
proportional-integral (PI) algorithm.
[0017] In one embodiment, it may be desirable to reduce the
switching noise (chatter) caused by a sliding mode controller when
the error signal 26 is near zero while still ensuring the error
signal 26 is eventually driven to zero so that the spindle motor 20
maintains the target speed 28. In the embodiment of FIG. 2B, this
is accomplished by changing the gain of the sliding mode control 46
from G2 or G3 to G1 when the error signal 26 falls below the
threshold Th1. In this manner, when the error signal 26 is near
zero (less than threshold Th1), the sliding mode control 46 may
switch between a negative and positive control signal, but the
amplitude of the control signal is reduced which reduces chatter.
To further reduce chatter and/or other transients, in one
embodiment a first slope of the sliding mode control signal defined
by the non-zero gain G1 is contiguous with a second slope of the
sliding mode control signal defined by the non-zero gain G2 as
illustrated in FIG. 2B. In this manner, there is a smooth
transition when the sliding mode control 46 switches between the
gains G1 and G2 or between the gains G1 and G3.
[0018] FIG. 3A illustrates another embodiment of the present
invention wherein the control circuitry 22 of FIG. 2A is configured
to sample a speed of the spindle motor 20 at a sampling rate, and
when the error signal 26 exceeds a threshold Th, the control
circuitry 22 increases the sampling rate. In one embodiment,
increasing the sampling rate of the spindle motor speed to thereby
increase the sampling rate of the error signal 26 improves the
performance of the sliding mode control 46 by decreasing the
response time and/or decreasing chatter. The sampling rate of the
spindle motor speed may be increased in any suitable manner, such
as by increasing the frequency that the BEMF voltage generated by
the spindle motor is evaluated. For example, in one embodiment a
single zero-crossing may be detected in the BEMF voltage per
revolution when the error signal 26 is less than the threshold Th,
whereas multiple zero-crossings may be detected in the BEMF voltage
per revolution, such as by monitoring multiple of the electrical
cycles in the BEMF voltage. In an embodiment wherein the spindle
motor speed is sampled based on the servo sectors
34.sub.0-34.sub.N, the sampling period may be a rotational duration
for a single servo sector to rotate a full revolution when the
error signal 26 is less than the threshold Th, whereas the sampling
period may be decreased by evaluating a rotational duration between
at least two of the servo sectors up to the rotational duration
(wedge-to-wedge time) between each servo sector.
[0019] Although in the embodiment of FIG. 3A the sampling rate of
the spindle motor speed is increased based on a single threshold,
other embodiments may employ multiple thresholds so that the
sampling rate may be incrementally increased as the error signal 26
increases in magnitude. In other embodiments, there may be
asymmetry between a positive threshold +Th and a negative threshold
-Th used to adjust the sampling rate of the spindle motor
speed.
[0020] In one embodiment, after increasing the sampling rate of the
spindle motor speed due to the error signal 26 exceeding one of the
thresholds +Th or -Th, there may be a delay in decreasing the
sampling rate after the error signal 26 falls below the threshold.
In another embodiment, there may be multiple thresholds for
implementing hysteresis when adjusting the sampling rate. For
example, there may be a first positive threshold +Th1 and a second
positive threshold +Th2 greater than +Th1. The sampling rate may be
increased when the error signal 26 exceeds +Th2, and then decreased
when the error signal 26 falls below +Th1.
[0021] Any suitable sliding mode control 46 may be employed in the
embodiment where the sampling rate of the error signal 26 is
adjusted based on the magnitude of the error signal 26. FIG. 3B
shows a sliding mode control 46 comprising a dead zone wherein the
sliding mode control signal 30 is disabled (zeroed) as the error
signal 26 approaches zero in order to reduce chatter. That is, in
one embodiment the gain G1 of FIG. 2B is zero such that the sliding
mode control signal 30 is zero within the dead zone.
[0022] FIG. 3C shows another embodiment wherein a saturated sliding
mode control signal 30 is generated at a polarity corresponding to
the polarity of the error signal 26.
[0023] That is, the sliding mode control 46 in the embodiment of
FIG. 3C may operate only in a saturation mode without transition
zones defined by gains (e.g., gains G1, G2 and G3 as in FIG. 2A)
and without a dead zone. FIG. 3D shows yet another embodiment of a
sliding mode control 46 that employs a boundary layer defined near
the zero point of the error signal 26, wherein the sliding mode
control signal 30 is generated using hysteresis. That is, the
polarity of the sliding mode control signal 30 may not switch until
the error signal 26 exceeds the hysteresis threshold at the border
of the boundary layer which may reduce chatter. Other embodiments
may employ a sliding mode control 46 implementing a combination of
the features illustrated in the figures. For example, the saturated
sliding mode control of FIG. 3C may also implement a dead zone such
as shown in the embodiment of FIG. 3B.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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.
* * * * *