# Patent

## Title
Memory command received within two clock cycles

## Abstract

A technique to increase transfer rate of command and address signals via a given number of command and address pins in each of one or more integrated circuit memory devices during a clock cycle of a clock signal. In one example embodiment, the command and address signals are sent on both rising and falling edges of a clock cycle of a clock signal to increase the transfer rate and essentially reduce the number of required command and address pins in each integrated circuit memory device.

## Background
RELATED APPLICATIONS
This application is a Continuation of U.S. application Ser. No. 12/478,270, filed Jun. 4, 2009, which is a Continuation of U.S. application Ser. No. 11/495,418, filed Jul. 28, 2006, now issued as U.S. Pat. No. 7,549,033, which is a Continuation of U.S. application Ser. No. 10/767,555, filed Jan. 29, 2004, now issued as U.S. Pat. No. 7,299,329, which are incorporated herein by reference in their entirety.


FIELD OF THE INVENTION
The present invention relates to memory circuits and, in particular, to circuitry associated with command and address pins of a DRAM (dynamic random access memory).
BACKGROUND OF THE INVENTION
In order to perform data transfers, such as a store and an access, to and from conventional DRAM devices, the command and address signals are generally initiated on a rising edge (the transition from logic level “zero” to “one”) or alternatively a falling edge of a clock signal. In a high speed DRAM design, using the current scheme to store and access the data from a DRAM can result in requiring a significantly higher number of command and address pins. Further, any increase in the number of command and address pins, can also result in a significant overhead for the DRAM controller performing data transfers via multiple DRAMs. For example, a DRAM controller coupled to access 8×32 DRAMs in a system, parallelly or concurrently, can require nearly 256 bit input/output (I/O) interfaces. Furthermore, for efficient handling of the command and address signals, the DRAM controller may also have to assign a similar number of command and address pins. Therefore, any increase in the number of command and address pins in a DRAM, in the above system, can also result in requiring similar increase in the command and address pins in each DRAM for the DRAM controller. This is because of operating the command and address signals at half cycles and because of using the command and address pins for a single purpose or a single cycle in conventional double data rate (DDR) DRAM devices.
In addition, during the last several decades, memory technology has progressed dramatically. The density of commercial memory devices, such as the DRAM, has increased from 1 Kbit to 256 Mbits per chip, a factor of 256,000. Unfortunately, as the density goes up the number of command and address pins required to store and access data has also increased considerably. Increasing the number of command and address pins can result in a bigger package size for reasons described-above. As the packaging density increases, accommodating more number of command and address pins in a smaller package becomes more difficult.
Accordingly, there is a need in the art for a technique to reduce the number of command and address pins required in DRAMs to perform data transfers to and from the DRAMs.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a timing diagram illustrating one approach of initiating the command and address signals to transfer data to and from the DRAM upon the rising edge of a clock signal in a conventional DRAM.
FIG. 2 is an exemplary embodiment of a timing diagram illustrating the initiating of the command and address signals to transfer data to and from a DRAM upon the rising and falling edges of a clock signal according to the present invention.
FIG. 3 is another exemplary embodiment of a timing diagram illustrating the initiating of the command and address signals to transfer data to and from a DRAM upon the rising and falling edges of a clock signal according to the present invention.
FIG. 4 is another exemplary embodiment of a timing diagram illustrating the initiating of the command and address signals to transfer data to and from a DRAM upon two substantially consecutive rising edges of a clock signal according to the present invention.
FIG. 5 is another exemplary embodiment of a timing diagram illustrating the initiating of the command and address signals to transfer data to and from a DRAM upon the two substantially consecutive rising edges of a clock signal according to the present invention.
FIG. 6 is a block diagram illustrating the interconnections between a controller and multiple DRAMs according to one example embodiment of the present invention.
FIG. 7 is a block diagram of an exemplary computer system.
FIG. 8 is a block diagram of an exemplary memory system.
FIG. 9 is an elevational view of a substrate containing semiconductor dies.



DETAILED DESCRIPTION OF THE INVENTION
In the following detailed description, reference is made to various specific embodiments in which the invention may be practiced. These embodiments are described with sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be employed, and that structural, logical, electrical, and process changes may be made without departing from the teachings of the invention.
In the foregoing description of the preferred embodiments, various features of the invention are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the description of the preferred embodiments, with each claim standing on its own as a separate preferred embodiment of the invention.
The present invention provides techniques to reduce number of command and address pins required in a DRAM to reduce the package size and to essentially increase the number of command and address signals sent for a given set of command and address pins in the DRAM. The terms “sending” and “initiating” are used interchangeably throughout the document. References to “rising edge” and “falling edge” of a clock or control signal is for illustrative purposes only since those skilled in the art readily know that true or complementary clock and control signals may be used in which a rising edge may be substituted for a falling edge. Therefore, a clock or control signal may substitute any clock transition (rising or falling) and still fall within the scope of this description and claims.
Referring now to FIG. 1, there is illustrated one conventional technique employed in initiating command and address signals by a DRAM controller to access data from a DRAM upon the rise (active edge) of a timing signal. As shown in the timing diagram 100 of FIG. 1, the DRAM controller sends the command signals 120, such as Chip Select (CS#), Row Address Strobe (RAS#), Column Address Strobe (CAS#), and Write Enable (WE#) and the address signals 130, such as BA0 ̃2 and A11 ̃A0 during a rising edge 112 of a clock (CK) signal 110. Also shown in FIG. 1 is clock signal (CK#) 115 which is an inverse of the CK signal 110. It can be envisioned that the command and address signals can also be initiated, similarly as described-above, during a falling edge of the CK# signal 115. As described-above, the problem with this technique is as the density of the DRAMs goes up the number of command and address pins required to store and access data can also increase proportionately in each DRAM. Increasing the number of command and address pins can result in a significantly bigger package size. As the packaging density increases, accommodating more number of command and address pins in a smaller package becomes difficult.
Referring now to FIG. 2, there is illustrated an example timing diagram 200 of initiating command and address signals by a controller to an integrated circuit memory device according to the present invention. As shown in FIG. 2, the command signals 220, such as CS#, RAS#, CAS#, and WE# and address signals 230, such as BA0 ̃2 and A0 ̃11 are initiated by the controller during both rising and falling edges 202 and 204 of a timing cycle of a timing signal 210 to increase the transfer rate of the command and address signals during the timing cycle. In some embodiments, the timing cycle of the timing signal is a clock cycle in a clock signal (CK). In these embodiments, the rising and falling edges 202 and 204 comprise transition from a logic level “zero” to a logic level “one” and transition from the logic level “one” to the logic level “zero”, respectively.
Also in these embodiments, the controller can be a device, such as a central processing unit (CPU), a graphics processing unit (GPU), a processor, and/or a dynamic random access memory (DRAM) controller. In these embodiments, the integrated circuit memory device is a DRAM device. It can be seen from FIG. 2 that by sending the command and address signal upon both the rising and falling edges of a clock cycle the number of command and address signals sent during a clock cycle can be significantly more than the conventional technique described-above with reference to FIG. 1. It can be envisioned that by increasing the sending of the number of command and address signals in a clock cycle, the number of required command and address pins can be considerably reduced to achieve a higher packaging density in a DRAM.
The clock signal (CK#) 215 is an inverse of the clock signal (CK) 210 shown in FIG. 2. Again, it can be envisioned that by initiating the command and address signals during the rising and falling edges of CK#215, similar to initiating the command and address signals during the rising and falling edges of CK 210 as described-above, the transfer rate of the command and address signals 220 and 230 sent during the clock cycle can be increased.
Referring now to FIG. 3, there is illustrated another example timing diagram 300 of initiating command and address signals by a controller to an integrated circuit memory device according to the present invention. As shown in FIG. 3, the command signals 320, such as CS#, RAS#, CAS#, and WE# and address signals 330, such as BA0 ̃2 and A12 ̃8 are initiated by the controller during a rising edge 302 of a clock cycle of a CK 310. In addition, the address signals, such as A0 ̃7 are initiated during a falling edge 304 of the clock cycle of the CK 310 to increase the transfer rate of the command and address signals during the clock cycle for a given number of command and address pins in a DRAM device. Again it can be envisioned that using an inverse clock signal (CK#) 312 shown in FIG. 3 and initiating command and address signals as described-above can also increase the transfer rate of the command and address signals 320 and 330 sent by the controller during the clock cycle
Referring now to FIG. 4, there is illustrated an example timing diagram 400 of initiating command and address signals by a controller to an integrated circuit memory device according to the present invention. As shown in FIG. 4, the command signals 420, such as CS#, RAS#, CAS#, and WE# and address signals 430, such as BA0 ̃2 and A0 ̃11 are initiated by the controller during two substantially consecutive rising edges 402 of a CK 410 to increase the transfer rate of the command and address signals during the two substantially consecutive cycles. The transfer rate of the command and address signals achieved by using this method 400 is lower than the transfer rate achieved with the method 200 described-above with reference to FIG. 2. Because, the method 400 essentially requires one additional clock cycle to complete sending all of the command and address signals 420 and 430. But, in the GHz clock frequency era, adding one additional clock cycle to send the command and address signals 420 and 430 does not significantly lower the transfer rates.
Referring now to FIG. 5, there is illustrated another example timing diagram 500 of initiating command and address signals by a controller to an integrated circuit memory device according to the present invention. As shown in FIG. 5, the command signals 520, such as CS#, RAS#, CAS#, and WE# and address signals 530, such as BA0 ̃2 and A11 ̃9 are initiated by the controller during a rising edge 502 of a clock cycle of a CK 510. In addition, the address signals, such as A0 ̃8 are initiated during a rising edge 504 of a substantially subsequent clock cycle of the CK 510 to increase the transfer rate of the command and address signals during two substantially subsequent clock cycles for a given number of command and address pins in an integrated circuit memory device. Again, it can be envisioned that an inverse of the CK 510 can also be used, as described-above, to increase the transfer rate of the command and address signals sent during the clock cycle. Again, it can also be seen that in the GHz range, adding one additional clock cycle to send the address signals 530 does not significantly lower the transfer rates of the command and address signals between the controller and one or more integrated circuit memory devices. The hatched state shown in FIGS. 1-5 for the command and address signals indicate that the signals must be held in one state so they may be read. The signal portion marked with vertical lines indicate that the signals may be in any state since they are not being read during that time period.
Referring now to FIG. 6, there is illustrated an example embodiment of a memory circuit 600 according to the present invention. The memory circuit 600 includes one or more DRAMs 610. Each of the DRAMs 610 includes multiple data pins 640 and multiple command and address pins 630. The memory circuit 600 further includes a controller 620 coupled to the one or more DRAMs 610 via the data pins 640 and the command and address pins 630. In some embodiments, the controller is a device, such as a CPU, a GPU, a processor, and a DRAM controller. Also in these embodiments, the DRAMs can be any integrated circuit memory devices, such as flash memory device, a volatile memory device, a non-volatile memory device, a static random access memory (SRAM) device, and/or a static memory device. In some embodiments, the multiple command and address pins 630 are coupled to the controller 620 through a coupling medium 650, such as input/output interface and/or a bus.
In operation, the controller 620 sends command and address signals to each integrated circuit memory device 610 via the associated multiple command and address pins 630, respectively, during a clock cycle of a clock signal so as to increase the transfer rate of the command and address signals during the clock cycle. This is accomplished by sending a higher number of command and address signals than available number of command and address pins 630 in each integrated circuit memory device 610.
In some embodiments, the controller 620 sends the command and address signals upon both rising and falling edges of a clock cycle when transferring data to and from each integrated circuit memory device 610 to increase transfer rate of the command and address signals within the clock cycle for a given number of the command and address pins 630 in each integrated circuit memory device 610. In other embodiments, the controller 620 sends the command and address signals upon a rising edge of a clock cycle and further sends remaining address signals upon a falling edge of the clock cycle when transferring the data to and from the integrated circuit memory device 610.
In some embodiments, the controller 620 sends the command and address signals to each integrated circuit memory device 610 via its associated multiple command and address pins 630, respectively, upon two substantially consecutive rising edges of a clock signal to increase transfer rate of the command and address signals. In other embodiments, the controller 620 sends the command and address signals to each integrated circuit memory device 610 via its associated multiple command and address pins 630, respectively, upon a rising edge of a clock cycle in a clock signal. Further, the controller 620 sends the address signals upon a rising edge of a substantially subsequent clock cycle to each integrated circuit memory device 610 via its associated multiple command and address pins 630, respectively, to increase transfer rate of the command and address signals to each integrated circuit memory device 610 in the two substantially consecutive clock cycles. In the above described embodiments, each of the integrated circuit memory devices 610 perform the memory command in response to receiving the set of command and address signals. The advantages in using the above techniques to send command and address signals are described-above in more detail with reference to FIGS. 2-5.
FIG. 7 is a block diagram of a system according to one embodiment of the present invention. Computer system 700 contains a processor 710 and a memory system 702 housed in a computer unit 705. Computer system 700 is but one example of an electronic system containing another electronic system, e.g., memory system 702, as a subcomponent. The memory system 702 includes a memory device that includes a multichip module as discussed in various embodiments of the present invention. Computer system 700 optionally contains user interface components. These user interface components include a keyboard 720, a pointing device 730, a monitor 740, a printer 750, and a bulk storage device 760. It will be appreciated that other components are often associated with computer system 700 such as modems, device driver cards, additional storage devices, etc. It will further be appreciated that the processor 710 and memory system 702 of computer system 700 can be incorporated on a single integrated circuit. Such single-package processing units reduce the communication time between the processor and the memory circuit. Any of these components of the system may contain a memory controller to initiate command and address signals to retrieve data from a memory device according to the present invention. This is particularly true of graphics subsystem 770 of FIG. 7 utilizing SGRAM that includes a solid film formed as discussed in various embodiments of the present invention.
FIG. 8 is a block diagram of a system according to one embodiment of the present invention. Memory system 800 contains one or more multichip modules 802 and a memory controller 812. Each memory module 802 includes at least one memory device 810. Memory controller 812 provides and controls a bidirectional interface between memory system 800 and an external system bus 820. Memory system 800 accepts a command signal from the external bus 820 and relays it to the one or more memory modules 802 on a command link 830. Memory system 800 provides for data input and data output between the one or more memory modules 802 and external system bus 820 on data links 840. At least one of the memory devices 810 includes the DRAM controller to initiate command and address signals to retrieve data from one or more DRAMs according to the present matter.
With reference to FIG. 9, in one embodiment, a semiconductor die 910 is produced from a silicon wafer 900. A die is an individual pattern, typically rectangular, on a substrate that contains circuitry to perform a specific function. A semiconductor wafer will typically contain a repeated pattern of such dies containing the same functionality. Die 910 may contain multichip modules, as discussed above. Die 910 may further contain additional circuitry to extend to such complex devices as a monolithic processor with multiple functionality. Die 910 includes a DRAM controller coupled to one or more DRAMs as discussed in various embodiments of the present invention.
CONCLUSION
The present invention provides techniques to send command and address signals on both the rising and falling edges and/or on two consecutive rising or falling edges of a clock cycle (timing signal), thereby essentially reducing the number of command and address pins required by the DRAMs.
In one aspect, the invention provides techniques for reducing the number of command and address pins required in a DRAM. In this aspect, the invention includes sending command and address signals to one or more DRAMs to transfer data to and from the DRAMs upon both the rising and falling edges of a clock cycle. In accordance with another aspect of the present invention, a technique for reducing the number of command and address pins required on a DRAM includes sending the command and address signals on the first edge of a clock cycle and further sending address signals on the following edge of the clock cycle.
In accordance with yet another aspect of the present invention, a technique for reducing the number of required command and address pins on a DRAM includes sending the command and address signals on two consecutive rising edges (or falling edges) of a clock signal. In accordance with yet another aspect of the present invention, a technique for reducing the number of required command and address pins on a DRAM includes sending the command and address signals on a rising edge of a clock cycle and further sending the address signals on a subsequent rising edge of the clock cycle.
Additional advantages and features of the present invention will be more apparent from the detailed description and accompanying drawings, which illustrate preferred embodiments of the invention.
The above description illustrates preferred embodiments, which achieve the features and advantages of the present invention. It is not intended that the present invention be limited to the illustrated embodiments. Modifications and substitutions to specific process conditions and structures can be made without departing from the spirit and scope of the present invention. Accordingly, the invention is not to be considered as being limited by the foregoing description and drawings, but is only limited by the scope of the appended claims.

## Claims

1. A method of operating a memory device, the method comprising:
receiving a memory command within two clock cycles, wherein the two clock cycles comprise a first pulse and a second pulse consecutively following the first pulse, wherein each of the first and second pulses includes a rising edge and a falling edge, one of the rising edge and the falling edge being defined as a first edge and the other of the rising edge and the falling edge being defined as a second edge, wherein the memory command includes a command and a row address, wherein the command includes a plurality of command bits, wherein the row address includes a plurality of first row address bits, a plurality of second row address bits, and a plurality of third row address bits, wherein the memory device includes a first set of pins and a second set of pins, and wherein the receiving the memory command comprises:
reading, in relation to the first edge of the first pulse of the two clock cycles,
signal states at respective pins of the first set of pins to obtain the plurality of command bits of the command, and
signal states at respective pins of the second set of pins to obtain the plurality of first row address bits of the row address;

reading, in relation to the second edge of the first pulse of the two clock cycles, neither signal states at the respective pins of the first set of pins nor signal states at the respective pins of the second set of pins;
reading, in relation to the first edge of the second pulse of the two clock cycles,
a signal state at one pin of the first set of pins to obtain a fixed logic level,
signal states at the respective pins of second set of pins to obtain the plurality of second row address bits of the row address, and
signal states at remaining pins of the first set of pins to obtain the plurality of third row address bits of the row address; and

reading, in relation to the second edge of the second pulse of the two clock cycles, neither signal states at the respective pins of the first set of pins nor signal states at the respective pins of the second set of pins.

2. The method of claim 1, wherein the one of the first set of pins is allocated to a chip select (CS) pin.

3. The method of claim 1, wherein the first edge is the rising edge and the second edge is the falling edge.

4. The method of claim 1, wherein the fixed logical level is set to logic Zero.

5. The method of claim 1, wherein the one of the set of first pins is allocated to a CS pin, wherein the fixed logical level is set to logic Zero, wherein the first edge is the rising edge, and wherein the second edge is the falling edge.

6. A method of operating a memory controller, the method comprising:
sending a memory command to a memory device within two clock cycles, wherein the two clock cycles comprise a first pulse and a second pulse consecutively following the first pulse, wherein each of the first and second pulses includes a rising edge and a falling edge, one of the rising edge and the falling edge being defined as a first edge and the other of the rising edge and the falling edge being defined as a second edge, wherein the memory command includes a command and a row address, wherein the command includes a plurality of command bits, wherein the row address includes a plurality of first row address bits, a plurality of second row address its and a plurality of third row address bits, wherein the memory device includes a first set of pins and a second set of pins, and wherein the sending the memory command comprises:
sending, in relation to the first edge of the first pulse of the two clock cycles, the plurality of command bits of the command to the first set of pins of the memory device and the plurality of first row address bits of the row address to the second set of pins of the memory device, wherein the memory device responds to the first edge of the first pulse of the two clock cycles to read the plurality of command bits of the command at the first set of pins and the plurality of first row address bits of the row address at the second set of pins; and
sending, in relation to the first edge of the second pulse of the two clock cycles, a fixed logical level to one of the first set of pins of the memory device, the plurality of second row address bits of the row address to the second set of pins of the memory device and the plurality of third row address bits of the row address to remaining pins of the first set of pins of the memory device, wherein the memory device responds to the first edge of the second pulse of the two clock cycles to read the fixed logical level at the one of the first set of pins, the plurality of second row address bits of the row address at the second set of pins and the plurality of third row address bits of the row address at the remaining pins of the first set of pins; and
wherein the memory device is configured to not read signal states at respective pins of the first set of pins or signal states at respective pins of the second set of pins in relation to the second edge of each of the first pulse and the second pulse of the two clock cycles.

7. The method of claim 6, wherein the one of the first set of pins is allocated to a chip select (CS) pin.

8. The method of claim 6, wherein the first edge is the rising edge and the second edge is the falling edge.

9. The method of claim 6, wherein the fixed logical level is set to logic-Zero.

10. The method of claim 6, wherein the one of the first set of pins is allocated to a CS pin, wherein the fixed logical level is set to logic-Zero, wherein the first edge is the rising edge, and wherein the second edge is the falling edge.