Memory test pattern generator

Abstract: A CN² memory testing circuit for generating a sequence of C(N²+1) memory addresses which will accomplish a CN² test with the least possible memory transitions. In one embodiment for an odd integer C, the mth bit in the memory address sequence comprises at least one repetition of a unique transition bit (UTB) pattern, where the UTB pattern comprises UTB Pattern = (C+1)/2 entries of 00, concatenated with C-1 entries of 10, concatenated with (C+1)/2 entries of 11, to yield the transitions 0-0, 0-1, 1-0, and 1-1. The m+1th bit in this memory address sequence comprises m+1th bit pattern = a plurality of different combinations of 00, 01, 10, and 11, in any order, but with each of the different bit combinations aligned, at least once, with each different transition in the UTB pattern. A second embodiment, with an even integer C, is similar to the first embodiment, but with a UTB pattern comprising UTB pattern = C(2) 2m-1 entries of 00, concatenated with C(2) 2m-1 entries of 01, concatenated with C(2) 2m-1 entries of 10, concatenated with C(2) 2m-1 entries of 11.

Description: Background of the Invention The present invention relates generally to the field of semiconductor chip testing, and more particularly to a circuit for generating memory addresses for a CN² memory test (where C is the multicycle rate for the N² test and is an integer). Semiconductor memory chips are commonly tested to determine the speed of access between different address locations in the memory. Each individual transition between address locations comprises the operation of de-selecting the current address location and selecting the new address location, and then measuring the time required for the data at this new memory address to appear at the memory output terminals. Such memory access timing is required for each possible memory address transition because a late transition of data to the memory outputs would cause the wrong data to be operated on in the system. N² addressing is a preferred technique for testing memory transitions because it permits the characterization of the effects of each address on every other address in a memory array. The standard for generating this pattern has been to create a SCAN where all 'AWAY' addresses are tested to a fixed 'HOME' address. At the completion of this SCAN, a new 'HOME' address is selected and the procedure repeated until each address in the array has been the 'HOME' address. The address transitions required to generate such an N² pattern are illustrated in Table 1, where N is the number of addresses in the array. A SCAN appears as an entire row in this table and the entire table consists of N SCANS. By definition, an N² test requires N² distinct transition to occur. From Table 1, each transition requires 2 addresses. Consequently, the standard N² test requires 2N² memory cycles. However, the 2N² required memory cycles make the test time-consuming and inefficient. The invention as claimed is intended to remedy this problem. The advantage offered by the present invention is that it allows a N² memory test to be performed in N²+1 memory cycles, thereby significantly increasing the speed of the test. A further advantage offered by the present invention is that it can be implemented in hardware, eliminating the need for buffer storage of the memory address sequence. A yet further advantage of the present invention is that the address generation hardware can be placed directly on a semiconductor chip. Summary of the Invention Briefly, the present invention is a CN² memory testing circuit comprising: counter means with at least M register stages, stepped at a frequency F in , each of said M register stages generating a sequence of N²+1 bits, with each sequence forming a bit pattern corresponding to the register stage, means for concurrently sampling each of the M bit patterns at a sampling frequency of F in /C, where C is the multi-cycle coefficient and is an integer; said sampling being effected with respect to those M bits appearing in parallel at the output of said counter means, means for combining the bit patterns to form N²+1 consecutive memory addresses, of M bits each including all possible, i.e. N² address transitions for the M address bits, to perform CN² memory testing; and means for applying the consecutive memory addresses to the address input of a memory to facilitate complete CN² testing. The invention also provides an apparatus and a method as defined in Claims 5 and 9. In essence, the invention permits a specific memory testing on each memory transition. Brief Description of the Drawings The Figure is a schematic block diagram of one embodiment of the present invention. Detailed Description of the Preferred Embodiment The present invention is directed to a unique apparatus for generating a sequence of memory addresses which will facilitate a CN² memory test with the least possible number of memory cycles. For example, a 1N² test requires a transition from each memory address to every other memory address. The present invention permits this one N² memory test by means of N² distinct memory transition, but requiring only N²+1 modes or memory cycles, i.e., a testing on each memory transition. In a standard binary memory system, there are two states (0 and 1) for each memory bit. Accordingly, there exist only 4 possible transitions between these two states; namely 0-0, 1-0, 0-1, and 1-1. There are a variety of different circuit configurations which may be utilized in order to implement the present invention. One such configuration is shown in the attached Figure. This configuration comprises counter means 10 with at least 2M register stages, stepped at a frequency F in /C, for generating M bit patterns in the 2 M register stages, of C(N²+1) bits each. The configuration further includes means 12 for providing the M bit pattern by concurrently sampling each of the 2M bit patterns at a sampling frequency of F in . In the embodiment illustrated in the Figure, the means for sampling 12 is shown to include the multiplexers 14, 16, and 18. Each multiplexer is shown to include an X input from one register stage, and a Y input from the adjacent right register stage. The configuration further includes means 20 for combining the bit patterns from the sampling means 12 to form C(N²+1) consecutive addresses of M bits each, to perform complete CN² memory testing, in combination with means 22 for applying the consecutive memory addresses from the combining means 12 to the address inputs of a memory to facilitate the CN² testing. In one embodiment of the present invention with C=1, the counter means 10 includes 2M register stages, and the sampling means 12 selectively samples the 2M register stages to obtain an mth bit pattern or its complement, comprising at least one repetition of a unique transition bit (UTB) pattern, wherein the UTB pattern comprises UTB pattern = 1 entry of 00, concatenated with 1 entry of 11, to yield the transitions 0-0, 0-1, 1-0, and 1-1. The sampling means 12 further samples the 2M register stages to obtain an m+1th bit pattern, comprising m+1th bit pattern = a plurality of different combinations of 00, 01, 10, and 11, in any order, but with each of the different bit combinations aligned, at least once, with each different transition in the UTB pattern. Using the configuration shown in the Figure, the UTB pattern may be obtained, for example, for the 0 bit in the memory address, and assuming that C=1, by sampling the number 1 register stage in the counter 10. This implementation may be accomplished by programming the multiplexer 14 to sample only its X₀ input at the counter frequency F in , where F in is the frequency at which the memory is being tested. The other higher order bits in the memory address may be obtained by any one of a variety of sampling techniques. For example, each one of the multiplexers 16 and 18 can alternately sample their X input, and then their Y input, or vice versa, in order to obtain their respective bit patterns. Table 2 shows the resulting bit pattern from the Figure for bits 0 and 1, based on the parameters C=1, M=2, and N=4. Referring to Table 2, it can be seem that each row of numbers constitutes a particular memory address, while each column of bits in this sequence of memory addresses comprises one or more repetitions of a unique transition bit (UTB) pattern. It can be seen that there are M columns representing the M bit memory address, and N²+1 rows. The unique transition bit pattern for bit 0, UTB₀, includes the transition 0-0, referred to as the A transition, the transition 0-1, referred to as the B transition; 1-1, referred to as the D transition; and 1-0, referred to as the C transition. If each memory address constituted only a single bit 0, then the N² test (C=1) would simply comprise the bit sequence 00110. As each additional bit is added to the memory address, that additional bit will comprise a plurality of combinations of 00, 01, 10, and 11, in any order, but with each of these different bit combinations aligned, at least once, with each different transition in the UTB pattern for the preceding bit. This additional memory bit will then constitute a UTB pattern for the next memory bit succeeding it. It can be seen that in order to permit the different combinations in the m+1th bit pattern to align, at least once, with each entry in the UTB pattern for the mth bit, the UTB pattern for the mth bit must be repeated 4 times. This is shown in Table 2 for the bit 0. Likewise, the UTB₁ for bit 1 is repeated 4 times in order to permit the different combinations of 00, 01, 10, and 11 in bit 2 to align at least once, with each different transition in the UTB₁ pattern. In general, as the bit weight in the memory address increases, the length of the UTB pattern, or the column depth in the memory address matrix, increases on the basis of a repetition factor which is equal to R=4 (M-(1+m)) , where m=0, 1, ... M-1. It can be seen that the length of the M-1 UTB pattern is equal to N², which causes N² transitions and then loops the algorithm back to the first matrix entry. Note that the counter means 10 is typically initialized to zero prior to the CN² address generation. In the above-described example for a 1N² test, the test is completed when the 0 and the 2M stages are set. The combiner block 20 may be realized by appropriate wiring and/or gates to obtain the signals for the entire address, or by a function selector device. It can be seen that the length of each UTB pattern for a particular bit weight, is always 4 times the length of the UTB pattern for the bit weight of one less order. Also, it can be seen that each UTB pattern is weighted with an equal quantity of each type of bit combination or transition, i.e., 00 (designated the A transition), 01 (designated the B transition), 10 (designated the C transition), and 11 (designated the D transition). This point is illustrated by reviewing bit 1 in Table 2. It can be seen that bit 1 includes each of the transitions A, B, C and D four times, and that the length of the UTB is 4 times the length of the UTB pattern for bit 0. To reiterate, when the UTB pattern for bit 0 is generated, each of the 4 different transitions, A,B,C, and D occurs once and the UTB₀ pattern is of length 4 transitions. The next higher bit 1 generates its own UTB₁ pattern and contains each different transition A,B,C, and D, 4 times. Accordingly, since the length of bit one's UTB₁ is 4 times the length of the bit 0's UTB₀ pattern, the bit zero UTB₀ pattern must be repeated 4 times. As this repetition occurs, all 4 types of the different transitions in the bit 1 UTB₁ pattern are aligned with each position in bit zero's UTB₀ pattern, therefore generating an N² test. In essence, each different transition A, B, C, and D in the given higher order bit has been aligned with all of the combinations of the different transitions A,B,C, and D in the next lower order bit. Table 3 illustrates how bits 1 and 0 in Table 2 may be viewed in terms of a correlation matrix. The dimensions of this correlation matrix will always be 4 rows for the 4 different transitions A, B, C, and D in the higher order bit, by 4 (M-1) transition letter columns, with the length of the given UTB pattern generated by the lower order bit. It can be seen that the sequence of different transitions within the higher order bit m+1 UTB₁ pattern exhibits a constant pattern. This can be seen in Table 3 by looking down the vertical letter columns representing the transitions in the higher order bits UTB pattern. It can be seen that odd positions in the letter transition columns, i.e., the first and third letter columns, in the lower order bit m's UTB m pattern, always align with the transition A, then the transition B, then the transition C, and finally the transition D. The even letter positions in this lower order bit align with the transition A, then the transition C, then the transition B, and finally the transition D, except for the very last position. The alignment here occurs with transition A, then transition D, then transition B, and finally transition C. It should be noted that in all cases, the different transitions for the higher order bit m+1 occur and align with each position in the lower order bits UTB pattern, thus generating an N² pattern. The same type of correlation matrix can be used as each higher order bit is added to thereby maintain the N² pattern generation. Table 4 illustrates this correlation matrix for a higher order bit m+2. Again, in order to generate an N² test pattern, each different transition in the UTB pattern for the lower order bit m+1, must align with each different bit combination or transition A, B, C, or D in the higher order bit, m+2. Again, the higher order bit's UTB pattern exhibits a constant pattern. This is seen by looking down the vertical letter entries for the odd letter columns in the higher order bit's UTB pattern. Each odd letter position in the lower order bit's unique transition bit pattern aligns with the transition A, then the transition B, then the transition C, and finally the transition D in the higher order bit. Again, the even letter positions in the lower order bit align with the transition A, then the transition C, then the transition B, and finally the transition D, except for the very last position. The memory address matrix shown in Table 2 illustrates a matrix for a 1N² test. The present invention is also capable of producing multi-cycle CN² testing. In this regard, for a multi-cycle coefficient C which is an odd integer, the previously recited equation may be utilized with C equal to the odd integer. In order to implement the apparatus of the present invention for multi-cycle coefficients which are even integers, the sampling means 12 may be arranged to selectively sample the register stages of the counter 10 to obtain an mth bit pattern or its complement comprising at least one repetition of a unique transition bit (UTB) pattern, and to obtain an m+1th bit, where the UTB pattern comprises UTB pattern = C(2) 2m-1 entries of 00, concatenated with C(2) 2m-1 entries of 01, concatenated with C(2) 2m-1 entries of 10, concatenated with C(2) 2m-1 entries of 11, to yield the transitions 0-0, 0-1, 1-0, and 1-1, where m = 0, 1, ... M-1, and C is the multi-cycle coefficient and is an even integer; and wherein the m+1th bit pattern comprises m+1th bit pattern = a plurality of different bit combinations 00, 01, 10, and 11, in any order, but with each of the different bit combinations aligned, at least once, with each different transition in the UTB pattern. In this embodiment, with C equal to an even integer, the apparatus may be implemented with a counter with a series of registers 0 to 2M, which are stepped at a frequency of F in /C. The sampling means 12 is set to alternately sample the value in one of an even or an adjacent odd register stage, and then to sample the value in the other of the even or the odd register stage. In the Figure, the multiplexer 14 is connected to register stage 1 and register stage 0 by means of the lines X₀ and Y₀, respectively. Likewise, the multiplexer 16 is connected to the register stage 3 and the register stage 2 by means of the lines X₁ and Y₁, respectively. Finally, the multiplexer 18 is connected to the register stage 2M-1 and 2M-2 by means of the lines X 2M-1 and Y 2M-1 , respectively. The multiplexers in this embodiment are set to sample in unison, either all of the X lines first or all of the Y lines first, and then to alternately sample between these two lines. The sampling for these multiplexers is performed at modulo C. Accordingly, for a C=2 test, the sampling rate would be at module 2. A Table 5 illustrates possible implementations of the present invention for C=1, 2. For each of these CN² tests, the required counter frequency, the multiplexer sampling for the bit 0, the point when the algorithm is finished, and the sampling rate is shown in the Table. Table 1 Note that hardware changes for different multi-cycle coefficients, C, involve in most cases, only a change in frequency for stepping the counter and a change in the control at the multiplexer on the LSB of the counter. The present invention describes an apparatus for permitting a CN² test wherein a specific testing occurs on each memory transition, in contrast to the prior art. This testing permits a CN² pattern to be generated in approximately one-half the number of cycles that prior art techniques require. Additionally, the present apparatus may be easily implemented on the actual memory chip to be tested, making the test more reliable. Finally, it should be noted that the present invention could be implemented by means of a series of buffer registers to hold the different memory address bit strings, in place of the counter and multiplexers. While the present invention has been particularly shown and described with reference to the preferred embodiments therefor, it will be understood by those skilled in the art that the foregoing and other changes in form and detail may be made therein without departing from the scope of the present invention, as defined in the appended claims.

Claims: A CN² memory testing circuit, comprising: counter means (10) with at least M register stages stepped at a frequency F in , each of said M register stages generating a sequence of N²+1 bits, with each sequence forming a bit pattern corresponding to the register stage, means (14, 16, 18) for concurrently sampling each of said M bit patterns at a sampling frequency of F in /C, where C is an integer; said sampling being effected with respect to those M bits appearing in parallel at the output of said counter means; means (20) for combining said bit patterns to form N²+1 consecutive memory addresses of M bits each including all possible, i.e. N² address transitions for the M address bits to perform complete CN² memory testing; and means for applying said consecutive memory addresses to the address inputs of a memory to facilitate CN² testing. A CN² testing apparatus as defined in claim 1, wherein said counter means includes 2M register stages; and wherein said sampling means includes means for selectively sampling said register stages to obtain one bit pattern comprising alternate bit combinations of 00 and 11, to yield the transitions 0-0, 0-1, 1-0, and 1-1, and to obtain a second bit pattern comprising the different bit combinations 00, 01, 10 and 11, in any order, but with each of said different bit combinations aligned at least once, with each different transition in said first bit pattern. A CN² testing apparatus as defined in claim 1, wherein said counter means includes at least 2M register stages; and wherein said sampling means includes means for selectively sampling said 2M register stages to obtain an mth bit pattern or its complement, comprising at least one repetition of a unique transition bit (UTB) pattern, and to obtain an m+1th bit pattern, wherein said UTB pattern comprises UTB pattern = (C+1)/2 entries of 00, concatenated with C-1 entries of 10, concatenated with (C+1)/2 entries of 11, to yield the transitions 0-0, 0-1, 1-0, and 1-1, where C is an odd integer, m+1th bit pattern = a plurality of different combinations of 00, 01, 10, and 11 in any order, but with each of said different bit combinations aligned, at least once, with each different transition in said UTB pattern. A CN² testing apparatus as defined in claim 1, wherein said counter means includes at least 2M register stages; and wherein said sampling means includes means for selectively sampling said register stages to obtain an mth bit pattern or its complement comprising at least one repetition of a unique transition bit (UTB) pattern, and to obtain an m+1th bit, wherein said UTB pattern comprises UTB pattern = C(2) 2m-1 entries of 00, concatenated with C(2) 2m-1 entries of 01, concatenated with C(2) 2m-1 entries of 10, concatenated with C(2) 2m-1 entries of 11, to yield the transitions 0-0, 0-1, 1-0, and 1-1, where m = 0, 1, ... M-1, and C is even integer; and m+1th bit pattern = a plurality of the different bit combinations 00, 01, 10, and 11, in any order, with each of said different bit combinations aligned with each different transition in said UTB pattern. A CN² memory testing apparatus, comprising: means for generating CN²+1 consecutive binary memory addresses, with each memory address having M bits, and including all possible, i.e. N², address transitions for the M address bits, with the consecutive listing of the same one of those bits in each consecutive generated address yielding an mth bit pattern or its complement, with said mth bit pattern comprising at least one repetition of a unique transition bit (UTB) pattern, wherein the UTB pattern comprises UTB pattern = (C+1)/2 entries of 00, concatenated with C-1 entries of 10, concatenated with (C+1)/2 entries of 11, to yield the transitions 0-0, 0-1, 1-0, and 1-1, where C is an odd integer, and with the consecutive listing of the m+1th bit in each consecutive generated memory address yielding an m+1th bit pattern or its complement, wherein the m+1th bit pattern comprises m+1th Bit Pattern = a plurality of different combinations of 00, 01, 10, and 11, in any order, but with each of said different bit combinations aligned, at least once, with each different transition in said UTB pattern, where m = 0, 1, . .. M-1; and, means for applying said generated series of memory addresses to the address inputs of a memory. A CN² memory testing apparatus as defined in claim 5, wherein said memory address generating means comprises counter means with a series of register stages 0 to 2M, stepped at a frequency F in /C; means for obtaining an m=0 bit pattern from the register stage one, and for obtaining a plurality of different second bit patterns from different respective odd register stages; and means for combining said bit patterns to form memory addresses of M bits each. A CN² memory testing apparatus, comprising: means for generating CN²+1 consecutive binary memory addresses, with each memory address having M bits, and including all possible, i.e. N², address transitions for the M address bits, with the consecutive listing of the mth bit in each memory address of M bits yielding an mth bit pattern or its complement, comprising at least one repetition of a unique transition bit (UTB) pattern, wherein said UTB pattern comprises UTB pattern = C(2) 2m-1 entries of 00, concatenated with C(2) 2m-1 entries of 01, concatenated with C(2) 2m-1 entries of 10, concatenated with C(2) 2m-1 entries of 11, to yield the transitions 0-0, 0-1, 1-0, and 1-1, where m = 0, 1, ... M-1, and C is the multi-cycle coefficient and is an even integer, and with the consecutive listing of the m+1th bit in each consecutive generated memory address yielding an m+1th bit pattern or its complement, wherein the m+ 1th bit pattern comprises m+1th Bit Pattern = a plurality of different combinations of 00, 01, 10, and 11, in any order, but with each of said different bit combinations aligned, at least once, with each different transition in said UTB pattern, and, means for applying said generated series of memory addresses to the address inputs of a memory. A CN² memory testing apparatus as defined in claim 7, wherein said memory address generating means comprises counter means with a series of register stages 0 to 2M, stepped at a frequency, F in /C; and means for generating each bit pattern by alternately sampling the value in one of an even or an adjacent odd register stage, and then sampling the value in the other of the even or the odd register stage; and means for combining said bit patterns to form memory addresses of M bits each. A method for generating addresses to facilitate N² memory testing, comprising: generating an mth bit pattern comprising alternate bit combinations of 00 and 11, beginning at any point in the pattern, to yield the transitions 0-0, 0-1, 1-0, and 1-1; generating an m+1 bit pattern comprising a plurality of different bit combinations 00, 01, 10, and 11, in any order, but with each of said different bit combinations aligned in time at least once, with each different transition in said mth bit pattern, forming N²+1 consecutive binary memory addresses of M bits each and including all possible, i.e. N² address transitions for the M address bits, with said mth bit pattern comprising an arbitrary significance bit in said N²+1 consecutive addresses, and with said m+1th bit pattern comprising the next higher significance bit from said mth bit in said N²+1 consecutive address; and applying said generated series of memory addresses to a memory.

Inventors: BRINKMAN ROBERT PAUL, BRINKMAN, ROBERT PAUL
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1988
Main classification: G11C29
IPC codes: G11C29, G01R31