CROSS REFERENCE TO RELATED APPLICATIONS
This application makes reference to, incorporates the same herein, and claims all benefits accruing under 35 U.S.C. §119 from an application entitled Disk Calibration Method In CD-ROM Drive System earlier filed in the Korean Industrial Property Office on 13 May 1995, and there duly assigned Serial No. 95-11815 by that Office.
BACKGROUND OF THE INVENTION
The present invention relates to a disk drive such as a compact disk, and more particularly, to a disk calibration and search method for a compact disk read only memory (i.e., a CD-ROM) disk drive, for increasing the setting accuracy of the number of disk tracks when a pickup searches the disk tracks in the disk drive.
As currently manufactured in commercial quantities, a compact disk is a small disk with, for example, a twelve centimeter outer diameter, on which a plurality of concentric or spiral tracks are formed along one side of the disk. These tracks comprise a multitude of fine grooves whose size corresponds to several micrometers are formed, and represent predetermined digitalized signals such as audio information signals and computer information signals. Each groove is called a pit and the space between the pits are called islands or lands. Generally, the tracks are spirally arranged from the center of the disk and the interval between the tracks is known as a pitch, and this interval or pitch is generally 1.6 μm.
When driving a sled motor for transferring a pickup of the compact disk drive radially across the disk, the rotation of the sled motor is controlled using a general frequency generator with a predetermined number of tracks in the disk corresponding to a single pulse generated from the frequency generator. For example, if a compact disk drive is designed such that a constant number of track zero crossing signals are always generated on the basis of a single rotation of the disk, due to manufacturing tolerances encountered during commercial production of the disk, the width of the pitch formed on the disk may vary between 1.4 μm to 1.8 μm, which are smaller and greater than the preferred standard pitch of 1.6 μm, respectively. That is, since the width of the pitch is not uniform, a different number of track zero crossing signals is generated for each disk. In addition, the difference in pitch causes an error in calculations performed during a track searching operation.
Therefore, in order to solve the above problem relating to the error in the above mentioned calculation, conventional compact disk drives adopt a method in which a program area of the disk is divided into twenty-four pages and the search is performed from a current page to an arbitrary page different from the current page, and then a searching error detected from the search process is reflected in the current page to update data of the current page. According to the conventional method, sufficient data updating should be achieved with respect to each current page so as to secure the ensuing correct search. Also, due to the deviation generated when the pickup searches the tracks from the inner circumference to the outer circumference of the disk, or from the outer circumference to the inner circumference of the disk, a microcomputer inner memory of 24(pages)×2×2 bytes is used, which I have discovered causes a lower efficiency in usage of the memory. Also, I have found that when the borders of the twenty-four pages of the disk are searched, the result obtained by calculating the track number is not particularly reliable. In addition, I have observed that when measuring the access time in the initial driving state of a compact disk drive, the track number is set on the basis of a test performance of only 100 to 500 access time measurements. Accordingly, since contemporary compact disk drives are not sufficiently stable, accuracy of the track search by the pickup is lowered.
SUMMARY OF THE INVENTION
It is therefore, an object of the present invention to provide an improved compact disk calibration process and apparatus.
It is another object to provide an improved process and an apparatus for locating the track of a circular memory such as a compact disk.
It is yet another object to provide a process and an apparatus for adjusting the calibration of a drive for a circular memory such as a compact disk.
It is still another object to provide a disk calibration process and disk drive, for increasing the setting accuracy of in setting the track number of a disk and improving efficiency when using a memory by minimizing the error in calculation of the track number when a pickup searches the disk disks' tracks on the memory in the disk drive.
To achieve these and other objects, there is provided a disk calibration and search process and apparatus for a disk drive, in which, after an initialization step, a pickup is jumped to a first position and moved radially in a predetermined direction in response to pulses generated by a frequency generator. During this radial movement the number of tracks crossed are is counted. The counting is continued until a predetermined number of the pulses generated by the frequency generator have been generated. A calculated frequency generator track number is then obtained by dividing the counted number of tracks by the predetermined number of pulses generated by the frequency generator, ie., calculating a unit track number of the disk per a single movement of the pickup, that is, the number of tracks the pickup moves per pulse generated by the frequency generator. The calculated frequency generator track number is stored in memory used to control the frequency generator for jumping the pickup during a search for a target track. An average pitch between the tracks is calculated in accordance with the calculated unit track number; and a moving amount of a drive to jump the pickup from a current position to a target track is then determined.
Also, the disk calibration apparatus and process contemplates performing a searching operation by jumping the pickup from the current position to the target track. Here, the searching operation may be performed by jumping the pickup to a target track to check the track number to of the target track, thereby initializing the track number with the checked track number; reading from the track the current location of the pickup on the disk and calculating the number (X) of tracks existing between the current position and the target track, where (X) is the track number (X) of tracks to be jumped by the pickup; determining whether a long jump of by the pick up pickup is required or not; performing a short jumping of jump by the pickup and determining whether the pickup jumps to the target track if it is determined in the searching operation that the long jump is not required; adjusting the initialized track numbers to the target track and returning the process to the step of reading the current location of the pickup on the disk if it is determined that the pickup has not jumped to the target track; checking whether the track number to the target track is equal to a value obtained by adding one to the initial value if it has been determined that a long jump is required; dividing the track number (X) to be jumped by the pickup by the initialized track number to the target track, the initialized track number being obtained from the pitch if the track number to the target is not equal to a value obtained by adding one to the initial value and moving the driving means of the pickup on the basis of the value obtained; and readjusting the track number by regulating an average pitch if it has been determined that the track number to the target track is equal to a value obtained by adding one to the initial value.
The track number may be re-adjusted by comparing the current jumping direction of the pickup and the previous jumping direction to check whether both jumping directions are the same each other; dividing the track number (X) to be jumped by the pickup by a reference value and adding the obtained value to the previously accumulated value to provide a first accumulated value if it has been determined that the current and previous jumping directions are the same; determining whether the first accumulated value exceeds the reference value; adjusting the unit track number by adding a predetermined value to the unit track number if the first accumulated value exceeds the reference value; dividing the track number (X) to be jumped by the pickup by the reference value and subtracting the obtained value from the previously accumulated value to provide a second accumulated value it has been determined that the current jumping direction is not equal to the previous jumping direction; determining whether the second accumulated value is below zero; and adjusting the unit track number by subtracting a predetermined value from the unit track number if the second accumulated value has been determined to be below zero.
BRIEF DESCRIPTION OF THE DRAWINGS
The above object and advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof with reference to the attached drawings in which:
FIG. 1 is a perspective view of an abstract representation of the structure of a commercially available compact disk for a CD-ROM drive;
FIG. 2A is a diagram partially showing the track structure of a compact disk of the type shown in FIG. 1, configured with a standard pitch;
FIG. 2B is a diagram partially showing the track structure of a compact disk of the type shown in FIG. 1, configured with a pitch being smaller than the standard pitch;
FIG. 2C is a diagram partially showing the track structure of a compact disk of the type shown in FIG. 1, configured with a pitch being greater than the standard pitch;
FIG. 3 is a schematic diagram of a mechanism for enabling a CD-ROM drive to perform disk calibration according to the principles of the present invention;
FIG. 4 is a block diagram schematically illustrating a circuit for the CD-ROM drive shown in FIG. 3 constructed according to the principles of the present invention;
FIG. 5 is a flowchart illustrating the steps for performing a first subroutine for adjusting track numbers in the disk calibration process performed according to the principles of the present invention;
FIG. 6 is a flowchart illustrating the steps for performing a search subroutine in the disk calibration process performed according to the principles of the present invention; and
FIG. 7 is a flowchart illustrating the steps for performing a second subroutine for adjusting track numbers in the disk calibration process performed according to the principles of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
Turning now to the drawings, a compact disk 10 is a small disk with, for example, a twelve centimeter outer diameter as shown in FIG. 1, on which a plurality of concentric or spiral tracks 10a are formed. These tracks comprise a multitude of fine grooves whose size corresponds to several micrometers are formed. These grooves are formed in one side of the compact disk 10 and represent predetermined digitalized signals such as audio information signals and computer information signals. Each groove is called a pit and the space between the pits are called islands or lands. As shown in FIG. 1, tracks 10a are spirally arranged from the center of the disk and the interval between the tracks is known as a pitch, and this interval or pitch is generally 1.6 μm as shown in FIG. 2A.
When driving a sled motor for transferring a pickup of the CD-ROM drive radially across disk 10, the rotation of the sled motor is controlled using a general frequency generator. That is, when designing the CD-ROM drive, a predetermined number of tracks in the disk correspond to a single pulse generated from the frequency generator. For example, the CD-ROM drive is designed such that a constant number of track zero crossing signals are always generated on the basis of a single rotation of the disk. However, due to a problem in the manufacturing of the disk, the width of the pitch formed on the disk may be 1.4 μm or 1.8 μm as shown in FIGS. 2B and 2C, which are smaller and greater than the standard pitch of 1.6 μm, respectively. That is, since the width of the pitch is not uniform, a different number of track zero crossing signals is generated for each disk. In addition, the difference in pitch causes an error in calculations performed during a track searching operation.
Therefore, in order to solve the above problem relating to the error in the above mentioned calculation, the conventional CD-ROM drive adopts a method in which a program area of the disk is divided into twenty-four pages and the search is performed from a current page to an arbitrary page different from the current page, and then a searching error detected from the search process is reflected in the current page to update data of the current page. According to conventional practice however, sufficient data updating should be achieved with respect to each current page so as to secure the ensuing correct search. Also, due to the deviation generated when the pickup searches the tracks from the inner circumference to the outer circumference of the disk, or from the outer circumference to the inner circumference of the disk, a microcomputer inner memory of 24(pages)×2×2 bytes is used, which causes a lower efficiency in usage of the memory. Also, when the borders of the twenty-four pages of the disk are searched, the result obtained by calculating the track number is not reliable. In addition, when measuring the access time in the initial driving state of the CD-ROM drive, the track number is set on the basis of a test performance of only 100 to 500 access time measurements. Accordingly, since the CD-ROM drive is not under a sufficiently stable condition, accuracy on the track search by the pickup is lowered.
Shown in FIG. 3, is a CD-ROM disk drive system having a frequency generator 12 for generating a pulse used to detect an amount of rotation of a sled motor 11 installed at the end of a shaft of sled motor 11, and an optical sensor 13 for detecting the rotation of frequency generator 12 is installed adjacent the frequency generator 12. Optical sensor 13 detects the pulse generated from frequency generator 12 in accordance with the rotation of sled motor 11. Here, the CD-ROM drive is designed so that frequency generator 12 generates 20 pulses and a pickup 14 jumps 480 tracks on a disk 16, during a single rotation of the sled motor 11. The current jumping amount of the pickup 14 is calculated on the basis of the number of pulses generated from the frequency generator 12 while the tracks are being searched by the pickup 14. Disk 16 is rotated by spindle motor 15. Also, reference numerals 17 and 18 represent gears engaged to each other in accordance with the radiation of sled motor 11, and reference numeral 19 is a sled with a rack structure, which reciprocates pickup 14 in accordance with the rotation of gears 17 and 18.
Also, as shown in FIG. 4, the CD-ROM disk drive system includes a microprocessor 41 for controlling the whole system, a short-jump controller 42 for controlling a short jump of pickup 14 in accordance with a control command from microprocessor 41, and a program memory 43 for storing various data used for reproducing information from disk 16.
Next, the disk caliration and search operation of the present invention, performed by the above CD-ROM disk drive system, will be described with reference to FIGS. 5, 6 and 7.
FIG. 5 is a flowchart depicting a first subroutine performed by microprocessor 41 for disk calibration. When a disk is replaced by a new disk or the CD-ROM drive is reset, the CD-ROM drive initializes itself, step 51. Here, the term “initialization” means a chain of processes for starting such operations as focusing, tracking, and motor servo control. After initialization is completed, pickup 14 of the disk drive jumps to an inner circumference of the disk, that is, to a predetermined initial position, step 52, such as the track lead-in area. Then, while pickup 14 of the disk drive jumps towards the outer circumference of the disk, step 53, a counter (not shown) installed in microprocessor 14 41counts, step 54, the number of pulses generated from frequency generator 12 in accordance with the rotation of sled motor 11. Here, the track number can be counted by counting the pulse number. It should be noted, however, that the counting operation is delayed for a predetermined period (e.g., 500 μsec), in order to stabilize the pickup 14 after the initial jump in step 52. Also, since the pulse is counted on the basis of the edge of the pulse, it is checked, step 55,a check is made during step 55 to determine whether the starting point of the pulse counting is the edge of the pulse, prior to the actual counting of the number of pulses generated from the frequency generator 12. When the starting point of the pulse counting is not the edge of the pulse, the counter existing in the microprocessor 41 continuously checks whether the starting point is the edge of the pulse. When the starting point is the edge of the pulse, it is checked whether a track is detected by pickup 14, step 56. When a track is not detected by pickup 14, microprocessor 41 continuously checks pickup 14 for the detection of a track.
For each track detected by pickup 14, a counter accumulatively sums the number of the tracks detected, step 57. Thereafter, it is checked a check is made to determine whether the pulse number counted by the counter of the microprocessor 41 is equal to or greater than 160, step 58. Here, the number 160 was determined based on the data which is obtained through 8 full rotations of the disk during all experimental procedures using the CD-ROM drive system designed so that frequency generator 12 generates 20 pulses per one rotation of the disk. If the pulse number is not equal to or greater than 160 in step 58, the processes are repeated from step 56. Otherwise, when the pulse number is equal to or greater than 160, a frequency generator track number (Z) is calculated by diving dividing the summed track number by 160, step 59,, ie., microprocessor 41 calculates a unit track number of the disk per a single movement of pickup 14, that is, the number of tracks the pickup moves per pulse generated by the frequency generator. The calculated track number (Z) is stored (set) in program memory 43, step 60, and the process returns to a root program in microprocessor 41 in order to perform another rotation. Microprocessor 41 also calculates an average pitch between the tracks in accordance with the calculated unit track number.
Through the above chain of steps, the initial disk calibration operation is completed. Then, on the basis of the track number (Z) stored in the program memory 43, a number of tracks to be jumped by the pickup 14 for performing a search operation is converted into a pulse number to be generated by frequency generator 12 during program performance.
Referring now to FIG. 6, a search subroutine for jumping the pickup to a target track from a current position is performed in the disk drive on the basis of the frequency generator track number (Z) set as described above. First, microprocessor 41 controls pickup 14 to jump to the target track using the frequency generator track number Z as data, so as to initialize the track number to the target track. Here, if an error is generated during this jumping process, where the frequency generator track number (Z) is not equal to the track number to the target track, the search operation is repeatedly performed to adjust the track number to the target track, thereby initializing the adjusted track number, step 61.
Next, the current location of pickup 14 on disk 16 is read out and the distance from the read out current position to the target track is calculated, step 62. After the distance calculation, a number of tracks (X) to be jumped by pickup 14 is calculated, step 63, and then it is determined whether a long jump is required or not, step 64. The determination of whether a long jump is required is based on the number of tracks (X) to be jumped. If the long jump is not required, pickup 14 performs a short jump, step 65. A short jump is a jump of a predetermined number of tracks. Then, it is checked in step 66 whether the intended target track was reached by the short jump. If the short jump does not reach to the target track, a value, such as one, is added to the initial track number to the target track, i.e., the initial value of the number of tracks (X) to be jumped, step 66, and then the process returns to the step 62. If the short jump reaches the target track, the process returns to the root program in microprocessor 41.
On the other hand, if it is determined in the step 64 that the long search (i.e., a “long jump”) is required, a check is made to determine whether the track number to the target track is equal to a value obtained by adding one to the initial value of the number of tracks (X) to be jumped, step 68. If the track number is not equal to the value obtained by adding one to the initial value, the track number of tracks (X) to be jumped by the pickup is divided by the initial unit track number to for the traget target track, step 69 to obtain a value (Y). Then, in step 70, the sled motor 11 is rotated in accordance with a pulse number converted from the value (Y) obtained in the step 69, and then the process proceeds to step 66 discussed above.
On the other hand, when it is determined in step 68 that the track number to the target track is equal to the value obtained by adding one to the initial value, a second subroutine for adjusting the track number is performed, step 71, and then the process proceeds to step 69 discussed above. Here, this second subroutine for adjusting the track number is for compensating for a search error generated during the search subroutine performance due to a defect of the disk.
The process of this second subroutine for adjusting the track number will be described with reference to FIG. 7. First, the current jumping direction and the previous jumping direction are compared (step 81). Then, it is checked whether the current jumping direction is the same as the previous jumping direction (step 82). If the current jumping direction is the same as the previous jumping direction, a value (U) is obtained by dividing the track number (X) to be jumped by the pickup 14 by 100. Here, the numerals “100” is arbitrarily set for the convenience of calibration with regard of 300˜400 error tracks. The value (U) is added to a value (P) obtained by accumulatively summing the values (U) to set a new value (P) (step 83). Then, it is determined that whether the newly set value (P) is over 100 (step 84). If the newly set value (P) is over 100, a value obtained by adding one to the frequency generator track number (Z) is set as a new frequency generator track number (Z) and the value (P) is set as zero. This adjusted frequency generator track number is stored in the microprocessor 41. Otherwise, if it is determined in the step 84 that the value (P) is not over 100, the process returns to the root program.
On the other hand, if it is determined in the step 82 that the current jumping direction is not equal to the previous jumping direction, a value (U) is obtained by dividing the track number (X) to be jumped by the pickup 14 by 100 and the value (U) is subtracted from value (P) to set a new value (P) (step 86). Then, it is determined whether the newly set value (P) is below zero (step 87). If the newly set value (P) is not below zero, the process returns to the root program. Otherwise, if the newly set value (P) is below zero, a value obtained by subtracting one from the frequency generator track number (Z) is set as a new frequency generator track number (Z) and the value (P) is set as 100 (step 88).
As described above, in the disk calibration method in the disk drive according to the present invention, the track number of each disk inserted into the disk drive is adjusted at the initial state in accordance with the number of pulses generated from the frequency generator, thereby improving accuracy in the disk calibration. Also, the error generated during the searching operation of the pickup is compensated through a simple process. Furthermore, since less internal memory is used for performing the above calibration process, the memory efficiency is increased.