A harmonic wave obtaining unit performs a fast Fourier transform (FFT)
operation on repeatable run out (RRO) correction data in the time domain
and transforms the RRO correction data into a higher harmonic signal data
in the frequency domain. A selective-output unit outputs wavelength and
amplitude of a first-order harmonic wave and of a third-order harmonic
wave of the higher harmonic signal data to a hard disk controller via a
formatting unit. A hard disk controller calculates a head-gap between a
magnetic head and a magnetic disk in a storage device at the time of
reading user data as well as servo data.