Method for compensating for acceleration vector offset, recording medium storing program for executing the method, and related apparatus

Embodiments of the invention provide a method for compensating for an acceleration vector offset of an acceleration detector, a recording medium storing a program for executing the method, and an apparatus adapted to perform the method. The method comprises determining whether the acceleration detector is in a stable resting state; if the acceleration detector is determined to be in a stable resting state, then determining whether any one of at least two orthogonal axes is a main axis; and, if the acceleration detector is determined to be in a stable resting state and one of the at least two orthogonal axes is determined to be a main axis, performing an acceleration vector compensation operation to compensate for the acceleration vector offset of the acceleration detector.

BACKGROUND

1. Field of the Invention

Embodiments of the invention relate to a method for compensating for an acceleration vector offset, a recording medium storing a program for executing the method, and an apparatus adapted to perform the method. In particular, embodiments of the invention relate to method for compensating for an acceleration vector offset of an acceleration sensor adapted to measure acceleration of a hard disk drive (HDD), a recording medium storing a program for executing the method, and an apparatus adapted to perform the method.

This application claims priority to Korean Patent Application No. 10-2005-0107014, filed on Nov. 9, 2005, the subject matter of which is hereby incorporated by reference in its entirety.

2. Description of Related Art

A hard disk drive (HDD) is a recording device adapted to store information. Information is recorded on concentric tracks on each of an upper and a lower surface of at least one magnetic disk. Each disk is mounted on a rotating spindle motor, and the information is accessed by a read/write head mounted on an actuator arm rotated by a voice coil motor (VCM). In order to move the read/write head, the VCM is rotated by applying electrical current. The read/write head reads the information recorded on a surface of a disk by sensing magnetic variations on the surface of the disk. A current is provided to the read/write head in order to record information on data tracks of the disk. The provided current generates a magnetic field for magnetizing the surface of the disk.

HDDs have been continuously reduced in size to the point where they can now be used in portable mobile devices such as laptop computers, MP3 players, cellular phones, and personal digital assistants (PDAs).

Portable mobile devices are frequently carried and thus are at risk of being dropped. Dropping a portable mobile device can cause damage (i.e., shock damage) to heads and disks of an HDD in the portable mobile device. Thus, in a portable mobile device comprising an HDD, the HDD needs to be protected when dropping or another motion that may cause damage to the HDD is predicted.

To protect both an HDD disposed in a portable mobile device and its data, technology that detects when an HDD is hit, dropped, or vibrated, and that unloads the heads of the HDD, if necessary, has been introduced. The purpose of that technology is to protect an HDD from damage that may be caused by a hit, drop, or vibration. An example of such technology is disclosed in published Japanese Patent Nos. 2000-99182 and 2002-8336, the subject matter of which is hereby incorporated by reference. The technology relates to detecting a free-fall state using a free-fall sensor (FFS), and retracting the head(s) of an HDD when the free-fall state is detected.

FIG. 1is a perspective view of an acceleration detector. The acceleration detector is a 3-axis acceleration detector. Referring toFIG. 1, a FFS50comprises a mass52and piezo elements54attached to mass52. Mass52is subject to movement in the x, y, and z directions in correspondence with motion of an HDD incorporating FFS50. Movement of mass52defines the respective amplitudes of electrical-signals generated by piezo elements54. A vector of movement and/or a vector of acceleration for mass52may be calculated in relation to the respective electrical signals indicating movement in the x, y, and z directions. A free-fall state may be indicated by the calculated vector(s) of movement and acceleration.

FIGS. 2 and 3are diagrams for explaining a method for detecting a free-fall state for an HDD. A vector of acceleration representing the aggregated values in each of the principal axes of measurement may be used to detect a free-fall state. That is, as conceptually illustrated inFIG. 2, a falling HDD will experience acceleration under the influence of gravity. Detection of this acceleration indicates a a free-fall state for the HDD.

When an acceleration vector is used as a free-fall indicator, it may be calculated as the sum of acceleration vectors in the three principal axes. This aggregate vector value may then be compared to a threshold value “Th” defined in relation to a sample time period “Tfall”. As further illustrated inFIG. 3, when a free-fall state for an HDD is recognized, a free-fall detection signal “DETECT FREE-FALL” is generated. When the free-fall detection signal “DETECT FREE-FALL” is generated, the HDD performs a retract operation adapted to park or unload the read/write head(s) of the HDD.

However, the conventional FFS50typically suffers from an acceleration vector offset, which is an amount by which a measured acceleration vector differs from a corresponding actual acceleration vector. The acceleration vector offset is commonly referred to as an “0G offset”, and may be though of as an acceleration vector initially influencing FFS50even when this device is at rest. As used herein, the indication “G” denotes the acceleration of gravity (i.e., 9.8 m/sec2). Because the acceleration vector offset is a measurement error related to an actual acceleration measurement, the acceleration vector offset must be compensated for to order to properly detect and indicate a free-fall state using an acceleration vector. The acceleration vector offset may be caused by variations in ambient operating temperature, supply voltage, and manufacturing process.

Each of the three axes of measurement for FFS50may include an acceleration value offset. An acceleration value offset is the difference between a measured acceleration value and a corresponding actual acceleration value. An acceleration vector offset, which is the vector sum of the acceleration value offsets for the three axes, may result in false positives or false negatives when detecting whether the FFS50is free-falling (i.e., in a free-fall state).

FIGS. 4A and 4Bare graphs illustrating false negative and false positive detection of a free-fall state, respectively. False negative detection of free-fall occurs when, as illustrated inFIG. 4A, measured acceleration vectors are offset from corresponding actual acceleration vectors in a positive direction (i.e., each measured acceleration vector is greater than the corresponding actual acceleration vector). False negative detection of free-fall means that, even though the FFS50is in the free-fall state, the FFS50does not detect that the FFS50is in the free-fall state.

False positive detection of free-fall occurs when, as illustrated inFIG. 4B, measured acceleration vectors are offset from corresponding actual acceleration values in a negative direction (i.e., each measured acceleration vector is less than the corresponding actual acceleration vector). False positive detection of free-fall means that the FFS50detects that the FFS50is in the free-fall state even though it is not.

Thus, the acceleration vector offset suffered by the FFS50must be compensated for so that free-fall can be detected accurately so that an HDD will perform retract operations at the appropriate times.

SUMMARY OF THE INVENTION

Embodiments of the invention provide a method for compensating for an acceleration vector offset of an acceleration detector, a recording medium storing a program for executing the method, and an apparatus adapted to perform the method.

One aspect of the invention provides a method for compensating for an acceleration vector offset of an acceleration detector adapted to output measured acceleration values for at least two orthogonal axes. The method comprises determining whether the acceleration detector is in a stable resting state by evaluating measured acceleration vectors obtained during a first time period, wherein the measured acceleration vectors are calculated using the measured acceleration values. The method further comprises, if the acceleration detector is determined to be in a stable resting state, then determining whether any one of the at least two orthogonal axes is a main axis using the measured acceleration values; and, if the acceleration detector is determined to be in a stable resting state and one of the at least two orthogonal axes is determined to be a main axis, performing an acceleration vector compensation operation to compensate for the acceleration vector offset of the acceleration detector.

Another aspect of the invention provides a computer-readable recording medium storing a program for executing a method for compensating for an acceleration vector offset of an acceleration detector adapted to output measured acceleration values for at least two orthogonal axes. The method comprises determining whether the acceleration detector is in a stable resting state by evaluating measured acceleration vectors obtained during a first time period, wherein the measured acceleration vectors are calculated using the measured acceleration values. The method further comprises, if the acceleration detector is determined to be in a stable resting state, then determining whether any one of the at least two orthogonal axes is a main axis using the measured acceleration values; and, if the acceleration detector is determined to be in a stable resting state and one of the at least two orthogonal axes is determined to be a main axis, performing an acceleration vector compensation operation to compensate for the acceleration vector offset of the acceleration detector.

Still another aspect of the invention provides an apparatus adapted to compensate for an acceleration vector offset of an acceleration detector. The apparatus comprises the acceleration detector, wherein the acceleration detector is adapted to output measured acceleration values for at least two orthogonal axes; and, a controller adapted to compensate for the acceleration vector offset of the acceleration detector. The controller is adapted to determine whether the acceleration detector is in a stable resting state by evaluating measured acceleration vectors obtained during a first time period, wherein the measured acceleration vectors are calculated using the measured acceleration values; determine whether any one of the at least two orthogonal axes is a main axis using the measured acceleration values, if the acceleration detector is determined to be in a stable resting state; and, perform an acceleration vector compensation operation to compensate for the acceleration vector offset of the acceleration detector, if the acceleration detector is determined to be in a stable resting state and one of the at least two orthogonal axes is determined to be a main axis.

DESCRIPTION OF EMBODIMENTS

If an acceleration vector a has no offset, then the acceleration vector a may be obtained using Equation 1.
a=√{square root over (ax2+ay2+az2)}  (1)

As used herein, x-, y-, and z-axes are defined in relation to a free-fall sensor (FFS), and ax, ay, and azare measured acceleration values for the x-, y-, and z-axes, respectively, measured by the FFS when there is no acceleration vector offset in the FFS.

In reality, however, measured acceleration values output by an FFS differ from the corresponding ideal measurement values due to offsets (i.e., acceleration value offsets) in the FFS. In addition, each axis may have a different acceleration value offset.

When taking the offsets into account, measured acceleration values axm, aym, and azmfor the x-, y-, and z-axes, respectively, are obtained using the set of Equations 2.
axm=ax+Δax
aym=ay+Δay
azm=az+Δaz(2)

As used herein, Δax, Δay, and Δazare acceleration value offsets for the x-, y-, and z-axes, respectively.

When measured acceleration values have acceleration value offsets, a measured acceleration vector amis obtained using Equation 3.
am=√{square root over ((ax+Δax)2+(ay+Δay)2+(az+Δaz)2)}{square root over ((ax+Δax)2+(ay+Δay)2+(az+Δaz)2)}{square root over ((ax+Δax)2+(ay+Δay)2+(az+Δaz)2)}=a+Δa(3)

As used herein, Δa is an acceleration vector offset. In addition, as used herein, when a value or vector is said to “have” or “comprise” an offset, it means that the value or vector differs from the corresponding actual value or vector by the amount of the offset. Also, as used herein, when a measured acceleration vector amis said to be “obtained” it means that measured acceleration values are obtained from an acceleration detector and the measured acceleration vector amis calculated from the measured acceleration values.

Although the acceleration value offsets Δax, Δay, and Δazof Equation 3 cannot be measured, the acceleration vector offset Δa can be estimated when certain conditions are satisfied.

As used herein, when an acceleration detector is said to be in a “stable resting state” it means that the acceleration detector is not accelerating in any direction. In addition, an FSS is an acceleration detector. Additionally, as used herein, agis the acceleration vector for the FFS when the FFS is not accelerating in any direction. So, assuming that the FFS is in a stable resting state, the acceleration vector offset Δa can be obtained using Equation 4.
Δa=am−ag(4)

The acceleration vector agcan be obtained from a specification for the FSS provided by the manufacturer of the FFS. Thus, the acceleration vector offset Δa can be calculated by subtracting the acceleration vector ag(provided by the manufacturer) from the measured acceleration vector am, wherein the measured acceleration vector amcomprises an acceleration vector offset Δa in a stable resting state, and wherein the acceleration vector offset comprises a plurality of components.

However, even when the FFS is in a stable resting state, components of the acceleration vector offset Δa cannot be calculated using only Equation 4 because the respective acceleration value offsets Δax, Δay, and Δazof the x-, y-, and z-axes, respectively, may be different from one another, as described above.

For example, even when the FFS is in a stable resting state, the measured acceleration values of x-, y-, and z-axes may vary in accordance with an initial state for the HDD.

However, the acceleration vector offset Δa can be estimated when the following conditions are met: (1) the HDD is in a stable resting state for at least a predetermined amount of time; and (2) the absolute value of the measured acceleration value for a main axis selected from among the x-axis, the y-axis, and the z-axis is much greater than the respective measured acceleration values for the remaining axes. As used herein, a “main axis” is an axis oriented substantially towards the center of the Earth, and one of the axes of the FFS is a main axis if that axis is oriented substantially towards the center of the Earth.

It is possible to fully satisfy condition (1) because the HDD is not always in motion, and it is also possible to fully satisfy condition (2) because the HDD can be laid on a plane substantially parallel to the ground for at least a predetermined amount of time.

The measured acceleration vector value offset Δa can be obtained using Equation 5.
Δa=f(Δax,Δay, Δaz)  (5)

The acceleration vector offset Δa is non-linear with respect to the acceleration value offsets Δax, Δay, and Δazfor the x-, y-, and z-axes, respectively. However, if any one of the acceleration value offsets Δax, Δay, and Δazis much greater than the others, the acceleration vector offset Δa of Equation 5 can be approximated using Equation 6.
Δa≅f(Δai)  (6)

As used herein, Δaidenotes the acceleration value offset of the main axis i, which is either the x-, y-, or z-axis. As used herein, i stands for one of x, y, and z.

If the HDD is laid flat on a plane substantially parallel to the ground, the main axis (which is usually the z-axis) is oriented to the center of the Earth, and the other axes are parallel to the surface of the Earth. When the HDD is oriented in this way, the measured acceleration value for the main axis actually determines the measured acceleration vector am.

FIG. 5is a diagram illustrating variation in an acceleration vector offset Δa in accordance with variation in an acceleration value offset Δax. InFIG. 5, the vertical axis represents the magnitude of the acceleration vector offset Δa and the horizontal axis represents the acceleration value offset Δax. In addition, inFIG. 5, reference numeral502indicates a line illustrating a relationship between the acceleration vector offset Δa and the acceleration value offset Δaxwhen the x-axis is the main axis, and reference numeral504indicates a curve illustrating a relationship between the acceleration vector offset Δa and the acceleration value offset Δaxwhen the x-axis is not the main axis.

Referring toFIG. 5, while the acceleration vector offset Δa varies linearly with respect to the acceleration value offset Δaxwhen the x-axis is the main axis, the acceleration vector offset Δa varies only slightly with respect to acceleration value offsets of axes that are not the main axis (i.e., with respect to the acceleration value offset Δaxwhen the x-axis is not the main axis).

Thus, the acceleration vector offset Δa can be sufficiently compensated for (i.e., a sufficient compensation effect can be obtained) by compensating for only the acceleration value offset of the main axis.

FIG. 6is a flowchart illustrating a method for compensating for an acceleration vector offset in an acceleration detector in accordance with an embodiment of the invention. The method for compensating for an acceleration vector offset in an acceleration detector, in accordance with an embodiment of the invention, will now be described with reference toFIG. 6.

At step S602, the measured acceleration values axm, aym, and azmof the x-, y-, and z-axes, respectively, are obtained from the FFS.

At step S604, a temperature compensation operation is performed in order to influence the measured acceleration values axm, aym, and azmof the x-, y-, and z-axes, respectively. The measured acceleration values axm, aym, and azmmeasured by the FFS vary linearly with temperature. Thus, the temperature compensation operation is performed. In addition, the temperature compensation operation is performed in proportion to a difference between a measured temperature and a reference temperature in order to influence the measured acceleration values axm, aym, and azm.

At step S606, whether or not the FFS is in a stable resting state is determined. If the FFS is determined not to be in a stable resting state, offset compensation is not performed, and a free-fall detection process (as illustrated inFIGS. 2 and 3) is performed. If the FFS is determined to be in a stable resting state, then the method proceeds to step S608.

At step S608, whether or not one of the axes of the FFS is a main axis is determined. As described previously, one of the axes of the FFS is a main axis if it is oriented substantially towards the center of the Earth. If, at step S608, none of the axes is determined to be a main axis (i.e., if a main axis is not present), then offset compensation is not performed and a free-fall detection process as illustrated inFIGS. 2 and 3is performed. If, at step S608, one of the axes of the FFS is determined to be a main axis (i.e., if a main axis is present), then the method proceeds to step S610to perform an acceleration vector offset compensation operation.

At step S610, an acceleration vector offset compensation operation, which is a process for compensating for the acceleration vector offset of the FFS, is performed at least once. In accordance with an embodiment of the invention, the acceleration vector offset compensation operation compensates for the acceleration vector offset of the FFS by compensating for the acceleration value offset of the main axis.

Various of the steps described above with reference toFIG. 6will now be described in more detail.

A method for determining whether the FFS is in a stable resting state, in accordance with an embodiment of the invention, will now be described with reference toFIGS. 7A through 7C, which show variation in measured acceleration vectors and data related to the variation in the measured acceleration vectors.

Referring toFIG. 7, to determine whether the FFS is in a stable resting state, for each time interval having a length equal to Δt (inFIG. 7, tΔ—T—s1and tΔ—T—s1each have a length equal to Δt), data related to the measured acceleration vectors amshown inFIG. 7Ais evaluated. In accordance with an embodiment of the invention, for each time interval (i.e., sampling period) having a length equal to Δt, a variance avarianceof the measured acceleration vector amis compared to a variance threshold (i.e., reference value) and a mean ameanof the measured acceleration vector amis compared to a mean range (i.e., mean reference values).

For example, if a measured acceleration vector amis obtained (i.e., measured) every 2 ms, a measured acceleration vector amis obtained 100 times over the course of 2 seconds. For each 2-second period of time during which measured acceleration vectors amare obtained, the variance avarianceand the mean ameanof the measured acceleration vectors amobtained during that 2-second time period are calculated and compared to a threshold value and a range, respectively, and whether or not the FFS is in a stable resting state is determined in accordance with the results of the comparisons.

Still referring toFIG. 7, in accordance with an embodiment of the invention, the FFS is determined to be in a stable resting state if the difference between the mean ameanof the measured acceleration vectors amobtained during a time period Δt and the measured acceleration vector amobtained at the final edge T_s (i.e., at the end) of the time period Δt is within a mean range Th_min_mean to Th_max_mean and the variance avarianceof the measured acceleration vectors amobtained during the time period Δt is below a variance threshold Th_variance.

If the variance avarianceof the measured acceleration vectors amobtained during a time period Δt is greater than the variance threshold Th_variance, or if the difference between the mean ameanof the measured acceleration vectors amobtained during a time period Δt and the measured acceleration vector amobtained at an edge T_s (i.e., at the end) of the time period Δt is greater than the threshold Th_max_mean or smaller than threshold Th_min_mean (i.e., is within a mean range Th_max_mean to Th_min_mean), the FFS is determined to not be in a stable resting state. That is, the acceleration vector offset compensation operation is not performed.

As an example, referring toFIG. 7, the FFS is determined to be in a stable resting state if, referring to a first time period tΔ—T—s1, the difference between the mean amean—t—s1of the measured acceleration vectors amobtained during a first time period tΔ—T—s1and the measured acceleration vector a—t—s1obtained at the final edge T_s1 of first time period tΔ—T—s1is within a mean range Th_min_mean to Th_max_mean, and the variance avarianceof the measured acceleration vectors amobtained during the first time period tΔ—T—s1is below a variance threshold Th_variance.

In accordance with an embodiment of the invention, the time period Δt may be set to have a length of at most 2 seconds. When an HDD free-falls for 2 seconds the HDD falls 25 m, so variations in the measured acceleration vector amdo not need to be evaluated for a period of time longer than 2 seconds. Thus, if there is relatively low variation in the measured acceleration vectors amobtained during a time period of up to 2 seconds, it can be determined that the FFS is in a stable resting state.

FIGS. 8A and 8Bare diagrams illustrating variance in measured acceleration vectors am.FIG. 8Aillustrates a scenario in which the variance avarianceof measured acceleration vectors amis relatively great andFIG. 8Billustrates a scenario in which the variance avarianceof measured acceleration vectors amis relatively small. When the variance avarianceof the measured acceleration vector amis relatively great, measured acceleration vectors ammeasured every 2 ms vary significantly (i.e., the acceleration detector is experiencing a relatively large amount of motion), while the mean ameanof the measured acceleration vector ammeasured for 2 seconds may be constant. Thus, even if the mean ameanof the measured acceleration vector amis constant, if the variance avarianceof the measured acceleration vector amis relatively great, the corresponding FFS cannot be determined to be in a stable resting state.

Since variations of measured acceleration vectors ammay be significantly high due to noise, a moving average value may be used. In accordance with one embodiment of the invention, a moving average of four samples may be used.

Since measured acceleration vectors ammay vary gradually and slowly, a measured acceleration vector amis sampled at the edge (i.e., end) of each sampling period.

Referring again toFIG. 6, as described above, if the FFS is determined to be in a stable resting state, and thus a first condition for performing an acceleration vector compensation operation is satisfied, then whether or not one of the axes of the FFS is a main axis is determined at step S608.

To determine which axis (if any) is the main axis, the set of Equations 7 is used.

If any one of the equations of the set of Equations 7 is satisfied, the acceleration vector offset compensation operation is performed using the i-axis corresponding to the measured acceleration value aimon the left-hand-side of the satisfied equation as the main axis. Measured acceleration value aimis a measured acceleration value for the i-axis, which, as described previously, is one of the x-, y-, and z-axes.

When aiis the measured acceleration value for the main axis when the measured acceleration value for the main axis comprises no acceleration value offset (i.e., measured acceleration value aiis the actual acceleration value for the main axis) and aimis the measured acceleration value for the main axis when the measured acceleration value for the main axis comprises an acceleration value offset Δai(i.e., aim=ai+Δai), an acceleration compensation value Δaiadjfor the main axis is obtained using Equation 8.
ai=aim+Δaiadj=ai+Δai+Δaadi
Δaiadj=−Δai(8)

When the FFS is in a stable resting state and a main axis exists, the acceleration value offset Δaifor the main axis can be approximated as the acceleration vector offset Δa. Thus, the main axis acceleration compensation value Δaiadjis obtained using Equation 9.
Δaiadj=−(Δa)  (9)

In reality, the operation for compensating for the acceleration value offset for the main axis Δaiis performed in relation to the sign of the acceleration vector offset Δa and the sign of the acceleration value offset for the main axis Δai. In addition, the operation for compensating for the acceleration value offset for the main axis Δaiis performed iteratively, and the main axis acceleration compensation value Δaiadjfor each iterative step may be obtained using Equation 10.

As used herein, Δaiadjcurdenotes a compensation value to be applied in the current step and Δaiadjpredenotes a compensation value that was applied in the previous step. The value (−1) at the end of Equation 10 ensures that the current compensation value Δaiadjcurhas an opposite sign compared to the previous compensation value Δaiadjpre(i.e., the current compensation step is performed in the opposite direction compared to the previous compensation step). In the initial compensation step, Δaiadjpreis 0.

Referring again toFIG. 6, in step S610, the compensation operation performed using the compensation value obtained using Equation 10 is repeated until the main axis acceleration compensation value Δaiadjis smaller than a predetermined value.

FIG. 9Ashows acceleration vector data when an acceleration vector offset compensation operation is not performed, andFIG. 9Bshows the result of a method for performing an acceleration vector offset compensation operation in accordance with an embodiment of the invention. InFIGS. 9A and 9B, line902denotes acceleration vector ag, which comprises no acceleration vector offset Δa, and curves904and906each denote a measured acceleration vector am.

Referring toFIG. 9B, the acceleration vector offset compensation operation is performed in steps of half of the initial acceleration vector offset over a period of 2 seconds.

FIGS. 10A and 10Bshow the result obtained by performing an acceleration vector offset compensation operation by compensating for an acceleration value offset of a z-axis of an acceleration detector in accordance with an embodiment of the invention, wherein the z-axis is oriented substantially towards the center of the Earth.

InFIGS. 10A and 10B, a line1002represents an acceleration vector comprising no acceleration vector offset. InFIG. 10A, a curve1004represents a measured acceleration vector comprising an acceleration vector offset after an acceleration vector offset operation has been performed to compensate for that acceleration vector offset. InFIG. 10B, a curve1006represents a measured acceleration vector comprising an acceleration vector offset, wherein an acceleration vector offset compensation operation is not performed to compensate for that acceleration vector offset.

Referring toFIGS. 10A and 10B, as shown by the curves1004and1006, the acceleration vector offset is significantly reduced (i.e., improved) by the acceleration vector offset compensation operation compared to when the operation is not performed.

FIG. 11is a table illustrating results obtained by performing a free-fall detection false positive test. The test is performed 50 times on an HDD free-falling downwardly along a z-axis (indicated as Z-DOWN inFIG. 11), wherein the HDD uses the method for compensating for an acceleration vector offset in accordance with an embodiment of the invention, and 50 times on an HDD free-falling downwardly along a z-axis, wherein the HDD does not use the method. The test is also performed 50 times on an HDD free-falling while rotating randomly (indicated as RANDOM inFIG. 11), wherein the HDD uses the method for compensating for acceleration vector offset in accordance with an embodiment of the invention, and 50 times on an HDD free-falling while rotating randomly, wherein the HDD does not use the method.

Referring toFIG. 11, the number of false detections is significantly reduced by performing the offset compensation, with an improvement of about 50% for the random motion and about 80% for the z-down motion.

FIG. 12is a schematic plan view of an HDD100adapted to perform an acceleration vector offset compensation method in accordance with an embodiment of the invention.

Referring toFIG. 12, the HDD100comprises at least one disk112and a spindle motor114adapted to rotate the at least one disk112. The HDD100also comprises at least one head116disposed above the surface of the disk112.

The head116is adapted to read information from the rotating disk112by sensing a magnetic field on the surface of the disk112, and is adapted to write information to the rotating disk112by magnetizing the surface of the disk112. Though a single head116is shown inFIG. 12, the head116comprises a write head adapted to magnetize the disk112and a separate read head adapted to sense a magnetic field on the disk112.

The head116can be mounted on a slider (not shown). The slider generates an air bearing between the head116and the surface of the disk112. The slider is combined with a suspension120. The suspension120is attached to a head stack assembly (HSA)122. The HSA122is attached to an actuator arm124comprising a voice coil126. The voice coil126is disposed adjacent to a magnetic assembly128adapted to support a voice coil motor (VCM)130. A current provided to the voice coil126generates torque which rotates the actuator arm124around a bearing assembly360. The rotation of the actuator arm124moves the head116across the surface of the disk112.

Information is stored in concentric tracks of the disk112. In general, the disk112comprises a data zone in which user data is recorded, a parking zone in which the head116is disposed when the HDD100is not being used, and a maintenance cylinder.

FIG. 13is a block diagram of a control apparatus200adapted to control the HDD100illustrated inFIG. 12, in accordance with an embodiment of the invention.

Referring toFIG. 13, the control apparatus200comprises a controller202connected to the head116through a read/write (RAN) channel circuit204and a read pre-amplifier & write drive circuit206. The controller202is a digital signal processor (DSP), a microprocessor, or a micro-controller.

The controller202provides a control signal to the R/W channel circuit204in order to read data from or write data to the disk112.

Information is typically transmitted from the R/W channel circuit204to a host interface circuit210. The host interface circuit210comprises a control circuit (not shown) adapted to interface with a host computer (not shown) such a personal computer (PC).

In a read mode, the R/W channel circuit204is adapted to convert an analog signal read by the head116and amplified by the read pre-amplifier & write drive circuit206to a digital signal that a host computer can read, and output the digital signal to the host interface circuit210. In a write mode, the R/W channel circuit204is adapted to receive user data from the host computer via the host interface circuit210, convert the user data to a write current that can be recorded onto a disk, and output the write current to the read pre-amplifier & write drive circuit206.

The controller202is also connected to a VCM driver208adapted to provide a driving current to the voice coil126. The controller202is adapted to provide a control signal to the VCM driver208to control the VCM130and the motion of the head116.

The controller202is also connected to a nonvolatile memory, such as a read only memory (ROM)214or a flash memory, and a random access memory (RAM)216. The memories214and216store software routines and data, which are used by the controller202to control the HDD100. One of the stored software routines is a software routine for performing the acceleration vector offset compensation operation illustrated inFIG. 6.

The controller202periodically performs the software routine for performing the acceleration vector offset compensation operation (i.e., for compensating for acceleration value offset in acceleration values measured by an FFS212).

After the HDD100is initialized, the controller202performs the software routine for performing the acceleration vector offset compensation operation illustrated inFIG. 6over a period of 2 seconds. The software routine compensates for an acceleration value offset in measured acceleration values measured by the FFS212.

In the acceleration vector offset compensation operation, the controller202performs temperature compensation by determining measurement values of the FFS212at predetermined intervals. The controller202adjusts the temperature of the HDD in proportion to the difference between a reference temperature and the current temperature of the HDD obtained in accordance with a temperature detected by a temperature detector218.

In addition, the controller202determines whether the FFS212is in a stable resting state and whether a main axis exists in compensating for acceleration value offset in measured acceleration values measured by the FFS212.

In more detail, if the FFS212is determined to be in a stable resting state and it is determined that a main axis exists, the controller202obtains a compensation value for the main axis using an acceleration vector offset of an acceleration vector, the sign of the acceleration vector offset, a measured acceleration value for the main axis, and the sign of the measured acceleration value. The controller202then compensates for the acceleration value offset of the main axis and thereafter detects a free-fall state using measured acceleration vectors obtained using measured acceleration values obtained after the controller202has compensated for the acceleration value offset of the main axis.

Embodiments of the invention may take the form of a method, an apparatus, and/or a system. When an embodiment of the invention is implemented as software, components of the embodiment are implemented as code segments for executing required operations. A program or the code segments can be stored in a processor readable recording medium. The processor readable recording medium is any data storage device that can store data which can be read thereafter by a computer system. Examples of the processor readable recording medium include electronic circuits, semiconductor memory devices, read-only memory (ROM), flash memory, erasable ROM, floppy disks, optical discs, hard disks.

As described above, since an acceleration vector offset compensation method in accordance with an embodiment of the invention can reduce false detection of a free-fall state by compensating for acceleration value offset in acceleration values measured by an FFS (i.e., measured acceleration values), the reliability of an HDD can be improved because an HDD using the method can better protect itself from being damaged.

Although embodiments of the invention have been described herein, various changes in form and detail may be made therein by those skilled in the art without departing from the scope of the invention as defined by the accompanying claims.