RELATED APPLICATION

This application claims the benefit, under 35 U.S.C. § 119(e), of U.S. Provisional Patent Application No. 61/074,182, entitled System and Method For Equalizer Control, filed 20 Jun. 2008, which is incorporated herein by reference.
TECHNICAL FIELD

This disclosure relates generally to electrical communication.
BACKGROUND

A transmission channel may distort highfrequency (HF) signals communicated through it. The distortion may be a result of frequencydependent signal attenuation caused, for example, by skin effect or dielectric effect in the transmission channel and may vary according to one or more characteristics of the transmission channel, such as a length or an insulator material of the transmission channel. To compensate for the distortion, a transmitter transmitting signals through the transmission channel may include a preemphasis driver. A receiver receiving the signals through the transmission channel may include one or more equalizers.
BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates example pulse responses of an example transmission channel, an example linear equalizer (LE), and an example DFE.

FIG. 2 illustrates an example DFE.

FIG. 3 illustrates an example system for adaptive control of an example LE and an example DFE.

FIG. 4 illustrates an example pulse response at an output of an example LE and example data and boundary feedback (FB) coefficients.

FIG. 5 illustrates an example speculative 1tap DFE.

FIG. 6 illustrates an example LE.

FIG. 7 illustrates example residual boundary intersymbol interference (ISI) in an example pulse response at an output of an example LE.

FIG. 8 illustrates example convolution of example residual boundary ISI and an example data sequence.

FIG. 9 illustrates example detection of residual boundary ISI based on one or more boundaryvalue differences between two data sequences.

FIG. 10 illustrates example statistical detection of residual boundary ISI using two data sequences.

FIG. 11 illustrates two example data sequences for detecting example residual boundary ISI.

FIG. 12 illustrates example aggregate detection of residual boundary ISI using two data sequences.

FIG. 13 illustrates example aggregate detection of residual boundary ISI using two successive transitions.

FIG. 14 illustrates example aggregate detection of multiple components of residual boundary ISI using one data sequence.

FIG. 15 illustrates example sets of data sequences for detecting residual boundary ISI.

FIG. 16 illustrates example equalizercontrol logic using an example signbased method.

FIG. 17 illustrates example operation of an example column balancer.

FIG. 18 illustrates example adaptive equalizer control based on example level error.

FIG. 19 illustrates example residual data ISI in an example pulse response at an output of an example LE.

FIG. 20 illustrates example convolution of example residual data ISI and an example data sequence.

FIG. 21 illustrates example detection of residual data ISI based on one or more differences in levelerror values between two data sequences.

FIG. 22 illustrates an example method for adaptive control of a DFE.

FIG. 23 illustrates an example method for detecting residual ISI components using two data patterns.

FIG. 24 illustrates an example method for signbased general zeroforcing adaptive equalizer control.

FIG. 25 illustrates an example method for multidimensional asymmetric bangbang control.
DESCRIPTION OF EXAMPLE EMBODIMENTS

FIG. 1 illustrates example pulse responses of an example transmission channel, an example LE, and an example DFE. The transmission channel communicates a signal from a transmitter to a receiver that includes the LE and the DFE, which process the received signal. The LE and DFE may communicate the processed signal in any suitable manner to a decision circuit or any other circuit components. After transmission over the channel, the received signal (or pulse) has a long tail due to highfrequency loss in the transmission channel. The long tail causes ISI because the long tail interferes with successively transmitted symbols. In particular embodiments, there may be two symbols: such as 0 and 1 or −1 and +1. The present disclosure contemplates any suitable symbols. In FIG. 1, the LE moderately amplifies an attenuated highfrequency component of the received signal to reduce residual ISI occurring after a particular delay. If the DFE after the LE is a 1tap DFE, the LE may reduce residual ISI occurring after a delay of 2.0 unit intervals (UIs), as FIG. 1 illustrates. The DFE cancels the residual ISI occurring more immediately after the pulse. If the DFE is a 1tap DFE (as in FIG. 1) the DFE may use a feedback loop from a decision circuit in the DFE to cancel residual ISI occurring after a delay of 1.0 UI. In particular embodiments, the LE and 1tap DFE may apply compensation as illustrated in FIG. 1 that minimizes and cancels residual ISI occurring after particular unit intervals of delay. In particular embodiments, the LE and 1tap DFE may reduce residual ISI occurring after particular unit intervals of delay.

The receiver may include any suitable equalizer or combination of equalizers for receiving, at an input port, the signal from the transmitter and applying a gain, offset, or other modification to the signal according to parameters that specify an amount of compensation to apply to the signal. Such parameters may be adaptive, which may be desirable when one or more characteristics of the transmission channel are unknown. The receiver may also include equalizercontrol logic for adjusting such parameters. U.S. Patent Application Publication No. 2007/0280383, entitled System and Method for Adjusting Compensation Applied to a Signal and published 6 Dec. 2007, which is incorporated herein by reference, further describes adjusting equalizer parameters to compensate for signal distortion. One or more of the equalizers in the receiver may utilize a feedback signal, applying the feedback signal to the signal from the transmitter to compensate for distortion in the signal. The present disclosure may refer to circuit components applying compensation for distortion in a signal as being part of an adaptive equalizer or an adaptive equalizer control system. Herein, reference to an adaptive equalizer may encompass an adaptive equalizer control system, and vice versa, where appropriate. For example, in FIG. 1, an adaptive equalizer control system includes an LE and a DFE to provide twodimensional adaptive equalizer control.

An adaptive equalizer control system may include an LE to reduce residual ISI with greater than or equal to approximately 2.0 UIs of delay. If an LE applies too little amplification, the pulse response may include a long tail of residual interference greater than zero over multiple UIs of delay. For example, the pulse response may demonstrate residual interference greater than zero over approximately 2.5, 3.0, and 3.5 UIs of delay. On the other hand, if an LE applies too much amplification, the pulse response may include a long tail of residual interference less than zero over multiple UIs of delay. The particular components chosen for an adaptive equalizer control system may depend on one or more characteristics of the transmission channel. For example, communication through particular transmission channels may benefit only slightly, if at all, from the use of a DFE. Particular adaptive equalizer control systems may utilize only an LE (without a DFE) to reduce residual ISI with greater than or equal to approximately 1.0 UIs of delay or with greater than or equal to even less than approximately 1.0 UIs of delay.

Particular embodiments may utilize adaptive equalization as described herein in contexts other than signal transmission. As an example and not by way of limitation, particular embodiments may apply adaptive equalization as described herein to a recording channel, such as a magnetic, optical, or other recording channel.

FIG. 2 illustrates an example DFE. The DFE receives DFE input, combines the DFE input with a feedback signal generated by a feedback filter, processes the combined signal using a decision circuit that performs sampling and 1bit analogtodigital (A/D) conversion, and outputs DFE output. The feedback signal cancels residual ISI in the DFE input. Herein, “cancel” may mean “reduce,” where appropriate. For a 1tap DFE, the feedback signal may have a negative peak at approximately 1.0 UIs. For a 2tap DFE, the feedback signal may have a negative peak at approximately 1.0 UIs and 2.0 UIs. In FIG. 2, the feedback signal has a nonzero value at approximately 0.5 UIs and 1.5 UIs and has a zero value at all other discrete timings with an interval of 0.5 UIs. In particular embodiments, the DFE does not utilize feedback from less than or equal to 0.5 UIs of prior data. Instead, the DFE combines the feedback signal with later UIs of prior data.

In particular embodiments, the DFE includes a feedback loop having a 1tap feedback filter similar to a duobinary partialresponse equalizer without precoding and employs a speculative technique to unroll the feedback loop. Although the present disclosure describes and illustrates particular DFEs including particular combinations of particular components for particular adaptive control using particular adaptive control algorithms, the present disclosure contemplates any suitable DFEs including any suitable combinations of any suitable components for any suitable adaptive control using any suitable adaptive control algorithms. As an example and not by way of limitation, particular embodiments may utilize adaptive control that is based on one or more conventional adaptive control algorithms, such as, for example, a LeastMeanSquare (LMS) algorithm, a SignSignLeastMeanSquare (SSLMS) algorithm, or a ZeroForcing (ZF) algorithm. As another example, particular embodiments may utilize a signbased ZF algorithm that does not require measuring quantities of residual ISI. In particular embodiments, LEs (in addition to DFEs) utilize one or more adaptive control algorithms.

In FIG. 3, the DFE is divided into a data DFE and a boundary DFE. The data and boundary DFEs may each be implemented using a speculative or loop unrolled scheme. In particular embodiments, in the data DFE, the output of the decision circuit is delayed by approximately 1.0 UIs, multiplied by a data feedback (FB) coefficient, and then subtracted from the input from the LE before the decision circuit in the data DFE makes a decision with respect to a next symbol. In particular embodiments, the output of the decision circuit has a binary value, either +1 or −1. If the data FB coefficient matches the residual ISI at approximately 1.0 UIs delay, the data DFE will cancel the residual ISI at approximately 1.0 UIs delay. In particular embodiments, in the boundary DFE, the feedback signal is based on the output of the decision circuit in the data DFE. The output of the decision circuit in the data DFE is delayed by approximately 1.5 UIs, multiplied by the boundary feedback (FB) coefficient, and then subtracted from the input from the LE before the decision circuit in the boundary DFE makes a decision with respect to a next boundary. The amount of delay may vary from approximately 1.5 UIs when the delay from the boundary clock to the data clock varies from approximately 0.5 UI. For example, if the delay from the boundary clock to the data clock were approximately 0.3 UIs, the feedback delay would be approximately 1.7 UIs.

In FIG. 3, the outputs of the data DFE and the boundary DFE are demultiplexed and then used by clockrecovery and equalizercontrol logic. The demultiplexed data is used as the recovered data output. The clockrecovery logic uses a reference clock from a phaselocked loop (PLL). The clockrecovery logic detects phase error from the demultiplexed data and boundary values, processes the phase error using a digital filter to adjust a phase code for a data clock and a boundary clock, and generates the data clock and the boundary clock based on the reference clock and the phase code. In particular embodiments, the clockrecovery logic adjusts the phase code based on 0.5 UIs of delay from the boundary clock to the data clock. In particular embodiments, the clockrecovery logic adjusts the phase code based on 0.3 UIs of delay from the boundary clock to the data clock.

The equalizercontrol logic in FIG. 3 receives recovered data output and recovered boundary output and generates and transmits equalizer parameters for controlling the amount of compensation for an equalizer to apply. In particular embodiments, equalizercontrol logic uses one or more residual ISI detectors to detect a residual ISI vector from the demultiplexed data and boundary values and uses integrators to generate equalizer parameters. As used herein, the phrase “residual ISI” may refer to one or more “residual ISI vectors” or one or more vector values of residual ISI vectors, except where a particular “residual ISI component” is specified. A residual ISI vector may be produced using any mathematical operations that produce vector output from any type of data, such as, for example, scalar data and vector data, and may have any length. Mathematical operations used to produce vector values may be performed any number of times to produce any number of vector values for any number of vectors. In particular embodiments, equalizercontrol logic may require additional hardware such as a monitoring circuit to adaptively control equalizer parameters. Alternatively, equalizercontrol logic adaptively controls equalizer parameters using a scheme that does not require additional hardware such as a monitoring circuit, which may, for example, increase loading to a highspeed analog circuit and power consumption. Equalizercontrol logic may adaptively control any suitable control parameter such as, for example, LE gain, boundary FB coefficient, data FB coefficient, and offset code, or any combination of suitable control parameters. For example, equalizercontrol logic may provide FB control for a boundary DFE based on a boundary FB coefficient and feedforward control for a data DFE based on the boundary FB coefficient.

Particular embodiments generate a data FB coefficient from a boundary FB coefficient. To generate the data FB coefficient, the boundary FB coefficient may be processed by a lowpass filter (LPF) to compute an average and the average may be multiplied by a data coefficient scaling factor (DCESF). The boundary FB coefficient may be controlled using a feedback control scheme, since a change in the boundary FB coefficient may affect a corresponding change in boundary value, with observable effects. The data FB coefficient may be controlled based on the boundary FB coefficient using a feedforward control scheme or an openloop control scheme, since a change in the data FB coefficient may not affect a corresponding change in data value. The use of a feedforward control scheme for the data FB coefficient may reduce data errors.

In particular embodiments, equalizercontrol logic includes an adaptation matrix. For example, the equalizercontrol logic may force residual ISI toward zero by detecting residual ISI and integrating each residual ISI component with a different weight according to the adaptation matrix, where weight depends on at least the equalizer type and the residual ISI. In particular embodiments, the equalizercontrol logic includes a vector of binary values representing the sign of residual ISI components. In particular embodiments for processing recovered data output, equalizercontrol logic includes a target ISI vector and subtracts the target ISI vector from the residual ISI vector. The target ISI vector may be, for example, the residual ISI vector observed in the best known state (with respect to biterror rate (BER)) for the worstcase transmission channel. In particular embodiments, equalizercontrol logic may be compatible with any correlated data sequences, including monotone sequences (such as a repeated 0101 pattern).

The equalizercontrol logic in FIG. 3 may be implemented using known techniques such as General ZeroForcing or GaussNewton algorithms. With General ZeroForcing algorithms, there is no optional target ISI vector (i.e. v=0), and the adaptation matrix is calculated as a Jacobian (derivative) matrix of the impulse response (or the residual ISI vector) of the worstcase channel and the equalizer combined together with respect to the vector of equalizer control variables. For the worstcase channel, it will minimize the sum of squares of the residual ISI in the equilibrium state. For other channels, the sum of squares of the residual ISI is not necessarily minimized in the equilibrium state, but the operating margin is usually bigger than the worstcase channel for a wide range of channel characteristics. A problem of General ZeroForcing is that it assumes linearity of the system, and the bit error rate (BER) is not necessarily minimized for the worstcase channel even if the sum of square of the residual ISI is minimized.

One or more of these problems may be solved by particular embodiments using an optional target ISI vector and a GaussNewton algorithm, where the target ISI vector is the residual ISI vector observed in the best known state (with respect to BER) for the worstcase channel. As in General ZeroForcing, the adaptation matrix is a Jacobian (derivative) matrix indexing an impulse response (or the residual ISI vector) for the worstcase channel, an equalizertype, and a vector of equalizercontrol variables. Contrary to the Jacobian (derivative) matrix used in General ZeroForcing, the adaptation matrix indexes the impulse response observed in the best known state (with respect to BER) for the worstcase channel, whereas the Jacobian (derivative) matrix in the General ZeroForcing algorithm is thought to be state independent because General ZeroForcing assumes linearity of the system. By using the target ISI vector and a GaussNewton algorithm, we may minimize BER in the equilibrium state for the worstcase channel.

In particular embodiments, equalizercontrol logic uses a signbased method to implement a modified General ZeroForcing or GaussNewton algorithm that realizes the same or similar results. In particular embodiments, the signbased method is configured to achieve statistically equivalent results to the results of the General ZeroForcing or GaussNewton algorithm in a long term. To implement the signbased method, equalizercontrol logic measures only sign information, and may calculate the quantity for each component of the residual ISI vector using only the sign information. Then, equalizercontrol logic performs arithmetic and scalar operations using the residual ISI vector to generate equalizer parameters, as FIG. 3 illustrates. The description below with respect to FIG. 16 further describes equalizercontrol logic using a signbased General ZeroForcing method for adaptive equalizer control.

FIG. 4 illustrates an example pulse response at an output of an example LE and example data and boundary FB coefficients. The pulse response of the LE output at 1.0 UI of delay (h_{+1.0}) corresponds to the data FB coefficient for 1.0 bit of prior data. The pulse response of the LE output at 1.5 UIs of delay (h_{+1.5}) corresponds to the boundary FB coefficient for 1.5 bits of prior data. When the pulse response on and after 2.0 UIs of delay is minimized as shown in FIG. 4, the data feedback signal for 1.0 bit of prior data (h_{+1.0}) is spread into both h_{+0.5 }and h_{+1.5}. In particular embodiments, the pulse response at 1.5 UIs of delay (h_{+1.5}) is measured by adjusting the boundary FB coefficient for 1.5 bits of prior data and observing the change in the pulse response at 1.5 UIs of delay (h_{+1.5}). In particular embodiments, the pulse response at 0.5 UIs of delay (h_{+0.5}) is not measured and is ignored because the effect of h_{+0.5 }on boundary value is cancelled or at least minimized by clockrecovery in a long term. Then, the pulse response at 1.0 UI of delay (h_{+1.0}) may be inferred as a scaled value of the pulse response at 1.5 UIs of delay (h_{+1.5}). The inferred pulse response at 1.0 UI of delay (h_{+1.0}) may be set as the data FB coefficient for 1.0 bit of prior data.

In particular embodiments, this scheme may be implemented using a 2tap DFE. For example, for a 2tap data DFE, a 2tap boundary DFE may generate a feedback signal at 1.5 UIs and 2.5 UIs of delay based on 1.5 and 2.5 bits of prior data respectively. In particular embodiments, the pulse response at 1.5 UIs of delay (h_{+1.5}) may be measured by adjusting the first boundary FB coefficient for 1.5 bits of prior data and observing the change in the pulse response at 1.5 UIs of delay (h_{+1.5}). The pulse response at 2.5 UIs of delay (h_{+2.5}) may be measured by adjusting the second boundary FB coefficient for 2.5 bits of prior data and observing the change in the pulse response at 2.5 UIs of delay (h_{+2.5}). Then, the pulse response at 2.0 UIs of delay (h_{+2.0}) may be inferred as the average of the pulse response at 1.5 UIs of delay (h_{+1.5}) and the pulse response at 2.5 UIs of delay (h_{+2.5}), i.e.,

${h}_{+n}=\frac{{h}_{+n0.5}+{h}_{+n+0.5}}{2}.$

The inferred pulse response at 2.0 UIs of delay (h_{+2.0}) may be set as the data FB coefficient for 2.0 bits of prior data.

In particular embodiments, this scheme may be implemented using a multitap DFE. For example, for an n^{th}tap data DFE (n>1), an n^{th}tap boundary DFE may generate a feedback signal at (n+0.5) UIs and (n−0.5) UIs of delay based on (n+0.5) and (n−0.5) bits of prior data respectively. In particular embodiments, the residual ISI at (n+0.5) UIs of delay (h_{+n+0.5}) may be measured by adjusting the n^{th }boundary FB coefficient for (n+0.5) bits of prior data and observing the change in the residual ISI at (n+0.5) UIs of delay (h_{+n+0.5}). The residual ISI at (n−0.5) UIs of delay (h_{+n−0.5}) may be measured by adjusting the (n−1)^{th }boundary FB coefficient for (n−0.5) bits of prior data and observing the change in the residual ISI at (n−0.5) UIs of delay (h_{+n−0.5}). Then, the residual ISI at n UIs of delay (h_{+n}) may be inferred as the average of the residual ISI at (n+0.5) UIs of delay (h_{+n+0.5}) and the residual ISI at (n−0.5) UIs of delay (h_{+n−0.5}). The inferred residual ISI at n UIs of delay (h_{+n}) may be set as the n^{th}tap FB coefficient of the data DFE for n bits of prior data.

FIG. 5 illustrates an example speculative 1tap DFE. The example speculative 1tap DFE uses a speculative technique (also known as a loopunrolling technique) to reduce residual ISI in the pulse response at the DFE input. In particular embodiments, instead of generating a real analog feedback signal to apply to the DFE input before the decision circuit as shown in FIGS. 2 and 3, two decision circuits may be used in parallel at the same timing. One decision circuit adds a FB coefficient to the input, and another decision circuit subtracts the FB coefficient from the input. After speculative decisions are made, one of the results may be chosen based on previously received data (1 bit of prior data for data DFE or 1.5 bits of prior data for boundary DFE). In particular embodiments, the DFE input is a differential signal and the FB coefficient is a reference voltage. The polarity of the FB coefficient is flipped by swapping the positive and negative signals of the reference voltage for the FB coefficient.

The example speculative 1tap DFE illustrated in FIG. 5 provides an example of an equalizer that applies compensation for distortion in parallel. Compensation for distortion may be applied in parallel in any suitable manner (e.g., before or after distortion occurs) using any suitable equalization technique (e.g., transmitter preemphasis equalization or receiver equalization) and any suitable equalizer (e.g., an analog continuoustime firstorder derivative filter, an analog continuoustime secondorder derivative filter, a multitap finiteimpulseresponse filter, a 1tap DFE, a 2tap DFE or a multitap DFE). In particular embodiments, compensation for distortion may be applied in series in any suitable manner using any suitable equalization technique and any suitable equalizer.

FIG. 6 illustrates an example LE. The LE includes twostage differential buffers with capacitive and resistive degeneration. In particular embodiments, an LE parameter is adjusted by adjusting one of the degeneration resistors. In particular embodiments, residual ISI occurring after a particular UI of delay may be minimized by adjusting the LE parameter and observing the change in the residual ISI. Any suitable LE (such as, for example, a first or second order derivative filter) may be used to reduce residual ISI occurring after a particular UI of delay. FIG. 7 illustrates example residual boundary ISI in an example pulse response at an output of an example LE. While receiving a continuous data sequence, the boundary value seen by the boundary DFE may be represented as the convolution of the residual boundary ISI and the data sequence, as FIG. 8 shows. FIG. 8 illustrates example convolution of an example residual boundary ISI and an example data sequence. As an example and not by way of limitation, if the receiving data sequence is {D_{0}, D_{1}, D_{2}, D_{3}, D_{4}, D_{5}, D_{6}}, the boundary value E_{4.5 }between D_{4 }and D_{5 }may be represented as

E _{4.5} ^{{D} ^{ 0 } ^{,D} ^{ 1 } ^{,D} ^{ 2 } ^{,D} ^{ 3 } ^{,D} ^{ 4 } ^{,D} ^{ 5 } ^{,D} ^{ 6 } ^{}} ≈h _{−1.5} D _{6} +h _{−0.5} D _{5} +h _{+0.5} D _{4} +h _{+1.5} D _{3} +h _{+2.5} D _{2} +h _{+3.5} D _{1} +h _{+4.5} D _{0}, with

additional terms for more distant data being omitted because their effect is small.

In FIG. 8, the data points of the data sequence D include D_{0}, D_{1}, D_{2}, D_{3}, D_{4}, D_{5}, and D_{6}. The boundary points are illustrated as darkened circles on either side of the unfilled circles. Clockrecovery or equalizercontrol logic may sample the recovered data output at a data point to generate a data value (e.g. D_{0}D_{6}) and at a boundary point to generate a boundary value (e.g. E_{0.5}−E_{5.5}). Each sampled data value and boundary value may be a low value, a high value, or a random value that randomly takes a high value or a low value. In particular embodiments, a low value is a “0,” a high value is a “1,” a random value is either a “0” or a “1,” and an average of random values is “0.5.” In particular embodiments, a low value is a “−1,” high value is a “1,” a random value is either a “−1” or a “1,” and an average of random values is “0.” A change from a high to a low value or from a low to a high value between two successive data values is a transition. In FIG. 8, transitions occur between low data value D4 and high data value D5, between high data value D0 and low data value D1, between low data value D1 and high data value D2, and between high data value D2 and low data value D3. In a signal exhibiting no residual ISI effects, each boundary value between two successive data values with opposite values is typically a random value. For such a signal, the equalizercontrol logic may adjust the gain applied to the DFE input up or down randomly, as ISI effects are already being fully compensated or do not exist. If the number of up adjustments substantially equals the number of down adjustments, the gain applied to the input signal may remain, on average, at the same level. If the number of up adjustments does not substantially equal the number of down adjustments, the gain applied to the input signal may drift slightly from its initial level. Such drift of the gain level may produce slight residual ISI. The equalizercontrol logic may detect this ISI and adjust the gain back to the average initial level.

In particular embodiments, an equalizer may control more than one independent parameter, such as, for example, the unmodified, firstorderderivative, and secondorderderivative components of a signal. Generally, “firstorderderivative” components are the result of a “firstorderderivative” operation, which uses any suitable electronic component or collection of components or circuitry, such as, for example, a highpass filter, to produce an output that is linearly proportional to the firstorder derivative of an incoming signal with respect to time. According to particular embodiments, a derivative operation takes the derivative of an incoming signal with respect to time, such as, for example, the voltage change of the incoming signal per 100 picoseconds. Derivative operations may be applied to a signal once or multiple times, resulting in an output signal that is proportional to the first, second, third, or higher order derivative of the incoming signal with respect to time based on the number of times the derivative operation is applied. Examples of multiparameter (or multidimensional) equalizers include 2tap DFEs, which may independently control a first control parameter and a second control parameter, and 3tap finite impulse response (FIR) filters, which may independently control a second control parameter and a third control parameter. The present disclosure contemplates any suitable multidimensional equalizer. In particular embodiments, compensation is adjusted independently for each independent equalizer parameter. Adaptive equalizer control may be applied to a first control parameter independently by adjusting the first control parameter while the other control parameters remain fixed. In a 2tap DFE, for example, the first and secondtap coefficients may be adjusted independently, and each of these adjustments may comprise an adjustment to the compensation for distortion. Alternatively, multidimensional equalizers may adjust compensation according to more than one control parameter at the same time (in the aggregate) by adjusting compensation according to a particular function that incorporates more than one independent parameter.

Compensation for distortion (such as, for example, gain) may be adjusted independently for each independent control parameter based on particular relationships between a sampled boundary value that is between successive data values that resulting in a transition and one or more sampled data values before or after the boundary value in particular timings. Particular relationships may correspond to particular types of ISI for particular independent equalizer parameters. When, for example, an adaptive equalizercontrol system detects such relationships among a sampled boundary value and sampled data values (e.g. using predefined datavalue patterns) adaptive equalizer control may be adjusted by adjusting the one or more particular independent equalizer parameters.

In particular embodiments, the predefined data value patterns used by the adaptive equalizercontrol system to compare with the incoming stream of sampled data values may be sensitive to ISI for particular independent control parameters. These patterns may be selected, for example, based on the sensitivity of the boundary value between data values resulting in a transition to the independent control parameter being adjusted. In particular embodiments, these patterns may be selected based on the partial derivative of the pulse response at that independent control parameter (e.g., on the sign or magnitude of the partial derivative) because the boundary value seen by the decision circuit in the boundary DFE may be represented as a convolution of the residual boundary ISI and the data sequence, as FIG. 8 shows.

FIG. 9 illustrates example detection of residual boundary ISI based on one or more datavalue differences between two data sequences. In particular embodiments, residual boundary ISI may be measured by taking a difference in boundary values between two data sequences which have different data values in the data bits corresponding to the residual boundary ISI to be measured. In the illustrated example, h_{+1.5 }is measured by taking a difference in boundary values E_{4.5 }between D_{4 }and D_{5 }for two data sequences which have different data values at D_{3}. Data values D_{0}, D_{1}, D_{2}, D_{4}, D_{5 }and D_{6 }are the same for both data sequences. Each data value and boundary value may comprise a low value, a high value, or a random value that takes either a high value or a low value randomly. In particular embodiments, each data value and boundary value may comprise a quantity, which may be measured, for example, at fullrange precision analog level. In particular embodiments, only the sign (not the quantity) of the boundary values is used to measure the boundaryvalue differences.

In particular embodiments, residual boundary ISI may be measured for its sign and for its magnitude to some degree by taking statistical differences of the binary boundary values for the two data sequences as long as the binary boundary values are not statistically saturated. For example, the probabilities of +1 (or −1) boundary values are the same for the two data sequences in FIG. 9, if and only if the residual boundary ISI h_{+1.5 }is absolutely zero. Otherwise, the probability of +1 boundary values is higher (or lower) for the data sequence with D_{3 }equal to +1 than the data sequence with D_{3 }equal to −1, depending on whether the residual boundary ISI at 1.5 UIs of delay (h_{+1.5}) is positive or negative. The amount of statistical difference indicates the magnitude of the residual boundary ISI at 1.5 UIs of delay (h_{+1.5}).

If the binary boundary values are statistically saturated, the difference in binary boundary values between the two data sequences is zero and thus cannot be used to measure residual boundary ISI. To prevent statistical saturation of the binary boundary values between the two data sequences, the number of high values present in the other data values (e.g. D_{0}, D_{1}, D_{2}, D_{4}, D_{5 }and D_{6 }in FIG. 9) used to calculate the difference in boundary values between the two data sequences is close to (and thus balanced with) the number of low values present in the other data values (e.g. D_{0}, D_{1}, D_{2}, D_{4}, D_{5 }and D_{6 }in FIG. 9) used to calculate the difference in boundary values between the two data sequences. By watching for various filter patterns in a balanced manner, adaptive equalizer control may become more independent of incoming data sequences. For example, there may be some data dependency for some periodic or quasiperiodic data sequences where a periodic or quasiperiodic data sequence does not include one or some of the filter patterns at all. In such a case, one scheme may be to wait for the filter pattern expecting that the current incoming data sequence changes at some point in the future. Another scheme may be to skip filter patterns that may not appear in the current incoming data sequence.

In particular embodiments, D_{4 }and D_{5 }must have different data values to make a transition at E_{4.5 }where a boundary value E_{4.5 }is measured. If D_{4 }and D_{5 }have the same value, the binary boundary value E_{4.5 }is completely statistically saturated, because E_{4.5 }always takes the same value as D_{4 }and D_{5}. The boundary value E_{4.5 }is not statistically saturated, only if D_{4 }and D_{5 }have different values and there is a data transition at E_{4.5}.

In particular embodiments, balanced application of adaptive control actions enables adaptive control algorithms to provide consistent adaptation results among various data sequences. Balanced application of adaptive control actions may be achieved by selecting data sequences for the adaptive control actions. In particular embodiments, if data sequences observed during adaptation are limited, the data sequences for residual ISI detection must be chosen from those data sequences observed during adaptation. For example, adaptive control applied for 10GBASECX4 starts with the 8B10B idle data sequence which consists of only 8B10B/A/,/K/,/S/symbols because the initial incoming data sequence at start up may be an idle data sequence. It may be desirable to avoid data sequences which do not appear in the 8B10B idle data sequence, at least during link initialization. Otherwise, the link will not start up. Once initialization is complete, equalizercontrol logic may use data sequences that appear in real data traffic, not idle data sequences.

FIG. 10 illustrates example statistical detection of residual boundary ISI using two data sequences. In particular embodiments, data pattern H and L have different values in the data bits corresponding to the residual boundary ISI to be measured. FIG. 10 illustrates an example method for statistically detecting residual ISI using two data sequences. This method includes calculating a difference between the two data sequences. In particular embodiments, it is advantageous to use only one data sequence to detect boundary residual ISI in an aggregate manner. To use one data sequence, the example method shown in FIG. 10 may be modified to include the portion related to data pattern H and not include the portion related to data pattern L.

FIG. 11 illustrates two example data sequences for detecting example residual boundary ISI at 1.5 UIs of delay (h_{+1.5}). Herein, the terms “pattern” and “sequence” may be used interchangeably, where appropriate. Since data patterns H and L are watched for alternatively, two data patterns are taken into account the same number of times over a long term. In particular embodiments, the two data patterns behave in opposite regarding the polarity of boundary values. In particular embodiments, the statistical difference of the boundary values between two data patterns which are taken into account the same number of times may correspond to the actual difference over a long term for any incoming data sequence, even if data pattern H is received much more frequently than data pattern L.

In particular embodiments, the above scheme may be extended to detect two or more components of residual ISI in an aggregate manner. In particular embodiments, this aggregate detection scheme uses two data patterns which have different data values in the data bits corresponding to the residual ISI components to be measured in an aggregate manner. For example, h_{+2.5 }and h_{+3.5 }may be detected together as shown in FIG. 12. Aggregate residual boundary ISI (h_{+2.5}*2+h_{+3.5}*2) is measured by taking a difference in boundary values E_{4.5 }between two data sequences which have different data values in the data bits corresponding to data bits D_{1 }and D_{2}. Data values D_{0}, D_{3}, D_{4}, D_{5 }and D_{6 }are the same for both data sequences. Aggregate detection of two or more components of residual ISI may be especially useful where various types of data sequences are not observed during adaptation. Aggregate detection of two or more components of residual ISI may also be especially useful for detecting components of residual ISI with more than a certain amount of delay because there is no discrete control over component residual ISI by an LE and because a sum of component residual ISIs may be sufficient for adaptive control of an LE.

FIG. 13 illustrates example detection of two or more components of residual ISI in an aggregate manner. This aggregate detection scheme uses two data patterns and is based on the boundary values between two successive transitions, where the transitions occur at the same time for both data patterns. In particular embodiments, two data sequences have different values only at one data bit D_{3}, and two successive boundary values at E_{4.5 }and E_{5.5 }are detected at the same time. The aggregate residual boundary ISI h_{+1.5 }and h_{+2.5 }are detected when both E_{4.5 }and E_{5.5 }are positive or negative. When E_{4.5 }and E_{5.5 }have different values, it may indicate phase error. In particular embodiments, when E_{4.5 }and E_{5.5 }have different values, detection is skipped altogether instead of separately detecting h_{+1.5 }from E_{4.5 }and h_{+2.5 }from E_{5.5}. By skipping detection in this scenario, the detection of residual boundary ISI may become more robust for jitter.

FIG. 14 illustrates example aggregate detection of multiple components of residual boundary ISI using one data sequence. As illustrated, the boundary value is observed for only one data sequence {−1,+1,−1,+1,+1,−1,−1} In particular embodiments, the residual boundary ISI at 0.5 UIs of delay (h_{+0.5 }and h_{+0.5}) is not measured and is ignored because the effect of h_{+} _{0.5 }and h_{+0.5 }on boundary value is cancelled or at least minimized by clockrecovery in a long term. Among the remaining terms, h_{+1.5 }has the primary effect, and the other terms have secondary effects. Since h_{−1.5 }is usually small, E_{4.5} ^{{−1,+1,−1,+1,+1,−1,−1}} is close to the value of h_{+1.5}, when the boundary values at h_{+2.5 }and later are minimized by the LE. In order to measure the optimal value of h_{+1.5 }with the optimal LE parameter which minimizes the boundary values at h_{+2.5 }and later, using E_{4.5} ^{{−1,+1,−1,+1,+1,−1,−1}} instead of using two data sequences to detect h_{+1.5 }may be advantageous, for example, because E_{4.5} ^{{−1,+1,−1,+1,+1,−1,−1}} is still close to the optimal value of h_{+1.5 }even if the LE parameter is not optimal and the terms on and after h_{+2.5 }are not fully minimized by LE. In particular embodiments, the current value of h_{+1.5 }may be largely affected by the LE parameter. For example, in E_{4.5} ^{{−1,+1,−1,+1,+1,−1,−1}}, h_{+1.5 }and h_{+3.5 }are positive and h_{+2.5 }and h_{+4.5 }are negative, and the effect of LE parameter change is cancelled between these terms. In particular embodiments, DFE FB coefficient control may be less affected by LE parameter control where E_{4.5} ^{{−1,+1,−1,+1,+1,−1,−1}} is used to control a DFE FB coefficient than where h_{+1.5 }is used to control the DFE FB coefficient. For example, DFE FB coefficient control may be less affected by LE parameter control where two control loops are decoupled or orthogonalized with each other than where two control loops are coupled with each other. In particular embodiments, independent controls of the DFE FB coefficient and the LE parameter are more advantageous regarding to the convergence speed and the control loop stability than dependent controls of the DFE FB coefficient and the LE parameter. It may also be advantageous when various types of data sequences are not observed during adaptation period because it uses a lower number of data patterns.

FIG. 15 illustrates example sets of data sequences (or patterns) for detecting an individual residual boundary ISI component. In particular embodiments, it may be advantageous to switch between more than one set of data patterns which detect the same one or more components of residual ISI. Those multiple sets may be used in sequence or in random order. For example, the residual ISI of h_{+2.5 }may be detected by either set of data patterns shown in FIG. 15. In the illustrated embodiment, all values are inverted between pattern set R and pattern set F. In particular embodiments, using pattern set R and F alternatively or randomly reduces the effect of residual offset on residual ISI detection. In particular embodiments, it may be also advantageous to switch between one set of data patterns starting at an even bit and another set of data patterns starting at an odd bit. In particular embodiments, balancing the use of data patterns starting at an even bit and data patterns starting at an odd bit reduces the effect of dutycycle distortion on residual ISI detection. In particular embodiments, when detecting an individual residual ISI component using two data patterns, steps may be taken to balance the number of operations between residual ISI components (and optionally between equalizer control variables).

FIG. 16 illustrates example equalizercontrol logic using an example signbased method. The example equalizercontrol logic uses a signbased method to implement a modified General ZeroForcing or GaussNewton algorithm that realizes the same or similar results. In particular embodiments, the signbased method of FIG. 16 is configured to achieve statistically equivalent results to the results of the General ZeroForcing or GaussNewton algorithm in a long term. The description above with respect to FIG. 3 further describes equalizercontrol logic using a conventional General ZeroForcing method for adaptive equalizer control and an example signbased General ZeroForcing method for adaptive equalizer control. The signbased method does not measure the quantity of residual ISI. The signbased method uses sign of residual ISI in a binary form and performs scalar and arithmetic operations instead of matrix multiply and vector operations. Residual ISI detectors 1 through 5 detect sign of residual ISI using the signbased method. Residual ISI detectors 1 through 5 may switch between multiple sets of data patterns. Each residual ISI detector may be programmed to detect residual ISI using any data patterns, data sequences or sets of data patterns or data sequences in any format. Each residual ISI detector may utilize and switch between any interface modes and applications of adaptive control actions and operate during and switch between any periods of operation, such as during initialization, after initialization, and in use, because there may be different requirements such as available data patterns for adaptation and desired (or required) level of optimization. The signbased method is more efficient and requires less hardware than adaptive control using conventional General ZeroForcing or GaussNewton algorithms that measure quantity of residual ISI and perform matrix multiplication and vector operations. The signbased method adds or subtracts weight to the control variable depending on the sign of residual ISI. In the signbased method, magnitude of W^{(p) }and W^{(n) }are equivalent, and thus particular embodiments of the signbased method do not use a target ISI vector. In particular embodiments, weight may be calculated from a derivative of the average of the binary residual ISI for the worstcase channel with respect to the equalizer control variable. In particular embodiments, the signbased method balances the number of operations between residual ISI components (and optionally between equalizer control variables). In particular embodiments, the signbased method may be implemented by any equalizer, including any twodimensional equalizer, any DFE and any LE, such as a continuoustime linear equalizer (CTLE) for any equalizer parameter.

FIG. 17 illustrates example operation of an example column balancer. The column balancer selects one residual ISI detector at a time, and processes two results (i.e., one for data pattern H and another for data pattern L in FIG. 10) from the selected residual ISI detector. If the residual ISI detector uses multiple sets of data patterns, it first synchronizes with the residual ISI detector after selection of the residual ISI detector so that the two results being processed are for the same set of data patterns. Synchronization may be done by waiting until the residual ISI detector is looking for the data pattern H (the first data pattern). After the column balancer processes two results from the selected residual ISI detector, the column balancer selects a next residual ISI detector in sequence or at random. In particular embodiments, in a long term, the column balancer guarantees that results from each residual ISI detector are taken into account for the same number of times. This is guaranteed for any incoming data sequence, even if data patterns for one residual ISI detector are quite often, whereas data patterns for another residual ISI detector are very rare.

As illustrated in FIG. 16, in particular embodiments, when a residual ISI detector selected by the column balancer detects residual ISI, the weight selector reads out a weight value from a three dimensional weight register file indexed by the integrator (row), the residual ISI detector (column), and the sign of detected residual ISI (sign). Then, the weight value is integrated to generate the value of the control variable, which is either the LE parameter or the boundary FB coefficient. The weight register file may be programmed to contain information equivalent to the adaptation matrix and the target ISI vector, of which FIG. 3 illustrates examples. In particular embodiments, an adaptation matrix M and an optional target ISI vector v may be defined in FIG. 3 as follows:

$M=\left\{\begin{array}{ccccc}{m}_{1,1}& {m}_{1,2}& {m}_{1,3}& {m}_{1,4}& {m}_{1,5}\\ {m}_{2,1}& {m}_{2,2}& {m}_{2,3}& {m}_{2,4}& {m}_{2,5}\end{array}\right\}$
$v={\left\{\begin{array}{ccccc}{v}_{1}& {v}_{2}& {v}_{3}& {v}_{4}& {v}_{5}\end{array}\right\}}^{t}$

To generate results that are equivalent to those generated using the adaptation matrix M and the optional target ISI vector v in FIG. 3, the three dimensional weight register file indexed by the integrator (row), the residual ISI detector (column), and the sign of detected residual ISI (sign) in FIG. 16 may be programmed as follows:

${W}^{\left(p\right)}=\left\{\begin{array}{ccccc}{w}_{1,1}^{\left(p\right)}& {w}_{1,2}^{\left(p\right)}& {w}_{1,3}^{\left(p\right)}& {w}_{1,4}^{\left(p\right)}& {w}_{1,5}^{\left(p\right)}\\ {w}_{2,1}^{\left(p\right)}& {w}_{2,2}^{\left(p\right)}& {w}_{2,3}^{\left(p\right)}& {w}_{2,4}^{\left(p\right)}& {w}_{2,5}^{\left(p\right)}\end{array}\right\}$
${W}^{\left(n\right)}=\left\{\begin{array}{ccccc}{w}_{1,1}^{\left(n\right)}& {w}_{1,2}^{\left(n\right)}& {w}_{1,3}^{\left(n\right)}& {w}_{1,4}^{\left(n\right)}& {w}_{1,5}^{\left(n\right)}\\ {w}_{2,1}^{\left(n\right)}& {w}_{2,2}^{\left(n\right)}& {w}_{2,3}^{\left(n\right)}& {w}_{2,4}^{\left(n\right)}& {w}_{2,5}^{\left(n\right)}\end{array}\right\}$
${w}_{r,c}^{\left(p\right)}=+K\times {m}_{r,c}\times \left(1{v}_{c}\right)$
${w}_{r,c}^{\left(n\right)}=K\times {m}_{r,c}\times \left(1+{v}_{c}\right)$

In this example, W^{(p) }is the weight matrix for positive residual ISI, W^{(n) }is the weight matrix for negative residual ISI, and K is an arbitrary small positive number (0<K<<1).

The following shows how these are equivalent. First, assume that a residual ISI detector c generates N_{c} ^{(p) }positive results and N_{c} ^{(n) }negative results in N times of residual ISI detection by the residual ISI detector c. In particular embodiments, N is a large positive integer.

N
_{c}
^{(p)}
+N
_{c}
^{(n)}
=N

Then, the residual ISI vector q of which an example is illustrated in FIG. 3 is expressed as follows:

$q={\left\{\begin{array}{ccccc}{q}_{1}& {q}_{2}& {q}_{3}& {q}_{4}& {q}_{5}\end{array}\right\}}^{t}$
${q}_{c}=\frac{{N}_{c}^{\left(p\right)}{N}_{c}^{\left(n\right)}}{N}$

The error vector e and the update vector u in FIG. 3 may be expressed, for example, as follows:

$\begin{array}{c}e=\ue89e{\left\{\begin{array}{ccccc}{e}_{1}& {e}_{2}& {e}_{3}& {e}_{4}& {e}_{5}\end{array}\right\}}^{t}\\ =\ue89eqv\end{array}$
$\begin{array}{c}{e}_{c}=\ue89e{q}_{c}{v}_{c}\\ =\ue89e\frac{{N}_{c}^{\left(p\right)}{N}_{c}^{\left(n\right)}}{N}{v}_{c}\end{array}$
$\begin{array}{c}u=\ue89e{\left\{\begin{array}{cc}{u}_{1}& {u}_{2}\end{array}\right\}}^{t}\\ =\ue89eM\times e\\ =\ue89eM\times \left(qv\right)\end{array}$
$\begin{array}{c}{u}_{r}=\ue89e\sum _{c=1}^{5}\ue89e{m}_{r,c}\times {e}_{c}\\ =\ue89e\sum _{c=1}^{5}\ue89e{m}_{r,c}\times \left(\frac{{N}_{c}^{\left(p\right)}{N}_{c}^{\left(n\right)}}{N}{v}_{c}\right)\end{array}$

The cumulative sum of weights for the integrator r in FIG. 16 while N results are processed for each residual ISI detector may be expressed, for example, as:

$\begin{array}{c}{\hat{u}}_{r}=\ue89e\sum _{c=1}^{5}\ue89e{w}_{r,c}^{\left(p\right)}\times {N}_{c}^{\left(p\right)}+{w}_{r,c}^{\left(n\right)}\times {N}_{c}^{\left(n\right)}\\ =\ue89e\sum _{c=1}^{5}\ue89eK\times {m}_{r,c}\times \left\{\left(1{v}_{c}\right)\times {N}_{c}^{\left(p\right)}\left(1+{v}_{c}\right)\times {N}_{c}^{\left(n\right)}\right\}\\ =\ue89e\sum _{c=1}^{5}\ue89eK\times {m}_{r,c}\times \left\{{N}_{c}^{\left(p\right)}{N}_{c}^{\left(n\right)}{v}_{c\ue89e\phantom{\rule{0.3em}{0.3ex}}}\times \left({N}_{c}^{\left(p\right)}+{N}_{c}^{\left(n\right)}\right)\right\}\\ =\ue89e\sum _{c=1}^{5}\ue89eK\times {m}_{r,c}\times \left\{{N}_{c}^{\left(p\right)}{N}_{c}^{\left(n\right)}{v}_{c\ue89e\phantom{\rule{0.3em}{0.3ex}}}\times N\right\}\\ =\ue89e\mathrm{KN}\ue89e\sum _{c=1}^{5}\ue89e{m}_{r,c}\times \left(\frac{{N}_{c}^{\left(p\right)}{N}_{c}^{\left(n\right)}}{N}{v}_{c}\right)\\ =\ue89e\mathrm{KN}\times {u}_{r}\end{array}$

These two systems are equivalent when

$N=\frac{1}{K}.$

Since K is a small positive number, a large number N which makes two systems statistically equivalent exists.

In particular embodiments, the target ISI vector v is zero and not used, meaning that W^{(p)}=−W^{(n) }and the difference between these weight matrices is zero and need not be recorded. The amount of hardware may be reduced, for example, by using a 2 dimensional weight register file which holds a value of W=W^{(p)}=−W^{(n)}, and selecting addition or subtraction by the sign of detected residual ISI. Weight may be calculated from a derivative of the average of the binary residual ISI for the worstcase channel with respect to the equalizer control variable. In particular embodiments, the signbased method balances the number of operations between residual ISI components (and optionally between equalizer control variables).

In particular embodiments, W^{(p) and W} ^{(n) }have different magnitudes and the magnitudes may be recorded in a 3 dimensional register file in order to implement the optional target ISI vector v. First, an optional target ISI vector v may be selected based on the average of the binary observation variable in the target state for the worst case. Second, an adaptation matrix M may be calculated from a derivative of the average of the binary observation variable with respect to the control variable in the target state for the worst case. Third, weight matrices of W^{(p) }and W^{(n) }may be calculated from the optional target ISI vector v and the adaptation matrix M with a small loop constant K according to the above formulas. These parameters minimizes squares of difference between the average of the binary observation variable and the optional target ISI vector in the equilibrium state for the worst case.

In particular embodiments, the amount of increase (or decrease) applied to a binary observation variable is equivalent, and the average of a particular binary observation variable is zero in the equilibrium state. U.S. Patent Application Publication No. 2007/0280389, entitled System and Method for Asymmetrically Adjusting Compensation Applied to a Signal and published 6 Dec. 2007, which is incorporated herein by reference, discloses changing the equilibrium state from such a state to a next state where the average of the binary observation variable is a nonzero target value. For example, where there is a single control variable and a single binary observation variable and amount of increase and decrease of the control variable according to the binary observation variable is different, the average of the binary observation variable always converges to the nonzero target value in the equilibrium state.

In particular embodiments, where there are single or multiple control variables and multiple binary observation variables, the number of binary observation variables is larger than the number of control variables. In particular embodiments, where the amount of increase and decrease is equivalent, the sum of the squares of the average of each binary observation variable is minimized in the equilibrium state for a certain condition. In particular embodiments, where the amount of increase and decrease is different, the equilibrium state is changed from such a state to a next state where the sum of the squares of the difference between the average of each binary observation variable and a target value of the observation variable is minimized for the certain condition. Particular embodiments including single or multiple equalizer control variables and multiple binary observation variables balance the number of operations between binary observation variables (and optionally between equalizer control variables). Herein, reference to “equalizer control variables” may encompass equalizer parameters, and vice versa, where appropriate.

FIG. 18 illustrates example adaptive equalizer control based on example level error. Amplitude error (“referencelevel error” or “levelerror”) is used instead of the boundary value for adaptive control. The levelerror decision latch (D/L) subtracts a target level, which is the product of a data value and a reference level from the predecision level of the data DFE, and produces a sign of levelerror, either +1 or −1. In particular embodiments, the levelerror D/L may use a speculative or loopunrolling technique similar to FIG. 5, for example, to solve the timing constraint. In particular embodiments, the levelerror D/L uses a time multiplexing technique to decrease hardware resources, which may be increased by unrolling feedback loops.

FIG. 19 illustrates example residual data ISI in an example pulse response at an output of an example LE. The residual data ISI at time zero (h_{+0.0) }represents the difference of the pulse height at time zero (H) and the reference level (Reflvl). At all other times, for example, at the other times illustrated, the residual data ISI is the same as the pulse response level. As described with respect to FIG. 8, a boundary value may be represented as a convolution of residual boundary ISI and a data sequence. Similarly, a data value may be represented as a convolution of residual data ISI and a data sequence. FIG. 20 illustrates example convolution of example residual data ISI and an example data sequence. In particular embodiments, when receiving a continuous data sequence, levelerror seen by the decision circuit in the levelerror D/L is represented as a convolution of residual data ISI and the data sequence as shown in FIG. 20.

FIG. 21 illustrates example detection of residual data ISI based on one or more differences in levelerror values between two data sequences. As illustrated, h_{+1.0 }is measured by taking a difference in the levelerror values at D_{4 }for two data sequences which have different values at D_{3}. Residual data ISI may be measured by taking a difference in the levelerror values for two data sequences which have different values in the data bits corresponding to the residual data ISI to be measured. While levelerror values may be measured as fullrange precision analog level, the illustrated embodiment may be used to measure residual data ISI, including the sign and magnitude to some extent of the residual data ISI, using only binary levelerror values, either +1 or −1, instead of precision analog levels. The statistical difference between the binary levelerror values for the two data sequences may be used to measure the sign and magnitude to some extent of the residual data ISI as long as the binary levelerror values are not statistically saturated. For example, the probabilities of positive (“+1”) levelerror values are exactly same for the two data sequence in FIG. 21, if and only if the residual data ISI h_{+1.0 }is absolutely zero. As another example, the probabilities of negative (“−1”) levelerror values are exactly same for the two data sequence in FIG. 21, if and only if the residual data ISI h_{+1.0 }is absolutely zero. If the residual data ISI at h_{+1.0 }is not zero, the probability of positive (or negative) levelerror value is higher (or lower) for the data sequence with D_{3}=+1 than D_{3}=−1, depending on whether the residual data ISI h_{+1.0 }is positive or negative. The amount of statistical difference indicates the magnitude of the residual data ISI h_{+1.0}.

The detection of residual boundary ISI as described and illustrated by the present disclosure with respect to particular embodiments may be applicable to detecting residual data ISI or levelerror values, where appropriate. The detection of residual data ISI or levelerror values as described and illustrated by the present disclosure with respect to particular embodiments may be applicable to detecting residual boundary ISI. Although the present disclosure describes twodimensional control for one parameter LE and one tap DFE, the present disclosure contemplates any suitable adaptive control of any suitable number of any suitable parameters of (for example) continuoustime LEs, multitap DFEs or multitap FIR filters, or preemphasis parameters using multitap FIR filters.

An adaptive equalizer control system may include any suitable type of memory. The memory may be used to store phase delay settings, phase codes, target levelerror values, target residual boundary and data ISI values, adaptation matrix, rows, columns, signs, parameters, input signals, output signals. Such values may correspond to user or administrator specified values that may be entered into a database that may be accessed by the memory.

As an example and not by way of limitation, an adaptive equalizer control system may provide functionality as a result of a processor executing software embodied in one or more tangible, computerreadable media, such as a memory. A computerreadable medium may include one or more memory devices, according to particular needs. Main memory may read the software from one or more other computerreadable media, such as mass storage device or from one or more other sources via communication interface. The software may cause processor to execute particular processes or particular steps of particular processes described herein. In addition or as an alternative, the computer system may provide functionality as a result of logic hardwired or otherwise embodied in a circuit, which may operate in place of or together with software to execute particular processes or particular steps of particular processes described herein. Reference to software may encompass logic, and vice versa, where appropriate. Reference to a computerreadable media may encompass a circuit (such as an integrated circuit (IC)) storing software for execution, a circuit embodying logic for execution, or both, where appropriate. The present disclosure encompasses any suitable combination of hardware and software.

FIG. 22 illustrates an example method for adaptive control of a DFE. The method begins at step 2202, where a first one of one or more data FB taps in a data DFE delays a first output signal of a first decision circuit in the data DFE by approximately 1.0 unit intervals (UIs). The first output signal includes data values recovered by the first decision circuit from an input signal from a receiver. At step 2204, the first one of data FB taps multiplies the 1.0UIdelayed first output signal by a first data FB coefficient derived from a first boundary FB coefficient. At step 2206, a first one of one or more boundary FB taps in a boundary DFE delays the first output signal by approximately 1.5 UIs. At step 2208, the first one of the boundary FB taps multiplies the 1.5 UIdelayed first output signal by the first boundary FB coefficient, with the first boundary FB coefficient corresponding to residual intersymbol interference (ISI) at approximately 1.5 UIs of delay in the input signal, at which point the method ends. Particular embodiments may continuously repeat the steps of the method of FIG. 22, according to particular needs. Although the present disclosure describes and illustrates particular steps of the method of FIG. 22 as occurring in a particular order, the present disclosure contemplates any suitable steps of the method of FIG. 22 occurring in any suitable order. Although the present disclosure describes and illustrates particular components carrying out particular steps of the method of FIG. 22, the present disclosure contemplates any suitable components carrying out any suitable steps of the method of FIG. 22.

FIG. 23 illustrates an example method 2300 for detecting residual ISI components using two data patterns. The method begins at step 2302, where one or more circuit components access an input signal from a receiver. In particular embodiments, the input signal includes a series of bits and residual ISI. At step 2304, the circuit components identify a first bit sequence and a first error associated with the first bit sequence in the input signal. At step 2306, the circuit components identify a second bit sequence and a second error associated with the second bit sequence in the input signal that differs from the first bit sequence with respect to one or more data values of one or more bits in the first and second bit sequences. The one or more data values correspond to particular residual ISI for measurement. At step 2308, the circuit components determine a difference between the first error associated with the first bit sequence and the second error associated with the second bit sequence. At step 2310, the circuit components measure the particular residual ISI by the difference, at which point the method ends. Particular embodiments use the particular residual ISI measurement for adaptive equalizer control. Particular embodiments may continuously repeat the steps of the method of FIG. 23, according to particular needs. Although the present disclosure describes and illustrates particular steps of the method of FIG. 23 as occurring in a particular order, the present disclosure contemplates any suitable steps of the method of FIG. 23 occurring in any suitable order. Although the present disclosure describes and illustrates particular components carrying out particular steps of the method of FIG. 23, the present disclosure contemplates any suitable components carrying out any suitable steps of the method of FIG. 23.

FIG. 24 illustrates an example method for signbased general zeroforcing adaptive equalizer control. The method begins at step 2402, where one or more residual ISI detectors receive from a DFE a data signal or an error signal comprising residual ISI. At step 2404, the residual ISI detector produces a first output signal indicating whether the residual ISI has a positive sign or a negative sign. At step 2406, one or more column balancers select from among the first output signals one of the first output signals to produce a second output signal. At step 2408, one or more weight selectors access from among multiple weight values one of the weight values for a received one of the second output signals. The accessed one of the weight values corresponds to the column balancer that produced the second output signal and the residual ISI detector that produced the selected one of the first output signals to produce the second output signal. The accessed one of the weight values has a magnitude that is substantially independent of the sign of the residual ISI indicated by the selected one of the first output signals to produce the second output signal. At step 2410, the weight selector produces a third output signal based on the accessed one of the weight values and the sign of the residual ISI indicated by the selected one of the first output signals, at which point the method ends. Particular embodiments use the third signal to produce one or more fourth output signals representing one or more control variables for one or more equalizers. Particular embodiments may continuously repeat the steps of the method of FIG. 24, according to particular needs. Although the present disclosure describes and illustrates particular steps of the method of FIG. 24 as occurring in a particular order, the present disclosure contemplates any suitable steps of the method of FIG. 24 occurring in any suitable order. Although the present disclosure describes and illustrates particular components carrying out particular steps of the method of FIG. 24, the present disclosure contemplates any suitable components carrying out any suitable steps of the method of FIG. 24.

FIG. 25 illustrates an example method for multidimensional asymmetric bangbang control. The method begins at step 2502, where one or more residual ISI detectors receive from a DFE a data signal or an error signal comprising residual ISI. At step 2504, the one or more residual ISI detectors produce a first output signal indicating whether the residual ISI has a positive sign or a negative sign. At step 2506, the one or more column balancers select from among the first output signals one of the first output signals to produce a second output signal. At step 2508, one or more weight selectors access from among multiple weight values one of the weight values for a received one of the second output signals. The accessed one of the weight values corresponds to the column balancer that produced the second output signal, the residual ISI detector that produced the selected one of the first output signals to produce the second output signal, and the sign of the residual ISI indicated by the selected one of the first output signals to produce the second output signal. The accessed one of the weight values has a magnitude that depends on the sign of the residual ISI indicated by the selected one of the first output signals to produce the second output signal. At step 2510, the weight selector produces a third output signal based on the accessed one of the weight values, at which point the method ends. Particular embodiments use the third signal to produce one or more fourth output signals representing one or more control variables for one or more equalizers. Particular embodiments may continuously repeat the steps of the method of FIG. 25, according to particular needs. Although the present disclosure describes and illustrates particular steps of the method of FIG. 25 as occurring in a particular order, the present disclosure contemplates any suitable steps of the method of FIG. 25 occurring in any suitable order. Although the present disclosure describes and illustrates particular components carrying out particular steps of the method of FIG. 25, the present disclosure contemplates any suitable components carrying out any suitable steps of the method of FIG. 25.

The present disclosure encompasses all changes, substitutions, variations, alterations, and modifications to the example embodiments described herein that a person having ordinary skill in the art would comprehend. Similarly, where appropriate, the appended claims encompass all changes, substitutions, variations, alterations, and modifications to the example embodiments described herein that a person having ordinary skill in the art would comprehend.