A method and apparatus for compensating for the asymmetrical phases of a
spindle motor in a disc drive are provided. With the apparatus and
method, compensation values are learned by sampling speed data during a
period of operation of the disc drive where the speed is stable and only
one control operation is performed per revolution of the disc. The
sampled speed data is used to generate the compensation values for each
of the phases of the spindle motor. The compensation values are stored in
a compensation mechanism which is used by the spindle motor speed
controller to provide compensation for the asymmetrical phases of the
spindle motor. During Normal operation, the actual speed output of the
spindle motor is measured and is subtracted from a reference speed to
generate a difference speed value. Based on the corresponding electrical
phase, the correct compensation value is fetched and is subtracted from
the difference speed value to obtain a compensated difference speed
value. A control signal based on this compensated difference speed value
is generated and provided to the spindle motor to thereby control the
output speed of the spindle motor.