SEMICONDUCTOR MEMORY DEVICE

Abstract: A semiconductor memory device includes: a memory cell array constituted by a plurality of memory cell array units; transfer gates inserted in bit lines between the adjacent memory cell array units; a first and a second column decoders connected to both ends of bit lines in which the transfer gates are inserted; a row decoder connected to word lines of the memory cell array. The row decoder is adapted to be divided selec­ tively in two parts; and two sets of row/column addresses are supplied to the column decoders and the row decoder. Therefore, simultaneous separate accesses to the memory cell array are carried out by the two sets of row/column addresses.

Description: The present invention relates to a semiconductor memory device. The device according to the present invention is used in the case where a simultaneous access by two sets of row/column addresses and a transfer of stored data between a pair of cell array units are carried out. Today's semiconductor memory devices have an enormous capacity and are now used in many fields. In general, a semiconductor memory device is comprised of a plurality of word lines and bit lines, a row decoder and a column decoder, both of which select word lines and bit lines, and a data bus (input/output port). That is, a one-cell-array-to-one-input/output-port structure is adopted. Another modification is that a shift register is arranged in parallel with, for example, a DRAM (dynamic random access memory) cell array. In this memory device, data is transferred in parallel between the cell array and a shift register, a unit of n bits of data is input or output at an input/output port through said shift register, where the number of memory cells which belongs to one word line is N. On the other hand, a unit of one bit of data is input or output at an input/output port at the side of a DRAM cell array. A further modification is that two central processing units which have a common RAM are provided. In this case, the RAM should be accessable simultaneously and independently from the two input/output ports. Such a dual port RAM is realized by using a static random access memory (SRAM) device. That is, this dual port type RAM is provided with two sets of word lines and bit lines in a duplicate manner with respect to an SRAM cell array, and a word decoder and a column decoder is provided with each set, thus enabling a simultaneous and independent memory access. Such a dual port RAM is for example known from EP-A- 0 180 467. It is difficult, however, for a dual port-type SRAM to provide a cell array with duplicate word lines, bit lines, a word decoder, a column decoder, and the like. On the other hand, in the memory of a cell array plus shift register-type DRAM, an access from the shift register side is composed of a unit of words and is not composed of a bit unit of a random access memory. According to the present invention, there is provided a dual port semiconductor memory device comprising:- a memory cell array constituted by a plurality of memory cell array units; transfer gates inserted in bit lines between adjacent memory cell array units; a first and a second column decoder each connected to one end of the bit lines in which said transfer gates are inserted; a row decoder connected to word lines of said memory cell array; said row decoder being adapted to be divided operatively into two parts; a first set of row/column addresses being supplied to said first part of the row decoder and the first column decoder, a second set of row/column addresses being supplied to said second part of the row decoder and said second column decoder; whereby simultaneous separate accesses to said memory cell array are carried out by said two sets of row/column addresses. An embodiment of the present invention can provide a semiconductor memory device wherein a cell array can be divided dynamically through transfer gates and said device can carry out simultaneous and independent accesses. Reference is made, by way of example, to the accompanying drawings, in which:- Fig. 1 shows a prior art semiconductor memory device; Fig. 2 is a block diagram showing a semiconductor memory device for multi-access according to the present invention; Fig. 3 is a block diagram showing an embodiment of the present invention; Fig. 4 is a circuit diagram for explaining the read mode of a memory cell according to the present invention; Fig. 5 is a circuit diagram of an active restorer circuit in Fig. 4; and, Fig. 6 is a waveform diagram for describing the operation of Fig. 4; Fig. 7 is a waveform diagram showing the relationship between the row address and column addresses; Fig. 8 is a block diagram showing the A and B address, the row and column address buffers; Fig. 9 is a terminal connection between the arbitrary inputs vs. outputs; Fig. 10 is a logic table for selection of transfer gates and decoders; Fig. 11 is a functional diagram showing the buffer operation of the cell arrays at both ends; and Fig. 12 is a waveform diagram showing the relationship between the transfer control signal and internal signals. Before the description of the preferred embodiments, a prior art semiconductor memory device for use in simultaneous access is described with reference to Fig. 1. Figure 1 is a block diagram of a conventional multi-access semiconductor memory device, and includes a cell array 10, a row decoder 12, and column decoders 14 for selecting one word line and one bit line from a plurality of word lines WL and a plurality of bit lines BL, and a data bus 15 (input/output port) connected to the column decoder 14. This constitutes a one-cell-array-to-one-input/output-port structure. Figure 2 is a block diagram showing the present invention. The cell array is divided into three units, a₀ , a₁ , and a₂ , which is often used to divide the cell array into a plurality of cell array units. Bit lines between each memory to the adjacent cell array units, respectively, cell array units a₀ , a₁ , and a₂ are connected through transfer gates TR₁ and TR₂ , and word lines of each cell array unit a₀ , a₁ , and a₂ are all connected to a row decoder 12. Both ends of bit lines connected through transfer gates are connected to a pair of column decoders 14, 16, and data buses D A and D B extended from these column decoders. Therefore, the input/output port is composed of the data buses D A and D B . First, if a memory cell array is divided dynamically by transfer gates TR₁ and TR₂ , the memory cell is composed of two memories which can be accessed simultaneously and independently from two locations. For example, if the transfer gate TR₁ is turned OFF and the transfer gate TR₂ turned ON, one memory is formed by a cell array unit a₀ , a row decoder 12, and a column decoder 14, and another memory is formed by cell array units a₁ and a₂ , a row decoder 12, and a column decoder 16. Thus, these two memories can be simultaneously and independently accessed by both a row address R A and a column address C A and a row address R B and a column address C B . Moreover, since the row decoder 12 is dynamically divided into two parts, two word lines can be simultaneously and independently accessed in response to the row addresses R A and R B . Second, if a transfer gate TR₁ is turned ON, and a transfer gate TR₂ is turned OFF, cell array units a₀ and a₁ become a first memory and a cell array a₂ become a second memory, and thus two memories are realized. Third, if both transfer gates TR₁ and TR₂ are turned OFF, a first memory of the cell array unit a₀ and a second memory of the cell array unit a₂ are realized, but the cell array a₁ cannot be a directly accessed. When a selective cell exists in the area of both cell array units a₀ and a₁ the above-mentioned first type of memory can be adopted, and when a selective cell exists in the area of both cell array units a₀ and a₂ , the above-mentioned third type of memory can be adopted. This also applies in the following cases. When one of the selective cells exists in the area of a cell array unit a₁ , the above-mentioned first or second type of memory must be adopted. In this case, the data for reading the cell enters the following cell array unit through a transfer gate and is output from the data bus through a column decoder. Each cell array unit includes a respective sense amplifier, which starts to run in sequence. There are many types of disposal layouts for the sense amplifier, and therefore, for brevity word lines which include selective cells for a cell array unit a₁ are selected, and a potential difference is applied to each bit line, based upon the data of all memory cells which belong to the word lines, thus making the sense amplifier of the cell array unit a₁ active to enhance the potential difference. Then, when the transfer gate TR₂ (in case of the first memory) or the transfer gate TR₁ (in case of the second memory) is turned ON, a potential difference is applied to the bit lines of a cell array unit a₂ or a₀ , thus making the sense amplifier of the cell array unit a₂ or a₀ active, to enhance the potential difference. Therefore, because of the sequential operation, it is concluded that one of the potential differences, which is determined by the column address C B or C A through the column decoder 16 or 14, is output via the data bus D B or D A . Therefore, the read-out time slightly increases more by the first type or the second type memory. But a memory having a large capacity can carry out a bit line division for the improvement of the so-called C-ratio which is the ratio of the capacity per one cell versus the capacity of a word line, and therefore this point becomes unimportant. The above-mentioned third type of memory can be dealt by the same sensibility as that for where there are two memories in a chip. An access time is the same as in a conventional one chip-one-cell array-type memory. Moreover, with regard to the third type memory, the intermediate cell array other than the both ends (in this example, a₁) can be utilized as a buffer for saving data or a stack. That is, an access from a CPU is carried out for the cell array units a₀ or a₂ at both ends. When a temporary stop is required in the calling of the data at a cell array unit a₀ (D₀) and data other than D₀ , that is, D₃ are processed, such usage is made possible by transferring the data D₀ at the cell array unit a₀ to the cell array unit a₁ and loading the data D₃ to the cell array unit a₀. Then, when the data D₀ is to be processed again, the data D₃ is purged and then the data is transferred from the cell array unit a₁ to the cell array unit a₀. In order to transfer data at the cell array unit a₀ to the cell array unit a₁ , the following operation sequence is run, that is: the potential at word lines of the cell array unit a₀ is raised; the potential difference is applied to all bit lines by the data stored in the memory cell which belongs to the above-noted word lines; the sense amplifier is run to enhance the above-noted potential difference; the transfer gate TR₁ is turned ON to deliver the potential difference to all bit lines at the cell array unit a₁; the potential of the word lines at the cell array unit a₁ is raised; and, the data at the above-noted memory cell is transferred to all memory cell units belonging to the word lines. These sequential operations are advantageous for all the word lines at the cell array units a₀ and a₁ , since processing can be carried out in a memory chip and it is not necessary to implement a processing such that data is once read out externally and then written in a cell array unit a₁. As the memory shown in Fig. 2 can be utilized as two memories, i.e., dynamically divided into two memories, and the cell array which is not the object for access may be utilized as a stack, an extremely versatile utilization can be expected. Figure 3 is a block diagram showing an embodiment of the present invention. Figure 3 shows an embodiment in which a cell array is partitioned into eight cell array units. Transfer gates TR₁ and TR₇ are connected between each cell array unit and based on the ON or OFF of these transfer gates, the multifarious two divisions are obtained; that is, a₀: a₁ , a₂ , ... a₇ a₀ and a₁: a₂ , a₃ , ... a₇ a₀ and a₁ and a₂: a₃ , a₄ , ... a₇ . . . a₀ and a₁ and ... a₆: a₇ These combination of sets of the cell array units could be applied to the above-noted third type memory to the effect that the cell array units a₀ and a₇ are the accessing objects and the cell array units a₁ to a₆ are the non-accessing objects. In this case, the cell array units a₁ , a₂ , ... can be dealt as stacks having nest depth 1, 2, ..., and in such usage, it is possible that the newest data save order is a first a₁ and a second a₂ , .... In Fig. 3, ₀ to ₇ are activated clocks of the sense amplifiers in each cell array unit, RA₀ to RA x row addresses of the cell array units at the left side, RB₀ to RB x row addresses of cell array units at the right side, CA₀ to CA y column addresses of the cell array units at the left side, and CB₀ to CB y at the right side. One of the selective cells exists in the cell array unit a₁. Figure 4 shows the passage when the selective cell is read at the left side and Fig. 6 shows the waveforms of each part. The memory cell MC a which exists at the intersection with bit lines BL n and word lines W m is the above-noted selective cell. The selective cell is precharged before reading, because it is intended that the transfer gates TR₁ to TR₇ are turned ON and a reset signal R is at a high (H) potential level to precharge the selective cell. When the reset signal R is at an H potential level, transistors Q₁ and Q₂ are turned ON to charge the bit lines BL n and BL n to a potential of V CC/2 . Before reading a reset signal, R is at a low (L) potential level, and transfer gates TR₁ to TR₇ are turned OFF, then a word line W m is at an H potential level. Then, a memory cell MC a offers a change of potential. That is, since a capacitor C₂ in the memory cell MC a is being charged to a potential of V CC or V SS , a bit line BL n is raised to the voltage V CC and at the voltage V SS the potential of the bit line BL n is reduced, thus there is a potential difference between the potential of bit lines BL n and BL n . Then a clock ₁ is raised to make the sense amplifier SA₁ active and the above-described potential difference between BL n and BL n is enlarged. Then, when the transfer gate TR₁ is ON, a potential difference occurs between bit lines BL m and BL m of the cell array unit a₀. Further, the potential of a clock ₀ is raised to make the sense amplifier SA₀ active and the potential difference is enlarged. Thereafter, a circuit of active restore is operated to pull-up the bit lines BL m or BL m at the H side to the voltage V CC . The bit lines at the L side are pulled down by the sense amplifiers SA₀ and SA₁ to the voltage V SS . As a result, the potential difference of V CC (generally, V SS = 0 V) is applied to the bit lines BL m and BL m , and at this stage, the output C A of a column decoder makes the column gate CG A ON, and thereby the bit lines BL m and BL m are connected to the data buses D A and D A . With respect to the memory, the row address and column address which access the left cell array and the right cell array may be input through each separate terminal pin, or a common terminal pin may be used in accordance with a time division system. For example, separate inputs R A0 to R Ax and R B0 to R Bx of the row decoder 12 and separates inputs C A0 to C Ay and C B0 to C By of the column decoders 14, 16 may be input in sequence in the above-described order, and these input may be taken to each terminal pin. The row address includes the selective bits for blocks (that is, cell array units a₀ , a₁ , ...). In this case, since the block number is eight, as shown in Fig. 3, the higher ranked three bits of the row address are used for a block selection, and the residual bits are used for a selection of word lines in the block. Whether data is read to the left side or to the right side depends on the relative location of the two memory cells which are accessed simultaneously. For example, if a memory cell MC₁ lies in the area of the cell array unit a₀ and a memory cell MC₂ is in the area of the cell array unit a₁ , the memory cell MC₁ can be read to the left side and the memory cell MC₂ to the right side. Further, if the memory cell MC₁ is in the area of the cell array unit a₂ , and the memory cell MC₂ is in the area of the cell array unit a₁ , the memory cell MC₁ can be read to the right side and the memory cell MC₂ to the left side. That is, where the higher ranked three bits of the row address in the two selective cells are ROW1 and ROW2, and the column addresses are COL1 and COL2, if ROW1 < ROW2, then C A = COL1, C B = COL2; if ROW1 > ROW2, then C A = COL2, C B = COL2. At the same time the memory cells of the same cell array can be accessed. In this case, if the priority order is determined previously, and if ROW1 = ROW2, then C A = COL1 or the like. In this memory, there is provided a control circuit (not shown in the figure) which carries out an ON-OFF control for each transfer gate in accordance with the above-described read direction to the left or right side, the priority processing, and the input address or the like. Fig. 5 is a circuit of active restore as shown in Fig. 4. As the potential  R raises, only the bit line side at the high potential level side between the nodes N₁ and N₂ is raised up to a potential level higher than the voltage V CC by a capacitive coupling. When the transistor Q₁ or Q₂ is turned ON fully, the potential level V CC is supplied to the bit line at the high potential level side from the V CC line. The waveforms of the potential  R and  R are shown in Fig. 6. Referring to Figs. 3 to 5, the waveforms of TR₁ to TR₇ , R (reset signal), Wm (word line), ₀ and ₁ (clock signal),  R and  R (potential of the active restore circuit), and C A (column selection signal) are compared as shown in Fig. 6. Fig. 7 is a waveform diagram of arbitration operation in accordance with the present invention. Figure 7 shows the waveform on reading in the memory cell. The same waveform is obtained on writing in the memory cell. In the figure, RAS is an A-port row address, CASA an A-port column address, CASB a B-port column address, RA an A-port row address, RB a B-port row address, CA an A-port column address, CB a B-port column address. An A-port output D OUT A is output from the variation point from H to L level after an access time of A-port and a B-port output D OUT B from the variation point from H to L level after an access time of B-port. The arbitration signal A/ B offers an H level in case of an A-port priority and L level in case of a B-port priority. By means of the arbitration signal the solution of competition between the A-port and B-port row addresses and column addresses is obtained. Fig. 8 is a block diagram of an alternative embodiment of the present invention. In the figure, AA₀ to AA m are A-port input addresses, BA₀ to BA m B-port input addresses, Ar₀ to AR m A-port row latch addresses, Br₀ to Br m B-port row latch addresses Ac₀ to Ac m A-port column latch addresses, Bc₀ to Bc m B-port column latch addresses, TR₁ to TR₃ transfer gate control signals and SEL₀ to SEL₃ decoder control signals, respectively. If the decoder of A-port is active, an H level is offered and if the decoder of B-port is active, an L level is offered, as shown on D OUT A and D OUT B in Fig. 7. Fig. 9 is a schematic diagram of a terminal connection for the signal for arbitration. As shown in Fig. 8, an alternative embodiment in which the memory cell is partitioned into four cell array units. In this case, the selection of the array units is carried out by means of 2 bits in the row address. In Fig. 9, the inputs are composed of A/ B , Ar m-1 , Ar m , Br m-1 and Br m . The outputs are TR₁ to TR₃ , SEL₀ to SEL₃ and BUSY signal. Therefore, the relationship between the transfer gates TR₁ to TR₃ and the decoder selection signals SEL₀ to SEL₃ is determined by a logic table in Fig. 10. If the arbitration A/ B , = H, r m and r m-1 is determined by the higher ranked 2 bits in the A-port row addresses, and if the arbitration A/ B = L, r m and r m-1 is determined by the high ranked 2 bits in the B-port row addresses. With respect to Busy control, if the arbitration A/ B = H and Ar m , Ar m-1 ≧ Br m-1 , Br m , then a Busy signal is output. If the arbitration A/ B = L and Ar m-1 , Ar m ≦ Br m-1 , Br m , then a Busy signal is output. In this case, when the arbitration A/ B = H, the A-port is prioritized and when the arbitration A/ B = L, the B-port is prioritized. Fig. 11 is a schematic diagram showing a still further embodiment of the present invention. In Fig. 11, with respect to the A-port and B-port, an adjacent cell array unit #1 to the A-port column decoder and an adjacent cell array unit #n to the B-port column decoder are used as a buffer. Data is transferred between each other cell array unit by a row unit. In this case, it is only a cell array unit #1 that the A-port can access data directly, and it is only a cell array unit #n that the B-port can access data directly. Therefore, the data between the array unit #2 to the array unit #n-1 can be accessed by the data transfer between each cell array unit, after the transfer to the array unit #1 or #n has been complished. The dual access is the same as the prior example and is of a RAS synchronization type. In case of the internal transfer where the transfer is carried out from, the process is implemented as follows: (a) The operation state of the device is determined by the transfer control signal. (b) The addresses of the transfer originator and the transfer object, that is, the array unit selection addresses, are latched by means of the transfer control signal and RAS (row address). (c) The row decoder of the cell array in the transfer originator is made activated to latch by the same amplifiers in the array units. (d) The row decoder of the cell array in the transfer object is made activated. (e) The transfer gate TR₁ is turned ON. (f) The data signal is amplified by a sense amplifier of the cell array unit in the transfer object and the data of the transfer object is destructed and the data of the transfer originator is latched.

Claims: A dual port semiconductor memory device comprising:- a memory cell array constituted by a plurality of memory cell array units (a₀, a₁, ...); transfer gates (TR₁, TR₂, ...) inserted in bit lines between adjacent memory cell array units; a first (14) and a second (16) column decoder each connected to one end of the bit lines in which said transfer gates are inserted; a row decoder (12) connected to word lines of said memory cell array; said row decoder being adapted to be divided operatively into two parts; a first set of row/column addresses (RA, CA) being supplied to said first part of the row decoder and the first column decoder (14), a second set of row/column addresses (RB, CB) being supplied to said second part of the row decoder and said second column decoder (16); whereby simultaneous separate accesses to said memory cell array are carried out by said two sets of row/column addresses. A semiconductor memory device as set forth in claim 1, wherein the cell array is divided into N (N = even and more than three) cell array units and is selectively partitioned, through said transfer gates (TR1, TR2, ...), into two sets of a left-side portion and a right-side portion or into three sets of a left-end portion, a right-end portion and an intermediate portion. A semiconductor memory device according to claim 1 or 2, wherein the cell array units at both ends are adapted to operate as a buffer and data is transferred between all the cell array units (a₀, a₁, ...) based on the row decoder (12). A semiconductor memory device according to claim 1, 2 or 3, further comprising:- first-port and second-port row address buffers for inputting first port and second port input addresses, respectively; and first-port and second-port column address buffers for delivering a separate column latch address; wherein arbitration terminals are provided with which, when said first port and said second port access the same memory cell array unit separately, either of the two ports can be allowed to operate according to priority. A semiconductor memory device according to claim 4, wherein a BUSY output terminal is provided and when two accesses to the same array are received, a BUSY signal is output to one of the two ports having a lower priority. A semiconductor memory device according to any preceding claim, wherein said two ports can make a direct access to a respective nearest array unit and array units other than said nearest array units can be used as a stack. A semiconductor memory device according to claim 6, wherein data transfer can be carried out between said cell array units which can be directly accessed and the stack cell array units, not by external accessing but by control internal to said device. A semiconductor memory device according to claim 6, wherein data transfer can be carried out in addition to a refresh operation of said memory cell array units (a₀, a₁, ...).

Inventors: HORII, TAKASHI, TAKEMAE, YOSHIHIRO
Applicants: FUJITSU LIMITED
Application year: 1987
Main classification: G11C7
IPC codes: G11C8, G11C11, G11C7