Testing CMOS ternary CAM with redundancy
A method for testing an CMOS ternary content addressable memory (TCAM) device includes a match line test to identify stuck match lines, a pull down test to identify weak pull downs (from the match line to ground), and a row-by-row match test. During the row-by-row match test a failed cell can be repaired or the row associated with the failed cell can be disabled. A failed cell or its associated row can also be repair or disabled, respectively, after the test. Additionally, individual CAM cells which are identified as being defective can be further tested to identify which component of the CAM cell failed.
The present invention relates generally to semiconductor memory devices and, more particularly to a method for testing CMOS Ternary Content Addressable Memory (TCAM) devices. The present invention may also be used to test binary content addressable memory (CAM) devices.
BACKGROUND OF THE INVENTIONAn essential semiconductor device is semiconductor memory, such as a random access memory (RAM) device. A RAM allows a memory circuit to execute both read and write operations on its memory cells. Typical examples of RAM devices include dynamic random access memory (DRAM) and static random access memory (SRAM).
Another form of memory is the content addressable memory (CAM) device. A CAM is a memory device that accelerates any application requiring fast searches of a database, list, or pattern, such as in database machines, image or voice recognition, or computer and communication networks. CAMs provide benefits over other memory search algorithms by simultaneously comparing the desired information (i.e., data in the comparand register) against the entire list of pre-stored entries. As a result of their unique searching algorithm, CAM devices are frequently employed in network equipment, particularly routers and switches, computer systems and other devices that require rapid content searching.
In order to perform a memory search in the above-identified manner, CAMs are organized differently than other memory devices (e.g., DRAM). For example, data is stored in a RAM in a particular location, called an address. During a memory access, the user supplies an address and writes into or reads the data at the specified address.
In a CAM, however, data is stored in locations in a somewhat random fashion. The locations can be selected by an address bus, or the data can be written into the first empty memory location. These data written into the memory location are called as “rules”. Every memory location includes one or more status bits which maintain state information regarding the memory location. For example, each memory location may include a valid bit whose state indicate whether the memory location stores valid information, or whether the memory location does not contain valid information (and is therefore available for writing).
In a ternary CAM every bit of data has a Data and Mask bit. Data for a bit is the data that has to be compared for that bit, this data is however qualified by a mask bit which is used as a control bit for each of the data bit to enable or disable it from comparison. When the bit is masked it is called don't care bit. Following table shows a one possible data and mask scheme
Once information is stored in a memory location, it is found by comparing every bit in a memory location with corresponding bits in a comparand register. When the content stored in the CAM memory location does not match the data in the comparand register, a local match detection circuit returns a no match indication. When the content stored in the CAM memory location matches the data in the comparand register, the local match detection circuit returns a match indication. If one or more local match detect circuits return a match indication, the CAM device returns a “match” indication. Otherwise, the CAM device returns a “no-match” indication. In addition, the CAM may return the identification of the address location in which desired data is stored or identification of one of such addresses if more than one address contained matching data. Thus, with a CAM, the user supplies the data and gets back an address if there is a match found in memory. In a ternary CAM when data with mask are stored at various locations and searches are done with a data then for a given data, there is a possibility of multiple rules getting matched for a given key. In a Ternary CAM the process of resolving multiple matches to generate a single match output is called priority resolution. There are many schemes of priority resolution two of the ones are highest order priority or lowest order priority. Highest Priority resolution is where the largest address matched is given out and the lowest order priority is where the smallest address match is given out.
A match section 120 of the CAM cell 100 is comprised of transistors M1, M1#, M2, M2# and M3, which controllably couple the match line ML to ground in certain situations. In the CAM cell 100, a “no-match” condition is detected if the match line ML is pulled to ground during the match operation, while a “match” condition is detected if the match line ML remains at a precharge potential. Typically, the detection of the state of the match line ML is performed by a sense amplifier (not illustrated).
Transistor M3 has one source/drain terminal coupled to the mach line ML and another source/drain terminal coupled to a four-transistor circuit formed by transistors M1, M1#, M2, and M2#. The gate of transistor M3 is coupled to a register M, which stores a mask value. The register M and transistor M3 are present when CAM cell 100 is a ternary CAM (TCAM) cell. TCAM cells permit the search expression to include “don't care” bits, while binary CAMs enforce a match/no-match evaluation of every bit. If CAM cell 100 were a binary CAM, transistor M3 and register M would not be present and the source/drain terminals of transistor M2 and M2# illustrated as being coupled to a source/drain terminal of transistor M3 would instead be coupled directly to the match line ML.
Transistors M1, M1#, M2, and M2# form a comparison circuit. The gates of transistors M2, M2# are respectively coupled to search data lines SD and SD#. The search data is placed on the line SD while the complement of the search data is placed on the line SD#. Similarly, the logical value stored at node D is coupled to the gate of transistor Ml while the complement of that logical value stored at node D# is coupled to the gate of transistor M1#. In this manner, the comparison structure will pull the match line ML voltage from its precharged level to ground if and only if the search data on line SD matches the data stored at node D and the complement of the search data on line SD# matches the complement of the data stored at node D, assuming that transistor M3 is conducting. If transistor M3 is not conducting, the match line ML potential will remain at its pre-charged level to force a “match” condition.
When a memory device is manufactured, it must be tested. Although testing is time consuming and costly, testing is required to identify errors in the device. If errors are not identified, the use of the memory device can corrupt data. In addition to error detection, an ideal test should also be able to inform the tester as to which portion of a CAM cell is defective. If many defects are isolated to a same problem area, the data can form the basis of improving the device fabrication process. Accordingly, there is a need for a method to efficiently test CAM cells in a CAM device and to identify which component of a defective CAM cell failed.
SUMMARY OF THE INVENTIONThe invention is directed to a method for testing a CMOS ternary content addressable memory (TCAM) device that has redundant CAM rows and columns. The method includes a match line test to identify stuck match lines, followed by a walking “1” pattern across the columns to identify weak pull downs (from the match line to ground), and is followed by a row-by-row match test. If stuck matched lines are identified then those lines are masked preventing them from participating in priority encoding and the defective row is replaced by a redundant CAM row, in case redundant resources are available. During the row-by-row match test, a failed CAM cell can be repaired or the row associated with the failed CAM cell can be disabled. Additionally, individual CAM cells that are identified as being defective can be further tested to identify which component of the CAM cell failed.
BRIEF DESCRIPTION OF THE DRAWINGSThe foregoing and other advantages and features of the invention will become more apparent from the detailed description of exemplary embodiments of the invention given below with reference to the accompanying drawings, in which:
Now referring to the drawings, where like reference numerals designate like elements, there is shown in
In the following discussion we use the term 1-pattern and 0-pattern and these patterns are described as follows. The patterns can be of various forms depending upon the physical organization of the CAM cells and the coupling faults that are being exercised. The simplest 1-pattern will be of the form (111111 . . . ) when there is no consideration of the coupling faults or for physical organization. When the logical to physical organization is the same then a pattern applied is a checkered board pattern where the alternate bits are compliment of each other, the pattern is of the form (01010101 . . . ). When there is column muxing the logical checkered board is so arranged so that we have physically a pattern where the a bit is physically surrounded by its compliment. A 0-pattern is the bit wise compliment of a 1-pattern.
The weak pull down test S32 begins at step S51, which, in cooperation with steps S55 and S56 sets up a for-loop iterating through steps S52-54, as described below. The index i is set to one during the first iteration and the loop terminates when i is incremented such that it exceeds the width of a word in the CAM device 210. At step S52, a search is performed using a search pattern. The search pattern is constructed so that each bit in the search pattern compliment of the corresponding 1-pattern, except for bit-i, which is set to equal as corresponding pattern i. This pattern will be referred to as Walking-0 pattern. At step S53, the search results are examined to determine whether there is a match. If a match was detected, the method S32 has detected an error and the error is managed in step S54.
An error may be managed by repairing the matched i-th address bit if the CAM device 210 has sufficient redundant resources to affect a repair. Alternatively, the defective row may be disabled. Additionally, a record of the failure may be maintained by the tester 250. After the error has been managed in step S54, execution resumes at S52. The index i has not been incremented so that any steps taken in step S54 to manage the error is now tested to ensure that the error has been properly processed.
If no match was detected in step S53, the index i is incremented by one in step S55. If at S56 the index i is not greater than the width of the CAM words, then an iteration is completed and the process loops to step S52. If at S56 the index i is greater than the width of the CAM words, then the loop has completed all its iterations and execution continues at step S57.
At step S57, the CAM is written so that each CAM cell stores 0-pattern. The mask, value, previously set to one in step S42 if the device 210 is a ternary CAM, is left unchanged. As before, if the device 210 is a binary CAM, there will be no mask.
Steps S58, S62, and S63 form a for-loop much like steps S51, S55, and S56, as previously described. Execution begins with a first iteration at step S59, where a search is executed with a search expression set to have each bit compliment of 0-pattern except for bit-i, which is equal to the bit i. This pattern will be referred to as a Walking-1 pattern. In step S60, if a match is found there is an error and the error is managed by executing step S61. Step S61 is identical to step S54 (previously described). If no match is detected at 560, the for-loop continues with steps S62 and S63, which operate similarly to steps S55-S56. The end of execution of the for-loop comprising steps S58, S62, and S63 ends the weak pull down test S32.
Steps S606-S611 are similar to steps S600-S605. Step S606, in combination with steps S610 and S611 form a for-loop iterating loop index j from one to height. In step S607, a search is performed using a 1-pattern search pattern which has all one values. In step S608, an inquiry is made as to whether there is a match at row j. If not, execution continues at step S629. However, if there is a match, execution continues at step S609. Step S609 writes a 0-pattern into all portions of row j. At step S610, the loop index j is incremented. At step S611, the value of index j is checked against the height parameter. If index j has not yet exceeded the height parameter, execution resumes at step S607. Otherwise, the test S33 has completed.
When execution jumps to step S620 from step S602 (
If at step S623 there was no match at row j, the test S33 located the k-th bit in row j which is erroneous. At step S624 the test S33 decides whether to repair (e.g., remap) row-j, column-k, in the CAM device 210. If a repair is performed, execution continues at step S625, which writes a pattern of all zeros to row j. Execution then transfers to step S601. If row j is disabled, execution resumes at step S604 (
When execution jumps to step S629 from step S608 (
If at step S632, there is no match at row j, the test S33 has located the k-th bit in row j which is erroneous. At step S633, it is decided whether to repair bit k in row j or to disable row j. If it is decided to disable row j, execution resumes at step 610. If at S633 it is decided to repair bit k, the test S33 writes all ones to row j. Execution then transfers to step 607.
The above described processing can be used to test each cell 100 of the CAM device 210. During the error handling process, and more specifically, after an error has been detected but before the bit having the error is repaired, or the row having the error is remapped, a more detailed analysis of why the cell 100 has failed can be made using Table 1. Referring also to
For example, referring to the first row under “Fault” (in Table 1), the test of the match line ML is performed by setting the mask M to zero and reading the associated match line. If the match line is zero, there is a fault with the match line ML. If the match line is set to one, then the match line ML is good (i.e., no error). Now referring to the fourth row (under column “Fault”), the test for “M1 open,” if the indicated data, mask, and search data signals were asserted as listed in Table 1, and if the match line ML value is zero, Table 1 indicates that transistor M1 does not have an open fault. However, if the match line value was instead a one, Table 1 indicates that the transistor M1 has an open fault.
By using the conditions listed in Table 1, each faulty memory cell can be tested to identify some of the potential causes for failure. This data may help production engineers to fine tune the production process to avoid the identified errors.
Thus, the present invention describes a methodology for testing CAM memory cells in a CAM device. A match line test is first performed to identify and manage stuck match line. Then a weak pull-down test is performed to identify and manage faulty pull-down lines. Once the match lines and pull down lines are assumed to be functional, a row-by-row test is conducted. When a cell is identified as having failed, Table 1, above provides a mapping of signal states whereby reading the match line associated with the CAM cell can be used to identify the type of error.
While the invention has been described in detail in connection with the exemplary embodiment, it should be understood that the invention is not limited to the above disclosed embodiment. Rather, the invention can be modified to incorporate any number of variations, alternations, substitutions, or equivalent arrangements not heretofore described, but which are commensurate with the spirit and scope of the invention. Accordingly, the invention is not limited by the foregoing description or drawings, but is only limited by the scope of the appended claims.
Claims
1-44. (canceled)
45. A method for testing a plurality of content addressable memory (CAM) cells in a CAM device, comprising the steps of:
- (a) testing said CAM device to identify stuck match lines by conducting a checkered board pattern search test and repairing or disabling row addresses for the CAM device which corresponds to rows having stuck match lines;
- (b) testing said CAM device to identify defective pull down lines using a checkered board pattern and repairing or disabling cells at bit positions identified as having defective pull down lines;
- (c) testing each CAM cell in said CAM device to locate a faulty CAM cell; and
- (d) for each located faulty CAM cell identified in step (c), diagnosing a cause of fault for said faulty CAM cell by applying at least one signal to said faulty CAM cell and reading a state of the match line associated with said faulty cell.
46. The method of claim 45, wherein step (c) is performed after both steps (a) and (b).
47. The method of claim 45, wherein said step of applying at least one signal comprises: setting a mask value of said faulty CAM cell to a logical zero; and identifying a faulty match line if said match line is set to logical zero.
48. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a search data line of said faulty CAM cell to a logical one; setting a complement search data line of said faulty CAM cell to a logical zero; and identifying a faulty match line if said match line is set to logical zero.
49. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complement search data line of said faulty CAM cell to a logical one; and identifying a faulty match line if said match line is set to logical zero.
50. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complement search data line of said faulty CAM cell to a logical one; and identifying a faulty match line if said match line is set to logical one.
51. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying a faulty search data line if said match line is set to logical one.
52. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying a faulty search data line if said match line is set to logical zero.
53. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying a faulty complement search data line if said match line is set to a logical one.
54. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying a faulty complement search data line if said match line is set to logical zero.
55. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying an stuck open fault with a transistor having a gate coupled to a data storage node of said CAM cell, if said match line is set to logical one.
56. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying an short circuit fault with a transistor having a gate coupled to a data storage node of said CAM cell, if said match line is set to logical zero.
57. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying an stuck open fault with a transistor having a gate coupled to a complement of a data storage node if said match line is set to a logical one.
58. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to is set to a logical one; and identifying a short circuit fault with a transistor having a gate coupled to a complement of a data storage node, if said match line is set to logical zero.
59. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying a stuck open fault with a transistor having a gate coupled to a search data line, if said match line is set to logical one.
60. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying a short circuit fault with a transistor having a gate coupled to a search data line, if said match line is set to logical one.
61. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying a stuck open fault with a transistor having a gate coupled to a complementary search data line, if said match line is set to one.
62. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying a short circuit fault with a transistor having a gate coupled to a complementary search data line, if said match line is set to logical zero.
63. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; and setting a complementary search data line of said faulty CAM cell to a logical zero; identifying a stuck open fault with a transistor having a gate coupled to a mask register, if said match line is set to logical one.
64. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying a stuck open fault with a transistor having a gate coupled to a mask register, if said match line is set to logical one.
65. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a mask value of said faulty CAM cell to a logical zero; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying a short circuit fault with a transistor having a gate coupled to a mask register, if said match line is set to logical zero.
66. The method of claim 45, wherein said step of applying at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical zero; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying a short circuit fault with a transistor having a gate coupled to a mask register, if said match line is set to logical zero.
67. A system for testing a CAM device comprising: an interface for sending and receiving signals from the CAM device; and a processor, coupled to said interface, for controlling signals that are sent to the CAM device and for reading signals received from the CAM device, wherein said processor operates said interface to test said CAM device for stuck match lines by conducting a checkered board search test, repairing or disabling row addresses for the CAM device which correspond to rows having stuck match lines; to test said CAM device for defective pull down lines using a checkered board match pattern, repairing or disabling cells at bit positions identified as having defective pull down lines; and to test each CAM cell to locate faulty CAM cells; and wherein for each faulty CAM cell said processor operates said interface to diagnose a cause of fault for each faulty CAM cell by applying at least one signal and reading a state of a match line associated with the faulty CAM cell.
68. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a mask value of said faulty CAM cell to a logical zero; and identifying a faulty match line if said match line is set to logical zero.
69. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a search data line of said faulty CAM cell to a logical one; setting a complement search data line of said faulty CAM cell to a logical zero; and identifying a faulty match line if said match line is set to logical zero.
70. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complement search data line of said faulty CAM cell to a logical one; and identifying a faulty match line if said match line is set to a logical zero.
71. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complement search data line of said faulty CAM cell to a logical one; and identifying a faulty match line if said match line is set to logical one.
72. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying a faulty search data line if said match line is set to logical one.
73. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying a faulty search data line if said match line is set to logical zero.
74. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying a faulty complement search data line if said match line is set to a logical one.
75. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying a faulty complement search data line if said match line is set to logical zero.
76. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying an stuck open fault with a transistor having a gate coupled to a data storage node of said CAM cell, if said match line is set to logical one.
77. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying an short circuit fault with a transistor having a gate coupled to a data storage node of said CAM cell, if said match line is set to logical zero.
78. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying an stuck open fault with a transistor having a gate coupled to a complement of a data storage node if said match line is set to a logical one.
79. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to is set to a logical one; and identifying a short circuit fault with a transistor having a gate coupled to a complement of a data storage node, if said match line is set to logical zero.
80. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying a stuck open fault with a transistor having a gate coupled to a search data line, if said match line is set to logical one.
81. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying a short circuit fault with a transistor having a gate coupled to a search data line, if said match line is set to logical one.
82. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying a stuck open fault with a transistor having a gate coupled to a complementary search data line, if said match line is set to one.
83. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying a short circuit fault with a transistor having a gate coupled to a complementary search data line, if said match line is set to logical zero.
84. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying a stuck open fault with a transistor having a gate coupled to a mask register, if said match line is set to logical one.
85. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical one; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying a stuck open fault with a transistor having a gate coupled to a mask register, if said match line is set to logical one.
86. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical one; setting a mask value of said faulty CAM cell to a logical zero; setting a search data line of said faulty CAM cell to a logical one; setting a complementary search data line of said faulty CAM cell to a logical zero; and identifying a short circuit fault with a transistor having a gate coupled to a mask register, if said match line is set to logical zero.
87. The system of claim 67, wherein said processor applies said at least one signal comprises: setting a storage location of said faulty CAM cell to a logical zero; setting a mask value of said faulty CAM cell to a logical zero; setting a search data line of said faulty CAM cell to a logical zero; setting a complementary search data line of said faulty CAM cell to a logical one; and identifying a short circuit fault with a transistor having a gate coupled to a mask register, if said match line is set to logical zero.
88. A system for testing a CAM device comprising: means for testing for stuck match line within the device by conducting a checkered board search test and repairing or disabling row addresses for the CAM device which corresponds to rows having stuck match lines; means for testing for defective pull down lines within the device using a checkered board pattern and repairing or disabling cells at bit positions identified as having defective pull down lines; means for identifying faulty CAM cells within the device; and means for diagnosing faulty CAM cells identified by said identifying means.
Type: Application
Filed: Apr 6, 2007
Publication Date: Oct 25, 2007
Inventor: Prasad Mantri (San Jose, CA)
Application Number: 11/783,273
International Classification: G11C 29/04 (20060101);