This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2011-006267, filed Jan. 14, 2011, the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to a hard disk device, a disk, and a method for calculating a displacement amount or a position correction amount of a head.
There has been known a hard disk device that performs head positioning control using data on a displacement amount or a position correction amount of the head. In this type of hard disk device, at the manufacturing stage, servo data is written in servo data areas arranged spaced apart in the circumferential direction on a surface of a disk. A displacement amount is calculated based on a result of reading the servo data by the head. At this time, to increase the accuracy of positioning control, the disk is rotated several revolutions, and servo data is measured several times with respect to each servo data area. Then, the average of displacement amounts or correction amounts based on a result of the several measurements or the like is calculated as a displacement amount or a correction amount corresponding to the servo data area. The calculated displacement amount or correction amount is stored in a hard disk. In positioning control of the head at the time of using the hard disk device, the stored displacement amount or correction amount is used.
In the conventional hard disk device, it takes time to calculate a displacement amount or a correction amount because the disk is rotated several revolutions as described above.
A general architecture that implements the various features of the invention will now be described with reference to the drawings. The drawings and the associated descriptions are provided to illustrate embodiments of the invention and not to limit the scope of the invention.
In general, according to one embodiment, a hard disk device comprises includes a disk, a head, and a calculator. The disk comprises a plurality of first areas arranged spaced apart in the circumferential direction on a surface of the disk and data-rewritable second areas each located between an adjacent pair of the first areas in the circumferential direction. First servo data is written in the first areas, while second servo data is written in the second areas. The head is configured to read the first servo data and the second servo data written to the surface of the disk. The calculator is configured to calculate a displacement amount or a position correction amount of the head based on a result of reading the first servo data and the second servo data by the head.
In exemplary embodiments described below, like elements are designated by like reference numerals, and their description is not repeated.
As illustrated in
The disk 21 is a recording medium that magnetically records data thereon. The head 22 writes (records) data on the disk 21 and reads data written (recorded) on the disk 21. The SPM 23 drives the disk 21 to rotate. The VCM 24 has a magnet (not illustrated), a drive coil (not illustrated), and the like, and drives the head 22. The servo controller 25 controls the SPM 23 and the VCM 24. The head IC 26 amplifies a signal of data to be written to the disk 21 by the head 22 and a signal of data read from the disk 21 by the head 22. The read channel 27 is, for example, a circuit including a filter, an automatic gain controller (AGC), an analog-to-digital converter (ADC), a Viterbi decoder, and the like. The encryption circuit 28 encrypts data to be written to the disk 21 using a predetermined encryption key by a predetermined encryption scheme, such as advanced encryption standard (AES). The encryption circuit 28 decrypts data read from the disk 21 using a predetermined encryption key. The encryption-circuit controller 29 controls operation of the encryption circuit 28.
The buffer memory 31 temporarily stores data to be written to the disk 21, data read from the disk 21, and the like. The host I/F controller 33 controls transmission and reception of data and a command between an electronic device 1 and the hard disk device 20 via a host IF 32.
The flash memory 34 is a nonvolatile memory that stores a program to be executed by the MPU 35, various types of setting information relating to operation of the hard disk device 20, and the like.
The MPU 35 loads a program stored in the flash memory 34 or the like and executes the program, thereby operating as functional modules, which will be described later (for example, a head-position measuring module 35a, a first calculator 35b, a data corrector 35c, a data writer 35d, a Fourier transform module 35e, a data changing module 35f, an inverse Fourier transform module 35g, and the like, see
As illustrated in
In the first embodiment, as illustrated in an enlarged portion on the right side of
A description will be given of how to calculate a displacement amount or a correction amount in the hard disk device 20 of the first embodiment with reference to
Upon receipt of a command from the electronic device 1 as a host or an inspection device (not illustrated), etc., the MPU 35 controls the servo controller 25 to drive the disk 21 to rotate. In this state, the MPU 35 operates as the head-position measuring module 35a and measures the position of the head 22 in each of the servo data areas 210a and 220a based on a result of reading servo data written in each of the servo data areas 210a and 220a (S10). At S10, by a commonly known technique, a displacement amount of the head 22 in each of the servo data areas 210a and 220a is calculated from a result of reading the servo data. The process at S10 is performed a predetermined number of times corresponding to the number of measurement revolutions (S11), and a displacement amount of the head 22 in each revolution is stored in a predetermined storage module (for example, the flash memory 34 or a register (not illustrated), etc.).
Next, the MPU 35 operates as the first calculator 35b and calculates displacement amounts respectively corresponding to the servo data areas 210a included in the first data area 210 (S12). In the first embodiment, at S12, the first calculator 35b calculates a displacement amount in each servo data area 210a based on the displacement amount of the head 22 in the servo data area 210a and the displacement amounts of the head 22 in servo data areas 220a stored in the predetermined storage module at S10. Namely, in the first embodiment, a displacement amount in the servo data area 210a is calculated based on a result of reading the servo data written in the servo data area 210a and results of reading the servo data written in servo data areas 220a adjacent to the servo data area 210a in the circumferential direction.
Specifically, at S12, based on a measurement result with respect to one revolution, the first calculator 35b first calculates a displacement amount δ(0) in the servo data area 210a, for example, as the average of a displacement amount δ(0) in the servo data area 210a and displacement amounts (δ(−n) to δ(−1), δ(1) to δ(n)) in the servo data areas 220a adjacent to the servo data area 210a on the same track 230 as the servo data area 210a. Namely, the first calculator 35b calculates a displacement amount δ(0) in the servo data area 210a as an average value (an arithmetic average value, an arithmetic mean value) of displacement amounts δ(i) (−n≦i≦n, 1≦n≦N: an integer) corresponding to a plurality of servo data. Here, i is a parameter indicating the position of each tier of the servo data areas 210a and 220a in the circumferential direction along the tracks 230. In the first embodiment, as an example, i is zero at the position of the servo data area 210a, and i increases in the clockwise direction and decreases in the counterclockwise direction. Therefore, if i is a positive number, it means that the servo data area 220a is located in the clockwise direction with respect to the servo data area 210a. On the other hand, if i is a negative number, it means that the servo data area 220a is located in the counterclockwise direction with respect to the servo data area 210a. Accordingly, a value of i of one servo data area 220a varies depending on a reference servo data area 210a. For example, i of one servo data area 220a is a negative number (a minus value) from the standpoint of the servo data area 210a located in the clockwise direction with respect to the servo data area 220a and is a positive number (a plus value) from the standpoint of the servo data area 210a located in the counterclockwise direction with respect to the servo data area 220a. Besides, N is the number of the servo data areas 220a provided in the second data area 220. Moreover, n can be represented as n=N/2 if N is an even number and n=(N+1)/2 or n=(N−1)/2 if N is an odd number.
Further, at S12, the first calculator 35b calculates a displacement amount δ(0) as an average value (an arithmetic average value, an arithmetic mean value) of the calculated displacement amounts δ(0) with respect to each revolution.
In this manner, in the first embodiment, a displacement amount δ(0) in the servo data area 210a (the first data area 210) is calculated based on a displacement amount δ(0) in the servo data area 210a and displacement amounts δ(i) in the servo data areas 220a (the second data areas 220) adjacent to the servo data area 210a in the circumferential direction. Therefore, compared to the case where the displacement amount δ(0) in the servo data area 210a is directly used, it is easier to increase the accuracy of the displacement amount δ(0) (or a correction amount) in the servo data area 210a and eventually the accuracy of positioning control. Furthermore, the displacement amount δ(0) or the correction amount is calculated using the servo data written in the servo data areas 220a (the second data areas 220). Therefore, compared to the case where the displacement amount δ(0) or correction amount is calculated using only the servo data written in the servo data area 210a (the first data area 210), a more highly accurate result can be obtained by increasing the number of samples even if the number of revolutions is small. Namely, according to the first embodiment, it is possible to reduce a time taken to calculate a displacement amount or a correction amount.
Moreover, in the first embodiment, a displacement amount δ(0) in the servo data area 210a is calculated using displacement amounts δ(i) in the adjacent servo data areas 220a on both sides of the servo data area 210a in the circumferential direction. Therefore, compared to the case where a displacement amount δ(0) in the servo data area 210a is calculated using only a displacement amount δ(i) in the adjacent servo data area 220a on one side of the servo data area 210a in the circumferential direction, it is easier to increase the accuracy of the displacement amount δ(0) (or a correction amount) in the servo data area 210a and eventually the accuracy of positioning control.
After the process at S12, the MPU 35 operates as the data corrector 35c and corrects the displacement amount δ(0) in the servo data area 210a. Namely, the MPU 35 first operates as the Fourier transform module 35e and performs Fourier transform (discrete Fourier transform) on a data string that the respective displacement amounts δ(0) in the servo data areas 210a (the first data areas 210) calculated at S12 are arranged in the circumferential direction with respect to each track 230 (S13). By the process at S13, a frequency component of the data string of the displacement amounts δ(0) in the servo data areas 210a on each track 230 is obtained.
Next, the MPU 35 operates as the data changing module 35f and adjusts the size of the frequency component of the data string of the displacement amounts δ(0) in the servo data areas 210a on each track 230 obtained at S13 (S14). This allows the data changing module 35f to reduce a value of a specific frequency component prone to be superimposed as an error caused by, for example, a natural frequency or vibration of the disk 21, the head, the arm, or other mechanisms and the like. At S14, for example, a specific frequency component and a reduction amount (a cut amount) with respect to the specific frequency component are arbitrarily set according to specifications of the hard disk device 20 or the disk 21 and are stored in a nonvolatile storage module such as the flash memory 34. Without specifying a frequency in advance, a value of a frequency component of which the frequency achieves a particularly-high peak as compared to other frequency components can be reduced.
Next, the MPU 35 operates as the inverse Fourier transform module 35g and performs inverse Fourier transform (inverse discrete Fourier transform) on the frequency component of the data string of the displacement amounts δ(0) in the servo data areas 210a on each track 230 corrected at S14 (S15). By the process at S15, the data string of the displacement amounts δ(0) in the servo data areas 210a on each track 230 with suppressed effect of the specific frequency component is obtained. By the processes at S13 to S15, the accuracy of a displacement amount δ(0) in each servo data area 210a (first data area 210) can be increased. p Next, the MPU 35 operates as the data writer 35d and writes the displacement amount δ(0) in each servo data area 210a in the corresponding servo data area 210a (first data area 210) using the head 22 (S16). Specifically, the displacement amount δ(0) is written, for example, after the burst data in the servo data area 210a as post data. After that, at the time of use of the hard disk device 20, positioning control is performed based on the displacement amount δ(0) (or correction amount) in the servo data area 210a which is determined by the flow of
At S12 described above, in the calculation of the displacement amount δ(0) (or correction amount) in the servo data area 210a, the displacement amount δ(0) calculated from a result of reading the servo data written in the servo data area 210a (the first data area 210) and the displacement amounts (δ(−n) to δ(−1), δ(1) to δ(n)) calculated from results of reading the servo data written in the servo data areas 220a (the second data areas 220) are the same in weighting coefficient (contributing rate) applied to the calculated displacement amount δ(0) or correction amount. The weighting coefficient may be changed depending on a distance from the servo data area 210a (the first data area 210) in the circumferential direction such that the weighting coefficient is reduced as the distance increases and is increased as the distance decreases. Specifically, the displacement amount δ(0) in the servo data area 210a can be calculated by the following Equation (1):
As an example, when the number N of the servo data in the second data area 220 on each track 230 is eight (i.e., N=8) and n=4, the above equation (1) is expressed as the following Equation (2):
It is presumable that a position gap between the servo data in the servo data area 210a and the servo data in the servo data area 220a in a radial direction becomes larger as the servo data area 210a and the servo data area 220a separate from each other in the circumferential direction. Accordingly, using the above Equation (1) in which the weighting coefficient (contributing rate) is reduced as the servo data area 210a and the servo data area 220a separate from each other in the circumferential direction, a displacement amount δ(0) in the servo data area 210a is calculated as a weighted average of a plurality of displacement amounts δ(i) (i=−n to n). This makes it easier to increase the accuracy of the displacement amount δ(0) in the servo data area 210a compared to the case where a displacement amount δ(0) in the servo data area 210a is calculated simply as an arithmetic average (arithmetic mean) of a plurality of displacement amounts δ(i) without weighting the displacement amounts δ(i) (without taking the contributing rate into account). Incidentally, the weighting coefficient of the weighted average in the above Equations (1) and (2) is just an example, and the weighting coefficient can be set variously.
According to the first embodiment, the second data areas 220 are rewritable data recording areas, and the servo data initially written in the second data areas 220 is rewritten or deleted. Namely, as illustrated in
As is obvious from
A description will be given of how to calculate a displacement amount or a correction amount in the hard disk device 20 of the second embodiment with reference to
The process at S20 is the same as described for S10 in the first embodiment, and the process at S21 is the same as described for S11 in the first embodiment.
After the process at S21, the MPU 35 operates as the second calculator 35h and calculates displacement amounts in the servo data areas 210a and 220a from results of reading the servo data written in the servo data areas 210a and 220a (S22). At S22, a displacement amount δ(i) in each of the servo data areas 210a and 220a is calculated as an average value (an arithmetic average value, an arithmetic mean value) of displacement amounts δ(i) with respect to a plurality of revolutions. Incidentally, at this stage, displacement amounts δ(i) in servo data areas 220a (second data areas 220) (for example, δ(−n) to δ(−1), δ(1) to δ(n)) are not reflected in a displacement amount δ(0) in the servo data area 210a (the first data area 210).
After the process at S22, the MPU 35 operates as the data corrector 35c and corrects data of the displacement amount δ(i) (i=1 to N) with respect to each of the servo data areas 210a and 220a (S23 (S30 to S35)).
At S23, the process at S31 to S33 in
In the second embodiment, with respect to the data string of the displacement amounts δ(0) in the servo data areas 210a (the first data areas 210) (Yes at S30), the MPU 35 does not perform the processes at S31 to S33, i.e., does not correct the data. If the parameter i is zero (i=0), it means No at S34, and the flow goes to S35. At S35, the parameter i is incremented by one, and then the flow returns to S30.
With respect to the data string of the displacement amounts δ(i) (i=1 to N) in the servo data areas 220a (No at S30), the MPU 35 performs the processes at S31 to S33, i.e., corrects the data. At S31 to S33, the MPU 35 operates as the data corrector 35c in the same manner as in the above first embodiment. However, in the second embodiment, the MPU 35 operating as the Fourier transform module 35e performs Fourier transform (discrete Fourier transform) on the above-mentioned data string of the displacement amounts δ(i) (S31). By the process at S31, a frequency component of the data string of the displacement amounts δ(i) in the servo data areas 220a on each track 230 is obtained.
Next, the MPU 35 operates as the data changing module 35f and adjusts the size of the frequency component of the data string of the displacement amounts δ(i) in the servo data areas 220a on each track 230 calculated at S31 (S32). At S32, as an example, a frequency component of a frequency equal to or higher than a predetermined value (i.e., a high-order component) is eliminated, i.e., is set to zero. Incidentally, at S32, the data may be changed in the same manner as at S14 as described in the first embodiment such as to reduce a value of a specific frequency component.
Next, the MPU 35 operates as the inverse Fourier transform module 35g and performs inverse Fourier transform (inverse discrete Fourier transform) on the frequency component of the data string of the displacement amounts δ(i) in the servo data areas 220a on each track 230 corrected at S32 (S33). By the process at S33, the data string of the displacement amounts δ(i) in the servo data areas 220a on each track 230 with suppressed effect of the high-order component is obtained.
At S35, the parameter i is sequentially incremented by one, and if the process on all the data strings in the servo data areas 220a is completed (i.e., i=N, Yes at S34), the flow goes to S24 in
As described above, according to the second embodiment, a result of reading servo data in the servo data area 210a (the first data area 210) is directly used. Meanwhile, from a result of reading servo data in a servo data area 220a (the second data area 220), the adverse effect of a high-order component is suppressed. Thus, it is easier to further increase the positioning accuracy.
The above embodiments are susceptible to susceptible to modifications and alternative forms. For example, the weighting coefficient used in weighted average of a plurality of displacement amounts can be changed variously. The number of servo data in a second data area used in calculation of a displacement amount or a correction amount in a first data area is not limited to that is described in the above embodiments and can be changed variously. Moreover, it can be configured to use servo data in a second data area adjacent to a first data area without using servo data in a second data area away from the first data area. Furthermore, an operation relating to the calculation of a displacement amount or a correction amount can be performed by a controller other than the MPU of the hard disk device or an electronic device other than the hard disk device. Regarding the hard disk device, the disk, the head, the first data areas, the second data areas, the servo data areas, the servo data, and the like, the specifications (structure, shape, size, length, width, thickness, height, number, arrangement, location, color, design, pattern, form, and the like) can be suitably modified.
The various modules of the systems described herein can be implemented as software applications, hardware and/or software modules, or components on one or more computers, such as servers. While the various modules are illustrated separately, they may share some or all of the same underlying logic or code.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2011-006267 | Jan 2011 | JP | national |