-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft inhaltsadressierbare Speicher (content
addressable memories: CAM). Im besonderen betrifft die Erfindung
eine CAM-Architektur zum Verringern des Energieverbrauchs.
-
HINTERGRUND
DER ERFINDUNG
-
In
vielen herkömmlichen
Speichersystemen, wie etwa in einem Speicher mit wahlfreiem Zugriff, werden
Binärstellen
(Bits) in Speicherzellen gespeichert und wird auf sie durch einen
Prozessor zugegriffen, der eine lineare Adresse spezifiziert, die
der gegebenen Zelle zugeordnet ist. Dieses System bietet einen schnellen
Zugriff auf jeden Abschnitt des Speichersystems innerhalb gewisser
Grenzen. Um die Prozessorsteuerung zu erleichtern, muß bei jeder Operation,
bei der auf den Speicher zugegriffen wird, als Teil der Instruktion
die benötigte
Adresse der Speicherzelle/-zellen deklariert werden. Standardspeichersysteme
sind für
eine Suche auf Inhaltsbasis nicht gut geeignet. Suchoperationen
auf Inhaltsbasis in dem Standardspeicher erfordern eine algorithmische
Suche auf der Basis von Software unter der Steuerung des Mikroprozessors.
Viele Speicheroperationen sind erforderlich, um eine Suche auszuführen. Diese
Suchoperationen sind, was die Verwendung von Prozessorbetriebsmitteln
anbelangt, weder schnell noch effektiv.
-
Um
diese Unzulänglichkeiten
zu überwinden,
ist ein Assoziativspeichersystem entwickelt worden, das als inhaltsadressierbarer
Speicher (Content Addressable Memory: CAM) bezeichnet wird. Ein CAM
gestattet die Bezugnahme auf Zellen über ihren Inhalt, so daß er zuerst
bei Implementierungen von Nachschlagtabellen wie etwa Cache-Speicher-Subsystemen zum
Einsatz gekommen ist und nun in Netzwerksystemen schnell Verwendung
findet. Das wertvollste Merkmal des CAM ist sein Vermögen zum Ausführen einer
Suche und zum Vergleichen mehrerer Speicherstellen als Einzeloperation,
wobei Suchdaten mit Daten verglichen werden, die in dem CAM gespeichert
sind. Typischerweise werden Suchdaten auf Suchleitungen geladen
und mit gespeicherten Wörtern
in dem CAM verglichen. Während
einer Such- und Vergleichsoperation wird ein Übereinstimmungs- oder Nichtübereinstimmungssignal,
das jedem gespeicherten Wort zugeordnet ist, auf einer sogenannten
Paßgenauigkeitsleitung
(engl.: matchline) erzeugt, das angibt, ob das Suchwort mit einem
gespeicherten Wort übereinstimmt
oder nicht. Ein typisches Wort der gespeicherten Daten enthält tatsächliche
Daten in einer Anzahl, die zu Header-Bits hinzugefügt sind,
wie beispielsweise ein "E"-Bit oder Empty-Bit,
obwohl die Header-Bits während
der Such- und Vergleichsoperationen nicht speziell gesucht werden.
-
Ein
CAM speichert Daten in einer Matrix von Zellen, die im allgemeinen
entweder Zellen auf SRAM-Basis oder Zellen auf DRAM-Basis sind.
Bis vor kurzem sind CAM-Zellen auf SRAM-Basis auf Grund ihrer einfachen
Implementierung am häufigsten
verwendet worden. Um jedoch Ternärzustands-CAMs
vorzusehen, d. h., bei denen jede CAM-Zelle einen von drei Werten
speichern kann: nämlich
logisch "0", "1" oder das Resultat "beliebig" ("don't care"), erfordern Zellen
auf Ternär-SRAM-Basis
typischerweise viel mehr Transistoren als Zellen auf Ternär-DRAM-Basis.
Als Resultat haben CAMs auf Ternär-SRAM-Basis
eine viel geringere Packungsdichte als Zellen auf Ternär-DRAM-Basis.
-
Ein
typisches CAM-Blockdiagramm ist in 1 gezeigt.
Der CAM 10 enthält
eine Matrix, oder ein Array 25, von CAM- Zellen auf DRAM-Basis (nicht gezeigt),
die in Reihen und Spalten angeordnet sind. Ein Array von Ternär-CAM-Zellen
auf DRAM-Basis hat den Vorteil, daß es einen signifikant kleineren
Silizium-Bereich als ihr Pendant auf SRAM-Basis belegt. Eine vorbestimmte
Anzahl von CAM-Zellen in einer Reihe speichert ein Datenwort. Ein
Adreßdecodierer 17 wird
verwendet, um irgendeine Reihe innerhalb des CAM-Arrays 25 zu
selektieren, damit Daten in die selektierte Reihe geschrieben oder
aus ihr gelesen werden können.
Eine Datenzugriffsschaltungsanordnung wie etwa Bitleitungen und
Spaltenselektionsvorrichtungen sind innerhalb des Arrays 25 angeordnet,
um Daten in das Array 25 hinein- und aus ihm herauszubefördern. Innerhalb
des CAM-Arrays 25 gibt es für jede Reihe von CAM-Zellen
nichtgezeigte Paßgenauigkeitsleitungsleseschaltungen,
die während
Such- und Vergleichsoperationen zum Ausgeben eines Resultats verwendet
werden, das einen erfolgreichen oder erfolglosen Vergleich eines
Suchwortes bezüglich
des gespeicherten Wortes in der Reihe bezeichnet. Die Resultate
für alle
Reihen werden durch den Prioritätscodierer 22 verarbeitet,
um die Adresse (Übereinstimmungsadresse)
auszugeben, die der Speicherstelle eines paßgenauen Wortes entspricht.
Die Übereinstimmungsadresse
wird in Übereinstimmungsadreßregistern 18 gespeichert, bevor
sie durch den Übereinstimmungsadreßausgabeblock 19 ausgegeben
wird. Daten werden durch den Daten-E/A-Block 11 und die
verschiedenen Datenregister 15 in das Array 25 geschrieben.
Daten werden durch das Datenausgaberegister 23 und den Daten-E/A-Block 11 aus
dem Array 25 gelesen. Andere Komponenten des CAM enthalten
den Steuerschaltungsblock 12, den Flaglogikblock 13,
den Spannungszufuhrerzeugungsblock 14, verschiedene Steuer-
und Adreßregister 16,
den Auffrischzähler 20 und
den JTAG-Block 21.
-
2 zeigt
eine hierarchische Ansicht des typischen CAM-Arrays 25.
Das CAM-Array 25 enthält eine
Matrix von CAM-Zellen 30 und
einen Paßgenauigkeitsleitungsleseschaltungsblock 26.
Die CAM-Zellen 30 des CAM-Arrays 25 sind in Reihen
und Spalten angeordnet. Die CAM-Zellen 30 einer Reihe sind mit
einer gemeinsamen Paßgenauigkeitsleitung
MLi, Wortleitung WLi und Endleitung TLi verbunden, und die CAM-Zellen 30 einer
Spalte sind mit einem gemeinsamen Paar von Suchleitungen SLj*/SLj
und einem gemeinsamen Paar von Bitleitungen BLj/BLj* verbunden,
wobei i ein ganzzahliger Wert zwischen 0 und n ist und j ein ganzzahliger
Wert zwischen 0 und m ist. Angrenzend an das CAM-Array 25 ist
für jede Reihe
der Paßgenauigkeitsleitungsleseschaltungsblock 26 angeordnet.
Der Paßgenauigkeitsleitungsleseschaltungsblock 26 enthält eine
Paßgenauigkeitsleitungsleseschaltung 27,
die mit einer jeweiligen Paßgenauigkeitsleitung
MLi verbunden ist, und wird während
Such- und Vergleichsoperationen zum Ausgeben von Paßgenauigkeitssignalen ML_OUT0-ML_OUTn
verwendet, die einen erfolgreichen oder erfolglosen Vergleich eines
Suchwortes bezüglich
des gespeicherten Wortes bezeichnen. Paßgenauigkeitsleitungen MLi
und Endleitungen TLi sind mit ihren jeweiligen Paßgenauigkeitsleitungsleseschaltungen 27 verbunden,
und Endleitungen TLi können
selektiv mit Erdpotential verbunden werden. Obwohl es in dem vereinfachten
Schema von 2 nicht gezeigt ist, empfangen
die Paßgenauigkeitsleitungsleseschaltungen 27 auch
Steuersignale, um ihre Operation zu steuern, und ein Fachmann würde verstehen,
daß solche
Steuersignale für
die korrekte Operation der Schaltung erforderlich sind.
-
3 zeigt
eine typische CAM-Zelle des Ternär-DRAM-Typs 30,
wie sie in dem herausgegebenen US-Patent Nr. 6,320,777 B1 beschrieben
ist. Die Zelle 30 hat eine Vergleichsschaltung, die einen n-Kanal-Suchtransistor 31 enthält, der
seriell mit einem n-Kanal-Vergleichstransistor 32 zwischen
einer Paßgenauigkeitsleitung
ML und einer Endleitung TL verbunden ist. Eine Suchleitung SL* ist
mit dem Gate des Suchtransistors 31 verbunden. Die Speicherschaltung
enthält
einen n-Kanal-Zugriffstransistor 33, dessen Gate mit einer
Wortleitung WL verbunden ist und der seriell mit dem Kondensator 34 zwischen
der Bitleitung BL und einem Zellenplattenspannungspotential VCP
verbunden ist. Ein Ladungsspeicherknoten ZELLE 1 wird mit dem Gate
des Vergleichstransistors 32 verbunden, um den Transistor 32 einzuschalten,
falls auf dem Kondensator 34 eine Ladung gespeichert ist,
d. h., falls ZELLE 1 logisch "1" ist. Die übrigen Transistoren
und der Kondensator bilden die Transistoren 31, 32, 33 und
den Kondensator 34 für die
andere Hälfte
des Ternärdatenbits
und sind mit entsprechenden Leitungen SL und BL* verbunden und vorgesehen,
um das Speichern von Ternärdaten zu
unterstützen.
Zusammen können
sie einen Ternärwert
speichern, der logisch "1", logisch "0" oder "beliebig" darstellt.
-
-
Die
Endleitung TL ist typischerweise mit Erde verbunden, und alle Transistoren
sind n-Kanal-Transistoren. Die Operation der Ternär-DRAM-Zelle
ist in dem obenerwähnten
herausgegebenen Patent 6,320,777 B1 eingehend beschrieben.
-
Wenn
Paßgenauigkeitsleitungen
einhergehend mit zunehmenden Speicherdichten länger werden, wird auch die
parasitäre
Kapazität
bei den längeren
Paßgenauigkeitsleitungen
größer. Die
zusätzliche
Belastung der Paßgenauigkeitsleitungen
auf Grund der vergrößerten parasitären Kapazität wirft verschiedene
Konstruktionsprobleme auf, die mit dem Lesen der Paßgenauigkeitsleitung
in Verbindung stehen. Erstens beträgt der Strom eines einzelnen
Leitungsweges, der durch eine nichtübereinstimmende CAM-Zelle zwischen
der Paßgenauigkeitsleitung
und VSS erzeugt wird, ungefähr
10 μA. Daher muß der Paßgenauigkeitsleitungsleseverstärker empfindlich
genug sein, um diesen kleinen Strom zu detektieren. Zweitens sollte
die Betriebsfrequenz des CAM-Chips hoch sein; mit anderen Worten,
der Arbeitszyklus des Paßgenauigkeitsleitungsleseverstärkers sollte
so kurz wie möglich
sein, um eine hohe CAM-Leistung zu erreichen. Drittens sollte, da
alle Paßgenauigkeitsleitungen
des CAM-Chips während Such- und Vergleichsoperationen
gleichzeitig aktiv sind, der Spannungshub der Paßgenauigkeitsleitung so niedrig
wie möglich
gehalten werden, um den Energieverlust zu minimieren. Viertens sollte
das Lesen stabil sein und sollten gute Lesetoleranzen für ein zuverlässiges Lesen
vorhanden sein. Fünftens
sollte die Paßgenauigkeitsleitungsleseverstärkerschaltung einfach
und klein genug sein, um in ein CAM-Kern-Layout mit knapper Teilung zu passen, um
den Flächenverbrauch
und resultierende Kosten zu minimieren. Auch wenn der Spannungshub
auf Paßgenauigkeitsleitungen
niedrig gehalten wird, bleibt der Energieverbrauch auf Grund der
vollkommen parallelen Suchoperationen dennoch hoch, die durch den
CAM ausgeführt
werden. Eine der grundlegenden Herausforderungen bei CAMs mit hoher Kapazität ist das
Minimieren des Energieverbrauchs auf Grund des wiederholten Ladens
und Entladens von Paßgenauigkeitsleitungen
während
Such- und Vergleichsoperationen. Der Energieverbrauch des CAM nimmt
einhergehend mit zunehmender Speicherkapazität proportional zu.
-
Es
gibt zwei Hauptquellen für
den wesentlichen Energieverbrauch während Suchoperationen in CAMs.
Nämlich
die Energie, die durch Paßgenauigkeitsleitungen
verbraucht wird, und die Energie, die durch Suchleitungen verbraucht
wird. Herkömmlicherweise
werden alle Paßgenauigkeitsleitungen
auf den Zustand von logisch 'H' (Paßgenauigkeitsbedingung)
vorgeladen, und dann können
Paßgenauigkeitsleitungen
durch den Vergleich mit Suchdaten auf einen Zustand von logisch 'L' (Fehlbedingung) gezogen werden.
-
Bei
den meisten CAM-Anwendungen kommen "Fehltreffer" häufiger
als "Treffer" vor. Das Vorladen
von Paßgenauigkeitsleitungen
auf logisch 'H' und das Entladen
von Paßgenauigkeitsleitungen
auf logisch 'L' bei Fehltreffern
tendiert dazu, zu einem hohen Energieverbrauch auf Grund des hohen
Stroms zu führen,
der mit dem Laden und Entladen aller Paßgenauigkeitsleitungen bei
jeder Suchoperation zusammenhängt.
Zusätzlich
nimmt einhergehend mit einer erhöhten
Anzahl von Zellen, die mit jeder Paßgenauigkeitsleitung bei CAM-Anwendungen
mit breiteren Wörtern
verbunden sind, die Kapazität
von Paßgenauigkeitsleitungen
dementsprechend zu, wodurch ihrerseits der Strom erhöht wird,
der erforderlich ist, um die Paßgenauigkeitsleitungen
zu laden und zu entladen. Verschiedene Lösungen sind zum Reduzieren
der während
der Suchoperationen verbrauchten Energie vorgeschlagen worden, wie
beispielsweise das Segmentieren von Paßgenauig keitsleitungen in mehrere
Segmente und das sequentielle Aktivieren von Segmenten auf der Basis
von Treffer- oder Fehltrefferresultaten von vorherigen Segmenten.
-
Zum
Beispiel ist eine segmentierte Paßgenauigkeitsleitungsarchitektur
in dem US-Patent Nr. 6,243,280 (Wong et al.) beschrieben, wobei
Reihen des CAM in eine Vielzahl von Segmenten partitioniert sind.
Bei jeder Paßgenauigkeitsleitung
wird das erste von der Vielzahl von Paßgenauigkeitsleitungssegmenten
vorgeladen und wird eine Suchoperation an dem ersten Segment ausgeführt. Im
Falle eines Treffers in dem ersten Segment wird selektiv das zweite Paßgenauigkeitsleitungssegment
vorgeladen, und die Suche geht zu dem zweiten Segment über. Falls in
dem zweiten Segment ein Treffer vorliegt, wird ein drittes Segment
vorgeladen, und die Suche geht auf ähnliche Weise weiter, bis alle
Segmente einer Paßgenauigkeitsleitung
durchsucht worden sind. Das Vorladen eines nachfolgenden Segmentes
erfolgt deshalb nur im Falle eines Trefferresultats in einem vorherigen
Segment. Im Falle eines Treffers in allen Segmenten erfordert das
selektive Vorladen jedes Segmentes auf logisch 'H' jedoch
dennoch einen großen
Strom. Ferner wird eine signifikante Verzögerung in die Suchzeit dadurch
eingeschleppt, daß darauf
gewartet werden muß,
daß das
selektive Vorladen in einem Segment erfolgt, bevor mit dem eigentlichen
Vergleich in jenem Segment fortgefahren wird.
-
In
dem US-Patent Nr. 6,191,970 (Pereira) wird eine Paßgenauigkeitsleitung
in mehrere Segmente geteilt, die vor Beginn einer Suchoperation
alle gleichzeitig auf den Zustand von logisch 'H' vorgeladen
werden. Zusätzlich
hat jede CAM-Zelle
eine zugeordnete Entladungsschaltung zum selektiven Entladen ihres
entsprechenden Paßgenauigkeitsleitungssegmen tes
als Reaktion auf ein Sperrsignal von einem vorherigen Paßgenauigkeitsleitungssegment. Ein
Segment wird deshalb nur entladen, falls das unmittelbar vorausgehende
Segment einen Fehltreffer ergibt, während alle nachfolgenden Segmente
auf logisch 'H' vorgeladen bleiben.
Als Resultat wird die Fehlbedingung von einem Segment entlang des
Restes der Reihe verbreitet, ohne alle anderen Segmente entlang
der Reihe zu entladen. Während
diese Lösung
das Problem der Verzögerungen
mindert, die durch das selektive Vorladen von Segmenten eingeschleppt
werden, bleibt das Potential für
den hohen Stromverbrauch dennoch bestehen, da alle Paßgenauigkeitsleitungen
zuerst auf den Zustand von logisch 'H' vorgeladen
werden müssen.
Zusätzlich
muß die
Paßgenauigkeitsdetektion
von jedem Segment synchron mit einem Taktsignal getaktet erfolgen,
da die Paßgenauigkeitsleitung
für einen
Treffer vorgeladen wird. Als Resultat muß entweder eine Anzahl von internen
Takten erzeugt werden, oder der Systemtakt muß verwendet werden, wodurch
die Systemlatenz erhöht
wird. Schließlich
wird, um eine Entladung vor der Freigabe des Segmentes zu verhindern,
eine seriell gekoppelte Vorrichtung zu jeder CAM-Zelle hinzugefügt, wodurch
der Chip-Bereich vergrößert wird und
die gesamte Operation verlangsamt wird.
-
In
einem Artikel mit dem Titel "Use
of Selective Precharge for Low Power on the Match Lines of Content
Addressable Memories" von
Zukowski et al., IEEE 1997, ist ein Verfahren beschrieben, bei dem ein
kleines Segment einer gesamten Paßgenauigkeitsleitung vorgeladen
wird und verwendet wird, um zuerst einen partiellen Vergleich auszuführen, und nur
wenn sich eine Übereinstimmung
in jenem ersten kleinen Segment ergibt, wird das verbleibende Segment
der Paßgenauigkeitsleitung
vorgeladen und schließlich
durch sucht. In dem Artikel wird auch vorgeschlagen, daß theoretisch
die selektive Vorladetechnik erweitert werden könnte, um mehr als eine Stufe
abzudecken, aber der zusätzliche
Overhead, Extrataktphasen und zusätzliche Pufferung würden keine
großen
zusätzlichen
Vorteile über
das darin vorgeschlagene selektive Vorladen der einzelnen Stufe
hinaus bieten. Bei dieser Lösung
wird nicht die Möglichkeit
betrachtet, mehrere Paßgenauigkeitsleitungssegmente
sequentiell, aber unabhängig
von Taktzyklen arbeiten zu lassen, wodurch eine ausreichend schnelle
Prozeßtechnologie
zur Verfügung steht,
um die nötige
Schaltungsanordnung zu implementieren. Ferner beruht die durch Zukowski
et al. diskutierte Lösung
noch auf einem Vorladen auf einen Zustand von logisch 'H', wodurch große Mengen von Strom gezogen
werden, wie zuvor erläutert
wurde.
-
Daher
sind gegenwärtige
CAM-Vorrichtungen für
Niedrigenergieanwendungen nicht geeignet, bei denen die Erhaltung
der Batterieenergie entscheidend ist. Somit wird nach wie vor ein
CAM benötigt,
der während
Suchoperationen weniger Energie als herkömmliche Suchtechniken verbrauchen kann.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Es
ist eine Aufgabe der vorliegenden Erfindung, wenigstens einen Nachteil
von früheren CAM-Arrays
zu beseitigen oder zu mildern. Im besonderen ist es eine Aufgabe
der vorliegenden Erfindung, eine inhaltsadressierbare Speicherarchitektur und
ein Operationsverfahren vorzusehen, die einen reduzierten Energieverbrauch
aufweisen und mit hoher Geschwindigkeit arbeiten.
-
Gemäß einem
ersten Aspekt sieht die vorliegende Erfindung ein inhaltsadressierbares
Speicherarray vor. Das in haltsadressierbare Speicherarray enthält eine
Paßgenauigkeitsleitung,
die in eine Vielzahl von Segmenten geteilt ist, wobei ein jedes
von der Vielzahl von Segmenten in einer Vorladungsphase gleichzeitig
auf einen Vorladungsspannungspegel vorgeladen wird. Das inhaltsadressierbare
Speicherarray enthält
auch einen Paßgenauigkeitsleitungsleseverstärker, der
einem jeden der Segmente zugeordnet ist, zum Lesen des Stroms von
seinem zugeordneten Segment in einer Lesephase, wobei ein Paßgenauigkeitsleitungsleseverstärker einen
anderen Paßgenauigkeitsleitungsleseverstärker freigibt, wenn
eine Paßgenauigkeitsbedingung
durch den einen Paßgenauigkeitsleitungsleseverstärker detektiert
wird.
-
In
einer Ausführungsform
gemäß dem vorliegenden
Aspekt steuern Zeitgeberschaltungen die Vorlade- und Leseoperationen
der Paßgenauigkeitsleitungsleseverstärker, und
die Zeitgeberschaltungen enthalten Referenz-Paßgenauigkeitsleitungen. In
einer anderen Ausführungsform
gemäß dem vorliegenden
Aspekt entspricht der Vorladungsspannungspegel einer Fehlbedingung,
die einem Erdspannungspegel entspricht.
-
In
noch einer anderen Ausführungsform
gemäß dem vorliegenden
Aspekt enthält
die Paßgenauigkeitsleitung
ein erstes und ein zweites Paßgenauigkeitsleitungssegment
und gibt der Paßgenauigkeitsleitungsleseverstärker, der
dem ersten Paßgenauigkeitsleitungssegment
zugeordnet ist, den Paßgenauigkeitsleitungsleseverstärker frei,
der dem zweiten Paßgenauigkeitsleitungssegment
zugeordnet ist. Gemäß einem
Aspekt der vorliegenden Ausführungsform
ist das erste Paßgenauigkeitsleitungssegment
mit weniger inhaltsadressierbaren Speicherzellen als das zweite
Paßgenauigkeitsleitungssegment
gekoppelt.
-
In
einer anderen Ausführungsform
gemäß dem vorliegenden
Aspekt wird die Ausgabe eines jeden Paßgenauigkeitsleitungsleseverstärkers in
einer Verriegelungsschaltung gespeichert.
-
Gemäß einem
zweiten Aspekt sieht die vorliegende Erfindung ein Verfahren zum
Durchsuchen eines inhaltsadressierbaren Speichers vor, der eine Vielzahl
von Reihen von CAM-Zellen
hat, wobei jede Reihe erste und zweite Paßgenauigkeitsleitungssegmente
hat. Das Verfahren enthält
die Schritte zum Vorladen der ersten und zweiten Paßgenauigkeitsleitungssegmente
auf einen Potentialpegel, der einer Fehlbedingung entspricht, während einer
Vorladungsphase, zum Aufbauen eines Vorspannungspotentials auf dem
ersten Paßgenauigkeitsleitungssegment
in jeder Reihe von CAM-Zellen während
einer Lesephase, zum Lesen des Stroms in dem ersten Paßgenauigkeitsleitungssegment
während
der Lesephase und zum selektiven Freigeben des Lesens des Stroms
in dem zweiten Paßgenauigkeitsleitungssegment
in jeder Reihe von CAM-Zellen, falls der gelesene Strom in dem ersten
Paßgenauigkeitsleitungssegment
einer Paßgenauigkeitsbedingung
zwischen den Suchdaten und den gespeicherten Daten entspricht.
-
In
einer Ausführungsform
gemäß dem vorliegenden
Aspekt enthält
der Schritt zum selektiven Freigeben des Lesens das Konvertieren
des gelesenen Stroms in eine Leseknotenausgangsspannung. In noch
einer anderen Ausführungsform
gemäß dem vorliegenden
Aspekt enthält
der Schritt zum selektiven Freigeben des Lesens das Verriegeln der
Leseknotenausgangsspannung zum Lesen des Stroms in den ersten und
zweiten Paßgenauigkeitsleitungssegmenten
im Pipeline-Betrieb.
-
Andere
Aspekte und Merkmale der vorliegenden Erfindung sind für den Durchschnittsfachmann
nach dem Studium der folgenden Beschreibung der spezifischen Ausführungsformen der
Erfindung in Verbindung mit den beiliegenden Figuren ersichtlich.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Unter
Bezugnahme auf die beigefügten
Figuren werden beispielhaft nun Ausführungsformen der vorliegenden
Erfindung beschrieben, in denen:
-
1 ein
Blockdiagramm einer herkömmlichen
CAM-Vorrichtung ist;
-
2 ein
Blockdiagramm eines Abschnitts des CAM-Arrays von 1 ist;
-
3 ein
Schaltungsschema einer CAM-Zelle auf DRAM-Basis ist;
-
4 ein
vereinfachtes Blockdiagramm eines CAM-Arrays mit segmentierter Paßgenauigkeitsleitung
gemäß einer
Ausführungsform
der vorliegenden Erfindung ist;
-
5 ein
Schema einer segmentierten Paßgenauigkeitsleitung
und von zugeordneten Leseverstärkern
gemäß einer
Ausführungsform
der vorliegenden Erfindung ist;
-
6 ein
Flußdiagramm
ist, das ein Verfahren zum Ausführen
einer Suche in der Ausführungsform
des CAM-Arrays mit segmentierter Paßgenauigkeitsleitung von 4 und 5 zeigt;
-
7 ein
Blockdiagramm ist, das eine Ausführungsform
der Niedrigenergie-CAM-Architektur gemäß einer Ausführungsform
der vorliegenden Erfindung zeigt;
-
8 ein
Schaltungsschema der Paßgenauigkeitsleitungsleseverstärker von 7 ist;
-
9 ein
Schaltungsschema der Verriegelungen von 7 ist;
-
10 ein
Zeitlagendiagramm ist, das den Pipeline-Betrieb von Suchoperationen in einem
CAM unter Verwendung einer Ausführungsform
der segmentierten Paßgenauigkeitsleitung
der vorliegenden Erfindung zeigt;
-
11 ein
Schaltungsschema eines Steuerblocks zum Erzeugen von Signalen ist,
die die Paßgenauigkeitsleitungsleseverstärkerschaltung von 8 steuern;
-
12 ein
Schaltungsschema von festverdrahteten Fehltreffer- und Treffer-Paßgenauigkeitsleitungsblöcken ist;
und
-
13 ein
Schaltungsschema einer Referenzstromquelle zum Liefern eines Referenzstroms für die Paßgenauigkeitsleitungsleseverstärkerschaltung
von 8 zeigt.
-
EINGEHENDE
BESCHREIBUNG
-
Es
wird eine Niedrigenergie-CAM-Architektur offenbart. Paßgenauigkeitsleitungen
des CAM-Arrays sind in zwei Suchabschnitte segmentiert: in einen
Vor-Such-Abschnitt und einen Haupt-Such-Abschnitt. Nach dem Ausgeben
eines Suchbefehls wird eine erste Suchoperation an dem Vor-Such-Abschnitt der
Paßgenauigkeitsleitung
ausgeführt,
d. h., es wird eine Vor-Suche
ausgeführt.
Falls das Resultat der Vor-Suche eine Paßgenauigkeit, also Übereinstimmung,
ergibt, wird anschließend
dann eine zweite Suche an dem Haupt-Such-Abschnitt der Paßgenauigkeitsleitung
ausgeführt,
d. h., anschließend
wird eine Haupt-Suche ausgeführt.
Falls das Resultat der Vor-Suche
eine Nichtübereinstimmung
ergibt, wird dann der Haupt-Such-Abschnitt
gesperrt und wird keine Haupt-Suche ausgeführt, und als Resultat tritt kein
Energieverlust auf dem Haupt-Such-Abschnitt der Paßgenauigkeitsleitungen
auf. Vor-Such- und Haupt-Such-Operationen
können
im Pipeline-Betrieb ausgeführt
werden, um einen hohen Durchsatz bei minimaler Latenz beizubehalten.
Der Energieverbrauch wird weiter verringert, indem eine Paßgenauigkeitsleitungsleseschaltung
zum Detektieren eines Stroms auf den Vor-Such- und Haupt-Such-Abschnitten
der Paßgenauigkeitsleitung
verwendet wird. Paßgenauigkeitsleitungen
sind von dem Leseschaltungsleseknoten entkoppelt, um eine höhere Lesegeschwindigkeit
und verbesserte Lesetoleranzen zu erreichen, und Blind-Paßgenauigkeitsleitungen
werden verwendet, um getaktete Steuersignale zum Verriegeln der
Ausgabe der Paßgenauigkeitsleitungsleseschaltungen
zu erzeugen. Alle Paßgenauigkeitsleitungssegmente
werden anfangs auf eine Fehlbedingung vorgeladen und dann vor dem
Lesen auf eine Vorspannung gesetzt. Obwohl nur zwei Paßgenauigkeitsleitungssegmente
beschrieben sind, wird es ein Fachmann zu schätzen wissen, daß viele
Segmente gebildet werden könnten.
-
4 zeigt
die allgemeine Niedrigenergie-CAM-Zellenarray-Architektur gemäß einer
Ausführungsform
der vorliegenden Erfindung. Der Fachmann wird feststellen, daß 4 eine
konzeptionelle Darstellung eines CAM-Zellenarrays ist, da die physische
Implementierung das Teilen des gesamten CAM in eine Vielzahl von
Quadranten und Subblöcken
einschließen
würde.
Das konzeptionelle CAM-Zellenarray 100 von 4 enthält N Spalten und
K Reihen. Jedes Wort (d. h. jede Reihe) enthält N Bits. Deshalb beläuft sich
die Speicherkapazität
auf N Bits × K
Wörter.
Gemäß einer
Ausführungsform
der Erfindung ist das CAM-Zellenarray in zwei Teile geteilt; in
ein Vor-Such-Zellenarray 102 und ein Haupt-Such-Zellenarray 103.
Das Array 100 enthält einen
Vor-Such-Paßgenauigkeitsleitungsleseverstärkerblock 101 zum
Lesen der Vor-Such-Paßgenauigkeitsleitungen
des Vor-Such-Zellenarrays 102 und einen Haupt-Such-Paßgenauigkeitsleitungsleseverstärkerblock 104 zum
Lesen der Haupt-Paßgenauigkeitsleitungen
in dem Haupt-Such-Zellenarray 103. Die Vor-Such-Paßgenauigkeitsleitungen
des Vor-Such-Zellenarrays 102 unterscheiden sich physisch
von den Haupt-Paßgenauigkeitsleitungen
des Haupt-Such-Zellenarrays 103.
Obwohl in 4 nicht gezeigt, enthält das CAM-Array
auch Blindreihen und Logikschaltungen zum Steuern der Paßgenauigkeitsleitungsleseverstärker. Die
Blindreihen und Logikschaltungen werden später unter Bezugnahme auf 7 gezeigt
und diskutiert.
-
5 zeigt
ein vereinfachtes Schema einer segmentierten Reihe und ihrer zugeordneten
segmentierten Paßgenauigkeitsleitung
bei dem CAM-Array von 4. Eine Anzahl M von CAM-Zellen 105 ist mit
einer Vor-Such-Paßgenauigkeitsleitung 109 verbunden,
die als P_ML gekennzeichnet ist, und die Vor-Such-Paßgenauigkeitsleitung
wird durch den Vor-Such-Paßgenauigkeitsleitungsleseverstärker 112 gelesen.
Die Anzahl von N-M CAM-Zellen 105 ist mit einer Haupt-Such-Paßgenauigkeitsleitung 110 verbunden,
die als M_ML gekennzeichnet ist, und die Haupt-Such-Paßgenauigkeitsleitung
wird durch den Haupt-Such-Leseverstärker 113 gelesen.
Die Ausgabe 111 des Vor-Such-Leseverstärkers 112 gibt den Haupt-Such-Leseverstärker 113 entweder
frei oder sperrt ihn, in Abhängigkeit
davon, ob sich eine Übereinstimmung
oder eine Nichtübereinstimmung
in dem Vor-Such-Segment ergeben hat. CAM-Zellen 105 können CAM-Zellen
von einem beliebigen Typ sein, wie beispielsweise SRAM-, DRAM- oder
Ternär-SRAM-
und -DRAM-CAM-Zellen.
Fachleute werden erkennen, daß die
Paßgenauigkeitsleitungsreihe von 5 vereinfacht
worden ist und daß Suchleitungen,
Wortleitungen und Energiezufuhren mit den CAM-Zellen 105 gekoppelt
sind.
-
Das
Flußdiagramm
von 6 zeigt die Operation von jeder segmentierten
Paßgenauigkeitsleitungsreihe
gemäß einer
Ausführungsform
der vorliegenden Erfindung. Bei Schritt 114 wird ein externer Suchbefehl
durch die CAM-Vorrichtung empfangen. Bei Schritt 115 initiiert
der CAM dann intern eine Vor-Such-Operation an dem M-Bit-Segment
der Paßgenauigkeitsleitungen.
Bei Schritt 116 wird das Resultat der Vor-Suche bewertet, und
falls ein Treffer in dem Vor-Such-Abschnitt detektiert wird, geht
der Prozeß dann
zu Schritt 117 über.
Sonst wird, falls eine Nichtübereinstimmung
in dem Vor-Such-Abschnitt detektiert wird, die Verarbeitung dann
mit Schritt 118 fortgesetzt. Schritt 118 führt dann
dazu, daß der
Leseverstärker
für den
Haupt-Such-Abschnitt gesperrt wird und die Vorrichtung in einen
Zustand zum Empfangen eines neuen Suchbefehls versetzt wird. Schritt 117 fährt mit
der Hauptdurchsuchungsoperation des Haupt-Such-Segmentes fort. Schritt 119 führt Haupt-Such-Paßgenauigkeitsleitungsleseresultate
einem Multiple-Match-Resolver und Prioritätscodierer zu. Schritt 120 liefert
das Übereinstimmungsresultat
mit der höchsten
Priorität,
das von dem Prioritätscodierer
ausgegeben wurde, als Ausgabe von der CAM-Vorrichtung und führt die
Vorrichtung in einen Zustand zurück,
in dem sie zum Empfangen eines neuen Suchbefehls bereit ist. Es sei
erwähnt,
daß dieser
Prozeß ohne
Implementierung irgendeiner Pipeline-Funktion beschrieben worden
ist. Unter Einsatz des Pipeline-Betriebs könnte zum Beispiel bei Schritt 114 eine
neue Vor-Such-Operation gestartet werden, während eine Haupt-Such-Operation
ihre Schritte bei den Schritten 117–120 gerade vollendet.
Diese Pipeline-Lösung wird
unter Bezugnahme auf 10 eingehender diskutiert, wobei
durch sie mehr Suchoperationen mit einer höheren Systemtaktgeschwin digkeit
ausgeführt werden
könnten.
Somit wird durch das Segmentieren der Paßgenauigkeitsleitungen Energie
eingespart, da jede Paßgenauigkeitsleitung,
in der sich eine Nichtübereinstimmung
in ihrem Vor-Such-Abschnitt ergibt, ihren Haupt-Such-Abschnitt nicht
laden und entladen wird, da die Paßgenauigkeitsleitung insgesamt
eine Nichtübereinstimmung
ergibt.
-
Die
beiden 4 und 5 zeigen das allgemeine Layout
der Paßgenauigkeitsleitungsleseverstärker bezüglich ihrer
Paßgenauigkeitsleitungen gemäß einer
Ausführungsform
der vorliegenden Erfindung. In alternativen Ausführungsformen können die
Haupt-Paßgenauigkeitsleitungsleseverstärker 113 an
dem entgegengesetzten Ende der Haupt-Paßgenauigkeitsleitung 110 angeordnet
sein, um die Länge
der Leitung zu reduzieren, die die Ausgabe 111 überträgt. In noch
einer anderen alternativen Ausführungsform
können
der Vor-Such-Paßgenauigkeitsleitungsleseverstärker 112 sowie
der Haupt-Such-Paßgenauigkeitsleitungsleseverstärker 113 aneinandergrenzend
angeordnet sein, um die Länge
der Leitung zu minimieren, die die Ausgabe 111 überträgt.
-
Deshalb
kann durch die zuvor beschriebene segmentierte Paßgenauigkeitsleitungsarchitektur
der Energieverbrauch im Vergleich zu CAM-Vorrichtungen nach Stand
der Technik reduziert werden, die keine segmentierten Paßgenauigkeitsleitungen
haben. Die Ausführungsformen
der vorliegenden Erfindung, die bislang gezeigt wurden, können auf CAM-Vorrichtungen
angewendet werden, bei denen ein Leseschema von irgendeinem Typ
zum Einsatz kommt. Genauer gesagt: bei herkömmlichen CAM-Vorrichtungen
kommen Leseschemen zum Einsatz, bei denen die Paßgenauigkeitsleitungen auf eine
Trefferbedingung, wie etwa hohe Potentialpegel, wie beispielsweise
VDD, vorgeladen werden. Deshalb können die Ausführungsformen
der segmentierten Paßgenauigkeitsleitung
der vorliegenden Erfindung dazu beitragen, Energie zu erhalten,
indem das Vorladen der Haupt-Such-Paßgenauigkeitsleitung und die
Aktivierung der Haupt-Paßgenauigkeitsleitungsleseverstärker verhindert
werden, woraus die Aktivierung von lediglich einer Teilmenge des
Arrays bei der Haupt-Suche resultiert.
-
Gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung können
optimale Energieeinsparungen unter Einsatz eines Leseschemas erreicht werden,
bei dem Paßgenauigkeitsleitungen
für eine Fehl-(Nichtübereinstimmungs)-Bedingung
vorgeladen werden. Im allgemeinen umfaßt ein Leseschema mit Vorladen
für eine
Nichtübereinstimmung
das Vorladen von Paßgenauigkeitsleitungen
für die
Fehlbedingung (das entweder Erde oder logisch 'H' bedeuten
kann, in Abhängigkeit
von dem Typ der in der CAM-Zelle verwendeten Vergleichstransistoren),
das Aufprägen
der Suchdaten und das Lesen jeglicher Veränderung auf der Paßgenauigkeitsleitung
mit einem Paßgenauigkeitsleitungsleseverstärker. Im
Falle einer Paßgenauigkeitsbedingung
sind keine Stromwege zu Erde vorhanden, und der Potentialpegel der Paßgenauigkeitsleitung
steigt schnell auf eine vorbestimmte Schwelle an, die verwendet
wird, um die Paßgenauigkeitsbedingung
anzugeben. Im Falle eines Fehltreffers wird wenigstens ein Stromweg
zu Erde vorhanden sein, und der Potentialpegel der Paßgenauigkeitsleitung
steigt langsamer auf den vorbestimmten Schwellenpegel an. Demnach
steigt der Paßgenauigkeitsleitungspotentialpegel
mit einer Rate an, die von der Anzahl der sich ergebenden Wege zu
Erde abhängt.
Durch das Vorladen der Paßgenauigkeitsleitung
auf Erde wird der Spannungshub der Paßgenauigkeitsleitung auf einen
Potentialpegel zwischen Erde und dem vorbe stimmten Schwellenpegel
begrenzt. Dieser vorbestimmte Schwellenpegel kann zum Beispiel der
Schaltpunkt eines Inverters sein, der kleiner als VDD ist. Durch
das Kombinieren dieses Leseschemas mit Vorladen für eine Nichtübereinstimmung
mit der in 5 beschriebenen Struktur der
segmentierten Paßgenauigkeitsleitung
kann weitere Energie eingespart werden, da ein Paßgenauigkeitsleitungssegment,
das für
den Nichtübereinstimmungszustand
vorgeladen wurde, auf dem Nichtübereinstimmungszustand
bleiben wird, solange sein entsprechendes vorhergehendes Paßgenauigkeitsleitungssegment
einen Fehltreffer ergibt. Deshalb wird in einer Ausführungsform
der vorliegenden Erfindung jede Reihe von Paßgenauigkeitsleitungen in einem
CAM-Array in Vor-Such-Paßgenauigkeitsleitungen
und Haupt-Such-Paßgenauigkeitsleitungen
segmentiert, wie in den 4 und 5 gezeigt,
und es wird ein Leseschema verwendet, bei dem die Vor-Such- und
Haupt-Such-Paßgenauigkeitsleitungen
für einen
Nichtübereinstimmungszustand
vorgeladen werden, um den Energieverbrauch zu reduzieren.
-
7 zeigt
eine Ausführungsform
der Niedrigenergie-CAM-Architektur
gemäß der vorliegenden Erfindung.
Die Niedrigenergie-CAM-Architektur nutzt segmentierte Paßgenauigkeitsleitungen
und ein Leseschema, bei dem die Paßgenauigkeitsleitungen für einen
Nichtübereinstimmungszustand
vorgeladen werden. Ferner nutzt das Leseschema Referenz-Paßgenauigkeitsleitungen,
um eine selbstgetaktete Erzeugung von Steuersignalen zum Steuern der
Paßgenauigkeitsleitungsleseverstärker und
Verriegelungsschaltungen vorzusehen, die mit jeder Paßgenauigkeitsleitung
gekoppelt sind. Das CAM-Array 130 von 7 kann
das Array 25 ersetzen, das in der CAM-Vorrichtung von 1 gezeigt ist,
bei entsprechenden Abwandlungen an den peripheren Schaltungen, wie
etwa den Suchleitungstreibern.
-
Das
CAM-Array 130 von 7 enthält ein Vor-Such-Array 131 und
ein Haupt-Such-Array 132. Obwohl in 7 kein Speicherarray
gezeigt ist, wird der Fachwelt klar sein, daß sich der in diesem Kontext
verwendete Ausdruck "Array" sowohl auf das Speicherarray
als auch auf dessen zugeordnete Steuerschaltungsanordnung bezieht.
Das Vor-Such-Array 131 enthält eine Vielzahl von Vor-Such-Paßgenauigkeitsleitungen
und die zugeordnete Schaltungsanordnung 133 und eine Referenz-Vor-Such-Paßgenauigkeitsleitungsschaltung 137.
Bei diesem besonderen Beispiel der vorliegenden Ausführungsform
sind eine von 128 Vor-Such-Paßgenauigkeitsleitungsreihen 133 und die
Referenz-Paßgenauigkeitsleitungsschaltung
gezeigt. Jede Vor-Such-Paßgenauigkeitsleitungsreihe 133 enthält eine
Vor-Such-Paßgenauigkeitsleitung P_MLn,
einen Vor-Such-Paßgenauigkeitsleitungsleseverstärker 134 und
eine Vor-Such-Verriegelung 135.
Bei diesem besonderen Beispiel der vorliegenden Ausführungsform
sind 36 Ternär-CAM-Zellen (nicht
gezeigt) mit der Vor-Such-Paßgenauigkeitsleitung
P_MLn verbunden. Der Vor-Such-Paßgenauigkeitsleitungsleseverstärker 134 liest
den Potentialpegel von P_MLn und liefert ein lokales Ausgangssignal SPd,
das einer Treffer- oder Fehlbedingung entspricht, an die Vor-Such-Verriegelung 135.
Die Vor-Such-Verriegelung 135 hält den Zustand des lokalen
Ausgangssignals SPd und erzeugt ein Signal Psrch_HIT. Sowohl der
Vor-Such-MLSA 134 als auch die Vor-Such-Verriegelung 135 empfangen
getaktete Steuersignale von der Referenz-Vor-Such-Paßgenauigkeitsleitungsschaltung 137 über eine
Zeitgebersteuerschaltung 136, und der Vor-Such-MLSA 134 empfängt eine Referenzspannung
VREF, die durch einen Referenzspannungsgenerator (in 7 nicht
gezeigt) erzeugt wird.
-
Die
Referenz-Vor-Such-Paßgenauigkeitsleitungsschaltung
enthält
eine Zeitgebersteuerschaltung 136, eine Referenz-Vor-Such-Paßgenauigkeitsleitung
P_RML, einen Vor-Such-Paßgenauigkeitsleitungsleseverstärker MLSA 137 und
einen Inverter 138. Bei diesem besonderen Beispiel der
vorliegenden Ausführungsform
gibt es eine Referenz-Vor-Such-Paßgenauigkeitsleitungsschaltung für das Vor-Such-Array 131.
Die Referenz-Vor-Such-Paßgenauigkeitsleitung
P_RML ist in der Konfiguration mit der Vor-Such-Paßgenauigkeitsleitung
P_MLn identisch, um zu dem parasitären Widerstand und der Kapazität der Vor-Such-Paßgenauigkeitsleitung
P_MLn zu passen, außer
daß alle Such-
und Vergleichstransistoren der CAM-Zellen permanent ausgeschaltet
sind, mit Ausnahme eines Paares der Such- und Vergleichstransistoren,
die permanent eingeschaltet sind. Die Referenz-Vor-Such-Paßgenauigkeitsleitung
ist somit festverdrahtet, um eine einzelne Fehlbedingung zu simulieren.
Der Vor-Such-Paßgenauigkeitsleitungsleseverstärker MLSA 137 ist
mit dem Vor-Such-Paßgenauigkeitsleitungsleseverstärker MLSA 134 zum
Lesen des Potentialpegels P_RML identisch. Der Vor-Such-MLSA 137 empfängt auch VREF.
Statt einer Verriegelungsschaltung am Ausgang des Vor-Such-Paßgenauigkeitsleitungsleseverstärkers 137,
wie es am Ausgang des Vor-Such-Paßgenauigkeitsleitungsleseverstärkers MLSA 134 der
Fall ist, empfängt
ein Inverter 138 die Referenz-Vor-Such-Ausgabe SPd des
Vor-Such-MLSA 137. Die Zeitgebersteuerschaltung 136 empfängt als
Rückführungssignal
die Ausgabe des Inverters 138 und ein Paßgenauigkeitsleitungsleseverstärker-Kippsignal
MLSATGLp(1) und erzeugt drei Signale zur Verwendung durch alle Vor-Such-MLSA's 134 und 137 und
zwei Signale zur Ver wendung durch alle Vor-Such-Verriegelungen 135.
MLSATGLp(1) initiiert das Lesen in dem Vor-Such-Array 131.
Obwohl nicht gezeigt, empfängt
auch die Zeitgebersteuerschaltung 136 ein Taktsignal zum
Synchronisieren der Suchoperation mit einem Systemtakt. Die drei
Signale zur Verwendung durch alle Vor-Such-MLSA's 134 und 137 sind
das Vor-Such-Paßgenauigkeitsleitungslesefreigabesignal
PMLSAENp für
NMOS-Vorrichtungen, das Vor-Such-Paßgenauigkeitsleitungslesefreigabesignal
PMLSAENn für
PMOS-Vorrichtungen und PMLSAPRp für die Vorladevorrichtungen.
Die Paßgenauigkeitsleitungsleseverstärkerschaltung
der MLSA's 134 und 137 wird
unter Bezugnahme auf 8 eingehender beschrieben. Die
zwei Signale zur Verwendung durch alle Vor-Such-Verriegelungen 135 sind
PLTCHn und PLTCHp.
-
Nun
wird die allgemeine Operation des Leseschemas für das Vor-Such-Array 131 für einen
Such- und Vergleichszyklus beschrieben (eine eingehendere Beschreibung
der Operation der Paßgenauigkeitsleitungsleseverstärkerschaltung
folgt an späterer Stelle
der Beschreibung). Alle Vor-Such-Paßgenauigkeitsleitungen P_MLn
und P_RML werden während einer
Vorladephase für
den Nichtübereinstimmungszustand
vorgeladen, der in dieser Ausführungsform Erdspannung
bedeutet. Nachdem Suchdaten auf die Suchleitungen (nicht gezeigt)
aufgeprägt
sind, wird das Paßgenauigkeitsleitungsleseverstärker-Kippsignal
MLSATGLp[1] über
die Signale PMLSAENp, PMLSAENn und PMLSAPRp aktiviert, um die Lesephase
zu initiieren. In der Lesephase wird, wie es später unter Bezugnahme auf die
spezifische Operation einer bevorzugten Ausführungsform der Paßgenauigkeitsleitungsleseverstärkerschaltung eingehender
beschrieben ist, die SPd-Ausgabe des Vor-Such-MLSA 137 schließlich von
einem hohen Potentialpegel auf einen Poten tialpegel gesteuert, der
niedrig genug ist, um zu bewirken, daß der Inverter 138 umschaltet
und einen hohen logischen Pegel zurückführt, der an die Zeitgebersteuerschaltung 136 ausgegeben
wird. Die Zeitgebersteuerschaltung 136 schaltet dann die
Vor-Such-MLSA's 134 und 137 aus, um
Energie zu sparen, und sie aktiviert die Paßgenauigkeitsleitungsverriegelungssignale
PLTCHn und PLTCHp, um das Verriegeln der lokalen SPd-Ausgaben von
jeweiligen Vor-Such-MLSA's 134 zu
ermöglichen.
Sobald die SPd-Ausgaben verriegelt worden sind, läßt dann
die Zeitgebersteuerschaltung 136 alle Vor-Such-Paßgenauigkeitsleitungsleseverstärkerschaltungen
MLSA's 134 und 137 alle
jeweiligen Vor-Such-Paßgenauigkeitsleitungen
für den Nichtübereinstimmungszustand,
d. h. auf Erde, in Vorbereitung auf den nächsten Such- und Vergleichszyklus
vorladen.
-
Die
Zeit, die benötigt
wird, damit der Vor-Such-MLSA 137 seine SPd-Ausgabe auf
einen Potentialpegel treibt, um den Zustand des Inverters 138 umzuschalten,
wird durch die Konfiguration der Vor-Such-Referenz-Paßgenauigkeitsleitung
P_RML bestimmt. Genauer gesagt, die Referenz-Vor-Such-Paßgenauigkeitsleitungsreihe
simuliert immer eine Fehlbedingung im schlimmsten Fall, d. h., einen
Fehltreffer bei einem einzelnen Bit. Dies ist darauf zurückzuführen, daß nur ein
Such- und Vergleichstransistorenpaar ein ist, während alle anderen Such- und
Vergleichstransistoren von P_RML aus sind. Wenn ein einzelner Fehltreffer
in irgendeiner Paßgenauigkeitsleitung
auftritt, erzeugt das einzelne Such- und Vergleichstransistorenpaar
einen sehr kleinen Strom, wie etwa 10 μA, wodurch der zugeordnete Paßgenauigkeitsleitungsleseverstärker eine
relative lange Zeit benötigt,
um seine SPd-Ausgabe
zu detektieren und anschließend
auf einen niedrigen Potentialpegel zu steuern. Falls die Vor-Such-MLSA's 134 und
der Vor-Such-MLSA 137 gleichzeitig eingeschaltet werden,
nachdem Suchdaten auf die Suchleitungen aufgeprägt sind, wird bis zu der Zeit, wenn
der Referenz-Vor-Such-MLSA 137 seinen SPd-Potentialpegel
verändert
hat, jeder MLSA 134, der mit einer P_MLn mit Paßgenauigkeit
verbunden ist, bereits in einem Zustand zum Steuern seiner jeweiligen
SPd-Ausgabe auf einen logischen Pegel sein, der einen Treffer angibt.
Denn die Rate, mit der der Potentialpegel einer Paßgenauigkeitsleitung
mit Paßgenauigkeitsbedingung
ansteigt, ist schneller als die Rate, mit der der Potentialpegel
einer Paßgenauigkeitsleitung
mit Fehltreffer ansteigt. Auf diese Weise gewährleistet das System durch
die Verwendung der Referenz-Vor-Such-Paßgenauigkeitsleitung
zum Takten der Deaktivierung aller Paßgenauigkeitsleitungsleseverstärker, daß die Daten
mit dem richtigen Paßgenauigkeitsleitungssuchresultat
durch die Paßgenauigkeitsleitungsverriegelungen
verriegelt werden.
-
Nun
werden die Komponenten des Haupt-Such-Arrays 132 des CAM-Arrays 130 eingehender
beschrieben. Das Haupt-Such-Array 132 enthält eine
Vielzahl von Haupt-Such-Paßgenauigkeitsleitungen
und die zugeordnete Schaltungsanordnung 139 und eine Referenz-Haupt-Such-Paßgenauigkeitsleitungsschaltung.
Bei diesem besonderen Beispiel der vorliegenden Ausführungsform
entspricht eine jede der 128 Haupt-Such-Paßgenauigkeitsleitungsreihen 139 einer
jeden der 128 Vor-Such-Paßgenauigkeitsleitungsreihen 133.
Jede Haupt-Such-Paßgenauigkeitsleitungsreihe 139 enthält eine
Haupt-Such-Paßgenauigkeitsleitung M_MLn,
einen Haupt-Such-Paßgenauigkeitsleitungsleseverstärker 140,
eine Haupt-Such-Verriegelung 141 und ein UND-Gatter 142.
Bei diesem besonderen Beispiel der vorliegenden Ausführungsform sind
108 Ternär-CAM-Zellen (nicht
gezeigt) mit der Haupt-Such-Paßgenauigkeitsleitung
M_MLn verbunden. Der Haupt-Such-Paßgenauigkeitsleitungsleseverstärker 140 liest
den Potentialpegel der M_MLn und liefert ein lokales Ausgangssignal
SPd entsprechend einer Treffer- oder Fehlbedingung an die Haupt-Such-Verriegelung 141.
Die Haupt-Such-Verriegelung 141 hält den Zustand des lokalen
Ausgangssignals SPd und erzeugt das Signal ML_OUTn. Die Komponenten
des Haupt-Such-Arrays 132 sind, wie in 7 gezeigt,
in der Konfiguration mit den Komponenten des Vor-Such-Arrays 131 identisch,
außer
daß jede
Haupt-Such-Paßgenauigkeitsleitung
und deren zugeordnete Schaltungsanordnung 139 ein UND-Gatter 142 enthält. Während die
Haupt-Such-Verriegelung 141 und
der Referenz-Haupt-Such-MLSA 144 die Steuersignale von der
Zeitgebersteuerschaltung 143 empfangen, empfangen die Haupt-Such-MLSA's 140 die
Signale nicht direkt von der Zeitgebersteuerschaltung 143.
Das UND-Gatter 142 empfängt
die drei Signale von der Zeitgebersteuerschaltung 143 und
kombiniert sie mit dem Resultat der Vor-Suche, das durch das Signal Psrch_HIT
von der Vor-Such-Verriegelung 135 von dem Vor-Such-Array 133 bezeichnet
wird. Die Fachwelt wird verstehen, daß das UND-Gatter 142 drei UND-Gatter
verkörpert,
von denen ein jedes eines der drei Steuersignale von dem Steuerblock 143 und das
Signal Psrch_HIT empfängt,
und jedes UND-Gatter 142 erzeugt ein Steuersignal, das
dem Haupt-Such-Leseverstärker 140 zugeführt wird.
Die UND-Gatter 142 ermöglichen
den Durchgang der drei jeweiligen Steuersignale, wenn Psrch_HIT
angibt, daß in
dem Vor-Such-Paßgenauigkeitsleitungsabschnitt
ein Treffer detektiert worden ist, d. h., daß er auf dem hohen logischen
Pegel ist. Mit anderen Worten, es wird verhindert, daß ein Haupt-Such-Leseverstärker MLSA 140 die
drei Steuersignale empfängt,
falls das Signal Psrch_HIT auf dem niedrigen logischen Pegel ist,
der eine Fehlbedingung angibt. Daher wird verhindert, daß ein Haupt-Such-MLSA 140 Veränderungen
in den Haupt-Paßgenauigkeitsleitungen
des Haupt-Such-Arrays 132 liest, falls seine entsprechende
Vor-Such-Paßgenauigkeitsleitungsreihe 133 eine
Fehlbedingung meldet. Obwohl beschrieben worden ist, daß das UND-Gatter 142 jedes
Steuersignal von dem Steuerblock 143 mit dem Signal Psrch_HIT
kombiniert, wird die Fachwelt verstehen, daß es möglich ist, nur eines oder zwei
der Steuersignale mit dem Signal Psrch_HIT zu kombinieren. Zum Beispiel
wird in einer Ausführungsform der
Erfindung nur eines der drei Steuersignale, die durch den Steuerblock 143 vorgesehen
werden, mit dem Signal Psrch_HIT kombiniert, um ein Steuersignal
zu erzeugen, das für
den Msrch-MLSA vorgesehen wird, während die anderen zwei Steuersignale, die
durch den Steuerblock 143 erzeugt werden, direkt für den Msrch-MLSA
vorgesehen werden. Solch eine Ausführungsform wird unter Bezugnahme
auf 8 eingehender beschrieben.
-
Die
Referenz-Haupt-Such-Paßgenauigkeitsleitungsschaltung
enthält
eine Zeitgebersteuerschaltung 143, eine Referenz-Haupt-Such-Paßgenauigkeitsleitung
M_RML, einen Haupt-Such-MLSA 144 und
einen Inverter 145. Bei diesem besonderen Beispiel der
vorliegenden Ausführungsform
ist eine Referenz-Haupt-Such-Paßgenauigkeitsleitungsschaltung
für das
Haupt-Such-Array 132 vorhanden.
Die Referenz-Haupt-Such-Paßgenauigkeitsleitung M_RML
ist in der Konfiguration mit der Haupt-Such-Paßgenauigkeitsleitung M_MLn
identisch, um zu dem parasitären
Widerstand und der Kapazität
der Haupt-Such-Paßgenauigkeitsleitung M_MLn
zu passen, außer
daß alle
Such- und Vergleichstransistoren
der CAM-Zellen permanent ausgeschaltet sind, mit Ausnahme eines
Paares der Such- und Vergleichstransistoren, die permanent eingeschaltet
sind. Die Referenz-Haupt-Such-Paßgenauigkeitsleitung ist somit
festverdrahtet, um eine einzelne Fehlbedingung zu simulieren. Der Haupt-Such-MLSA 144 ist
mit dem Haupt-Such-MLSA 140 zum Lesen des Potentialpegels
der M_RML identisch. Der Haupt-Such-MLSA 144 empfängt auch die
Referenzspannung VREF. Ein Inverter 145 empfängt die
SPd-Ausgabe des Haupt-Such-MLSA 144. Die
Zeitgebersteuerschaltung 143 empfängt die Ausgabe des Inverters 145 und
ein Paßgenauigkeitsleitungs-Kippsignal MLSATGLp[2]
und erzeugt drei Steuersignale zum Steuern aller Haupt-Such-Leseverstärker MLSA 140 und 144 und
zwei Steuersignale zum Steuern aller Haupt-Such-Verriegelungen 141.
Obwohl nicht gezeigt, empfängt
die Zeitgebersteuerschaltung 143 auch ein Taktsignal zum
Synchronisieren der Suchoperation mit einem Systemtakt, wodurch
der Pipeline-Betrieb
der Vor-Such- und Haupt-Such-Operationen möglich ist. Die drei Steuersignale
zum Steuern aller Haupt-Such-MLSA's 140 und 144 sind
MLSAENp, MLSAENn und MLSAPRp. Die zwei Steuersignale zum Steuern
aller Haupt-Such-Verriegelungen 141 sind LTCHn und LTCHp.
-
Die
allgemeine Operation der Schaltungen des Haupt-Such-Arrays 132 ist dieselbe
wie jene, die zuvor für
das Vor-Such-Array 131 beschrieben wurde, und deshalb wird
die allgemeine Operation der Schaltungen des Haupt-Such-Arrays 131 nicht
wiederholt. Jedoch ist erwähnenswert,
daß das
Kippsignal MLSATGLp[2] nach MLSATGLp[1] aktiviert wird, und zwar
typischerweise in einem Taktzyklus im Anschluß an den Zyklus, in dem MLSATGLp[1]
aktiviert wird. Ferner sei erwähnt,
daß die
Signale MLSAENp, MLSAENn, MLSAPRp, LTCHn und LTCHp in der Funktion
den Signalen PMLSAENp, PMLSAENn, PMLSAPRp, PLTCHn bzw. PLTCHp für ihre jeweiligen
Arrays äquivalent
sind.
-
8 zeigt
ein Schaltungsschema einer Paßgenauigkeitsleitungsleseverstärkerschaltung
gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung. Diese Paßgenauigkeitsleitungsleseverstärkerschaltung
kann für
die MLSA-Schaltungen 134, 137, 140 und 144 in 7 in
einer bevorzugten Ausführungsform
der Niedrigenergie-CAM-Array-Architektur der Erfindung verwendet
werden.
-
Die
Paßgenauigkeitsleitungsleseverstärkerschaltung
von 8 enthält
eine Stromquelle, eine Vorspannungsschaltung und eine Spannungsbegrenzungsschaltung.
Die Stromquelle enthält
p-Kanal-Transistoren 224 und 226, die zwischen
der Spannungszufuhr VDD und einem Leseausgangsknoten SPd seriell
verbunden sind. Der Gate-Anschluß des p-Kanal-Transistors 224 ist
mit einer ersten Referenzspannung Vref verbunden, und der Gate-Anschluß des p-Kanal-Transistors 226 ist
mit einer zweiten Referenzspannung Vmr verbunden. Die Vorspannungsschaltung
enthält
p-Kanal-Transistoren 212, 220 und n-Kanal-Transistoren 214, 216 und 218.
Der p-Kanal-Transistor 212 und der n-Kanal-Transistor 214 sind
zwischen der Zufuhrspannung VDD und dem Drain-Anschluß des n-Kanal-Transistors 216 seriell
verbunden. Der p-Kanal-Transistor 220 und der n-Kanal-Transistor 222 sind
zwischen der Zufuhrspannung VDD und dem Drain-Anschluß des n-Kanal-Transistors 216 seriell verbunden,
wobei der gemeinsam genutzte Source/Drain-Anschluß der Transistoren 220 und 222 mit dem
Leseausgangsknoten SPd verbunden ist. Die Gate-Anschlüsse der
p-Kanal-Transistoren 212 und 220 sind
mit dem Paßgenauigkeitsleitungsleseverstärkerfreigabesignal
MLSAENn verbunden, und die Gate-Anschlüsse der n-Kanal-Transistoren 214 und 222 sind mit
der Begrenzungsspannung Vr verbunden. Die n-Kanal-Transistoren 216 und 218 sind
zwischen den Source-Anschlüssen
der n-Kanal-Transistoren 214 und 222 und Erde
seriell verbunden, wobei der gemeinsam genutzte Source/Drain-Anschluß der Transistoren 216 und 218 mit
einer zugeordneten Paßgenauigkeitsleitung
MLp verbunden ist. Es sei erwähnt,
daß MLp
einer von P_MLn, P_RML, M_MLn und M_RML äquivalent ist, da dies alles
Paßgenauigkeitsleitungen
sind, die durch die Paßgenauigkeitsleitungsleseverstärkerschaltung
zu lesen sind. Die Gate-Anschlüsse
der Transistoren 216 und 218 sind mit dem Paßgenauigkeitsleitungslesefreigabesignal MLSAENp
bzw. dem Paßgenauigkeitsleitungslesevorladesignal
MLSAPRp verbunden. Die Spannungsbegrenzungsschaltung enthält den n-Kanal-Transistor 222 mit
der zuvor beschriebenen Konfiguration. Die Haupt-Such-Array-Steuersignale
MLSAENn, MLSAENp und MLSAPRp sind den Vor-Such-Array-Steuersignalen
PMLSAENn, PMLSAENp bzw. PMLSAPRp äquivalent, die zuvor unter Bezugnahme
auf 7 diskutiert wurden. Die Spannungen Vref, Vr und
Vmr werden durch andere Schaltungen in der CAM-Vorrichtung erzeugt
und sind in 7 als einzelne Leitung gezeigt,
die durch VREF gekennzeichnet ist, um das Blockdiagramm zu vereinfachen.
-
Nun
folgt eine Beschreibung der allgemeinen Funktion der Paßgenauigkeitsleitungsleseschaltung von 8.
Im allgemeinen transportiert die Paßgenauigkeitsleitung MLp als
Resultat einer Such- und Vergleichsoperation ein Spannungssignal
und einen zugeordneten Strom, der eine Paßgenauigkeitsbedingung oder
eine Fehlbedingung angibt, nachdem Suchdaten auf die Suchleitungen
angewendet wurden. Der zugeordnete Paßgenauigkeitsleitungsstrom wird
dann fließen,
wenn wenigstens ein Paar von Such- und Vergleichstransisto ren eingeschaltet
ist, um MLp mit Erde zu koppeln. Um eine Paßgenauigkeitsbedingung oder
Fehlbedingung auf einer Paßgenauigkeitsleitung
gemäß der Erfindung
zu lesen, wird zuerst ein positives Vorspannungs- oder Arbeitspunktpotential
auf der Paßgenauigkeitsleitung
MLp aufgebaut, bevor Suchdaten auf die Suchleitungen angewendet
werden, damit der Paßgenauigkeitsleitungsstromleseverstärker irgendeine
Veränderung des
Paßgenauigkeitsleitungsstroms
als Resultat der Suchoperation detektiert.
-
Während einer
Vorladephase werden Paßgenauigkeitsleitungen
auf eine Vorladespannung vorgeladen, wie beispielsweise auf Erdpotential, wenn
das Paßgenauigkeitsleitungsvorladesignal MLSAPRp
logisch 'H' ist. Gleichzeitig
sind die Paßgenauigkeitsleitungslesesignale
MLSAENp und MLSAENn logisch 'L' bzw. 'H', wodurch die Paßgenauigkeitsleitung MLp von
dem Leseknoten SPd isoliert wird.
-
Während der
Lesephase endet das Vorladen der Paßgenauigkeitsleitungen, wobei
MLSAPRp auf einen logisch niedrigen Pegel gezogen wird, und Strom
wird der Paßgenauigkeitsleitung
MLp zugeführt,
wobei MLSAENn auf den niedrigen logischen Pegel gezogen wird und
MLSAENp auf den hohen logischen Pegel gezogen wird. Vr ist auf einem
vorbestimmten Potentialpegel, der typischerweise bei 0,5 Volt liegt.
Unter diesen Bedingungen werden die Transistoren 212, 214 und 216 eingeschaltet,
während
der Transistor 218 ausgeschaltet wird und die Vorspannungspotentiale
auf der Paßgenauigkeitsleitung
und dem Leseknoten SPd aufgebaut werden. Es sei erwähnt, daß die Transistoren 214 und 222 eine Begrenzungsspannung
Vr, die ungefähr
0,5 Volt betragen kann, zum Begrenzen des maximalen Potentials der
Paßgenauigkeitsleitung
MLp auf etwa 0,5 Volt empfangen. Anschließend wird MLSAENn auf den hohen logischen
Pegel gesteuert, um die Transistoren 212 und 220 auszuschalten.
Die p-Kanal-Transistoren 224 und 226 der Stromquelle
bleiben eingeschaltet, um einen kleinen Vorspannungsstrom zu liefern,
der hoch genug ist, um SPd auf VDD zu halten. In der vorliegenden
Ausführungsform
ist der Vorspannungsstrom, der durch die Stromquelle zugeführt wird,
ein Bruchteil des Stroms, der erzeugt wird, wenn ein Paar der Such-
und Vergleichstransistoren eingeschaltet ist. Dieses besondere Merkmal der
vorliegenden Ausführungsform
wird später
diskutiert. Nachdem Suchdaten auf die Suchleitungen angewendet sind,
wird wenigstens eines oder keines der Paare der Such- und Vergleichstransistoren
eingeschaltet. Falls wenigstens ein Paar der Such- und Vergleichstransistoren
eingeschaltet wird, wird dann ein Paßgenauigkeitsleitungsstrom
von MLp zu Erde fließen.
Dieser Paßgenauigkeitsleitungsstrom
wird größer als
der Vorspannungsstrom sein, der durch die Stromquelle zugeführt wird,
und zieht den Leseknoten SPd durch die Transistoren 222 und 216 herab.
Falls keines der Paare der Such- und Vergleichstransistoren eingeschaltet
wird, um eine Paßgenauigkeitsbedingung
anzugeben, bleibt dann der Potentialpegel von MLp auf dem Vorladepotential
von Vr auf Grund des Vorhandenseins des Spannungsbegrenzungstransistors 222.
Dementsprechend bleibt SPd auf VDD. Eine Verriegelungsschaltung
wie jene, die in 9 gezeigt ist, verriegelt das
Potential an SPd erst, wenn komplementäre Verriegelungssignale LTCHp
und LTCHn in einer vorbestimmten Zeitperiode aktiv werden, nachdem
Suchdaten auf die Suchleitungen geladen sind. Nach dieser vorbestimmten Zeitperiode
liegt der Potentialpegel von SPd entweder über oder unter dem Kipp-Punkt
des Tri-State-Inverters 150, und die komplementären Verriegelungssignale
LTCHp und LTCHn werden für
ihre aktiven Zustände
durch die Steuerschaltung von 11 gepulst.
In Abhängigkeit
von dem Potential von SPd bezüglich
des Kipp-Punktes des Tri-State-Inverters 150 wird der Tri-State-Inverter 150 seine
Ausgabe entweder auf einen hohen oder einen niedrigen logischen Pegel
treiben. Wenn die Impulse LTCHp und LTCHn enden, wird der Tri-State-Inverter 150 ausgeschaltet. Sobald
die Leseoperation beendet ist, wird das Signal MLSAENp auf den niedrigen
logischen Potentialpegel gesteuert, um den Transistor 216 auszuschalten,
und wird das Signal MLSAPRp auf den hohen logischen Potentialpegel
gesteuert, um den Transistor 218 einzuschalten, wodurch
die zugeordnete Paßgenauigkeitsleitung
MLp wieder einmal auf ihren Vorladepegel gebracht wird.
-
Es
sei erwähnt,
daß in
einer alternativen Ausführungsform
der Paßgenauigkeitsleitungsleseschaltung,
die in 4 gezeigt ist, die Transistoren 212 und 214 weggelassen
sind und die Breite der Transistoren 220 und 222 eingestellt
ist, um die Beseitigung des Stromweges zu kompensieren, der durch
die Transistoren 212 und 214 vorgesehen wird.
-
9 zeigt
ein Schaltungsschema einer Verriegelungsschaltung, die für die Verriegelungen 135 und 141 von 7 verwendet
werden kann. Diese Verriegelungsschaltung ist eine Standardverriegelungsschaltung
vom Flipflop-Typ und enthält
ein Paar von kreuzgekoppelten Invertern. Die Verriegelungsschaltung
von 9 enthält
einen Tri-State-Inverter 150, dessen Eingang mit dem SPd-Ausgang
einer Paßgenauigkeitsleitungsleseverstärkerschaltung
gekoppelt ist und dessen Ausgang mit einem ersten kreuzgekoppelten
Inverterpaar verbunden ist. Das erste kreuzgekoppelte Inverterpaar
enthält
den Inverter 151 und den Tri-State-Inverter 152.
Der Ausgang des Inverters 151 ist mit dem Tri-State-Inverter 153 gekoppelt,
dessen Ausgang dann mit einem zweiten kreuzgekoppelten Inverterpaar
verbunden ist. Das zweite kreuzgekoppelte Inverterpaar enthält den Inverter 154 und
den Tri-State-Inverter 155.
Falls diese Verriegelungsschaltung als Haupt-Such-Verriegelung 141 verwendet
wird, steuert der Ausgang des Inverters 154 dann die Ausgabe
ML_OUT. Falls diese Verriegelungsschaltung als Vor-Such-Verriegelung 135 verwendet
wird, würde
der Ausgang des Inverters 154 dann die Ausgabe Psrch_HIT
steuern. Komplementäre
Verriegelungssignale LTCHp und LTCHn sind mit den Tri-State-Invertern
in einer Konfiguration verbunden, die es gestattet, den Potentialpegel
von SPd zu lesen, um dann von dem ersten kreuzgekoppelten Inverterpaar
zu dem zweiten kreuzgekoppelten Inverterpaar umgesetzt zu werden,
wenn LTCHp zwischen den hohen und niedrigen logischen Pegeln kippt.
Dieser Typ der Verriegelungsschaltung ist in der Technik wohlbekannt,
und deshalb braucht dieses Operationsverfahren nicht weiter diskutiert
zu werden.
-
Gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung werden Vor-Such- und Haupt-Such-Operationen
im Pipeline-Betrieb ausgeführt,
um einen hohen Durchsatz bei einer Zykluslatenz von Eins beizubehalten. 10 ist
ein Zeitlagendiagramm, das Pipeline-Operationen bei sukzessiven
Suchoperationen zeigt. Das Zeitlagendiagramm von 10 wird
unter Bezugnahme auf die 8 bis 10 diskutiert.
Eine Vor-Suche beginnt für
ein erstes Suchwort im Zyklus 3, und das Resultat des Vor-Such-MLSA 134 wird
schließlich
verriegelt und als Signal Psrch_HIT von der Vor-Such-Verriegelung 135 gesteuert.
Genauer gesagt, die Daten werden in dem ersten kreuzgekoppelten
Inverterpaar der Vor-Such-Verriegelung 135 verriegelt.
Die Haupt-Suche für
das erste Suchwort beginnt bei dem ersten Suchwort im Zyklus 4,
falls der logische Pegel ihres entsprechenden Psrch_HIT auf dem
hohen logischen Pegel ist. Eine Vor-Suche für ein zweites Suchwort beginnt
auch im Zyklus 4, wenn die Haupt-Suche für das erste Suchwort beginnt.
Diese zweite Vor-Such-Operation kann ausgeführt werden, weil dann, wenn
die komplementären
Verriegelungssignale PLTCHp und PLTCHn mit dem niedrigen bzw. hohen
logischen Pegel aktiviert werden, um die neuen SPd-Daten für das zweite
Suchwort zu lesen, der Tri-State-Inverter 153 der
Verriegelungsschaltung von 9 ausgeschaltet
wird. Ferner werden die vorherigen SPd-Daten in dem zweiten kreuzgekoppelten
Inverterpaar verriegelt, um den vorherigen logischen Pegel von Psrch_HIT
für die
Haupt-Suche des ersten Suchwortes beizubehalten. Im Zyklus 5 wird die
Haupt-Suche für
das zweite Suchwort ausgeführt und
beginnt eine Vor-Suche für
eine dritte Suche. Die Haupt-Suche für das dritte Suchwort beginnt
im Zyklus 6, und eine weitere Vor-Suche ist nicht auszuführen. Auf
Grund des oben beschriebenen Pipeline-Schemas ist deshalb kein zusätzlicher
Zyklus zwischen jeder Such- und Vergleichsoperation für die Vor-Such-Operation
erforderlich. Daher kann die gesamte CAM-Operationsgeschwindigkeit bezüglich einer
Struktur erhöht
werden, die keine Paßgenauigkeitsleitungssegmentierung
aufweist, da Vor-Such- und Haupt-Such-Operationen parallel ausgeführt werden.
-
Die
Ausführungsform
des Paßgenauigkeitsleitungsleseverstärkers, der
in 8 gezeigt ist, kann sowohl in nicht-segmentierten als
auch in segmentierten Paßgenauigkeitsleitungsarchitekturen verwendet
werden, um Energie zu sparen.
-
11 zeigt
ein Schaltungsschema eines Steuerblocks, der die Signale zum Steuern
des Leseverstärkers
von 8 mit der richtigen Zeitgebung erzeugt. Eine Flipflop-Schaltung 372 empfängt das Paßgenauigkeitsleitungsleseverstärker-Kippsignal MLSATGLp
an seinem D-Eingang und das Taktsignal CLKp an seinem Takteingang.
Der Q-Ausgang des Flipflops 372 ist mit jeweiligen ersten
Eingängen
des NOR-Gatters 376 und des NAND-Gatters 378 und dem
Eingang eines nichtinvertierenden Verzögerungsblocks 374 verbunden.
Der Ausgang des Verzögerungsblocks 374 ist
mit jeweiligen zweiten Eingängen
des NOR-Gatters 376 und des NAND-Gatters 378 verbunden.
Der Ausgang des NOR-Gatters 376 ist mit einem Paar von
seriell verbundenen Invertern 380 und 382 zum
Steuern des Signals MLSAPRp verbunden. Der Ausgang des NAND-Gatters 378 ist
mit drei seriell verbundenen Invertern 384, 386 und 388 zum
Steuern des Signals MLSAENp verbunden. Der Q-Ausgang des Flipflops 372 ist
auch mit einem Paar von seriell verbunden Invertern 390 und 392 verbunden,
deren Ausgang mit dem Eingang eines invertierenden Verzögerungsblocks 394 und
einem Eingang des NAND-Gatters 396 verbunden ist. Der Ausgang
des invertierenden Verzögerungsblocks 394 ist
mit dem anderen Eingang des NAND-Gatters 396 verbunden.
Der Ausgang des NAND-Gatters 396 ist mit vier seriell verbundenen
Invertern 398, 400, 402 und 404 zum
Steuern des Signals MLSAENn verbunden. Das Signal FB1Mp ist durch
den Inverter 406 mit einem Eingang des NOR-Gatters 408 gekoppelt.
Das Signal FBAHp ist mit dem anderen Eingang des NOR-Gatters 408 verbunden.
Der Ausgang des NOR-Gatters 408 ist mit dem Eingang des
invertierenden Verzögerungsblocks 410 und
einem Eingang des NAND-Gatters 412 verbunden, während der
Ausgang des invertierenden Verzögerungsblocks 410 mit
dem anderen Eingang des NAND-Gatters 412 verbunden ist.
Der Ausgang des NAND-Gatters 412 ist mit drei seriell verbundenen
Invertern 414, 416 und 418 zum Steuern
des Signals LTCHn und mit einem Paar von seriell verbundenen Invertern 420 und 422 zum
Steuern des Signals LTCHp verbunden. Der Ausgang des NAND-Gatters 412 ist
auch mit dem Rücksetzeingang
des Flipflops 372 verbunden. Verzögerungsblöcke 374, 394 und 410 werden
die Ausbreitung von Signalen mit hohen sowie niedrigen logischen
Pegeln verzögern.
Invertierende Verzögerungsblöcke 394 und 410 können eine
beliebige ungerade Anzahl von invertierenden Elementen enthalten,
wie etwa Inverter, NOR-Gatter oder NAND-Gatter, oder eine Kombination
aus einer ungeraden Anzahl von invertierenden Elementen und Kondensatoren
und Widerständen.
Der nichtinvertierende Verzögerungsblock 374 kann
eine beliebige gerade Anzahl von invertierenden Elementen oder eine
Kombination aus einer geraden Anzahl von invertierenden Elementen
und Kondensatoren und Widerständen
enthalten. Die Verzögerung,
die durch die Verzögerungsblöcke 374, 394 und 410 vorgesehen
wird, kann nach der Herstellung zum Beispiel durch Trimmen programmiert werden.
-
Im
allgemeinen ist die Operation des Steuerblocks 370 wie
folgt. Es soll angenommen werden, daß die Q-Ausgabe von dem Flipflop 372 in
dem anfangs inaktiven Zustand auf dem niedrigen logischen Pegel
ist, MLSAENn, MLSAPRp und LTCHp auf dem hohen logischen Pegel sind
und MLSAENp und LTCHn auf dem niedrigen logischen Pegel sind. Ein Impuls
mit hohem logischen Pegel MLSATGLp, der durch das Flipflop 372 empfangen
wird, initiiert die Steuersignalerzeugung. Das Flipflop 372 treibt
seine Q-Ausgabe als Antwort auf den hohen logischen Pegel von MLSATGLp
bei der ansteigenden Flanke des Taktsignals CLKp auf den hohen logischen
Pegel. Die Ausgabe des NOR-Gatters 376 wird dann auf den
niedrigen logischen Pegel getrieben, und anschließend wird
MLSAPRp durch den Inverter 382 auf den niedrigen logischen
Pegel getrieben. Nach der Verzögerung,
die durch den nichtinvertierenden Verzögerungsblock 374 vorgesehen
wird, sind beide Eingaben des NAND-Gatters 378 auf dem
hohen logischen Pegel, um dessen Ausgabe auf den niedrigen logischen
Pegel zu treiben. Anschließend
wird MLSAENp durch den Inverter 388 auf den hohen logischen
Pegel getrieben. Die Q-Ausgabe mit dem hohen logischen Pegel des
Flipflops 372 steuert auch die Eingabe des Inverters 390,
wodurch bewirkt wird, daß der
Inverter 392 einen hohen logischen Pegel ausgibt. Die Ausgabe
mit hohem logischen Pegel des Inverters 392 wird durch
den invertierenden Verzögerungsblock 394 und
einen Eingang des NAND-Gatters 396 empfangen. Da die Ausgabe
des invertierenden Verzögerungsblocks 394 gegenwärtig auf
dem hohen logischen Pegel ist, sind beide Eingaben des NAND-Gatters 396 auf
dem hohen logischen Pegel, um MLSAENn von einem hohen auf einen
niedrigen logischen Pegel zu treiben. Schließlich wird der hohe logische
Pegel, der am Eingang des invertierenden Verzögerungsblocks 394 empfangen
wird, an seinem Ausgang invertiert, wodurch das NAND-Gatter 396 gezwungen
wird, ein Signal mit hohem logischen Pegel auszugeben. Deshalb sind
MLSAENn-Impulse niedrig als Antwort auf eine Q-Ausgabe mit hohem logischen Pegel von
dem Flipflop 372.
-
Die
oben beschriebenen Schaltungen betreffen die Erzeugung von Steuersignalen
MLSAENn, MLSAPRp und MLSAENp, damit die MLSA-Schaltung von 8 ihren
jeweiligen Paßgenauigkeitsleitungspotentialpegel
vorladen und lesen kann. Die folgende Beschreibung der übrigen Schaltungen
des Steuerblocks 370 betrifft das Ausschalten der MLSA-Schaltung
von 8. Das Rückführungssignal FBAHp
bleibt während
normaler Operationen auf dem niedrigen logischen Pegel, aber das Rückführungssignal
FB1Mp verändert
sich schließlich
von einem anfangs niedrigen logischen Pegel auf einen hohen logischen
Pegel, um das Vorhandensein einer einzelnen Fehlbedingung auf seiner
jeweiligen Paßgenauigkeitsleitung
anzugeben. Das NOR-Gatter 408 liefert eine Ausgabe mit
hohem logischen Pegel, wenn seine beiden Eingaben auf dem niedrigen
logischen Pegel sind. Die Ausgabe mit hohem logischen Pegel von
dem NOR-Gatter 408 wird durch einen Eingang des NAND-Gatters 412 und
den Eingang des invertierenden Verzögerungsblocks 410 empfangen.
Da die Ausgabe des invertierenden Verzögerungsblocks 410 gegenwärtig auf
dem hohen logischen Pegel ist, sind beide Eingaben des NAND-Gatters 412 auf
dem hohen logischen Pegel, um LTCHn von einem niedrigen auf einen
hohen logischen Pegel und LTCHp von einem hohen auf einen niedrigen logischen
Pegel zu treiben. Schließlich
wird der hohe logische Pegel, der am Eingang des invertierenden Verzögerungsblocks 410 empfangen
wird, an seinem Ausgang invertiert, wodurch das NAND-Gatter 412 gezwungen
wird, ein Signal mit hohem logischen Pegel auszugeben. Deshalb sind
als Antwort auf ein Signal FB1Mp mit niedrigem logischen Pegel LTCHn-Impulse
hoch und LTCHp-Impulse niedrig. Zusätzlich setzt der Impuls mit
niedrigem logischen Pegel von dem Ausgang des NAND-Gatters 412 das Flipflop 372 zurück, um die
Steuersignale MLSAENn, MLSAPRp und MLSAENp auf ihre anfänglichen
inaktiven Zustände
zu treiben.
-
Der
obige Absatz beschreibt das Verhalten des Steuerblocks 370 als
Antwort auf den Empfang eines Rückführungssignals
FB1Mp mit niedrigem logischen Pegel, das eingestellt wird, um zu
einer vorbestimmten Zeit nach dem Aufprägen von Suchdaten auf die Suchleitungen
des CAM-Arrays aufzutreten. Diese voreingestellte Zeit, oder Verzögerung,
wird durch den festverdrahteten Einzelfehltreffer-Paßgenauigkeitsleitungsblock 310 bestimmt.
Der festverdrahtete Einzelfehltreffer-Paßgenauigkeitsleitungsblock 310 wird
unter Bezugnahme auf 12 näher erläutert.
-
12 zeigt
ein Schema der festverdrahteten Einzelfehltreffer-Paßgenauigkeitsleitungsreihe 310.
Die elektrischen Charakteristiken der festverdrahteten Einzelfehltreffer-Referenz-Paßgenauigkeitsleitungsreihe 310 sollen
dieselben wie die einer normalen Paßgenauigkeitsleitungsreihe 240 sein. Die
Paßgenauigkeitsleitungsreihe 310 enthält eine Referenz-Paßgenauigkeitsleitung
RML1 mit einer Vielzahl von seriell verbundenen n-Kanal-Such- und Vergleichstransistoren 312, 316 bzw. 314, 318,
die zwischen ihr und einer Endleitung, oder in dieser besonderen
Ausführungsform
mit Erde, verbunden sind. RML1 ist in der Größe mit MLp in 8 identisch,
und die Such- und Vergleichstransistoren 312, 316 und 314, 318 sind
mit entsprechenden Such- und Vergleichstransistoren identisch, die
in 8 mit MLp verbunden sein würden. RML1 hat auch dieselbe
Anzahl von Such- und Vergleichstransistorpaaren wie MLp, um die
akkurate Übereinstimmung
der elektrischen Charakteristiken mit der Paßgenauigkeitsleitungsreihe 240 zu
gewährleisten.
In dem Paßgenauigkeitsleitungsblock 310 sind
nur die Gates der Transistoren 312 und 314 mit
VDD verbunden, während die
Gates aller anderen Transistoren 316 und 318 geerdet
sind. Der Grund für
diese Konfiguration ist es, eine normale Paßgenauigkeitsleitung zu imitieren, die
exakt eine Fehlbedingung aufweist. 12 zeigt auch
ein Schema der festverdrahteten Treffer-Paßgenauigkeitsleitungsreihe 340.
Die elektrischen Charakteristiken der Treffer-Paßgenauigkeitsleitungsreihe 340 sollen
dieselben wie die einer normalen Paßgenauigkeitsleitungs reihe 240 sein
und sind mit der einer Einzelfehltreffer-Paßgenauigkeitsleitungsreihe 310 identisch.
Such- und Vergleichstransistoren 342 und 344 sind
mit entsprechenden Such- und Vergleichstransistoren der Reihe 310 identisch,
außer daß die Gates
aller Transistoren 342 und 344 geerdet sind, damit
sie ausgeschaltet bleiben.
-
Nun
wird die Stromquellenschaltung der Ausführungsform von 8 eingehender
beschrieben. Wie zuvor erwähnt,
liefert die Stromquelle mit den p-Kanal-Transistoren 224 und 226 einen
kleinen Strom, der in der Größe ausreicht,
um den VDD-Potentialpegel bei Abwesenheit eines Fehlbedingungsstroms
auf der entsprechenden Paßgenauigkeitsleitung
auf SPd zu halten. Gemäß einem
Merkmal der vorliegenden Ausführungsform
beläuft
sich dieser kleine Strom auf einen Bruchteil des Stroms, der durch
ein Paar der Such- und Vergleichstransistoren im Ein-Zustand produziert
wird. Dies wird dadurch erreicht, daß eine vorbestimmte Referenzspannung Vref
auf das Gate des p-Kanal-Transistors 224 angewendet wird.
Die Spannung Vmr, die mit dem Gate des p-Kanal-Transistors 226 verbunden
ist, ist eine konstante Spannung, die als Versetzungsspannung für die Kaskoden-Stromspiegelkonfiguration
verwendet wird. Die Erzeugung von Vref wird unter Bezugnahme auf 13 näher erläutert.
-
13 ist
eine Ausführungsform
des Schaltungsschemas einer Spannungsreferenzschaltung zum Bereitstellen
von Vref. Die Referenzspannungen Vref und Vmr werden an alle MLSA-(Paßgenauigkeitsleitungsleseverstärker)-Schaltungen
sowie an die Referenz-MLSA-Schaltungen geliefert. Die Spannungsreferenzschaltung 250 enthält eine
p-Kanal-Diode, die mit einem Lasttransistor 252 und einem
referenzspannungsbegrenzenden n-Kanal-Transistor 254 verbunden
ist, die zwischen VDD und einer Blindzelle 255 seriell
verbunden sind. Vref ist mit VDD durch den Kondensator 253 gekoppelt.
Die Blindzelle 255 enthält
zwei n-Kanal-Transistoren 256 und 258, die zwischen
dem Source-Anschluß des Transistors 254 und
Erde seriell verbunden sind. Die Transistoren 256 und 258 sind
in der Konstruktion mit einem normalen Paar von Such- und Vergleichstransistoren
identisch, wie etwa mit den Such- und Vergleichstransistoren 241 und 242 von 13.
Der Gate-Anschluß des referenzspannungsbegrenzenden
n-Kanal-Transistors 254 ist mit einer vorbestimmten Spannung
Vr verbunden, und die Gate-Anschlüsse der Transistoren 256 und 258 sind
mit VDD verbunden. Da die Blind-Such- und Vergleichstransistoren 256 und 258 dieselben
wie die normalen Such- und Vergleichstransistoren sind, wird der Strom,
den sie erzeugen, derselbe sein. Ferner werden Veränderungen
der Operationsbedingungen sowohl die normalen als auch die Blind-Such- und Vergleichstransistoren
gleichermaßen
beeinflussen. Der Strom des Transistors 224 kann im Konstruktionsstadium
durch das Skalieren des W/L-Verhältnisses
der Transistoren 224 und 252 erhöht oder
verringert werden. In der vorliegenden Ausführungsform kann der Strom durch
den Transistor 224 durch das Skalieren seines W/L-Verhältnisses
als Faktor des W/L-Verhältnisses
des Transistors 252 verändert
werden. Zum Beispiel kann das W/L-Verhältnis des Transistors 224 zwischen
0,1 und 0,5 des W/L-Verhältnisses des
Transistors 252 liegen. Vr wird durch einen separaten Spannungsgenerator
(nicht gezeigt) bereitgestellt und als Differenz zwischen einem
Spannungspegel, bei dem ein Paar von Such- und Vergleichstransistoren
einen Pull-down-Strom entwickelt, der groß genug ist, um gelesen zu
werden, und der Schwellenspan nung des Transistors 216 von 13 bestimmt.
Vr beträgt
typischerweise etwa 0,4 bis 0,5 Volt.
-
Nun
werden die Energiesparmerkmale der vorliegenden Ausführungsform
beschrieben. Der Lesezyklus beginnt typischerweise mit einem Taktimpuls,
endet aber vor dem nachfolgenden Taktimpuls, wobei zwischen dem
Ende des Lesezyklus und dem Beginn des nächsten Taktimpulses eine Leerlaufzeit verbleibt.
Falls der Transistor 216 von 8 in dem Ein-Zustand bliebe oder
in der Schaltung nicht vorhanden wäre, würde deshalb in Paßgenauigkeitsleitungen
mit der Fehlbedingung auf Grund des Weges zur Erde in der Paßgenauigkeitsleitung
MLp kontinuierlich statische Energie verbraucht. Indem der Transistor 216 kurz
nach dem Ende des Lesezyklus ausgeschaltet wird, wird die Stromquelle
von dem Weg zur Erde in der Paßgenauigkeitsleitung
mit der Fehlbedingung getrennt. Der spannungsbegrenzende Transistor 222,
und ähnlich
der Transistor 214, dessen Gate-Anschluß mit Vr verbunden ist, isoliert
das volle VDD-Potential von SPd von MLp und begrenzt MLp etwa auf
Vr. Deshalb wird der Spannungshub von MLp während des gesamten Lesezyklus
immer auf Vr begrenzt, und der Energieverbrauch auf Grund des wiederholten
Ladens und Entladens von MLp wird minimiert.
-
Die
Ausführungsform
des Paßgenauigkeitsleitungsleseverstärkers der
vorliegenden Erfindung ist eine kompakte Schaltung von nicht mehr
als acht Transistoren zum Anordnen in dem CAM-Kern-Layout mit der
knappen Teilung. Die Schaltung kann kleine Ströme von etwa 10 μA innerhalb
eines kurzen Taktzyklus lesen, und sie begrenzt Paßgenauigkeitsleitungsspannungspegel
zum Reduzieren des Energieverlustes auf einen niedrigen Pegel.
-
Deshalb
kann, wie anhand der Ausführungsformen
der vorliegenden Erfindung gezeigt, ein Niedrigenergie-CAM-Array
erreicht werden, indem Paßgenauigkeitsleitungen
in ein Vor-Such-Array
und ein Haupt-Such-Array segmentiert werden und ein Leseschema implementiert
wird, bei dem die Paßgenauigkeitsleitungen
der Vor-Such- und Haupt-Such-Arrays zuerst auf einen Vorladepegel
vorgeladen und dann auf einen Arbeitspunkt vorgespannt werden, bevor Paßgenauigkeitsleitungsdaten
durch die Paßgenauigkeitsleitungsleseschaltungsanordnung
gelesen werden. Zusätzlich
werden durch das Segmentieren von Paßgenauigkeitsleitungen in zwei
kürzere
Paßgenauigkeitsleitungen
die parasitäre
Kapazität
und der Widerstand reduziert, auf die jeder Paßgenauigkeitsleitungsleseverstärker trifft.
Deshalb wird weniger Energie verbraucht und kann die Paßgenauigkeitsleitungslesegeschwindigkeit
verbessert werden.
-
Natürlich können zahlreiche
Veränderungen und
Anpassungen an den besonderen Ausführungsformen der Erfindung
vorgenommen werden, die oben beschrieben sind, ohne vom Umfang der
Erfindung abzuweichen, der in den Ansprüchen definiert ist.
-
Während die
Paßgenauigkeitsleitungsleseschaltung
der vorliegenden Erfindung unter Einsatz der CMOS-Technologie auf
Silizium implementiert und simuliert worden ist, können alternative
Ausführungsformen
in anderen Technologien, wie beispielsweise BiCMOS, implementiert
werden. In alternativen Ausführungsformen
können
die Paßgenauigkeitsleitungen
in drei oder mehr Segmente und zugeordnete Pipeline-Verriegelungsstufen
segmentiert werden, mit einer Vorwärtsführung der Paßgenauigkeitsleitungsleseverstärkerausgabe
in den nächsten Paßgenauigkeitsleitungsleseverstärker, um
das weitere Lesen zu ermöglichen.
-
Die
oben beschriebenen Ausführungsformen der
Erfindung sollen Beispiele für
die vorliegende Erfindung sein. Änderungen,
Abwandlungen und Variationen können
an den besonderen Ausführungsformen
durch die Fachwelt erreicht werden, ohne vom Umfang der Erfindung
abzuweichen, der lediglich durch die beiliegenden Ansprüche definiert
ist.