-
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 In formationszustä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
hin aus 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 Abwei chung 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 Spei cherzelle 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 Da tenbit
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.