A generic communication link comprises a transmitter, communication channel, and receiver. A Serializer-Deserializer (SerDes) receiver is an example of a device that processes analog signals transmitted through a channel, and the SerDes receiver typically includes components to compensate for impairments introduced by the channel. Such impairments typically include added noise and inter-symbol interference characterized by the transfer function of the communication channel. A SerDes receiver includes equalization, for which the datapath typically includes a combination of a Continuous-Time Linear Equalizer (CTLE), a Feed Forward Equalizer (FFE), a Decision Feedback Equalizer (DFE), and various adaptation circuits employed to adapt the various equalizer and filter parameters.
As the serial data stream in a SerDes system is transmitted over a single data link without clock forwarding, the receiver must extract the timing information from the data stream to retime the data. A clock and data recovery (CDR) circuit is usually employed that both extracts timing for a local sampling clock from the sampled data and samples/quantizes the input signal. The accuracy of this operation performed in the CDR circuit is limited by the jitter affecting the received data edges, sometimes referred to as the jitter tolerance (JTOL). A pattern generator of a standardized jitter tolerance source for system compliancy verification generates various bit patterns to test performance of a receiver. For example, a pattern generator of a standardized jitter tolerance source for system compliancy verification generates a so-called compliant jitter tolerance pattern (CJTPAT), composed of the data words representing the worst case condition for jitter tolerance measurement of the receiver, as a means to test JTOL. Other test patterns are known, such as a SAS training pattern, a CRTPAT pattern, and a PN23 pseudo random pattern, for testing jitter tolerance. This testing enables a SerDes implementation to exhibit a relatively good jitter tolerance for similar patterns in actual serial data traffic.
Existing least mean square (LMS) and group delay based adaptation algorithms work well for sufficiently randomized data. When data exhibiting single or dual tones persist in the receive data, these known adaptation algorithms fail to achieve a relatively optimal state during operation. A pattern detector assists in avoiding equalizer adaptation to a known data pattern that might lead to sub-optimal adaptation results. However, the known methods of pattern detection to protect the equalizer adaptation process against harmful patterns only allows for detection of single tones in the receive data, and do not provide for detection of the dual tone which is characteristic to, for example, a CJTPAT test signal.
In addition, the known methods do not address low activity detection, which might lead to possible drifting of the CDR circuit sampling point from the middle location of the data eye. Drifting of the CDR circuit sampling point from the middle location of the data eye, in turn, might make LMS or group delay algorithms misbehave immediately after the end of the low activity region in the receive data. The known methods also do not include a delay in enabling adaptation after the “bad” pattern. Such a delay may be needed for the CDR to regain lock to the center of the eye. Known methods also do not address an exact implementation of equalization adaptation freeze (a point in time when the equalizer's adaptation process is frozen to prevent gross errors in filter/equalizer values during adaptation updates), which might present a significant challenge for aligning of the freeze with adaptation algorithm word size and latency.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
In one embodiment, the present invention generates data from an input signal received from a channel, while detecting insufficiently randomized pattern periods and low activity periods, and freezing equalization adaptation during these periods. A linear equalizer applies feed-forward equalization to symbols of the input signal based upon a set of feed-forward equalizer parameters; and a decision device generates decisions for the feed-forward equalized symbols of the input signal. A decision feedback equalizer applies decision feedback equalization to the feed-forward equalized symbols of the input signal based upon a set of decision feedback equalizer parameters. The set of feed-forward equalizer parameters and the set of decision feedback equalizer parameters are adaptively generated. A presence of at least one data pattern in the symbols of the input signal is detected, and a freeze signal is generated during the detected presence of the at least one data pattern. At the detected presence of the at least one data pattern, adaptation of one or more of the set of feed-forward equalizer parameters and the set of decision feedback equalizer parameters is disabled based on the freeze signal.
Other aspects, features, and advantages of the present invention will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which like reference numerals identify similar or identical elements.
In accordance with exemplary embodiments of the present invention, a Serializer-Deserializer (SerDes) receiver includes a pattern detector that allows for detection of insufficiently randomized pattern periods and low activity periods. A freeze of equalization adaptation during these periods might occur by embedding disqualifying patterns into adaptation data. Some embodiments of the present invention also allow for detection of long intervals of freeze, and so these embodiments delay a freeze de-assertion in order for a clock and data recovery (CDR) circuit of the receiver to regain lock to the center of the serial data eye. Embedding freeze information in the receive data allows for precise synchronization of receive data and freeze.
In addition, CDR system 100 includes adaptation and freeze circuitry 107 to adapt operation and various parameters, such as those of linear equalizer 101 and decision feedback equalizer (DFE), comprising data eye sampling module 108 (which might be either a dedicated module for pattern recognition, a data eye monitor, or the data sampler itself), pattern detector 109, and adaptation module 110. Optional deserializer 106 might be employed to reduce processing speed of adaptation. Optional deserializer 106 might also be employed to reconstruct estimates of original data words from the serial data decisions of slicers 103 for processing by adaptation and freeze circuitry 107 if higher layer information is employed by circuitry 107 for adaptation algorithms (e.g., word pattern recognition, error detection, and correction).
For CDR system 100 as shown in
In order to achieve these data enhancements, CDR system 100 employs equalization. The data is first enhanced using feed forward (FF) linear equalizer 101, which might be a high pass filter compensating low pass filter effects of the interconnect media. Linear equalizer 101 might be controlled in terms of parameters related to the pole frequency and the amount of boost applied to the input signal. The FF equalized data from linear equalizer 101 might then be subject to decision feedback equalization. Shift register 104 is a form of delay module that retains the history of the previously received bits, which are multiplied in multiplier 105 by corresponding DFE coefficients from adaptation module 110 (described subsequently), and then subtracted in summing node 102 from the output of linear equalizer 101. DFE might typically be employed to cancel ISI acquired in the interconnect media.
Both linear equalizer control parameters and DFE coefficients are typically adapted based on the particular interconnect media and transmitter equalization level. The adaptation is performed in adaptation module 110 employing one or more of the well known algorithms known in the art, such as least mean square (LMS) or group delay equalization. Serial data from summing node 102 is sampled by data slicers 103, which typically provide i) data samples used in data deserialization and equalizer adaptation, ii) transition samples used in CDR phase detector for clock and data recovery and also in group delay adaptation, and iii) error samples used in equalizer LMS based adaptation.
DFE coefficients C(n) generated by an LMS adaptation algorithm might be described by the following relation:
C(n)=
where, for relation (1), if the current data sample Dk has the same sign as the error offset Esignk then the data sample offset by the coefficient index n, Dk-m is XORed with the current error sample Ek and accumulated as UP or DOWN into the coefficient value C(n). Preferably, for best performance, this LMS adaptation algorithm operates with data that is sufficiently randomized so that the contribution of ISI from data offset by other than “n” is averaged to zero. However, this LMS adaptation algorithm tends to settle to less than an optimum state if receive data is not sufficiently randomized. The most frequent case of poor randomization is the presence of a pattern that corresponds to a single or a dual tone present in the receive data. Adaptation algorithms of error latch offset and LMS based Linear Equalizer adaptation are similar in operation and performance.
Group delay-based linear equalizer adaptation differs in operation, however, but also requires sufficient randomization of receive data. Group delay adaptation usually employs data patterns of two or more bits in the row being equal and then changing to an opposite data bit. Transition sample Trk is used in this case as an error bit such that an LEQ control value LEQ is calculated as in relation (2):
LEQ=Σ
0
∞(Dk+1Trk) (2)
If pattern detector 109 is enabled when the PATDETENA signal is in an enable state, EQDATAI, EQERRI, and EQTRANI are provided to SR/EQ Freeze module 301, shift register 307, and shift register 308, respectively. SR/EQ Freeze module 301further deserializes data values EQDATAI into a 32 bit width word in its shift register (SR). The 32 bit data is analyzed in single tone majority detector 302, as subsequently described below with respect to
Other data, EQERRI and EQTRANI, employed for adaptation of various equalizer and filter parameters by adaptation module 110 is delayed to match the latency of EQDATAI during tone detection by operation of shift register 307 and shift register 308, respectively. If pattern detector 109 is disabled when the PATDETENA signal is in a disable state, EQDATAI, EQERRI, and EQTRANI bypass the detection and latency matching through action of selectors' 305, 309 and 310 circuitry, and after relatching are provided to adaptation module 110. Latches 306, 311 and 312 are employed to store output values of EQDATAO, EQERRO, and EQTRANO, respectively, for use by adaptation module 110 after processing by pattern detector 109.
Returning to
Aligning of i) the EQ Freeze signal's latency and duration with ii) latency and data quantization (word width) of the adaptation module 110 is complex for some implementations, especially when a large word width is employed by the adaptation module 110 to process and accumulate data at a lower speed. Since this word width may be as large as 256 bits, which makes the freeze duration crude and difficult to align with the boundaries of poorly randomized data, embodiments of the current invention employ data gating logic 303, which “spoils” data provided to adaptation module 110 so as to render the data unfit for adaptation by the adaptation algorithm. For a case with one error slicer per eye (referring to
By illustration, if 2 Ul slicing is performed, and both error slicers are set to a positive offset, then EQDATAO (the output of latch 306 of
As described above, group delay based linear equalization typically requires patterns of, for example, “001” or “110” to generate UP or DOWN requests to the accumulator. The data manipulation technique described above prevents group delay based linear equalization from adaptation during freeze periods.
For the case of both positively and negatively offset error slicers, a similar technique might be employed, if the data is split into two separate data inputs to adaptation module 110. These two separate data inputs might generally be equvalent to each other, but manipulated differently during a freeze. Several examples shown in
Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments. The same applies to the term “implementation.”
As used in this application, the word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion.
Additionally, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
Moreover, the terms “system,” “component,” “module,” “interface,”, “model” or the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
Although the subject matter described herein may be described in the context of illustrative implementations to process one or more computing application features/operations for a computing application having user-interactive components the subject matter is not limited to these particular embodiments, Rather, the techniques described herein can be applied to any suitable type of user-interactive component execution management methods, systems, platforms, and/or apparatus.
While the exemplary embodiments of the present invention have been described with respect to processes of circuits, including possible implementation as a single integrated circuit, a multi-chip module, a single card, or a multi-card circuit pack, the present invention is not so limited. As would be apparent to one skilled in the art, various functions of circuit elements may also be implemented as processing blocks in a software program. Such software may be employed in, for example, a digital signal processor, micro-controller, or general purpose computer.
The present invention can be embodied in the form of methods and apparatuses for practicing those methods. The present invention can also be embodied in the form of program code embodied in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of program code, for example, whether stored in a storage medium, loaded into and/or executed by a machine, or transmitted over some transmission medium or carrier, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits. The present invention can also be embodied in the form of a bitstream or other sequence of signal values electrically or optically transmitted through a medium, stored magnetic-field variations in a magnetic recording medium, etc., generated using a method and/or an apparatus of the present invention.
Unless explicitly stated otherwise, each numerical value and range should be interpreted as being approximate as if the word “about” or “approximately” preceded the value of the value or range.
It should be understood that the steps of the exemplary methods set forth herein are not necessarily required to be performed in the order described, and the order of the steps of such methods should be understood to be merely exemplary. Likewise, additional steps may be included in such methods, and certain steps may be omitted or combined, in methods consistent with various embodiments of the present invention.
Also for purposes of this description, the terms “couple,” “coupling,” “coupled,” “connect,” “connecting,” or “connected” refer to any manner known in the art or later developed in which energy is allowed to be transferred between two or more elements, and the interposition of one or more additional elements is contemplated, although not required. Conversely, the terms “directly coupled,” “directly connected,” etc., imply the absence of such additional elements.
It will be further understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated in order to explain the nature of this invention may be made by those skilled in the art without departing from the scope of the invention as expressed in the following claims.