DE69125393T2 - Zwei toren inhaltsaddressierbare speicherzelle und matrix - Google Patents

Zwei toren inhaltsaddressierbare speicherzelle und matrix

Info

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
Application number
DE69125393T
Other languages
English (en)
Other versions
DE69125393D1 (de
Inventor
Jeffery Easley
David Lee
Ashgar Malik
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Unisys Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Unisys Corp filed Critical Unisys Corp
Application granted granted Critical
Publication of DE69125393D1 publication Critical patent/DE69125393D1/de
Publication of DE69125393T2 publication Critical patent/DE69125393T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital 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/04Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple 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

    Gebiet der Erfindung
  • Diese Veröffentlichung betrifft inhaltsadressierbare Speicher, welche einen Such- Vergleichs-Vorgang in Verbindung mit einem Lesevorgang in demselben Taktzyklus ausführen können.
  • Hintergrund der Erfindung
  • 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.
  • ABRISS DER ERFINDUNG
  • 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.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 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.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • 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.
  • FUNKTIONSABLAUF:
  • 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.
DE69125393T 1990-11-19 1991-11-18 Zwei toren inhaltsaddressierbare speicherzelle und matrix Expired - Fee Related DE69125393T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 内容アドレスメモリセル

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