Abstract:
A method for generating an index pulse with an index pattern in a hard disk drive, is disclosed including the steps of: 
     (a) reading out and searching for a plurality of index patterns from a magnetic disk which previously stores patterns of sequential correlations in an index pattern domain of a servo domain of one sector; 
     (b) detecting whether the plurality of index patterns read and searched in the step (a) are sequential; 
     (c) detecting whether the index pattern is for the first sector, using the sequential correlation of the sectors, if the index patterns are sequential in the step (b); and 
     (d) transmitting an index pulse generating signal to a gate array to thereby generate an index pulse, if the first sector is detected in the step (c).

Description:
The subject matter of the present application is related to that in co-pending applications Ser. Nos. 08/653,968, entitled &#34;Method for Detecting Data Stroke for Disk Drive&#34;, filed May 28, 1996; 08/656,878, entitled &#34;System and Method for Controlling Spindle Motor for Hard Disk Drive Unit&#34;, filed May 30, 1996; 08/657,665, entitled &#34;Servo Information Recording Method for a Magnetic Recording Medium&#34;, filed May 31, 1996; 08/659,737, entitled &#34;Data Sector Pulse Generating Method&#34;, filed Jun. 6, 1996; 08/661,492, entitled &#34;Servo Sector Forming Method for Fast Detection and Track Address Correcting Method&#34;, filed Jun. 11, 1996; 08/676,962, entitled &#34;Sealing Device of Hard Disk Drive&#34;; and 08/661,491, entitled &#34;Method for Determining a Position of Track-Zero and Mapping Tracks According Thereto&#34;, filed Jun. 11, 1996, incorporated herein by reference. 
     FIELD OF THE INVENTION 
     The present invention relates to a hard disk drive, and more particularly, to a method of generating an index pulse. 
     BACKGROUND OF THE INVENTION 
     An index pulse of a hard disk drive is a pulse indicative of a first sector of one track on a magnetic disk. When a format command is performed by a disk controller, formatting is performed the reference to this pulse. The index pulse may also be used to indicate time-out of a command performance. When using a zone bit recording technique, the pulse may also be used as a reference for generating a data sector pulse, as different numbers of data sectors may be used for each zone. 
     The beginning of the first sector of each track is placed on the same line on a magnetic disk. In order to distinguish each of the first sectors, an index pulse is used. During a servo write, an index pattern is previously written on servo information in order to generate the index pulse. FIG. 1 is a diagram illustrating tracks, sectors and the generation position of the index pulse on a magnetic disk. 
     A plurality of concentric tracks may exist on a magnetic disk. The tracks are divided in units of sectors, and the number of sectors for one track may be determined by the characteristics of a hard disk drive. Each track may be divided into servo and data domains. Physical position information of the sector may be previously written on the servo domain. The data domain may be used to write or read data. 
     FIG. 2 is a diagram illustrating an enlarged servo domain of FIG. 1. The servo domain is made up of a servo sync, servo address mark (SAM), index pattern, gray code, and bursts. The servo sync, the beginning of the servo domain, is a domain for searching for the SAM. The SAM uses a special pattern which is not produced in the data section. Timing of the servo sector is taken as a reference with the time to detect SAM. The servo header contains information indicative of track position on the disk. The burst signal is indicative of position of the head within a track. The index pattern is made to generate the index pulse. 
     FIG. 3 is a block diagram of a conventional sector pulse generator, which comprises magnetic head 10, read/write processor 12, gate array 14, and disk controller 16. Magnetic head 10 reads coded data stored on a magnetic disk. Read/write processor 12 receives data read by magnetic head 10. Read/write processor 12 amplifies and decodes the read data. The index pattern read by magnetic head 12 is transmitted to gate array 14. Gate array 14 receives and decodes the index pattern. If the decoded index pattern is for a first sector, gate array 14 generates and transmits an index pattern to disk controller 16. 
     During a servo write, the index pattern of the first sector is usually written as information which is different from what is written for the index patterns of other sectors. For instance, the index pattern of the first sector is written with 1, and the index patterns of other sectors with 0. In this case, gate array 14 decodes the index pattern, and generates an index pulse in case of 1. 
     In a conventional sector pulse generating method, information written in the index pattern may be composed of one or two bits such that the first sector may be distinguished from other sectors with a different index pattern. However, other sectors may not be discriminated only by their index patterns. If a normal index pattern is destroyed due to defects on the disk, noise or other problems, or decoding is performed incorrectly, the index pulse may not be correctly generated for the first sector. In some instances, another pulse may be produced in other sectors but not in the first sector. 
     SUMMARY OF THE INVENTION 
     Therefore, it is an object of the present invention to provide a method for generating an index pulse with an index pattern in which an index pattern is interpreted to generate an index pulse and sector numbers are counted. 
     To accomplish the object of the present invention, there is provided a method for generating an index pulse with an index pattern in a hard disk drive. The method comprises the steps of: 
     (a) reading out and searching for a plurality of index patterns from a magnetic disk which previously stores patterns of sequential correlations in an index pattern domain of a servo domain of one sector; 
     (b) detecting whether the plurality of index patterns read and searched in the step (a) are sequential; 
     (c) detecting whether the index pattern is for the first sector, using the sequential correlation of the sectors, if the index patterns are sequential in the step (b); and 
     (d) transmitting an index pulse generating signal to a gate array to thereby generate an index pulse, if the first sector is detected in the step (c). 
    
    
     BRIEF DESCRIPTIONS OF THE DRAWINGS 
     FIG. 1 is a diagram illustrating tracks, sectors and the generation position of an index pulse on a magnetic disk. 
     FIG. 2 is a diagram illustrating the structure of the sectors and servo domain on the magnetic disk in detail. 
     FIG. 3 is a block diagram of a conventional index pulse generator. 
     FIG. 4 is a block diagram of an index pulse generator of the present invention. 
     FIG. 5 is a flowchart of an index pulse generating method of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Hereinafter, a preferred embodiment of the present invention will be described with reference to the attached drawings. In the following description, it should be noted that like components are indicated by like numerals whenever possible. Other details of the description and drawings are provided for deeper understanding of the present invention. It would be obvious to skilled persons in the art that the present invention can be implemented without such details. Well-known prior art features have been omitted for the sake of clarity. 
     FIG. 4 is a block diagram of an index generator of the present invention. FIG. 5 is a flowchart of an index pulse generating method of the present invention. The index pulse generator and generating method of the present invention will be described in detail with reference to FIGS. 1, 2, 4 and 5. 
     In this embodiment of the present invention, a magnetic disk of 80 sectors in one track is used. One sector of the magnetic disk includes servo and data domains. The servo domain comprises a servo sync domain, servo address mark domain, index pattern domain, servo header domain, and burst domain. An index pattern is recorded in the index pattern domain. The index pattern comprises information for generating an index pulse. In the preferred embodiment of the present invention, one track may have a plurality of sectors. The index patterns of each sector form a plurality of index groups. These index groups are illustrated in TABLE 1. 
     
                       TABLE 1______________________________________1st index group      1     1      1    0    0   0    0    12nd index group      1     1      1    0    0   0    1    03rd index group      1     1      1    0    0   0    1    14th index group      1     1      1    0    0   1    0    05th index group      1     1      1    0    0   1    0    16th index group      1     1      1    0    0   1    1    07th index group      1     1      1    0    0   1    1    18th index group      1     1      1    0    1   0    0    09th index group      1     1      1    0    1   0    0    110th index group      1     1      1    0    1   0    1    0______________________________________ 
    
     In a servo write, index patterns previously written correspond to an index group for every sector number. Each index pattern is made up with one bit. The index bits of eight sectors form ten index groups in the example where one track is composed of 80 sectors. The higher four bits of the index groups may be called the key pattern, whereas the lower four bits may be referred to as the sector data and the value of each of index group. 
     In the present example, the key pattern of the first index group is 1110, and the first sector data is 0001. The key pattern may have the same value in the same track. The sector data may be incremented by 1 whenever the index groups advance by one. The binary value of the first sector data of the first index group is 0001, and its decimal value is 1. The binary value of the second sector data of the second index group is 0010, and its decimal value is 2. The sector data of other index groups may also be incremented by 1 sequentially. 
     When magnetic head 10 moves to the data domain from the parking domain of the magnetic disk, CPU 18 detects the index pattern. Magnetic head 10 reads out the index pattern from the magnetic disk. The read index pattern is transmitted to read/write processor 12, which receives and transmits the index pattern to gate array 14. Gate array 14 decodes and stores the index pattern to the index bit register. 
     In step 20, CPU 18 detects whether index pattern searching is performed. CPU 18 performs step 22 when it does not perform index pattern searching. If index pattern searching is performed, step 34 is performed. In step 22, CPU 18 reads out the index pattern stored in the index bit register. CPU 18 detects whether an index pattern for the key pattern is present in the index patterns read. If so, CPU performs step 24. 
     In step 24, CPU 18 reads out the sector data stored after the key pattern detected, and stores the read data in the memory of CPU 18. Here, the sector data stored is called first sector data. If storage of the first sector data is completed, CPU 18 performs step 26. In step 26, CPU 18 reads out the index pattern stored after the sector data read in step 22 from the index bit register. CPU 18 detects whether the index pattern for the key pattern is present in the read index patterns. If the detection of the key pattern is finished, CPU 18 performs step 28. 
     In step 28, CPU 18 reads out sector data stored after the detected key pattern, and stores it in the memory of CPU 18. Here, stored sector data may be referred to as second sector data. If storage of second sector data is completed, CPU 18 performs step 30. In step 30, CPU 18 subtracts first sector data from second sector data. CPU 18 detects whether the subtracted value is 1 or not. The sector data is incremented by 1 for every index group. If the subtracted value is 1, the sector data of the two groups are sequential. If so, CPU 18 performs step 32, and if not, step 22. 
     In step 32, CPU 18 calculates sector numbers. Here, the calculation of the sector numbers are as follows. For instance, if the first index group is the third index group, and the second group is the fourth index group, the current sector number is a value in which the sector data of the second group is multiplied by 8. Here, 8 is multiplied because one group is made up with eight index patterns. 
     If the calculation of the current sector number is finished, CPU 18 stores the current sector number in the current sector register. If the storage of the current sector number is finished, CPU 18 performs step 42. In step 42, CPU 18 detects whether sector data stored in the current sector register is 1 or not. Here, this is because the index pulse must be generated from the first sector. If the stored sector number is 1, step 44 is performed. If not, the flowchart ends. 
     In step 44, CPU 18 sets the ENINDEX flag of gate array 14. The ENINDEX flag is made to generate an index pulse from gate array 14. Gate array 14 generates an index pulse when the ENINDEX flag is set. 
     Because the index searching is finished in step 34, the index bit register stores the first and second sector data. CPU 18 reads out the first sector data. If the reading of the data is completed, CPU 18 performs step 36. In step 36, CPU 18 reads out the current sector data stored in the current sector register. CPU 18 increments the read first sector data by 1, and multiplies it by 8. Then, it is detected whether the current data and the sector number calculated from the first sector data are identical. If they are the same, the two kinds of sector data are meant to be different by 1 and sequential. 
     If the two kinds of sector data are sequential, step 40 is performed, and if not, step 38 is performed. In step 38, CPU 18 increments the error counter by 1. If the error counter surpasses 1, CPU 18 re-performs step 22 in order to search for the index patterns. The detection of index pattern is not performed again if the counter does not surpass 1, but in case the error is generated over twice. 
     In step 40, CPU 18 increments the current sector number by 16. Here, the index value incremented by 16 becomes the sector number of the second index group. This incremented sector number is stored in the current sector register. If storage of the current sector number is completed, CPU 18 performs step 42. 
     As described above, in this invention, the sector numbers can be calculated in combination with index patterns after index patterns of multiple sectors are detected so that the index pulse can be generated from the first sector even when a normal index pattern is damaged due to the defects of magnetic disk, noise or other reasons, or decoding is performed incorrectly. 
     Therefore, it should be understood that the present invention is not limited to the particular embodiment disclosed herein as the best mode contemplated for carrying out the present invention, but rather that the present invention is not limited to the specific embodiments described in this specification except as defined in the appended claims. 
     While the preferred embodiment and various alternative embodiments of the invention have been disclosed and described herein, it may be apparent to those skilled in the art which various changes in form and detail may be made without departing from the spirit and scope of the invention.