Error detection/correction and fault detection/recovery – Pulse or data error handling – Memory testing
Reexamination Certificate
1999-11-04
2003-04-01
Tu, Christine T. (Department: 2133)
Error detection/correction and fault detection/recovery
Pulse or data error handling
Memory testing
C714S703000, C711S108000
Reexamination Certificate
active
06543016
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to content-addressable memories (CAMs) and, in particular, to test algorithms for testing CAMs.
2. Description of the Related Art
Computer memory cells are in wide use today. Each memory cell stores a bit of data, i.e. a logic-0 or logic-1, sometimes referred to as low or high, respectively, corresponding to the low voltage state (typically V
SS
, e.g. ground=0V)) or the high voltage state (typically V
DD
, e.g. 3V). New data may be written into the cell, and stored data may be read from the cell. This is typically done by “enabling” the cell by providing a control signal to a control input terminal, which allows data in the cell to be read out on a second, data terminal (or data provided on the data terminal is written in the cell in a write operation).
An array of memory cells are typically provided in a memory array architecture. In a memory cell array, each row of memory cells is typically used to provide storage of larger, multi-bit units of data such as bytes or words. The memory array provides a number of rows or words to provide multiple word storage.
Memory arrays can be implemented in various forms, including Flash EEPROM, DRAM, ROM, and SRAM. Memory arrays are increasingly used in integrated circuits (ICs) in devices such as cellular telephones, answering machines, cordless phones, and other applications. Content-addressable memories (CAMs) are also used in various applications. Memory devices such as CAM, RAM, and other memory devices may be fabricated as part of an IC within a semiconductor chip. Chips are formed in the substrate of a physical wafer, e.g. a silicon wafer. Typically, several chips are formed on each wafer. A wafer is a very thin, flat disc of a given diameter. The manufacturing process consists of operations on the surface and substrate of the wafer to create a number of chips. Once the wafer is completely processed, it is cut up into the individual chips, the size of which depends on the number of components and complexity of each chip.
Each byte of memory typically is addressable by its address. Unlike RAM, however, which searches for data at a particular address. CAMS also allow bytes to be accessed by the content of the bytes themselves, not only by their address. A CAM can provide a standard memory operation, such as read/write data from/to the memory location specified by the address inputs. A CAM can also provide a search function, whereby any content stored in the CAM can by searched directly without using address input. The standard read/write operation of a CAM is typically similar to the read/write operation of an SRAM.
CAMs are used in several applications, such as look-up tables and artificial neural networks. A CAM may be used in an electronic spelling checker, for example, where a CAM-based dictionary is searched to locate a word with a specific spelling. If there is at least one word with the same spelling as the input word, the search will be successful. As the semiconductor industry's average cost per gate continues to drop, CAMs are finding ever-wider application. Today, large CAMs (greater than 1 Kb) are also being used for memory management, database management, and data flow computing architectures.
A typical CAM includes an array of core cells and comparators, so as to perform the dual functions of storage of a bit of data and comparison of the stored bit to applied reference data. Some CAMs contain a plurality of comparators (e.g., exclusive OR (XOR) gates) in addition to the core memory cells, each comparator being associated with a separate one of the memory cells in each row of the array. The comparators associated with the memory cells in each row have their outputs logically combined with each other, providing the CAM with the advantage of matching a match word to the word stored in each row of the array. In addition, some CAMs also offer a feature known as a “wild card” which allows masking of selected bits of the match word. Thus, CAMs are similar to conventional RAMs in that they contain a matrix array of memory cells which can be used to write/read data in random fashion; but they also provide the content-addressable matching features of CAMs.
In particular, a CAM is a memory array with ancillary circuitry to provide priority matching (with or without wild card capabilities) that can return the address of the first (lowest) addressed memory element that matches a given input (reference). In CAMs such as the Lucent Standard-Cell CAM in the Lucent Technologies™ Standard Cell Library (see
LV
250
C
2.5
Volt:
0.25
&mgr;m CMOS Standard
-
Cell Library
, Lucent Technologies 1998), a CAM may provide, for example, 1024 entries, each of which has up to 72 bits. In general, a CAM is assumed to have E entries each of which has N bits plus an additional “valid bit”. The entries are addressed with M address bits, with the addresses starting at 0 and running to a maximum of 2
M
−1 where, in matching, the numerically smaller (lower) addresses have higher priority. In addition to having priority matching, this core also allows for bit writing, wild card matching, and a valid bit associated with each entry. The valid bit is writable, and searches can be restricted to only valid entries, only invalid entries, or all entries. The valid bit may be used in this manner to avoid having to write or erase all of the cells, e.g. upon start-up, which might otherwise be required to ensure that random or meaningless data does not cause an erroneous search result.
In a CAM such as a Lucent Standard-Cell CAM, a match operation is used to realize the search function to find data. The match operation uses a Match Search input and generates a Match Address output and related Match Address output information such as a 3-state Match Address output, a Match output flag, and a Multiple Match output. In the match operation, the value of the Match Search input is compared to the data content of each entry in the CAM. If a match exists between the Match Search input and any of the memory content, the Match output flag will go high and the Match Address output will change to the lowest significant address location where a match occurred. If a match does not occur, the Match flag will go low. If more than one match exists, the Multiple Match flag will go low.
In a wild card operation, the user can ignore bits of the data in the match operation. For example, if the nth bit of the wildcard (WC) is high, the nth bit of the entries will not be compared to the corresponding bit of the match search input; the rest of the N−1 bits will be used for the comparison.
Memory tests of semiconductor memory devices such as RAM ICs (e.g., DRAMs and SRAMs) are typically performed by the manufacturer during production and fabrication to ensure correct functioning. Such devices are also sometimes tested by downstream manufacturers of computer systems embodying the RAMs, as well as by an end user during computer initialization, to determine if the circuits are operating as intended. The testing is typically performed by a memory controller or processor (or a designated processor in a multi-processor machine) which runs a testing program or algorithm.
RAMs are usually subjected to data march tests and data retention tests. In a march or marching test, a sequence of read and/or write operations is applied to each cell of the memory array or matrix, either in increasing or decreasing address order; i.e., patterns are marched across the memory array. A march test is analogous to a walking bit test, but done on a word basis, and is able to detect various types of faults. Various types of march tests detect different types of faults in varying amounts of time. In the March LR test, for example, the following types of faults may be detected: stuck open faults; stuck at faults; transition faults; coupling faults, including CFins (inversion coupling), CFids (Idempotent coupling), CFsts (state coupling), and CFdsts (coupled disturb); linked faults (linked faults appear as more t
Higgins Frank P.
Lewandowski James L.
Agere Systems Inc.
Duane Morris LLP
Tu Christine T.
LandOfFree
Testing content-addressable memories does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Testing content-addressable memories, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Testing content-addressable memories will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3022903