A MEMORY TEST SYSTEM WITH A MEANS FOR TEST SEQUENCE OPTIMISATION AND A METHOD OF ITS OPERATION

Abstract: Automatic test equipment for memory devices with means to optimise features of the test according to the test results generated by the equipment at an individual defect level.

Description: MEMORY TEST SYSTEM WITH A MEANS FOR TEST SEQUENCE OPTIMISATION AND A METHOD OF ITS OPERATION Technical Field The present invention relates to test equipment for testing memory devices with means to optimise features of the test according to the test results generated by the equipment at an individual defect level. The present invention is particularly applicable to test equipment for testing semiconductor memories at a wafer probe stage or as packaged parts. In the semiconductor industry, devices are fabricated on silicon wafers, typically from 4 to 8 inches in diameter, with typically 400 die per wafer. These are tested using automated test equipment (ATE) driving the die and measuring the response. After test, the wafer is sawn and the good die are packaged, burnt in and retested. Test time, coverage and profile are significant competitive factors for the memory manufacturer, who will therefore seek to reduce test times, increase coverage and profile the tests to achieve maximal early abort. When a new memory design is created, a set of engineering tests is executed to characterise the new device. Once this has been done, a set of production tests is issued: these are typically between 50% and 95% shorte ' r than the engineering tests. This reduction is achieved by analysing the number of failures from each test, and creating a bin profile (memories failing particular tests or with a particular range of defects are sorted into bins) . Once the device is in production, further test time reductions and profile improvements are made: this again uses the bin data. Analysis of test results using bin data, that is knowledge only of the number of defects found by each test, requires great care. It is necessary for an operator to monitor the growth of the defect count during a test run, then to reorder the tests to determine how many new defects each test is finding. In a typical sequence of 70 tests, simply to calculate the uniqueness of each test in this manner requires 70 2 , or 4900, test runs even given optimistic assumptions about the device behaviour. Moreover, as the process changes, the optimisation must be repeated. Known is a method of testing electronic circuits (see US 4728883) by applying a sequence of test vectors to a memory device under treatment, wherein if a part of a preceding serial scan vector indicates the presence of a defect, the corresponding part of a succeeding serial scan vector is prevented from indicating the presence of a defect. Thus, test time is reduced by avoiding excess information. However, the known method does not provide optimisation of the obtained sequence. A method of testing semiconductor wafers is described in US 4875002. According to this method, testing time is improved by varying the sequence of tests on each chip in such a way that the test which has the highest probability of detecting a defect is performed first so that the number of testing steps can be reduced. However, the known method is based on the assumption that wafers in one lot and neighbouring chips on one wafer are similar in characteristics which is not likely and may cause erroneous results. According to the known method, chips or wafers having defects are rejected without analysing fault bit maps, therefore the performance of each test at an individual cell level is unknown. The advantage of the present invention is the ability of an ATE system to optimise automatically its own test sequences using fault bit map data to generate information allowing test pattern sequence optimisation to maximise the coverage as a function of time. Though it may seem that analysing full bitmaps is a time-consuming operation, which can even increase test time, the final test efficiency is improved and the total test time is reduced when using the proposed means for test sequence optimisation exploiting the heuristic criteria explained in detail below. It is an object of the present invention to provide a means for an ATE system to optimise its test patterns and to present information on both the patterns and the devices under test (DUTs) which has hitherto required multiple test runs and considerable manual intervention and interpretation . The substance of the invention is a means to create a new fault bitmap of the DUTs after each test, test segment or test group, and correlate automatically changes or differences in those bitmaps, and a means to inform the equipment operator of the improvement for either manual or automatic incorporation into ATE control, pattern or timing systems. Thus, the invention is a combination of both hardware and software in a system to execute each test in a sequence and for each test, test segment or test group, to obtain by hardware means fault bit maps for each test, preferably to compress the said bitmaps, to accumulate the bitmap fail data during the test and correlate each bitmap using analysis hardware or software to determine the performance of each test at an individual cell level, where the cell is the smallest addressable unit stored in the bitmap, preferably one binary bit, but with DUTs in a special test mode the cell size may be larger than one bit, or the cell may represent a logical operation on all data (DQ) planes of the DUT at a particular address or address window. According to the invention, defect groups are analysed using test vectors that can be stored in a system due to system capability for storing fault bit maps for each test in a sequence. Thus, the test vector is a test pattern sequence subset that finds at least one defective cell in a memory device lot under test. For a better understanding of the present invention and to show how the same may be carried into effect, reference will now be made, by way of example, without loss of generality, to the accompanying drawings in which: Fig.l is a block diagram of the current invention showing a DUT 1 being tested by an ATE system 2 with a fault bit map capability in the form of an error catch RAM 3, a bit map compressor 4 and a correlation means 5, with a sequence optimisation means 6 connection 713 to a computer 8 for storing or displaying information from the correlation. Any function may migrate between hardware in the ATE system and in the computer. Fig. 2 shows a high speed error catch ram for a memory tester using a FIFO type structure with the capability of rapidly downloading the faulty addresses and data bits. Fig.3 is the VHDL hardware description for the CPLDs in the error catch ram of Fig.2. Fig.4 shows a flow chart of operation of the sequence optimisation means for performing a correlation of test results from the bit maps. The invention will now be described, without loss of generality, with the aid of an example embodiment. In Fig.l the memory test system 2 is configured to execute each test in a sequence and for each test or test segment or test group, to obtain by an error catch ram 3 fault bit maps for each test. An example of the error catch ram is shown in Figs .2 and 3, where a FIFO is emulated using an SRAM to store the fault address, the data bit with the fault and other parameters. As faults are detected, or after each test pattern is run, the fault store is downloaded into a correlation means, which correlates the fault addresses so as to identify the particular set of tests which found each fault in a cell. Another basic function of the correlation means is to accumulate the bitmap fail data during the test and correlate each bitmap using analysis hardware or software to determine the performance of each test or test segment or test group at an individual cell level, where the cell is the smallest addressable unit stored in the bitmap. A correlation means may be implemented as an ASIC or as a software program running on a computer to which the individual fault maps are downloaded. The computer or ASIC will preferably hold the accumulated data in a compressed format, for example by storing two of the corners of the region sharing the same pattern of defective cells, with a second level of compression formed by block encoding this data . In this example embodiment the cell size may be one memory bit, or may be a plurality of bits but less than one thousandth of the total number of storage bits in the DUT. Under some test conditions the DUT performs a logical operation on all data (DQ) planes of the DUT where there is either a fault or the contents of the planes are different within a certain address window. The present invention can perform the analysis on this permuted data as an alternative to using the real Is and 0s data. After the correlation of the accumulated data, the tests or the test performance can be optimised automatically to reduce the test time by modifying or causing to be modified the test pattern sequence of the memory tester. Fig. 4 forms an example embodiment of an automatic test pattern optimisaton means which minimises the overlap (redundancy) , the total test time and the ramp of test coverage. The result of the optimisation is to modify the test pattern sequence of the memory tester, or to dump results that cause it to be modified. An extension of this example embodiment is to connect the correlated data to an automated analysis tool to determine the cause of faults identified by particular tests at a geometric, type, process or electrical level. Alternatives to use of the FIFO to provide the error catch ram is a memory test system, any other register or content addressable store or FILO or RAM containing a list of address fail data and the data bit and DUT with the failure. The correlation function may be applied with data from a plurality of memory test systems connected directly or indirectly such that the said performance data or individual cell fail maps are applied with a cross-correlating function for the purpose of identifying differences in the performance of test systems, or of different tests or of different test conditions or of different timing sets. The problem of minimising the redundancy in test coverage to optimise a test sequence is described below: Input n - number of tests performed on chips in the database; A = ( ai, a 2 ... , a n ) - represents sequence of tests performed, A - ordered array; T = ( t x , t 2 , ... , t n ) - represents array of test durations, i.e. ti presents the duration of test ai T A - total test sequence A time of execution = Σ tι ; Coverage (A) - is a set defects found by sequence A, i.e. found by at least one test from the sequence. Output B = ( bi, b ... , b m ) - optimized sequence of tests performed, transposition of subset A with the following property: Coverage (A) = Coverage (B), T A <= T B (i.e. m <= n) , B being empty if B contains no tests. The problem as described above can be proven to be in the class of NP-complete problems, so finding the optimal solution will take exponential time; therefore the practical embodiments of procedures to solve this problem would apply a heuristic to find a near optimal solution. The example embodiment in Fig.4 applies the following method, where S is a subsequence of A and I ( S , a x ) is the Coverage ( S) n Coverage { a__ ) , a - test i. The embodiment also introduces R as the redundancy coefficient, where R = l/t a is a coefficient representing how much redundant work is done per unit of time. The procedure minimises total test time by choosing the next test to be the one with the minimal redundancy coefficient R. The procedure selects the first test to include in the final optimized sequence B, then adds one test on each iteration with the minimal redundancy coefficient. A Branch and bounds algorithm is used. In pseudo-code, this solution is: Additional Data structures: D - array of discarded tests D(i) e { 0, 1} ; I = ( Ii, I 2 , ... , I n ) intersections array !__ present I (B, a x ) Rmm - minimal Ri 1. B = ( ); set final sequence B to the empty state. 2. Find test i with max efficiency i.e. Coverage ( a__ )/. Add a__ to the end of B. while ( Coverage (B) != Coverage (A) ) begin I = 0; Rmin = co; // find intersections: for ( i=0; i<n; i++ ) begin if ( ( a λ $ B ) and ( a__ £ D ) ) count !__ end; // discard useless tests: for ( i=0; i<n; i++ ) begin if ( Ii = Coverage (a ) , add a__ to D; end; // find minimal intersection: // adding test to B Add a-, to B end; According to the invention, the proposed procedure may be modified as follows, where S is a subsequence of A and D (S, a is the Coverage (S)\Coverage W ) , a__ - test i, M is the max coverage coefficient and M = D/t a is the coefficient representing how much useful work is done per unit of time. The procedure seeks to maximise coverage at each step of constructing a test sequence with the shortest test time (i.e. take next test with max coverage coefficient D) . The procedure selects the first test to include in the final optimized sequence B, then adds one test per iteration with the maximum coverage coefficient. Again a Branch and bounds algorithm is used in the example embodiment. Still another modification of the proposed method includes the following steps for obtaining an optimal test sequence : - creating reduced durations by dividing each test durationby the number of defect groups, which will be covered by each additional test) ; - sorting vectors in groups with the same bit amount to cover initially vectors which contain fewer tests and then vectors with a greater number of tests; scanning through the vector list (scan through list only once and building a result vector) ; - checking superfluity and removing the longest useless tests (heuristic of the algorithm does not allow redundancy to be avoided completely; to decrease redundancy, check if any tests can be removed from result and remove test with the longest time) ; copying results to a parameter "vector" (build special array, where every cell contains either 0 if test has not been included, or percentage of defects covered after including this test and all previous tests) . The branch and bounds method is used in the example embodiment . It will be appreciated that the above description and the figures are an example embodiment only and that various modifications may be made to the embodiment described above within the scope of the present invention.

Claims: Claims 1. A memory test system configured with a means for executing each test in a sequence of test patterns, a means for obtaining data on defects discovered during the test and a means for modifying the test sequence according to said data, characterised in that the means for obtaining defect data comprises: a means for obtaining fault bit maps for each test, test segment or test group; a means for accumulating the bitmap fail data during the test; a means for correlating each bitmap using analysis hardware or software for determining the performance data of each test or test segment or test group at an individual cell level, where the cell is the smallest addressable unit stored in the bitmap, and the means for modifying the test sequence comprises an automatic optimisation means using optimisation function. 2. A memory test system according to claim 1, characterised in that the optimisation function exploits heuristic criteria for finding the near optimal solution of NP-complete problem of optimising a test pattern sequence. 3. A memory test system according to claims 1 or 2, characterised in that the optimal test pattern sequence is obtained by selecting a first test having maximal performance efficiency and adding sequentially each following test having the lowest coverage redundancy in respect to preselected tests. 4. A memory test system according to any one of claims 1-3, characterised in that the cell size is one bit or a plurality of bits but less than one thousandth of the total number of storage bits in the DUT. 5. A memory test system according to any one of claims 1-4, characterised in that the cell represents a logical operation on all data (DQ) planes of the DUT at a particular address or address window. 6. A memory test system according to any one of claims 1 to 5, characterised in that the fault bit map data is compressed before being accumulated. 7. A memory test system according to any one of claims 1 to 6, characterised in that the automated optimisation means uses the performance data of each test or test segment or test group to reduce the test time by modifying or causing to be modified the test pattern sequence of the memory tester. 8. A memory test system according to any one of claims 1 to 7, characterised in that the automated optimisation means uses the performance data of each test or test segment or test group to maximise the coverage as a function of time by modifying or causing to be modified the test pattern sequence of the memory tester. 9. A memory test system according to any one of claims 1 to 8, characterised in that the automated analysis means uses the performance data of each test or test segment or test group to determine the cause of faults identified by particular tests at a geometric, type, process or electrical level . 10. A memory test system according to any preceding claim, characterised in that the fault data is transmitted via a means selected from the shift register, or content addressable register, or FIFO, or FILO, or RAM, containing a list of address fail data and the data bit and DUT with the failure . 11. A plurality of memory test systems according to any preceding claim connected directly or indirectly such that the said performance data or individual cell fail maps are applied with a cross-correlating function for the purpose of identifying differences in the performance of test systems, or of different tests or of different test conditions or of different timing sets. 12. A method of operation of a test sequence optimisation means including obtaining data on defects discovered by a plurality of tests in a sequence and modifying the sequence to reduce the test time, characterised in that the sequence is modified by selecting a first test having maximal performance efficiency vector and adding sequentially each following test having the lowest coverage redundancy in respect to preselected tests. 13. The method of operation according to claim 12, characterised in that the performance efficiency is estimated by determining defect coverage on the basis of fault bitmap data for each test, test segment or test group. 14. A method of operation according to claim 12 or 13, characterised in that the method further includes the steps of - creating reduced test durations by dividing each test duration by the number of defect groups covered by each additional test; - sorting test pattern sequences in groups with the same bit amount to cover initially vectors which contain fewer tests and then vectors with a greater number of tests; scanning through the vector list only once and building a result vector; checking superfluity and removing tests with the longest time using the heuristic algorithm to decrease redundancy, - copying results to a parameter vector by creating a special array, where every cell contains either 0 if the test has not been included, or the percentage of defects covered after including this test and all previous tests.

Inventors: DEAS ALEXANDER ROGER, MUSTAFINA EKATERINA NIKOLAEVNA, DEAS, ALEXANDER, ROGER, MUSTAFINA, EKATERINA NIKOLAEVNA
Applicants: MUSTAFINA EKATERINA NIKOLAEVNA, MUSTAFINA, EKATERINA NIKOLAEVNA
Application year: 1998
Main classification: G01R
IPC codes: G01R31, G11C29