So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
The present invention generally relates to microelectronic devices. More particularly, the invention relates to programmable structures suitable for various integrated circuit applications, for example, in memory devices.
The present invention may be described in terms of various functional components. It should be appreciated that such functional components may be realized by any number of hardware or structural components configured to perform the specified functions. For example, the present invention may employ various integrated components comprised of various electrically devices, such as resistors, transistors, capacitors, diodes and such components, the behaviour of which may be suitably configured for various intended purposes. In addition, the present invention may be practised in any integrated circuit application where an effective reversible polarity is desired. Such general applications may be appreciated by those skilled in the art in light of the present disclosure are not described in detail. Further, it should be noted that various components may be suitably coupled or connected to other components within exemplary circuits, and that such connections and couplings can be realized by direct connection between components and by connections through other components and devices located in between.
The column address buffer 16 and the row address buffer 20 are adapted to buffer the address signal. Outputs of the column address buffer 16 are connected to a column decoder 14. Outputs of the row address buffer 20 are connected to a row decoder 18. The column decoder and the row decoder 14, 18 are adapted to decode from the addresses physical positions of the addressed memory cells 40 received from the column address buffer 16 and the row address buffer 20, respectively, to provide signal inputs to the array 12 such that the addressed row and column of the memory cells can be selected. In
The function of an auto-refresh operation is to automatically generate the addresses of the memory cells to be refreshed, and to carry out all the logical steps necessary to perform the refresh operation. It may be advantageous to refresh the memory cells on more than one word line at a time. Furthermore, it may be advantageous to refresh only a subset of the memory cells of the array 12. The array 12 may comprise several memory banks with memory cells. The embodiment of the array 12 shown in
In one embodiment, the refresh circuit 19 generates addresses and applies the addresses to the row decoder 18. Certain portions of the refresh circuit 19 may be part of the DRAM. Conversely, some or all of the refresh circuit 19 may reside external to the DRAM 10.
The refresh circuit 19 is connected with an evaluating circuit 43. The evaluating circuit 43 is connected with a storage 44 that comprises at least one valid bit 45. In a further embodiment, several valid bits 45 are arranged in the storage 44. The valid bit 45 is assigned to a subset of memory cells of the array 12. In one embodiment, a valid bit 45 may be assigned to one memory cell 40. In a further embodiment, a valid bit 45 may be assigned to a row of memory cells 40. Either also other subsets of memory elements of the array 12 may be assigned to the valid bit 45. Additionally, the memory controller 42 is connected with the refresh circuit 19 and the evaluating circuit 43. The memory controller 42 is connected with the address register 41. In a further embodiment, the evaluating circuit 43 may be connected with the address register 41.
The refresh circuit 19 delivers the generated addresses of the memory cells that are to be refreshed to the evaluating circuit 43. The evaluating circuit 43 compares a valid bit 45 that is assigned to the memory cells of the received addresses and checks whether the valid bit 45 stores an enable or a disable value. If the valid bit 45 comprises an enable value, then the evaluating circuit 43 delivers an enable signal to the refresh circuit 19. The refresh circuit 19 delivers the generated addresses after receiving an enable signal to the row decoder 18.
If the valid bit 45 comprises a disable value for the received addresses, then the evaluating circuit 43 delivers a disable signal to the refresh circuit 19. The refresh circuit 19 does not deliver an address for which a disable signal is received from the evaluating circuit 43 to the row decoder 18. Thus only the memory cells of the array 12 are refreshed for which a valid bit with an enable value is stored in the storage 44.
The values of the valid bits 45 may be preset at an initializing operation of the DRAM. In a further embodiment, the values of the valid bits 45 may be adjusted during the operation of the DRAM 10.
In one embodiment, the valid bit 45 of a subset of memory cells is set to an enable value if data is written in a memory cell of the subset of memory cells. Therefore, the evaluating circuit 43 may be connected to the address register 41 and may receive an information signal from the memory controller 42 that for the actual addresses of the address register 41 a writing operation is performed. After receiving the writing signal and the addresses, the evaluating circuit 43 searches for the valid bit 45 that is assigned to the received addresses and stores an enable signal to the respective valid bit 45.
In a further embodiment, the evaluating circuit 43 may reset the valid bits 45 to a disable value for a subset of memory cells if for a predetermined time period no reading or writing was processed for the subset of memory cells.
In a further embodiment, the DRAM 10 includes four 128 MB memory quadrants, each of which corresponds to an individual logical memory bank. For accessing a memory cell, a corresponding word line 46 is put on a high voltage that causes the access transistor 28 of each memory cell coupled to that word line to be conductive. Accordingly, charge will travel either to the bit line from the memory cell (in the case of a physical 1) or from the bit line to the memory cell (in the case of a physical 0). In the depicted detail, two bit lines 47 are connected with a sense amplifier 24. The two bit lines are guided over a passing section 27 comprising two transistors. In this embodiment, the passing section 22 is switching a current state to connect the two bit lines 47 with the sense amplifier 24. The pass section 27 is provided to isolate the sense amplifier 24 from the bit lines 47 if necessary. By using the pass section 27, the sense amplifier 24 may be shared by multiple bit lines. The sense amplifier 24, when activated by signal SET, will sense the physical 1 or 0 and generate a differential voltage that corresponds with the signal read from the memory cell. A precharge circuit 22 includes a plurality transistors (3 shown) and puts the bit lines at Veq when the transistors are conductive (i.e., closed).
A second passing section 26 with two transistors is provided between each column and local data lines 48. Since the sense amplifier 24 associated with each column will generate a bit that corresponds to a memory cell associated with the selected row (as determined by the selected word line), a column select signal CSL is provided to the second pass section 26 to select one of the columns, which is coupled to a local data line 48. Some architectures will include multiple I/Os in which case a single select signal CSL is coupled to the pass sections of more than one column.
A secondary sense amplifier 25 is coupled to the second pass section 26 and to I/0 lines to amplify the voltage level and drive this signal across the DRAM. In a further embodiment, the secondary sense amplifier 25 is connected with write buffers for driving the I/0 lines. When a read command is issued, the second pass section 26 gets activated and the primary sense amplifier 24 is connected to the secondary sense amplifier 25.
A write cycle will be performed in a similar fashion as a read cycle. First, a word line 46 that is connected with the row decoder 18 must have been previously activated, for example, a bank is active. Subsequently, data is placed on the I/O lines and the second transfer section 26 is activated by a CSL signal. During a write cycle, the secondary sense amplifier 25 is not activated, but the write drivers are connected instead by the second passing section 26 with the local data lines 48. The write drivers overwrite the primary sense amplifier, causing the two bit lines to change (only in the case of a different data state) the voltages and the data is transferred to the memory cell 40.
In addition to read and write cycles, the DRAM device must refresh each of its memory cells 40 within a specified time period, or the data may be lost. The requirement to refresh a DRAM 10 is integral to the capacitor structure of the individual memory cells 40 as the stored charge tend to dissipate over time due to charge leakage from the capacitor. Each of the cells must be read and then written back in order to restore, or refresh, the data-bearing charge before the charge dissipates too much to be reliable read. The rate at which this charge dissipation occurs is controlled by various manufacturing in process parameters, therefore, the maximum allowable time between refresh cycles is typically specified by the manufacturer in accordance with defined standards.
The refresh operation may take place when the DRAM is idle, in example, there are no data read or write operations being performed, or when the memory controller determines that the maximum allowable refresh period is about to expire. Below are discussed the exemplary modes of refreshing a DRAM device that can utilize concepts of the present invention. During a self refresh, a single command is issued from the memory controller 42 to the refresh circuit 19 and the refresh circuit 19 refreshes all the memory cells 40 of the array 12 or an individual memory bank 53, 54, 55, 56 in sequence, whereby also a plurality of memory cells can be refreshed simultaneously.
During an auto-refresh, the refresh circuit 19 automatically generates the row addresses and refreshes each row upon receipt of a command from the memory controller 42. Auto-refresh may be executed in two modes: distributed mode or burst mode. In the distributed mode, the refresh circuit 19 will refresh one or more rows in sequence, but not the entire array or memory bank at once. The memory controller 42 keeps track of the time elapsed since the last refresh of each memory cell 40 or memory bank of memory cells, and can thus cycle through the entire array 12 within the maximum refresh period by performing multiple refresh steps. In the burst refresh mode, the memory controller 42 provides a series of refresh commands to the refresh circuit 19 to refresh the entire array 12.
The refresh circuit 19 increments the starting address for a predetermined value with the incrementing circuit 49 and delivers the incremented address to the AND gate 51 and the evaluating circuit 43. The evaluating circuit 43 checks the valid bit 45 that is assigned to the incremented address. Depending on the value of the valid bit 45, the evaluating circuit 43 delivers an enable or a disable signal to the AND gate 51. The AND gate 51 passes the incremented address to the row decoder 18 if an enable signal is delivered on the enable line 50.
The refresh circuit 19 increments starting from the starting address to an end address. Depending on the values of the valid bits of the incremented addresses, the AND gate 51 delivers the incremented addresses to the row decoder 18. Therefore, only the memory cells 40 with valid bits 45 with enable values are refreshed. Thus it is possible to refresh subsets of memory cells 40 of the array 12.
Referring to
In the embodiment in which the evaluating circuit 43 is connected to the address register 41 and to the memory controller 42, the evaluating circuit 43 receives information for which addresses that means for which memory cells a writing operation is processed. If a writing operation is processed for an address of memory cells, then the evaluating circuit 43 determines the valid bits 44 that correspond to the memory cell address and stores an enable value in the valid bit. Thus the valid bits 45 are programmed to an enable value if a data is written in the respective memory cell. Furthermore, the evaluating circuit 43 may monitor the reading and writing operations and the evaluating circuit 43 may store a disable value in the corresponding valid bits 45 if for a predetermined period of time no writing or reading operation has been performed with the memory cells that are assigned to the valid bit.
The arrangements discussed above allow the refresh command period to be flexible adjusted to the amount of relevant data currently stored in the DRAM 10. Depending on the embodiment, the valid bits may be automatically set upon a write command to the related bank, row and column address. A reset of the valid bits 45 may require a specific action from the memory controller 42. In one embodiment, a write valid control signal is added to the list of command signals that are stored in the memory controller 42. The write valid command will activate the write valid signal. The address lines specify the bank and row address of the memory cells of the valid bits that are to be invalidated. If the write valid command is received from the memory controller 42 by input signals, the memory controller 42 delivers a reset signal to the evaluating circuit 43. The evaluating circuit 43 resets the value bits of the memory cells whose addresses are delivered from the address register 41 to the evaluating circuit 43.
In a further embodiment, a modified write command will be used to access the storage 44 with the valid bits 45. One advantage of this implementation is that no extra signals are required. The procedure is at follows: At first a specific reset valid bit flag in a mode register 57 (
In a third implementation, the whole storage 44 can be reset in a single step. This can be achieved in example by adding a specific reset valid signal to the command list or use a reset valid memory flag in the mode register 57 in combination with a mode register set command. Alternatively, this reset function can be made bank specific by using a bank address. This reset function would be advantageous for example after a power-up memory test, which would leave all valid bits 45 being set due to the memory test, but result in no relevant data being stored in the memory.
In a further embodiment, a destructive read command is added to the memory's command set. The read operation would be executed as a regular read command, but the associated valid bit would be reset if a destructive read command is received from the memory controller 42.
While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.