A motor controller comprises an angular position module that determines an
angular position of a disk. A spin-up module performs a spin-up of the
disk. A ramp-up module ramps up a speed of the disk after the spin-up. A
speed control module controls the speed of the disk based on a control
program that is downloaded to the motor controller during a boot-up
operation of a disk drive. The angular position module determines the
angular position of the disk before handover of control to the control
program.