When an optical storage device such as a Digital Versatile Disk (DVD) drive or a Compact Disk Read Only Memory (CD-ROM) drive is instructed by the host computer to retrieve data from a disk, the device will in most cases need to move an optical pickup or head to a different radial position. A servo algorithm implemented in firmware is used to command radial movement to an actuator to which the head is attached. To complete the servo loop, the current radial position of the head must be known. Information is stored on an optical disk in concentric or spiral tracks and position information is found by counting track crossings with a track count block 100 as shown in the block diagram of a typical optical storage system 10 in FIG. 1 while various waveforms are illustrated in FIG. 2.
The conventional optical storage device 10 includes an optical pickup and associated circuitry 12 for receiving optical signals from a disk and generating corresponding RF signals 200, a read channel 14, a decoder 16 and an interface 18 for transmitting/receiving data and command signals to/from a host device (not shown). Additionally, the device 10 includes an envelope detector 20 coupled to receive the RF signals 200 and generate a signal T-B.sub.-- ENV 202 representing the difference between the amplitude of the top of the RF signal envelope 200 and the amplitude of the bottom of the RF signal envelope 200.
If the optical device 10 reads DVD disks, a differential phase detector 22 generates a DVD.sub.-- PES (position error signal) 210 from phase detection signals A, B, C and D received from the pickup 12. If the optical device 10 reads CD-ROM disks (either exclusively or in addition to reading DVD disks), a differential amplifier 24 and an analog-to-digital converter 26 generate a CD-ROM.sub.-- PES 206 from phase detection signals E and F received from the pickup 12.
Exemplary waveforms of the RF signal 200, the T-B.sub.-- ENV signal 202, CD-ROM.sub.-- PES 206 and the DVD.sub.-- PES 210 are illustrated in FIG. 2. Each of these signals is input into the track count block 100. The conventional optical storage device 10 typically employs a dual-phase track counting method and requires that the T-B.sub.-- ENV signal 202 be filtered by an RF filter 101 and "sliced" by a slicer 102 relative to a threshold 204, resulting in an RF.sub.-- SLICE signal 212. Additionally, the appropriate PES (depending upon the type of disk in the storage device 10) must be selected by a multiplexer (MUX) 108, filtered by a PES filter 110 and sliced by a slicer 112 relative to a threshold 205 to generate a PES.sub.-- SLICE signal 214.
Count logic 104 causes a counter 106 to increment or decrement depending on the phase relationship of RF and PES slice signals 212 and 214. When the optical pickup 12 moves in one direction relative to the tracks, the PES.sub.-- SLICE signal 214 leads the RF.sub.-- SLICE signal 212 by 90 degrees; if the pickup 12 moves in the opposite direction, the PES.sub.-- SLICE signal 214 lags the RF.sub.-- SLICE 212 by 90 degrees. (Although only the phase of the PES signal 206 changes when the track crossing direction changes, because of physical imperfections in the disk, a sinusoidal component called runout may be superimposed on the seek profile. The effect will be that the observed track count appears as if it is opposite to the intended direction. For a track counting system to be accurate, changes in direction must be accurately accounted for; consequently, both the RF and PES signals must be used.)
When a seek is to be performed, servo firmware loads the counter 106 with a tracks-to-go number representing the number of tracks between the current track and the target track. The firmware also asserts a seek-in-progress signal to the counter 106 allowing the counter 106 to count down in response to a signal from the count logic module 104 and output a track count signal 216 having a resolution of 1/4 track. Additional counter input signals are seek-direction and quadrature-direction which are used to change the track count direction for a given RF to PES phase relationship. The spiral-compensation signal, also an input to the counter 106, increments or decrements the track count each time an index occurs during a seek, determined by the disk's spiral direction.
The dual-phase track count method has worked well in CD-ROM applications but has numerous drawbacks when applied to DVD. Maximum seek velocities in DVD devices are much higher than typical CD-ROM seek velocities and can cause unreliable detection of the RF modulation. For example, at 500,000 tracks per second in a 1.times. continuous linear velocity (CLV) DVD device, the actual velocity of the media under the head can be as slow as 80% of nominal. Assuming that there are 26,175,000 bits per second and that one-fourth of the expected RF modulation period is needed to define a peak, then ##EQU1## channel bits are available to define the peak. Because the average wavelength is 4.7 channel bits, an average of only one peak will be available to be peak detected by the envelope detector. Taking resolution effects into account, the peak detected signal is likely to be smaller than when the modulation is slower. Therefore, at high velocities, many of the track crossings will be missed by the RF.sub.-- SLICE signal 212.
Another drawback is that DVD signals are noisy and incompatible with dual-phase. The depth of modulation in the DVD RF signal 200 is specified to be smaller than the corresponding signal in a CD-ROM device. The signal to noise ratio is thereby reduced at the input to the RF slicer 103 and the track count error rate is increased. The purpose of the filter 10 is to reject some of the noise. Because the signal of interest is a sine wave with a widely varying frequency, an optimum filter would be a tracking bandpass filter. However, conventional technology does not currently allow a practical implementation of such a filter; rather, a low pass filter is typically used but at high seek rates, the bandwidth is greater than necessary, thereby permitting low frequency noise to pass. While the bandwidth can be changed, intervention by firmware is required.
Another measure of the error rate margin is the relative spacing of the edges of the slice signals 212 and 214. The rising edge of the signal 214 should be in the center of the positive pulse of the signal 212 and every edge should be in the center of an opposing signal pulse. Thus, the duty cycle of the signal should be 50% for constant seek velocities. To meet this constraint, the slicer threshold should be halfway between the maximum excursions of the signals at the input to the slicers 102 and 112. Because the depth of modulation can vary from disk to disk, the RF slicer threshold must be calibrated for each. However, even when calibrated, the threshold will be non-ideal in certain regions of the disk and the slice signals 212 and 214 will have poor duty cycles. The problem is exacerbated by the sawtooth-wave form of the DVD.sub.-- PES 210.
To compensate, a firmware Kalman filter can be used to estimate the track count and correct errors. However, a firmware Kalman filter can generally only detect large, defect-caused errors and can fail to detect small, noise-induced track slips. The filter also is heavily dependent on the track counts being received at regular intervals. If the T-B.sub.-- ENV or PES thresholds are incorrect, the RF or PES slice duty cycle will not be 50% and the count steps will be irregular, necessitating a larger error detection threshold. It is especially difficult for the firmware filter to detect errors as the filter instruction rate is 88,000-176,000 instruction cycles per second while the maximum track crossing rate is greater than 500,000 tracks per second.
Moreover, current systems use no information about any previous state of the system. Consequently, errors in the track count can resemble instantaneous changes in velocity even though such changes are physically impossible.