Magnetic disk device and method for read/write offset error correction转让专利
申请号 : US14197627
文献号 : US08964325B1
文献日 : 2015-02-24
发明人 : Tomoyoshi Yamada
申请人 : Kabushiki Kaisha Toshiba
摘要 :
权利要求 :
What is claimed is:
说明书 :
This application claims the benefit of U.S. Provisional Application No. 61/915,738, filed Dec. 13, 2013, the entire contents of which are incorporated herein by reference.
Embodiments generally relate to a magnetic disk device, and a method for read/write offset error correction.
In conventional magnetic disk devices, such as hard disk drives (HDDs), a head is positioned on a target track to execute writing and reading by reading servo information magnetically recorded on a disk and demodulating the information. The head comprises a write head element (writer) for recording data on the disk, and a read head element (reader) for reading data from the disk. The writer and the reader are arranged with a nominal space therebetween. Accordingly, when the data written by the writer is read by the reader, the reader is offset in a cross-track direction. The amount of offset is called a read/write (R/W) offset. R/W offsets differ from each other between individual heads. Further, when, for example, a swing actuator is employed in the magnetic disk device, the R/W offset assumes different values when the head is positioned in different radial positions on the magnetic disk. Based on the different R/W offset values, R/W offset correction is performed.
There are some methods for obtaining R/W offset values. Among these methods, there is a method of obtaining R/W offset values, based on measurement values (associated with, for example, data quality) assumed in each radial position. In this method, a R/W offset is measured for each of plural tracks.
However, to correct a track error (track deviation) due to an infralow frequency component, it is necessary to measure the R/W offset with a short pitch in the cross-track direction. Therefore, measurements for the correction of the track deviation due to the infralow frequency component require an enormous processing time.
A magnetic disk device according to an embodiment includes a head and a disk with a recording surface, the head including a reader configured to perform data reading, and a writer configured to write data. A method of correcting a read/write offset, according to the embodiment, is applied to the above magnetic disk device. This method includes reconstructing position data read by the reader, using a spline function, and correcting a read/write offset due to the distance between the writer and the reader, using the reconstructed position data.
Although some embodiments will now be described, the invention is not limited to them.
The embodiments will be described with reference to the accompanying drawings.
(Structure of Magnetic Disk Device)
The magnetic disk device 1 also comprises a servo combo (SVC) 7, a read/write (R/W) channel 8, a hard disk controller (HDC) 9, a microprocessor unit (MPU) 10 and a nonvolatile memory 11, which are mounted on a control board.
Each magnetic disk 2 is secured to the SPM 3 to rotate. Servo information is written on the recording surface of each magnetic disk 2. The actuator 4 including the VCM, on which the heads 5 are mounted, is driven by the SVC 7 and the MPU 10. More specifically, the actuator 4 is powered by the current output from the SVC 7. The actuator 4 causes each head 5 to move radially with respect to the corresponding magnetic disk 2. In accordance with the rotary motion, each head 5 is moved to the position opposing the recording surface of the corresponding magnetic disk 2. The head amplifier 6 is connected to the heads 5 to supply a R/W signal to them.
The R/W channel 8 processes a read signal sent from the head amplifier 6 to read servo information from the signal. Further, the R/W channel 8 processes servo information to write a servo pattern, converts the servo information into a write signal, and sends the write signal to the head amplifier 6. Furthermore, the R/W channel 8 converts the user data transferred from the HDC 9 into a write signal, and sends this write signal to the head amplifier 6. The HDC 9 is an interface for the magnetic disk device 1 and a host. The HDC 9 controls transfer of user data between the magnetic disk device 1 and the host.
The MPU 10 controls the driving mechanism of the actuator 4, based on the servo information sent from the head amplifier 6 to position the head 5 (target head) to a target track. The nonvolatile memory 11 stores control programs, read/write parameters, etc.
Further, the distances between the respective positions are denoted by p=OP, h=PH, r=OH, r1=OH1 and g=HH1. The angle between the line segments OH and PH is denoted by φ. Similarly, the angle between the line segments PH and HH1 is denoted by δ. For facilitating the description, the R/W offset may be referred to as “d.”
In the description below, for facilitating the description, the direction from the inside (ID) to the outside (OD) on the magnetic disk 2 is defined as a positive direction. Accordingly, if r1>r, the R/W offset is positive (d>0). Further, if the head moves in a direction in which r1 is increased, δ is positive (δ>0).
Furthermore, if a perpendicular line is dropped from the point H1 to the line segment PH, a horizontal component ga is expressed as ga=g cos δ, and a vertical component gb is expressed as gb=g sin δ. From the above-described positional relationship, the distance of, for example, the R/W offset can be geometrically determined using, for example, the law of cosines (the cosine formula). At this time, d=r1−r.
(Principle of R/W Offset Measuring Method)
The two methods described below are examples of general R/W offset measuring methods.
In one method, firstly, data is written to an arbitrary track, then offset, and read by a reader. Subsequently, the quality of the demodulated data is estimated by track average amplitude (TAA), bit error rate, or Viterbi metric margin (VMM). After that, the offset that makes the estimated quality of the data highest is measured. This offset is regarded as the R/W offset.
In the other method, offsets are measured from the opposite sides of a track to detect right-hand left-hand offsets that provide preset data quality (BER or VMM). After that, the intermediate point of the right-hand and left-hand offsets is measured. This intermediate offset is set as the R/W offset.
In both of the above methods, since data quality is measured by iterating offset operations, a lot of time is required, which makes it difficult to determine R/W offsets for all tracks. In view of this, the R/W offset is measured per, for example, several hundreds tracks, and R/W offsets obtained by interpolation are used for the tracks other than the offset measured tracks. If the R/W offset is determined from the geometric positional relationship with respect to the radial position, satisfactory results can be obtained by this interpolation method.
However, the linearity of a servo track with respect to the cross-track position is incomplete, and varies in short cycles. The “cycle” means a spatial cycle. The deviation, in a short cycle, of the head on a servo track from the line of a cross-track direction is called a track error(track deviation).
For instance, on the servo track of a bank head during a self servo track write (self STW) of a bank write scheme, such a track deviation may become conspicuous. In the self STW of the bank write scheme, a master head writes data to a servo track with the head fixed in position, and hence the track deviation on a master head surface is small. In contrast, the bank head is not self positioned. The term “bank head(slave heads)” means heads except the master head.
Accordingly, during the self STW of the bank write scheme, a deviation will occur in the servo track on a bank head surface because of a relative displacement of the master head and the bank head, or because of a relative displacement of the master head surface and the bank head surface.
The relative displacements may well be caused by infralow frequency components associated with, for example, elastic deformation or thermal deformation (thermal expansion) of the assembly due to air flow, or with the inclination of the spindle or of the bearing assembly of the actuator pivot. The infralow frequency means a much lower frequency than the frequency of oscillation disturbance that is regarded, in general, as a problem in HDD positioning control. These infralow frequency components are hardly observed in the position error signal (PES), but occur as a data demodulation error due to shortage of offset margin during reading. As a result, the sector where the infralow frequency components are conspicuous is registered as a defective sector, thereby causing device capacity shortage. Even the sector where the infralow frequency components are not conspicuous may cause rash of re-reading due to offset, resulting in a deterioration in the performance of the HDD as a magnetic disk device.
In contrast, variation in pitch between adjacent tracks can be ignored because the infralow frequency components are very smaller than the pitch. Since in this case, write to write track mis-registration (W-W TMR), i.e., track squeeze, little occurs, errors will not occur if reading is performed with offsets appropriately corrected. However, the infralow frequency components little appear in, for example, a repeatable position error (RPE), and hence cannot easily be detected in measurements other than offset measurements. Therefore, to correct such infralow frequency components, it is necessary to execute the above-mentioned time-consuming offset measurements at short intervals in the cross-track direction.
The method, employed in the first embodiment, of measuring correction values for R/W offsets corresponds to a method of measuring R/W offsets due to the above-mentioned infralow frequency components.
Referring now to
x is the defined coordinate (logical coordinate, track coordinate) of the servo pattern.
y is the physical coordinate (absolute coordinate).
d is the physical distance in the cross-track direction between R-W elements (R/W offset).
In the following description, the unit of each of x, y and d is set, for convenience, as a nominal STW track. Accordingly, the track shown as the unit in the figure is a STW track. In the STW track, the distance (forwarding pitch), by which the head 5 is moved in the cross-track direction to write subsequent servo information after writing servo information corresponding to one track for STW, is set as one unit.
As shown in
f(x), u(x) and v(x) are defined as follows:
f(x) indicates the absolute coordinate of the track coordinate=x.
u(x) indicates the demodulation value (track coordinate) assumed if the reader 13 could demodulate a signal of the track written in the past while the writer 12 is writing to the track coordinate x during the servo track write (STW). The term “past” means “the elapsed time corresponding to STW forwarding that corresponds to R/W offset.”
v(x) indicates the track coordinate in which the reader 13 is to be positioned in order to read the data written in the track x. The data written in the track x means the data written by the writer 12 when the reader 13 has been positioned in the track coordinate=x.
As shown in
When the reader 13 reads user data from the user track corresponding to the track x, if the position of the reader 13 is f(x+d), the offset error is expressed by f(x+d)−(f(x)+d). The offset error is the difference between f(x+d) indicating the actual R/W offset, and (f(x)+d) indicating the R/W offset defined by the geometric relationship shown in
If there is no track deviation in the cross-track direction of the servo track, the path of the servo track is expressed by f(x)=x. At this time, since the absolute position is expressed by y=x, the offset error is 0 (zero). In contrast, when there is a track deviation, the reader must be positioned in v(x) that satisfies f(v)=f(x)+d, in order to be positioned in f(x)+d. If the inverse function of y=f(x) can be obtained, and if it is expressed as x=inv_f(y), v(x)=inv_f(f(x)+d) and v(x) are obtained. However, to actually calculate v(x), it is necessary to obtain u(x) as a continuous function, although u(x) can be obtained only at discrete positions during the servo track write (STW). Therefore, it is necessary to obtain continuous u(x) by interpolation.
In
In view of this, assuming that the inverse function of u(x) is x=inv_u(u), the above-mentioned f(u(x)) is expressed by f(u(x))−f(inv_u(u))−d. Since u, v and x all belong to the same dimension in the track coordinate (logical coordinate), u included in f(u(x))=f(inv_u(u))−d is replaced with x. By this replacement, f(x)=f(inv_u(x))−d is obtained. By comparing f(x)=f(inv_u(x))−d with f(v)=f(x)+d, v(x)=inv_u(x) can be derived.
As described above, if u(x) can be measured during STW, v(x) assumed when data is being read can be analytically derived from the analytical expression. However, it is difficult to directly determine inv_u(x). Therefore, as mentioned above, to obtain inv_u(x), u(x) is obtained in some sectors between certain tracks, and demodulation values between the obtained u(x) values are interpolated to obtain a continuous function (a curved line). More specifically, inv_u(x) is obtained from the correspondence relationship between u(x) and x by interpolating demodulation values between discrete u(x) values by an approximate interpolation method utilizing an interpolation approximation function such as a spline function. The approximate interpolation method is least squares (cubic) spline approximation, smoothing spline, etc., as general approximate interpolation methods. Assume that the embodiment employs least squares (cubic) spline approximation.
By obtaining continuous inv_u(x) from discrete u(x) using least squares (cubic) spline approximation, v(x) is obtained from v(x)=inv_u(x). Further, since a correction value for the R/W offset is expressed by v(x)−x, the correction value for the R/W offset is obtained from the equation v(x)=inv_u(x). Further, since in general, spline curves indicate cubic spline curves, least squares cubic spline will be referred to simply as least squares spline.
In
In the servo track shown in
(Method of Obtaining Offset Correction Value During STW)
Referring now to
In the embodiment where u(x) is obtained during STW, it is desirable that the reader 13 should simultaneously read a servo pattern while the writer 12 writes a servo pattern. However, a general HDD head cannot simultaneously perform writing and reading. Even if this could be realized, demodulation of a position signal is difficult since a strong cross talk noise is superposed on a readback signal.
Referring to
As shown in
After writing the servo information, it is determined in step S103 whether writing (W) by all heads is to be performed, or reading (Rk) by a head-k is to be performed. The head-k indicates one of the heads 5, k being a head number. If it is determined that writing by all heads is to be performed, all heads write servo information to the respective data sectors j in step S104. After writing the servo information, processing in step S107, described later, is performed.
If it is determined that reading by the head-k is to be performed, the reader 13 of the head-k reads servo information from the data sector j in step S105. The data sector j indicates the leading portion of the data sector immediately after the servo sector j. In step S106, u(k,i,j) values as demodulation values are obtained based on the servo information read in step S105.
After the operations of steps S103 and S104 or of steps S103 to S106, it is determined in step S107 whether the data sector j is the last one. If it is determined that the data sector j is not the last one, the same processing is performed on the subsequent data sector (j+1). Namely, j is set to j+1 as shown in
After obtaining u(k,i), it is determined in step S109 whether i=i_end. If i=i_end is not satisfied, the head-k is moved to the subsequent STW track i+1, whereby the above-described operations in steps S101 S108 are executed again. In contrast, if i=i_end is satisfied, coefficients for defining an interpolation approximation function associated with v(x) are calculated from a data sequence of u(k,i) in step S110. After calculating the coefficients, it is determined in step S111 whether the current STW track is the last one. If it is determined that the current STW track is not the last one, i_init and i_end are updated. Namely, i=i_int is updated, and the program returns to step S101, thereby iterating the operations of steps S101 to S110. If it is determined that the current STW track is the last one, STW is finished. Although in step S110 of the embodiment, coefficients for the interpolation approximation function are calculated during STW, they may be calculated after completing STW in order to further shorten the processing time of STW.
By the above-described method, u(x) during STW is measured.
Reading and writing (R/W) a servo pattern from and to a data sector will now be described. To write a servo pattern to a data sector and to read the servo pattern from the data sector, it is necessary to control the writing/reading timing of each head 5. For instance, in the bank write scheme, in the write operation in step S104, all heads 5 are controlled to simultaneously write servo patterns to respective data sectors, while in the read operation in step S105, one of the heads 5 is controlled to read a servo pattern, as is described above.
If the nominal R/W offset is di (d=di), one cycle is di×2. The “one cycle” indicates one cycle of the longitudinal R/W pattern of “W,” “Rk,” etc. in
As described above, in the embodiment, u(x) can be obtained discretely during STW. In the track deviation associated with an offset error as an infralow frequency, the u(x) of each track can be determined by averaging if several u(x) values can be obtained while the head is running on each track in a revolution and v(x) can be obtained utilizing an interpolation approximation curve, such as a spline function, for the u(x) values of a plurality of tracks. By thus obtaining values necessary for R/W offset correction during STW, a highly accurate approximation interpolation function can be obtained. In this case, it is not necessary to calculate u(x) for each STW forwarding operation. Further, a magnetic disk device, which employs a method of calculating correction values for R/W offset errors according to the embodiment, can reliably correct R/W offset errors due to track deviations caused by infralow frequency. For instance, since a track deviation due to infralow frequency appears conspicuously during STW of the bank write scheme, R/W offset errors can be reliably corrected in the magnetic disk device 1 of the bank write scheme. Accordingly, deterioration of performance due to offset errors during data reading can be avoided.
Although in the embodiment, data on v(x)−x can be obtained during STW, it can be obtained without increasing the adjustment time in the manufacturing process.
In the embodiment, for example, the aforementioned approximation interpolation function, such as the spline function, is stored in the nonvolatile memory 11 or a magnetic disk, and calculation and processing of the correction values are performed by, for example, the MPU 10. The calculated offset correction values may be added to the information held in the RRO1 and RRO2 shown in
In the above-described first embodiment, the method of obtaining R/W offset correction values, in which d as the R/W offset is always positive or always negative has been described. A description will now be given of a method of obtaining R/W offset correction values, which is employed when d is not always positive or negative.
The STW in the magnetic disk device 1 of the second embodiment is, for example, a self STW of the bank write scheme. Further, in the second embodiment, neither of the writer 12 and the reader 13 is relatively arranged such that the R/W offset is always positive or negative. The other structure than this is substantially the same as that of the magnetic disk device 1 of the first embodiment. Therefore, the other structure will not be described in detail.
In the second embodiment, the R/W pattern of a servo pattern written to a data sector differs from that of the first embodiment. The control of the R/W pattern of the servo pattern written to the data sector will be described.
In the second embodiment, each of a plurality of heads 5 other than a master head is positioned after all STW operations are completed. For instance, if one of the heads 5 is positioned in a track x, the writer 12 of the head positioned in the track x is positioned in f(x)+d. In this position, the writer 12 writes the servo pattern of the track x. In this case, the reader 13 of the head is positioned in f(x). In this position, the reader 13 demodulates the servo pattern of part of the data sectors. The absolute position of the reader 13 at this time is expressed as f(u(x))+d=f(x). f(u(x))+d=f(x) can be changed to f(u(x))=f(x)−d.
As described in the above principle of R/W offset correction, if the inverse function of u(x) is x=inv_u(u), f(u(x)) can be expressed as f(u(x))−f(inv_u(u))−d. Since u, v and x belong to the same dimension, u in f(u(x))−f(inv_u(u))−d is replaced with x. By this replacement, f(x)=f(inv_u(x))−d is established. By comparing f(x)=f(inv_u(x))−d with f(v)=f(x)+d, v(x)=inv_u(x) can be derived.
Thus, if the demodulated value u(x) of the reader is calculated, inv_u(x) can be derived. From v(x)=inv_u(x), an offset correction value v(x)_x can be obtained.
If d is positive, the servo pattern written to a data sector by moving the defined coordinate x of the servo pattern can be demodulated. However, if d is negative, to demodulate the servo pattern, it is necessary to move x in the negative direction to thereby write the servo pattern to the data sector.
Further, if d changes from positive to negative or from negative to positive during the time when the head 5 moves from ID to OD, writing from both sides is necessary. Since at this time, correction of a R/W offset due to a track deviation does not have to be considered near d=0, no measurement is needed in the vicinity of d=0. These control operations are appropriately performed on each of the heads 5.
Referring then to
In the
As described above, in the second embodiment, even when d is not always positive or negative, R/W offset correction values can be obtained.
In the second embodiment, for example, the aforementioned approximation interpolation function, such as the spline function, is stored in the nonvolatile memory 11 or a magnetic disk, and calculation and processing of the correction values are performed by, for example, the MPU 10. The calculated offset correction values may be added to the information held in the RRO1 and RRO2 shown in
The aforementioned embodiments are directed to the methods of obtaining offset correction values by obtaining u(x). A third embodiment is directed to a method of estimating a track deviation.
The magnetic disk device of the third embodiment has substantially the same structure as the magnetic disk device 1 of the second embodiment. Therefore, no detailed description will be given of the structure.
When the fluctuation cycle of the (servo) track deviation is short, e(x)=f(x)−x can be estimated by observing a response from a servo system. e(x) indicates a track deviation. From this, v(x)=inv_f(f(x)+d) used for reading data can be estimated. The servo system is a general one to anyone skilled in the art, and is used to determine an appropriate current for driving the VCM incorporated in the actuator 4.
A method of estimating e(x) will hereinafter be described. For the description, the following definitions are made:
n is the number of servo sectors.
- tar, rpe and dst are vectors each having an element count of n.
tar[j], rpe[j] and dst[j]=0, 1, 2, . . . , n−1) are set as the values of the jth elements of the vectors tar, rpe and dst, respectively.
e_sum[i], count[i] and e[i] are set as values in a track i.
Sensitivity function sf is a complex vector having n/2 elements. In this sensitivity function, since the phase is defined in accordance with a general definition, reversed phase is used for calculation.
Referring first to
The data necessary for track deviation estimation are frequency components that are integral multiples of the fundamental frequency associated with rotation. Accordingly, an operation, such as interpolation, is performed on the frequency component when necessary. Although the sensitivity function is a complex data sequence (vector) with elements half the servo sectors, zero-order and higher-order components may be ignored.
Subsequently, sine-wave data corresponding to a target offset in a servo sector is generated and stored in the vector tar. In step S201, each element is indicated by tar[j]=a×sin(2nj/n). The amplitude a is adjusted to an appropriate value in accordance with the number n of the servo sectors.
After that, in step S202, e_sum and count are initialized to zero, and in step S203, the head is moved to the ith track.
The processing in step S204 will now be described. The following target position in a sector j is set to i+tar[j], whereby following control is performed.
If there is no e(x) of a long cycle, rpe[j] contains only “a sine wave determined from the 1st order component of the sensitivity function with respect to the amplitude a,” which is caused by a 1st order sine wave target path, and a track fluctuation of a short cycle. In contrast, if such e(x) exists, rpe[j] contains a component due to the fact that an actual target position is deviated when the head traverses a track.
The processing in step S205 will be described.
In the subsequent step S206, dst[j] is added to an element e_sum[i+tar[j]] of a track number (i+tar[j]), which is obtained by shifting each track by tar[j] on a sector basis. Since tar[j] in (i+tar[j]) is not always an integer, it is desirable that the fractional part be held in the dst vector of a track i−1 immediately before the current track, and be interpolated. In the subsequent step S207, it is determined whether measurement should be finished or continued. If measurement is determined to be continued, the program returns to step S203 and the above-mentioned processing is repeated while the head is being moved over the tracks in order. If it is determined that measurement should be finished, the e_sum values are averaged for each element. As a result, a value close to e(x) can be estimated.
In the points close to the maximum or minimum of the sine wave, the head does not so often traverse tracks, and hence the influence of e(x) on the PES is not conspicuous. Therefore, addition to e_sum may be limited to, for example, |tar[j]|<0.5×a. In the flowchart, rpe, dst and e_sum values can be stored in the same storage area as e. Further, if there is an area four times the amplitude a, the e_sum values can be calculated while the head is being shifted. In addition, an increment to i is not always limited to 1.
Track fluctuation of a short cycle is mainly an asynchronous vibration during STW, track fluctuations of short cycles are almost eliminated when the above-mentioned averaging is performed. Also, the influence of a synchronous component is suppressed by averaging performed in each sector after tar[j] shifting.
Furthermore, even in e(x) of a cycle three times the above-mentioned one, values close to e(x) are estimated. However, since the waveform obtained by eliminating components due to tar from the observed PES (RPE) is substantially zero, it is difficult to estimate e(x) of a long cycle from this data if noise is contained therein.
As described above, if a data sequence of e(x) can be obtained, it can be converted into a data sequence of f(x)=e(x)+x. Accordingly, this data sequence can be used for offset correction by obtaining, by interpolation, v that satisfies f(v)=f(x)+d, and approximating “the relationship between x and v(x), “the relationship between x and v(x)−x,” or the relationship between x and v(x)−x−d,” using, for example, least squares spline approximation.
Referring to
Referring then to
By virtue of the above-described methods, when the fluctuation cycle of track deviation is short, correction function parameters can be obtained from a position error signal without additional writing of a position signal to data sectors.
R/W offset errors as correction objects in the embodiments are not used for data writing. Since in the embodiments, writing of data to a data area is not performed to obtain correction values, correction data can also be generated after product shipping. Namely, after data writing, an operation, employed in the embodiments, of obtaining a correction value based on estimated track deviation can be performed only in the area in which a read error has occurred.
In the embodiments, such an approximate interpolation function as the aforementioned spline function is held in the nonvolatile memory 11, a magnetic disk, or the like, and correction value calculation and processing are performed in, for example, the MPU 10. Offset correction information may be formed by adding the calculated offset correction value to the information stored in the RRO1 or RRO2 shown in
Although in the above-described embodiments, an interpolation approximation function is used as the spline function, the former is not limited to the latter. The interpolation function in the embodiments may be Lagrangian function, for example.
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 invention. 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 embodiment described herein may be made without departing from the spirit of the invention. 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.