Determining sampling thresholds of SERDES receivers
11646756 · 2023-05-09
Assignee
Inventors
- Kit MacCarthy Morton (Fort Collins, CO, US)
- Jason Douglas Jung (Fort Collins, CO, US)
- Jeffrey Zenning Chow (Fort Collins, CO, US)
- Alexander David Wilson (Wellington, CO, US)
- David Ritter Thomas (Fort Collins, CO, US)
Cpc classification
H04L25/4927
ELECTRICITY
H04B1/10
ELECTRICITY
International classification
H04B1/10
ELECTRICITY
Abstract
Examples relate to determining a sampling threshold of a receiver (e.g., SERDES receiver). In particular, the examples relate to determining an updated sampling threshold of the receiver based on a reference sampling threshold of the receiver. A controller may determine the reference sampling threshold based on the training sequence and determine an upper voltage level and a lower voltage level of a voltage range based on the reference sampling threshold of the receiver. The controller then narrows the voltage range based on upper voltage accumulated hit rate and a lower voltage accumulated hit rate to determine the updated sampling threshold of the receiver.
Claims
1. A method, comprising: determining, by a controller, a reference sampling threshold of a receiver according to a training sequence received by the receiver; determining, by the controller, an upper voltage level and a lower voltage level of a voltage range based on the reference sampling threshold; comparing, by the controller, an upper voltage accumulated hit rate with a lower voltage accumulated hit rate; based on the comparison, performing, by the controller, at least one of decrementing the upper voltage level or incrementing the lower voltage level; and in response to determining that a first voltage difference between an instantaneous value of the upper voltage level and an instantaneous value of the lower voltage level is smaller than or equal to a predetermined value, selectively setting, by the controller, an updated sampling threshold of the receiver to the instantaneous value of the upper voltage level or the instantaneous value of the lower voltage level based on the upper voltage accumulated hit rate and the lower voltage accumulated hit rate at the instantaneous values of the upper voltage level and the lower voltage level, respectively.
2. The method of claim 1, wherein the reference sampling threshold corresponds to a voltage for which a predetermined hit rate is observed.
3. The method of claim 1, wherein the reference sampling threshold corresponds to a voltage in a middle of a range of voltages defining an eye scan information generated based on the training sequence.
4. The method of claim 1, further comprising computing, by the controller, a comparison margin based on the upper voltage accumulated hit rate and the lower voltage accumulated hit rate.
5. The method of claim 1, wherein the comparing comprises determining whether an absolute difference between the upper voltage accumulated hit rate and the lower voltage accumulated hit rate is smaller than or equal to a comparison margin.
6. The method of claim 5, wherein the updating comprises updating one of the upper voltage level or the lower voltage level in response to determining that the absolute difference between the upper voltage accumulated hit rate and the lower voltage accumulated hit rate is greater than the comparison margin.
7. The method of claim 5, wherein the updating comprises updating both the upper voltage level and the lower voltage level in response to determining that the absolute difference between the upper voltage accumulated hit rate and the lower voltage accumulated hit rate is smaller than or equal to the comparison margin.
8. The method of claim 1, wherein selectively setting comprises setting the updated sampling threshold of the receiver at the instantaneous value of the upper voltage level or the instantaneous value of the lower voltage level for which respective one of the upper voltage accumulated hit rate and the lower voltage accumulated hit rate is a lower value.
9. The method of claim 1, further comprising: in response to determining that the first voltage difference is greater than the predetermined value, iteratively performing, by the controller, comparing the upper voltage accumulated hit rate with the lower voltage accumulated hit rate; updating at least one of the upper voltage level or the lower voltage level based on the comparison; after updating at least one of the upper voltage level or the lower voltage level, determining whether a second voltage difference between the instantaneous values of the upper voltage level and the lower voltage level is smaller than or equal to the predetermined value; and in response to determining that the second voltage difference is smaller than or equal to the predetermined value, selectively setting the updated sampling threshold of the receiver at the instantaneous value of the upper voltage level or the instantaneous value of the lower voltage level based on the upper voltage accumulated hit rate and the lower voltage accumulated hit rate corresponding to the instantaneous values of the upper voltage level and the lower voltage level.
10. A controller of a receiver, comprising: a processor; and a non-transitory machine-readable storage medium comprising instructions executable by the processor to: determine a reference sampling threshold of the receiver based on a training sequence received by the receiver; determine an upper voltage level and a lower voltage level of a voltage range based on the reference sampling threshold; compare an upper voltage accumulated hit rate with a lower voltage accumulated hit rate; update at least one of the upper voltage level or the lower voltage level based on the comparison; and in response to determining that a first voltage difference between an instantaneous value of the upper voltage level and an instantaneous value of the lower voltage level is smaller than or equal to a predetermined value, selectively set an updated sampling threshold of the receiver to the instantaneous value of the upper voltage level or the instantaneous value of the lower voltage level based on the upper voltage accumulated hit rate and the lower voltage accumulated hit rate at the instantaneous values of the upper voltage level and the lower voltage level, respectively.
11. The controller of claim 10, wherein the reference sampling threshold corresponds to a voltage for which a predetermined hit rate is observed.
12. The controller of claim 10, wherein the reference sampling threshold corresponds to a voltage in a middle of a range of voltages defining an eye scan information generated based on the training sequence.
13. The controller of claim 10, wherein the instructions comprise instructions executable by the processor to compute a comparison margin based on the upper voltage accumulated hit rate and the lower voltage accumulated hit rate.
14. The controller of claim 10, wherein the instructions to compare comprise instructions executable by the processor to determine whether an absolute difference between the upper voltage accumulated hit rate and the lower voltage accumulated hit rate is smaller than or equal to a comparison margin.
15. The controller of claim 14, wherein the instructions to update comprise instructions executable by the processor to update one of the upper voltage level or the lower voltage level in response to determining that the absolute difference between the upper voltage accumulated hit rate and the lower voltage accumulated hit rate is greater than the comparison margin.
16. The controller of claim 14, wherein the instructions to update comprise instructions executable by the processor to update both the upper voltage level and the lower voltage level in response to determining that the absolute difference between the upper voltage accumulated hit rate and the lower voltage accumulated hit rate is smaller than or equal to the comparison margin.
17. The controller of claim 10, wherein the instructions to update the upper voltage level comprise instructions executable by the processor to decrement the upper voltage level by the predetermined value and the instructions to update the lower voltage level comprise instructions executable by the processor to increment the lower voltage level by the predetermined value.
18. The controller of claim 10, wherein the instructions to selectively set comprise instructions executable by the processor to set the updated sampling threshold of the receiver at the instantaneous value of the upper voltage level or the instantaneous value of the lower voltage level for which respective one of the upper voltage accumulated hit rate and the lower voltage accumulated hit rate is a lower value.
19. The controller of claim 10, wherein the instructions further comprise instructions executable by the processor to: in response to determining that the first voltage difference is greater than the predetermined value, perform a next iteration to: compare the upper voltage accumulated hit rate corresponding to the instantaneous value of the upper voltage level with the lower voltage accumulated hit rate corresponding to the instantaneous value of the lower voltage level; update at least one of the upper voltage level or the lower voltage level based on the comparison; after updating at least one of the upper voltage level or the lower voltage level, determine whether a second voltage difference between the instantaneous values of the upper voltage level and the lower voltage level is smaller than or equal to the predetermined value; and in response to determining that the second voltage difference is smaller than or equal to the predetermined value, selectively set the updated sampling threshold of the receiver at the instantaneous value of the upper voltage level or the instantaneous value of the lower voltage level based on the upper voltage accumulated hit rate and the lower voltage accumulated hit rate at the instantaneous values of the upper voltage level and the lower voltage level, respectively.
20. A receiver comprising: a front-end circuit to receive a training sequence; a sampling circuit to determine symbols from the training sequence; and a controller coupled to the sampling circuit to receive the symbol, wherein the controller is configured to: determine a reference sampling threshold for the sampling circuit based on the symbols; determine an upper voltage level and a lower voltage level of a voltage range based on the reference sampling threshold; compare an upper voltage accumulated hit rate with a lower voltage accumulated hit rate; update at least one of the upper voltage level or the lower voltage level based on the comparison; and in response to determining that a first voltage difference between an instantaneous value of the upper voltage level and an instantaneous value of the lower voltage level is smaller than or equal to a predetermined value, selectively set an updated sampling threshold of the receiver to the instantaneous value of the upper voltage level or the instantaneous value of the lower voltage level based on the upper voltage accumulated hit rate and the lower voltage accumulated hit rate at the instantaneous values of the upper voltage level and the lower voltage level, respectively.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Various examples will be described below with references to the following figures.
(2)
(3)
(4)
(5)
(6) It is emphasized that, in the drawings, various features are not drawn to scale. In fact, in the drawings, the dimensions of the various features have been arbitrarily increased or reduced for clarity of discussion.
DETAILED DESCRIPTION
(7) The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers or symbols are used in the drawings and the following description refers to the same or similar parts. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only. While several examples are described in this document, modifications, adaptations, and other implementations are possible. Accordingly, the following detailed description does not limit the disclosed examples. Instead, the proper scope of the disclosed examples may be defined by the appended claims.
(8) Data signals received at a receiver often differ from the data signal transmitted from a transmitter due to signal impairments such as attenuation, distortion, and noise. Such signal impairments may cause various changes that degrade the quality of the data signals and the overall performance of a communication system. The performance of the communication system is usually measured in terms of Bit Error Rate (BER) that represents the ability of the communication systems to pass bits without errors. For high-speed data communication systems such as systems that use multi-level pulse-amplitude modulation (PAM) or multi-PAM format (e.g., PAM4), these signal impairments may be more prominent due to high data rates and cause high BER.
(9) To capture a data signal correctly, a receiver (e.g., a SERDES receiver) may utilize a sampling circuit to compare the data signal with one or more threshold voltages (hereinafter referred to as “sampling thresholds”) to interpret each symbol (which may represent one or more bits) of the data signal as one or more digital states (e.g., digital states ‘0’ and ‘1’. In communication systems using Non-Return to Zero (NRZ) format, the sampling circuit may use a single sampling threshold to interpret each symbol of the received data signal in a digital state ‘1’ when a voltage signal representing the symbol of the received data signal is greater than the sampling threshold and a digital state ‘0’ when the voltage signal is less than the sampling threshold. In communication systems using PAM4 format, a receiver may interpret a voltage signal representing each symbol of the received data signal into four digital states 00, 01, 10, and 11 defined by three sampling thresholds.
(10) The receiver may generally use eye scan information generated by an eye scan circuit or a controller to analyze the quality of the received data signal. For illustration purposes, the eye scan information may be represented with help of an eye diagram which is an imaginary time-folded representation of a data signal that is derived from a waveform by repeating the parts of the waveform corresponding to each symbol into a single graph with a voltage representing the data signal on a vertical axis and time on a horizontal axis. By repeating this construction over many samples of the waveform, the resulting graph represents the average statistics indicative of the quality of the data signal received at a receiver. Similarly, the controller may obtain eye scan information by averaging data derived from the signal. For example, in a system implementing Non-Return to Zero (NRZ) encoding, the eye scan information may be represented as an eye diagram including a single eye corresponding to a single sampling threshold. The single eye represents a range of voltages between two voltage values representing the digital states ‘0’ and ‘1’. In such a case, the single sampling threshold is configured as a decision threshold for decoding a given voltage level as one of the digital states ‘0’ and ‘1’.
(11) In communication systems using PAM4 format, eye scan information may include three eyes corresponding to three sampling thresholds. Each of the three eyes represents a range of voltages, between two contiguous voltages, representing two contiguous digital states of the digital states 00, 01, 10, and 11. The contiguous voltages corresponding to the four digital states defining the three eyes may be referred to as levels 0, 1, 2, and 3. In the PAM4 based receivers, the three sampling thresholds are configured for decoding a given voltage level as one of the digital states 00, 01, 10, and 11.
(12) Typically, the sampling thresholds are defined during a training phase (which typically occurs during the startup of the system). The receiver may determine the sampling thresholds using eye scan information generated by measuring a data signal of a training sequence. For example, the receiver determines a sampling threshold at a voltage corresponding to a center of an eye in the eye diagram. The term “center of an eye” is a voltage value that is in the middle of a voltage range of the eye. The receiver may locate the center of the eye based on a vertical eye-opening of the eye. However, it may be challenging to accurately locate the center of the eye due to distortions in the received data signal. Inaccuracy in locating the center of the eye may provide an inaccurate sampling threshold. If the sampling threshold is inaccurate, a probability of incorrectly interpreting the digital state for the received data signal may increase, which may result in increased BER.
(13) Examples described herein provide techniques for determining a sampling threshold of a receiver (e.g., SERDES receiver). In the described examples, a controller determines a sampling threshold of the receiver that is more accurate and reliable as compared to the one determined using traditional techniques. The controller uses eye scan information corresponding to a data signal of a training sequence to determine the sampling threshold. The controller determines a value of a sampling threshold (referred to herein as a reference sampling threshold) by locating a center of an eye in the eye diagram. The controller then determines a voltage range that contains an updated value of the sampling threshold (referred to herein as an updated sampling threshold) of the receiver. The controller then narrows the voltage range to find the updated sampling threshold. The controller narrows the voltage range based on accumulated hit rates of the data signal corresponding to the respective voltage levels defining the voltage range containing the updated sampling threshold.
(14) In some examples, a controller may determine a reference sampling threshold of a receiver based on a training sequence received by the receiver. The controller may then determine an upper voltage level and a lower voltage level of a voltage range based on the reference sampling threshold. The controller may compare an upper voltage accumulated hit rate with a lower voltage accumulated hit rate and update at least one of the upper voltage level or the lower voltage level based on the comparison. Updating the upper voltage level may include decrementing the upper voltage level by a predetermined value and updating the lower voltage level may include incrementing the lower voltage level by the predetermined value. After updating at least one of the upper voltage level or the lower voltage level, the controller may determine whether a voltage difference (e.g., a first voltage difference) between the instantaneous values of the upper voltage level and the lower voltage level is smaller than or equal to the predetermined value. In response to determining that the first voltage difference is smaller than or equal to the predetermined value, the controller may selectively set the updated sampling threshold of the receiver at the instantaneous value of the upper voltage level or the instantaneous value of the lower voltage level based on accumulated hit rates corresponding to the instantaneous values of the upper voltage level and the lower voltage level. In some examples, setting the updated sampling threshold of the receiver may mean that the controller sets the receiver to compare a received data signal with the updated sampling threshold to interpret its digital state.
(15) Throughout the disclosure and in the appended claims, the term “voltage level” (e.g., upper voltage level and lower voltage level) may correspond to a voltage within a range of voltages. Further, a voltage difference between an upper voltage level and a lower voltage level may be referred to as a first voltage difference for the first iteration, and a voltage difference between an upper voltage level and a lower voltage level may be referred to as a second voltage difference for the next iteration.
(16) In the examples described herein, the disclosed technique provides the updated sampling threshold of the receiver that is different from the reference sampling threshold. When the controller utilizes the described technique for setting the updated sampling threshold of the receiver, it is observed that a value of BER reduces as compared to a value of BER when the controller utilizes the reference sampling threshold. In addition, it is also observed that when the controller utilizes the described technique for setting the updated sampling threshold of the receiver, the values of BER over several training sequences have fewer variations as compared to variations in the values of BER when the controller utilizes the reference sampling threshold. These observations indicate that the determined updated sampling threshold is more accurate and reliable as compared to that of the reference sampling threshold.
(17) Examples are further described herein with reference to
(18)
(19) The sampling circuit 104 is coupled to the front-end circuitry 102 to receive the voltage signal V from the front-end circuitry 102. The sampling circuit 104 applies a decision logic to the received voltage signal V to determine a symbol (i.e., a sample) for a time period (i.e., a sampling period). A sample represents the data received by the receiver 100 over a communication link in a sampling period. The sampling circuit 104 may include one or more slicers that are configured to slice the received voltage signal V into two or more digital states (e.g., digital states 00, 01, 10, and 11 for communication systems using PAM4 format) based on one or more sampling thresholds.
(20) In some examples, the receiver 100 may include an eye scan circuit (not shown) to generate an eye scan information indicative of the quality of the received data signal as represented by the voltage signal V. The eye scan circuit may be communicatively coupled to the controller 106 to provide the eye scan information to the controller 106. For example, the eye scan circuit may include a suitably configured Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), another microcontroller having a processor and memory, or other electronic circuitry that analyzes the incoming signal and generate the scan information. As previously noted, the eye scan information may be represented in the form of a graphical representation called an eye diagram for ease of illustration.
(21) The controller 106 is coupled to the sampling circuit 104 to receive the samples from the sampling circuit 104. In some examples, the controller 106 may also receive the eye scan information from the eye scan circuit. The controller 106 may be a microcontroller comprising at least a processor and a memory. In some examples, the controller 106 may be implemented as an ASIC, system-on-chip (SOC), an FPGA, logic gates, comparators, logical adder circuits, or the like. The controller 106 may include logic to perform one or more of the functionalities described herein. The logic may be implemented in hardware or firmware. The controller 106 may perform a number of operations to analyze the received data signal represented by the samples from the sampling circuit 104.
(22) To properly decode information symbols from an incoming signal, the sampling circuit 104 may be configured with sampling thresholds, for example, three sampling thresholds in the case of PAM4 applications. With varying operating conditions, it is useful to update the sampling thresholds for accurate detection of the symbols. To that end, in some examples, during a training phase, the controller 106 is configured to determine an updated sampling threshold of the receiver 100 and tune the sampling circuit 104 based on the updated sampling threshold. In the description hereinafter, operations to determine one of the three sampling thresholds are described. It is to be noted that the remaining of the three sampling thresholds may be updated in the similar manner without limiting the scope of the disclosure.
(23) The functionalities performed by the controller 106 for determining an updated sampling threshold of the receiver 100 are described with reference to
(24) The horizontal axis (i.e., X-axis) of each of the histogram plots 200A-200H represents voltages and the vertical axis (i.e., Y-axis) of each of the histogram plots 200A-200H represents a hit rate of the given symbol. In particular, in the examples of
(25) While analyzing the data signal of the training sequence, the controller 106 may determine a reference sampling threshold (V.sub.ref) of the receiver 100 using the eye scan information. In some examples, the controller 106 may locate a center of a given eye (e.g., defined between level 0 and level 1) of an eye diagram and establish V.sub.ref at a voltage level corresponding to the center of the given eye. The controller 106 may determine a voltage level for which a minimum hit rate is observed and establish V.sub.ref at the determined voltage level. In the example histogram plot 200A of
(26) Further, the controller 106 may determine an upper voltage level L.sub.U and a lower voltage level L.sub.L of a voltage range containing an updated sampling threshold of the receiver 100. The controller 106 may determine L.sub.U and L.sub.L based on V.sub.ref. In some examples, the controller 106 may determine L.sub.U and L.sub.L using example relationships represented by equations (1) and (2).
L.sub.L=V.sub.ref−½O (1)
L.sub.U=V.sub.ref+½O (2)
where ‘O’ represents a preconfigured value for setting an initial width of the voltage range that contains the updated sampling threshold. In an example, the preconfigured value ‘O’ is equal to the largest expected value of a vertical eye-opening. The controller 106 may receive the preconfigured value of ‘O’ before the training phase. In the example of
L.sub.L=V.sub.7−5 ΔV (3)
L.sub.U=V.sub.7+5 ΔV (4)
In this example, L.sub.L and L.sub.U respectively correspond to voltages V.sub.2 and V.sub.12.
(27) Furthermore, the controller 106 may determine accumulated hit rates of the sample corresponding to L.sub.U and L.sub.L. As used herein, the term “accumulated hit rate” for a given voltage level is a sum of the hit rates for a range of voltage encompassing the given voltage. The range of voltages for which the hit rates are accumulated may include one or more contiguous voltages. In some examples, the range of voltages includes a single voltage corresponding to the instantaneous value of the given voltage level. In some other examples, the range of voltages includes multiple contiguous voltages corresponding to an instantaneous value of the given voltage level and one or more previous values of the given voltage level. The accumulated hit rate corresponding to the L.sub.U is indicated herein by ‘A.sub.U’ and is also referred to as upper voltage accumulated hit rate. The accumulated hit rate corresponding to L.sub.L is indicated herein by ‘A.sub.L’ and is also referred to as lower voltage accumulated hit rate.
(28) At the first occurrence of determining A.sub.U, the range of voltages for which the hit rates are accumulated may include the instantaneous value of L.sub.U. Similarly, at the first occurrence of determining A.sub.L, the range of voltage for which the hit rates are accumulated may include the instantaneous value of L.sub.L. Accordingly, the accumulated hit rates A.sub.U and A.sub.L corresponding to the respective L.sub.U and L.sub.L are the hit rates at the respective L.sub.U and L.sub.L.
(29) Accordingly, in the example of
A.sub.U(V.sub.12)=E.sub.U(V.sub.12)=60 (5)
A.sub.L(V.sub.2)=E.sub.L(V.sub.2)=80 (6)
(30) The controller 106 may then compare A.sub.U with A.sub.L. In some examples, the controller 106 may compare A.sub.U with A.sub.L according to a comparison margin (M). In some examples, the controller 106 may determine the comparison margin (M) using an example relationship represented by equation (7).
M=2.sup.└log.sup.
where ‘x’ and ‘y’ are the values (e.g., A.sub.U and A.sub.L) being compared, min(x, y) represents a lower of the values x and y, and ‘C’ is a scaling factor. The scaling factor C may be a fixed predetermined value. for illustration purposes, in the description hereinafter value of the scaling factor C is considered to be 4 (four).
(31) To compare A.sub.U with A.sub.L, the controller 106 may determine whether an absolute difference between A.sub.U and A.sub.L is smaller than or equal to the comparison margin (M) (i.e., ≤M), or greater than the comparison margin (M) (i.e., >M). In some examples, the controller 106 may use comparison conditions represented in equations (8a)-(8d) to compare A.sub.U and A.sub.L.
A.sub.L−A.sub.U>M (8a)
A.sub.U−A.sub.L>M (8b)
A.sub.L.sup.−A.sub.U≤M (8c)
A.sub.U−A.sub.L≤M (8d)
(32) In the example of
(33) In some examples, the controller 106 may be connected to hardware such as a subtractor 107. The subtractor 107 may be a device implemented using digital logic gates or equivalent circuitry that compare quantities and output a digital signal indicating a difference between the two quantities. For example, the controller 106 may provide values of A.sub.L and A.sub.U to the subtractor 107. In return, the subtractor 107 may provide an absolute value of the difference between A.sub.L and A.sub.U to the controller 106. Further, in some examples, the controller 106 may be connected to hardware such as a comparator 109. The comparator 109 may be a device implemented using digital logic gates or equivalent circuitry that compare quantities and output a comparison result between the two quantities. For example, the controller may provide values of the comparison margin (M) and the difference between A.sub.L and A.sub.U to the comparator 109. In return, the comparator 109 may provide a comparison result. The comparison result may indicate any of the four conditions represented via the equations (8a)-(8d). In particular, the comparison result may indicate that whether the absolute difference between A.sub.L and A.sub.U is greater than the comparison margin (M) or not. It is to be noted that in some examples, functionalities of the subtractor 107 and the comparator 109 may be combined into a single device or circuit. In some examples, the operations performed by the subtractor 107 and the comparator 109 may be performed by the controller 106 itself.
(34) Based on the comparison of A.sub.U and A.sub.L, the controller 106 may update at least one of L.sub.U or L.sub.L. In some examples, when the absolute difference between A.sub.U and A.sub.L corresponding to the respective L.sub.U and L.sub.L is less than or equal to the comparison margin (M) (i.e., A.sub.L and A.sub.U satisfy the comparison conditions of equations (8c) and (8d)), the controller 106 may update both L.sub.U and L.sub.L. In some other examples, when the absolute difference between A.sub.U and A.sub.L corresponding to the respective L.sub.U and L.sub.L is greater than the comparison margin (M) (i.e., A.sub.L and A.sub.U do not satisfy the comparison conditions of equations (8c) and (8d)), the controller 106 may update one of L.sub.U or L.sub.L. In some examples, when A.sub.L is greater than A.sub.U (i.e., A.sub.L and A.sub.U satisfy the comparison condition of equation (8a)), the controller 106 may update L.sub.L to an updated value and retain L.sub.U at a previous value. In other examples, when A.sub.U is greater than A.sub.L (i.e., A.sub.U and A.sub.L satisfy the comparison condition of equation (8b)), the controller 106 may update L.sub.U to an updated value and retain L.sub.L at the previous value.
(35) Updating L.sub.U may include decrementing L.sub.U by a predetermined value. In some examples, the predetermined value is the voltage interval (ΔV). Updating L.sub.L may include incrementing L.sub.L by the predetermined value. Table 1 shows update conditions for updating one or both of L.sub.U or L.sub.L based on the comparison conditions represented in equations (8a)-(8d). Table 1 also includes update conditions for A.sub.U and A.sub.L corresponding to the instantaneous values of the respective L.sub.U and L.sub.L. As shown in Table 1, when the controller 106 updates one of L.sub.U or L.sub.L, the controller 106 may determine A.sub.U or A.sub.L corresponding to the updated voltage level (L.sub.U or L.sub.L) by determining E.sub.U or E.sub.L at the updated voltage level (L.sub.U or L.sub.L). Further, when the controller 106 updates both L.sub.U and L.sub.L, the controller 106 may compute A.sub.U by summing up E.sub.U at the instantaneous value (i.e., updated value) of L.sub.U and A.sub.U corresponding to the previous value of L.sub.U and similarly, compute the accumulated hit rate A.sub.L by summing up E.sub.L at the instantaneous value (i.e., updated value) of L.sub.L and A.sub.L corresponding to the previous value of L.sub.L. In some examples, to perform such sum the controller 106 may send the quantities to be added (e.g., the values of E.sub.L at the instantaneous value of L.sub.L and A.sub.L corresponding to the previous value of L.sub.L), labeled as addends in
(36) TABLE-US-00001 TABLE 1 Update conditions for upper voltage level and lower voltage level based on comparison conditions Comparison Update Conditions for Upper and Lower voltage Levels condition L.sub.L A.sub.L L.sub.U A.sub.U A.sub.L − A.sub.U > M Update to E.sub.L at the Retain at E.sub.U at the (Equation (8a)) an updated updated value the previous previous value of L.sub.L of L.sub.L value of L.sub.U value of L.sub.U A.sub.U − A.sub.L > M Retain at E.sub.L at the Update to E.sub.L at the (Equation (8b)) the previous previous value an updated updated value of L.sub.L of L.sub.L value of L.sub.U value of L.sub.U A.sub.L − A.sub.U ≤ M Update to A.sub.L Update to A.sub.U corre- (Equation (8c)) an updated corresponding an updated sponding and value of Ll to the previous value of L.sub.U to the A.sub.U − A.sub.L ≤ M value of previous (Equation (8d)) L.sub.L + E.sub.L value of at the updated L.sub.U + E.sub.U value of L.sub.L at the updated value of L.sub.U
(37) In the example of
(38) After updating at least one of L.sub.U or L.sub.L, the controller 106 may determine a first voltage difference (Vd.sub.1) between the instantaneous values of L.sub.U (the previous value or the updated value) and L.sub.L (the previous value or the updated value) and then determine whether Vd.sub.1 is smaller than or equal to the predetermined value (e.g., the voltage interval ΔV). In some instances, if Vd.sub.1 is smaller than or equal to the predetermined value, the controller 106 may selectively set the updated sampling threshold of the receiver 100 at one of the instantaneous values of L.sub.U or L.sub.L based on A.sub.U and A.sub.L corresponding to the instantaneous values of the respective L.sub.U and L.sub.L. In particular, the controller 106 may selectively set the updated sampling threshold by setting it to the instantaneous value of the voltage level (L.sub.U or L.sub.L). In some examples, if A.sub.U at the instantaneous value of L.sub.U is lower than or equal to A.sub.L corresponding to the instantaneous value of L.sub.L (i.e., A.sub.U A.sub.L), the controller 106 sets the updated sampling threshold of the receiver 100 at the instantaneous value of L.sub.U. In some instances, when Vd.sub.1 is zero (i.e., when L.sub.U=L.sub.L), the controller 106 may set the updated sampling threshold of the receiver 100 to any of the instantaneous values of L.sub.U or L.sub.L. In some examples, setting the updated sampling threshold may include setting the sampling circuit 104 of the receiver 100 to sample a voltage signal (V) based on the updated sampling threshold.
(39) In some other instances, if Vd.sub.1 is greater than the predetermined value, the controller 106 may set a new upper voltage level and a new lower voltage level of the voltage range containing the updated sampling threshold. The controller 106 may set the new upper voltage level and the new lower voltage level, respectively, at the instantaneous value of L.sub.U (i.e., at the previous value or the updated value) and the instantaneous value of L.sub.L (i.e., at the previous value or the updated value).
(40) The controller 106 may then again determine A.sub.U and A.sub.L corresponding to the set L.sub.U (i.e., new upper voltage level) and the set L.sub.L (i.e., new lower voltage level) and compare them according to conditions as given in Table 1. The controller 106 may then compute the comparison margin (M) based on the A.sub.U and A.sub.L according to the relationship of equation (7). The controller 106 may then compare A.sub.U with A.sub.L with each other using the computed comparison margin (M) and the comparison conditions of equations (8a)-(8d).
(41) The controller 106 may again update at least one of the set L.sub.U or the set L.sub.L based on the comparison of the A.sub.U and A.sub.L. After updating at least one of the set L.sub.U or the set L.sub.L, the controller 106 may again determine whether a voltage difference (i.e., a second voltage difference Vd.sub.2) between the instantaneous values of L.sub.U and L.sub.L is smaller than or equal to the predetermined value (e.g., voltage interval ΔV). In some examples, when Vd.sub.2 is smaller than or equal to the predetermined value, the controller 106 may selectively set the updated sampling threshold of the receiver 100 at one of the instantaneous values of L.sub.U or L.sub.L. In some examples, when Vd.sub.2 is greater than the predetermined value (e.g., the voltage interval ΔV), the controller 106 may again set a new L.sub.U and a new L.sub.L of the voltage range containing the updated sampling threshold, respectively, at the instantaneous value of L.sub.U and the instantaneous value of L.sub.L. The controller 106 may then repeat the process of updating at least one of L.sub.U or L.sub.L until a voltage difference between the instantaneous values of L.sub.U and L.sub.L is smaller than or equal to the predetermined value (e.g., voltage interval ΔV).
(42) The example histogram plot 200B of
A.sub.U(V.sub.12)=E.sub.U(V.sub.12)=60 (9)
A.sub.L(V.sub.3)=E.sub.L(V.sub.3)=50 (10)
The controller 106 then computes the comparison margin M (i.e., 16) for A.sub.U=60, A.sub.L=50, and C=4 according to equation (7). The controller 106 determines that a difference between A.sub.U and A.sub.L (i.e., A.sub.U−A.sub.L=60−50=10) is smaller than or equal to the comparison margin M (i.e., 10<16), and A.sub.U and A.sub.L satisfy the comparison conditions of equations (8c) and (8d). The controller 106 then updates both L.sub.U and L.sub.L as per update conditions of Table 1. The controller 106 decrements L.sub.U from V.sub.12 to V.sub.11 and increments L.sub.L from V.sub.3 to V.sub.4.
(43) The example histogram plot 200C of
A.sub.U(V.sub.11)=A.sub.U(V.sub.12)+E.sub.U(V.sub.11)=60+50=110 (11)
A.sub.L(V.sub.4)=A.sub.L(V.sub.3)+E.sub.L(V.sub.4)=50+30=80 (12)
(44) The controller 106 then determines the value of the comparison margin M as 16 for A.sub.U=110, A.sub.L=80, and C=4 according to equation (7). Accordingly, the controller 106 determines that the difference between A.sub.U and A.sub.L (i.e., 30) is greater than the comparison margin M (i.e., 30>16), and A.sub.U and A.sub.L satisfy the comparison condition of equation (8a), and the controller 106. Accordingly, the controller 106 decrements L.sub.U from V.sub.11 to V.sub.10 and retains L.sub.L at V.sub.4.
(45) Moving to
A.sub.U(V.sub.10)=E.sub.U(V.sub.10)=40 (13)
A.sub.L(V.sub.4)=E.sub.L(V.sub.4)=30 (14)
(46) The controller 106 then determines the value of the comparison margin M as 16 for A.sub.U=40, A.sub.L=30, and C=4 according to equation (7). Accordingly, the controller 106 determines that the difference between A.sub.U and A.sub.L (i.e., 10) is smaller than the comparison margin M (i.e., 10<16), and A.sub.U and A.sub.L satisfy the comparison condition of equations (8c) and (8d). Accordingly, the controller 106 decrements L.sub.U from V.sub.10 to V.sub.9 and increments L.sub.L to V.sub.5.
(47) Referring now to
A.sub.U(V.sub.9)=A.sub.U(V.sub.10)+E.sub.U(V.sub.9)=40+35=75 (15)
A.sub.L(V.sub.5)=A.sub.L(V.sub.4)+E.sub.L(V.sub.5)=30+8=38 (16)
(48) The controller 106 then determines the value of the comparison margin M as 16 for A.sub.U=75, A.sub.L=38, and C=4 according to equation (7). Accordingly, the controller 106 determines that the difference between A.sub.U and A.sub.L (i.e., 37) is greater than the comparison margin M (i.e., 37>16), and A.sub.U and A.sub.L satisfy the comparison condition of equation (8a). Accordingly, the controller 106 decrements L.sub.U from V.sub.9 to V.sub.8 and retains L.sub.L to V.sub.5.
(49) In the example histogram plot 200F of
A.sub.U(V.sub.8)=E.sub.U(V.sub.8)=20 (17)
A.sub.L(V.sub.5)=E.sub.L(V.sub.5)=8 (18)
(50) The controller 106 then determines the value of the comparison margin M as 8 for A.sub.U=20, A.sub.L=8, and C=4 according to equation (7). Accordingly, the controller 106 determines that the difference between A.sub.U and A.sub.L (i.e., 12) is greater than the comparison margin M (i.e., 12>8), and A.sub.U and A.sub.L satisfy the comparison condition of equation (8a). Accordingly, the controller 106 decrements L.sub.U from V.sub.8 to V.sub.7 and retains L.sub.L to V.sub.5.
(51) Moving to the example of
A.sub.U(V.sub.7)=E.sub.U(V.sub.7)=6 (19)
A.sub.L(V.sub.5)=E.sub.L(V.sub.5)=8 (20)
(52) The controller 106 then determines the value of the comparison margin M as 8 for A.sub.U=6, A.sub.L=8, and C=4 according to equation (7). Accordingly, the controller 106 determines that the difference between A.sub.U and A.sub.L (i.e., 2) is less than the comparison margin M (i.e., 2<8), and A.sub.U and A.sub.L satisfy the comparison condition of equations (8c) and 8d. Accordingly, the controller 106 decrements L.sub.U from V.sub.7 to V.sub.6 and increments L.sub.L to V.sub.6.
(53) Accordingly, the example histogram plot 200H of
(54)
(55) In
(56) As block 304, the method 300 may include determining an upper voltage level L.sub.U and a lower voltage level L.sub.L of a voltage range containing the updated sampling threshold of the receiver 100 based on V.sub.ref. In some examples, the controller 106 may determine L.sub.U and a L.sub.L based on the relationships presented in the equations (1) and (2). Further, at block 306, the method 300 may include comparing an upper voltage accumulated hit rate A.sub.U with a lower voltage accumulated hit rate A.sub.L. In some examples, the controller 106 may determine A.sub.U and A.sub.L as described previously and compare them with each other according to the comparison margin (M) (equation (7)) and the comparison conditions of equations (8a)-(8d).
(57) At block 308, the method 300 may include updating at least one of L.sub.U or L.sub.L based on the comparison of A.sub.U and A.sub.L. In some examples, the controller 106 may update at least one of L.sub.U or L.sub.L using the update conditions of Table 1, as described previously. In some instances, when the absolute difference between A.sub.U and A.sub.L is greater than the comparison margin (M) (i.e., A.sub.L and A.sub.U satisfy the comparison condition of equation (8a) or (8b)), the controller 106 may update one of L.sub.U or L.sub.L. When the absolute difference between A.sub.U and A.sub.L is smaller than or equal to the comparison margin (M) (i.e., A.sub.L and A.sub.U satisfy the comparison conditions of equations (8c) and (8d)), the controller 106 may update both L.sub.U or L.sub.L.
(58) At block 310, the method 300 may include determining whether a voltage difference (i.e., Vd.sub.1) between the instantaneous values of L.sub.U (previous or updated value) and L.sub.L (previous or updated value) is smaller than or equal to the predetermined value (i.e., the voltage interval (ΔV)). In some examples, the controller 106 may perform a check, at block 310, to determine whether Vd.sub.1 is smaller than or equal to the predetermined value. At block 310, if it is determined that Vd.sub.1 is smaller than or equal to the predetermined value, the controller 106, at block 312, may selectively set the updated sampling threshold of the receiver 100 at one of the instantaneous values of L.sub.U or L.sub.L depending on A.sub.U and A.sub.L) corresponding to the instantaneous values of L.sub.U and L.sub.L. The controller 106 may set the updated sampling threshold of the receiver 100 at the instantaneous value of L.sub.U or the instantaneous value of L.sub.L for which the accumulated hit rate (e.g., A.sub.U or A.sub.L) is a lower value.
(59) Referring to block 310 again, at block 310, if it is determined that the Vd.sub.1 is greater than the predetermined value, the method 300 may return to block 304. In some examples, the method 300 may repeat block 304 to determine an upper voltage level (i.e., a new upper voltage level) and a lower voltage level (i.e., a new lower voltage level) of the voltage range containing the updated sampling threshold for the next iteration. In some examples, the controller 106 may set the new upper voltage level at the instantaneous value of L.sub.U and the new lower voltage level at the instantaneous value of L.sub.L. The method 300 may then repeat block 306 to compare A.sub.U corresponding to the set L.sub.U (i.e., new upper voltage level) with A.sub.L corresponding to the set L.sub.L (i.e., new lower voltage level) and block 308 to update at least one of the set L.sub.U or the set L.sub.L. The method 300 may then repeat block 310 to determine whether a voltage difference (i.e., Vd.sub.2) between the instantaneous values of the set L.sub.U and the set L.sub.L is smaller than or equal to the predetermined value (e.g., the voltage interval ΔV). In some examples, when Vd.sub.2 is smaller than or equal to the predetermined value, the method 300 may include selectively setting the updated sampling threshold of the receiver 100 at one of the instantaneous values of the set L.sub.U or the set L.sub.L. In some examples, when Vd.sub.2 is greater than the predetermined value, the method 300 may again return to block 304. In some examples, the method 300 may include iteratively performing the method blocks 304, 306, 308, and 310 until the method 300 determines that a voltage difference between the instantaneous values of L.sub.U and L.sub.L is smaller than or equal to the predetermined value.
(60)
(61) At block 402, the controller 106 may determine a reference sampling threshold (V.sub.ref) of the receiver 100 by analyzing a data signal of a training sequence received by the receiver 100. At block 404, the controller 106 may determine an L.sub.U and a L.sub.L of a voltage range containing the updated sampling threshold of the receiver 100 based on V.sub.ref. At block 406, the controller 106 may compare an upper voltage accumulated hit rate A.sub.U with a lower voltage accumulated hit rate A.sub.L. In some examples, the controller 106 may compute A.sub.U and A.sub.L, as described previously, and compare A.sub.U with A.sub.L according to a comparison margin (M) (equation (7)) and the comparison conditions represented in equations (8a)-(8d).
(62) At block 408, the controller 106 may perform a check to determine whether an absolute difference between A.sub.U and A.sub.L is smaller than or equal to the comparison margin (M). At block 408, if it is determined that the absolute difference between A.sub.U and A.sub.L is smaller than or equal to the comparison margin (M) (i.e., A.sub.U and A.sub.L satisfy the comparison conditions of equations (8c) and (8d)), the controller 106, at block 410, may update both L.sub.U and L.sub.L. The method 400 then proceeds to block 418.
(63) At block 408, if it is determined that the absolute difference between A.sub.U and A.sub.L is greater than the comparison margin (M) (i.e., A.sub.U and A.sub.L satisfy the comparison condition of equation (8a) or (8b)), the method 400 may proceed to block 412. At block 412, the controller 106 may again perform a check to determine whether A.sub.U is more than A.sub.L. At block 412, if it is determined that A.sub.U is more than A.sub.L (i.e., A.sub.U>A.sub.L, and A.sub.U and A.sub.L satisfy the comparison condition of equation (8b)), the controller 106, at block 414, may update L.sub.U. In such instances, the controller 106 may retain L.sub.L at the previous value. The method 400 then proceeds to block 418.
(64) Referring to block 412 again, if it is determined that A.sub.U is less than A.sub.L (i.e., A.sub.U<A.sub.L, and A.sub.U and A.sub.L satisfy the comparison conditions of equation (8a)), the controller 106, at block 416, may update L.sub.L. In such instances, the controller 106 may retain L.sub.U at the previous value. The method 400 then proceeds to block 418.
(65) At block 418, the controller 106 may again perform a check to determine whether Vd.sub.1 is smaller than or equal to the predetermined value (e.g., voltage interval ΔV). At block 418, if it is determined that Vd.sub.1 is smaller than or equal to the predetermined value, the controller 106 may selectively set the updated sampling threshold at one of the instantaneous values of L.sub.U or L.sub.L for which an accumulated hit rate (e.g., any of the A.sub.U or A.sub.L) is observed to be lower. For example, when A.sub.L corresponding to the instantaneous value of L.sub.L is lower than A.sub.U corresponding to the instantaneous value of L.sub.U, the controller 106 may set the updated sampling threshold at the instantaneous value of L.sub.L.
(66) Referring to block 418 again, if it is determined that Vd.sub.1 is greater than the predetermined value, the method 400 may return to block 404 and iteratively perform the method blocks 404, 406, 408, 410, 412, 414, 416, and 418 until the method 400 determines that a voltage difference between the instantaneous values of L.sub.U and L.sub.L is smaller than or equal to the predetermined value (e.g., voltage interval ΔV).
(67) In the examples described herein, functionalities described as being performed by “instructions” may be understood as functionalities that may be performed by those instructions when executed by a processing resource. In other examples, functionalities described in relation to instructions may be implemented by one or more modules, which may be any combination of hardware and programming to implement the functionalities of the modules.
(68) As used herein, “machine-readable storage medium” may be any electronic, magnetic, optical, or other physical storage apparatus to contain or store information such as executable instructions, data, and the like. For example, the machine-readable storage medium may be a random-access memory (RAM) or another type of dynamic storage device that may store information and machine-readable instructions that may be executed by the processor. In an example, the machine-readable storage medium may be a non-transitory machine-readable medium.
(69) The terminology used herein is for the purpose of describing example embodiments only and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context indicates otherwise. The term “plurality,” as used herein, is defined as two or more than two. The term “coupled,” as used herein, is defined as connected, whether directly without any intervening elements or indirectly with at least one intervening element, unless otherwise indicated. The term “and/or” as used herein refers to and encompasses any or all possible combinations of one or more of the associated listed items. The presence of broadening words and phrases such as “one or more,” “at least,” “but not limited to” or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent.
(70) The foregoing description of various examples has been presented for purposes of illustration and description. The foregoing description is not intended to be exhaustive or limited to the examples disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from the practice of various examples. The examples discussed herein were chosen and described in order to explain the principles and the nature of various examples of the present disclosure and its practical application to enable one skilled in the art to utilize the present disclosure in various examples and with various modifications as are suited to the particular use contemplated. The features of the examples described herein may be combined in all possible combinations of methods, apparatus, modules, systems, and computer program products.