SEMICONDUCTOR MEMORY DEVICE

Abstract: A semiconductor memory device is provided which comprises a main memory cell array (MCA) including a plurality of rows of cell arrays each row corresponding to a two-dimensional virtual matrix configuration, and a redun­ dancy memory cell array (RCA′) including a plurality of rows of redundancy memory cells each row corresponding to one horizontal or vertical group of memory cells of the virtual matrix configuration. When a selected memory cell is a predetermined defective cell, a row of memory cells includ­ ing such a defective cell is replaced with the redundancy memory cell array, thereby correcting a hard error. Also, when such a defective cell is accessed by an error checking and correcting (ECC) circuit of a horizontal and vertical parity checking type, a horizontal or vertical group of memory cells including the selected memory cell is replaced with the corresponding row of the redundancy memory cell array, thereby correcting a soft error and a hard error other than the predetermined hard error.

Description: The present invention relates to a semi-conductor memory device. A semiconductor memory device comprises a large number of memory cells arranged along rows and columns which are orthogonal to each other. A density of defects generated in such a semiconductor memory device during manufacturing is relatively independent of the integration density of the device, but is dependent on semiconductor manufacturing technology. Therefore, the higher the integration density of the device, the greater the ratio of the number of normal memory cells to that of defective memory cells. This is one of the advantages obtained by increasing the integration density of a semiconductor memory device. Nevertheless, if the device includes even only one defective memory cell, which is called a hard error cell, the device cannot operate normally, and therefore, the device is scrapped. To be able to operate a semiconductor memory device despite such a hard error cell, a semiconductor memory device is known in which a redundancy memory cell array is incorporated with a main memory cell matrix along rows or columns thereof. In this device, when a hard error cell is detected, the redundancy memory cell array is used instead of a row memory cell array or a column memory cell array including the hard error cell, and accordingly, in a semiconductor memory device including such a redundancy memory cell array, the manufacturing yield thereof can be improved. Note that this redundancy technique can be applied only to previously determined hard errors. That is, once hard error cells are determined, other errors cannot be corrected after the determination of the hard error cells. On the other hand, as the capacity of a semiconductor memory device is increased to 256 Kbits, 1 Mbits, and 4 Mbits, in order to reduce the size of the memory cells, the generation rate of soft errors due to α-rays has also increased. Such soft errors are corrected by an error checking and correcting (ECC) circuit, not by the above-mentioned redundancy technique. For this purpose, a dynamic random access memory (RAM) incorporating an ECC circuit of a two-dimensional virtual matrix type parity checking (or horizontal and vertical type parity checking) is known (see: T. Mano et al., "Circuit Techniques for a VISI Memory", IEEE Journal of Solid-State Circuits, Vol. SC-18, No. 5, pp. 463-469). One possibility is to combine the above-mentioned redundancy technique with the improved ECC technique to enable the correction of not only the previously determined hard errors but also soft errors or hard errors caused after the determination of the previously determined hard errors. However, since the two-dimensional virtual matrix parity-checking has a predetermined logic for outputting data in response to a selected memory cell, it is impossible to simply replace a defective row or column with the redundancy row or column. Therefore, unless a great number of circuit elements for preventing the previously determined defective hard errors from entering the two-dimensional virtual matrix are used, it is difficult to combine the redundancy technique with the improved ECC technique. It is accordingly desirable to combine the redundancy technique with the ECC circuit in a semiconductor memory device without using a large number of circuit elements. The inventor has already proposed a semiconductor memory device which combines the two-dimensional parity checking technique with the redundancy technique, as illustrated in Fig. 3 corresponding to Figure 3 of EP-A-0 172 734. This constitutes prior art for the present application under Article 54(3) EPC. According to the present invention, there is provided a semiconductor memory device comprising:- a main memory cell array including a plurality of rows of memory cells and a plurality of columns of memory cells; first selector means connected to said main memory cell array for selecting a memory cell in said main memory cell array; and an error checking and correcting circuit of a horizontal and vertical parity checking type, for correcting data from said first selector means; said error checking and correcting circuit comprising:- second selector means, comprising a horizontal selector and a vertical selector each connected to said main memory cell array for respectively selecting a horizontal and a vertical group of memory cells corresponding to a parity-checking two-dimensional virtual matrix from a row of memory cells including said memory cell selected by said first selector means; a horizontal parity generator, connected to said second selector means, for generating a horizontal parity from said horizontal group of data; a vertical parity generator, connected to said second selector means, for generating a vertical parity from said vertical group of data; parity storing means for storing predetermined horizontal parities and predetermined vertical parities of each row of said main memory cell array; a comparator circuit, connected to said horizontal and vertical parity generators, and to said parity storing means, for comparing said horizontal and vertical parities with the corresponding one of said predetermined horizontal parities and the corresponding one of said predetermined vertical parities, respectively; and a correction circuit, connected to said first selector means and said comparator circuit, for correcting data of said first selector means in accordance with the comparison result of said comparator circuit; characterised in that:- a redundancy memory cell array is provided, including a plurality of rows of redundancy memory cells; said first selector means is connected to said redundancy memory cell array and operable to replace a memory cell in said main memory cell array with a corresponding redundancy memory cell in said redundancy memory cell array when the memory cell in said main memory cell array is a predetermined defective cell; said second selector means is connected to said redundancy memory cell array and operable to replace the selected horizontal or vertical group of memory cells with a corresponding row of said redundancy memory cell array when said horizontal or vertical group of memory cells include said predetermined defective cell; said second selector means further comprising:- a redundancy horizontal selector, connected to said redundancy memory cell array, for selecting one row of said redundancy memory cell array; a switching means comprising a decoder, connected to said horizontal selector and said redundancy horizontal selector, for replacing said horizontal group of memory cells with said one row of said redundancy memory cell array; a redundancy vertical selector, connected to said redundancy memory cell array, for selecting a redundancy memory cell from one column of said redundancy memory cell array; and a switching means comprising a decoder and fuse means, connected to said vertical selector and said redundancy vertical selector, for replacing one of said vertical group of memory cells with said redundancy cell, when said vertical group of memory cells includes said predetermined defective cell. Reference will now be made, by way of example, to the accompanying drawings, wherein: Fig. 1 is a circuit diagram illustrating a prior art semiconductor memory device incorporating an ECC circuit; Fig. 2 is a diagram of one two-dimensional virtual matrix configuration of Fig. 1; Fig. 3 is a circuit diagram illustrating a prior art semiconductor memory device incorporating an ECC circuit and a redundancy configuration; Fig. 4 is a circuit diagram illustrating an embodiment of a semiconductor memory device incorporating an ECC circuit and a redundancy configuration according to the present invention; Fig. 5 is a diagram of one two-dimensional virtual matrix configuration of Fig. 4; Fig. 6 is a circuit diagram illustrating another embodiment of a semiconductor memory device incorporating an ECC circuit and a redundancy configuration according to the present invention; Fig. 7 is a diagram of one two-dimensional virtual matrix configuration of Fig. 6; Fig. 8 is a circuit diagram of a part of the ECC circuit for a horizontal parity check of Fig. 6; Fig. 9 is a circuit diagram of another part of the ECC circuit for a vertical parity check of Fig. 6; and Fig. 10 is a circuit diagram of the data selector, the redundancy data selector, and the column decoders of Fig. 6. Before describing the embodiments of the present invention, a prior art semiconductor memory device incorporating an ECC circuit will be explained with reference to Figs. 1 and 2. In Fig. 1, reference MCA designates a main memory cell array including 1 Mbit of memory cells at intersections between word lines WL₀ , WL₁ , ..., and WL₁₀₂₃ and bit lines BL₀ , BL₁ , ..., BL₁₀₂₃. The word lines WL₀ , WL₁ , ..., WL₁₀₂₃ are selected by row address decoders RDEC, which receive row address signals RA₀ to RA₉ and their inverted signals RA ₀ to RA ₉ from the address buffers and the multiplexers (not shown), and the bit lines BL₀ , BL₁ , ..., and BL₁₀₂₃ are selected by a data selector DSEL controlled by column address decoders CDEC, which receive column address signals CA₀ to CA₉ and their inverted signals CA ₀ to CA ₉ from the address buffers and the multiplexers (not shown). Thus, one memory cell such as MC₀₀ is accessed and data is read out via the data selector DSEL to an exclusive OR circuit G₁ , which serves as an error correcting circuit, thereby obtaining output data D out . To carry out a horizontal and vertical parity checking operation upon the main memory cell array MCA, a horizontal selector HSEL, a vertical selector VSEL, a horizontal parity cell array HPA, a horizontal parity selector HPSEL, a vertical parity cell array VPA, a vertical parity selector VPSEL, a horizontal parity generator HPG, a vertical parity generator VPG, and a comparator circuit CMP are provided to constitute an ECC circuit. The horizontal and vertical selectors HSEL and VSEL are controlled by horizontal and vertical decoders HDEC and VDEC, respectively, and the horizontal and vertical parity selectors HPSEL and VPSEL are controlled by horizontal and vertical parity decoders HPDEC and VPDEC, respectively. Note that the decoders HPDEC and VPDEC are of the same type as the decoders HDEC and VDEC, respectively. According to the above mentioned ECC circuit, the main memory cell array MCA is divided into a plurality of submemory cell arrays each of which is, for example, comprised of k x m memory cells connected to each word line. Simultaneously with the selection of one submemory cell array, i.e., one word line such as WL₀ , data is read out of ( k + m ) memory cells by the horizontal and vertical selectors HSEL and VSEL. That is, the horizontal and vertical selectors HSEL and VSEL virtually (or logically) rearrange the data of all k x m memory cells connected to a selected word line into a parity-checking two-dimensional matrix (H-V matrix) with k bits in the horizontal (row) direction and m bits in the vertical (column) direction, as diagrammatically illustrated in Fig. 2. In Fig. 2, horizontal parity bits HP₀ to HP₃₁ (for example, m = 32) and vertical parity bits VP₀ to VP₃₁ (for example, k = 32) are allocated to the rows and columns of a two-dimensional matrix formed by memory cells MC connected to one word line such as WL₀. Also, the horizontal parity bits HP₀ , HP₁ , ..., and HP₃₁ , and the vertical parity bits VP₀ , VP₁ , ..., and VP₃₁ are arranged on the same word line WL₀ as indicated by HP and VP. In the horizontal selector HSEL, reference HSG designates a horizontal selection gate for selecting k -bit data on a selected row of the H-V matrix including a selected memory cell MC i , and in the vertical selector VSEL, reference VSG designates a vertical selection gate for selecting m -bit data on a selected column of the H-V matrix including the selected memory cell MC i (see: dotted lines in Fig. 2). The selected k -bit data from the horizontal selection gate HSG is supplied to the horizontal parity generator HPG, which generates a horizontal parity HP i ' for the k -bit data. Simultaneously, the selected m -bit data from the vertical selection gate VSG is supplied to the vertical parity generator VPG, which generates a vertical parity VP i ' for the m -bit data. The horizontal and vertical parity cell arrays HPA and VPA comprise parity cells each storing correct horizontal and vertical parities, respectively. The correct parities have been previously written into the parity cells during a writing of data into all of the memory cells MC in the main memory cell array MCA. The comparator circuit CMP comprises an exclusive OR circuit G₂ for comparing the horizontal parity HP i ' from the horizontal parity generator HPG with the correct horizontal parity HP i from the horizontal parity cell array HPA, and an exclusive OR circuit G₃ for comparing the vertical parity VP i ' from the vertical parity generator VPG with the correct vertical parity VP i from the vertical parity cell array VPA. The comparator circuit CMP further comprises an AND circuit G₄ connected to the outputs of the exclusive OR circuits G₂ and G₃. Therefore, when the horizontal parity comparison and the vertical parity comparison simultaneously represent the noncoincidence of the horizontal parity of the read data with the correct horizontal parity and of the vertical parity of the read data with the correct vertical parity, the data read from the memory cell on the intersection of the selected horizontal row and the selected vertical column in the H-V matrix is not correct. As a result, a logic "1" is supplied to an input of the exclusive OR circuit G₁ which inverts the data read out of the H-V matrix. Otherwise, a logic "0" is supplied to the input of the exclusive OR circuit G₁ , and the circuit G₁ passes the data read out of the H-V matrix therethrough without modification. Note that the horizontal decoders HDEC as well as the horizontal parity decoders HPDEC receive the lower bits CA₀ to CA₄ ( CA ₀ to CA ₄) of the column address signals CA₀ to CA₉ ( CA ₀ to CA ₉) in the case where k = 32, and the decoders VDEC as well as the vertical parity decoders VPDEC receive the upper bits CA₅ to CA₉ ( CA ₅ to CA ₉) of the column address signals CA₀ to CA₉ ( CA ₀ to CA ₉) in the case where m = 32. Also, in Fig. 1,if the memory cell MC₀₀ is accessed by the row decoders RDEC and the column decoders CDEC, the shaded elements shown on the word lines and bit lines are accessed or selected. Further, in practice, each of the k signal lines and m signal lines from the horizontal selector HSEL and the vertical selector VSEL and the like shown in Fig. 1 has a pair of lines to produce differential outputs, however, these pairs of lines are denoted by one line for illustrative simplicity. The error correction function by means of the above-described H-V matrix is effective not only for a soft error due to α rays but also for a hard error caused by a hard defect of a memory cell or for a bit line defect. However, there is a disadvantage in the above-described H-V matrix in that the error is correctable for only one bit in the memory cells belonging to a common horizontal or vertical parity group. That is, an error can be corrected only when a single bit in any H-V parity check data group in the above-mentioned H-V matrix is in error. To correct a plurality of hard errors, a redundancy technique for remedying hard errors and for improving the yield is well known. In a redundancy configuration in which a row or column redundancy, i.e., a redundant word line or bit line, is provided to replace a defective word line or bit line, the conventional technique can be combined with the redundancy technique without difficulty, whereby hard defects along a predetermined defective word line or bit line can be remedied by the redundancy technique, and a soft error or a hard error caused after the determination of the defective word line or bit line can be realized by means of the two-dimensional parity checking using the above-mentioned H-V matrix. However, it is difficult to combine the configuration of a column (bit line) redundancy with the above-described two-dimensional parity checking technique. Namely, when only the conventional row or column redundancy technique is used, the switching from the defective row or column to the redundant row or column could be done by merely controlling the switching of the coupling to the data bus lines from the regular row or column (defective row or column) to the redundant row or column. However, to simply combine the two-dimensional parity checking technique with the row or column redundancy, the logic of the switching from the regular row or column (the memory cells connected to the selected word line or bit line), which must be expressed in a number of H-V matrixes, to the redundant row or column, becomes too complex. That is , to effect the switching to the redundant row or column and to also effect the two-dimensional parity checking using the H-V matrix, a defective row or column data must be inhibited from mixing with a row-data or column-data group from which a parity is to be taken, and the defective row or column data must be replaced by the redundant row or column data. Since the location of the generation of the defective row or column is indefinite, the correspondence between the redundant row or column and the H-V matrix is difficult to establish without assembling a switching control circuit, thus disadvantageously needing a great number of circuit elements to realize this very complex logic. In Fig. 3, a redundancy column cell array RCA is provided as redundancy bits, and inhibit circuits IHC₀ to IHC₃ , exclusive OR circuits G₅ and G₆ , a multiplexer MPX, and an inhibit control circuit CTL are added to the elements of Fig. 1. The inhibit circuit IC₀ comprises switch circuits for receiving signals. That is, when a signal IS k (k = 0 to 31) is H (high level) corresponding to a defective cell, the corresponding switch is shut off, so that data read from the defective cell is forcibly made "0", thereby removing the read data of the defective cell. The inhibit circuit IHC₁ has the same configuration as the inhibit circuit IHC₀. Thus, the horizontal parity generator HPG and the vertical parity generator VPG perform a parity calculating operation upon k bits (row data) and m -bits (column data) except for the defective bit. The parity bits of the parity generators HPG and VPG are supplied to inputs of the exclusive OR circuits G₅ and G₆ , respectively. On the other hand, the word lines WL₀ , WL₁ , ..., and WL₁₀₂₃ are arranged not only on the memory cell array MCA, but also on the redundancy cell array RCA. Therefore, when one word line for the main memory cell array MCA is selected, one cell of the redundancy memory cell array RCA is also selected. If this redundancy cell is used to replace a defective cell, a signal RAS k and/or a signal RAS m is made L (low level), so that data of the redundancy cell passes through the inhibit circuit IHC₂ and/or IHC₃ and is supplied to an input of the exclusive OR circuit G₅ and/or G₆. Thus, parity check operations are performed upon all of the cells of a row and a column including a selected cell, and as a result, in the exclusive OR circuits G₂ and G₃ of the comparator circuit CMP, the obtained parities HP i ' and VP i ' are compared with the correct parities HP i and VP i read out of the parity cell arrays HPA and VPA, respectively. If both of the parities HP i ' and VP i ' are erroneous, the output of the AND circuit G₄ is high, and accordingly, the data read out of the selected memory cell MC i of the H-V matrix (see Fig. 2) is reversed by the exclusive OR circuit G₁. If there is no defective cell, the inhibit circuits IHC₀ and IHC₁ are in a through state, and the circuits IHC₂ and IHC₃ produce a low level signal, so that the exclusive OR circuits G₅ and G₆ are in a through state. The device of Fig. 3 in this state is the same as the device of Fig. 1. On the other hand, if there is a defective cell and this cell is included in a row or column of the above-mentioned H-V matrix including a selected cell, the defective cell is replaced with a redundancy cell of the redundancy memory cell array RCA by the inhibit circuits IHC₀ to IHC₃ , and similar parity check operations to those in Fig. 1 are carried out. Thus, in Fig. 3, a bit hard error and a bit soft error can be detected and corrected. The inhibit control circuit CTL comprises a read only memory (ROM) for storing an address of a defective cell, an inhibit signal generator circuit, and the like, and receives the column address signals CA₀ to CA₉ and their inverted signals CA ₀ to CA ₉ from the address buffers and the multiplexers (not shown) to produce the signals IS k , IS m , RAS k , RAS m , and S. The signals IS k and IS m are outputs of circuits for comparing a row component and a column component of a memory access address with a row address and a column address, respectively, indicating a defective cell. If one of the row address and the column address coincides with the components of the memory access address the corresponding circuit generates a high level signal. The signals RAS k and RAS m are obtained by the signals IS k and IS m . For example, when the signals IS k and IS m are high, all of the signals RAS k and RAS m are low, so that the inhibit circuits IHC₂ and IHC₃ are in a through state. The inhibit control circuit CTL also generates the signal S for operating the multiplexer MPX when a defective cell is accessed. As a result, read data is, in this case, obtained from the redundancy cell array RCA, not from the main memory cell array MCA. In the device of Fig. 3, a soft error and a hard error after the previous determination of hard errors are compensated, however, the switching elements for redundancy memory cells such as the inhibit control circuit CTL, the inhibit circuits, and the like are still complex and require a much larger space, thus reducing the manufacturing yield. In Fig. 4, which illustrates an embodiment of the present invention, a redundancy memory cell array RCA', a redundancy horizontal selector RHSEL, a redundancy vertical selector RVSEL, a switch SW, fuses F', F₀', F₁', ..., and F₃₁' are added to the elements of Fig. 1. The redundancy horizontal selector RHSEL, like the horizontal selector HSEL, is controlled by horizontal decoders HDEC', and the redundancy vertical selector VHSEL, like the vertical selector VSEL, is controlled by vertical decoders VDEC'. The switch SW which may be constructed by a pair of transistors, is controlled by the vertical decoders VDEC'. Further, the horizontal parity cell array HPA incorporates a redundancy horizontal parity cell array for the redundancy cell array RCA' as indicated by portions marked with a diagonal cross. The redundancy memory cell array RCA' comprises a plurality of rows, each of which corresponds to one horizontal or vertical array of an H-V matrix configuration. That is, as illustrated in Fig. 5, one bit redundancy cell is not provided for each word line, but a row or column of redundancy cells are provided for one row or one column of the H-V matrix prepared by the ECC circuit of a horizontal and vertical parity checking system. In Fig. 5, reference HV designates a parity corresponding to the horizontal parities HP₀ , HP₁ , ..., HP₃₁ , VP₀ , VP₁ , ..., and VP₃₁. That is, the parities HP₀ to HP₃₁ and VP₀ to VP₃₁ are added, and an error detection of the horizontal and vertical parity bits can be carried out by the least significant bit of the sum, i.e., the odd parity or even parity thereof; a detailed explanation regarding the parity HV is, however, omitted. Note that, in Fig. 5, redundancy cells RC connected to one word line such as WL₀ are provided as a horizontal (row) array for the H-V matrix, however, such redundancy cells RC can be provided as a vertical (column) array, and such a provision does not give rise to a problem. If a memory cell MC j on the word line WL₀ is a hard error, the entire j-th row including this cell MC j is replaced with the redundancy cells RC. That is, the j-th row cells of this word line are simply replaced with the redundancy cells RC. As a result, the control for switching these cells is easily made and is simplified. Also, in Fig. 4, the horizontal decoders HDEC' serve as the horizontal parity decoders HPDEC, and the vertical decoders VDEC' serve as the vertical parity decoders VPDEC. Therefore, the horizontal parity decoders HPDEC and the vertical parity decoders VPDEC can be deleted, and simultaneously, the cells of the horizontal parity cell array HPA can be incorporated into each row of each H-V matrix of the main memory cell array MCA and each row of the redundancy memory cell RCA', as illustrated in Figs. 6 and 7. As illustrated in Fig. 7, although the H-V matrix configuration is the same as that of Fig. 5, the arrangement of cells connected to one word line such as WL₀ is different from that of Fig. 5. That is, each column group CG₀ to CG₃₁ includes not only k memory cells, but also a redundancy horizontal parity HP₀ to HP₃₁. Also, the row of the redundancy cells RC incorporates the horizontal parity RHP thereof. If a hard error is detected, a row address and a column address are previously written into fuse-type ROMs of the horizontal decoders HDEC' and the vertical decoders VDEC', and the fuses F', F₀', F₁', ..., and F₃₁'. As a result, if a selected memory cell is a predetermined defective cell, such a selected memory cell is replaced with the corresponding redundancy memory cell within the redundancy cell array RCA'. Also, if a row of the H-V matrix including the predetermined defective cell is accessed by the ECC circuit, such a horizontal array (row) including the parity thereof is replaced with the corresponding row of the redundancy cell array RCA' including the parity thereof, and accordingly, the horizontal parity generator HPG performs a parity calculation upon the corresponding row of the redundancy cell array RCA'. Further, if a vertical array (column) of the H-V matrix including the predetermined defective cell is accessed by the ECC circuit, the predetermined defective cell is replaced with the corresponding bit of the redundancy cell array RCA', and accordingly, the vertical parity generator VPG performs a parity calculation upon the vertical array (column) of the H-V matrix in which only the defective cell is replaced with the corresponding cell of the redundancy cell array RCA'. In this case, the switch SW is turned ON, while the corresponding fuse is previously blown. The post stages of the horizontal parity generator HPG and the vertical parity generator VPG are the same as those of Fig. 1. The operation of the device of Fig. 6 will be explained in more detail with reference to Figs. 8, 9, and 10. As illustrated in Fig. 8, the horizontal decoders HDEC comprise decoders DEC1 which receive an upper five bits CA₅ to CA₉ ( CA ₅ to CA ₉) of the column address signals and select one of the column groups CG₀ , CG₁ , ..., and CG₃₁ via the horizontal selector HSEL, a ROM1 of a fuse type for storing a horizontal address (row address) HR of an H-V matrix corresponding to a defective memory cell, and a comparator CMP1 for comparing the upper five bits of the column address signals with the content of the ROM1. The horizontal decoders HDEC also comprise fuses F₁ , F₂ , ..., and F₃₁ corresponding to the column groups CG₀ , CG₁ , ..., and CG₃₁ , respectively. Similarly, as illustrated in Fig. 9, the vertical decoders VDEC comprise decoders DEC2 which receive the lower five bits CA₀ to CA₄ ( CA ₀ to CA ₄) of the column address signals and select one bit line of each of the column groups CG₀ , CG₁ , ..., and CG₃₁ via the vertical selector VSEL, a ROM2 of a fuse type for storing a vertical address (column address) VR of an H-V matrix corresponding to a defective memory cell, and a comparator CMP2 for comparing the lower five bits of the column address signals with the content of the ROM2. Selection of a memory cell is conventionally carried out by the row decoders RDEC and the column decoders CDEC. That is, if a defective cell does not exist, one word line is selected by the row decoders RDEC, and one bit line. i.e., one selection gate of the data selector DSEL, is selected by the column decoders CDEC, thereby selecting a memory cell within the main memory cell array MCA. In this case, data is not written into the ROM1 of the horizontal decoders HDEC and the ROM2 of the vertical decoders VDEC, and the fuses F₀ , F₁ , ..., and F₃₁ , F₀', F₁', ..., and F₃₁' are unblown, but the fuse F' is blown. Contrary to the above, if a defective cell (hard error) exists, a row address (horizontal address) HR and a column address (vertical address) VR of an H-V matrix for this defective cell are written into the fuse type ROM1 and ROM2 of the horizontal decoders HDEC and the vertical decoders VDEC, and in addition, into one of the fuses F₀ , F₁ , ..., and F₃₁ corresponding to the horizontal address HR and one of the fuses F₀', F₁', ..., and F₃₁' corresponding to the vertical address VR. Therefore, referring to Fig. 10, when a selected memory cell is a defective cell, both of the comparator circuits CMP1 and CMP2 generate a logic "1", so that the switch SW is turned ON, while the column decoders CDEC are disabled. In addition, the decoders DEC2 select one selection gate of the redundancy horizontal selector RHSEL. As a result, the selected memory cell is replaced by the corresponding redundancy cell within the redundancy cell array RCA'. Simultaneously, referring to Fig. 8, the decoders DEC1 select the blown fuse such as F₂ , so that no column groups are selected, and instead, the comparator circuit CMP1 selects the redundancy cells RC via the redundancy horizontal selector RHSEL, so that the data read out of the redundancy cells RC is applied to the horizontal parity generator HPG. Further, referring to Fig. 9, although the decoders DEC2 always select one bit line of each column group and one bit line of the redundancy cell array RCA, the column group such as CG₁ connected to the blown fuse F₁' is removed, and instead , the data of the redundancy cells RC is applied to the vertical parity generator VPG. Thus, data of a defective cell is replaced with data of the corresponding redundancy cell(s) for an H-V parity check. Of course, even if a selected memory cell is not the predetermined defective cell, when a horizontal array (row) or a vertical array (column) of an H-V matrix includes the predetermined defective cell, this row or column is replaced with the corresponding row or column of the redundant cell array RCA for an H-V parity check. Note that the operation of the device of Fig. 4 is the same as that of the device of Fig. 6. As explained above, according to the embodiment of the present invention,since a horizontal array (row) or a vertical array (column) of a matrix constructed by the H-V parity system is replaced by redundancy cells, the switching means becomes simple, thereby raising the manufacturing yield.

Claims: A semiconductor memory device comprising:- a main memory cell array (MCA) including a plurality of rows of memory cells and a plurality of columns of memory cells; first selector means (DSEL, RDSEL, CDEC, RDEC, SW) connected to said main memory cell array for selecting a memory cell in said main memory cell array; and an error checking and correcting circuit of a horizontal and vertical parity checking type, for correcting data from said first selector means; said error checking and correcting circuit comprising:- second selector means (HSEL, VSEL, RHSEL, RVSEL, , RDEC), comprising a horizontal selector (HSEL) and a vertical selector (VSEL) each connected to said main memory cell array for respectively selecting a horizontal (HSG) and a vertical (VSG) group of memory cells corresponding to a parity-checking two-dimensional virtual matrix from a row of memory cells including said memory cell selected by said first selector means; a horizontal parity generator (HPG), connected to said second selector means, for generating a horizontal parity (HP i ') from said horizontal group of data (HSG); a vertical parity generator (VPG), connected to said second selector means, for generating a vertical parity (VP i ') from said vertical group of data (VSG); parity storing means (HPA, VPA) for storing predetermined horizontal parities (HP i ) and predetermined vertical parities (VP i ) of each row of said main memory cell array; a comparator circuit (CMP), connected to said horizontal (HPG) and vertical (VPG) parity generators, and to said parity storing means, for comparing said horizontal (HP i ') and vertical (VP i ') parities with the corresponding one of said predetermined horizontal parities (HP i ) and the corresponding one of said predetermined vertical parities (VP i ) respectively; and a correction circuit (G₁), connected to said first selector means and said comparator circuit, for correcting data of said first selector means in accordance with the comparison result of said comparator circuit; characterised in that:- a redundancy memory cell array (RCA') is provided, including a plurality of rows of redundancy memory cells; said first selector means is connected to said redundancy memory cell array (RCA') and operable to replace a memory cell in said main memory cell array with a corresponding redundancy memory cell in said redundancy memory cell array when the memory cell in said main memory cell array is a predetermined defective cell; said second selector means is connected to said redundancy memory cell array (RCA') and operable to replace the selected horizontal or vertical group of memory cells with a corresponding row of said redundancy memory cell array when said horizontal or vertical group of memory cells include said predetermined defective cell; said second selector means further comprising:- a redundancy horizontal selector (RHSEL), connected to said redundancy memory cell array, for selecting one row of said redundancy memory cell array; a switching means (HDEC') comprising a decoder, connected to said horizontal selector (HSEL) and said redundancy horizontal selector (RHSEL), for replacing said horizontal group of memory cells with said one row of said redundancy memory cell array; a redundancy vertical selector (RVSEL), connected to said redundancy memory cell array (RCA') for selecting a redundancy memory cell from one column of said redundancy memory cell array; and a switching means (VDEC', F', F₀', ..., F₃₁') comprising a decoder and fuse means, connected to said vertical selector (VSEL) and said redundancy vertical selector (RVSEL), for replacing one of said vertical group of memory cells with said redundancy cell, when said vertical group of memory cells includes said predetermined defective cell. A device as set forth in claim 1, wherein said parity storing means comprises:- a horizontal parity cell array (HPA) including a plurality of rows of parity cells each row provided for one row of said main memory cell array; and a vertical parity cell array (VPA) including a plurality of rows of parity cells each row provided for one row of said main memory cell array. A device as set forth in claim 2, wherein said horizontal parity cell array is incorporated into said main memory cell array.

Inventors: TAKEMAE, YOSHIHIRO
Applicants: FUJITSU LIMITED
Application year: 1986
Main classification: G06F11
IPC codes: G06F11, G11C29