A method and apparatus are provided for implementing intelligent spin-up for a
disk drive. When a command is received, checking for a disk drive start command
is performed. Responsive to identifying the disk drive start command, a no-start
flag is checked. Responsive to identifying the no-start flag being set, an error
code is returned without starting the disk drive. The disk drive is started only
when the no-start flag is not set. During operation of the disk drive, the disk
drive is monitored to identify a drive fault condition. Responsive to identifying
a disk drive fault, the identified disk drive fault is checked to identify a predefined
inoperative drive or dead device fault. When a predefined dead device fault is
identified, the no-start flag is set and an error code for the predefined dead
device fault is stored. Also a no-load flag is set that is used when the disk drive
is running to stop the disk drive and return an error code before the transducer
heads are loaded.