A content addressable memory ("CAM") engine or controller interfaces
between a host signal processor (e.g., a microprocessor) and a plurality
of known, commercially-available random access memory ("RAM") devices. The
CAM engine configures the RAM as content addressable memory, thereby
causing the normally location-addressed RAM to function as CAM. The CAM
engine thus allows for the benefits of both RAM and CAM devices, such as
speed, density, cost and intuitiveness, without their inherent drawbacks.
Further, the CAM engine implements various flexible memory storage
configurations for the keys and associations stored in RAM. Also, the CAM
engine implements certain algorithms that provide for the hashing of data,
for table load and unload capabilities, for proximity matching, for
dealing with overflow conditions, and for implementing hierarchical search
capabilities.
Moteur ou contrôleur de mémoire d'adressage par le contenu (un "CAME") connecte entre un processeur de signal de centre serveur (par exemple, un microprocesseur) et une pluralité dispositifs connus et disponibles dans le commerce de mémoire à accès sélective (de "RAM"). Le moteur de CAME configure la RAM en As la mémoire accessible de teneur, causant de ce fait la RAM normalement endroit-adressée à la fonction comme CAME. Le moteur de CAME tient compte ainsi des avantages des dispositifs de RAM et de CAME, tels que la vitesse, la densité, le coût et l'intuitiveness, sans leurs inconvénients inhérents. De plus, configurations flexibles de stockage de mémoire d'instruments de moteur de CAME les diverses pour les clefs et les associations stockées dans la RAM. En outre, le moteur de CAME met en application certains algorithmes qui prévoient le brouillage des données, parce que charge de table et décharge des possibilités, pour la proximité s'assortissant, pour traiter des états de débordement, et pour mettre en application des possibilités hiérarchiques de recherche.