IMPROVED TIMING RECOVERY FOR SYNCHRONOUS PARTIAL RESPONSE RECORDING

Abstract: An improved timing recovery phase-locked loop in a partial response recording channel comprising a means (52) for generating a frequency error and a means (54) for generating a phase error represented by a timing gradient DELTA t. The frequency error is not affected by a DC offset in the input reference signal and is less susceptible to noise due to an increase in sensitivity. A state machine (92) for generating expected samples is used to generate the timing gradient DELTA t, rather than estimated signal samples, which results in a shorter acquisition preamble. When tracking arbitrary user data, the timing gradient DELTA t is smoothed to reduce variations in the gain of the loop.

Description: IMPROVED TIMING RECOVERY FOR SYNCHRONOUS PARTIAL RESPONSE RECORDING FTFT.n OF INVENTION The present invention relates to computer technology and, more specifically, to timing recovery systems for retrieving digitized data from magnetic storage mediums utilizing partial response waveform sampling techniques . rpo.q.q PFFFRENCE TO RELATED APPLICATIONS AND PATENTS This application is related to other co-pending U.S. patent applications, namely application serial numbers 07/879,938, 07/954,350, 08/012,266, 08/043,662 and 08/087,617, which are entititled, respecitively, "Digital Pulse Detector, " "Timing Recovery Circuit for Synchronous Waveform Sampling, " "Synchronous Read Channel, " "Spectral Smoothing Filter," and "Channel Quality." This application is also related to several U.S. patents, namely U.S. Pat. No. 5,291,499 and 5,297,184, which are entitled, respectively, "Sequence Detector, " and "Gain Control Circuit for Synchronous Waveform Sampling. " All of the above-named patent applications and patents are assigned to the same entity, and all are incorporated herein by reference. BACKGROUND OF THE INVENTION In magnetic storage systems, a transducing head writes digital data onto a magnetic storage medium. The digital data serves to modulate the current in the head coil so that a sequence of corresponding magnetic flux transitions are written onto the medium. To read this recorded data, the head passes over the medium and transduces the magnetic transitions into pulses in an analog signal. These pulses are then decoded by the read channel circuitry to reproduce the digital data. Decoding the pulses into a digital sequence can be performed by a simple pulse detector read channel or, as in more recent designs, by using a Partial Response Maximum Likelihood (PRML) read channel. The PRML read channel scheme is preferred over the simpler pulse detection scheme because it decreases the necessary bandwidth. Thus, more data can be stored on the storage medium. In conventional peak detection schemes, threshold crossing or derivative information implemented in analog circuitry is normally used to detect peaks in the continuous time analog signal generated by the read head. The analog signal is then interpreted at specific bit cell periods. The presence of a peak during the bit cell period is detected as a "1" bit, and the absence of a peak is detected as a "0" bit. Timing recovery adjusts the bit cell periods so that the peaks occur in the center of the bit cells. Errors occur when the bit cells are not correctly aligned with the analog pulse data. Since timing information is derived only when peaks are detected, the input data stream is normally run length limitted (RLL) (encoded to limit the number of consecutive "0" bits.) Intersymbol interference (ISI) , due to closely spaced pulses, can cause the peaks to shift from one bit cell to another, resulting in errors when detected. To reduce the effect of ISI, an encoding scheme is employed to ensure that a minimum number of "0" bits occur between "1" bits. For example, a (d,k) run length limited (RLL) code constrains the minimum number of "0" bits between "1" bits to d, and the maximum number of consecutive "0" bits to k. A typical RLL code is a (1,7) 2/3 rate code which encodes 8 bit data words into 12 bit codewords to satisfy the (1,7) constraint. However, the d=l constraint has the undersirable effect of decreasing the data density due to the decreased bandwidth. Another technique used to record data, known as Partial Response Maximum Likelihood recording (herein after PRML) , increases the data density by compensating for intersymbol interference, thereby . obviating the d constraint. Unlike conventional peak detection systems, PRML recording detects digital data by interpreting, at discrete time periods, the actual value of the pulse data. Thus, the analog pulses are sampled at the baud rate and the digital data is detected from these discrete time sample values. This allows for a coding constraint of (0,k) (typically (0,4) 8/9 rate coding) which increases the data density. The application of Partial Response Maximum Likelihood techniques to digital communication channels is well documented. See Y. Kabal and S. Pasupathy, "Partial Response Signaling", IEEE Trans . Coπααun . Tech . , Vol. COM-23 , pp.921- 934, Sept. 1975; and Edward A. Lee and David G. Messerschmitt, "Digital Communication", Kluwer Academic Publishers, Boston, 1990; and G.D. Forney, Jr., "The Viterbi Algorithm", Proc . IEEE, Vol. 61, pp. 268-278, March 1973. Applying PRML techniques to magnetic storage systems is also well documented. See Roy D. Cideciyan, Francois Dolivo, Walter Hirt, and Wolfgang Schott, "A PRML System for Digital Magnetic Recording", IEEE Journal on Selected Areas in Communi ca ti ons , Vol. 10 No. 1, January 1992, pp.38-56; and Wood et al, "Viterbi Detection of Class IV Partial Response on a Magnetic Recording Channel", IEEE Trans . Commun . , Vol. Com-34, No. 5, pp. 454-461, May 1986; and Coker Et al, "Implementation of PRML in a Rigid Disk Drive", IEEE Trans , on Magnetics, Vol. 27, No. 6, Nov. 1991. Similar to conventional peak detection systems, PRML recording requires timing recovery in order to correctly extract the digital sequence. However, rather than utilizing the continuous analog signal to align peaks to the center of bit cell periods, as in peak detection systems, PRML systems synchronize the sampling of the pulses according to estimated sample values. The sample values can be estimated even in the presence of ISI, and together with the actual signal sample values, used to synchronize the sampling of the analog pulses in a decision-directed feedback system. Normally, a phase-locked loop (PLL) circuit controls the timing recovery in PRML recording. A phase detector processes the signal samples to generate a phase error between the actual and desired frequency. This phase error operates to adjust the sampling frequency which is typically the output of a variable frequency oscillator (VFO) with the phase error as the control input. The output of the VFO controls the sampling period of an analog-to-digital (A/D) converter. It is necessary to first lock the PLL to a reference or nominal sampling frequency so that the desired sampling frequency, with respect to the analog pulses representing the digital data, can be acquired and tracked. One technique for locking the PLL to a reference frequency is disclosed in U.S. patent application serial number 07/954,350, which is assigned to the same entity as this application. This technique, as shown in Figure 2A, injects into the A/D converter a εinsusoidal signal at one fourth the nominal sampling frueqency. A frequency error, computed from three sample values * (Y n +Yn-2) ) - controls the VFO to lock its frequency to the nominal sampling frequency. As shown in Figure 2B, if the sampling frequency is too fast, the frequency error control signal /β is negative and the frequency decreases. If the sampling frequency is too slow, /β is positive, as shown in Figure 2C, and the frequency increases. The problem with this technique is that the PLL will not lock to the correct reference frequency if there is a DC offset in the sinusoidal signal. Further, the sensitivity is low because only half of a period of the sinusoidal signal is used to compute the frequency error. As a result, this technique is susceptible to errors due to noise in the channel and quantization. There are also prior art techniques for acquiring and tracking the sampling frequency. These schemes are based on a timing gradient computed from the actual signal samples and estimated signal samples obtained from symbol-by-symbol decisions. See "Timing Recovery in Digital Synchronous Receivers" by K. H. Mueller and M. Mueller, IEEE Transactions on Communications , Vol.Com-24 (1976), pp. 516-531. However, the prior art techniques have drawbacks which are overcome by the present invention. One inherent drawback is that during acquisition the sampling point may occur at the point halfway between the desired sampling times. Consequently, the method for correcting the phase may reverse its direction of adjustment several times in the vicinity of this unstable equilibrium point for an extended period of time. Although this "hang-up" effect does not frequently occur, the length of the acquisition preamble must be sufficiently long so that the system may still synchronize in this situation. A long preamble reduces the total amount of storage space available for user data. A method for avoiding the "hang-up" effect in order to reduce the preamble length is disclosed in U.S. Pat. No. 4,890,299, an overview of which is provided in Figure 3. With this method, a sliding threshold, based on past estimated values ~X(n) , introduces a hysteresis effect that makes reversals in timing phase adjustments very unlikely. However, the estimated sample values -X(n) are reconstructed from the signal sample values Y(n) and are therefore subject to error. Errors in the estimated sample values increase again the necessary length of the acquisition preamble. A further problem not resolved by the prior art is the non-linear characteristic of the timing gradient circuit when tracking arbitrary user data. Because the method for calculating the timing gradient is based on approximating th slope of the pulses, the gain of the timing gradient circui varies when tracking arbitrary user data due to inconsisten pulse slopes. This variation in gain results in less tha optimum timing recovery. Thus, it is a general object of the present invention t improve the timing recovery method in synchronous partial response magnetic recording systems. A more specific object is to lock the timing recovery loop to a nominal samplin frequency by a technique not affected by a DC offset in the analog signal. A further object is to increase the sensitivity of the lock to reference process in order to decrease susceptibility to errors caused by noise. Yet another object is to acquire the sampling frequency more efficiently by avoiding errors in reconstructing the estimated sample values, thereby reducing the necessary length of the acquisition preamble. A final object is to reduce the gain variations in the timing gradient computation when tracking arbitrary user data. SUMMARY OF THE INVENTION The objects of the present invention are achieved by utilizing an improved method and circuit for implementing timing recovery in a synchronous read channel . A digital phase-locked loop (PLL) , comprising a variable frequency oscillator (VFO) , generates the sampling frequency of an analog-to-digital converter (A/D) . In order to lock the PLL to a nominal sampling frequency, a sinusoidal signal at one fourth the nominal sampling frequency is injected into the A/D. A frequency error is computed utilizing three sample values which span more than half a period of the sinusoidal signal . This method is unaffected by a DC offset and has an increase in signal-to-noise ratio due to an increase in sensitivity. After locking the timing recovery loop to the nominal sampling frequency, a special training preamble is used to lock onto the actual sampling phase and frequency. A timing gradient Δt, computed from the signal sample values and the estimated sample values, adjusts the sampling phase and frequency. A state machine generates the estimated sample values independent of the signal sample values, except to initialize the state machine to a starting state. Thus, errors in reconstructing the estimated sample values are avoided, which significantly reduces the length of the acquisition preamble. This allows for faster, more efficient operation of the storage system. A timing gradient adjuster circuit improves the reliability while tracking arbitrary user data by smoothing variations in the timing gradient Δt. This is accomplished by increasing the timing gradient when one of the estimated sample values utilized in computing it is zero. If all of the estimated sample values for computing the timing gradient are zero, then the timing gradient is copied from its prior value. Smoothing the timing gradient reduces variations i gain which results in more effective timing recovery. These and other features of the present invention wil become apparent from the following detailed description o the preferred embodiments, which are disclosed in connectio with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is an overview of the storage system. Fig. 2A, 2B, and 2C show a prior art technique fo sampling a sine wave to compute the frequency error contro signal used to lock the timing recovery PLL to the nomina sampling frequency. Fig. 3 shows the circuit for generating the timin gradient and a prior art technique for preventing the timin recovery from hanging up when the sampling time is halfwa between the desired sampling times (i.e., when T = T/2) . Fig. 4 is a block diagram of the write and rea channels. Fig. 5A is the PR-IV response of the combined channe and filters to an isolated input symbol, and illustrates phase error T between the desired and actual sampling phase. Fig. 5B is the PR-IV response of the combined channel and filters to several symbols, and shows the optimu sampling instance at the opening of the eye diagram. Fig. 6 is a block diagram of the timing recovery circuit of the present invention. Fig. 7A, 7B, and 7C show the technique of the present invention for sampling a sine wave to compute the frequency error control signal used to lock the timing recovery PLL to the nominal sampling frequency. Fig. 8A shows side sampling of a 2T acquisition preamble and the phase error T in the sampling phase. Fig. 8B shows, for side sampling, the circuit of the present invention for preventing the timing recovery from "hanging up" when the actual sampling time is halfway between the desired sampling times. Fig. 9A shows center sampling of a 2T acquisition preamble and the phase error T in the sampling frequency. Fig. 9B shows, for center sampling, the circuit of the present invention for preventing the timing recovery from hanging up when the sampling time is halfway between the desired sampling times. Fig. 10 shows the circuit of the present invention for generating the timing gradient when tracking arbitrary user data. Fig. 11 is the timing gradient adjuster for reducing the variance in the gain of the timing recovery loop by smoothing the timing gradient when tracking arbitrary user data. DETAILED DESCRIPTION OF THE DRAWINGS Referring now in detail to the drawings wherein like characters refer to like elements throughout the various figures, Figure 1 is an overview of the storage system which has a magnetic read head 4 actuated 6 over a magnetic storag media 2. The read head transduces the magnetic transitions o the magnetic media into pulses in an analog signal. Th analog pulses are transmitted over line 8 to a pre-amplifie 10 which amplifies the analog pulse data before bein processed by the read channel 12. A micro-processor 1 calibrates the read channel and synchronizes data transfer between the read channel 12 and the disk controller 16. Th disk controller 16 provides the control and interface betwee the storage system and a host computer. Memory 3 stores calibration program and calibration data. Figure 4 is a more detailed block diagram of the PR-I read/write channel 12. During a write operation, either use data or preamble data 4 for acquiring the sampling frequenc is written to the disk drive. The user data 2 is encoded int a binary sequence b(n) 8 by a rate 8/9 encoder 6 according t a (d,k) constraint. The binary sequence b(n) 8 is the precoded 10 by a 1/1-D 2 filter to compensate for the 1-D transfer function of the PR-IV recording channel and filters. The precoded sequence ~b(n) 12 is then converted into th data symbols a(n) 16 by translating 14 ~b(n) = 0 into a(n) -1, and ~b(n) = 1 into a(n) = +1. The data symbols a(n) modulate the current in the recording head coil at th signaling rate 1/T to record 18 the data symbols onto th magnetic media. When reading the data symbols back, the combination o an analog receive filter 20, a variable gain amplifier 22, sampling device 24, and a discrete time filter 26, shape the readback signal to the desired PR format. A decision directed timing recovery scheme 28, utilizing estimated sample values generated by a slicer 30, controls the timing frequency and phase of the sampling device 24 in order to synchronize the equalized samples 32 to the waveform so that the effect of intersymbol interference is minimized. A maximum likelihood (ML) Viterbi sequence detector 34 detects the equalized samples Y(n) 32 to reproduce the data symbols a(n) 16 (assuming no errors) . The data symbols a(n) 16 are then decoded 36 back into the user data 2. Referring now to Figure 5A, shown is the dipulse response h(t) 40 of the combined recording channel q(t) 42, analog filter f(t) 44, and digital filter c(n) 46, to an isolated input symbol a(0) = +1. If the sampling frequency and phase are correct (T = 0) , the equalized sample sequence will be {0, 0, +1, 0 -1, 0, 0, ...}. However, if there is a phase error (T != 0), then the equalized sample sequence will be incorrect. For example, the incorrect sequence might be {+0.1, -0.2, +0.4, +0.8, -0.4, -0.8, +0.2, -0.1, ...}. These errors are magnified in the presence of intersymbol interference (ISI) . Thus, the object of timing recovery 28 is to adjust the phase error of the sampling frequency to an optimum operating point to minimize the undesirable effect of ISI, and to synchronize the sampling clock to the bit sequence being read. As shown in Figure 5B, the optimum sampling instance occurs at the opening 48 of the eye diagra where ISI is minimum. In an -ideal PR-IV recording channel, the optimum sampling phase is at T= 0. An overview of the timing recovery circuit 28 is shown in Figure 6. The output 23 of a variable frequency oscillator (VFO) 50 controls the sampling frequency of a sampling device 24 which is typically an analog-to-digital converter (A/D) . A frequency error 52 and timing gradient 54 control the frequency of the VFO 50, and a loop filter 56 provides control over the closed loop characteristics. The timing gradient is computed utilizing expected sample values x(n) 58 when acquiring the correct sample phase and frequency, and estimated sample values -x(n) 60 when tracking user data. Before the timing recovery phase-locked loop (PLL) can acquire the correct sampling phase and frequency, the initial frequency must be within the locking range. This is accomplished by first locking the PLL to a nominal sampling frequency. The method of the present invention for locking the PLL to a nominal sampling frequency is shown in Figures 7A through 7C. A substantially sinusoidal signal at one quarter the nominal sampling frequency is injected into the sampling device 24. A frequency error fe 70 is computed utilizing the sample values Y(n) according to the following equations: fe = sign(Y(l) )• (Y(4)-Y(0) ) if |Y(1) | > |Y(2) |; and fe = sign(Y(2)).(Y(5)-Y(l)) if |Y(1) | < |Y(2) |, where Y(0) is the most recent sample value. As shown in Figure 7A, if the sampling frequency is locked to the nominal sampling frequency, the frequency error fe is zero. If the sampling frequency is too fast, as shown in Figure 7B, the frequency error fe will be negative, causing the sampling frequency to decrease. Conversely, if the sampling frequency is too slow, as shown in Figure 7C, the frequency error fe will be positive, causing the sampling frequency to increase. Because the sample values Y(n) used to compute the frequency error fe span at least a half a period of the reference sine wave, the PLL will lock to the correct frequency even if there is a DC offset in the reference sine wave. Additionally, this method has a higher sensitivity to the frequency error and is therefore less susceptible to noise caused by the channel and quantization. After the PLL is locked to the nominal reference frequency, a known preamble is transmitted prior to user data in order to lock the PLL onto the actual sampling phase and frequency. A preamble generator 4, connected to the input of the precoder 10, outputs a series of "1" bits to generate a 2T training preamble sequence at the output of the precoder 10 of the form (1,1,0,0,1,1,0,0,1,1,0,0, ...), which maximizes the magnitude of a PR-IV recording channel. During acquisition, the 2T preamble is read in either a side or center sample mode to generate a corresponding sample sequence. The two sample sequences, respectively, are: (+A,+A, -A, -A, +A,+A, -A,-A,+A,+A, -A, -A, ... ) (side sampled) (+A,0, -A,0,+A,0, -A,0,+A,0,-A, 0,+A,0, .... ) (center sampled) . Figure 8A shows the 2T preamble in side-sample mode with the expected samples 80 in relation to the signal samples 82 and a corresponding phase error 84. To adjust the initial sampling timing phase, a timing gradient is computed which minimizes the mean squared error between signal sample values and expected sample values. The timing gradient value Δt 86 is computed as: Δt(n) = Y(n-l)»X(n) - Y(n).χ(n-1) where Y(n) are the signal sample values 82 and X(n) are the expected sample values 80. Figure 8B shows the timing gradient circuit 90 for generating the timing gradient Δt 86, and a state machine 92 for generating the expected sample values X(n) 94 for the side-sampled preamble sequence. The expected samples X(n) 94 are generated by a state machine, rather than by using the signal sample values Y(n) 32, to avoid the "hang-up" problem when the sampling occurs at the point halfway between the desired sampling times (i.e., when 1 = 1/2T) . Further, the state machine does not make errors in generating the expected sample values X(n) 94, therefore the preamble can be even shorter. The preferred embodiment of the state machine 92 is a 2- bit counter 96. In side sampling mode, the output of the counter corresponds to the expected side-sampled preamble sequence: 00->-A 01->-A, 10->+A ll->+A. The expected sample value is scaled to |A| = 1 so that the multipliers multiply by +1, -1 or 0. Thus, X(n) is two bits wide in order to represent the ternary values (00=0, 01=1, and 11=-1) : Multiplexor 100 is responsive to the output of the counter 96 for selecting the expected sample values X(n) 94 which correspond to the current state. The counter 96 is loaded 102 with an initial starting state in response to the sign 104 of two consecutive sample values Y(n) 32. That is, the counter bits CO 120 and Cl 122 are initialized to: CO = sign(Y(n) ) Cl = sign(Y(n)) XOR sign(Y(n-l)) where sign(x) returns a 1 if x is positive and 0 if negative. Table 1 shows the side-sampled starting state values loaded into the counter 96 corresponding to the two consecutive sample values. After the counter 96 is loaded with the initial starting state, it sequences through the states according to the expected samples in the 2T preamble at each sample clock 23. The four possible sequences are then: (-A, -A, +A,+A, -A, -A, .... ) ; and (-A,+A,+A, -A, -A,+A, .... ) ; and (+A,+A, -A, -A,+A,+A, .... ) ; and (+A, -A, -A, +A, +A, -A, ....) . Once the decision to adjust the phase error in one direction has been made, the direction will not be reversed. Therefore, the "hang-up" problem inherent in prior art techniques is avoided. Figure 9A shows the 2T preamble in center sample mode with the desired samples 200 in relation to the signal samples 202 and a corresponding phase error T204. Figure 9B shows the center sampled timing gradient circuit 90 for generating the timing gradient Δt 86 and a state machine 92 for generating the expected sample values X(n) 94. The counter 96 generates the following states in center-sample mode: 00->-A 01->0, 10->+A ll->0. The counter 96 is initialized to a starting state in response to the sign and absolute magnitude 208 of two consecutive sample values Y(n) 32. That is, the counter bits CO 120 and Cl 122 are initialized to: CO = ((|Y(n) | > |Y(n-l) |) AND sign(Y(n))) OR ((|Y(n) | > |Y(n-l) |) AND sign(Y(n-l) ) ) Cl = (|Y(n) I > |Y(n-l) |) where sign(x) returns a 1 if x is positive and 0 if negative. Table 2 shows the center-sampled starting state values loaded into the counter 96, which correspond to the two consecutive sample values. In table 2, |Y| > |y| . After the counter 96 is loaded with the initial starting state, it sequences through the states according to the expected samples in the 2T preamble at each sample clock 23. The four possible sequences are then: (-A,0,+A,0,-A,0, ) and (0,+A,0, -A,0,+A, .... ) and (+A,0,-A,0,+A,0 ) and (0,-A,0,+A,0,-A, .... ) Again, once the decision to adjust the phase error in one direction has been made, the direction will not be reversed, thereby avoiding the "hang-up" problem. The state machine will continue to generate the expected samples corresponding to the 2T preamble for a predetermined number of sample clocks 23 after which the correct phase will likely be acquired. After the correct phase is acquired, timing recovery is switched into a tracking mode for processing arbitrary user data. The acquisition time is slightly less than the length of the 2T preamble so that the timing recovery is switched into tracking mode before the end of the 2T preamble is reached. In tracking mode, the timing recovery is decision directed by estimated sample values, rather than state machine directed by expected sample values. A circuit for generating the timing gradient Δt in tracking mode is shown in Figure 10. The timing gradient is computed as: Δt(n) = Y(n-l)—X(n) - Y(n).~X(n-l) where Y(n) 32 are the signal sample values and ~X(n) 210 are the estimated sample values . The estimated sample values ~X(n) 210 and -X(n-l) 212 are computed by slicer 30 which operates on a sample-by-sample basis with no internal memory. The slicer 30 compares each sample to a programmable positive and negative threshold, and outputs a -1, 0, or +1 depending on the result. Table 3 shows the output of the slicer 30 corresponding to the current input sample. In Table 3, y is the sample value and Tl and -T2 are the positive and negative thresholds, respectively. The timing gradient Δt is computed by approximating the slope of the pulse signal at each sample instance. When processing arbitrary data, the error in the slope approximation varies, causing the gain of the timing gradient circuit to vary. To reduce this gain variance, the timing gradient Δt, computed as: Δt(n) = Y(n-l)—X(n) - Y(n) .-X(n-l) , is smoothed according to the following equation: Δt(n) = 2*Δt(n) if -X(n)=0 OR -X(n-1)=0; and Δt = Δt(n-l) if ~X(n)=0 AND ~X(n-l)=0. A circuit for implementing the smoothing equation is shown in Figure 11. A multiplexor 300 selects Δt as: 2*Δt 302 if ~X(n) 210 and -X(n-l) 212 are 01 or 10; and Δt(n-l) 304 if -X(n) 210 and -X(n-l) 212 are 00; and Δt 86 if -X(n) 210 and -X(n-l) 212 are 11. The objects of the invention have been fully realized through the embodiment disclosed herein. Those skilled in the art will appreciate that the aspects of the invention can be achieved through various embodiments without departing from the spirit and scope of the invention. The particular embodiment disclosed is illustrative and not meant to limit the scope of the invention as appropriately construed by the following claims.

Claims: We claim: PHASE DETECTOR APPARATUS 1. A timing recovery circuit in a synchronous read channel utilized in reading data from a magnetic medium, said synchronous read channel detects digital data from a sequence of discrete time sample values Y(n) generated by sampling pulses in an analog signal from a magnetic read head positioned over the magnetic medium, said timing recovery circuit for adjusting the phase and frequency of a sampling clock signal relative to the phase and frequency of the pulse data, said timing recovery circuit comprises a phase detector circuit comprising: (a) a timing gradient circuit for generating a timing gradient value Δt(n) representing a minimum mean squared error between the discrete time sample values Y(n) and a corresponding sequence of expected sample values X(a) ; and (b) an expected sample value state machine for generating the sequence of expected sample values X(n) wherein each state generates a corresponding expected sample value X(N) ; and wherein the expected sample value state machine is initialized to a starting state in response to a predetermined number of the discrete time sample values Y(n) and thereafter generates the expected sample values X(n) by sequencing through a plurality of predetermined states. 2. The timing recovery circuit as recited in claim 1, wherein the timing gradient value Δt(xι) is computed as: Δt(n) « Y(n-l)«X(n) - Y(n)»X(n-l). 3. The timing recovery circuit as recited in claim 1, wherein the expected sample value state machine is initialized to a starting state in response to the sign of two of the discrete time sample values Y(n) . 4. The timing recovery circuit as recited in claim 1, wherein the expected sample value state machine is initialized to a starting state in response to the sign and absolute magnitude of two of the discrete time sample values Y(n) . 5. The timing recovery circuit as recited in claim 1, wherein the expected sample value state machine comprises a discrete time counter comprising: (a) a clock input connected to the sampling clock; and (b) a discrete time output for outputting the counter value, representing the expected sample value, at the sampling clock rate; and wherein the state machine is initialized to the starting state by loading the counter with a starting state value in response to the predetermined number of the discrete time sample values Y(n) and thereafter generates the expected sample values X(n) by sequencing through a plurality of predetermined states at each sample clock period. 6. The timing recovery circuit as recited in claim 1, wherein the timing recovery circuit is utilized in acquiring a known preamble of pulses in a substantially periodic form, wherein: (a) the expected sample values of the preamble are of the form +A,+A, -A, -A, +A,+A, -A, -A.... ; and (b) the +A,+A values of the preamble correspond to a first pair of discrete values on each side, respectively, of the positive pulse peaks; and (c) the -A,-A values of the preamble correspond to a second pair of discrete values on each side, respectively, of the negative pulse peaks. 7. The timing recovery circuit as recited in claim 1, wherein the timing recovery circuit is utilized in acquiring a known preamble of pulses in a substantially periodic form, wherein: (a) the expected sample values of the preamble are of the form +A, 0, -A, 0,+A, 0, -A, 0.... ; and (b) the +A values of the preamble correspond to a first discrete value at the peak of the positive pulses; and (c) the -A values of the preamble correspond to a second discrete value at the peak of the negative pulses; and (d) the 0 values of the preamble correspond to a third discrete time value at the beginning and ending of the positive and negative pulses. The timing recovery circuit as recited in claim 1, further comprising: (a) a circuit for generating a sequence of estimated sample values ~X(n) in response to the discrete time sample values Y(n) ; and (b) a multiplexor for transmitting to the timing gradient circuit the expected sample values X(n) during acquisition of a predetermined preamble, and the estimated sample values -X(n) during tracking of arbitrary data; and wherein the timing gradient circuit generates the timing gradient value Δt(n) as: a minimum mean squared error between the discrete time sample values Y(n) and the corresponding sequence of expected sample values X(n) during acquisition; and a minimum mean squared error between the discrete time sample values Y(n) and the corresponding sequence of estimated sample values ~X(n) during tracking. 9. The timing recovery circuit as recited in claim 1, further comprising a variable frequency oscillator having said sampling clock signal as an output, wherein the variable frequency oscillator adjusts the frequency of the sampling clock in response to the timing gradient Δt(n) . TIMING GRADIENT ADJUSTER APPARATUS 10. A timing recovery circuit in a synchronous read channel utilized in reading data from a magnetic medium, said synchronous read channel detects digital data from a sequence of discrete time sample values Y(n) generated by sampling pulses in an analog signal from a magnetic read head positioned over the magnetic medium, said timing recovery circuit for adjusting the phase and frequency of a sampling clock signal relative to the phase and frequency of the pulse data, said timing recovery circuit comprises a timing gradient circuit and a gradient adjuster circuit, the gradient adjuster circuit comprising: (a) a first input for receiving a timing gradient value from the timing gradient circuit representing a minimum mean squared error between the discrete time sample values Y(n) and a corresponding sequence of estimated sample values ~X(n) ; and (b) a second input for receiving the sequence of estimated sample values ~X(n) utilized by the timing gradient circuit to generate the timing gradient value; and (c) a means for adjusting the timing gradient value when at least one of the estimated sample values -X(n) utilized in generating the timing gradient value is zero; and wherein the variation in gain of the timing gradient circuit, due to processing random data patterns, is reduced. 11. The timing recovery circuit as recited in claim 10, wherein the timing gradient value Δt is computed as Δt(n) = Y(n-1)»-X(n) - Y(n) •~X<n-l) , and wherein: (a) the magnitude of the timing gradient value is increased by the means for adjusting when the estimated sample value -X(n-l) is zero and ~X(n) is non-zero, and when the estimated sample value -X(n-l) is non-zero and -X(n) is zero; and (b) the timing gradient value Δt(n) is adjusted in proportion to the previous timing gradient value Δt(n-l) when both -X(n-l) and -X(n) are zero. FREQUENCY DETECTOR APPARATUS 12. A timing recovery circuit in a synchronous read channel utilized in reading data from a magnetic medium, said synchronous read channel detects digital data from a sequence of discrete time sample values Y(n) generated by sampling pulses in an analog signal from a magnetic read head positioned over the magnetic medium, said timing recovery circuit for adjusting the phase and frequency of a sampling clock signal relative to the phase and frequency of the pulse data, said timing recovery circuit comprises a frequency detector circuit comprising: (a) an input connected to receive the sample values Y(n); and (b) a means for generating a frequency error signal /e in response to three of the sample values Y(n); and; wherein the analog signal is substantially periodic and the sample values Y(n) for computing the frequency error /e span more than half of a period of the analog signal. 13. The timing recovery circuit as recited in claim 12, wherein the frequency error signal /e is computed as: /e = sign(Y(l))-{Y(4)-Y(0)) if |Y(1) | >. |Y(2) |; and /e = sign(Y(2))«(Y(5)-Y(l)) if |Y(1) | < |Y(2) |; and wherein the function sign(x) returns the sign of the parameter x. 14. The timing recovery circuit as recited in claim 12, further comprising a variable frequency oscillator having said sampling clock signal as an output, wherein the variable frequency oscillator adjusts the frequency of the sampling clock in response to the frequency error fe . PHASE DETECTOR METHOD 15. A timing recovery method in a synchronous read channel utilized in reading data from a magnetic medium, said synchronous read channel detects digital data from a sequence of discrete time sample values Y(n) generated by sampling pulses in an analog signal from a magnetic read head positioned over the magnetic medium, said timing recovery method for adjusting the phase and frequency of a sampling clock signal relative to the phase and frequency of the pulse data, said timing recovery method comprising the steps of: (b) generating a sequence of expected sample values X(n) corresponding to the discrete time sample values; and (a) generating a timing gradient value Δt(n) representing a minimum mean squared error between the discrete time sample values Y(n) and the corresponding sequence of expected sample values X(n); and wherein a predetermined number of expected sample values are generated first in response to a predetermined number of the discrete time sample values Y(n) and thereafter generated independent of the discrete time sample values Y(n) . 16. The timing recovery method as recited in claim 15, wherein the timing gradient value Δt(zι) is computed as: Δt (n) - Y (n-l ) «X (n) - Y (n) •X (n-l ) . 17. The timing recovery method as recited in claim 15, wherein the expected sample values are generated first in response to the sign of two of the discrete time sample values Y(n) . 18. The timing recovery method as recited in claim 15, wherein the expected sample values are generated first in response to the sign and absolute magnitude of two of the discrete time sample values Y(n) . 19. The timing recovery method as recited in claim 15, wherein the expected sample values are generated by a state machine comprising a discrete time counter comprising: (a) a clock input connected to the sampling clock; and (b) a discrete time output for outputting the counter value, representing the expected sample value, at the sampling clock rate; and wherein the state machine is initialized to the starting state by loading the counter with a starting state value in response to the predetermined number of the discrete time sample values Y(n) and thereafter generates the expected sample values X(n) by sequencing through a plurality of predetermined states at each sample clock period. 20. The timing recovery method as recited in claim 15, wherein the timing recovery method is utilized in acquiring a known preamble of pulses in a substantially periodic form, wherein: (a) the expected sample values of the preamble are of the form +A,+A, -A, -A,+A,+A, -A, -A.... ; and (b) the +A,+A values of the preamble correspond to a first pair of discrete values on each side, respectively, of the positive pulse peaks; and (c) the -A, -A values of the preamble correspond to a second pair of discrete values on each side, respectively, of the negative pulse peaks. 21. The timing recovery method as recited in claim 15, wherein the timing recovery circuit is utilized in acquiring a known preamble of pulses in a substantially periodic form, wherein: (a) the expected sample values of the preamble are of the form +A, 0, -A, 0,+A, 0, -A, 0.... ; and (b) the +A values of the preamble correspond to a first discrete value at the peak of the positive pulses; and (c) the -A values of the preamble correspond to a second discrete value at the peak of the negative pulses; and (d) the 0 values of the preamble correspond to a third discrete time value at the beginning and ending of the positive and negative pulses. 22. The timing recovery method as recited in claim 15, further comprising the steps of: (a) generating a sequence of estimated sample values ~X(n) in response to the discrete time sample values Y(n) ; and (b) transmitting to the timing gradient circuit the expected sample values X(n) during acquisition of a predetermined preamble, and the estimated sample values ~X(n) during tracking of arbitrary data; and wherein the timing gradient value Δt(n) represents: a minimum mean squared error between the discrete time sample values Y(n) and the corresponding sequence of expected sample values X(n) during acquisition; and a minimum mean squared error between the discrete time sample values Y(n) and the corresponding sequence of estimated sample values ~X(n) during tracking. 23. The timing recovery method as recited in claim 15, further comprising the steps of: (c) generating the sampling clock signal as the output of a variable frequency oscillator; and (d) adjusting the output of the variable frequency oscillator in response to the timing gradient Δt(n) . TIMING GRADIENT ADJUSTER METHOD 24. A timing recovery method in a synchronous read channel utilized in reading data from a magnetic medium, said synchronous read channel detects digital data from a sequence of discrete time sample values Y(n) generated by sampling pulses in an analog signal from a magnetic read head positioned over the magnetic medium, said timing recovery method for adjusting the phase and frequency of a sampling clock signal relative to the phase and frequency of the pulse data, said timing recovery method comprises a timing gradient generation method and a gradient adjustment method, the gradient adjustment method comprising the steps of: (a) receiving a timing gradient value from the timing gradient generation method representing a minimum mean squared error between the discrete time sample values Y(n) and a corresponding sequence of estimated sample values ~X(n) ; and (b) receiving the sequence of estimated sample values ~X(n) utilized by the timing gradient method to generate the timing gradient value; and (c) adjusting the timing gradient value when at least one of the estimated sample values -X(n) utilized in generating the timing gradient value is zero; and wherein the variation in gain of the timing gradient generation method, due to processing random data patterns, is reduced. 25. The timing recovery method as recited in claim 24, wherein the timing gradient value Δt is computed as Δt(n) - Y(n-l)»~X(n) - Y(n) •~X(n-l) , and wherein: (a) the magnitude of the timing gradient value is increased when the estimated sample value -X(n-l) is zero and -X(n) is non-zero, and when the estimated sample value -X(n-l) is non-zero and -X(n) is zero; and (b) the timing gradient value Δt(n) is adjusted in proportion to the previous timing gradient value Δt(n-l) when both -X(n-l) and -X(n) are zero. FREQUENCY DETECTOR METHOD 26. A timing recovery method in a synchronous read channel utilized in reading data from a magnetic medium, said synchronous read channel detects digital data from a sequence of discrete time sample values Y(n) generated by sampling pulses in an analog signal from a magnetic read head positioned over the magnetic medium, said timing recovery method for adjusting the phase and frequency of a sampling clock signal relative to the phase and frequency of the pulse data, said timing recovery method comprises a frequency error detection method comprising the steps of: (a) receiving the sample values Y(n) ; and (b) generating a frequency error signal /e in response to three of the sample values Y(n); and; wherein the analog signal is substantially periodic and the sample values Y(n) for computing the frequency error /e span more than half of a period of the analog signal. 27. The timing recovery method as recited in claim 26, wherein the frequency error signal fe is computed as: fe = sign(Y(l))-(Y(4)-Y(0)) if |Y(1) | >. |Y(2) |; and fe = sign(Y(2))»(Y(5)-Y(l)) if |Y(1) | < |Y(2) |; and wherein the function sign(x) returns the sign of the parameter x. 28. The timing recovery method as recited in claim 26, further comprising the steps of: (c) generating the sampling clock signal as the output of a variable frequency oscillator; and (d) adjusting the output of the variable frequency oscillator in response to the frequency error fe .

Inventors: BEHRENS RICHARD T, BLISS WILLIAM G, DUDLEY TRENT, BEHRENS, RICHARD, T., BLISS, WILLIAM, G., DUDLEY, TRENT
Applicants: CIRRUS LOGIC INC, CIRRUS LOGIC, INC.
Application year: 1995
Main classification: G11B20
IPC codes: G11B20, H03L7, H04L7