Multiport memory

Abstract: A multiport memory comprising a plurality of ports provided for writing or reading data to or from memory cells (2a,2b); a plurality of bit lines and a plurality of word lines provided corresponding to said plurality of ports; switches for electrically connecting said bit lines, corresponding to said word lines through the same port, to said memory cells depending on the levels of said word lines; and means for substantially short-circuiting the bit lines corresponding to the port selected for write operation among the bit lines corresponding to a plurality of selected ports and the selected other optional bit lines, whenever a plurality of word lines belonging to the same row are selected by a plurality of ports for writing or reading. The short-circuiting means improve the reliability of operation in cases where memory (2a,2b) cells in the same row are accessed from more than one port simultaneously.

Description: The present invention is intended to prevent erroneous data writing to a multiport memory such as a so-called dual-port memory, etc., and enhance reliability of data writing. The background art relating to multiport memories will now be explained. In a well-known conventional semiconductor memory, if it is attempted to connect a pair of CPUs to the same semiconductor memory, it is necessary to connect each CPU to it via a data bus for sending or receiving information. However, if the data bus is used in common for a plurality of CPUs, while one CPU sends or receives data to or from the semiconductor memory, the other CPU naturally cannot send or receive data from the same semiconductor memory. Therefore, when a plurality of CPUs are connected to an ordinary semiconductor memory, it is impossible to provide simultaneous access of the plurality of CPUs to the semiconductor memory, e.g. for simultaneous data sending and receiving. A multiport memory to which the present invention is applied enables such simultaneous data sending and receiving to or from a plurality of CPUs. That is, a multiport memory has a plurality of ports for only one memory cell array, and different CPUs are connected to respective ports in order to enable shared processing by each CPU. A multiport memory having two ports (e.g. one at the left side of the memory cell array and the other at the right side thereof) is the most common type and is called a dual-port memory. A multiport memory will now be explained in more detail. Fig. 1 is a schematic block diagram of a system using a dual-port memory. In Fig. 1, a dual-port memory 22 has right and left ports (not shown), the left port being connected with a CPU 23 and the right port with a CPU 24. The CPU 23 is connected with a peripheral apparatus 25 for testing (metering) and the CPU 24 with a peripheral apparatus 26 for outputting results of testing. As an example of exploiting the effect of high speed processing using a dual-port memory, testing of semiconductor memories will be discussed. For example, when testing a newly produced semiconductor memory, if defective cells are previously detected, each cell must be checked sequentially jumping such defective cells, but it is important, for completing the test as quickly as possible, that the test should be continued only for the normal cells while jumping the defective cells. These two tasks (testing and jumping) are carried on simultaneously. It is required that the defective cells are not tested by the peripheral apparatus 25 and this instruction is sent to the dual-port memory 22 for the writing operation through the CPU 23. On the other hand, information stored in the dual-port memory 22 is read and the test results of cells can be outputted from the peripheral apparatus 26 for outputting the result of testing through the CPU 24. In this case, the dual-port memory 22 generates a busy signal in order to stop any CPU which has delayed issuing an instruction, to prevent a writing request from the left port and a reading request from the right port from being executed simultaneously if they are generated for the same address. Usually, however, accesses by each of the ports are not for the same address. Therefore, the above-mentioned dual-port memory is capable of much faster access than a conventional semiconductor memory in which one data bus is shared by two CPUs, and only one of the two CPUs is able to transfer data to or from the memory cells at any one time. A known type of dual-port memory will be explained in further detail with reference to the block diagram of Fig. 2. In Fig. 2, a memory cell array 2a, 2b is formed by multiple SRAMs (static random access memory) connected together and having many row selecting lines (word lines) and column selecting lines (bit lines), not shown in the Figure. Moreover, the dual-port memory has two row selecting lines (word lines) and two column selecting lines (bit lines) corresponding to the right and left ports. The right bit lines are connected to the right decoders 11a, 11b, and the left bit lines to the left column decoders 6a, 6b, while the right word lines are connected to the right decoder 10 and the left word lines to the left decoder 5. In addition, a left I/O buffer 4 is connected to the left decoders 6a, 6b for the data input through the left I/O circuits 7a, 7b. In the same manner, the right I/O buffer 9 is connected to the right decoders 11a, 11b for the data input through the right I/O circuits 12a, 12b. An address signal is supplied to a right row decoder 10 and right column decoders 11a, 11b through a right address buffer 8 and is also supplied to the left row decoder 5 and left column decoders 6a, 6b through the left address buffer 3. The memory cell array (which may be provided in a single area) is divided into the cell arrays 2a, 2b, and the right row decoder 10 and the left row decoder 5 are provided between the arrays 2a, 2b in order to improve the access rate of the memory as a whole. That is, since the access rate of the memory as a whole is determined by the access rate to the further memory cell from the decoder, it is preferable to provide all memory cells as close as possible to the decoder. The structure mentioned above is also effective for avoiding the problem of increasing a load of the word lines as the distance between the row decoder and word line increases, thus reducing the reliability of read and write operations from or to the memory cells. Part of the circuitry in the memory cell arrays 2a, 2b will be explained in more detail with reference to Fig. 3. In Fig. 3, a plurality of right bit line pairs (BL R and BL R ) and left bit line pairs (BL L and BL L ) are provided, extending in one direction across the array of memory cells, and a plurality of right word lines (WL R ) and left word lines (WL L ) are also provided, extending in a perpendicular direction. Gates are connected to the left bit line pairs (BL L and BL L ) so that the upper end of the Figure represents the left port. In the same way, gates are connected to the right bit line pairs (BL R and BL R ) so that the lower end of the Figure represents the right port. Independent data buses are provided for each port. At the left port, a left pair of data bus lines (DB L and DB L ) are connected to the left bit line pairs (BL L and BL L ). At the right port, a right data bus line pair (DB R and DB R ) are connected to the right bit line pairs (BL R and BL R ). Fig. 4 illustrates a detail of the peripheral circuits of the one memory cell. As shown in Fig. 4, a conventional multiport memory generally provides each memory cell having the flip-flop structure like a conventional SRAM. In Fig. 4, the numerals 13, 14 denote n-channel MOS transistors of which drains and gates are cross-coupled; 15, 16, load resistances of n-channel MOS transistors 13, 14. A memory cell 17 consisting of flip-flop is formed by these n-channel MOS transistors 13,14 and load resistances 15, 16. WL L denotes a word line of the left port; 18, 19, transfer gates transistor (n-channel MOS) of the left port; BL L , BL L , bit lines of the left port; WL R , a word line of the right port; 20, 21, transfer gate transistor (n-channel MOS) of the right port; BL R , BL R , bit lines of the right port Accordint to such memory cell 17, access from the left port can be realized by activating the word line WL L and access from the right port can also be realized by activating the word line WL R . In the dual-port memory shown in Fig. 2 providing such memory cell 17, when the addresses A 0L to A nL are inputted to the left address buffer 3 from the left port, a part of addresses (row address) is transferred to the left row decoder 5 and the remainder (column address) is transferred to the left column decoders 6a, 6b. As a result, the left row decoder 5 selects the row designated by the row address and the left column decoders 6a, 6b select the column designated by the column address. Thereby, the memory cells designated by the addresses A 0L to A nL are selected. The memory cells thus selected are electrically connected to the left I/O circuits 7a, 7b, enabling the read and write operations. Here, the left I/O buffer 4 is controled by the chip select signal CS L and write enable signal WE L to enable the read and write operations to or from the memory cells through the left I/O circuits 7a, 7b. For the right port, the read and write operations are carried out to the memory cells in the same way. Fig. 3 shows a plurality of rows and columns forming a memory cell array 17 shown in Fig. 4. In Fig. 3, the numerals 27, 28 denote load transistors (n-channel MOS) for sustaining levels of the bit lines BL L , BL L of the left port; 29, 30, column selecting transistors (n-channel MOS); Y L , a column selecting signal for controlling the column selecting transistors 29, 30 to ON and OFF states; DB L , DB L , data bus lines; 31, 32, load transistors for sustaining levels of the data bus lines DB L , DB L . Illustration of a sense amplifier connected to the data bus lines DB L , DB L is omitted here. Moreover, the numerals 33, 34 denote load transistors (n-channel MOS) for sustaining levels of the bit lines BL R , BL R of the right port; 35, 36, column selecting transistors (n-channel MOS); Y R , a column selecting signal for controlling these column selecting transistors 35, 36 to ON and OFF states; DB R , DB R , data bus lines; 37, 38, load transistors (n-channel MOS) for sustaining levels of the data bus lines DB R , DB R ; 39, a write circuit; 40 to 43, n-channel MOS transistors; IN R , IN R , write input termnals. Illustration of a sense amplifier connected to the data bus lines DB R , DB R is omitted here. Here, it is considered to write data to the memory cell 17 from the right port. In this case, however, it is assumed that the left port does not select the rows to which the writing is conducted from the right port. Namely, it is assumed that the H level is applied to the word line WL R0 and the L level to the word line WL L0 . When the H data is to be written to the memory cell 17, the H level and L level are respectively applied to to the write data IN R and IN R . In this case, the n-channel MOS transistors 41, 42 of the write circuit 39 turn ON and the n-channel MOS transistors 40, 43 turn OFF, thereby outputting the H level to the data bus line DB R and the L level to the data bus line DB R . The levels of these data bus lines DB R , DB R are transferred to the bit lines BL R , BL R through the column selecting transistors 35, 36, setting the bit line BL R to the H level and bit line BL R to the L level. As a result, a node 44 of the memory cell 17 turns to the H level and a node 45 to the L level. Thereby, H data can be written into the memory cell 17. In this case, the level of bit line BL R to be set to the L level is floated from the ground level by a load current caused by the load transistor 34 of the bit line BL R and a load current caused by the load transistor 38 of the data bus line DB R , but since a mutual conductance gm of the load transistors 34, 38 is set smaller than that of the transistor 42 of the write circuit 39, a degree of floating of the level is very small (usually, about hundreds mV). As a result, at the time of data writing mode, this level is transferred to the node 45 of memory cell 17 through the transfer gate transistor 21. This level is sufficient to turn OFF the n-channel MOS transistor 13 which is cross-coupled with the n-channel MOS transistor 14 and in this case stable writing operation can be ensured. However, if access is made from both right and left ports to the same row of the different memories, there is a risk of erroneous writing. This problem occurs as follows. Suppose data is written from the right port to the cell 17 located in the leftmost column in the Figure, and the left port accesses the same row which is being accessed by the right port. In this situation, the potential on the right word line (WL R0 ) and on the left word line (WL L0 ) rises to the same H level. Then the terminals (IN R ) of the writing circuit 39 illustrated in the lower part of the Figure are at H level and the terminals ( IN R ) are at L level so that high data will be written in the cell 17. In order to select the leftmost column, the column selecting signal Y R0 is set to the H level in order to turn ON the column selecting transistor. On the other hand, the right word line (WL L0 ) of the uppermost stage turns H level, causing the right bit line pair (BL R and BL R ) and the cell to become conductive. In the following description, attention is paid only to the bit line BL R among the right bit line pair (BL R and BL R ). When the input terminal IN R becomes H level, the right bit line ( BL R ) becomes L level and therefore the L level is normally transferred to node 45 of the cell. However, it should be noted that both the data bus line and the bit line have load transistors connected to them in order to help maintain their levels. Since more load transistors are connected at the gate and cell side than to the column selecting transistor, when the column selecting transistor turns ON, the bit line ( BL R ) should perfectly drop to the L level. However, the V CC level is transferred through the load transistor and the potential of the bit line ( BL R ) floats. Suppose also that a read operation is to be executed simultaneously through the left port from the cell B existing in the same row as the cell to which data is to be written. In this case, the left word line (WL L ) of the row in which the cell B exists must be turned ON. However, since the left word line (WL L ) is also connected with the cell A to which data is to be written from the right port, the left bit line pair (BL L and BL L ) of the column in which the cell A exists is connected to the cell A. Since the left bit line pair (BL L and BL L ) is also connected with a load transistor, the above problem of the floating potential is worsened. In this case, the left word line WL L0 is set to the H level. For this reason, a current flows into the node 45 of the memory cell 17 through the transfer gate transistor 19 of the left port of memory cell 17 from the load transistor 28 of the bit line BL L of the left port. In addition, in the case where not only the same row but also the same column are selected by the right and left ports, since the column selecting transistor 30 of the left port turns ON, a current from the load transistor 32 of the data bus line DB L of the left port also flows into the node 45 of memory cell 17. A current from the left port flowing into the node 45 is absorbed by the write transistor 42 of the right port through the transfer gate transistor 21 of the right port of memory cell 17 and the column selecting transistor 36 of the right port. As explained above, when both right and left ports have selected the same row, the write transistor 42 must absorb a large amount of load current and therefore the level of the bit line BL R , which should be set to the L level, rises. When both bit lines are conductive for the cells, since the transistor connecting the left bit line and cell and the transistor connecting the right bit line and cell are designed to have approximately the same channel length and channel width, thus equal conductances gm, the potentials on both right and left bit lines are divided as if by a voltage divider formed by the transistors 19, 21. That is, the level of node 45 of the memory cell 17 becomes equal to the level obtained by dividing, with a gm ratio of the transfer gate transistors 19 and 21, the level of the bit line BL L (power supply voltage V CC - threshold voltage V th of the load transistor) and the level (some hundreds of mV) of the bit line BL R . Thus, since transfer gate transistors are usually designed to have equal channel length and channel width, the floating effect is further reinforced and the level of node 45 becomes as high as about 1.5 to 2.5 [V]. At this potential, the other n-channel MOS transistor 13 cross-coupled with the n-channel MOS transistor 14 cannot be turned OFF. This causes the write operation to be unstable and L data ("0") is written in place of the H data ("1"). This problem is not limited only to a dual-port memory (2-port memory); it occurs in other kinds of multiport memory wherein a plurality of ports are provided, the bit lines and word lines are provided for respective ports but respective bit lines and word lines are connected to cells through the selecting transistors. Four-Port Memory An example of the four-port memory will be explained. Fig. 5 is schematic diagram illustrating the one row of the memory cell array and its peripheral circuits of the 4-port memory. In Fig. 5, four word lines from the 1st word line (wL1) to the 4th word line (WL4) are extending corresponding to four ports in the horizontal direction of the figure. Meanwhile, in the vertical direction, four pairs of bit line pair of the 1st bit line pair (BL1, BL1 ) to the 4th bit line pair (BL4, BL4 ) are extending corresponding to four ports. In the region surrounded by the bit line pair and word line, static memory cell isprovided one by one. Moreover, in the areas near the upper and lower end portions, four pairs of data bus pair (DB1, DB1 , ..., DB4, DB4 ) are extending in the horizontal direction corresponding to each port. At the end portion of each bit line extending in the vertical direction, a column selecting transistor is provided. When this column is selected for read or write operation, this column selecting transistor turns ON, connecting the data baus line and bit line which are usually separated in general. Here, it is assumed that the H level is to be written from the 3rd port by selecting a static memory cell (J in Fig. 5) included in the 2nd row of the 4-port memory. In this case, the H level is applied to IN3 of the input terminals (IN3, IN3 ) of the 3rd gate, while the L level to IN3 . Therefore, the transistors Tr1, Tr4 among Tr1 to Tr4 turn OFF, while Tr2 and Tr3 turn ON. The bit line BL3 rises to the H level and the bit line BL3 drops to the L, level. The column selecting signal Y3 becomes the H level, causing two column selecting transistors provided for the 3rd bit line pair to turn ON. When the 3rd word line WL3 becomes the H level, the transistor turns ON, electrically connecting the 3rd bit line pair (BL3, BL3 ) and the static memory cell J. In this case, it is also assumed that another static memory cell from which the reading operation is to be executed through the 1st port exists in the same row of the static memory cell J (right side extended from J not illustrated) and the other static memory cell from which the reading operation is to be executed through the 2nd port exists also in the same row of the same static memory cell. Since the 1st and 2nd word lines turn ON in the 2nd row, the two transistors connected to these word lines via the gate also turn ON. Thereby, the static memory cells are connected naturally (normally) to the 1st bit line pair, 2nd bit line pair and 3rd bit line pair, a current flows toward the input terminal IN through a load transistor connected to respective bit line pairs and the level of the 3rd bit line pair ( BL3 ), which should normally be at the L level, floats to a higher value. Selection of the same row from a plurality of ports is inevitable sooner or later in use of a multiport memory, and the probability of such a selection steadily increases as the number of ports increases. Moreover, this problem becomes more serious as the scale (memory capacity) of the dual-port memory is increased. As the scale of the dual-port memory increases, since the chip size has to be kept comparatively small, the transfer transistors, which are connected between the memory cells and bit lines, need to be reduced in size. But if the transfer transistors become too small, the characteristics of transfer transistors of each of the plural ports (e.g. susceptibility to the above floating effect) are altered in the process of reduction. It is therefore desirable to further improve the reliability of writing operations in a multiport memory by eliminating a problem of erroneous writing operation to cells during selection of the same row from a plurality of ports generating in common in the multiport memory as explained above. According to the present invention, there is provided a multiport memory comprising:- memory cells arranged in rows and columns; a plurality of ports provided for writing or reading data to or from said memory cells; a plurality of bit lines provided corresponding to said plurality of ports and arranged along each of said columns and a plurality of word lines provided corresponding to said plurality of ports and arranged along each of said rows, switches for electrically connecting the bit lines of a port, corresponding to the word line of said port, to the memory cells of a row depending on the level of said word line; characterized by: means for substantially short-circuiting, within each column, the bit line corresponding to the port selected for write operation with the bit lines corresponding to selected further ports, whenever a plurality of word lines belonging to the same row are selected from said plurality of ports for the write or read operation. In more detail, a multiport memory embodying the invention provides a structure wherein a plurality of ports for reading and writing operations are provided corresponding to only one memory cell, comprising a row address matching detection circuit which detects that a plurality of memory cells included in the same column are selected for read or write operation and a switch for substantially short-circuiting the bit lines corresponding to the ports used for read or write operation, whereby this switch is turned ON when the row address matching detection circuit detects such selection. Reference is made, by way of example, to the accompanying drawings in which: Fig. 1 is a block diagram indicating an application example of a dual-port memory; Fig. 2 is a structural block diagram of a conventional dual-port memory; Fig. 3 is a partial schematic diagram of the peripheral circuits of a memory cell array of the conventional dual-port memory; Fig. 4 is a partial schematic diagram of the one memory cell of the conventional dual-port memory; Fig. 5 is a partial schematic diagram of the peripheral circuits of memory cells of the conventional 4-port memory; Fig. 6 is a structural block diagram of a dual-port memory of the present invention; Fig. 7 is a partial schematic diagram of the peripheral circuits of a memory cell array of the dual-port memory of the present invention; Fig. 8 is a diagram for explaining operations of the dual-port memory of the present invention; Fig. 9 is a partial schematic diagram of the peripheral circuits of a memory cell array of a 4-port memory of the present invention; and Fig. 10 is a wiring diagram of respective ports and short-circuit transistors of the 4-port memory of the present invention. Preferred Embodiment of the Present Invention A preferred embodiment of the present invention will be explained hereunder in detail. a dual-port memory having a couple of ports will be explained first and a 4-port memory will then be explained as the complementary explanation. Dual-port Memory An embodiment of the present invention will be explained with reference to Fig. 6 to Fig. 9. The like elements in the drawings already explained are given the like reference numerals and explanation will never be repeated. Fig. 6 is a structural block diagram of a dual-port memory of the present invention. Referring to this figure, there is no particular technical difference from the conventional dual-port memory and the like elements are given the like reference numerals. Only difference from the conventional one is that outputs of address buffers are inputted to a row address matching detection circuit. Moreover, although not illustrated in the figure, a structure newly added is that an output of this row address matching detection circuit is inputted to the gate of short-circuit transistor provided at the end portion of the bit line columns of the memory cell array. The row address matching detection circuit has a structure that right address singnals (A 0R to A iR ) inputted corresponding to the right port and left address signals (A 0L to A iL ) inputted corresponding to the left port are inputted and matching of these address signals is detected. In this embodiment, a part of the memory cell array is formed as shown in Fig. 7. Difference from the prior art shown in Fig. 3 is that the short-circuit transistors (n-channel MOS) 46, 47 are provided at the upper side for mutually short-circuiting the right and left bit lines of each column. Here, the bit line short-circuit transistor 46 is connected to the bit line BL L of the left port through the drain and is also connected to the bit line BL R of the right port through the source. In addition, the bit short-circuit transistor 47 is connected to the bit line BL L of the left port through the drain and is also connected to the bit line BL R of the right port through the source. An output of the row address matching detection circuit 48 shown in Fig. 6 (row address matching detection signal AM) is connected to the gates of these short-circuit transistors 46, 47. When the row addresses inputted from the right and left ports are considered to be matched as a result of comparison, an output is set to the H level, causing the gate to turn ON and therby the right and left bit lines are mutually short-circuitted for each column. Moreover, in the row address matching detection circuit 48, the left row address signals (A 0L to A iL ) outputted from the left row address buffer 3 shown in Fig. 6 and the right row address signals (A 0R to A iR ) outputted from the right row address buffer 8 are divided for each bit and the inputted to exclusive OR circuits (52 0 to 52 i ). The exclusive OR circuits 52 0 to 52 i provided for each row address bit output the L level when row address bits match or the H level when these do not match. Outputs of the exclusive OR circiuts (52 0 to 52 i ) are inputted at a time to a NOR circuit 53 and its output is inputted to the gates of short-circuit transistors 46, 47 to control it for ON and OFF states. In case outputs of the exclusive OR circuits 52 0 to 52 i match in the all address bits, the NOR circuit 53 outputs the H level as the row address matching detection signal AM and outputs the L level as the signal AM when such output do not match. The other structure is the same as that of the conventional dual-port memory of the Fig. 4. Fig. 8 is a timechart for explaining operations of an embodiment of the present invention. At the time T1, the left row address A L changes and this left row address A L matches with the right row address A R . At the time T2, the left row address A L changes and this left row address A L does not match with the right row address A R . First, since the left row address A L and right row address A R do not match until the time T1, the row address matching detection signal AM is in the L level. As a result, the bit line short-circuit transistors 46, 47 turn OFF and the bit lines BL L , BL L and BL R , BL R of both right and left ports execute the operation of each port and there is no mutual interference of signals. However, when the left row address A L and right row address A R match at the time T2, the address matching detection signal AM becomes the H level. As a result, the bit line transistors 46, 47 turn ON and the bit lines BL L and BL R , BL L and BL R are respectively short-circuited. Thereafter, the left row address A L and right row address A R do not match at the time T2. Thereby, the row address matching detection signal AM becomes the L level and the bit line short-circuit transistors 46, 47 turn OFF. Here, discussed is the case where the H data, for example, is written to the memory cell from, for example, the right port, in case both row selection line WL L of the left port and row selection line WL R of the right port are set to the H level as in the case of Fig. 3. In this case, a current from the load transistor 28 of the bit line BL L of the left port flows, in the present embodiment, to the bit line BL R of the right port passing through the bit line short-circuit transistor 47 and moreover it is absorbed by the write transistor 42 through the column selecting transistor 36 of the right port. Here, when the mutual conductance gm of the bit line short-circuit transistor 47 is set to a high value, the L level of the bit line BL L can be lowered up to the level which is almost equal to the L level of the bit line BL R . Here, the L level of node 45 of the memory cell 17 becomes sufficiently low level which is equal to the L level of the bit ines BL L , BL R . Therefore, the MOS transistor 13 in the memory cell 17 shown in Fig. 4 (reference is also made to Fig. 4, which is used for explaining the related arts, because the memory cell 17 itself does not differ from the conventional one) can be turned OFF and stable write operation can be achieved. In case the read operations are carried out from both right and left ports, the bit line short-circuit transistors 46, 47 do not result in any interference, because the bit lines of both ports of each column realizes the same operations. Moreover, it is difficult for the transfer gate transistors 18 to 21 of the memory cell 17 to set a wide channel width due to constraint of chip area. But, according to the present invention, it is possible to set a wider channel width W, because only one pair of bit line short-circuit transistors 46, 47 is arranged in each column. Therefore, it becomes possible in the present invention to set the mutual conductance gm to a higher value. Four-port Memory Next, an example of a 4-port memory will be explained. Fig. 9 is a partial schematic diagram of the one column of a memory cell array of the 4-port memory and the peripheral circuits thereof. In comparison with Fig. 5 which shows the corresponding related arts, Fig. 9 newly adds the structure that desired two bit lines among (BL 1 , BL 2 , BL 3 , BL 4 ) of the bit line pairs (BL 1 , BL 1 ), (BL 2 , BL 2 ), (BL 3 , BL 3 ), (BL 4 , BL 4 ) are mutually short-circuited and simultaneously a short-circuit transistor which mutually short-circuits the corresponding two lines of ( BL 1 , BL 2 , BL 3 , BL 4 ) is provided. The gate of the short-circuit transistor provided in the side of bit lines (BL 1 , BL 2 , BL 3 , BL 4 ) (upper section of Fig. 9) is connected with the gate of the short-circuit transistor provided in the side of bit lines ( BL 1 , BL 2 , BL 3 , BL 4 ) and an output of the row address matching detection circuit is connected to this gate. With reference to Fig. 10, relationship between the row address matching detection circuit 48 and the short-circuit transistor will then be explained. Fig. 10 shows only one column by enlarging the bit line pair located at the upper part of the Fig. 9. The short-circuit transistors (712, 723, 734, 713, 714, 724) are provided between bit lines (BL1 to BL4). In addition, the short-circuit transistors (812, 823, 834, 813, 814, 824) are also provided between the bit lines ( BL 1 to BL 4 ). A gate of each short-circuit transistor is connected to the row addcess matching detection circuit but the gates of short-circuit transistors (712, 812) are connected with an output of the row address matching detection circuit (912). To this row address matching detection circuit (912), the address signals (A 01 ,...,A i1 ) corresponding to the 1st port and Address signals (A 02 ,..., A i2 ) corresponding to the 2nd port are inputted, matching and mismatching are decided. Namely, when access from the 1st port and 2nd port is eventually made to the same row, this row address matching detection circuit 912 outputs the H level, the bit lines (BL1 and BL2) and the bit lines (BL1 and BL2) are respectively short-circuited, inhibitting errorneous write operation as in the case of the dual-port memory explained previously. The other bits are also short-circuited and when a plurality of bit lines are accessed, the object bit lines are all short-circuited. In Fig. 9, four word lines from the 1st word line (WL1) to 4th word line (WL4) corresponding to four ports are extending in the horizontal direction. Moreover, in the vertical direction, for pairs of bit line pair from the 1st bit line pair (BL1, BL1 ) to the 4th bit line pair (BL4, BL4 ) corresponding to four ports are extending. In the region surrounded by the bit line pairs and word lines, a static memory cell is provided one by one. Moreover, in the region near the upper and lower end portions of the figure, four pairs of data bus line pair (DB1, DB1 ,...., DB4, DB4 ) are extending in the horizontal direction corresponding to four ports. At the end portion of each bit line extending in the vertical direction, a column selecting transistor is provided. When this column is selected for the read or write operation, this column selecting transistor turns ON and the data bus line and bit line which are usually separated electrically are connected. Here, it is attempted that writing of the H level is executed from the 3rd port in the 4-port memory explained above by selecting a static memory cell (J in Fig. 9) belonging to the 2nd row. In this case, the H level is applied to the input terminal IN3 of the intput terminals (IN3, IN3 ) of the 3rd gate, while the L level is applied to the terminal IN3 . Among the transistors (Tr1 to Tr4), Tr1, Tr4 turn OFF and Tr2, Tr3 turn OFF. The bit line BL3 rises to the H level, while the bit line BL3 drops to the L level. The column selection signal Y3 becomes the H level and a couple of column selection transistors provided for the 3rd bit line pair turn ON simultaneously. When the 3rd word line WL3 becomes the H level, a transistor turns ON and therby the 3rd bit line pair (BL3, BL3 ) and static memory cell J are connected electrically. In this case, it is assumed that another static memory cell for which the reading operation is to be executed from the 1st port exists within the same row to which the static memory cell J belongs (right extending direction of J not illustrated) and the other static memory cell for which the read operation is to be executed from the 2nd port also exists therein. Namely, it is also assumed that read operation is carried out from the 1st and 2nd ports among four ports and write operation is to be executed from the 3rd port to the different memory cells in the same row. Thereby, since the 1st and 2nd word lines turn ON in the 2nd row, two transistors connecting the gates to these word lines turn ON simultaneously. Thereby, the static memory cell is naturally connected to the 1st bit line pair, 2nd bit line pair and 3rd bit line pair. However, errorneous writing operation is not generated for the reason as mentioned below. A row address inputted from the 3rd port for write operation and a row address inputted from the 1st and 2nd ports for read operation are inputted respectively to the row address matching detection circuit and therby the H level is outputted when these match. The H level signal outputted is inputted to the gates of short-circuit transistors provided between the 3rd bit line and 1st, 2nd bit lines so that these bit lines in the 2nd row to which the static memory cell J for the write operation belongs and thereby these short-circuit transistors turn ON. In the 2nd row to which the static memory cell J belongs, the 1st, 2nd and 3rd bits are mutually connected and the problem of L level floating in the 1st bit line can be solved Therefore, so-called errorneous writing in which the information to be written is inverted can be eliminated. In summary, it is important for ensuring the effect of the present invention to provide a means which substantially short-circuits the bit lines corresponding to the write port and read port, in case a plurality of ports have selected the static memory cells in the same row. A modification conforming to this structure will then be explained. For example, if read operation from the static memory cells in the object rows of the four ports has been carried out from a plurality of ports as explained above, it is no longer necessary to short-circiut the 3rd bit line which participates in the write operation and the 1st and 2nd bit lines which participate in the read operation and the effect of the present invention can be obtained when the 3rd bit line which participates in the write operation and any one of the 1st and 2nd bit lines are connected. However, the write bit line must be short-circuited with two read bit lines for essentially solving the problem of L level floating of the bit lines. In this case, a selection circuit for read bit line is necessary, when a plurality of bit lines participating in the read operation exist, for selecting only one of such bit line and short-circuiting it with the bit lines participating in the write operation. Therefore, this method cannot be said a reasonable method because it unnecessary makes complicated the circuit, even if there is no considerable merit. As a preferred embodiment of a multiport memory of the present invention, a dual-port memory and a 4-port memory have been explained above. The present invention also allows variable modifications. For example, the number of ports are not limited only to 2 or 4 and it might be possible for those who have skills in the art to easily realize various modification even when the number of ports are set to an optional number. For change of the number of ports, change of circuit is also necessary to enabale the inputs as much as the number of ports for the row address matching detection circuit. For instance, the row address matching detection circuits are prepared as much as the number of combinations of all ports. Namely, when the number of ports is set to 4, the row address matching detection circuit as many as 4 C 2 (= 6) are required for the inputs of 1st port and 2nd port, 1st port and 3rd port, 1st port and 4th port, 2nd port and 3rd port, 2nd port and 4th port and 3rd port and 4th port. In the case of the short-circuit transistor connecting the bit lines of each column, the short-circuit tansistors as many as 4 C 2 (= 6) are provided, according to the above explanation, between the 1st bit line and 2nd bit line, between 1st bit line an 3rd bit line, between 1st bit line and 4th bit line, between 2nd bit line and 3rd bit line, between 2nd bit line and 4th bit line and between 3rd bit line and 4th bit line and thereby the outputs can be connected to the gates. In general, when n is a freely selected integer number, n-pair of bit line and n word lines are arranged corresponding to individual static memory cells in the n-port memory and a short-circuit transistor is connected between bit lines in each pair of n-pair bit line pair, namely two pairs of n bit lines. Thereofre, total of n C 2 short-circuit transistors are required. Moreover, it is enough that outputs of n C 2 row address matching detection circuit are inputted on one to one basis to the gates of the n C 2 short-circuit transistors. In addition, a short-circuit switch to be used for short-circuiting the bit lines is not always required to formed by a MOS transistor. It may be formed by other MIS transistor in which a gate insulating film of this transistor is formed by a film other than the oxide film, for example, nitride film or oxide nitride film. Moreover, if necessary, the MOS transistor may be replaced with a bipolar transistor. Moreover, each port is also not always required to have the structure allowing write and read operation. A certain port may have the function to operate only as the read-only port, without having the input gate. But since the effect of the present invention is distinctive for eliminating errorneous write operation, at least one port must be the write port. According to the present invention, stable write operation can be ensured even when the same row is selected from a plurality of ports which making access and write operation is carried out from the one port because the levels of the one and the other bit lines of the port in the opposite side from the port from which the write operation is carried out can be set to the level equal to that for the write operation, owing to the structure that when the same row is selected from a plurality of ports, the one bit line of the bit line pair of the port in the same column and the one bit line of the bit line pair of the other port are short-circuted and the other bit line of the bit line pair of a certain port and the other bit line of the bit line pair of the other port are also short-circuited. Multiport memories commonly employ static memory cells, and the present invention is primarily envisaged for use with static type multiport memories; however, the present invention may also be applicable to other types of multiport memory, e.g. ones having dynamic memory cells.

Claims: A multiport memory comprising:- memory cells (17) arranged in rows and columns; a plurality of ports provided for writing or reading data to or from said memory cells (17); a plurality of bit lines (BLR, BLL) provided corresponding to said plurality of ports and arranged along each of said columns and a plurality of word lines (WLR, WLL) provided corresponding to said plurality of ports and arranged along each of said rows; switches (18, 19, 20, 21) for electrically connecting the bit lines of a port, corresponding to the word line of said same port, to the memory cells of a row depending on the level of said word line; characterized by: means (46, 47) for substantially short-circuiting, within each column, the bit line corresponding to the port selected for write operation with the bit lines corresponding to selected further ports, whenever a plurality of word lines belonging to the same row are selected from said plurality of ports for the write or read operation. A multiport memory according to claim 1 wherein said short-circuit means comprises:- a row address matching detection circuit (912, 923) which compares row addresses to be inputted to the respective ports with each other and outputs an output signal (AM) when the row addresses of a plurality of ports including those selected for the write operation match; and a short-circuit switch (712, 723) which receives said output signal (AM) from said row address matching detection circuit to substantially short-circuit the bit lines corresponding to said ports selected for write operation with the bit lines corresponding to said selected other ports. A multiport memory according to claim 1 wherein said plurality of ports is constituted by a first port and a second port. A multiport memory according to claim 2 wherein said plurality of ports is constituted by a first port and a second port. A multiport memory according to claim 4 further comprising a first cell region and a second cell region which may be formed by dividing said word lines in said cell region into at least two regions; a right row decoder provided between said first cell region and second cell region, corresponding to the right port; and a left row decoder provided between said first cell region and second cell region, corresponding to the left port. A multiport memory according to any of claims 1 to 4, wherein the switches (18, 19, 20, 21) are formed by MIS type transistors. A multiport memory according to claim 6, wherein the MIS transistor switches connected to the same cell are formed with approximately the same size. A multiport memory according to any preceding claim, wherein said short-circuit means (46, 47) comprises a short-circuit switch provided at an end of each bit line located outside a cell region containing the memory cells. A multiport memory according to any preceding claim, wherein said short-circuit means (46, 47) comprises a short-circuit switch formed by a MIS type transistor. A multiport memory according to claim 5, wherein the switches (18, 19, 20, 21) corresponding to the same port and belonging to the same column are formed by MIS transistors having approximately the same size. A multiport memory according to any preceding claim, comprising:- a data bus line (DBL, DBR) provided corresponding to each port; column selecting transistors (29, 30; 35, 36) formed to enable electrical connection with said bit lines corresponding to the same port to which said data bus also corresponds; a first load circuit (27, 28) formed for maintaining said bit line at a predetermined voltage; and a second load circuit (31, 32) for maintaining said data bus line at a predetermined voltage.

Inventors: AOYAMA KEIZO, AOYAMA, KEIZO, Aoyama, Keizo, c/o FUJITSU LIMITED
Applicants: FUJITSU LTD, FUJITSU LIMITED
Application year: 1992
Main classification: G11C7
IPC codes: G11C8, G11C7