PatentDe  


Dokumentenidentifikation DE10211957B4 08.03.2007
Titel Ternäre inhaltsadressierbare Speicherzelle
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Hatsch, Joel, 81735 München, DE;
Kamp, Winfried, 81739 München, DE;
Söldner, Heinz, 83052 Bruckmühl, DE;
Künemund, Thomas, 80337 München, DE;
Sedlak, Holger, 85658 Egmating, DE
Vertreter Graf Lambsdorff, M., Dipl.-Phys.Dr.rer.nat., Pat.-Anw., 81673 München
DE-Anmeldedatum 18.03.2002
DE-Aktenzeichen 10211957
Offenlegungstag 23.10.2003
Veröffentlichungstag der Patenterteilung 08.03.2007
Veröffentlichungstag im Patentblatt 08.03.2007
IPC-Hauptklasse G11C 15/04(2006.01)A, F, I, 20051017, B, H, DE

Beschreibung[de]

Die Erfindung betrifft eine ternäre inhaltsadressierbare Speicherzelle mit einer ersten Speicherzelle zum Speichern von Daten, wobei die erste Speicherzelle mit einem ersten Bitleitungspaar zum Übertragen der Daten von und zu der ersten Speicherzelle und mit einer Vergleichereinheit elektrisch verbunden ist.

Inhaltsadressierbare Speicherzellen (CAM = Content Addressable Memory) werden oftmals in integrierten Schaltungen eingesetzt. CAM sind Speicher die neben Lese- und Schreibzugriffen auch die Suche nach einem Eintrag ermöglichen. Bei einer Suche wird ein Suchwort mit einem Satz gespeicherter Daten verglichen. Für jedes gespeicherte Wort wird angezeigt, ob das Suchwort mit dem gespeicherten Wort übereinstimmt oder nicht. Ein wesentliches Merkmal eines CAM ist es, dass jedes gespeicherte Wort auf der Basis des Inhalts des Wortes selbst, anstatt durch seine Adresse in der Speicheranordnung identifiziert wird, wie dies bei üblichen digitalen Speichern der Fall ist.

Ein CAM umfasst eine Anordnung oder ein Feld aus Speicherzellen, die im allgemeinen in einer Matrix aus Zeilen und Spalten angeordnet sind. Jede Speicherzelle speichert ein einzelnes Bit digitaler Information. Die in einer Zeile oder Reihe aus Speicherelementen gespeicherten Bits bilden ein gespeichertes Wort. Während einer Abgleich- oder Trefferoperation wird jedes Suchwort der Eingangsdaten an allen Zeilen angelegt und für jede Zeile wird eine Anzeige erzeugt, ob das gesuchte Wort mit dem darin gespeicherten Wort übereinstimmt oder nicht.

Inhaltsadressierbare Speicherzellen können als binäre oder ternäre CAMs ausgebildet sein. Ein binärer CAM kann zwei Informationszustände, einen logischen ersten ("1") und einen logischen zweiten ("0") Zustand, speichern. Binäre CAMs weisen typischerweise eine RAM (Random Access Memory)-Speicherzelle und eine Vergleichereinheit auf. Die Vergleichereinheit vergleicht die Vergleichsdaten mit Daten, die in dem RAM-Zellenfeld gespeichert sind und steuert eine Abgleichleitung während eines Abgleichs im Hinblick auf einen vordefinierten Zustand. Die Spalten eines binären CAMs können allgemein mit externen Maskendaten maskiert werden, die in einem oder mehreren Maskenregistern gespeichert sind.

Ternäre CAMs sind Speicherbausteine, die drei Zustände, nämlich einen ersten logischen Zustand, einen zweiten logischen Zustand, sowie einen sogenannten "nicht relevant" Zustand für Vergleichsoperationen speichern können. Ternäre CAMs weisen im allgemeinen zusätzlich zum ersten auch ein zweites RAM-Zellenfeld bzw. eine zweite RAM-Zelle auf, welches lokale Maskendaten für jede CAM-Zelle speichert. Beispielsweise werden in einem Ethernet-Router Verbindungsdaten gespeichert, die dem Router anzeigen, welche IP (Internet Protocol)-Adressen auf welche Ports zugewiesen und weitergeleitet werden. Dabei werden die IP-Adressen innerhalb eines CAM-Zellenfeldes gespeichert. Wird ein IP-Datenpaket übertragen, wird diese IP-Adresse im CAM-Zellenfeld gesucht. Wird diese IP-Adresse gefunden, so wird die Abgleichleitung aktiviert. Diese steuert dann ein RAM-Zellenfeld an, in dem diese Portnummer abgelegt ist. Es werden jedoch im allgemeinen keine kompletten IP-Adressen benutzt sondern lediglich Teile davon, welche ihrerseits dann einen bestimmten Bereich eines Netzes beschreiben. Dafür werden sogenannte Netzmasken definiert, die besagen welche Bits einer IP-Adresse übereinstimmen müssen, damit die IP-Adresse einem Netz zugehörig ist. Das Problem dabei ist, dass die Maske nicht für alle Netzbereiche identisch ist und gespeichert werden muss. Dies bedeutet für das CAM-Zellenfeld, dass jedes einzelne Bit der dort gespeicherten IP-Adresse einzeln maskiert werden muss und es die Maskierungsinformation direkt mit jedem Bit der IP-Adresse speichern muss. Besonders neue Chiparchitekturen sollen für mehrere Protokolle konfigurierbar sein. Dies bedeutet die Maskenfunktionalität muss zwischen den einzelnen Applikationen verändert werden, womit die Maskenfunktionalität programmierbar sein muss.

Ein weiteres Anwendungsbeispiel für im wesentlichen binäre CAMs ist durch Cache-Speicher von Prozessoren gegeben. Dadurch wird einer CPU (Central Processing Unit) -Einheit ein schnellerer Datenzugriff als bei einem externen RAM ermöglicht. In einem Cache-Speicher werden immer die aktuellen bzw. die zuletzt bearbeiteten Daten abgespeichert, da deren Wahrscheinlichkeit einer weiteren Verarbeitung relativ hoch ist. Da hier die gespeicherten Adressbereiche stets wechseln, wird zu jedem Datenwort auch noch das dazugehörige Adresswort abgespeichert. Nach dem gesuchten Adresswort wird dann über das CAM gesucht und das zugehörige Datenwort ausgegeben.

Eine übliche CAM-Zelle ist in 1 dargestellt. Die CRM-Zelle weist eine aus dem Stand der Technik bekannte Abgleich- oder Trefferlogik 102 auf. Jede CAM-Zelle speichert ein Datenbit innerhalb eines gespeicherten Wortes. In der CAM-Zelle umfasst eine Speicherzelle 101 zwei Invertierer 101a und 101b, die in Form eines Flip-Flops verbunden sind. 2 zeigt eine übliche Realisierung des Flip-Flops mit zwei n-Transistoren 201b und 201d und zwei p-Transistoren 201a und 201c. Das Flip-Flop hat zwei Zustände. In einem Zustand ist das Signal "a" hoch und in dem anderen Zustand ist es niedrig. Das Signal "b" ist immer das Komplement von "a". Bitleitungen BL und BLQ sind mit der Speicherzelle 101 über Zugriffsgatter verbunden, die hier als Transistoren 103 und 104 dargestellt sind. Eine Wortleitung WL ist mit dem Gate-Anschluss jedes Zugriffstransistors verbunden und erstreckt sich nach außen zu anderen Zellen in derselben Wortzeile. Die Abgleichlogik 102 ist mit der Speicherzelle und mit den Bitleitungen verbunden. Diese Abgleichlogik 102 umfasst einen Ausgang, der mit MV bezeichnet ist und der das Vorliegen einer Übereinstimmung anzeigt.

Im folgenden ist der Betrieb des herkömmlichen CAM der 1 beschrieben. Die Bitleitungen BL und BLQ haben zwei Funktio- nen. Zum einen eine Lese-/Schreibfunktion und zum anderen eine Abgleich- oder Trefferfunktion. Um eine Lese-/Schreibfunktion auszuführen, wird die Wortleitung WL dazu verwendet, die Zugriffstransistoren 103 und 104 zu aktivieren. Es wird also eine elektrische Verbindung zwischen den Bitleitungen BL und BLQ und den zwei Anschlüssen der Speicherzelle 101 hergestellt. Sobald diese Verbindung hergestellt ist, können die Bitleitungen entweder den Zustand der Speicherzelle 101 lesen oder einen Zustand in die Zelle schreiben.

Wenn die Zugriffstransistoren 103 und 104 deaktiviert sind, ist die Speicherzelle 101 von den beiden Bitleitungen BL und BLQ getrennt. In diesem Fall können BL und BLQ für ihre Abgleichfunktion verwendet werden. Ein Zustand wird auf eine der Bitleitungen gesetzt. Falls der Zustand von BLQ mit dem Zustand des Signals "a" übereinstimmt, ist das MV-Signal floatend. Weist es keine Übereinstimmung auf, so wird MV heruntergezogen (pull low). Es sei beispielsweise angenommen, dass geprüft werden soll, ob "a" hoch ist. Ein hohes Signal wird auf die Leitung BLQ gelegt und ein niedriges Signal wird auf BL gelegt. Ist "a" hoch, ist der Transistor 102b ein, der Transistor 102a ist aus (da BL niedrig ist), der Transistor 102d ist aus (weil "b" niedrig ist) und der Transistor 102c ist ein, da an BLQ ein hohes Signal liegt. MV floatet somit und zeigt dadurch eine Übereinstimmung an. Wenn "a" niedrig ist, sind die Transistoren 102b und 102a aus und die Transistoren 102d und 102c ein (weil sowohl BLQ als auch "b" hoch sind). MV wird somit auf einen niedrigen Zustand gezogen, wodurch keine Übereinstimmung angezeigt wird.

Es ist daher zu erkennen, dass dann, wenn die Zugriffstransistoren 103 und 104 aus sind und die Speicherzelle 101 von den Bitleitungen BL und BLQ getrennt ist, die Abgleichlogik 102 dazu verwendet werden kann, Übereinstimmungen zwischen den Bitleitungen und den gespeicherten Daten in der Zelle zu überprüfen.

Bei der Suche nach Übereinstimmungen in einem CAM ist im Stand der Technik bekannt, in einem oder mehreren Bits das Suchwort "nicht relevant" ("Dont't care") zu spezifizieren. Diese Spezifikation "nicht relevant" bedeutet, dass die CRM-Zelle eine Übereinstimmung unabhängig von dem Zustand ihres gespeicherten Bits anzeigen soll. Eine Technik zum Spezifizieren von "nicht relevant" in dem Suchwort ist dadurch gegeben, sowohl die Bitleitung BL als auch BLQ auf einen niedrigen Zustand zu ziehen.

Die Technik der Spezifikation von "nicht relevant" in dem Suchwort ist nur zum Absuchen von Wortbereichen dienlich. Um beispielsweise nach allen Worten zu suchen die in dem Bereich 1011000 und 1011111 liegen, kann das Suchwort 1011XXX spezifiziert werden (wobei "X" "nicht relevant" darstellt). Dieses Suchwort würde mit allen Worten übereinstimmen, die in den Bereich fallen. Diese Technik kann allgemein nur für kontinuierliche Wortbereiche eingesetzt werden, diskontinuierliche Bereiche erfordern dagegen mehrere Suchworte.

Insbesondere beim Einsatz von CAMs in Chipcard-Applikationen ist die Ausführung eines CAMs mit floatenden Knoten nachteilig, da ein unerlaubter Zugriff nur unzureichend verhindert werden kann. Ebenso ist dieser nur relativ schlechte Schutz gegen unerlaubten Zugriff bei binären CAMs, die nicht vollständig aus statischen Gattern aufgebaut sind und/oder mit reduzierten Pegeln arbeiten, gegeben.

Eine CAM-Zelle, welche aus sechs Transistoren aufgebaut ist, ist aus der Patentschrift US 6,101,116 bekannt. Die CAM-Zelle weist eine SRAM (Static Random Access Memory)-Zelle auf, die aus einem Paar rückgekoppelter Invertierer und zwei Zugriffstransistoren aufgebaut ist. Die SRAM-Zelle speichert einen Datenwert an einem Ausgangsknoten an einem der beiden Invertierer und einen inversen Datenwert an einem Ausgangsknoten des anderen Invertierers. Die beiden Zugriffstransistoren sind jeweils zwischen einem Ausgangsknoten und einer Abgleichleitung geschaltet. Die Abgleichleitung ist über die Zugriffstransistoren derart verbunden, dass die Abgleichleitung mit den Ausgangsknoten der SRAM-Zelle elektrisch verbunden ist, wenn die Zugriffstransistoren angeschaltet sind. Datenleitungen sind mit den Gate-Anschlüssen der Zugriffstransistoren elektrisch verbunden.

Ein weiteres CAM-Bauelement, welches speziell als ternäres CAM ausgeführt ist, ist aus der Patentschrift US 6,154,384 bekannt. Die CAM-Zelle weist eine erste Speicherzelle auf, die als RAM-Zelle mit zwei Zugriffstransistoren und zwei Invertierern ausgeführt ist und Daten speichern kann. Diese erste RAM-Zelle ist mit einer Wortleitung, mit einem Bitleitungspaar und einer Vergleichereinheit elektrisch verbunden. Die Vergleichereinheit weist drei Transistoren auf, wobei zwei Transistoren mit einem Vergleichssignal-Leitungspaar und mit ihren Gate-Anschlüssen mit der ersten Speicherzelle elektrisch verbunden sind. Mittels des dritten Transistors ist eine elektrische Verbindung zu einem Maskierungsschaltkreis, der durch einen Transistor gebildet wird, erzeugt. Dieser Transistor weist eine weitere Verbindung zu einer Abgleichleitung auf. Der Maskierungsschaltkreis ist mit einer Maskierungs-Speicherzelle, welche als zweite RAM-Zelle mit zwei Zugriffstransistoren und zwei Invertierern aufgebaut ist, elektrisch verbunden. Die Zugriffstransistoren sind mit ihren Gate-Anschlüssen mit einer Maskierungs-Wortleitung und mit jeweils einem weiteren Anschluss mit einer Bitleitung des Bitleitungspaars verbunden.

Bei den binären CAMs ist die externe Maskenfunktionalität zwischen den einzelnen Applikationen nicht veränderbar, das heißt die Maskenfunktionalität ist nur einmal programmierbar, da der Vergleichsalgorithmus, mit dem ein Suchwort mit den gespeicherten Vergleichsworten verglichen wird, im Halbleiterbauelement festgelegt ist und somit nachträglich nicht mehr verändert werden kann. Bei den ternären CAMs ist die Maskenfunktionalität durch Schreibvorgänge rekonfigurierbar.

Die Druckschrift US 5,703,803 beschreibt ein CAM-Bauelement, welches eine Speicherzelle und einen Vergleichsschaltkreis aufweist. Der Vergleichsschaltkreis ist mit der Speicherzelle gekoppelt und weist eine erste Mehrzahl von in Reihe mit einem ersten Eingang gekoppelten Transistoren und eine zweite Mehrzahl von in Reihe mit einem zweiten Eingang gekoppelten Transistoren auf. Die zweite Mehrzahl von Transistoren ist mit der ersten Mehrzahl von Transistoren durch einen ersten Knoten und durch einen Versorgungsspannungsknoten gekoppelt. Eine mit dem ersten Knoten gekoppelte Auswahlleitung, welche zu keiner Zeit in einem Schwebezustand sein kann, zeigt einen Fehler an, wenn die Werte an dem ersten und dem zweiten Eingang verschieden sind von den in der Speicherzelle gespeicherten Werten.

Die Druckschrift US 5,699,288 beschreibt einen Vergleicherschaltkreis für CAM-Speicher innerhalb eines Computersystems. Der Vergleicherschaltkreis weist ein Paar von Speicherknotenleitungen, ein Paar von Vergleicherleitungen und zwei Sätze von Transistoren auf. Die Speicherknotenleitungen sind zueinander komplementär und sind mit einer Speicherzelle des CAM-Speichers verbunden, um einen Zustand der Speicherzelle zu bestimmen. In ähnlicher Weise sind auch die Vergleicherleitungen zueinander komplementär. Der erste Satz der Transistoren besteht aus vier in Reihe geschalteten Transistoren, die durch eine logische "1" von einer der Speicherknotenleitungen veranlasst werden, ein Signal von einer der Vergleicherleitungen zu einem Ausgang durchzulassen. Der zweite Satz von Transistoren besteht ebenso aus vier in Reihe geschalteten Transistoren, die durch eine logische "0" von derselben Speicherknotenleitung veranlasst werden, ein Signal von der anderen Vergleicherleitung zu dem Ausgang durchzulassen.

Es ist daher Aufgabe der Erfindung, eine ternäre inhaltsadressierbare Speicherzelle zu schaffen, mit der zum einen eine verbesserte Funktionalität und zum anderen ein verbesserter Schutz gegen unerlaubten Zugriff auf gespeicherte Daten erreicht werden kann.

Diese Aufgabe wird durch eine ternäre inhaltsadressierbare Speicherzelle, welche die Merkmale nach Patentanspruch 1 aufweist, gelöst.

Eine inhaltsadressierbare Speicherzelle weist eine mit zwei Zugriffstransistoren und zwei Invertierer ausgebildete RAM-Zelle als erste Speicherzelle auf. Die Zugriffstransistoren sind mit einer ersten Wortleitung elektrisch verbunden. Des Weiteren weist die erste Speicherzelle eine elektrische Verbindung zu einem ersten Bitleitungspaar und zu einer Vergleichereinheit auf. Die Vergleichereinheit ist ihrerseits mit einer Abgleichleitung verbunden.

Die Vergleichereinheit weist erste acht Transistoren auf, die in zwei Schaltungsteilen der Vergleichereinheit angeordnet sind. Die beiden Schaltungsteile weisen jeweils zumindest zwei Schaltungszweige auf, in denen jeweils mindestens zwei Transistoren miteinander verschaltet sind.

Die jeweils zwei Transistoren in den Schaltungszweigen der Schaltungsteile sind in Reihe geschaltet, wobei die vier Transistoren in den Schaltungszweigen des ersten Schaltungsteils alle von einem ersten Typ sind und die vier Transistoren in den Schaltungszweigen des zweiten Schaltungsteils von einem zweiten Typ sind.

Die beiden ersten Schaltungszweige des ersten Schaltungsteils sind einerseits über einen ersten Knoten mit der Abgleichleitung elektrisch verbunden und auch die Schaltungszweige des zweiten Schaltungsteils sind über diesen ersten Knoten mit der Abgleichleitung elektrisch verbunden.

Die elektrische Verbindung zwischen der ersten Speicherzelle und der Vergleichereinheit besteht darin, dass ein erster Transistor des ersten Schaltungszweiges mit seinem Gate-Anschluss mit einem ersten Ausgangsknoten der ersten Speicherzelle und ein Transistor des zweiten Schaltungszweiges des ersten Schaltungsteils ebenfalls mit seinem Gate-Anschluss mit einem zweiten Ausgangsknoten der ersten Speicherzelle elektrisch verbunden ist. Die elektrische Verbindung zwischen der ersten Speicherzelle und der Vergleichereinheit besteht darin, dass ein Transistor des ersten Schaltungszweiges des zweiten Schaltungsteils mit seinem Gate-Anschluss mit dem zweiten Ausgangsknoten der ersten Speicherzelle und ein Transistor des zweiten Schaltungszweiges des zweiten Schaltungsteils mit seinem Gate-Anschluss mit dem ersten Ausgangsknoten der ersten Speicherzelle elektrisch verbunden ist.

Die inhaltsadressierbare Speicherzelle ist derart ausgeführt, dass eine zweite Speicherzelle, insbesondere zum Speichern eines Maskenbits, mit der Vergleichereinheit elektrisch verbunden ist und zwei Zugriffstransistoren sowie zwei Invertierer aufweist.

Diese inhaltsadressierbare Speicherzelle ist als ternäre Speicherzelle ausgebildet und es ist vorgesehen, dass die Vergleichereinheit zumindest dreizehn Transistoren aufweist und somit zusätzlich zu den bereits erwähnten acht Transistoren weitere zumindest fünf Transistoren angeordnet sind. Dabei ist vorgesehen, den ersten Schaltungszweig des ersten Schaltungsteils mit seinem zweiten Ende und den zweiten Schaltungszweig des ersten Schaltungsteils mit seinem zweiten Ende an ein Versorgungsspannungspotenzial anzulegen. Des Weiteren ist vorgesehen, zwei der fünf zusätzlichen Transistoren, die beispielhaft als neunter und zehnter Transistor nummeriert werden, welche vom ersten Typ sind, im ersten Schaltungsteil anzuordnen. Ein elfter Transistor, der vom zweiten Typ ist, ist in Reihe zum zweiten Schaltungsteil geschaltet. Der zwölfte und der dreizehnte Transistor, die beide vom zweiten Typ sind, sind in Reihe geschaltet und mit einem Ende des dadurch erzeugten Schaltungszweiges mit der Abgleichleitung verbunden und liegen mit dem anderen Ende an Massepotenzial an.

Der neunte und der zehnte Transistor sind derart in dem ersten Schaltungsteil, dass die Gate-Anschlüsse der beiden Transistoren elektrisch miteinander verbunden sind und beide Transistoren mit jeweils einem ersten Anschluss an dem Versorgungsspannungspotenzial anliegen. Der neunte Transistor ist mit einem zweiten Anschluss mit dem ersten Schaltungszweig und der zehnte Transistor mit einem zweiten Anschluss mit dem zweiten Schaltungszweig elektrisch verbunden.

Der elfte Transistor ist mit seinem Gate-Anschluss mit den Gate-Anschlüssen des neunten und des zehnten Transistors verbunden und darüber hinaus mit seinem Gate-Anschluss mit einem Eingang eines Invertierers der zweiten Speicherzelle elektrisch verbunden.

Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.

Nachfolgend werden mehrere Ausführungsbeispiele der Erfindung anhand von schematischen Zeichnungen näher erläutert. Es zeigen:

1 eine Schaltungsanordnung einer inhaltsadressierbaren Speicherzelle gemäß dem Stand der Technik;

2 eine Schaltungsanordnung einer Flip-Flop-Speicherzelle gemäß dem Stand der Technik;

3 ein Beispiel einer binären inhaltsadressierbaren Speicherzelle;

4 ein erstes Ausführungsbeispiel einer erfindungsgemäßen inhaltsadressierbaren Speicherzelle;

5 ein zweites Ausführungsbeispiel einer erfindungsgemäßen inhaltsadressierbaren Speicherzelle;

6 ein drittes Ausführungsbeispiel einer erfindungsgemäßen inhaltsadressierbaren Speicherzelle; und

7 ein viertes Ausführungsbeispiel einer erfindungsgemäßen inhaltsadressierbaren Speicherzelle.

In den Figuren werden gleiche oder funktionsgleiche Elemente mit denselben Bezugszeichen gekennzeichnet.

Eine nicht zur Erfindung gehörige inhaltsadressierbare Speicherzelle weist eine erste Speicherzelle 1 (3) auf. Die Speicherzelle 1 ist als SRAM-Zelle ausgeführt und weist einen ersten Zugriffstransistor Z1 und einen zweiten Zugriffstransistor Z2 auf. Die beiden Zugriffstransistoren Z1 und Z2 sind in diesem Beispiel als n-Kanal-Transistoren ausgebildet und sind jeweils mit ihren Gate-Anschlüssen mit einer ersten Wortleitung WL1 elektrisch verbunden. Der erste Zugriffstransistor Z1 ist mit seinem Drain-Anschluss mit einem ersten Ausgangsknoten einer Invertiererschaltung IS1, welche aus den beiden Invertierern I1 und I2 aufgebaut ist, und mit seinem Source-Anschluss mit einer ersten Bitleitung BLP1 eines ersten Bitleitungspaares elektrisch verbunden. Am Knoten B wird entweder ein "High"- oder ein "Low"-Pegel erzeugt und die Information als Datenbit in der Speicherzelle 1 gespeichert.

Der zweite Zugriffstransistor Z2 ist mit seinem Drain-Anschluss mit einem zweiten Ausgangsknoten der Invertiererschaltung IS1 und mit seinem Source-Anschluss mit einer zweiten Bitleitung BLQP1 des ersten Bitleitungspaares elektrisch verbunden. Je nach Zustand des Knotens B liegt am Knoten BQ ein zum Knoten B invertiertes Signal an und wird als invertierte Information als Datenbit gespeichert. Über die beiden Bitleitungen BLP1 und BLQP1 werden komplementäre Datensignale übertragen.

In der ersten Speicherzelle 1 werden Daten gespeichert, die mit Vergleichsdaten die über Vergleichsdatenleitungen, hier die Bitleitungen BLP1 und BLQP1, übertragen werden. Über die Bitleitungen BLP1 und BLQP1 werden Daten in die Speicherzelle 1 geschrieben oder aus dieser gelesen, wenn die erste Speicherzelle 1 durch die Wortleitung WL1, welche einen vorbestimmten logischen Zustand aufweist, ausgewählt wird.

Die inhaltsadressierbare Speicherzelle weist des Weiteren eine Vergleichereinheit 2 auf. Die Vergleichereinheit 2 weist einen ersten Schaltungsteil ST1 und eine zweiten Schaltungsteil ST2 auf. Der erste Schaltungsteil ST1 weist zwei Schaltungszweige auf, wobei der erste Schaltungszweig aus zwei in Reihe geschaltete p-Kanal-Transistoren T1 und T4 und der zweite Schaltungszweig ebenfalls aus zwei in Reihe geschaltete p-Kanal-Transistoren T2 und T3 aufgebaut ist. Die Transistoren T1 und T2 sind mit ihren Source-Anschlüssen an ein Versorgungsspannungspotenzial Vdd geführt. Der Transistor T1 ist mit seinem Drain-Anschluss mit dem Source-Anschluss des Transistors T4 verbunden. Mit seinem Gate-Anschluss ist der Transistor T1 mit dem ersten Ausgangsknoten der ersten Speicherzelle 1 bzw. der Invertiererschaltung IS verbunden. Der Transistor T2 ist mit seinem Drain-Anschluss mit dem Source-Aschluss des Transistors T3 verbunden. Mit seinem Gate-Aschluss ist der Transistor T2 mit dem zweiten Ausgangsknoten der Invertiererschaltung IS1 elektrisch verbunden. Die beiden Transistoren T3 und T4 sind jeweils mit ihren Drain-Anschlüssen über einen Knoten mit der Abgleichleitung AL verbunden, wobei der Transistor T3 mit seinem Gate-Anschluss mit der Bitleitung BLQP1 und der Transistor T4 mit seinem Gate-Aschluss mit der Bitleitung BLP1 verbunden ist.

Der zweite Schaltungsteil ST2 der Vergleichereinheit 2 weist vier Transistoren T5 bis T8 auf, die im Ausführungsbeispiel als n-Kanal-Transistoren ausgebildet sind. In einem ersten Schaltungszweig des zweiten Schaltungsteils ST2 sind die beiden Transistoren T5 und T8 in Reihe geschaltet, wobei der Drain-Anschluss des Transistors T8 mit dem Source-Anschluss des Transistors T5 verbunden ist, der Source-Anschluss des Transistors T8 an Massepotenzial Vss geführt ist und der Drain-Anschluss des Transistors T5 mit der Abgleichleitung AL verbunden ist. Der Gate-Anschluss des Transistors T5 ist mit der Bitleitung BLP1 und der Gate-Anschluss des Transistors T8 mit dem zweiten Ausgangsknoten der Invertiererschaltung IS1 verbunden. Im zweiten Schaltungszweig des zweiten Schaltungsteils ST2 sind die beiden Transistoren T6 und T7 in Reihe geschaltet, wobei der Drain-Anschluss des Transistors T7 mit dem Source-Anschluss des Transistors T6 verbunden ist und der Source-Anschluss des Transistors T7 an Massepotenzial Vss geführt ist. Der Gate-Anschluss des Transistors T7 ist mit dem ersten Ausgangsknoten der Invertiererschaltung IS verbunden. Der Transistor T6 ist mit seinem Drain-Anschluss mit der Abgleichleitung AL und mit seinem Gate-Anschluss mit der Bitleitung BLQP1 elektrisch verbunden.

Während einer Vergleichsoperation, das heißt die Zugriffstransistoren Z1 und Z2 sind deaktiviert, werden die in der ersten Speicherzelle 1 gespeicherten Daten mittels der Vergleichereinheit 2 mit Vergleichsdaten, die im dargestellten Beispiel über die Bitleitungen BLP1 und BLQP1 übertragen werden, verglichen.

Die gemäß 3 ausgeführte inhaltsadressierbare Speicherzelle ist als binäre Speicherzelle ausgebildet. Durch die Anordnung der vier Transistoren T1 bis T4 in dem ersten Schaltungsteil ST1 und deren Verschaltung ist ein Detektieren einer Übereinstimmung oder einer Abweichung von in der ersten Speicherzelle 1 gespeicherten Daten mit Vergleichsdaten möglich. Durch die vier Transistoren T5 bis T8 im zweiten Schaltungsteil ST2 in der Vergleichereinheit 2 ist es möglich, dass beim Erkennen einer Abweichung beim Vergleich der oben genannten Daten die Abgleichleitung AL auf einem absoluten "Low"-Potenzial gehalten wird. Diese absolute "Low"-Potenzial-Einstellung der Abgleichleitung AL ist darüber hinaus auch beim Precharge der Bitleitungen BLP1 und BLQP1 möglich und gewährleistet. Die Abgleichleitung AL wird vor einer Vergleichsoperation durch den zweiten Schaltungsteil ST2 auf das entsprechende Potenzial, im dargestellten Beispiel auf einen "Low"-Zustand, vorgeladen, wenn die beiden Bitleitungen BLP1 und BLQP1 auf „High"-Zustand gelegt sind.

Es kann auch vorgesehen sein, dass die erste Speicherzelle 1 an dem ersten Bitleitungspaar BLP1 und BLQP1 zum Lesen und Schreiben von Daten in und aus der Speicherzelle 1 verbunden ist und die Transistoren T4 und T5 mit einer ersten Bitleitung eines zweiten Bitleitungspaares und die Transistoren T3 und T6 mit einer zweiten Bitleitung des zweiten Bitleitungspaares zum Suchen bzw. Vergleichen von Daten elektrisch verbunden sind.

Durch die Ausbildung der Vergleichereinheit können die insbesondere für Chipcard-Applikationen aufgrund von Sicherheitserfordernissen im Hinblick auf unbefugten Zugriff und Manipulation der Daten notwendigen und wesentlichen Voraussetzungen, dass keine floatenden Knoten in der Vergleichereinheit der inhaltsadressierbaren Speicherzelle vorhanden sind und des Weiteren alle Knoten mit vollständigen Pegeln arbeiten, erfüllt werden. In der Ausbildung der Vergleichereinheit ist ein vollständiger statischer Lösungsansatz der Schaltung ohne floatenden Knoten realisiert.

Die Funktionsweise während einer Abgleichoperation bzw. Vergleichsoperation von in der ersten Speicherzelle 1 gespeicherten Daten mit Vergleichsdaten der in 3 dargestellten binären CAM-Zelle wird nachfolgend erläutert. Die Wortleitung WL1 weist einen logischen "Low"-Zustand auf, wodurch die Zugriffstransistoren Z1 und Z2 deaktiviert sind und die erste Speicherzelle 1 von den beiden Bitleitungen BLP1 und BLQP1 getrennt ist. Ist in der ersten Speicherzelle 1 beispielsweise ein logischer Zustand "1" gespeichert, so wird im Knoten B der logische "High"-Zustand und im Knoten BQ der logische "Low"-Zustand gespeichert. Wird des Weiteren beispielsweise angenommen, dass die Vergleichsdaten den logischen Zustand "1" aufweisen, so weist die Bitleitung BLP1 einen "High"-Zustand und die Bitleitung BLQP1 einen "Low"-Zustand auf. Aufgrund dieser Voraussetzungen sind die Transistoren T2, T3, T5 und T7 angeschaltet und die Transistoren T1, T4, T6 und T8 ausgeschaltet. Nur der Signalweg, der durch den zweiten Schaltungszweig des ersten Schaltungsteils ST1 durch die Transistoren T2 und T3 gekennzeichnet ist, ist geschaltet und die Abgleichleitung AL, die auf einen "Low"-Zustand vorgeladen ist, wird umgeladen. Es wird somit eine Übereinstimmung der gespeicherten Daten mit den Vergleichsdaten erkannt.

Eine Übereinstimmung der gespeicherten Daten mit den Vergleichsdaten tritt auch in dem Falle ein, in dem in der ersten Speicherzelle 1 ein logischer Zustand "0" gespeichert ist und die Bitleitung BLP1 einen "Low"-Zustand aufweist. Dadurch weist der Knoten B einen "Low"-Zustand und der Knoten BQ einen "High"-Zustand auf. Die Transistoren T1, T4, T6 und T8 sind angeschaltet und die Transistoren T2, T3, T5 und T7 abgeschaltet. Die den "Low"-Zustand aufweisende Abgleichleitung AL ist in diesem Fall über den ersten Schaltungszweig des ersten Schaltungsteils ST1, der durch die Transistoren T1 und T4 gebildet wird, mit dem Versorgungsspannungspotenzial Vdd verbunden und die Abgleichleitung AL wird umgeladen.

Ist in der ersten Speicherzelle 1 der logische Zustand "1" gespeichert und weist die Bitleitung BLP1 einen "Low"-Zustand auf, das heißt die Vergleichsdaten weisen den logischen Zustand "0" auf, weist der Knoten B einen "High"-Zustand und der Knoten BQ einen "Low"-Zustand auf. Die Transistoren T2, T4, T6 und T7 sind angeschaltet und die Transistoren T1, T3, T5 und T8 sind abgeschaltet. Dadurch wird die sich auf dem "Low"-Zustand befindende Abgleichleitung AL über den zweiten Schaltungszweig des zweiten Schaltungsteils ST2, welcher durch die beiden Transistoren T6 und T7 gebildet wird, weiterhin auf dem „Low"-Zustand gehalten und es wird eine Abweichung zwischen den gespeicherten Daten und den Vergleichsdaten erkannt.

Eine Abweichung der gespeicherten Daten von den Vergleichsdaten wird auch dann erkannt, wenn der Knoten B einen "Low"-Zustand und die Bitleitung BLP1 einen "High"-Zustand aufweisen. In diesem Fall wird die auf den "Low"-Zustand geladene Abgleichleitung AL über den ersten Schaltungszweig des zweiten Schaltungsteils ST2, der durch die beiden Transistoren T5 und T8 gebildet wird, weiterhin auf dem „Low"-Zustand gehalten.

Ein erfindungsgemäßes Ausführungsbeispiel einer inhaltsadressierbaren Speicherzelle, die als ternäre CAM-Zelle ausgebildet ist, ist in 4 dargestellt. Die erste Speicherzelle 1 ist entsprechend der ersten Speicherzelle 1 in 3 ausgebildet. Die Vergleichereinheit 2 weist die acht Transistoren T1 bis T8 auf, die entsprechend der 3 in der Vergleichereinheit 2 angeordnet sind. Die Transistoren T1 und T2 sind mit ihren Source-Anschlüssen an ein Versorgungsspannungspotenzial Vdd angelegt. Zusätzlich weist die Vergleichereinheit 2 fünf Transistoren T9 bis T13 auf. Die Transistoren T9 und T10 sind im Ausführungsbeispiel als p-Kanal-Transistoren ausgebildet und im ersten Schaltungsteil ST1 angeordnet. Der Transistor T9 liegt mit seinem Source-Anschluss an dem Versorgungsspannungspotenzial Vdd an und ist mit seinem Drain-Anschluss mit dem ersten Schaltungszweig verbunden. Der Gate-Anschluss des Transistors T9 ist mit dem Gate-Anschluss des Transistors T10 verbunden und beide Gate-Anschlüsse weisen zudem eine elektrische Verbindung zu einer zweiten Speicherzelle 3 auf. Der Source-Anschluss des Transistors T10 liegt ebenfalls an dem Versorgungsspannungspotenzial Vdd an und sein Drain-Anschluss ist mit dem zweiten Schaltungszweig des ersten Schaltungsteils ST1 elektrisch verbunden.

Ein weiterer Transistor T11 ist in Reihe zum zweiten Schaltungsteil ST2 geschaltet und mit seinem Source-Anschluss mit Massepotenzial Vss verbunden. Der Gate-Anschluss des Transistors T11 ist einerseits mit den Gate-Anschlüssen der Transistoren T9 und T10 und andererseits mit einer Invertiererschaltung IS2, die in einer zweiten Speicherzelle 3 angeordnet ist, elektrisch verbunden. Die Transistoren T12 und T13 sind zueinander in Reihe geschaltet, wobei der Transistor T12 mit seinem Drain-Anschluss mit der Abgleichleitung AL verbunden ist und mit seinem Gate-Anschluss mit der zweiten Bitleitung BLQP1 des ersten Bitleitungspaares verbunden ist. Der Transistor T13 ist mit seinem Gate-Anschluss mit der ersten Bitleitung BLP1 elektrisch verbunden.

Die zweite Speicherzelle 3 weist neben der aus den Invertierern I3 und I4 ausgebildeten Invertiererschaltung IS2 zwei Zugriffstransistoren Z3 und Z4 auf, die mit ihren Gate-Anschlüssen mit einer zweiten Wortleitung WL2 verbunden sind. Mit ihren Drain-Anschlüssen sind die Zugriffstransistoren Z3 und Z4 mit der Invertiererschaltung IS2 verbunden. Der Transistor Z3 ist mit seinem Source-Anschluss mit der Bitleitung BLP1 und der Transistor Z4 ist mit seinem Source-Anschluss mit der Bitleitung BLQP1 verbunden. Die zweite Speicherzelle 3 dient für die lokale Speicherung der Maskierungsinformationen. Am Knoten M wird entweder ein "High"- oder ein "Low"-Pegel erzeugt und die Information als Maskenbit gespeichert. Abhängig vom Zustand des Knotens M weist der Knoten MQ einen Ladungszustand auf, der ein zum Knoten M invertiertes Signal aufweist und als invertierte Information als Maskenbit gespeichert wird. Das Einschreiben oder Auslesen einer Maskierungsinformation in die zweite Speicherzelle 3 wird in diesem Ausführungsbeispiel über das Bitleitungspaar BLP1 und BLQP1 und über die zweite Wortleitung WL2 durchgeführt.

Für die Speicherung des Maskenbits in der zweiten Speicherzelle 3 wird vorteilhafter Weise eine SRAM-Zelle verwendet. Diese weist gegenüber einer alternativen Ausbildung der Speicherzelle 3 als DRAM-Zelle die Vorteile auf, dass sie zum einen keine flüchtige Speicherzelle ist und keinen Refresh-Zyklus zur Gewährung des benötigten Potenzials benötigt und zum anderen unempfindlicher gegenüber externen Störungseinflüssen ist, wodurch die Sicherheit der inhaltsadressierbaren Speicherzelle verbessert werden kann.

Die Funktionsweise während einer Abgleichoperation bzw. Vergleichsoperation von in der ersten Speicherzelle 1 gespeicherten Daten mit Vergleichsdaten der in 4 dargestellten ternären CAM-Zelle wird nachfolgend erläutert. Die Wortleitung WL1 weist einen logischen "Low"-Zustand auf, wodurch die Zugriffstransistoren Z1 und Z2 deaktiviert sind und die erste Speicherzelle 1 von den beiden Bitleitungen BLP1 und BLQP1 getrennt ist. Ist in der ersten Speicherzelle 1 beispielsweise ein logischer Zustand "1" gespeichert, so wird im Knoten B der logische "High"-Zustand und im Knoten BQ der logische "Low"-Zustand gespeichert. Wird des Weiteren beispielsweise angenommen, dass die Vergleichsdaten den logischen Zustand "1" aufweisen, so weist die Bitleitung BLP1 einen "High"-Zustand und die Bitleitung BLQP1 einen "Low"-Zustand auf.

Dadurch werden die Transistoren T1 bis T8 gemäß der im entsprechenden Beispiel zu 3 beschriebenen Fall an- bzw. abgeschaltet. Ist nun die zweite Wortleitung WL2 auf einen "Low"-Zustand sind die Zugriffstransistoren Z3 und Z4 deaktiviert und die zweite Speicherzelle 3 von den -Bitleitungen BLP1 und BLQP1 getrennt. Ist nun beispielsweise in der zweiten Speicherzelle 3 ein logischer Zustand "1" als Maskenbit gespeichert, so weißt der Knoten M einen "High"-Zustand und der Knoten MQ einen "Low"-Zustand auf. Die Transistoren T9 bis T11, die mit dem Knoten MQ verbunden sind, empfangen ein entsprechendes Signal und die Transistoren T9 und T10 werden angeschaltete und der Transistor T11 wird abgeschaltet. Die Transistoren T9 und T10 überblenden die Transistoren T1 und T2 und der erste Schaltungszweig wird durchgeschalten, da auch der Transistor T3 angeschaltet ist. Das gespeicherte Datenbit in der ersten Speicherzelle 1 ist damit maskiert und eine Übereinstimmung wird ausgegeben.

Ist in einem weiteren Fall der Knoten B auf einem "High"-Zustand und die Bitleitung BLP1 auf einem "Low"-Zustand, sind die Transistoren T2, T4, T6 und T7 angeschaltet und die Transistoren T1, T3, T5 und T8 ausgeschaltet. Keiner der beiden Schaltungszweige des ersten Schaltungsteils ST1 ist durchgeschaltet, die Abgleichleitung AL würde weiterhin auf „Low"-Zustand gehalten werden und es würde keine Abweichung beim Vergleich erkannt werden. Die Transistoren T9 und T10 werden jedoch durch das Signal vom Knoten MQ durchgeschaltet und der Transistor T11 abgeschaltet. Dadurch wird nun ein durchgeschalteter Schaltungszweig aus den Transistoren T9 und T4 erzeugt, wodurch die Abgleichleitung AL und auf den "High"-Zustand umgeladen wird. Damit wird in diesem Fall unabhängig vom Ergebnis des Vergleichs der gespeicherten Daten mit den Vergleichsdaten – in diesem Fall keine Übereinstimmung – durch die Maskierung eine Übereinstimmung erzeugt und erkannt.

Diese Beispiel soll lediglich zur Verdeutlichung der Funktionsweise angeführt sein. Wie bereits zur Funktionsweise der in 3 dargestellten CAM-Zelle ausgeführt, sind noch weitere Kombinationen von Zuständen der Knoten B und BQ sowie der Bitleitungen BLP1 und BLQP1 möglich und in einfacher Weise für das Ausführungsbeispiel in 4 sowie auch für die in den 5 bis 7 dargestellten Ausführungsbeispiele nachvollziehbar.

Durch eine Maskierung wird somit unabhängig vom Ergebnis den ein Vergleich von gespeicherten Daten mit Vergleichsdaten ergibt – Übereinstimmung oder Abweichung – eine Übereinstimmung ausgegeben, da stets entweder der erste oder der zweite Schaltungszweig des ersten Schaltungsteils ST1 durchgeschaltet ist – entweder T9 und T4 oder T3 und T10 – und die Abgleichleitung AL auf den "High"-Zustand umgeladen wird. Dies ist auch für die in den nachfolgenden Ausführungsbeispielen in den 5 bis 7 gültig.

Die Transistoren T12 und T13 in der Vergleichereinheit 2 kontrollieren den Precharge der Abgleichleitung AL, die beispielsweise auf den "Low"-Zustand vorgeladen wird. Das Vorladen der Abgleichleitung AL wird über die Transistoren T12 und T13 durchgeführt, die beide angeschaltet sind, wenn die Bitleitungen BLP1 und BLQP1 beide einen "High"-Zustand aufweisen.

Durch die zusätzlichen fünf Transistoren T9 bis T13 in der Vergleichereinheit 2 wird die Maskierungsfunktionalität direkt in die Grundzelle der inhaltsadressierbaren Speicherzelle integriert, wodurch die Maske durch einen Maskenschreibvorgang jederzeit geändert werden kann. Wie bereits erwähnt übersteuern bzw. überblenden diese fünf Transistoren T9 bis T13 die für einen Vergleichsvorgang vorgesehenen Transistoren T1 bis T8 dann, wenn vorgesehen ist, dass dann, falls diese Transistoren T1 bis T8 ein gespeichertes Bit mit einem gesuchten Bit vergleichen, dieses eine Bit während der Suche durch den Inhalt der zweiten Speicherzelle 3 maskiert wird. Darüber hinaus ermöglichen die Transistoren T9 bis T13, dass die Vergleichereinheit 2 im Precharge-Zustand auf einem definierten und stabilen Zustand gehalten wird. Dies ist insbesondere vorteilhaft gegenüber inhaltsadressierbaren Speicherzellen mit floatenden Knoten, bei denen dies im wesentlichen nicht möglich ist.

Es kann auch vorgesehen sein, dass im Knoten M der "Low"-Pegel und am Knoten MQ der "High"-Pegel anliegt und zur Maskierung gespeichert wird. Dann müssen die Transistoren T9, T10 und T11 mit ihren Gate-Anschlüssen mit dem Knoten M elektrisch verbunden werden.

Ein weiteres Ausführungsbeispiel ist in 5 dargestellt. In diesem Beispiel sind sowohl die Zugriffstransistoren Z1 und Z2 der ersten Speicherzelle 1 als auch die Zugriffstransistoren Z3 und Z4 der zweiten Speicherzelle 3 an der Wortleitung WL1 angeschlossen. Der Source-Anschluss des Zugriffstransistors Z3 ist jedoch in diesen Ausführungsbeispiel an eine erste Bitleitung BLP2 eines zweiten Bitleitungspaares und der Source-Anschluss des Zugriffstransistors Z4 ist an eine zweite Bitleitung BLQP2 des zweiten Bitleitungspaares angeschlossen. Dadurch wird ermöglicht, dass sowohl ein Datenbit als auch ein Maskenbit in einem Schreibzyklus in die entsprechenden Speicherzellen eingeschrieben werden können.

In 6 ist ein weiteres Ausführungsbeispiel einer inhaltsadressierbaren Speicherzelle aufgezeigt. Die Grundschaltung entspricht der in den 4 und 5. Ein Unterschied besteht darin, dass die Zugriffstransistoren Z1 und Z2 der ersten Speicherzelle 1 mit der ersten Wortleitung WL1 und die Zugriffstransistoren Z3 und Z4 mit der zweiten Wortleitung WL2 elektrisch verbunden sind. Des Weiteren sind die Source-Anschlüsse der Zugriffstransistoren Z3 und Z4 gemäß dem Ausführungsbeispiel in 5 mit Bitleitungen BLP2 bzw. BLQP2 verbunden. Durch dieses Ausführungsbeispiel ist es möglich, dass ein Datenbit und ein Maskenbit entweder beide in einem Schreibzyklus in die entsprechenden Speicherzellen eingeschrieben werden oder aber getrennt in mehreren Schreibzyklen eingeschrieben werden. Dadurch sind mehrere Betriebsmodi der inhaltsadressierbaren Speicherzelle möglich.

Ein viertes Ausführungsbeispiel einer ternären CAM-Zelle ist in 7 dargestellt. Die Verschaltung der Zugriffstransistoren Z1 bis Z4 mit den Wortleitungen WL1 und WL2 sowie mit den Bitleitungen BLP1, BLQP1, BLP2 und BLQP2 entspricht derjenigen gemäß 6. Die Transistoren T4 und T5 der Vergleichereinheit 2 sind jedoch in diesem Ausführungsbeispiel mit einer ersten Bitleitung BLP3 eines dritten Bitleitungspaares und die Transistoren T3 und T6 sind mit einer zweiten Bitleitung BLQP3 des dritten Bitleitungspaares verbunden. Der Vorteil dieser Ausführung liegt darin, dass für das Lesen, das Schreiben und das Vergleichen jeweils eine im Vergleich zu den anderen Ausführungen kleinere Kapazität umgeladen wird. Des Weiteren kann durch diese Verschaltungsalternative eine Bewertung des Abgleichs während eines Lese-/Schreibvorgangs unterdrückt werden, woraus eine geringere Verlustleistung resultiert.

Eine weitere Weiterbildung lässt sich dadurch realisieren, dass die Verschaltung der ersten Speicherzelle 1 und der Vergleichereinheit 2 mit den entsprechenden Wort- und Bitleitungen gemäß 7 ausgeführt ist und die Zugriffstransistoren Z3 und Z4 der zweiten Speicherzelle 3 mit ihren Gate-Anschlüssen ebenfalls an der ersten Wortleitung WL1 angeschlossen sind und mit Ihren Source-Anschlüssen an den entsprechenden Bitleitungen des ersten oder des zweiten Bitleitungspaares angeschlossen sind. Es kann auch vorgesehen sein, die Verschaltung gemäß 7 auszuführen und eine Änderung darin vorzunehmen, dass die Source-Anschlüsse der Zugriffstransistoren Z3 und Z4 jedoch an die Bitleitungen BLP1 bzw. BLQP1 angeschlossen sind.

Wie die Maskenbits in die Speicherzellen geschrieben oder gelesen werden, ist für die Erfindung unwesentlich. Wesentlich für die Erfindung ist allerdings, dass die Maskierungsinformation nicht einmalig fest vorgegeben ist, sondern dass sie erlaubt, bei einer nachfolgenden Suche einzelne Bits bzw. ganze Teilworte durch Setzen einer entsprechenden Maskierungsinformation auszublenden. Dadurch kann ein Suchalgorithmus für die jeweilige Applikation auch während seines Ablaufs geändert werden.

Mit der Erfindung wird eine inhaltsadressierbare Speicherzelle realisiert, welche einen Grundaufbau aufweist, der für eine ternäre CAM-Zelle als Basis dient. Die Verschaltung der RAM-Speicherzellen und der Vergleichereinheit gewährt eine hohe Sicherheit in Bezug auf einen unbefugten Datenzugriff oder eine Datenmanipulation, insbesondere für Applikationen bei Chipcards. Weiterhin wird eine hohe Funktionalität der CAM-Zellen, insbesondere die Maskenfunktionalität der ternären CAM-Zellen in Bezug auf deren geforderte Veränderlichkeit bei verschiedenen Applikationen gewährleistet. Die Vergleichereinheit weist dazu für die Realisierung einer ternären CAM-Zelle mindestens dreizehn Transistoren auf, die derart in der Vergleichereinheit und mit den restlichen Elementen der gesamten CAM-Zelle verschaltet sind, dass die CAM-Zelle keinen floatenden Knoten aufweist, sondern die Verschaltung einen vollständigen statischen Problemlösungsansatz darstellt.


Anspruch[de]
Ternäre inhaltsadressierbare Speicherzelle mit

– einer ersten Speicherzelle (1) zum Speichern von Daten, wobei die Speicherzelle (1) aus zwei Zugriffstransistoren (Z1, Z2) und zwei Invertierern (I1, I2) aufgebaut ist,

– die Zugriffstransistoren (Z1, Z2) mit einer ersten Wortleitung (WL1) verbunden sind,

– einem ersten Bitleitungspaar (BLP1, BLQP1) zum Übertragen der Daten zu und von der Speicherzelle (1), wobei die beiden Bitleitungen (BLP1, BLQP1) mit der ersten Speicherzelle (1) elektrisch verbunden sind,

– einer Vergleichereinheit (2), die mit der ersten Speicherzelle (1) elektrisch verbunden ist, und

– einer Abgleichleitung (AL), die mit der Vergleichereinheit (2) elektrisch verbunden ist, wobei

– die Vergleichereinheit (2) derart aufgebaut ist, dass

– die Vergleichseinheit (2) einen ersten Schaltungsteil (ST1) mit zwei Schaltungszweigen aufweist, die jeweils an einem ersten Ende über einen ersten Knoten mit einem Versorgungsspannungspotential (Vdd) verbunden sind und zwei in Reihe geschaltete Transistoren (T1 bis T4) eines ersten Leitungstyps aufweisen und an einem zweiten Ende über einen zweiten Knoten mit der Abgleichleitung (AL) elektrisch verbunden sind,

– ein Transistor (T1) eines ersten Schaltungszweiges des ersten Schaltungsteils (ST1) mit seinem Gate-Anschluss mit einem ersten Ausgang der ersten Speicherzelle (1) und ein Transistor (T2) eines zweiten Schaltungszweiges des ersten Schaltungsteils (ST1) mit seinem Gate-Anschluss mit einem zweiten Ausgang der ersten Speicherzelle (1) elektrisch verbunden ist,

– der in dem ersten Schaltungszweig des ersten Schaltungsteils (ST1) enthaltene vierte Transistor (T4) mit seinem Gate-Anschluss mit der ersten Bitleitung (BLP1) des ersten Bitleitungspaares oder mit einer ersten Bitleitung (BLP3) eines weiteren Bitleitungspaares elektrisch verbunden ist und der in dem zweiten Schaltungszweig des ersten Schaltungsteils (ST1) enthaltene dritte Transistor (T3) mit seinem Gate-Anschluss mit der zweiten Bitleitung (BLQP1) des ersten Bitleitungspaares oder mit einer zweiten Bitleitung (BLQP3) des weiteren Bitleitungspaares elektrisch verbunden ist,

– die Vergleichereinheit (2) einen zweiten Schaltungsteil (ST2) aufweist, der einen elften Transistor (T11) eines zweiten Leitungstyps enthält, der mit seinem ersten Anschluss mit einem Massepotentialanschluss (Vss) verbunden ist, und der zweite Schaltungsteil (ST2) zwei Schaltungszweige aufweist, die jeweils zwei in Reihe geschaltete Transistoren (T5 bis T8) eines zweiten Leitungstyps aufweisen und die an einem zweiten Ende über eine Knoten mit einem zweiten Anschluss des elften Transistors (T11) und an einem ersten Ende über den ersten Knoten mit der Abgleichleitung (AL) verbunden sind,

– ein Transistor (T8) eines ersten Schaltungszweiges des zweiten Schaltungsteils (ST2) mit seinem Gate-Anschluss mit dem zweiten Ausgang der ersten Speicherzelle (1) und ein Transistor (T7) des zweiten Schaltungszweiges des zweiten Schaltungsteils (ST2) mit seinem Gate-Anschluss mit dem ersten Ausgang der ersten Speicherzelle (1) elektrisch verbunden ist,

– der in dem ersten Schaltungszweig des zweiten Schaltungsteils (ST2) enthaltene fünfte Transistor (T5) mit seinem Gate-Anschluss mit der ersten Bitleitung (BLP1) des ersten Bitleitungspaares oder mit einer ersten Bitleitung (BLP3) eines weiteren Bitleitungspaares elektrisch verbunden ist und der in dem zweiten Schaltungszweig des zweiten Schaltungsteils (ST2) enthaltene sechste Transistor (T6) mit seinem Gate-Anschluss mit der zweiten Bitleitung (BLQP1) des ersten Bitleitungspaares oder mit einer zweiten Bitleitung (BLQP3) des weiteren Bitleitungspaares elektrisch verbunden ist,

– ein neunter Transistor (T9) des ersten Leitungstyps zwischen das Versorgungsspannungspotential (Vdd) und einen Knotenpunkt zwischen dem ersten (T1) und dem vierten Transistor (T4) geschaltet ist, und ein zehnter Transistor (T10) des ersten Leitungstyps zwischen das Versorgungsspannungspotential (Vdd) und eine Knotenpunkt zwischen dem zweiten (T2) und dem dritten Transistor (T3) geschaltet ist, wobei die Gate-Anschlüsse des neunten (T9), des zehnten (T10) und des elften Transistors (T11) miteinander verbunden sind,

– ein zwölfter (T12) und ein dreizehnter Transistor (T13) des zweiten Leitungstyps in Reihe zwischen einen Knotenpunkt der Abgleichleitung (AL) und dem Massepotentialanschluss (Vss) geschaltet sind, wobei der zwölfte Transistor (T12) mit seinem Gate-Anschluss mit der zweiten Bitleitung (BLQP1) des ersten Bitleitungspaares oder mit einer zweiten Bitleitung (BLQP3) des weiteren Bitleitungspaares verbunden ist und der dreizehnte Transistor (T13) mit seinem Gate-Anschluss mit der ersten Bitleitung (BLP1) des ersten Bitleitungspaares oder mit einer ersten Bitleitung (BLP3) des weiteren Bitleitungspaares verbunden ist,

– einer zweiten Speicherzelle (3), insbesondere einer Speicherzelle zum Speichern eines Masken-Bits, welche zwei Zugriffstransistoren (Z3, Z4) und zwei Invertierer (I3, I4) aufweist, und welche mit der Vergleichereinheit (2), insbesondere mit den Gate-Anschlüssen des neunten, zehnten und elften Transistors (T9, T10, T11), elektrisch verbunden ist.
Ternäre inhaltsadressierbare Speicherzelle nach Anspruch 1, dadurch gekennzeichnet, dass der Gate-Anschluss des elften Transistors (T11) mit einem Eingang eines ersten Invertierers (I4) der zweiten Speicherzelle (3) elektrisch verbunden ist. Ternäre inhaltsadressierbare Speicherzelle nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der erste Zugriffstransistor (Z3) der zweiten Speicherzelle (3) mit einem ersten Anschluss mit der ersten Bitleitung (BLP1) des ersten Bitleitungspaares und mit seinem Gate-Anschluss mit einer zweiten Wortleitung (WL2) elektrisch verbunden ist und der zweite Zugriffstransistor (Z4) der zweiten Speicherzelle (3) mit einem ersten Anschluss mit der zweiten Bitleitung (BLQP1) des ersten Bitleitungspaares und mit seinem Gate-Anschluss mit der zweiten Wortleitung (WL2) elektrisch verbunden ist. Ternäre inhaltsadressierbare Speicherzelle nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der erste Zugriffstransistor (Z3) der zweiten Speicherzelle (3) mit einem ersten Anschluss mit einer ersten Bitleitung (BLP2) eines zweiten Bitleitungspaares und mit seinem Gate-Anschluss mit der ersten Wortleitung (WL1) elektrisch verbunden ist und der zweite Zugriffstransistor (Z4) der zweiten Speicherzelle (3) mit einem ersten Anschluss mit einer zweiten Bitleitung (BLQP2) des zweiten Bitleitungspaares und mit seinem Gate-Anschluss mit der ersten Wortleitung (WL1) elektrisch verbunden ist. Ternäre inhaltsadressierbare Speicherzelle nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der erste Zugriffstransistor (Z3) der zweiten Speicherzelle (3) mit einem ersten Anschluss mit einer ersten Bitleitung (BLP2) eines zweiten Bitleitungspaares und mit seinem Gate-Anschluss mit einer zweiten Wortleitung (WL2) elektrisch verbunden ist und der zweite Zugriffstransistor (Z4) der zweiten Speicherzelle (3) mit einem ersten Anschluss mit einer zweiten Bitleitung (BLQP2) des zweiten Bitleitungspaares und mit seinem Gate-Anschluss mit der zweiten Wortleitung (WL2) elektrisch verbunden ist. Ternäre inhaltsadressierbare Speicherzelle nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass der in dem ersten Schaltungszweig enthaltene vierte Transistor (T4) und der in dem ersten Schaltungszweig enthaltene fünfte Transistor (T5) jeweils mit ihren Gate-Anschlüssen mit der ersten Bitleitung (BLP1) des ersten Bitleitungspaares elektrisch verbunden sind und der in dem zweiten Schaltungszweig enthaltene dritte Transistor (T3) und der in dem zweiten Schaltungszweig enthaltene sechste Transistor (T6) jeweils mit ihren Gate-Anschlüssen mit der zweiten Bitleitung (BLQP1) des ersten Bitleitungspaares elektrisch verbunden sind. Ternäre inhaltsadressierbare Speicherzelle nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass der in dem ersten Schaltungszweig enthaltene vierte Transistor (T4) und der in dem ersten Schaltungszweig enthaltene fünfte Transistor (T5) jeweils mit ihren Gate-Anschlüssen mit der ersten Bitleitung (BLP3) eines weiteren Bitleitungspaares elektrisch verbunden sind und der in dem zweiten Schaltungszweig enthaltene dritte Transistor (T3) und der in dem zweiten Schaltungszweig enthaltene sechste Transistor (T6) jeweils mit ihren Gate-Anschlüssen mit der zweiten Bitleitung (BLQP3) des weiteren Bitleitungspaares elektrisch verbunden sind. Ternäre inhaltsadressierbare Speicherzelle nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Transistoren des ersten Typs als p-Kanal-Transistoren oder n-Kanal-Transistoren ausgebildet sind und die Transistoren des zweiten Typs den jeweils anderen, zum ersten Typ entgegengesetzten Typ aufweisen.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com