IP Library Granted Patent US 10,972,249
Granted Patent B1
US 10,972,249 · App. 17/022,480 · Granted Apr 6, 2021

System and method for data sampler drift compensation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,972,249
App. No.
17/022,480
Granted
Apr 6, 2021
Kind
B1
Abstract

A system and method for data sampler drift compensation in a SerDes receiver. Off-data values are received at a drift compensation engine from a plurality of data value selectors coupled to one of a plurality of data sampler pairs of a speculative Decision Feedback Equalizer (DFE) of a SerDes receiver. A drift compensation value for each of the data samplers is generated by the drift compensation engine based upon the off-data values received from each of the plurality of data value selectors and, a sampling level of each of the data samplers of the plurality of data sampler pairs of the DFE is adjusted based upon the drift compensation value from the drift compensation engine.

Claims (54)

1. A method for data sampler drift compensation in a serializer/deserializer (SerDes) receiver, the method comprising:

receiving, at a drift compensation engine, off-data values from a plurality of data value selectors, each one of the plurality of data value selectors coupled to one of a plurality of data sampler pairs of a speculative Decision Feedback Equalizer (DFE) in a SerDes receiver; and

generating, by the drift compensation engine, a drift compensation value for each data sampler of the data sampler pairs based upon the off-data values received from each of the plurality of data value selectors.

2. The method of claim 1 , wherein generating, by the drift compensation, the drift compensation value for each data sampler of the data sampler pairs further comprises:

determining, by the drift compensation engine, a one-zero bias value for each data sampler of the plurality of data sampler pairs using the off-data values;

determining a one-zero bias target value using the determined one-zero bias values for each data sampler determined by the drift compensation engine; and

generating the drift compensation value for each data sampler of the data sampler pairs based upon the determined one-zero bias target value and the determined one-zero bias value of each data sampler.

3. The method of claim 2 , further comprising, removing off-data values that do not provide useful information for determining the one-zero bias value prior to determining the one-zero bias value.

4. The method of claim 3 , further comprising, identifying the off-data values that do not provide useful information for determining the one-zero bias value as being sampled values that do not reside in either an upper eye or a lower eye of a signal comprising a received serial bit stream.

5. The method of claim 2 , wherein the determining, by the drift compensation engine, the one-zero bias value for each data sampler of the plurality of data samplers using the off-data values comprises:

defining a period over which the one-zero bias value will be determined; and

tracking the off-data values over the defined period by counting in a first direction when the received off-data value is a logic level 1 and counting in a second direction, opposite the first direction, when the received off-data value is a logic level 0 to determine the one-zero bias value for each data sampler.

6. The method of claim 2 , wherein determining the one-zero bias target value using the determined one-zero bias values for each data sampler comprises, averaging the one-zero bias values of each of the data samplers.

7. The method of claim 2 , further comprising:

adjusting a sampling level of one or more of the data samplers based upon the generated drift compensation value generated for each of the data samplers, wherein the drift compensation value indicates an increase in the sampling level of the data sampler if the determined one-zero bias of the data sampler is higher than the determined one-zero bias target value and the drift compensation value indicates a decrease in the sampling level of the data sampler if the determined one-zero bias of the data sampler is lower than the determined one-zero bias target value.

8. The method of claim 1 , further comprising:

receiving, at one of the plurality of data value selectors, speculative data values of a serial bit stream from the data sampler pair coupled to the data value selector;

receiving a previous bit value of the serial bit stream at the one of the plurality of data value selectors; and

identifying, at the data value selector, the off-data values from the speculative data values and the received previous bit value.

9. The method of claim 1 , further comprising:

generating speculative data values from a serial bit stream received at a first data sampler pair, wherein a first one of the data samplers of the first data sampler pair generates a speculative data value under the assumption that a previous bit value from the serial bit stream is a logic level 1 and a second data sampler of the first data sampler pair generates a speculative data value under the assumption that the previous bit value from the serial bit stream is a logic level 0;

determining, by a first data value selector coupled to the first data sampler pair, that the speculative data value generated by the first data sampler of the first data sampler pair is the off-data value when it is determined that the previous bit value from the serial bit stream was a logic level 0 and determining that the speculative data value generated by the second data sampler of the first data sampler pair is the off-data value when it is determined that the previous bit value from the serial bit stream is a logic level 1; and

passing the off-data values from the first data value selector to the drift compensation engine.

10. The method of claim 9 , further comprising:

determining, by the first data value selector, that the speculative data value generated by the first data sampler of the first data sampler pair is a data value if the previous bit value is equal to a logic level 1 and determining that the speculative data value generated by the second data sampler of the first data sampler pair is the data value if the previous bit value is equal to logic level 0; and

passing the data value to a next data value selector of the speculative DFE.

11. The method of claim 1 , further comprising, storing the drift compensation value for each of the plurality of data sampler pairs in a digital-to-analog converter (DAC) register coupled to the data samplers of the speculative DFE.

12. The method of claim 1 , wherein the plurality of data value selectors are each from a speculative first tap of the speculative Decision Feedback Equalizer (DFE) in the SerDes receiver.

13. A system for data sampler drift compensation in a Serializer/Deserializer (SerDes) receiver, the system comprising:

a plurality of data value selectors, wherein each one of the plurality of data value selectors are coupled to one of a plurality of data sampler pairs of a speculative Decision Feedback Equalizer (DFE) in a SerDes receiver, the plurality of data value selectors to identify off-data values from speculative data values provided by the data sampler pairs; and

a drift compensation engine coupled to the plurality of data value selectors, the drift compensation engine to;

receive the off-data values from the plurality of data value selectors; and

generate a drift compensation value for each of data sampler of the plurality of data sampler pairs based upon the off-data values received from each of the plurality of data value selectors.

14. The system of claim 13 , wherein the drift compensation engine is further to:

determine a one-zero bias value for each data sampler of the plurality of data sampler pairs using the off-data values;

determine a one-zero bias target value using the determined one-zero bias values for each data sampler of the data sampler pairs; and

generate the drift compensation value for each data sampler of the data sampler pairs based upon the determined one-zero bias target value and the determined one-zero bias value of each data sampler of the data sampler pairs.

15. The system of claim 14 , wherein the drift compensation engine further comprises an off-data filter to remove the off-data values that do not provide useful information for determining the one-zero bias value for each data sampler prior to the drift compensation engine determining the one-zero bias value for each data sampler.

16. The system of claim 14 , wherein the drift compensation engine is further configured to:

define a period over which the one-zero bias value will be determined; and

track the off-data values over the defined period by counting in a first direction when the received off-data value is a logic level 1 and counting in a second direction, opposite the first direction, when the received off-data value is a logic level 0 to determine the one-zero bias value for each data sampler.

17. The system of claim 14 , wherein the drift compensation engine is further configured to determine the one-zero bias target value using the one-zero bias values for each data sampler by averaging the one-zero bias values of each of the data samplers.

18. The system of claim 13 , wherein each of the data value selectors further comprises:

a first multiplexer circuit for identifying data values from speculative data values of a serial bit stream received from a data sampler pair coupled to the data value selector and a previous bit value of the serial bit stream; and

a second multiplexer circuit for identifying the off-data values from the speculative data values of the serial bit stream received from the data sampler pair coupled to the data value selector and the previous bit value of the serial bit stream.

19. The system of claim 13 , wherein each one of the plurality of data sampler pairs of the speculative DFE are configured to:

generate speculative data values from a sample of a serial bit stream received at a first data sampler pair of the plurality of data sampler pairs, wherein a first one of the data samplers of the first data sampler pair generates a speculative data value under the assumption that a previous bit value from the serial bit stream is a logic level 1 and a second data sampler of the first data sampler pair generates a speculative data value under the assumption that the previous bit value from the serial bit stream is a logic level 0; and

wherein a first data value selector coupled to the first data sampler pair is configured to determine that the speculative data value generated by the first data sampler of the first data sampler pair is the off-data value when it is determined that the previous bit value from the serial bit stream was a logic level 0 and, to determine that the speculative data value generated by the second data sampler of the first data sampler pair is the off-data value when it is determined that the previous bit value from the serial bit stream is a logic level 1.

20. The system of claim 13 , wherein the drift compensation engine further comprises a digital-analog-converter (DAC) register for storing the drift compensation values for each of the plurality of data samplers and the speculative DFE of the SerDes receiver and wherein the DAC register adjusts a sampling level of one or more of the data samplers of the plurality of data sampler pairs based upon the drift compensation value stored for each of the data samplers, wherein the drift compensation value indicates an increase in the sampling level of the data sampler if the one-zero bias of the data sampler is higher than the one-zero bias target value and the drift compensation value indicates a decrease in the sampling level of the data sampler if the one-zero bias of the data sampler is lower than the one-zero bias target value.

21. The system of claim 13 , wherein the plurality of data value selectors are each from a speculative first tap of the speculative Decision Feedback Equalizer (DFE) in the SerDes receiver.

22. A system for data sampler drift compensation in a Serializer/Deserializer (SerDes) receiver, the system comprising:

a speculative Decision Feedback Equalizer (DFE) of a SerDes receiver, the speculative DFE comprising a plurality of data sampler pairs and a data sampler selector coupled to each of the plurality of data sampler pairs; and

a drift compensation engine coupled to the SerDes receiver, the drift compensation engine to receive off-data values from the data sampler selectors and to provide a drift compensation value to each data sampler of the plurality of data sampler pairs of the DFE, wherein the drift compensation value is based upon the speculative data values received from the data sampler selectors;

the SerDes receiver to adjust a sampling voltage of each of the data samplers of the plurality of data sampler pairs of the DFE based upon the drift compensation value from the drift compensation engine.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0335 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059357/0823 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059264/0384 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 058214/0625 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058214/0380 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 058214/0238 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2020
From: GRAUMANN, PETER JOHN WALDEMAR
To: MICROCHIP TECHNOLOGY INC.
Reel/Frame 053788/0798 →