SERVO DETECTION USING A CORRELATION DATA STRUCTURE FOR CONCURRENT PROCESSING OF QUAD SIGNALS

Abstract: Servo circuitry (422) for correlating signals using a correlation data structure (570) is disclosed. The servo circuitry is comprised of a setup system (550) coupled to a correlation system (540) that contains the correlation data structure. The setup system receives four signals (A-D) and converts the signals to digital values. The correlation system takes the digital values and enters them into the correlation data structure. The correlation data structure yields a correlation value based on the digital values. The servo circuitry advantageously yields the correlation value that is a function of all four signals using the correlation data structure.

Description: SERVO DETECTION USING A CORRELATION DATA STRUCTURE FOR CONCURRENT PROCESSING OF QUAD SIGNALS Background of the Invention 1. Field of the Invention The invention relates to the field of optical storage systems, and in particular, to servo circuitry in an optical storage system for correlating signals in the optical storage system. 2. Statement of the Problem An optical disk stores data on circular tracks on its surface. An optical disk device reads the optical disk by centering an optical head over a track, reflecting a light beam off of the surface of the disk, and detecting the reflected light beam with a four-quadrant photo-detector. The photo-detector generates a signal for each quadrant and transfers the four signals to servo circuitry. The servo circuitry uses the quadrant signals to keep the optical head centered over the track when following the track to read from the optical disk. The optical disk device is also able to seek out a particular track on the optical disk to read from that track. The optical disk device seeks by counting the number of tracks that the optical head crosses over during the seek. The servo circuitry again uses the quadrant signals to count track crossings and locate the desired track. A problem with the current servo circuitry is if the optical head tilts while following a track or seeking for a track, the servo circuitry may improperly position the optical head due to the manner in which the servo circuitry uses the quadrant signals. FIG. 1 shows an optical disk system 100 in the prior art. Optical disk system 100 is comprised of an optical disk device 102 coupled to a servo system 104. Optical disk device 102 includes an optical head that contains an optical transducer and a four-quadrant photo-detector 110. Servo system 104 is comprised of a servo detector 106 connected to a servo controller 108. Servo detector 106 is comprised of diagonal signal generators 122-123, a positive correlator 126, a negative correlator 128, an Adaptive Dual Arm Correlator (ADAC) 130, and a track counter 132. Optical disk device 102 is connected to diagonal signal generators 122-123 in servo detector 106. Diagonal signal generators 122-123 are connected to positive correlator 126 and negative correlator 128. Positive correlator 126 and negative correlator 128 are connected to ADAC 130. ADAC 130 is connected to track counter 132 and servo controller 108. Track counter 132 is connected to servo controller 108. The servo controller 108 is connected to optical disk device 102. Optical disk device 102 stores data on an optical disk in the form of a series of pits arranged into tracks. The data is encoded on pit edges. The pit lengths and the distance between pits are integer channel bit periods. Run-length limited encoding determines the distance between edges. To read from the optical disk, the optical disk device 102 positions the optical head over the optical disk. The optical transducer projects a light beam onto a surface of the optical disk. The light beam reflects off of the pits and the surface of the optical disk, and onto photodetector 110. Photodetector 110 has four quadrants and each quadrant generates a signal. For instance, quadrant B generates a signal B representing the reflection of the light beam captured by quadrant B. If the optical head is centered over a track on the optical disk and the track runs parallel to a line between quadrants A and B, then quadrants A-D will see substantially similar light power and will generate similar amplitude signals. If the optical head is off-center, quadrants A and D see substantially similar light power and quadrants B and C see substantially similar light power. In the off-track case the sum of the power at quadrants A and D is different from the sum of the power at quadrants B and C. Photo-detector 110 transfers respective signals A-D to servo system 104. Servo system 104 processes embedded tracking error data to center the optical head over the track with logic appreciated by one skilled in the art as follows. Servo system 104 receives signals A-D. Signals A-D include encoded user data and the embedded tracking error data. A read channel circuit (not shown) processes signals A-D to detect the encoded user data. Servo system 104 processes signals A-D to detect the embedded tracking error data. The embedded tracking error data is not physically written onto the optical disk, but is inherent to optical systems and results from the reflection of the light beam changing as the optical head moves off-track. Servo system 104 uses the embedded tracking error data to center the optical head during track following functions and to find a particular track during seek functions. Within servo system 104, servo detector 106 generates a Position Error Signal (PES) and a track count signal by logic appreciated by one skilled in the art as follows. The PES represents how far off track the optical head is during the track following functions. The track count signal represents track crossings during the seek functions. Diagonal signal generator 122 receives signal A and signal C from photo-detector 110. Diagonal signal generator 122 adds signal A and signal C to generate a diagonal signal S1. Diagonal signal generator 122 transfers S1 to positive correlator 126 and negative correlator 128. Diagonal signal generator 123 receives signal B and signal D from photo-detector 110. Diagonal signal generator 123 adds signal B and signal D to generate a diagonal signal S2. Diagonal signal generator 123 transfers S2 to positive correlator 126 and negative correlator 128. Positive correlator 126 receives S1 from diagonal signal generator 122 and S2 from diagonal signal generator 123. Positive correlator 126 correlates S1 and S2 by summing S1 and S2 over a length L bits, where L represents a correlation length. Positive correlator 126 generates a positive correlation CorrP and transfers CorrP to ADAC 130. Negative correlator 128 also receives S1 from diagonal signal generator 122 and S2 from diagonal signal generator 123. Negative correlator 128 correlates S1 and S2 by summing S1 and S2 over the length L bits. Negative correlator 126 generates a negative correlation CorrN and transfers CorrN to ADAC 130. ADAC 130 receives CorrP from positive correlator 126 and CorrN from negative correlator 128. ADAC 130 generates the PES by taking the difference between CorrP and CorrN. ADAC 130 transfers the PES to servo controller 108. ADAC 130 also receives S1 and S2 from diagonal signal generators 122-123.. ADAC 130 generates a Phase Offset Signal (POS) by determining the offset between S1 and S2. ADAC 130 transfers the POS to track counter 132. The POS is a sinusoidal signal that is cyclic with track crossings. Track counter 132 receives and filters the POS with a programmable band pass filter. Track counter 132 slices the filtered POS and counts the number of edges to generate the track count signal. Track counter 132 transfers the track count signal to servo controller 108. Servo controller 108 uses the PES to center the optical head during the track following functions and the track count signal to position the optical head over the particular track during the seek functions. A problem with servo detector 106 is ADAC 130 is an adaptive algorithm that relies on a measured phase difference between the diagonal signals S1 and S2 to be linear between +/- pi. In practice the phase difference is more apt to be sinusoidal. ADAC 130 has problems track counting and finding a transducer gain for servo system 104 during calibration. Another problem is noise and defects easily corrupt track counter 132. Track counter 132 uses a programmable filter to ameliorate the effects of noise. However, the filter requires the servo detector 106 adjust a bandwidth of the POS according to the seek velocity. Unfortunately, the filter limits the bandwidth of track counter 132 and requires the servo detector 106 adjust a bandwidth of the POS according to the seek velocity. FIG. 2 shows diagonal signal generator 122 in the prior art. Diagonal signal generator 122 is comprised of band-pass filters 202-203, comparators 212-213, samplers 222-223, delays 232-233, and OR circuit 242. Band-pass filter 202 connects to comparator 212. Comparator 212 connects to sampler 222. Sampler 222 connects to delay 232. Delay 232 connects to OR circuit 242. Band-pass filter 203 connects to comparator 213. Comparator 213 connects to sampler 223. Sampler 223 connects to delay 233. Delay 233 connects to OR circuit 242. In operation, band-pass filter 202 receives analog signal A from photodetector 110. Band-pass filter 202 filters signal A to attenuate noise and generates a first filtered signal. Band-pass filter 202 transfers the first filtered signal to comparator 212. Comparator 212 converts the first filtered signal into a first polarity square wave using hysteresis and transfers the first polarity square wave to sampler 222. Sampler 222 samples the first polarity square wave to generate a first binary square wave. Sampler 222 transfers the first binary square wave to delay 232. Delay 232 delays the first binary square wave in order to calibrate seπ o system 104 according to the characteristics of optical disk device 102. Delay 232 transfers the delayed first binary square wave to OR circuit 242. Band-pass filter 203 receives analog signal C from the photodetector 110. Band-pass filter 203 filters signal C to attenuate noise and generates a second filtered signal. Band-pass filter 203 transfers the second filtered signal to comparator 213. Comparator 213 converts the second filtered signal into a second polarity square wave using hysteresis and transfers the second polarity square wave to sampler 223. Sampler 223 samples the second polarity square wave to generate a second binary square wave. Sampler 223 transfers the second binary square wave to delay 233. Delay 233 delays the second binary square wave in order to calibrate servo system 104 according to the characteristics of optical disk device 102. Delay 233 transfers the delayed second binary square wave to OR circuit 242. OR circuit 242 receives the first and second binary square waves from delay 232 and delay 233 respectively. OR circuit 242 ors the first binary square wave and the second binary square wave to generate diagonal signal S1. OR circuit 242 transfers S1 to positive correlator 126 and negative correlator 128. Diagonal signal generator 123 operates the same way on signal B and signal D to generate diagonal signal S2. Diagonal signal generator 123 transfers S2 to positive correlator 126 and negative correlator 128. A problem with diagonal signal generator 122 is its susceptibility to lens shift. Lens shift occurs when the amplitude of two of the quadrant signals A-D decrease while the other two remain the same. The decrease in the amplitude of two signals is commonly caused by a tilt in a lens in the optical head. The amplitude variation adversely affects the phase of diagonal signals S1 and S2 when diagonal signal generators 122-123 add signals A-D to generate S1 and S2. Lens shift changes the PES's baseline as a function of radial lens tilt. Lens shift can cause servo system 106 to improperly position the optical head when track following. Lens shift can also cause track counter 132 problems in slicing the POS to generate the track count signal. Delays 232-233 reduce effects of lens shift, but after calibration using a complicated calibration algorithm. FIG. 3 shows positive correlator 126 in the prior art. Positive correlator 126 is comprised of delays 302-303, ΣXNORs 306-307, and an adder 310. Delay 302 connects to ΣXNOR 306. ΣXNOR 306 connects to adder 310. Delay 303 connects to ΣXNOR 307. ΣXNOR 307 connects to adder 310. In operation, delay 302 receives S2 from diagonal signal generator 123 and a predetermined correlation offset Δ. The correlation offset Δ is adaptively adjusted to maximize the positive correlation and the negative correlation. Delay 302 delays S2 by Δ+ and transfers delayed S2 to ΣXNOR 306. ΣXNOR 306 receives S1 from diagonal signal generator 122 and delayed S2 from delay 302. ΣXNOR 306 sums the XNOR of S1 and delayed S2 over a length L bits, where L represents a correlation length. ΣXNOR 306 generates a correlation signal +CorrP and transfers +CorrP to adder 310. Delay 303 receives S2 from diagonal signal generator 123 and Δ. Delay 303 delays S2 by Δ- and transfers delayed S2 to ΣXNOR 307. Δ- is slightly smaller than Δ+. ΣXNOR 307 receives S1 from diagonal signal generator 122 and delayed S2 from delay 303. ΣXNOR 307 sums the XNOR of S1 and delayed S2 over the length L bits. ΣXNOR 307 generates a correlation signal -CorrP and transfers - CorrP to adder 310. Adder 310 receives +CorrP and -CorrP from the ΣXNOR 306 and ΣXNOR 307 respectively. Adder 310 adds +CorrP and -CorrP to generate the correlation signal CorrP. Adder 310 transfers CorrP, +CorrP, and -CorrP to ADAC 130. Negative correlator 128 operates substantially in the same manner as positive correlator 126 to generate correlation signals CorrN, +CorrN, and -CorrN. A difference is negative correlator 128 delays S1 by Δ instead of delaying S2. The negative correlator 128 transfers CorrN, +CorrN, and -CorrN to ADAC 130. A problem with positive correlator 126 and negative correlator 128 is both are overly complicated. Summary of the Solution The solution involves correlating signals based on a correlation data structure in an instantaneous correlator. The instantaneous correlator advantageously correlates four signals using the correlation data structure instead of correlating diagonal signals as in the prior art. The instantaneous correlator is less prone to lens shift errors and is simpler to implement than the prior correlators. The instantaneous correlator is comprised of a setup system and correlation system. The correlation system contains the correlation data structure. The setup system receives four signals and converts the signals to digital values. The correlation system takes the digital values and enters them into the correlation data structure. The correlation data structure yields a correlation value based on the digital values. The correlation value is advantageously a function of all four signals. Descriptions of the Drawings FIG. 1 is a block diagram depicting an optical disk system in the prior art. FIG. 2 is a block diagram depicting a diagonal signal generator in the prior art. FIG. 3 is a block diagram depicting a positive correlator in the prior art. FIG. 4 is a block diagram depicting an optical storage system in an example of the invention. FIG. 5 is a block diagram depicting an instantaneous correlator in an example of the invention. FIG. 6 depicts a correlation data structure in an example of the invention. FIG. 7 is a block diagram depicting a normalization system in an example of the invention. FIG. 8 is a block diagram depicting a digital phase-locked loop in an example of the invention. Detailed Description of the Invention Optical Storage System Configuration and Operation -- FIG. 4 FIG. 4 shows an example of an optical storage system 400 in accord with the present invention. Those skilled in the art will appreciate numerous variations from this example that do not depart from the scope of the invention. Those skilled in the art will also appreciate that various features described below could be combined with other embodiments to form multiple variations of the invention. Those skilled in the art will appreciate that some conventional aspects of FIG. 4 has been simplified or omitted for clarity. Optical storage system 400 is comprised of an optical storage device 402 coupled to servo system 404. Optical storage device 402 is comprised of an optical head (not shown) and optical storage medium 412. The optical head contains an optical transducer (not shown) and four-quadrant photo-detector 410. Servo system 404 is comprised of servo detector 406 coupled to servo controller 408. Servo detector 406 is comprised of differential phase detector (DPD) 420, multiplexer (Mux) 430, multiplexer (Mux) 432, adder 428, normalization system 434, Digital Phase-Locked Loop (DPLL) 436, and Compact Disk-Position Error Signal (CD-PES) processor 438. DPD 420 is comprised of instantaneous correlator 422, adders 424-425, and filters 426-427. Optical storage device 402 is connected to instantaneous correlator 422 and CD-PES processor 438. Instantaneous correlator 422 is connected to adders 424- 425. Adder 424 is connected to filter 427. Filter 427 is connected to Mux 432 and adder 428. Adder 425 is connected to filter 426. Filter 426 is connected to Mux 430 and adder 428. Adder 428 is connected to servo controller 408. Mux 430 is connected to a RF envelope detector (not shown) and normalization system 434. Mux 432 is connected to CD-PES processor 438 and normalization system 434. Normalization system 434 is connected to DPLL 436. DPLL 436 is connected to servo controller 408. CD-PES processor 438 is connected to servo controller 408. Servo controller 408 is connected to optical storage device 402. Servo system 404 is configured to operate with two types of optical storage medium 412; Digital Video Disks (DVDs) and Compact Disks (CDs). Servo system 404 is further configured to operate with optical storage device 402 while optical storage device 402 performs track following functions and seek functions on both the DVDs and CDs. Servo system 404 is configured to generate a Digital Video Disk-Position Error Signal (DVD-PES), a Compact Disk-Position Error Signal (CD- PES), a track count signal, and a velocity signal. Servo system 404 is configured to control optical storage device 402 for track following functions based on the DVD-PES and the CD-PES. Servo system 404 is configured to control seek functions based on the track count signal and the velocity signal. The operation of optical storage system 400 is as follows. Optical storage device 402 positions the optical head over optical storage medium 412. The optical transducer projects a light beam onto a surface of optical storage medium 412. The light beam reflects off of pits on optical storage medium 412 and the surface of the optical storage medium 412, and onto photo-detector 410. Photodetector 410 has four quadrants and each quadrant generates a signal. For instance, quadrant B generates a signal B representing the reflection of the light beam captured by quadrant B. If the optical head is centered over a track on the optical storage medium and the track runs parallel to a line between quadrants A and D, then quadrants A-D will see substantially similar light power and generate similar signals. If the optical head is off-center, quadrants A and D will see substantially similar light power and quadrants B and C will see substantially similar light power. The light power is substantially similar for A and D, and substantially similar for B and C, but the phase of the signals is not. The phase is substantially similar for A and C, and substantially similar for B and D. Photo-detector 410 transfers signals A-D to instantaneous correlator 422 in servo system 404. Optical storage device 402 also generates signals E-F. Most conventional optical heads include an E diode detector and an F diode detector configured to generate signals E and F respectively. If the optical head is on center, signal E and signal F are equal. If the track center is closer to. the E diode detector, signal E is larger than signal F. If the track center is closer to the F diode detector, signal F is larger than signal E. Optical storage device 402 transfers signals E-F to CD-PES processor 438. Signals A-D include encoded user data and embedded tracking error data. A read channel circuit (not shown) processes signals A-D to detect the encoded user data. Servo system 404 processes signals A-D to detect the embedded tracking error data. The embedded tracking error data is not physically written onto optical storage medium 412, but is inherent to optical systems and results from the reflection of the light beam changing as the optical head moves off-track. Servo system 404 uses the embedded tracking error data to generate the DVD-PES, the track count signal, and the velocity signal. Signals E-F also include the embedded tracking error data. Servo system 404 uses the embedded tracking error data from the signals E-F to generate the CD-PES. Instantaneous correlator 422 receives signals A-D from optical storage device 402. Instantaneous correlator 422 correlates signals A-D to generate RNO, RN1 , RP0, and RP1. Instant correlator 422 correlates all four signals A-D in contrast to the prior art that correlated only diagonal signals. For instance, prior art correlators correlate signals A and C producing a first diagonal correlation and correlate signals B and D producing a second diagonal correlation. Instantaneous correlator 422 is not limited to the diagonal correlations because it can correlate all four signals A-D. Instantaneous correlator 422 transfers RNO and RN1 to adder 424 and RP0 and RP1 to adder 425. Adder 424 receives RNO and RN1 from instantaneous correlator 422. Adder 424 adds RNO and RN1 to generate a noisy negative correlation signal. Adder 424 transfers the noisy negative correlation signal to filter 427. Filter 427 filters the noisy negative correlation signal to remove the noise and prevent aliasing, and generates a negative correlation signal CorrN. Filter 427 transfers CorrN to adder 428 and Mux 432. Adder 425 receives RPO and RP1 from instantaneous correlator 422. Adder 425 adds RPO and RP1 to generate a noisy positive correlation signal. Adder 425 transfers the noisy positive correlation signal to filter 426. Filter 426 filters the noisy positive correlation signal to remove the noise and prevent aliasing, and generates a positive correlation signal CorrP. Filter 426 transfers CorrP to adder 428 and Mux 430. To generate the DVD-PES, adder 428 receives CorrP from filter 426 and CorrN from filter 427. Adder 428 calculates the difference between CorrP and CorrN by subtracting CorrN from CorrP to generate the DVD-PES. Adder 428 transfers the DVD-PES to servo controller 408. The DVD-PES represents how far off center of the track of optical storage medium 412 the optical head is during track following functions. Servo controller 408 uses the DVD-PES, when optical storage device 402 performs track following functions, to center the optical head over a track on optical storage medium 412 when optical storage medium is a DVD. To generate the CD-PES, CD-PES processor 438 receives signals E and F from optical storage device 402. CD-PES processor 438 subtracts signal F from signal E to generate an E-F signal. CD-PES processor 438 converts the E-F signal from analog to digital to generate the CD-PES. CD-PES processor 438 transfers the CD-PES to servo controller 408. The CD-PES represents how far off center of the track of optical storage medium 412 the optical head is during track following functions. Servo controller 408 uses the CD-PES, when optical storage device 402 performs track following functions, to center the optical head over a track on optical storage medium 412 when optical storage medium 412 is a CD. To generate the track count signal and the velocity signal, Mux 430 receives CorrP from filter 426 and a RF envelope signal from a RF envelope detector (not shown). The RF envelope detector is a conventional component understood by those skilled in the art to detect the RF envelope of a signal. The RF envelope signal is sinusoidal during seeks where a cycle represents a track crossing. For instance, the real number representation of the number of tracks crossed since the start of the seek is given by Rf em (TC) = A*cos(2*pi*TC), where TC represents track crossings and A represents one-half the difference in the RF envelope between on and off track. Mux 430 transfers CorrP or the RF envelope signal depending on whether optical storage medium 412 is a DVD or a CD. Mux 430 transfers CorrP to normalization system 434 if optical storage medium 412 is a DVD. Mux 430 transfers the RF envelope signal to normalization system 434 if optical storage medium 412 is a CD. Mux 432 receives CorrN from filter 427 and a CD seek PES from CD-PES processor 438. CD-PES processor 438 generates the CD seek PES by subtracting signal F from signal E, and digitizing signal E-F with an Analog-to-Digital converter. Mux 432 transfers CorrN or the CD seek PES depending on whether optical storage medium 412 is a DVD or a CD. Mux 432 transfers CorrN to normalization system 434 if optical storage medium 412 is a DVD. Mux 432 transfers the CD seek PES to normalization system 434 if optical storage medium 412 is a CD. Normalization system 434 receives either CorrP and CorrN, or the RF envelope signal and the CD seek PES. Normalization system 434 centers the received signals about a reference point and adjusts the amplitude of the received signals to match some reference amplitude to generate a first normalized signal and a second normalized signal. Normalization system 434 transfers the first and second normalized signals to DPLL 436. DPLL 436 receives an adjustable amplification value along with the first normalized signal and the second normalized signal. DPLL 436 generates the track count signal and the velocity signal based on the adjustable amplification value, the first normalized signal and the second normalized signal. DPLL 436 transfers the track count signal and the velocity signal to servo controller 408. The track count signal represents the number of tracks the optical head crosses during a seek. The velocity signal represents a velocity at which an optical head passes over tracks on optical storage medium 412. Servo controller 408 uses the track count signal and the velocity signal to position the optical head during a seek function. Optical storage system 400 advantageously maps variable parameters into a digital realm. Thus, compensation for the variable parameters is a problem that can be solved digitally. The digital solutions are more consistent than analog solutions. For instance, a prior art analog phase detector measures a diagonal signal time difference directly. The prior art systems could not digitally measure the time difference because the clock required would have to be 10 times higher than with the present invention. DPD 420 transforms the problem from the time domain to the amplitude domain with the correlations. DPD 420 takes advantage of the fact that underlying servo information is much slower than pit and land frequency. Instantaneous Correlator Configuration and Operation -- FIG. 5 FIG. 5 shows an example of instantaneous correlator 422 in accord with the present invention. Those skilled in the art will appreciate numerous variations from this example that do not depart from the scope of the invention. Those skilled in the art will also appreciate that various features described below could be combined with other embodiments to form multiple variations of the invention. Those skilled in the art will appreciate that some conventional aspects of FIG. 5 has been simplified or omitted for clarity. Instantaneous correlator 422 is comprised of setup system 550 and correlation systems 540-541. Setup system 550 is comprised of filters 502-505, samplers 510-517, delays 520-523, and diagonal delays 530-531. Correlation systems 540-541 contain a correlation data structure 570. The samplers 510-517 are comparators that are sampled. Alternatively, samplers 510-517 could be 1-bit A D converters. Extending samplers 510-517 to multi-bit A/D converters does not appreciably improve the performance of servo system 104. Filter 502 is connected to samplers 510-511. Samplers 510-511 are connected to delay 520. Delay 520 is connected to diagonal delay 530 and correlation system 541. Diagonal delay 530 is connected to correlation system 540. Filter 503 is connected to samplers 512- 513. Samplers 512-513 are connected to delay 521. Delay 521 is connected to diagonal delay 530 and correlation system 541. Filter 504 is connected to samplers 514-515. Samplers 514-515 are connected to delay 522. Delay 522 is connected to diagonal delay 531 and correlation system 540. Diagonal delay 531 is connected to correlation system 541. Filter 505 is connected to samplers 516- 517. Samplers 516-517 are connected to delay 523. Delay 523 is connected to diagonal delay 531 and correlation system 540. In operation, filter 502 receives analog signal A from optical storage device 402. Filter 502 filters signal A to attenuate noise and transfers a filtered signal A to samplers 510-511. Samplers 510-511 receive the filtered signal A and a clock pulse. The clock pulse could be for example a 118.54 MHz pulse. Sampler 511 samples the filtered signal A on a rising edge of the clock pulse to generate sample XAp. Sampler 511 transfers XAp to delay 520. Sampler 510 samples the filtered signal A on a falling edge of the clock pulse to generate sample XAn. Sampler 510 transfers XAn to delay 520. Delay 520 delays XAp and XAn by one-half of the clock pulse to account for improper pit depths on optical storage medium 412 and generates samples ADO and AD1. Delay 520 transfers ADO and AD1 to diagonal delay 530 and to correlation system 541. Filter 503 receives analog signal C from optical storage device 402. Filter 503 filters signal C to attenuate noise and transfers a filtered signal C to samplers 512-513. Samplers 512-513 receive the filtered signal C and the clock pulse. Sampler 513 samples the filtered signal C on the rising edge of the clock pulse to generate sample XCp. Sampler 513 transfers XCp to delay 521. Sampler 512 samples the filtered signal C on the falling edge of the clock pulse to generate sample XCn. Sampler 512 transfers XCn to delay 521. Delay 521 delays XCp and XCn to account for improper pit depths on optical storage medium 412 and generates samples CD0 and CD1. Delay 521 transfers CD0 and CD1 to diagonal delay 530 and to correlation system 541. Filter 504 receives analog signal B from optical storage device 402. Filter 504 filters signal B to attenuate noise and transfers a filtered signal B to samplers 514-515. Samplers 514-515 receive the filtered signal B and the clock pulse. Sampler 515 samples the filtered signal B on the rising edge of the clock pulse to generate sample XBp. Sampler 515 transfers XBp to delay 522. Sampler 514 samples the filtered signal B on the falling edge of the clock pulse to generate sample XBn. Sampler 514 transfers XBn to delay 522. Delay 522 delays XBp and XBn to account for improper pit depths on optical storage medium 412 and generates samples BD0 and BD1. Delay 522 transfers BD0 and BD1 to diagonal delay 531 and to correlation system 540. Filter 505 receives analog signal D from optical storage device 402. Filter 505 filters signal D to attenuate noise and transfers a filtered signal D to samplers 516-517. Samplers 516-517 receive the filtered signal D and the clock pulse. Sampler 517 samples the filtered signal D on the rising edge of the clock pulse to generate sample XDp. Sampler 517 transfers XDp to delay 523. Sampler 516 samples the filtered signal D on the falling edge of the clock pulse to generate sample XDn. Sampler 516 transfers XDn to delay 523. Delay 523 delays XDp and XDn to account for improper pit depths on optical storage medium 412 and generates samples DDO and DD1. Delay 523 transfers DDO and DD1 to diagonal delay 531 and to correlation system 540. Diagonal delay 530 receives ADO and AD1 from delay 520, CDO and CD1 from delay 521 , and a delay constant DelP. Diagonal delay 530 delays ADO, AD1 , CDO, and CD1 by DelP to generate samples D00, D01 , D02, and D03. DelP is set to obtain a higher phase difference between CorrP and CorrN. The higher phase difference causes an increased amplitude in DVD-PES. Diagonal delay 530 transfers D00, D01, D02, and D03 to correlation system 540. Diagonal delay 531 receives BDO and BD1 from delay 522, DDO and DD1 from delay 523, and DelP. Diagonal delay 531 delays BDO, BD1 , DDO, and DD1 by DelP to generate samples D10, D11, D12, and D13. Diagonal delay 531 transfers D10, D11 , D12, and D13 to correlation system 541. Correlation system 540 receives D00, D01 , D02, and D03 from diagonal delay 530, BDO and BD1 from delay 522, and DDO and DD1 from delay 523. Correlation system 540 enters D00, D02, BDO, and DDO into correlation data structure 570. Correlation data structure 570 yields a correlation value RNO based on D00, D02, BDO, and DDO. In the prior art, a system correlates diagonal signals using the following summation: Rχ y (t)=∑{x(i)*y(i-t)}. Correlation system 540 uses correlation data structure 570 to get (x(i)*y(i-t)} to account for all combinations of signals A-D. Correlation system 540 enters D01 , D03, BD1 , and DD1 into correlation data structure 570. Correlation data structure 570 yields correlation value RN1 based on D01 , D03, BD1 , and DD1. Correlation system 540 transfers RNO and RN1 to adder 424. Correlation system 541 receives D10, D11 , D12, and D13 from diagonal delay 531 , ADO and AD1 from delay 520, and CDO and CD1 from delay 521. Correlation system 541 enters D10, D12, ADO, and CDO into correlation data structure 570. Correlation data structure 570 yields correlation value RPO based on D10, D12, ADO, and CDO. Correlation system 541 enters D11 , D13, AD1 , and CD1 into correlation data structure 570. Correlation data structure 570 yields correlation value RP1 based on D11 , D13, AD1, and CD1. Correlation system 541 transfers RPO and RP1 to adder 425. Instantaneous correlator 422 advantageously correlates signals A-D using correlation data structure 570 instead of correlating diagonal signals. Prior art correlators add two quadrant signals to generate a diagonal signal. The adder subjects the prior art correlator to lens shift errors. Instantaneous correlator 422 is less prone to lens shift errors and is simpler to implement. Correlation Data Structure -- FIG. 6 FIG. 6 shows an example of a correlation data structure 600 in accord with the present invention. Those skilled in the art will appreciate numerous variations from this example that do not depart from the scope of the invention. Correlation data structure 600 represents a correlation algorithm that correlates four signals. The values in columns W, X, Y, and Z represent the signals to be correlated to generate a correlation signal. The values in column R(p,n)(0,1) represent the correlation signal. As an example, correlation system 540 in FIG. 5 could use correlation data structure 600 to correlate DOO, D02, BDO, and DDO. Correlation system 540 enters DOO, D02, BDO, and DDO into correlation data structure 600 as W, X, Y, and Z respectively. Correlation data structure 600 yields correlation value RnO that is a function of DOO, D02, BDO, and DDO. From correlation data structure 600, for instance, if D00=1, D02=0, BD0=1 , and DD0=1, then RnO equals 0. Correlation data structure 600 is an advantage over the prior art. Correlation table 600 is simpler than the prior systems for correlating signals. Correlation table 600 correlates four signals instead of just diagonals signal making an optical storage system less prone to lens shift errors. Normalization System Configuration and Operation -- FIG. 7 FIG. 7 shows an example of normalization system 434 in accord with the present invention. Those skilled in the art will appreciate numerous variations from this example that do not depart from the scope of the invention. Those skilled in the art will also appreciate that various features described below could be combined with other embodiments to form multiple variations of the invention. Those skilled in the art will appreciate that some conventional aspects of FIG. 7 has been simplified or omitted for clarity. Normalization system 434 is comprised of offset loop 710-711 , Automatic Gain Controls (AGC) 720-721 , and hold circuit 730. Hold circuit 730 is comprised of inverter circuit 734 and OR circuit 732. Offset loop 710 is connected to AGC 720. Offset loop 711 is connected to AGC 721. Inverter 734 is connected to OR circuit 732. OR circuit 732 is connected to offset loops 710-711 and AGCs 720- 721. In operation, offset loop 710 receives a first signal from Mux 430. Offset loop 710 centers the first signal about a reference axis to generate a first centered signal. The reference axis could be a zero y-axis. Offset loop 710 transfers the first centered signal to AGC 720. AGC 720 adjusts the amplitude of the first centered signal to a reference amplitude to generate a first normalized signal. The reference amplitude could be between 1 and 2. AGC 720 transfers the first normalized signal to DPLL 436. Offset loop 711 receives a second signal from Mux 432. Offset loop 711 centers the second signal about the reference axis to generate a second centered signal. Offset loop 711 transfers the second centered signal to AGC 721. AGC 721 adjusts the amplitude of the second centered signal to the reference amplitude to generate a second normalized signal. AGC 721 transfers the second normalized signal to DPLL 436. The first normalized signal and the second normalized signal could have an offset close to zero and a peak amplitude between 1 and 2. Hold circuit 730 controls the operation of normalization circuit 434. Inverter circuit 734 receives a seek signal that indicates when optical storage device 402 is performing a seek function. Inverter circuit 734 inverts the seek signal and transfers the inverted seek signal to OR circuit 732. OR circuit 732 receives the inverted seek signal and a defect signal. The defect signal indicates when a defect has been detected in reading optical storage medium 412. OR circuit 732 generates a hold signal based on the inverted seek signal and the defect signal. If optical storage device 402 is performing a seek function and no defect is detected during the seek, the hold signal indicates to offset loops 710-711 and AGCs 720- 721 to function as described above. If optical storage device 402 is not in seek mode or when a defect is detected during the seek, the hold signal indicates offset loops 710-711 and AGCs 720-721 to hold their present states until hold circuit 730 allows for normal operation. Normalization circuit 434 advantageously provides gain and offset control during defect and non-seeking periods. Current normalization systems are analog architectures and have limited hold capabilities because of finite leakage currents on hold capacitors. Normalization circuit 434 holds values in registers and is not subject to decay. DPLL Configuration and Operation -- FIG. 8 FIG. 8 shows an example of DPLL 436 in accord with the present invention. Those skilled in the art will appreciate numerous variations from this example that do not depart from the scope of the invention. Those skilled in the art will also appreciate that various features described below could be combined with other embodiments to form multiple variations of the invention. Those skilled in the art will appreciate that some conventional aspects of FIG. 8 has been simplified or omitted for clarity. DPLL 436 is configured to calculate the velocity signal and the track count signal and is comprised of a phase detector 810, adders 830-833, amplifiers 840- 841 , delays 850-851 , a defect circuit 860, and seek direction circuitry 858. Phase detector 810 is comprised of adders 812-815, multipliers 820-821 , slicers 824-825, and cosine blocks 826-827. Adder 812 is connected to multiplier 820. Multiplier 820 is connected to adder 830 and seek direction circuitry 858. Adder 830 is connected to amplifier 840. Amplifier 840 is connected to defect circuit 860. Defect circuit 860 is connected to adder 831. Adder 831 is connected to delay 850. Delay 850 is connected to adder 833 and adder 831 forming a feedback loop. Adder 813 is connected to multiplier 821. Multiplier 821 is connected to adder 830 and seek direction circuitry 858. Adder 830 is connected to amplifier 841. Amplifier 841 is connected to defect circuit 860. Defect circuit 860 is connected to adder 832. Adder 832 is connected to delay 851. Delay 851 is connected to adder 833. Adder 833 is connected to adders 814-815 and adder 832 forming a feedback loop. Adder 814 is connected to slicer 824 and cosine block 826. Slicer 824 is connected to multiplier 820. Cosine block 826 is connected to adder 812 forming a feedback loop. Adder 815 is connected to slicer 825 and cosine block 827. Slicer 825 is connected to multiplier 821. Cosine block 827 is connected to adder 813 forming a feedback loop. In operation, adder 812 receives a first normalized signal and a feedback signal 890. Adder 812 adds the first normalized signal and feedback signal 890 to generate signal 870. Adder 812 transfers signal 870 to multiplier 820. Multiplier 820 receives signal 870 and a first sliced signal 894. Multiplier 820 multiplies signal 870 and the first sliced signal 894 to generate a first error signal 871. Multiplier 820 transfers the first error signal 871 to adder 830. Adder 813 receives a second normalized signal and a feedback signal 891. Adder 813 adds the second normalized signal and feedback signal 891 to generate signal 872. Adder 813 transfers signal 872 to multiplier 821. Multiplier 821 receives signal 872 and a second sliced signal 895. Multiplier 821 multiplies signal 872 and the second sliced signal 895 to generate a second error signal 873. Multiplier 821 transfers the second error signal 873 to adder 830. To estimate the velocity signal, adder 830 receives the first error signal 871 and the second error signal 873. Adder 830 adds the first error signal and the second error signal to generate signal 874. Adder 830 transfers signal 874 to amplifier 840 and amplifier 841. Amplifier 840 receives signal 874 and the adjustable amplification value. Amplifier 840 increases the gain of signal 874 based on the adjustable amplification value to generate signal 875. The adjustable amplification value assists in determining the bandwidth of DPLL 436. For instance, if the adjustable amplification value is large, DPLL 436 changes the velocity signal quickly. If the adjustable amplification value is smaller, DPLL 436 takes longer to change the velocity signal. Amplifier 840 transfers signal 875 to adder 831. Adder 831 receives signal 875 and the velocity signal, where the velocity signal is a feedback signal. Adder 831 adds signal 875 and the velocity signal to generate signal 876. Adder 831 transfers signal 876 to delay 850. Delay 850 latches signal 876 so that signal 876 is stable. The delayed signal 876 is the velocity signal. To calculate the track count signal, amplifier 841 receives signal 874 and the adjustable amplification value. Amplifier 841 increases the gain of signal 874 based on the adjustable amplification value to generate signal 878. The adjustable amplification value assists in determining the bandwidth of DPLL 436. Amplifier 841 transfers signal 878 to adder 833. Adder 832 receives signal 878 and a feedback signal 892. Adder 832 adds signal 878 and feedback signal 892 to generate signal 879. Adder 833 transfers signal 879 to delay 851. Delay 851 latches signal 879 so that signal 879 is stable. The delayed signal 879 is the track count signal. DPLL 436 uses feedback loops to generate the velocity signal and the track count signal. Feedback signals 890-895 are generated as follows. Adder 833 receives the velocity signal from delay 850 and the track count signal from delay 851. Adder 833 adds the velocity signal and the track count signal to generate feedback signal 892. Adder 833 transfers feedback signal 892 to adders 832 and 814-815. Adder 814 receives feedback signal 892 and a predetermined offset Δ. The predetermined offset Δ is a function of spin speed and optical properties of optical storage medium 412 and is an expected phase difference between the first normalized signal and the second normalized signal. The predetermined offset Δ is necessary because the first and second normalized signals coming into DPLL 436 are out of phase by approximately 2*Δ. Adder 814 adds feedback signal 892 and Δ to generate signal 880. Adder 814 transfers signal 880 to slicer 824 and cosine block 826. Slicer 824 slices signal 880 to generate the first sliced signal 894. Slicer 824 transfers the first sliced signal 894 to multiplier 820. Cosine block 826 estimates a value of the first normalized signal based on signal 980 and generates feedback signal 890. Cosine block 826 is a table lookup. For example, if signal 880 feeds back a 1/8 track, then signal 890 equals cos[2*pi*1/8] or 1/sqrt(2). If signal 880 feeds back track 667 1/8, for instance, then signal 890 equals cos[2*pi*(667 1/8)]. Cosine block 826 transfers feedback signal 890 to adder 812. Adder 815 receives feedback signal 892 and Δ. Adder 815 subtracts Δ from feedback signal 892 to generate signal 881. Adder 815 transfers signal 881 to slicer 825 and cosine block 827. Slicer 825 slices signal 881 to generate the second sliced signal 895. Slicer 825 transfers the second sliced signal 895 to multiplier 821. Cosine block 827 estimates a value of the second normalized signal based on signal 981 and generates feedback signal 891. Cosine block 827 transfers feedback signal 891 to adder 813. DPLL 436 suspends operation if a defect is detected during a seek function. Defect circuit 860 allows DPLL 436 to continue to count tracks when a defect has obliterated or corrupted the data on optical storage medium 412. When the defect has been detected, defect circuit 860 switches the inputs of adders 831 and 833 to zero. Defect circuit 860 holds the velocity signal constant. Defect circuit 860 allows DPLL 436 to count tracks because the velocity signal drives one input to adder 834. When the defect ends, defect circuit again connects adders 831 and 833 to amplifiers 840 and 841 respectively and DPLL 436 operates normally. If the velocity did not changed appreciably during the defect, the track count will be accurate. If the velocity has changed, the track count error will be proportional to the acceleration during the defect and the defect length. Seek direction circuitry 858 estimates the direction of a seek. To do so, seek direction circuitry 858 receives signal 871 and signal 873. Seek direction circuitry 858 processes signals 871 and 873 and determines the offset between the two signals. Seek direction circuitry estimates the direction of a seek based on the determined offset. Seek direction circuitry 858 transfers seek direction information. DPLL 436 advantageously has an adjustable bandwidth that is changed by adjusting amplifiers 840 and 841. Servo firmware adjusts DPLL 436 to have a low bandwidth during high velocity seeks when the input signal quality is very poor. Thus, DPLL 436 counts at much higher velocities than the prior art. Prior art track counters can only improve the quality of track counts at high speed by implementing a different band-pass filter at the input to the track counter. DPLL 436 is its own band-pass filter. Also, DPLL 436 uses an estimate of the velocity to filter out unlikely counts. The prior art track counters typically have no memory of when a previous count occurred. A noise glitch could cause a count change immediately after a previous change even though the actual seek velocity is slow. DPLL 436 easily holds states, like the last determined velocity, during a defect. Prior art analog PLLs hold a velocity value in a capacitor. The capacitor does not function well to hold the velocity value due to leakage currents. Phase detector 810 advantageously determines phase error over an entire period of incoming sinusoids. Analog PLLs in the prior art use a slicer-based phase detector to put current pulses into an integrating capacitor. The analog PLLs increase noise and give updates only every half-track crossing. Because track crossing rates vary greatly over a seek, phase error repetition rates also vary greatly making it difficult to filter optimally. Those skilled in the art will appreciate variations of the above-described embodiments that fall within the scope of the invention. As a result, the invention is not limited to the specific examples and illustrations discussed above, but only by the following claims and their equivalents. CLAIMS: We Claim:

Claims: 1. A method for correlating quadrants signals from a detector (410), responsive to a light beam reflected off of an optical storage medium (412) and detecting the light beam with the detector, the method comprising the step of: receiving a first quadrant signal (A), a second quadrant signal (B), a third quadrant signal (C), and a fourth quadrant signal (D); and the method characterized by the steps of: converting the first quadrant signal, the second quadrant signal, the third quadrant signal, and the fourth quadrant signal to a first digital value, a second digital value, a third digital value, and a fourth digital value respectively; entering the first digital value, the second digital value, the third digital value, and the fourth digital value into a correlation data structure (570) to yield a first correlation value. 2. The method of claim 1 wherein converting the first quadrant signal (A) to the first digital value comprises sampling the first quadrant signal at a rising edge of a clock pulse. 3. The method of claim 2 further comprising delaying the first digital value by one half of the clock pulse. 4. The method of claim 2 further comprising converting the first quadrant signal (A) to a fifth digital value by sampling the first quadrant signal at a falling edge of the clock pulse and delaying the fifth digital value by one half of the clock pulse. 5. The method of claim 1 wherein converting the second quadrant signal (B) to the second digital value further comprises sampling the second quadrant signal at a rising edge of a clock pulse. 6. The method of claim 5 further comprising delaying the second digital value by one half of the clock pulse. 7. The method of claim 5 further comprising converting the second quadrant signal (B) to a sixth digital value by sampling the second quadrant signal at a falling edge of the clock pulse and delaying the sixth digital value by one half of the clock pulse. 8. The method of claim 1 wherein converting the third quadrant signal (C) to the third digital value further comprises sampling the third quadrant signal at a rising edge of a clock pulse. 9. The method of claim 8 further comprising delaying the third digital value by one half of the clock pulse. 10. The method of claim 8 further comprising converting the third quadrant signal (C) to a seventh digital value by sampling the third quadrant signal at a falling edge of the clock pulse and delaying the seventh digital value by one half of the clock pulse. 11. The method of claim 1 wherein converting the fourth quadrant signal (D) to the fourth digital value further comprises sampling the fourth quadrant signal at a rising edge of a clock pulse: 12. The method of claim 11 further comprising delaying the fourth digital value by one half of the clock pulse. 13. The method of claim 11 further comprising converting the fourth quadrant signal (D) to an eighth digital value by sampling the fourth quadrant signal at a falling edge of the clock pulse and delaying the eighth digital value by one half of the clock pulse. 14. The method of claim 1 wherein the correlation data struct First Second Third Fourth digital digital digital digital Correlation value value value value value 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 -1 0 1 1 0 -1 0 1 1 1 0 0 0 0 0 0 0 1 -1 0 1 0 -1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 15. An instantaneous correlator (422) for correlating quadrant signals (A-D) from a detector (410), responsive to a light beam reflected off of an optical storage medium (412) and detecting the light beam with the detector, the instantaneous correlator characterized by: a correlation data structure (570) configured to yield a first correlation value based on a first digital value, a second digital value, a third digital value, and a fourth digital value; a setup system (550) configured to receive a first quadrant signal (A), a second quadrant signal (B), a third quadrant signal (C), and a fourth quadrant signal (D), convert the first quadrant signal, the second quadrant signal, the third quadrant signal, and the fourth quadrant signal to the first digital value, the second digital value, the third digital value, and the fourth digital value, respectively, and transfer the first digital value, the second digital value, the third digital value, and the fourth digital value; and a correlation system (540) coupled to the setup system and configured to receive the first digital value, the second digital value, the third digital value, and the fourth digital value from the setup system, and enter the first digital value, the second digital value, the third digital value, and the fourth digital value into the correlation data structure to yield the first correlation value. 16. The instantaneous correlator (422) of claim 15 wherein the setup system (550) further comprises a first sampler (511) configured to receive the first quadrant signal (A), sample the first quadrant signal on a rising edge of a clock pulse to generate the first digital value, and transfer the first digital value. 17. The instantaneous correlator (422) of claim 16 wherein the setup system (550) further comprises a first delay (520) coupled to the first sampler (511) and configured to delay the first digital value by one half of the clock pulse. 18. The instantaneous correlator (422) of claim 17 wherein the setup system (550) further comprises a second sampler (510) configured to receive the first quadrant signal (A), sample the first quadrant signal on a falling edge of the clock pulse to generate a fifth digital value, and transfer the fifth digital value. 19. The instantaneous correlator of (422) claim 18 wherein the first delay (520) is coupled to the second sampler (510) and is further configured to delay the fifth digital value by one half of the clock pulse. 20. The instantaneous correlator (422) of claim 15 wherein the setup system (550) further comprises: a third sampler (513) configured to receive the second quadrant signal (B), sample the second quadrant signal on a rising edge of a clock pulse to generate the second digital value, and transfer the second digital value; and a fourth sampler (512) configured to receive the second quadrant signal (B), sample the second quadrant signal on a falling edge of the clock pulse to generate a sixth digital value, and transfer the sixth digital value. 21. The instantaneous correlator (422) of claim 20 wherein the setup system (550) further comprises a second delay (521) coupled to the third sampler (513) and the fourth sampler (512) and configured to delay the second digital value and the sixth digital value by one half of the clock pulse. 22. The instantaneous correlator (422) of claim 15 wherein the setup system (550) further comprises: a fifth sampler (515) configured to receive the third quadrant signal (C), sample the third quadrant signal on a rising edge of a clock pulse to generate the third digital value, and transfer the third digital value; and a sixth sampler (514) configured to receive the third quadrant signal, sample the third quadrant signal on a falling edge of the clock pulse to generate a seventh digital value, and transfer the seventh digital value. 23. The instantaneous correlator (422) of claim 22 wherein the setup system (550) further comprises a third delay (522) coupled to the fifth sampler (515) and the sixth sampler (514) and configured to delay the third digital value and the seventh digital value by one half of the clock pulse. 24. The instantaneous correlator (422) of claim 15 wherein the setup system (550) further comprises: a seventh sampler (517) configured to receive the fourth quadrant signal (D), sample the fourth quadrant signal on a rising edge of a clock pulse to generate the fourth digital value, and transfer the fourth digital value; and an eighth sampler (516) configured to receive the fourth quadrant signal, sample the fourth quadrant signal on a falling edge of the clock pulse to generate an eighth digital value, and transfer the eighth digital value. 25. The instantaneous correlator (422) of claim 24 wherein the setup system (550) further comprises a fourth delay (523) coupled to the seventh sampler (517) and the eighth sampler (516) and configured to delay the fourth digital value and the eighth digital value by one half of the clock pulse. 26. The instantaneous correlator (422) of claim 15 wherein the correlation data structure (570) comprises: First Second Third Fourth digital digital digital digital Correlation value value value value value 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 -1 0 1 1 0 -1 0 1 1 1 0 0 0 0 0 0 0 1 -1 0 1 0 -1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1

Inventors: FEYH GERMAN S O, GRABA JAMES MARK, SUPINO LOUIS, FEYH, GERMAN, S., O., GRABA, JAMES, MARK, SUPINO, LOUIS
Applicants: CIRRUS LOGIC INC, CIRRUS LOGIC, INC.
Application year: 2001
Main classification: G11B7
IPC codes: G11B7