Content addressable memories (CAMs) are widely used in applications, for example, where extremely fast search on a database is required, such as in networking, imaging, voice recognition, etc. For example, in network engines, CAMs are used to perform a fast search in the database, corresponding to the header field of any packet, and forward the packet to the corresponding matched address.
Since a very fast search may be required, search performance may be a critical performance parameter for CAMs. Also, the basic mechanism of search may be very power intensive, owing to a parallel nature of operation. Hence, it can be extremely important for a TCAM (Ternary CAM) design to have the best possible search performance along with having the least dynamic power expenditure for the search.