CA1299289C - Integrated circuit with memory self-test - Google Patents
Integrated circuit with memory self-testInfo
- Publication number
- CA1299289C CA1299289C CA000548276A CA548276A CA1299289C CA 1299289 C CA1299289 C CA 1299289C CA 000548276 A CA000548276 A CA 000548276A CA 548276 A CA548276 A CA 548276A CA 1299289 C CA1299289 C CA 1299289C
- Authority
- CA
- Canada
- Prior art keywords
- test
- word
- integrated circuit
- memory
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 88
- 230000015654 memory Effects 0.000 title claims abstract description 86
- 230000003068 static effect Effects 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 15
- 230000002250 progressing effect Effects 0.000 abstract 1
- 238000013461 design Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 4
- 238000011960 computer-aided design Methods 0.000 description 3
- 101100286980 Daucus carota INV2 gene Proteins 0.000 description 2
- 101100397045 Xenopus laevis invs-b gene Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000010420 art technique Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 101150110971 CIN7 gene Proteins 0.000 description 1
- 101100508840 Daucus carota INV3 gene Proteins 0.000 description 1
- 101150110298 INV1 gene Proteins 0.000 description 1
- 101100397044 Xenopus laevis invs-a gene Proteins 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10D—INORGANIC ELECTRIC SEMICONDUCTOR DEVICES
- H10D84/00—Integrated devices formed in or on semiconductor substrates that comprise only semiconducting layers, e.g. on Si wafers or on GaAs-on-Si wafers
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
INTEGRATED CIRCUIT WITH MEMORY SELF-TEST
Abstract A memory array included with logic circuitry on an integrated circuit is tested by a technique that reads and writes a specified sequence of test bits into a given memory word before progressing to the next word. A checkerboard pattern of 1's and 0's is written into the physical memory locations. This provides for an improved worst-case test while allowing ease of implementation for the test circuitry. The test results from a comparator circuit may be compressed to provide one (or a few) test flags indicating whether the memory passed the test, requiring a minimal number of test pads or terminals for the chip.
Abstract A memory array included with logic circuitry on an integrated circuit is tested by a technique that reads and writes a specified sequence of test bits into a given memory word before progressing to the next word. A checkerboard pattern of 1's and 0's is written into the physical memory locations. This provides for an improved worst-case test while allowing ease of implementation for the test circuitry. The test results from a comparator circuit may be compressed to provide one (or a few) test flags indicating whether the memory passed the test, requiring a minimal number of test pads or terminals for the chip.
Description
';2&~
INT~GRATED CIRCIJIT WITH
MEMORY SELF-TEST
BackFound of the Inv ntion 1 Field of the Invention The present invention relates to integrated circuits having a memory array and the capability for testing the memory.
INT~GRATED CIRCIJIT WITH
MEMORY SELF-TEST
BackFound of the Inv ntion 1 Field of the Invention The present invention relates to integrated circuits having a memory array and the capability for testing the memory.
2. Description of the Prior Art The use of memory arrays integrated with logic circuitry, referred to as "embedded memories" or "application specific memories", results in a memory 10 array that is more difficult to test than a conventional discrete memory integrated circuit (IC). This is due largely to the fact that the access to the memory array itself is limited. That is, the inputloutput terminals are usually devoted to the logic functions that the IC is intended to perform, and the memory array itself is not directly accessible to the user. Therefore, the testing is usually limited to 15 storing and retrieving data through the intervening logic circuitry, which may not provide a complete test. Furthermore, even if an error is detected, it is frequently not clear whether the logic circuitry or the memory array is at fault. That information is very useful when debugging new designs, and for monitoring processing conditions during production, for example.
One technique for testing the memory array itself is to provide test pads on the integrated circuit that are devoted to the memory array. However, that results in a substantial increase in the integrated circuit area, which is not usually economically feasible. Furthermore, the time required for testing a large memory array is substantial. In addition, the package test may then not be as 25 complete as the wafer test, reducing the ability to detect faults at the package test.
Another known technique is to include on the integrated circuit a test generatorthat generates a known sequence of test bits that are written into the array. The test bits are then read from the array, and compared with the known pattern in asignature recognition circuit. However, the prior art techniques have not yielded 30 as complete a test as is desired, since the signatures used have typically not simulated worst-case conditions very closely.
21~
When the test circuitry is included on the same IC as the memory, the test circuitry should also be tested. However, this is typically very difficult using prior art test techniques. Finally, the custom logic designs of the prior art signature generation and 5 recognition are not very regular. Hence, they are difficult to partition when computer-aided design (CAD) techniqucs are used, especially the CAD techniques that group the circuitry into blocks.
Summarv of the Invention We have invented a test technique implemented in an integrated circuit that 10 includes a memory array. Test information is written into sequential memory word addresses so as to form a checkerboard pattern in physically adjacent memory locations. In the case of a static memory cell having two inverters that are cross-coupled, each inverter is considered to be a memory location. A memory address generator may be used to provide the proper test bits to each location. An expected data generator and comparator circuitry may be used to 15 compare the information read from a given memory location with the information written into that location. Alternately, signature analysis circuitry may be used for this purpose. Data compression circuitry may be included to reduce the number of test flags used to signal the results of each test.
In accordance with one aspect of the invention there is provided an integrated 20 circuit comprising an array of memory cells, and address decoding circuitry for accessing a word of information in said array for each word address supplied thereto, characterized in that said integrated circuit further comprises self-test circuitry comprising address counter means for providing sequential word addresses to said decoding circuitry, means for writing test information into each word so as to produce a checkerboard pattern of alternating logic 1 and 25 0 test voltage states into physically adjacent memory locations of said array, means for reading each word writing test inEormation into the word, and means for compressing the test information read from the words in said array.
Brief Description of the Drawine FIG. 1 shows a memory array and various circuits for testing according to the 30 present technique.
FIG. 2 is a typical layout of memory cells that shows the logical addresses and the physical locations.
FIG. 3 shows schematically static memory cells that each comprise two inverters.
f.`~'~
~s~
- 2a -FIG. 4 shows the physical voltage states ~or the cells of F~G. 3 in the layout of FIG. 2.
Detailed Description The following detailed description relates to an integrated circuit having a memory array and a self-testing capability for the memory. Other circuitry may be included on the IC, making the memory a so-called "application specific" memory, alternately referred to as an "embedded memory". If desired, the self-test capability of the present invention may be included with a discrete (i.e., stand-alone) memory chip. The present technique will be illustrated in terms of a static memory wherein a multiple bit word is accessed. The present :~2~
technique initially writes a checkerboard pattern (alternating "l's" and "O's") into physical memory locations in the memory array. In the case of a static memory having a cross-coupled cell, this means that the alternating pattern be written so that the voltage state of adjacent inverters define the alternating pattern. The test 5 sequence provides for reading the information from a given address location (which may comprises multiple bits), and comparing the information with the known test information for that location. The test is then performed on the nextmemory address, and so forth, until all of the memory address locations in the memory array have been tested. The tests may then be repeated in the reverse 10 direction (i.e., starting at the last memory address location) if desired. Note that the present sequential read-and-compare technique is in contrast to prior art techniques that read out an entire memory array (or large portion thereof) into circuitry that compares the information with the expected test values.
In the present technique, the detection of faults is provided by the 15 following test conditions: Condition 1: Each cell undergoes a 0 to 1 transition a 1 to 0 transition and is read after each of these transitions. Condition 2: For every pair of adjacent (in the physical layout) cells i and j, the test writes cell i with 1 and cell j with 0 cell i with 0 and cell j with 1 and reads after each ofthese writes. This writing sequence produces the so-called "checkerboard" pattern 20 referred to herein. Condition 3: Each memory cell is read twice, after writing logic 1 and 0. Condition 4: Some memory words are written and read with data having different logic values (i.e, 01 and 10 pair) on every pair of adjacent input data lines. This conditions tests the comparator that is described below.
Still other conditions may be imposed. For example, after writing 25 into a cell, a hold time delay may be included before reading the cell. This tests for open conductors that make static memories behave as dynamic memories, and for capacitor hold time in the case of dynamic memories.
Referring to FIG. 1, a typical random access memory layout is illustrated, wherein the memory array is divided into a number of segments. Each30 segment includes a multiplicity of adjacent columns. A single column is selected from each segment during a given read or write access operation. Therefore, the illustrative design provides for 4 bit access, with the present technique being useful with designs simultaneously accessing any number of multiple bits, or even only a single bit as noted below. The information accessed at a given memory 35 address is referred to as a "word" herein, so that a 4 bit word is illustrated herein.
il 25~
To select a given word, address input circuitry provides address bits (A3...A5) to a row decoder to select a unique one of the rows, and also address bits (Al...A2) to a column decoder, which selects a unique one of the columns from each segment.
The intersection of the selected row and columns deterrnines the position of the5 word in the physical layout. One possible data bit mapping scheme from the word address to the physical word location is illustrated in FIG. 2. The address(ADD) is indicated, with each address comprising four bits (Dl...D4). For example, address ADD 5 is physically located in row W2, columns 4, 8, 12 and 16. The following discussion will refer to the mapping of FIG. 2, with others 10 being possible.
The present invention provides that in the case of memory cells having cross-coupled inverters, the checkerboard test pattern that is initially written into the memory array is defined by the inverter locations, rather than by the cells alone. For example, referring to FIG. 3, two 6 transistor "full CMOS"
15 static memory cells are shown, with 4 transistor static cells (including two load resistors) being comparable for purposes of the present invention. The cells arelocated in adjacent colurnns (3 and 4) and along a common row (1). Each cell comprises two cross-coupled inverters, with transistors 302-303 and 304-305 forming inverters INV1 and INV2, respectively. The inverters are cross-coupled, 20 thereby producing bi-stable voltage states so that when node 307 is high, then node 308 is low, and vice-versa. Node 307 is accessed by the "true" bit line D1 through access transistor 301, whereas node 308 is accessed by the "complement"
bit line D1 (BAR) through access transistor 30~. Note that inverter INV2 is physically adjacent to inverter INV3 in the adjacent memory cell. Hence, in 25 wAting a checkerboard pattern into the array according to the present inventive technique, node 308 is placed in the opposite voltage state as node 309. This isaccomplished by either writing a "1" into both of the two adjacent cells shown, or by writing a "0" into both cells, considering that the stored memory state of a given cell is defined by the node accessed by the "true" bit line. Dynamic 30 memory cell arrays may also be tested by the present technique, including dynamic cells using cross-coupled transistors that produce nodes at opposite voltage states, which are known in the art.
If the pattern of "true" and "complement" bit lines continues as shown along an entire row, then an entire row of cells will be logically written with all 35 "l's" or alternately all "0's" to obtain the desired physical checkerboard pattern of voltage states along the row (horizontal axis as viewed in FIG. 3). However, in some memory designs, the "true" and "complement" bit lines are mirror images between adjacent cells, as taken along the axis of symmetry A-A shown.
Therefore, in such designs, the cells in a given row are written with altemating5 logical "l's" and "O's" to obtain the checkerboard voltage pattern in the physical inverter locations along the row. Still other arrangements of the bit lines are possible, with corresponding changes in the logical information written into thecells to obtain the physical checkerboard pattern. Note also that to obtain the checkerboard, the stored voltage states are also alternated in the vertical axis, as 10 viewed in F~G. 3. That is, the cells in row 2 (below row 1 as viewed) have the opposite voltage state as those in row 1. Hence, if all logic "l's" are stored in row 1, then all logic "O's" are stored in row 2, and so folth for the remaining rows. The stored voltage states for the arrangement of FIG. 2 and memory cells of FIG. 3 are shown in FIG. 4, wherein the state of each inverter is indicated. The 15 inverter that is accessed by the true bit line is referred to as the "master" (M), and the inverter accessed by the complement bit line as the "slave" (S), for each memory cell.
After initializing the array in the checkerboard pattern, the alray is written with the inverse pattern (the "inverse checkerboard"), wherein the l's and 20 O's are interchanged, in a subsequent pass ~hrough the array. This provides for tesdng the transition between the 0 and 1 states for each cell. A subsequent pass in the reverse direcdon then writes the initdal checkerboard pattern into the cell, to check for transitions that may be affected by neighboring cells on the opposite side as those that could affect the test in the forward direction.
A presently preferred sequence of read and write operations that achieves the above conditions is as follows, wherein a pair of operations (e.g.,write-read) implies that the operations are performed on a given word address before moving to the the next address. That is, the address counter increments by 1 digit in the forward direction, and decrements by 1 digit in the reverse direction.
30 IIence, each read or write accesses ~ bits in the illustrative case. As indicated, the tests are performed in several passes through the entire memory array, starting from either the first memory address (forward direction), or from the last memory address ~reverse direction). The "first" memory address is conventionally considered to be the 0...0 address, and the "last" memory address is conventionally 35 considered to be the 1...1 address, but these designations may be reversed insofar as the present invention is concerned. Note also that the initial checkerboard pattern may begin with either a 1 or a zero.
TABLE
SELF-TEST SEQUENCE
S OPERATION PATTERN ADDRESS DIRECTION
Write-ReadCheckerboard Forward Read-WriteInverse Checkerboard Forward Read-Read " Forward Read-WriteCheckerboard Reverse 10Read-Read " Reverse Still other operations may be added in either the forward or reverse direction as desired. One significant feature of this sequence is the "double read", wherein two read operations are performed sequentially (without an intervening write operation) on a given memory word. This double read provides a test to 15 determine whether the read operation itself affects the inforrnation stored in the word. Additional r~ads may be provided if desired (producing, e.g., a triple read).
A significant feature of operating on one memory address at a time is that the information read out of that location may be readily compared with the information written into that location. Furthermore, by performing the operations 20 on sequential memory locations, both the word address and the test information written into the word may be readily generated by an address counter. Referring again to FIG. 1, the address register serves as an address counter when in the seltest mode. A read/write register (Cl) and a control resister (C2...C4), under the control of a system clock determines whether a read or write test operation is 25 being performed. And address bits Al...A5 are incremented (or decremented) soas to produce the desired address sequence through the memory array during a test. Furthermore, control register bits C2, C3 and C4 are used to determine which of the five memory test operations in the above Table are being conducted.The Data In Generator produces the actual test data read into each word (4 bits 30 per word in the illustrative case), whereas the Expected Data Generator provides an identical test word for comparison in the comparator. The Expected Data Generator function may be combined with the Data In Generator. However, they are desirably separate to provide a self-check of the Data In Generator. The Comparator provides a comparison on each bit of the test word read out of the 35 memory array during a read operation. If the bits are identical with those from the Expected Data Generator, then a "pass" signal is sent from the comparator;
otherwise, a "fail" signal is sent. The output of the comparator is sent to a Data Compression circuit in the preferred embodiment, so that if any one of the test words fail in the entire array, then a "flag" is set to the "fail" state, and supplied to 5 an external terminal of the integrated circuit. In this manner, the self-test may be conducted even after the integrated circuit is packaged and operating in a system, if desired. An additional test may be provided by the test circuitry that allows full testing of the comparator and all data columns adjacent to each other. This testmoves a logic 0 through a field of logic l's in a data word that is both written and 10 read for each bit position of the zero in the word. This is followed by a comparable test that moves a logic 1 through a field of logic zeros in a data word.
As an alternative to the test comparator shown herein, signature analysis techniques may be used. In that case, each read of a word under test places the information in a test register, after performing a logical "OR" with the 15 previous contents of the register. Each bit of the test register is then compared to an expected value that may be stored in a read only memory (ROM), which may be either on the same chip as the test circuitry, or on an external chip. Thus, by combining several words before examining the test register, the test data is "compressed" in this case also, so that relatively fewer bits need to be examined 20 than the total read out of the word under test.
One technique for testing the memory array itself is to provide test pads on the integrated circuit that are devoted to the memory array. However, that results in a substantial increase in the integrated circuit area, which is not usually economically feasible. Furthermore, the time required for testing a large memory array is substantial. In addition, the package test may then not be as 25 complete as the wafer test, reducing the ability to detect faults at the package test.
Another known technique is to include on the integrated circuit a test generatorthat generates a known sequence of test bits that are written into the array. The test bits are then read from the array, and compared with the known pattern in asignature recognition circuit. However, the prior art techniques have not yielded 30 as complete a test as is desired, since the signatures used have typically not simulated worst-case conditions very closely.
21~
When the test circuitry is included on the same IC as the memory, the test circuitry should also be tested. However, this is typically very difficult using prior art test techniques. Finally, the custom logic designs of the prior art signature generation and 5 recognition are not very regular. Hence, they are difficult to partition when computer-aided design (CAD) techniqucs are used, especially the CAD techniques that group the circuitry into blocks.
Summarv of the Invention We have invented a test technique implemented in an integrated circuit that 10 includes a memory array. Test information is written into sequential memory word addresses so as to form a checkerboard pattern in physically adjacent memory locations. In the case of a static memory cell having two inverters that are cross-coupled, each inverter is considered to be a memory location. A memory address generator may be used to provide the proper test bits to each location. An expected data generator and comparator circuitry may be used to 15 compare the information read from a given memory location with the information written into that location. Alternately, signature analysis circuitry may be used for this purpose. Data compression circuitry may be included to reduce the number of test flags used to signal the results of each test.
In accordance with one aspect of the invention there is provided an integrated 20 circuit comprising an array of memory cells, and address decoding circuitry for accessing a word of information in said array for each word address supplied thereto, characterized in that said integrated circuit further comprises self-test circuitry comprising address counter means for providing sequential word addresses to said decoding circuitry, means for writing test information into each word so as to produce a checkerboard pattern of alternating logic 1 and 25 0 test voltage states into physically adjacent memory locations of said array, means for reading each word writing test inEormation into the word, and means for compressing the test information read from the words in said array.
Brief Description of the Drawine FIG. 1 shows a memory array and various circuits for testing according to the 30 present technique.
FIG. 2 is a typical layout of memory cells that shows the logical addresses and the physical locations.
FIG. 3 shows schematically static memory cells that each comprise two inverters.
f.`~'~
~s~
- 2a -FIG. 4 shows the physical voltage states ~or the cells of F~G. 3 in the layout of FIG. 2.
Detailed Description The following detailed description relates to an integrated circuit having a memory array and a self-testing capability for the memory. Other circuitry may be included on the IC, making the memory a so-called "application specific" memory, alternately referred to as an "embedded memory". If desired, the self-test capability of the present invention may be included with a discrete (i.e., stand-alone) memory chip. The present technique will be illustrated in terms of a static memory wherein a multiple bit word is accessed. The present :~2~
technique initially writes a checkerboard pattern (alternating "l's" and "O's") into physical memory locations in the memory array. In the case of a static memory having a cross-coupled cell, this means that the alternating pattern be written so that the voltage state of adjacent inverters define the alternating pattern. The test 5 sequence provides for reading the information from a given address location (which may comprises multiple bits), and comparing the information with the known test information for that location. The test is then performed on the nextmemory address, and so forth, until all of the memory address locations in the memory array have been tested. The tests may then be repeated in the reverse 10 direction (i.e., starting at the last memory address location) if desired. Note that the present sequential read-and-compare technique is in contrast to prior art techniques that read out an entire memory array (or large portion thereof) into circuitry that compares the information with the expected test values.
In the present technique, the detection of faults is provided by the 15 following test conditions: Condition 1: Each cell undergoes a 0 to 1 transition a 1 to 0 transition and is read after each of these transitions. Condition 2: For every pair of adjacent (in the physical layout) cells i and j, the test writes cell i with 1 and cell j with 0 cell i with 0 and cell j with 1 and reads after each ofthese writes. This writing sequence produces the so-called "checkerboard" pattern 20 referred to herein. Condition 3: Each memory cell is read twice, after writing logic 1 and 0. Condition 4: Some memory words are written and read with data having different logic values (i.e, 01 and 10 pair) on every pair of adjacent input data lines. This conditions tests the comparator that is described below.
Still other conditions may be imposed. For example, after writing 25 into a cell, a hold time delay may be included before reading the cell. This tests for open conductors that make static memories behave as dynamic memories, and for capacitor hold time in the case of dynamic memories.
Referring to FIG. 1, a typical random access memory layout is illustrated, wherein the memory array is divided into a number of segments. Each30 segment includes a multiplicity of adjacent columns. A single column is selected from each segment during a given read or write access operation. Therefore, the illustrative design provides for 4 bit access, with the present technique being useful with designs simultaneously accessing any number of multiple bits, or even only a single bit as noted below. The information accessed at a given memory 35 address is referred to as a "word" herein, so that a 4 bit word is illustrated herein.
il 25~
To select a given word, address input circuitry provides address bits (A3...A5) to a row decoder to select a unique one of the rows, and also address bits (Al...A2) to a column decoder, which selects a unique one of the columns from each segment.
The intersection of the selected row and columns deterrnines the position of the5 word in the physical layout. One possible data bit mapping scheme from the word address to the physical word location is illustrated in FIG. 2. The address(ADD) is indicated, with each address comprising four bits (Dl...D4). For example, address ADD 5 is physically located in row W2, columns 4, 8, 12 and 16. The following discussion will refer to the mapping of FIG. 2, with others 10 being possible.
The present invention provides that in the case of memory cells having cross-coupled inverters, the checkerboard test pattern that is initially written into the memory array is defined by the inverter locations, rather than by the cells alone. For example, referring to FIG. 3, two 6 transistor "full CMOS"
15 static memory cells are shown, with 4 transistor static cells (including two load resistors) being comparable for purposes of the present invention. The cells arelocated in adjacent colurnns (3 and 4) and along a common row (1). Each cell comprises two cross-coupled inverters, with transistors 302-303 and 304-305 forming inverters INV1 and INV2, respectively. The inverters are cross-coupled, 20 thereby producing bi-stable voltage states so that when node 307 is high, then node 308 is low, and vice-versa. Node 307 is accessed by the "true" bit line D1 through access transistor 301, whereas node 308 is accessed by the "complement"
bit line D1 (BAR) through access transistor 30~. Note that inverter INV2 is physically adjacent to inverter INV3 in the adjacent memory cell. Hence, in 25 wAting a checkerboard pattern into the array according to the present inventive technique, node 308 is placed in the opposite voltage state as node 309. This isaccomplished by either writing a "1" into both of the two adjacent cells shown, or by writing a "0" into both cells, considering that the stored memory state of a given cell is defined by the node accessed by the "true" bit line. Dynamic 30 memory cell arrays may also be tested by the present technique, including dynamic cells using cross-coupled transistors that produce nodes at opposite voltage states, which are known in the art.
If the pattern of "true" and "complement" bit lines continues as shown along an entire row, then an entire row of cells will be logically written with all 35 "l's" or alternately all "0's" to obtain the desired physical checkerboard pattern of voltage states along the row (horizontal axis as viewed in FIG. 3). However, in some memory designs, the "true" and "complement" bit lines are mirror images between adjacent cells, as taken along the axis of symmetry A-A shown.
Therefore, in such designs, the cells in a given row are written with altemating5 logical "l's" and "O's" to obtain the checkerboard voltage pattern in the physical inverter locations along the row. Still other arrangements of the bit lines are possible, with corresponding changes in the logical information written into thecells to obtain the physical checkerboard pattern. Note also that to obtain the checkerboard, the stored voltage states are also alternated in the vertical axis, as 10 viewed in F~G. 3. That is, the cells in row 2 (below row 1 as viewed) have the opposite voltage state as those in row 1. Hence, if all logic "l's" are stored in row 1, then all logic "O's" are stored in row 2, and so folth for the remaining rows. The stored voltage states for the arrangement of FIG. 2 and memory cells of FIG. 3 are shown in FIG. 4, wherein the state of each inverter is indicated. The 15 inverter that is accessed by the true bit line is referred to as the "master" (M), and the inverter accessed by the complement bit line as the "slave" (S), for each memory cell.
After initializing the array in the checkerboard pattern, the alray is written with the inverse pattern (the "inverse checkerboard"), wherein the l's and 20 O's are interchanged, in a subsequent pass ~hrough the array. This provides for tesdng the transition between the 0 and 1 states for each cell. A subsequent pass in the reverse direcdon then writes the initdal checkerboard pattern into the cell, to check for transitions that may be affected by neighboring cells on the opposite side as those that could affect the test in the forward direction.
A presently preferred sequence of read and write operations that achieves the above conditions is as follows, wherein a pair of operations (e.g.,write-read) implies that the operations are performed on a given word address before moving to the the next address. That is, the address counter increments by 1 digit in the forward direction, and decrements by 1 digit in the reverse direction.
30 IIence, each read or write accesses ~ bits in the illustrative case. As indicated, the tests are performed in several passes through the entire memory array, starting from either the first memory address (forward direction), or from the last memory address ~reverse direction). The "first" memory address is conventionally considered to be the 0...0 address, and the "last" memory address is conventionally 35 considered to be the 1...1 address, but these designations may be reversed insofar as the present invention is concerned. Note also that the initial checkerboard pattern may begin with either a 1 or a zero.
TABLE
SELF-TEST SEQUENCE
S OPERATION PATTERN ADDRESS DIRECTION
Write-ReadCheckerboard Forward Read-WriteInverse Checkerboard Forward Read-Read " Forward Read-WriteCheckerboard Reverse 10Read-Read " Reverse Still other operations may be added in either the forward or reverse direction as desired. One significant feature of this sequence is the "double read", wherein two read operations are performed sequentially (without an intervening write operation) on a given memory word. This double read provides a test to 15 determine whether the read operation itself affects the inforrnation stored in the word. Additional r~ads may be provided if desired (producing, e.g., a triple read).
A significant feature of operating on one memory address at a time is that the information read out of that location may be readily compared with the information written into that location. Furthermore, by performing the operations 20 on sequential memory locations, both the word address and the test information written into the word may be readily generated by an address counter. Referring again to FIG. 1, the address register serves as an address counter when in the seltest mode. A read/write register (Cl) and a control resister (C2...C4), under the control of a system clock determines whether a read or write test operation is 25 being performed. And address bits Al...A5 are incremented (or decremented) soas to produce the desired address sequence through the memory array during a test. Furthermore, control register bits C2, C3 and C4 are used to determine which of the five memory test operations in the above Table are being conducted.The Data In Generator produces the actual test data read into each word (4 bits 30 per word in the illustrative case), whereas the Expected Data Generator provides an identical test word for comparison in the comparator. The Expected Data Generator function may be combined with the Data In Generator. However, they are desirably separate to provide a self-check of the Data In Generator. The Comparator provides a comparison on each bit of the test word read out of the 35 memory array during a read operation. If the bits are identical with those from the Expected Data Generator, then a "pass" signal is sent from the comparator;
otherwise, a "fail" signal is sent. The output of the comparator is sent to a Data Compression circuit in the preferred embodiment, so that if any one of the test words fail in the entire array, then a "flag" is set to the "fail" state, and supplied to 5 an external terminal of the integrated circuit. In this manner, the self-test may be conducted even after the integrated circuit is packaged and operating in a system, if desired. An additional test may be provided by the test circuitry that allows full testing of the comparator and all data columns adjacent to each other. This testmoves a logic 0 through a field of logic l's in a data word that is both written and 10 read for each bit position of the zero in the word. This is followed by a comparable test that moves a logic 1 through a field of logic zeros in a data word.
As an alternative to the test comparator shown herein, signature analysis techniques may be used. In that case, each read of a word under test places the information in a test register, after performing a logical "OR" with the 15 previous contents of the register. Each bit of the test register is then compared to an expected value that may be stored in a read only memory (ROM), which may be either on the same chip as the test circuitry, or on an external chip. Thus, by combining several words before examining the test register, the test data is "compressed" in this case also, so that relatively fewer bits need to be examined 20 than the total read out of the word under test.
Claims (11)
1. An integrated circuit comprising an array of memory cells, and address decoding circuitry for accessing a word of information in said array foreach word address supplied thereto, CHARACTERIZED in that said integrated circuit further comprises self-test circuitry comprising address counter means for providing sequential word addresses to said decoding circuitry, means for writing test information into each word so as to produce a checkerboard pattern of alternating logic 1 and 0 test voltage states into physically adjacent memory locations of said array, means for reading each word after writing test information into the word, and means for compressing the test information read from the words in said array.
2. The integrated circuit of claim 1 further comprising means for writing an inverse checkerboard pattern of alternating 1's and 0's into physically adjacent memory locations of said array.
3. The integrated circuit of claim 1 further comprising means for reading the test information from a given word at least twice without an intervening write operation into the given word.
4. The integrated circuit of claim 1 wherein said address counter means provides for at least one forward test sequence of addresses beginning at the first memory word address and ending at the last memory address, and at least one reverse test sequence of addresses beginning at the last memory word addressand ending at the first memory word address.
5. The integrated circuit of claim 1 wherein said self-test circuitry provides for test operations in a given word address direction comprising the following: write-read, forward; read-write, forward; read-read, forward; read-write, reverse; and read-read, reverse.
6. The integrated circuit of claim 1 wherein said means for writing test information into the words is controlled by said address counter means.
7. The integrated circuit of claim 1 wherein each word comprises a multiplicity of memory cells.
8. The integrated circuit of claim 1 wherein each memory cell is a static memory cell comprising a pair of cross-coupled inverters.
9. The integrated circuit of claim 1 wherein each memory cell is a dynamic memory cell comprising a pair of cross-coupled transistors.
10. The integrated circuit of claim 1 comprising an expected data generator, and a comparator for comparing the test data read from each word withthe data generated by said expected data generator.
11. The integrated circuit of claim 1 comprising signature analysis circuitry for determining whether the test data read from each word is correct.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/914,411 US4872168A (en) | 1986-10-02 | 1986-10-02 | Integrated circuit with memory self-test |
US914,411 | 1986-10-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1299289C true CA1299289C (en) | 1992-04-21 |
Family
ID=25434325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000548276A Expired - Fee Related CA1299289C (en) | 1986-10-02 | 1987-09-30 | Integrated circuit with memory self-test |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR900008638B1 (en) |
CA (1) | CA1299289C (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002100738A (en) * | 2000-09-25 | 2002-04-05 | Toshiba Corp | Semiconductor ic and method of automatic inserting test facilitating circuit |
-
1987
- 1987-09-29 KR KR1019870010810A patent/KR900008638B1/en not_active IP Right Cessation
- 1987-09-30 CA CA000548276A patent/CA1299289C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR900008638B1 (en) | 1990-11-26 |
KR880005622A (en) | 1988-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0262867B1 (en) | Integrated circuit with memory self-test | |
US4757503A (en) | Self-testing dynamic ram | |
US4541090A (en) | Semiconductor memory device | |
US6065141A (en) | Self-diagnosable semiconductor memory device having a redundant circuit and semiconductor apparatus having the same in which the memory device cannot be accessed from outside the semiconductor apparatus | |
US6819611B2 (en) | Method and apparatus for data compression in memory devices | |
US4868823A (en) | High speed concurrent testing of dynamic read/write memory array | |
EP0389203A2 (en) | Semiconductor memory device having information indicative of presence of defective memory cells | |
US6119251A (en) | Self-test of a memory device | |
KR19990030193A (en) | Bank Interlock Concept for Multibank Memory Devices and Apparatus and Method for Performing Associated Test Modes | |
EP0234937A2 (en) | Tag buffer with testing capability | |
USRE34445E (en) | Self-testing dynamic RAM | |
KR19990045167A (en) | Fault analysis memory and storage method of semiconductor memory test device | |
EP0437217B1 (en) | Memory tester | |
US4654827A (en) | High speed testing of semiconductor memory devices | |
JPH09128998A (en) | Test circuit | |
US20080013389A1 (en) | Random access memory including test circuit | |
US4670878A (en) | Column shift circuitry for high speed testing of semiconductor memory devices | |
JPH11260096A (en) | Semiconductor integrated circuit device and fabrication thereof | |
US5267212A (en) | Random access memory with rapid test pattern writing | |
JP3237579B2 (en) | Memory test circuit | |
KR940011428B1 (en) | Test circuit of semiconductor memory device | |
CA1299289C (en) | Integrated circuit with memory self-test | |
US5740179A (en) | Method and apparatus for a design for test, parallel block write operation | |
KR910001534B1 (en) | Semiconductor memory device | |
US6452861B1 (en) | Semiconductor memory device allowing simultaneous inputting of N data signals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKLA | Lapsed |