PatentDe  


Dokumentenidentifikation DE102004010664B4 09.08.2007
Titel Speicherkomparatorzelle
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Künemund, Thomas, Dr.rer.nat. Dipl.-Phys., 80337 München, DE
Vertreter Schoppe, Zimmermann, Stöckeler & Zinkler, 82049 Pullach
DE-Anmeldedatum 04.03.2004
DE-Aktenzeichen 102004010664
Offenlegungstag 06.10.2005
Veröffentlichungstag der Patenterteilung 09.08.2007
Veröffentlichungstag im Patentblatt 09.08.2007
IPC-Hauptklasse G11C 15/04(2006.01)A, F, I, 20051017, B, H, DE

Beschreibung[de]

Die vorliegende Erfindung befaßt sich mit einer Speicherkomparatorzelle sowie mit einer Speicherkomparatorvorrichtung bestehend aus einer Mehrzahl von Speicherkomparatorzellen, wie sie für inhaltsadressierbare Speicher eingesetzt werden.

Assoziativspeicher CAM (CAM = content addressable memory) ermöglichen neben Lese- und Schreibzugriffen auch sogenannte assoziative Zugriffe. Ein assoziativer Zugriff ist eine Suche nach einem Eintrag bzw. einer Adressierung über einen Inhalt einer gespeicherten Information. Bei einer solchen Suchoperation wird ein Suchwort mit einer bestimmten Menge gespeicherter Datenwörter verglichen. Für jedes der gespeicherten Wörter wird dabei angezeigt, ob es mit dem Suchwort übereinstimmt oder nicht. Ein wesentliches Merkmal eines CAM ist also, daß gespeicherte Wörter auch aufgrund ihres Inhalts identifizierbar sind, anstatt nur durch ihre Adresse wie bei gewöhnlichen Speichern. Ein CAM besteht im allgemeinen aus einem zweidimensionalen Feld von Komparatorspeicherzellen. Jede dieser Zellen speichert ein Bit digitaler Information und erlaubt den Vergleich dieses gespeicherten Bits mit einem korrespondierenden Bit des Suchwortes. Die je einer Zeile oder Spalte des Zellenfeldes entsprechenden gespeicherten Bits bilden die gespeicherten Wörter. Während eines assoziativen Zugriffs wird das Suchwort gleichzeitig an alle den gespeicherten Datenwörtern entsprechenden Zellen angelegt, und für jedes gespeicherte Wort wird ein Treffersignal erzeugt, das anzeigt, ob das Suchwort mit dem gespeicherten Wort übereinstimmt oder nicht.

Wichtige Anwendungen von Assoziativspeichern sind sogenannte Caches, schnelle Pufferspeicher für eine CPU von Prozessoren und Mikrokontrollern, wie beispielsweise einem Data- und Instruction-Cache sowie Adressenübersetzungspuffer.

Üblicherweise sind Schaltnetze und -werke mikroelektronisch so ausgeführt, daß beispielsweise jedes Bit eines in einem Register gespeicherten Zustands physikalisch dargestellt wird durch genau einen elektrischen Knoten am Registerausgang. Für die deshalb sogenannte Single-Rail-Schaltungstechnik gilt gleiches auch für alle Knoten innerhalb der kombinatorischen Schaltnetze zwischen Registern sowie für deren Eingänge. Einem logischen Wert eines (Zwischen-) Zustandsbits bzw. dessen Komplement entspricht im allgemeinen genau ein elektrischer Knoten.

Eine differentielle Stromprofilanalyse DPA (DPA = differential power analysis) ist eine der wichtigsten Methoden für einen Angriff auf ICs (IC = integrated circuit) sowie für eine Beurteilung einer Empfindlichkeit von ICs für Sicherheitsanwendungen gegenüber gezielten Angriffen auf vertrauliche Informationen wie Paßwörter oder kryptographische Schlüssel. Dabei werden für ein gegebenes Programm bzw. einen gegebenen Algorithmus mit statistischen Methoden gemessene Stromprofile bzw. deren über einen oder mehrere Taktzyklen berechnete Ladungsintegrale des IC ausgewertet, wobei, für eine Vielzahl von Programmausführungen, aus einer Korrelation von systematischer Datenvariation und jeweiligem Landungsintegral Rückschlüsse auf eine zu schützende Information gezogen werden können.

Im Gegensatz zur herkömmlichen Single-Rail-Logik, bei der jedes Bit innerhalb eines Daten- oder Signalpfades physikalisch dargestellt wird durch genau einen elektrischen Knoten k eines Schaltnetzes oder Schaltwerkes, wird bei Implementierung mit einer Dual-Rail-Logik jedes Bit durch zwei Knoten k und kq dargestellt, wobei dieses Bit einen gültigen logischen Wert aufweist, wenn k dem wahren logischen Wert b dieses Bits entspricht und kq dem negierten Wert bn = not(b).

Eine gewünschte Invarianz der Ladungsintegrale wird nun dadurch erreicht, daß zwischen je zwei Zuständen mit gültigen logischen Werten (b, bn) = (1, 0) oder (0, 1) ein sogenannter Vorladezustand, auch Precharge genannt, eingefügt ist, für den sowohl k als auch kq auf dasselbe elektrische Potential geladen werden, also logisch ungültige Werte (1, 1) oder (0, 0) annehmen. Für einen Vorladezustand (1, 1) könnte also eine Zustandsfolge aussehen wie folgt:

(1, 1) → (0, 1) → (1, 1) → (1, 0) → (1, 1) → (1, 0) → (1, 1) → (0, 1) → ...

Für eine jede beliebige solcher Zustandsfolgen gilt, daß bei einem Übergang (1, 1) → (b, bn) genau ein Knoten von 1 nach 0 umgeladen wird, und für alle (b, bn) → (1, 1) genau ein Knoten von 0 nach 1, unabhängig von einem logisch gültigen Wert b des in Frage stehenden Zustandsbits. Analoges gilt für Zustandsfolgen mit einem Vorladezustand (0, 0).

Daraus aber folgt, daß die diesen Zustandsfolgen entsprechenden Ladungsintegrale unabhängig sind von einer Abfolge (b, bn) der logisch gültigen Werte, falls nur dafür Sorge getragen wird, daß die Knoten k und kq gleiche elektrische Kapazitäten aufweisen. Ein Stromprofil eines so implementierten Datenpfades hängt also nicht ab von zeitlichen Variationen der zu verarbeitenden Daten. Es ist somit DPA-resistent.

6 zeigt eine mögliche Realisierung einer Assoziativspeicherzelle, wie sie üblicherweise eingesetzt wird. Die Assoziativspeicherzelle weist eine Speichereinrichtung 602, eine Komparatoreinrichtung 604 sowie eine Auswerteeinrichtung 606 auf. Die Speicherzelle 602 ist ausgebildet zum Empfangen eines Speichersignals b sowie eines komplementären Speichersignals bq sowie zum Speichern eines Wertes des Speichersignals b sowie des komplementären Speichersignals bq. Dazu weist die Speichereinrichtung 602 einen ersten Inverter INB sowie einen zweiten Inverter INBQ auf. Der erste Inverter INB bildet mit dem zweiten Inverter INBQ ein Latch zum Speichern des ersten Speichersignals b und des zweiten Speichersignals bq. Das Speichersignal b weist bezüglich des komplementären Speichersignals bq einen komplementären Wert auf. Das bedeutet, daß das komplementäre Speichersignal bq einen Wert logisch 0 aufweist, wenn das Speichersignal b einen Wert logisch 1 aufweist, und einen Wert logisch 1 aufweist, wenn das Speichersignal b einen Wert logisch 0 aufweist.

Das Speichersignal b wird der Speichereinrichtung 602 über einen Transistor NTBL zugeführt. Der Transistor NTBL wird von einem Schreibsignal wl angesteuert. Bei einem aktiven Schreibsignal wl schaltet der Transistor NTBL ein Speichereingangssignal bl auf das Speichersignal b durch. Das komplementäre Speichersignal bq wird der Speichereinrichtung 602 über einen Transistor NTBLQ zugeführt. Der Transistor NTBLQ wird von dem Schreibsignal wl angesteuert und ist ausgebildet, um ein komplementäres Speichereingangssignal blq ansprechend auf ein aktives Schreibsignal wl auf das komplementäre Speichersignal bq durchzuschalten. Bei einem inaktiven Schreibsignal wl sperren die Transistoren NTBL, NTBLQ und die Speichereinrichtung 602 hält das Speichersignal b sowie das komplementäre Speichersignal bq.

Der Komparator 604 ist ausgebildet, um das Speichersignal b mit dem Speichereingangssignal bl zu vergleichen und abhängig von einem Vergleichsergebnis ein Komparatorergebnissignal H auszugeben. Ein Vergleich des Speichersignals b mit dem Speichereingangssignal bl wird vorzugsweise dann durchgeführt, wenn das Schreibsignal wl nicht aktiv ist und die Transistoren NTBL, NTBLQ das Speichereingangssignal bl und das komplementäre Speichereingangssignal blq nicht auf das Speichersignal b und das komplementäre Speichersignal bq durchschalten. In diesem Fall kann das Speichereingangssignal bl einen anderen Signalwert aufweisen als das gespeicherte Speichersignal b. Der Komparator 604 weist zwei Transistoren PEB, NEBL auf, die von dem Speichereingangssignal bl angesteuert werden, zwei Transistoren PEBQ, NEBLQ, die von dem komplementären Speichereingangssignal blq angesteuert werden, zwei Transistoren PEBL, NEB, die von dem Speichersignal b angesteuert werden, sowie zwei Transistoren PEBLQ, NEBQ, die von dem komplementären Speichersignal bq angesteuert werden.

Sourceanschlüsse der Transistoren PEBL, PEBLQ sind mit einem Versorgungsspannungspotential VDD und die Sourceanschlüsse der Transistoren NEBQ, NEB mit einem Massepotential VSS verbunden. Die Drainanschlüsse der Transistoren PEB, PEBQ, NEBL, NEBLQ sind mit dem Komparatorausgangssignal H verbunden. Weisen das Speichersignalpaar b, bq und das Speichereingangssignalpaar bl, blq einen gleichen Signalzustand auf, d. h. sowohl das Speichersignalpaar b, bq als auch das Speichereingangssignalpaar bl, blq weisen einen Wert auf, der einer logischen 1 entspricht bzw. einer logischen 0 entspricht, so wird das Komparatorausgangssignal H über die Transistoren PEBL, PEB bzw. die Transistoren PEBLQ, PEBQ mit dem ersten Spannungspotential VDD verbunden. Weisen das Speichersignalpaar b, bq und das Speichereingangssignalpaar bl, blq unterschiedliche Zustände auf, d. h. eines der beiden Signale b, bl entspricht einer logischen 0 und das andere einer logischen 1, so ist das Komparatorergebnissignal H über die Transistoren NEBL, NEBQ bzw. die Transistoren NEBLQ, NEB mit dem Massepotential VSS verbunden.

Das Komparatorausgangssignal H wird somit von dem ersten Spannungspotential VDD, das entweder direkt oder über eine weitere Schaltung (nicht gezeigt in den Figuren) mit einer ersten Spannungsversorgungseinrichtung (nicht gezeigt in 6) bzw. von dem Massepotential VSS, das entweder direkt oder über eine weitere Schaltung (nicht gezeigt in den Figuren) auf Masse (nicht gezeigt in 6) liegt, mit einer Signalspannung versorgt.

Die Auswerteeinrichtung 606 weist zwei Transistoren NH, PH auf, die von dem Komparatorergebnissignal H angesteuert werden. Die Auswerteeinrichtung 606 ist ausgebildet, um ein Auswertesignal hp_in zu empfangen und ein Ergebnissignal hp_out auszugeben. Zeigt das Komparatorergebnissignal H an, das Speichersignalpaar b, bq und Speichereingangssignalpaar bl, blq übereinstimmen, d. h. das Komparatorergebnissignal H ist mit dem ersten Spannungspotential VDD verbunden, so gibt der Transistor NH das Auswertesignal hp_in als Ergebnissignal hp_out aus. Ist das Komparatorergebnissignal H dagegen mit dem Massepotential VSS verbunden, d. h. das Komparatorergebnissignal H zeigt an, daß das Speichersignalpaar b, bq sowie das Speichereingangssignalpaar bl, blq nicht übereinstimmen, so zieht der Transistor PH das Ergebnissignal hp_out auf das erste Spannungspotential VDD. Das Ergebnissignal hp_out ist somit gesteuert durch das Komparatorergebnissignal H entweder mit dem Ergebnissignal hp_in oder dem ersten Spannungspotential VDD verbunden.

Die in 6 beschriebene CAM-Zelle weist insbesondere den Nachteil auf, daß sie eine hohe Transistorzahl aufweist. Dies resultiert in einer großen CAM-Zellfläche sowie in einem erhöhten Energieverbrauch. Die Entkopplung des Komparatorergebnissignals H von dem Speichersignal b sowie dem Speichereingangssignal bl verzögert zusätzlich eine Bereitstellung des Komparatorergebnissignals H.

US 2 003/0097605 A1 zeigt eine Bereichszelle, die ein Speichersignal und ein komplementäres Speichersignal jeweils an den Steuereingang zweier Transistoren bereitstellt. Gesteuert durch das Speichersignal und das komplementäre Speichersignal schalten die Transistoren entweder das Signal oder dazu komplementäre Signal als Ausgangssignal durch. Die Bereichszelle ist ausgebildet zum Empfangen eines Eingangssignals. Abhängig von dem Ausgangssignal wird entweder das Eingangssignal als Ergebnissignal der Bereichszelle ausgegeben oder das Ergebnissignal wird durch den Transitor auf Masse gezogen.

Efthymiou, A.; Garside, J.: An adaptive serial-parallel CAM Architecture for low-power cache blocks. ISLPED'02, August 12–14, 2002, Monterey, California, USA beschreibt eine Zusammenschaltung von CAM-Zellen. Eine CAM-Zelle weist eine Speicherzelle auf, die ein Speichersignal und ein dazu invertiertes Speichersignal bereitstellt, die zwei Transistoren ansteuern, die ein Vergleichssignal bzw. ein dazu komplementäres Vergleichssignal auf zwei weitere Transistoren durchschalten, die ein Ergebnissignal entweder auf ein Massepotential oder auf ein Versorgungsspannungspotential ziehen.

Es ist die Aufgabe der vorliegenden Erfindung, eine Speicherkomparatorzelle, eine Speicherkomparatorvorrichtung, ein Verfahren zum Speichern und Vergleichen sowie ein Computerprogramm zum Ausführen des Verfahrens zum Speichern und Vergleichen zu schaffen, die eine einfache Struktur aufweisen.

Diese Aufgabe wird durch eine Speicherkomparatorzelle gemäß Anspruch 1, eine Speicherkomparatorvorrichtung gemäß Anspruch 8, ein Verfahren zum Speichern und Vergleichen gemäß Anspruch 12 sowie ein Computerprogramm gemäß Anspruch 13 gelöst.

Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß sich ein Speichersignal einer Speichereinrichtung oder ein Komparatorsignal, das in einem Komparator mit dem Speichersignal verglichen wird, vorteilhafterweise als Komparatorergebnissignal nutzen läßt, um ein Vergleichsergebnis auszugeben. Eine Speicherkomparatorzelle gemäß dem erfindungsgemäßen Ansatz weist eine minimale Fläche, einen minimalen Energieumsatz sowie eine Resistenz gegenüber einer Differential-Power-Analyses auf.

Insbesondere bietet keine der bekannten Lösungen von Speicherkomperatorzellen die Kombination von Vorteilen der erfindungsgemäßen Schaltung. Die erfindungsgemäße Speicherkomparatorzelle weist eine minimale Transistorzahl auf. Eine geringe Transistorzahl bedeutet eine kleine Zellfläche, die für die Speicherkomparatorzelle notwendig ist. Zusätzlich wird der Energieverbrauch reduziert. Zudem bedeutet eine Ladungsneutralität aller Vorgänge in der Speicherkomparatorzelle eine Resistenz gegenüber DPA-Angriffen. Ein weiterer wesentlicher Vorteil ist eine Reduzierung der Zeit, die im Komparator für einen Vergleich des Speichersignals mit dem Komparatorsignal benötigt wird.

Gemäß einem weiteren Ausführungsbeispiel ist ein Versorgungsspannungspegel VDD reduziert. Dies bedeutet einen geringeren Energieumsatz und kurze Zugriffszeiten.

Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:

1 eine schematische Darstellung einer Speicherkomparatorzelle gemäß der vorliegenden Erfindung;

2 eine schematische Darstellung eines weiteren Ausführungsbeispiels einer Speicherkomparatorzelle gemäß der vorliegenden Erfindung;

3 eine detaillierte Darstellung eines Ausführungsbeispiels einer Speicherkomparatorzelle gemäß der vorliegenden Erfindung;

4 eine schematische Darstellung einer Speicherkomparatorvorrichtung gemäß der vorliegenden Erfindung;

5 ein Ablaufdiagramm der in 4 gezeigten Signale; und

6 eine Speicherkomparatorzelle gemäß dem Stand der Technik.

In der nachfolgenden Beschreibung der bevorzugten Ausführungsbeispiele der vorliegenden Erfindung werden für die in den verschiedenen Zeichnungen dargestellten und ähnlich wirkenden Elemente gleiche oder ähnliche Bezugszeichen verwendet, wobei eine wiederholte Beschreibung dieser Elemente weggelassen wird.

1 zeigt eine schematische Darstellung einer Speicherkomparatorzelle gemäß der vorliegenden Erfindung. Die Speicherkomparatorzelle 100 weist eine Speichereinrichtung 102 sowie einen Komparator 104 auf. Die Speichereinrichtung 102 ist ausgebildet zum Bereitstellen eines Speichersignals b sowie eines komplementären Speichersignals bq an den Komparator 104. Der Komparator 104 ist ferner ausgebildet zum Empfangen eines Komparatorsignals k sowie eines komplementären Komparatorsignals kq. Abhängig von einem Vergleichsergebnis stellt der Komparator 104 ein Komparatorergebnissignal H bereit. Gemäß dem erfindungsgemäßen Ansatz ist das Komparatorergebnissignal H kein eigenständig, in dem Komparator 104 erzeugtes Signal, sondern entspricht einem der von dem Komparator 104 empfangenen Signale b, bq, k, kq.

Die Speichereinrichtung 102 ist ausgebildet zum Speichern eines zu speichernden Wertes. Abhängig von dem in der Speichereinrichtung 102 gespeicherten Wert hat das Speichersignal b einen Zustand, der einer logischen 1 oder einer logischen 0 entspricht. Das komplementäre Speichersignal bq hat einen Zustand, der komplementär zu dem Zustand des Speichersignals b ist. Hat das Speichersignal b einen Wert logisch 1, so hat das komplementäre Speichersignal bq einen Wert logisch 0, und hat das Speichersignal b einen Wert logisch 0, so hat das komplementäre Speichersignal bq einen Wert logisch 1. Üblicherweise hat das Speichersignal b einen Wert logisch 1, wenn der in der Speichereinrichtung 102 gespeicherte Wert ebenfalls einen Wert logisch 1 aufweist, und einen Wert logisch 0, wenn der in der Speichereinrichtung 102 gespeicherte Wert einen Wert logisch 0 aufweist. Die von dem Komparator 104 empfangenen Signale k, kq sind ebenfalls komplementär zueinander. Wenn das Komparatorsignal k einen Wert logisch 0 aufweist, so weist das komplementäre Komparatorsignal kq einen Wert logisch 1 auf, und wenn das Komparatorsignal k einen Wert logisch 1 aufweist, so weist das komplementäre Komparatorsignal kq einen Wert logisch 0 auf.

Der Komparator 104 ist ausgebildet zum Vergleichen des Speichersignals b mit dem Komparatorsignal k. Weisen sowohl das Speichersignal b als auch das Komparatorsignal k einen übereinstimmenden Wert auf, so zeigt das Komparatorergebnissignal H eine Übereinstimmung an. Weisen das Speichersignal b sowie das Komparatorsignal k keine Übereinstimmung auf, so zeigt das Komparatorergebnissignal H eine Nichtübereinstimmung an. Eine Übereinstimmung ist der Fall, indem sowohl das Speichersignal b als auch das Komparatorsignal k einen Wert logisch 0 oder wenn sowohl das Speichersignal b als auch das Komparatorsignal k einen Wert logisch 1 aufweisen.

Bei einer Übereinstimmung weist das Komparatorergebnissignal H typischerweise einen Wert logisch 1 auf und bei einer Nichtübereinstimmung einen Wert logisch 0. Da das Komparatorergebnissignal H nicht eigenständig in dem Komparator 104 erzeugt wird, schaltet der Komparator bei einer Übereinstimmung eines der Signale b, bq, k, kq, das einem Wert logisch 1 entspricht, auf das Komparatorergebnissignal H durch. Weisen das Speichersignal b und das Komparatorsignal k keine Übereinstimmung auf, so schaltet der Komparator 104 eines der Signale b, bq, k, kq als Komparatorergebnissignal H durch, das einem Wert logisch 0 entspricht. Alternativ wäre es möglich, daß das Komparatorergebnissignal H eine Übereinstimmung durch einen Wert logisch 0 und eine Nichtübereinstimmung durch einen Wert logisch 1 anzeigt. In diesem Fall schaltet der Komparator 104 bei einer Übereinstimmung eines der Signale b, bq, k, kq als Komparatorergebnissignal H durch, das einem Wert logisch 0 entspricht, und bei einer Nichtübereinstimmung eines der Signale b, bq, k, kq, das einem Wert logisch 1 entspricht.

Da das Speichersignal b und das komplementäre Speichersignal bq sowie das Komparatorsignal k und das komplementäre Komparatorsignal kq zueinander komplementär sind, genügen zum Durchführen des Vergleiches zwei Signale, nämlich das Speichersignal b oder das komplementäre Speichersignal bq und das Komperatorsignal k oder das komplementäre Komperatorsignal kq. Typischerweise wird dazu das Speichersignal b und das Komparatorsignal k verwendet. Ebenso ist zum Ausgeben des Komparatorergebnissignals H lediglich das Speichersignalpaar b, bq oder das Komperatorsignalpaar k, kq erforderlich. Typischerweise wird hierzu das Signalpaar bestehend aus Komparatorsignal k und komplementären Komparatorsignal kq eingesetzt. In diesem Fall ist entweder zusätzlich das Speichersignal b oder das komplementäre Speichersignal bq erforderlich, um im Komparator 104 den Vergleich durchführen zu können. Alternativ kann zum Erzeugen des Komparatorergebnissignals H das Signalpaar bestehend aus Speichersignal b sowie komplementären Speichersignal bq genutzt werden. In diesem Fall ist lediglich zusätzlich das Komperatorsignal k oder das komplementäre Komperatorsignal kq zum Durchführen des Vergleichs erforderlich.

2 zeigt ein weiteres Ausführungsbeispiel einer Speicherkomparatorzelle 200. Eine Speichereinrichtung 202 ist in diesem Ausführungsbeispiel ausgebildet zum Empfangen eines Speichereingangssignals bl, sowie eines komplementären Speichereingangssignals blq. Das Speichereingangssignals bl sowie das komplementären Speichereingangssignals blq stellen einen zu speichernden Wert an die Speichereinrichtung 202 bereit. Die Speicherkomparatorzelle 200 weist einen Komparator 104 sowie zusätzlich eine Auswerteeinrichtung 206 sowie eine Versorgungseinrichtung 208 auf.

Die Auswerteeinrichtung 206 ist ausgebildet zum Empfangen des Komparatorergebnissignals H sowie eines Auswertesignals hp_in. Abhängig von dem Komparatorergebnissignal H ist die Auswerteeinrichtung 206 ausgebildet zum Ausgeben eines Ergebnissignals hp_out.

Die Versorgungseinrichtung 208 ist ausgebildet, um gesteuert durch ein Haltesignal wr ein Speicherspannungspotential sVDD an die Speichereinrichtung 102 bereitzustellen.

Die Auswerteeinrichtung 206 ist ausgebildet, um abhängig von dem Komparatorergebnissignal H das Auswertesignal hp_in als Ergebnissignal hp_out auszugeben. Das Ergebnissignal hp_out entspricht dem Auswertesignal hp_in in dem Fall, daß das Komparatorergebnissignal H eine Übereinstimmung zwischen Speichersignal b und Komparatorsignal k anzeigt. Für den Fall, daß das Ergebnissignal hp_out nicht dem Auswertesignal hp_in entspricht, weist das Ergebnissignal hp_out typischerweise einen definierten Wert, beispielsweise logisch 0 oder logisch 1, auf. Der definierte Wert wird von der Auswerteeinrichtung 206 bereitgestellt. Alternativ kann das Ergebnissignal hp_out dem Auswertesignal hp_in entsprechen, wenn das Komparatorergebnissignal H keine Übereinstimmung anzeigt.

Die Speichereinrichtung 202 ist ausgebildet zum Speichern des zu speichernden Wertes. Zum Halten dieses Wertes empfängt die Speichereinrichtung 202 in diesem Ausführungsbeispiel das Speicherspannungspotential sVDD. Das Speicherspannungspotential sVDD entspricht üblicherweise einer Betriebsspannung oder alternativ einem Massepotential. Solange das Speicherspannungspotential sVDD an die Speichereinrichtung 202 bereitgestellt wird, hält diese den zu speichernden Wert. Soll der zu speichernde Wert in der Speichereinrichtung 202 nicht weiter gehalten werden oder durch einen neuen zu speichernden Wert ersetzt werden, so unterbricht die Versorgungseinrichtung 208, gesteuert durch das Haltesignal wr, die Bereitstellung des Speicherspannungspotentials sVDD an die Speichereinrichtung 202. Die Versorgungseinrichtung 208 ist in diesem Ausführungsbeispiel ein Schalter, der eine Einrichtung (nicht gezeigt in 2) zum Bereitstellen des Speicherspannungspotentials sVDD mit der Speichereinrichtung 202 verbindet und durch das Haltesignal wr angesteuert wird.

Die Auswerteeinrichtung 206 ist in diesem Ausführungsbeispiel ein Schalter, der gesteuert durch das Komparatorergebnissignal H das Auswertesignal hp_in auf das Ergebnissignal hp_out durchschaltet, wenn das das Komparatorergebnissignal H eine Übereinstimmung zwischen Speichersignal b und Komperatorsignal k aufweist.

3 zeigt eine detaillierte schematische Darstellung einer Speicherkomparatorzelle gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung. Die Speicherkomparatorzelle 300 weist eine Speichereinrichtung 302, einen Komparator 304 sowie eine Auswerteeinrichtung 306 auf. Die Speichereinrichtung 302 ist ausgebildet zum Bereitstellen eines Speichersignals b sowie eines komplementären Speichersignals bq an den Komparator 304. Das Speichersignals b sowie das komplementäre Speichersignal bq entsprechen einem, in der Speichereinrichtung 302 gespeicherten Wert. Der Komparator 304 ist ferner ausgebildet zum Empfangen des Komparatorsignals k sowie des komplementären Komparatorsignals kq sowie zum Bereitstellen des Komparatorergebnissignals H.

Die Speichereinrichtung 302 weist einen ersten Speichertransistor P1, einen zweiten Speichertransistor P2, einen dritten Speichertransistor N1 sowie einen vierten Speichertransistor N2 auf. Der erste Speichertransistor P1 sowie der dritte Speichertransistor N1 werden durch das Speichersignal b angesteuert. Der zweite Speichertransistor P2 sowie der vierte Speichertransistor N2 werden durch das komplementäre Speichersignal bq angesteuert. Das Speichersignal b ist ferner mit den Drainanschlüssen des zweiten Transistors P2 sowie des vierten Transistors N2 und das komplementäre Speichersignal bq ist mit den Drainanschlüssen des ersten Transistors P1 sowie des dritten Transistors N1 verbunden. Die Sourceanschlüsse des ersten Speichertransistors P1 sowie des zweiten Speichertransistors P2 sind mit dem Speicherspannungspotential sVDD und die Sourceanschlüsse des dritten Speichertransistors N1 sowie des vierten Speichertransistors N2 sind mit einem Massepotential VSS verbunden. Der erste Speichertransistor P1 und der dritte Speichertransistor N1 bilden zusammen einen Inverter bezüglich des Speichersignals b und der zweite Speichertransistor P2 sowie der vierte Speichertransistor N2 bilden zusammen einen Inverter bezüglich des komplementären Speichersignals bq. Die Speichereinrichtung 302 bildet ein Latch zum Halten des Speichersignals b sowie des komplementären Speichersignals bq.

Der Komparator 304 weist einen ersten Komparatortransistor NC sowie einen zweiten Komparatortransistor NCQ auf. Der erste Komparatortransistor NC wird von dem Speichersignal b angesteuert und der zweite Komparatortransistor NCQ wird von dem komplementären Speichersignal bq angesteuert. Der Sourceanschluss des ersten Komparatortransistors NC ist ausgebildet zum Empfangen des Komparatorsignals k und der Sourceanschluss des zweiten Komparatortransistors NCQ ist ausgebildet zum Empfangen des komplementären Komparatorsignals kq. Die Drainanschlüsse des ersten Komparatortransistors NC sowie des zweiten Komparatortransistors NCQ sind ausgebildet zum Ausgeben des Komparatorergebnissignals H.

Die Auswerteeinrichtung 306 weist einen ersten Auswertetransistor NH sowie einen zweiten Auswertetransistor PH auf. Die Auswertetransistoren NH, PH werden von dem Komparatorergebnissignal H angesteuert. Der erste Komparatortransistor NH ist an dem Sourceanschluss mit einer Auswertesignalleitung zum Empfangen des Auswertesignals hp_in verbunden und an dem Drainanschluss mit einer Ergebnissignalleitung zum Ausgeben des Ergebnissignals hp_out. Der zweite Komparatortransistor PH ist an dem Sourceanschluss mit einem Auswertespannungspotential rVDD verbunden und an dem Drainanschluss mit dem Ergebnissignal hp_out.

Die Speicherkomparatorzelle 300 weist ferner einen ersten Schreibtransistor NTB sowie einen zweiten Schreibtransistor NTBQ auf. Die Schreibtransistoren NTB, NTBQ werden von einem Schreib-/Lesesignal wl angesteuert. Gesteuert durch das Schreib-/Lesesignal wl schaltet der Schreibtransistor NTB das Speichereingangssignal bl auf das Speichersignal b und der zweite Schreibtransistor NTBQ das komplementäre Speichereingangssignal blq auf das komplementäre Speichersignal bq durch. In diesem Ausführungsbeispiel ist das Komparatorsignal k mit dem Speichereingangssignal bl sowie das komplementäre Komparatorsignal kq mit dem komplementären Speichereingangssignal blq verbunden.

3 zeigt somit eine erfindungsgemäße CAM-Zelle. Sie besteht zum einen aus einer 6-Transistor-RAM-Zelle (RAM; RAM = random access memory) bestehend aus den Transistoren NTB, NTBQ, N1, N2, P1, P2, wobei aber die Source-Terminals der p-Kanal-Transistoren P1 und P2 nicht mit einer Versorgungsspannung VDD verbunden sind, sondern mit dem Knoten sVDD (einem schaltbaren VDD), das über einen weiteren p-Kanal-Transistor (gezeigt in 4 als Transistor PsDD) mit VDD verbunden werden kann. Der Transistor PsDD könnte auch Teil der in 3 gezeigten CAM-Zelle sein, liegt in dem in 4 gezeigten Ausführungsbeispiel aber außerhalb eines Speicherzellenfeldes und ist damit für alle einem Datenwort zugeordneten Zellen zuständig.

Weiter enthält die CAM-Zelle eine Komparatorschaltung, bestehend aus den n-Kanal-Transistoren NC, NCQ, dem Hit-Path-Transistor NH sowie einem Vorladetransistor PH, dessen Source mit dem auf reduziertem Versorgungspotential liegenden Knoten rVDD verbunden ist. Das Komparatorspannungspotential rVDD weist im Vergleich zum Speicherspannungspotential sVDD ein geringeres Spannungspotential auf.

Wie 3 zu entnehmen ist, entspricht das Komparatorergebnissignal H entweder dem Komparatorsignal k oder dem komplementären Komparatorsignal kq. Weist das Speichersignal b einen Wert logisch 1 auf, so schaltet der erste Komparatortransistor NC das Komparatorsignal k auf das Komparatorergebnissignal H durch. Weist das Komparatorsignal k ebenfalls einen Wert logisch 1 auf, so stimmen Speichersignal b und Komparatorsignal k überein und das Komparatorergebnissignal H zeigt diese Übereinstimmung dadurch an, daß es ebenfalls den Wert logisch 1 des Komparatorsignals k aufweist. Weist das Komparatorsignal k dagegen einen Wert logisch 0 auf, so weist das Komparatorergebnissignal H ebenfalls den Wert logisch 0 des Komparatorsignals k auf und zeigt damit an, daß Speichersignal b und Komparatorsignal k nicht übereinstimmen. Weist das Speichersignal b einen Wert logisch 0 auf, so sperrt der erste Komparatortransistor NC. In diesem Fall weist das komplementäre Speichersignal bq den Wert logisch 1 auf und verbindet somit das komplementäre Komparatorsignal kq mit dem Komparatorergebnissignal H. Weist das komplementäre Komparatorsignal kq einen Wert logisch 1 auf, so stimmen komplementäres Speichersignal bq und komplementäres Komparatorsignal kq überein und das Komparatorergebnissignal H weist einen Wert logisch 1 auf. Weist das komplementäre Komparatorsignal kq dagegen eine Wert logisch 0 auf, so zeigt das Komparatorergebnissignal H eine Nichtübereinstimmung durch einen logischen Wert 0 auf, der dem logischen Wert des komplementären Komparatorsignals kq entspricht.

4 zeigt eine Speicherkomparatorvorrichtung gemäß der vorliegenden Erfindung. Gemäß diesem Ausführungsbeispiel weist die Speicherkomparatorvorrichtung acht Speicherkomparatorzellen 300 auf, wie sie anhand von 3 beschrieben ist. Aus Gründen der Übersichtlichkeit sind in 4 lediglich drei Speicherkomparatorzellen 300a, 300b, 300c gezeigt und bezeichnet. Die Speicherkomparatorzellen 300a, 300b, 300c sind mit CAM Cell-Bit 0, CAM Cell-Bit 1, CAM Cell-Bit 7 bezeichnet. Jedes Speichereingangssignal bl sowie jedes komplementäre Speichereingangssignal blq der Speicherkomparatorzellen 300a, 300b, 300c wird von einem Speichereingangsbussignal bl<0-7> bzw. einem komplementären Speicherbussignal blq<0-7> bereitgestellt. Ein Schreib-/Lesesignal wl wird an alle Speicherkomparatorzellen 300a, 300b, 300c bereitgestellt. Die Auswertesignalleitung der ersten Speicherkomparatorzelle 300a ist mit dem Massepotential VSS verbunden, so daß das Auswertesignal hp_in1 der ersten Speicherkomparatorzelle 300a einen logischen Wert 0 aufweist. Die Ergebnissignalleitung der ersten Speicherkomparatorzelle 300a ist mit der Auswertesignalleitung der zweiten Speicherkomparatorzelle 300b verbunden, so daß das Ergebnissignal hp_out1 der ersten Speicherkomparatorzelle 300a dem Auswertesignal hp_in2 der zweiten Speicherkomparatorzelle 300b entspricht. Ebenso sind die weiteren benachbarten Speicherkomparatorzellen miteinander verbunden. Das Ergebnissignal hp_out7 der achten Speicherkomparatorzelle 300c steuert als Ausgangssignal hitq7 einen ersten Inverter bestehend aus den Invertertransistoren PHIT, NHIT an. Das invertierte Ausgangssignal hit des ersten Inverters steuert wiederum einen zweiten Inverter bestehend aus den Invertertransistoren PHITQ, NHITQ an. Die Ausgangssignale hit, hitq steuern wiederum Transistoren PFB0, PFB1 an, die das Versorgungsspannungspotential VDD auf das Ausgangssignal hitq7 sowie das invertierte Ausgangssignal hit durchschalten können. Der Spannungstransistor PsDD schaltet, gesteuert durch das Schreibsignal wr, das Versorgungsspannungspotential VDD auf das Speicherspannungspotential sVDD durch oder nicht. Das Auswertepotential rVDD0 wird von dem zweiten Spannungstransistor NrDD0 von dem Versorgungsspannungspotential VDD abgeleitet.

Durch die serielle Verschaltung der Speicherkomparatorzellen 300a, 300b, 300c über die Auswertesignal hp_in sowie die Ergebnissignale hp_out zeigt das Ausgangssignal hitq7 an, ob alle der in den Speicherkomparatorzellen 300a, 300b, 300c durchgeführten Vergleiche eine Übereinstimmung der Speichersignale b mit den Komparatorsignalen k anzeigen oder ob einer dieser Vergleiche eine Nichtübereinstimmung anzeigt. Im Falle einer Übereinstimmung in allen acht Speicherkomparatorzellen 300a, 300b, 300c weist das Ausgangssignal hitq7 das Massepotential VSS auf. Bei einer Nichtübereinstimmung in einer der Speicherkomparatorzellen 300a, 300b, 300c weist das Ausgangssignal hitq7 ein Potential auf, das dem Auswertepotential rVDD0 entspricht.

4 zeigt eine Verschaltung von in diesem Beispiel acht CAM-Zellen 300a, 300b, ..., 300c sowie eine aus den Transistoren NrDD0, NrDD1, PsDD und den Transistoren NHIT, NHITQ, PHIT, PHITQ, PFB0, PFB1 bestehende Schaltung zur Versorgung der CAM-Zellen 300a, 300b, ..., 300c mit sVDD und rVDD sowie zur Verarbeitung des Acht-Bit-Komparator-Ausgangssignals hitq7.

Eine Funktionsweise der in den 3 und 4 angegebenen Schaltungen wird nun mit den in 5 dargestellten zeitlichen Signalverläufen erläutert.

5 zeigt einen zeitlichen Verlauf des Schreibsignals wr, das das Speicherspannungspotential sVDD ansteuert. Ferner ist das Schreib-/Lesesignal wl gezeigt, das alle der in 4 gezeigten Speicherkomparatorzellen ansteuert. Zeitliche Abläufe des Speichereingangssignals sowie des komplementären Speichereingangssignals der achten, der in 4 gezeigten Speicherkomparatorzellen sind in 5 mit /v(bl<7>) sowie mit /v(blq<7>) gekennzeichnet. Das Speichersignal sowie das zugehörige komplementäre Speichersignal sowie das Komparatorergebnissignal der achten Speicherkomparatorzelle sind in 5 mit /Xcc7/v(b), /Xcc7/v(bq), /Xcc7/v(H) bezeichnet. Die mit /v(bl<0>) und /v(blq<0>) gekennzeichneten Signalverläufe stehen für das Speichereingangssignal sowie das komplementäre Speichereingangssignal der ersten Speicherkomparatorzelle gemäß 4. Dementsprechend stehen die durch /Xcc0/v(b), /Xcc0/v(bq) und /Xcc0/v(H) für das Speichersignal, das komplementäre Speichersignal sowie das Komparatorausgangssignal der ersten Speicherzelle. Der mit /v(hitq7) gekennzeichnete Signalverlauf entspricht dem in 4 gezeigten Ausgangssignal hitq7 und ein mit /v(hit) gekennzeichneter Signalverlauf entspricht dem in 4 gezeigten Signal des invertierten Ausgangssignals hit.

Die zeitlichen Signalverläufe sind in eine Mehrzahl von Zeitintervallen, nämlich einem Entladeintervall PD, einem Schreibintervall WR, einem Vergleichsintervall AA, einem Vorladeintervall PC sowie einem Leseintervall RD unterteilt. Die Vergleichsintervalle AA sind entsprechend einem Vergleichsergebnis entweder als AA(hit) oder als AA(miss) bezeichnet.

Das Entladezeitintervall PD bezeichnet ein Zeitintervall, in dem die Bitleitungen bl<7:0>, blq<7:0>, die den Speichereingangssignalen b bzw. den komplementären Speichereingangssignalen der Speicherkomperatorzellen, auf das niedrige Versorgungspotential VSS, das typischerweise einem Massepotential entspricht, entladen werden. Die Wortleitung wl, die das Schreib-/Lesesignal überträgt, liegt ebenfalls auf dem niedrigen Versorgungspotential VSS, d. h. die Zellknoten b und bq aller CAM-Zellen sind von den Bitleitungen bl<7:0> und blq<7:0> isoliert. Außerdem ist mit dem Schreibsignal wr auf dem niedrigen Versorgungspotential VSS das schaltbare Speicherspannungspotential sVDD über den in 4 gezeigten Transistor PsDD mit dem Versorgungsspannungspotential VDD verbunden, d. h. die dadurch rückgekoppelten Inverter des Speicherteils der CAM-Zellen halten das in der Zelle gespeicherte Bit. Ein solcher Vorladezustand bzw. Vorentladezustand der Bitleitungen bl<7:0> und blq<7:0> dient einer Vorbereitung des CAM. für einen folgenden Schreibzugriff oder einen folgenden assoziativen Zugriff. Ein Schreibzugriff ist dabei ein Zugriff, bei dem ein neuer zu speichernder Wert in die Speichereinrichtung geschrieben wird, und ein assoziativer Zugriff ist ein Zugriff, bei dem Speichersignal b mit dem Komparatorsignal k verglichen wird.

Das Schreibintervall WR bezeichnet ein Zeitintervall, in dem ein Schreibzugriff auf die CAM-Zellen durchgeführt wird. Sowohl das Schreib-/Lesesignal wl als auch das Schreibsignal wr werden zunächst auf das Versorgungsspannungspotential VDD gesetzt, wodurch zum einen die Zellknoten b und bq, die dem Speichersignal bzw. dem komplementären Speichersignal entsprechen, aller CAM-Zellen mit den Bitleitungen bl<7:0> bzw. blq<7:0>, die dem Speichereingangssignal bzw. dem komplementären Speichereingangssignal entsprechen, verbunden werden, und zum anderen die Rückkopplung im Speicherteil der CAM-Zellen abgeschaltet wird. Dies wiederum hat zur Folge, daß sowohl das Speichersignal b als auch das komplementäre Speichersignal bq zunächst auf dem niedrigen Versorgungsspannungspotential VSS zu liegen kommen.

Nun werden die zu schreibenden Daten an die Bitleitungen bl<7:0> und blq<7:0> angelegt und auf die Knoten b, bq übertragen, d. h. der an einer Speichereingangsleitung bl<j> bzw. der an dem Speichersignal b liegende Wert des Potentials wird komplementär zu dem an dem komplementären Speichereingangssignal blq<j> bzw. dem komplementären Speichersignal bq liegenden. Komplementär bedeutet in diesem Fall ein Paar von Potentialwerten (VDDx, VSS) bzw. (VSS, VDDx) für alle (bl<j>, blq<j>), j = 0, 1, ..., 7, wobei VDDx Werte annehmen kann zwischen VDD und VDD–VTHn, mit einer Einsatzspannung VTHn eines n-Kanal-Transistors. Schließlich werden das Schreib/Lesesignal wl und das Schreibsignal wr auf VSS gesetzt, d. h. die Speichersignale b und die komplementären Speichersignal bq werden von den Bitleitungen bl<7:0> sowie blq<7:0> isoliert, und die Rückkopplung des Speicherteils der CAM-Zellen wird wieder aktiviert, wodurch (b, bq) auf (VDD, VSS) oder (VSS, VDD) zu liegen kommen.

In dem in 5 gezeigten Schreibintervall WR wird in die achte Speicherkomparatorzelle ein Wert logisch 1 und in die erste Speicherkomparatorzelle ein Wert logisch 1 geschrieben.

Nach dem Schreibintervall folgt ein zweites Entladeintervall PD. In dem nachfolgenden Vergleichsintervall AA(hit) wird ein assoziativer Zugriff auf die CAM-Zellen durchgeführt. Dabei bleiben das Schreibsignal wl und das Schreib-/Lesesignal wr auf dem niedrigen Versorgungsspannungspotential VSS, d. h. die Knoten b, bq bleiben von den Bitleitungen bl<7:0> und blq<7:0> isoliert, und die Rückkopplung des Speicherteils der CAM-Zellen bleibt aktiv. Die Bits eines Suchworts werden an die Bitleitungen bl<7:0> und blq<7:0> angelegt, d. h. der an dem Knoten bl<j> liegende Wert des Potentials wird komplementär zu dem an dem Knoten blq<j> liegenden, und die an den Knoten bl<j>, blq<j> liegenden Werte werden in jeder CAM-Zelle mit den Knoten b und bq verglichen. Für bl<j> = VDDx und b = VDD oder blq<j> = VDDx und bq = VDD stimmt das gespeicherte Bit überein mit dem entsprechenden Bit des Suchworts, einer der beiden Transistoren NC, NCQ (gezeigt in 3) wird leitend und es wird das Komparatorergebnissignal H = VDDx, d. h. auch der Transistor NH wird leitend, während der Transistor PH abschaltet. Falls also das, entsprechend zu

4, aus acht Bit bestehende Suchwort vollständig übereinstimmt mit dem in den acht Speicherkomparatorzellen gespeicherten Wort, wird der Knoten hitq7 leitend verbunden mit VSS, d. h. hit kommt auf VDD zu liegen, wodurch ein Treffer angezeigt wird.

Andernfalls bleibt mindestens einer der Transistoren NH, der acht Speicherkomparatorzellen gesperrt und damit das Ausgangssignal hitq7 verbunden mit rVDD0 sowie das invertierte Ausgangssignal hit auf VSS.

Wie 5 zu entnehmen ist, zeigen sowohl das Komparatorergebnissignal H der ersten Speicherzelle als auch der achten Speicherzelle ein positives Vergleichsergebnis an.

In dem nachfolgenden Vorladeintervall PC werden die Bitleitungen bl<7:0>, blq<7:0> auf das Spannungspotential VDDx vorgeladen. Die Wortleitung des Schreib-/Lesesignals wl der CAM-Zellen liegt auf dem niedrigen Versorgungspotential VSS, d. h. die Zellknoten b, bq aller CAM-Zellen sind von den Bitleitungen bl<7:0>, blq<7:0> isoliert. Außerdem ist mit dem Haltesignal wr auf dem niedrigen Spannungsversorgungspotential VSS der Knoten sVDD über den Transistor PsDD mit dem Versorgungsspannungspotential VDD verbunden, d. h. die dadurch zurückgekoppelten Inverter des Speicherteils der CAM-Zellen halten das in der Zelle gespeicherte Bit.

Dieser Vorladezustand der Bitleitungen bl<7:0>, blq<7:0> dient einer Vorbereitung der CAM-Zelle für einen folgenden Lesezugriff.

In dem Leseintervall RD wird ein Lesezugriff auf die CAM-Zellen durchgeführt. Mit dem Schreib-/Lesesignal wl auf dem Versorgungsspannungspotential VDD werden die Zellknoten b, bq aller CAM-Zellen mit den Bitleitungen bl<7:0>, blq<7:0> verbunden, während mit dem Haltesignal wr auf dem niedrigen Versorgungsspannungspotential VSS die Rückkopplung im Speicherteil der CAM-Zellen aktiv bleibt. Dadurch kann jeweils eine der Bitleitungen bl<j> oder blq<j> über die Transistoren NTB oder NTBQ auf das niedrige Versorgungsspannungspotential VSS entladen werden: die in den CAM-Zellen gespeicherte Information wird auf die Bitleitungen bl<7:0>, blq<7:0> übertragen.

Das in 5 gezeigte Vergleichsintervall AA(miss) zeigt einen assoziativen Speicherzugriff, bei dem das Suchwort nicht mit den in den Speicherkomparatorzellen gespeicherten Wort übereinstimmt. Wie 5 zu entnehmen ist, zeigt das Komparatorergebnissignal H der achten Speicherzelle einen positiven Vergleichswert an. Da jedoch die erste Speicherzelle, deren Signalverlauf auch in 5 gezeigt ist, ein negatives Vergleichsergebnis aufweist, zeigt das Ausgangssignal hitq7 keine Übereinstimmung des Suchworts mit dem gespeicherten Wort auf.

Dem Vergleichsintervall AA(miss) folgen ein weiteres Entladeintervall PD, ein weiteres Vergleichsintervall AA(hit) und ein weiteres Entladeintervall PD.

In dem in 4 gezeigten Ausführungsbeispiel kann einer Gefahr einer undefinierten Ansteuerung der Transistoren PHIT und NHIT ausreichend begegnet werden, falls der Transistor PFB0 im Vergleich zu den Auswertetransistoren NH(7:0) hinreichend schwach (im Sinne der Stromergiebigkeit) dimensioniert ist.

Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren in Hardware oder in Software implementiert werden. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, daß das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computerprogrammprodukt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computerprogrammprodukt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computerprogramm auf einem Computer abläuft.

100
Speicherkomparatorzelle
102
Speichereinrichtung
104
Komparator
b
Speichersignal
bq
komplementäres Speichersignal
k
Komparatorsignal
kq
komplementäres Komparatorsignal
H
Komparatorergebnissignal
200
Speicherkomparatorzelle
206
Auswerteeinrichtung
208
Versorgungseinrichtung
wr
Haltesignal
sVDD
Speicherspannungspotential
hp_in
Auswertesignal
hp_out
Ergebnissignal
300
Speicherkomparatorzelle
302
Speichereinrichtung
304
Komparator
306
Auswerteeinrichtung
P1, P2
Speichertransistoren
N1, N2
Speichertransistoren
NC, NCQ
Komparatortransistoren
NH, PH
Auswertetransistoren
NTB, NTBQ
Schreibtransistoren
300a-c
Speicherkomparatorzellen
hitq7
Ausgangssignal
hit
invertiertes Ausgangssignal
PHIT,
NHIT Invertertransistoren
PHITQ
Invertertransistor
NHITQ
Invertertransistor
PsDD
Versorgungsspannungstransistor
NrDD0
Versorgungsspannungstransistor
NrDD1, PFB0, PFB1
Transistoren
PD
Vorladeintervall
WR
Schreibintervall
AA
Vergleichsintervall
PC
Entladeintervall
RD
Leseintervall
602
Speichereinrichtung
604
Komparator
606
Auswerteeinrichtung


Anspruch[de]
Speicherkomparatorzelle (100; 200; 300) mit folgenden Merkmalen:

einer Speichereinrichtung (102; 202; 302) zum Liefern eines Speichersignals (b) abhängig von einem gespeicherten Wert;

einem Komparator (104; 304) zum Vergleichen des Speichersignals mit einem Komparatorsignal (k),

wobei die Speichereinrichtung ausgebildet ist, um das Speichersignal (b) und ein komplementäres Speichersignal (bq) zu liefern, oder wobei neben dem Komparatorsignal ein komplementäres Komparatorsignal (kq) dem Komparator zuführbar ist, und

wobei der Komparator ausgebildet ist, um abhängig von einem Vergleichsergebnis das Speichersignal oder das komplementäre Speichersignal bzw. das Komparatorsignal oder das komplementäre Komparatorsignal als Komparatorergebnissignal (H) auszugeben; und

wobei die Speichereinrichtung (102; 302) mit einer Versorgungseinrichtung (208) verbunden ist, die ausgebildet ist, um die Speichereinrichtung mit einem Speicherspannungspotential (sVDD) zum Halten des gespeicherten Wertes zu versorgen; ferner mit

einer Auswerteeinrichtung (206; 306) zum Empfangen eines Auswertesignals (hp_in), das ein Massepotential (VSS) aufweist, wobei die Auswerteeinrichtung ausgebildet ist, um das Auswertesignal (hp_in) als ein Ergebnissignal (hp_out) auszugeben, wenn das Komparatorergebnissignal (H) einen ersten logischen Wert aufweist und ferner ausgebildet ist, um ein erstes Versorgungsspannungspotential (rVDD) als Ergebnissignal (hp_out) auszugeben, wenn das Komparatorergebnissignal (H) einen zweiten logischen Wert aufweist,

wobei das erste Versorgungsspannungspotential (rVDD), das Speicherspannungspotential (sVDD) und das Massepotential (VSS) unterschiedlich sind und wobei das erste Versorgungsspannungspotential einen niedrigeren Spannungswert als das Speicherspannungspotential aufweist und wobei das Massepotential einen geringeren Spannungswert als das Versorgungsspannungspotential aufweist.
Speicherkomparatorzelle (100; 200; 300) gemäß Anspruch 1, wobei der Komparator (104; 304) ausgebildet ist, um bei einer Übereinstimmung von Speichersignal (b) und Komparatorsignal (k) das Speichersignal (b) oder das komplementäre Speichersignal (bq) bzw. das Komparatorsignal (k) oder das komplementäre Komparatorsignal (kq) als Komparatorergebnissignal (H) auszugeben, das den ersten logischen Wert aufweist. Speicherkomparatorzelle (100; 200; 300), gemäß einem der Ansprüche 1 oder 2, wobei der Komparator (104; 304) ausgebildet ist, um bei einer Nichtübereinstimmung von Speichersignal (b) und Komparatorsignal (k) das Speichersignal (b) oder das komplementäre Speichersignal (bq) bzw. das Komparatorsignal (k) oder das komplementäre Komparatorsignal (kq) als Komparatorergebnissignal (H) auszugeben, das den zweiten logischen Wert aufweist. Speicherkomparatorzelle (200; 300) gemäß einem der Ansprüche 1 bis 3, wobei die Versorgungseinrichtung (208) ausgebildet ist, um die Speichereinrichtung ansprechend auf ein Haltesignal (wr) mit dem Speicherspannungspotential (sVDD) zum Halten des gespeicherten Wertes zu versorgen und ferner ausgebildet ist, um, gesteuert durch das Haltesignal, die Bereitstellung des Speicherspannungspotentials an die Speichereinrichtung (202) zu unterbrechen, wenn der zu speichernde Wert in der Speichereinrichtung nicht weiter gehalten werden oder durch einen neuen zu speichernden Wert ersetzt werden soll. Speicherkomparatorzelle (300) gemäß einem der Ansprüche 1 bis 4, wobei der Komparator (304) einen ersten Schalter (NC) und einen zweiten Schalter (NCQ) aufweist, wobei der erste Schalter ausgebildet ist, um gesteuert durch das Speichersignal (b) das Komparatorsignal (k) als Komparatorergebnissignal (H) auszugeben, und wobei der zweite Schalter ausgebildet ist, um gesteuert durch das komplementäre Speichersignal (bq) das komplementäre Komparatorsignal (kq) als Komparatorergebnissignal (H) auszugeben. Speicherkomparatorzelle (300) gemäß Anspruch 5, wobei der erste Schalter (NC) ein erster Transistor und wobei der zweite Schalter (NCQ) ein zweiter Transistor ist. Speicherkomparatorzelle (300) gemäß einem der Ansprüche 1 bis 6, wobei die Speichereinrichtung (302) einen ersten Inverter mit einem ersten Speichertransistor (P1) und einem zweiten Speichertransistor (N1) und einen zweiten Inverter mit einem dritten Speichertransistor (P2) und einem vierten Speichertransistor (N2) aufweist, wobei die Drainanschlüsse des ersten und des zweiten Speichertransistors das komplementäre Speichersignal (bq) und die Drainanschlüsse des dritten und des vierten Speichertransistors das Speichersignal (b) bereitstellen. Speicherkomparatorzelle (300) gemäß einem der Ansprüche 1 bis 7, die einen ersten Schreibtransistor (NTB) und einen zweiten Schreibtransistor (NTBQ) aufweist, wobei der erste Schreibtransistor und der zweite Schreibtransistor ausgebildet sind, um gesteuert von einem Schreib/Lesesignal (wl) den zu speichernden Wert an die Speichereinrichtung (302) bereitzustellen. Speicherkomparatorvorrichtung mit folgenden Merkmalen:

einer ersten Speicherkomparatorzelle (300a) gemäß einem der Ansprüche 1 bis 8; und

einer zweiten Speicherkomparatorzelle (300b) gemäß einem der Ansprüche 1 bis 8;

wobei die erste Speicherkomparatorzelle ausgebildet ist, um ein erstes Auswertesignals (hp_in1) zu empfangen, das das Massepotential (VSS) an die erste Speicherkomparatorzelle bereitstellt, und wobei die zweite Speicherkomparatorzelle ausgebildet ist, um ein erstes Ergebnissignal (hp_out1) der ersten Speicherkomparatorzelle als ein zweites Auswertesignal (hp_in2) zu empfangen, wobei das erste Ergebnissignal (hp_out1) entweder das Massepotential oder das erste Versorgungsspannungspotential aufweist.
Speicherkomparatorvorrichtung gemäß Anspruch 9, die eine Auswerteschaltung mit einer Einrichtung zum Verstärken des Ergebnissignals der zweiten Speicherkomparatorzelle aufweist. Speicherkomparatorvorrichtung gemäß einem der Ansprüche 9 oder 10, wobei die Auswerteschaltung eine Einrichtung (NrDD0) zum Bereitstellen des ersten Versorgungsspannungspotentials (rVDD) und eine Einrichtung (PsDD) zum Bereitstellen des Speicherspannungspotential (sVDD) aufweist. Verfahren zum Speichern und Vergleichen mit folgenden Schritten:

Versorgen einer Speichereinrichtung (102; 302) mit einem Speicherspannungspotential (sVDD) zum Halten des gespeicherten Wertes;

Liefern eines Speichersignals (b) abhängig von dem gespeicherten Wert durch die Speichereinrichtung;

Liefern eines Komparatorsignals;

Liefern eines komplementären Speichersignals (bq) durch die Speichereinrichtung oder Liefern eines komplementären Komparatorsignals (kq) neben dem Komparatorsignal; und

Vergleichen des Speichersignals mit dem Komparatorsignal durch einen Komparator (104; 304); und

Ausgeben des Speichersignals oder des komplementären Speichersignals bzw. des Komparatorsignals oder des komplementären Komparatorsignals als Komparatorergebnissignal (H) durch den Komparator abhängig von dem Vergleichsergebnis;

Empfangen eines Auswertesignals (hp_in), das ein Massepotential (VSS) aufweist, durch eine Auswerteeinrichtung (206; 306), und Ausgeben des Auswertesignals (hp_in) als ein Ergebnissignal (hp_out), wenn das Komparatorergebnissignal (H) einen ersten logischen Wert aufweist und Ausgeben eines ersten Versorgungsspannungspotentials (rVDD) als Ergebnissignal (hp_out), wenn das Komparatorergebnissignal (H) einen zweiten logischen Wert aufweist,

wobei das erste Versorgungsspannungspotential (rVDD), das Speicherspannungspotential (sVDD) und das Massepotential (VSS) unterschiedlich sind und wobei das erste Versorgungsspannungspotential einen niedrigeren Spannungswert als das Speicherspannungspotential aufweist und wobei das Massepotential einen geringeren Spannungswert als das Versorgungsspannungspotential aufweist.
Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens gemäß Anspruch 12, wenn das Computerprogramm auf einem Computer abläuft






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com