DE69817955T2 - Assoziativspeicher - Google Patents

Assoziativspeicher Download PDF

Info

Publication number
DE69817955T2
DE69817955T2 DE69817955T DE69817955T DE69817955T2 DE 69817955 T2 DE69817955 T2 DE 69817955T2 DE 69817955 T DE69817955 T DE 69817955T DE 69817955 T DE69817955 T DE 69817955T DE 69817955 T2 DE69817955 T2 DE 69817955T2
Authority
DE
Germany
Prior art keywords
word
cam
data
transition
global
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 - Lifetime
Application number
DE69817955T
Other languages
English (en)
Other versions
DE69817955D1 (de
Inventor
Kenneth James Kanata Schultz
Farhad Nepean Shafai
Garnet Frederick Randall Nepean Gibson
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.)
Zarbana Digital Fund LLC
Original Assignee
Nortel Networks Ltd
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 Nortel Networks Ltd filed Critical Nortel Networks Ltd
Application granted granted Critical
Publication of DE69817955D1 publication Critical patent/DE69817955D1/de
Publication of DE69817955T2 publication Critical patent/DE69817955T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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

  • Static Random-Access Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Bus Control (AREA)

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf einen inhaltsadressierbaren oder Assoziativspeicher (CAM) und insbesondere auf einen Wortscheiben-CAM.
  • Hintergrundinformation
  • Assoziativspeicher (CAM) sind Speicher, bei denen Daten auf der Grundlage ihres Inhaltes und nicht auf der Grundlage ihrer physikalischen Position ausgewählt werden. Diese Funktion ist für viele Anwendungen nützlich, insbesondere dann, wenn ein Nachschlagevorgang für die Zwecke der Abbildung von einem langen Identifikationswort zu einem kürzeren Wort ausgeführt wird. Diese Operation ist in vielen Telekommunikationsfunktionen unter Einschluss der Adressenumsetzung bei der asynchronen Übertragungsbetriebsart (ATM) erforderlich.
  • Das US-Patent 5 289 403, das auf J. D. Yetter erteilt wurde, offenbart eine Technik zur Bereitstellung einer Eigen-Zeitsteuerung für einen CAM, wobei Modellspalten und Modellreihen verwendet werden. Das Bit am Schnittpunkt der Modellspalte und der Modellreihe schlägt immer fehl, während alle anderen Zellen in dieser Reihe immer eine Übereinstimmung aufweisen, und dies erzeugt den langsamst möglichen Zustand einer fehlenden Übereinstimmung auf der Modell-Übereinstimmungs-Leitung. Dieses Signal wird dann zur Erzeugung eines Taktes zur Zeitsteuerung der nachfolgenden Ereignisse und zur Qualifikation aller anderen Übereinstimmungs-leitungen verwendet. Wortscheiben-Architekturen, die Steuersignalerzeugung und Einschaltprobleme werden nicht behandelt.
  • Eine Veröffentlichung von A. L. Silburt et al. mit dem Titel „A 180-MHz 0,8 μm BiCMOS Modular Memory Family of DRAM and Multiport SRAM", IEEE J. Solid-State Circuits, Band 28, Nr. 3, Seiten 222–232, März 1993, beschreibt modulare eingebettete Speicherkonstruktionen, die Modell-Eigenzeitsteuerungs-Pfade verwenden, um eine niedrige Leistung und eine Tastgrad-Unabhängigkeit zu erzielen. Diese Modell-Pfade umfassen Modell-Decodierer, Modellreihen und Modellspalten. CAM's werden in dieser Veröffentlichung nicht behandelt.
  • Das US-Patent 5 596 539 auf den Namen von R. H. Passow et al. offenbart einen Mechanismus ähnlich wie dem von A. L. Silburt et al., wobei eine Modellreihe und eine Modellspalte verwendet wird. Der Modell-Leseverstärker ist unsymmetrisch, um einen zusätzlichen Zeitsteuer-Grenzbereich zu schaffen. Erneut werden CAM's nicht behandelt.
  • Eine Veröffentlichung von S. Kornachuk et al. mit dem Titel „A High Speed Embedded Cache Design with Non-Intrusive BIST", Records IEEE International Workshop on Memory Technology, Design und Testing, Seiten 40–45, August 1994, beschreibt einen eigen-zeitgesteuerten Pfad für einen kombinierten CAM/RAM-Cache-Speicher mit einem Modellwort, das immer in der langsamst möglichen Weise eine fehlende Übereinstimmung aufweist. Wortscheiben-Architekturen, die Steuersignalerzeugung und Einschaltfragen werden nicht behandelt.
  • Die US 5 072 422 offenbart ein Speichersystem, bei dem Datensätze über mehrfache Wortzellen hinweg gespeichert werden, die für einen unabhängigen Parallelbetrieb verbunden sind.
  • Zusammenfassung der Erfindung
  • Gemäß der Erfindung wird ein Assoziativspeicher (CAM) geschaffen, bei dem alle Bits eines vorgegebenen Wortes in physikalisch benachbarten Spalten einer Wortscheiben-Struktur angeordnet sind und alle einem vorgegebenen Bit zugeordneten Spalten über die gesamte Breite des Speichers verteilt sind, wobei die Gruppe von benachbarten Spalten einem Wort zugeordnet ist und mehrfache Worte mehrfache Reihen hiervon belegen, wobei der CAM einen globalen Datenbus (211) zum Übertragen von Daten zwischen den Wortscheiben (215, 410) und Daten-Eingangs-/Ausgangs-Schaltungen (213) und eine globale Modell-Datenleitung (442) zur Übertragung eines globalen Modell-Datensignals umfasst, das Übergänge aufweist, die Übergängen der von dem globalen Datenbus übertragenen Daten entsprechen, um auf diese Weise die Verzögerung des globalen Datenbusses zu modellieren.
  • Bei dieser Struktur weisen die Spalten eine Wortscheiben-Struktur auf, und die Wortübereinstimmungslogik kann lokalisiert werden. Die Zeitsteuerinformation wird in dem globalen Datenbus in Form eines globalen Modell-Datensignals übertragen. Die Erfindung ergibt einen verbesserten Assoziativspeicher.
  • Kurze Beschreibung der Zeichnungen
  • Eine Ausführungsform der Erfindung wird nunmehr in Form eines Beispiels unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
  • 1 einen bekannten CAM zeigt,
  • 2 einen CAM gemäß einer Ausführungsform der vorliegenden Erfindung zeigt,
  • 3A und 3B Wortübereinstimmungs-Logikfunktionsschaltungen zeigen, die in dem CAM verwendet werden,
  • 4 einen Lese-Modellpfad zeigt,
  • 5 einen Schreib-Modellpfad zeigt,
  • 6 einen Such-Modellpfad zeigt, und
  • 7 einen Abtastpfad in der Daten-Eingangs-/Ausgangs-Schaltung des CAM zeigt.
  • Ausführliche Beschreibung
  • 1. Stand der Technik
  • In 1 ist ein bekannter CAM gezeigt, bei dem Zellen 110, die zu einem vorgegebenen Wort gehören, mit der Übereinstimmungsleitung 112 dieses Wortes in einer logischen NOR-Weise verbunden sind. Ein Paar von Bitleitungen 114 für Differenzdaten ist mit Referenz- oder Bezugs-Wortspeicher- und Bitleitungstreibern 116 verbunden, die Eingangsdaten D zum Laden der Inhalte des CAM und für das Such-Bezugswort empfangen. In den Kernzellen 110 der Anordnung gespeicherte Daten werden dadurch durchsucht, dass ein Bezugswort an die Bitleitungen 114 angelegt wird. Wenn Differenzdaten an ein Paar von Bitleitungen 114 in einem Suchbetrieb angelegt werden, vergleicht die Kernzelle 110 ihr gespeichertes Datenbit mit den Differenzdaten (die auch als Bezugsdaten oder ein einziges Bit des Komparanden bekannt sind). Wenn die gespeicherten Daten nicht gleich den Bezugsdaten sind, so zieht die Kernzelle 110 die Übereinstimmungsleitung 112 (die auf einen logischen hohen Zustand vorgeladen ist) auf einen niedrigen Zustand herunter. Wenn die gespeicherten Daten gleich den Bezugsdaten sind, so hat die Zelle 110 keine Wirkung auf die Übereinstimmungsleitung 112, mit der sie verbunden ist. Weil alle b Kernzellen 110 in einem vorgegebenen Wort mit der Übereinstimmungsleitung 112 in der gleichen Weise verbunden sind, wird die Übereinstimmungsleitung 112 auf einen niedrigen Zustand gezogen, wenn irgendein Bit in seinem Wort ungleich dem entsprechenden Bezugsbit ist (oder eine fehlende Übereinstimmung mit diesem aufweist). Die Übereinstimmungsleitung 112 bleibt nur dann auf einem hohen logischen Zustand, wenn alle Bits in ihrem Wort gleich den Bezugsdaten sind.
  • Der CAM schließt einen Codieren 118 ein, der drei Ausgänge erzeugt, die das Ergebnis der Suchoperation darstellen. Ein Treffersignal „hit" wird auf einen hohen logischen Zustand gebracht, wenn eines der w Worte Daten speichert, die eine Übereinstimmung mit den Bezugsdaten haben. Die binäre Adresse dieses die Übereinstimmung aufweisenden Wortes wird codiert und es wird ein Adressensignal „sa" geliefert. Wenn eine Anzahl von Worten eine Übereinstimmung mit den Bezugsdaten aufwiesen, so wird ein Mehrfach-Übereinstimmungssignal „mult" auf einen hohen logischen Zustand gebracht.
  • II. Ausführungsform
  • Es ist beabsichtigt, Schaltungen zu entwickeln, die eine Eigen-Zeitsteuerung eines Wortscheiben-CAM ermöglichen. Ein derartiger CAM benötigt einen globalen Datenbus zur Schnittstellenverbindung zwischen der Vielzahl von Wortscheiben und Eingangs-/Ausgangs-Schaltungen des Speichers. Diese Eigen-Zeitsteuerungs-Schaltung sollte:
    • – ein globales Modell-Datenbus-Signal verwenden, das bekannte Übergangszeiten und Richtungen unabhängig von dem Datenmuster aufweist, das an den Speicher angelegt wird, wobei Last- und Verzögerungs-Betriebseigenschaften der Modellleitung eng an die der tatsächlichen globalen Datenbusleitung angenähert sind;
    • – robust in dem Sinne sein, dass keine zufälligen Einschaltbedingungen den Speicher in einen eine Erholung unmöglich machenden Zustand bringen; und
    • – in der Lage sein, eine Eigen-Zeitsteuerung von LESE, SCHREIB- und SUCH-Operationen mit einer minimalen Anzahl von Signalen durchzuführen, die:
    • – Einschalt-Zwangsbedingungen unterworfen sind und
    • – mit der globalen Modell-Datenbus-Leitung in Wechselwirkung treten.
  • Eigen-Zeitsteuerung
  • Die Eigen-Zeitsteuerung ist allgemein ein Mechanismus, mit dem ein Speicher intern seine eigenen Zeitsteuersignale ausschließlich auf der Grundlage der Anstiegsflanke eines zugeführten Systemtaktes erzeugt. Interne Ereignisse können dann zu dem optimalen Zeitpunkt eingeleitet werden, um die Verzögerung oder Leistung zu einem Minimum zu machen oder um eine Bus-Konkurrenz zu vermeiden, ohne dass man sich auf externe Taktflanken verlassen muss. Die Abfallflanke des Systemtaktes spielt üblicherweise keine Rolle bei der Zeitsteuerung eines eigen-zeitgesteuerten Speichers, und die Betriebsweise des Speichers wird daher als Tastgrad-unabhängig bezeichnet. Speziell wird die Beendigung des aktiven Teils des Speicherzyklus nicht durch die Abfallflanke des Systemtaktes eingeleitet. Weil intern erzeugte Zeitsteuersignale zur Steuerung dieser Beendigung verwendet werden, kann sie so zeitgesteuert werden, dass eine ausreichende Zeit für den Abschluss der Speicheroperation abgelaufen ist, jedoch ohne einen unnötig vergeudeten Sicherheitsbereich, der anderenfalls zu einer größeren Verlustleistung führt. In Fällen, in denen die tatsächlichen Pfadverzögerungen aufgrund des Betriebs des Speichers in den internen Eigen-Zeitsteuerungspfad modelliert sind, können Sicherheitsbereiche zu einem Minimum gemacht werden, und der Eigen-Zeitsteuerungsmechanismus ist dann zusammen mit der Speicherkonfiguration skalierbar.
  • Wort-Scheiben-Architektur
  • Die meisten Speicher, insbesondere Speicher mit wahlfreiem Zugriff (RAM's) haben eine Bit-Scheiben-Architektur, was bedeutet, dass alle Speicherzellen, die einem vorgegebenen Bit des Datenwortes zugeordnet sind, sich in aneinander grenzenden benachbarten Spalten befinden und ein Wort über die gesamte Breite eines Speichers verteilt ist. Eine alternative Architektur, die bei dem CAM gemäß einer Ausführungsform der Erfindung verwendet wird, ist eine Architektur, bei der alle Bits eines vorgegebenen gespeicherten Wortes in aneinander angrenzenden benachbarten Spalten angeordnet sind und die einem vorgegebenen Bit des Datenwortes zugeordneten Spalten über die gesamte Breite des Speichers verteilt sind. Diese letztere Architektur wird als eine Wort-Scheiben-Architektur bezeichnet. Die Wort-Scheiben-Architektur, die in 2 gezeigt ist, lokalisiert die Wortübereinstimmungs-Operation, erfordert jedoch, dass die b Bits des Komparanden in irgendeiner Weise der Vielzahl von Wort-Scheiben zugeführt werden, wobei diese Zuführung mit einem globalen Datenbus durchgeführt wird.
  • Zusätzlich zu den SUCH-Fähigkeiten muss der CAM auch LESE- und SCHREIB-Operationen unterstützen. Diese verwenden alle den globalen Datenbus 211. Für SUCH- und SCHREIB-Operationen ist die Richtung der Datenausbreitung von den Eingangs-/Ausgangs-(I/O-) Schaltungen zu einer Vielzahl von Wortscheiben 215. Für LESE-Operationen ist die Richtung der Datenausbreitung von den Wortscheiben zu den Daten-Eingangs-/Ausgangs-Schaltungen 213.
  • Weil alle Operationen den globalen Datenbus verwenden, ist es vorteilhaft, eine Zeitsteuerinformation in diesen Bus einzubetten. Dies ist nützlich, weil:
    • – der globale Datenbus physikalisch die Komponenten verbindet, die eine Zeitsteuerinformation benötigen, und
    • – irgendein Zeitsteuersignal, das zusammen mit dem Bus weitergeleitet wird, die gleiche Last erhalten kann, was zu einer engen Anpassung der Verzögerung an tatsächliche Datenübergänge führt.
  • Entsprechend wird eine globale Modell-Datenleitung (auf der ein globales Modell-Datensignal dgm geliefert wird) bereitgestellt, die physikalisch zusammen mit dem globalen Datenbus gelenkt wird und Zeitsteuerinformation als Teil des Eigen-Zeitsteuermechanismus des Speichers überträgt. Die globale Modell-Datenleitung hat bekannte Übergangsrichtungen, die von zugeführten Datenmustern unabhängig sind, und sie wird physikalisch mit tatsächlichen und Modell-Lasten gelenkt und verbunden, derart, dass ihre Verzögerungs- und Übergangszeiten eng an die der tatsächlichen globalen Datenbussignale angenähert sind.
  • In dem CAM erfordert eine Wortübereinstimmung, dass alle Bits in einem gespeicherten Wort eine exakte Übereinstimmung (unter Vernachlässigung von „bedeutungslos" Masken) mit allen Bits in einem Komparanden aufweisen. Dies erfordert eine wortbasierte Logik-Operation, wie dies in den 3A und 3B gezeigt ist, und diese wird sehr einfach in einer Wort-Scheiben-Architektur realisiert. Die Übereinstimmungs-Logikfunktionsschaltung nach 3A schließt eine Vielzahl von Exklusiv-ODER- (XOR-) Gattern 311 und ein NOR-Gatter 313 ein. Die Übereinstimmungs-Logikfunktionsschaltung nach 3B schließt eine Vielzahl von Exklusiv-NOR- (XNOR-) Gattern 321 und ein UND-Gatter 323 ein.
  • In dem CAM werden alle Operationen durch eine ansteigende Taktflanke eingeleitet. Danach leitet die Eigen-Zeitsteuerungs-Schaltung vielfältige Aktivitäten auf der Grundlage eines Aufwärts-Überganges an dem globalen Modell-Datensignal dgm ein, das sehr eng der Anstiegsflanke des Systemtaktes folgt und mit Datenübergängen auf dem globalen Datenbus zusammenfällt, derart, dass:
    • – während einer SUCH- oder SCHREIB-Operation, wenn ein Aufwärts-Übergang an dem globalen Modell-Datensignal dgm an den Wortscheiben abgeschlossen ist, garantiert ist, dass Daten auf dem globalen Datenbus gültig sind;
    • – während einer LESE-Operation der Aufwärts-Übergang an dem globalen Modell-Datensignal dgm keine reale Aktivität auf dem globalen Datenbus modelliert, sondern dass der abwärts gerichtete Übergang mit dem Schreiben von Daten von den Wortscheiben heraus auf die Daten-Eingangs-/Ausgangs-Schaltung nach der Feststellung der LESE-Ergebnisdaten zusammenfällt.
  • Um die Eigen-Zeitsteuerfunktion auszuführen, steht das globale Modell-Datensignal dgm hauptsächlich mit zwei anderen Signalen in Wechselwirkung, die wir als die Haupt-Steuersignale „cd" und „ca" bezeichnen. Der kombinierte Zustand dieser Steuersignale bestimmt in eindeutiger Weise die ausgewählte Operation des Speichers über die Komponenten, die sie freigeben:
    • – cd: bewirkt eine Zwischenspeicherung von Komparanden- oder Schreibdaten, die extern dem Speicher zugeführt werden, und aktiviert Tri- State-Treiber auf dem globalen Datenbus in den Dateneingangs/Ausgangs-Schaltungen; diese Funktionen werden während der SUCH- und SCHREIB-Operationen aktiviert.
    • – ca: aktiviert Adressendecodierer während der SCHREIB- und LESE-Operationen, die:
    • – eine Auswahl aus den Reihen des Speichers auf der Grundlage der x-Decodierbits treffen, und
    • – eine Auswahl aus den Wortscheiben des Speichers auf der Grundlage z-Decodierbits treffen.
  • Die zwei Signale cd und ca stellen die minimale Anzahl dar, die erforderlich ist, um in eindeutiger Weise die ausgewählte Operation zu identifizieren. Alle anderen „Neben"-Steuersignale werden kombinatorisch aus cd und ca erzeugt.
  • In einer Ausführungsform, die den Schutzumfang dieser Erfindung nicht beschränkt, umfassen die Neben-Steuersignale folgendes:
    • – cs: aktiviert die Ansteuerung gültiger Komparandendaten in Aufwärtsrichtung von dem globalen Datenbus an der Unterseite der Wortscheiben an die Speicherkernzellen und aktiviert danach indirekt nachfolgende Ereignisse in der SUCH-Operation; cs ist logisch die UND-Verknüpfung von cd und dem invertierten Status von ca.
    • – cw: aktiviert die Ansteuerung gültiger Schreibdaten nach oben von dem globalen Datenbus an der Unterseite der Wortscheiben zu den Speicherkernzellen während einer SCHREIB-Operation; cw ist logisch die UND-Verknüpfung von cd und ca.
  • Bei einer bevorzugten Ausführungsform kann der Zustand von cd und ca logisch von drei unabhängigen und einander ausschließenden Betriebsart-Auswahlsignalen abgeleitet werden, die extern von dem „Benutzer" oder dem steuernden Prozessor angelegt werden; diese Signale sind ss, ws und rs und wirken wie folgt:
  • Tabelle I
    Figure 00100001
  • Wenn eine Operation durch eines der vorstehenden Signale ausgewählt wird, folgen die Anstiegsflanken von einem oder beiden der Signale cd und ca eng der Anstiegsflanke des Systemtaktes; die Anstiegsflanken von cd und ca führen zu der Anstiegsflanke des globalen Modell-Datensignals dgm. Am Ende des aktiven Teils des Zyklus führt die Abfallflanke des globalen Modell-Datensignals dgm zu den Abfallflanken von cd und ca, was zu einer eigen-zeitgesteuerten Schleife führt. Um eine Darstellung des Zustandes des Speichers beizubehalten, werden die Signale cd und ca zwischengespeichert.
  • Unmittelbar nach dem anfänglichen Einschalten der Betriebsleistung des Speichers („Einschalten") befinden sich alle Signalspeicher in einem unbekannten Zustand. Es ist lebenswichtig, dass die Steuersignale steuernden Zwischenspeicher derart eingeschaltet werden, dass sich der Speicher in einem Zustand befindet, von dem aus er leicht einen Übergang auf einen bekannten Zustand ausführen kann. Wenn die Anzahl von möglichen Zuständen, die durch die Steuersignal-Zwischenspeicher dargestellt sind, die gleich 2L ist, worin L die Anzahl der Zwischenspeicher ist, größer als die Anzahl von gültigen Zuständen ist, so ist es möglich, dass der Speicher in einem ungültigen Zustand hochgefahren wird. Es kann unmöglich sein, einen Übergang des Speichers aus diesem Zustand heraus auszuführen, oder ein derartiger Übergang kann lediglich mit Hilfe komplizierter Einschalt-Detektionsschaltungen bewirkt werden, die einen Zusatzaufwand sowohl hinsichtlich der Fläche als auch der Kompliziertheit der Konstruktion darstellen würden. Bei der vorliegenden Erfindung ist 2L = 4, und es gibt vier mögliche Speicherzustände, unter Einschluss von „nichts", wie dies in der vorstehenden Tabelle gezeigt ist.
  • Das globale Modell-Datensignal dgm muss ebenfalls zwischengespeichert werden. Sein Zustand bestimmt lediglich, ob eine Operation aktiv oder abgeschlossen ist. Wenn das globale Modell-Datensignal dgm sich beim Einschalten in einem niedrigen Logikzustand befindet, so erscheint der Speicher, als ob er eine Operation abgeschlossen hat, und er bleibt bis zum Anlegen der nächsten ansteigenden Taktflanke inaktiv, unabhängig von dem Einschaltzustand von cd und ca. Tatsächlich werden im niedrigen Logikzustand des globalen Modell-Datensignals dgm cd und ca zurückgesetzt.
  • Wenn das globale Modell-Datensignal dgm in einem hohen Logikzustand beim Einschalten auftritt, so arbeitet der Speicher so weiter, als ob eine Operation ablaufen würde. Die Art der Operation wird durch den Einschaltzustand von cd und ca ausgewählt. Die vier Möglichkeiten und ihr Ergebnis sind wie folgt:
  • Tabelle II
    Figure 00110001
  • Die vorstehende Tabelle zeigt die Einfachheit, mit der man einen Übergang des Speichers auf einen bekannten Zustand hervorrufen kann, von dem aus gültige Operationen eingeleitet werden können. Dies wird durch die Auswahl von zwischengespeicherten Steuersignalen erleichtert, die eine ausreichend große Anzahl aufweisen, um in eindeutiger Weise alle gültigen Zustände des Speichers zu identifizieren, deren Anzahl jedoch ausreichend klein ist, damit sie nicht in der Lage sind, ungültige Speicherzustände darzustellen.
  • Es wurde vorstehend angegeben, dass die Abfallflanke des globalen Modell-Datensignals dgm am Abschluss des aktiven Teils des Zyklus zu den Abfallflanken eines oder beider Signale cd und ca führt (die sich alle in einem hohen Zustand befinden), wodurch eine eigen-zeitgesteuerte Schleife verwirklicht wird.
  • Um dies zu erreichen, sind drei unterschiedliche Modellpfade in dem CAM vorgesehen, einer pro Operation. Der Zweck jedes dieser Pfade besteht darin, eine Abfallflanke des globalen Modell-Datensignals dgm hervorzurufen, nachdem eine ausreichende Zeit abgelaufen ist, damit der aktive Teil der Operation abgeschlossen ist. Diese abfallende Flanke setzt nachfolgend die cd- und ca-Zwischenspeicher zurück, wobei dieses Rücksetzen weiterhin bewirkt, dass irgendwelche vorher angelegten Neben-Steuersignale abgeschaltet werden.
  • Diese Modellpfade sind wie folgt:
  • (a) LESEN
  • 4 zeigt einen Lese-Modellpfad. Gemäß 4 schließt die Wort-Scheiben-Architektur eine Vielzahl von Wortscheiben 410 ein, die jeweils identische Schaltungen haben. Jede Wortscheibe 410 schließt eine Anordnung 411 von Kernzellen 413 und eine Leseschaltung 415 ein. Die Zellen 413 einer Spalte sind mit einem Paar von Bitleitungen 421 verbunden. Die Leseschaltung 415 schließt einen Leseverstärker 431, ein ODER-Verknüpfungsglied 433 und einen FET 435 ein. Eine Steuerung 440, die mit einer globalen Modell-Datenleitung 442 verbunden ist, liefert ein Freigabe- oder Aktivierungssignal ca an einen Reihendecodierer 444 und einen Wortscheiben-Decodierer 446. Die Zellen 413 einer Reihe sind mit einer jeweiligen Wortleitung wl verbunden, die mit dem Reihendecodierer 444 verbunden ist. Der Wortscheiben-Decodieren 446 liefert Lese-Steuersignale an die Leseverstärker 431 der Leseschaltungen 415. Die Draln-Elektrode des FET 435 jeder Leseschaltung 415 ist mit der globalen Modell-Datenleitung 442 verbunden.
  • Die in 4 gezeigte LESE-Schleife verwendet einen reellen Pfad von der Leitung (an die das Freigabesignal ca geliefert wird) an die ausgewählte Wortleitung wl zu dem Paar von Bitleitungen 421 an den aktivierten Leseverstärker 431 in der ausgewählten Wortscheibe 410. Der Leseverstärker 431 bildet einen Teil der tatsächlichen LESE-Operation, doch werden zusätzlich seine Ausgänge (beide Polaritäten) logisch in dem ODER-Gatter 433 einer ODER-Verknüpfung unterworfen, wobei das Ergebnis dazu verwendet wird, das Herunterziehen der globalen Modell-Datenleitung 442 durch den FET 435 auf einen niedrigen Pegel torzusteuern, derart, dass die Abfallflanke an dem globalen Modell-Datensignal dgm unabhängig von der Datenpolarität auftritt, die von dem Leseverstärker 431 festgestellt wird.
  • Durch Verwenden eines Pfades durch die tatsächlich ausgewählte Wortscheibe modelliert der Modellpfad eng die Verzögerung der tatsächlichen LESE-Daten an der globalen Modell-Datenleitung 442.
  • (b) SCHREIBEN
  • 5 zeigt einen Schreib-Modellpfad. Weil es schwierig ist, Zeitsteuerinformationen von den tatsächlichen Speicherzellen abzuleiten, in die in dem CAM geschrieben wird, verwendet der in 5 gezeigte SCHREIB-Pfad stattdessen ein Modell wl, das eine Schleife um den Speicher herum bildet, wo sie schließlich die globale Modell-Datenleitung 442 über einen Puffer 451 und einen FET 453 auf einen niedrigen logischen Zustand herunterzieht. Die Last an dem Modell wl reicht aus, damit die Abfallflanke des globalen Modell-Datensignals dgm sicher den Abschluss des aktiven Teils der SCHREIB-Operation folgt.
  • (c) SUCHE
  • 6 zeigt einen Such-Modellpfad. Der in 6 gezeigte SUCH-Pfad verwendet folgendes:
    • – ein Modellwort 460, das fest verdrahtet ist und immer eine Übereinstimmung oder immer eine fehlende Übereinstimmung ergibt, in jedem Fall in der langsamst möglichen Weise,
    • – einen Suchpfad durch einen SUCH-Ergebniscodierer 462 von diesem Modellwort zu einer die globale Modell-Datenleitung auf einen niedrigen Pegel herunterziehenden Einrichtung 464, wobei der Pfad eine Verzögerung hat, die die des tatsächlichen Datenpfades durch den Codierer 462 modelliert.
  • Die Konstruktion dieses Modellpfades muss derart sein, dass er das langsamst mögliche SUCH-Ergebnis modelliert, das unter anderen Faktoren von der Wahl der Übereinstimmungs-Logik-Realisierung aus den in den 3A und 3B gezeigten Alternativen abhängt.
  • Während die SCHREIB- und SUCH-Pfade aktiviert sind, was zum Herunterziehen der globalen Modell-Datenleitung auf einen niedrigen Pegel führt, unabhängig von Adressen oder Daten, erfordert es die LESE-Pfadfunktionalität, dass eine gültige x-Adresse und eine gültige z-Adresse ausgewählt wird, um ein wl-Signal auf einen hohen Pegel zu ziehen und um einen Leseverstärker zu aktivieren. Wenn dies aufgrund von nicht gefüllten (oder nicht-binären) Adressenräumen nicht garantiert werden kann, kann eine Technik ähnlich wie bei dem SCHREIB-Pfad verwendet werden, auf Kosten einer weniger präzisen Verzögerungs-Modellierung.
  • Es kann aus Charakterisierungsgründen oder zur Korrektur einer zu geringe Sicherheitsgrenzen aufweisenden Auslegung wünschenswert sein, den aktiven Teil des Zyklus über den hinaus zu verlängern, der sich aus dem eine Eigen-Zeitsteuerung aufweisenden Pfaden ergibt. Speziell kann es erwünscht sein, die Abfallflanke des globalen Modell-Datensignals dgm mit der Abfallflanke des Systemtaktes zu steuern. Dies wird dadurch erreicht, dass:
    • – ein zusätzliches Eingangssignal „stov" bereitgestellt wird, um diese Betriebsart auszuwählen,
    • – wenn stov einen hohen logischen Zustand aufweist, die globale Modell-Datenleitung durch eine logische Kombination von stov = 1 und der Abfallflanke des Systemtaktes auf einen niedrigen Zustand gezogen wird, und
    • – das Herunterziehen der globalen Modell-Datenleitung auf einen niedrigen Zustand in dem vorstehenden (oder anderen realisierten) LESE-, SCHREIB- und SUCH-Eigen-Zeitsteuerungspfaden von stov = 0 abhängig gemacht wird.
  • Zusätzlich zu den Haupt-Betriebsart-Steuereingängen ss, ws, rs kann ein Testbetriebsart- („tm") Eingang vorgesehen werden, um den CAM in einen Zustand zu zwingen, der für einen Abtasttest geeignet ist. Wenn der CAM derart ausgelegt ist, dass SCHREIB-Daten D während einer SCHREIB-Operation zu einem LESE-Ausgang Q hindurch weitergeleitet werden (dies wird als „Durchschreiben" bezeichnet), so kann eine Abtastkette realisiert werden, die Multiplexer in den Daten-Eingangs-/Ausgangs- (I/O-) Schaltungen einschließt, wie dies in 7 gezeigt ist, wobei durch Anlegen von tm der CAM in einen LESE-Zustand gezwungen wird (tm = 1 führt zu ca = cd = 1). In 7 schließt jede I/O-Schaltung für jedes Bit einen Multiplexer 711 und einen Zwischenspeicher 713 ein. Der Zwischenspeicher 713 kann in der Praxis ein Zwischenspeicher sein, der bereits auf dem globalen Datenbus oder anders vorhanden ist. Ein Steuersignal tm wird jedem Multiplexer 711 zugeführt (Bit i) der ein „serielles Daten"-Signalbit von einer I/O- Schaltung eines niedrigeren Bits (Bit-1) und ein entsprechendes Eingangsdatenbit empfängt. Ein multiplexiertes Ausgangsbit (Bit i) wird in dem Zwischenspeicher 713, der ein serielles Datensignalbit an den Multiplexer des oberen Bits (Bit i + 1) liefert.
  • Es ist verständlich, dass einfache Änderungen, unter Einschluss von, jedoch nicht beschränkt auf:
    • – die Übergangsrichtungen des globalen Modell-Datensignals dgm,
    • – der Anzahl und Funktion der Eingangs-Betriebsart-Steuersignale, und
    • – der Position des SUCH-Ergebniscodierers, der Steuerschaltungen und Decodieren von einer Person mit geeigneten Kenntnissen im Stand der Technik vorgenommen werden kann, ohne von dem Schutzumfang dieser Erfindung abzuweichen.

Claims (9)

  1. Assoziativspeicher (CAM), bei dem alle Bits eines vorgegebenen Wortes sich in physikalisch benachbarten Spalten einer Wort-Scheiben-Struktur befinden und alle einem vorgegebenen Bit zugeordnete Spalten über die gesamte Breite des Speichers verteilt sind, wobei die Gruppe von benachbarten Spalten einem Wort zugeordnet ist und mehrfache Worte mehrfache Reihen hiervon belegen, gekennzeichnet durch: einen globalen Datenbus (211) zum Übertragen von Daten zwischen den Wortscheiben (215, 410) und Daten-Eingangs-/Ausgangs-Schaltungen (213), und eine globale Modell-Datenleitung (442) zur Übertragung eines globalen Modell-Datensignals, das Übergänge aufweist, die Übergängen der von dem globalen Datenbus übertragenen Daten entsprechen, so dass die Verzögerung des globalen Datenbus modelliert wird.
  2. CAM nach Anspruch 1, der weiterhin Steuereinrichtungen (440) einschließt, die auf erste und zweite Steuersignale (cd, ca) ansprechen, um Lese-, Schreib- und Such-Operationen des CAM auszuwählen.
  3. CAM nach Anspruch 2, bei dem die Steuereinrichtungen Einrichtungen umfassen, die bewirken, dass das globale Modell-Datensignal Übergänge in Abhängigkeit von den ersten und zweiten Steuersignalen aufweist, wobei der anfängliche Übergang des globalen Modell-Datensignals einen Übergang eines vorgegebenen Zyklus einleitet, der durch einen anfänglichen Übergang von zumindest einem der ersten und zweiten Steuersignale eingeleitet ist, wobei der zweite Übergang des globalen Modell-Datensignals den zweiten Übergang von zumindest einem der ersten und zweiten Steuersignale einleitet.
  4. CAM nach Anspruch 3, bei dem die Steuereinrichtung weiterhin folgendes umfasst: Einrichtungen zum Ansteuern von Daten von der Eingangs-/Ausgangs-Schaltung an die Wortscheiben entweder in der Schreib-Operation oder der Such-Operation in Abhängigkeit von einem der ersten und zweiten Steuersignale; und Einrichtungen zum Decodieren der Daten entweder in der Schreib-Operation oder der Lese-Operation in Abhängigkeit von dem anderen Steuersignal.
  5. CAM nach Anspruch 3, bei dem die Auswahl der Operationen extern durch dritte, vierte und fünfte Steuersignale (ss, ws rs) durchgeführt wird, die unabhängig und einander ausschließend sind, wobei die ersten und zweiten Steuersignale eine Kombination der dritten, vierten und fünften Steuersignale sind.
  6. CAM nach Anspruch 5, bei dem die Steuereinrichtung weiterhin Einrichtungen zur Weiterleitung der Daten von einer Wortscheibe zu einer anderen in Abhängigkeit von einem sechsten Steuersignal umfasst.
  7. CAM nach Anspruch 1, die weiterhin eine Eigen-Zeitsteuer-Schleife umfasst, die einer Lese-Operation zugeordnet ist, um einen Pfad von Speicher-Steuerschaltungen zu der ausgewählten Wortscheibe unter Einschluss von Leseverstärkern zu verwenden, die mit Bit-Leitungen der Wortscheibe verbunden sind, wobei die Leseverstärker in der Lese-Operation aktiviert werden und die Ausgänge der Leseverstärker logisch kombiniert werden, um eine Torsteuerung des globalen Modell-Datensignals derart auszuführen, dass dieses seinen Übergang unabhängig von dem Übergang der von den Leseverstärkern gelesenen Daten ausführt.
  8. CAM nach Anspruch 1, der weiterhin eine Eigen-Zeitsteuerschleife umfasst, die einer Schreib-Operation unter Verwendung einer Modell-Wortleitung zugeordnet ist, deren Signal bewirkt, dass das globale Modell-Datensignal seinen Übergang nach dem Abschluss der Schreib-Operation ausführt.
  9. CAM nach Anspruch 1, der weiterhin eine Eigen-Zeitsteuer-Schleife umfasst, die einer Such-Operation zugeordnet ist, um (a) ein Modellwort, das fest verdrahtet ist, um immer eine Übereinstimmung oder immer eine fehlende Übereinstimmung in jedem Fall zu ergeben, und (b) einen Pfad durch Einrichtungen zum Codieren des Suchergebnisses aus dem Modellwort zu Einrichtungen zu verwenden, die bewirken, dass das globale Modell-Datensignal seinen Übergang ausführt.
DE69817955T 1997-09-04 1998-06-18 Assoziativspeicher Expired - Lifetime DE69817955T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/923,824 US5943252A (en) 1997-09-04 1997-09-04 Content addressable memory
US923824 1997-09-04

Publications (2)

Publication Number Publication Date
DE69817955D1 DE69817955D1 (de) 2003-10-16
DE69817955T2 true DE69817955T2 (de) 2004-05-19

Family

ID=25449314

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69817955T Expired - Lifetime DE69817955T2 (de) 1997-09-04 1998-06-18 Assoziativspeicher

Country Status (5)

Country Link
US (1) US5943252A (de)
EP (1) EP0901130B1 (de)
JP (1) JP4603103B2 (de)
KR (1) KR100553632B1 (de)
DE (1) DE69817955T2 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6160419A (en) * 1997-11-03 2000-12-12 Altera Corporation Programmable logic architecture incorporating a content addressable embedded array block
EP0936625A3 (de) * 1998-02-17 2003-09-03 Texas Instruments Incorporated Assoziativspeicher (CAM)
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
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
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
US6813680B1 (en) * 2000-06-14 2004-11-02 Netlogic Microsystems, Inc. Method and apparatus for loading comparand data into a content addressable memory 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
US6542391B2 (en) * 2000-06-08 2003-04-01 Netlogic Microsystems, Inc. Content addressable memory with configurable class-based storage partition
US6801981B1 (en) * 2000-06-14 2004-10-05 Netlogic Microsystems, Inc. Intra-row configurability of content addressable memory
US6757779B1 (en) 1999-09-23 2004-06-29 Netlogic Microsystems, Inc. Content addressable memory with selectable mask write mode
US6487131B1 (en) * 1999-12-30 2002-11-26 Intel Corporation Method and apparatus for testing a CAM addressed cache
US6560670B1 (en) 2000-06-14 2003-05-06 Netlogic Microsystems, Inc. Inter-row configurability of content addressable memory
US6246601B1 (en) 2000-06-14 2001-06-12 Netlogic Microsystems, Inc. Method and apparatus for using an inter-row configurable content addressable memory
US6243281B1 (en) * 2000-06-14 2001-06-05 Netlogic Microsystems, Inc. Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system
US6252789B1 (en) 2000-06-14 2001-06-26 Netlogic Microsystems, Inc. Inter-row configurability of content addressable memory
US6718521B1 (en) 2000-08-14 2004-04-06 International Business Machines Corporation Method and system for measuring and reporting test coverage of logic designs
WO2003038834A1 (en) * 2001-10-31 2003-05-08 Mosaid Technologies Incorporated Column redundancy for content addressable memory
CA2360897C (en) 2001-10-31 2011-01-25 Mosaid Technologies Incorporated Column redundancy for content addressable memory
US6717876B2 (en) 2001-12-28 2004-04-06 Mosaid Technologies Incorporated Matchline sensing for content addressable memories
US7512918B2 (en) * 2005-08-17 2009-03-31 Lsi Corporation Multimode delay analysis for simplifying integrated circuit design timing models
KR20130046125A (ko) * 2011-10-27 2013-05-07 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 구동 방법
US10460822B2 (en) * 2017-08-23 2019-10-29 Arm Limited Memory with a controllable I/O functional unit
CN111491018B (zh) * 2020-04-07 2022-06-10 中国建设银行股份有限公司 模型下载方法及系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6045503B2 (ja) * 1979-10-03 1985-10-09 日本電信電話株式会社 連想メモリ装置
JPH071636B2 (ja) * 1986-03-20 1995-01-11 松下電器産業株式会社 変換バツフア装置
JPH0721957B2 (ja) * 1987-01-22 1995-03-08 日本電気株式会社 選択的連想記憶装置
CA1286803C (en) * 1989-02-28 1991-07-23 Benoit Nadeau-Dostie Serial testing technique for embedded memories
US5072422A (en) * 1989-05-15 1991-12-10 E-Systems, Inc. Content-addressed memory system with word cells having select and match bits
US5491806A (en) * 1990-06-26 1996-02-13 Lsi Logic Corporation Optimized translation lookaside buffer slice having stored mask bits
US5220526A (en) * 1991-03-01 1993-06-15 Motorola, Inc. Method and apparatus for indicating a duplication of entries in a content addressable storage device
US5289403A (en) * 1991-07-08 1994-02-22 Hewlett-Packard Company Self-timed content addressable memory access mechanism with built-in margin test feature
GB2259589A (en) * 1991-09-12 1993-03-17 Motorola Inc Self - timed random access memories
TW211094B (en) * 1992-04-30 1993-08-11 American Telephone & Telegraph Built-in self-test network
JP3528927B2 (ja) * 1993-06-22 2004-05-24 川崎マイクロエレクトロニクス株式会社 半導体記憶装置
US5450351A (en) * 1993-11-19 1995-09-12 International Business Machines Corporation Content addressable memory implementation with random access memory
JP3114957B2 (ja) * 1993-12-13 2000-12-04 川崎製鉄株式会社 連想メモリ
US5428565A (en) * 1994-03-11 1995-06-27 Intel Corporation Single stage sensing apparatus for a content addressable memory
US5596539A (en) * 1995-12-28 1997-01-21 Lsi Logic Corporation Method and apparatus for a low power self-timed memory control system
US5706224A (en) * 1996-10-10 1998-01-06 Quality Semiconductor, Inc. Content addressable memory and random access memory partition circuit

Also Published As

Publication number Publication date
KR19990029488A (ko) 1999-04-26
EP0901130B1 (de) 2003-09-10
JPH1196773A (ja) 1999-04-09
JP4603103B2 (ja) 2010-12-22
EP0901130A2 (de) 1999-03-10
US5943252A (en) 1999-08-24
KR100553632B1 (ko) 2006-04-21
EP0901130A3 (de) 2000-01-05
DE69817955D1 (de) 2003-10-16

Similar Documents

Publication Publication Date Title
DE69817955T2 (de) Assoziativspeicher
DE3834759C2 (de)
DE4210857C2 (de) Halbleiterspeichereinrichtung und Verfahren zum Übertragen von Daten
DE69723105T2 (de) Speicher und verfahren zum lesen von speicherelementenuntergruppen
DE4110173C2 (de) Adressenansteuereinrichtung für einen SRAM und Verfahren zum Betreiben derselben
DE3942386C2 (de) Zeitgabeschaltung für einen Halbleiterspeicher
DE60302821T2 (de) Data-Austauschvorrichtung zwischen Abtastketten
DE4238062C2 (de) Multiport-Speichereinrichtung
DE60221313T2 (de) Direktzugriffsspeicher
EP0283907A1 (de) Schaltungsanordnung und Verfahren zum Testen von Speicherzellen
DE102008026762A1 (de) Vorrichtung und Verfahren zum Betreiben einer integrierten Schaltung
EP0282976B1 (de) Verfahren und Schaltungsanordnung zum parallelen Einschreiben von Daten in einen Halbleiterspeicher
DE4011935A1 (de) Testsignalgenerator fuer eine integrierte halbleiterspeicherschaltung und testverfahren dafuer
DE10134985B4 (de) Test eines Halbleiterspeichers mit mehreren Speicherbänken
DE69835547T2 (de) Inhaltsadressierbares Speichersystem
DE102016125404A1 (de) Dual-rail-speicher, speichermakro und zugehöriges hybrides stromversorgungsverfahren
DE69835116T2 (de) Inhaltaddressierter Speicher
DE102013114251A1 (de) DRAM mit segmentierter Seitenkonfiguration
DE19612440C1 (de) Schaltungsanordnung mit einer Anzahl von elektronischen Schaltungskomponenten
DE19651340C2 (de) Halbleiterspeichervorrichtung
DE19531021C2 (de) Datenleseschaltung
DE112007003117T5 (de) Neue Implementierung der Spaltenredundanz für einen Flash-Speicher mit einem hohen Schreibparallelismus
EP0286852A1 (de) Schaltungsanordnung und Verfahren zum Testen von Speicherzellen
DE10034699B4 (de) Leseverstärker in einem nichtflüchtigen ferroelektrischen Speicher
DE112016002871T5 (de) Halbleitervorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: INDEPENDENCE MANZANAR LLC, LAS VEGAS, NEV., US