Continuous time linear equalizer optimization in memory devices

A digital circuit in memory devices trains DFE taps to determine an optimal CTLE using average weights and TapSum, addressing inefficiencies in CTLE selection and enhancing signal integrity with reduced hardware footprint and noise immunity.

WO2026016041A1PCT designated stage Publication Date: 2026-01-22RENESAS ELECTRONICS AMERICA INC +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/105721
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-16
Publication Date
2026-01-22

AI Technical Summary

Technical Problem

Selecting an appropriate continuous time linear equalizer (CTLE) in memory devices is challenging due to unknown delays and the absence of clock data recovery circuits, leading to inefficiencies in selecting the optimal CTLE, especially as data rates increase, and conventional methods are time-consuming or require large analog circuits.

Method used

Implementing a digital circuit with DFE adaptation to train DFE taps, sample weights multiple times, calculate average weights, determine absolute values, and use a sum metric (TapSum) to select the optimal CTLE based on channel characteristics and decision symbols, without adding analog circuits.

Benefits of technology

Facilitates faster and adaptive CTLE selection, reducing intersymbol interference and optimizing signal integrity with minimal silicon real estate, independent of noise and clock phase uncertainties.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024105721_22012026_PF_FP_ABST
    Figure CN2024105721_22012026_PF_FP_ABST
Patent Text Reader

Abstract

Systems and methods for selecting a continuous time linear equalizer (CTLE) are described. A receiver in a memory can train a plurality of decision feedback equalizer (DFE) taps. The receiver can, for each DFE tap, sample a weight associated with the DFE tap for a number of times to generate a plurality of sampled weights. The receiver can determine a plurality of average weights. Each average weight among the plurality of average weights being an average of the plurality of sampled weights for a corresponding DFE tap. The receiver can determine a plurality of absolute values of the plurality of average weights. The receiver can determine a sum of the plurality of absolute values. The receiver can transmit the sum to a CTLE selection circuit in a memory receiver.A selection of the CTLE among a can be dependent on the sum.
Need to check novelty before this filing date? Find Prior Art

Description

CONTINUOUS TIME LINEAR EQUALIZER OPTIMIZATION IN MEMORY DEVICESBACKGROUND

[0001] The present disclosure relates in general to apparatuses and methods for optimizing continuous time linear equalizers (CTLE) in memory devices.

[0002] Data signals can be transferred from a transmitter to a receiver across a channel in a memory device. Channels can introduce impairments such as attenuation, reflection, channel loss, and noise, leading to signal distortion that may result in transmission errors and thus impact data speed rates. The signal distortion can produce Inter-Symbol Interference (ISI) . To mitigate the effects of ISI, and flatten the frequency response of communication media, adaptive filtering processes such as continuous time linear equalizers (CTLE) and / or Decision Feedback Equalizers (DFE) can be used. CTLE can compensate the frequency-dependent channel loss, which can reduce the signal distortion, and thus reduce ISI.SUMMARY

[0003] In one embodiment, an integrated circuit in a memory device is generally described. The integrated circuit can include a decision feedback equalizer (DFE) adaptation circuit configured to train a plurality of DFE taps and, for each DFE tap, sample a weight associated with the DFE tap for a number of times to generate a plurality of sampled weights. The integrated circuit can further include a plurality of average circuits. Each average circuit among the plurality of average circuits can be configured to determine an average weight of a corresponding plurality of sampled weights. The integrated circuit can further include a plurality of absolute value circuits configured to determine a plurality of absolute values of a plurality of average weights determined by the plurality of average circuits. The integrated circuit can further include a sum circuit configured to determine a sum of the plurality of absolute values and transmit the sum to a continuous time linear equalizer (CTLE) selection circuit in a memory receiver. A selection of a CTLE among a plurality of CTLEs can be dependent on the sum.

[0004] In one embodiment, an integrated circuit in a memory device is generally described. The integrated circuit can include a decision feedback equalizer (DFE) , a plurality of continuous time linear equalizers (CTLE) , a CTLE selection circuit and a circuit. The circuit can include a DFE adaptation circuit configured to train a plurality of DFE taps of the DFE and, for each DFE tap, sample a weight associated with the DFE tap for a number of times to generate a plurality of sampled weights. The circuit can further include a plurality of average circuits. Each average circuit among the plurality of average circuits can be configured to determine an average weight of a corresponding plurality of sampled weights. The circuit can further include a plurality of absolute value circuits configured to determine a plurality of absolute values of a plurality of average weights determined by the plurality of average circuits. The circuit can further include a sum circuit configured to determine a sum of the plurality of absolute values and transmit the sum to the CTLE selection circuit. The CTLE selection circuit being configured to select a CTLE among the plurality of CTLEs based on the sum.

[0005] In one embodiment, a method for selecting a continuous time linear equalizer (CTLE) is generally described. The method can include training a plurality of decision feedback equalizer (DFE) taps. The method can further include, for each DFE tap, sampling a weight associated with the DFE tap for a number of times to generate a plurality of sampled weights. The method can further include determining a plurality of average weights. Each average weight among the plurality of average weights can be an average of the plurality of sampled weights for a corresponding DFE tap. The method can further include determining a plurality of absolute values of the plurality of average weights. The method can further include determining a sum of the plurality of absolute values. The method can further include transmitting the sum to a CTLE selection circuit in a memory receiver. A selection of a CTLE among a plurality of CTLEs can be dependent on the sum.

[0006] Further features as well as the structure and operation of various embodiments are described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements.BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Fig. 1 is a diagram showing an example system that can implement continuous time linear equalizer optimization in memory devices in one embodiment.

[0008] Fig. 2 is a diagram showing a digital circuit that can implement continuous time linear equalizer optimization in memory devices in one embodiment.

[0009] Fig. 3 is a diagram showing waveforms of trained DFE tap coefficients during implementation of continuous time linear equalizer optimization in memory devices in one embodiment.

[0010] Fig. 4 is a diagram showing a table of metrics determined as a result of an implementation of continuous time linear equalizer optimization in memory devices in one embodiment.

[0011] Fig. 5 is a flow diagram illustrating a process to implement continuous time linear equalizer optimization in memory devices in one embodiment.

[0012] Fig. 6 is a flow diagram illustrating another process to implement continuous time linear equalizer optimization in memory devices in one embodiment.DETAILED DESCRIPTION

[0013] In the following description, numerous specific details are set forth, such as particular structures, components, materials, dimensions, processing steps and techniques, in order to provide an understanding of the various embodiments of the present application. However, it will be appreciated by one of ordinary skill in the art that the various embodiments of the present application may be practiced without these specific details. In other instances, well-known  structures or processing steps have not been described in detail in order to avoid obscuring the present application.

[0014] Semiconductors commonly implement memory devices to store data. Random access memory (RAM) is used is personal computers, servers, etc. to allow the processor to access any part of the memory directly rather than sequentially from a starting place. Different types of RAM include static random access memory (SRAM) and dynamic random access memory (DRAM) . With DRAM, the storage cells, consisting of capacitors and transistors, need to be refreshed or given a new electronic charge every few milliseconds to compensate for charge leaks from the capacitor. High-speed communication of data and control signals are necessary to enable the processor to access, read, and write data in memory. A double data rate (DDR) system can be used to increase the communication efficiency by doubling the transfer data. DDR systems use both the rising and falling edges of the clock signal to transfer data twice per clock cycle with a clock speed of at least 200 Megahertz (MHz) .

[0015] Fig. 1 is diagram showing an example system that can implement continuous time linear equalizer (CTLE) optimization in memory devices in one embodiment. System 100 can include a processor 102 and a memory device 110. In one embodiment, memory device 110 can be a double data rate 5 synchronous dynamic random-access memory (DDR5 SDRAM) or previous generations (e.g., DDR4 SDRAM) . Processor 102 can be a processor or a central processing unit (CPU) of a computing device or a memory controller of memory device 110. While described as a CPU in illustrative embodiments, processor 102 is not limited to a CPU in these embodiments and may comprise any other circuitry that is configured to control and operate various aspects of system 100. By way of example, processor 102 can be configured to manage the data transmitted by memory device 110, received by the memory device 110, and coordinate the timing and synchronization of the data being transferred to and from memory device 110.

[0016] Processor 102 can receive an N-bit input data DTX [N: 0] including bits DN to D0 and serialize DTX [N: 0] into a bit stream including the bits DN to D0. Processor 102 can encode the bit stream in an analog signal 108 suitable for transmission. Transmission of analog signal 108  can be a serial transmission of high and low voltages representing binary one and binary zero, respectively. Processor 102 can transmit analog signal 108 to memory device 110 through channels 104, where channels 104 can include passive transmission channel. In an example, the N-bit input data DTX [N: 0] can be transmitted to memory device 110 to be stored in memory device 110. Receiver 112 can ensure the integrity of the received data DRX [N: 0] before storing the received data DRX [N: 0] in its designated memory address. Channels 104 can be a medium configured to facilitate transfer of the electrical signals from processor 102 to memory device 110. Channels 104 can include various components such as wires, transmission lines, printed circuit board (PCB) traces, matching networks, or other components that facilitates transmission of electrical signal from processor 102 to memory device 110. Further, channels 104 can include multiple individual channels, such as a data channel (e.g., for transmitting analog signal 108) and a clock channel. Processor 102 can also be configured to transmit a clock signal 106 (or a strobe signal) to memory device 110 through the clock channel of channels 104. Clock signal 106 can be a digital signal.

[0017] In an aspect, the characteristics of channels 104 can introduce noise and interference into the analog signals being transmitted to memory device 110. This noise and interference can cause analog signal received by memory device 110 to be different from analog signal 108 that were outputted by processor 102 and limit the memory bandwidth. For example, the noise and interference can increase a low voltage encoding a binary zero and memory device 110 can mistakenly read the increased voltage as a voltage encoding a binary one. Also, the channels 104 may not amplify all frequencies equally. Different frequencies are amplified differently, leading to distortion in the original signal shape. When multiple distorted signal components overlap, they interfere with each other, creating false transitions and corrupting the data known as intersymbol interference (ISI) or intermodulation distortion. As a result of ISI, the timing of the signal transitions becomes dependent on the data pattern being transmitted, thus it is difficult to accurately sample the signal and recover the original data, and signal integrity is negatively impacted.

[0018] As memory system data rate continues to increase to over 10Gb / sfor DDR5 and DDR6, signal integrity becomes more challenging. To improve signal performance, equalization can be performed by equalizers such as continuous time linear equalizers (CTLE) and / or decision feedback equalizers (DFE) . In an aspect, a plurality of CTLEs can be pre-designed in a receiver of a memory device and one of the CTLEs can be selected based on application requirements. For example, based on the Joint-Electron-Device-Engineering-Council (JEDEC) specification, 16 CTLEs are pre-designed in a receiver chip of a memory device and one out of the 16 CTLEs can be selected for each input signal pin to meet different applications’ requirement such as different channel length, data rate, etc.

[0019] In an example embodiment shown in Fig. 1, memory device 110 can include a receiver 112 and a circuit 130. Receiver 112 can include a plurality of CTLEs labeled as a CTLE block 114, a DFE 120 and a selector 116. In one embodiment, the CTLE block 114 can include a plurality of registers, such as registered clock driver (RCD) registers or data bus (DB) registers, configured to store a plurality of CTLEs. DFE 120 can include a slicer 122 and a filter 124. A CTLE selected from CTLE block 114 can amplify a high-frequency component of analog signal 108 by compensating for the low-pass characteristics of the physical medium (e.g., channel 104) . The selected CTLE can output an amplified signal 118 as a result of the amplification and amplified signal 118 can be provided to DFE 120. DFE 120 can further amplify the high-frequency component of amplified signal 118 without amplifying the noise content and can compensate for ISI. The ISI compensation can include minimizing post-cursor ISI by adding or subtracting weighted versions of the previously received bits from the current bit. Clock signal 106 can be provided to slicer 122 and filter 124 to synchronize operations of the DFE 120.

[0020] DFE and CTLE can be implemented in the same receiver to ensure that the receiver receives the correct data that was transmitted through channel 104. For example, if a voltage encoding D0 = 1 is received by receiver 112, without one or more of CTLE114 and DFE 120, then receiver 112 may output a binary zero signal which is indicative of the lack of equalization to correct ISI produced by channel 104. However, by using one or more of CTLE114 and DFE 120, receiver 112 may output the correct data, such as a binary one, with a relatively higher  chance. At a summation node Σ in DFE 120, amplified signal 118 can be combined with an offset 126, outputted by filter 124, to generate a slicer input 128. Slicer input 128 can be a signal without the ISI cursors as a result of the combination at summation node Σ. Offset 124 can be a positive or a negative value. Slicer 122 can sample a value from slicer input 128 using clock signal 106 and compare the sampled value with a reference voltage to determine a decision symbol D [i] . Filter 124 can receive decision symbol D [i] from slicer 122 and can generate offset 126 based on decision symbol D [i] . The decision symbol D [i] can be digital signal representing a quantized version of the i-th bit being received by memory device 110. In an aspect, analog signal 108 can encode N bits of input data DTX [N: 0] and can span N clock cycles of clock signal 106. Slicer 122 can sample N times across N clock cycles and output N different decision symbols D [i] corresponding to the N bits.

[0021] By way of example, slicer 122 can sample a value from slicer input 128 using clock signal 106 and compare the sampled value with a reference voltage. If the sampled value is greater than the reference voltage, then decision symbol D [i] = +1. If the sampled value is less than the reference voltage, then decision symbol D [i] = -1. If D [i] = +1, then filter 124 can set a value of offset 126 to a positive value and the summation node Σ adds the positive value to the voltage encoding a next incoming bit. If D [i] = -1, then filter 124 can set a value of offset 126 to a negative value and the summation node Σ can subtract the negative from the voltage encoding a next incoming bit. In one embodiment, filter 124 can be a feedback finite impulse response (FIR) filter and the combination of offset 126 at summation node Σ can remove postcursor ISI. The value of offset 126 can be dependent on the filter taps (e.g., FIR taps) selected in filter 124 based on the value of decision symbol D [i] . Further, the decision symbols D [i] can be used for training or adjusting the filter taps’ coefficients in filter 124.

[0022] Since a CTLE can amplify the signal and also the crosstalk and system noise, the selection of a proper CTLE (e.g., not under-amplified or not over-amplified) is desired. There can be several challenges in selecting the proper CTLE for different signals. In an aspect, the receiver in double data rate (DDR) memory systems has no clock data recovery (CDR) circuits so the receiver cannot measure the signal eye width. Also, CTLE is typically implemented in  data channel and not the clock channel. As shown in Fig. 1, clock signal 106 is provided to slicer 122 and filter 124, but is not being provided to CTLE block 114 since CTLEs are not implemented for data channels. Further, different CTLEs can add different delay to the signal, which leads to the need of different optimal clock phase to sample the data, where the different CTLE delays are unknown to the CPU (e.g., processor 102) that control the clock phases. These challenges to selecting the proper CTLE are further amplified as the data rate increases.

[0023] To mitigate the challenges in CTLE selection, conventional DDR memory systems allows the CPU to sweep all CTLEs and measure the corresponding eye to identify an optimal CTLE. However, the sweep can be time consuming and may not be suitable for real-time operations. Other conventional approaches include performing the sweep in the design stage (e.g., before deployed for operation) and generating a table (e.g., lookup table) to map different CTLEs to different parameters such as different DIMM number, different channel length, etc., where the table can cover all possible applications. In seriallizer / deserializer (SerDes) applications, spectrum balancing can be used to adapt CTLE, but spectrum balancing require relatively large number of analog circuits such as low pass filter (LPF) , high pass filter (HPF) , and other analog circuits, thus the chip size is increased.

[0024] To be described in more detail below, system 100 can implement a CTLE adaptation that utilized DFE adaptation circuits and relatively simple digital circuits without addition of analog circuits. Circuit 130 in receiver 112 can be a CTLE / DFE adaptation circuit including digital circuits configured to train DFE taps of DFE 120 and also determine a metric TapSum In one embodiment, TapSum is a sum of absolute values of all the ISI characterized by DFE 120. Circuit 130 can send TapSum to selector 116 and selector 116 can generate a selection signal SEL for selecting one CTLE out of CTLE block 114. In one embodiment, circuit 130 can be a digital circuit implementing a DFE adaptation loop for training the taps in filter 124 of DFE 120, and circuit 130 can include additional digital circuits configured to determine TapSum that can be used by selector 116 to select an optimal CTLE. Further, circuit 130 can determine TapSum based on slicer input 126, clock signal 106 and decision symbol D [i] that are being used by DFE 120.

[0025] Fig. 2 is a diagram showing a digital circuit that can implement continuous time linear equalizer optimization in memory devices in one embodiment. Description of Fig. 2 can reference components shown in Fig. 1. In an embodiment shown in Fig. 1, circuit 130 can include a DFE adaptation circuit 202, a sample clock generator 204, a plurality of D flip-flops (DFF) 206, a plurality of average circuits 208, a plurality of absolute value (ABS) circuits 210 and a sum circuit 212. By way of example, filter 124 in DFE 120 can include n filter taps or DFE taps, and the optimal tap value T for the n DFE taps are denoted as T1, T2, …, Tn, where the optimal tap values are real numbers. The weights or coefficients of the DFE taps, or actual adapted DFE tap values after DFE training, are denoted as w [1: n] = w1, w2, …wn, where each weight is an integer. By way of example, if T1 = 8.23 for the DFE tap Tap1, then w1 can be either 8 or 9 which are the two integers closest to 8.23. As Tap1 converges during DFE tap training performed by DFE adaptation circuit 202, the value of w1 will toggle between 8 and 9.

[0026] DFE adaptation circuit 202 can train n DFE taps in filter 124 to determine the n weights w[1: n] . In one embodiment, circuit 130 can determine K different values of TapSum, where K is the number of CTLEs in CTLE block 114. By way of example, if there are 16 CTLEs, then circuit 130 can determine 16 different values of TapSum. To determine a TapSum (out of the K TapSum values) , circuit 130 can train the n DFE taps X times to sample w [1: n] X times, such that circuit 130 can sample each weight X times. For each n-th weight among w [1: n] , the X sampled n-th weights can be averaged by average circuits 208. The ABS circuits 210 can determine the absolute values of the averaged weights, and the sum circuit 212 can sum the absolute values to determine the metric TapSum.

[0027] By way of example, determination of one TapSum can begin with a selection of a first CTLE among the K CTLEs in CTLE block 114. The selected first CTLE can generate amplified signal 118 by amplifying high-frequency components of a first received analog signal 108. Adaptation circuit 202 can receive slicer input 128 that is generated based on the first amplified signal and offset 126 from filter 124, decision symbols D [i] outputted by slicer 122 based on sampling of the first amplified signal, and clock signal 106. Adaptation circuit 202 can train the n  DFE taps using the first amplified signal and decision symbols D [i] and output the n trained weights w[1: n] . The weights w [1: n] can be distributed to n copies of DFF 206. The n copies of DFF 206 can latch the weights w [1: n] and provide the weights w [1: n] to n copies of average circuits 208.

[0028] After a first set of weights w [1: n] is determined, adaptation circuit 202 can continue to train the n DFE taps using the amplified signal 118 and corresponding decision symbols D [i] . In one embodiment, the training can continue until X samples of weights w [1: n] are sampled. In another embodiment, the weights w [1: n] can be sampled X times within a predefined time period. Sample clock generator 204 can use clock signal 106 to generate a sampling clock signal to control the sampling times of weights w [1: n] . The sampling clock signal can have a much lower frequency than the clock signal 106. By way of example, Sample clock generator 204 can generating a sampling clock signal by dividing the predefined time period for sampling weights w [1: n] X times by X.

[0029] The n copies of DFF 206 can sequentially latch the X sets of weights w [1: n] . Each one of the n average circuits 208 can be configured to wait for the X sets of weights w [1: n ] . In response to receiving X values of weights w [1: n] , average circuits 208 can determine averages of the weights 2 [1: n] . By way of example, if X = 32, then the first average circuit 208 can wait for 32 samples of weight w1, the second average circuit 208 can wait for 32 samples of weight w2, and so on. Average circuits 208 can determine the average of the weights (e.g., average weights) and output the determined average weights to ABS circuits 210. The n copies of ABS circuits 210 can determine n absolute values of the n weights, and sum circuit 212 can sum the n absolute values to generate a first TapSum for the first selected CTLE. In one embodiment, TapSum can be expressed as where ai denotes the averages being outputted by average circuits 128 and |ai| denotes absolute values being outputted by ABS circuits 210.

[0030] For the K CTLEs in CTLE block 114, circuit 130 can determine K values of TapSum. Circuit 130 can output the K values of TapSum to selector 116. In one embodiment, selector 116 can identify a CTLE that resulted in a lowest TapSum value among the K TapSum values and select the identified CTLE to process analog signal 108. In an aspect, when CTLE is enabled, the higher frequency component of analog signal 108 will be amplified and the channel-loss caused  by channels 104 can be partially compensated, thus reducing ISI and reduces the value of TapSum. When the CTLE is over amplified, the channel-loss is over-compensated, and analog signal 108 will distort again and the noise is further amplified, thus increasing ISI and TapSum. When the CTLE is under amplified, the channel-loss is not sufficiently compensated and distortion still remains, thus TapSum will increase when the CTLE is under amplified as well. Therefore, selector 116 can select a CTLE in CTLE block 114 that corresponds to the lowest TapSum generated by circuit 130, where the lowest TapSum can correspond to a CTLE that is not under amplified or over amplified too much.

[0031] Fig. 3 is a diagram showing waveforms of trained DFE tap coefficients during implementation of continuous time linear equalizer optimization in memory devices in one embodiment. Description of Fig. 3 can reference components shown in Fig. 1 and Fig. 2. In an aspect, a quantization error can be present for each DFE tap and TapSum can become inaccurate due to error accumulation if DFE trained taps are directly used. The error from accumulation can be prevented by the multiple instances of sampling, such as sampling the weights X times in a DFE tap training section, and using the average weights to determine TapSum. The multiple sampling instances and averaging can cause TapSum to be relatively close to the optimal tap value T.

[0032] A plurality of example waveforms for weights w1, w2, …, wn are shown in Fig. 3. Weight w1 can toggle between 26 millivolts (mV) and 27 mV, weight w2 can toggle between 16 mV and 17 mV, and weight wn can toggle between -11mV and -12mV. In the example waveforms shown in Fig 3, the weights w1, w2, …, wn are sampled for X times within a time period ΔT. At a sampling time t1, the sampled values of weights w1, w2, wn are 27 mV, 16 mV and -11 mV, respectively. At a sampling time t2, the sampled values of weights w1, w2, wn are 27 mV, 17 mV and -12 mV, respectively. The average weights of the weights w1, w2, wn are 26.55 mV, 16.78 mV and -11.67 mV, respectively.

[0033] Fig. 4 is a diagram showing a table of metrics determined as a result of an implementation of continuous time linear equalizer optimization in memory devices in one  embodiment. Description of Fig. 3 can reference components shown in Fig. 1 to Fig. 3. In a table 400 shown in Fig . 4, 8 CTLEs and their corresponding TapSum under different clock positions (e.g., clock phases) of clock signal 106 are presented. As shown in table 400, regardless of the clock positions of clock signal 106, CTLE 4 remains as the CTLE that has the lowest TapSum and can be selected to process the incoming analog signal (e.g., signal 108) that was used for determining the different TapSum values for different CTLEs.

[0034] As described herein, circuit 130 can include digital circuit components for determining different TapSum for different CTLEs, and no additional analog circuits are added. The addition of digital circuits occupies relatively less silicon real estate, and provides relatively faster metric determination for CTLE selection, when compared to conventional memory receivers that relies on analog circuits to compute metrics for CTLE selection. Further, the adaptive training of DFE taps for determining TapSum is dependent on the incoming signal itself and decision symbols as a result of the DFE processing the incoming signal. Therefore, the determination of TapSum and selection of an optimal CTLE can be adaptive to the actual channel environment of channels 104. Furthermore, using the incoming signal and corresponding decision symbols to determine TapSum will not be impacted by noise since the taps depend on only the channel itself and are immune to random noise or other uncorrelated noise.

[0035] Fig. 5 is a flow diagram illustrating a process to implement clock forwarded matched receiver with decision feedback equalizer in one embodiment. Description of Fig. 5 can reference components shown in Fig. 1 to Fig. 4. The process 500 can include one or more operations, actions, or functions as illustrated by one or more of blocks 502, 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 524 and / or 526. Although illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, eliminated, performed in different order, or performed in parallel, depending on the desired implementation.

[0036] Process 500 can be performed by a receiver in a memory, such as receiver 112 in memory device 110 described herein. Process 500 can begin at block 502. At block 502, the receiver can receive an analog signal, such as analog signal 108. Process 500 can proceed from block 502 to  block 504. At block 504, the receiver can set a variable k to k = 1, where k = 1, …, K and K is the number of CTLEs in CTLE block 114. Process 500 can proceed from block 504 to block 506. At block 506, the receiver can select the k-th CTLE in CTLE block 114. Process 500 can proceed from block 506 to block 508. At block 508, the receiver can train the DFE taps in DFE 120. In one embodiment, the receiver can sample the weights w [1: n] of the DFE taps trained in block 508 for a predefined number of times , where n is the number of DFE taps in DFE 120.

[0037] Process 500 can proceed from block 508 to block 510. At block 510, the receiver can determine TapSum for the selected k-th CTLE. The receiver can determine n average weights, where each n-th average weight is an average of the predetermined number of samples of the n-th weight. The receiver can determine n absolute values of the n average weights, and sum the n absolute values to determine TapSum. The receiver can send the determined TapSum to selector 116. Process 500 can proceed from block 510 to block 512. At block 512, the receiver can increment the variable k (e.g., k = k + 1) . Process 500 can proceed from block 512 to block 514. At block 514, the receiver can compare the variable k with K to determine whether k is greater or less than K. If k is less than K, process 500 can return from block 514 to block 506 to select the next CTLE in CTLE block 114. If k is greater than K, process 500 can proceed to block 516. At block 516, the receiver can select a CTLE that has the smallest TapSum as the optimal CTLE. Process 500 can end after block 516.

[0038] Fig. 6 is a flow diagram illustrating a process to implement clock forwarded matched receiver with decision feedback equalizer in one embodiment. Description of Fig. 6 can reference components shown in Fig. 1 to Fig. 5. The process 600 can include one or more operations, actions, or functions as illustrated by one or more of blocks 602, 604, 606, 608, 610 and / or 612. Although illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, eliminated, performed in different order, or performed in parallel, depending on the desired implementation.

[0039] Process 600 can be performed by a receiver in a memory, such as receiver 112 in memory device 110 described herein. Process 600 can begin at block 602. At block 602, the receiver can  train a plurality of decision feedback equalizer (DFE) taps. In one embodiment, the receiver can train the plurality of DFE taps by using at least a slicer input being provided to a DFE and at least one decision symbol being outputted by the DFE. Process 600 can proceed from block 602 to block 604. At block 604, the receiver can, for each DFE tap, sample a weight associated with the DFE tap for a number of times to generate a plurality of sampled weights. In one embodiment, the receiver can generate a sample clock signal for sampling weights associated with the plurality of DFE taps for the number of times. Process 600 can proceed from block 604 to block 606. At block 606, the receiver can determine a plurality of average weights. Each average weight among the plurality of average weights can be an average of the plurality of sampled weights for a corresponding DFE tap. In one embodiment, the receiver can latch the plurality of sampled weights prior to determining of the plurality of average weights.

[0040] Process 600 can proceed from block 606 to block 608. At block 608, the receiver can determine a plurality of absolute values of the plurality of average weights. Process 600 can proceed from block 608 to block 610. At block 610, the receiver can determine a sum of the plurality of absolute values. Process 600 can proceed from block 610 to block 612. At block 612, the receiver can transmit the sum to a continuous time linear equalizer (CTLE) selection circuit in a memory receiver. A selection of a CTLE among a plurality of CTLEs can be dependent on the sum. In one embodiment, the receiver can receive a plurality of sums correspond to the plurality of CTLEs, identify a smallest sum among the plurality of sums, and select a CTLE that corresponds to the identified smallest sum.

[0041] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function (s) . In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order,  depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

[0042] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising, ” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0043] The corresponding structures, materials, acts, and equivalents of all means or step plus function elements, if any, in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims

1.An integrated circuit comprising:a decision feedback equalizer (DFE) adaptation circuit configured to:train a plurality of DFE taps; andfor each DFE tap, sample a weight associated with the DFE tap for a number of times to generate a plurality of sampled weights;a plurality of average circuits, each average circuit among the plurality of average circuits being configured to determine an average weight of a corresponding plurality of sampled weights;a plurality of absolute value circuits configured to determine a plurality of absolute values of a plurality of average weights determined by the plurality of average circuits; anda sum circuit configured to:determine a sum of the plurality of absolute values; andtransmit the sum to a continuous time linear equalizer (CTLE) selection circuit in a memory receiver, wherein a selection of a CTLE among a plurality of CTLEs is dependent on the sum.2.The integrated circuit of claim 1, further comprising a plurality of D flip flops (DFF) configured to latch the plurality of sampled weights prior to determination of the plurality of average weights performed by the plurality of average circuits.3.The integrated circuit of claim 1, wherein a number of DFE taps, a number of average circuits and a number of absolute value circuits are equivalent.4.The integrated circuit of claim 1, wherein the DFE adaptation circuit, the plurality of average circuits, the plurality of absolute value circuits and the sum circuit are integrated in the memory receiver.5.The integrated circuit of claim 1, further comprising a sample clock generator configured to generate a sample clock signal for the DFE adaptation circuit to sample weights associated with the plurality of DFE taps for the number of times.6.The integrated circuit of claim 1, wherein the DFE adaptation circuit is configured to train the plurality of DFE taps using at least a slicer input being provided to a DFE and at least one decision symbol being outputted by the DFE.7.The integrated circuit of claim 6, wherein:the slicer input and the at least one decision symbol are associated with a specific CTLE among the plurality of CTLEs;the sum is associate with the specific CTLE;the DFE adaptation circuit is further configured to:in response to determination of the sum by the sum circuit, train the plurality of DFE taps using a new slicer input being provided to the DFE and at least one new decision symbol being outputted by the DFE; andfor each DFE tap, sample a new weight associated with the DFE tap for the number of times to generate a plurality of new sampled weights;the plurality of average circuits is further configured to determine a plurality of new average weights of the plurality of new sampled weights;the plurality of absolute value circuits is further configured to determine a plurality of new absolute values of the plurality of new average weights determined; anda sum circuit is further configured to:determine a new sum of the plurality of new absolute values; andtransmit the new sum to the CTLE selection circuit, wherein the selection of the CTLE among the plurality of CTLEs is dependent on the sum and said new sum.8.An integrated circuit comprising:a decision feedback equalizer (DFE) ;a plurality of continuous time linear equalizers (CTLE) ;a CTLE selection circuit;a circuit comprising:a DFE adaptation circuit configured to:train a plurality of DFE taps of the DFE; andfor each DFE tap, sample a weight associated with the DFE tap for a number of times to generate a plurality of sampled weights;a plurality of average circuits, each average circuit among the plurality of average circuits being configured to determine an average weight of a corresponding plurality of sampled weights;a plurality of absolute value circuits configured to determine a plurality of absolute values of a plurality of average weights determined by the plurality of average circuits; anda sum circuit configured to:determine a sum of the plurality of absolute values; andtransmit the sum to the CTLE selection circuit; andthe CTLE selection circuit being configured to select a CTLE among the plurality of CTLEs based on the sum.9.The integrated circuit of claim 8, wherein the circuit comprises a plurality of D flip flops (DFF) configured to latch the plurality of sampled weights prior to determination of the plurality of average weights performed by the plurality of average circuits.10.The integrated circuit of claim 8, wherein a number of DFE taps, a number of average circuits and a number of absolute value circuits are equivalent.11.The integrated circuit of claim 8, wherein the DFE, the plurality of CTLEs, the CTLE selection circuit and the circuit are integrated in a memory receiver.12.The integrated circuit of claim 8, wherein the circuit further comprises a sample clock generator configured to generate a sample clock signal for the DFE adaptation circuit to sample weights associated with the plurality of DFE taps for the number of times.13.The integrated circuit of claim 8, wherein the DFE adaptation circuit is configured to train the plurality of DFE taps using at least a slicer input being provided to a DFE and at least one decision symbol being outputted by the DFE.14.The integrated circuit of claim 13, wherein:the slicer input and the at least one decision symbol are associated with a specific CTLE among the plurality of CTLEs;the sum is associate with the specific CTLE;the DFE adaptation circuit is further configured to:in response to determination of the sum by the sum circuit, train the plurality of DFE taps using a new slicer input being provided to the DFE and at least one new decision symbol being outputted by the DFE; andfor each DFE tap, sample a new weight associated with the DFE tap for the number of times to generate a plurality of new sampled weights;the plurality of average circuits is further configured to determine a plurality of new average weights of the plurality of new sampled weights;the plurality of absolute value circuits is further configured to determine a plurality of new absolute values of the plurality of new average weights determined; anda sum circuit is further configured to:determine a new sum of the plurality of new absolute values; andtransmit the new sum to the CTLE selection circuit; andthe CTLE selection circuit is further configured to select the CTLE among the plurality of CTLEs based on the sum and said new sum.15.The integrated circuit of claim 13, wherein the CTLE selection circuit is configured to:receive a plurality of sums from the sum circuit, wherein the plurality of sums correspond to the plurality of CTLEs;identify a smallest sum among the plurality of sums; andselect a CTLE that corresponds to the identified smallest sum.16.A method comprising:training a plurality of decision feedback equalizer (DFE) taps;for each DFE tap, sampling a weight associated with the DFE tap for a number of times to generate a plurality of sampled weights;determining a plurality of average weights, each average weight among the plurality of average weights being an average of the plurality of sampled weights for a corresponding DFE tap;determining a plurality of absolute values of the plurality of average weights;determining a sum of the plurality of absolute values; andtransmitting the sum to a continuous time linear equalizer (CTLE) selection circuit in a memory receiver, wherein a selection of a CTLE among a plurality of CTLEs is dependent on the sum.17.The method of claim 16, further comprising latching the plurality of sampled weights prior to determining of the plurality of average weights.18.The method of claim 16, further comprising generating a sample clock signal for sampling weights associated with the plurality of DFE taps for the number of times.19.The method of claim 16, wherein training the plurality of DFE taps comprises using at least a slicer input being provided to a DFE and at least one decision symbol being outputted by the DFE.20.The method of claim 16, further comprising:receiving a plurality of sums correspond to the plurality of CTLEs;identifying a smallest sum among the plurality of sums; andselecting a CTLE that corresponds to the identified smallest sum.

Citation Information

Patent Citations

  • Nonlinear equalization method and system based on feature construction of polynomial mapping

    CN114204993A

  • Adaptation Of A Linear Equalizer Using A Virtual Decision Feedback Equalizer (VDFE)

    US20100046598A1

  • Adaptation of equalizer settings using error signals sampled at several different phases

    US20140254655A1

  • Phase detection in an analog clock data recovery circuit with decision feedback equalization

    US20160373241A1

  • Integrated circuit with continuously adaptive equalization circuitry

    US9705708B1