System and method for on-board timing margin testing of memory modules
First Claim
1. A memory module, comprising:
- a plurality of memory devices; and
a memory hub, comprising;
a link interface for receiving memory requests for access to at least one of the memory devices;
a self-test module coupled to the at least one memory device, the self-test module operable to generate a test signal based on a test parameter, the self-test module operable to transmit the test signal to the at least one of memory devices, receive a responsive signal from the at least one memory device, and determine a test result indicative of whether the at least one memory device responded correctly to the test signal, the self-test module comprising a maintenance bus interface operable to receive the test parameter and transmit the test result; and
a first bus coupled between the memory module and the at least one memory device.
1 Assignment
0 Petitions
Accused Products
Abstract
A memory module includes several memory devices coupled to a memory hub. The memory hub includes several link interfaces coupled to respective processors, several memory controller coupled to respective memory devices, a cross-bar switch coupling any of the link interfaces to any of the memory controllers, a write buffer and read cache for each memory device and a self-test module. The self-test module includes a pattern generator producing write data having a predetermined pattern, and a flip-flop having a data input receiving the write data. A clock input of the flip-flop receives an internal clock signal from a delay line that receives a variable frequency clock generator. Read data are coupled from the memory devices and their pattern compared to the write data pattern. The delay of the delay line and frequency of the clock signal can be varied to test the speed margins of the memory devices.
-
Citations
46 Claims
-
1. A memory module, comprising:
-
a plurality of memory devices; and a memory hub, comprising; a link interface for receiving memory requests for access to at least one of the memory devices; a self-test module coupled to the at least one memory device, the self-test module operable to generate a test signal based on a test parameter, the self-test module operable to transmit the test signal to the at least one of memory devices, receive a responsive signal from the at least one memory device, and determine a test result indicative of whether the at least one memory device responded correctly to the test signal, the self-test module comprising a maintenance bus interface operable to receive the test parameter and transmit the test result; and a first bus coupled between the memory module and the at least one memory device. - View Dependent Claims (2, 3)
-
-
4. A memory module comprising:
-
a plurality of memory devices; and a memory hub, comprising; a link interface for receiving memory requests for access to at least one of the memory devices; a self-test module coupled to the at least one memory device, the self-test module operable to transmit a test signal to the at least one of memory devices, receive a responsive signal from the at least one memory device, and determine a test result indicative of whether the at least one memory device responded correctly to the test signal, the test result comprising a frequency at which the at least one memory device operates correctly; and a first bus coupled between the memory module and the at least one memory device.
-
-
5. A memory module comprising:
-
a plurality of memory devices; and a memory hub, comprising; a link interface for receiving memory requests for access to at least one of the memory devices; a self-test module coupled to the at least one memory device, the self-test module operable to transmit a test signal to the at least one of memory devices, receive a responsive signal from the at least one memory device, and determine a test result indicative of whether the at least one memory device responded correctly to the test signal, the test result comprising a timing skew at which the at least one memory device operates correctly; and a first bus coupled between the memory module and the at least one memory device.
-
-
6. A memory module comprising:
-
a plurality of memory devices; and a memory hub, comprising; a link interface for receiving memory requests for access to at least one of the memory devices; a self-test module coupled to the at least one memory device the self-test module operable to transmit a test signal to the at least one of memory devices, receive a responsive signal from the at least one memory device, and determine a test result indicative of whether the at least one memory device responded correctly to the test signal, wherein the test signal is not carried on a bus other than the first bus; and a first bus coupled between the memory module and the at least one memory device.
-
-
7. A memory module comprising:
-
a plurality of memory devices; and a memory hub, comprising; a link interface for receiving memory requests for access to at least one of the memory devices; a self-test module coupled to the at least one memory device, the self-test module operable to transmit a test signal comprising a series of corresponding first and second signals to the at least one of memory devices, wherein transmitting the test signal comprises coupling the series of corresponding first and second signals to the at least one memory device and altering the relative timing between when some of the corresponding first and second signals in the series are coupled to the at least one memory device, the self-test mode further operable to receive a responsive signal from the at least one memory device, and determine a test result indicative of whether the at least one memory device responded correctly to the test signal; and a first bus coupled between the memory module and the at least one memory device. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A memory module comprising:
-
a plurality of memory devices; and a memory hub comprising; a link interface for receiving memory requests for access to at least one of the memory devices; a clock generator operable to produce and couple to the at least one memory device a clock signal having a frequency; a self-test module coupled to the at least one memory device and the clock generator, the self-test module operable to transmit a test signal to the at least one of memory devices, receive a responsive signal from the at least one memory device, and determine a test result indicative of whether the at least one memory device responded correctly to the test signal, the self-test module being further operable to vary the frequency of the clock signal over a range, the test signal comprising a series of first input signals and the responsive signal comprising a respective series of output signals from the at least one memory device, and the test result comprising an indicator of whether the at least one memory device properly responded to the series of first signals as the frequency of the clock signal is varied; and a first bus coupled between the memory module and the at least one memory device. - View Dependent Claims (16)
-
-
17. A processor-based system, comprising:
-
a processor having a processor bus; a system controller coupled to the processor bus, the system controller having a system memory port and a peripheral device port; and a memory module coupled to the system memory port of the system controller, the memory module comprising; a plurality of memory devices; and a memory hub, comprising; a link interface for receiving memory requests for access to at least one of the memory devices; a self-test module coupled to the at least one memory device, the self-test module operable to transmit a test signal to the at least one of memory devices on a first bus receive a responsive signal from the at least one memory device, and determine a test result indicative of whether the at least one memory device responded correctly to the test signal; and a second bus coupled between the memory hub and the at least one memory device, the second bus being different from the first bus. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for testing in a memory system having a memory hub coupled to a plurality of memory devices, the method comprising:
-
generating testing signals in the memory hub; coupling the testing signals from the memory hub to the memory devices and varying the relative timing between when the test signals are applied to the memory devices; generating output signals in the memory devices resulting from the testing signals; coupling the output signals from the memory devices to the memory hub; and evaluating the output signals in the memory hub to determine if the memory devices properly responded to the test signals. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A method for testing in a memory system having a memory hub coupled to a plurality of memory devices, the method comprising:
-
generating testing signals in the memory hub, wherein the testing signals comprise a clock signal having a variable frequency; altering the frequency of the clock signal; coupling the testing signals from the memory hub to the memory devices responsive to the clock signal; generating output signals in the memory devices resulting from the testing signals; coupling the output signals from the memory devices to the memory hub; and evaluating the output signals in the memory hub to determine if the memory devices properly responded to the test signals.
-
-
43. A memory, comprising:
-
at least one memory device; and a memory hub coupled to the at least one memory device, the memory hub including a self-test module configured to generate a plurality of test signals, transmit the plurality of test signals to the at least one memory device, alter at least one of a timing or a rate at which at least one of the plurality of test signals are transmitted to the at least one memory device relative to the other of the plurality of test signals, receive a plurality of responsive signals from the at least one memory device, and compare the plurality of generated test signals with the plurality of responsive signals to determine whether the at least one memory device is operating properly. - View Dependent Claims (44, 45, 46)
-
Specification