Next Patent: Memory circuit having a plurality of memory areas
Next Patent: Memory circuit having a plurality of memory areas
Plaque It!
Sponsored by: Flash of Genius |
[0001] The present invention relates to the field of semiconductor memories. More specifically, the invention relates to random access memory (RAM) devices, which are also known as volatile memory devices. Still more specifically, the invention relates to a dynamic random access memory device (DRAM) to be used as a static RAM (SRAM).
[0002] Random access memories (RAMs) can be grouped in two broad categories: dynamic RAMs (DRAMs) and static RAMs (SRAMs). A DRAM is a memory device in which each memory cell comprises a small capacitor and a select transistor. The capacitor is used to store one of two prescribed values of electrical charges, representative of one bit of information, while the transistor is used to selectively allow access to the capacitor for reading or writing the stored information.
[0003] On the contrary, an SRAM is a memory device in which each memory cell comprises four or even six transistors and two resistors arranged to form a bistable circuit, i.e., a latch. The simpler structure of the DRAM memory cell as compared to the SRAM allows a very large array of memory cells to be integrated in a single semiconductor chip, and to achieve a larger storage capacity per unit chip area.
[0004] A drawback of DRAMs resides in the fact that since the information is stored in terms of an electrical charge of the memory cell capacitor, it is subjected to being lost, primarily due to the inevitable leakages of electrons across the semiconductor junctions. This makes it necessary to perform a periodic refresh operation of the information stored in each memory cell with a prescribed time period, so as to restore the prescribed electrical charge of the capacitor. SRAMs are not affected by this problem because of the latch structure of the memory cells thereof.
[0005] Several attempts have been made to make the DRAM refresh operation substantially transparent to the user. Several DRAM devices have also been proposed which do not require external signals to manage the refresh operation.
[0006] A common feature of the proposed DRAM devices is the provision of internal circuits adapted to generate the signals necessary to perform the refresh operation. These signals typically include the row address strobe (RAS) signal, the column address strobe (CAS) signal, the bit line pre-charge (PCH) signal and the sense (SEN) signal. In this way, the signals necessary to perform the refresh operation are not generated by a memory controller external to the memory device. Instead, they are generated by circuits internal to the memory device. DRAMs having this capability are therefore called self-refreshing. From the outside, a self-refreshing DRAM device can thus have the same number and kind of electrical terminals (pins) as an SRAM device of equal size.
[0007] The proposed self-refreshing DRAMs leave, however, the following problem unresolved. A feature of significant importance of an SRAM device is the certainty that the memory device provides a reply in a prescribed time to an external data request. In the proposed self-refreshing DRAMs the refresh procedure is hidden to the external user, but it is still performed internally to the memory device. It may thus happen that both the self-refreshing circuits internal to the memory device and the external user need to access a same memory word at the same time. The former for refreshing the information stored in the memory cells of the memory word, and the latter for reading or writing information from or to the memory word.
[0008] Additionally, due to the typical arrangement of the memory cells in a two-dimensional array, the above conflict occurs not only when the self-refreshing circuits and the external user need to access the very same memory word, but more generally when a simultaneous access to a same row of memory cells is required. A priority arbitration is thus necessary to establish which one of the two access requests has a higher priority. Normally, a higher priority is assigned to the external access request so that a suspension of the refresh operation becomes inevitable. If, as a consequence of repeated external access requests, the refresh operation is suspended too often, the data stored in some memory cells may get lost, since such memory cells are not refreshed within a prescribed time.
[0009] More recently, approaches have been proposed which implement write-back methods. According to these methods, the most recent accesses to the memory are performed on a back-up SRAM before being transferred to the array of DRAM memory cells. However, the internal architecture of the memory and the circuit complexity at least partially frustrate the advantage in terms of occupation of the chip area derived from using the small DRAM memory cell.
[0010] In view of the foregoing background, an object of the present invention is to provide a memory device functionally and structurally adapted to overcome the drawbacks of the prior art devices.
[0011] This and other objects, advantages and features according to the present invention are provided by a random access semiconductor memory comprising at least two memory banks, with each memory bank including a respective two-dimensional array of dynamic random access memory cells. Self-refresh circuits continuously submit the memory cells of the respective array to a refresh operation of data stored therein independently of the other memory bank.
[0012] The memory further includes first and second circuit means. The first circuit means are for selectively accessing one of the at least two memory banks in response to an external request of access to a memory location belonging to the memory bank. The second circuit means are for causing, in the accessed memory bank, a suspension of the refresh operation of the data stored in the memory cells of the respective array while serving the external request of access. The refresh operation is performed in the remaining memory bank.
[0013] Preferably, the first circuit means comprises a least significant bit of an external memory address, so that sequential access requests to contiguous memory locations in a memory address space causes sequential accesses to the memory banks. Advantageously, each of the memory banks comprises third circuit means for preventing the suspension of the refresh operation of the data stored in the memory cells of the respective array when a prescribed minimum period of the refresh operation is not respected. Preferably, the third circuit means causes the memory to generate an externally accessible alarm signal indicating that external access requests to the memory locations are suspended.
[0014] In one embodiment, the self-refresh circuits comprise a counter circuit for generating internal address signals for scanning the memory locations of the memory bank. The second circuit means comprise a count suspension circuit for suspending a count by the counter circuit.
[0015] The third circuit means may comprise a watch dog circuit operatively connected to the counter and re-triggered by the counter each time the counter circuit reaches a prescribed count value, for example, each time a counter overflow occurs. The watch dog circuit generates a memory bank alarm signal if two successive occurrences of the prescribed count, for example, two successive counter overflows, do not occur within a prescribed time with respect to the prescribed minimum period.
[0016] The watch dog circuit can comprise a re-triggerable monostable circuit. Preferably, the alarm signal is generated when at least one of the memory bank alarm signals is generated. The count suspension circuit can, for example, prevent a suspension of the count by the counter when the respective memory bank alarm signal is generated.
[0017] Advantageously, each memory bank comprises a row selection circuit for selecting a row of the respective two-dimensional array of memory cells according to a first group of bits of the external memory address, and a memory word selection circuit for selecting a memory word within the selected row according to a second group of bits of the external memory address. The first and second groups of bits are chosen to reduce or minimize a probability of successive accesses to the same memory bank in response to successive external access requests.
[0018] The features and advantages of the present invention will appear from the following detailed description of one embodiment thereof, provided merely by way of a non-limiting example, illustrated in the annexed drawings, wherein:
[0019]
[0020]
[0021] With reference to the drawings, and particularly to
[0022] By way of example only, it is assumed that the memory is a 16 MB device with a parallel output of thirty-two bits. The memory device is thus arranged as 512 K memory words of thirty-two bits each. In this illustrated example, each one of the thirty-two memory banks MB
[0023] Each memory bank MB
[0024] The memory device receives address signals carried by an external address bus ADD. In this example, since 512 K memory words have to be addressed, the external address bus ADD includes nineteen address signal lines. Through conventional input buffer circuits IBUF the external address bus ADD is coupled to an internal memory address bus A.
[0025] A group of lines A[
[0026] Advantageously, the group of lines A[
[0027] The remaining lines A[
[0028] Each memory bank MB
[0029] The memory device is supplied with a voltage supply VDD and with a reference voltage GND, and in the shown example, with an external clock signal CLK used by the memory to synchronize the read and write operations, as well as other operations, such as the refresh operation to an external time base. The supply to the memory device of the external clock signal is not limited to the present invention. This is required only if a synchronous memory device is to be obtained.
[0030] No external clock signal is required in case the memory device has to be asynchronous. In this case, the internal memory timing can be determined by an internal clock signal. This clock signal is generated internal to the memory device using phase-locked loop (PLL) circuits or address transition detection (ATD) circuits, for example.
[0031] The memory device further comprises a control logic CTL receiving external control signals such as a chip enable signal CE for selecting the memory device, an output enable signal OE for enabling the memory device to output data read from the memory cells thereof onto the external data bus DAT, and a write enable signal WE for enabling an operation of data written into the memory device.
[0032] The control logic CTL can receive further external control signals WBY[
[0033] A burst controller circuit block BRST can be provided in the memory device for allowing burst accesses to the memory in read or write modes, that is, automatic sequential accesses to memory words following a starting memory word. The request to perform a burst read or write is signaled to the memory device by a mode signal MD, and the burst controller circuit BRST receives an address Ady of the starting memory word. The burst controller circuit allows the read/write operations of streams of data starting from a single, externally supplied address to be speeded up.
[0034]
[0035] Each memory cell MC is located at the intersection between a respective row and a respective column of the array
[0036] A row address decoder and a row selection circuit DEC
[0037] The row address signal lines RADD are provided by a two-input multiplexer MUX
[0038] In this example, the counter circuit CNT comprises a ten-bit counter and the counter output lines CNT[
[0039] The multiplexer MUX
[0040] The counter circuit CNT is decremented each time a decrement signal
[0041] Each time the counter circuit CNT reaches a prescribed count value, for example, each time the counter circuit overflows, a flag signal TC (terminal count) is asserted by the counter circuit CNT. The flag signal TC is supplied to a re-triggerable monostable circuit
[0042] The columns C
[0043] Circuit block SA is also intended to include circuits to perform a refresh operation of the data stored in the memory cells MC of a row R
[0044] The columns C
[0045] The output of circuit block SA is represented by sixteen memory words W
[0046] An output SW of the multiplexer MUX
[0047] Operation of the memory will now be described. When an external device, for example, a microprocessor, needs to access the memory device either for reading or for writing data, the memory device select signal CE, and for a read access the output enable signal OE are asserted, and an address is supplied to the memory device through the external address bus ADD.
[0048] The decoder circuit DEC decodes a digital code carried by the group A[
[0049] The assertion of the memory bank select signal Bi causes the three-state read/write buffer
[0050] Referring back to the selected memory bank Bi and to
[0051] The circuits of circuit block SA perform the operation of pre-charging the columns, equalization, sensing and amplification of the sensed data, and supplies to the multiplexer MUX
[0052] Since the memory cells MC are DRAM cells, it is necessary to perform a continuous scanning of the rows to periodically refresh the data stored in the memory cells MC. The counter circuit CNT provided in each memory bank is normally decremented by one each time a prescribed transition front (for example, the rising front) is seen on signal
[0053] When the memory bank is not selected the signal
[0054] When a given memory bank MBi is selected as a consequence of an external request of read or write access to a memory word of the memory bank, and assuming that the respective memory bank alarm signal ALi is not asserted, the refresh operation of the memory cells of the bank is suspended. The signal
[0055] For the memory cells MC not to loose the data stored therein, the refresh thereof must not be delayed too much. In other words, a prescribed minimum period of the refresh operation must be met to be sure that no memory cells loose the data stored therein. The refresh operation is suspended too frequently due to continuous access requests to a same memory bank, thus slowing down the scanning of the rows of the array
[0056] The monostable circuit
[0057] The assertion of the memory bank alarm signal ALi performs two functions. A first function is to mask the memory bank selection signal Bi so that the refresh operation can be no longer be suspended even if an external request of access to the memory bank is received. A logic 1 on signal ALi forces the signal
[0058] All the memory bank alarm signals AL
[0059] For a ten-bit counter CNT as in the present example, assuming that the clock signal CLK has a frequency of 100 MHz (corresponding to a clock period TCLK of 10 ns), if no suspensions take place, the counter CNT will overflow every 10 μs. This time is clearly higher in case external access requests to memory words of the memory bank occur.
[0060] The choice of the time duration of the count down implemented by the monostable circuit
[0061] A monostable circuit
[0062] The detailed description of the present invention provided above is merely an example of one possible practical implementation. Clearly, neither the memory capacity nor the number of memory banks are to be intended as limited. In principle, the memory should include at least two memory banks, so that while an external request of access to a memory word of one bank is served the refresh procedure can go on in the other bank.
[0063] As a general rule, for a memory of a given size, the higher the number of memory banks in which the memory is subdivided the lower the probability that an alarm is generated. However, an increase in the number of memory banks will normally mean an increase in the chip area due to the necessity of replicating some circuits. It is to be observed that the increase in the chip area can be not substantial. Referring to the above example, 512 sense amplifiers are required for each of the thirty-two memory banks, for a total of 16 K sense amplifier circuits. The overall number of sense amplifier circuits does not change if sixty-four or even 128 memory banks are provided instead of thirty-two. The circuits to be replicated for a higher number of times are, for example, the counters and the monostable circuit.
[0064] The evaluation of the number of memory banks into which the memory device has to be subdivided shall be done on the basis of technical considerations relating to the chip area occupation, and on statistical considerations relating to the application context.
[0065] Additionally, even if in the example described the lines of the internal address bus A have been subdivided so that the lines A[
[0066] This depends on the kind of application the memory is intended for, for example, for a microprogram running on the microprocessor. By analyzing the specific application of the memory device (general purpose, stream video, packet storage in networking applications, and so on) the memory designer can forecast the kind of accesses that the microprocessor will require to the memory device, and an access spectrum can be determined.
[0067] By applying the theory of probability to such an access spectrum, a law for assigning the memory addresses to the rows and columns of the memory banks can be determined. The assignment law is such as to substantially minimize the probability that successive access requests by the microprocessor cause the selection of a same memory bank. In this way, the probability that the refresh operation running on a given memory bank is suspended is minimized.
[0068] The memory device according to the present invention, without adopting the one-transistor memory cell structure of the DRAM devices, is externally and functionally equivalent to an SRAM device. In fact, unless the alarm signal is set, the execution of the refresh operation is completely transparent to the external user. The alarm signal is set only in exceptional situations, and as discussed above, the designer of the memory device can make the occurrence of such an exceptional situation extremely unlikely.
[0069] In particular, if the internal memory timing is governed by an external clock signal supplied to the memory device, the latter is externally and functionally equivalent to a synchronous SRAM, otherwise it is equivalent to an asynchronous SRAM. As a result of the present invention, it is thus possible to provide memory devices having a typical high storage capacity of a DRAM, that externally appears and operates as an SRAM. The present invention can apply to stand-alone memories and to embedded memories as well.