Content-addressable memory (CAM) is computer memory that operates like a hardware search engine for search-intensive applications.
CAM is capable of searching its entire contents in a single clock cycle. It does that by pairing the SRAM-based memory with additional logic comparison circuitry that that is active on every clock cycle.
The way CAM functions is almost the opposite of random access memory (RAM). To retrieve data residing on RAM, the OS provides the memory address where the data is stored. Data stored on CAM, on the other hand, can be accessed by searching for the content itself, and the memory retrieves the addresses where that content can be found. Because of its parallel nature, CAM is much faster than RAM for searching.
Because of their low capacities, high power usage and consequent heat dissipation requirements, CAM and TCAM remain isolated to specialized applications such as Internet routers and switches, where they increase the speed of route look-up, packet classification, packet forwarding and access control list-based commands.