Apparatus and method for calculating disk shift amount in disk drive

A main controller, such as a CPU, causes a runout detector to relearn a runout component using as an initial value a learned value for a runout component of a disk runout that may occur as a disk rotates, the learned value being acquired during manufacture of a disk drive. The learned value for the runout component used as the initial value is saved to a nonvolatile storage device. The main controller calculates a disk shift amount on the basis of a runout component obtained through relearning (that is, a relearned value) and the learned value acquired during the manufacture of the disk drive and used as the initial value.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2003-416142, filed Dec. 15, 2003, the entire contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a disk drive that performs seek control for moving a head to a target position on a disk rotated by a spindle motor and track following control for settling the head within a target range for the target position. In particular, the present invention relates to an apparatus and method for calculating a disk shift amount in a disk drive which apparatus and method are suitable for calculating the amount of disk shift resulting from an external impact while the disk drive is inactive.

2. Description of the Related Art

Hard disk drives are well known as using a disk as a recording medium. The hard disk drive generally comprises a head positioning control system (servo system) that performs control for positioning a head at a target position on the disk. This control system handles an actuator in which the head is mounted, as a to-be-controlled object (that is, a plant). The actuator supports the head such that the head is movable in a radial direction of the disk. The control system controls driving of the actuator on the basis of servo information written (embedded) in the disk. The control system performs seek control for a seek operation of moving the head to a target track and track following control for a track following operation (tracking operation) of settling the head moved to the target track within a target range for the target track.

A disk runout that may occur as the disk rotates is known as a factor degrading the track following performance of the hard disk drive. The disk runout may result from, for example, an assembly error in the hard disk drive. The term “assembly error” as used in the specification refers to an error that may occur when the disk is screwed onto a hub of a spindle motor during a process for manufacturing the hard disk drive. With the track following control, the disk runout appears as the runout of a track. Accordingly, the head must be allowed to follow the runout. The component of the disk runout (runout component) is contained in a position error that may occur when the head is allowed to follow the target track. Thus, Jpn. Pat. Appln. KOKAI Publication No. 11-39814 (Document 1) discloses a technique for detecting the runout component of the disk runout that may occur in synchronism with the rotation of the disk to eliminate the runout component from the position error. The technique described in Document 1 can suppress the runout component for the track, which is in synchronism with the rotation of the disk, to reduce a tracking error that may occur in the tracking by the head.

The runout component is detected by adaptive learning. An initial value is required to carry out the adaptive learning in a short time. Thus, Jpn. Pat. Appln. KOKAI Publication No. 2002-230928 (Document 2) discloses learning of the runout component for each pre-specified radial position on the disk during the manufacture of the hard disk drive. Document 2 further discloses a technique for using, as an initial value for the adaptive learning, the runout component for each pre-specified radial position on the disk obtained through the learning during the manufacture of the hard disk drive (this runout component is called a learned value). The initial value for the adaptive learning is stored in a nonvolatile memory. Document 2 takes a temporal variation in the runout component for each radial position into consideration. Document 2 thus proposes that the learned value for the runout component for each radial position, which is used as an initial value for the adaptive learning, be corrected when the hard disk drive is activated. In this case, the runout component for a particular radial position of the disk is relearned. Then, the learned value (initial value) for the runout component for each radial position of the disk is corrected utilizing the rate of a change from the original learned value to the relearned value (or the difference between the original learned value and the relearned value). With the technique described in Document 2 (prior art), the head can be caused to precisely follow the target track without being affected by the runout of a track in synchronism with the rotation of the disk or by a temporal variation in the runout component.

When the hard disk drives incurs an excessive external impact, the center of the disk in the disk drive may be shifted from the rotating shaft of the spindle motor, that is, what is called a disk shift may occur. In this case, a very long time is required for the convergence of the learning of the runout component, which is carried out during the activation of the hard disk drive. In other words, the time required to activate the disk drive increases. However, the above prior art cannot determine whether the increase in activation time results from a disk shift or another factor. For example, the prior art cannot determine whether or not the increase in activation time results from a disk shift caused by an impact made (for example, the impact made when the disk drive falls) while the hard disk drive is inactive, the impact exceeding a value specified for the product. The factor mentioned above includes vibration externally applied to the disk drive or a defect in the actuator, which supports the head such that the head is movable.

BRIEF SUMMARY OF THE INVENTION

In accordance with an embodiment of the invention, there is provided a disk drive which performs seek control for moving a head to a target position on a disk rotated by a spindle motor and track following control for settling the head within a target range for the target position. The disk drive comprises a position error detector configured to detect a position error between a position of the head and the target position, an adaptive learning device configured to acquire, through adaptive learning, a runout component of a disk runout which may occur as the disk rotates, the runout component being contained in the position error detected, a nonvolatile storage device to which a learned value for the runout component acquired by the adaptive learning device through the adaptive learning during manufacture of the disk drive is pre-saved, a main controller which controls relearning of the runout component by the adaptive learning device to acquire a relearned value for the runout component during activation of the disk drive, the learned value for the runout component saved to the nonvolatile storage device being used as an initial value for the adaptive learning during the relearning of the runout component, and a calculating device configured to calculate a disk shift amount on the basis of the relearned value and the original learned value corresponding to the relearned value, the disk shift amount representing a shift in a center of the disk from a rotation center of the spindle motor and from the center of the disk set during the manufacture of the disk drive.

DETAILED DESCRIPTION OF THE INVENTION

With reference to the drawings, description will be given below of an embodiment in which the present invention has been applied to a hard disk drive. The hard disk drive (HDD) shown inFIG. 1comprises, for example, two disks (magnetic disks)1-0and1-1on which data is magnetically recorded. Each disk1-i(i=0, 1) has two disk surfaces: a top and bottom surface. At least one of the two disk surfaces of each disk1-i, for example, both disk surfaces serve as recording surfaces on which data is recorded. Heads (magnetic heads)2-00and2-01are arranged in association with the respective recording surfaces of the disk1-0. Likewise, heads2-10and2-11are arranged in association with the respective recording surfaces of the disk1-1. Each head2-ij(i=0, 1, j=0, 1) is used to read and write data from and to the disk1-i. InFIG. 1, it is assumed that the two disks1-0and1-1are stacked in the HDD. However, the HDD may comprise three or more disks or a single disk.

A large number of concentric tracks (not shown) are arranged on the recording surfaces of each disk1-i. In each track, servo areas in which servo information is recorded are arranged discretely at regular intervals. In other words, in the present embodiment, a sector servo type format is applied to each disk1-i. The servo information contains position information required to perform control for positioning the head2-ijin a target track. The position information contains a cylinder code and burst data. The cylinder code indicates the position of a cylinder (track) on the disk1-iin which the corresponding servo information is written. The burst data is position information indicative of the relative position (position error) of the head. in the cylinder in which the corresponding servo information is written.

A spindle motor (SPM)3rotates each disk1-iat high speed. An actuator4supports each head2-ijsuch that the head is movable in a radial direction of the disk1-i. The actuator4includes a voice coil motor (VCM)5serving as a driving source for the actuator4. The SPM3is driven by a driving current (SPM current) supplied by an SPM driver6A. The VCM5is driven by a driving current (VCM current) supplied by a VCM driver6B. In the present embodiment, the SPM driver6A and the VCM driver6B are realized by a driver IC6composed of a single chip.

Each head2-ijis connected to a head IC (head amplifier circuit)7. The head IC7includes a read amplifier that amplifies a read signal read by the head2-ijand a write amplifier that converts write data into a write current. The head IC7is connected to a read/write IC (read/write channel)8. The read/write IC8is a signal processing device for performing various kinds of signal processing such as analog-to-digital conversion of a read signal, encoding of write data, decoding of read data, etc. The read/write IC8also extracts the cylinder code and burst data from the servo information. The read/write IC8then transmits the cylinder code and burst data extracted to a CPU10.

The read/write IC8is connected to a disk controller (HDC)9and the CPU10. The HDC9is connected to a host (host system) and the CPU10. The host is a digital apparatus such as a personal computer which utilizes the HDD shown inFIG. 1. The HDC9has an interface control function for controlling the reception of a command (read/write commands and the like) as well as data transfers between the host and the HDC9. The HDC9also has a disk control function for controlling data transfers between the disk1-iand the HDC9.

The CPU10is a main controller in the HDD shown inFIG. 1. The CPU10is connected to a flash read-only memory (FROM)11and a random access memory (RAM)12. The FROM11is a nonvolatile memory in which a control program111executed by the CPU10is pre-stored. The control program111includes a control process for a servo system. Control realized by the CPU10by executing the control process includes seek control for a seek operation for moving the head2to a target track on the basis of a cylinder code transmitted by the read/write channel8. The control realized by the CPU10by executing the control process also includes track following control for a track following operation for positioning the head2-ijwithin a target range for the target track on the basis of burst data transmitted by the read/write channel8. A storage area in the FROM11is partly used as an initial value area112. A learned value for a runout component is pre-saved to the initial value area112as an initial value for adaptive learning. The learned value for the runout component is acquired for each pre-specified zone on each recording surface of each disk1-iduring the manufacture of the HDD shown inFIG. 1. A storage area in the RAM12is partly used as an initial value area121to which the contents of the initial value area112of the FROM11are copied when the HDD shown inFIG. 1is activated. The contents of the initial value area121are changed (corrected) during the activation of the HDD. Description will be given later of the learned value for the runout component stored in the initial value areas112and121.

FIG. 2is a block diagram illustrating the concept of the servo system realized by the CPU10by executing the control process, the CPU10appearing inFIG. 1. The servo system shown inFIG. 2is a head positioning control system for positioning the head2-ijat a target position on the disk1-i. The servo system comprises a feedback control system21and a learning type feedforward control system22. The feedback control system21performs control for driving a plant23(in this case, the actuator4or VCM5). The feedback control system21comprises a feedback controller (Fb)211, a position error detector212, and an adder213. The feedforward control system22suppresses (compresses) the component of runout of a track which may occur in synchronism with the rotation of the disk1-i. The feedforward control system22comprises a runout detector (Ft)221and a feedforward controller (Fw)222.

In the feedback control system21, the position error detector212detects a position error “e” between a target position “r” on the disk1-iand the position of the head2(head position) “y”. In the seek control, the target position “r” is a target track. In the track following control, the target position is, for example, a center line of the target track. In the track following control, the position error “e” between the target position “r” and the head position “y” is indicated by an analog-to-digital conversion value for the amplitude of burst data (burst signal) extracted by the read/write channel8. On the basis of the position error “e” detected by the position error detector212, the feedback controller211calculates a first control amount (feedback value) Ub required to suppress the position error “e”.

In contrast, in the feedforward control system22, the runout detector221executes a digital Fourier transformation (DFT) calculation to detect (calculate) a runout component contained in the position error “e” (the runout component in synchronism with the rotation of the disk1-j). In the HDD according to the present embodiment, a sector servo type format is applied to the disk1-i. Servo information is thus discretely detected. Consequently, the position error “e” is detected at each sampling time when the servo information is detected. Thus, every time the position error detector212detects the position error “e”, the runout detector221detects (calculates) the runout component contained in the position error “e” on the basis of the position error “e” and the result (learned value) of detection obtained by the runout detector221one sampling earlier. In other words, the runout detector221is an adaptive learning device that determines the runout component contained in the position error “e” through the adaptive learning. In this case, when determined, the runout component is separated into a sine component and a cosine component. The initial value of the learned value for the runout component is one of the learned values stored in the initial value area121of the RAM12which corresponds to a recording surface and zone to which the target position “r” belongs.

The runout component detected (calculated) by the runout detector221through the adaptive learning is output to the feedforward controller222. Further, during the seek control, the runout detector221disables an adaptive learning function and outputs the initial value for the runout component (adaptive learned value) to the feedforward controller222as it is. On the basis of the runout component detected by the runout detector221, the feedforward controller222calculates a second control amount (feedforward value) Uf required to suppress the runout component (that is, eliminates the runout component contained in the position error “e”). The adder213of the feedback control system21adds the control amount Uf calculated by the feedforward controller222to the control amount Ub calculated by the feedback controller211. The feedback control system21uses the result of the addition (Uf+Ub) by the adder213as a third control amount required to control the plant23. Specifically, the adder213is used as a device that generates the third control amount (Uf+Ub).

As previously described, the learned value for the runout component is pre-saved to the initial value area112of the FROM11in association with each zone of each recording surface of each disk1-iacquired during the manufacture of the HDD shown inFIG. 1. In contrast, during the activation of the HDD, the contents of the initial value area112of the FROM11are copied to the initial value area121of the RAM12.FIG. 3shows an example of zones assigned to each recording surface of each disk1-i. In this case, each recording surface of each disk1-iis partitioned into four concentric zones Z0to Z3for management.FIG. 4shows an example of a data structure in the initial value area112(121). In the example shown inFIG. 4, the learned values for the runout components are stored in the initial value area112(121) in table form. InFIG. 4, head numbers denote identification numbers that identify the recording surfaces of the disk1-i. The head numbers0,1,2, and3identify the recording surfaces corresponding to the heads2-00,2-01,2-10, and2-11, respectively. Zone numbers0,1,2, and3identify the zones Z0, Z1, Z2, and Z3, respectively.

Now, a brief description will be given of learning of the runout component carried out during the manufacture of the HDD shown inFIG. 1. During the manufacture of the HDD, the HDD is set in a mode for learning the runout component, in response to an instruction from the host. Then, the CPU10executes the control process in the control program111to start learning the runout component. Specifically, the CPU10utilizes the system shown inFIG. 2to start learning the runout component. In this learning, for each zone of each recording surface, the CPU10designates an almost central track in the zone as a target track. Then, the CPU10utilizes the system shown inFIG. 2to perform seek control for moving the head2-ijto a target track and track following control for settling the head2-ijmoved to the target track within a target range for the target track. In the track following control, every time the position error detector212detects the position error “e”, the runout detector221determines the runout component contained in the position error “e”. In this case, the digital Fourier transformation calculation is used to detect (calculate) the runout component through the adaptive learning, on the basis of the position error “e” and the result (learned value) of detection obtained by the runout detector221one sampling earlier. More specifically, when determined, the runout component for each order from 1st to n-th orders (n is an integer larger than one) is separated into a sine component and a cosine component. For example, zero is used as an initial value for the adaptive learning by the runout detector221. Then, the runout component detected while the head2-ijis settled in the target range for the target track is determined to be a learned value for the runout component for the corresponding zone of the corresponding recording surface. The learned value for each zone of each recording surface determined as described above is saved to the initial value area112of the FROM11as an initial value for the adaptive learning as shown inFIG. 4.

Now, with reference to the flowchart inFIG. 5, description will be given of a process for correcting the initial value for the adaptive learning, which process is executed during the activation of the HDD shown inFIG. 1. This process is characterized by including a procedure for calculating the disk shift amount on the basis of a change in the initial value for the adaptive learning. First, during the activation of the HDD shown inFIG. 1, the CPU10copies the learned values (initial values) saved to the initial value area112of the FROM11, to the initial value area121of the RAM12(step S1). Then, the CPU10utilizes the system shown inFIG. 2to perform control for relearning the runout component (step S2). Here, the runout component for a particular zone Zk (for example, the zone Z2) on the recording surface designated by a particular head number (for example, the head number0) is relearned. The details of the control performed in step S2are as follows.

First, the CPU10performs control (seek control) for a seek operation for moving the head2-ijto a particular track TRs as a target track (step S2a). Specifically, to relearn the runout component for the track TRs, the CPU10performs seek control for moving the head2-ij(in this case, the head2-00) to the track TRs. The track TRs belongs to the zone Zk on the recording surface designated by the particular head number. The track TRs is preferably used to learn the runout component for the zone Zk on the recording surface designated by the particular head number, during the manufacture of the HDD.

When the head2-ijis moved to the track TRs, the CPU10utilizes the system shown inFIG. 2to start the track following control for settling the head2-ijwithin a predetermined range for the track TRs (step S2b). In the track following control, the position error detector212detects the position error “e” at each sampling time. Every time the position error detector212detects the position error “e”, the runout detector221detects the runout component contained in the position error “e”, through the adaptive learning. Specifically, the runout detector221detects the runout component contained in the position error “e” on the basis of the position error “e” and the result (learned value) of detection obtained by the runout detector221one sampling earlier. In this case, the initial value for the adaptive learning is one of the learned values stored in (copied to) the initial value area121of the RAM12which corresponds to the zone Zk on the particular recording surface. The particular recording surface is designated by the particular head number.

On the basis of the runout component detected by the runout detector221, the feedforward controller222calculates the control amount Uf required to suppress the runout component. In contrast, on the basis of the position error “e” detected by the position error detector212, the feedback controller211calculates the control amount Ub required to suppress the position error “e”. The adder213adds the control amounts Uf and Ub together. The result of the addition (Uf+Ub) by the adder213is used as a control amount (third control amount) required to control the plant23. In this case, the CPU10provides the VCM driver6B of the driver IC6with the control amount, i.e., the result of the addition by the adder213. The VCM driver6B drives the VCM5by supplying the VCM5with a VCM current corresponding to the control amount provided by the CPU10. In this manner, the track following control (step S2b) is performed to settle the head2-ijwithin the target range for the track TRs.

The CPU10determines whether or not the position error “e” has been converged within the specified range by the track following control (step S2c). If the position error “e” is not within the specified range, the CPU10continues the track following control (step S2b). In contrast, if the position error “e” is within the specified range, the CPU10determines that the head2-ijhas been settled within the target range for the track TRs. In this case, the CPU10determines that the runout component has been completely relearned. The CPU10also determines the runout component currently detected by the runout detector221to be a relearned value for the runout component (step S2d).

In the present embodiment, the runout detector221executes the digital Fourier transformation conversion to determine a runout component (learned value) for each order from 1st to n-th orders. More specifically, when determined, the runout component for each order is separated into a sine component and a cosine component. In general, a disk shift appears in the first order component. In contrast, the runout component (that is, the learned value for the adaptive learning) detected by the runout detector221corresponds to a position error that remains in spite of the feedback control performed by the feedback controller211. The feedback control is performed to suppress the position error “e” between the target position “r” and the head position “y”. Thus, when the relearned value for the runout component is determined in step S2d, the relearned value (that is, the remaining position error) can be used to estimate the trajectory of the actual target position. Specifically, the trajectory of the actual target position can be estimated by multiplying the relearned value by the reciprocal of a suppression rate used when the position error is suppressed by the feedback control performed by the feedback controller211. The trajectory represents the runout itself of the disk1-i. Therefore, the CPU10can determine that the disk shift amount has changed, by detecting a change in trajectory.

A current shift in the center O1of the disk1-ifrom the rotation center (rotating shaft) O of the SPM3is called a disk shift amount ds1. The rotation center O of the SPM3is an absolute center used if a shift in the center O1of the disk1-iis considered. The disk shift amount ds1can be calculated on the basis of the first order component (first order sine and cosine components) of the relearned value for the runout component determined in step S2d. Specifically, the disk shift amount ds1can be calculated in accordance with an equation shown below provided that the first order sine and cosine components of the relearned value are represented by k sin 1 and k cos 1, respectively.
ds1=α{(ksin 1)2+(kcos 1)2}1/2(1)

In this case, α denotes a proportional coefficient reflecting the suppression rate.

Next, a shift in the center O0of the disk1-ifrom the rotation center O of the SPM3which shift may occur during the manufacture of the HDD is called a disk shift amount ds0. The disk shift amount ds0can be calculated on the basis of the first order component (first order sine and cosine components) of the learned value (original learned value) obtained during the manufacture of the HDD and corresponding to the relearned value. The learned value obtained during the manufacture of the HDD is saved to the initial value area112of the FROM11. Specifically, the disk shift amount ds0can be calculated in accordance with an equation shown below provided that the first order sine and cosine components of the learned value obtained during the manufacture of the HDD are represented by k sin 0 and k cos 0, respectively.
ds0=α{(ksin 0)2+(kcos 0)2}1/2(2)

Product specifications for the HDD include impact resistance. A specified value (allowable level) Gs for the impact resistance of the HDD is generally set at about several hundred gal. Here, it is assumed that the HDD incurs an impact substantially exceeding the allowable level Gs, for example, when dropped. In such a case, a part of each disk1-iwhich is screwed onto a hub of the SPM3may loosen. The center of the disk1-imay thus shift from the rotation center of the SPM3. The CPU10can determine the degree of the shift by comparing the disk shift amounts ds1and ds0with each other. That is, by comparing the disk shift amounts ds1and ds0with each other, the CPU10can determine that the status of the disk runout has been changed by an excessive impact externally made after the manufacture of the HDD.

Thus, the CPU10calculates a shift from the center O0of the disk1-iset during the manufacture of the HDD to the current center O1of the disk1-i, that is, the disk shift amount d from the time of the HDD manufacture to the current time (step S3). The disk shift amount d can be calculated on the basis of the relearned values k sin 1 and k cos 1 and the learned values k sin 0 and k cos 0 obtained during the manufacture of the HDD. Here, the disk shift amount d is calculated by:
d=α{(ksin 1−ksin 0)2+(kcos 1−kcos 0)2}1/2(3)

In Equation (3), d can be converted into a physical distance (μm) by selecting an appropriate value for α.

FIG. 6shows the concept of the above disk shift in association with the disk shift amounts ds0, ds1, and d. There is a correlation between the disk shift amount and the level of an external impact (impact level) exerted on the HDD. By pre-measuring such a correlation in a large number of HDDs, it is possible to acquire an impact level-disk shift amount characteristic such as the one shown inFIG. 7. This characteristic can be utilized to estimate the magnitude of the impact exerted on the HDD, from the disk shift amount. Thus, in the present embodiment, a part of the storage area of the FROM11is used as a disk-shift characteristic area113(seeFIG. 1). Disk shift characteristic information is pre-saved to the area113. The disk shift characteristic information represents the relationship between the impact level and the disk shift amount shown inFIG. 7. In this case, the upper limit of the disk shift amount is the difference between inner diameter of the disk1-iand the outer diameter of the hub.

It is assumed that the CPU10has calculated the disk shift amount d in accordance with Equation (3) (step S3). Then, the CPU10estimates the level of an impact (impact level) G that has caused a disk shift of the disk shift amount d (step S4). The impact level G is estimated on the basis of a disk shift characteristic indicated by the disk shift characteristic information saved to the disk-shift characteristic area113of the FROM11as well as the disk shift amount d calculated in step S3. The CPU10compares the impact level G estimated with the allowable level Gs of the impact resistance. The CPU10thus determines whether or not the HDD has undergone an impact exceeding the value Gs while inactive (step S5). A disk shift amount obtained when the HDD incurs an impact of the level Gs is defined as dds. Then, the disk shift amount ddscan be predicted from the characteristic shown inFIG. 7. It is thus possible to store the information indicative of the disk shift amount ddsin, for example, the FROM11and to check whether or not the disk shift amount d calculated in step S3is larger than the disk shift ddsindicated by the information. This makes it possible to determine (estimate) that the HDD has incurred an impact exceeding the allowable level Gs, if d>dds.

If the HDD is estimated to have undergone an excessive impact exceeding the allowable level Gs of the impact resistance, the reliability of the HDD is not ensured. In this case, the CPU10reports to a user (maintenance personnel) of the host via the host that the HDD has undergone the excessive impact (step S6). Thus, the user can deal with the situation by for example, performing an operation for backing up the data saved to the HDD. Further, even if a disk shift substantially exceeding the value ddssignificantly increases the time required to activate the HDD, the user can immediately determine the cause of the abnormal state. Similarly, even if a disk shift substantially exceeding the value ddsleads to an abnormal state in which data cannot normally be read from the HDD or backed up, the user can immediately determine the cause of the abnormal state. If the HDD incurs an external impact while operating, then for example, an impact sensor can detect this impact.

Then, on the basis of the relearned value for the runout component determined in step S2dand the original learned value used before the relearning (that is, the learned value obtained during the manufacture of the HDD), the CPU10corrects all the learned values obtained during the manufacture of the HDD and stored in (copied to) the initial value area121of the RAM12(step S7). The correction can be accomplished by for example, adding the difference between the relearned value and the original learned value to each learned value obtained during the manufacture of the HDD. Alternatively, each learned value obtained during the manufacture of the HDD may be corrected by determining the rate of a change from the original learned value to the relearned value to multiply each learned value obtained during the manufacture of the HDD, by this change rate.

The above embodiment applies the configuration in which the relearning of the runout component is intended for the particular recording surface of the particular disk. However, the runout component may be relearned for each disk1-i(or each recording surface of each disk1-i). In this case, each learned value obtained during the manufacture of the HDD may be corrected for each disk1-i(or each recording surface of each disk1-i) using the corresponding relearned value. This makes it always possible to correct the learned value for the runout component, used as an initial value for the adaptive learning, to the optimum value even if a temporal variation in runout component varies in each disk1-i(or each recording surface of each disk1-i). In this case, the disk shift amount d can be calculated for each disk1-i(or each recording surface of each disk1-i). It is thus possible to determine whether or not the HDD has incurred an impact exceeding the level Gs, using one of the disk shift amounts calculated which has the largest value. Consequently, even if the disk shift amount varies in each disk1-i(or each recording surface of each disk1-i), a warning can be given to the user provided that at least one of the disk shift amounts exceeds the value dds. The CPU10may also give a warning to the user in the following case: the CPU10determines for each disk shift amount d calculated whether or not the HDD has undergone an impact exceeding the level Gs, and the number of disk shift amounts with which the HDD has undergone an impact exceeding the level Gs is larger than a pre-specified value. Further, in the above embodiment, the present invention is applied to a hard disk drive (HDD). However, the present invention is applicable to a disk drive other than a hard disk drive, such as a magneto-optical disk drive, provided that the disk drive performs the seek control and track following control.