Method and system for writing data to a memory
Methods and systems consistent with this invention write data to a memory. Such methods and systems may generate a clock signal, generate an intermediate clock signal from the clock signal using a clock tree buffer, delay the intermediate clock signal to form a data strobe signal, and write the data to the memory using the data strobe signal and a memory clock signal. Such methods and systems may also delay the intermediate clock signal to form the memory clock signal.
Latest Patents:
This application claims priority to U.S. Provisional Application Nos. 60/368,989 and 60/368,991, both filed Apr. 2, 2002, which are hereby incorporated by reference.
DESCRIPTION OF THE INVENTION FIELDMethods and systems consistent with this invention may relate to writing data to a memory, and in particular may relate to a controller circuit for writing data to a memory.
BACKGROUNDGenerally, a memory controller circuit coordinates writing and reading data to and from a memory. The data may come from a central processing unit (CPU), for example. As the capacity of memory chips increases and CPUs become faster, there is a need for data to be stored and retrieved in memory chips at increasing speeds.
In the example of
One of the challenges of controller circuit 102 is to supply data strobe signal DQS, data signal MD, and clock signal MCLK to memory 104 with precise timing so that the data is properly latched into memory 104 without error. For example, the values of Tds and Tdh may be 0.5 nanoseconds, a very short period of time.
SUMMARYMethods and systems consistent with this invention write data to a memory. Such methods and systems may generate a clock signal, generate an intermediate clock signal from the clock signal using a clock tree buffer, delay the intermediate clock signal to form a data strobe signal, and write the data to the memory using the data strobe signal and a memory clock signal. Such methods and systems may also delay the intermediate clock signal to form the memory clock signal.
It is understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one several embodiments of the invention and together with the description, serve to explain the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Reference will now be made in detail to the present exemplary embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
Using a two-bit programmable input (not shown), multiplexer 304 selects one of the four signals CTS_CLK, CTS_CLKQ, CTS_CLK˜, and CTS_CLKQ˜, which it outputs to a delay circuit 308. Multiplexer 304 provides a “quarter-clock” selection, i.e. ninety degree phase selection, of signal CTS_CLK. In effect, multiplexer 304 provides delaying signal CTS_CLK by a multiple (zero, one, two, three, for example) of a quarter period. Delay circuit 308 may delay the signal further and may output memory clock signal MCLK to a memory. In other words, delay circuit 308 provides fine-tuning of the quarter clock selection. Delay circuit 308, for example, may provide four-bit resolution with a ninety degree range such that between the quarter clock selection of multiplexer 304 and programmable delay 308, the phase of clock signal MCLK may be programmed between zero and 360 degrees.
Signal CTS_CLK at node A is also inverted by an inverter 318 forming a second CTS_CLK˜, which is input to a multiplexer 302. Signal CTS_CLKQ is also inverted by an inverter 320 forming a second CTS_CLKQ˜, which is input into multiplexer 302. Using a two-bit programmable input (not shown), multiplexer 302 selects one of four signals CTS_CLK, CTS_CLKQ, CTS_CLK˜, and CTS_CLKQ˜, which it outputs to an AND gate 328. The purpose of AND gate 328 is described below.
Multiplexer 302 provides a “quarter-clock” selection, i.e. ninety degree phase selection, of signal CTS_CLK. In effect, multiplexer 302 provides delaying signal CTS_CLK by a multiple (zero, one, two, three, for example) of a quarter period. The output of AND gate 328 feeds through delay circuit 306. Delay circuit 306 may delay the signal and may output data strobe signal DQS. Delay circuit 306 provides fine-tuning of the quarter clock selection of multiplexer 302. Delay circuit 306, for example, may provide four-bit resolution with a ninety degree range such that between the quarter clock selection of multiplexer 302 and programmable delay 306, the phase of strobe signal DQS may be programmed between zero and 360 degrees.
As shown in the timing diagram of in
In the embodiment of
In one embodiment of the invention, there are multiple data signals, such as data signal PD, that span multiple data channels between controller 102 and memory 104. For example, there may be 2, 4, 8 16, 32, or 64 data channels and data signals. In this instance, memory 104 may simultaneously latch many data signals into memory. It may be desirable to delay some of the data signals, such as data signal PD, to prevent simultaneous latching that may result it every data channel had the same phase. Delaying some of the data channels, creating different phases, may reduce instantaneous power consumption because not all the switching current is being drawn from the power supply at once. Thus, in this embodiment, flip-flop 316 may use a delayed signal CTS_CLK. Using a two-bit input multiplexer 330, the CTS_CLK may be delayed by zero phase, by a delay circuit 332, by delay circuit 332 and a delay circuit 334, or by delay circuits 332, 334, and a delay circuit 336. A value for the delay time of delay circuits 332, 334, and 336 may be 200 picoseconds, for example.
A user may program the circuit shown in
Table I shows a delay table consistent with this invention for programmable delay circuits such as delay circuits 306 and 308 of
Signal CTS_CLK, shown in
A method and apparatus for reading datafrom a memory is found in U.S. patent application Ser. No. 10/___,___, filed the same day as this application, attorney docket no. 08710.0002-00000, entitled “Method and Apparatus for Reading Data From a Memory,” and is hereby incorporated by reference.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. In the claims an in the specification “a memory,” such as memory 104, may comprise a single memory chip or more than one memory chip. Further, controller 102 and memory 104 may be separate chips or may be on the same chip. Also, the quarter clock selection could be a selection of a fractional period of the clock signal other than a quarter, for example. Further, methods and systems consistent with this invention may generate a plurality of each of (1) clock signals; (2) intermediate clock signals; (2) memory clock signals; (3) data strobe signals; (4)
It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
Claims
1-20. (Canceled)
21. A controller circuit for writing data to a memory, the controller circuit comprising:
- a first data channel to carry data from the controller circuit to the memory;
- a second data channel to carry data from the controller circuit to the memory; and
- a first delay circuit to delay the data in the first data channel so that the data in the first data channel is latched into the memory at a different time than the data in the second data channel.
22. The circuit of claim 21, further comprises a second delay circuit to generate a data strobe signal and a third delay circuit to generate a memory clock signal, wherein the data strobe signal and the memory clock signal are used to latch the data into the memory.
23. The circuit of claim 22, wherein the first delay circuit further comprises a first selecting circuit to select a plurality of data clock signals of different phases as an input clock signal for latching the data into the memory.
24. The circuit of claim 22, wherein the first delay circuit further comprises a second selecting circuit to select at least one of a plurality of phase-shifted signals as an output.
25. The circuit of claim 22, wherein the second delay circuit further comprises a third selecting circuit to select at least one of a plurality of phase-shifted signals as an output.
26. A method for writing data to a memory, the method comprising:
- delaying data in a first data channel so that the data in the first data channel is latched into the memory at a different time than data in a second data channel, wherein the first data channel carries the data from a controller circuit to the memory and the second data channel carries the data from the controller circuit to the memory.
27. The method of claim 26, further comprises generating a data strobe signal by a first delay circuit and generating a memory clock signal by a second delay circuit wherein the data strobe signal and the memory clock signal are used to latch the data into the memory.
28. The method of claim 26, wherein delaying data in the first data channel further comprises selecting from a plurality of data clock signals of different phases as an inputclock signal for latching the data into the memory.
29-54. (Canceled)
Type: Application
Filed: Sep 17, 2004
Publication Date: Feb 24, 2005
Applicant:
Inventors: Chen-Kuan Hong (San Jose, CA), Luc Bisson (San Jose, CA)
Application Number: 10/942,822