US6137734A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Computer memory interface having a memory controller that automatically adjusts the timing of memory interface signals
Assignee: Avago Technologies International Sales Pte Ltd
•
Filing: 1999-03-30
•
Granted: 2000-10-24
•
Expires: 2019-03-30
Abstract
Abstract A memory controller features programmable delay buffers that allow the memory interface signals to be automatically adjusted. By fine tuning the delay values, the memory controller can compensate for impedance characteristics that affect the memory interface timing. The memory controller includes a built-in self test mode, in which it runs a series of memory tests using a plurality of different delay combinations for the delay buffers. After running the built-in self test, the memory controller programs the delay buffers to values which allow the memory transactions to occur without errors, ensuring optimal memory interface timing.
Inventors
- 👤 Brian F. Schoner
- 👤 Arvind B. Patwardhan
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-28 03:38
CPC Classifications
G; G11; G11C; G11C29/00; G11C29/02; G11C29/028; G11C29/04; G11C29/50; G11C29/50012; G11C29/56; G11C11/00; G11C11/21; G11C11/34; G11C11/40; G11C11/401
Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
101 words
A memory controller capable of interfacing with a memory device, wherein the controller comprises: a test unit that transmits address, control, and data write signals and receives data read signals; a transmit delay buffer that delays one of the control, address, and data write signals; a synchronous register that receives one of the data read signals; a receive buffer that delays said one of the data read signals by delaying a clock input to said synchronous register; and wherein said test unit controls the timing of the memory interface by adjusting the delays of said transmit buffer and said receive buffer.
Claim 2
Dependent Claim
101 words
A memory controller capable of interfacing with a memory device, wherein the controller comprises: a test unit that transmits address, control, and data write signals and receives data read signals; a transmit delay buffer that delays one of the control, address, and data write signals; a synchronous register that receives one of the data read signals; a receive buffer that delays said one of the data read signals by delaying a clock input to said synchronous register; and wherein said test unit controls the timing of the memory interface by adjusting the delays of said transmit buffer and said receive buffer.
Claim 3
Dependent Claim
43 words
The memory controller as in claim 1, wherein said test unit performs a memory test comprising a series of memory transactions, and sets the delays of said transmit delay buffer and said receive delay buffer based on the outcome of said memory test.
Claim 4
Dependent Claim
89 words
The memory controller as in claim 2 wherein said test unit comprises: a test controller that provides the address and control signals and that programs said transmit delay buffer and said receive delay buffer, wherein said test controller is capable of initiating memory transactions; a pass register coupled to said test controller and configured to record the outcome of the memory test; and wherein said test controller determines the delay settings of said transmit delay buffer and said receive delay buffer according to the value of said pass register.
Claim 5
Dependent Claim
75 words
The memory controller as in claim 3, further including: a pattern register coupled to said test controller and configured to hold data to be written to a memory device via the data write signals; and a pass logic unit coupled to said pass register and configured to determine if the data read signals match the data in said pattern register, wherein said pass logic records the outcome of the memory test into said pass register.
Claim 6
Dependent Claim
75 words
The memory controller as in claim 4 wherein said test controller performs memory tests using different delay settings of said transmit delay buffer and said receive delay buffer, said pass register records the outcome of the memory tests, and wherein said test controller adjusts the delays of said transmit delay buffer and said receive delay buffer by searching said pass register to determine which delay settings resulted in no memory errors during the memory tests.
Claim 7
Dependent Claim
26 words
The memory controller as in claim 5, wherein the test unit is capable of optimizing the delay settings at the instruction of a host computer system.
Claim 8
Dependent Claim
78 words
A memory controller capable of transmitting and receiving memory interface signals, comprising: a memory test unit that transmits and receives memory interface signals; and a programmable delay buffer that delays one of the memory interface signals, wherein said memory test unit performs memory tests using a plurality of different delay settings for said programmable buffer, detects which delay settings cause memory transaction errors, and automatically determines an optimal delay setting based on the outcome of the memory tests.
Claim 9
Dependent Claim
78 words
A memory controller capable of transmitting and receiving memory interface signals, comprising: a memory test unit that transmits and receives memory interface signals; and a programmable delay buffer that delays one of the memory interface signals, wherein said memory test unit performs memory tests using a plurality of different delay settings for said programmable buffer, detects which delay settings cause memory transaction errors, and automatically determines an optimal delay setting based on the outcome of the memory tests.
Claim 10
Dependent Claim
190 words
A memory controller capable of transmitting and receiving memory interface signals, comprising: a memory test unit that transmits and receives memory interface signals; and a programmable delay buffer that delays one of the memory interface signals, wherein said memory test unit performs memory tests using a plurality of different delay settings for said programmable buffer, detects which delay settings cause memory transaction errors, and automatically determines an optimal delay setting based on the outcome of the memory tests, and wherein said memory test unit comprises: a test control logic that performs memory tests via the memory interface signals, said test control logic further capable of adjusting the delay of said programmable buffer; a sticky register coupled to said test control logic and which comprises a flag bit associated with a predetermined delay setting of said programmable buffer, wherein said test control logic deasserts the flag bit if a memory test using the predetermined delay setting for said programmable buffer is successful; and wherein said test control logic sets the delay of said programmable buffer to the predetermined delay setting only if the flag bit is deasserted following a memory test.
Claim 11
Dependent Claim
190 words
A memory controller capable of transmitting and receiving memory interface signals, comprising: a memory test unit that transmits and receives memory interface signals; and a programmable delay buffer that delays one of the memory interface signals, wherein said memory test unit performs memory tests using a plurality of different delay settings for said programmable buffer, detects which delay settings cause memory transaction errors, and automatically determines an optimal delay setting based on the outcome of the memory tests, and wherein said memory test unit comprises: a test control logic that performs memory tests via the memory interface signals, said test control logic further capable of adjusting the delay of said programmable buffer; a sticky register coupled to said test control logic and which comprises a flag bit associated with a predetermined delay setting of said programmable buffer, wherein said test control logic deasserts the flag bit if a memory test using the predetermined delay setting for said programmable buffer is successful; and wherein said test control logic sets the delay of said programmable buffer to the predetermined delay setting only if the flag bit is deasserted following a memory test.
Claim 12
Dependent Claim
64 words
The memory controller of claim 8 wherein said memory test unit further includes: a pattern register coupled to said test unit and which holds memory write data; a pass logic unit coupled to said pattern register and which receives memory read data; and wherein said pass logic unit deasserts the flag bit if the memory read data matches the contents of said pattern register.
Claim 13
Dependent Claim
25 words
The memory controller of claim 9 wherein said memory controller is capable of receiving run instructions from a host computer to initiate a memory test.
Claim 14
Dependent Claim
147 words
The memory controller of claim 9 wherein: said memory controller comprises a plurality of programmable buffers that delay the memory interface signals; said sticky register further includes a plurality of flag bits, each of said plurality of flag bits associated with a particular combination of delay settings of said plurality of programmable buffers; said memory test unit performs memory tests using different combinations of delay settings of said plurality of programmable buffers, wherein the success of each memory test is stored in said sticky register by asserting one of said plurality of flag bits if a memory test fails; and wherein said memory test unit locates one of said plurality of flag bits that is deasserted and adjusts the delay settings of said plurality of programmable buffers according to the combination of delay settings associated with said one of said plurality of flag bits that is deasserted.
Claim 15
Independent Claim
61 words
A method for adjusting the timing of a memory interface, comprising: (a) using programmable delay buffers to delay memory interface signals; (b) performing memory transactions using a plurality of different delay values; (c) detecting memory transaction errors during (b); (d) determining which delay values were used when the memory transaction errors occurred; and (e) adjusting the delay buffers based on (d).
Claim 16
Independent Claim
61 words
A method for adjusting the timing of a memory interface, comprising: (a) using programmable delay buffers to delay memory interface signals; (b) performing memory transactions using a plurality of different delay values; (c) detecting memory transaction errors during (b); (d) determining which delay values were used when the memory transaction errors occurred; and (e) adjusting the delay buffers based on (d).
Claim 17
Dependent Claim
16 words
A The method of claim 12 wherein (c) includes asserting register bits to record memory errors.
Claim 18
Dependent Claim
49 words
The method of claim 13 wherein each of said register bits represents a set of delay values, and wherein (d) includes: searching for a register bit that is not asserted; and setting the programmable delay buffers to the delay values indicated by said register bit that is not asserted.
Claim 19
Independent Claim
44 words
A method for optimizing the timing of a memory interface, comprising: (a) setting the delays of memory interface signals; (b) performing a memory test; and (c) automatically programming delays of the memory interface signals to delay settings that allow the memory test to pass.
Claim 20
Independent Claim
44 words
A method for optimizing the timing of a memory interface, comprising: (a) setting the delays of memory interface signals; (b) performing a memory test; and (c) automatically programming delays of the memory interface signals to delay settings that allow the memory test to pass.
Claim 21
Dependent Claim
18 words
The method of claim 15 including performing a memory test for each of a plurality of delay settings.
Claim 22
Dependent Claim
27 words
The method of claim 16 including asserting a register bit associated with a particular delay setting if the memory test fails when using said particular delay setting.
Claim 23
Dependent Claim
37 words
The method of claim 17 including finding a register bit that is not asserted and programming the delays of the memory interface signals according to the delay settings associated with said register bit that is not asserted.
Claim 24
Dependent Claim
50 words
The method of claim 18 including using a first buffer to delay a signal transmitted to a memory device and a second buffer to delay signals received from a memory device, and wherein each register bit corresponds to a distinct combination of delays associated with the first and second buffers.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-10-24 | 2004-04-24 | 2004-10-24 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-10-24 | 2008-04-24 | 2008-10-24 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-10-24 | 2012-04-24 | 2012-10-24 | $7700.00 | Window Closed / Lapsed |