24-07-2012, 11:23 AM
Content Addressable Memories
CAM.ppt (Size: 663 KB / Downloads: 140)
Classification and Search Engines
Classification engine receives streams of packets as its input.
It applies a set of application-specific sorting rules and policies continuously on the packets.
It ends up compiling a series of new parallel packet streams in queues of packets.ored.
For classification the NP should consult a memory bank, a lookup table or even a data base where the rules are stored.
Search engines are used for consultation of a lookup table or a database based on rules and policies for the correct classification.
Simplified CAM Block Diagram
The input to the system is the search word.
The search word is broadcast on the search lines.
Match line indicates if there were a match btw. the search and stored word.
Encoder specifies the match location.
If multiple matches, a priority encoder selects the first match.
Hit signal specifies if there is no match.
The length of the search word is long ranging from 36 to 144 bits.
Table size ranges: a few hundred to 32K.
Address space : 7 to 15 bits.
CAM Basics
The search-data word is loaded into the search-data register.
All match-lines are pre-charged to high (temporary match state).
Search line drivers broadcast the search word onto the differential search lines.
Each CAM core compares its stored bit against the bit on the corresponding search-lines.
Match words that have at least one missing bit, discharge to ground.
CAM Advantages
They associate the input (comparand) with their memory contents in one clock cycle.
They are configurable in multiple formats of width and depth of search data that allows searches to be conducted in parallel.
CAM can be cascaded to increase the size of lookup tables that they can store.
We can add new entries into their table to learn what they don’t know before.
They are one of the appropriate solutions for higher speeds.
CAM Disadvantages
They cost several hundred of dollars per CAM even in large quantities.
They occupy a relatively large footprint on a card.
They consume excessive power.
Generic system engineering problems:
Interface with network processor.
Simultaneous table update and looking up requests.