EDGE BASED PARTIAL RESPONSE EQUALIZATION
20210152401 · 2021-05-20
Inventors
- Brian S. Leibowitz (San Francisco, CA)
- Hae-Chang Lee (Los Altos, CA, US)
- Jihong Ren (Sunnyvale, CA, US)
- Ruwan Ratnayake (Cambridge, MA, US)
Cpc classification
International classification
Abstract
A method is disclosed. The method includes sampling a data signal having a voltage value at an expected edge time of the data signal. A first alpha value is generated, and a second alpha value generated in dependence upon the voltage value. The data signal is adjusted by the first alpha value to derive a first adjusted signal. The data signal is adjusted by the second alpha value to derive a second adjusted signal. The first adjusted signal is sampled to output a first data value while the second adjusted signal is sampled to output a second data value. A selection is made between the first data value and the second data value as a function of a prior received data value to determine a received data value.
Claims
1. (canceled)
2. An integrated circuit (IC) chip, comprising: receiver circuitry to receive signals from a second IC chip, the receiver circuitry including equalization circuitry having at least one tap to equalize the signals, the equalization circuitry including a tap weight adapter circuit to generate a tap weight for the tap based on edge information of previously received signals.
3. The IC chip according to claim 2, wherein the adapter circuit is to generate the tap weight based on an edge analysis of the edge information.
4. The IC chip according to claim 3, wherein the edge analysis is based on multiple edge-sampled data signals.
5. The IC chip according to claim 2, wherein the equalization circuitry includes a decision-feedback equalizer (DFE).
6. The IC chip according to claim 5, wherein the DFE includes a partial response decision-feedback equalizer (PrDFE).
7. The IC chip according to claim 6, wherein the PrDFE includes parallel alternative decision paths, and the signals are received along each of the parallel alternative decision paths.
8. The IC chip according to claim 7, wherein the equalization circuitry adjusts a voltage of the signals in accordance with the tap weight along each of the parallel alternative decision paths.
9. An integrated circuit (IC) chip, comprising: circuitry to interface with a second IC chip via multiple links, the circuitry including multiple receivers, each receiver to receive signals via a corresponding link and comprising an equalizer having at least one tap to equalize the signals in accordance with an equalizer coefficient corresponding to the at least one tap; and a tap weight adapter circuit to generate the equalizer coefficient from edge-based sampling information associated with prior received signals.
10. The IC chip according to claim 9, wherein the equalizer coefficient is further based on a received pattern of bits in the prior received signals.
11. The IC chip according to claim 9, wherein the equalizer comprises a decision-feedback equalizer (DFE).
12. The IC chip according to claim 9, wherein the equalizer comprises a partial response decision-feedback equalizer (PrDFE).
13. The IC chip according to claim 12, wherein the PrDFE includes parallel alternative decision paths, and the signals are received along each of the parallel alternative decision paths.
14. The IC chip according to claim 13, wherein the equalizer adjusts a voltage of the signals along each of the parallel alternative decision paths.
15. The IC chip according to claim 9, wherein the tap weight adapter circuit is to generate the equalizer coefficient based on an edge analysis of the edge-based sampling information.
16. A method of operation in an integrated circuit (IC) chip, the method comprising: receiving signals from a second IC chip, the receiving including applying data level equalization to the signals with at least one tap of an equalizer, and adaptively generating a tap weight for the at least one tap based on edge information of previously received signals.
17. The method according to claim 16, wherein the adaptively generating the tap weight comprises: adaptively generating the tap weight based on an edge analysis of the edge information.
18. The method according to claim 17, wherein the edge analysis is based on multiple edge-sampled data signals.
19. The method according to claim 16, wherein the applying data level equalization is carried out by a decision-feedback equalizer (DFE).
20. The method according to claim 16, wherein the applying data level equalization is carried out by a partial response decision-feedback equalizer (PrDFE).
21. The method according to claim 16, wherein the applying data level equalization includes adjusting a voltage of the signals along each of multiple parallel alternative decision paths.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0006] The present technology is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which like reference numerals refer to similar elements including:
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
DETAILED DESCRIPTION
[0014] An equalizer circuit 102, such as the edge-based partial response decision feedback equalizer (prDFE) for receiving a data signal according to one embodiment of the present technology is illustrated in
[0015] As shown in
[0016] The first and second data values are input to the selection circuitry 110. Prior received data values are also input to the selection circuitry 110. The selection circuitry 110 selects one of the first and second data values based on a prior received data value. The selected value of the selection circuitry 110 is output as the received data value 111.
[0017] As previously mentioned, the tap weight adapter circuitry 114 generates the tap weights. In this operation, the tap weights are derived with edge information input from the edge analysis circuitry 116 and received data values 111. The edge analysis circuitry 116 produces the edge information based on the received data signal 104. The edge analysis circuitry 116 may further derive the edge information using the tap weights from the tap weight adapter circuitry 114.
[0018] A further embodiment of a receiver of the present technology is illustrated in
[0019] The first and second adjusted signals from adders 106A, 106B are input to data samplers 208A, 208B. Sampling operations by the data samplers are controlled by a data clock signal s-clk.sub.data. The data clock signal s-clk.sub.data permits sampling of the incoming signal in the data eye of the received data signal 204. The output of the data samplers 208A, 208B are then supplied to a mux 210. The mux 210 is configured for deciding or selecting between one or the other of the output signals from the data samplers 208A, 208B. A control input of the mux is connected with a prior received data value as will be discussed in more detail herein such that mux 210 can make a selection based on prior received data, which effectively decides which adjustment (e.g., either of the alpha values +α.sub.edge or −α.sub.edge) to the received data signal 204 should be utilized for the presently received data bit. The data signal output 211 from the mux 210 comprises a digital logic sequence of data values sampled from the received data signal in a manner that compensates for inter-symbol interference in the received data signal 204.
[0020] The output of the mux 210 is also fed to a data retention circuit 212. The data retention circuit 212 may be formed by a plurality of latches, flip-flops, or the like for retaining consecutive data values or bits received and produced at the output of mux 210. As illustrated in the embodiment of
[0021] The equalizer circuit 202 will also typically include a tap weight adapter circuit 214 for setting the tap weight signals applied to adders 207A and 207B. In this edge-based implementation, the determined tap weight signals can be a direct measure of error information attributable to ISI at the edge of the data signal eye, which in turn may be utilized to correct the data signal for making the data detection at the center of the data eye with one of the data samplers 208A, 208B. Thus, as will be explained in more detail herein, the tap weight adapter circuit 214 includes logic circuits to generate the first and second tap weight signals 207A, 207B in accordance with one or more signals from an edge analysis of the received data signal 204. Thus, one or more edge information signal 215, also designated in
[0022] Consequently, the equalizer circuit 202 of the present technology may also include an edge analysis circuit 216. The edge analysis circuit 216 is configured to conduct an edge analysis of the received data signal 204 utilizing the tap weight signals from the tap weight adapter circuit 214. The edge analysis circuit 216 will typically include edge samplers configured to sample the received data signal at an expected edge time associated with the received data signal as will be discussed in more detail herein. Thus, the edge analysis circuit 216 will operate based on input of an edge clock signal s-clk.sub.edge. In this embodiment, the output of the edge analysis circuit 216 is applied to the tap weight adapter circuit 214 as previously mentioned. The edge information signal 215 output by the tap weight adapter circuit 214 is also applied to a timing generator 220.
[0023] The equalizer circuit 202 will also typically operate in conjunction with a timing generator 220. Since components of the equalizer circuit utilize samplers for sampling the data eye of the received data signal 204 and the edges of the data eye of the received data signal 204, the timing generator 220 may generate both the data clock signal s-clk.sub.data and the edge clock signal s-clk.sub.edge. The timing generator 220 may include components to generate the data clock signal s-clk.sub.data by any known Clock Data Recovery (CDR) method and may include DLL and/or PLL circuit components or the like to implement the method. The timing generator 220 may then generate the edge clock signal s-clk.sub.edge by adjusting the phase of the determined s-clk.sub.data signal to produce the edge clock signal s-clk.sub.edge.
[0024] As discussed in more detail herein, in one embodiment, logic circuits of the timing generator 220 may implement a method in generating the edge clock signal s-clk.sub.edge based on data from the received data signal 204 and edge information from the edge analysis circuit 216. Thus, data values D.sub.k+1, D.sub.k and D.sub.k−1 from the data retention circuit 212 and edge information signal 215 (E.sub.info) from the edge analysis circuit 216 may be applied as input to the timing generator 220 so that the phase of the edge clock signal s-clk.sub.edge may be adjusted such as by controlling an increase or decrease to the phase of the signal with the logic circuits based on the data values and the edge information.
[0025] In operation, equalizer circuit 202, which can serve as an edge-based prDFE receiver, makes two speculative decisions each cycle, one assuming the previously received bit (e.g., data value D.sub.k+1) is high and the other one assuming the previously received bit is low. This corresponds to the two adjustments made to the received data signal 204 at adders 206A, 206B based on the determined tap weight signals 207A, 207B and the two subsequent sampling operations of the resultant signals with the data samplers 208A, 208B. Once the previous bit is resolved (i.e., data value D.sub.k+1), it is used to select the correct speculative decision. This corresponds with the control of the mux 210 by data value D.sub.k+1 from the data retention circuit 212. In this embodiment, the top input of the MUX is selected when D.sub.k+1 is a high value. Despite the fact that the tap weight signals 207A, 207E have been determined based on a measure of ISI at the edge of the data eye of the received data signal 204, they are nevertheless used as a measure to adjust the received data signal 204 to cancel ISI in the data eye and thereby permit more accurate sampling of data values from the data eye of the received data signal 204. This may be accomplished without the need for an extra adaptive sampler as may be utilized by other equalizer implementations.
[0026] In one embodiment of the technology, the tap weight adapter circuit 214 may be implemented with logic circuits so as to set at least one of the tap weight signals (e.g., +α.sub.edge) according to the method illustrated in
[0027] In step 308, the α.sub.edge tap weight signal is decreased by some nominal amount (i.e., “μ”). In step 310, the α.sub.edge tap weight signal is increased by some nominal amount (i.e., “μ”). Operational flow then returns to step 304 from both step 308 and step 310. Given the continuous operation of the equalizer circuit 214 and the tap weight adapter circuit 214, this process yields a α.sub.edge tap weight signal with a derived value that produces 50% high and 50% low signals from the utilized edge sampler of the edge analysis circuit 216. Thus, the equalizer coefficients can be continuously refined based on edge information from the received data signal. The −α.sub.edge tap weight signal 207B may be derived in parallel with the positive signal by using a negative nominal amount (i.e., “−μ”) in a comparable method to the one illustrated in
[0028] In one embodiment, the edge analysis circuit 416 may be implemented as illustrated in
[0029] For this embodiment, the P-edge output, Z-edge output and the N-edge output shown on
[0030] In one embodiment of the technology, the timing generator 220 may be implemented with logic gates so as to generate the edge clock signal s-clk.sub.edge in accordance with a method illustrated by the flow chart of
[0031] Moreover, at step 510, if data values D.sub.k−1, D.sub.k and D.sub.k+1 are “010” respectively then output of the ZE edge sampler 408B at sample time k+0.5 is considered at step 512. In step 512, if the ZE edge sampler 408B is high, then a delay of a phase of the edge clock signal s-clk.sub.edge will be increased by some nominal Δ at step 506. In step 512, if the ZE edge sampler 408B is low, then the delay of a phase of the edge sampling signal s-clk.sub.edge, will be decreased by some nominal delta Δ at step 508.
[0032] Additionally, at step 514, if data values D.sub.k−1, D.sub.k and D.sub.k+1 are “101” respectively then the ZE edge sampler 408B at sample time k+0.5 is considered at step 516. In step 516, if the ZE edge sampler 408B is low, then a delay of a phase of the edge sampling signal s-clk.sub.edge will be increased by some nominal Δ at step 506. In step 516, if the ZE edge sampler 408B is high, then the delay of a phase of the edge sampling signal s-clk.sub.edge will be decreased by some nominal delta Δ at step 508.
[0033] Finally, at step 518, if data values D.sub.k−1, D.sub.k and D.sub.k+1 are “001” respectively then the NE edge sampler 408C at sample time k+0.5 is considered at step 520. In step 520, if the NE edge sampler 408C is low, then a delay of a phase of the edge sampling signal s-clk.sub.edge will be increased by some nominal Δ at step 506. In step 516, if the ZE edge sampler 408A is high, then the delay of a phase of the edge sampling signal s-clk.sub.edge will be decreased by some nominal delta Δ at step 508.
[0034] Although the edge analysis circuit 216 may be constructed for operation with at least three edge samplers as previously described and shown in
[0035] Consequently, in this two edge sampler embodiment or the three edge sampler embodiment, the method of the logic circuits of the tap weight adapter circuit 214 as illustrated in
[0036] Alternatively, if the edge analysis circuit 216 implements the NE edge sampler and the ZE edge sampler at 306 and not the PE edge sampler in the method illustrated in
[0037] The application of edge-based sampling information to the operational adjustment of the data signal for ISI removal and the operation of the present equalizer/receiver technology may be further illustrated with respect to the graphs of
[0038] The graph of
[0039] The four points on the T.sub.k+1 line (e.g., 604A, 604B, 604C and 604D) along the right of the graph represent signal levels including ISI as a result of a subsequent bit (e.g., D.sub.k+1) that follows signal levels associated with the previously transmitted bits at points 602A, 602B, 602C and 602D. Thus, the 604A point represents the resultant signal with ISI for a subsequent D.sub.k+1 bit of “1” in the received data signal following either the “11” or “01” received data signal respectively at points 602A and 602B. The 604B point represents the resultant signal with ISI for a subsequent D.sub.k+1 bit of “1” in the received data signal following either the “10” or “00” received data signal respectively at points 602C and 602D. Similarly, the 604C and 604D points represent the resultant signal with ISI for a subsequent D.sub.k+1 bit of “0” in the received data signal respectively following either (a) the “11” and “01” received data signal from points 602A and 602B respectively or (b) the “10” and “00” received data signal from points 602C and 602D respectively. The lines from time T.sub.k to time T.sub.k+1 indicate the various possible transitions that the signal may make between these times, depending on the received data bits, according to the single bit response of
[0040] Significantly, points 608A, 608B, 608C indicate three signal levels that may be detected at the edge time in conjunction with the PE, ZE and NE edge samplers respectively as previously described herein. To this end, based on the continuous operation of the methods shown in
[0041] In a still further alternative embodiment, the timing generator 220, edge analysis circuit 216 and tap weight adapter circuit 214 may be implemented to lock the system to an edge time other than the one associated with ϕ.sub.1 shown in
[0042] In this embodiment, the method of
[0043] The equalizer circuits 102, 202 as discussed herein may be realized on one or more integrated chips. It may be part of the integrated circuits of digital processing devices, computers, computer peripherals, graphics processing devices, etc. By way of example, the circuits may be implemented as part of a central processing unit or CPU as commonly employed in a digital computer or may be employed as an intermediary between the CPU and other circuit chips. Thus, circuits as discussed herein can be incorporated in the communication path between a processor such as a CPU and a cache memory. Thus, received data signals may be baseband data signals that are transmitted between circuit components of a common apparatus without modulation on a carrier wave or demodulation thereof. The technology may also be implemented as elements of point-to-point connections according to protocols such as PCI Express, Serial ATA and other protocols. The technology can also be used with bus connections, i.e., arrangements in which the same signal is sent to plural devices connected to the same conductors. The receiver/equalizer can even be implemented for parallel links such as buses or any other device implementing parallel communications. In other embodiments, the circuits may be an element of data input or output device controllers or the like, such as a memory controller.
[0044] For example, in a memory controller embodiment, the memory controller generally acts as the device that sends data to the memory for a writing operation and receives data back from the memory for a reading operation. The equalizer circuit 102, 202 may be implemented to receive signals sent from either or both of the memory and memory controller and may be realized in either or both of these devices.
[0045] In general, each of the circuits implemented in the technology presented herein may be constructed with electrical elements such as traces, capacitors, resistors, transistors, etc. that are based on metal oxide semiconductor (MOS) technology, but may also be implemented using other technology such as bipolar technology or any other technology in which a signal-controlled current flow may be achieved.
[0046] Furthermore, these circuits may be constructed using automated systems that fabricate integrated circuits. For example, the components and systems described may be designed as one or more integrated circuits, or a portion(s) of an integrated circuit, based on design control instructions for doing so with circuit-forming apparatus that controls the fabrication of the blocks of the integrated circuits. The instructions may be in the form of data stored in, for example, a computer-readable medium such as a magnetic tape or an optical or magnetic disk. The design control instructions typically encode data structures or other information or methods describing the circuitry that can be physically created as the blocks of the integrated circuits. Although any appropriate format may be used for such encoding, such data structures are commonly written in Caltech Intermediate Format (CIF), Calma GDS II Stream Format (GDSII), or Electronic Design Interchange Format (EDIF). Those of skill in the art of integrated circuit design can develop such data structures from schematic diagrams of the type detailed above and the corresponding descriptions and encode the data structures on computer readable medium. Those of skill in the art of integrated circuit fabrication can then use such encoded data to fabricate integrated circuits comprising one or more of the circuits described herein.
[0047] In the foregoing description and in the accompanying drawings, specific terminology and drawing symbols are set forth to provide a thorough understanding of the present technology. In some instances, the terminology and symbols may imply specific details that are not required to practice the technology. For example, although the terms “first” and “second” have been used herein, unless otherwise specified, the language is not intended to provide any specified order but merely to assist in explaining elements of the technology.
[0048] Moreover, although the technology herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the technology. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the technology. For example, the illustrative embodiments using the circuits associated with detecting tap weights based on either ϕ.sub.1 or ϕ.sub.2 may be combined for generating tap weights based on both detection methods such that the resulting tap weights may be combined from both determinations. Moreover, the equalizer/receivers described herein may be combined with other transmit equalization circuitry and/or error correction circuitry for maintaining good high speed signal transfer characteristics on any given transmission channel. Additionally, although wired channels are explicitly discussed, wireless channels may also be implemented with the technology such that wireless transmissions may be made between chips using wireless transmitters and receivers that operate by, for example, infrared data signals or electromagnetic data signals sent between the circuit blocks of the technology. Similarly, the channels may be implemented with capacitive, inductive and/or optical principles and can use components for such channels, such as the transmitter and receiver technology capable of transmitting data by such channels.