When a forwarding device receives a packed on its ingress port, based on the layer at which the device is working, the device looks for the corresponding address in the CAM and identifies the next hop the packet needs to take to eventually reach its destination.
The two major functions of a CAM include storage of information and look up logic to find the data being searched for. Looking at these tasks a software geek may say that he would store the data in a regular memory and then have software sitting around it to do the look-up instead of using a special hardware. This is where we try to define the two ways of building a CAM:
1. Build a software wrapper around the memory (SRAM/DRAM) to perform the look-up functions for the searched data.
2. Build a hardware that stores data as well as performs the look-up.
Both the approaches have their pros and cons. In the second approach the entire functionality is carried out in the hardware. This, as observed practically, dramatically improves the throughput, which is of utmost importance when we talk about the line speeds which are approaching 10Gbps.
Building a Content Address Memory (CAM)
When a forwarding device receives a packed on its ingress port, based on the layer at which the device is working, the device looks for the corresponding address in the CAM and identifies the next hop the packet needs to take to eventually reach its destination.
The two major functions of a CAM include storage of information and look up logic to find the data being searched for. Looking at these tasks a software geek may say that he would store the data in a regular memory and then have software sitting around it to do the look-up instead of using a special hardware. This is where we try to define the two ways of building a CAM:
1. Build a software wrapper around the memory (SRAM/DRAM) to perform the look-up functions for the searched data.
2. Build a hardware that stores data as well as performs the look-up.
Both the approaches have their pros and cons. In the second approach the entire functionality is carried out in the hardware. This, as observed practically, dramatically improves the throughput, which is of utmost importance when we talk about the line speeds which are approaching 10Gbps.