SEMICONDUCTOR MEMORY WITH IMPROVEND DATA PROGRAMMING TIME

Abstract: A semiconductor memory is disclosed which includes a plurality of memory arrays (31₁-31₄) each having a plurality of memory cells arranged in a matrix form with column lines and row lines and a plurality of bit outputs,decoder means (33₁-33₄, 34₁-34₄) responsive to first address signals (A2-A7) to select corresponding memory cells in said memory arrays, a plurality of data write circuits (36₁, 37₁-36₄, 37₄) coupled to said memory arrays for writing data into corresponding memory arrays, a write circuit selecting circuit (45) responsive to second address signals (A0,A1) to select one of said write circuits (36₁,37₁) to write data into a corresponding memory array (31₁) and means responsive to a control signal (MW1,MW2) to modify said second address signal (A0, A1) so as to cause said write circuit selecting circuit (45) to select simultaneously more than one of said memory arrays (31₁-31₄) so as to write data applied to the memory immediately into the selected arrays, thus allowing a plurality of memory cells indifferent arrays to be programmed simultaneously.

Description: The present invention relates to a semiconductor memory and, more particularly, a nonvolatile semiconductor memory using, as memory cells, field effect transistors each including a floating gate within a gate insulating film. In a nonvolatile semiconductor memory such as an erasable and electrically programmable read only memory (EPROM) using field effect transistors each having a floating gate within an insulating film, to program a memory cell, that is, to inject electrons into the floating gate, a program voltage (e.g. 25 V) is simultaneously applied to the gate and drain of a memory insulating gate field effect transistor. Usually, about 50 milliseconds are taken to program a single memory cell. In this case, the programming is performed every word. Accordingly, about 1.7 minutes are taken to program all the memory cells of a memory of 2048 words × 8 bits, and about 3.4 minutes for a memory of 4096 words × 8 bits. In the die sort process of semiconductor memories, all the dies on a single wafer are tested as to whether all the memory cells can be programmed or not. In the case of the memory of 4096 words × 8 bits, if 150 dies, for example, fabricated on a single wafer, time taken for the programming test of all of the dies is 3.4 minutes x 150 = 510 minutes, or 8.5 hours. The same thing can be said for actual data programming of semiconductor memories. A long programming time is taken for programming memories word by word. It is known from Us Patent No. 3686640 to provide a semiconductor memory having a plurality of memory arrays each having a plurality of memory cells arranged in a matrix form with column lines and row lines and a plurality of bit outputs; decoder means responsive to first address signals to select corresponding memory cells in said memory arrays; a plurality of data write circuits coupled to said memory arrays for writing data into corresponding memory arrays; and a write circuit selecting circuit responsive to second address signals to select one of said write circuits to write data into a corresponding memory array. In order to reduce the duration of a memory ability test, the present invention provides a memory of the above type, characterised in that it further comprises multiple-write means responsive to a control signal to modify said second address signals, in a program test mode for testing the ability of the memory, so as to cause said write circuit selecting circuit to select simultaneously more than one of said memory arrays whereby the same test data to be programmed which is applied to the memory cell is written immediately into the selected arrays. According to an embodiment of the present invention, the memory array is divided into a plurality of memory array blocks. One of the memory array blocks is selected by address signals. In a simultaneous data write mode, a pair of address signals is made in-phase by a control signal, so that a plurality of memory array blocks are selected and memory cells addressed by decoders, in each of the selected memory blocks, are simultaneously programmed. Embodiments of the invention will now be described by way of example, with reference to the accompanying drawings, in which: Fig. 1 schematically shows a non volatile memory; Fig. 2 schematically shows another nonvolatile memory; Fig. 3 illustrates a nonvolatile memory according to a further embodiment of the present invention; Fig. 4 shows a practical arrangement of an address buffer circuit controlled by the multiple-write switching circuit in Fig. 3; Fig. 6 shows a practical arrangement of a memory block selecting circuit in Fig. 3; Fig. 7 illustrates a practical arrangement of row and column decoders in Fig. 3; Fig. 8 shows a practical arrangement of a selecting circuit for write-load circuits in Fig. 3; Fig. 9 shows a practical arrangement of the write-load circuits in Fig. 3; Fig. 10 shows a practical arrangement of a data-write circuit in Fig. 3; Fig. 11 shows a modification of the memory in Fig. 3; Fig. 12 schematically shows another memory, and Figs. 13 and 14 show practical arrangements of a data input circuit in Fig. 12. Referring to Fig. 1, there is shown a nonvolatile semiconductor memory which comprises a memory array 1 having row lines 1₀, 1₁, ..., column lines 2₀, 2₁, ..., and floating gate type MOS transistors 3₁₁, 3₁₂, ..., 3₂₁, 3₂₂, ... acting as memory cells. The MOS transistors have their sources grounded, their drains connected to corresponding column lines, and their gates connected with corresponding row lines. The row lines 1₀, 1₁, ... are connected to a row (x) decoder 4. Ends of the column lines 2₀, 2₁, ... are connected with a power source of program voltage Vp via insulating-gate field effect transistors (IGFET) 5₀, 5₁, 5₂, 5₃, .... The other ends of the column lines are coupled with a common terminal 7 by way of column selecting IGFET's 6₀, 6₁, .... Gates of the IGFET's 5₀, 5₂, ..., are supplied with a gate signal Y1, while gates of the IGFET's 5₁, 5₃, ..., are supplied with a gate signal Y2. Gates of the IGFET's 6₀, 6₁, ... are connected with the corresponding outputs (column selecting lines) of a column decoder 8. The common terminal 7 is coupled with the source of program voltage Vp through an IGFET 9 having its gate coupled with the output of a data input circuit 10 supplied with input data. The common terminal 7 is connected to a sense amplifier/output buffer circuit 12 through an IGFET 11 supplied with a data readout instruction signal R/ W at its gate. The input terminal of sense amplifier 12 is connected with a power source Vc (5 V, for example) via a depletion mode IGFET 13 having its gate connected with the input of sense amplifier 12. The sense amplifier 12 provides a 1 output bit. When one word stored in the memory consists of 4 bits, or the memory has 4 bit outputs, four sense amplifiers are provided. The same thing is true for the data input circuit 10. In order to examine whether all of the memory cells of the nonvolatile memory can be written or not, the IGFET's 5₀, 5₁, 5₂, 5₃, ..., are turned on by raising the levels of gate signals Y1 and Y2 up to the program voltage Vp. As a result, the program voltage Vp is applied to all the column lines. Under this condition, when the levels of row lines 1₀, 1₁,... are successively raised to the level of the program voltage Vp by row decoder 4, the gates and drains of the floating-gate IGFET's connected with each row line are supplied with voltages Vp and (Vp - Vth), respectively, so that memory transistors are programmed. Vth represents a threshold voltage of each of IGFET's 5₀, 5₁, 5₂, 5₃, .... As described above, with this memory, since all of the memory cells connected to the respective row lines are programmed simultaneously, a program test time is remarkably reduced compared with a conventional memory. The memory cells are not only simultaneously programmed but also supplied with program data at the same time. Namely, this obviates the necessity of a special circuit for simultaneous data programming such as a latch circuit. Alternatively, the gate signals Y1 and Y2 may be alternately raised to the program voltage Vp such that the gate signal Y1 is raised when row line 1₀ is selected and the gate signal Y2 is raised when the row line 1₁ is selected. In this case, data 1 is written into alternate memory cells connected to each row line, and data 0 is written into the remaining memory cells. In this case, data 1 represents a state that electrons are not injected into the floating gate of memory cell, while data 0 represents a state that electrons have been injected into the floating gate. It is to be understood that the gate signals Y1 and Y2 are raised up to the program voltage Vp only during the test process of memory devices, and therefore the gate signals are zero volt during a formal data programming time. Fig. 2 shows another embodiment of a nonvolatile semiconductor memory With this embodiment, by making a pair of column selecting address signals in-phase, the program voltage Vp is simultaneously applied to two of the column lines for one output bit which are selected by the column decoder so that a couple of memory cells connected to a row line selected by the row decoder are simultaneously programmed. As shown in Fig. 2, in this embodiment, a pair of common terminals 7a and 7b are provided which are coupled to the program voltage Vp through IGFET's 9a and 9b. The common terminals 7a and 7b are connected to a data readout FET 11a followed by sense amplifier 12a, by way of IGFET's 21a and 21b supplied with address signals A0 and A 0, respectively. Further, common terminal 7a is coupled with column lines 2oa to 2ma via column selecting FET's 6oa to 6ma, gates of which are connected to the outputs of column decoder 8a, respectively. The common terminal 7b is connected with column lines 2ob to 2mb by way of column selecting FET's 6ob to 6mb, having gates connected with the outputs of column decoder 8a, respectively. Column lines 2oa to 2ma and 2ob to 2mb are connected to drains of floating-gate FET's 3 11a to 3 1ma and 3 11b to 3 1mb . Gates of IGFET's 9a and 9b are respectively connected to output terminals 0₁ and 0₂, of data input circuit 10a. Output terminal 0₁ is grounded through an IGFET 22a and an IGFET 23a. The gate of IGFET 22a is supplied with address signal A 0, and the gate of IGFET 23a is supplied with an R/ W signal. On the other hand, output terminal 0₂ is grounded through an IGFET 22b and an IGFET 23b. The gate of IGFET 22b is supplied with address signal A0 and the gate of IGFET 23b is supplied with R/ W signal. In the memory arranged as above, in order to write data into memory cells for a program test, the address input signals A0 and A 0 and the R/ W signal are set at logic 0 level. As a result, IGFET's 11a, 21a, 21b, 22a, 22b, 23a and 23b are turned off. Under this condition, when logic 0 data is applied to data input circuit 10a, output terminals 0₁ and 0₂ go to the logic 1 level (in this case, Vp level), to turn ON IGFET's 9a and 9b. This means that program data is simultaneously applied to two memory cells. As a result, common terminals 7a and 7b are connected with the program voltage Vp, so that the program voltage Vp is applied to a pair of the column lines selected by column decoder 8a. This implies that a couple of memory cells connected to the selected column lines and the row line selected by row decoder 4a are programmed simultaneously. For example, in Fig. 2, either a pair of memory cells 3 11a and 3 11b or 3 1ma and 3 1mb is simultaneously programmed. Thus, in the memory shown in Fig. 2, the program test time is halved compared with the prior art memory. As stated above, the requirement of a data latch circuit for data programming is obviated. In Fig. 2, in order to write memory cells formally, address signals A0 and A 0 are set in a complementary relation. For example, when A0 = 1 and A 0 = 0, IGFET 22b is ON. Therefore, output terminal 0₂ is at substantially ground level, and the IGFET 9b is OFF. Meanwhile, depending on input data, output terminal 0₁ goes to logic 1 level or logic 0 level. Consequently, one memory cell selected by row decoder 4a and column decoder 8a is written with data of 0 or 1. In this case, data 1 corresponds to logic 1 of input data. At this time, the terminal 0₁ is at logic 0 level and transistor 9a remains off. Namely, writing data 1 into a memory cell means that the floating-gate of memory cell is neutral. Fig. 3 shows an embodiment of a nonvolatile semiconductor memory of the present invention. In this embodiment, the memory array is divided into four blocks. And the corresponding memory cells in four or two memory blocks (16 or 8 cells when a word consists of 4 bits) are simultaneously programmed. In Fig. 3, reference numerals 31₁ to 31₄ designate the memory blocks. These memory blocks include respectively memory arrays 32₁ to 32₄, row decoders 33₁ to 33₄, column decoder 34₁ to 34₄ column selecting gate circuits 35₁ to 35₄, write load circuits 36₁ to 36₄ and write load circuit 37₁ to 37₄. In this embodiment, memory arrays 32₁ to 32₄ are each a 64 (16 x 40) words by 4 bits array. Address signals A2 to A5 are applied to each of row decoders 33₁ to 33₄ via address buffers 38 to 41, respectively, while address signals A6 and A7 are applied to each of column decoders 34₁ to 34₄ by way of address buffers 42 and 43. Selection of the memory blocks 31₁ to 31₄ is performed by output signals MS1, MS1 to MS4 and MS4 of a memory block selecting circuit 44 fed with address signals A0 and A1. Write load circuits 36₁ to 36₄ and 37₁ to 37₄ are selectively enabled by output signals R /W1, R /W2, R /W3 and R /W4 of a load-circuit selecting circuit 45 supplied with address signals A0 and A1. The 4-bit outputs of each of memory blocks 31₁ to 31₄ are coupled together with an output circuit 47 via transmission gate circuits 46₁ to 46₄. To memory blocks 31₁ to 31₄ are connected write circuits 48₁ to 48₄ which are selectively enabled by output signals WS1 to WS4 of write-circuit selecting circuit 49. Circuits 48₁ to 48₄ each supply input data Din from an input circuit 50 to the corresponding memory block when enabled. A multiple-write circuit designated by reference numeral 51 is arranged to supply signals MW1 (MW2) and MW1 ( MW2 ) to address buffers 52 and 53 to which the address signals A0 and A1 are supplied in order to set the address signals to the multiple write mode in which a plurality of memory blocks are selected and a plurality of memory cells in the selected memory blocks are concurrently programmed. Fig. 4 shows a practical arrangement of multiple-write circuit 51. Reference numerals 61 to 64 designate depletion mode IGFET's and reference numerals 65 to 68 enhancement mode IGFET's. Address signal A0 (or A1) is applied to an inverter 69 for detecting an input voltage of 10 V or more as a logic 1. When the address signal A0 is raised to 10 V or more for multiple writing, the output signal MW1 (MW2) goes to logic 1 level, while the output signal MW1 ( MW2 ) goes to logic 0 level, thus instructing address buffers 52 and 53 to execute the multiple-write. In the normal write mode, the address signal A0 (A1) is below 10 V. Under this condition, the output signal MW1 (MW2) is at logic 0 level, while the output signal ( MW1 ) ( MW2 ) is at logic 1 level. Fig. 5 shows a practical arrangement of the address buffer 52 (or 53). Reference numerals 71 to 74 designate IGFET's the threshold voltage of which is 0 V; reference numerals 75 to 77 depletion mode IGFET's; 78 to 86 enhancement mode IGFET's. In the normal data write mode, the output signals MW1 (MW2) and MW1 ( MW2 ) of multiple-write circuit 51 are respectively at logic 0 and logic 1 level. Therefore, output signals a0 (a1) and a 0 ( a 1) of address buffer 52 (53) are at complementary logic levels according to the logic level of the address signal A0 (A1). However, when MW1 (MW2) = 1 and MW1 ( MW2 ) = 0, that is, in the multiple-write mode, the output signals a0 (a1) and a 0 ( a 1) of address buffer circuit 52 (53) both go to logic 0. The address buffer circuits shown in Figs. 4 and 5 can be used in the memories shown in Figs. 1 and 2. If the address buffer circuit is used for address input signals to the row decoder, then a plurality of row lines can be selected concurrently so that memory cells connected to the plurality of row lines are programmed at the same time. This means, as stated above, that program data are simultaneously applied to the memory cells. For programming test, data applied to the memory cells may be identical to each other. Fig. 6 shows a practical arrangement of memory block selecting circuit 44. Reference numerals 91 to 94 designate depletion mode IGFET's and numerals 95 to 99 enhancement mode IGFET's. This circuit is provided for each of combinations of the output signals from address buffers 52 and 53; a0 and a1, a0 and a 1; a0 and a1, and a 0 and a 1. The circuit shown in Fig. 6, for example, receives the output signals a0 ( a 0) and a1 ( a 1) from address buffers 52 and 53 to form output signals MS1 (MS4) and MS1 ( MS4 ). In the normal data write or read mode, one of the output signals MS1 to MS4 for selecting a memory block designated is at logic 1 level and corresponding one of the signals MS1 to MS4 is at logic 0 level. In the multiple-write mode, the signals a0, a 0, a1 and a 1 are at logic 0, and hence the signals MS1 and MS4 are all at logic 1, while signals MS1 to MS4 are all at logic 0. As a result, memory blocks 32₁ to 32₄ are all selected. Fig. 7 shows a practical arrangement of the row (column) decoder. Reference numeral 101 designates an IGFET the threshold voltage of which is approximately 0 V; numerals 102 to 104 depletion mode IGFET's; and numerals 105 to 109 enhancement mode IGFET's. In the case of the row decoder, for example, this circuit is provided for each of 16 combinations of the address input signals. On the other hand, in the case of the column decoder, this circuit is provided for each of four combinations of the address input signals. In the normal operation, since MSi = 1 and MSi = 0 (1 ≦ i ≦ 4) in the selected memory block, the decode outputs, or the row or column selecting lines, take a logical state according to address signals. In the non-selected memory block, MSi = 0 and MSi = 1. Accordingly, the decode output goes to logic 0 regardless of a state of the address signals. In the multiple-write mode, as stated above, the signals MS1 to MS4 are all at logic 1 and the signals MS1 to MS4 are all at logic 0, so that all of the memory blocks 32₁ to 32₄ are selected. Fig. 8 shows a practical arrangement of the selecting circuit 45 for the write load circuits. Reference numerals 111 to 113 designate depletion mode IGFET's and numerals 115 to 118 enhancement mode IGFET's. This circuit is provided for each memory block. When R/W = 0, that is, in the data write mode, it supplies a signal R /Wi of logic 1 to the write load circuit of a selected memory block. Fig. 9 shows a practical arrangement of the write load circuit. Reference numerals 121 and 122 designate enhancement mode IGFET's and numerals 123 to 126 depletion mode IGFET's. With such a circuit arrangement, when R /Wi = 1, a selected decode output is raised to Vp level and the non-selected decode outputs go to logic 0 level. Write-circuit selecting circuit 49 is constructed substantially similar to memory block selecting circuit 44. Accordingly, it may be considered that WS1 = MS1, WS2 = MS2, WS3 = MS3 and WS4 = MS4. Fig. 10 shows a practical arrangement of the write circuit 48₁. In the circuit, reference numerals 123 to 133 designate depletion mode IGFET's and numerals 134 to 138 enhancement mode IGFET's. When Din = 1, WS1 = 1, and R/ W = 0, the output of this circuit goes to Vp to turn on an IGFET (corresponding to IGFET 9 in Fig. 1) which supplies a program voltage to the column lines. The remaining write circuits 48₂ to 48₄ are also constructed similarly. In these circuits, the signals WS2, WS3 and SW4 are supplied to the FET's corresponding to FET 136. The memory thus constructed can simultaneously program a memory array of four memory blocks, so that a program test time is reduced to 1/4 that of the prior art memory. With this embodiment, if the address signals A0 and A1 are simultaneously set in the multiple-write mode, four memory blocks are simultaneously selected. Alternatively, one of the address signals A0 and A1 may be set in the multiple-write mode. In this case, two memory blocks are simultaneously selected. A common multiple-write switching circuit may be provided for address buffers 52 and 53. In this case, four memory blocks are simultaneously selected. For the purpose of program testing, the same data may be written into memory cells so that they are simultaneously programmed. In the above-mentioned embodiment, the address signal is used for the multiple-write switching signal, but other signals may be used instead. A terminal (pad) exclusively used for the program test may be provided to which a multiple-write switching signal is supplied. Fig. 11 shows a modification of the memory of Fig. 3 in which row and column decoders are used commonly for the memory blocks. Outputs of row selecting gate circuits 35₁ to 35₄ are coupled to an output circuit 47 through sense amplifiers 54₁ to 54₄. In the normal operation mode, the memory block selecting circuit 44 selects one of the memory blocks so that the write circuit and the sense amplifier in the memory block are enabled. In the multiple-write mode, the write circuits are all enabled to write data into memory cells, selected by row and column decoders 33 and 34, in the memory arrays 32₁ to 32₄. In the memory shown in Fig. 11, memory blocks 31₁ to 31₄ and output circuit 47 each are arranged to have 4 bit outputs. However, they may have 1 bit output. With a 4-bit output memory device, if memory blocks 31₁ to 31₄ and output circuit 47 each have 1 bit output, then four-memory block unit and output circuit are further necessitated. Fig. 12 shows still another embodiment of a nonvolatile semiconductor memory This circuit is different from the circuit of Fig. 2 with respect to only data input circuit. Accordingly, like numerals are used for like portions in Fig. 2. In this embodiment, a plurality of column lines associated with one output bit are divided into a plurality of groups. Data 1 and/or 0 are written into memory cells which are connected to corresponding column lines in the groups selected by the column decoder and a row line selected by the row decoder, for the purpose of the data programming. The contents of data written into the memory cells are determined by a data input circuit 10b which detects a voltage level of the input data having more than 2 voltage levels. The present embodiment is suitable for the program test and the normal data programming as well. An input data voltage applied to data input circuit 10b is set at 0 V, 5 V, 10 V or 15 V. Relationships between logic levels of outputs s and t of data input circuit 10b and input data voltage are shown in Table 1 given below. Input data s t 0 V 0 0 5 V 1 0 10 V 0 1 15 V 1 1 The logic 1 level of output s and t indicates the program voltage Vp (25 V), while the logic 0 level indicates 0 V. When the input data is at 0 V, the outputs s and t of data input circuit 10b are at logic 0 level. Therefore, FET's 9a and 9b are OFF. As a result, the program voltage Vp is not applied to the column lines, and the contents of the memory cells remain zero. In this case, logic 0 corresponds to the neutral state of floating-gate. In other words, the logic 0 data is written into a memory cell, in each column line group, selected by row decoder and column decoder. When the input data is at 5 V, since s = 1 and t = 0, FET 9b turns on. At this time, if the row line 10a and the column line 20b are selected by decoders 4a and 8a, logic 1 data is written into memory cell 3 11b . Since FET 9a remains off, the content of memory cell 3 11a remains zero. In other words, zero is written into memory cell 3 11a . When the input data is at 10 V, since s = 0 and t = 1, FET 9a turns on. At this time, if memory cells 3 11a and 3 11b are selected by row decoder 4a and column decoder 8a, logic 1 data is written into memory cell 3 11a . When the input data is at 15 V, since s = 1 and t = 1, both FET's 9a and 9b turn on. If memory cells 3 11a and 3 11b are selected, logic 1 data is simultaneously written into these memory cells. In Fig. 13, a practical arrangement of the data input circuit for executing logic functions shown in the Table 1 is illustrated. In Table 2, logic levels of outputs s and t of the circuit and at points of X, Y and Z are tabulated. The logic 1 level at points X, Y and Z indicates a voltage Vc (5 V, for example), and the logic 1 level of outputs s and t represents the program voltage Vp. Input data x y z s t 0 V 1 1 1 0 0 5 V 0 1 1 1 0 10 V 0 0 1 0 1 15 V 0 0 0 1 1 In the circuit shown in Fig. 13, reference numerals 141, 142 and 143 designate reference voltage generating circuits which are enabled by-the signal R /W to generate reference voltages of 2 V, 7 V and 12 V, respectively. The reference voltages 2 V, 7 V and 12 V are compared with the voltage of input data by voltage comparators 144, 145 and 146, respectively. On the basis of the result of the voltage comparison, gate circuits 147 to 150 are controlled to determine the logic levels at outputs s and t . For example, if the input data is at 0 V, a resistance value of an FET 151 supplied with the input data at its gate is larger than a resistance value of an FET 152 supplied with the reference voltage of 2 V at its gate. Therefore, an FET 153 is ON while an FET 154 is OFF. And when an FET 155 is enabled by the write instruction signal R /W of logic 1, an output x of voltage comparator 144 goes to logic 1. As a result, FFT's 156 and 157 of gate circuit 147 and 148 turn on to cause the outputs s and t to go to logic 0 level, as shown in Table 2. Also, in case that the input data is at another voltage level, a logic operation is performed according to Table 2. As will be evident, by changing the voltage of input data according to a combination of write-data to memory cells, the program data can be simultaneously written into the memory cells. In Fig. 14, another arrangement of data input circuit 10b is shown. A reference voltage generating section 161 generates reference voltages of 7 V, 12 V, 18 V and 21 V. These reference voltages are compared with the input data voltage in the voltage comparator 162 to 165, respectively. This circuit can write 1 into one memory cell selected by address signals when the input data is at 5 V. When the input data is at 10 V, 15 V, 20 V or 25 V, a pair of memory cells having different addresses can be simultaneously programmed. Further, two-bit program data can be applied to two memory cells at the same time. The circuit of Fig. 14 operates according to Table 3 given below. More specifically, when the input data is at 5 V and A0 = 0, in the circuit of Fig. 12, FET 9b turns on so that data 1 is written into one of the memory cells connected to the column lines 20b, ..., 2mb. On the other hand, when A0 = 1, FET 9a turns on so that data 1 is loaded into one of the memory cells connected with the column lines 20a, ..., 2ma. When the input data is at 10 V, since s = t = 0, data 0 is written into a couple of the memory cells connected to two column lines selected by column decoder 8a and to a row line selected by row decoder 4a. When the input data is at 15 V, since s = 1 and t = 0, data 1 is written into one of the memory cells connected to column lines 2ob, ..., 2mb, and data 0 is written into one of the memory cells connected to column lines 2oa, ..., 2ma. When the input data is at 20 V, since s = 0 and t = 1, data 1 is written into one of the memory cells connected with column lines 2oa, ..., 2ma, and data 0 is written into one of the memory cells connected with column lines 2ob, ..., 2mb. And when the input data is at 25 V, since s = t = 1, data 1 is written into a pair of memory cells concurrently. In this case, as stated above, program data can be applied to a plurality of memory cells at the same time. Therefore, a data latch time is not necessary. In the memory shown in Fig. 12, a memory area corresponding to 1 output bit is divided into two groups. Therefore, the programming time is halved compared with that of the prior art. Generally, if the memory area is divided into n groups, the programming time is reduced to 1/n of that of the prior art. And in this case, the input data has 2 n voltage levels. The number of the aforesaid gate signals Y1, Y2 is not limited to two, but may be three or more. The signals Y1, Y2 may be supplied through input pads. Alternatively, input signals (for example, address input signals) may be used for the signals Y1, Y2. While the cases where the present invention is applied to a ROM have been described, the present invention is also applicable to a RAM (random access memory). Namely, also in a read/write RAM memory cells having different addresses can be selected and written simultaneously by using a special signal according to the teachings described in connection with the illustrated embodiments of this invention. Further, through the embodiment of this invention were described in connection with 1 word x 4 bit memory, this invention may be applied to 1 word x 1 bit memory or 1 word x 8 bit memory. Attention is drawn to related application No 81304660.4 from which the present application has been divided.

Claims: A semiconductor memory comprising a plurality of memory arrays (31₁-31₄) each having a plurality of memory cells arranged in a matrix form with column lines and row lines and a plurality of bit outputs, decoder means (33₁-33₄, 34₁-34₄) responsive to first address signals (A2-A7) to select corresponding memory cells in said memory arrays, a plurality of data write circuits (36₁, 37₁-36₄ 37₄) coupled to said memory arrays for writing data into corresponding memory arrays, and a write circuit selecting circuit (45) responsive to second address signals (A0, A1) to select one of said write circuits (36₁, 37₁) to write data into a corresponding memory array (31₁), characterized in that said memory further comprises multiple-write means responsive to a control signal (MW1, MW2) to modify said second address signals (A0, A1), in a program test mode for testing the ability of the memory, so as to cause said write circuit selecting circuit (45) to select simultaneously more than one of said memory arrays (31₁-31₄) whereby the same test data to be programmed which is applied to the memory cell is written immediately into the selected arrays. A memory as claimed in claim 1, wherein said decoder means comprises column and row decoders (33₁, 34₁; 33₂, 34₂; 33₃,34₃; 33₄, 34₄) provided for each of said memory arrays. A memory as claimed in claim 1 or 2, in which each of said memory cells is a floating gate type MOS transistor having its gate connected to a row line and its drain connected to a column line. A memory as claimed in claim 1, 2 or 3, wherein said multiple-write means comprises: a preselected number of address buffers (52, 54) connected to said write circuit selecting circuit (45), for receiving respective ones of the second address signals (A0, A1); and a multi-write circuit (51) connected with said address buffers (52, 54), for setting the second signals (A0, A1) in the multi-write mode simultaneously in response to the control signal (MW1, MW2).

Inventors: ASANO, MASAMICHI, IWAHASHI, HIROSHI
Applicants: KABUSHIKI KAISHA TOSHIBA
Application year: 1981
Main classification: G11C17
IPC codes: G11C7, G11C8, G11C16, G11C29