IEEE Micro. 12 6 : 68-78. Doi:10.1109 40.180249

From Pyra Wiki
Jump to navigation Jump to search


Content-addressable memory (CAM) is a particular type of computer memory used in certain very-high-velocity looking out functions. It is also referred to as associative memory or associative storage and compares enter search data against a table of stored information, and returns the tackle of matching information. CAM is incessantly used in networking gadgets the place it hurries up forwarding info base and routing table operations. This sort of associative memory can also be utilized in cache memory. In associative cache memory, each deal with and content is stored aspect by aspect. When the deal with matches, the corresponding content material is fetched from cache memory. Dudley Allen Buck invented the concept of content-addressable memory in 1955. Buck is credited with the concept of recognition unit. Unlike normal pc memory, random-access memory (RAM), wherein the person provides a memory tackle and the RAM returns the data word stored at that tackle, a CAM is designed such that the consumer provides an information word and the CAM searches its total memory to see if that knowledge phrase is saved anyplace in it.



If the data phrase is discovered, the CAM returns a list of one or more storage addresses where the word was discovered. Thus, a CAM is the hardware embodiment of what in software phrases can be called an associative array. A serious interface definition for CAMs and different network search engines was specified in an interoperability settlement known as the Look-Apart Interface (LA-1 and LA-1B) developed by the Community Processing Forum. Numerous units conforming to the interoperability settlement have been produced by Integrated System Technology, Cypress Semiconductor, IBM, Broadcom and others. On December 11, 2007, the OIF printed the serial look-apart (SLA) interface agreement. CAM is way quicker than RAM in knowledge search purposes. There are value disadvantages to CAM, Memory Wave App nevertheless. Unlike a RAM chip, which has easy storage cells, every individual memory bit in a fully parallel CAM must have its own related comparability circuit to detect a match between the stored bit and the enter bit. Additionally, Memory Wave match outputs from each cell in the info phrase should be combined to yield a whole knowledge word match signal.



The extra circuitry increases the bodily dimension and manufacturing cost of the CAM chip. The additional circuitry also will increase power dissipation since every comparability circuit is energetic on every clock cycle. Consequently, CAM is used solely in specialized purposes where looking velocity cannot be completed using a less costly methodology. One successful early implementation was a General Purpose Associative Processor IC and System. MOSAID introduced CAM products targeting networking applications. These products were labelled Network Search engines like google (NSE), Memory Wave Network Search Accelerators (NSA), and Data-primarily based Processors (KBP) but had been basically CAM with specialised interfaces and features optimized for networking. At present Broadcom provides several families of KBPs. To realize a different balance between pace, memory size and cost, some implementations emulate the perform of CAM through the use of normal tree search or hashing designs in hardware, utilizing hardware tips like replication or pipelining to speed up effective efficiency. These designs are often used in routers. The Luleå algorithm is an environment friendly implementation for longest prefix match searches as required in internet routing tables.



X or don't care for a number of bits in the saved phrase, thus including flexibility to the search. For instance, a saved phrase of 10XX0 in a ternary CAM will match any of the four search words 10000, 10010, 10100, or 10110. The added search flexibility comes at an extra price over binary CAM as the inner Memory Wave App cell must now encode three doable states instead of the two for the binary CAM. This further state is typically applied by including a mask bit (care or do not care bit) to each memory cell. In 2013, IBM fabricated a nonvolatile TCAM utilizing 2-transistor/2-resistive-storage (2T-2R) cells. A design of TCAM utilizing hybrid Ferroelectric FeFET was not too long ago printed by a group of International scientists. Content-addressable memory is usually utilized in computer networking units. For instance, when a community switch receives a knowledge body from certainly one of its ports, it updates an inside table with the body's source MAC tackle and the port it was obtained on.