Speichermethoden klingen vielleicht langweilig, aber wenn es darum geht, was die Dinge tatsächlich beschleunigt oder verlangsamt, wird es interessant. Die meisten Computer und Geräte basieren auf sogenanntem „normalem“ Speicher – dort werden Daten an bestimmten Adressen gespeichert und bei Bedarf abgerufen. Das funktioniert ganz gut, außer wenn man nach etwas Bestimmtem suchen möchte, ohne genau zu wissen, wo es gespeichert ist. Zugegeben, das Durchsuchen riesiger Datensätze durch die Suche nach jeder Adresse ist nicht gerade schnell. Hier kommt der assoziative Speicher, auch CAM (Content Addressable Memory) genannt, ins Spiel. Er wird hauptsächlich für Hochleistungsgeräte wie ausgefallene Netzwerkgeräte verwendet, bei denen Geschwindigkeit entscheidend ist und die Suche nach Inhalten gefragt ist. Ehrlich gesagt ist die Implementierung in Hardware jedoch nicht billig – sie wird hauptsächlich in Routern und Switches der Enterprise-Klasse eingesetzt. Daher ist die meiste herkömmliche Hardware den Kosten oder der Komplexität von CAMs, die leistungsstarke SRAM-Bits mit integrierten Vergleichsschaltungen benötigen, einfach nicht gewachsen. Der Vorteil: superschnelle Suchvorgänge nach Inhalten, nicht nach Adressen. Der Nachteil? Es ist teuer und da es für spezifische, schnelle Suchvorgänge optimiert ist, findet man es in alltäglichen Geräten normalerweise nicht. Wenn es jedoch in einem Netzwerk-Switch oder Router verwendet wird, werden Sie einen Unterschied in der Geschwindigkeit feststellen, mit der bestimmte Adressen oder Regeln abgeglichen werden, was die Latenzzeit erheblich verkürzen kann. Bei manchen Setups kann es beim ersten Mal fehlschlagen, da die Hardware-Vergleichsschaltungen sehr empfindlich sind, aber nach einem Neustart funktioniert es normalerweise einwandfrei. Bedenken Sie jedoch, dass bei großen Routing-Tabellen oder wenn Sie Echtzeitleistung benötigen, der assoziative Speicher möglicherweise für einen reibungslosen Netzwerkbetrieb sorgt.

Zellstruktur und warum sie wichtig ist

Wenn Sie schon einmal einen Blick unter die Haube dieser Speicherchips geworfen haben, werden Sie feststellen, dass sie auf SRAM (Static RAM) und nicht auf DRAM (Dynamic RAM) basieren. Warum? Weil SRAM Vergleichsoperationen direkt durchführen kann – man kann es sich als eine Art integrierte Suchfunktion für jedes gespeicherte Bit vorstellen. Jede Speicherzelle ist mit Transistoren vollgestopft: sechs zum Speichern der Daten und vier weitere für die Vergleichsschaltung. Das ist so, als würde man jedem winzigen Speicherbit ein Gehirn geben, das sich selbst fragt: „Entspricht das dem, was ich suche?“ Aus Kostengründen macht das die Chips sperrig und teuer. Und außerdem muss Assoziativspeicher, damit er sich lohnt, rasend schnell sein – und darin ist SRAM hervorragend, im Gegensatz zu DRAM, das zwar billiger und dichter, aber für diesen Zweck langsamer ist.

Wo Sie das assoziative Gedächtnis finden

Wo sieht man diese Dinge also in der Praxis? Meistens in High-End-Switches und -Routern, die ernsthafte Netzwerkarbeit leisten. Diese Geräte können es sich nicht leisten, Millisekunden mit der Suche nach MAC-Adressen oder Routing-Tabellen zu verschwenden. Stattdessen verlassen sie sich auf CAM oder TCAM (Ternary CAM), um Inhaltssuchen sofort durchzuführen. Beispielsweise kann ein Switch bei der Verwaltung von MAC-Adresstabellen eine Zieladresse blitzschnell nachschlagen, ohne jeden Port zu scannen. Aus diesem Grund findet man CAM-Chips in Geräten, die sehr viel Datenverkehr bewältigen. Und wenn Routing-Regeln angewendet werden, insbesondere bei komplexen Subnetzmasken, vereinfacht der ternäre Speicher den Adressabgleich im laufenden Betrieb – er gleicht Adressen mit Platzhaltern oder „Don’t Care“-Bits ohne zusätzliche Berechnungen ab. Aufgrund der erforderlichen Premium-Hardware findet man diese Chips selten in Geräten, die nicht für Unternehmen geeignet sind, und selbst dann vielleicht nur in den anspruchsvollsten Konfigurationen.

Binär vs. Ternär: Warum Ternär ein Wendepunkt ist

Die meisten Assoziativspeicher sind binär, das heißt, sie speichern nur Nullen und Einsen. In fortgeschritteneren Netzwerken mit hohen Anforderungen kommen jedoch ternäre CAMs zum Einsatz – die zwar noch teurer, aber auch wesentlich flexibler sind. Statt nur Nullen oder Einsen können diese Zellen auch „X“ enthalten, was „Don’t Care“ bedeutet. Praktisch bei der Arbeit mit Subnetzmasken variabler Länge oder komplexen Zugriffsregeln: Adressen lassen sich direkt mit Platzhaltern abgleichen. So lassen sich beispielsweise bei einer Suche nach 192.168.20.19 in einem einzigen Vorgang mehrere Regeln mit unterschiedlichen Masken abgleichen. Das spart beim häufigen Routing oder bei der Zugriffskontrolle viel Zeit. Da sie aber doppelt so viele SRAM-Zellen (zwei pro Vergleich) und zusätzliche Transistoren benötigen, sind sie teuer. Normalerweise verfügen nur Top-Router über ein solches Setup – normale Geräte bleiben meist bei binären CAMs oder der einfachen alten Inhaltssuche.

Zusammenfassung zum assoziativen Gedächtnis

Kurz gesagt: Assoziativspeicher verleiht Ihrer Hardware die Superkraft, alle Daten gleichzeitig zu durchsuchen, anstatt jede Adresse einzeln abzufragen. Er ist teuer, da er auf leistungsstarkem SRAM mit integrierter Vergleichslogik basiert, ermöglicht aber im richtigen System blitzschnelle Suchvorgänge – insbesondere in Netzwerkgeräten, die mit enormen Datenmengen Schritt halten müssen. Assoziativspeicher wird zwar nicht überall herkömmlichen Speicher ersetzen, ist aber für alle, die ultraschnelles Routing und Traffic-Management benötigen, eine entscheidende Komponente. Natürlich werden CAM-Chips weder in Windows noch in anderen Betriebssystemen verwendet, aber bei Routern, Switches oder Spezialhardware sorgt er für einen reibungslosen Ablauf im Hintergrund.