[Glean] Content-addressable memory

Published: by Creative Commons Licence (Last updated: )

Content-addressable memory1

Content-addressable memory (CAM) is a special type of computer memory used in certain very-high-speed searching applications. It is also known as associative memory or associative storage and compares input search data (tag) against a table of stored data, and returns the address of matching data (or in the case of associative memory, the matching data).

CAM is frequently used in networking devices where it speeds forwarding information base and routing table operations.

CAM can be seen as the hardware implementation of associative array.

To achieve a different balance between speed, memory size and cost, some implementations emulate the function of CAM by using standard tree search or hashing designs in hardware, using hardware tricks like replication or pipelining to speed up effective performance. These designs are often used in routers.

  1. Content-addressable memory. https://en.wikipedia.org/wiki/Content-addressable_memory