Modified aggressive precharge DRAM controller

Electrical computers and digital processing systems: memory – Storage accessing and control – Access timing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S105000, C711S151000, C711S170000

Reexamination Certificate

active

06470433

ABSTRACT:

FIELD OF THE INVENTION
This invention relates to memory controllers. More particularly, the invention relates to controllers for DRAM memories wherein pages, subpages or rows must be activated before accesses can be made to the pages, subpages or rows.
BACKGROUND
An individual memory location in a dynamic random access memory (“DRAM”) is specified using a row address and a column address. A particular row in a DRAM is commonly referred to as a “page” of memory. It is common to organize multiple DRAM chips into multiple banks to form a larger memory system. It is also common to organize each individual DRAM chip into multiple banks internally. Further, multi-bank memory systems may be formed using chips that have multiple banks internally. In any of these kinds of multiple-bank systems, a bank address is needed in addition to a row address and column address to specify a single memory location.
Prior to accessing a target memory location in a multi-bank DRAM system, the target memory location's host row and bank must first be activated. After the bank/row activation step has been completed, multiple accesses to columns within the activated bank/row may be performed. Prior to activating and accessing a different row within the same bank, the previously-accessed bank must be precharged. The precharge step is commonly referred to as “closing” a bank/row within the DRAM. Generally speaking, one row in each bank may be active or “open” at any given time in a multi-bank chip. Thus, in a four-bank DRAM, four rows may be active simultaneously.
Each time an activate or precharge command is executed on a given bank, a certain amount of dead time is encountered in relation to memory accesses that could be performed on that bank. For example, after a bank/row activate command is issued to the DRAM chip, the memory controller must wait a predetermined minimum time prior to issuing reads or writes to column addresses within the activated bank/row. Similarly, the memory controller must wait a predetermined minimum time after issuing a precharge command to a bank before issuing an activate command to the same bank. The dead time that results from performing bank/row activates and precharges on the DRAM can dramatically affect the bandwidth that is available for executing memory accesses. For this reason, one of the primary concerns in memory controller design is to determine when precharge commands should be issued to the DRAM.
One prior art strategy in this regard is called the “aggressive precharge” strategy. In a memory controller that employs the aggressive precharge strategy, memory access commands are sent to the memory controller in groups. Prior art aggressive precharge memory controllers are designed to assume that each sequential group of memory access commands will be directed to a different bank/row than was the previous group of memory access commands. For every group, therefore, when the last command in the group is being executed, the prior art aggressive precharge memory controller automatically closes the bank/row being accessed. The chief advantage of the aggressive precharge strategy is that it leaves each bank/row of the DRAM in a ready-to-activate state. When a bank/row needs to be accessed, it need only be activated; it need not be precharged and then activated.
In many DRAM chips, “autoprecharge” memory access command types are provided. In essence, an autoprecharge memory access command is a compound command that combines a read or write burst command with a precharge command. For example, many DRAMs provide a compound burst-read-with-autoprecharge command and a compound burst-write-with-autoprecharge command in addition to simple burst read, burst write, precharge and activate commands. Most prior art aggressive precharge memory controllers make use of the compound command types in lieu of the simple command types in order to conserve memory bandwidth as much as possible.
By way of example,
FIG. 1
illustrates an efficient set of sequential writes issued by an aggressive precharge DRAM controller to a dual data rate DRAM memory system. (In a dual data rate DRAM, the data bus clock speed is typically twice that of the command bus and the address bus.) In this example, four groups of writes are executed. Each sequential group is directed to a different bank of the DRAM, and each group includes four data units to be written. (For simplicity, a group size equals a burst size in this example; in the general case, a group would typically be larger than a burst size.) At time
100
, an activate command A is issued to activate bank A row
0
. At time
102
, an activate command A is issued to activate bank B row
0
. At time
104
, the required minimum wait time for bank A will have passed, so a burst-write-with-autoprecharge command WP is issued to bank A column
0
. This begins a four-unit burst write to bank A indicated on the data bus as DA
0
-DA
3
. While the burst write to bank A is still in progress, an activate command may be issued to bank C row
0
as shown at time
106
. Thereafter, activate commands A and burst-write-with-autoprecharge commands WP can be alternated on the command bus as shown at times
108
-
120
. Each time an activate command is issued, the corresponding bank address and row address are presented on the address bus. By alternating the banks being accessed in this manner (and by alternating the corresponding activate and write commands as shown), the bandwidth of the data bus is maximized: As can be seen in the diagram, every cycle of the data bus is utilized with write data after time
104
. Generally speaking, the same result may be achieved when the group sizes are longer than a burst size. In such a case, more than one burst write would be issued for each group. By alternating the banks being accessed by sequential groups, wasted states on the data bus are eliminated.
By contrast, what happens in a prior art aggressive precharge system when two sequential groups of memory access commands are directed to the same row and bank? This condition is illustrated in FIG.
2
. (The example of
FIG. 2
is again simplified for illustration by assuming that a group size equals a burst size.) An activate command A for the first group is issued at time
200
to bank A row
0
. The burst write starting at bank A column
0
begins at time
204
after the required activation wait time has been observed during time
202
. Consistent with the behavior of prior art aggressive precharge systems, the write command issued at time
204
autoprecharges bank A. In the example being illustrated, however, the next group happens to be directed to the same bank and row as the previous group. Thus, another activate command A must be issued at time
208
to reactivate bank A row
0
. The activate command issued at time
208
cannot be issued sooner because most multi-bank DRAMs do not allow an activate command to be issued to a bank while write data is being clocked into that bank. The burst write for the second group begins at time
212
after the required activation wait time has been observed during time
210
. The result of having the same bank/row accessed back-to-back by two groups is that the data bus states corresponding to times
208
and
210
have been wasted. This inability to efficiently perform back-to-back same bank/row memory accesses represents a significant limitation of prior art aggressive precharge memory controllers.
It is therefore an object of the invention to improve the bandwidth efficiency of aggressive precharge DRAM memory controllers in the context of performing back-to-back same bank/row memory accesses.
SUMMARY OF THE INVENTION
In one aspect, the invention includes a modified aggressive precharge method and apparatus for controlling a DRAM or system of DRAMs. Groups of memory access commands are sent to a DRAM controller. A bank/row activate command indicator is associated with the beginning of each group, and a bank precharge command indicator is associated with the end of each group. Normally, the DRAM controller will close the ba

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Modified aggressive precharge DRAM controller does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Modified aggressive precharge DRAM controller, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Modified aggressive precharge DRAM controller will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2992613

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.