Magnetic disk drive units

Abstract: Data head offset detecting circuitry (3,4,5,6) in a magnetic disk drive unit comprises a first offset detector (3) that detects an offset β, of a data head (2) from its intended position on a track of a data surface (1), based on servo information stored on the data surface and read therefrom by the data head. The circuitry also comprises a second offset detector (4) that detects an offset γ, of a servo head (34) from its intended position on a corresponding track of a servo surface (1), based on servo information on the servo surface read by the servo head, and an offset calculator (5) for calculating a real offset α, representative of the offset between the servo head and the data head concerned, by subtracting the offset γ from the offset β. Such circuitry can permit an offset used subsequently for correcting "off-track" of the data heads (deviation of a head from its intended on-track position) to be detected accurately even when the heads are vibrating at the time the offset is being measured.

Description: The present invention relates to magnetic disk drive units. In recent years narrower track gaps have been adopted in magnetic disk units to increase the storage capacity of the unit. In a conventional head positioning control circuit, the data head, which is moveable over the data surface, is controlled to be on-track based only on the servo information recorded on a servo surface. When such a control circuit is used with a magnetic disk having a relatively high track density (i.e. with such narrow track gaps) the data head tends to be off-track and cannot read the data on the data surface if the operating environment of the magnetic disk unit, especially the ambient temperature, changes from low to high or vice versa. A previously-considered head positioning circuit, intended to alleviate this problem, corrects an offset of the data head from a desired on-track position by recording servo information on the data surface as well as on the servo surface and by using the servo information on both the servo and data surfaces to prevent offset of the data head. To achieve such offset correction, head positioning control is done by performing an offset detection at predetermined time intervals (depending upon the change of ambient temperature), storing the offset thus detected in a memory for each head, and reading the appropriate offset from the memory at the time of data writing or reading to correct the offset. On the assumption that the servo head is accurately controlled to be on-track based on the servo information on the servo surface, this offset detection is done by the data head to read the servo information on the data surface and detect an offset of the data heads from the servo head. During offset detection, however, the servo head, under on-track control, is in fact likely to be offtrack due to external vibration, poor accuracy of control or the like so that the offset of the data head is detected at a time when the servo head is off-track. No accurate correction of the data head offset can be accordingly be done. To illustrate this problem in more detail, in one type of magnetic disk unit, for example, four magnetic disks are mounted on the rotating shaft of a spindle motor and thus rotated at a predetermined speed. Of the four magnetic disks, the upper three have a data surface formed on either face, upper and lower, thereof and the lowest disk has a data surface formed on the upper face thereof and a servo surface on the lower face thereof. Data heads are provided in opposition to the data surfaces of the magnetic disks and a servo head is provided opposite the servo surface. The data heads and servo head are arranged in the form of a comb and are driven together by a voice coil motor (will be referred to as "VCM" hereinafter) and move in a direction transverse to the tracks on the magnetic disks. The servo surface over which the servo head is positioned has servo information recorded in all the cylinders (cylinder: all tracks accessed by all the magnetic heads when a comb is in a certain position) thereof, and a position signal indicative of the position of the servo head on the track is provided based on a signal read by the servo head. On the other hand, the data surfaces of the data heads have recorded in the free space of a predetermined cylinder track or of all the cylinder sectors thereof servo information used to detect an offset of the data heads. First, if the servo head and data head are in the cylinder center, no offset correction is necessary; in practice, however, the data head will be off the cylinder center on which the servo head is positioned due to the difference in the expansion coefficient between the metals used to form the head actuator and the like. Under the ontrack control of the heads based on the servo information on the servo surface, the offset of the data head from the servo head is detected based on the servo information read by the data head from the data surface. At the time of a write or a read operation, the data head can be accurately positioned in the cylinder centre by displacing the heads (offset correction) to eliminate the offset. However, the above-discussed previously-considered offset detecting circuit has the disadvantage that the data heads are prone to oscillate due to disturbances or poor accuracy of positioning control during detection of a data head offset, and detection of a data head offset done at the time of such oscillation will result in a measurement error. The offset of the data head from the servo head should be detected, but the offset of the data head from the cylinder center is detected in a condition where the servo head is offset from the cylinder center because of the oscillation of the heads. If an offset correction is done based on the offset thus detected, the data head will be offset from the cylinder center so that the offset correction will itself cause an offset of the data head. Further discussion of the above matters can be found in Japanese Unexamined Patent Publication (Kokai) No. 62-266781. It is accordingly desirable to provide a data head offset detecting circuit for use in a magnetic disk drive unit and a magnetic disk drive unit using the data head offset detecting circuit, that can accurately detect offset of the data head and can be used to perform an off-track correction of the offset using servo information held on the servo and data surfaces. JP-A-63 273 284 discloses a data head offset detecting circuit for a magnetic disk unit, according to the preamble of accompanying claim 1. In addition, a position signal of the servo head is formed based on the peak value of the servo signal. However, this position signal represents a whole number of tracks rather than a deviation of the servo head from the on-track position. EP-A-0 285 452 discloses a similar offset detecting circuit in which a position signal of the servo head is formed based on the peak value of the servo signal. According to the present invention, there is provided a data head offset detecting circuit according to accompanying claim 1. The present invention also embraces a magnetic disk unit using the offset detecting circuit. Reference will now be made, by way of example, to the accompanying drawings, in which: Fig. 1 is a schematic representation of parts of a magnetic disk unit; Fig. 2A, Fig. 2B, and Fig. 2C are explanatory diagrams illustrating previously-considered offset detection and offset correction methods; Fig. 3A and Fig. 3B are explanatory diagrams illustrating the effects of head vibration on the offset detection and offset correction methods of Fig. 2; Fig. 4 is a block diagram for illustrating operating principles of offset correction circuitry embodying the invention; Fig. 5 is a block diagram showing disk drive control circuitry embodying the present invention; Fig. 6 is a block diagram showing, in greater detail than in Fig. 5, parts of the Fig. 5 circuitry; Fig. 7 is a schematic diagram showing the form in which servo information can be stored on a data surface; Fig. 8 is a schematic diagram showing a first example of the position in which such servo information can be stored on a data surface; Fig. 9 is a schematic diagram showing a second example of the position in which such servo information can be stored on a data surface; Fig. 10 is a graph showing the relationship between a servo differential signal and an offset value of a data head; Fig. 11 is an explanatory diagram showing signal waveforms in a conversion circuit included in the Fig. 6 circuitry, for illustrating how position data is obtained as an output signal of the conversion circuit; Fig. 12 is a partly-sectional plan view of a disk enclosure included in the Fig. 6 circuitry; Fig. 13 is a sectional side view corresponding to Fig. 12; Fig. 14 is a flowchart relating to an offset detection process carried out by an offset detector included in the Fig. 6 circuitry; Fig. 15 is a flowchart relating to an offset value storage process carried out by the Fig. 6 circuitry; Fig. 16 is a graph illustrating the effects of disk eccentricity on offset values; Fig. 17 is an explanatory diagram illustrating data stored in the process of Fig. 15; Fig. 18 is a flowchart showing a positioning control process which uses the stored data represented in Fig. 17; Fig. 19 is a diagram illustrating a linear interpolation process carried out in the positioning control process of Fig. 18; Fig. 20 is a table showing an example of a calculation involved in the linear interpolation process of Fig. 19; Fig. 21 is a graph, corresponding to Fig. 16, for illustrating offset values obtained by the linear interpolation process of Fig. 19; and Fig. 22 is a schematic diagram representing an example of servo control performed by the positioning control process of Fig. 18. Figure 1 shows a schematic view of a magnetic disk unit; 1 denotes a magnetic disk, 2 denotes a data head, 34 denotes a servo head, 36 denotes a voice coil motor (VCM), and 38 denotes a spindle motor. Figures 2A, 2B, and 2C are explanatory diagrams illustrating an offset detection of the data head 2, and as shown in Fig. 2A, if the servo head 34 and the data head 2 are positioned on the cylinder center, the offset correction is not necessary. In practice, however, the data head 2 will be off the cylinder centre on which the servo head 34 is positioned as shown in Fig. 2B because of the difference in the expansion coefficient between the metals used to form the head actuator and the like. Under the on-track control of the heads, which control is based on the servo information on the servo surface, the offset α of the data head 2 from the servo head 34 is detected on the basis of the servo information read by the data head 2 on the data surface. At the time of a write or a read operation, the data head 2 can be accurately positioned in the cylinder centre by displacing the heads (offset correction) to eliminate the offset α as shown in Fig. 2C. However, the data heads can oscillate because of disturbances or poor accuracy of positioning control during detection of a data head offset, and detection of a data head offset done at the time of such oscillation will result in a measurement error as shown in Fig. 3A. The offset α of the data head 2 from the servo head 34 should be detected, but the offset β of the data head 2 from the cylinder center is detected in a condition where the servo head 34 is offset by γ from the cylinder center because of the oscillation of the heads. If an offset correction is done based on the offset β thus detected, the data head 2 will be offset from the cylinder center as shown in Fig. 3B so that the offset correction will cause a further offset of the data head 2. Figure 4 shows a data head offset detecting circuit for use in a magnetic disk unit, which uses the servo information on both the servo surface and data surfaces of disk media 1 to correct the offset of data heads 2. The above circuit comprises a first offset detector 3 that detects an offset β of data heads 2 based on the servo information read by the data heads 2 from the data surfaces; a second offset detector 4 that detects an offset γ of a servo head 34 based on the servo information read by the servo head 34 from the servo surface; and an offset calculator for calculating a real offset α derived from subtraction of the offset γ detected by the second offset detector 4 from the offset β detected by the first offset detector 3. In one embodiment of the present invention, first servo information A offset a predetermined amount outward from the ontrack position and second servo information B offset a predetermined amount inward from the ontrack position are recorded for each sector as servo information on the data surfaces. Then, the first offset detector 3 calculates a signal indicative of a difference (V A - V B ) between the first servo information A and second servo information B read by the data heads 2 from the data surfaces and multiplies the difference signal (V A - V B ) by a constant proportion coefficient K to detect the offset β. There is further provided an offset memory 6 using a RAM that stores for each of the data heads 2 the offset α calculated by the offset calculator 5. The servo information on the data surfaces is recorded for each sector, offsets α1 to αn detected for each sector are averaged for a predetermined number of sectors (N) and stored in the RAM that constitutes the offset memory 6. Thus, the capacity of the RAM is decreased. There is further provided a positioning controller 7 that provides an offset correction at the time of a read or a write operation by the data heads 2 from or onto the data surfaces by reading a mean offset for a to-be-accessed sector and sectors just before and next to that mean offset and determining an offset for the to-be-accessed sector by linear interpolation. A block diagram of a magnetic disk unit embodying the invention is shown in Fig. 5. As shown, the magnetic disk unit generally consists of a disk controller 12 and disk drive 30. The disk controller 12 comprises a control processor 14 that provides a centralized control over the whole magnetic disk unit. Connected to the control processor 14 by means of an internal bus 28 are an interface 16 for connection to the host CPU, a drive interface 18 for connection to the disk drive 30, a serial/parallel converter 20, a data transfer buffer 24 and a system storage 26. The drive interface 18 conveys control commands from the control processor 14 to the disk drive 30. Write or read data is transferred between the serial/parallel converter 20 and the disk drive via a data modem 22. The serial/parallel converter 20 and data modem 22 usually form together a VFO (variable frequency oscillator). Write or read data is once stored into the data transfer buffer 24 and then transferred to the disk drive 30 or host CPU. The disk drive 30 has provided therein a drive circuit 32 that rotates a plurality of magnetic disks 1 as memory media by means of a spindle motor (SP) 38 at a constant speed, and the magnetic disks 1 have provided in combination therewith heads that are moved by a voice coil motor (VCM) 36 in a direction transverse to the tracks. Of the plurality of heads, the highest one is a servo head 34 and the rest are data heads 2-1 to 2-n. The magnetic disk 1 opposite the servo head 34 is a servo disk having servo information recorded in all cylinder positions (in all track positions) on the servo surface thereof. Each of the magnetic disks 1 to or from which the data heads 2-1 to 2-n write or read data has a data surface formed thereon. The data surfaces have servo information recorded per sector. More particularly, concerning an arbitrary track on the data surface of the magnetic disk, first servo information A being a predetermined frequency, for example, a maximum write frequency signal, is written in an area X (µm) displaced outward from the ontrack position of the data head 2 and second servo information B is similarly written in an area X (µm) displaced inward from the ontrack position, following the first servo information A, as shown in Fig. 7. The method of writing the servo information onto the data surface includes a write to a predetermined track 9 on the data surface 8 as shown in Fig. 8 and a write to free spaces in all the sectors on the data surface 8 as shown in Fig. 9. When the data head 2 is ontrack, the servo information A and B are evenly read so that read signals V A and V B from the data heads 2 will have the same value. And when the data head 2 is outwardly offtrack, the servo information A is read in a larger amount than the servo information B so that read signal V A will be larger than the read signal V B . Further, when the data head 2 is inwardly offtrack, the servo information B is read in a larger amount than the servo information A so that read signal V B will be larger than the read signal V A . A control microprocessor provided in the disk drive 30 reads the difference (V A - V B ) between the read signals V A and V B from the data heads 2 to determine the offset magnitude. At this time, the relation between the offset and the read difference signal (V A - V B ) shows a predetermined proportion coefficient (gradient) K as shown in Fig. 10. Therefore, the offset β can be calculated by multiplying the read difference signal (V A - V B ) between the servo information A and B on the data surfaces by the proportion coefficient K. Namely, the offset β determined based on the servo information on the data surface is calculated as follows: β = K · (V A - V B ) Fig. 6 is a block diagram showing an example of the constitution of the disk drive 30 in Fig. 5. As shown, the disk drive 30 has a microprocessor (MPU) 40 as main controller. The disk drive 30 also has a disk enclosure (DE) 56 provided with a head actuator 60 that is driven by VCM 36, and the servo head 34 and data heads 2-1 to 2-n are mounted on the head actuator 60. The servo signal read by the servo head 34 is demodulated by a servo demodulation circuit 42 into two position signals POSN and POSQ, which will be supplied to a conversion circuit 44. As shown in Fig. 11, the conversion circuit 44 produces a (N > Q) and {(N + Q) > 0} signals based on the position signals POSN and POSQ supplied from the servo demodulation circuit 42. When the edges of these two signals are detected, a track crossing pulse TXPL is produced and a counter counts how many times the head has crossed the track. Each signal from the conversion circuit 44 is read into a position detector 46 in the microprocessor 40 to produce position data that varies linearly for each track shown in Fig. 11. Accordingly, the offset γ of the servo head determined based on the servo information on the servo surface during offset detection is obtainable as a position signal shown in Fig. 11. In the figure, CY denotes a cylinder. Of course, it is possible to detect head speed based on the period of the track crossing pulse TXPL from the conversion circuit 44. The microprocessor 40 incorporates a servo processor comprising the position detector 46, an add point 48 and a servo compensator 50, and the servo process is executed under control of a program. The position detector 46 provides two kinds of control, speed control and position control (ontrack control). Namely, for the head's access to an object track, the head is moved under the speed control, and upon arrival of the head at the object track, the speed control is switched to the position control under which the head is placed ontrack. During ontrack control under which the head seeks an object track, the microprocessor 40 supplies position control data to VCM 36 via the servo compensator 50 so that the position signal delivered from the position detector 46 and shown in Fig. 11 will always be a signal indicative of the track center. The servo compensator 50 compensates the advance phase by increasing the gain of the high frequency portion of the servo signal. The position control data from the microprocessor 40 are converted to an analog voltage by means of a DA converter 52 and this analog voltage is then amplified in power by means of a power amplifier 54 to drive VCM 36. On the other hand, the microprocessor 40 incorporates an offset detector 76, an offset memory 78 and an offset corrector 80. After the magnetic disk unit is energized, the offset detector 76 receives an interrupt that follows a predetermined time sequence and executes an offset detection. The time interval of this offset detection is set short immediately after the magnetic disk unit is energized, that is, when the ambient temperature changes significantly, and long, such as once per hour after a lapse of a certain time, that is, when the temperature has become stable. The offset detector 76 has been supplied with a difference signal (V A - V B ) that is based on a read signal from any one of the data heads 2-1 to 2-n. Namely, the data heads 2-1 to 2-n are connected to a head selection circuit 62 which, receiving a select signal from the microprocessor 40, supplies a read signal from one of the data heads to peak hold circuits 64 and 66. Under the timing control of the microprocessor 40, the peak hold circuit 64 holds the peak value V A of the read signal of the first servo information A recorded on the data surface. Also under the timing control of the microprocessor 40, the peak hold circuit 66 holds the peak value V B of the read signal of the second servo information B recorded on the data surface. There is also provided a differential circuit 68 that produces a signal (V A - V B ) indicative of the difference between the output signals delivered from the peak hold circuits 64 and 66. This difference signal (V A - V B ) is converted to digital data by means of an AD converter 70, and said digital data are read into the offset detector 76 of the microprocessor 40. The offset detector 76 uses the proportion coefficient K representing the characteristics shown in Fig. 10 to determine an offset β for each of the data heads 2-1 to 2-n and stores these offset amounts β into the offset memory 78 using an RAM. At the time of a write or a read operation to or from the data heads 2-1 or 2-n, data are transferred to the data heads 2-1 to 2-n by means of a read/write control circuit 72 and read/write circuit 74. At this time, the head selection circuit 62 is controlled by the microprocessor 40 to facilitate a write or read by a predetermined data head selected by the circuit 62. Figs. 12 and 13 show the structure of a magnetic disk unit embroying the present invention. In plan (Fig. 12), only one magnetic disk 1 can be seen in the disk enclsure (DE); the side view of Fig. 13 shows that there are six magnetic disks 1 provided in the disk enclosure. The head actuator 60 has an arm 82 that is fitted at the free end thereof with a head 2, and the arm 82 is driven about a shaft 84 by VCM 36. The offset detection by the offset detector 76 of the microprocessor 40 shown in Fig. 6 will be discussed hereinbelow with reference to the flowchart in Fig. 14. As in Fig. 14, the head is first positioned for access to a predetermined track (cylinder) at step S1 and the operation goes to step S2 as ontrack-controlled based on the servo information on the servo surface. At this step S2, the No. 1 data head 2-1 is selected. At a next step S3, the difference signal (V A - V B ) between the read signals V A and V B based on the servo information A and B on the data surface is read. At step 4, the difference signal is multiplied by the constant proportion coefficient K to calculate the offset β of the No. 1 data head 2-1. Then, the operation goes to step 5 where the offset γ of the servo head 34 is detected based on the position signal available at this time and shown in Fig. 11. At step S6, the real offset α is determined under the assumption that α = β - γ. At step S7, it is checked to determine whether the head is the last head or not, and the operations at steps S3 to S6 are repeated down to the last head. If the head is determined at step S7 to be the last head, the operation proceeds to step S8 where the detected offset α is stored into the RAM for each data head. Fig. 15 shows a flowchart showing an alternate sequence of storing operations of the offset detector 76 of Fig. 6 for storage into the offset memory 78. The storage operations shown in Fig. 15 are characterised in that, for correction of an offset due to the eccentricity of a magnetic disk or the like, offsets for a number of sectors per cylinder, that is, for example, 32 sectors per cylinder, are detected and stored. Fig. 16 shows an example of an offset for 32 sectors detected by operations shown in Fig. 15. In this example, since the offset is due to the eccentricity of a magnetic disk, one full rotation of the magnetic disk corresponds to one cycle of a sine function change. To store the offsets, in one example the 32 sectors are divided into N = 4 groups, a mean offset is calculated for every 4 sectors and stored into RAM as shown in Fig. 17. Thus, the number of RAM addresses per cylinder can be reduced from 32 for raw data to 8 as shown in Fig. 17. These storing operations will be discussed in further detail herebelow with reference to Fig. 15. Step S11: The contents at all addresses in RAM are cleared. Step S12: Head number is set HEAD = 0. Step S13: It is monitored and determined whether there exists a sector pulse or not. When a sector pulse is found, the operation proceeds to step S14. Step S14: Servo information on the data and servo surfaces, for sector are read in. Step S15: Operations shown at steps S3 to S6 in Fig. 14 are performed to calculate the offset α. Step S16: RAM address (RAM ADR) at which the detected offset α is stored is calculated under the assumption that RAM ADR = (SECTOR/4) + HEAD x 8 + RAM TOP ADDRESS. Thus, all the RAM addresses for every 4 sectors shown in Fig. 17 have the same value. Step S17: Offset values belonging to the same RAM address are sequentially added together. Namely, an offset OFFSET[SECTOR] detected at this time is added to a value RAM[RAM ADR] stored at a same RAM address where the previously detected offset was stored. Step S18: It is determined whether the last sector (32nd) is reached or not. The operations at steps S13 to S18 are repeatedly done down to the last sector. Step S19: HEAD value indicative of a head number is incremented by one to select the next data head. Step S20: It is checked to determine whether the operations for the last head are finished or not. Step S21: When the operations for the last head are completed, all the values stored in the RAM at that time, that is, a total sum of offsets detected for every 4 sectors, are averaged by dividing by 4 and stored. Fig. 18 is a flowchart of the operations for the head positioning control, with an offset correction at the time of a read or write using the mean offset obtained through the averaging calculation by the operations in Fig. 15, which are stored in the RAM. This control is featured by the fact that the offset for each sector is restored by linear interpolation using the mean offset. Step S31: The number for a to-be-accessed sector is read in. Step S32: A storage address in the RAM (RAM ADR) is calculated from the sector number under the assumption that RAM ADR = (SECTOR/4) + HEAD x 8 + RAM TOP ADDRESS. Step S33; Contents RAM[RAM ADR] at the calculated RAM address are read out. Step S34: Offset of the to-be-accessed sector is calculated by linear interpolation. Step S35: A servo control is effected with an offset correction in which the head is moved to eliminate the offset restored during the seeking of a designated sector in a designated cylinder. The linear interpolation at step S34 in Fig. 18 will be described in further detail below. First, the sector number is normalized to a common value every four sectors. This normalized common value is expressed with a remainder derived from the division of the sector numbers 1 to 32 by N = 4. Namely, the remainder thus obtained will be a repetition of "0, 1, 2, 3". The above remainder is defined as MOD(SECTOR, 4). In Fig 19, the normalized four sectors of which the numbers are normalized to a common value and expressed with the remainders "0, 1, 2, 3" are shown along the horizontal axis. In the case of the remainders 0, 1, a linear interpolation is effected using a gradient K1 of a straight line obtained from the contents RAM[RAM ADR] at a RAM address in consideration and those RAM[RAM ADR - 1] at the preceding RAM address. The above gradient K1 is calculated as follows: K1 = (RAM[RAM ADR] - RAM[RAM ADR - 1])/4 On the other hand, in the case of the remainders 2, 3, a linear interpolation is effected using a gradient K2 of a straight line obtained from the contents RAM[RAM ADR] at a RAM address in consideration and those RAM[RAM ADR + 1] at the following RAM address. This gradient K2 is calculated as follows: K2 = (RAM[RAM ADR + 1] - RAM[RAM ADR])/4 As shown in Fig. 19, since the mean value falls on the position of the central remainder 1.5, for example, on the P point, an offtrack value OFFSET[SECTOR] indicated with a linear-interpolated Q point of the to-be-accessed sector can be calculated by determining a difference (D) between the remainder 1.5 at the central position and the remainder, for example, 1 being a to-be-accessed sector position to be (MOD(SECTOR, 4) - 1.5), multiplying this difference by the gradient K1 (alternately K2 when the remainder of the to-be-accessed sector is 2, 3) and adding the value at the P point to the result of the multiplication. Namely, in the case of the remainder MOD (SECTOR, 4) = 0, 1, the following calculation is done: OFFSET[SECTOR] = ((RAM[RAM ADR] - RAM[RAM ADR -1])/4) * (MOD (SECTOR, 4) - 1.5) + RAM[RAM ADR] Also, in the case of the remainder MOD[SECTOR, 4] = 2, 3, OFFSET[SECTOR] = ((RAM[RAM ADR + 1] - RAM[RAM ADR])/4) * (MOD (SECTOR, 4) - 1.5) + RAM[RAM ADR] Fig. 20 shows an example calculation of an implemented linear interpolation under the assumption that RAM top address = 1000, head number HEAD = 2 and sector = 11. It is also assumed here that a means offset = 15 is stored at a RAM address in consideration and that a mean offset = 9 is stored at the following address. Since the remainder of the sector 11 is 3, the equation (2) is of course used. Fig. 21 shows an offset restored from the contents stored in RAM shown in Fig. 17 by linear interpolation. The raw data shown in Fig. 17 can be sufficiently fitted. Fig. 22 shows a head positioning servo control with an offtrack correction (offset correction) at step S35 in Fig. 18. As shown at (101), an offset correction may be done during ontrack after completion of a seek. Also as shown at (102), an offset correction may be done at the start of a seek to position the head over an object sector by a seeking operation. By the offtrack correction at the start of a seek as shown at (102), it is possible to reduce the time until the head is ontrack. Note that the numbers of magnetic disks and heads, respectively, in the aforementioned embodiments, are just examples and they may be appropriately determined. The servo surface is provided on one of the plurality of disks that is located at either the highest or lowest position, but it may also be provided on a disk at an appropriate position such as a middle position. Further, since the magnetic disk unit of this embodiment has an offset detecting mode executed by the data head offset detecting circuit and a data write or read mode, in which the data head writes or reads data onto or from the data surface of the disk data medium, is executed; when the unit has executed the offset detecting mode, the data write or read mode also may interrupt the offset detecting mode. In the data head offset detecting circuit for use in a magnetic disk unit, having the aforementioned construction according to the present invention, the servo head 34 and data heads 2 are mechanically coupled to each other. Therefore, the vibrations applied to both these data and servo heads are of the same magnitude. By determining an offset of each data head and assuming that the offset (α) = (offset (β) based on the servo information on the data surface - offset (γ) based on the servo information on the servo surface), it is possible to accurately detect the offset even when the heads are vibrated. For correction of an offset of the data head due to the eccentricity of the disks and any other cause, it is necessary to detect the offset for each of the sectors per cylinder, and if the offset for each head is to be detected, the capacity of a RAM that stores the offset has to be rather large. Under the assumption that one cylinder consists of 32 sectors, the RAM capacity can be reduced to 1/4 (1/N) by storing a mean offset determined for every (N = 4) sectors. By linear interpolation for restoration of an offset for each sector from the mean offset, offset correction can be done with sufficiently high accuracy. As having been described in the foregoing, embodiments of the present invention can permit more accurate detection of an offset by eliminating or significantly reducing errors due to vibration even if the offset detection is done while the head is oscillating due to external vibration and can considerably improve the accuracy of head positioning control with an offset correction using the servo information on the servo and data surfaces.

Claims: A data head offset detecting circuit for a magnetic disk drive unit including a servo surface comprising a disk data medium (1), a servo head (34) provided opposite the servo surface, a plurality of data surfaces comprising disk data media (1) that store data, and a plurality of data heads (2) provided opposite the data surfaces, respectively, for correcting an offset of the data heads (2) using servo information on the servo surface and servo information on the data surfaces, wherein said circuit comprises a first offset detecting means (3) for detecting an offset value (β) of the data heads (2) based on the servo information read by the data heads (2) from the data surfaces; characterized in that said circuit further comprises : a second offset detecting means (4) for detecting an offset value (γ) of a servo head (34) based on the servo information read by the servo head (34) from the servo surface, and an offset calculating means (5) for calculating a true offset value (α) by subtracting the offset value (γ) detected by the second offset detecting means (4) from the offset value (β) detected by the first offset detecting means (3). A data head offset detecting circuit as set forth in claim 1 wherein first servo information (A) offset a constant amount outward from the ontrack position and second servo information (B) offset the constant amount inward from the ontrack position are recorded for each sector as servo information on the data surfaces. A data head offset detecting circuit as set forth in claim 2, wherein said first offset detecting means (3) calculates a signal indicative of a difference (V A - V B ) between the first servo information (A) and the second servo information (B) read by the data heads (2) from the data surface and multiplies the difference (V A - V B ) by a constant proportion coefficient (K) to detect the offset (β). A data head offset detecting circuit as set forth in claim 1, further comprising an offset memory (6) using a RAM that stores for each of said data heads (2) the offset value (α) calculated by said offset calculating means (5). A data head offset detecting circuit as set forth in claim 4, wherein the servo information on said data surfaces are recorded for each sector, and offsets (α1 to αn) detected for each sector are averaged by a predetermined number of sectors (N) and stored into the RAM, which composes the offset memory (6). A data head offset detecting circuit as set forth in claim 5, further comprising a positioning controller (7) for providing an offset correction at the time of a read or write by said data heads (2) from or onto the data surfaces by reading a mean offset value for a to-be-accessed sector and sector just before and next to said mean offset values, and determining an offset for said to-be-accessed sector by linear interpolation. A magnetic disk drive unit using a data head offset detecting circuit as claimed in claim 1. A magnetic disk drive unit as set forth in claim 7, wherein said unit has an offset detecting mode executed by the data head offset detecting circuit and a data write or read mode, in which the data head (2) writes or reads data onto or from the data surface of the disk data medium, is executed, and when the unit has executed the offset detecting mode, the data write or read mode interrupts the offset detecting mode.

Inventors: OHBA CHIHARU, SASAMOTO TATURO, TAKAHASHI EISAKU, OHBA, CHIHARU, SASAMOTO, TATURO, TAKAHASHI, EISAKU, Ohba, Chiharu, c/o Fujitsu Limited, Sasamoto, Taturo, c/o Fujitsu Limited, TAKAHASHI, EISAKU, C/O YAMAGATA FUJITSU LIMITED
Applicants: FUJITSU LTD, FUJITSU LIMITED
Application year: 1992
Main classification: G11B5
IPC codes: G11B21, G11B5