Memory tester

Abstract: In a memory tester in which data read out of an address of a memory under test (5), specified by a pattern generator (1), is compared with an expected value and the result of comparison is written into a failure analysis memory (7) at the address corresponding to that of the memory under test from which the data was read out, the output address of an address pointer (8) which is incremented or decremented upon each application of a clock and the address from the pattern generator are selectively applied to the failure analysis memory. In the case of testing a memory which has an internal address generating function, the address from the address pointer is provided to the failure analysis memory. A cycle delay circuit (11) is provided by which the address to be provided from the pattern generator to the failure analysis memory is delayed by a desired number of cycles in synchronism with the clock, and the address to be applied to the failure analysis memory is delayed by the same number of cycles as that for which the data read out of the memory under test is delayed.

Description: BACKGROUND OF THE INVENTION The present invention relates to a memory tester for testing semiconductor-integrated memories as indicated in the preamble of claim 1 and 3. Such a memory is known from US-A-4 414 665. Fig. 1 shows the construction of a conventional memory tester, which comprises a pattern generator 1, a programmable data selector 2, a formatter 3, drivers 4 for applying a pattern signal and an address signal to a memory under test 5, a comparator 6 for making comparison between data read out of the memory under test 5 and an expected value derived from the pattern generator 1, and a failure analysis memory 7 which responds to the detection of non-coincidence by the comparator 6 to store a "1" in the same address as that supplied to the memory under test 5 to thereby store a defective address of the memory 5. Usually, an operator predetermines data patterns and address patterns to be generated by the pattern generator 1 in accordance with the kind of memory to be tested, prepares a program for generating such patterns and sets it in the pattern generator 1. The memory under test 5 is accessed by an address signal A from the pattern generator 1, a data pattern signal D is written into the accessed address, and data D′ read out therefrom is compared with an expected value E by the comparator 6. When non-coincidence is detected between the read-out data D′ and the expected value E, a "1" indicating a failure is written into the same address of the failure analysis memory 7 as the address from which the data D′ was read out. Some of memories now in use are of the type that are supplied with a clock from the outside and create an address signal, such as a FIFO (First-In First-Out) memory and a SAM (Serial Access Memory) in a dual port memory. Also in testing such a memory, it is necessary in the prior art to prepare a program for causing the pattern generator 1 to generate the same address signal as that created in the memory under test, and the address signal produced by the pattern generator 1 is provided to the failure analysis memory 7 to store therein failure analysis data. Another type of memory is one that is commonly referred to as STRAM (Self-Timed RAM), and this provides read-out data several cycles behind the input of an address signal. This memory has pipeline registers 5B and 5C at both input and output sides of a memory 5A as shown in Fig. 2, for instance. Input data pattern D and address pattern A pass through respective stages of the pipeline register 5B in synchronism with a clock signal CK and are applied to the memory 5A, and data D′ read out therefrom is output via respective stages of the pipeline register 5C in synchronism with the clock signal CK. Consequently, the data D′ is delayed for cycles of the same number as the sum of the numbers of stages of the pipeline registers 5B and 5C with respect to the input read address A. Assume that each of the pipeline registers 5B and 5C has two stages. When applying address signals A₁, A₂, A₃, A₄, ... to the memory under test 5 as depicted in Fig. 3A, its read-out data D₁′, D₂′, D₃′, D₄′ ... are each delivered four test cycles (i.e. four clock cycles) behind the corresponding address signal as shown in Fig. 3B. In this instance, if the result of comparison F₁ shown in Fig. 3C is written into the failure analysis memory 7 four test cycles behind the corresponding address signal, then the failure analysis memory 7 is accessed at an address A₅, wherein the result of comparison F₁ of the data D₁′ read out from the address A₁ of the memory under test 5 will be stored. Accordingly, in the test of such a memory it is necessary to make the failure analysis bearing in mind the correct correspondence between addresses of the failure analysis memory and addresses of the memory under test. In practice, however, this is very cumbersome. Further, it is very likely to misunderstand that addresses of the failure analysis memory and the memory under test have a direct one-to-one correspondence. SUMMARY OF THE INVENTION It is a general object of the present invention to provide a memory tester which permits testing of various kinds of memories. A particular object of the present invention is to provide a memory tester in which when the memory under test does not require an external address signal, an address signal need not be produced by the pattern generator, and consequently, a program need not be set for generating an address pattern. Another object of the present invention is to provide a memory tester by which a memory of the type providing its read-out data several cycles behind the input timing of an address can also be tested while keeping its addresses in agreement with those of the failure analysis memory. According to the present invention, the memory tester is defined as indicated in claims 1 or 3. It has a failure analysis memory provided with an address pointer which has a function of taking thereinto, as initial data, an address signal from a pattern generator, a function of incrementing or decrementing the initial address upon each application of a clock, and a function of holding a desired one of a sequence of addresses, and a selector which selectively applies either one of an address signal available from the address pointer and an address signal from the pattern generator to the failure analysis memory. According to the present invention, where no address signal is needed for testing a memory, the selector provides the address signal from the address pointer to the failure analysis memory. The address pointer is initialized by the same initial address as that provided to the memory under test. Then the address pointer is supplied with the same clock as that applied to the memory under test, and upon each application of this clock, the initial address of the address pointer is decremented or incremented by one, and the resulting address signal is provided via the selector to the failure analysis memory. Consequently, the failure analysis memory is accessed at the same address as an internal address at which the memory under test is accessed. When an address of a defective cell is detected, a "1" representing the failure can be written into the corresponding address of the failure analysis memory. With such an arrangement, an address signal need not be generated by the pattern generator in testing the memory having the internal address generating function, since the address pointer creates the same address as that produced in the memory under test. This eliminates the necessity of setting a program for operating the pattern generator to produce an address pattern, and hence affords substantial reduction of work for programming. According to another aspect of the present invention, a memory tester which has a failure analysis memory is provided with a cycle delay circuit in an address signal supply line to the failure analysis memory for delaying an address signal for a desired number of cycles so that data read out of a memory under test and the address signal to the failure analysis memory can be delayed for the same number of cycles. With such an arrangement, since the cycle delay circuit is provided in the address signal supply line to the failure analysis memory, the result of comparison of the data read out of the memory under test with an expected value can be written into the failure analysis memory corresponding to the address from which the data read out, by selecting the number of delay cycles of the cycle delay circuit to be equal to the number of delay cycles of the data read out of the memory under test. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram for explaining a conventional memory tester; Fig. 2 is a block diagram for explaining a memory structure in which its read-out data is delayed; Figs. 3A through 3C are waveform diagrams for explaining the defects of the prior art; Fig. 4 is a block diagram illustrating an embodiment of the present invention; Fig. 5 is a block diagram illustrating another embodiment of the present invention; Fig. 6 is a block diagram showing an example of a cycle delay circuit for use in the present invention; Fig. 7 is a block diagram showing another example of the cycle delay circuit; and Fig. 8A through 8D are waveform diagrams for explaining the operation of the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS Fig. 4 illustrates in block form an embodiment of the present invention, in which the parts corresponding to those in Fig. 1 are identified by the same reference numerals. In this embodiment an address pointer 8 and a selector 9 are provided in association with the failure analysis memory 7. The address pointer 8 can be formed by, for example, a presettable up-down counter capable of loading an initial address value. The address pointer 8 is supplied with an address signal A from the pattern generator 1 via an address bus and a control signal C from the pattern generator 1 via a control line. The control signal C sets the address pointer 8 into the same condition as that of an address generating section of the memory under test 5. That is, the control signal C applied to the address pointer 8 defines whether to increment or decrement the set address by one in synchronism with the input of the clock CK, or holds the set address. Further, a load command signal in the control signal C initializes the same address A as that of the memory under test 5. The selector 9 is switched, by the control signal C from the pattern generator 1, between a state of selecting the address signal A which is applied to an input terminal B₁ from the pattern generator 1 and a state of selecting an address signal which is applied to an input terminal B₂ from the address pointer 8. In the case of testing an ordinary memory, the selector 9 selects the input terminal B₁, supplying the failure analysis memory 7 with the address signal A which is provided from the pattern generator 1. Where the memory under test 5 is a memory which does not require the supply of the address signal, the selector 9 is switched to the input terminal B₂, through which the address signal from the address pointer 8 is applied to the failure analysis memory 7. By this, the failure analysis memory 7 is accessed at the same address as that of the memory under test 5 being accessed, and when noncoincidence is detected by the comparator 6 between data read out of the memory under test 5 and the expected value, a "1" representing a failure can be written into the failure analysis memory 7 at the same address as that in which the failure has occurred. It is also possible, in this instance, to hold a desired address by stopping the supply of the clock. As will be seen from the above, this embodiment does not necessitate the generation of an address signal by the pattern generator 1 for accessing the failure analysis memory 7 in the case of testing a memory which does not need the address signal. This permits simplification of a program for operating the pattern generator 1, and hence facilitates the preparation of the program. Fig. 5 illustrates another embodiment of the present invention, in which the parts corresponding to those in Fig. 1 are indicated by the same reference numerals. This embodiment has its feature in that a cycle delay circuit 11 is provided in an address signal supply line to the failure analysis memory 7. Incidentally, this embodiment is shown to include another cycle delay circuit 12 which is provided in an expected value supply line to the comparator 6. The cycle delay circuits 11 and 12 can each be made up of cascade-connected latches L₀ to L₄, each of which performs its latch operation on the clock signal CK, and a selector 13 which selectively outputs any one of their outputs, as depicted in Fig. 6, for example. The number of latches L₀ to L₄ is selected equal to or greater than a maximum number of delay cycles +1 which various memories supposed to be tested have. The number of delay cycles of each of the cycle delay circuits 11 and 12 is selected, prior to the start of each test, by selecting any one of input terminals T₀ to T₄ of the selector 13 by the control signal C in accordance with the number of delay cycles of the memory under test 5. That is, the number of delay cycles of each cycle delay circuit is set to a value equal to the number of cycles from the time point of application of the address signal A to the memory under test 5 to the time point of obtaining the read-out data D′. This number of delay cycles is equal to the sum of the numbers of stages of the pipeline registers 5B and 5C shown in Fig. 2 and it is a delay of four clock cycles in this embodiment. Accordingly, the selector 13 is supplied with the control signal C which selectively connects its input terminal T₄ to an output terminal 15. Fig. 7 shows another example of each of the cycle delay circuits 11 and 12. A counter 16 is a quinary counter which overflows every five counts of the clock signal CK, and the count value of the counter 16 is decoded by a decoder 17, providing a "1" at the corresponding one of its output terminals O₀ to O₄. As a result of this, the decoder 17 repeats providing a "1" to its output terminals O₀ to O₄ one after another when the clock signals CK are sequentially applied to the counter 16. Accordingly, the latches L₀ through L₄ latch, in a repeating cyclic order, the address signal or expected value which is applied to a terminal 14. The outputs of the latches L₀ through L₄ are provided to a multiplexer 18. A counter 19 is a presettable quinary counter which overflows every five counts of a clock signal CK′ which has the same period as the clock signal CK but slightly lags it in phase. The count value of the counter 19 is applied to the multiplexer 18, causing it to provide to an output terminal 15 the corresponding one of signals applied to its input terminals I₀ through I₄. In consequence, upon each application of the clock signal CK′ to the counter 19, the signals applied to the input terminals I₀ through I₄ of the multiplexer 18 are output one by one in a repeating cyclic order. By presetting a value C corresponding to the required number of delay cycles in the counter 19 and by resetting the counter 16, the input signals which are sequentially latched in the latches L₀ through L₄ and the signals which are sequentially output from the latches L₀ through L₄ via the multiplexer 18 can always be held to retain the relationship of the present number of delay cycles. The counter 16 may also be a presettable counter. With such an arrangement as described above, the address signal A and the expected value data E which are provided to the failure analysis memory 7 and the comparator 6, respectively, are delayed by the number of cycles equal to the number of cycles for which the read-out data D′ of the memory under test 5 is delayed; so that the read-out data D′ is compared by the comparator 6 with the correct expected value to be compared at the corresponding address, and the result of comparison is provided to the failure analysis memory 7. At this time, the same address signal as that applied to the memory under test 5, which was delayed by the cycle delay circuit 11, is provided to an address terminal of the failure analysis memory 7. Thus, failure analysis data can be written in the failure analysis memory 7 at the same address as that of the memory under test 5 from which the data D′ was read out. Fig. 8A shows address signals A₁, A₂, ... applied to the memory under test 5 and Fig. 8B data D₁′, D₂′, ... read out of the memory under test 5. That is, the read-out data D₁′ is data read out of the address A₁ and the read-out data D₂′ is data read out of the address A₂. In the illustrated example the read-out data D₁′, D₂′, ... are output four clock cycles behind the applied addresses A₁, A₂, ..., respectively. Fig. 8C shows comparison results F₁, F₂, ... which are outputs of the comparator 6, and Fig. 8D are delayed address signals A₁, A₂, ... which are applied to the failure analysis memory 7. As depicted in Figs. 8A through 8D, the result of comparison F₁ of the data D₁′ read out of the address A₁ of the memory 5 is written into the failure analysis memory 7 at the same address A₁, and similarly, the results of comparison F₂, F₃, F₄, ... of the data D₂′, D₃′, D₄′, ... read out of the addresses A₂, A₃, A₄, ... of the memory 5 are written into the failure analysis memory 7 at the same addresses A₂, A₃, A₄, ... . As in the embodiment of Fig. 5, the cycle delay circuits 11 and 12 may also be provided in the embodiment of Fig. 4 as indicated by the broken lines therein. According to this embodiment, the number of delay cycles of each of the cycle delay circuits 11 and 12 can be set to a value equal to the number of cycles for which data read out of the memory under test 5 is delayed. Accordingly, even if the read-out data of the memory 5 is delayed over a desired number of cycles, the delayed read-out data is compared with the correct expected value data and the result of comparison is written into the failure analysis memory 7 at the correct address. Thus an address where a failure occurs can be detected accurately, and hence an accurate failure analysis can be achieved. It will be apparent that many modifications and variations may be effected without departing from the scope of the novel concepts of the present invention.

Claims: A memory tester comprising: pattern generating means (1) for generating expected value data and an address pattern which is supplied to a memory (5) under test; comparing means (6) for comparing data read out of said memory under test and said expected data from said pattern generating means; a failure analysis memory (7) for writing therein the result of comparison from said comparing means; characterised by an address pointer (8) which takes in, as an initial address, an address from said pattern generating means and increments or decrements its address from said initial one upon each application of a clock (CK) and can be held at a desired address; and a selector (9) which selectively applies either one of an address output from said address pointer (8) and an address from said pattern generating means (1) to said failure analysis memory (7) (Fig.4). The memory tester of claim 1, wherein said address pointer is formed by a presettable up-down counter. A memory tester comprising: pattern generating means (1) for generating expected value data and an address pattern which is supplied to a memory (5) under test; comparing means (6) for comparing data read out of said memory under test and said expected value data from said pattern generating means; a failure analysis memory (7) for writing therein the result of comparison from said comparing means; and characterised by cycle delay means (11) whereby an address to be supplied from said pattern generating means (1) to said failure analysis memory (7) can be delayed by a desired number of cycles in synchronism with a clock (CK); whereby the number of delay cycles of said data read out of said memory under test and the number of delay cycles of said address to be supplied to said failure analysis memory can be made equal to each other (Fig.5). The memory tester of claim 1, which further comprises cycle delay means (11) whereby said address to be applied from said pattern generating means to said failure analysis memory can be delayed by a desired number of cycles in synchronism with said clock. The memory tester of claim 3 or 4, which further comprises another cycle delay means (12) whereby said expected value data to be applied from said pattern generating means to said comparing means is delayed by the same number of cycles as that by said cycle delay means. The memory tester of claim 3 or 4, wherein said cycle delay means includes a plurality of cascade-connected latches, each of which latches an input in response to said clock, and select means which is supplied with the outputs of said latches and selects any one of said outputs as the output of said cycle delay means. The memory tester of claim 3 or 4, wherein said cycle delay means includes a plurality of latches which latch an input one after another in a cyclic order upon each application of said clock, and cyclic output means which outputs the outputs of said latches one after another in a cyclic order upon each application of said clock.

Inventors: NISHIURA JUNJI, OSHIMA HIROMI, NISHIURA, JUNJI, OSHIMA, HIROMI
Applicants: ADVANTEST CORP, ADVANTEST CORPORATION
Application year: 1989
Main classification: G11C29
IPC codes: G01R31, G11C29