Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
290 words
A memory controller for reading data from a memory bank containing an amount of synchronous random access memory including at least one memory module, the memory controller comprising: a system clock driver connected to the memory bank to receive a system clock signal and provide a clock reference signal to the memory bank in response thereto, said clock reference signal having a frequency matching the system clock signal; a command driver connected to the memory bank to receive Read command signals and initiate a Read operation in the memory bank by providing the Read command signals to the memory bank in accordance with timing provided by the system clock signal; a sampling clock circuit to receive the system clock signal and duplicate the system clock signal to generate multiple sampling clock signals, each of said sampling clock signals exhibiting a different phase characteristic; a clock selector having an output line, the clock selector connected to the sampling clock circuit to select one of the sampling clock signals in response to a signal indicating an amount of memory present in the memory bank, and to provide the selected sampling clock signal to the output line; a delay module connected to the output line to provide a delayed clock signal comprising the selected clock signal delayed by a predetermined period of time; and a clocked latch electrically connected to the memory bank and the delay module, said clocked latch receiving the Read command signals, receiving Read data signals from the memory bank, and also receiving the delayed clock signal from the delay module, said clocked latch operating to latch said Read data signals in response to receipt of the Read command signals in accordance with timing provided by the delayed clock signal.
Claim 2
Dependent Claim
290 words
A memory controller for reading data from a memory bank containing an amount of synchronous random access memory including at least one memory module, the memory controller comprising: a system clock driver connected to the memory bank to receive a system clock signal and provide a clock reference signal to the memory bank in response thereto, said clock reference signal having a frequency matching the system clock signal; a command driver connected to the memory bank to receive Read command signals and initiate a Read operation in the memory bank by providing the Read command signals to the memory bank in accordance with timing provided by the system clock signal; a sampling clock circuit to receive the system clock signal and duplicate the system clock signal to generate multiple sampling clock signals, each of said sampling clock signals exhibiting a different phase characteristic; a clock selector having an output line, the clock selector connected to the sampling clock circuit to select one of the sampling clock signals in response to a signal indicating an amount of memory present in the memory bank, and to provide the selected sampling clock signal to the output line; a delay module connected to the output line to provide a delayed clock signal comprising the selected clock signal delayed by a predetermined period of time; and a clocked latch electrically connected to the memory bank and the delay module, said clocked latch receiving the Read command signals, receiving Read data signals from the memory bank, and also receiving the delayed clock signal from the delay module, said clocked latch operating to latch said Read data signals in response to receipt of the Read command signals in accordance with timing provided by the delayed clock signal.
Claim 3
Dependent Claim
44 words
The memory controller of claim 1, wherein the command driver includes an inverter to invert the system clock signal such that the command driver provides the Read command signals to the memory bank in accordance with timing provided by the inverted system clock signal.
Claim 4
Dependent Claim
33 words
The memory controller of claim 1, wherein the clocked latch comprises a circuit to selectively latch the Read data signals in response to timing provided a rising edge of the delayed clock signal.
Claim 5
Dependent Claim
13 words
The memory controller of claim 1, wherein the clock selector comprises a multiplexer.
Claim 6
Dependent Claim
28 words
The memory controller of claim 1, wherein the delay module includes a second clock driver having a delay substantially equal to any delay of the system clock driver.
Claim 7
Dependent Claim
45 words
The memory controller of claim 5, wherein the delay module further includes a supplementary delay unit to add a predetermined delay to the delay provided by the second clock driver, wherein the supplementary delay unit is electrically connected in series with the second clock driver.
Claim 8
Dependent Claim
24 words
The memory controller of claim 6, wherein the supplementary delay unit comprises a fixed value delay circuit to provide a predetermined length of delay.
Claim 9
Dependent Claim
24 words
The memory controller of claim 6, wherein the supplementary delay unit comprises a predetermined length of signal line affixed to a printed circuit board.
Claim 10
Dependent Claim
18 words
The memory controller of claim 1, wherein the memory controller is contained on an application specific integrated circuit.
Claim 11
Dependent Claim
52 words
The memory controller of claim 9, wherein the delay module further includes a second clock driver having a delay substantially equal to any delay of the system clock driver, and a supplementary delay unit located externally to the application specific integrated circuit and electrically connected in series with the second clock driver.
Claim 12
Dependent Claim
34 words
The memory controller of claim 1, further comprising means for determining an amount of memory present in the memory bank and generating the signal indicating the amount of memory present in the memory bank.
Claim 13
Dependent Claim
232 words
A memory controller to read data from a memory bank that includes a specified number of synchronous random access memory modules, where said memory modules provide Read data during a data valid window occurring after a selected delay following receipt of Read command signals, said delay being dependent upon the number of memory modules present in the memory bank, said memory controller comprising: a system clock driver connected to the memory bank to receive a system clock signal and provide a clock reference signal to the memory bank in response thereto, said clock reference signal having a frequency matching the system clock signal; a command driver connected to the memory bank to receive Read command signals and initiate a Read operation in the memory bank for providing the Read command signals to the memory bank in accordance with timing provided by the system clock signal; a clocked latch connected to the memory modules to receive Read data signals output by the memory bank and provide a latched output of said Read data signals, wherein said clocked latch is selectively activated in response to receipt of the Read command signals in accordance with timing provided by a timing signal received on a latch input line; and delay circuitry to generate a timing signal and provide the timing signal to the latch input line to activate the clocked latch during the data valid window.
Claim 14
Dependent Claim
232 words
A memory controller to read data from a memory bank that includes a specified number of synchronous random access memory modules, where said memory modules provide Read data during a data valid window occurring after a selected delay following receipt of Read command signals, said delay being dependent upon the number of memory modules present in the memory bank, said memory controller comprising: a system clock driver connected to the memory bank to receive a system clock signal and provide a clock reference signal to the memory bank in response thereto, said clock reference signal having a frequency matching the system clock signal; a command driver connected to the memory bank to receive Read command signals and initiate a Read operation in the memory bank for providing the Read command signals to the memory bank in accordance with timing provided by the system clock signal; a clocked latch connected to the memory modules to receive Read data signals output by the memory bank and provide a latched output of said Read data signals, wherein said clocked latch is selectively activated in response to receipt of the Read command signals in accordance with timing provided by a timing signal received on a latch input line; and delay circuitry to generate a timing signal and provide the timing signal to the latch input line to activate the clocked latch during the data valid window.
Claim 15
Dependent Claim
33 words
The memory controller of claim 12, further comprising: a first receiver connected between the clocked latch and the delay circuitry; and a second receiver connected between the clocked latch and the memory bank.
Claim 16
Dependent Claim
62 words
The memory controller of claim 12, wherein the delay circuitry includes a multiplexer to select a sampling clock signal among multiple sampling clock signals identical in frequency to the system clock signal, each sampling clock signal exhibiting a different phase characteristic, said selection being made in response to a signal indicative of the number of memory modules present in the memory bank.
Claim 17
Dependent Claim
24 words
The memory controller of claim 14, wherein the delay circuitry further comprises a delay module to introduce a selected delay to the selected signal.
Claim 18
Dependent Claim
28 words
The memory controller of claim 15, wherein the delay circuitry comprises a second clock driver providing a delay substantially equal to any delay of the system clock driver.
Claim 19
Dependent Claim
38 words
The memory controller of claim 14, further comprising means for determining the number of memory modules present in the memory bank and for generating the signal indicative of the number of memory modules present in the memory bank.
Claim 20
Independent Claim
227 words
A method of reading data from a memory bank containing a number of synchronous random access memory modules, wherein said memory modules receive common Read command signals synchronized with a system clock and provide valid Read data during a data valid window occurring a selected delay after the Read command signals are received, said delay being dependent upon a level of memory loading exhibited by the memory bank, said method comprising the steps of: generating multiple clock signals having a predetermined frequency, said clock signals including a system clock signal and multiple sampling clock signals, where each sampling clock signal exhibits a unique phase relationship with respect to the system clock signal; providing the system clock signal to the memory bank via a system clock driver; determining the level of memory loading; in response to the determined level of memory loading, selecting an appropriate one of the sampling clock signals to clock a selectively activated latch during the data valid window of the memory bank; providing Read command signals to the memory bank with a command driver in accordance with the timing provided by the system clock signal; and providing the Read command signals to the latch in accordance with the timing provided by selected sampling clock signal to activate the latch to receive Read data signals output by the memory modules during the data valid window.
Claim 21
Independent Claim
227 words
A method of reading data from a memory bank containing a number of synchronous random access memory modules, wherein said memory modules receive common Read command signals synchronized with a system clock and provide valid Read data during a data valid window occurring a selected delay after the Read command signals are received, said delay being dependent upon a level of memory loading exhibited by the memory bank, said method comprising the steps of: generating multiple clock signals having a predetermined frequency, said clock signals including a system clock signal and multiple sampling clock signals, where each sampling clock signal exhibits a unique phase relationship with respect to the system clock signal; providing the system clock signal to the memory bank via a system clock driver; determining the level of memory loading; in response to the determined level of memory loading, selecting an appropriate one of the sampling clock signals to clock a selectively activated latch during the data valid window of the memory bank; providing Read command signals to the memory bank with a command driver in accordance with the timing provided by the system clock signal; and providing the Read command signals to the latch in accordance with the timing provided by selected sampling clock signal to activate the latch to receive Read data signals output by the memory modules during the data valid window.
Claim 22
Dependent Claim
28 words
The method of claim 18, wherein the Read commands are provided to the memory bank in accordance with timing provided by an inverse of the system clock signal.
Claim 23
Dependent Claim
31 words
The method of claim 18, wherein the step of determining comprises the steps of retrieving system data from a memory, said system data being indicative of the level of memory loading.
Claim 24
Dependent Claim
20 words
The method of claim 20, wherein the system data includes the number of memory modules present in the memory bank.
Claim 25
Dependent Claim
88 words
The method of claim 18, wherein the step of providing the Read command signals further comprises the steps of: operating a second clock driver to provide a delayed output signal comprising the selected clock signal delayed by an amount equal to any delay introduced by the system clock driver in providing the system clock signal to the memory bank; providing the delayed output signal to the latch to latch; and providing the Read command signals to the latch in accordance with timing provided by the delayed output signal.
Claim 26
Dependent Claim
27 words
The method of claim 22, further comprising steps of operating a supplementary delay unit to introduce a predetermined amount of additional delay into the delayed output signal.