An associative memory, or content-addressable memory (CAM), allows data to be stored and retrieved based on its content rather than its location. It consists of a memory array where each word is compared in parallel to search terms. Words that match set their corresponding bit in a match register. This allows the location of matching words to be identified very quickly. Associative memory is more expensive than random access memory but is useful when search time is critical. It is accessed simultaneously based on data content rather than a specific address.