DE3750795T2 - Schneller, dynamischer Adressennumsetzer mit grosser Dichte. - Google Patents

Schneller, dynamischer Adressennumsetzer mit grosser Dichte.

Info

Publication number
DE3750795T2
DE3750795T2 DE3750795T DE3750795T DE3750795T2 DE 3750795 T2 DE3750795 T2 DE 3750795T2 DE 3750795 T DE3750795 T DE 3750795T DE 3750795 T DE3750795 T DE 3750795T DE 3750795 T2 DE3750795 T2 DE 3750795T2
Authority
DE
Germany
Prior art keywords
cells
lines
output
cell
ram
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
DE3750795T
Other languages
English (en)
Other versions
DE3750795D1 (de
Inventor
Richard P Brown
Thomas F Joyce
Eugene Nusinov
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.)
Bull HN Information Systems Inc
Original Assignee
Bull HN Information Systems Inc
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 Bull HN Information Systems Inc filed Critical Bull HN Information Systems Inc
Publication of DE3750795D1 publication Critical patent/DE3750795D1/de
Application granted granted Critical
Publication of DE3750795T2 publication Critical patent/DE3750795T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Static Random-Access Memory (AREA)
  • Semiconductor Memories (AREA)
  • Dram (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Description

  • Diese Erfindung bezieht sich auf Übersetzer bzw. Umsetzer, Speicher und insbesondere auf inhaltsadressierbare Speicher zum Übersetzen von virtuellen Adressen in physische Adressen.
  • Seit einer Anzahl von Jahren sind inhaltsadressierbare Speicher (CAMs) zur Entwicklung einer Adresse verwendet worden. Ein Beispiel eines solchen Systems ist im US-Patent Nr. 3,800,286 offenbart, welches dem gleichen Inhaber wie dem hiergenannten zugewiesen ist. Dort wurde der CAM verwendet, um eine relative Adresse in eines aus 16 Treffersignalen umzuwandeln, welches in eine 4-Bit-Adresse codiert wurde. Die codierte Adresse wurde dann verwendet, um das geeignete physische Adreßwort von einem Pufferspeicher auszuwählen. Der CAM wurde aus inhaltsadressierbaren TTL-Speicherchips konstruiert.
  • Ein anderes neueres System des Standes der Technik verwendet eine Steuereinrichtungsanordnung, welche die Anzahl von virtuellen Blockadreßeinträgen zwischen zwei CAM-Matrizen aufteilt. Die Ausgaben von den CAM-Matrizen werden an eine Nur-Lese-Matrix (ROM) angelegt, welche die gleiche Anzahl von physischen Cache-Adressen speichert. Diese Anordnung vereinfacht die Anforderungen an den Entwurf zum Implementieren der Steuereinrichtung mit MOS-Technologie. Zur weiteren Information über dieses System wird auf die Veröffentlichung von John Chia Lun Hou, MIT, Department of Electrical Engineering and Computer Science mit dem Titel "Design of a Fully Associative Cache Memory Controller", Copyright 1983, verwiesen.
  • In der EP-Anmeldung 0 132 129 ist ein Adreßübersetzungspuffer offenbart, welcher virtuelle Speicheradressen in physische Speicheradressen übersetzt, und welcher eine Vielzahl von Reihen von inhaltsadressierbaren Speicherzellen, eine entsprechende Vielzahl von RAM-Zellen und eine weitere entsprechende Vielzahl von Steuerschaltungen aufweist. Die inhaltsadressierbaren Speicherzellen speichern die virtuellen Speicheradressen, und die RAM-Zellen speichern die physischen Speicheradressen. Die Steuerschaltungen sind mit sowohl den inhaltsadressierbaren als auch den RAM-Zellen gekoppelt und sind zum Steuern der Operation des Adreßübersetzungspuffers angeordnet.
  • Bei vielen Gelegenheiten wird es für die Systemgesamtleistungsfähigkeit wichtig, Übersetzungen so schnell wie möglich auszuführen. Dies trifft insbesondere dann zu, wenn die Übersetzung die erste einer Reihe von Operationen ist, welche für die Anweisungsausführung erforderlich ist.
  • Bisher war bei den bekannten Vorrichtungen die Gesamtzeit, die erforderlich ist, um solche Übersetzungen auszuführen, nicht schnell genug zum Aufrechterhalten eines hohen Leistungsfähigkeitsniveaus. Dies ergibt sich aus der Tatsache, daß die Übersetzung das Ausführen einer Reihe von Operationen, wie z.B. Decodieren, Vergleichen, Codieren und Zugreifen, involviert. In anderen Fällen involviert die durch die CAMs ausgeführte Vergleichsoperation Einträge mit einer großen Anzahl von Bits, was eine beträchtliche Zeitdauer erfordert.
  • Demgemäß ist es ein Hauptziel der vorliegenden Erfindung, einen Übersetzer bereitzustellen, der in der Lage ist, Übersetzungen innerhalb einer minimalen Zeit auszuführen.
  • Es ist ein weiteres Ziel der vorliegenden Erfindung, einen Übersetzer bereitzustellen, welcher einfach unter Verwendung von LSI-Technologie zu konstruieren ist und eine kleine Chip-Fläche einnimmt.
  • Das obige und andere Ziele der vorliegenden Erfindung werden durch eine Vorrichtung mit den kennzeichnenden Merkmalen von Anspruch 1 erreicht. Diese Vorrichtung enthält zumindest ein Paar inhaltsadressierbare Speicher (CAMs). Jeder CAM ist angeordnet, um einen unterschiedlichen Abschnitt einer Gesamtzahl von Bit jedes der zu übersetzenden Worte zu speichern. Die Zellen jeder Reihe jedes CAM sind mit ihren Ausgängen gemeinsam mit einer einzelnen Trefferleitung verbunden. Entsprechende Trefferleitungsausgänge von jedem CAM sind logisch innerhalb der Zellen eines Vielfachauswahl-Eingabespeichers mit wahlweisem Zugriff (RAM) verknüpft. Jede Reihe des RAM speichert die übersetzte Adresse für ein unterschiedliches Wort, die durch die CAMs gespeichert sind.
  • Im Betrieb werden beide CAMs gleichzeitig befragt. Dies führt dazu, daß Signale an die Trefferleitungen angelegt werden, um das Vorhandensein oder das Nicht-Vorhandensein des Wortes innerhalb des Übersetzers anzuzeigen. Beim Vorhandensein einer Übereinstimmung wird die ausgewählte Reihe von Zellen des RAM, welcher die übersetzte Adresse des gewünschten Wortes speichert, durch die CAM-Ausgaben konditioniert, um den übersetzten Adreßinhalt der Reihe der Zellen als eine Ausgabe auszulesen. Durch Vermindern der Länge der Trefferleitungen, und, proportional, der Ladefortpflanzungszeit, können alle Abschnitte eines ganzen Wortes zum RAM in einem Bruchteil der Zeit ausgelesen werden, welche ein einzelner CAM normalerweise erfordert. Dies erhöht seinerseits das Gesamtleistungsfähigkeitsniveau des Übersetzers und vermindert gleichzeitig die Energieanforderungen.
  • Im bevorzugten Ausführungsbeispiel ist der Übersetzer 10 auf einem einzelnen Chip unter Verwendung von VLSI-Technologie konstruiert. Die Speicherzellen für die CAMs und RAMs sind so konstruiert, um eine minimale Anzahl von Transistoren zu verwenden, und sind so organisiert, um den Entwurf zu vereinfachen und die Chip-Fläche zu reduzieren. Das CAM-Layout ist so entworfen, um eine Anzahl von Metalleitungen in unterschiedlichen Schichten zu enthalten, welche durch jede Gruppe von Zellen in vertikalen und horizontalen Richtungen hindurchlaufen. Diese Anordnung erlaubt es, daß Trefferleitungen und Wortleitungen in den gewünschten Richtungen orientiert sind, um die anderen Abschnitte des gleichen Chips zu verbinden. Das Ergebnis besteht darin, daß die Anordnung die Fläche minimiert, und die Effizienz und die Leistungsfähigkeit steigert.
  • Die neuen Merkmale, welche als charakteristisch für die Erfindung angesehen werden, und zwar sowohl in ihrer Organisation als auch in ihrem Betriebsverfahren, zusammen mit weiteren Zielen und Vorteilen werden besser von der folgenden Beschreibung verstanden werden, wenn sie in Verbindung mit der begleitenden Zeichnung betrachtet wird. Es soll jedoch ausdrücklich verstanden werden, daß jede der Zeichnungen nur zum Zwecke der Veranschaulichung und Beschreibung gegeben ist und nicht die Festlegung von Grenzen der vorliegenden Erfindung beabsichtigt.
  • Fig. 1 ist ein Blockdiagramm des Übersetzers der vorliegenden Erfindung.
  • Fig. 2 zeigt in größerem Detail den Übersetzer von Fig. 1.
  • Fig. 3a und 3b
  • zeigen die CAM- und RAM-Zellen, die beim Entwurf der CAMs und RAMs von Fig. 1 verwendet wurden.
  • Fig. 4 ist eine Draufsichtzeichnung der CAM-Zelle von Fig. 3a, welche in einer integrierten Schaltungskonfiguration gemäß der vorliegenden Erfindung konstruiert ist.
  • Fig. 5 ist ein Zeitdiagramm, welches verwendet wird, um den Betrieb des Übersetzers der vorliegenden Erfindung zu erklären.
  • Bezugnehmend auf Fig. 1 wird gesehen, daß der Übersetzer 10 der vorliegenden Erfindung so organisiert ist, um physische Adressen eines Seitendeskriptors zum Übersetzen einer Anzahl von 16 virtuellen Adreßeinträgen oder Wörtern zu speichern. Im Detail ist er so konstruiert, um eine virtuelle 20-Bit-Seitendeskriptoradresse, die an eine Zentralverarbeitungseinheit (CPU) über ein virtuelles 20-Bit-Adreßregister 20 angelegt ist, in eine physische 20-Bit-Adresse innerhalb einer minimalen Zeitdauer umzuwandeln.
  • In größerem Detail weist der Übersetzer 10 ein Paar inhaltsadressierbarer Speicher CAMs 12a und 12b auf. Jeder der CAMs 12a und 12b speichert einen unterschiedlichen Abschnitt jedes der 16 Seitendeskriptor- Adreßwörter. CAM 12a speichert Bit 0 bis 9, wohingegen CAM 12b Bit 10 bis 19 jedes Seitendeskriptor-Adreßworts speichert. Bit 0 bis 19 jedes Seitendeskriptorwortes werden von einer Zentralverarbeitungseinheit (CPU) über ein Register 20 empfangen, wohingegen Bit 20 ein Gültigkeitssteuerbit ist, dessen Status durch nichtgezeigte Ersatzschaltungen festgelegt ist. Wenn das Adreßwort in den Übersetzer 10 geschrieben wird, wird das Gültigkeitsbit gesetzt. Das Bit wird auf eine herkömmliche Weise aktualisiert, wenn das Adreßwort modifiziert wird.
  • Jeder der CAMs 12a und 12b arbeitet, um gleichzeitig eine unterschiedliche Hälfte einer virtuellen CPU-Adresse, die über das Register 20 angelegt ist, mit allen 16 Hälften der 16-Seitendeskriptorworte zu vergleichen, die in den vertikalen Reihen oder Spalten von Zellen in seinem CAM gespeichert sind. Wenn es eine Identität zwischen den Worthälften im CAM 12a oder CAM 12b gibt, zwingt die vertikale Reihe von Zellen, welche diesen Vergleich erfaßt, eine Trefferleitung, welche alle die Zellen dieser vertikalen Reihe gemeinsam miteinander verbindet, auf einen vorbestimmten Zustand. CAM 12a legt die Ergebnisse der gleichzeitigen Vergleiche an die Trefferleitungen HITL0 bis HITL15 an. Diese Signale werden ihrerseits als ein erster Satz von Eingaben an entsprechende horizontale Reihen von Zellen des RAM 14 angelegt. Gleichzeitig legt der CAM 12b die Ergebnisse der gleichzeitigen Vergleiche an die Trefferleitungen HITR0 bis HITR15 an. Diese Signale werden als ein zweiter Satz von Eingaben an die gleichen entsprechenden horizontalen Reihen von Zellen des RAM 14 angelegt. Der erste und der zweite Satz von Eingaben werden logisch innerhalb der RAM-Zellen jeder Reihe verknüpft. Wenn es eine Identität zwischen beiden Hälften der virtuellen 20-Bit-Adresse in den CAMs 12a und 12b mit der virtuellen Eingabeadresse gibt, zwingen beide CAMs 12a und 12b beide Hälften der gleichen Trefferleitung (z.B. HITL0, HITR0 oder HITL10, HITR10) auf einen vorbestimmten Zustand. Dies konditioniert die entsprechende Reihe von RAM-Zellen, um die übersetzte virtuelle Adresse in einem gemeinsamen Satz von Lese-/Schreib-Verstärkerschaltungen auszulesen. Von dort wird die übersetzte virtuelle Adresse oder physische Adresse an einen anderen Teil der CPU transferiert und verwendet, um die angeforderten Daten vom Speicher zu holen.
  • Wie von Fig. 1 gesehen wird, empfängt jeder der CAMs 12a und 12b Eingabesignale von einem gemeinsamen Satz von Wortleitungen WL0 bis WL15. Die Wortleitungen WL0 bis WL15 sind verbunden, um Signale von nichtgezeigten Ersatzschaltungen zu empfangen, die in einem anderen Abschnitt des Übersetzers 10 angeordnet sind. Diese Schaltungen bestimmen, welches Seitendeskriptor-Adreßwort im Übersetzer 10 ersetzt werden soll. Zum Zwecke der vorliegenden Erfindung können die Ersatzschaltungen in ihrer Konstruktion als herkömmlich angesehen werden.
  • Wenn eine der Wortleitungen auf einen vorbestimmten Zustand gezwungen wird, werden die CAM-Zellen einer vertikalen Reihe, die mit der Wortleitung gekoppelt sind, so konditioniert, um die an ihre Eingänge angelegten Signale zu speichern. Der Übersetzer 10 kann initialisiert werden, um einen gegebenen Satz von 16 Seitendeskriptor-Adreßwörtern zu speichern, indem er nacheinander die Wortleitungen WLO bis WL15 auf einen vorbestimmten Zustand zwingt.
  • Es sei bemerkt, daß jeder der zwei CAMs 12a und 12b zwei Sätze von Trefferleitungen bereitstellt. Ein erster Satz, der sich in einer horizontalen Richtung erstreckt, verbindet mit dem RAM 14, der zwischen beiden CAMs 12a und 12b positioniert ist, und ein zweiter Satz, der sich in einer vertikalen Richtung erstreckt, verbindet mit den Ersatzschaltungen, die oberhalb der CAMs 12a und 12b angeordnet sind. Dies wird erreicht, indem eine Anzahl von Metalleitungen in einer Richtung und eine entsprechende Anzahl von Poly-Leitungen in einer orthogonalen Richtung durch jede CAM-Zelle gelegt wird. Wie hier erklärt, erlaubt diese Anordnung, daß die Trefferleitungen und die Wortleitungen in den gewünschten Richtungen orientiert sind, um andere Bereiche des Übersetzerchips zu verbinden. Das Ergebnis ist eine Reduzierung in der Fläche, verbesserte Effizienz und Leistungsfähigkeit, wie es hier erklärt ist.
  • Fig. 2 zeigt in größerem Detail das Layout der CAMs und des RAM des Übersetzers 10. Wie aus Fig. 2 ersichtlich, haben die CAMs 12a und 12b die gleiche Organisation und Konstruktion. Jeder CAM weist 160 CAM-Zellen auf, die in einer Matrix von 10 horizontalen Reihen und 16 vertikalen Reihen oder Spalten organisiert sind. Die Matrix des CAM 12b weist eine zusätzliche horizontale Reihe auf, die für Steuerinformation reserviert ist. Jeder CAM weist eine Vielzahl von Dateneingangspufferschaltungen (d.h., 12a-1 bis 12a-10 und 12b-1 bis 12b-11) auf, die einen unterschiedlichen Abschnitt des virtuellen zu übersetzenden 20- Bit-Adreßworts empfangen. Der CAM 12b weist eine zusätzliche Eingangspufferschaltung 12b-11 auf, die ein Löscheingabesignal von einem anderen Teil des Chips empfängt, welches über eine Inverterschaltung 12b-36 angelegt wird. Zusätzlich weist jeder CAM eine Vielzahl von Wortleitungs-Eingangspufferschaltungen (d.h., 12a-20 bis 12a-35 und 12b- 20 bis 12b-35) auf, die Signale empfangen, welche an die Wortleitungen WL0 bis WL15 durch die Übersetzerersatzschaltungen angelegt sind.
  • Beide Gruppen von Eingangspufferschaltungen können in ihrer Konstruktion als herkömmlich angesehen werden. Die Eingangsdaten-Pufferschaltungen arbeiten, um den Logikpegel der Eingangsdatensignale in Ausgangssignale eines hohen Pegels mit Komplementärbit umzuwandeln. Die Wortleitungs-Pufferschaltungen, welche ein Taktsignal CLK4 empfangen, wandeln in ähnlicher Weise die Wortleitungssignale in Wortleitungssignale eines hohen Pegels um. Sowohl die Bitausgangssignale als auch die Wortleitungssignale werden an jede der CAM-Zellen der entsprechenden horizontalen und vertikalen Reihen angelegt, wie gezeigt.
  • Die CAM-Zellen der vertikalen und horizontalen Reihen jedes CAM sind intern mit horizontalen und vertikalen Trefferleitungen verbunden, wie gezeigt. Die vertikalen Trefferleitungen (d.h., HITL0 bis HITL15 und HITR0 bis HITR15) werden als Eingaben an die Übersetzerersatzschaltungen angelegt. Die horizontalen Trefferleitungen werden als Eingaben an den RAM 14 angelegt.
  • Wie gezeigt weist der RAM 14 336 RAM-Zellen auf, die in einer Matrix von 16 horizontalen Reihen und 21 vertikalen Reihen oder Spalten organisiert sind. Der RAM 14 weist zwei Sätze von Eingangspufferschaltungen 14-1a bis 14-16a und 14-1b bis 14-16b auf, die Eingangstreffersignale von den CAMs 12a bzw. 12b empfangen. Sie empfangen auch Zeitgabe- und Synchronisierungssignale T1, CLK4 und SYNC von einer zentralen Zeitgabequelle über Zeitgabeschaltungen 14-50a, 14- 50b, 14-51a und 14-51b. Die Zellen des RAM 14 werden über eine Vielzahl von Vorladeschaltungen 14-20 bis 14-40 vorgeladen. Diese Schaltungen arbeiten in Antwort auf Zeitgabe- und Synchronisierungssignale T1 und SYNC, die über die Schaltungen 14-50a und 14-50b empfangen werden. Information wird aus den RAM-Zellen gelesen und in diese geschrieben über eine Vielzahl von Lese-/Schreib-Verstärkerschaltungen 14-60 bis 14-80. Wie gezeigt empfangen diese Schaltungen Zeitgabe- und Schreibsteuersignale CLK4 und WRT von den gleichen zentralen Zeitgabeschaltungen.
  • Zum Zwecke der vorliegenden Erfindung können die Eingangspufferschaltungen, die Vorladeschaltungen, die Lese-/Schreib-Verstärkerschaltungen und die Zeitgabeschaltungen in ihrer Konstruktion als herkömmlich angesehen werden. Jede der Eingangspufferschaltungen 14-1a bis 14-16a bzw.- 14-1b bis 14-16b arbeiten, um die Treffersignale, die von den CAMs 12a und 12b in die geeigneten Logikpegel zum Anlegen als eine Eingabe an die RAM-Zellen einer horizontalen Reihe umzuwandeln. Jede der Vorladeschaltungen 14-20 bis 14-40 arbeitet, um ein unterschiedliches Paar der Paare komplementärer Bitleitungen BIT und BBIT auf den gleichen vorbestimmten hohen Spannungspegel vorzuladen. Die Lese-/Schreib-Verstärkerschaltungen arbeiten, um den Zustand der Information, die gerade an die BIT- und BBIT-Leitungen während eines Lesezyklus einer Operation anliegen, zu erfassen und um Informationen über die gleichen Leitungen während eines Schreibzyklus der Operation zu schreiben, und zwar in Antwort auf die Signale WRT und WRT-M.
  • Die Matrizen von CAMs 12a und 12b und des RAM 14 sind aus den CAM- und RAM-Zellen der Fig. 3a und 3b konstruiert. Sowohl die CAM- und RAM-Zellen verwenden NMOS-FET-Transistortechnologie. Gemäß der vorliegenden Erfindung ist die CAM-Zelle entworfen, um eine kleine Anzahl von Transistoren numeriert von 1 bis 9 zu verwenden, die so konfiguriert sind, um Verzögerungen zu reduzieren und um Raumanforderungen zu reduzieren. Wie aus Fig. 3a ersichtlich, weist die CAM-Zelle 12a-12 einen Flip-Flop-Abschnitt 12-120 und einen Abstimm- oder Vergleichsabschnitt 12-140 auf. Der Flip-Flop-Abschnitt 12-120 weist ein Paar von Eingangsinverter-FET-Transistoren 12-120a und 12- 120b auf, die so verbunden sind, um ein bistabiles Element mit zwei stabilen Zuständen zu bilden, wobei das Potential der Speicherknoten 12- 121a und 12-121b entweder bei der Spannung VDD oder bei null Volt ist. Eine binäre EINS ist in der Zelle gespeichert, wenn der Speicherknoten 12-121a auf Erde liegt und der Speicherknoten 12-121b auf VDD- Potential liegt. Im Ruhezustand ist die Wortleitung WL auf Erdpotential gehalten, was die Transistoren 12-120a und 12-120b im Aus-Zustand hält. Dies isoliert die Zelle von den Bitleitungen BIT und BBIT.
  • Der Komparatorabschnitt 12-140 weist Transistoren 12-140a und 12-140b auf, die so verbunden sind, um ein EXCLUSIV-OR-Gatter zu bilden. Der Ausgang des EXKLUSIV-OR-Gatters ist mit dem Gate des Transistors 12-140b verbunden, der das Pull-Down eines OR-Logikgatters für die Trefferschaltung darstellt. Die Gate-Anschlüsse des Transistors 12- 130a und 12-140b sind mit den Knoten 12-121a bzw. 12-121b verbunden. Der Transistor 12-140a wird eingeschaltet sein, wenn eine binäre NULL in der Zelle gespeichert ist, wohingegen der Transistor 12-140b eingeschaltet sein wird, wenn eine binäre "EINS" in der Zelle gespeichert ist. Die Trefferleitung bleibt normalerweise auf +VDD Volt, außer es gibt eine Nicht-Übereinstimmung zwischen der gerade gesuchten Information und dem Inhalt der Zelle.
  • Um eine Suchoperation auszuführen, legt die gerade gesuchte Information die Zustände der BIT- und BBIT-Leitungen fest. Für eine binäre EINS- Information wird die BIT-Leitung auf VDD-Volt angehoben, wohingegen die BBIT-Leitung auf Erde bleibt. Für eine binäre EINS-Information nimmt die BIT- und BBIT-Leitung den entgegengesetzten Wert an. Wenn eine binäre EINS in der Zelle gespeichert ist und die Bitleitungen auf eine binäre EINS gesetzt sind, wird eine Übereinstimmung durch den Vergleicherabschnitt 12-140 erfaßt. Dies führt dazu, daß die Trefferleitung auf der Spannung VDD bleibt. Wenn die Bitleitungen auf eine binäre NULL gesetzt sind, erfaßt der Vergleicherabschnitt 12-140 eine Nicht-Übereinstimmung, was die Trefferleitung auf Erdpotential zwingt.
  • Das Schreiben wird erreicht, indem die Wortleitung auf eine vorbestimmte Spannung gezwungen wird und indem sowohl die BIT-Leitung und die BBIT-Leitung auf entgegengesetzte Polaritäten geschaltet werden, unabhängig davon, ob eine binäre EINS oder eine binäre NULL in die Zelle geschrieben werden soll.
  • Wie es hier beschrieben ist, laufen zwei zusätzliche Metalleitungen durch den Bereich jeder CAM-Zelle, wie gezeigt in Fig. 3a. Diese Anordnung erlaubt es, daß die Wortleitungen und die Trefferleitungen in sowohl vertikaler als auch horizontaler Richtung gleichzeitig zur Vereinfachung der Verbindung zu anderen Abschnitten auf dem gleichen Chip orientiert werden. Das heißt, die punktierten rechteckigen Kasten, die mit "A" bezeichnet sind und die an den Leitungsverbindungen in Fig. 3a plaziert sind, stellen optionale Verbindungen für die Wort- und Trefferleitungen dar.
  • Somit kann der gleiche CAM-Entwurf in verschiedenen unterschiedlichen Orientierungen verwendet werden und kann verwendet werden, um mehrere unterschiedliche Einheiten zu konstruieren. Das Ergebnis besteht darin, daß die wertvolle Chipfläche mit begleitenden Verbesserungen in der Effizienz und in der Leistungsfähigkeit minimiert wird. Im vorigen Ausführungsbeispiel laufen die Trefferleitungen sowohl vertikal als auch horizontal. Somit kann der Raum zwischen den CAMs 12a und 12b und dem RAM 14 komprimiert werden, wobei Raum und Verzögerungen deutlich reduziert werden.
  • Diese Anordnung ist in größerem Detail durch die integrierte Schaltungskonfiguration von Fig. 4 veranschaulicht. Zur Einfachheit der Identifikation sind die Transistorschaltungselemente von Fig. 3a in Fig. 4 mit den Bezugszeichen 1 bis 9 bezeichnet. Die Metalleitung der ersten Ebene, typischerweise polykristallines Siliziumoxid (Poly), das zur Verwendung als Gate-Elektroden und als elektrische Verbindungen geeignet ist, ist durch die geneigten Schraffierungslinien angezeigt, die in einer Richtung von oben links nach unten rechts verlaufen. Die Metallisierungsleitungen der zweiten Ebene, typischerweise Aluminium, die für Zwischenverbindungen geeignet sind, sind durch das Punktmuster in Fig. 4 angezeigt. Die Zonen lokaler diffundierter oder implanüerter Störstellen von relativ hoher Leitfähigkeit, die an der Oberfläche des darunterliegenden Halbleiters angeordnet sind und die zur Verwendung als Source- und Drain- Zonen oder als Zwischenverbindungen geeignet sind, sind durch die Kombination von schrägen Linien und Quadratmustern angezeigt. Die Zwischenverbindung einer Metallisierung der ersten Ebene oder einem eingegrabenen Kontakt ist durch das kombinierte Muster aus geneigten Schraffierungslinien und die Kombination geneigter Linien und Quadraten angezeigt, die in den punktierten Bereichen enthalten sind. Die durchgehenden Quadrate bezeichnen Zwischenverbindungen oder Kontakte, die von einer Metallisierung der zweiten Ebene mit einer Metallisierung der ersten Ebene vorgenommen sind, oder einer Metallisierung der zweiten Ebene mit einer diffundierten Zone. Die Zahlen 1 bis 9 bezeichnen den Ort der Transistoren 12-120a bis 12-140c von Fig. 3a.
  • Wie aus Fig. 4 ersichtlich, weist jede CAM-Zelle zwei Metallisierungsleitungen oder Poly-Leitungen der ersten Ebene und vier Metallisierungsleitungen oder Metalleitungen der zweiten Ebene auf, ausgenommen Versorgungs- und Erdungsleitungen VDD und VSS. In Fig. 4 verlaufen die Poly-Leitungen in einer horizontalen Richtung und sind mit HIT und WL bezeichnet. Die Metalleitungen verlaufen in einer vertikalen Richtung und sind mit BIT BBIT und WL oder HIT bezeichnet, wie gezeigt. Die internen Verbindungen innerhalb jeder CAM-Zelle legen die Richtungen der Wort-(WL)- und Trefferleitungen fest. Die Richtung kann so gemacht werden, um mit den Orten der umgebenden Abschnitte einherzugehen.
  • Aus Fig. 2 ist ersichtlich, daß die Eingänge BIT und BBIT zu den CAMs zur Rechten und zur Linken eintreten, die Wortleitungen treten an der Unterseite ein, und die HIT-Leitungen treten in sowohl der vertikalen als auch der horizontalen Richtung aus. In dem Ausführungsbeispiel von Fig. 2 ist die CAM-Zelle von Fig. 4 um 90ºC gedreht, so daß die vier Metalleitungen nun horizontal verlaufen und die BIT- und BBIT- Eingänge und die HIT-Ausgänge in der gleichen Richtung bereitstellen. Innerhalb der CAM-Zelle ist die Poly-Leitung für die HIT-Leitung mit der Metalleitung verbunden, welche die Richtung der Trefferleitung ändert. Indem man in der Lage ist, Metalleitungen für Treffersignale zu verwenden, wird die Zeit zum Übertragen der Treffersignale wegen der größeren Leitfähigkeit von Metalleitungen verglichen mit Poly-Leitungen reduziert. Es ist auch das Layout vereinfacht, da es den Leitungsführungen der HIT- und WL-Leitungen zum RAM 14 und den Ersatzschaltungen (nicht gezeigt) optimiert.
  • Fig. 3b zeigt die RAM-Zelle der vorliegenden Erfindung. Wie aus der Figur ersichtlich, weist die RAM-Zelle 14-18 einen herkömmlichen Flip- Flop-Abschnitt 14-180 und einen Gatterabschnitt 14-190 auf. Der Flip- Flop-Abschnitt 14-180 weist Eingangsdurchlauftransistoren 14-180a und 14- 180b und Transistoren 14-180c bis 14-180f auf, die so verbunden sind, um ein bistabiles Speicherelement mit zwei stabilen Zuständen zu bilden. Das heißt, die Knoten 14-181a und 14-181b sind entweder bei Spannung VDD oder VSS, abhängig davon, ob die Zelle eine binäre EINS oder eine binäre NULL speichert. Beide Transistoren 14-180a und 14-180b sind normalerweise ausgeschaltet, was die Zelle von den Bitleitungen BIT und isoliert.
  • Gemäß der Erfindung ist ein Paar von Durchlauftransistoren 14-190a und 14-190b in Reihe mit den Durchlauftransistoren 14-180a bzw. 14-180b verbunden. Das Gate jedes Paars der Reihenschaltung von Durchlauftransistoren ist mit einer der Wortleitungen WLL und WLR verbunden, wie gezeigt. Als Ergebnis ergibt sich, daß der Inhalt des bistabilen Speicherelements nur ausgelesen oder beschrieben wird, wenn beide Wortleitungen WLL und WLR im gleichen vorbestimmten Zustand sind, der eine Trefferbedingung anzeigt (d.h. ein Spannungspotential von VDD Volt).
  • Mit Bezug auf die Fig. 1, 2, 3a und 3b wird nun der Betrieb des Übersetzers 10 unter Bezugnahme auf das Zeitdiagramm von Fig. 5 beschrieben. Wie durch die Wellenform angezeigt, beginnt jeder Zyklus zum Zeitpunkt T4, wenn das Signal CLK4 auf eine binäre EINS gezwungen wird. Während des Zeitpunkts T4 lädt die CPU das Register 20 von Fig. 1 mit einer neuen virtuellen Adresse. Dies führt zu einer Änderung in den virtuellen Adreßsignalen, wie angezeigt durch die Wellenform d.
  • In der Zwischenzeit befragen oder durchsuchen die CAMs 12a und 12b ständig die Information, die an ihre Eingänge angelegt ist (siehe Wellenform i). Durch Verwenden der virtuellen Adreßsignale von einer anfänglichen Stufe innerhalb des Registers 20 kann die Befragung früher begonnen werden, wie es durch das Intervall Δtl der Wellenformen a und d angezeigt ist.
  • Die Schaltungen 14-51a und 14-51b von Fig. 2 zwingen das WRT-PROT- Signal auf eine binäre EINS in Antwort auf das Signal CLK4, wie gezeigt durch die Wellenform g.
  • Um sicherzustellen, daß die Information zwischen aufeinanderfolgenden Lesebetriebszyklen gesichert wird, werden die Bitleitungen jeder vertikalen Reihe von RAM-Zellen während des Intervalls T11 durch die Schaltungen 14-20 bis 14-40 auf eine positive Spannung VDD vorgeladen (siehe Wellenformen e und f). Zu diesem Zeitpunkt sind die Eingangspufferschaltungen 14-1 a bis 14-16a und 14-1b bis 14-16b ebenso durch die Signale T11 von den Zeitgabeschaltungen 14-50a, 14-50b, 14-51a und 14- 51b gesperrt. Dies führt dazu, daß die Wortleitungen des RAM auf binäre NULLEN gezwungen werden, wie angezeigt durch die Wellenform h. Dies verhindert, daß irgendeine Information während des Vorladeintervalls sowie während der Zeit gewählt werden kann, während der die virtuelle Adresse durch die CPU geändert werden kann. Somit sind, wie gezeigt durch die Wellenform h, die Wortleitungen des RAM ebenso während des Zeitintervalls T4 gesperrt, welches durch das Signal CLK4 festgelegt ist.
  • Am Ende des Intervalls T11 werden die RAM-Eingangspufferschaltungen freigegeben, und die Trefferleitungen der CAMs 12a und 12b sind stabil. Zu diesem Zeitpunkt ist Information bereit, um aus der horizontalen Reihe von RAM-Zellen ausgelesen zu werden, welche gemeinsam durch die CAMs 12a und 12b nach der Erfassung einer Übereinstimmung gemeinsam ausgewählt sind.
  • Zu Beginn des Zeitintervalls T2 ist die Information, die aus der ausgewählten Reihe von RAM-Zellen ausgelesen ist, gültig (siehe Wellenform j). Dieser Zeitpunkt tritt etwa 45 Nanosekunden nach der Änderung der virtuellen Adresse ein, wie angezeigt durch die Wellenformen a und c. Die Information bleibt bis zum nächsten Vorladeintervall gültig, wie gezeigt durch Wellenform j. Die Information, die aus der ausgewählten Reihe von RAM-Zellen ausgelesen ist, wird durch die Lese-/Schreib- Schaltungen 14-60 bis 14-80 während des Zeitintervalls T2 erfaßt.
  • Wie von der Wellenform k ersichtlich, kann die Information in die ausgewählte Reihe von RAM-Zellen geschrieben werden, indem Schreibsignale WRT und WRT-M auf binäre EINSEN gezwungen werden. Zu diesem Zeitpunkt werden die Signale, die an die Lese-/Schreib-Schaltungen 14-60 bis 14-80a angelegt sind, in die ausgewählte Reihe von RAM- Zellen geschrieben.
  • Aufgrund der Anordnung der vorliegenden Erfindung ist die angeforderte übersetzte Information innerhalb eines minimalen Zeitraums nach der Änderung der virtuellen Adreßsignale verfügbar gemacht. Diese schnelle Antwortzeit erlaubt es dem Rest des Systems, bei maximaler Geschwindigkeit zu arbeiten.
  • Der Fachmann wird erkennen, daß viele Änderungen am bevorzugten Ausführungsbeispiel der vorliegenden Erfindung vorgenommen werden können, ohne von ihrer Lehre abzuweichen. Zum Beispiel kann die Erfindung mit unterschiedlichen Typen und Konfigurationen von Speicherzellen verwendet werden, die unter Verwendung unterschiedlicher Technologien implementiert sind.

Claims (6)

1.Umsetzer zum Umsetzen eines Eingabeworts, welches aus N Bits besteht, in ein Ausgabewort, wobei der Umsetzer aufweist:
- einen Speicher (14) mit K Sätzen von Zellen (14-18), wobei jeder der Sätze angepaßt ist, um ein Ausgabewort zu halten. und
- eine Schaltung (20) zum Empfangen eines Eingabeworts und zum daraus Erzeugen von N Signalen, welche jeweils die N Bits des Eingabeworts darstellen;
gekennzeichnet durch:
- J Inhalts-adressierbare Speicher (CAM) (12a, 12b), wobei jeder Speicher K Gruppen von Zellen (12a-12 12b-12) aufweist, wobei jede der Zellen ein Bit hält, wobei jede der Zellengruppen in jedem Speicher eine gleiche Anzahl von Zellen aufweist und einen unterschiedlichen Abschnitt eines Worts speichert, das umgesetzt werden kann, wobei die Gesamtheit der Zellen entsprechender Gruppen in allen J Speichern N Zellen aufweist wobei jeder Speicher K Ausgabeleitungen (HITL0, HITR15) aufweist, und zwar eine für jede der Zellengruppen, wobei jede Ausgabeleitung mit allen Zellen der Zellengruppe gekoppelt ist:
- dadurch gekennzeichnet, daß jede Zelle der K Sätze von Zellen (14-18) in dem Speicher (14) ein logisches Element (14-180a. 14-190a, 14-180b, 14-190b) aufweist, welches mit den J Ausgabeleitungen aller der jeweiligen entsprechenden Zellengruppen der J Speicher gekoppelt ist, wobei jedes der Ausgabewörter, die in dem Speicher (14) gehalten sind, die umgesetzte Version eines Eingabeworts ist, welches in den N Zellen der Gesamtheit von Zellen der entsprechenden Zellengruppen der J Speicher gehalten ist;
- dadurch gekennzeichnet, daß die Schaltung (20) jedes der Eingabewortsignale an alle die K entsprechenden Zellen der Zellengruppen anlegt, wobei jede der Zellen das Bit, welches durch das eine der daran angelegten Signale dargestellt ist, mit dem darin gehaltenen Bit vergleicht und veranlaßt, daß die daran gekoppelte jeweilige Ausgabeleitung ein Signal ("Treffer"-Signal) liefert, wenn Gleichheit durch die Vergleiche erfaßt ist, welche durch die eine Zelle und alle die anderen Zellen der Zellengruppe, von denen diese eine Zelle ein Mitglied ist, bewirkt werden; und
wobei, wenn die Logikelemente (14-180a. 14-190a, 14-180b, 14-190b) in einem der Sätze von Zellen des Speichers (14) ein Signal von allen den J daran gekoppelten Ausgabeleitungen empfängt der Speicher (14) einen Satz von Ausgabesignalen liefert, welche das in dem Zellensatz gehaltene Ausgabewort darstellen.
2. Umsetzer nach Anspruch 1, der in einer VLSI-Form unter Verwendung einer Vielzahl von Metallisierungsschichten gebildet ist.
3. Umsetzer nach Anspruch 2, wobei die Vielzahl von Metallisierungsschichten eine Anzahl von Polysilizium- und Metalleitungen aufweist.
4. Umsetzer nach Anspruch 2, wobei jede der CAM-Zellen aufweist:
eine Speicherzelle (RAM) für wahlweisen Zugriff mit einem Paar von Ausgabeleitungen;
eine Anzahl von Transistoren, die untereinander verbunden sind, um ein exklusives OR-Gatter zu bilden, wobei das Gatter erste und zweite Paare von Eingängen und Ausgängen aufweist, wobei das erste Eingangspaar mit dem Paar von Ausgabeleitungen verbunden ist, wobei das zweite Eingangspaar verbunden ist, um Eingangssignale entsprechend einem der Signale entsprechend dem unterschiedlichen Abschnitt zu empfangen, und wobei der Ausgang mit einer der Vielzahl von Ausgabeleitungen verbunden ist, wobei das exklusive OR-Gatter während der Befragung der CAM-Zelle arbeitet, um den Inhalt der RAM-Zelle mit den Eingabesignalen zu vergleichen, wobei das Gatter die Ausgabeleitung auf einen vorbestimmten Zustand nach Erfassen einer Übereinstimmung zwischen den ersten und zweiten Eingangspaaren zwingt.
5. Umsetzer nach Anspruch 1, wobei der RAM weiterhin jeweils eine Anzahl von Paaren von komplementären Bitleitungen aufweist, wobei jede der RAM-Zellen aufweist:
eine Speicherzelle (RAM) für wahlweisen Zugriff zum Speichern einem Bits einer der Anzahl umgesetzter Wörter und mit einem Paar von Ausgabeleitungen; und
eine Vielzahl von Transistoren, die verbunden sind, um ein Paar von AND-Gattern zu bilden, wobei jedes der AND-Gatter eine Vielzahl von Eingängen und Ausgängen aufweist, wobei ein erster der Eingänge jedes AND-Gatters gemeinsam mit einer der Ausgabeleitungen eines der CAMs verbunden ist, wobei ein zweiter der Eingänge jedes AND-Gatters gemeinsam an eine der Ausgabeleitungen des anderen CAMs verbunden ist, wobei ein dritter der Eingänge mit einem aus dem Paar der RAM-Ausgabeleitungen verbunden ist, und wobei der Ausgang mit einer anderen Leitung des Paars der komplementären Leitungen verbunden ist, wobei das Paar von AND- Gattern durch Signale auf den Ausgabeleitungen von den CAMs in Antwort auf die Trefferbedingnng konditioniert wird, um komplementäre Ausgabesignale an die Bitleitungen anzulegen, welche für das Bit des einen Wortes der Anzahl umgesetzer Wörter repräsentativ ist.
6. Umsetzer nach Anspruch 1, wobei der Umsetzer aus einem Halbleitermaterial mit einem vorbestimmten Bereich konstruiert ist, wobei der RAM eine vorbestimmte Gestalt hat und zentral auf diesem Bereich angeordnet ist, wobei jeder der Anzahl von CAMs entlang einer unterschiedlichen Seite des vorbestimmt gestalteten RAM angeordnet ist.
DE3750795T 1986-07-21 1987-07-21 Schneller, dynamischer Adressennumsetzer mit grosser Dichte. Expired - Fee Related DE3750795T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/887,768 US4813002A (en) 1986-07-21 1986-07-21 High speed high density dynamic address translator

Publications (2)

Publication Number Publication Date
DE3750795D1 DE3750795D1 (de) 1995-01-12
DE3750795T2 true DE3750795T2 (de) 1995-07-27

Family

ID=25391820

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3750795T Expired - Fee Related DE3750795T2 (de) 1986-07-21 1987-07-21 Schneller, dynamischer Adressennumsetzer mit grosser Dichte.

Country Status (11)

Country Link
US (1) US4813002A (de)
EP (1) EP0254270B1 (de)
JP (1) JPS6344257A (de)
KR (1) KR910007744B1 (de)
AU (1) AU597697B2 (de)
CA (1) CA1293332C (de)
DE (1) DE3750795T2 (de)
DK (1) DK381687A (de)
FI (1) FI873178A (de)
NO (1) NO174907C (de)
YU (1) YU137487A (de)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03219326A (ja) * 1990-01-24 1991-09-26 Mitsubishi Electric Corp データ比較回路
US5317708A (en) * 1990-06-29 1994-05-31 Digital Equipment Corporation Apparatus and method for an improved content addressable memory
WO1992002879A1 (en) * 1990-08-03 1992-02-20 Du Pont Pixel Systems Limited Virtual memory system
US5301263A (en) * 1990-09-18 1994-04-05 Hewlett-Packard Company High memory bandwidth system for updating z-buffer values
GB2253118B (en) * 1991-02-20 1995-04-12 Roke Manor Research Improvements in or relating to asynchronous transfer mode switching system
GB9205551D0 (en) * 1992-03-13 1992-04-29 Inmos Ltd Cache memory
US5568415A (en) * 1993-02-19 1996-10-22 Digital Equipment Corporation Content addressable memory having a pair of memory cells storing don't care states for address translation
US5426602A (en) * 1993-03-31 1995-06-20 Mentor Graphics Corporation Detection of multiple hits within a device having multiple sense outputs
US5438535A (en) * 1994-03-29 1995-08-01 Panasonic Technologies, Inc. Content addressable memory system
US5530824A (en) * 1994-04-04 1996-06-25 Motorola, Inc. Address translation circuit
US5659697A (en) * 1994-12-14 1997-08-19 International Business Machines Corporation Translation lookaside buffer for faster processing in response to availability of a first virtual address portion before a second virtual address portion
US6121646A (en) * 1995-03-17 2000-09-19 Hitachi, Ltd. Semiconductor integrated circuit
US6111584A (en) * 1995-12-18 2000-08-29 3Dlabs Inc. Ltd. Rendering system with mini-patch retrieval from local texture storage
CA2227500C (en) * 1997-02-06 2001-08-14 Northern Telecom Limited Content addressable memory
GB2325321B (en) * 1997-05-12 2001-06-06 Applied Marketing & Technology Associative memories
US6148364A (en) * 1997-12-30 2000-11-14 Netlogic Microsystems, Inc. Method and apparatus for cascading content addressable memory devices
US6199140B1 (en) * 1997-10-30 2001-03-06 Netlogic Microsystems, Inc. Multiport content addressable memory device and timing signals
JP3732637B2 (ja) * 1997-12-26 2006-01-05 株式会社ルネサステクノロジ 記憶装置、記憶装置のアクセス方法及び半導体装置
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
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
US6046923A (en) * 1999-01-13 2000-04-04 Lucent Technologies Inc. Content-addressable memory architecture with column muxing
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
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
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
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
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
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
US6944709B2 (en) * 1999-09-23 2005-09-13 Netlogic Microsystems, Inc. Content addressable memory with block-programmable mask write mode, word width and priority
US6763425B1 (en) * 2000-06-08 2004-07-13 Netlogic Microsystems, Inc. Method and apparatus for address translation in a partitioned content addressable memory device
US6751701B1 (en) 2000-06-14 2004-06-15 Netlogic Microsystems, Inc. Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
US6799243B1 (en) 2000-06-14 2004-09-28 Netlogic Microsystems, Inc. Method and apparatus for detecting a match in an intra-row configurable cam system
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
US7272027B2 (en) * 1999-09-23 2007-09-18 Netlogic Microsystems, Inc. Priority circuit for content addressable memory
US7487200B1 (en) 1999-09-23 2009-02-03 Netlogic Microsystems, Inc. Method and apparatus for performing priority encoding in a segmented classification system
US6795892B1 (en) 2000-06-14 2004-09-21 Netlogic Microsystems, Inc. Method and apparatus for determining a match address in an intra-row configurable cam device
US6934795B2 (en) * 1999-09-23 2005-08-23 Netlogic Microsystems, Inc. Content addressable memory with programmable word width and programmable priority
US6567340B1 (en) 1999-09-23 2003-05-20 Netlogic Microsystems, Inc. Memory storage cell based array of counters
US7143231B1 (en) 1999-09-23 2006-11-28 Netlogic Microsystems, Inc. Method and apparatus for performing packet classification for policy-based packet routing
US6757779B1 (en) 1999-09-23 2004-06-29 Netlogic Microsystems, Inc. Content addressable memory with selectable mask write mode
CA2342575A1 (en) * 2001-04-03 2002-10-03 Mosaid Technologies Incorporated Content addressable memory cell
US6910097B1 (en) 2001-04-09 2005-06-21 Netlogic Microsystems, Inc. Classless interdomain routing using binary content addressable memory
US6934796B1 (en) 2002-02-01 2005-08-23 Netlogic Microsystems, Inc. Content addressable memory with hashing function
US6697276B1 (en) 2002-02-01 2004-02-24 Netlogic Microsystems, Inc. Content addressable memory device
US7382637B1 (en) 2002-02-01 2008-06-03 Netlogic Microsystems, Inc. Block-writable content addressable memory device
US6876559B1 (en) 2002-02-01 2005-04-05 Netlogic Microsystems, Inc. Block-writable content addressable memory device
US7486530B2 (en) * 2005-04-28 2009-02-03 Micron Technology, Inc. Method of comparison between cache and data register for non-volatile memory
US7920399B1 (en) 2010-10-21 2011-04-05 Netlogic Microsystems, Inc. Low power content addressable memory device having selectable cascaded array segments
US8467213B1 (en) 2011-03-22 2013-06-18 Netlogic Microsystems, Inc. Power limiting in a content search system
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US11586385B1 (en) 2020-05-06 2023-02-21 Radian Memory Systems, Inc. Techniques for managing writes in nonvolatile memory

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3261000A (en) * 1961-12-22 1966-07-12 Ibm Associative memory logical connectives
US3195109A (en) * 1962-04-02 1965-07-13 Ibm Associative memory match indicator control
US3184717A (en) * 1962-04-17 1965-05-18 Ibm Associative memory low temperature fast read circuit
US3609702A (en) * 1967-10-05 1971-09-28 Ibm Associative memory
GB1260426A (en) * 1969-08-18 1972-01-19 Marconi Co Ltd Improvements in or relating to memory cells
US3633182A (en) * 1969-08-26 1972-01-04 Bell Telephone Labor Inc Content addressable memory cell
US3693170A (en) * 1970-08-05 1972-09-19 Marconi Co Ltd Memory cells
US3800286A (en) * 1972-08-24 1974-03-26 Honeywell Inf Systems Address development technique utilizing a content addressable memory
DE3138993A1 (de) * 1981-09-30 1983-04-14 Siemens AG, 1000 Berlin und 8000 München Speicherzelle, assoziativspeicher und verfahren zu deren betrieb
US4580217A (en) * 1983-06-22 1986-04-01 Ncr Corporation High speed memory management system and method
US4538241A (en) * 1983-07-14 1985-08-27 Burroughs Corporation Address translation buffer
EP0138675A3 (de) * 1983-09-22 1986-12-30 Digital Equipment Corporation Virtuelle Adressabbildung mit einem zweistufigen Umsetzungspuffer

Also Published As

Publication number Publication date
NO873025D0 (no) 1987-07-20
NO174907B (no) 1994-04-18
KR880002077A (ko) 1988-04-29
YU137487A (en) 1990-02-28
NO174907C (no) 1994-07-27
EP0254270B1 (de) 1994-11-30
KR910007744B1 (ko) 1991-09-30
CA1293332C (en) 1991-12-17
DE3750795D1 (de) 1995-01-12
AU7598087A (en) 1988-01-28
US4813002A (en) 1989-03-14
JPH0520778B2 (de) 1993-03-22
DK381687A (da) 1988-01-22
EP0254270A2 (de) 1988-01-27
FI873178A (fi) 1988-01-22
JPS6344257A (ja) 1988-02-25
NO873025L (no) 1988-01-22
AU597697B2 (en) 1990-06-07
EP0254270A3 (en) 1990-04-04
FI873178A0 (fi) 1987-07-20
DK381687D0 (da) 1987-07-21

Similar Documents

Publication Publication Date Title
DE3750795T2 (de) Schneller, dynamischer Adressennumsetzer mit grosser Dichte.
DE3588042T2 (de) Dynamischer Halbleiterspeicher mit einer statischen Datenspeicherzelle.
DE69024851T2 (de) Halbleiterspeicheranordnung
DE69024773T2 (de) Halbleiterspeicherschaltungsanordnung
DE10214749B4 (de) Inhaltsadressierbare Speicherzelle
DE3485905T2 (de) Adressenuebersetzungsspeicher.
DE4137515C2 (de) Integrierte Halbleiterschaltungsvorrichtung
DE3834759C2 (de)
DE69822280T2 (de) Halbleiterspeicher
DE3902425C2 (de)
DE4127549C2 (de)
DE3788487T2 (de) Integrierte Schaltung mit Speicherselbstprüfung.
DE4328605C2 (de) Halbleiterspeichereinrichtung
EP0908893B1 (de) Speicherarchitektur mit Mehrebenenhierarchie
DE3889097T2 (de) Halbleiterspeicheranordnung.
DE4110173A1 (de) Unterstuetzender cache-speicher fuer eine halbleiterspeichervorrichtung und verfahren zum betreiben eines solchen
DE3838942C2 (de)
DE69028382T2 (de) Serielle multiplexierte Registerarchitektur für VRAM
DE3923629A1 (de) Halbleiterspeichergeraet
DE10339665B3 (de) Halbleiter-Speicherbauelement, mit Steuereinrichtung zum Aktivieren von Speicherzellen und Verfahren zum Betrieb eines Halbleiter-Speicherbauelements
DE3916784A1 (de) Dynamische halbleiterspeichereinrichtung
DE68919464T2 (de) Halbleiterspeichereinrichtung, die einen Speicher mit Seriengriff aufweist.
DE3783666T2 (de) Halbleiterspeicheranordnung.
DE102016001224A1 (de) Speicher mit hoher Bandbreite und störungsfreies differenzielles XOR
DE102005012099A1 (de) Inhaltsadressierbare Speicherzelle und zugehöriges Speicherzellenfeld

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: BULL HN INFORMATION SYSTEMS INC., BILLERICA, MASS.

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee