System and method for using a learning sequence to establish communications on a high-speed nonsynchronous interface in the absence of clock forwarding
First Claim
1. A data receiver to receive data at a data bus port, the data receiver comprising:
- a clock generator generating a receive clock signal, the clock generator including a phase adjust input to adjust the phase of the receive clock signal responsive to a phase adjust signal applied to the phase adjust input;
an expected pattern memory storing an expected data pattern;
a receive capture buffer coupled to the data bus port, the receive capture buffer being operable responsive to the receive clock signal to capture data coupled to the data bus port, including a plurality of sequentially received data patterns;
a pattern comparator coupled to the receive capture buffer and to the expected pattern memory, the pattern comparator being operable to compare the captured data patterns to the expected data pattern stored in the expected pattern memory and to generate a results signal indicative of the results of each of the comparisons;
phase adjustment logic coupled to the receive clock generator and to the pattern comparator to receive the results signal from the pattern comparator, the phase adjustment logic being operable to output the phase adjust signal; and
a receive interface controller coupled to the pattern comparator and to the phase adjustment logic, the receiver interface controller being operable in an initialization mode to cause the phase adjustment logic to sequentially output a plurality of phase adjust signals to cause the receive clock generator to incrementally alter the phase of the receive clock signal to allow the receive interface controller to determine based on the results signal from the pattern comparator the phases of the receive clock signal that are able to capture received data patterns that match the expected data pattern stored in the expected pattern memory, the receive interface controller further being operable to determine a final value for the phase of the receive clock signal based on the determination of the phases of the receive clock signal that are able to capture received data patterns that match the expected data pattern, the receive interface controller being operable in a normal operating mode to cause the phase adjustment logic to output a phase adjust signal that causes the receive clock generator to set the phase of the receive clock signal to the final phase value.
2 Assignments
0 Petitions
Accused Products
Abstract
A memory system includes a memory hub controller that sends write data to a plurality of memory modules through a downstream data bus and receives read data from the memory modules through an upstream data bus. The memory hub controller includes a receiver coupled to the upstream data bus and a transmitter coupled to the downstream data bus. Similarly, each of the memory modules includes a receiver coupled to the downstream data bus and a transmitter coupled to the upstream data bus. Each receiver includes a receive clock generator that is synchronized by coupling a known pattern of data to the receiver. The receiver determines which phase of the receive clock best captures the known pattern and uses that receive clock phase during normal operation.
552 Citations
57 Claims
-
1. A data receiver to receive data at a data bus port, the data receiver comprising:
-
a clock generator generating a receive clock signal, the clock generator including a phase adjust input to adjust the phase of the receive clock signal responsive to a phase adjust signal applied to the phase adjust input; an expected pattern memory storing an expected data pattern; a receive capture buffer coupled to the data bus port, the receive capture buffer being operable responsive to the receive clock signal to capture data coupled to the data bus port, including a plurality of sequentially received data patterns; a pattern comparator coupled to the receive capture buffer and to the expected pattern memory, the pattern comparator being operable to compare the captured data patterns to the expected data pattern stored in the expected pattern memory and to generate a results signal indicative of the results of each of the comparisons; phase adjustment logic coupled to the receive clock generator and to the pattern comparator to receive the results signal from the pattern comparator, the phase adjustment logic being operable to output the phase adjust signal; and a receive interface controller coupled to the pattern comparator and to the phase adjustment logic, the receiver interface controller being operable in an initialization mode to cause the phase adjustment logic to sequentially output a plurality of phase adjust signals to cause the receive clock generator to incrementally alter the phase of the receive clock signal to allow the receive interface controller to determine based on the results signal from the pattern comparator the phases of the receive clock signal that are able to capture received data patterns that match the expected data pattern stored in the expected pattern memory, the receive interface controller further being operable to determine a final value for the phase of the receive clock signal based on the determination of the phases of the receive clock signal that are able to capture received data patterns that match the expected data pattern, the receive interface controller being operable in a normal operating mode to cause the phase adjustment logic to output a phase adjust signal that causes the receive clock generator to set the phase of the receive clock signal to the final phase value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A memory module, comprising:
-
a receiver coupled to a downstream data bus port, the receiver being operable to capture data coupled to the downstream data bus port, including a plurality of sequentially received data patterns, responsive to a receive clock signal, the receiver being operable in an initialization mode to incrementally alter the phase of the receive clock signal to determine the phases of the receive clock signal that are able to capture received data patterns that match a first predetermined data pattern, the receiver further being operable in the initialization mode to determine a final value for the phase of the receive clock signal based on the determination of the phases of the receive clock signal that are able to capture received data patterns that match the first predetermined data pattern, the receiver further being operable to set the phase of the receive clock signal to the final phase value; a transmitter coupled to an upstream data bus port, the transmitter being operable in the initialization mode to generate a second predetermined data pattern and to repeatedly couple the generated data pattern to the upstream data bus port; a plurality of memory devices; and a memory hub coupled to the transmitter and the receiver, the memory hub comprising; a bus interface coupled to the receiver and the transmitter, the bus interface being operable to receive write data from the receiver and to couple read data to the transmitter; and a memory device interface coupled to the bus interface and the memory devices, the memory device interface transmitting the write data to the memory devices and coupling the read data from the memory devices. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A memory system, comprising:
-
a first upstream data bus; a first downstream data bus; a memory hub controller, comprising; a receiver coupled to the first upstream data bus, the receiver being operable to capture data applied to the first upstream data bus, including a plurality of sequentially received data patterns, responsive to a receive clock signal, the receiver being operable in an initialization mode to incrementally alter the phase of the receive clock signal to determine the phases of the receive clock signal that are able to capture received data patterns that match a first data pattern, the receiver further being operable in the initialization mode to determine a final value for the phase of the receive clock signal based on the determination of the phases of the receive clock signal that are able to capture received data patterns that match the first data pattern, the receiver further being operable to set the phase of the receive clock signal to the final phase value; a transmitter coupled to the first downstream data bus, the transmitter being operable in the initialization mode to generate a second data pattern and to repeatedly couple the generated data pattern to the first downstream data bus; a memory module comprising; a receiver coupled to the first downstream data bus, the receiver being operable to capture data applied to the first downstream data bus, including a plurality of sequentially received data patterns, responsive to a receive clock signal, the receiver being operable in an initialization mode to incrementally alter the phase of the receive clock signal to determine the phases of the receive clock signal that are able to capture received data patterns that match the second data pattern, the receiver further being operable in the initialization mode to determine a final value for the phase of the receive clock signal based on the determination of the phases of the receive clock signal that are able to capture received data patterns that match the second data pattern, the receiver further being operable to set the phase of the receive clock signal to the final phase value; a transmitter coupled to the first upstream data bus, the transmitter being operable in the initialization mode to generate the first data pattern and to repeatedly couple the generated data pattern to the first upstream data bus; a plurality of memory devices; and a memory hub coupled to the transmitter in the memory module and the receiver in the memory module, the memory hub comprising; a bus interface coupled to the receiver in the memory module and the transmitter in the memory module, the bus interface being operable to receive write data from the receiver in the memory module and to couple read data to the transmitter in the memory module; and a memory device interface coupled to the bus interface and the memory devices, the memory device interface transmitting the write data to the memory devices and receiving the read data from the memory devices. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A processor-based system, comprising:
-
a processor having a processor bus; a system controller coupled to the processor bus, the system controller having a peripheral device port; at least one input device coupled to the peripheral device port of the system controller; at least one output device coupled to the peripheral device port of the system controller; at least one data storage device coupled to the peripheral device port of the system controller; and a first upstream data bus; a first downstream data bus; a memory hub controller coupled to the processor bus, the memory hub controller comprising; a receiver coupled to the first upstream data bus, the receiver being operable to capture data applied to the first upstream data bus, including a plurality of sequentially received data patterns, responsive to a receive clock signal, the receiver being operable in an initialization mode to incrementally alter the phase of the receive clock signal to determine the phases of the receive clock signal that are able to capture received data patterns that match a first data pattern, the receiver further being operable in the initialization mode to determine a final value for the phase of the receive clock signal based on the determination of the phases of the receive clock signal that are able to capture received data patterns that match the first data pattern, the receiver further being operable to set the phase of the receive clock signal to the final phase value; a transmitter coupled to the first downstream data bus, the transmitter being operable in the initialization mode to generate a second data pattern and to repeatedly couple the generated data pattern to the first downstream data bus; and a memory module, comprising; a receiver coupled to the first downstream data bus, the receiver being operable to capture data applied to the first downstream data bus, including a plurality of sequentially received data patterns, responsive to a receive clock signal, the receiver being operable in an initialization mode to incrementally alter the phase of the receive clock signal to determine the phases of the receive clock signal that are able to capture received data patterns that match the second data pattern, the receiver further being operable in the initialization mode to determine a final value for the phase of the receive clock signal based on the determination of the phases of the receive clock signal that are able to capture received data patterns that match the second data pattern, the receiver further being operable to set the phase of the receive clock signal to the final phase value; a transmitter coupled to the first upstream data bus, the transmitter being operable in the initialization mode to generate the first data pattern and to repeatedly couple the generated data pattern to the first upstream data bus; a plurality of memory devices; and a memory hub coupled to the transmitter in the memory module and the receiver in the memory module, the memory hub comprising; a bus interface coupled to the receiver in the memory module and the transmitter in the memory module, the bus interface being operable to receive write data from the receiver and to couple read data to the transmitter; and a memory device interface coupled to the bus interface and the memory devices, the memory device interface transmitting the write data to the memory devices and receiving the read data from the memory devices. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
-
53. A method of capturing data in a memory system component, comprising:
-
coupling data to the memory system component, including repeatedly coupling an expected data pattern to the memory system component; attempting to capture the data applied to the memory system component responsive to transitions of a receive clock signal; incrementally altering the phase of the receive clock signal to determine the phases of the receive clock signal that are able to capture received data patterns that match the expected data pattern; determining a final value for the phase of the receive clock signal based on the determination of the phases of the receive clock signal that are able to capture received data patterns that match the expected data pattern; and using the final value of the phase of the receive clock signal to capture data applied to the memory system component. - View Dependent Claims (54, 55, 56, 57)
-
Specification