Abstract:
An improved error-correction type semiconductor memory device operates at high speed. The memory is provided with a pair of row address buffers which can operate independently, and when error correcting operation is performed for the data related to the address contents of one of the buffers, the access operation of the data cell array is conducted by the other of the buffers, thereby enabling the memory device to simultaneously carry out parts of the operation of successive read-out operations.

Description:
BACKGROUND OF THE INVENTION 
     This invention relates to a semiconductor memory device and more particularly to a semiconductor memory device incorporating an error self-correcting circuit. 
     Recent developments in the semiconductor memory device technology has resulted in a remarkable reduction in the size of a memory cell. 
     The miniaturization of the memory cell has led to reduction in the quantity of the stored charge, and this has made alpha-induced soft-errors a serious problem. Moreover, a power supply voltage drop is also expected when the internal electric field of the miniaturized device is optimized. Thus, it becomes extremely difficult to secure soft-error resistance such as is presently available in the case of semiconductor memories having larger storage capacities. 
     Methods of solving this problem and allowing a semiconductor memory to have a larger capacity include incorporating into the memory an error self-correcting circuit for automatically checking and correcting soft-errors within the memory chip. One such method is the multi cell 1-bit method wherein a plurality of memory cells are assigned to store one bit of information to mask the soft-error generated in one cell. Another is the method wherein error-correcting codes are used. In view of the circuit scale additionally necessary for correcting errors, the method employing error-correcting codes is deemed a promising one. 
     According to a proposed error correction method, a check cell array is provided in addition to a normal memory cell array. An error-correcting circuit receives read-out signals from the memory cell array and the check cell array to generate a correcting signal, which is used for correcting the data to the read-out. The disadvantage of such a conventional semiconductor memory device having an error self-correcting circuit is that the access time as a whole tends to become longer because it takes a significant amount of time to generate the correcting signal in the correcting circuit. The larger the scale of the memory, the greater the number of data bits applied to the correcting circuit and the greater the number of checking bits applied thereto. Accordingly, the time required to correct errors increases, which makes it impossible to read and write data at a high speed, constituting a significant shortcoming of such prior devices. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide an error-correction type semiconductor memory device which can operate at high speed. 
     The memory device according to the present invention is of the type having a data cell array for storing data to be accessed, a parity cell array for storing parity check data to be used for checking the data stored in the data cell array, the data cell array and the parity cell array including storage cells arranged in rows and columns. The device includes a first row address buffer for holding row address data, a row decoder for selecting the rows of the data cell array and the parity cell array, and an error correction circuit for correcting data read from the data cell array in accordance with the data stored in the parity cell array. A second row buffer for holding the row address data is provided in parallel with the first row buffer. According to the present invention, successive read-out operations are conducted in overlapped time sequences, such that the memory array accessing of a given read-out operation takes place during error correction of a just prior read-out operation. Also, the amplification of the accessed data of the second read-out operation occurs simultaneously with the outputting and rewriting operation of the first read-out operation. 
     The ability of the device to process data per unit time is remarkably improved so that the effective access time of the memory is enhanced. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram showing a memory device including an error correcting circuit according to the prior art; 
     FIG. 2 is a timing diagram showing the operation of the memory of FIG. 1; 
     FIG. 3 is a block diagram showing a memory device according to the present invention; 
     FIG. 4 is a timing diagram showing the operation of the memory according to the invention; 
     FIG. 5 is a circuit diagram showing the structure of the multiplexer 21 of FIG. 3; 
     FIG. 6 is a circuit diagram showing the structure of the multiplexer 31 of FIG. 3; 
     FIG. 7 is a block diagram showing a flip-flop employed in registers 33 and 36; 
     FIG. 8 is a partial block diagram of the circuit 15&#39; of FIG. 3; and 
     FIG. 9 is a block diagram of the circuit 18 of FIG. 3. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     FIG. 1 shows an example of the configuration of a previously known semiconductor memory device having an error self-correcting circuit using parity codes. 
     In FIG. 1, an array 14 of parity cells (parity cell array) is provided in conjunction with a memory cell array 13 consisting of (n+1) rows (shown vertically in FIG. 1) and (m+1) columns (shown horizontally in FIG. 1). The rows are common to memory cell array 13 and parity array 14. In the array 13 and the parity cell array 14, storage cells of the same structure are arranged at the intersections of the rows and the columns. The rows of the arrays 13 and 14 are selected by row address signals A o  -A n  via a row buffer 11 and a row decoder 12 in a known manner. The read-out signals from the storage cells associated with the selected row are transmitted through the column lines to a digit driver circuit 15, which includes sense amplifiers, and are amplified therein. The amplified signals from driver 15 are applied to an error-correcting circuit 18. The circuit 18 also receives a column selection signal generated by a column decoder 17, which receives column address signals B o  to B m  via a column buffer 16. In the circuit 18, a correcting signal is generated in response to the signal read from arrays 13 and 14. The data is then corrected in circuit 18 in a known manner. The corrected read-out data generated by the circuit 18 is then transfered to an I/O buffer 110 and is simultaneously re-written to the selected cells of the array through driver circuit 15. The I/O buffer 110 outputs the corrected read-out control circuit 19. 
     With reference to FIG. 2, the time sequence of the operation of the above memory will be described. Block A 1  indicates the time of the operation from receipt of the row address signals A o  to A n  to appearance of the read-out data signals on the respective columns of the arrays 13 and 14. Namely A 1  represents the operation time period from the start of a first read-out operation to the time when both the arrays 13 and 14 generate the signals on the respective columns. Therefore, A 1  relates to the whole operation time of the blocks 11, 12, 13 and 14. The time of the operation from the occurrence of the read-out signals on the respective columns to the completion of amplifying the above readout signals by the circuit 15 is indicated by B 1 . In response to the amplifying operation of the circuit 15, the error correcting circuit 18 starts its operation to generate the corrected read-out data. The time of this operation of the circuit 18 is indicated by C 1 . Then, after the generation of the corrected read-out data by the circuit 18, the I/O buffer 110 outputs the corrected data during the operation period D 1 . Also, during the period D 1 , the corrected data is re-written to the selected cells. Thus, the first read operation is completed. After a reset period, T R , a second read-out operation, as indicated by time blocks A 2 , B 2 , C 2  and D 2 , is carried out. 
     Typical values of the respective operation times A 1  (A 2 ), B 1  (B 2 ), C 1  (C 2 ) and D 1  (D 2 ) are 50 ns, 30 ns, 50 ns and 50 ns, respectively. Therefore, for a complete read-out operation, at least 180 ns is required. 
     As is clear from the above explanation, the presence of correction circuit 18 introduces an additional operation time that would not be necessary in the absence of error correction. Therefore, as a whole, the access time per unit of read-out signal becomes longer by the operation time (C 1 ) of the circuit 18. The larger the scale of the memory, the greater the number of data bits applied to the circuit 18, and the greater the operation time required of the circuit 18, resulting in relatively low speed operations. 
     Referring now to FIGS. 3 and 4, a preferred embodiment of the invention will be described in detail. 
     In FIG. 3, the portions corresponding to those of FIG. 1 are indicated by the similar reference numerals. In FIG. 3, two sets of address buffers, 11A and 11B, are provided. These buffers, 11A and 11B, are adapted to receive the row address signals A o  to A n  through an input multiplexer 21. The outputs of the buffers 11A and 11B are applied to the row decoder 12 through an output multiplexer 31. In other words, the input multiplexer 21 selectively applies the set of address signals to one of the buffers 11A and 11B while the output multiplexer 31 selectively transmits the buffer outputs of 11A and 11B to the decoder 12. Both of the buffers, 11A and 11B, have latch functions for holding the row address signals. 
     An input register 33 is provided between the digit drive circuit 15&#39; and the error correcting circuit 18. The register 33 performs the function of holding data from the circuit 15&#39;. A re-write register 36 is provided to store data to be re-written to the arrays 13 and 14. The register 36 is adapted to receive the data from register 33 and the corrected data from the circuit 18. The corrected data held in the register 36 is transferred to the circuit 15&#39; and to the arrays 13 and 14. 
     Thus, the row address signals are given to one of the row address buffers 11A and 11B selectively through the multiplexer 21, and the multiplexer 31 selectively connects one of the buffers 11A and 11B to the decoder 12. Also, the signals from the arrays 13 and 14 are applied to the register 33 through the circuit 15&#39;. The output of the register 33 is also applied to the register 36 as well as to the circuit 18. 
     The column address signals B o  to B m  are applied to the column address buffer 16 and to the circuit 18 through the column decoder circuit 17. After the read-out is corrected by the circuit 18, it is sent to the I/O buffer 110 and the register 36. The contents of register 36 are written to the arrays 13 and 14. 
     In FIG. 4, the suffixes attached to A, B, C, and D indicate the sequence of the operations. For example, the suffix &#34;1&#34; represents the first operation and &#34;2&#34; represents the second operation. 
     At time t 1 , a first read-out operation is initiated. The row address signals A o  to A n  are transferred to the buffer 11A through the multiplexer 21 and latched in the buffer 11A. The latched row address signals in the buffer 11A are applied to the row decoder 12 to select the i-th row of the arrays 13 and 14. In response to the selection of the i-th row, the cells coupled to the i-th row are enabled to generate read-out signals on the respective columns of the arrays 13 and 14. The time of the above operation is indicated as &#34;A 1  &#34; in FIG. 4. Thereafter, the signals on the respective columns are amplified by the sense amplifiers included in the circuit 15&#39; and applied to the register 33. The time of these operations are shown as B 1  in FIG. 4. At time t 2 , the circuit 18 starts its error correction operation in a known manner and sends the corrected data to register 36 and buffer 110. This takes place during the period indicated by C 1 . Simultaneously with the latter operations, row address signals for the second read operation are applied to the buffer 11B through the multiplexer 21 and to the row decoder 12 through the multiplexer 31. The decoder selects the j-th row of the arrays 13 and 14 so that signals from the cells of the j-th row are generated on the respective columns. These operations take place during the period shown by A 2  ; which coincides with the period C 1 . The signals generated by the second access operation are amplified and then stored in the register 33 during the time period indicated by B 2 . Also, the contents of the buffer 11A are again applied to the decoder through the multiplexer 31 to select the i-th row, and the corrected data held by the register 36 is re-written to the i-th row of the arrays 13 and 14 through the circuit 15&#39;. Simultaneously, the buffer 110 outputs the corrected read-out signal as a read output. The above re-write operation and output operation occur during the period D 1  of FIG. 4 which coincides with B 2 . 
     At time t 3 , the circuit 18 performs its error correction operation for the second data read from the array and stored in the register and, after the correction operation, the circuit 18 sends the corrected data to the register 36 and the buffer 110, during the period C 2 . Also, at this time, the next row address signals for the next access are applied to the buffer 11A and further to the decoder 12 through the multiplexer 31. Thus, the decoder 12 selects the k-th row of the arrays 13 and 14 so that signals stored in the cells of the k-th row appear on the respective columns. The time of the latter operations is indicated by A 3 . Then, after the read-out signals on the columns are stored in the register 33, the row address is returned from the k-th row to the j-th row. Under this condition, the corrected data stored in the register 36 is re-written to the arrays 13 and 14 through the circuit 15&#39; while the buffer 110 outputs the corrected data to the outside (D 2 ). 
     Operations continue in the same manner with the later operations of a given read-out sequence occurring simultaneously with the earlier operations of a next succeeding read-out sequence. 
     As explained above, according to the invention, one part (C, D) of the operation and the other part (A, B) of the subsequent operation are conducted in parallel. Therefore, the effective operation speed for obtaining a unit of data can be remarkably enhanced. For example, in the case where the values of A, B, C and D are 50 ns, 30 ns, 50 ns and 50 ns, respectively, the effective operation speed can be improved by 100 ns. 
     Referring to FIGS. 5 to 9, examples of the major blocks of the memory of FIG. 3 are explained below. 
     FIG. 5 shows a unit structure 21 i  of the multiplexer 21. A transistor Q 1A  transfers the row address signal A o  to the buffer 11A when it is conducting in response to φ 1A , while a transistor Q 1B  transfers A o  to the buffer 11B in response to φ 1B . 
     A unit structure 31 i  of the multiplexer 31 is shown in FIG. 6. Transistors Q 2A  and Q 2B  transfer the signals from the buffers 11A and 11B to the decoder 12 in response to control signals φ 2A  and φ 2B , respectively. 
     The registers 33 and 36 are composed of a plurality of flip-flops, each of which is shown in FIG. 7. 
     FIG. 8 shows the structure per each bit of the circuit 15&#39;. A pair of digit lines BL and BL are input to the sense amplifier SA through transfer gate transistors Q 31  and Q 32  controlled by φ 1 . The outputs of the sense amplifier SA are applied to the register 33 via transfer gate transistors Q 35  and Q 36 . Also, the pair of digits lines BL and BL are connected to a pair of inputs of a buffer BO which receives the output of the register 36 through transistors Q 33  and Q 34 . When the signals on the columns are amplified, φ 1  is kept high with φ 2  and φ 3  held low. After completion of the amplifying operation, φ 1  is returned to a low state. When the stored data in the sense amplifier SA is input to the register 33, φ 3  is maintained high with φ 1  and φ 2  low. 
     In the case of re-writting the corrected data to the arrays, φ 2  is kept high while φ 1  and φ 3  are low. 
     Various architectures may be used as the error correcting circuit 18. One example of such circuit 18 is shown in FIG. 9. A selector 51 re-arranges the data from the array 13 via the register 33 in two dimensions, i.e, horizontal and vertical groups, and in response to the output of the decoder 17, sends the horizontal group of data and vertical group of data to a horizontal parity check circuit 53 and a vertical parity check circuit 54, respectively. A selector 52 receives the data from the array 14 through the register 33 and outputs horizontal parity data 59 and vertical parity data 60 in response to the output of the decoder 17. The circuits 53 and 54 generate a horizontal check data and a vertical check data, respectively. The data 59 is compared with the horizontal data by an exclusive-OR gate 55 while the data 60 is compared with the output of the circuit 54 by an exclusive-OR gate 56. The outputs of the gates 55 and 56 are input to an AND gate 57 and then to an exclusive-OR gate 52 to which the selected read-out data 61 by the selector 51 is applied. The gate 58 generates the corrected read-out data 62. 
     As described above, the semiconductor memory device of the invention is very useful because it makes possible a high-speed access allowing the access time of such a semiconductor memory device to be roughly halved.