Patent ID: 6847789

Claim:
A method of recovering data from a data signal comprising: receiving the data signal having a first data rate; receiving clock signal having a first clock frequency, and alternating between a first level and a second level; generating a first signal by passing the data signal when the clock signal is at the first level, and storing the data signal when the clock signal is at the second level; generating a second signal by passing the data signal when the clock signal is at the second level, and storing the data signal when the clock signal is at the first level; generating a third signal by passing the first signal when the clock signal is at the second level, and storing the first signal when the clock signal is at the first level; generating a fourth signal by passing the second signal when the clock signal is at the first level, and storing the second signal when the clock signal is at the second level; generating an error signal by taking an exclusive-OR of the first signal and the second signal; and generating a reference signal by taking an exclusive-OR of the third signal and the fourth signal, wherein the first data rate is twice the first clock frequency.