Share to: share facebook share twitter share wa share telegram print page

Content-addressable memory

Content addressable memory

Content-addressable memory (CAM) is a special type of computer memory used in certain very-high-speed searching applications. It is also known as associative memory or associative storage and compares input search data against a table of stored data, and returns the address of matching data.[1]

CAM is frequently used in networking devices where it speeds up forwarding information base and routing table operations. This kind of associative memory is also used in cache memory. In associative cache memory, both address and content is stored side by side. When the address matches, the corresponding content is fetched from cache memory.

History

Dudley Allen Buck invented the concept of content-addressable memory in 1955. Buck is credited with the idea of recognition unit.[2]

Hardware associative array

Unlike standard computer memory, random-access memory (RAM), in which the user supplies a memory address and the RAM returns the data word stored at that address, a CAM is designed such that the user supplies a data word and the CAM searches its entire memory to see if that data word is stored anywhere in it. If the data word is found, the CAM returns a list of one or more storage addresses where the word was found. Thus, a CAM is the hardware embodiment of what in software terms would be called an associative array.

A similar concept can be found in the data word recognition unit, as proposed by Dudley Allen Buck in 1955.[3]

Standards

A major interface definition for CAMs and other network search engines was specified in an interoperability agreement called the Look-Aside Interface (LA-1 and LA-1B) developed by the Network Processing Forum.[4] Numerous devices conforming to the interoperability agreement have been produced by Integrated Device Technology, Cypress Semiconductor, IBM, Broadcom and others. On December 11, 2007, the OIF published the serial look-aside (SLA) interface agreement.[citation needed]

Semiconductor implementations

CMOS binary CAM Cell consisting of a 6T SRAM cell plus 4 comparison transistors. When the data on the search lines (SL) differs from the data stored in the cell through the bit lines (BL), the match line (ML) will be pulled low to indicate a mismatch. If none of the cells on a match line indicate a mismatched bit, the match line will remain high at the precharge level to indicate a word match. Both search lines can be held at logic '0' as a don't care search condition. Search lines and bit lines can be merged into a single pair of data lines.

CAM is much faster than RAM in data search applications. There are cost disadvantages to CAM, however. Unlike a RAM chip, which has simple storage cells, each individual memory bit in a fully parallel CAM must have its own associated comparison circuit to detect a match between the stored bit and the input bit. Additionally, match outputs from each cell in the data word must be combined to yield a complete data word match signal. The additional circuitry increases the physical size and manufacturing cost of the CAM chip. The extra circuitry also increases power dissipation since every comparison circuit is active on every clock cycle. Consequently, CAM is used only in specialized applications where searching speed cannot be accomplished using a less costly method. One successful early implementation was a General Purpose Associative Processor IC and System.[5]

In the early 2000s several semiconductor companies including Cypress, IDT, Netlogic, Sibercore,[6] and MOSAID introduced CAM products targeting networking applications. These products were labelled Network Search Engines (NSE), Network Search Accelerators (NSA), and Knowledge-based Processors (KBP) but were essentially CAM with specialized interfaces and features optimized for networking. Currently Broadcom offers several families of KBPs.[7]

Alternative implementations

To achieve a different balance between speed, memory size and cost, some implementations emulate the function of CAM by using standard tree search or hashing designs in hardware, using hardware tricks like replication or pipelining to speed up effective performance. These designs are often used in routers.[citation needed] The Lulea algorithm is an efficient implementation for longest prefix match searches as required in internet routing tables.

Ternary CAMs

CMOS Ternary CAM cell consisting of two 6T SRAM cells plus 4 comparison transistors. Normally opposite logic levels, either '0' and '1' or '1' and '0' will be stored in the two cells. For a don't care condition '0' will be stored in both cells so that the match line ML will not be pulled low for any combination of search line (SL) data.

Binary CAM is the simplest type of CAM and uses data search words consisting entirely of 1s and 0s. Ternary CAM (TCAM)[8] allows a third matching state of X or don't care for one or more bits in the stored word, thus adding flexibility to the search. For example, a stored word 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 additional cost over binary CAM as the internal memory cell must now encode three possible states instead of the two for the binary CAM. This additional state is typically implemented by adding a mask bit (care or don't care bit) to every memory cell. In 2013, IBM fabricated a nonvolatile TCAM using 2-transistor/2-resistive-storage (2T-2R) cells.[9] A design of TCAM using hybrid Ferroelectric FeFET was recently published by a group of International scientists.[10]

Example applications

Content-addressable memory is often used in computer networking devices. For example, when a network switch receives a data frame from one of its ports, it updates an internal table with the frame's source MAC address and the port it was received on. It then looks up the destination MAC address in the table to determine what port the frame needs to be forwarded to, and sends it out on that port. The MAC address table is usually implemented with a binary CAM so the destination port can be found very quickly, reducing the switch's latency.

Ternary CAMs are often used in network routers, where each address has two parts: the network prefix, which can vary in size depending on the subnet configuration, and the host address, which occupies the remaining bits. Each subnet has a network mask that specifies which bits of the address are the network prefix and which bits are the host address. Routing is done by consulting a routing table maintained by the router which contains each known destination network prefix, the associated network mask, and the information needed to route packets to that destination. In a simple software implementation, the router compares the destination address of the packet to be routed with each entry in the routing table, performing a bitwise AND with the network mask and comparing it with the network prefix. If they are equal, the corresponding routing information is used to forward the packet. Using a ternary CAM for the routing table makes the lookup process very efficient. The addresses are stored using don't care for the host part of the address, so looking up the destination address in the CAM immediately retrieves the correct routing entry; both the masking and comparison are done by the CAM hardware. This works if (a) the entries are stored in order of decreasing network mask length, and (b) the hardware returns only the first matching entry; thus, the match with the longest network mask (longest prefix match) is used.[11]

Other CAM applications include:

See also

References

  1. ^ "K. Pagiamtzis* and A. Sheikholeslami, Content-addressable memory (CAM) circuits and architectures: A tutorial and survey, IEEE Journal of Solid-State Circuits, pp. 712-727, March 2006" (PDF). Archived (PDF) from the original on 2007-03-15.
  2. ^ TRW Computer Division. (1963). First interim report on optimum utilization of computers and computing techniques in shipboard weapons control systems. (BuWeps-Project RM1004 M88-3U1). Alexandria, Virginia:Defence Documentation Center for Scientific and Technical Information.
  3. ^ TRW Computer Division Archived August 5, 2011, at the Wayback Machine, 1963, p. 17.
  4. ^ Look-Aside (LA-1B) Interface Implementation Agreement (PDF), 2004-08-04
  5. ^ Stormon, C. D.; Troullinos, N. B.; Saleh, E. M.; Chavan, A. V.; Brule, M. R.; Oldfield, J. V. (December 1992). "A general-purpose CMOS associative processor IC and system". IEEE Micro. 12 (6): 68–78. doi:10.1109/40.180249. S2CID 206432751.
  6. ^ "Sibercore Technologies - Silicon Solutions for Cyberspace". Archived from the original on 2003-04-19.
  7. ^ "16nm Heterogeneous Knowledge-Based Processors (KBPs)". Archived from the original on 2017-05-19.
  8. ^ Hucaby, David (2004). CCNP BCMSN Exam Certification Guide: CCNP Self-study. Cisco Press. ISBN 9781587200779.
  9. ^ Jing Li, R. Montoye, M. Ishii, K. Stawiasz, T. Nishida, K. Maloney, G. Ditlow, S. Lewis, T. Maffitt, R. Jordan, Leland Chang, P. Song, "1Mb 0.41 μm2 2T-2R cell nonvolatile TCAM with two-bit encoding and clocked self-referenced sensing", IEEE Symposium on VLSI Technology, 2013.
  10. ^ Xunzhao Yin, Yu Qian, M. Imani, K. Ni, Chao Li, Grace Li Zhang, Bing Li, Ulf Schlichtmann, Cheng Zhuo, "Ferroelectric Ternary Content Addressable Memories for Energy-Efficient Associative Search", IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, April 2023.
  11. ^ Varghese, George, Network Algorithmics: An Interdisciplinary Approach to Designing Fast Networked Devices, Morgan Kaufmann, 2005
  12. ^ Smith, Alan Jay (September 1982). "Cache Memories" (PDF). Computing Surveys. 14 (3): 473–530. doi:10.1145/356887.356892. S2CID 6023466. Archived from the original (PDF) on 2022-04-03. Retrieved April 3, 2022. The TLB is a small associative memory which maps virtual to real addresses.
  13. ^ Hinton, Geoffrey E. (1984). "Distributed representations". Archived from the original on 2016-05-02. Retrieved 2017-12-14.

Bibliography

  • Anargyros Krikelis, Charles C. Weems (editors) (1997). Associative Processing and Processors, IEEE Computer Science Press. ISBN 0-8186-7661-2
  • US 6823434, Hannum et al., "System and method for resetting and initializing a fully associative array to a known state at power on or through machine specific state", published 2004 
  • Pagiamtis, K.; Sheikholeslami, A. (2006). "Content-Addressable Memory (CAM) Circuits and Architectures: A Tutorial and Survey" (PDF). IEEE Journal of Solid-State Circuits. 41 (3): 712–727. Bibcode:2006IJSSC..41..712P. doi:10.1109/JSSC.2005.864128. S2CID 11178331.
  • Stormon, C.D.; Troullinos, N.B.; Saleh, E.M.; Chavan, A.V.; Brule, M.R.; Oldfield, J.V.; A general-purpose CMOS associative processor IC and system, Coherent Research Inc., East Syracuse, NY, USA, IEEE Micro, Dec. 1992, Volume: 12 Issue:6.

External links

Read other articles:

Town in Carbon County, Montana, United States Town in Montana, United StatesFromberg, MontanaTownPost Office in 2019Location within Carbon County and MontanaCoordinates: 45°23′30″N 108°54′31″W / 45.39167°N 108.90861°W / 45.39167; -108.90861[1]CountryUnited StatesStateMontanaCountyCarbonArea[2] • Total0.45 sq mi (1.16 km2) • Land0.44 sq mi (1.15 km2) • Water0.00 sq mi (0…

Halaman ini berisi artikel tentang Battery Park di New York City. Untuk kegunaan lain, lihat Battery Park (disambiguasi). Pemandangan udara Battery Park. Pier A di sebelah kiri, di sampingnya adalah Castle Clinton, South Ferry Terminal di sebelah kanan, Financial District di belakang taman. Battery Park adalah sebuah taman umum seluas 25 are (10 hektare) yang terletak di Battery, ujung selatan Pulau Manhattan di New York City, menghadap New York Harbor. Wilayah ini diberi nama sesuai baterai art…

Komando Resor Militer 012/Teuku UmarLambang Korem 012/Teuku UmarDibentuk30 Mei 1962Negara IndonesiaAliansiKodam Iskandar MudaCabangMulti KorpsTipe unitKoremPeranPasukan TeritorialBagian dariTentara Nasional IndonesiaMarkasMeulaboh, Aceh Barat, AcehJulukanKorem 012/TUMotoKeberanian, Kepemimpinan, Keahlian dan PatriotismeBaret H I J A U Ulang tahun30 meiTokohKomandan-Kepala StafLetkol Inf Wijayanto Kusumo Harjono Komando Resor Militer 012/Teuku Umar biasa disingkat Korem 012/Teuku U…

Een verzameling vogelspotters in de buurt van het Schotse kasteel Caerlaverock op uitkijk naar de vijfde witstaartkievit die in het Verenigd Koninkrijk werd gespot Vogelspotten is een individuele vorm van vogelen. Het is een vorm van onderzoek naar vogels. Soms worden de begrippen vogelspotten en vogelen als synoniemen beschouwd, maar gewoonlijk wordt er een onderscheid gemaakt tussen beide. Vogelaars gebruiken het woord spotten enkel om het nachtelijke zoeken naar dieren, met behulp van een spo…

Juan José García-Caffi Juan José García Caffi con el Cuarteto Zupay en 1968.Información personalNombre de nacimiento Juan José García CaffiNacimiento siglo XXBuenos Aires,  ArgentinaNacionalidad ArgentinaInformación profesionalOcupación Compositor, Arreglista y Director de OrquestaGénero (Música Argentina) música clásicaInstrumento Orquesta Artistas relacionados Cuarteto ZupaySitio web Página personal[editar datos en Wikidata] Juan José García Caffi es un mús…

Rumah Sakit Muhammadiyah Taman PuringMuhammadiyahGeografiLokasiJl. Gandaria I, No.20, Kebayoran Baru, Jakarta Selatan, DKI JakartaOrganisasiJenisSwastaAfiliasi dengan universitasMuhammadiyahPranala luarSitus webhttps://www.rsmtp.co.id/ Rumah Sakit Muhammadiyah Taman Puring merupakan salah satu rumah sakit yang ada di kota Jakarta Selatan, Indonesia, merupakan salah satu amal usaha Pembina Kesejahteraan Umat Muhammadiyah. Sejarah Sejak disahkannya kepengurusan Persyarikatan Muhammadiyah Kebayoran…

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يوليو 2019) C20H14 هي صيغة كيميائية[1] تحتوي على 20 ذرة من الكربون و14 ذرة من الهيدروجين وتبلغ كتلتها المولية 254.32516 غ.مول-1. ومن المركبات الكيميائية التي تحمل الصيغة نفسها:[…

العلاقات المالطية الناميبية مالطا ناميبيا   مالطا   ناميبيا تعديل مصدري - تعديل   العلاقات المالطية الناميبية هي العلاقات الثنائية التي تجمع بين مالطا وناميبيا.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين: وجه المقارنة مال

State park in Shelby County, Alabama Oak Mountain State ParkAerial view of Oak MountainLocation in AlabamaLocationPelham, Alabama, United StatesCoordinates33°22′13″N 86°42′7″W / 33.37028°N 86.70194°W / 33.37028; -86.70194[1]Area9,940 acres (40.2 km2)Elevation551 ft (168 m)[1]DesignationAlabama state parkEstablished1927AdministratorAlabama Department of Conservation and Natural ResourcesWebsiteOak Mountain State Park Oak Mountain …

Indian reservation in United States, Shoshone-PaiuteDuck Valley Indian Reservation TokkapatihIndian reservationEntrance sign to Duck Valley ReservationLocation of the Duck Valley Indian ReservationDuck Valley Indian Reservationclass=notpageimage| Location in the United StatesTribeShoshone-PaiuteCountryUnited StatesStateIdaho and NevadaCountyOwyhee County, Idaho and Elko County, NevadaArea • Total1,166.5 km2 (450.4 sq mi)WebsiteDuck Valley Shoshone-Paiute Tribes Th…

الحرب الأهلية التولوية جزء من انقسام إمبراطورية المغول  التاريخ وسيط property غير متوفر. بداية 1260  نهاية 1264  البلد إمبراطورية المغول  الموقع آسيا الوسطى  تعديل مصدري - تعديل   الحرب الأهلية التولوية هي حرب على الخلافة بين قوبلاي خان وشقيقه الأصغر، أريق بوقا، من

Government managed banking system You can help expand this article with text translated from the corresponding article in Chinese. (December 2018) Click [show] for important translation instructions. View a machine-translated version of the Chinese article. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-trans…

This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: St Brigid's High School – news · newspapers · books · scholar · JSTOR (January 2014) (Learn how and when to remove this template message) 54°20′53″N 6°39′40″W / 54.348°N 6.661°W / 54.348; -6.661 School in Armagh, County Armagh, Northern IrelandSt. Brigid's High SchoolAddres…

Development of Christian thought in the West Part of a series on theHistory ofChristian theology Background Christian theology Diversity in early Christian theology Adoptionism Arianism Docetism Gnosticism Marcionism Montanism Early Christianity Proto-orthodox Christianity Timeline History of Christianity Template:History of Christianity Ecclesiastical polity Trinitarianism Nontrinitarianism Christology Paterology Pneumatology Mariology Biblical canon Deuterocanon Hermeneutics Theological hermen…

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada September 2016. Stanislav Buchnev Stanislav Buchnev bersama FC Volgar Astrakhan dalam pertandingan melawan FC Dynamo Moscow. 2016Informasi pribadiNama lengkap Stanislav Sergeyevich BuchnevTanggal lahir 17 Juli 1990 (umur 33)Tinggi 1,84 m (6 ft 1⁄2&…

List of events ← 1844 1843 1842 1845 in New Zealand → 1846 1847 1848 Decades: 1820s 1830s 1840s 1850s 1860s See also: History of New Zealand List of years in New Zealand Timeline of New Zealand history The following lists events that happened during 1845 in New Zealand. Population The estimated population of New Zealand at the end of 1845 is 72,500 Māori and 12,774 non-Māori.[1] Incumbents Regal and viceregal Head of State – Queen Victoria Governor – Captain Robert Fitz…

Manjeshwar Govinda PaiBorn(1883-03-23)23 March 1883Manjeshwara, South Canara district,Madras Presidency, British India (now Kasaragod District, Kerala, India)Died6 September 1963(1963-09-06) (aged 80)OccupationWriterNationalityIndianSpouseKrishna Bai[1] Manjeshwar Govinda Pai (23 March 1883 – 6 September 1963), also known as Rastrakavi Govinda Pai, was a Kannada poet. He was awarded the first Rashtrakavi title by the Madras Government (Kasaragod district was part of South Kanara d…

Hospital in County Waterford, IrelandUniversity Hospital WaterfordHealth Service ExecutiveAn entrance at Waterford Regional HospitalShown in IrelandGeographyLocationDunmore Road, County Waterford, IrelandCoordinates52°14′55″N 7°04′43″W / 52.2487°N 7.0785°W / 52.2487; -7.0785OrganisationCare systemHSETypeRegionalAffiliated universityUniversity College CorkRoyal College of Surgeons in IrelandWaterford Institute of TechnologyServicesEmergency departmentYesBeds429…

2012 video game 2012 video gameHotline MiamiCover art by Niklas Åkerblad, featuring Jacket, the Girlfriend, the Biker, and the three masked personas[1]Developer(s)Dennaton GamesPublisher(s)Devolver DigitalDesigner(s)Jonatan SöderströmDennis WedinProgrammer(s)Jonatan SöderströmArtist(s)Dennis WedinWriter(s)Jonatan SöderströmDennis WedinEngineGame Maker 7PhyreEngine (ports)Platform(s) Windows OS X PlayStation 3 PlayStation Vita Linux PlayStation 4 Android Nintendo Switch Xbox One St…

Sepiring mentega Norwegia yang disajikan sebagai olesan pada Hari Konstitusi Norwegia Krisis mentega Norwegia dimulai pada akhir 2011 dengan kekurangan mentega secara drastis dan inflasi harganya di pasar-pasar Norwegia. Kekurangan tersebut menyebabkan kenaikan harga dan stok-stok mentega di gerai-gerai menyusut dalam jangka menit.[1] Menurut tabloid Denmark B.T., Norwegia mengalami smør-panikk 'kepanikan mentega' akibat kekurangan mentega.[2] Referensi ^ Andersen, Audrey (14 De…

Kembali kehalaman sebelumnya

Lokasi Pengunjung: 3.139.70.106