DE69125393T2 - Zwei toren inhaltsaddressierbare speicherzelle und matrix - Google Patents
Zwei toren inhaltsaddressierbare speicherzelle und matrixInfo
- Publication number
- DE69125393T2 DE69125393T2 DE69125393T DE69125393T DE69125393T2 DE 69125393 T2 DE69125393 T2 DE 69125393T2 DE 69125393 T DE69125393 T DE 69125393T DE 69125393 T DE69125393 T DE 69125393T DE 69125393 T2 DE69125393 T2 DE 69125393T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- signal
- bit
- cells
- row
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 239000011159 matrix material Substances 0.000 title description 13
- 210000000352 storage cell Anatomy 0.000 title 1
- 230000015654 memory Effects 0.000 claims description 71
- 230000006870 function Effects 0.000 claims description 8
- 230000000295 complement effect Effects 0.000 claims description 6
- 230000003213 activating effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 230000004913 activation Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/16—Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Static Random-Access Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
- Diese Veröffentlichung betrifft inhaltsadressierbare Speicher, welche einen Such- Vergleichs-Vorgang in Verbindung mit einem Lesevorgang in demselben Taktzyklus ausführen können.
- Ein Schlüsselmerkmal bei der Verwendung von Computersystemen ist ein verfügbarer Speicher, welcher die erforderlichen Daten bereitstellen kann, die die Verarbeitungseinheit in dem System benötigt. Eine besondere Anwendung von Speichern erfolgt in vielen Computersystemen, die eine Cache-Speichereinheit bereitstellen, welche der zentralen Verarbeitungseinheit (CPU) eng zugeordnet ist, um häufig verwendete Speicherdaten schnell für die CPU bereitzustellen, ohne die zusätzliche Verzögerung, die Hauptspeichereinheit adressieren und aussprechen zu müssen, zu erfordern.
- Der inhaltsadressierbare Speicher oder CAM ist eine Anordnung, welche assoziative Speicherschaltungen verwendet, um Speichersuchen auszuführen.
- Der konventionelle inhaltsadressierbare Speicher ist allgemein mit sehr hoch integrierten Schaltungen (VLSI) aufgebaut durch Verwendung eines Zwischenspeichers, der mit einer Vergleichsschaltung gekoppelt ist. Solch ein inhaltsadressierbarer Speicher (CAM) wird verwendet, um bestimmte Basisabläufe auszuführen, wie:
- (a) Schreibvorgang, bei welchen Daten an einzelnen Speicheradressen des inhalts-adressierbaren Speichers durch sequentielles Schreiben der Daten gespeichert werden.
- (b) Suchvorgang, bei welchem ein Muster von Suchdaten in alle Stellen des inhalts-adressierbaren Speichers eingegeben wird und alle Stellen gleichzeitig parallel mit den Suchdaten verglichen werden. Wenn eine bestimmte Stelle identisch mit den eingegebenen Suchdaten "übereinstimmt", zeigt ein Ausgangssignal den Übereinstimmungszustand und die "ADRESSE" der übereinstimmenden Daten an, welche in dem inhaltsadressierbaren Speicher lokalisiert wurden.
- Die inhaltsadressierbare Speicherschaltung hat viele Anwendungen, häufig in Cache-Anordnungen, wo es erwünscht ist, augenblicklich verwendete Speicheradressen zusammen mit den zugehörigen Daten, die diesen Adressen entsprechen, zu speichern. Diese zugeordneten Daten werden lokal nahe dem Prozessor in einem wahlfreien Zugriffsspeicher (RAM) gespeichert. Somit kann der CAM eine momentan verwendete Datenadresse speichern, welche dann verwendet werden kann, um auf eine lokale Speicherposition (im RAM) zu zeigen, welche die zugeordneten Daten hält. Wenn die CAM-Suche in einer "Übereinstimmung" resultiert, wird ein schnellerer Zugriff auf das lokale Speicher-RAM anstelle der länger dauernden und langsamen Hohl-Periode, die für den Zugriff auf den Hauptspeicher erforderlich ist.
- Figur 1A zeigt einen typischen inhaltsadressierbaren Standard-Speicher als Blockschaltbild. Der inhaltsadressierbare Speicher CAM 200 ist eine aus CAM-Zellen 300 gebildete Gittermatrix. Ein Schaltbild des Formates der konventionellen CAM-Zelle 200 ist in Figur 2 gezeigt. Figur 1B zeigt eine 4X4 Matrix aus CAM-Zellen, welche einen CAM bilden.
- Wenn auch in Figur 1 eine Mehrzahl von Gittern von CAM-Zellen 300 in dem inhaltsadressierbaren Speicher 200 vorhanden ist, wird zur einfachen Erläuterung Figur 1A verwendet, um zu zeigen, wie jede der CAM-Zellen angeschlossen ist und betrieben wird.
- Die CAM-Zelle 300 (als ein Beispiel der vielen einbezogenen CAM-Zellen) ist ausgestattet mit einer Wortleitung 202, welche eine Adresse trägt. Wie in Figur 1B erkennbar, ist eine Wort-Adressleitung 202a, 202b, 202c, 202d für jede Reihe von CAM-Zellen (welche ein Datenwort tragen) vorgesehen. Die CAM-Zelle 300 weist ebenfalls eine Übereinstimmungs-"Treffer"-Leitung 204 auf, welche durch einen ersten Ausgang 205 in Figur 1A austritt.
- Ebenso verläßt in Figur 1B ein Satz von Treffer-Leitungen 204a-204d jede CAM- Zellen-Reihe. Der Suchschlüssel/Dateneingang ist ein Satz digitaler Eingabeleitungen in Figur 1A und ist dargestellt durch Leitung 222, Figur 1A, welche nach der Aufteilung durch eine Invertierungseinrichtung an die Bitleitung 206 und die Bitleitung 208, Figur 1A, angelegt sind, um ein Eingangssignal für den CAM 300 (und alle der anderen einbezogenen CAM-Zellen) in einer vorgegebenen Reihe bereitzustellen. In Figur 1B sind diese Eingänge gezeigt als D1, D2, D3, D4.
- Die "SUCHE" wird ausgelöst durch ein Aktivierungssignal auf Leitung 220, Figuren 1A, 1B, durch das OR-Gatter 228, welches ebenfalls eine Eingabe des Schreib- Aktivierungssignals 218, Figur 1B, aufweist.
- Das Lesesignal auf der Leitung 216, Figur 1A, wird zum Aktivieren der Transistoren Td&sub1; und Td&sub2; verwendet, um den Leseverstärker 224 zum Ausgeben von Daten auf Leitung 226 freizugeben. Die Leseaktivierungsleitung 216, Figur 1A, ist ebenfalls als Einspeisung in das OR-Gatter 214 erkennbar, dessen Ausgangssignal dann als ein Eingangssignal zu dem AND-Gatter 212 abgegeben wird. Der Adressdekodierer 210 stellt ein Adressdateneingangssignal in das AND-Gatter 212 bereit, welches für die Selektion der Wortleitung 202 vorgesehen ist.
- Das OR-Gatter 228, Figur 1A, empfängt Eingangssignale von der Schreibleitung 218 und von der Such-Aktivierungsleitung 220, so daß nur eine dieser Leitungen 218 und 220, Figur 1A, den Ausgang des OR-Gatters 228 aktiviert.
- Die Such-Aktivierungsleitung 220 aktiviert, wenn sie durch das OR-Gatter 228 betrieben wird, die Transistoren Ts&sub1; und Ts&sub2;, so daß die Suchschlüssel-Daten auf der Daten-Eingangsleitung 222 eintreten können und auf den Bitleitungen 206 und 208 zu der CAM-Zelle 300 transportiert werden.
- Figur 1B ist eine detailliertere Ansicht von Figur 1A, um zu zeigen, wie die Leitung 202 in Figur 1A tatsächlich eine Gruppe von Wortleitungen 202a, 202b, 202c, 202d in Figur 1B ist. Ebenso ist die Dateneingangs/Suchschlüssel-Leitung 222 in Figur 1A tatsächlich ein Satz mehrerer Leitungen D&sub1;, D&sub2;, D&sub3;, D&sub4; in Figur 1B.
- Das konventionelle CAM-Blockschaltbild in Figur 1A ist nur in vereinfachter Form dargestellt, da eine Mehrzahl der CAM-Zellen 300 und ebenfalls eine Mehrzahl von Eingangsadressleitungen, Dateneingabe/Suchschlüssel-Leitungen und ebenfalls eine Mehrzahl von Datenausgabeleitungen vorhanden sind. Somit ist in Figur 1B eine realistischere Darstellung eines konventionellen inhaltsadressierbaren Speichers oder CAM gezeigt.
- Wie in Figur 1B erkennbar, ist eine Matrix aus CAM-Zellen vorgesehen, wie die erste Reihe von CAM-Zellen, welche mit C11, C12, C13 und C14 bezeichnet sind. Diese stellen die Zellenpositionierung in Reihe 1 und die Folge in der CAM-Matrix dar, um zu zeigen, in welche numerierten Positionen in den Zellen liegen.
- Ebenso ist die zweite Reihe von CAM-Zellen bezeichnet mit C21, C22, C23, C24, deren letzte Einheit die CAM-Zelle in der zweiten Reihe und in der vierten Spalte darstellt.
- In Figur 1 B ist eine Reihe von Wortadressleitungseingängen bezeichnet mit 202a, 202b, 202c und 202d. Jede dieser Leitungen ist ein Adresseingang, welcher eine Reihe der CAM-Zellen ansprechen kann. Wenn die Leitung 202b aktiviert wird, spricht sie somit die CAM-Zellen C21, C22, C23, C24 an, welche 4 Datenbits darstellen, die ein 4-Bit-Wort halten.
- Ebenso ist in Figur 1B ein Satz aus "Übereinstimmungs"-Leitungen mit 204a, 204b, 204c bezeichnet. Jede dieser Leitungen ist eine Ausgangsleitung, welche das erste Wort in der ersten Reihe, das zweite Wort in der zweiten Reihe, das dritte Wort in der dritten Reihe und das vierte Wort in der vierten Reihe darstellt, so daß wenn eine dieser Übereinstimmungs-Leitungen aktiviert wird, es anzeigt, daß das bestimmte Datenbit-Wort (4 Bit-Wort) in der bestimmten Reihe mit den Suchschlüsseldaten übereinstimmt, welche an die Eingabeleitungen D&sub1;, D&sub2;, D&sub3; und D&sub4; angelegt wurden. Wenn die Eingabeleitungen D&sub1; bis D&sub4; die Bits 1001 darstellen und wenn dieselben Daten 1001 ebenfalls in der zweiten Reihe der CAM-Zellen (C21 bis C24) enthalten sind, ergibt sich somit eine Übereinstimmung oder ein "Treffer", welcher verwirklicht wird, so daß die Ausgangsleitung 204b aktiviert wird, und ein Signal zu der Logikeinheit L&sub1; transportiert, welches der Logikeinheit mitteilt, welche bestimmte Adresse gefunden wurde, welche die Daten enthält, die mit den Eingabeleitungen D&sub1;, D&sub2;, D&sub3; und D&sub4; übereinstimmen.
- In Figur 1B ist eine Leseleitung 216 erkennbar, welche verwendet wird zum Aktivieren eines Satzes aus 4 Gruppen von Transistoren, die mit R1a, R1b, R2a, R2b, R3a, R3b und R4a, R4b bezeichnet sind. Diese Transistoren werden durch die Leseleitung 216 aktiviert, so daß, wenn eine Adresse für die Wortleitung 202c aktiviert wird, die in den Zellen C&sub3;&sub1;, C&sub3;&sub2;, C&sub3;&sub3;, C&sub3;&sub4; enthaltenen Daten durch die Leseverstärker A&sub1;, A&sub2;, A&sub3;, A&sub4; zu den Datenausgabeleitungen D01, D02, D03 und D04 übertragen werden.
- In Figur 1B ist erkennbar, daß jede "Spalte" der CAM-Zelien, welche ein "Paar" Ausgabeleitungen (welche die Leseleitungstransistoren R&sub1;a, R&sub1;b durchlaufen) aufweist, welche die Ausgangsleitungen 206a&sub1;, und 206b&sub1; verbinden, welche die Ausgangsleitungen für die erste Spalte der CAM-Zelien sind. Wenn dann zum Beispiel die Adressleitung 202b die zweite Reihe der CAM-Zeiien aktiviert, werden die Daten in diesen vier CAM-Zellen (C21, C22, C23, C24) abwärts durch ihre Leseausgabeleitungen 206a1 und 206b1, 206a2 und 206b2, 206a3 und 206b3 und 206a4 und 206b4 geleitet.
- Infolge der Aktivierung der Transistoren R1a,b, R2a,b, R3a,b und R4a,b durchlaufen die Ausgangsdatensignale die Leseverstärker A1, A2, A3, A4, um das Datenausgangssignal auf den Leitungen D01, D02, D03, D04 bereitzustellen.
- Die Hauptbetriebsfunktion des inhaltsadressierbaren Speichers (CAM) ist die Fähigkeit, die Daten in den verschiedenen Wortreihen zu suchen, wobei in diesem Beispiel Figur 1B zeigt, daß 4 Wortreihen vorhanden sind und jedes Wort einen Inhalt von vier Bits aufweist. Somit werden bei der Verwendung der Suchschlüssel- Eingabeleitungen D1, D2, D3 und D4 und freigeben der Transistoren SW für jede der Spalten die Daten auf den Leitungen D1 bis D4 durch jede Spalte der Reihe von Datenworten in dem inhaltsadressierbaren Speicher 200 aufwärts übertragen. Wenn dann zum Beispiel die Eingabedaten auf den Leitungen D1 bis D4 die digitale Zahl 0110 sind, und wenn festgestellt wurde, daß die Daten in der dritten Reihe der CAM-Zellen damit übereinstimmen, d.h., daß die Daten in dieser Reihe 0110 waren, wird die Übereinstimmungs- oder Treffer-Leitung 204c aktiviert, um ein Signal zu der Logik Li zu senden, welches anzeigt, daß die in der dritten Wortleitung vorhandene Adresse, d.h., Reihe 3 der CAM-Zellen C31 bis C34, die Adresse ist, welche auf den Leitungen D01 bis D04 ausgelesen wird.
- In der obigen Darstellung von Figur 1B ist in dem Zeitdiagramm in Figur 3 erkennbar, daß es 1 Taktperiode erfordert, die Suchschlüssel-Daten einzugeben, und eine zweite Taktperiode, um die Übereinstimmung für die Ausgangs-"Übereinstimmungs"-Leitung festzustellen. Ebenso ist es zum Schreiben von Daten an eine vorgegebene Stelle zuerst erforderlich, die Adresse auf der Adresswortleitung unter Verwendung 1 Taktzeit herzustellen und dann eine zweite Taktzeit zu verwenden, um die Daten durch die Eingangsleitungen D1, D2, D3 und D4 einzutragen.
- Es ist bei der Zeitsteuerung in Figur 3 ebenfalls anzumerken, daß, wenn eine Wortleitung WL durch die Adresse aktiviert ist, zum Beispiel die Aktivierung der Leitung 202b (welche die zweite Reihe von Daten, welche ein 4-Bit-Wort bilden, aktiviert), es möglich ist, gleichzeitig die Leseleitung 216 zu aktivieren, die Ausgangsdaten auf den Leitungen D01, D02, D03, D04 jedoch nicht weiterkommen, bis die nachfolgenden Taktzeit verstrichen ist, so daß es wenigstens 2 Takte erfordert, bis dies auftritt.
- Es ist für Bedingungen wie diese in hohem Maße erwünscht, daß die Such- und Übereinstimmungs-Vorgänge in einer Taktzeit ausgeführt werden können, und das ebenfalls die Lese- und Datenausgabe-Vorgänge in einer Taktzeit ausgeführt werden können, um somit eine schnellere Einstellung von Abläufen für den Zugriff auf Daten oder zum Eintragen von Daten oder zum Suchen auszulesender Daten sicherzustellen.
- Diese verbesserte Bedingung kann verwirklicht werden durch die Architektur des nachfolgend beschriebenen CAM-Systems.
- Dieser "Standard-Typ" von CAM-Zeile 300 ist in Figur 2 als aus Transistoren mit bestimmten Funktionenen gebildet zu sehen. Der mit TC markierte Bereich von Transistoren ist der konventionelle Flip-Flop-Satz von Transistoren, in welchem ein Paar Transistoren den "Setz-Modus" betrifft, während das andere Paar Transistoren den "Rücksetz-Modus" betrifft. Der mit C1 markierte Bereich betrifft 2 Transistoren, welche den konventionellen Vergleichsvorgang für den "Rücksetz-Modus" bereitstellen, während der mit C2 markierte Bereich für zwei Transistoren vorgesehen ist, welche den konventionellen Vergleichs-Vorgang für den "Setz-Modus" liefern.
- Wie wiederum in Figur 2 erkennbar ist, sind die Bitleitungen 206 und 208 die Eingabe/Ausgabe-Leitungen für das Einlesen und Ausgeben von Daten. Die Wortleitungs-Adressleitung WL ist mit 202 bezeichnet, um eine Ausgabeadresse bereitzustellen, während die Übereinstimmungs-Leitung 204 die Treffer-Leitung ist, welche als 205 ausgegeben wird.
- In Figur 3 wird der Timing-Vorgang für ein Durchsuchen und ein Lesen des inhaltsadressierbaren Speichers, CAM (in den Figuren 1A und 2 gezeigt) betrachtet. Die erste Zeile in Figur 3 zeigt das Taktsignal mit dem ersten Takt, der als T1 bezeichnet wird und dem zweiten Takt, der als T2 bezeichnet wird. Die Aktivität des
- Suchschlüssels tritt in dem Bereich des ersten Taktes auf, mit einer geringfügigen Überlappung in den zweiten Takt. Die Ausführung des "Übereinstimmungs"-Vorgangs tritt gegen Ende des ersten Taktes und hauptsächlich in dem zweiten Takt auf.
- Fr einen "Lese"-Vorgang ist ein Wirken der Wortleitungs-Adresse auf Leitung 202 (Figur 1A) kurz nach dem Anfang des zweiten Taktes erkennbar, in dem die Leseleitungs-Signalaktivierung kurz nach der Auslösung des zweiten Taktes auftritt. Es ist anzumerken, daß die Datenausgabe auf Leitung 226 in Figur 1A bis zu dem Endabschnitt des zweiten Taktes und dem Übergang zu dem dritten Takt nicht auftritt. Somit ist erkennbar, daß mehr als 2 Taktperioden erforderlich sind, um die Funktionen von Such-Vergleichs-, Übereinstimmungs-("Treffer")-Vorgängen bereitzustellen und die Wirkung der Wortleitungsadresse mit dieser Leseaktivierung und das Daten-Auslesen zusätzliche Taktzeit benötigt.
- Somit erfordert bei der Standardanwendung für einen inhaltsadressierbaren Speicher der Betrieb, daß zuerst ein Such-Vergleichs-Vorgang ausgeführt wird, um zu erkennen, ob ein bestimmtes Datenwort in dem CAM vorhanden ist. Dann ergibt sich der Bedarf, den Inhalt des CAM zu lesen (unter der Annahme, daß ein Treffer oder eine Übereinstimmung aufgetreten ist), resultierend in einem zweiten Vorgang zum Auslesen des Wortes, was einen zusätzlichen Systemtakt erfordert.
- Wie in den Figuren 1A und 2 erkennbar ist, verwenden die Suchschlüssel/Dateneingabe auf Leitung 222 und die Datenausgabe auf Leitung 226 die gleichen Bitleitungen (206, 208) für Eingaben und Ausgaben. Daher können die Vorgänge (i) Dateneingabe, (ii) Datenausgabe oder (iii) Schlüsselsuchen nicht gleichzeitig während des gleichen Taktzyklus auftreten.
- Somit werden bei Abläufen des konventionellen Standard-CAM 101 in einem ausgewählten Speicherbereich, wie in Figur 4 erkennbar, die Suchschlüssel-Daten durch die Bitleitungen (106, 108) gesendet, um mit den Inhalten einer selektierten Adresse verglichen zu werden. Wenn die Suchschlüssel-Daten mit dem Inhalt einer ausgewählten Adresse übereinstimmen, wird dieses Ergebnis in einem Übereinstimmungs- oder Treffersignal durch Leitung 104 in Figur 4 (vergleichbar mit der Ausgabe 205 auf Leitung 204, Figur 1A) ausgegeben.
- Wenn der Inhalt des CAM nicht mit den Suchschlüssel-Daten übereinstimmt, wird der Inhalt der ausgewählten Adresse des Speichers zu der "Daten-Ausgabe"-Leitung 126 in Figur 4 (vergleichbar mit 226 in Figur 1A) zur weiteren Bewertung ausgelesen.
- Wie in Figur 3 in dem Zeitdiagramm erkennbar ist, benötigen die Such-Vergleichsund Lese-Vorgänge zusammen wenigstens zwei Taktzyklen bis zum Ende. In einem 16-Megahertz-System bedeutet dies einen "Zeitverlust" von 62,5 Nanosekunden.
- Eine Aufgabe der vorliegenden Erfindung ist es, die erweiterte Zeitverlustperiode zu verhindern und den Bedarf für mehrere Taktzyklen beim Verwirklichen der Such- Vergleichs- und Daten-Lese-Vorgänge durch Erlauben der Ausführung eines Such- Vergleichs-Lese-Vorgangs in genau dem gleichen Zyklus zu beseitigen.
- Um die obige Aufgabe zu verwirklichen ist erfindungsgemäß eine Speicherzelle zur Verwendung in einer inhaltsadressierbaren Speichermatrix vorgesehen, mit einer ersten Transistoreinrichtung zum Halten eines eingestellten Bitsignals und seines komplementären Rücksetz-Bitsignals, einer zweiten Transistoreinrichtung zum Vergleichen eines eingegebenen Suchsignalbits und seines Komplements jeweils mit dem eingestellten Bitsignal und seinem Rücksetz-Bitsignal, einer Schreibleitung zum Freigeben der ersten Transistoreinrichtung, wenn sie aktiviert ist, während eines Schreibvorganges zum Einfügen des eingestellten Bitsignales und des Rücksetz-Bitsignals, einem ersten Anschluß zum Einfügen des eingestellten Bitsignals und des Rücksetz-Bitsignals in die erste Transistoreinrichtung oder Anlegen des Suchsignalbits an die zweite Transistoreinrichtung, und einer Übereinstimmungsleitung zum Ausgeben eines Übereinstimmungssignals, wenn das Suchsignalbit dem in der ersten Transistoreinrichtung enthaltenen eingestellten Bitsignal entspricht, gekennzeichnet durch einen zweiten Anschluß zum Ausgeben des eingestellten Bitsignals aus der ersten Transistoreinrichtung während eines Lesevorganges, wobei der zweite Anschluß von dem ersten Anschluß getrennt ist.
- Weitere vorteilhafte Ausführungsformen sind durch die Unteransprüche gekennzeichnet.
- Eine verbesserte Architektur wird für einen inhaltsadressierbaren Speicher angegeben, welche eine beträchtliche Verringerung der Betriebszeit erlaubt, indem der Vergleichs/Lese-Vorgang in dem gleichen Taktzyklus verwirklicht werden kann.
- Ein inhaltsadressierbarer Speicher mit zwei Anschlüssen wird angegeben, welche eine erste und zweite Wortleitung und eine "LESE"-Schaltungseinheit (Leseverstärker) beinhalten, welche dem fast gleichartigen Vergleichsvorgang und dem Lesevorgang erlauben, innerhalb eines Taktzyklus aufzutreten.
- Eine neuartig aufgebaute CAM-Zelle mit getrennten Leitungen für den Daten- Eingabe/Suchvorgang und für den Daten-Ausgabe-Vorgang wird angegeben, so daß die Daten-Eingabe und die Daten-Ausgabe gleichzeitig innerhalb des selben Taktzyklus auftreten können.
- Zwei Transistoren werden zu jeder CAM-Zelle in der CAM-Matrix hinzugefügt, so daß jede CAM-Zellse einen Datenausgabe-Anschluß zusätzlich zu dem Dateneingabe-Anschluß aufweist.
- Eine zusätzliche Wortleitung zum Ansprechen der CAM-Matrix bei "Lese-Vorgängen" ist vorgesehen, so daß eine erste Wortleitung die CAM-Matrix für "Schreib"- Vorgänge anspricht und eine zweite Wortleitung die CAM-Matrix für "Lese"-Vorgänge anspricht.
- Die zwei Anschlüsse, Daten-Eingabe und Daten-Ausgabe, sind voneinander getrennt, so daß keine Aufteilung oder Interferrenz zwischen den zwei Anschlüssen auftritt und so, daß der Such-Vergleichs-Vorgang und der Lesevorgang gleichzeitig in dem selben Taktzyklus auftreten können.
- Figur 1A ist ein vereinfachtes Schaltbild eines konventionellen inhaltsadressierbaren Speichers;
- Figur 1B ist eine Darstellung einer CAM-Matrix, welche eine typische 4X 4-CAM-Matrix zeigt;
- Figur 2 ist eine vereinfachte Darstellung der Transistoren und Verbindungsleitungen einer einzelnen konventionellen inhaltsadressierbaren Speicherzelle;
- Figur 3 ist ein Zeitdiagramm, welches die Funktion des konventionellen inhaltsadressierbaren Speichers in Figur 1A zeigt;
- Figur 4 ist ein Blockschaltbild eines inhaltsadressierbaren Speichers mit zwei Anschlüssen, welcher eine neue Architektur verwendet;
- Figur 5 ist eine vereinfachte Darstellung des Transistors und der Anschlußleitungen der neuen Doppelanschluß CAM-Zelle;
- Figur 6 ist ein Zeitdiagramm, welches die Betriebsmerkmale des neuen inhaltsadressierbaren Doppelanschluß-Speichers zeigt.
- Figur 4 zeigt eine vereinfachte Zeichnung der verbesserten CAM-Matrix 101.
- Die CAM-Matrix 101 unterstützt eine erste Wortleitung 102, die als Schreib- Wortleitung bezeichnet wird. Zusätzlich ist eine zweite Wortleitung 116 vorgesehen, die als Lese-Wortleitung bezeichnet wird. Diese zwei Wortleitungen sind unabhängig voneinander und wirken gleichzeitig, um eine Reihe von CAM-Zellen anzusprechen, um Daten einzutragen und um Reihen von CAM-Zelien zu durchsuchen, um eine "Übereinstimmung" von Daten (Treffer = Dateneingabe stimmt mit in einer Reihe von CAM-Zelien vorhandenen Daten überein) zu finden, während die Daten ebenfalls an einem getrennten Datenausgabe-Anschluß 126 ausgelesen werden.
- Die Architektur der CAM-Zelien-Matrix 101 erlaubt die Verwendung zweier verschiedener Adressen, welche von dem Schreib-Dekodierer 110w und dem Lese-Dekodierer 110, dekodiert werden.
- Die Steuerungsleitung 114, welche das AND-Gatter 11 2 speist, stellt sicher, daß die Schreibadresse und die Leseadresse nicht in dem gleichen Moment auftreten, in dem ein Konflikt auftreten kann.
- Wie in Figur 4 erkennbar, ist der erste Anschluß über die Leitung 122 der Daten- Eingabe/Such-Anschluß. Der zweite Anschluß ist die Leitung 126, welche der Daten-Ausgabe-Anschluß ist.
- Während des Suchschlüssel-Vorganges werden die ankommenden Daten mit den Daten in jeder Zellen-Reihe verglichen. Wenn eine "Übereinstimmung" auftritt, wird die Treffer-Leitung 104 (für die bestimmte Datenreihe) aktiviert, um einer externen Logikeinheit mitzuteilen, daß ein Treffer aufgetreten ist.
- In Figur 5 ist die verbesserte Architektur der inhaltsadressierbaren Doppelanschluß- Speicherzelle 100 zu sehen. Die mit TC bezeichnete konventionelle Gruppe von Transistoren betrifft die Standard-Setz- und Rücksetz-Flip-Flops. Die mit C1 und C2 bezeichneten Bereiche stellen die Standard-Vergleichsschaltung dar. Die Schreib- Wortleitung 102 ist an die Setz- und Rücksetz-Flip-Flops in dem Bereich TC angeschlossen erkennbar. Die Übereinstimmungs-(Treffer)-Leitung 104 ist an die Vergleichsschaltung von C1 und C2 zu Bereitstellen eines Ausgangssignals auf 104 angeschlossen erkennbar. Die Lese-Wortleitung 11 6 ist zum Ansprechen einer Reihe von CAM-Zellen während des Lesevorganges vorgesehen. Es ist anzumerken, daß zwei Transistoren Q1 und Q2 an die Setz-Rücksetz-Flip-Flops und die erste Vergleichsschaltung C1 angeschlossen sind, um eine "Lese-Bit"-Leitung 126 bereitzustellen, welche den Ausgangsanschluß (zweiten Anschluß) getrennt von den Daten-Eingabeleitungen 106, 108 bereitstellt.
- Wie in Figur 5 erkennbar, werden die Transistoren Q1 und Q2 zu jeder der Speicherzellen der Matrix hinzugefügt, welche den inhaltsadressierbaren Speicher bildet. Somit bilden in jeder Speicherzelle die Transistoren Q1 und Q2 einen DATA- OUT-Anschluß zum Auslesen und dieser wird als der zweite Anschluß 126 bezeichnet. Die Gates der Transistoren Q1 und Q2 werden jeweils durch die Inhalte der Flip-Flop-Transistorzellen und der Lese-Wortleitung 116 (READ-WL) gesteuert. Die Transistoren Q1 und Q2 arbeiten als Pull-Down-Vorrichtungen der Lese-Bitleitung 126 (READ-BIT). Somit kann die Kapazität der Lese-Bitleitung 126 die Inhalte der Zellen oder die Gate-Kapazität von Q1 nicht beeinflussen. Somit ist der READ- Vorgang ein stabiler Vorgang.
- Der Daten-Eingabeanschluß, Leitung 122 in Figur 4, und der Daten-Ausgabeanschluß 126 sind als separate Anschlüsse erkennbar, welche keine geteilten Funktionen oder interferrierenden Funktionen zwischen sich aufweisen.
- Somit können mit der hier beschriebenen Anordnung die "READ"- und "SEARCH"- Funktionen gleichzeitig ausgeführt werden und es ist kein Lese-Steuerungssignal erforderlich.
- Wie in Figur 4 erkennbar ist, ist der dort gezeigte inhaltsadressierbare Doppelanschluß-Speicher zusätzlich in der Lage, getrennte Dekodierer für die Schreib- Freigabeauswahl und für die Lese-Freigabeauswahl aufzuweisen. Diese sind als Schreib-Dekodierer 110w und Lese-Dekodierer 110r gezeigt.
- In den Figuren 4 & 5, welche die CAM-Zelle 100 (Figur 5) und die inhaltsadressierbare Speichermatrix 101 in Figur 4 zeigen, welche ein Mehrfachgitter von CAM- Zeilen verwendet (Reihen von CAM-Zellen), ist erkennbar, daß der Inhalt einer ausgewählten Speicheradresse auf der Daten-Ausgabeleitung 126 ausgelesen wird.
- Die Suchschlüssel-Daten werden durch die Daten-Eingabeleitungen 122, Figur 4, (durch die Bitleitungen 106 und 108, Figur 4) eingegeben, um mit dem Inhalt einer ausgewählten Adresse verglichen zu werden, welche in der gleichen Reihe des inhaltsadressierbaren Speichers 101 enthalten ist. Wenn eine Übereinstimmung auftritt, wird zum Entwickeln eines "Wahr"-Signals, d.h., daß die auf der Leitung 122 eingegebenen Suchschlüssel-Daten und der Inhalt einer Reihe des inhaltsadressierbaren Speichers 101 "identisch" sind, daher die Bewertung abgebrochen und die Treffer-Leitung 104 für die bestimmte Reihe CAM-Zellen aktiviert. Wenn andererseits die Übereinstimmung auf Leitung 105 falsch ist, wird ein "Abweichend"-Bedingungssignal angezeigt.
- Somit ist, wie in dem Doppelanschluß-CAM-Timingdiagramm in Figur 6 erkennbar ist, während des mit T1 bezeichneten gegenwärtigen einzelnen Taktzyklus die Wirkungsweise der Lese-Wortleitung 116 erkennbar, wobei der Lesedekodierer 110rsr (Figur 4) ein Adreßsignal durch den Transistor Q2 (Figur 4) bereitstellt, welches während des ersten Taktzyklus wirkt.
- In Figur 6 ist erkennbar, daß kurz danach die Daten-Ausgabeleitung 126 (durch C1 und C2) arbeitet, um zu ermöglichen, daß Daten zu diesem Zeitpunkt ausgegeben werden, der Suchschlüssel auf Leitung 122 (Figur 4) und den Bitleitungen 106 und 108 (Figur 5) arbeitet, gibt die Übereinstimmungs-(Treffer)-Leitung 104 (Lesebit, Figur 5) frei, so daß die Suchschlüssel- und die Übereinstimmungs-Leitungen während des meisten Teils des ersten Taktzyklus, T1, wirken und der Daten- Ausgabeleitung 126 erlauben, die geforderten Daten während des ersten Taktzyklus auszugeben.
- Somit können das Schreibfreigabesignal (Schreib-WL1O2) und die Eingangsanschluß-Bitleitung 106 (und ihr Komplement 108) gleichzeitig in einem Taktzyklus zum Schreiben der Daten in die Speichermatrix arbeiten.
- Weiterhin kann das Sucheingabesignal auf der Eingabeanschluß-Bitleitung 106 (und ihrem Komplement 1 08) gleichzeitig in einem Taktzyklus arbeiten, um Daten in dem Speicher zu suchen und die Übereinstimmungsleitung 104 zu aktivieren, um einen "Treffer" (Übereinstimmung der Speicherdaten) zu bezeichnen.
- Ebenso kann das Lese-Freigabesignal (Lese-WL 116) gleichzeitig mit der Ausgabe- Anschlußleitung (126, Figuren 4 und 5) in einem Taktzyklus zum Auslesen der in einer angesprochenen Zellen-Reihe vorhandenen Daten arbeiten.
- Somit ist es in einem Taktzyklus möglich, eine Datenposition zu suchen, sie an dem Ausgabeanschluß 126 auszulesen und ebenfalls das Übereinstimmungssignal auf Leitung 104 zu der Logik Li auszugeben.
- Der hier dargestellte verbesserte inhaltsadressierbare Speicher erlaubt die "gleichzeitige" Funktion von:
- (a) Schreiben von Daten in eine ausgewählte Adresse (Reihe von CAM- Zellen); oder
- (b) Lesen von Daten aus einer ausgewählten Adresse;
- (c) Suchen nach übereinstimmenden Daten in der CAM-Matrix und die Ausgabe eines Treffer-Signals (Übereinstimmung), wenn die übereinstimmenden Daten in einer Reihe von Zeilen gefunden werden.
- Somit können (b) und (c), welche eine Suche-Übereinstimmung und Daten-Auslesen (Lese-WL) betreffen, in einem Taktzyklus ausgeführt werden und bieten somit eine Verdoppelung der Arbeitsgeschwindigkeit eines Computersystems und sparen daher zum Beenden von Verarbeitungszyklen erforderliche Zeit.
- Die inhaltsadressierbare Doppelanschluß-Speichermatrix, welche die hier beschriebenen, neu organisierten CAM-Zellen verwendet, kann insbesondere wirksam sein, wenn sie als eine Cache-Einheit in einem Prozessor verwendet wird, so daß Adreßdaten, welche in der Matrix vorhanden sind, verwendet werden können, um auf Informationsdaten in einem zugeordneten RAM direkt zuzugreifen, welche für den Prozessor sofort verfügbar werden, ohne relativ lange Verzögerungen, die beim Zugriff der Informationsdaten in dem zugeordneten Hauptspeicher einbezogen sind.
Claims (13)
1. Speicherzelle zur Verwendung in einer inhaltsadressierbaren Speichermatrix,
mit:
einer ersten Transistoreinrichtung (TC) zum Halten eines eingestellten Bitsignals
(BIT) und seines komplementären Rücksetz-Bitsignals (BITB);
einer zweiten Transistoreinrichtung (C1, C2) zum Vergleichen eines eingegebenen
Suchsignalbits und seines Komplements jeweils mit dem eingestellten Bitsignal und
seinem Rücksetz-Bitsignal;
einer Schreibleitung (102) zum Freigeben der ersten Transistoreinrichtung, wenn
sie aktiviert ist, während eines Schreibvorganges zum Einfügen des eingestellten
Bitsignals und des Rücksetz-Bitsignals;
einem ersten Anschluß (122) zum Einfügen des eingestellten Bitsignals (BIT) und
des Rücksetz-Bitsignals (BITB) in die erste Transistoreinrichtung (TC) oder Anlegen
des Suchsignalbits an die zweite Transistoreinrichtung (C1, C2); und
einer Übereinstimmungsleitung (104) zum Ausgeben eines
Übereinstimmungssignals, wenn das Suchsignalbit dem in der ersten Transistoreinrichtung
enthaltenen eingestellten Bitsignal entspricht;
gekennzeichnet durch
einen zweiten Anschluß (126) zum Ausgeben des eingestellten Bitsignals aus der
ersten Transistoreinrichtung (TC) während eines Lesevorganges, wobei der zweite
Anschluß (126) von dem ersten Anschluß (122) getrennt ist.
2. Speicherzelle nach Anspruch 1, bei welcher Signale des ersten Anschlusses
(122) und des zweiten Anschlusses (126) gleichzeitig innerhalb eines Taktzyklus
wirken.
3. Speicherzelle nach Anspruch 2, bei welcher das eingegebene Suchsignalbit
eine Übereinstimmung mit dem in der Speicherzelle (100) vorhandenen Signalbit
suchen kann und während des einen Taktzyklus ebenfalls ein Treffersignal
ausgeben kann, wenn eine Überstimmung auftritt.
4. Speicherzelle nach Anspruch 1, bei welcher der Anschluß (122) derart wirkt,
daß er ein eingestelltes Bitsignal in die erste Transistoreinrichtung schreibt.
5. Speicherzelle nach Anspruch 1, bei welcher der erste Anschluß (122) das
Suchsignalbit eingeben kann, während der zweite Anschluß (126) ein
Ausgangssignalbit bereitstellt und die Übereinstimmungsleitung (104) gleichzeitig während
eines einzelnen Taktzyklus ein Treffer/Fehler-Signalbit ausgibt.
6. Speicher nach einem der vorstehenden Ansprüche, mit mehreren
Speicherzellen-Reihen (100) zum Halten von Datenbits, wobei jede Zellen-Reihe ein digitales
Datenwort halten kann,
sowie ferner mit:
einer ersten Adreßeinrichtung zum Adressieren einer selektierten Zellen-Reihe mit
einem SCHREIB-Vorgang;
einer zweiten Adreßeinrichtung zum Adressieren einer selektierten Zellen-Reihe mit
einem LESE-Vorgang;
einer dritten Einrichtung zum Durchsuchen jeder der Zellen-Reihen, um eine
Übereinstimmung eines eingegebenen Suchdatenwortes mit einem in einer der Zellen-
Reihen enthaltenen Wort zu suchen;
wobei jede einzelne der ersten und zweiten oder der ersten und dritten Einrichtung
ihre Funktionen gleichzeitig innerhalb eines einzelnen Taktzyklus ausführt.
7. Speicher nach Anspruch 6, bei welchem die dritte Einrichtung beinhaltet:
eine Einrichtung (C1, C2, 104) zum Erzeugen eines Übereinstimmungssignals für
eine externe Schaltung, wenn das eingegebene Suchdatenwort mit einem
Datenwort in einer Zellen-Reihe übereinstimmt.
8. Speicher nach Anspruch 6, bei welchem in jeder der Zellen (100)
die Schreibleitung (102) zum Adressieren einer selektierten Zellen-Reihe während
eines Schreibvorganges vorgesehen ist;
eine Leseleitung (116) zum Adressieren einer selektierten Zellen-Reihe während
eines Lesevorganges vorgesehen ist;
wobei der erste Anschluß (122) vorgesehen ist zum Aktivieren eines Durchsuchens
der Zellen-Reihen, um festzustellen, wenn ihre Daten mit an dem ersten Anschluß
(122) eingegebenen Daten übereinstimmen; und
die Übereinstimmungsleitung (104) zuerst vorgesehen ist zum Anzeigen einer
Übereinstimmung der Daten in der Zellen-Reihe mit den eingegebenen Daten.
9. Speicher nach Anspruch 6, bei welchem jede der Zellen (100) separate
Adreßwortleitungen (102, 116) für Lese- und für Schreib-Vorgänge aufweist.
10. Speicher nach Anspruch 6 oder 7, bei welchem die Speicherzellen eine
Matrix aus CAM-Zellen (100) bilden, die in "m" Reihen angeordnet sind, wobei jede
Reihe "n" Zellen aufweist, so daß jede Reihe aus "n" Zellen Datenbits halten kann,
die ein "n" -Bit-Wort bilden;
wobei die erste Adreßeinrichtung vorgesehen ist zum Selektieren einer
vorgegebenen CAM-Zellen-Reihe während eines Schreibvorganges zum Plazieren eines
eingegebenen Datenwortes in der selektierten CAM-Zellen-Reihe;
die zweite Adreßeinrichtung vorgesehen ist zum Selektieren einer vorgegebenen
CAM-Zellen-Reihe während eines Lesevorganges zum Ausgeben des enthaltenen
Datenwortes aus der selektierten CAM-Zellen-Reihe; und
die dritte Einrichtung vorgesehen ist zum Durchsuchen jeder der "m" Zellen-Reihen,
um eine Übereinstimmung zwischen einem eingegebenen Suchdatenwort und
einem in einer CAM-Zellen-Reihe enthaltenen Datenwort zu ermitteln.
11. Speicher nach Anspruch 10, bei welchem der zweite Anschluß eine erste
Logikeinrichtung (Q1, Q2) umfaßt, zum Freigeben von Datenbits, die während
eines Lesevorganges aus jeder adressierten CAM-Zelle auszulesen sind.
12. Speicher nach Anspruch 10, bei welchem der erste Anschluß eine zweite
Logikeinrichtung umfaßt, zum Freigeben des Schreibens von Datenworten in eine
adressierte CAM-Zellen-Reihe während eines Schreibvorganges.
13. Speicher nach Anspruch 12, bei welchem die zweite Logikeinrichtung die
zweite Transistoreinrichtung (C1, C2) beinhaltet, um ein eingegebenes
Suchdatenwort zum Vergleichen mit den Datenworten freizugeben, die in den "m" CAM-
Zellen-Reihen enthalten sind.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/615,941 US5226005A (en) | 1990-11-19 | 1990-11-19 | Dual ported content addressable memory cell and array |
PCT/US1991/008580 WO1992009086A1 (en) | 1990-11-19 | 1991-11-18 | Dual ported content addressable memory cell and array |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69125393D1 DE69125393D1 (de) | 1997-04-30 |
DE69125393T2 true DE69125393T2 (de) | 1997-09-04 |
Family
ID=24467410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69125393T Expired - Fee Related DE69125393T2 (de) | 1990-11-19 | 1991-11-18 | Zwei toren inhaltsaddressierbare speicherzelle und matrix |
Country Status (5)
Country | Link |
---|---|
US (1) | US5226005A (de) |
EP (1) | EP0558654B1 (de) |
JP (1) | JP3142870B2 (de) |
DE (1) | DE69125393T2 (de) |
WO (1) | WO1992009086A1 (de) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04321130A (ja) * | 1991-04-22 | 1992-11-11 | Toshiba Corp | 分岐予測装置 |
US5420993A (en) * | 1991-06-13 | 1995-05-30 | Unisys Corporation | Extended address translation system for pointer updating in paged memory systems |
JPH05159577A (ja) * | 1991-12-10 | 1993-06-25 | Oki Electric Ind Co Ltd | アドレス入力遷移検出回路およびこれを形成する連想メモリセル回路 |
JP2775549B2 (ja) * | 1992-05-08 | 1998-07-16 | 三菱電機株式会社 | 連想メモリセルおよび連想メモリ回路 |
US5383146A (en) * | 1992-06-08 | 1995-01-17 | Music Semiconductors, Inc. | Memory with CAM and RAM partitions |
US5546569A (en) * | 1993-02-19 | 1996-08-13 | Intergraph Corporation | Apparatus for writing data to and reading data from a multi-port RAM in a single clock cycle |
US5446685A (en) * | 1993-02-23 | 1995-08-29 | Intergraph Corporation | Pulsed ground circuit for CAM and PAL memories |
US5673415A (en) * | 1993-12-03 | 1997-09-30 | Unisys Corporation | High speed two-port interface unit where read commands suspend partially executed write commands |
US5396449A (en) * | 1993-12-21 | 1995-03-07 | International Business Machines Corporation | Fast content addressable memory with reduced power consumption |
US6122706A (en) * | 1993-12-22 | 2000-09-19 | Cypress Semiconductor Corporation | Dual-port content addressable memory |
US5452243A (en) * | 1994-07-27 | 1995-09-19 | Cypress Semiconductor Corporation | Fully static CAM cells with low write power and methods of matching and writing to the same |
US5668972A (en) * | 1994-10-05 | 1997-09-16 | International Business Machines Corporation | Method and system for efficient miss sequence cache line allocation utilizing an allocation control cell state to enable a selected match line |
JP2836596B2 (ja) * | 1996-08-02 | 1998-12-14 | 日本電気株式会社 | 連想メモリ |
US6161164A (en) * | 1996-09-16 | 2000-12-12 | International Business Machines Corp. | Content addressable memory accessed by the sum of two operands |
WO1999023663A1 (en) * | 1997-10-30 | 1999-05-14 | Netlogic Microsystems, Inc. | Synchronous content addressable memory with single cycle operation |
US6199140B1 (en) * | 1997-10-30 | 2001-03-06 | Netlogic Microsystems, Inc. | Multiport content addressable memory device and timing signals |
US6148364A (en) * | 1997-12-30 | 2000-11-14 | Netlogic Microsystems, Inc. | Method and apparatus for cascading content addressable memory devices |
US6240485B1 (en) | 1998-05-11 | 2001-05-29 | Netlogic Microsystems, Inc. | Method and apparatus for implementing a learn instruction in a depth cascaded content addressable memory system |
US6219748B1 (en) | 1998-05-11 | 2001-04-17 | Netlogic Microsystems, Inc. | Method and apparatus for implementing a learn instruction in a content addressable memory device |
US6144573A (en) * | 1998-06-26 | 2000-11-07 | Altera Corporation | Programmable logic devices with improved content addressable memory capabilities |
US6381673B1 (en) | 1998-07-06 | 2002-04-30 | Netlogic Microsystems, Inc. | Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device |
US6574702B2 (en) | 1999-02-23 | 2003-06-03 | Netlogic Microsystems, Inc. | Method and apparatus for determining an exact match in a content addressable memory device |
US6892272B1 (en) | 1999-02-23 | 2005-05-10 | Netlogic Microsystems, Inc. | Method and apparatus for determining a longest prefix match in a content addressable memory device |
US6460112B1 (en) | 1999-02-23 | 2002-10-01 | Netlogic Microsystems, Llc | Method and apparatus for determining a longest prefix match in a content addressable memory device |
US6499081B1 (en) | 1999-02-23 | 2002-12-24 | Netlogic Microsystems, Inc. | Method and apparatus for determining a longest prefix match in a segmented content addressable memory device |
US6539455B1 (en) | 1999-02-23 | 2003-03-25 | Netlogic Microsystems, Inc. | Method and apparatus for determining an exact match in a ternary content addressable memory device |
US6137707A (en) * | 1999-03-26 | 2000-10-24 | Netlogic Microsystems | Method and apparatus for simultaneously performing a plurality of compare operations in content addressable memory device |
US6317349B1 (en) | 1999-04-16 | 2001-11-13 | Sandisk Corporation | Non-volatile content addressable memory |
IT1308100B1 (it) * | 1999-05-17 | 2001-11-29 | Cselt Centro Studi Lab Telecom | Perfezionamenti alle memorie indirizzabili mediante il contenuto |
US6166938A (en) * | 1999-05-21 | 2000-12-26 | Sandisk Corporation | Data encoding for content addressable memories |
US6157558A (en) * | 1999-05-21 | 2000-12-05 | Sandisk Corporation | Content addressable memory cell and array architectures having low transistor counts |
US6553453B1 (en) | 1999-09-10 | 2003-04-22 | Sibercore Technologies, Inc. | Variable width content addressable memory device for searching variable width data |
US6392910B1 (en) * | 1999-09-10 | 2002-05-21 | Sibercore Technologies, Inc. | Priority encoder with multiple match function for content addressable memories and methods for implementing the same |
US6362990B1 (en) * | 1999-09-10 | 2002-03-26 | Sibercore Technologies | Three port content addressable memory device and methods for implementing the same |
US6339539B1 (en) | 1999-09-10 | 2002-01-15 | Sibercore Technologies, Inc. | Content addressable memory having read/write capabilities that do not interrupt continuous search cycles |
US6944709B2 (en) | 1999-09-23 | 2005-09-13 | Netlogic Microsystems, Inc. | Content addressable memory with block-programmable mask write mode, word width and priority |
US7272027B2 (en) | 1999-09-23 | 2007-09-18 | Netlogic Microsystems, Inc. | Priority circuit for content addressable memory |
US7110407B1 (en) | 1999-09-23 | 2006-09-19 | Netlogic Microsystems, Inc. | Method and apparatus for performing priority encoding in a segmented classification system using enable signals |
US6567340B1 (en) * | 1999-09-23 | 2003-05-20 | Netlogic Microsystems, Inc. | Memory storage cell based array of counters |
US7487200B1 (en) | 1999-09-23 | 2009-02-03 | Netlogic Microsystems, Inc. | Method and apparatus for performing priority encoding in a segmented classification system |
US7143231B1 (en) | 1999-09-23 | 2006-11-28 | Netlogic Microsystems, Inc. | Method and apparatus for performing packet classification for policy-based packet routing |
US6934795B2 (en) | 1999-09-23 | 2005-08-23 | Netlogic Microsystems, Inc. | Content addressable memory with programmable word width and programmable priority |
US6154384A (en) * | 1999-11-12 | 2000-11-28 | Netlogic Microsystems, Inc. | Ternary content addressable memory cell |
US6163473A (en) * | 2000-02-02 | 2000-12-19 | Hewlett-Packard Company | Memory for storing encoded mask and data bits |
CA2299991A1 (en) * | 2000-03-03 | 2001-09-03 | Mosaid Technologies Incorporated | A memory cell for embedded memories |
US6259620B1 (en) | 2000-03-08 | 2001-07-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Multiple entry matching in a content addressable memory |
US6421289B1 (en) * | 2000-03-31 | 2002-07-16 | Intel Corporation | Method and apparatus for charge-transfer pre-sensing |
US6353558B1 (en) * | 2000-12-28 | 2002-03-05 | International Business Machines Corporation | Method and apparatus for writing to memory cells |
US6510069B2 (en) * | 2001-01-19 | 2003-01-21 | Pien Chien | Content addressable memory apparatus and method of operating the same |
US6480406B1 (en) * | 2001-08-22 | 2002-11-12 | Cypress Semiconductor Corp. | Content addressable memory cell |
US6487101B1 (en) | 2001-10-02 | 2002-11-26 | International Business Machines Corporation | Use of search lines as global bitlines in a cam design |
US7013367B2 (en) * | 2002-07-18 | 2006-03-14 | Intel Corporation | Caching associative memory using non-overlapping data |
US7111110B1 (en) | 2002-12-10 | 2006-09-19 | Altera Corporation | Versatile RAM for programmable logic device |
US7187570B2 (en) * | 2003-03-20 | 2007-03-06 | Stmicroelectronics Pvt. Ltd. | Content addressable memory architecture providing improved speed |
US6845025B1 (en) | 2003-03-21 | 2005-01-18 | Netlogic Microsystems, Inc. | Word line driver circuit for a content addressable memory |
JP4790417B2 (ja) * | 2003-11-12 | 2011-10-12 | パナソニック株式会社 | Cam回路及びその出力方法 |
US7464217B2 (en) * | 2004-02-24 | 2008-12-09 | International Business Machines Corporation | Design structure for content addressable memory |
US7120732B2 (en) * | 2004-02-24 | 2006-10-10 | International Business Machines Corporation | Content addressable memory structure |
US10249362B2 (en) | 2016-12-06 | 2019-04-02 | Gsi Technology, Inc. | Computational memory cell and processing array device using the memory cells for XOR and XNOR computations |
US10725777B2 (en) * | 2016-12-06 | 2020-07-28 | Gsi Technology, Inc. | Computational memory cell and processing array device using memory cells |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3633182A (en) * | 1969-08-26 | 1972-01-04 | Bell Telephone Labor Inc | Content addressable memory cell |
US3863232A (en) * | 1973-12-26 | 1975-01-28 | Ibm | Associative array |
US4622653A (en) * | 1984-10-29 | 1986-11-11 | Texas Instruments Incorporated | Block associative memory |
US4779226A (en) * | 1985-05-10 | 1988-10-18 | Haraszti Tegze P | Complementary high performance cam cell |
US4831585A (en) * | 1985-11-27 | 1989-05-16 | Massachusetts Institute Of Technology | Four transistor cross-coupled bitline content addressable memory |
GB2200228B (en) * | 1987-01-14 | 1991-08-07 | Texas Instruments Ltd | Content addressable memory |
US4862412A (en) * | 1988-04-25 | 1989-08-29 | Gte Laboratories Incorporated | Content-addressable memory having control circuitry and independent controls for match and write cycles |
JPH01307095A (ja) * | 1988-06-01 | 1989-12-12 | Mitsubishi Electric Corp | 不揮発性cam |
JPH0346194A (ja) * | 1989-07-14 | 1991-02-27 | Mitsubishi Electric Corp | 内容アドレスメモリセル |
-
1990
- 1990-11-19 US US07/615,941 patent/US5226005A/en not_active Expired - Lifetime
-
1991
- 1991-11-18 WO PCT/US1991/008580 patent/WO1992009086A1/en active IP Right Grant
- 1991-11-18 DE DE69125393T patent/DE69125393T2/de not_active Expired - Fee Related
- 1991-11-18 EP EP92901523A patent/EP0558654B1/de not_active Expired - Lifetime
- 1991-11-18 JP JP04501533A patent/JP3142870B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3142870B2 (ja) | 2001-03-07 |
EP0558654A1 (de) | 1993-09-08 |
WO1992009086A1 (en) | 1992-05-29 |
DE69125393D1 (de) | 1997-04-30 |
JPH06502737A (ja) | 1994-03-24 |
US5226005A (en) | 1993-07-06 |
EP0558654B1 (de) | 1997-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69125393T2 (de) | Zwei toren inhaltsaddressierbare speicherzelle und matrix | |
DE3485905T2 (de) | Adressenuebersetzungsspeicher. | |
DE69329080T2 (de) | Cache-Speicher | |
DE68928213T2 (de) | Inhaltadressierte Speicherzellenanordnung | |
DE69324508T2 (de) | DRAM mit integrierten Registern | |
DE69217761T2 (de) | Lese- und Schreibschaltung für einen Speicher | |
DE60220088T2 (de) | Schaltung und verfahren zur ausführung von suchoperationen variabler breite in einem inhaltsadressierbaren speicher | |
DE69104498T2 (de) | Synchrone auffrischung eines dynamischen ram-speichers. | |
DE3788032T2 (de) | Struktur zum Wiederordnen von Bits auf dem Chip. | |
DE3902425C2 (de) | ||
DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
DE69520512T2 (de) | Halbleiterspeicher mit eingebautem Cachespeicher | |
DE3650156T2 (de) | Auf regeln basiertes datenwiederauffindverfahren und anordnung. | |
DE2059917C3 (de) | Hybridadressierter Datenspeicher | |
DE4118804A1 (de) | Dynamische halbleiterspeicheranordnung mit hochgeschwindigkeit-reihenzugriffspaltendecodierer | |
EP0974977A2 (de) | Integrierter Speicher | |
DE69522846T2 (de) | Verbesserte Speicheranordnung und Herstellungsverfahren | |
DE68919464T2 (de) | Halbleiterspeichereinrichtung, die einen Speicher mit Seriengriff aufweist. | |
DE2154106A1 (de) | Arbeitsspeicherwerk | |
DE3724317A1 (de) | Speicherzugriffssystem | |
DE19525232A1 (de) | Selbstauffrischbare dynamische Dual-Port-Cam-Zelle und dynamische Cam-Zellen-Array-Auffrischungsschaltung | |
DE4222273A1 (de) | Zweikanalspeicher und verfahren zur datenuebertragung in einem solchen | |
DE68928187T2 (de) | Inhaltadressierte Speicherzellenanordnung | |
DE2230103A1 (de) | Adressiereinrichtung fuer einen speicher | |
DE3688738T2 (de) | Musteradressierbarer speicher. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |