To: Ahda who wrote (1218 ) 2/29/2000 9:26:00 PM From: ahhaha Read Replies (1) | Respond to of 1782
From Mosaid's white paper on their site:What is a CAM? A Content Addressable Memory is a device designed to accelerate any application that requires extremely fast searches of list based data. To best understand what a CAM does, it helps to contrast it to conventional random access memory(RAM). Data is stored in memory in specific locations called addresses. When there is a need to retrieve the data, an address is supplied to the memory, which in turn returns the data. In a CAM, the opposite occurs. Data is supplied to the memory via a special comparand register and the memory returns an address if a corresponding match is found. This enables extremely quick searches. The entire CAM is searched in a single clock cycle and if a match is found, the address returned is used to retrieve data associated with the search string. The associated data is typically stored in a separate, discrete memory in a location specified by the result of the CAM search. I should add that you don't get something for nothing. The addition of a CAM increases board cost and introduces another layer of complexity which must be integrated into existing chip sets. If demand for them in the router market is great enough, then this slight negative is inconsequential. What drives demand? Complex traffic type streams:Policy and Flow-based Applications The various ways in which the Internet is being used, combined with the ever increasing need for bandwidth has created the requirement to assign levels of priorities to different applications. Intending to address this requirement, RSVP and differentiated Services have been developed to allow network providers to give preferential treatment to certain types of traffic. Differentiated Services further implies that traffic types can be distributed into separate classes that can then be given specific priority as they travel through the network. QoS depends fundamentally on the ability to identify, classify and mark network traffic. Without these basic building blocks, attempts to provide this kind of service will likely not provide the desired behaviour in the network. CAMs and Network Processors For some time, centralized software solutions for classification and forwarding lookups have limited router performance. In current architectures, the lack of suitable CAMs has driven the development of multi-probe hash lookup schemes and complex tree-walking architectures to achieve the necessary lookup performance. These solutions did not have enough flexibility to address the current needs for QoS features supported by Flow and Policy based routing. Today, there is a lot of interest in the concept of dedicated processors, called Network Processors (NP), to manage packet classification, admission control and forwarding decisions in a de-centralized fashion. The Network Processor would use a simplified instruction set and very high speed operation to parse the packet and accelerate table lookup schemes in dedicated memory on a per port, or small aggregate of ports, basis. The NP provides flexibility, but can be somewhat non-deterministic and requires distributing software and databases throughout the system. This can increase system cost. Ternary CAMs also provide flexibility, allowing the OEM to implement packet classification, QoS determination, and make the forwarding decision in a series of pipelined lookups. This can be accomplished at a lower overall cost, even on a per-port basis. More importantly, the performance of MOSAID?s CAMs support much higher throughput allowing more ports to be aggregated together and providing a solution that scales to meet future router needs. The Challenging Market Environment for CAMs The explosive growth in the use of Intranets and the Internet are taxing LANs to the limit. Overall bandwidth needs are growing quickly. Applications such as L2 bridging and Fast-path L3 routing are now typically implemented in hardware. New requirements, including flow analysis, policy based routing and end-to-end QoS, are rapidly increasing the variety and quantity of lookups required. Every packet must now be examined multiple times and large hardware bridge router implementations require a forwarding decision to be made every few nanoseconds. Table searching is one of the most time-consuming operations in a router. This bottleneck typically limits the forwarding capability of current routers. Traditionally, Network System Architects have been forced to address these problems using hashing or tree searching algorithms, which are acceptable for moderate performance applications. First generation CAMs did not achieve wide spread adoption for bridging and routing applications because they were slow, expensive, small, and most importantly did not support longest match applications. A new generation of CAMs now addresses these issues.