Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
WIRELINE RECEIVER CIRCUITRY HAVING COLLABORATIVE TIMING RECOVERY
Document Type and Number:
WIPO Patent Application WO/2016/099692
Kind Code:
A1
Abstract:
Some embodiments include apparatus and methods having an input to receive an input signal, additional inputs to receive clock signals having different phases to sample the input signal, and a decision feedback equalizer (DFE) having DFE slices. The DFE slices include a number of data comparators to provide data information based on the sampling of the input signal, and a number of phase error comparators to provide phase error information associated with the sampling of the input signal. The number of phase error comparators of the DFE slices is not greater than the number of data comparators of the DFE slices.

Inventors:
MUSAH TAWFIQ (US)
KESKIN GOKCE (US)
BALAMURUGAN GANESH (US)
JAUSSI JAMES E (US)
CASPER BRYAN K (US)
Application Number:
PCT/US2015/059488
Publication Date:
June 23, 2016
Filing Date:
November 06, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INTEL CORP (US)
International Classes:
H04L7/02; H04L25/03
Foreign References:
US20130322512A12013-12-05
US20130243070A12013-09-19
US20120274359A12012-11-01
US20030086515A12003-05-08
US20140281845A12014-09-18
Attorney, Agent or Firm:
SCHEER, Bradley W. et al. (P.A. c/oCPA Global,P.O. Box 5205, Minneapolis Minnesota, US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A circuit apparatus comprising:

an input to receive an input signal;

additional inputs to receive clock signals having different phases to sample the input signal; and

a decision feedback equalizer (DFE) having DFE slices, the DFE slices including data comparators to provide data information based on the sampling of the input signal, and phase error comparators to provide phase error information associated with the sampling of the input signal, wherein the number of phase error comparators of the DFE slices is not greater than the number of data comparators of the DFE slices.

2. The apparatus of claim 1, wherein the number of phase error comparators of the DFE slices is less than number of data comparators the DFE slices.

3. The apparatus of claim 1, wherein the number of phase error comparators of the DFE slices is equal to one-half of the number of data comparators the DFE slices.

4. The apparatus of claim 1, wherein each of the DFE slices includes only one of the phase error comparators.

5. The apparatus of claim 4, wherein each of the phase error comparators is arranged to provide a portion of the phase error information based on values of three consecutive bits of the data information.

6. The apparatus of claim 1, wherein the DFE includes multiple taps, the multiple taps including a speculative first tap.

7. The apparatus of claim 1, wherein the clocks signals include quadrature clock signals.

8. A circuit apparatus comprising:

receiver lanes, each of the receiver lanes including a decision feedback equalizer to sample an input signal to provide data information and phase error information associated with clock signals used to sample the input signal;

a combiner to combine the phase error information from each of the receiver lanes to provide bundled phase error information; and

a controller to provide control information, generated based on the bundled phase error information, to each of the receiver lanes to control timing of the clock signals.

9. The apparatus of claim 8, wherein each of the receiver lanes includes a clock-data recovery loop to adjust phases of the clock signal based on the control information.

10. The apparatus of claim 8, wherein each of the receiver lanes includes: a lane proportion controller to provide an additional control information based on the phase error information; and

a selector to select one of the control information generated based on the bundled phase error information and the additional control information to generate a selected control information in order to control the timing of the clock signals based on the selected control information.

11. The apparatus of claim 10, wherein the lane proportional controller is arranged to increase a loop gain of the clock-data recovery loop by a factor of four if the additional control information is selected by the selector.

12. The apparatus of claim 8, wherein the decision feedback equalizer (DFE) of each of the receiver lanes includes DFE slices having data comparators to provide the data information, and each of the DFE slices includes only one phase error comparator to provide a portion of the phase error information.

13. An electronic system comprising :

conductive lines on a circuit board;

a first device coupled to the conductive lines; and

a second device coupled to the conductive lines, the second device including a receiver to receive signals transmitted on the conductive lines by the first device, the receiver including a decision feedback equalizer (DFE) having DFE slices, the DFE slices including data comparators to provide data information based on sampling of one of the input signals, and phase error comparators to provide phase error information associated with clock signals used in the sampling, wherein the number of phase error comparators in the DFE slices is less than the number of data comparators of the DFE slices.

14. The electronic system of claim 13, wherein each of the DFE slices includes only one of the phase error comparators.

15. The electronic system of claim 13, wherein one of the devices includes an integrated circuit chip.

16. The electronic system of claim 13, wherein the conductive lines conform with at least one of Universal Serial Bus (USB), DisplayPort (DP), High- Definition Multimedia Interface (HDMI), Thunderbold, and Peripheral

Component Interconnect Express (PCIe) specifications.

17. A method of operating an electronic apparatus, the method comprising: receiving an input signal at a decision feedback equalizer;

sampling the input signal based on timing of clock signals to provide data information;

conditionally obtaining phase error information based on values of three consecutive bits of the data information; and controlling timing of the clock signals based on the phase error information.

18. The method of claim 17, wherein conditionally obtaining the phase error information includes obtaining the phase error information if:

a first bit among the three consecutive bits has a first value;

a second bit among the three consecutive bits has a second value; and a third bit among the three consecutive bits has the second value, and the first bit is sampled before the second and third bits are sampled.

19. The method of claim 17, wherein conditionally obtaining the phase error information includes obtaining the phase error information if:

a first bit among the three consecutive bits has a first value;

a second bit among the three consecutive bits has the first value; and a third bit has a second value, and the first bit is sampled before the second and third bits are sampled.

20. The method of claim 17, further comprising:

receiving an additional input signal at another a decision feedback equalizer;

sampling the additional input signal based on timing of the clock signals to provide additional data information;

conditionally obtaining additional phase error information based on values of three consecutive bits of the additional data information; and

controlling timing of the clock signals based on control information generated based on the phase error information and the additional phase error information.

Description:
WIRELINE RECEIVER CIRCUITRY HAVING COLLABORATIVE

TIMING RECOVERY

CLAIM OF PRIORITY

[0001] This patent application claims the benefit of priority to U.S.

Application No. 14/573,343, filed December 17, 2014, which is incorporated by reference herein in its entirety.

TECHNICAL FIELD

[0002] Embodiments described herein pertain to data transmission.

Some embodiments relate to equalizers and clock data recovery.

BACKGROUND

[0003] Many electronic devices or systems, such as computers, tablets, digital televisions, include components (e.g., integrated circuit chips) located on a circuit board. The components may communicate with each other using signals that can carry data. The signals are usually transmitted on conductive lines, such as metal-based traces, on the circuit board. As technology advances, some electrical components may communicate with each other using relatively high frequency (e.g., 2 Gigahertz or higher) signals. Such high frequency signals may be used to transmit data at a relatively high data rate (e.g., 2 Gigabits per second or higher). Some conventional receiver components may be able to receive data at such a high data rate. In some cases, however, such conventional receiver components may suffer from a steep cost in power consumption and area.

BRIEF DESCRIPTION OF THE DRAWINGS

[0004] FIG. 1 shows an apparatus including devices and a channel between the devices, according to some embodiments described herein.

[0005] FIG. 2 shows a block diagram of a receiver including receiver lanes and a bundle control unit, according to some embodiments described herein. [0006] FIG. 3 is a timing diagram for clock signals that can correspond to clock signals of FIG. 2, according to some embodiments described herein.

[0007] FIG. 4 shows a block diagram of a decision feedback equalizer

(DFE) including DFE slices, according to some embodiments described herein.

[0008] FIG. 5A and FIG. 5B show charts including information for implementing conditional phase detection in the DFE of FIG. 4, according to some embodiments described herein.

[0009] FIG. 6 shows a block diagram of a receiver that employs a collaborative clock and data recovery technique, according to some

embodiments described herein.

[0010] FIG. 7 shows an apparatus in the form of a system (e.g., electronic system), according to some embodiments described herein.

[0011] FIG. 8 is a flowchart showing a method of operating a receiver, according to some embodiments described herein.

DETAILED DESCRIPTION

[0012] FIG. 1 shows an apparatus 100 including devices 101 and 102, and a channel 103 between devices 101 and 102, according to some

embodiments described herein. Apparatus 100 can include or be included in an electronic device or system, such as a computer (e.g., server, desktop, laptop, or notebook), a tablet, a cellular phone, or other electronic devices or systems. Each of devices 101 and 102 can include an integrated circuit (IC), such as an IC chip. Devices 101 and 102 can include controllers (e.g., processors, input/output controllers, memory devices, or other electronic devices). As shown in FIG. 1, devices 101 and 102 can include a transmitter 110 and a receiver 120, respectively.

[0013] Channel 103 can include lanes 103o, 103i, 1032, and 103 3 through

103M to conduct signals between devices 101 and 102. Each of lanes 103o through 103M can include conductive traces (e.g., wirelines such as metal-based traces) on a circuit board (e.g., printed circuit board) where devices 101 and 102 are located. Devices 101 and 102 can communicate with each other by providing signals on lanes 103o through 103M. AS shown in FIG. 1, for example, transmitter 110 may transmit signals VRXO, VRXI , VRX 2 , and VRX 3 through VRXM to receiver 120 on lanes 103o, 103i, 103 2 , and 103 3 through 103M, respectively.

[0014] Devices 101 and 102 may communicate with each other using signals at a relatively high frequency that correspond to a relatively high data rate (e.g., up to 32 gigabits per second (Gb/s) or higher per lane). At such a high data rate, inter-symbol interference (ISI) may occur when signals (e.g., VRXO through VRXM) transmitted by transmitter 110 arrive at receiver 120. As described in more detail below, receiver 120 employs techniques to accurately receive data at a relatively high data rate while it may operate at a higher speed, consume less power, and have a smaller size in comparison to some

conventional receivers.

[0015] Receiver 120 can include receivers described below with reference to FIG. 2 through FIG. 8.

[0016] FIG. 2 shows a block diagram of a receiver 220 including receiver lanes 220o, 220i, 220 2 , and 220 3 and a bundle control unit 240, according to some embodiments described herein. Receiver 220 can correspond to receiver 120 of FIG. 1. Signals VRXO, VRXI , VRX 2 , and VRX 3 in FIG. 2 can be transmitted to receiver 220 by a transmitter (e.g., transmitter 110 of FIG. 1) through separate lanes (e.g., lanes 103o, 103i, 103 2 , and 103 3 ) of a channel (e.g., channel 103 of FIG. 1). Each of lanes 103o, 103i, 103 2 , and 103 3 can include one or more conductive lines, such as metal-based traces, on a circuit board. FIG. 2 shows an example where receiver 220 includes four receiver lanes 220o, 220i, 220 2 , and 220 3 . The number of receiver lanes may vary.

[0017] As shown in FIG. 2, each of receiver lanes 220o, 220i, 220 2 , and

220 3 can include a continuous-time linear equalizer (CTLE) 205, a DFE 215, and a clock and data recovery (CDR) loop 225. For simplicity, the following description describes mainly the operation of receiver lane 220o. Other receiver lanes 220i, 220 2 , and 220 3 can have a similar operation.

[0018] CTLE 205 in receiver lane 220o can operate to receive signal

VRXO and generate signal (e.g., input signal) VINO. DFE 215 can operate to sample signal VINO based on timing (e.g., phases) of different clock signals

CLK[0, 90, 180, 270], which include four different out-of-phase clock signals (e.g., quadrature clocks) CLKo, CLK90, CLIOso, and CLK 27 o. DFE 215 can operate to provide data information DOUTO based on the sampling of signal VINO. DFE 215 can also provide phase error information ErrOo, E1TO90, ErrOiso, E1TO270 (also expressed as Err0[0, 90, 180, 270] in FIG. 2) based on the same sampling of signal VINO that provides data information DOUTO. DFE 215 may include multiple DFE slices. Each of error information Err0[0, 90, 180, 270] can be provided by one of the DFE slices. Phase error information Err0[0, 90, 180, 270] and data information DOUTO can be provided to CDR loop 225. CDR loop 225 can operate to generate phase error information ERRo based on Err0[0, 90, 180, 270]. Other receiver lanes 220 1? 220 2 , and 220 3 can also sample signals VINI , VIN2, andViN 3 , respectively, based on timing of clock signals CLK[0, 90, 180, 270]. Based on these samplings, receiver lanes 220 1 ? 220 2 , and 220 3 can provide corresponding phase error information Errl [0, 90, 180, 270], Err2[0, 90, 180, 270], and Err3[0, 90, 180, 270], and Err 3 , and data information DOUTI , D0UT2, and DOUT 3 , and phase error information ERRo, ERRi, ERR2, and ERR 3 .

[0019] Bundle control unit 240 can operate to combine phase error information ERRo, ERRi, ERR2, and ERR 3 and generate control information

CTLBUNDLE, and then provide it to CDR loop 225 in each of receiver lanes 220o, 220 1 ? 2202, and 220 3 . Based on control information CTLBUNDLE, receiver lanes 220o, 220! , 2202, and 220 3 can perform a collaborative clock and data recovery operation. This operation can control (e.g., adjust) the timing (e.g., phases) of clock signals CLK[0, 90, 180, 270] in order to improve the accuracy in the sampling of signals VINO, VINI , VIN2, or VIN3, as described in more detail below with reference to FIG. 6.

[0020] FIG. 3 is a timing diagram for clock signals CLKo, CLK90,

CLI 8O, and CLK27o that can correspond to clock signals CLK[0, 90, 180, 270] of FIG. 2. As shown in FIG. 3, signal VIN can include symbols 315; each of symbols 315 can carry a bit of information, such as bits D N -4 through D N +4, which can also be expressed as bits D[n-4:n+4]. Signal VIN can correspond to one of signals VINO, VINI , VIN2, andViN3 at the input of DFE 215 in one of receiver lanes 220o, 220 1 ? 2202, and 220 3 of FIG. 2. Thus, each of data information DOUTO, DOUTI , D0UT2, and DOUT 3 at the output of DFE 215 in FIG. 2 can include bits similar to bits D n - 4 through D n + 4 in FIG. 3.

[0021] As shown in FIG. 3, clock signals CLKo, CLK90, CLIOso, and

CLK270 are 90 degrees out of phase from one clock signal to the next. Signal VIN can be sampled by clock signals CLKo, CLK90, CLKiso, and CLK270 such that four symbols (e.g., four bits) 315 can be sampled in one period of each of clock signals CLKo, CLK90, CLKiso, and CLK270. Bits D n -4 through D n +4 can be sequentially sampled in the order shown in FIG. 3. For example, if bit D n is presently being sampled, then bit D n -i is the previous bit (sampled before bit D n is sampled) and bit D n +i is the next bit (sampled after bit D n is sampled). In another example, if bit D n -3 is presently being sampled, then bit D n -4 is the previous bit (sampled before bit D n -3 is sampled) and bit D n -2 is the next bit (sampled after bit D n -3 is sampled).

[0022] Each of bits Dn-4 through Dn+4 can have a value, such as binary

"1" or "0". As described in detail below with reference to FIG. 4 and FIG. 5, DFE 215 in each of receiver lanes 220o, 220i, 2202, and 220 3 (FIG. 2) employs a conditional phase detection technique to generate phase error information Erro, Em, E1T2, and Err 3 based on the values of three consecutive bits of an input signal, such as three consecutive bits among bits D n -4 through D n +4 of signal VIN.

[0023] FIG. 4 shows a block diagram of a DFE 415 including DFE slices

(e.g., DFE circuit portions) 415o, 415i, 415 2 , and 415 3 , according to some embodiments described herein. DFE 415 can correspond to DFE 215 in each of receiver lanes 220o, 220i, 2202, and 220 3 of FIG. 2.

[0024] In FIG. 4, DFE 415 can operate to sample signal VIN to provide data information (e.g., bits) D[n], D[n-1], D[n-2], and D[n-3] and phase error information Erro, Εη¾ο, Emso, and E1T270 based on the timing of clock signals CLKo, CLK90, CLK^o, and CLK270. Signal VIN can correspond to the input signal (e.g., one of signals VINO, VINI , VIN2, and VIN 3 ) at the input of DFE 215 of one of receiver lanes 220o, 220 1? 2202, and 220 3 of FIG. 2. The combination of data information D[n], D[n-1], D[n-2], and D[n-3] can correspond to data information (e.g., one of data information DOUTO, DOUTI , DOUT2, and DOUT) at the output of DFE 215 of one of receiver lanes 220o, 220 1 ? 2202, and 220 3 of FIG. 2. Phase error information Erro, Εη¾ο, Em so, and E1T270 can correspond to phase error information (e.g., Err0[0, 90, 180, 270]) at the output of DFE 215 of one of receiver lanes 220o, 220 1? 2202, and 220 3 of FIG. 2. Clock signals CLKo, CLK90, CLK^o, and CLK270 can correspond to the clock signals shown in FIG. 3.

[0025] As shown in FIG. 4, DFE slices 415o, 415i, 415 2 , and 415 3 can be arranged in a four-way interleaved DFE slices. Signal VIN (which is the input signal to DFE slices 415o, 415i, 415 2 , and 415 3 ) can be sampled by a passive track-and-hold based on timing of clock signals CLKo, CLK90, CLKiso, and CLK270. Each of DFE slices 415o, 415i, 415 2 , and 415 3 can include a summer 435 that can operate to reduce or cancel inter-symbol interference (ISI) from 2 nd to 6 th post-cursor taps (associated with data information D[n-2:6], D[n-3:7], D[n- 4:8], and D[n-5:9], and tap values VH2-6). Speculation is used in DFE 215 to relax the critical timing of the first tap. Baud-rate phase detector for CDR loop (e.g., CDR loop 225 in FIG. 2) is included with 1-tap speculation.

[0026] As shown in FIG. 4, each of DFE slices 415o, 415i, 415 2 , and

415 3 can include two data comparators 445 and 446, a phase error comparator 447, multiplexer and logic circuitry 448, and logic circuitry 449. Thus, DFE 415 can include a total of four phase error comparators (one phase comparator 447 in each of DFE slices 415o, 415i, 415 2 , and 415 3 ) and a total of eight data comparators (two data comparators 445 and 446 in each of DFE slices 415o, 415i, 415 2 , and 415 3 ). Therefore, the total number of phase error comparators (e.g., four) of DFE 415 is not greater than the total number of data comparators (eight).

[0027] For simplicity, the following description describes mainly the operation of DFE slice 415o. Other DFE slices 415i, 415 2 , and 415 3 can have a similar operation. In DFE slices 415o, one input of each of data comparators 445 and 446 can receive signal Do from the output of summer 435. Signal Do can include data information (bits) from sampling signal V I N using clock signal CLKo. The other input of each of data comparators 445 and 446 can receive either a signal +VH1 (e.g., a correction signal) or a signal -VH1 (e.g., another correction signal). Data comparators 445 and 446 can operate to determine whether the value of signal Do is above the level of signal +VH1 or below the level of signal -VH1. Based on the comparison operation performed by comparators 445 and 446 and the value of a previous data information (e.g., previous bit D[n-1] sampled by another DFE slice, such as DFE slice 415i), multiplexer and logic circuitry 448 in DFE slice 415o can determine whether the bit included in signal Do presently being sampled by DFE slice 415o has a value of "1" or "0". Multiplexer and logic circuitry 448 provides sampled data information at its output as data information D[n]. Data information D[n] can be provided to another component (not shown) of a receiver (that includes DFE 415) for further processing. Data information D[n] can also be provided to a CDR loop (e.g., CDR loop 225 of FIG. 2) of the receiver that includes DFE 415. The CDR loop may operate to generate control information based on data information D[n] and phase error information Erro, Εη¾ο, Erriso, and E1T270.

[0028] Phase error information Erro can be provided by phase error comparator 447 and logic circuitry 449 of DFE slices 415o. As shown in FIG. 4, phase error comparator 447 can include an input to receive signal Do from the output of summer 435 and another input to receive a signal -V R - VH1. V R is a reference voltage. VH1 is a first tap coefficient voltage. Phase error comparator 447 generates phase error information Erro based on the comparison between signal Do and the value of signal -VR - VH1. Based on the result of the comparison performed by phase error comparator 447, logic circuitry 449 can provide phase error information Erro, which can have a value of either "1" or "0".

[0029] Other DFE slices 415i, 415 2 , and 415 3 can provide data information D[n-1], D[n-2], and D[n-3] and phase error information Εη¾ο, Erriso, and Err 2 7o. For example, DFE slice 415i can provide data information D[n-1] based on signal D90 and previous data information D[n-2], and phase error information Εη¾ο based on signal D90 and signal +VR + VH1. DFE slice 415 2 can provide data information D[n-2] based on signal Diso and previous data information D[n-2], and phase error information Erriso based on signal Diso and signal +V R + VH. DFE slice 415 can provide data information D[n-3] based on previous data information D[n-4], and phase error information Err 2 7o based on the signal at the output of summer 435 and signal -V R - VH1.

[0030] As shown in FIG. 4, since each of DFE slices 415o, 415i, 415 2 , and 415 3 may include only one phase error comparator 447 to perform phase error detection, the thresholds for phase error comparator 447 of each of DFE slices 415o, 415i, 415 2 , and 415 3 can be chosen in such a way that a l-to-0 or 0- to-1 bit transition can be detected. To ensure only strong l-to-0 and 0-to-l bit transitions are detected (for improved detection accuracy) a filtering is employed in the CDR so that the phase error information (e.g., Erro, Εη¾ο, Erriso, and E1T270) can be considered to be valid or invalid only when the phase error information is obtained based on detection of bits having specific bit patterns (e.g., Oi l and 100). Detection of such specific bit patterns (e.g., Oi l and 100) in the filtering technique described herein is referred to as conditional phase detection.

[0031] In the conditional phase detection, phase error information obtained from a l-to-0 transition is considered valid and passed to the digital domain only when a next bit (among three consecutive bits) following the l-to-0 bit transition is a "0" bit (e.g., bit pattern 100). Similarly, in the conditional phase detection, phase error information obtained from a 0-to-l transition is considered valid and passed to the digital domain only when a next bit (among three consecutive bits) following the 0-to-l bit transition is a "0" bit (e.g., bit pattern 011).

[0032] The conditional phase detection described above may yield approximately 25% of the total phase detection. However, as described below, the receiver having a DFE (e.g., DFE 415) described herein employs a collaborative clock and data recovery technique, such that full phase detection may also be achieved with a reduced complexity.

[0033] DFE 415 in FIG. 4 may include fewer comparators in comparison with a similar conventional DFE. For example, a conventional DFE having multiple DFE slices may include four phase error comparators in each of the multiple DFE slices (e.g., 16 phase error comparators in four DFE slices). In contrast, as shown in FIG. 4, each of DFE slices 415o, 415i, 415 2 , and 415 3 may include only one phase error comparator 447 for a total of four phase error comparators in four DFE slices. The reduced number of phase error

comparators in DFE 415 may allow the receiver (e.g., receiver 120 of FIG. 1 or 220 of FIG. 2) that includes DFE 415 to have a reduced complexity in comparison with a conventional receiver (e.g., a receiver having a DFE with four DFE slices that use full phase detection in the front-end in each of the four DFE slices). Further, having a reduced number of phase error comparators (e.g., 75% less than some conventional DFEs) in DFE 415 may enable power and area reduction in DFE 415. The maximum achievable data rate may also be improved because vertical routing distances may be cut in half. [0034] FIG. 5A and FIG. 5B show charts 505 and 506 including information for implementing conditional phase detection in DFE 415 of FIG. 4, according to some embodiments described herein. In FIG. 5, phase samples 0°, 90°, 180°, and 270° correspond to clocks signals CLKo, CLK90, CLKiso, and CLK270 used to sample signal VIN (FIG. 4) in order to provide corresponding error information Erro, E1T90, Em so, and E1T270. Valid bit pattern (previous bit, present bit, and next bit) shows specific values (e.g., 100 or 011) of three consecutive bits (included in signal VIN) in order for each of phase error information Erro, Εη¾ο, Erriso, and E1T270 to be considered valid.

[0035] For example, in chart 505 of FIG. 5A, phase error information

Erro (generated based on the transition between bits D n -i and D n ) is valid only if three consecutive bits D n -i , D n , D n +i of signal VIN have values of "1", "0", and "0", respectively. Phase error information Εη¾ο (generated based on the transition between bits D n -2 and D n -i) is valid only if three consecutive bits D n -2, Dn-i , D n of signal VIN have values of "0", "1", and "1", respectively. Phase error information Erri so (generated based on the transition between bits D n - 3 and Dn-2) is valid only if three consecutive bits D n - 3 , D n -2, D n -i of signal VIN have values of "0", "1", and "1", respectively. Phase error information E1T270 (generated based on the transition between bits D n -4 and D n - 3 ) is valid only if three consecutive bits Dn-4, Dn-3, D n -2 of signal VIN have values of "1", "0", and "0", respectively.

[0036] In chart 505, reference voltages -VR, +VR, and tap values of the first tap of DFE 415 are values provided to the inputs of a corresponding phase error comparator 447 of each of DFE slices 415o, 415i, 415 2 , and 415 3 .

[0037] Chart 506 in FIG. 5B shows target sampling points associated with clock signals CLKo, CLK90, CLIdso, and CLK270. The points associated with "early" or "late" indicate whether a corresponding clock signal (one of clock signals CLKo, CLK90, CLK^o, and CLK270) used to sample the input signal (e.g., signal VIN in FIG. 3) occur before or after, respectively, a target sampling point. The values of each of phase error information Erro, E1T90, Ernso, and E1T270 can indicate whether the corresponding clock signals (one of clock signals CLKo, CLK90, CLKiso, and CLK270) occurs before or after, respectively, the target sampling point. For example, phase error information Erro may have one value (e.g., "1") to indicate that clock signal CLKo is early relative to the target sampling point, and another value (e.g., "0") to indicate that clock signal CLKo is late relative to the target sampling point. Similarly, each of phase error information En¾o, Erriso, and E1T270 can have one value (e.g., "1") to indicate a corresponding clock signal (e.g., one of clock signals CLK90, CLKiso, and CLK270) is early relative to the target sampling point, and another value (e.g., "0") to indicate that a corresponding clock signal is late relative to the target sampling point. Based on the values of phase error information Erro, En¾o, Erriso, and E1T270 the phases of clock signals CLKo, CLK90, CLKiso, and CLK270 can be adjusted, such as by moving their phases to the right or left in order to align them with the target sampling points.

[0038] FIG. 6 shows a block diagram of a receiver 620 that employs a collaborative clock and data recovery technique, according to some

embodiments described herein. Receiver 620 can correspond to receive 120 of FIG. 1 or receiver 220 of FIG. 2. For example, receiver 620 can include receiver lanes 620ο, 620ι, 62Ο2, and 620 3 that can correspond to receiver lanes 220o, 220i, 2202, and 220 3 of FIG. 2. Receiver lanes 620ο, 620ι, 62Ο2, and 620 3 can include similar or identical components. However, for simplicity, circuit components of only receiver lane 620o are shown in FIG. 6. Receiver 620 can also include a bundle phase error combiner 641 and a bundle proportional controller 642 that can be parts of a bundle control unit, such as bundle control unit 240 of FIG. 2.

[0039] Bundle phase error combiner 641 and a bundle proportional controller 642 can operate to combine phase error information ERRo, ERRi, ERR2, and ERR 3 from receiver lanes 620ο, 620ι, 62Ο2, and 620 3 and provide control information CTLBUNDLE to each of each of receiver lanes 620o, 620i, 6202, and 620 3 . The value of control information CTLBUNDLE is based on the value at the output of bundle phase error combiner 641. For example, bundle phase error combiner 641 may select a value of a majority of phase error information ERRo, ERRi, ERR2, and ERR 3 to be the output value that is provided to bundle proportional controller 642.

[0040] Each of receiver lanes 620o, 620i, 6202, and 620 3 can include a

CDR loop 625. CDR loop 625 can operate in different modes to control (e.g., adjust) the timing of clock signals CLKo, CLK90, CLKiso, and CLK270 based on different control information. The modes can be selected based on a signal (e.g., mode select signal) Bundle Mode. For example, in one mode, CDR loop 625 can control the timing of clock signals CLKo, CLK90, CLKiso, and CLK270 based on control information CTLBUNDLE. In another mode, CDR loop 625 can control the timing of clock signals CLKo, CLK90, CLKiso, and CLK270 based on control information CTLLANE without using control information CTLBUNDLE. Control information CTLLANE is generated by a lane proportional controller 652 based on a corresponding phase error information (e.g., one of ERRo, ERRi, ERR2, and ERR3) in the corresponding receiver lane.

[0041] As shown in FIG. 4, receiver lanes 220o, 220i, 220 2 , and 220 3 are bundled together to generate aggregate (e.g., bundled) phase error information that is used to drive the CDR integral control in each lane. Proportional control is maintained per receiver lane and can be set to remove per-lane skew. Four receiver lanes bundling results in full phase error information for each receiver lane CDR, restoring performance to that of a receiver using full phase detection in the front-end.

[0042] For simplicity, the following description describes mainly the operation of receiver lane 620o. Other receiver lanes 620i, 620 2 , and 620 3 can have a similar operation. The multiple modes of operation of CDR loop 625 are described after the description of the operation of receiver lane 620o.

[0043] As shown in FIG. 6, receiver lane 620o can include a CTLE 605 and a DFE 615. CTLE 605 can operate to receive signal VRXO and generate signal VINO. DFE 615 can include DFE 415 of FIG. 4. DFE 615 can sample signal VINO based on timing of clock signals CLKo, CLK90, CLKiso, and CLK270 and provide data information DOUTO and phase error information ErrOo, E1TO90, ErrO^o, and Err0 2 7o (shown as Err0[0, 90, 180, and 270]). Data information

DOUTO includes a combination of data information output from four DFE slices of DFE 615. For example, DFE 615 can include DFE 415 (FIG. 4) such that data information DOUTO of DFE 615 can include data information D[n-3], D[n-2], D[n-1], and D[n] from the output of four DFE slices (e.g., 415o, 415i, 415 2 , and 415 3 ). As described above, phase error information ErrOo, E1TO90, ErrO^o, and Err0 2 7o can be valid or invalid based on the conditional phase detection technique described above with reference to chart 505 (FIG. 5) and chart 506 (FIG. 6).

[0044] In FIG. 6, decision logic 651 can determine whether phase error information ErrOo, ΕΓΤΟΘΟ, ErrOiso, and E1TO270 is valid or invalid based on bit patterns (e.g., 100 or Oi l) in charts 505 (FIG. 5A). For example, decision logic 651 may examine the values of data information DOUTO (e.g., D[n-3], D[n-2], D[n-1], and D[n]) provided by DFE 615. Based on the values of information DOUTO, decision logic 651 can determine whether each of phase error information ErrOo, E1TO90, ErrOiso, and E1TO270 is generated based on bit pattern (100 or 011) of data information DOUTO. Decision logic 651 may update phase error information ERRo depending on whether each of phase error information ErrOo, ErrOsio, ErrOiso, and E1TO270 (or alternatively, a majority of phase error information ErrOo, E1TO90, ErrOiso, and E1TO270) is valid.

[0045] If each of phase error information ErrOo, E1TO90, ErrOiso, and

E1TO270 (or alternatively, a majority of phase error information ErrOo, E1TO90, ErrOiso, and E1TO270) is determined to be valid, then decision logic 651 may calculate the value for phase error information ERRo based on the values of phase error information ErrOo, E1TO90, ErrOiso, and E1TO270. As an example, decision logic 651 may select the value of the majority of phase error information ErrOo, E1TO90, ErrOiso, and Err027o to be the value for phase error information Erro and provide it to lane proportional controller 652 and bundle phase error combiner 641.

[0046] If each of phase error information ErrOo, E1TO90, ErrOiso, and

E1TO270 (or alternatively, a majority of phase error information ErrOo, E1TO90, ErrOiso, and E1TO270) is determined to be invalid (e.g., not generated based on bit pattern 100 or 011), then decision logic 651 may mask phase error information ErrOo, E1TO90, ErrOiso, and E1TO270 from lane proportional controller 652 and bundle phase error combiner 641. This means that the values of phase error information ErrOo, E1TO90, ErrOiso, and E1TO270 may not be used in the next calculation for the value for phase error information ERRo. Thus, the present value of phase error information ERRo may remain the same (e.g., not to be updated with another (e.g., new) value).

[0047] Other receiver lanes 620i, 6202, and 620 3 can also receive corresponding signals VRXI , VRX2, and VRX 3 and generate signals VINI , VIN2, and VIN3 (not shown). DFE and decision logic of each of receiver lanes 620ι, 62Ο2, and 620 3 (similar to DFE 615 and decision logic 651 of receiver lane 620o) can operate to provide phase error information ERRi, ERR 2 , and ERR3, respectively.

[0048] The value of phase error information ERRo, ERRi, ERR 2 , and

ERR3, may indicate an adjustment direction (e.g., decrement or increment) of control information (e.g., proportional control and integral control) provided by CDR loop 625.

[0049] As described above, CDR loop 625 in each of receiver lanes 620o,

620i, 620 2 , and 62Ο3 can operate in different modes based on different control information to control the timing of clock signals CLKo, CLK90, CLKiso, and CLK270. For example, CDR loop 625 can operate in one mode (e.g.,

collaborative mode (or multilane-based mode)) when signal Bundle Mode has one value (e.g., high) and another mode (e.g., non-collaborative mode (or lane- based mode) when signal Bundle Mode has another value (e.g., low). In either mode, phase error information ERRo, ERRi, ERR 2 , and ERR3 are used by CDR loop 625 (e.g., used separately in a lane-based mode or used in combination (collaboratively) in the multilane-based mode).

[0050] In a collaborative mode, signal Bundle Mode can cause a selector, such as a multiplexer 655, to select control information CTLBUNDLE from the output of bundle proportional controller 642. In this mode, integral controller 654 can receive control information CTLBUNDLE (through multiplexer 655) and use it to track the frequency of clock signals CLKo, CLK90, CLKiso, and CLK270. The output of integral controller 654 is provided to an input of an adder 653. Control information CTLBUNDLE can also be provided to another input of adder 653 to track the phases of clock signals CLKo, CLK90, CLKiso, and CLK270. Control information CTLLANE is also provided to an input of adder 653. However, in the collaborative mode, control information CTLLANE may be set to zero. Alternatively, control information CTLLANE may be set to a relatively low value, such that low frequency signals may be tracked. The output of adder 653 is provided to a counter controller 656. The content of counter controller 656 can be updated based on the output from adder 653, which is based on the output of integral controller 654 and control information CTLBUNDLE.

[0051] A phase interpolator 657 can receive clock signals generated by an arrangement of a phase-locked loop (PLL) 661 and a delay- locked loop (DLL) 662. For example, PLL 661 can generate a pair of clock signals (e.g., complementary clock signals) based on a reference clock signal. DLL 662 can receive the pair of clock signals from PLL 661 and generate four clock signals having four different phases (e.g., phases of 0, 90, 180, and 270 degrees). Phase interpolator 657 can select delays (e.g., fine delay) between 0 and 360 degrees based on output from counter controller 656. Phase interpolator 657 can be controlled by a number of control bits that set the operating range of phase interpolator 657. Counter controller 656 can include a rollover counter that can operate to keep phase interpolator 657 within its operating range.

[0052] The output of phase interpolator 657 is provided to quadrature clock generator (QUAD GENERATOR) 663, which can generate clock signals CLKo, CLK90, CLK180, and CLK270 based on the output of phase interpolator 657. DFE 615 uses clock signals CLKo, CLK90, CLKiso, and CLK 2 7o to sample an input signal (e.g., VINO), as described above. CDR loop 625 can adaptively update control information CTLBUNDLE to control the timing of clock signals

CLKo, CLK90, CLKiso, and CLK270 in order to improve accuracy in the sampling of signal VINO at receiver lane 620o. In the collaborative mode, other receiver lanes 620! , 620 2 , and 620 3 can also receive control information CTLLANE and operate in ways similar to that of receiver lane 620o to control the timing of clock signals CLKo, CLK90, CLKiso, and CLK270 in each of the other receiver lanes 620! , 620 2 , and 620 3 .

[0053] In a lane-based mode, signal Bundle Mode can cause multiplexer

655 to select control information CTLLANE from the output of lane proportional controller 652. In this mode, integral controller 654 can receive control information CTLLANE (through multiplexer 655) and use it to track the frequency of clock signals CLKo, CLK90, CLKiso, and CLK270. Control information CTLLANE can also be provided to another input of adder 653 to track the phases of clock signals CLKo, CLK90, CLKiso, and CLK270. In the lane-based mode, control information CTLBUNDLE from bundle proportional controller 642 can be disabled (or alternatively set to zero). In the lane-based mode, adder 653, counter controller 656, phase interpolator 657, and quadrature clock generator 663 operate in ways similar to that of the collaborative mode to allow CDR loop 625 to control the timing of clock signals CLKo, CLK90, CLKiso, and CLK270 based on control information CTLLANE.

[0054] As described above, phase error information ER o is generated based on a conditional phase detection technique in which only one comparator may be used in the conditional phase detection. Thus, in comparison with a conventional full phase error detection (e.g., a non-conditional phase error detection) phase error information ERRo may provide only a portion (e.g., 25%) of a full phase error detection information. Thus, in the lane-based mode as described herein, lane proportional controller 652 may cause the loop gain of CDR loop 625 to increase by a factor of four to achieve the full phase to compensate for the loss of phase error information due to a reduced number of phase error comparators (FIG. 1).

[0055] Receiver 620 as described above may allow multi-mode operation by seamlessly switching between phase decimation and full phase detection when DFE tap speculation is enabled or disabled, respectively. Receiver 620 may also allow lane characterization without interrupting data transmission when collaborative clock recovery is used. One of the receiver lanes may be taken offline for characterization without impacting receiver performance.

Receiver 620 may enable low overhead power scalability with data rate by powering down unused comparators in an interleaved slice, and by decreasing the number of interleaved slices and lowering data rates. This ensures a wide operating range (e.g., from 4 to 32 Gigabits per second) with improved power- efficiency (e.g., below approximately 5.7 pJ/bit in some cases). Receiver 620 may further allow multiple phase detection capabilities, such as baud-rate (full "edge-rate" and quarter "edge-rate") and oversampling to ensure compliance with multiple standards.

[0056] FIG. 7 shows an apparatus in the form of a system (e.g., electronic system) 700, according to some embodiments described herein.

System 700 can include or be included in a computer, a tablet, or other electronic systems. As shown in FIG. 7, system 700 can include a processor 705, a memory device 720, a memory controller 730, a graphics controller 740, an input and output (I/O) controller 750, a display 752, a keyboard 754, a pointing device 756, at least one antenna 758, a connector 715, and a bus 760.

[0057] Each of processor 705, memory device 720, memory controller 730, graphics controller 740, and I/O controller 750 can include an IC such as device 101 or 102 (FIG. 1).

[0058] In some arrangements, system 700 does not have to include a display. Thus, display 752 can be omitted from system 700. In some arrangements, system 700 does not have to include any antenna. Thus, antenna 758 can be omitted from system 700.

[0059] Processor 705 may include a general-purpose processor or an application specific integrated circuit (ASIC).

[0060] Memory device 720 may include a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, a flash memory device, or a combination of these memory devices. FIG. 7 shows an example where memory device 720 is a stand-alone memory device separated from processor 705. In an alternative arrangement, memory device 720 and processor 705 can be located on the same die. In such an alternative

arrangement, memory device 720 is an embedded memory in processor 705, such as embedded DRAM (eDRAM), embedded SRAM (eSRAM), embedded flash memory, or another type of embedded memory.

[0061] Display 752 can include a liquid crystal display (LCD), a touchscreen (e.g., capacitive or resistive touchscreen), or another type of display. Pointing device 756 can include a mouse, a stylus, or another type of pointing device.

[0062] I/O controller 750 can include a communication module for wired or wireless communication (e.g., communication through one or more antenna 758). Such wireless communication may include communication in accordance with WiFi communication technique, Long Term Evolution Advanced (LTE-A) communication technique, or other communication techniques.

[0063] I/O controller 750 can also include a module to allow system 700 to communicate with other devices or systems in accordance with to one or more of the following standards or specifications (e.g., I/O standards or

specifications), including Universal Serial Bus (USB), DisplayPort (DP), High- Definition Multimedia Interface (HDMI), Thunderbolt, Peripheral Component Interconnect Express (PCIe), and other specifications.

[0064] Connector 715 can be arranged (e.g., can include terminals, such as pins) to allow system 700 to be coupled to an external device (or system). This may allow system 700 to communicate (e.g., exchange information) with such a device (or system) through connector 715. Connector 715 may be coupled to I/O controller 750 through a connection 716 (e.g., a bus).

[0065] Connector 715, connection 716, and at least a portion of bus 760 can include conductive lines that conform with at least one of USB, DP, HDMI, Thunderbolt, PCIe, and other specifications.

[0066] I/O controller 750 can include a transceiver (Tx/Rx) 770a having a receiver (Rx) 772 and a transmitter (Tx) 774. Transmitter 774 can operate to transmit information from I/O controller 750 to another part of system 700 or to an external device (or system) coupled to connector 715. Receiver 772 can operate to allow I/O controller 750 to receive information from another part of system 700 or from an external device (or system) coupled to connector 715. Receiver 772 can include any of the receivers described above with reference to FIG. 1 through FIG. 6.

[0067] As shown in FIG. 7, processor 705, memory device 720, memory controller 730, and graphics controller 740 can include transceivers 770b, 770c, 770d, and 770e, respectively, to allow each of these components to transmit and receive information through their respective transceiver. At least one of transceivers 770b, 770c, 770d, and 770e can be similar to or identical to transceiver 770a. Thus, at least one of transceivers 770b, 770c, 770d, and 770e can include a receiver similar to or identical to receiver 772. For example, at least one of transceivers 770a, 770b, 770c, 770d, and 770e can include a receiver that can be arranged to allow at least one of processor 705, memory device 720, memory controller 730, and graphics controller 740 to receive information (e.g., signals) from another part of system 700 or from an external device (or system) coupled to connector 715.

[0068] FIG. 7 shows the components of system 700 arranged separately from each other as an example. For example, each of processor 705, memory device 720, memory controller 730, graphics controller 740, and I/O controller 750 can be located on a separate die (e.g., semiconductor die or an IC chip). In some arrangements, two or more components (e.g., processor 705, memory device 720, graphics controller 740, and I/O controller 750) of system 700 can be located on the same die (e.g., same IC chip) that forms a system-on-chip (SoC).

[0069] FIG. 8 is a flowchart showing a method 800 of operating a receiver, according to some embodiments described herein. The receiver used in method 800 can include any of the receivers described above with reference to FIG. 1 through FIG. 7.

[0070] As shown in FIG. 8, activity 810 of method 800 can include receiving an input signal at a DFE. The DFE can be included in a receiver. Activity 820 can include sampling the input signal based on timing of clock signals to provide data information. Activity 830 can include conditionally obtaining phase error information based on values of three consecutive bits of the data information. Activity 840 can include controlling timing of the clock signals based on the phase error information.

[0071] Method 800 can include fewer or more activities relative to activities 810, 820, 830, and 840 shown in FIG. 8. For example, method 800 can include activities and operations of any DFE and receiver described above with reference to FIG. 1 through FIG. 7.

[0072] The illustrations of the apparatuses (e.g., apparatus 100 including receiver 120, 220, and 620, DFE 415, and system 700) and methods (e.g., method 800 and operations of receiver 120, 220, and 620, DFE 415, and system 700) described above are intended to provide a general understanding of the structure of different embodiments and are not intended to provide a complete description of all the elements and features of an apparatus that might make use of the structures described herein.

[0073] The apparatuses and methods described above can include or be included in high-speed computers, communication and signal processing circuitry, single-processor module or multi-processor modules, single embedded processors or multiple embedded processors, multi-core processors, message information switches, and application-specific modules including multilayer or multi-chip modules. Such apparatuses may further be included as subcomponents within a variety of other apparatuses (e.g., electronic systems), such as televisions, cellular telephones, personal computers (e.g., laptop computers, desktop computers, handheld computers, etc.), tablets (e.g., tablet computers), workstations, radios, video players, audio players (e.g., MP3 (Motion Picture Experts Group, Audio Layer 3) players), vehicles, medical devices (e.g., heart monitors, blood pressure monitors, etc.), set top boxes, and others. Additional Notes and Examples

[0074] Example 1 includes subject matter (such as a device, circuit apparatus or electronic system apparatus, or machine) including an input to receive an input signal, additional inputs to receive clock signals having different phases to sample the input signal, and a decision feedback equalizer (DFE) having DFE slices, the DFE slices including a number of data comparators to provide data information based on the sampling of the input signal, and a number of phase error comparators to provide phase error information associated with the sampling of the input signal, wherein the number of phase error comparators of the DFE slices is not greater than the number of data

comparators of the DFE slices.

[0075] In Example 2, the subject matter of Example 1 may optionally include, wherein the number of phase error comparators of the DFE slices is less than the number of data comparators of the DFE slices.

[0076] In Example 3, the subject matter of Example 1 may optionally include, wherein the number of phase error comparators of the DFE slices is equal to one-half of the number of data comparators of the DFE slices.

[0077] In Example 4, the subject matter of Example 1 may optionally include, wherein each of the DFE slices includes only one of the phase error comparators.

[0078] In Example 5, the subject matter of Example 4 may optionally include, wherein each of the phase error comparators is arranged to provide a portion of the phase error information based on values of three consecutive bits of the data information.

[0079] In Example 6, the subject matter of Example 1 may optionally include, wherein the DFE includes multiple taps, the multiple taps including a speculative first tap.

[0080] In Example 7, the subject matter of Example 1 may optionally include, wherein the clock signals include quadrature clock signals. [0081] Example 8 includes subject matter (such as a device, circuit apparatus or electronic system apparatus, or machine) including receiver lanes, each of the receiver lanes including a decision feedback equalizer to sample an input signal to provide data information and phase error information associated with clock signals used to sample the input signal, a combiner to combine the phase error information from each of the receiver lanes to provide bundled phase error information, and a controller to provide control information, generated based on the bundled phase error information, to each of the receiver lanes to control timing of the clock signals.

[0082] In Example 9, the subject matter of Example 8 may optionally include, wherein each of the receiver lanes includes a clock-data recovery loop to adjust phases of the clock signals based on the control information.

[0083] In Example 10, the subject matter of Example 8 may optionally include, wherein each of the receiver lanes includes a lane proportional controller to provide an additional control information based on the phase error information, and a selector to select one of the control information generated based on the bundled phase error information and the additional control information to generate a selected control information in order to control the timing of the clock signals based on the selected control information.

[0084] In Example 11 the subject matter of Example 10 may optionally include, wherein the lane proportional controller is arranged to increase a loop gain of the clock-data recovery loop by a factor of four if the additional control information is selected by the selector.

[0085] In Example 12, the subject matter of Example 8 may optionally include, wherein the decision feedback equalizer (DFE) of each of the receiver lanes includes DFE slices having data comparators to provide the data information, and each of the DFE slices includes only one phase error comparator to provide a portion of the phase error information.

[0086] Example 13 includes subject matter (such as a device, circuit apparatus or electronic system apparatus, or machine) including conductive lines on a circuit board, a first device coupled to the conductive lines, and a second device coupled to the conductive lines, the second device including a receiver to receive signals transmitted on the conductive lines by the first device, the receiver including a decision feedback equalizer (DFE) having DFE slices, the DFE slices including a number of data comparators to provide data information based on sampling of one of the signals, and a number of phase error comparators to provide phase error information associated with clock signals used in the sampling, wherein the number of phase error comparators in the DFE slices is less than the number of data comparators of the DFE slices.

[0087] In Example 14, the subject matter of Example 13 may optionally include, wherein each of the DFE slices includes only one of the phase error comparators.

[0088] In Example 15, the subject matter of Example 13 may optionally include, wherein one of the devices includes an integrated circuit chip.

[0089] In Example 16, the subject matter of Example 13 may optionally include, wherein the conductive lines conform with at least one of Universal Serial Bus (USB), DisplayPort (DP), High-Definition Multimedia Interface (HDMI), Thunderbolt, and Peripheral Component Interconnect Express (PCIe) specifications.

[0090] Example 17 includes subject matter including a method of operating a receiver, the method comprising receiving an input signal at a decision feedback equalizer, sampling the input signal based on timing of clock signals to provide data information, conditionally obtaining phase error information based on values of three consecutive bits of the data information, and controlling timing of the clock signals based on the phase error information.

[0091] In Example 18, the subject matter of Example 17 may optionally include, wherein conditionally obtaining the phase error information includes obtaining the phase error information if a first bit among the three consecutive bits has a first value, a second bit among the three consecutive bits has a second value, and a third bit among the three consecutive bits has the second value, and the first bit is sampled before the second and third bits are sampled.

[0092] In Example 19, the subject matter of Example 17 may optionally include, wherein conditionally obtaining the phase error information includes obtaining the phase error information if a first bit among the three consecutive bits has a first value, a second bit among the three consecutive bits has the first value, and a third bit has a second value, and the first bit is sampled before the second and third bits are sampled.

[0093] In Example 20, the subject matter of Example 17 may optionally include, receiving an additional input signal at another decision feedback equalizer, sampling the additional input signal based on timing of the clock signals to provide additional data information, conditionally obtaining additional phase error information based on values of three consecutive bits of the additional data information, and controlling timing of the clock signals based on control information generated based on the phase error information and the additional phase error information.

[0094] The subject matter of Example 1 through Example 20 may be combined in any combination.

[0095] The above description and the drawings illustrate some embodiments to enable those skilled in the art to practice the embodiments of the invention. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Examples merely typify possible variations.

Portions and features of some embodiments may be included in, or substituted for, those of other embodiments. Many other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. Therefore, the scope of various embodiments is determined by the appended claims, along with the full range of equivalents to which such claims are entitled.

[0096] The Abstract is provided to allow the reader to ascertain the nature and gist of the technical disclosure. It is submitted with the understanding that it will not be used to limit or interpret the scope or meaning of the claims. The following claims are hereby incorporated into the detailed description, with each claim standing on its own as a separate embodiment.