Information
-
Patent Application
-
20030112677
-
Publication Number
20030112677
-
Date Filed
December 13, 200122 years ago
-
Date Published
June 19, 200321 years ago
-
CPC
-
US Classifications
-
International Classifications
Abstract
A precharge command can be issued to a single bank or a precharge-all command can be issued to all banks of an integrated circuit memory device (e.g., DRAM circuit) at any time during normal operation of the device. Internal circuits are provided to decode the respective commands and send them to the different independent memory banks of the integrated circuit memory device. A local precharge control unit (or circuit) is present inside each of the memory banks that can receive and process the decoded precharge commands. If certain specified timing conditions are met, the local precharge control unit can issue and store a precharge request for a specific bank. The precharge request can be held back until all timing requirements are fulfilled. The precharge request can then be automatically executed.
Description
BACKGROUND OF THE INVENTION
[0001] The present invention relates to integrated circuit devices, and more particularly to integrated circuit memory devices and methods of operating integrated circuit memory devices.
[0002] Integrated circuit memory devices are widely used in consumer and commercial applications. One widely used integrated circuit memory device is, for example, synchronous Dynamic Random Access Memory devices (synchronous DRAM devices). Synchronous DRAMs may be used for the main memory of a computer system, and also may be used in graphics applications.
[0003] In a conventional DRAM device, a precharge command PRE turns off an active word line and restores a default voltage level on bit lines of the DRAM device. Before a word line is turned off, memory cells connected to that word line should have a valid voltage level. Valid voltage levels for interfaces of DRAM circuits are described, for example, in Intel Corporation's PC SDRAM Specification, Revision 1.7, November, 1999, hereinafter referred to as the PC-100 Specification.
[0004] To help ensure that memory cells connected to the word line have a valid voltage level, conventional DRAM devices are typically subject to timing constraints known as write back timing and write recovery. Write back timing constraints describe timing requirements after a word line activation. The write back timing requirements are generally analog and may be determined based on factors such as the physical characteristics of a memory cell, and sizing of a sense amplifier. Write recovery timing constraints describe timing requirements after a write command is sent to memory cells that are coupled to an already active word line. Write recovery timing requirements typically consist of a digital and an analog component. The digital component is based on write latency and burst length values. This delay can be expressed in terms of clock cycles and is therefore a function of the clock frequency. The analog component is based on physical delays resulting from input data latching to memory cells. The dominant portion of this analog write delay is typically the time that is needed to change the charge being stored inside the memory cells from the old to the new voltage level. This charging or discharging operation is similar to the charging or discharging of a capacitor through a resistor device. Therefore, this delay is independent of the clock frequency the DRAM device is operated at and hereby represents a delay that has a fixed value in real time (i.e., analog portion). Thus, conventional DRAM devices must comply with strict timing constraints when issuing a precharge command PRE. Unfortunately, those timing constraints can limit the usage of the command bus, for reasons some of which will be described below.
[0005] Referring now to FIG. 1A, external commands and addresses are input into the global DRAM control 101, which generates one of a precharge command and a precharge-all command along with appropriate bank addresses that are sent to a plurality of memory banks. Here, two memory banks, Bank A and B, are shown for purposes of simplicity, however, any number of memory banks could theoretically be employed in the same manner.
[0006] In conventional DRAM devices operating according to the PC-100 Specification, execution of either the precharge command or the precharge-all command is fixed with respect to a bank activation command ACT and a write command WRT, as will now be described below in conjunction with FIG. 1B. FIG. 1B shows a timing diagram of a precharge command PRE in a conventional DRAM device having a single bank configuration. In this example, it is presumed that a burst length BL is equal to four clock cycles, meaning that four data bits per data I/O are transferred from or to the DRAM device with each read or write command, respectively. As shown in FIG. 1B, a bank activation command ACT, which is also known as row address strobe (RAS) signal, is spaced apart from a precharge command PRE tRAS which here is by five clock cycles, the minimum write back timing requirement under the PC-100 Specification. Similarly, a write command WRT, which is also known as the column address strobe (CAS) signal with the write mode being activated, is also spaced apart from the precharge command PRE by five clock cycles, the minimum write recovery timing requirement under the PC-100 Specification. Thus, due to the timing requirements of the PC-100 Specification, a relatively large number of clock cycles can pass after the write command WRT or the bank activation command ACT before the precharge command is executed. Unfortunately, this fixed execution of the precharge command can limit the usage of a command bus since the command bus is shared between more than one bank.
[0007] Because the timing requirements can force fixed execution of the precharge command, conflicts on the command bus can result that may undesirably degrade system performance. As shown in FIG. 2, a potential conflict on the command bus of a conventional DRAM device can result. This example again assumes that a burst length BL is equal to 4. In this example, a memory controller that controls the DRAM device attempts to perform an external precharge command PRE on Bank A after a write command WRT has been executed. Due to this write recovery restriction of the PC-100 specification, a precharge command PRE is scheduled at a minimum of at least five clock cycles after the write command VVRT. Since a conflict might occur on the command bus, the write recovery restriction can preemptively restrict future usage of the command bus if the write command WRT at Bank B occurs simultaneously with the precharge command PRE at Bank A.
[0008] Fixed execution of the precharge-all command PRE-ALL with respect to the bank activation command ACT can also limit usage of banks that have been activated at an earlier time. As shown in FIG. 3, a precharge-all command PRE-ALL is executed to deactivate different word lines in banks that are currently open. However, under the PC-100 Specification, the timing requirements of a write back timing parameter tRAs, require that the precharge-all command PRE-ALL be issued after at least five clock cycles have passed since the last bank activation command ACT. Thus, when bank activation commands ACT are issued in close proximity to different banks, for example Bank A and Bank B, this write back timing requirement can limit the usage of banks that have been activated earlier since clock cycles can be lost so that the precharge-all command PRE-ALL is executed simultaneously on all banks. In conventional DRAM circuits, the precharge-all command PRE-ALL can also undesirably cause a high peak power consumption since active word lines are shut off at the same time and bit line precharging circuits are turned on at the same time.
[0009] Furthermore, as shown in FIG. 4, conventional DRAM devices operating according to the PC-100 Specification allow for only one possible timing pattern that fulfills all timing requirements for minimum row cycle time (or random access time) tRC. Accordingly, it may be desirable to provide improved integrated circuit devices that are more flexible in execution of precharge and/or precharge-all commands.
SUMMARY OF THE PREFERRED EMBODIMENTS
[0010] An aspect of the present invention can provide integrated circuit memory devices that include a memory array including at least one memory bank, and a pair of input/output lines coupled to the memory array, wherein each of the memory banks includes a local precharge control unit that can enhance system performance. The local precharge control unit can generate a precharge request that is then used in execution of a local precharge command to a specific memory bank.
[0011] According to another aspect of the invention, each of the local precharge control units may comprise, for example, means for generating a precharge request. The precharge request can then be used to execute a local precharge bank command without timing restrictions with respect to one of the external precharge command and the external precharge-all request, respectively. The means for generating generates a precharge request based on one of an external precharge command and an external precharge-all command.
[0012] According to another aspect of the invention, each of the local precharge control units may also comprise means for posting that is responsive to an indication that at least one specified timing requirement has been satisfied for at least that memory bank. The means for posting “posts” or delays execution of the precharge request, such that issuance of the local precharge bank command is delayed until the indication that at least one specified timing requirement has been satisfied for at least that memory bank is provided to the means for posting.
[0013] According to another aspect of the invention, the means for posting can also include means, responsive to the precharge request and to the indication that at least one specified timing requirement has been satisfied for at least that memory bank, for executing a local precharge bank command at any time without timing restrictions with respect to the precharge request when the means for executing receives the indication that specified timing requirements are satisfied for at least that memory bank.
[0014] The local precharge control unit can allow the local precharge bank request to be generated immediately after one of an external precharge command and an external precharge-all command is generated. As such, the local precharge bank request may be generated without timing restrictions with respect to other external commands. As such, the local precharge bank request can be generated at any time after a write command without a write back timing limitation and/or write recovery timing limitation with respect to one of the external precharge command and the external precharge-all command.
[0015] The local precharge control unit can also allow timing of one of the external precharge command and the external precharge-all command with respect to one of an external write command and an external bank activation command to not be subject to one of a write recovery timing limitation and a write back timing limitation, respectively. As such, spacing between one of the precharge command and the precharge-all command and a write command can be adjustable to provide variable spacing between the one of the precharge command and the precharge-all command and the write command. Moreover, spacing between one of the precharge command and the precharge-all command and a bank activation command can also be adjustable to provide variable spacing between a bank activation command and one of the precharge command and the precharge-all command. By contrast, spacing of the local precharge bank command may be fixed with respect to the bank activation command.
[0016] In comparison to conventional DRAM integrated circuit devices, aspects of the embodiments described-above can provide improved system performance. By removing timing restrictions that are normally present during execution of one of the external precharge command and the external precharge-all command, more flexible utilization of the command bus can be provided. Moreover, data bus utilization can also improved since more opportunities to issue read or write commands for the data bus are generated. Finally, the number of power consumption peaks can also be reduced. These improvements with respect to command bus and data bus utilization can lead to overall improvements in system performance.
[0017] An aspect of the present invention may also include methods of operating an integrated circuit memory device in which local precharge bank commands are generated in the memory device. In particular, a precharge request can be generated that is used to execute a local precharge bank command. The precharge request can be posted responsive to one of an external precharge command and an external precharge all command. Posting may comprise holding the precharge request until the indication is provided that the at least one specified timing requirement has been satisfied for at least that memory bank indicating that specified timing requirements are fulfilled. Alternatively, posting may comprise sampling and storing the precharge request, and holding execution of the stored precharge request until the holding means receives the indication. In either case, execution of the local precharge bank command can be delayed until the indication is provided that the at least one specified timing requirement has been satisfied, for at least that memory bank. The local precharge bank command can then be executed responsive to the precharge request and to the indication that the at least one specified timing requirement has been satisfied for at least that memory bank.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018]
FIG. 1A is a block diagram of a portion of a conventional integrated circuit memory device.
[0019]
FIG. 1B is a timing diagram which illustrates precharge command timing requirements for operation of a memory device according to a PC-100 Specification.
[0020]
FIG. 2 is a timing diagram which further illustrates precharge command timing requirements for operation of a memory device according to the PC-100 Specification.
[0021]
FIG. 3 is a timing diagram which illustrates precharge-all command timing requirements for operation of a memory device according to the PC-100 Specification.
[0022]
FIG. 4 is a timing diagram which illustrates the command sequence timing requirement for minimum row cycle time or random access time during operation of a memory device according to the PC-100 Specification.
[0023]
FIGS. 5A and 5B are block diagrams of an integrated circuit memory device.
[0024]
FIG. 6 is a block diagram of a portion of an integrated circuit memory device including local precharge control units according to embodiments of the present invention.
[0025]
FIG. 7 is a block diagram of a local precharge control unit according to embodiments of the present invention.
[0026]
FIG. 8 is a block diagram of a local precharge control unit according to other embodiments of the present invention.
[0027]
FIG. 9 is a block schematic diagram of a local precharge control unit according to other embodiments of the present invention.
[0028]
FIGS. 10A and 10B are block schematic diagrams of a local precharge control unit according to other embodiments.
[0029]
FIG. 11 is a timing diagram that illustrates precharge command timing requirements for operation of a memory device according to embodiments of the present invention.
[0030]
FIG. 12A is a timing diagram that illustrates precharge command timing requirements for operation of a memory device according to embodiments of the present invention.
[0031]
FIG. 12B is a timing diagram that illustrates precharge-all command timing requirements for operation of a memory device according to embodiments of the present invention.
[0032] FIGS. 13A-13C are a series of timing diagrams comparing the posted precharge of the present invention with interleave refresh and sequential refresh according to the PC-100 Specification, respectively.
[0033]
FIG. 14A is a flowchart that illustrates operations of the local precharge control unit according to embodiments of the present invention.
[0034]
FIG. 14B is a flowchart that illustrates operation of a local precharge control unit according to other embodiments of the present invention.
[0035]
FIG. 15A is a flowchart that illustrates operation of a local precharge control unit according to other embodiments of the present invention.
[0036]
FIG. 15B is a flowchart illustrating exemplary operations of an aspect of the embodiments shown in FIG. 15A.
[0037]
FIG. 15C is a flowchart illustrating exemplary operations of an aspect of the embodiments shown in FIG. 15A.
[0038]
FIG. 15D is a flowchart illustrating exemplary operations of an aspect of the embodiments shown in FIG. 15C.
[0039]
FIG. 15E is a flowchart illustrating the exemplary operations of an aspect of the embodiments shown in FIG. 15D.
[0040]
FIG. 15F is a flowchart illustrating exemplary operations of an aspect of the embodiments shown in FIG. 15A.
[0041]
FIG. 15G is a flowchart illustrating exemplary operations of an aspect of the embodiments shown in FIG. 15F.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0042] The present invention will now be described more fully with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. It is also noted that like reference numerals may be used to designate identical or corresponding parts throughout the drawings. As used herein, the term “local” refers to each independent memory bank inside an integrated circuit memory device, whereas the term “global” refers to the overall integrated circuit memory device. It will also be understood that when an element such as a block, circuit, circuit component and/or device is referred to as being “connected to” another element, it can be directly connected to the other element or intervening elements may also be present. In contrast, when an element is referred to as being “directly connected to” another element, there are no intervening elements present. When an element such as a block, circuit, circuit component and/or device is referred to as being “adjacent” another element, it can be near the other element but not necessarily independent of the other element. When an element such as a block, circuit, circuit component and/or device is referred to as being “between” two things, it can be either partly of completely between those two things, but is not necessarily completely and continuously between those two things. The term “adapted to” should be construed to mean “capable of”.
[0043] Throughout the description, the terms precharge, pre bank, precharge bank, precharge bank signal, precharge bank command, local precharge command, and local precharge bank command can be used interchangeably.
[0044] The description below assumes that the local precharge control unit is implemented in a DRAM integrated circuit memory device; however, the embodiments might also function in other types of integrated circuit memory devices. Thus, the aspects of the present invention described herein do not have any dependency on DRAM integrated circuit devices. Moreover, while certain aspects of the present invention are described in the context of an integrated circuit memory device including two memory banks, it will be appreciated that those aspects of the invention are independent of and equally applicable to any number of memory banks. For instance, aspects of the invention are not restricted to two banks and can be adapted for use in a single bank DRAM circuit. Moreover, an integrated circuit using a multiple single bank DRAM would benefit from increased command bus flexibility, and the proposed posted precharge can easily be extended to more than two banks by simply adding banks and the corresponding local precharge control unit.
[0045] Embodiments are related to integrated circuit memory devices that include at least one memory bank. Each memory bank includes a local precharge control unit therein. The local precharge control unit can utilize a precharge request to improve system performance by removing complex timing restrictions related to the execution of one of a precharge command and a precharge-all command.
[0046] Removing timing restrictions can add flexibility to usage of the command bus that can provide higher command bus utilization. The added flexibility on the command bus can also contribute to better data bus utilization by generating more opportunities to issue read or write commands for the data bus. Both improvements in command bus and data bus utilization can lead to a higher overall system performance and a reduced number of power consumption peaks. Techniques are provided for avoiding conflicts on the command bus by delaying execution of one of the precharge command and the precharge-all command.
[0047] Referring now to FIGS. 5A and 5B, shown is a block diagram of a portion of an integrated circuit memory device. The integrated circuit memory device 501 includes, among other units, a memory controller 510, a global memory control unit 500, and a plurality of memory banks 504 (labeled as Memory Bank A . . . Memory Bank N). The memory controller 510 generates, among other signals, commands that are sent to global memory control unit 500 within one or more memory devices 501 via an external command bus 512 and addresses that are sent to the global memory unit 500 via the external address bus 514. The global memory control unit 500 inside the memory device 501 decodes the signals on the external command bus 512 and generates, among other signals, external precharge or precharge-all commands that can be sent to a plurality of memory banks 504. The global memory control unit 500 also decodes signals on the external address bus 514 and generates, among other signals, bank addresses, row addresses, column addresses that can also be sent to the plurality of memory banks 504.
[0048] As shown in FIG. 5B, each of the memory banks 504 include a local precharge control unit 502. FIG. 5B illustrates memory banks 504, such as BANK A, having word lines or rows (R1 . . . RN) and bit lines or columns (C1 . . . CN) of memory cells, and their relationship to the local precharge control unit 502. More specifically, the local precharge control unit 502 can generate a local precharge command PRECHARGE BANK that is sent to a bit line control 530 and a word line control 540. The bit line control 530 controls, for example, read, write and equalize operations to the columns C1 . . . CN of memory cells, whereas the word line control 540 controls, for example, activate and deactivate operations to each of the rows R1 . . . RN of memory cells.
[0049] Referring now to FIG. 6, shown is a block diagram of a portion of an integrated circuit memory device including local precharge control units according to aspects of the present invention. As shown in FIG. 6, a global memory control unit 600 generates at least one of an external precharge command, an external precharge-all command, and at least one bank address, in response to external commands and addresses input to the global memory control unit 600. At least one of the external precharge command, the external precharge-all command, and the at least one bank address, are then input into a local precharge control unit in each of the memory banks included in the integrated circuit memory device. In the example shown in FIG. 6, two memory banks, Bank A 604 and Bank B 604 are included in the integrated circuit memory device. Each of the memory banks 604 includes a local precharge control unit 602. The integrated circuit memory device (shown in FIG. 6) has two independent memory banks A and B.
[0050] It will be appreciated that aspects of the present invention are not restricted to two banks since embodiments of the present invention would be equally applicable to applications implementing a single memory bank or a plurality of memory banks. An application using multiple single bank DRAMs could also benefit from the increased command bus flexibility. The integrated circuit memory device shown in FIG. 6 could easily be extended to more than two banks by simply adding banks having the corresponding local precharge control unit 602. External commands and addresses are decoded in a so-called global control or command decoder 600. The decoded commands and addresses such as read commands or activate commands, can then be propagated to appropriate memory banks of the IC memory device. A local precharge control circuit inside each of the banks will now be described below with regard to FIG. 7.
[0051] Referring now to FIG. 7, shown is a block diagram of one example of a local precharge control unit according to implementations of the present invention. Each local precharge control unit 602 may include, for example, a bank decoder 703, a write back timer circuit 704, a write recovery timer circuit 705, and a bank status register 706 and a controller 707 which is also known as a precharge request block. The precharge request block 707 receives one of the external precharge commands and the external precharge-all command, at least one bank select signal from the bank decoder 703, a write back signal from the write back timer 704, a write recovery signal from the write recovery timer 705, and/or a bank activation signal from the bank status register 706. The bank decoder 703 is responsive to at least one bank address, and generates the bank select signal in response thereto.
[0052] In particular, the bank decoder 703 is adapted to detect whether a specific memory bank has been selected by the external bank address. The write back timer circuit 704 is adapted to generate a signal indicative of whether sufficient time from the last bank activate command has passed (write back timing). The write recovery timer circuit 705 is adapted to generate a signal indicative of whether sufficient time from the last CAS command, for example, read command or write command, has passed (write recovery timing). The bank status register 706 is adapted to indicate if a respective bank is active or precharged.
[0053] Based on the signals above, a controller 707 can evaluate the above-described conditions. If the conditions for a valid precharge request are met, circuit 707 stores a precharge request. Controller 707 can generate a local precharge bank command if the precharge request is present and the timing conditions described above are fulfilled. After sending out a local precharge bank command, the controller 707 resets the precharge request since the precharge request has been processed.
[0054] When the precharge request block 707 receives the external precharge command, the precharge request block 707 generates a local precharge bank command in response to the bank select signal, the bank activation signal, the write back signal, and the write recover signal. When the precharge request block 707 receives the external precharge-all command, the precharge request block 707 generates a local precharge bank command in response to the bank activation signal, the write back signal, and the write recover signal.
[0055] Referring now to FIG. 8, shown is a block diagram of a local precharge control according to other implementations of the present invention. As shown in FIG. 8, each of the local precharge control units 802 may comprise, for example, means for generating 810 a precharge request PRE REQ. The means for generating 810 generates a precharge request PRE REQ based on one of an external precharge command PRE, an external precharge-all command PRE ALL and at least one bank address in the case of an external precharge command PRE. The precharge request PRE REQ can then be used to execute a local precharge bank command PRE BANK, without timing restrictions with respect to the precharge request PRE REQ.
[0056] As shown in FIG. 8, each of the local precharge control units 802 may also comprise means for posting 830 that is responsive to an indication that at least one specified timing requirement has been satisfied for at least that memory bank. In particular, the means for posting 830 “posts” the precharge request PRE REQ, such that execution of the local precharge bank command PRE BANK is delayed until the indication that the at least one specified timing requirement has been satisfied for at least that memory bank is provided to the means for posting 840.
[0057] This indication can comprise, for example, at least one of a local write back timing requirement and a local write recovery timing requirement. The local write back timing requirement may indicate that a first specified time has elapsed after a prior bank activation command to allow satisfactory write back to that memory bank. On the other hand, the local write recovery timing requirement may indicate that a second specified time has elapsed after a prior write command to allow satisfactory write recovery to that memory bank. The first and second specified times can be the same but are usually different.
[0058] Still referring to FIG. 8, the means for posting 830 can comprise, for example, means for holding 840 and means for executing 850. The means for holding can sample and store the precharge request PRE REQ until the indication that the at least one specified timing requirement has been satisfied is provided.
[0059] Execution of a local precharge bank command PRE BANK is delayed until the indication is provided. After sampling one of an external precharge command PRE and an external precharge-all command PRE ALL, a first means can determine which one of the external precharge command PRE and the external precharge-all command PRE ALL is present. A second means can determine whether the memory bank is active. When the first means determines that the external precharge command PRE is present and the second means determines that the memory bank is active and that the memory bank is selected by an external bank address, the external precharge command PRE is stored in the memory bank as the local precharge request PRE REQ. In addition, when the first means determines that the external precharge-all command PRE ALL is present and the second means determines that the memory bank is active, the external precharge-all PRE-ALL command is stored in the memory banks as the local precharge request PRE REQ.
[0060] As shown in FIG. 8, the means for posting 830 can also include means for executing. The means for executing is responsive to the precharge request PRE REQ and to the indication that the at least one specified timing requirement has been satisfied for at least that memory bank. The means for executing 850 can execute a local precharge bank command PRE BANK at any time, without timing restrictions, with respect to the precharge request PRE REQ. This happens when the means for executing 850 receives an indication that the at least one specified timing requirement has been satisfied for at least that memory bank. As described above, the means for executing 850 may be responsive to the precharge request PRE REQ and to, for example, the write back timing requirement and the write recovery timing requirement.
[0061] When the precharge request PRE REQ is generated during a first clock cycle, the means for executing 850 can execute the precharge request PRE REQ during any clock cycle subsequent to the first clock cycle including the first clock cycle itself without timing restrictions with respect to the precharge request PRE REQ, to generate a local precharge bank command PRE BANK.
[0062] Referring now to FIG. 9, shown is a block schematic diagram illustrating additional local precharge control units 902 according to other implementations of the present invention. As shown in FIG. 9, the local precharge control unit 902 includes a precharge request generator 910, an initialization unit 970, and posting means 930. The posting means 930 can include, for example, a sample hold circuit 940, an execution means 950, and a reset circuit 960.
[0063] The precharge request generator 910 receives a plurality of input signals including one of an external precharge command, an external precharge-all command, at least one external bank address signal, a bank currently active (active word line) signal, and an external auto refresh command decoded signal. In response to these input signals, the precharge request generator generates a precharge request, that is input into the sample hold unit 940.
[0064] The sample hold circuit 940 can sample the precharge request, and holds the request for subsequent execution. The precharge request can be eventually sent to the execution means 950. The execution means 950 is responsive to at least one specified timing signal. The precharge request can be executed by the execution means, for example, once the at least one specified timing signal is input into the execution means. As a result, a precharge command (shown here as PRE BANK) will be generated. Upon execution, the execution means also inputs a signal into the reset circuit 960 which in turn outputs a signal to reset the sample hold circuit 940. The sample hold circuit 940 is then ready to accept the new precharge request once a particular bank is activated again by an input signal bank active ACTIVE that is input into the precharge request generator 910. The initialization block 970 can allow proper initialization after a reset signal is input into the initialization block when the control unit 902 is powered on.
[0065] Referring now to FIGS. 10A and 10B, shown is an electrical schematic illustrating an example of an additional local precharge control unit 1002 implemented with CMOS technology. It should be appreciated, however, that aspects of the present invention could be implemented using other types of fabrication, such as NMOS or Bipolor technology, and therefore aspects of the present invention should not be construed as being limited to CMOS technology. Moreover, embodiments of the present invention would be equally applicable to complimentary conductivity type designs.
[0066] As shown in FIGS. 10A and 10B, the local precharge control unit 1002 includes means for generating 1010 the precharge request PRE REQ, a posting means 1030, a reset means 1060, and an initialization circuit 1070. The posting means 1030 may include a sample/hold means 1040 and an execution means 1050. The means for generating 1010 is responsive to at least one of an active bank address signal (or active word line signal) ACTIVE, an external precharge-all command PRE-ALL, an external precharge command PRE, an external bank address signal BANKSEL, and an external auto refresh command CBR. The means for generating also serves as a means for detecting validity of one of the external precharge command PRE and the external precharge-all command PRE-ALL, and for generating he precharge request PRE REQ if one of a valid external precharge command or a valid external precharge-all command is detected.
[0067] As shown in FIG. 10A, the means for generating 1010 can comprise a first NAND gate 1016 having a first input responsive to an inverted 1012 external bank address BANKSEL, and a second input responsive to an inverted 1014 external precharge-all command PRE-ALL or as is; a second NAND gate 1018 having a first input responsive to the output MATCH of the first NAND gate 1016, a second input responsive to an external precharge command PRE, and a third input responsive to an active word line (bank address) signal ACTIVE or as is; a third NAND gate 1020 having a first input responsive to a decoded external auto refresh command CBR and a second input responsive to an external bank address BANKSEL; and a fourth NAND gate 1022 having a first input responsive to an output of the second NAND gate 1018, and a second input responsive to an output of the third NAND gate 1020. The first NAND gate 1016, third NAND gate 1020, and fourth NAND gate 1022 can be fabricated identically, while the second NAND gate 1018 can be fabricated separately from the other NAND gates.
[0068] Thus, the means for generating 1010 can output the precharge request PRE REQ if the means for generating 1010 determines that the external precharge command PRE and the external precharge-all command PRE-ALL is valid. The precharge request PRE REQ output by the means for generating or “detecting validity” is then input as shown in FIG. 10B into the sample/hold means 1040 of the posting means 1030.
[0069] The external precharge command PRE will be valid for a specific bank and will result in the generation of a precharge request PRE REQ for a specific bank if the bank is active, the externally supplied bank address selects the specific bank, and a precharge command PRE is present. By contrast, the external precharge-all command PRE-ALL will be valid for all banks and will result in the generation of a precharge request PRE REQ if the bank is active, and the precharge-all command PRE-ALL is present. The memory bank is active when a word line is active. By restricting validity to active banks, latching unnecessary precharge requests to banks that are already precharged can be prevented. Furthermore, a precharge request PRE REQ will be generated if the externally or internally generated bank address selects the specific bank and if the refresh command CBR is valid.
[0070] The sample/hold means 1040 stores the precharge request PRE REQ. In one embodiment, the sample/hold means 1040 may comprise, for example, an NMOS transistor 1042 coupled to the output of the means for detecting validity 1010, and a means for storing 1041. The NMOS transistor 1042 can be turned on in response to a high signal that is output when a valid precharge request PRE-REQ is output from the means for detecting validity 1010. This will cause the means for storing 1041 to store the precharge request PRE REQ for further execution.
[0071] The means for storing 1041 may comprise, for example, a latch circuit 1041 having an input responsive to an output from the NMOS transistor 1042 that causes the latch circuit 1041 to flip to store the precharge request PRE REQ for further execution. For example, the latch circuit 1041 may be an inverting latch that comprises first 1044 and second cross-coupled inverters 1046. The first cross-coupled inverter 1044 can have an input responsive to the inverted precharge request PRE REQn. The second cross-coupled inverter 1046 can have an input responsive to the output of the first cross-coupled inverter 1044, wherein an output of the second cross-coupled inverter 1046 is fed back to the input of the first cross-coupled inverter 1044.
[0072] As shown in FIG. 10B, the means for executing 1050 may comprise a three-input NAND gate 1052 having a first input responsive to the output of the storing means 1041, a second input responsive to a first indication that the at least one specified timing requirement has been satisfied for at least that memory bank, and a third input responsive to a second specified indication that the at least one specified timing requirement has been satisfied for at least one memory bank.
[0073] The first indication that the at least one specified timing requirement has been satisfied for at least that memory bank may comprise, for example, a write recovery signal WRITERECOVER, and the second indication that the at least one specified timing requirement has been satisfied for at least that memory bank may comprise, for example, a write back signal WRITEBACK. Execution of the precharge request PRE REQ is held back by the two timer signals WRITERECOVER and WRITEBACK which ensure that the respective timing requirements are satisfied for designated memory bank(s). If both of them are high and the output of the storing means 1041 is high, the PRECHARGE signal goes high and initiates the execution of the precharge request PRE REQ on the appropriate bank(s). The request may be executed without delay if the specified timing requirements are met when the precharge request PRE REQ is generated.
[0074] Thus, the means for executing 1050 is adapted to execute the local precharge bank command PRE BANK at any clock cycle subsequent to the precharge request PRE REQ when the write recovery signal WRITERECOVER and the write back signal WRITEBACK are input into the means for executing 1050. In other words, a locally stored precharge request PRE REQ is automatically executed if the request is existent, a timer circuit indicates that sufficient time has passed after a prior bank activation command ACT (e.g., the last RAS command) to allow for sufficient write back, and another timer circuit indicates that sufficient time has passed after a prior write command WRT (e.g., the last CAS command) to allow for sufficient write recovery.
[0075] As shown in FIG. 10B, the local precharge control unit 1002 may also include a reset circuit 1060 for resetting the precharge request PRE REQ. After initiating the execution of the precharge request PRE REQ, the precharge request is erased through a reset circuit 1060. The reset circuit 1060 has, for example, an input that includes a first inverter 1062 coupled in series to a second inverter 1064. The input is responsive to a feed back output of the means for posting 1030. The output of the inverter, 1064 is coupled to a gate electrode of a first PMOS transistor 1066 that is electrically coupled in series between a second PMOS transistor 1076 and the NMOS transistor 1042. This provides a pulsed PRECHARGE signal, and resets the latch 1041 of the local precharge control unit 1002, so that the unit is ready to accept a new precharge request PRE REQ after the bank has been activated again by a bank active signal ACTIVE.
[0076] As shown in FIG. 10B, the local precharge control unit 1002 may also include an initialization circuit 1070 responsive to a reset signal RESET to insure proper initialization after power-on. The initialization circuit 1070 may comprise an inverter 1072 coupled to a gate electrode of a third PMOS transistor 1074. A source of the third PMOS transistor 1074 is coupled to a source electrode of the second PMOS transistor 1076. A drain of the third PMOS transistor 1074 is coupled to the drain of the NMOS transistor 1042.
[0077] In comparison to conventional DRAM integrated circuit devices, the embodiments described-above can provide improved system performance. By removing timing restrictions that are normally present during execution of one of the precharge command and the precharge-all command, more flexible utilization of the command bus can allow improved command bus utilization. Moreover, data bus utilization is also improved since there are more opportunities generated to issue read or write commands for the data bus. Finally, the number of power consumption peaks can also be reduced since a precharge all command being sent to a plurality of active memory banks does not necessarily cause the simultaneous execution of the precharge operation in all active banks. In other words, as will be shown in exemplary FIG. 12B, each active bank can time the execution of the precharge command independently from the other active banks thus enabling the possibility of precharge operations being executed at different times even though all of the precharge operations were initiated by the same external precharge all command. These improvements with respect to command bus and data bus utilization can lead to overall improvements in system performance. Some of the reasons for this improved performance will now be explained with reference to FIGS. 11 through 13 which illustrate some of these benefits.
[0078] Referring now to FIG. 11, shown is a timing diagram that illustrates operation of embodiments of integrated circuit memory devices described above during a precharge command. As discussed above and as shown in FIG. 4, according to the conventional precharge methods, such as those specified by the PC-100 Specification, there is only one possible command sequence (or timing pattern) that fulfills all of the timing requirements to provide minimum row cycle time tRC.
[0079] By contrast, as shown in FIG. 11, posting the precharge request PRE REQ allows one of a precharge bank command (i.e., local precharge bank command) and a precharge-all command bank to be validly issued at any of five different clock cycles between successive bank activation commands ACT. In other words, there are five possible command sequences (or timing patterns) that fulfill all of the timing requirements to provide the minimum row cycle time tRc. As a result, in the local precharge unit of each memory bank internally ensures that the write back timing requirement tRAS is fulfilled, rather than using an external controller to make sure that the write back requirement tRAS is fulfilled. As a result, the local precharge unit can thereby provide greater flexibility of command bus usage in comparison to the conventional precharge techniques shown in FIG. 4. Spacing between a bank activation command ACT and one of the precharge command PRE and the precharge all command PRE-ALL can thus comprise a variable number of clock cycles. In other words, spacing between one of the precharge command PRE and the precharge-all command PRE-ALL is adjustable with regard to bank activation command ACT such that the local precharge control unit can generate one of the precharge request PRE REQ and the precharge-all request PRE-ALL REQ at any time. Examples will now be discussed in greater detail with reference to FIGS. 12A and 12B.
[0080] Referring now to FIG. 12A, shown is a timing diagram that illustrates operation of embodiments of integrated circuit memory devices during a precharge command. As discussed above with respect to FIG. 2, potential conflicts on the command bus of a conventional DRAM device may occur due to write recovery restrictions that can preemptively restrict future usage of the command bus. The potential command bus conflict illustrated in FIG. 2 is resolved by the local precharge control unit since the posted precharge allows the external precharge command PRE to be generated at any time, without limitation, after the write command WRT.
[0081] Execution of the internally and locally posted precharge request PRE REQ can then be held back until a local write recovery timing requirement for that specific bank is satisfied. In other words, generation of the precharge request PRE REQ is not subject to a write recovery timing restriction. For example, as shown in FIG. 12A, the external precharge command is issued two cycles after the write command WRT and the precharge command PRE is sampled two cycles after the write command WRT to generate a precharge request PRE REQ. In this example, execution of the precharge request PRE REQ is held back internally for an additional three clock cycles to satisfy the write recovery requirement of five cycles. The added flexibility frees up the command bus, for example, for another write command WRT on Bank B without conflict with execution of the local precharge request PRE REQ on Bank A.
[0082] Thus, the local precharge control unit can also allow timing of the precharge command with respect to a write command to be adjustable since it is not subject to a write recovery timing limitation. As such, spacing between one of the precharge command PRE and the precharge-all command PRE-ALL and a write command WRT can be adjustable to provide variable spacing between the one of the precharge command PRE and the precharge-all command PRE-ALL and the write command WRT.
[0083] Referring now to FIG. 12B, shown is a timing diagram which illustrates multiple command sequence timing options for operation of an integrated circuit memory device according to embodiments of the present invention. As discussed above with respect to FIG. 3, in conventional precharge techniques, fixed execution of the precharge-all command PRE-ALL can also limit usage of memory banks that have been activated at an earlier time as clock cycles may be lost because the precharge-all command PRE-ALL must be executed simultaneously on all banks.
[0084] As shown in FIG. 12B, the timing control of each local precharge control unit (for each bank) is local and can therefore solve the problem of lost clock cycles. This is because the precharge request PRE REQ can be generated at any time without a write back timing limitation. Once the external precharge-all command PRE-ALL is received for all memory banks, each of the active banks executes a local precharge bank command PRECHARGE as soon as the write back timing conditions are met for that specific bank. Spacing between the precharge-all command PRE-ALL and a bank activation command ACT is adjustable to provide variable spacing therebetween. This can contribute to improved system performance. By contrast, execution of the local precharge request PREREQ may be fixed with respect to the bank activation command ACT of the respective bank.
[0085] As a result, the local precharge control unit can allow the local precharge request PRE REQ to be generated at any time after an external precharge-all command PRE-ALL is received. As such, the local precharge bank request PRE-REQ may be executed without timing restrictions with respect to the external precharge-all command PRE-ALL. The precharge request PRE REQ can also be generated at any time after a bank activation command ACT without a write back timing limitation with respect to the external precharge-all command PRE-ALL.
[0086] In the example illustrated in FIG. 12B, an external precharge-all command PRE-ALL is issued three cycles after the bank activation command ACT to Bank A. The external precharge-all command PRE-ALL is issued without a write back timing limitation with respect to the bank activation command ACT at Bank A. Thereafter, the execution of the local precharge request PRE REQ to Bank A is held back for two cycles to fulfill the write back timing requirement tRAS of five cycles. Bank B executes the local precharge request PRE REQ (and generates the local precharge command PRECHARGE) one clock cycle earlier, since the bank activation command ACT to Bank B has been executed one clock cycle earlier than at Bank A. As a result, Bank B can be used for another bank activation command ACT one cycle earlier than Bank A, despite having the same external precharge-all command PRE-ALL.
[0087] As noted above, in conventional DRAM devices, the precharge-all command PRE-ALL can cause a high peak power consumption since during this command, all of the active word lines are shut off at the same time, and all of the bit line precharging circuits are turned on at the same time. However, as shown in FIG. 12B, the precharge-all command to Bank A is executed one clock cycle after the precharge-all command to Bank B. Thus, all of the active word lines are not necessarily shut off at the same time, and all of the bit line precharging circuits are not necessarily turned on at the same time. By executing the precharge-all command in a staggered fashion, such that all active banks are not precharged at the same time, the number of power consumption peaks may be reduced.
[0088] Referring now to FIG. 13A, shown is one in a series of timing diagrams comparing the posted precharge used in embodiments of the present invention with interleave refresh (FIG. 13B) and sequential refresh (FIG. 13C) according to the PC-100 Specification. FIG. 13A illustrates an example when an integrated circuit memory device having four independent memory banks has a seamless four bit burst write operation made to Bank 0 and a refresh operation performed on the remaining three banks. Here, each refresh operation consists of two commands, an activate command ACT followed by a precharge command PRE. As shown, the local precharge control unit can keep the respective activate-precharge cycles together for each bank to thereby simplify the usage of the memory device. By contrast, as shown in FIG. 13B, the PC-100 specification would require a very complex, bank-interleaved pattern for maximum performance. External controllers may not be capable of handling such complex, bank-interleaved patterns, because the memory controller would need to provide and handle a command pipeline for each of the memory banks. Accordingly, these pipelines would then have to be operated simultaneously, as indicated by the overlapping refresh cycles in FIG. 13B. Therefore, it may be necessary to utilize additional NOP (i.e., No OPeration) commands, as shown in FIG. 13C. FIG. 13C shows a noninterleaving version of the PC-100 specification with NOP commands that can also degrade the overall system performance. As can be seen in FIGS. 13B and 13C, bank refresh patterns are greatly extended in comparison to the bank refresh patterns in FIG. 13A. Thus, when comparing FIG. 13A to FIG. 13C, it will be appreciated that aspects of the present invention can have the potential to increase the operation speed of a memory device by a factor of 2 to 3.
[0089] Operation of a local precharge control unit will now be described.
[0090] As shown in FIG. 14A, a local precharge unit can begin operation at Block 1430 where a precharge request is generated. At Block 1460, execution of the precharge request is delayed until a specified event. At Block 1490, a precharge bank signal is executed.
[0091]
FIG. 14B illustrates alternative operations of a local precharge unit. Referring now to FIG. 14B, shown is a flowchart that illustrates that at Block 1410, one of an external precharge command and an external precharge-all command is issued. At Block 1430, a precharge request is generated. At Block 1450, once it has been determined that the precharge request is valid, that request is held until specified timing requirements are satisfied. Then in Block 1470, a valid precharge request is executed. Finally, at Block 1490, a local precharge bank command is executed.
[0092] Referring now to FIG. 15A at Block 1500, a precharge request is generated. At Block 1510, the precharge request is posted. At Block 1570, the local precharge bank command is generated. At Block 1511, once the local precharge command is executed, the local precharge control unit is reset. The technique for generating the precharge request will now be described in conjunction with FIG. 15B in greater detail.
[0093] Referring now to FIG. 15B, shown is a flowchart illustrating exemplary operations of aspects of the embodiments shown in Block 1500 of FIG. 15A. In Block 1502, one of an external precharge command and an external precharge-all command is received. Then at Block 1504, a determination is made whether the command that is received at Block 1502 is valid. If the command received at Block 1504 is not valid, then at Block 1506, the process is reset. If the command received at Block 1504 is valid, then at Block 1510, the precharge request is posted, as will be described in greater detail below in conjunction with the description of FIG. 15C.
[0094] Referring now to FIG. 15C, shown is a flowchart illustrating exemplary operations of other aspects of the embodiments shown in Block 1510 of FIG. 15A. In particular, FIG. 15C shows methods of posting a precharge request. At Block 1520, the precharge request is sampled and then stored. Then at Block 1530, execution of the precharge request is held until at least one specified timing requirement is met. Once the at least one specified timing requirement is met, then the precharge request is executed to produce a local precharge bank command. One example of the sample and store operation at Block 1520 will now be described below in conjunction with FIG. 15D.
[0095] Referring now to FIG. 15D, shown is a flowchart illustrating exemplary operations of other aspects of the embodiments shown in Block 1520 of FIG. 15C. At Block 1522, the external precharge or precharge-all command is sampled. Then at Block 1524, a determination is made whether a valid external precharge or precharge-all command is present. If a valid command is not present, then at Block 1521, the precharge is reset and the process repeats itself. When a valid external precharge or precharge-all command is present at Block 1524, then at Block 1526 a determination is made whether the memory bank is active. If the memory bank is inactive, then the precharge routine resets itself at Block 1523. However, if the memory bank is active, then at Block 1528, the external precharge command or precharge-all command is stored as a precharge request in the active memory bank. To determine whether a valid external precharge command or valid external precharge-all command is present at Block 1524, an example will be discussed below in conjunction with FIG. 15E.
[0096] Referring now to FIG. 15E, shown is a flowchart illustrating the exemplary operations of still other aspects of the embodiments shown in Block 1524 of FIG. 15D. At Block 1524A, a determination is made whether the command is a precharge command or a precharge-all command. If the command is a precharge-all command, then at Block 1526, a determination is made whether the memory bank is active. If the memory bank is active, then at Block 1528, the precharge request is stored. If the memory bank is not active, then at Block 1529, the local precharge control unit is reset. If at Block 1524A it is determined that a precharge command is present, then at Block 1524C, a determination is made whether the bank is selected by an external bank address. If the bank is selected by an external bank address, at Block 1526 a determination is made as to whether or not the memory bank is active. If the memory bank is active, then at Block 1528, the precharge request is stored. If at Block 1526 the memory bank it is determined that the bank is inactive, then the system is reset at Block 1527. At Block 1524, if a determination is made that the bank is not selected by the external bank address, then the precharge routine is reset at Block 1525.
[0097] Referring now to FIG. 15F, shown is a flowchart illustrating exemplary operations of other aspects of the embodiments shown in Block 1570 of FIG. 15A. At Block 1572, a determination is made whether or not at least one specified timing signal is received. The determination here is similar to that discussed above with respect to the specified timing signal. If the at least one specified timing signal is received at Block 1572, then at Block 1576, the local precharge bank command will be executed. If at Block 1572 it is determined that the at least one specified timing signal has not been received, then at Block 1530, execution of the precharge request is held until the at least one specified timing signal is received at Block 1572.
[0098] Referring now to FIG. 15G, shown is a flowchart illustrating exemplary operations of other aspects of the embodiments shown in Block 1572 of FIG. 15F. In determining whether or not at least one specified timing signal has been received at Block 1572, it can first be determined whether or not a write recovery signal has been received at Block 1573A. If the write recovery signal has not been received at Block 1573A, then execution of the precharge request or precharge-all request is held at Block 1530. However, if the write recovery signal has been received at Block 1573A, then at Block 1573B, a determination can be made whether or not a write back signal has been received. If the write back signal has been received at Block 1573B, then the routine proceeds to Block 1576 of FIG. 15F. In the event the write back signal is not received at Block 1573B, then execution of the precharge request or precharge-all request is held at Block 1530.
[0099] Accordingly, a precharge command can be issued to a single bank or a precharge-all command can be issued to all banks of an integrated circuit memory device (e.g., DRAM circuit) at any time during normal operation of the device. Internal circuits are provided to decode the respective commands and send the precharge command(s) to the different independent memory banks of the integrated circuit memory device (e.g., DRAM circuit). A local precharge control unit (or circuit) is present inside each of the memory banks that can receive and process the decoded precharge commands. If certain specified timing conditions are met, the local precharge control unit can issue and store a precharge request for a specific bank. The specified timing conditions can be controlled by timer circuits (e.g., delay lines). The precharge request can be held back until all timing requirements are fulfilled. The precharge request can then be automatically executed.
[0100] In comparison to a conventional DRAM integrated circuit device, the aspects of the present invention that are described-above can provide improved system performance. By removing timing restrictions that are normally present during execution of one of the precharge command and the precharge-all command, more flexible command bus utilization can be provided. Data bus utilization can also be improved since more opportunities are generated to issue read or write commands for the data bus. Finally, the number of power consumption peaks can also be reduced. These improvements with respect to command bus and data bus utilization can lead to overall improvements in system performance.
[0101] In the drawings and specification, there have been disclosed typical embodiments of the invention and, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation. The broad principles of the invention have been described above, and numerous ways in which the invention can be adapted have been pointed out. All such variations are considered to fall within the scope and spirit of the invention as described by the following claims.
[0102] For example, in the embodiments discussed above, the local precharge control units include means for posting. However, the means for posting could also cover means for delaying execution of one of the precharge request and the precharge-all request until an indication is provided that the at least one specified timing requirement has been satisfied for at least that memory bank. In addition, the specification also describes that the at least one specified timing requirement can comprise a write back timing requirement and a write recovery timing requirement. However, other specified timing requirements could also be used to initiate execution of the precharge request or precharge-all request as long as satisfactory write back and satisfactory write recovery are allowed within each memory bank. For example, other implementations can combine the timing requirements with other externally applied or internally generated commands. Inside the memory bank, the write recovery timer signal might be combined with a signal indicating an interrupt of a write operation in order to modify the behavior of the local precharge control unit with respect to interrupt commands. Furthermore, as will be appreciated by those skilled in the art of electronic circuit design, the embodiments describing the implementation of the local precharge control unit are of exemplary nature. For example, the storing means 1041 illustrated as being constructed of two cross coupled inverters can have various different implementations, such as implementations employing D-Flip-Flops which are mainly constructed using NAND gates.
Claims
- 1. A memory device, comprising:
a memory array including at least one memory bank; and a plurality of input/output lines coupled to the memory array, wherein each of the memory banks includes a local precharge control unit.
- 2. A memory device according to claim 1, wherein each local precharge control unit comprises:
means for generating a precharge request, wherein the precharge request is used to execute a local precharge bank command, without timing restrictions with respect to the precharge request.
- 3. A memory device, according to claim 2, wherein each of the local precharge control units further comprises:
means, responsive to an indication that at least one specified timing requirement has been satisfied for at least that memory bank, for posting the precharge request, such that execution of the local precharge bank command is delayed until the indication that the at least one specified timing requirement has been satisfied for at least that memory bank is provided to the means for posting.
- 4. A memory device according to claim 3, wherein the means for posting, comprises:
means for holding the precharge request until the indication that the at least one specified timing requirement has been satisfied for at least that memory bank is provided, so that execution of a local precharge bank command is delayed until the indication is provided to the means for holding.
- 5. A memory device according to claim 3, wherein the means for posting, comprises:
means for sampling and storing the precharge request; and means for holding execution of the stored precharge request until the holding means receives the indication that the at least one specified timing requirement has been satisfied for at least that memory bank.
- 6. A memory device according to claim 3, wherein means for sampling and storing further comprises:
means for sampling one of an external precharge command and an external precharge-all command; first means for determining which one of the external precharge command and the external precharge-all command is present; second means for determining whether the memory bank is active; and means for storing a local precharge request in the memory bank in response to one of the external precharge command and the external precharge-all command, respectively, when the memory bank is active.
- 7. A memory device according to claim 6, wherein when the first means for determining determines that the external precharge command is present and the second means for determining determines that the memory bank is active and that the memory bank is selected by an external bank address, the means for storing stores the external precharge command in the memory bank as the local precharge request.
- 8. A memory device according to claim 6, wherein when the means for determining determines that the external precharge-all command is present and the second means for determining determines that the memory bank is active the means for storing stores the external precharge-all command in the memory bank as the local precharge request.
- 9. A memory device according to claim 4, wherein the means for posting, further comprises:
means, responsive to the precharge request and to the indication that the at least one specified timing requirement has been satisfied for at least that memory bank, for executing a local precharge bank command, any time without timing restrictions with respect to the precharge request, when the means for executing receives the indication that the at least one specified timing requirement has been satisfied for at least that memory bank indicating that specified timing requirements are fulfilled.
- 10. A memory device according to claim 9, wherein the precharge request is generated during a first clock cycle, and wherein the means for executing, comprises:
means for executing the precharge request to generate a local precharge bank command, during any clock cycle subsequent to the first clock cycle including the first clock cycle, without timing restrictions with respect to the precharge request.
- 11. A memory device according to claim 9, wherein the indication that the at least one specified timing requirement has been satisfied for at least that memory bank comprises:
an indication that at least one of a local write back timing requirement and a local write recovery timing requirement have been satisfied for at least that memory bank, and wherein the means for executing is responsive to the precharge request and to the indication that at least one of the local write back timing requirement and the local write recovery timing requirement have been satisfied.
- 12. A memory device according to claim 11, wherein the local write back timing requirement indicates that a first specified time elapsed after a prior bank activation command to allow satisfactory write back to that memory bank.
- 13. A memory device according to claim 11, wherein the local write recovery timing requirement indicates that a second specified time has elapsed after a prior write command to allow satisfactory write recovery to that memory bank.
- 14. A memory device according to claim 9, wherein the means for executing comprises a NAND gate having a first input responsive to the output of the storing means, a second input responsive to a first indication that the at least one specified timing requirement has been satisfied for at least that memory bank, and a third input responsive to a second indication that another specified timing requirement has been satisfied for at least that memory bank.
- 15. A memory device according to claim 14, wherein the first indication comprises a first indication that a write recovery timing requirement has been satisfied for at least that memory bank, and the second indication comprises a second indication that a write back timing requirement has been satisfied for at least that memory bank.
- 16. A memory device according to claim 15, wherein the spacing between the precharge execution and one of the precharge command and the precharge-all command is adjustable such that the precharge request is executable at any time with respect to one of the precharge command and the precharge-all command, respectively.
- 17. A memory device according to claim 16, wherein the spacing between the precharge request and one of the precharge command and the precharge-all command, comprises a variable number of clock cycles including zero clock cycles such that the precharge request is executable at any time with respect to one of the precharge command and the precharge-all command
- 18. A memory device according to claim 9, wherein the indication that the at least one specified timing requirement has been satisfied for at least that memory bank comprises a write recovery timing signal indicating that a write recovery timing requirement has been satisfied for at least that memory bank and a write back timing signal indicating that a write back timing requirement has been satisfied for at least that memory bank, and
wherein the means for executing executes the local precharge bank command at any clock cycle subsequent to the precharge request or within the same clock cycle as the precharge request, when the write recovery timing signal and the write back timing signal are input into the means for executing.
- 19. A memory device according to claim 3, wherein the means for generating comprises:
means, responsive to at least one of an active bank signal, an external precharge-all command, an external precharge command, a bank address signal, and an external auto refresh command, for detecting validity of one of the external precharge command and the external precharge-all command, and for generating the precharge request if one of a valid external precharge command and a valid external precharge-all command is detected.
- 20. A memory device according to claim 19, wherein the means for detecting validity, comprises:
a first NAND gate having a first input responsive to an inverted external bank address signal, and a second input responsive to an inverted external precharge-all command; a second NAND gate having a first input responsive to the output of the first NAND gate, a second input responsive to an external precharge command, and a third input responsive to a bank active signal; a third NAND gate having a first input responsive to an external auto refresh command and a second input responsive to an external or internal bank address; and a fourth NAND gate having a first input responsive to an output of the second NAND gate, and a second input responsive to an output of the third NAND gate.
- 21. A memory device according to claim 19, wherein the means for detecting validity outputs a precharge request signal.
- 22. A memory device according to claim 21, further comprising a reset circuit for resetting the precharge request, the reset circuit having an input responsive to the output of the means for posting, an output of the reset circuit coupled to a gate electrode of a first PMOS transistor.
- 23. A memory device according to claim 21, further comprising an initialization circuit, responsive to a reset signal, the initialization circuit comprising an inverter coupled to a gate electrode of a third PMOS transistor, wherein a source of the third PMOS transistor is coupled to a source electrode of a second PMOS transistor and a drain of the third PMOS transistor is coupled to a drain of an NMOS transistor.
- 24. A memory device according to claim 2, wherein the means for storing the precharge request, comprises:
an NMOS transistor that is coupled to the output of the means for detecting validity, and wherein the NMOS transistor is turned on in response to a valid precharge request that is output from the means for detecting validity to thereby cause the means for storing to store the precharge request for further execution.
- 25. A memory device according to claim 24, wherein the means for storing further comprises:
a latch circuit having an input responsive to an output from the NMOS transistor that causes the latch circuit to flip to store the precharge request for further execution.
- 26. A memory device according to claim 25, wherein the latch circuit, comprises:
first and second cross-coupled inverters, the first cross-coupled inverter having an input responsive to the precharge request, and the second cross-coupled inverter having an input responsive to the output of the first cross-coupled inverter, wherein an output of the second cross-coupled inverter is fed back to the input of the first cross-coupled inverter.
- 27. A memory device according to claim 2, wherein means for generating generates a precharge request based on one of an external precharge command and an external precharge-all command.
- 28. A memory device according to claim 27, wherein the local precharge request is generated without timing restrictions with respect to execution of one of an external precharge command and an external precharge-all command.
- 29. A memory device according to claim 27, wherein the local precharge request is generated at any time after one of a write command and a bank activation command without one of a write recovery timing limitation and/or write back timing limitation, respectively.
- 30. A memory device according to claim 2, wherein timing of the precharge request with respect to one of a write command and a bank activation command is not subject to one of a write recovery timing limitation and/or a write back timing limitation, respectively.
- 31. A memory device according to claim 2, wherein spacing between one of the external precharge command and the external precharge-all command and a write command is adjustable to provide variable spacing between the one of the external precharge command and the external precharge-all command and the write command.
- 32. A memory device according to claim 2, wherein spacing between one of the external precharge command and the external precharge-all command and a bank activation command is adjustable to provide variable spacing between the bank activation command and one of the external precharge command and the external precharge-all command.
- 33. A memory device according to claim 32, wherein spacing of one of the local precharge bank command is fixed with respect to the bank activation command.
- 34. A memory device according to claim 2, wherein the local precharge bank command is executed at any time after a precharge request is generated, respectively.
- 35. A memory device according to claim 2, wherein the local precharge bank command is generated at any time after a write command.
- 36. A memory device according to claim 2, wherein when the means for generating generates the precharge request upon reception of an precharge command, the precharge request will be stored if the memory bank is active and is selected by a bank address.
- 37. A memory device according to claim 2, wherein when the means for generating generates the precharge request upon reception of an precharge-all command, the precharge request will be stored if the memory bank is active.
- 38. A memory device according to claim 36, wherein the memory bank is active when a word line is active.
- 39. A memory device according to claim 37, wherein the memory bank is active when a word line is active.
- 40. A memory device according to claim 2, further comprising:
means for delaying execution of the precharge request until an indication is provided that at least one specified timing requirement is satisfied for at least that memory bank; and means for executing the precharge request to generate a local precharge bank command, without timing restrictions with respect to a precharge request, at any time after the indication is provided that the at least one specified timing requirement has been satisfied for at least that memory bank
- 41. A memory device according to claim 40, wherein the means for delaying execution, comprises:
means for storing the precharge request; and means for holding execution of the precharge request until the indication is provided that the at least one specified timing requirement has been satisfied for at least that memory bank.
- 42. A memory device according to claim 41, wherein the specified timing requirements comprise a local write back timing requirement and a local write recovery timing requirement.
- 43. A memory device according to claim 42, wherein the local write back timing requirement indicates that a first specified time elapsed after a prior bank activation command to thereby allow satisfactory write back for at least that memory bank.
- 44. A memory device according to claim 42, wherein the local write recovery timing requirement indicates that a second specified time has elapsed after a prior write command to thereby allow satisfactory write recovery for at least that memory bank.
- 45. A memory device according to claim 40, wherein the precharge command is executed without delay if the specified timing requirements are met when the precharge request is generated.
- 46. A method of generating one of a local precharge bank command in a memory device, comprising:
generating a precharge request, wherein the precharge request used to execute a local precharge bank command, without timing restrictions with respect to the precharge request.
- 47. A method of generating a local precharge bank command in a memory device according to claim 46, further comprising:
posting the precharge request, responsive to an indication that at least one specified timing requirement has been satisfied for at least that memory bank, such that execution of the local precharge bank command is delayed until the indication that the at least one specified timing requirement has been satisfied for at least that memory bank is provided.
- 48. A method of generating a local precharge bank command in a memory device according to claim 47, wherein posting, comprises:
holding the precharge request until the indication that the at least one specified timing requirement has been satisfied for at least that memory bank is provided, so that execution of a local precharge bank command is delayed until the indication is provided.
- 49. A method of generating a local precharge bank command in a memory device according to claim 47, wherein posting, comprises:
sampling and storing the precharge request; and holding execution of the stored precharge request until the holding means receives the indication that the at least one specified timing requirement has been satisfied for at least that memory bank.
- 50. A method of generating a local precharge bank command in a memory device according to claim 49, wherein posting, further comprises:
executing a local precharge bank command, responsive to the precharge request and to the indication that the at least one specified timing requirement has been satisfied for at least that memory bank, any time without timing restrictions with respect to the precharge request, when the indication is received that the at least one specified timing requirement has been satisfied for at least that memory bank indicating that specified timing requirements are fulfilled.
- 51. A method of generating a local precharge bank command in a memory device according to claim 49, wherein sampling and storing further comprises:
sampling one of an external precharge command and an external precharge-all command; determining which one of the external precharge command and the external precharge-all command is present; determining whether the memory bank is active; and storing a local precharge request in the memory bank in response to one of the external precharge command and the external precharge-all command, respectively, when the memory bank is active.
- 52. A method of generating a local precharge bank command in a memory device according to claim 52, wherein when the external precharge command is present, the memory bank is active, and the memory bank is selected by an external bank address, the external precharge command in the memory bank is stored as the local precharge request.
- 53. A method of generating a local precharge bank command in a memory device according to claim 52, wherein when the external precharge-all command is present and the memory bank is active, the external precharge-all command is stored in the memory bank as the local precharge request.
- 54. A method of generating a local precharge bank command in a memory device according to claim 49, wherein the spacing between the local precharge bank command and one of the precharge command and the precharge-all command is adjustable such that the local precharge command is executable at any time with respect to one of the precharge command and the precharge-all command.
- 55. A method of generating a local precharge bank command in a memory device according to claim 49, wherein the spacing between the local precharge command and one of the precharge command and the precharge-all command, comprises a variable number of clock cycles such that the local precharge command is executable at any time with respect to one of the precharge command and the precharge-all command
- 56. A method of generating a local precharge bank command in a memory device according to claim 50, wherein the indication that the at least one specified timing requirement has been satisfied for at least that memory bank comprises a write recovery timing signal indicating that a write recovery timing requirement has been satisfied for at least that memory bank and a write back timing signal indicating that a write back timing requirement has been satisfied for at least that memory bank, and
wherein executing comprises executing the local precharge bank command at any clock cycle subsequent to the precharge request, when the write recovery timing signal and the write back timing signal are provided.
- 57. A memory device, comprising:
a memory array including at least one memory bank; a plurality of input/output lines coupled to the memory array, wherein each of the memory banks includes a local precharge control unit adapted to generate a precharge banks signal.
- 58. A memory device according to claim 57, further comprising:
a global memory control unit that generates one of an external precharge command, an external precharge-all command, and at least one bank address in response to external commands and external addresses input into the global memory control unit, and wherein the local precharge control unit is responsive to input signal from the global memory control unit.
- 59. A memory device according to claim 58, wherein each local precharge control unit comprises:
a bank decoder that generates a bank select signal in response to the at least one bank address; a write back timer that generates a write back signal; a write recovery timer that generates a write recover signal; a bank status register that generates a bank activation signal; and a precharge request block that receives one of the external precharge command and the external precharge-all command, and wherein the precharge request block is adapted to generate a local precharge bank command in response to at least one of the bank select signal, the bank activation signal, the write back signal, and the write recover signal.
- 60. A memory device according to claim 58, wherein the precharge request block generates a local precharge bank command in response to at least one of the bank select signal, the bank activation signal, the write back signal, and the write recover signal when the precharge request block receives the external precharge command.
- 61. A memory device according to claim 59, wherein the precharge request block generates a local precharge bank command in response to the bank activation signal, the write back signal, and the write recover signal when the precharge request block receives the external precharge-all command.