-
Die
Erfindung bezieht sich auf ein inhaltsadressierbares Speicherbauelement
nach dem Oberbegriff des Anspruchs 1.
-
Inhaltsadressierbare
Speicher (CAM) sind Speicherbauelemente, die eine Mehrzahl von CAM-Zellen
zum Speichern von Daten beinhalten und vielfach als ein Markierungsspeicher
zum Speichern von Adressen eines Cache-Speichers, d.h. eines Seitenpufferspeichers,
verwendet werden, wenn ein Hochgeschwindigkeitsbetrieb benötigt wird.
Eine CAM-Zelle umfasst einen statischen Speicher mit wahlfreiem
Zugriff (SRAM) und eine Vergleichsschaltung und ist mit einer Übereinstimmungsleitung
verbunden. Die Vergleichsschaltung der CAM-Zelle vergleicht die
im SRAM gespeicherten Daten mit Daten, die über Bitleitungen zugeführt werden,
und gibt auf der Übereinstimmungsleitung
ein Übereinstimmungssignal
ab, wenn die verglichenen Daten einander ähnlich sind.
-
Genauer
umfasst ein typisches CAM-Feld eine Mehrzahl von CAM-Zellen, die matrixförmig in Zeilen
und Spalten angeordnet sind. Die CAM-Zellen einer jeweiligen Zeile
sind mit einer zugehörigen Übereinstimmungsleitung
verbunden, und die CAM-Zellen einer jeweiligen Spalte sind mit zugehörigen Bitleitungen
verbunden. Jede CAM-Zelle in dem CAM-Zellenfeld vergleicht die darin
gespeicherten Daten mit den Daten, die über die zur betreffenden CAM-Zelle
gehörige
Bitleitung zugeführt
werden. Wenn die verglichenen Daten voneinander verschieden sind,
entlädt
die CAM-Zelle die Übereinstimmungsleitung.
Der entladene Spannungspegel der Übereinstimmungsleitung zeigt
an, dass in einer Spalte des CAM-Feldes keine Übereinstimmung vorliegt. Die
fehlende Übereinstimmung
in der Spalte des CAM-Feldes kann von irgendeiner der CAM-Zellen
angezeigt werden, die in der betreffenden Spalte miteinander verbunden
sind, indem die zugehörige Übereinstimmungsleitung
entladen wird.
-
1 veranschaulicht eine exemplarische CAM-Zelle 10,
wie sie in dem koreanischen Patent Nr. 2000-250807 offenbart ist.
Diese CAM-Zelle 10 beinhaltet einen SRAM mit Invertern 11 und 12 und n-Kanal-Metall-Oxid-Halbleiter(NMOS)-Transistoren 13 und 14 sowie
eine Vergleichsschaltung mit NMOS-Transistoren 15, 16 und 17.
Die NMOS-Transistoren 15 und 16 sind mit ihren
Strompfaden seriell zwischen Bitleitungen BL, /BL eingeschleift
und mit ihren Gate-Elektroden an einen jeweiligen Knoten N1, N2
angeschlossen. Der NMOS-Transistor 17 ist mit einer Gate-Elektrode an einen
Verbindungsknoten N3 der NMOS-Transistoren 15 und 16 angeschlossen,
während
er mit einem Strompfad zwischen einer Übereinstimmungsleitung ML und
einer Massespannung liegt.
-
Wenn
die über
die Bitleitungen BL, /BL zugeführten
Daten identisch mit den im SRAM gespeicherten Daten sind, wird auf
der Übereinstimmungsleitung
ML ein Vorladungszustand aufrechterhalten. Wenn hingegen die auf
den Bitleitungen BL, /BL zugeführten
Daten von den in der SRAM-Zelle gespeicherten Daten verschieden
sind, nimmt der Knoten N3 durch den NMOS-Transistor 15 oder 16 einen
hohen Pegel an. Da durch wird der NMOS-Transistor 17 leitend
geschaltet und entlädt
die vorgeladene Übereinstimmungsleitung
ML.
-
Die
herkömmliche
CAM-Zelle 10 weist eine vorteilhafte Integrationsdichte
auf, da die Vergleichsschaltung aus nur drei Transistoren aufgebaut
ist. Eine Schwierigkeit dieser CAM-Zelle 10 besteht jedoch
darin, dass der NMOS-Transistor 17 nur mit relativ niedriger
Geschwindigkeit arbeitet, da der Speisespannungspegel der über die
Bitleitung BL oder /BL dem NMOS-Transistor 17 zugeführten Daten durch
eine Schwellenspannung Vth des NMOS-Transistors 15 oder
des NMOS-Transistors 16 vermindert wird.
-
2 veranschaulicht eine weitere
herkömmliche
CAM-Zelle 30, wie sie in der Patentschrift US 5.396.449
offenbart ist. Diese CAM-Zelle 30 umfasst eine SRAM-Zelle
mit Invertern 31, 32 und NMOS-Transistoren 33, 34 sowie
eine Vergleichsschaltung mit NMOS-Transistoren 35, 36, 37 und 38. Die
NMOS-Transistoren 35 und 36 sind mit ihren Strompfaden
seriell zwischen eine Übereinstimmungsleitung
ML und eine Massespannung eingeschleift, während sie mit ihren Gate-Elektroden
an eine Bitleitung BL bzw. einen Knoten N5 angeschlossen sind. Die
NMOS-Transistoren 37 und 38 sind
mit ihren Strompfaden seriell zwischen die Übereinstimmungsleitung ML und
die Massespannung eingeschleift, während sie mit ihren Gate-Elektroden
an die Bitleitung /BL bzw. einen Knoten N4 angeschlossen sind. Die
Bitleitungen BL, /BL übertragen
komplementäre
Daten zur CAM-Zelle 30.
-
Wenn
die über
die Bitleitungen BL, /BL zugeführten
Daten identisch mit den in der SRAM-Zelle gespeicherten Daten sind,
wird auf der Übereinstimmungsleitung
ML ein Vorladungszustand aufrechterhalten Wenn sich die Daten hingegen
unterscheiden, wird die Übereinstimmungsleitung
ML durch die Transistoren 35 und 36 oder 37 und 38 entladen,
die seriell verschaltet sind.
-
Diese
CAM-Zelle 30 weist eine vorteilhafte Integrationsdichte
dahingehend auf, dass alle Transistoren, aus denen die Vergleichsschaltung
besteht, NMOS-Transistoren sind, und die CAM-Zelle 30 arbeitet
mit niedriger Leistung, da nur die Gate-Elektroden der Transistoren 35 bis 38 betrieben
werden. Die CAM-Zelle 30 von 2 besitzt
jedoch eine größere Abmessung
als die CAM-Zelle 10 von 1,
da sie die vier Transistoren 35 bis 38 zur Bildung
zweier Strompfade für
das Entladen der Übereinstimmungsleitung
ML aufweist, während
die CAM-Zelle 10 von 1 mit
nur dem einen Transistor 17 zum Entladen der Übereinstimmungsleitung
ML auskommt. Daher benötigt
die CAM-Zelle 30 eine erhöhte Schaltkreisfläche.
-
3 veranschaulicht eine weitere
herkömmliche
CAM-Zelle 50, wie sie in der Patentschrift US 5.490.102
offenbart ist. Diese CAM-Zelle 50 beinhaltet einen SRAM
mit Invertern 51 und 52 und NMOS-Transistoren 53 und 54 sowie
eine Vergleichsschaltung mit NMOS-Transistoren 55 und 57 und
PMOS-Transistoren 56 und 58. Die Transistoren der
Vergleichsschaltung sind in Form zweier Durchlassgatter angeordnet,
beispielsweise die Transistoren 55 und 56 zum
Empfangen der über
eine Bitleitung BL zugeführten
Daten und die Transistoren 57 und 58 zum Empfangen
der über
eine Bitleitung /BL zugeführten
Daten.
-
Wenn
die über
die Bitleitungen BL, /BL zugeführten
Daten identisch mit den in der SRAM-Zelle gespeicherten Daten sind,
nimmt ein Knoten N10 einen niedrigen Pegel an, wodurch der NMOS-Transistor 59 sperrend
geschaltet wird und die Übereinstimmungsleitung
ML einen Vorladungspegel beibehält. Wenn
sich hingegen die über
die Bitleitungen BL, /BL zugeführten
Daten von den in der SRAM-Zelle gespeicherten Daten unterscheiden,
nimmt der Knoten N10 hohen Pegel an, so dass die Übereinstimmungsleitung
ML entladen wird.
-
Die
CAM-Zelle 50 arbeitet bei höherer Geschwindigkeit als die
CAM-Zelle 30 von 2, indem sie NMOS- und PMOS-Transistoren
in der Vergleichsschaltung benutzt, sie weist jedoch eine geringere
Integrationsdichte auf, da der PMOS-Transistor eine größere Fläche einnimmt.
Außerdem
verbraucht die CAM-Zelle 50 mehr Leistung, da die Transistoren 55 bis 58 in
Reaktion auf die im SRAM gespeicherten Daten arbeiten.
-
In
der Offenlegungsschrift GB 2 176 920 A ist ein inhaltsadressierbares
Speicherbauelement der eingangs genannten Art offenbart, bei dem
zwischen einer Übereinstimmungsleitung
und einer Massespannung zwei parallele Paare von je zwei seriell
geschalteten Transistoren als Vergleichsschaltung vorgesehen sind,
wobei je einer der beiden Transistoren jedes Transistorpaars über seine
Gate-Elektrode durch eines von zwei Datensignalen bzw. durch eine Spannung
eines von zwei Speicherzellenknoten gesteuert wird.
-
Der
Erfindung liegt als technisches Problem die Bereitstellung eines
inhaltsadressierbaren Speicherbauelements der eingangs genannten
Art zugrunde, das sich mit hoher Geschwindigkeit und niedrigem Energieverbrauch
betreiben und mit hoher Integrationsdichte realisieren lässt.
-
Die
Erfindung löst
dieses Problem durch die Bereitstellung eines inhaltsadressierbaren
Speicherbauelements mit den Merkmalen des Anspruchs 1.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
-
Vorteilhafte,
nachfolgend beschriebene Ausführungsformen
der Erfindung sowie die zu deren besserem Verständnis oben erläuterten,
herkömmlichen
Ausführungsbeispiele
sind in den Zeichnungen dargestellt, in denen zeigen:
-
1 bis 3 Schaltbilder
herkömmlicher CAM-Zellen,
-
4 ein
Blockschaltbild eines erfindungsgemäßen inhaltsadressierbaren Speicherbauelements
mit CAM-Zellen,
-
5 ein
Schaltbild einer jeweiligen CAM-Zelle des inhaltsadressierbaren
Speicherbauelements von 4,
-
6 ein
Diagramm des Leistungsverbrauchs einer erfindungsgemäßen CAM-Zelle
im Vergleich zu den herkömmlichen
CAM-Zellen der 1 bis 3 und
-
7 ein
Diagramm der Verzögerungszeit einer
erfindungsgemäßen CAM-Zelle
im Vergleich zu einer herkömmlichen
CAM-Zelle.
-
Erfindungsgemäß beinhaltet
eine CAM-Zelle eine zwischen einen ersten und zweiten Knoten eingeschleifte
Speicherzelle, eine erste Datenleitung zum Übertragen eines ersten Datensignals
zur Speicherzelle, eine zweite Datenleitung zum Übertragen eines zweiten Datensignals
zur Speicherzelle sowie ein erstes und zweites Schaltelement, die
seriell zwischen eine Übereinstimmungsleitung
und eine Referenzspannung eingeschleift sind. Wie sich aus der nachstehenden
Beschreibung ergibt, lässt
sich die erfindungsgemäße CAM-Zelle
verglichen mit herkömmlichen
CAM-Zellen vorteilhafterweise mit hoher Integrationsdichte realisieren
sowie mit hoher Geschwindigkeit und niedrigem Leistungsverbrauch
betreiben.
-
4 veranschaulicht
ein inhaltsadressierbares Speicherbauelement (CAM) 100 mit
einem CAM-Zellenfeld 110 aus mehreren CAM-Zellen 111 bis 119,
einer Mehrzahl von Bitleitungspaaren BLO, /BLO bis BLn, /BLn, Wortleitungen
WLO bis WLm und Übereinstimmungsleitungen
MLO bis MLm.
-
Jede
Wortleitung WLO bis WLm ist mit einer Zeile des CAM-Zellenfeldes 110 verknüpft. Beispielsweise
ist die Wortleitung WLO mit der Zeile mit den CAM-Zellen 111 bis 113 verknüpft, während die
Wortleitung WL1 mit der Zeile mit den CAM-Zellen 114 bis 116 und
die Wortleitung WLm mit der Zeile mit den CAM-Zellen 117 bis 119 verknüpft sind.
Jedes Bit leitungspaar BLO, /BLO bis BLn, /BLn ist einer jeweiligen
Spalte des CAM-Zellenfeldes 110 zugeordnet. Beispielsweise
ist das Bitleitungspaar BLO, /BLO mit der Spalte mit den CAM-Zellen 111, 114 und 117 verbunden.
In gleicher Weise ist das Bitleitungspaar BL1, /BL1 mit der Spalte
mit den CAM-Zellen 112, 115 und 118 verbunden,
und das Bitleitungspaar BLn, /BLn ist mit der Spalte mit den CAM-Zellen 113, 116 und 119 verbunden.
Die Übereinstimmungsleitungen
MLO bis MLm sind jeweils mit den CAM-Zellen einer zugehörigen Zeile
des CAM-Zellenfeldes 110 und mit einem jeweiligen Vorladungstransistor 121, 122, 123 verbunden.
Speziell ist die Übereinstimmungsleitung
MLO mit der Zeile mit den CAM-Zellen 111 bis 113 und
mit dem Vorladungstransistor 121 verbunden. In gleicher
Weise ist die Übereinstimmungsleitung
ML1 mit der Zeile mit den CAM-Zellen 114 bis 116 und
dem Vorladungstransistor 122 verbunden, und die Übereinstimmungsleitung MLm
ist mit der Zeile mit den CAM-Zellen 117 bis 119 und
mit dem Vorladungstransistor 123 verbunden.
-
Wenn
während
eines Schreibvorgangs zu schreibende Daten auf die Bitleitungspaare
BLO, /BLO bis BLn, /BLn geladen werden, wird eine der Wortleitungen
WLO bis WLm dazu benutzt, eine Zeile des CAM-Zellenfeldes 110 auszuwählen, um
die Daten in das Feld 110 zu schreiben. Die Wortleitungen
WLO bis WLm werden nur während
eines Schreibvorgangs aktiviert und sind während anderer Betriebsarten
inaktiv. Während
des Schreibvorgangs führen
die Vorladungstransistoren 121 bis 123 keine Vorladungsoperationen
aus.
-
Während eines
Vergleichsvorgangs detektiert jede CAM-Zelle 111 bis 119 die Übereinstimmung
oder Nichtübereinstimmung
zwischen den darin gespeicherten Daten einerseits und den über das zur
betreffenden CAM-Zelle gehörige
Bitleitungspaar zugeführten
Daten andererseits und entlädt
im Fall der Nichtübereinstimmung
eine zugehörige
der Übereinstimmungsleitungen
MLO bis MLm. Wenn beispielsweise die über das Bitleitungspaar BLO,
/BLO zugeführten
Daten nicht mit den in der CAM-Zelle 111 gespeicherten
Daten übereinstimmen,
entlädt
die CAM-Zelle 111 die Übereinstimmungsleitung
MLO. Dies bedeutet, dass der Pegel der Übereinstimmungsleitung MLO
vom hohen auf den niedrigen Zustand übergeht, was anzeigt, dass
eine Nichtübereinstimmung
zwischen den Daten in einer Zeile des CAM-Zellenfeldes 110 vorliegt,
die zur Übereinstimmungsleitung
MLO gehört.
-
5 veranschaulicht
den detaillierten Aufbau der CAM-Zelle 111 von 4,
wobei die übrigen CAM-Zellen 112 bis 119 von 4 den
gleichen Schaltungsaufbau besitzen. Wie aus 5 ersichtlich,
weist die CAM-Zelle 111 eine Speicherzelle und eine Vergleichsschaltung
auf. Die Speicherzelle beinhaltet Inverter 121 und 122 und
NMOS-Transistoren 123 und 124. Die Vergleichsschaltung
umfasst mehrere Durchlassgatter, von denen eines NMOS-Transistoren 125 und 126 und
ein anderes NMOS-Transistoren 127 und 128 aufweist.
Die Durchlassgatter sind in Reihe zwischen die Übereinstimmungsleitung MLO
und eine Massespannung eingeschleift und entladen einen Spannungspegel
auf der Übereinstimmungsleitung
MLO. Eine Gate-Elektrode des NMOS-Transistors 125 ist an die
Bitleitung BLO angeschlossen, eine Gate-Elektrode des NMOS-Transistors 126 ist
an einen Knoten N11 angeschlossen, eine Gate-Elektrode des NMOS-Transistors 127 ist an
einen Knoten N12 angeschlossen, und eine Gate-Elektrode des NMOS-Transistors 128 ist
an die Bitleitung /BLO angeschlossen.
-
Die
CAM-Zelle 111 empfängt
die Eingabedaten über
das Bitleitungspaar BLO, /BLO. Auf das Bitleitungspaar BLO, /BLO
werden während
Schreib- und Vergleichsvorgängen komplementäre Daten
geladen. Wenn beispielsweise auf die Bitleitung BLO Daten mit logischem „0"-Pegel geladen werden,
werden auf die Bitleitung /BLO Daten mit dem Logikwert „1" geladen. Wenn auf
die Bitleitung BLO Daten mit logischem „1"-Pegel ge laden werden, werden auf die Bitleitung
/BLO Daten mit dem Logikwert „0" geladen.
-
Während eines
Schreibvorgangs der CAM-Zelle 111 werden die zu schreibenden,
komplementären
Daten auf das Bitleitungspaar BLO, /BLO geladen, und die Wortleitung
WLO wird auf eine Spannung mit hohem Pegel aktiviert. Die NMOS-Transistoren 123 und 124 werden
in Reaktion auf die hohe Pegelspannung der Wortleitung WLO leitend
geschaltet. Wenn die hohe Pegelspannung, d.h. der Datenwert auf
logischem „1"-Pegel, an die Bitleitung BLO und eine
niedrige Pegelspannung, d.h. der logische Datenwert „0", an die Bitleitung /BLO
angelegt werden, überträgt der Transistor 123 die
hohe Pegelspannung der Bitleitung BLO zum Knoten N11, und der Transistor 124 überträgt die niedrige
Pegelspannung der Bitleitung /BLO zum Knoten N12. Dadurch werden
die hohe Pegelspannung und die niedrige Pegelspannung über die
Inverter 121, 122 im jeweiligen Knoten N11, N12
gespeichert.
-
Während eines
Vergleichsvorgangs der CAM-Zelle 111 werden die zu vergleichenden
Daten auf das Bitleitungspaar BLO, /BLO geladen. Die Wortleitung
WLO verbleibt während
des Vergleichsvorgangs auf einer niedrigen Pegelspannung. Wenn die
auf das Bitleitungspaar BLO, /BLO geladenen Daten identisch mit
den Daten der Knoten N11, N12 in der CAM-Zelle 110 sind,
wird eines der Durchlassgatter, d.h. die Transistoren 125 und 126 oder
die Transistoren 127 und 128, abgeschaltet, so
dass die Übereinstimmungsleitung
MLO einen vorgeladenen Spannungspegel beibehält. Wenn die auf das Bitleitungspaar
BLO, /BLO geladenen Daten von den Daten auf den Knoten N11, N12
der CAM-Zelle 111 verschieden sind, wird von den Transistoren 125, 126 einer
leitend und einer sperrend geschaltet, und von den Transistoren 127, 128 wird
ebenfalls einer leitend und der andere sperrend geschaltet, wodurch die Übereinstimmungsleitung
MLO entladen wird. Wenn beispielsweise die Knoten N11 und N12 der CAM-Zelle 111 eine
hohe bzw. niedrige Pegel spannung speichern und das Bitleitungspaar
BLO, /BLO eine niedrige bzw. hohe Pegelspannung empfangen, werden
die Transistoren 125, 127 sperrend und die Transistoren 126, 128 leitend
geschaltet. Dadurch bildet sich ein Strompfad zwischen der Übereinstimmungsleitung
MLO und der Massespannung, was die Übereinstimmungsleitung MLO
entlädt.
-
Wenn
an beide Bitleitungen BLO, /BLO eine hohe Pegelspannung angelegt
wird, wird der Strompfad zwischen der Übereinstimmungsleitung MLO und
der Massespannung unabhängig
von den Datenwerten gebildet, die in den Knoten N11, N12 der CAM-Zelle 111 gespeichert
sind, wodurch die Übereinstimmungsleitung
MLO entladen wird. Dies kann z.B. zur Initialisierung der Übereinstimmungsleitung MLO
nützlich
sein. Wenn andererseits eine niedrige Pegelspannung an beide Bitleitungen
BLO, /BLO angelegt wird, wird der Strompfad zwischen der Übereinstimmungsleitung
MLO und der Massespannung unterbrochen, so dass sich der Spannungspegel
der Übereinstimmungsleitung
MLO nicht ändert.
Dies kann z.B. zur Aufrechterhaltung des Spannungspegels auf der Übereinstimmungsleitung
MLO nützlich sein.
-
6 zeigt
grafisch ein Vergleichsresultat der CAM-Zelle von 5 mit
den CAM-Zellen der 1 bis 3 bezüglich des
Leistungsverbrauchs. Alle CAM-Zellen 10, 30, 50 und 111 wurden
hierzu durch denselben CMOS-Prozess mit gleicher Linienbreite von
0,18μm hergestellt,
wobei ein Kondensator zwischen eine Massespannung und eine Übereinstimmungsleitung
jeder CAM-Zelle 10, 30, 50, 111 eingeschleift
wurde. Für
jede CAM-Zelle 10, 30, 50, 111 wurde
der Leistungsverbrauch anhand der Kapazität des Kondensators gemessen.
-
Wie
aus 6 ersichtlich, ist der Leistungsverbrauch der
erfindungsgemäßen CAM-Zelle 111 niedriger
als derjenige der herkömmlichen
CAM- Zellen 10, 30 und 50,
wenn eine Speisespannung VDD von 1,8V und eine Eingangssignalfrequenz
f von 50MHz verwendet werden.
-
7 veranschaulicht
grafisch ein Vergleichsresultat bezüglich der Verzögerungszeit
für die
CAM-Zelle 111 von 5 einerseits
und die herkömmliche
CAM-Zelle von 3 andererseits unter der Annahme,
dass die CAM-Zelle 111 dieselbe Fläche einnimmt wie die CAM-Zelle 50 von 3.
Die Verzögerungszeit
gibt die Zeitdauer zum Entladen einer Übereinstimmungsleitung an,
nachdem ein vorgegebenes Signal an ein Bitleitungspaar und eine Wortleitung
angelegt wurde.
-
Wie
aus 7 ersichtlich, weist die CAM-Zelle 111 von 5 eine
um ca. 11% bis 18% höhere
Betriebsgeschwindigkeit auf als die CAM-Zelle 50 von 3.
Außerdem
lässt sich
mit der CAM-Zelle 111 von 5 die Schaltkreisfläche verglichen
mit der CAM-Zelle 50 von 3 verringern, da
die CAM-Zelle 111 von 5 ohne einen PMOS-Transistor,
der in der CAM-Zelle von 3 verwendet wird und eine größere Schaltkreisfläche benötigt, bei
höherer
Geschwindigkeit arbeiten kann.
-
Wie
die gezeigten und oben erläuterten
Ausführungsformen
deutlich machen, stellt die Erfindung eine CAM-Zelle zur Verfügung, die
verglichen mit herkömmlichen
CAM-Zellen einen niedrigen Stromverbrauch, eine hohe Integrationsdichte
und eine hohe Betriebsgeschwindigkeit aufweist.