TRACK ACCESS CONTROL SYSTEM FOR MAGNETIC DISK SYSTEM

Abstract: A track access control system for a magnetic disc system including a magnetic disc (1a to 1d) having a plurality of servo tracks (SVT) in a plurality of track zones divided in a radial direction, a logical to physical track address translation unit, a track offset update unit, and a control unit, to access a magnetic head at a physical track with offset correction. The track offset update may be carried out in an initial condition, or when a seek command is received. Also, the track offset update may be compulsorily effected when the update is not effected in a predetermined time. In this case, the system may output a virtual error data. In addition, the track offset update may be effected in response to a temperature change of the system.

Description: The present invention relates to a magnetic disc system. More particularly, it relates to a track access control system for a magnetic disc system which uses an offset obtained from servo-tracks provided in a magnetic disc, in addition to data tracks, as a correction value of a track access, and enables a host computer to access data on physical tracks in the magnetic disc by using logical tracks. Recently, in rotation type magnetic disc systems, a distance between tracks on a magnetic disc has become short due to requirements for a high density and a large capacity of data storage. In those magnetic disc systems, the displacement of the tracks, i.e., an offset, caused by an error in magnetic head installation, temperature changes, etc., cannot be neglected, and a correction of this displacement is necessary for data access. Accordingly, magnetic disc systems in which servo tracks storing servo positioning information are provided are known. In those magnetic systems, the magnetic head is positioned at the servo track to read the servo positioning information, a displacement of the servo track is detected, and the detected displacement is used as an offset value for correcting the displacement and positioning the magnetic head at the subsequent head accessing when access to a data track is required. In a magnetic disc system, two types of track address, i.e., a physical track address and a logical track address, are defined. The physical track address designates actual tracks comprised by data tracks and servo tracks on the magnetic disc, but the logical track address designates only data tracks. A plurality of magnetic discs may be provided in the magnetic disc system, but in order to save effort storing servo information into all magnetic discs, the servo tracks may be partially formed on at least one face of a magnetic disc. Accordingly, the face of the magnetic disc in question is provided with the servo tracks and the data tracks. In this system, the physical track addresses designating the servo track addresses and the data track addresses differ from the logical track addresses. Another face of the magnetic disc and the other magnetic discs are provided with only data tracks. In this case, the physical track addresses coincide with the logical track addresses. As described above, handling of the track address is relatively difficult, and when the handling is to be processed by a host computer, the programming of the host computer is complex (JPP49-117007). Another prior art magnetic disc system disclosed in USP 4,396,959 also suffers from the following disadvantages: a) since two or more servo sectors cannot be provided in each track, i.e., only one servo sector is provided in each track, if a defect occurs in the servo sector, the offset measurement therefor cannot be effected, and b) due to the provision of the servo sector in each track a rotation speed of the disc must be reduced, and, the density of the memory storage in a circumferential direction must be increased. Accordingly, it is desirable to provide an improved track access control system for a magnetic disc system with an offset correction. DE-A-2 730 394 discloses a track access control system for a magnetic disc system according to the preamble of accompanying claim 1. Offset measurement is carried out by moving the head to reference tracks on the disc, a positional error being measured at a number of positions as the disc rotates. The offset measurement test is carried out periodically and adaptively dependent on the rate of change of temperature. According to the present invention, there is provided a track access control system for a magnetic disc system connected to a host computer issuing a seek command, said track access control system comprising:- a magnetic disc unit including at least one magnetic disc, at least one face of which includes a plurality of servo tracks having one or more servo information storing portions and a plurality of data tracks in a radial direction thereof, the servo tracks being located among the data tracks; at least one magnetic head for accessing said tracks on said face of said magnetic disc; magnetic head moving means, connected to said magnetic head, for moving said magnetic head in the radial direction; control means for controlling said magnetic head via said magnetic head moving means, to position said magnetic head at a desired radial position on said magnetic disc; rotation means, connected to said magnetic disc unit, for rotating said magnetic disc unit; timing signal generation means, connected to said rotation means, for generating a timing signal corresponding to a rotation of said servo information storing portions; servo data generation means, connected to said magnetic head for reading servo information from said servo information storing portions through said magnetic head, and generating servo data in response to said timing signal of said timing signal generation means; track offset update means, connected to said servo data generation means, for measuring and updating a track offset from said servo data for said plurality of servo tracks; characterised in that each servo track has a plurality of separate servo information storing portions along the circumference of a circle; and in that said track access control system further comprises:- track address translation means for receiving a target logical track address by said seek command, from said host computer, which is a track address sequentially given to only said plurality of data tracks in a radial direction, and for translating said target logical track address into a target physical track address, which is another track address sequentially given to said plurality of data tracks and said plurality of servo tracks in a radial direction, based upon the track structure of the magnetic disc to be accessed, wherein when said servo tracks are located between a track of a current logical track address and a track of a target logical track address, a number of the servo tracks located therebetween are added to said target logical track address in order to translate said logical track address into said physical track address; and wherein said control means is connected to said track offset update means and said track address translation means, for controlling said magnetic head through said magnetic head moving means by using said measured track offset corresponding to a translated target physical track to be moved thereat, to position said magnetic head at said translated physical track. The plurality of servo tracks may be provided in each of the track zones equally divided into physical tracks in the radial direction. Each servo track in each track zone may be provided at approximately the centre of each zone. The track offset update unit may update all track offsets for all track zones in an initial condition. The track offset update unit may update a track offset which is not updated in a predetermined time. Also, the track offset update unit may update a track offset in response to the reception of a seek command for moving the magnetic disc to a different track zone when the different track zone is not offset-update offset unit predetermined time. In addition, the updated in the may be compulsorily energized when at least one track zone is not offset-updated in the predetermined time. The control unit may output an error date for an access command when the track offset update unit is compulsorily energized, and the control unit may output normal data when the track offset update unit terminates the offset update. The track offset update unit may be compulsorily energized in response to a predetermined temperature change of at least the magnetic disc during the temperature transient state. The track offset update unit may be also compulsorily energized in another predetermined time defined by a constant temperature change for the temperature transient state. Reference will now be made, by way of example, to the accompanying drawings, in which: Fig. l is a diagram of an embodiment of a magnetic disc system according to the present invention; Fig. 2 is a plan view of a magnetic disc in Fig. l provided with servo tracks in addition to data tracks; Fig. 3 is a view representing the relationship of the servo tracks and the data tracks on the magnetic disc in Fig. 2; Figs. 4a to 4i are graphs representing servo information and an offset value of the magnetic disc in Figs. 2 and 3; Fig. 5 is a circuit diagram of the magnetic disc system in Fig. l; Figs. 6a and 6b are flow charts of an initial operation of the magnetic disc system in Fig. 5; Fig. 7 is a flow chart of the seek operation of the magnetic disc system in Fig. 5; Fig. 8 is a flow chart of the offset measurement of the magnetic disc system in Fig. 5; Figs. 9a and 9b are flow charts of the access operation of the magnetic disc system in Fig. 5; Fig. l0 is a flow chart of a track address translation form a logical track address to a physical track address of the magnetic disc system in Fig. 5; Fig. ll is a flow chart of the offset measurement; Fig. l2 is a flow chart explaining an interruption for energizing the offset update operation; Figs. l3a to l3e, l4a to l4f and l5a to l5h are timing chart illustrating the interruption and the offset measurement operation; and Fig. l6 is a graph illustrating the temperature change of the magnetic disc with time. A magnetic disc system in Fig. l includes a magnetic disc unit l consisting of a plurality of magnetic discs la to ld each mounted on a rotary shaft l0, a magnetic head unit 2 consisting of a plurality of magnetic heads 2a to 2h, a moving unit 3 consisting of a voice coil motor 3a and an encoder 3b, a spindle motor ll mechanically connected to and rotating the rotary shaft l0, and a servo position detection mechanism l2. The magnetic disc system further includes a control means 4 having a main control unit 5, a drive unit 6, and a read unit 7. A host computer is connected to the main control unit 5. Each magnetic disc is coated with a magnetic recording medium on both faces thereof. As shown in Fig. 2, an upper face of the magnetic disc lc, which is positioned at approximately middle of the magnetic discs in a vertical direction, is provided with servo tracks SVT and data tracks which are defined as other tracks of the servo tracks SVT, along a radial direction. A lower face of the magnetic disc lc and both faces of the magnetic discs la, lb, and ld are provided with data tracks, but are not provided with servo tracks. Figure 3 is a conceptual view of the upper face of the magnetic disc lc. On the upper face, 400 physical addresses are defined, corresponding to 400 actual tracks including servo tracks 49, 50, 5l; l49, l50, l5l; 249, 250, 25l; and 349, 350 and 35l. on the other hand, 388 logical addresses which do not include the servo tracks are also defined. Tracks of physical addresses 0 to 48, 52 to l48, l52 to 248, 252 to 348 and 352 to 400 are data tracks. In this embodiment, l00 actual tracks form one zone, and at a middle portion of each zone, a servo track SVT consisting of three tracks is provided. The other magnetic discs are provided with only data tracks, but the data tracks corresponding to the servo tracks cannot be used as data tracks. The servo position detection mechanism l2 directly connected to the spindle motor ll generates a "HOLE" signal corresponding to a position storing position information of the servo track SVT. The magnetic heads 2a to 2h read from or write to the magnetic discs la to ld, and the voice coil motor 3a supports the magnetic heads 2a to 2h through plate-springs and moves the heads 2a to 2h in a radial direction of the magnetic discs to enable these heads to access a desired track. As shown in Figs. 2 and 4, each servo track, for example, the servo tracks 49, 50, and 5l includes three portions storing position information PIl to PI3 along the track thereof at a predetermined angle, in this example l20°C, in a circle. Reference "INDEX" denotes an origin of the rotation of the magnetic disc. The servo position detection mechanism l2 generates the hole signals at the position information storing portions in response to the rotation of the spindle motor ll, as shown in Fig. 4a. Since there are three position information storing portions, at least one hole signal can be obtained even if a defects occur at two of the position information storing portions. Each position information storing portion includes an area A and another area B, wherein position information is stored as shown by shaded lines in Fig. 4c. When the magnetic head 2e is positioned at a portion Pl denoting the center of the servo track SVT, an output from the magnetic head 2e through an amplifier is represented by a waveform as shown in Fig. 4d, and corresponding outputs of peaks are shown in Fig. 4e. The peak held outputs at the zones A and B are identical. As a result, an offset or a track offset, which is the difference between the peak held outputs at the zones A and B, is zero. When the magnetic head 2e is positioned at a portion P2 slightly shifted toward the track 49, as shown in Fig. 4c, the output of the magnetic head 2e is represented by a waveform as shown in Fig. 4f. An amplitude of the waveform where the magnetic head 2e passes the area A is large, because the magnetic head 2e faces a large shaded portion in Fig. 4c. An amplitude of waveform where the magnetic head 2e passes the area B is small. The peak values are shown in Fig. 4g. Accordingly, a positive offset (a peak value at the area A) - (a peak value at the area B) is obtained. On the other hand, when the magnetic head 2e is positioned at a portion P3, a waveform of the output of the magnetic head 2e and peak values thereof are as shown in Figs. 4h and 4i, and a negative offset is obtained. Note, an absolute value of the offset increases due to the amount of the displacement of the magnetic head 2e with respect to data center on the center track 50, shown in Fig. 4c. In the adjustment, a center of the magnetic head 2e is positioned at the data center. The offset calculation is performed when the hole signals as shown in Fig. 4a are generated. A specific circuit construction of the main control unit 5, the drive unit 6, and the read unit 7 will be described with reference to Fig. 5. In Fig. 5, the encoder 3b generates a position signal S POS consisting of two phase sine waveforms, one of which has a phase lead of, for example, 90°, to the other, to discriminate the direction, in response to a motion of the magnetic head unit 2 by the voice coil motor 3a. A comparator l3 receives the position output from the servo position detection mechanism l2, changes the position output to a pulse signal, and outputs the signal as the hole signal S HOLE . The main control unit 5 includes a step pulse counter 50 which receives a step pulse signal having pulses corresponding to a logical address, as a "SEEK" command, from a disc controller in the host computer, and counts the received pulses. The main control unit 5 also includes an input register 5l having an identification (ID) latch 5la, a zero velocity (speed) (VO) latch 5lb, and a hole latch (HOLE) 5lc. the ID latch 5la receives and holds a direction signal DIR from the disc controller; the VO latch 5lb receives and holds a zero speed signal S VO from a zero speed detector 64 in the drive unit 6 indicating that a speed of the voice coil motor 3a is zero; and the HOLE latch 5lc receives and holds the hole signal S HOL from the comparator l3. The main control unit 5 further includes a microprocessor unit (MPU) 52 described below in detail, an address decoder 53 and a read-only-memory (ROM) 54. The address decoder 53 decodes an address on an address bus A-BUS and from the MPU 52, and generates enable signals for the input register 5l and other registers in the main control unit 5, a digital-to-analog converter (DAC) 58a, and an analog-to-digital converter (ADC) 58b, and load signals for the step pulse counter 50, a difference counter 57, and timers 55a and 55b. The ROM 54 stores programs executed at the MPU 52. The ROM 54 also stores a variety of parameters, such as physical track addresses of the servo tracks. The main control unit 4 includes the timers 55a and 55b. The first timer 55a is preset to a predetermined time value from the MPU 52 through a data bus D-BUS and counts down the predetermined time value at every clock signal. When the preset time value reaches zero, the timer 55a generates an interruption signal S INT to an interruption input terminal INT of the MPU 52, requesting an interruption processing from the MPU 52. The main control unit 5 includes a random access memory (RAM) 56. The RAM 56 contains a target cylinder register for a physical track address (TCRP) 56a, a target cylinder register for a logical track address (TCRL) 56b, a present (current) cylinder register for a physical track address (PCRP) 56c, and a present cylinder register for a logical track address (PCRL) 56d. The RAM 56 also contains an offset correction register 56e storing offset correction values C l to C n for track zones. As shown in Fig. 3, in this embodiment the number of zones is four: n = 4. The RAM 56 further contains a correction confirmation flag table 56f storing flags for confirming the validity of the offset correction values C l to C n . The main control unit 5 includes the difference counter 57, the DAC 58a, the ADC 58b, and an output register 59. The difference counter 57 loads a moving track number which is the difference between a target physical track address and a current (present) physical rack address, and subtracts track cross pulses, indicating a motion of the magnetic head unit 2 by the voice coil motor 3a, from a track clock pulse generator 63. The DAC 58a receives the offset correction value from the MPU 52 and converts that value same to an analog value. The ADC 58b converts an analog peak hold signal of a servo track read signal from a peak holder 70 to a digital value and supplies the signal to the MPU 52. The output register 59 includes a direction (DIR) latch 59a, a seek (SEEK) latch 59b, a read inhibit (RD) latch 59c, a track zero (TRO) latch 59d, and a seek completion (SC) latch 59e. The DIR latch 59a holds the direction of a motion of the magnetic head unit 2 in a radial direction of the magnetic disc l; the SEEK latch 59b holds the status where the seek operation is executed; the RD latch 59c is set when the output from the read unit 7 of the read data sensed at the magnetic head 2e is inhibited and prohibits the output from the read unit 7; the TRO latch 59d is set to indicate a condition where the magnetic head 2e lies at a track address "0" to the host computer; and the SC latch 59e indicates a condition where the seek operation is completed. The A-BUS transmits the address from the MPU 52 to the address decoder 53 and the ROM 54. The D-BUS transmits data thereon between the circuit elements in the main control unit 4. The drive unit 6 comprises a reference speed generator 60, a speed error detector 6l, and a speed signal generator 62. The speed signal generator 62 receives and differentiates the position signal S POS from the encoder 3b, generating an actual speed Va of the voice coil motor 3a. The reference speed generator 60 generates a speed reference Vr on the basis of the output from the difference counter 57 and having a polarity defined by the direction of the DIR latch 59a. The speed error detector 6l receives the reference speed Vr and the actual speed Va and outputs a speed error ΔV : Vr - Va. The drive unit 6 comprises the track cross pulse generator 63, a speed zero (VO) detector 64, an adder 65, a multiplexer 66, and a voice coil motor (VCM) driver 67. The track pulse generator 63 receives the position signal S POS from the encoder 3b and generates the track cross pulses. The track cross pulses are generated at every predetermined position change of the position signal S POS , indicating the crossing of each track by the magnetic head 2e. The track cross pulses are supplied to the difference counter 57 which counts down the track number supplied thereto. The speed zero (VO) detector 64 detects the time when the actual speed Va from the speed signal generator 62 becomes approximately zero, and outputs the speed zero signal S VO to the VO latch 5lb in the input register 5l. The adder 65 adds the offset correction value from the DAC 58a and the position signal S POS from the encoder 3b, and outputs an offset corrected position control signal S PC . The multiplexer 66 receives the speed error ΔV and the offset corrected position control signal S PC , and outputs one of those values in response to the output from the SEEK latch 59b in the output register 59. More specifically, when the SEEK latch 59b is set the multiplexer 66 outputs the speed error ΔV, in other cases it outputs the position control signal S PC . The VCM driver 67 includes a drive transistor and drives the voice coil motor 3a in response to the output from the multiplexer 66. The read unit 7 comprises the peak holder 70, a data pulse generator 7l, a pseudo-data generator 72, and a multiplexer 73. The peak holder 70 holds a peak of the read output from the magnetic head 2e and outputs that value to the ADC 58b. This value may be used for detecting the offset. The date pulse generator 7l receives the read output from the magnetic head 2e and generates data pulses. The pseudo-data generator 72 generates a pseudo-data described later in detail. The multiplexer 73 receives the data pulses from the data pulse generator 7l and the pseudo-data from the pseudo-data generator 72 and outputs one thereof in response to the content set in the RD latch 59c in the output register 59. Specifically, when the RD latch 59 is set, the pseudo-data is output to the host computer, in other cases the data pulses are output. To summarize the operation of the main control unit 5, the drive unit 6 and the read unit 7, the main control unit 5 executes an initial operation described later with reference to Figs. 6a and 6b when the power is turned ON, calculating the offset correction values for the track zones of the magnetic disc. Subsequently, the main control unit 5 permits the reception of a command. The main control unit 5 receives a seek command consisting of the step pulse and the direction, from the host computer, and executes the access operation described later. The main control unit 5 then outputs a track zero signal S TRO from the TRO latch 59d and a seek completion signal S SC from the seek completion latch 59e to the host computer. Also, the main control unit 5 gives the amount of movement of the magnetic head 2e obtained from the difference counter 57, and the offset correction value from the DAC 58a, to the drive unit 6. The main control unit 5 receives the VO signal S VO from the drive unit 6 and the peak hold signal from the read unit 7. The encoder 3b, the track cross pulse generator 63, and the difference counter 57 form a position control loop (system). Also, the encoder 3b, the speed signal generator 62 and the speed error detector 6l form a speed control loop (system). These control loops perform the position control of the voice coil motor 3a to a target track. After the speed of the voice coil motor 3a becomes approximately zero, these control loops perform a position correction control containing the offset correction by using the position signal S POS from the adder 65. The read unit 7 gives the peak hold signal for using the offset calculation to the main control unit 5. The read unit 7 also gives one of the data pulses and the pseudo-data as the read data to the host computer. Referring to Figs. 6a and 6b, the initial operation (processing) will be described. Steps 00l to 003 (S00l to S003) When a power is supplied to the MPS (S00l), the MPU 52 performs the seek-control for the magnetic head unit 2 at a track "0" (S002). An outer-guard-hand is provided at an outer circumference of the track "0" of the magnetic disc, and the magnetic head 2e is moved to the outer-guard-band by the voice coil motor 3a in response to the output from the difference counter 57. When the magnetic head 2f reaches the outer-guard-band, the magnetic head unit 2 is stopped. Thereafter, the magnetic head 2e is moved inward of the magnetic disc in a radial direction and is positioned at the track "0" by the voice coil motor 3a. Subsequently, the MPU 52 sets zero to the PCRP 56c and the PCRL 56d as a current address, i.e., the track "0". Steps 004, 005 (S004, S005) The MPU 52 reads a servo track address in the zone l, i.e., the physical address "50", from the ROM 54 and sets the physical address "50" to the TCRP 56a as the target track address (S004). The MPU 52 also sets a servo-correction flag to the correction confirmation flag table 56f (S005). Steps 006 (S006) The MPU 52 executes the seek control to position the magnetic head 2e at the target track, i.e., the servo track. The seek control can be carried out by the sequences (steps 02l to 03l) shown in Fig. 7 and explained below. Steps 02l and 022 (S02l, S022) The MPU 52 calculates the difference between the target physical address stored in the TCRP 56a and the present (current) physical address stored in the PCRP 56C and sets the calculated difference to the difference counter 57 as the moving distance. The MPU 52 sets the direction of which value is "l" when the target physical address is greater than the current physical address, or in other cases sets the value zero, to the DIR latch 59a (S02l). The MPU 52 sets "l" to the SEEK latch 59b (S022). As a result, the multiplexer 66 is made to select the speed error ΔV from the speed error detector 6l. The reference speed generator 60 generates the reference speed Vr in response to the output of the difference counter 57. The reference speed Vr has a polarity decided by the content of the DIR latch 59a. The speed error detector 6l calculates the speed error ΔV = Vr - Va, and the voice coil motor driver 67 receives the speed error ΔV through the multiplexer 66 and drives the voice coil motor 3a. The encoder 3b outputs the position signal S POS in response to a motion of the voice coil motor 3a, and the track cross pulse generator 63 outputs track cross pulses, subtracting the count in the difference counter 57. In this way, the position control and the speed control are carried out, and the magnetic head 2e is moved to the target physical track address by the voice coil motor 3a. Steps 023 and 024 (S023 and S024) The MPU 52 reads and checks the count in the difference counter 57 (S023, S024). When the count is zero, it is deemed that the magnetic head 2e has reached the target physical track address. Steps 025 and 026 (S025 and S026) The MPU 52 reads the content in the VO latch 5lb (S025). The VO detector 64 generates the zero speed signal when the actual speed Va falls to approximately zero, and the zero speed signal is latched in the VO latch 5lb at a logical "one". Accordingly, the MPU 52 checks the VO latched content (S026), and determines whether or not the speed of the voice coil motor 3a is zero when the VO latched content is one. Subsequently, the MPU 52 starts the position control. Step 027 (S027) The MPU 52 clears the SEEK latch 59b in the output register 59. As a result, the multiplexer 66 is made to output the position signal S PC from the adder 65. Steps 028 to 030 (S028 to S030) The MPU 52 checks a corresponding servo correction flag in he correction confirmation flag table 56f (S028). When the corresponding flag is indicates an offset measurement, the MPU 52 sets zero to the DAC 58a (S029). Otherwise, the MPU 52 reads the offset correction value of the zone of the target physical track address in the TCRP 56a from the offset correction register 56e and sets that value to the DAC 58a (S030), thus carrying out the normal access operation with the offset correction. As a result, the adder 65 adds the offset correction value from the DAC 58a and the position signal S POS from the encoder 3b. The offset-corrected position signal S PC is supplied to the voice coil motor driver 67 through the multiplexer 66. The voice coil motor 3a can be fine-controlled. Step 03l (S03l) The MPU 52 waits for a predetermined time, and then completes the seek control. The control is restored to step 007 (S007) in Fig. 6a. At step 007, the MPU 52 effects the offset measurement. The offset measurement can be carried out by the sequence shown in Fig. 8, as explained below. Steps 04l and 042 (S04l and S042) The MPU 52 resets the HOLE latch 5la in the input register 5l (S04l). As set forth above, the hole signal is generated at the comparator l3 in response to the rotation of the spindle motor ll at every position corresponding to the servo information storing portion on the magnetic disc lc. The MPU 52 then checks the HOLE latch after a reset (S042). Steps 043 to 045 (S043 to S045) When the HOLE latch 5lc is set, the magnetic head 2e has read the position information on the servo track. The MPU 52 reads the peak hold zero signals SVINF A and SVINF B at the areas A and B through the ADC 58b (S043 and S044), and then calculates the offset: OFFSET = SVINF A - SVINF B The MPU 52 also determines a direction of the offset: DIRECTION = l when OFFSET is positive, DIRECTION = 0 when OFFSET is negative. Steps 046 and 047 (S046 and S047) The MPU 52 stores the OFFSET to a corresponding area in the offset correction register 56e, and sets a flag to a corresponding area in the correction confirmation flag table 56f. Thereafter, the MPU 52 transfers the control to step 008 (S008) in Fig. 6b. Step 008 (S008) The MPU 52 sets the target physical track address in the TCRP 56a to the PCRP 56c as the present physical track address. By through the above operation, the servo track information read for a single servo track is obtained. Step 009 (S009) The MPU 52 checks whether or not the servo track information read for all servo tracks is completed (S009). Step 0l0 (S0l0) If not, the MPU 52 reads a next servo track address from the ROM 54 and sets the address to the TCRP 56a. The control is then transferred to step 006 and a next servo track information read is carried out. Steps 0ll to 0l3 (S0ll to S0l3) When the servo track information read for all servo tracks is completed, the MPU 52 resets the corresponding servo correction flag in the correction confirmation flag table 56f (S0ll), and sets zero as the physical track address to the TCRP 56a (S0l2). The MPU 52 carries out the seek control as shown in Fig. 7 in the same manner set forth above (S0l3), and as a result, the magnetic head 2f can be positioned at the track "0". Steps 0l4 to 0l6 (S0l4 to S0l6) The MPU 52 sets zero as the present track address to the PCRP 56c and PCRL 56d (S0l4), and then sets a time for updating the offset correction to the timer 55a, and starts the timer 55a (S0l5). The MPU 52 sets a logical "l" to the TRO latch 59d and the SC latch 59e in the output register 59. The track zero signal S TRO in the TRO latch 59d and the seek complete signal S SC in the SC latch 59e are transmitted to the host computer. Therefore, the initial operation is completed, and a command from the host computer is acceptable. The access processing will be described with reference to Figs. 9a and 9b. Steps 05l to 056 (S05l to S056) The MPU 52 reads the count in the step pulse counter 50 (S05l), and checks whether or not the count is zero (S052). The host computer gives the step pulses corresponding to a relative logical track address as a seek command, and a count of zero in the step pulse counter 50 indicates that the seek command has not reached the main control unit 5. When the step pulse count is zero, the MPU 52 waits. Otherwise, the MPU 52 transfers the count in the step pulse counter 50 to the TCRL 56b for storing the target logical track address (S053). The MPU 52 waits for a predetermined time (S054), and then again reads the count in the step pulse counter 50 (S055) and compares this count with the target logical track address in the TCRL 56b (S56). If the count does not coincide with the target logical track address, the transfer of the seek command from the host computer continues. The MPU 52 then repeats the operations of steps 053 to 056. Steps 057 and 058 (S057 and S058) If the steps pulse count coincides with the target logical track, the seek command transfer is completed, and the MPU 52 reads the direction from the host computer and stored in the ID latch 5la (S057). The MPU 52 then calculates a target logical track address on the basis of the logical relative track address in the TCRL 56b and the present logical track address in the PCRL 56d, and sets that address to the TCRL 56b (S058). Step 059 (S059) The MPU 52 translates the calculated target logical track address to a target physical track address, by a translation method as shown in Fig. l0. The translation in Fig. l0 is based on the relationship of the physical track address including the servo track addresses and the logical track address, as shown in Fig. 3. The MPU 52 saves the translated target physical track address to the TCRP 56a. Steps 060 and 06l (S060 and S06l) The MPU 52 finds a track zone corresponding to the target physical track address in the TCRP 56a, and confirms a flag in the correction confirmation flag table 56f corresponding to the found track zone (S060). After a lapse of the time set in the timer 55a, the flags are reset to update the offset correction values. During the update of the offset correction values, the flags are reset, and accordingly, the offset correction values are invalid. The above confirmation can be carried out to check the validity of the offset correction values. When a corresponding flag is set, the MPU 52 continues to step 063, or in other cases, to step 062. Step 062 (S062) The offset measurement is carried out as shown in Fig. ll. Steps 08l to 083 (S08l to S083) First, the MPU 52 sets the corresponding servo correction flag to the correction confirmation flag table 56f (S08l). Second, the MPU 52 transfers the target physical track address from the TCRP 56a to the PCRL 56d (S082). Then, the MPU 52 reads a servo track address in the track zone of the target physical track address from the ROM 54 and transfer that address to the TCRP 56a (S083). Step 084 (S084) The seek control is effected by the sequences as shown in Fig. 7, and as a result, the magnetic head 2f is positioned at the above desired servo track. Step 085 (S085) The offset correction is carried out by the sequences as shown in Fig. 8, and as a result, the offset correction value of that track zone can be obtained and stored in a corresponding area of the offset correction register 56e. The corresponding flag in the correction confirmation flag table 56f is also set. Steps 086 to 089 (S086 to S089) The MPU 52 resets the servo correction flag (S086), and transfers the target servo track address in the TCRP 56a to the PCRP 56c as the present physical track address (S087). The MPU 52 then restores the target physical track address saved in the PCRL 56d to the TCRP 56a (S088), and finally, the MPU 52 resets the VO latch 5lb (S089). After completion of the offset correction, the MPU 52 executes step 063 (S063) in Fig. 9b. Step 063 (S063) The seek control is carried out in accordance with the sequence of Fig. 7. The seek control is achieved on the basis of the target physical track address in the TCRP 56a and the present physical track address in the PCRP 56c and as a result, the magnetic head 2e is positioned at a data track of the target physical track address. Step 064 (S064) The MPU 52 transfers the target physical track address in the TCRP 56a to the PCRP 56c as the present physical track address and transfers the target logical track address in the TCRL 56b to the PCRL 56d as the present logical track address. Steps 065 to 068 (S065 to S068) The MPU 52 clears the step pulse counter 50 and the VO latch 5lb (S065), and checks the present logical track address in the PCRL 56d (S066). When the present logical track address is zero, in other words, when the magnetic head 2f is positioned at the track "0", the MPU 52 sets the TRO latch 59d (S067), or in other cases, resets the TRO latch 59d (S068). Steps 069 and 070 (S069 and S070) The MPU 52 resets the RD latch 59c to change the selection mode at the multiplexer 73 for outputting the data from the data pulse generator 7l (S069), and at the same time, sets the SC latch 59e to output the seek completion signal S SC to the host computer. The operation is then transferred step 05l and the above access processing is repeated. The host computer reads the data pulses from the data pulse generator 7l through the multiplexer 73 as read data and confirms the track number contained in the read data from the main control unit 5. If it is a read command, the host computer reads subsequent read data from the data pulse generator 7l. On the other hand, if it is a write command, the host computer writes data on the track through a write unit (not shown). As described above, the host computer gives the logical track address to the main controller 5 and the access with the offset correction for the physical track address for not only the magnetic discs provided with all data tracks but also the magnetic disc lc provided with servo tracks and data tracks is realized. The offset measurement is carried out at the initial operation, and in addition, is carried out at the reception of the seek command. Since the offset value may vary during a long operation, offset measurement should be carried out. However, if the offset measurement is carried out at each reception of the seek command, each seek time may become too long. Accordingly, the offset measurement should be carried out at a suitable time. On the other hand, in the above operation, if the offset measurement is carried out for the track zone where the seek command is generated to the track zone, and if the seek command is not generated for the track zones, the offset measurement for the track zones is not carried out. Under this condition, when the write access is carried out to the track zone in response to the seek access generation therefor, non-updated offset values can be used, and as a result, a data destroy due to position displacement may occur. In order to eliminate the above disadvantages, the compulsorily interruption processing for achieving the offset measurement must be carried out in good time. In addition, the offset measurement can be carried out while keeping a fundamental relationship between the host computer and the magnetic disc system. The MPU 52 starts the timer 55a with a predetermined time, and the timer 55a counts down the time by a timing pulse. When the time becomes zero, the timer 55a generates the interruption signal S INT and starts the offset measurement in the MPU 52. This operation will be described in more detail with reference to Fig. l2. Steps 09l, 092, 093 and 096 (S09l, S092, S093 and S096) Upon receipt of the interruption signal S INT , the MPU 52 checks all flags in the correction confirmation flag table 56f (S09l). If all flags are not zero, the MPU 52 clears the flags to zero, compulsorily setting the flags in an invalid condition (S092), loads the time to and starts the timer 55a (S096). Steps 092, 094, 095 and 096 (S092, S094, S095 and S096) When all flags are zero, it is deemed that no seek command has been received for a period of the elapse of the time in the timer 55a, and thus an offset update is not carried out for that period. The MPU 52 sets the RD latch 59c to inhibit the output of the data from the data pulse generator 7l through the multiplexer 72; in other words, to output the pseudo-data from the pseudo-data generator 72 (S094). The MPU 52 resets the TRO latch 59d to output the track "0" signal STRO of logical "0" to the host computer (S095), and the MPU 52 then execute the processing of step 096. If the host computer receives the pseudo-data and the track "0" signal of logical, the host computer may consider that the seek operation is incomplete and then retry the seek command transmission. Accordingly, by this virtual malfunction, the fundamental relationship between the host computer and the magnetic disc system is maintained. In other words, the host computer does not require an additional processing, and a data neglect for writing or reading is avoided. The above pseudo-data output can be replaced to cut data output instead of the pseudo-data output, for example, all one or all zero. This can be easily achieved by removing the pseudo-data generator 72. The above operation is briefly shown in Figs. l3a to l3e. The above operation is described in more detail with reference to Figs. l4a to l4f and Figs. l5a to Fig. l5h. In Fig. l4a, at a power ON (PWR ON), the offset measurement of the initial operation is carried out, and the measured offset values for all track zones are stored in the offset correction register 56e. All flags in the correction confirmation flag table 56f are also set, and thereafter, the timer 55a is initiated with the time T₁. Before a lapse of the first time T₁ , all offset values for the track zones l to 4, obtained at the initial offset measurement, are valid (Figs. l4c to l4f). During the first time T₁ , the access is executed with the offset value for a seek command to each track zone. When the first time T₁ has elapsed at a time t₀ , the interruption signal S INT is generated, and all offset values for all track zones are made invalid. The timer 55a is again set to the time T₁. During this time, when the seek command is generated at a time t₁, the offset measurement for the track zone relevant to the seek command, in the example, the track zone l, is carried out. Thereafter, the update of the measured offset value to a corresponding area in the offset correction register 56e, and the setting of a corresponding flag in the correction confirmation flag table 56f are carried out. Subsequently, the access is carried out by using an updated offset value. Note that the offset measurement for other track zones is not performed so that an access time for the seek command transmission is maintained as a short time. During the second time T₂ , if another seek command transmission for another track zone exists, the offset measurement for another track zone can be carried out. Conversely, as shown in Fig. l5b, if the seek command is not generated in a previous time T n-1 , the offset measurement is not carried out for the time T n-1 . If the seek command is generated for a next time T n , the offset measurement is effected. However, if a read or write command without a seek command is generated, in other word, a read or write command to a same track address is generated, the access of the magnetic head is not effected and only the read or write operation is effected. In this case, the offset measurement is not carried out. However, a new displacement of the track address may be generated. Under this condition, a correct read or write operation is not guaranteed. In order to eliminate this defect, when the seek command is not generated for the time T n-1 and all flags in the correction confirmation flag table 56f are zero, as shown in Fig. l2, the RD latch 59c is set at step 094. The host computer then reads the pseudo data but cannot discriminate the track number, and consequently, the host computer decides that an error has occurred. The retry operation is the seek operation for the track "0", and as a result, the seek operation of step 002 in Fig. 6a is carried out. When the seek operation at the track "0" is completed, the host computer sends a seek command to the above read or write track, the offset update of the track zone is carried out, and the access is performed by using the updated offset value. The RD latch 59c is reset to output the data from the data pulse generator 7l. Normally, the magnetic discs and the mechanism therefor are in a cold state where the temperature is low, for example, an ambient temperature T A , in an initial condition at the power ON. The temperature may be greatly increased with time, as shown in Fig. l6, and the temperature may saturate at a constant temperature T S . During the time of the temperature change, the offset may be greatly changed, and accordingly, a more precise offset update is needed during this interval. The second timer 55b in the main control unit 5 in Fig. 5 is provided to generate the interruption signal S INT to the MPU 52 during the above time, and the times T₁₀ , T₁₁ , T₁₂ and T₁₃ , as shown in Fig. l6, are determined on the basis of the temperature change. One of these times is set to the timer 55b by the MPU 52 with a time lapse, and the above offset update is carried out in response to each time lapse. The operation of the timer 55b is similar to that of the timer 55a, and thus a description thereof is omitted. After a predetermined time lapse, the timer 55a may be used instead of the timer 55a, and the above interruption operation may be carried out. The above interruption using the timer 55b for the temperature change time, can be easily replaced on the basis of a constant temperature change. When the temperature change becomes approximately zero, the transient interruption operation may be terminated. In the above embodiment, the logical track address from the host computer is the step pulse as a relative quantity and the step pulse counter 50 is used. The logical track address can be replaced by absolute type data, for example, serial data in digital form. Many widely different embodiments of the present invention may be constructed. It should be understood that the present invention is not limited to the specific embodiments described in this specification, except as defined in the appended claims.

Claims: A track access control system for a magnetic disc system connected to a host computer issuing a seek command, said track access control system comprising:- a magnetic disc unit (1) including at least one magnetic disc (1a ... 1d), at least one face of which includes a plurality of servo tracks (SVT) having one or more servo information storing portions and a plurality of data tracks in a radial direction thereof, the servo tracks being located among the data tracks; at least one magnetic head (2a ... 2h) for accessing said tracks on said face of said magnetic disc (1a ... 1d); magnetic head moving means (3a), connected to said magnetic head (2a ... 2h), for moving said magnetic head in the radial direction; control means (5) for controlling said magnetic head (2a ... 2h) via said magnetic head moving means (3a), to position said magnetic head at a desired radial position on said magnetic disc (1a ... 1d); rotation means (11), connected to said magnetic disc unit (1), for rotating said magnetic disc unit; timing signal generation means (12, 13), connected to said rotation means (11), for generating a timing signal corresponding to a rotation of said servo information storing portions (P11 ... P13); servo data generation means (3b, 5, 6), connected to said magnetic head (2a ... 2h) for reading servo information from said servo information storing portions through said magnetic head, and generating servo data in response to said timing signal of said timing signal generation means (12, 13); track offset update means (56), connected to said servo data generation means, for measuring and updating a track offset from said servo data for said plurality of servo tracks (SVT); characterised in that each servo track has a plurality of separate servo information storing portions (P11 ... P13) along the circumference of a circle; and in that said track access control system further comprises:- track address translation means (52, 57 ... 59) for receiving a target logical track address by said seek command, from said host computer, which is a track address sequentially given to only said plurality of data tracks in a radial direction, and for translating said target logical track address into a target physical track address, which is another track address sequentially given to said plurality of data tracks and said plurality of servo tracks in a radial direction, based upon the track structure of the magnetic disc to be accessed, wherein when said servo tracks (SVT) are located between a track of a current logical track address and a track of a target logical track address, a number of the servo tracks located therebetween are added to said target logical track address in order to translate said logical track address into said physical track address; and wherein said control means (5) is connected to said track offset update means (56) and said track address translation means (52, 57 ... 59), for controlling said magnetic head (2a ... 2h) through said magnetic head moving means (3a) by using said measured track offset corresponding to a translated target physical track to be moved thereat, to position said magnetic head at said translated physical track. A track access control system for a magnetic disc system according to claim 1, wherein said plurality of servo tracks (SVT) are provided in each of a plurality of track zones having equal numbers of physical tracks in the radial direction. A track access control system for a magnetic disc system according to claim 2, wherein each said servo track (SVT) in each track zone is provided at approximately the centre of each zone. A track access control system for a magnetic disc system according to claim 2 or 3, wherein said track offset update means (56) updates all track offsets for all track zones in an initial condition. A track access control system for a magnetic disc system according to claim 4, wherein said track offset update means (56) updates a track offset which is not updated after a predetermined time. A track access control system for a magnetic disc system according to claim 5, wherein said track offset update means (56) updates a track offset in response to reception of a seek command for moving said magnetic disc to a different track zone when said different track zone is not offset-updated in the predetermined time. A track access control system for a magnetic disc system according to claim 5, wherein said track offset update means (56) is compulsorily activated when at least one track zone is not offset-updated in the predetermined time. A track access control system for a magnetic disc system according to claim 7, wherein said control means outputs error data for an access command when said track offset update means (56) is compulsorily activated, and said control means (5) outputs normal data when said track offset update means terminates the offset update. A track access control system for a magnetic disc system according to claim 5, wherein said track offset update means (56) is compulsorily activated in response to a predetermined temperature change of at least said magnetic disc (1a ... 1d) during a temperature transient state. A track access control system for a magnetic disc system according to claim 9, wherein said track offset update means (56) is compulsorily activated in another predetermined time defined by a constant temperature change for the temperature transient state. A track access control system for a magnetic disc system according to claim 10, wherein said control means (5) outputs error data for an access command when said track offset update means (56) is compulsorily activated, and said control means outputs normal data when said track offset update means terminates the offset update.

Inventors: MASE, HIROYUKI, MASUDA, TAKEO
Applicants: FUJITSU LIMITED
Application year: 1987
Main classification: G11B5
IPC codes: G11B5