IP Library Granted Patent US 7,555,085
Granted Patent B1
US 7,555,085 · App. 11/209,947 · Granted Jun 30, 2009

CDR algorithms for improved high speed IO performance

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 7,555,085
App. No.
11/209,947
Granted
Jun 30, 2009
Kind
B1
Abstract

A data receiver system. The system includes a clock generator configured to output a reference clock and circuitry configured to measure a direction of a phase difference between an input data stream and the reference clock. The circuitry is further configured to increment a counter if the phase difference is in a first direction, decrement the counter if the phase difference is in a direction opposite to the first direction, and convey a phase correction signal to the clock generator if an output value of the counter meets or exceeds a threshold. The clock generator is configured to adjust the phase of the reference clock in response to receiving the phase correction signal.

Claims (59)

1. A data receiver comprising:

a clock generator configured to output a reference clock; and

circuitry configured to:

measure a direction of a phase difference between an input data stream and the reference clock;

increment a counter if the phase difference is in a first direction;

decrement the counter if the phase difference is in a direction opposite to the first direction;

convey a phase correction signal to the clock generator if a value of the counter meets or exceeds a threshold; and

disable the counter for a pre-determined number of cycles of the reference clock in response to a change in the phase correction signal;

wherein the clock generator is configured to adjust the phase of the reference clock in response to receiving the phase correction signal.

2. The data receiver of claim 1 , further comprising a programmable first storage device configured to hold a threshold value, wherein the counter is configured to store a signed count, and wherein the circuitry is configured to:

convey the phase correction signal to the clock generator with a first polarity if the signed count is positive and the magnitude of the signed count meets or exceeds the threshold value; and

convey the phase correction signal to the clock generator with a polarity opposite to the first polarity if the signed count is negative and the magnitude of the signed count meets or exceeds the threshold value.

3. The data receiver of claim 1 , further comprising a register configured to sample the input data once per cycle of the reference clock at a predetermined phase offset with respect to each reference clock cycle.

4. The data receiver of claim 1 , wherein the input data stream comprises data clocked by a spread spectrum clock.

5. The data receiver of claim 2 ,

wherein the circuitry is configured to measure the direction of the phase difference between the input data stream and the reference clock by sampling the input data stream; and

wherein the phase correction signal causes the clock generator to:

advance the phase of the reference clock if the input data stream is early compared to the reference clock; and

delay the phase of the reference clock if the input data stream is late compared to the reference clock.

6. The data receiver of claim 1 , wherein the number of cycles of the reference clock corresponds to a configurable value stored in a programmable second storage device within the circuitry.

7. The data receiver of claim 1 , wherein the data receiver is fabricated into a serial communications integrated circuit.

8. A method of recovering a clock and data from an input data stream, the method comprising:

a clock generator generating a reference clock;

measuring a direction of a phase difference between the input data stream and the reference clock;

generating a phase error signal indicative of the direction of the phase difference between the input data stream and the reference clock;

incrementing a counter if the phase error signal indicates a phase difference in a first direction;

decrementing the counter if the phase error signal indicates a phase difference in a direction opposite to the first direction;

conveying a phase correction signal to the clock generator if a value of the counter meets or exceeds a threshold;

the clock generator adjusting the phase of the reference clock in response to receiving the phase correction signal; and

disabling the counter for a pre-determined number of cycles of the reference clock in response to a change in the phase correction signal.

9. The method of claim 8 , further comprising sampling the input data at a pre-determined phase offset within a cycle of the reference clock.

10. The method of claim 8 , wherein the input data stream comprises data clocked by a spread spectrum clock.

11. The method of claim 8 , wherein the counter produces a signed count, the method further comprising:

storing a threshold value in a programmable first storage device;

conveying a phase correction signal to the clock generator with a first polarity if the signed count is positive and magnitude of the signed count meets or exceeds the threshold value; and

conveying a phase correction signal to the clock generator with a polarity opposite to the first polarity if the signed count is negative and the magnitude of the signed count meets or exceeds the threshold value.

12. The method of claim 8 , wherein the pre-determined number of cycles of the reference clock corresponds to a configurable value stored in a programmable second storage device.

13. A system comprising:

a transmitter configured to transmit source-synchronous data;

a receiver configured to receive the source-synchronous data, the receiver comprising:

a clock generator configured to output a reference clock;

circuitry configured to:

measure a direction of a phase difference between an input data stream and the reference clock;

increment a counter if the phase difference is in a first direction;

decrement the counter if the phase difference is in a direction opposite to the first direction;

convey a phase correction signal to the clock generator if a value of the counter meets or exceeds either a threshold; and

disable the counter for a pre-determined number of cycles of the reference clock in response to a change in the phase correction signal;

wherein the clock generator is configured to adjust the phase of the reference clock in response to receiving the phase correction signal.

14. The system of claim 13 , further comprising a programmable first storage device configured to hold a threshold value, wherein the counter is configured to produce a signed count, and wherein the circuitry is configured to:

convey the phase correction signal to the clock generator with a first polarity if the signed count is positive and the magnitude of the signed count meets or exceeds the threshold value; and

convey the phase correction signal to the clock generator with a polarity opposite to the first polarity if the signed count is negative and the magnitude of the signed count meets or exceeds the threshold value.

15. The system of claim 13 , further comprising a register configured to sample the input data once per cycle of the reference clock at a pre-determined phase offset with respect to each reference clock cycle.

16. The system of claim 13 , wherein the input data stream comprises data clocked by a spread spectrum clock.

17. The system of claim 14 ,

wherein the circuitry is configured to measure the direction of the phase difference between the input data stream and the reference clock by sampling the input data stream; and

wherein the phase correction signal causes the clock generator to:

advance the phase of the reference clock if the input data stream is early compared to the reference clock; and

delay the phase of the reference clock if the input data stream is late compared to the reference clock.

18. The system of claim 13 , wherein the number of cycles of the reference clock corresponds to a configurable value stored in a programmable second storage device within the circuitry.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037304/0183 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2005
From: RISK, GABRIEL C.; MALUR, NAVEEN G.; BAU, JASON H.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 016919/0840 →