IP Library Granted Patent US 9,042,504
Granted Patent B2
US 9,042,504 · App. 14/201,778 · Granted May 26, 2015

Communication channel calibration for drift conditions

Inventors: Frederick A. Ware (Los Altos Hills, CA); Richard E. Perego (Thornton, CO); Craig E. Hampel (Los Altos, CA)
Assignee: Rambus Inc.
H04L7/0016G11C7/04G11C2207/2254H04L7/0091H04L7/033H04L7/10H04L25/0292H04L25/12
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 9,042,504
App. No.
14/201,778
Granted
May 26, 2015
Kind
B2
Abstract

A method and system provides for execution of calibration cycles from time to time during normal operation of the communication channel. A calibration cycle includes de-coupling the normal data source from the transmitter and supplying a calibration pattern in its place. The calibration pattern is received from the communication link using the receiver on the second component. A calibrated value of a parameter of the communication channel is determined in response to the received calibration pattern. The steps involved in calibration cycles can be reordered to account for utilization patterns of the communication channel. For bidirectional links, calibration cycles are executed which include the step of storing received calibration patterns on the second component, and retransmitting such calibration patterns back to the first component for use in adjusting parameters of the channel at first component.

Claims (42)

1. A memory controller integrated circuit, comprising:

a receiver to sample data arriving at the memory controller integrated circuit from a memory device, the receiver to sample the data at a sampling instant;

logic to establish an operational value for the sampling instant, wherein the operational value is established during a calibration phase; and

logic to compensate for drift between the operational value and timing associated with data transmitted by the memory device, and to update the operational value for the sampling instant in response to drift detected subsequent to establishment of the operational value.

2. The memory controller integrated circuit of claim 1 , wherein the logic to establish the operational value includes logic to vary the sampling instant, while the receiver is to sample the data, to responsively identify a data window, and logic to establish the operational value dependent on timing of the data window.

3. The memory controller integrated circuit of claim 2 , wherein:

the logic to establish the operational value includes logic to transmit a symbol pattern to the memory device during the calibration phase;

the receiver is to, during the calibration phase, sample a sequence of values received back from the memory device;

the logic to establish the operational value includes logic is to compare the symbol pattern and the sequence to detect mismatch; and

the logic to vary the sampling instant to identify the data window is to identify the data window dependent on detected mismatch.

4. The memory controller integrated circuit of claim 3 , wherein the logic to establish the operational value includes a pseudorandom bit pattern generator, and where the data pattern comprises a pseudorandom bit pattern of at least 2 7 −1 bits.

5. The memory controller integrated circuit of claim 1 , wherein the logic to establish the operational value for the sampling instant is to detect occurrence of at least one edge, at the receiver, associated with a transition between data values, and to establish the operational value for the sampling instant dependent on timing of the at least one edge.

6. The memory controller integrated circuit of claim 5 , wherein the logic to establish the operational value for the sampling instant is to detect occurrence of two different edges, at the receiver, associated with a data symbol period of data received at the receiver, and to establish the operational value for the sampling instant dependent on timing of each of the two different edges.

7. The memory controller integrated circuit of claim 6 , wherein the logic to establish the operational value for the sample instant is to establish the operational value for the sampling instant at an approximate center point between timing of the two different edges.

8. The memory controller integrated circuit of claim 7 , wherein the logic to compensate for drift and update the operational value includes logic to periodically identify variation in a timing point associated with the data induced by temperature change and to update the operational value to track said variation.

9. A memory controller integrated circuit, comprising:

a receiver to sample data arriving at the memory controller integrated circuit from a memory device, the receiver to sample the data at a sampling instant;

logic to establish an operational value for the sampling instant, wherein the operational value is established during a calibration phase; and

logic to compensate for drift between the operational value and timing associated with data transmitted by the memory device, and to update the operational value for the sampling instant in response to the drift detected after establishment of the operational value;

wherein the logic to establish the operational value is to detect occurrence of at least one edge, at the receiver, associated with a transition between data values received during the calibration phase, and to establish the operational value for the sampling instant dependent on timing of the at least one edge.

10. The memory controller integrated circuit of claim 9 , wherein the logic to compensate for drift and update the operational value includes logic to periodically identify variation in a timing point associated with the data and to update the operational value to track said variation.

11. The memory controller integrated circuit of claim 9 , wherein the logic to establish the operational value for the sampling instant is to detect occurrence of two different edges, at the receiver, associated with a data symbol period of data received at the receiver, and to establish the operational value for the sampling instant dependent on timing of the two different edges.

12. The memory controller integrated circuit of claim 11 , wherein the logic to establish the operational value for the sample instant is to establish the operational value for the sampling instant at an approximate center point between timing of the two different edges.

13. The memory controller integrated circuit of claim 9 , wherein the logic to establish the operational value includes logic to vary the sampling instant, while the receiver is to sample the data, to responsively identify a data window, and logic to establish the operational value dependent on timing of the data window.

14. The memory controller integrated circuit of claim 13 , wherein:

the logic to establish the operational value includes logic to transmit a symbol pattern to the memory device during the calibration phase;

the receiver is to, during the calibration phase, sample a sequence of values received back from the memory device;

the logic to establish the operational value includes logic is to compare the symbol pattern and the sequence to detect mismatch; and

the logic to vary the sampling instant to identify the data window is to identify the data window dependent on detected mismatch.

15. The memory controller integrated circuit of claim 13 , wherein the logic to establish the operational value includes a pseudorandom bit pattern generator, and where the symbols comprise a pseudorandom bit pattern of at least 2 7 −1 bits.

16. A method of operating a memory controller integrated circuit, comprising:

sampling data arriving at the memory controller integrated circuit from a memory device according to sampling instant;

establishing an operational value for the sampling instant, wherein the operational value is established during a calibration phase; and

compensating for drift between the operational value and timing associated with data transmitted by the memory device, and updating the operational value for the sampling instant in response to drift detected subsequent to establishment of the operational value.

17. The method of claim 16 , wherein establishing the operational value includes varying the sampling instant, while sampling the data, to responsively identify a data window, and establishing the operational value dependent on timing of the data window.

18. The method of claim 17 , wherein:

establishing the operational value includes transmitting a symbol pattern to the memory device during the calibration phase;

sampling, during the calibration phase, a sequence of values received back from the memory device;

establishing the operational value includes comparing the symbol pattern and the sequence to detect mismatch; and

identifying the data window is to identify the data window dependent on detected mismatch.

19. The method of claim 16 , wherein establishing the operational value for the sampling instant includes detecting occurrence of at least one edge, at the memory controller integrated circuit, associated with a transition between data values, and establishing the operational value for the sampling instant dependent on timing of the at least one edge.

20. The method of claim 16 , wherein compensating for drift and updating the operational value includes periodically identifying variation in a timing point associated with the data induced by temperature change and to updating the operational value to track said variation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2023
From: RAMBUS INC.
To: K.MIZRA LLC
Reel/Frame 065229/0338 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2014
From: WARE, FREDERICK A.; PEREGO, RICHARD E.; HAMPEL, CRAIG E.
To: RAMBUS INC.
Reel/Frame 032385/0538 →
Continuity (6)
Continuation 13846413 · Mar 18, 2013
Continuation 13409534 · Mar 1, 2012
Continuation 11754102 · May 25, 2007
Continuation 11459294 · Jul 21, 2006
Continuation 10766765 · Jan 28, 2004
Related Publication 20140192940A1 · Jul 10, 2014