A system and methodology for testing memory in an integrated circuit implementing BIST testing to calculate row and column redundancy and enable replacement of a defective row or column of memory cells. The system comprises circuitry for detecting a first single memory cell failure in a row; and, recording the I/O value of the first Single Cell Fail (SCF). A circuit is provided for detecting whether more than one single cell failure has occurred for a tested row, and, in response to detecting a second SCF, comparing recorded I/O value of the subsequent tested row, with the I/O value associated with the first failed memory cell. Upon detection of defective bits, the defective column and row of memory having corresponding defective bits set is replaced.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to semiconductor memory devices employing Built-In-Self-Test (BIST), and particularly, to a novel BIST system and method for calculating redundancy for a two-dimensional redundancy scheme.

2. Description of the Prior Art

Redundancy is required on all large semiconductor memories to ensure adequate chip yield. Memories are very dense circuits and are sensitive to subtle defects to which logic circuits are immune. Thus yield is improved by including redundant elements to replace defective memory portions. As an example, it is not unusual for a chip yield to be 25% without redundancy, 50% with row redundancy, and 70% with two-dimensional (row and column) redundancy. Further, it is not unusual to see very low yields with insufficient redundancy, sometimes below 1%.

Most memories today are embedded so that the memory inputs and outputs (I/O) do not come to the chip I/O. For these memories built-in self-test (BIST) is employed to do the testing and also calculate the needed redundancy replacement. Calculating redundancy replacement is easy on stand-alone memories since all the failing locations can be recorded at the tester followed by selection of optimal redundancy implementation. When BIST is employed, as is required in microprocessors and ASICS, the redundancy calculation must be determined on the fly since there is insufficient space to store all the failing locations prior to selecting the redundancy implementation.

Most SRAMs with redundancy have only had a single dimension of redundancy that is implemented with spare rows. When a failure is seen during test on a given word, the row which that word is part of gets replaced with a redundant row. That way all words which are in that row are replaced. This works well with BIST since a single pass/fail signal can be sent back from the memory to the BIST on each read.

FIG. 1depicts an example BIST pass/fail compare circuit10including a simple XOR-OR tree20that functions to compare the memory word (e.g., 72-bits) output from a row of memory15with the expected data output from the BIST25. This is accomplished local to the memory15and the resulting pass/fail signal generated by the tree30is sent back to the BIST25, where the redundancy calculation is stored.

Two-dimensional redundancy has been implemented on DRAMs, SRAMs, and CAMs when required, but is not widely utilized unless absolutely needed, due to the required overhead.FIG. 2illustrates an example BIST pass/fail compare circuit50including an XOR tree55that functions to compare the memory word (e.g., 72-bits) output from a row of memory65with the expected data output from the BIST26. This prior art BIST pass/compare scheme however, includes added counter devices75, that, on a per bit basis, enable a column redundancy calculation. That is, when a failure is encountered, where column redundancy is available, the bit location within the word is determined. Thus, for a 72-bit word, for example, the results56of each of the 72 bit comparisons are accumulated across multiple reads, requiring the counters75shown inFIG. 2in addition to the OR circuitry shown inFIG. 1. These counters75are then unloaded to determine the correct redundancy implementation after reaching the top of the columns being tested. Obviously, the amount of circuit overhead to implement these many counters75(e.g., approximately 4700 cells for the needed counters and associated clock splitters, etc.), along with the logistical problem of unloading the counters before continuing the BIST testing, create challenges.

Another alternative is to unload each fail to an external tester so that the tester can calculate the redundancy. This requires much more test time since the information must be sent off chip for each fail. It also decreases the test quality by having to stop test for each fail rather than providing back-to-back at-speed tests. The other alternative is to accumulate fails along a column with a counter to determine when column redundancy is required. This requires much more space on chip and requires that the result be implemented prior to determining proper row redundancy.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a large semiconductor memory with BIST implementing two-dimensional redundancy that takes up less chip area and simplifies the required interaction with BIST.

In accordance with the invention, there is provided a system and methodology for testing memory in an integrated circuit implementing row and column redundancy for enabling replacement of a defective row and/or column of memory cells. The system comprises circuitry for testing rows of memory cells in the memory for detecting for a first single memory cell failure in a row and, an encoder device for determining a bit location of a first single memory cell failed and generating and storing, in a register, an encoded value representing the bit location of the detected failed memory cell. A circuit is provided for detecting whether more than one single cell failure has occurred for a tested row, and, in response to detecting more than one single cell failure for a tested row, the circuit generates a bit indicating that tested row as a defective row to be replaced. Further included is circuitry for comparing the encoded value of the location determined for a failed memory cell detected in a subsequent tested row, with the stored encoded value associated with the first single memory cell failed, and generating a bit indicating defective column to be replaced when the encoded bit value location for a failed memory cell of that subsequent row is equal to the stored encoded value associated with the first single memory cell failed. Given the indication of defective bits, the defective column corresponding to the encoded bit location of the detected failed memory cell and the defective row of memory is replaced.

It is understood that if no more than a first single cell failure has occurred for a tested row and no bit indicating a defective column to be replaced has been set, then either the row or column of memory that includes that first single memory cell failure is replaced.

Preferably, a failed address register is implemented for storing the address of the row upon detection of a first single memory cell failure, in addition to the encoded failing bit value.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is a two-dimensional memory redundancy calculation scheme that provides for a radical reduction in the amount of circuitry required to perform the column redundancy calculation, simplifies the calculation process, and reduces test time.

FIG. 3illustrates a high level view of the two-dimensional redundancy calculation system100according to the present invention. As shown inFIG. 3, the system components include a normal pass/fail compare circuit105which may comprise, for example, the row pass/fail circuitry20ofFIG. 1, a fail encoder device110, and a greater-than-one fail detect circuit125. Each of these components interact with memory115and, as shown inFIG. 3, may be separate from the BIST circuitry150, or, as will be described in greater detail herein, may be integrated within the BIST150. Particularly, the BIST150provides data, address, and control inputs115to the memory15. The BIST additionally includes connection120with the pass/fail compare circuit105, for example, in order to provide expect data25,26to the pass/fail compare circuits105, or to receive feedback in the form of a pass/fail indication to the BIST. All of this is standard for memory and BIST combinations. For example, the feedback from the pass/fail compare to the BIST is standard for memories with row redundancy. In view ofFIG. 3, instead of having a counter at the output of each bit as shown in the prior art redundancy calculation ofFIG. 2, a greater-than-one fail detect circuit125is included at the output of the whole memory which is implemented to detect a Single Cell Fail (“SCF”) in a memory column. For a single cell fail (SCF), the bit value is encoded and sent back to the BIST. As will be described in greater detail herein, if more than a SCF is encountered, then the greater-than-I signal is activated and sent back to the BIST and the encoded value is ignored. For a SCF within a word, the encoded value determines any column redundancy location which would need be implemented. If the greater-than-I signal is active that means that a row element should be implemented for redundancy.

FIG. 4illustrates one embodiment of the greater-than-one fail detect circuit125for a single column in a memory, for instance, a memory column comprising 72 bits. As shown inFIG. 4, the greater-than-one fail detect circuit125for a single column includes a plurality of error detection circuit devices1300to13022organized as a tree structure implementing logic to detect if more than one failure exists in a given column. Each of the error detection circuit devices1300to13022of greater-than-one fail detect circuit125comprises an error detect circuit130as shown inFIG. 5(a). InFIG. 5(a), an error detection circuit device130receives four (4) logic signals and implements a combination of logic AND and OR gates for determining the presence of an error or more than one error. With respect to a first section of error detection circuit devices1300to13017each of these circuits receive four bits from the XOR circuitry output comparison results56from the column detect circuitry shown inFIG. 1, totaling, in the example implementation described herein, 72 bits. The AND/OR gate logic implemented in each error detection circuit devices1300to13017results in an output131indicating either detection of an error in the memory column, or an output132indicating no error. Returning toFIG. 4, the output signals131from each of the devices1300to13015of the first section are input to a second section of the greater-than-one fail detect circuit125comprising error detection circuits13018through13021. For instance, the four logic outputs131from respective error detection circuits1300to1303are input to error detection circuit13018. The four logic outputs131from respective error detection circuits13018to13021are input to a third section of the greater-than-one fail detect circuit125comprising error detection circuit13022.FIG. 5(b) illustrates a final section of the error detect circuit of the greater-than-one fail detect circuit125comprising final error detect circuit140which receives outputs131,132from error detection circuit13022in addition to signal outputs131from each of the error detect circuits1300to13022. The resulting output of the greater-than-one fail detect circuit125, which is output from the final error detect circuit140, comprises a signal145indicating presence of only one error in a memory column, or a signal146indicating more than one error in a column. Thus, if any bits in the column pass/fail circuit (FIG. 2)are set to a one, indicating presence of an error, the greater-than-one fail detect circuit125will detect it, and the only one error line145(FIG. 4) will be turned on. If more than one bit in the column pass/fail circuit are set to one indicating more than one error in a column, then the more than one error line146will be set.

Returning toFIG. 3, there is illustrated the fail encoder circuit110which comprises an encoder device for determining which column produced the error. Particularly, for an example embodiment implementing 72 columns in a memory, the pass/fail column error detect circuit105will provide the number of the column having the detected error to an encoder device. The fail encoder device110implements logic for encoding that number, e.g., a 72 bit word (having bits set according to the detected column(s) error) into a seven (7) bit word. Skilled artisans may device any encoding scheme for representing a large word, e.g., 72 bits, as a smaller word, e.g., 7 bits. For example, inFIG. 3, if memory column 12 of the 72 columns produced a failed bit out of the pass/fail compare circuit105, the encoder will encode the 72 bit into a 7 bit word ‘0001100’, having a value of 12. It should be understood that if more than one column has a detected failure, e.g., columns 12 and 16, then the 7-bit encoded word out of the fail encoder may be set to ‘0011100’. However, as the BIST will interpret this as a single failure of column28, the more than one error fail signal146out of the greater-than-one fail detect circuit125will indicate to the BIST that that value is erroneous and that the actual failure consisted of more than one column that could not be fixed. The failed address is stored, for example, in a failed address register as a word, however, the more than one error fail signal146will additionally be stored to notify the BIST.

The greater-than-one fail detect circuit125tree configuration ofFIG. 4obviates the need for a counter device at each bit for a column as inFIG. 2of the prior art, and significantly reduces the amount of devices and circuitry. For instance, the fail encoder110and the greater-than-one circuit125requires approximately 1388 cells or less. This total of under 1400 cells is significantly less than the prior art configurations ofFIG. 2. Furthermore, the greater-than-one fail detect circuit125tree configuration enables detection of column errors on the fly, rather than having to run the test and scan out all of the counters after a test run, as in the prior art ofFIG. 2.

FIG. 6illustrates an example high-level schematic200comprising the two dimension column/row redundancy system100′ for a memory implementing BIST. As shown inFIG. 6, the system100′ implements the pass/fail compare circuit20for row redundancy (ofFIG. 1) whereby all 72 bits (representing bit values at columns 0–71) of a row are read out of the memory and input into the pass/fail compare circuit20, on a per row iterative basis, for the BIST comparison with the expected data25for that row. The process is repeated for each row, such that, at each iteration, all the 72 bits read out of a row of memory is compared with the expected data, one row at a time. In one embodiment, as shown inFIG. 6, at each iteration, four (4) bits of the row27may be successively read out of a memory row eighteen (18) times, to total 72 bits in the example described. As mentioned, a pass/fail indicator30will be set to indicate to the BIST detection of a failed memory (row failure). Simultaneously, when an error is detected in a row, the pass/fail indicator30is input to the column error detection circuit (greater-than-one fail detect circuit125) to detect which one of the bits failed, i.e., which column in the failed row, and initiate encoding of the column location. For an error detected in a failed row, the corresponding column location is known as that failed bit56(of 72 bits read out of the pass/fail circuit) is automatically set for input to the column error detect circuit and the encode logic circuit110and processed in the manner as described herein. The encoded column value57is latched prior to output for potential corrective action depending upon the amount of errors.

Normally, with systems implementing row redundancy, the failing row address is stored in a Failed Address Register (“FAR”) located in the BIST. Each time a new fail is encountered a compare is performed within the FAR to see if this is a new fail or one that was already stored. There needs to be one entry per redundant row included in the FAR.

An improved FAR250that works with the fail encoder110and greater-than-one fail detector125is now shown and described with respect toFIG. 7. This FAR250is configured to store the pass/fail bit30, e.g. logic value indicating row failure, the corresponding row address210that failed, and the corresponding encoded SCF location, e.g., indicating failed column57which is the 7-bit encoded value in the example implementation described. It is preferred that the encoded value is stored rather than the column address. Thus, when a SCF is detected, the failing row, encode value and valid bit of the FAR are set by the BIST engine. If another SCF with the same encode value (i.e., failure at the same column, different row) is detected, then the must-fix column bit220indicated in the FAR is set by the BIST engine. If a greater-than-one fail is detected, then the must-fix row bit230is set. If there are SCFs detected during test and no must-fix determination is made by the end of test then either row or column replacement may be utilized, depending on what is left. The example FAR shown inFIG. 7is illustrated for a memory with 1024 rows (10 bits), 16:1 column decode, 72 bits per data word, two rows of redundancy, and one column (I/O) of redundancy. A smaller FAR may be employed with slightly less redundancy-calculation flexibility if only one entry's set of encoding latches are included and only two entry's set of row latches.

A similar arrangement is possible with two redundant columns (I/O) by just having another FAR entry for the second redundant column. This would assume that two data bits within a single word would not fail and be replaced by two columns. The likelihood of this type defect is small enough that there would only be a trivial number of memories which would be fixable that wouldn't be handled by these defects. If these defects were desired to be handled, then a greater-than-2 detect would be required along with two encoder circuits. Those skilled artisans, given the encoder and greater-than-one detect redundancy circuits in the two-dimensional redundancy scheme according to the invention, would be able to design a proper BIST with redundancy handling.