This is the talk page for discussing improvements to the Content-addressable memory article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find sources: Google (books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
Archives: 1Auto-archiving period: 12 months |
This article is rated C-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||
|
CAM entry
editthe entry for contend addressable memory has a nice explanation of CAM and derivatives binary and ternary CAM.
but the example application is SOOO wrong it is just funny!!!
the real use for binary CAM in ethernet networking is in "switching". the switch uses the CAM to remember what "interface" (ethernet wire connection) the MAC is connected to. no IP addresses are involved here!
a networking use for ternary CAM is in "FIB routing".
I suggest rewriting the example section of this entry.
I agree and rewrote that section. I added some other uses of CAM, but didn't have time to expand on them. I think a non-networking example would be nice. I think implementation of cache controllers was one of the earliest uses for CAM, as well as one of the most widespread uses today. --Rick Sidwell 13:23, 8 Jan 2005 (UTC)
Scope and terminology: Associative vs content-addressable
edit"Associative memory" is a much more general concept than the specific hardware technology discussed in this article. Associative memories in general include "fuzzy" models that can take partial or approximate data as input and responds with the best match. Such models can typically be trained.
I have noticed that some Wikipedia articles in the field of artificial neural networks use the term "content-addressable memory" to denote associative memories of this fuzzier flavor -- see for example Hopfield nets. "Transderivational search" also makes a reference to CAM which seems inappropriate as it stands now.
I see two possibilities with corresponding consequences:
- 1) It is valid to use the term "content-addressable memory" to denote "associative memory" in general.
- --> Consequence 1: This article lacks the proper generality and confuses people pointed to here from ANN discussions. It should be expanded to embrace all aspects of the term. Add something helpful in the introductory section. Compare the disambig "associative memory" and its references (though those ones also could be better). If the terms really are interchangeable then one should redirect to the other.
- 2) "Content-addressable memory" really is a specific term describing deterministic hardware with no particular neural or training properties, as opposed to "associative memory". (I.e. CAM is a certain kind of assoc mem but not the same thing.)
- --> Consequence 2a: This article is good, though it should not equal itself to "associative memory" in the introduction. Articles discussing ANNs and "fuzzy" associative memories should not use the term "Content-addressable memory" for that and should not reference this article in that context.
- --> Consequence 2b: It was incorrect to merge the CAM and assoc mem articles, or rather, the original assoc mem article was about the wrong thing and needed rewriting rather than assimilation. Not that it matters now; I think it is OK to have a disambig as we have now (but the entire area needs improvement and better sorting out regarding what is what).
195.60.183.2 (talk) 14:12, 18 July 2008 (UTC) (The non-registered person on this non-static and firewalled IP address is called Anders Hallström)
- We formerly had an article called Associative storage and some content in Associative memory. This was all merged here (see § Merge Associative memory). All of this content described CAM and did not talk about any "fuzzy" stuff. The first step to address the raised issue is to find sources that talk about the "fuzzy" stuff. There's no need to discuss reorganization until we have some non-CAM associative memory content to talk about. ~Kvng (talk) 15:03, 5 November 2022 (UTC)
History
editI would like to suggest a small section on the history of C.A.M.
Dudley Allen Buck invented the concept of content addressable memory in 1955. Buck is credited with the idea of “recognition unit” now known as “content addressable memory”. In First Interim Report on Optimum Utilization of Computers and Computing Techniques in Shipboard Weapons Control Systems by TRW Computer Division of Thompson Ramo Wooldridge Inc. see page 17.
If it is interesting and would not make the article too long, we might quote from an abstract of another report.
Later work was devoted towards successful fabrication of a 900-cryotron array which was to form the basis for a small, prototype associative memory. 900-cryotron arrays were fabricated successfully with all of the cryotrons functional, but the difficulties encountered in the use and handling of large area masks ultimately prevented successful production of an associative memory array.
AlanDewey (talk) 13:37, 1 June 2010 (UTC)
- I have added the first bit (The TRW paper was already in the Bibliography section). The link supporting the second bit is dead and I can't find a working archive. ~Kvng (talk) 15:16, 5 November 2022 (UTC)
Hardware associative array
editI think the section is misleading. You use CAM to have an efficient hardware implementation for key-value pair searches. If a CAM would only return storage addresses (like it was described in the corrosponding section) you would not gain anything.
For example if you have the following key/value pairs:
K V 1 -> 1 2 -> 5 3 -> 1
It would not possible to reflect this mapping with the type of memory described in the section "Hardware associative array" because you need to store the values to. You cannot use the addresses for this because key 1 and key 3 collide (they have to be saved in the same location). --94.134.251.62 (talk) 02:29, 17 October 2020 (UTC)