Static information storage and retrieval – Associative memories – Ferroelectric cell
Reexamination Certificate
2000-12-06
2002-04-16
Nguyen, Tan T. (Department: 2811)
Static information storage and retrieval
Associative memories
Ferroelectric cell
C365S168000, C711S108000
Reexamination Certificate
active
06373739
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to content addressable memory (CAM) arrays. More specifically, the present invention relates to quad (i.e., four-state) CAM cells and methods for operating these cells in a CAM array.
DISCUSSION OF RELATED ART
Unlike conventional random access memory (RAM) arrays, CAM arrays include memory cells that are addressed in response to their content, rather than by a physical address within a RAM array. That is, data words stored in a RAM array are accessed by applying address signals to the RAM array input terminals. In response to each unique set of address signals, a RAM array outputs a data value that is read from a portion of the RAM array designated by the address. In contrast, a CAM array receives a data value that is compared with all of the data values stored in rows of the CAM array. In response to each unique data value applied to the CAM array input terminals, the rows of CAM cells within the CAM array assert or de-assert associated match signals indicating whether or not one or more data values stored in the CAM cell rows match the applied data value.
CAM arrays are useful in many applications, such as search engines. For example, assume an employee list is searched to identify all employees with the first name “John”. The first names are written into a CAM array such that they are stored in a predetermined order (e.g., according to employee number). The compare data value (“John”) is then applied to the CAM input terminals. When one or more stored data values match the compare data value (a match condition), the match line coupled to the one or more matching rows of CAM cells generates a match value (e.g., a logic high value) output signal. The rows having CAM cells having stored data values that do not match the compare data value (a no-match condition) generate a no-match value (e.g., a logic low value) output signal on the associated match lines. By identifying which rows have associated high match lines, and comparing those row numbers with the employee number list, all employees named “John” are identified. Note that some CAM arrays generate a logic low value as a match value output signal. In contrast, to search a RAM array containing the same employee list, a series of addresses must be applied to the RAM array so that each stored data value is read out and compared with the “John” data value. Because each RAM read operation takes one clock cycle, a relatively large amount of time is required to read and compare a particular data value with all data values stored in a RAM array.
Two commonly-used CAM cells are binary CAM cells and ternary CAM cells, whose names are derived from the number of data values that they store.
Binary CAM cells stores one of two logic values: a logic high value or a logic low value. When an applied data value (e.g., logic high) is equal to the logic value stored by a binary CAM cell, then a match signal is transmitted on a match line connected to the binary CAM cell (e.g., the match line is maintained in a high voltage state). When all applied data values of an applied search term (e.g., “John”) are applied to a row of binary CAM cells collectively storing the term, then the match line connected to that row of binary CAM cells indicated the match. Conversely, when an applied data value is not equal to the logic value stored in a binary CAM cell, then a no-match signal is transmitted on the match line (e.g., the binary CAM cell discharges the match line to ground). This no-match signal is applied to the match line even if other stored data values match the applied data values (e.g., the applied search term “John” is compared to the stored term “Joan”).
A limitation associated with binary CAM cells arises when an “open-ended” search is desired. An “open-ended” search includes one or more specific data values that must be matched by the stored data values, and one or more non-specific data values, which are referred to herein as “don't care” data values, that need not be matched by the stored data value. For example, instead of searching only for employees named “John”, it may be desirable to search for any variation on “John”, such as “Jon”, “Johann”, “Johnny”, etc. In this example, an open-ended search might search for the first two letters “Jo”, and ignore any subsequent letters in the data word (i.e., the don't care values). Such an open-ended search is possible using binary CAM cells, but requires pre-processing of the stored data values and/or the applied data values such that, for example, all logic high values or all logic low values are stored/compared in the “don't care” letter locations.
Ternary CAM cells address the limitations of binary CAM cells by allowing a user to store one of three logic values: a logic high value, a logic low value, and a don't care logic value. The don't care logic value maintains the match signal whether the applied data value is a logic high value or a logic low value, thereby avoiding the need for pre-processing of the applied data value. For example, the name “John” may be stored as “J-o-DC-DC . . . DC”, where “DC” represents a don't care logic value. Similarly, the name “Johnny” may be stored as “J-o-DC-DC . . . DC”. Accordingly, in the above-mentioned open-ended search for all variations of the name “John” (i.e., “Jo”), match signals are generated by both the row containing “John” (wherein the letters “hn” are replaced with don't care logic values) and “Johnny” (wherein the letters “hnny” are replaced with don't care logic values).
A problem with ternary CAM cells is that the logic high and logic low values associated with a data bit are lost when the data bit is stored as a don't care logic value in a ternary CAM cell. That is, using the example provided above, assume that several employee names are stored in a CAM array made up of ternary CAM cells such that don't care logic values are used in place of all letters after the second letter of each name. Assume also that both the name “John” and the name “Joan” are stored in the CAM array as “J-o-DC-DC”. Under these conditions, both the names “John” and “Joan” would generate a match signal using the open-ended search for “Jo”. When this occurs, it is not possible to read out the names from the CAM array to determine which matching row contains “John” and which matching row contains “Joan”.
Accordingly, what is needed is a four-state (herein referred to a “quad”) CAM cell that stores a logic low value, a logic high value, a logic low don't care value, and a logic high don't care value, thereby allowing the original data value (either logic high or logic low) to be stored in the CAM array. Such a quad CAM cell would facilitate storing, for example, both the name “John” and the name “Joan” as “J-o-DC-DC” for comparison purposes, but also would retain the original data values “hn” and “an”, respectively, for post-comparison analysis. In addition, what is needed is a quad CAM cell that requires a minimum cell size, thereby minimizing the overall size of a CAM device incorporating an array of the quad CAM cells.
SUMMARY
The present invention is directed to four-state (quad) CAM cells having a minimal cell size. The quad CAM cells of the present invention store one of four logic values: a logic high value, a logic low value, a logic high don't care value, and a logic low don't care value. Accordingly, the quad CAM cell of the present invention beneficially stores a data bit (e.g., a logic high value or a logic low value) of an original data word while allowing the data value to be designated as don't care for comparison operations. As a result, as distinguished from ternary CAM cells, the data value can be read from the quad CAM cell after the comparison operation.
In accordance with an aspect of the present invention, the quad CAM cells are produced using a minimum number of transistors, thereby minimizing the cell size so that a CAM array incorporating the quad CAM cells requires a minimal amount of chip area.
Each quad CAM cel
Lien Chuen-Der
Wu Chau-Chin
Bever Hoffman & Harms LLP
Integrated Device Technology Inc.
Nguyen Tan T.
LandOfFree
Quad CAM cell with minimum cell size does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Quad CAM cell with minimum cell size, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Quad CAM cell with minimum cell size will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2925097