-
Die Erfindung betrifft eine Speicheranordnung mit einem Speicherelement, insbesondere mit einem Speicherelement mit zwei rückgekoppelten Logikbauelementen für den Einsatz in Dual-Rail Precharged-Schaltungen.
-
Speicherelemente sind neben den Logikschaltungen notwendige Bestandteile digitaler Systeme. Man unterscheidet zwischen RAM-Speichern, die sowohl Schreib- als auch Lesezugriffe ermöglichen, und ROM-Speichern, bei denen nur Lesezugriffe möglich sind. RAM-Speicher lassen sich in statische RAMs (SRAM), bei denen die Speicherfunktion durch ein Flip-Flop oder einem bistabilen Schaltkreis mit nichtlinearer Rückkopplung verwirklicht wird, und in dynamische RAMs (DRAM), bei denen die Information als Ladungsmenge auf einem Kondensator gespeichert wird, unterteilen.
-
EP 1 164 594 A1 beschreibt eine Halbleiter-Speichervorrichtung. Die Halbleiter-Speichervorrichtung weist eine Vielzahl von ersten Speicherarrays auf. Jede der Vielzahl von ersten Speicherarrays weist eine Vielzahl von Halbleiter-Speicherelementen auf, in welche Daten von externen Geräten gespeichert werden oder aus denen Daten von externen Geräten gelesen werden. Ferner weist die Halbleiter-Speichervorrichtung ein zweites Speicherarray auf, welches separat von der Vielzahl von ersten Speicherarrays arbeitet und welches mindestens einen Block aus nichtflüchtigen Speichern aufweist, sowie eine Datentransfer-Sektion um Daten zwischen der Vielzahl von Halbleiter-Speicherelementen und dem zweiten Speicherarray zu ermöglichen.
-
EP 1 025 564 B1 beschreibt eine Speicherzellenschaltung einer programmierbaren Logikschaltung. Die Speicherzellenschaltung weist eine Mehrzahl von Speicherzellen zum Speichern von Programmdaten einer programmierbaren Logikschaltung, eine globale mit den Speicherzellen verbundene Versorgungsleitung und eine Versorgungssteuerschaltung zum Speisen eines globalen Versorgungssignals in die globale Versorgungsleitung und zum Abschalten der Speicherzellen auf. Ferner weist die Speicherzellenschaltung ein programmierbares Bauteil, welches steuert ob die globale Versorgungsleitung eingeschaltet oder ausgeschaltet wird, sowie in jeder Speicherzelle einen ersten und einen zweiten Inverter, welche jeweils von dem globalen Versorgungssignal versorgt werden, auf.
-
US 4 575 823 A beschreibt einen nichtflüchtigen Speicher. Der nichtflüchtige Speicher weist ein Array von Transistoren mit variablen Schwellenwert, einen Zeilendekodierschaltkreis, einen Pufferschaltkreis, welcher zwischen dem Array und dem Zeilendekodierschaltkreis angeordnet ist, einen Spaltendekodierschaltkreis und einen Leseverstärker auf.
-
US 5 325 325 A beschreibt Halbleiter-Speichervorrichtungen, beispielsweise einen SRAM und einen DRAM. Jede Speicherzelle des SRAM weist einen ersten und einen zweiten Speicherknoten auf, welche auf komplementären Potentialen gehalten werden. Ferner weist der SRAM zwei Inverter auf, welcher zwischen dem ersten und dem zweiten Speicherknoten angeordnet sind. Bei DRAM weist dagegen jede Speicherzelle einen einzelnen Speicherknoten sowie eine Kapazität zwischen den Speicherknoten und einer Quelle für ein geringes Potential auf.
-
Es wird von einer Anordnung ausgegangen, wie sie in 1 dargestellt ist, ein Ausschnitt mit vier Speicherelementen SE aus dem Zellenfeld eines SRAMs. Für jedes Bit wird ein Speicherelement SE benötigt, das aus zwei rückgekoppelten Invertern I besteht. Die Speicherelemente SE sind je mit einer horizontal verlaufenden Wortleitung WL und zwei vertikal verlaufenden Bitleitungen BL1 und BL2 verbunden. Durch Anlegen eines Wortleitungspotenzials VWL an eine der Wortleitungen WL kann eine Zeile von Speicherelementen SE ausgewählt werden. Die Speicherelemente SE der ausgewählten Zeile werden über Auswahltransistoren T, deren Steuereingänge durch die Wortleitung WL angesteuert werden, mit den entsprechenden Bitleitungen BL1 und BL2 verknüpft. Zum Lesen des Inhaltes eines Speicherelements SE wird ein Leseverstärker an die Bitleitungen BL1 und BL2 angeschlossen, während zum Schreiben die Bitleitungen BL1 und BL2 mit einem Treiber verbunden werden. Durch die Verwendung von komplementären Pegeln an den Bitleitungen BL1 und BL2 kann die Zuverlässigkeit erhöht und die Empfindlichkeit gegenüber Schwankungen der Bauteilgrößen verringert werden. Die Bitleitungen BL1 und BL2 können in einer Vorladeeinheit VE über Vorladetransistoren TV auf ein Vorladepotenzial VP vorgeladen werden. Dazu muss ein Vorladesignal PC mit High-Pegel an den Steuereingängen der Vorladetransistoren TV anliegen. Durch das Vorladen der Bitleitungen BL1 und BL2 lassen sich die Lese- und Schreibvorgänge verkürzen. Bei einem Vorladepotenzial VP = VDD/2, wobei VDD das Versorgungspotenzial ist, tritt beim Umladen auf VDD beziehungsweise GND an jeder Bitleitung BL1 und BL2 nur ein Spannungshub von VDD/2 auf, wodurch die umzuladende Ladungsmenge und damit die erforderliche Zeit reduziert wird.
-
SRAM-Speicher finden auch in den in Chipkarten angeordneten integrierten Schaltkreisen Verwendung. Die in den Chipkarten gespeicherte und im allgemeinen nicht frei zugängliche Information dient zur Autorisierung und Identifikation, zum Beispiel bei einer Kontoführung. Es ist daher nicht verwunderlich, dass Chipkarten Angriffen ausgesetzt sind, mit denen diese Information ausspioniert werden soll. Eine der wichtigsten Angriffsmethoden ist dabei die differenzielle Stromprofilanalyse (Differential Power Analysis, DPA). Bei einer DPA wird der Stromverbrauch einer Chipkarte über einen oder mehrere Takte gemessen, ein Modell aufgestellt und mittels statistischer Methoden versucht, aus der Korrelation von systematischen Datenvariationen und Stromverbrauch Rückschlüsse auf die gespeicherte Information zu ziehen.
-
Da Chipkarten geringe Abmessungen aufweisen, lassen sich gängige Abwehrmaßnamen gegen die DPA, wie zum Beispiel Abschirmung und große Kondensatoren, die die Variationen im Stromverbrauch minimieren, nicht anwenden. Zum Schutz vor einer DPA greift man daher auf die so genannte Dual-Rail Precharged-Schaltungstechnik zurück. Dual-Rail bedeutet, dass jedem Knoten in der Schaltung ein zweiter Knoten zugeordnet wird, der einen zu dem Pegel des ersten Knotens komplementären Pegel aufweist. Signale werden auf beiden Knoten gleichzeitig übertragen und verarbeitet. Dem logischen Wert 0 ordnet man den komplementären Wert 1 zu und erhält das Paar (0, 1), dem Wert 1 ordnet man den komplementären Wert 0 zu und erhält das Paar (1, 0). Sind die Datenpfade für beide Knoten physikalisch gleich ausgeführt, so lässt sich mittels einer DPA nicht mehr erkennen, ob eine 1 oder eine 0 übertragen oder verarbeitet wurde, da in beiden Fällen der komplementäre Wert mit übertragen wurde. Unabhängig von dem Pegel oder Zustand wird so immer genau eine 1 und eine 0 übertragen bzw. verarbeitet.
-
Zum Schutz vor einer DPA darf es auch nicht möglich sein, dass man die vier möglichen Übergänge der Signalzustände 0→0, 0→1, 1→0, 1→1 anhand des Stromverbrauchs unterscheiden kann. Ändert sich ein Zustand nicht, wie zum Beispiel bei den Übergängen 0→0 und 1→1, würde bei einer CMOS-Realisierung kein Strom fließen, wohl aber bei den Übergängen 0→1 und 1→0. Damit alle Übergänge den gleichen Stromverbrauch aufweisen, wird vor jedem Übergang ein so genannter Vorladezustand (engl. precharge) eingefügt. Im Vorladezustand weisen der Knoten und sein zugeordneter Knoten die gleichen Pegel auf. Je nachdem, ob man auf High oder Low vorlädt, entstehen die logisch ungültigen Zwischenzustände (1, 1) oder (0, 0). Bei jedem der vier möglichen Übergänge wird durch das Vorladen nun genau einer der Knoten geladen und der andere entladen. Die Übergänge lassen sich daher nicht mehr anhand ihres Stromverbrauchs unterscheiden und sind somit gegen eine DPA gesichert.
-
Herkömmliche SRAM-Zellen sind designbedingt bei Lesezugriffen bereits in Dual-Rail Precharged-Schaltungstechnik ausgelegt. Der erste Speicherknoten X und der zweite Speicherknoten Y in jedem Speicherelement SE weisen zueinander komplementäre Pegel auf. Unabhängig von dem in dem Speicherelement SE gespeicherten Wert, weist immer einer der Speicherknoten X oder Y einem Low-Pegel und der andere einem High-Pegel auf, was auch dadurch ersichtlich ist, dass die Speicherknoten X und Y jeweils über einen Inverter I miteinander verbunden sind.
-
Auch die erste Bitleitung BL1 und die zweite Bitleitung BL2 weisen zueinander komplementäre Pegel auf, wenn sie nicht gerade durch die Vorladetransistoren TV auf das Vorladepotenzial VP vorgeladen werden. Beim Lesen der Speicherelemente SE werden die erste Bitleitung BL1 und die zweite Bitleitung BL2 durch die Auswahltransistoren T mit dem ersten Speicherknoten X beziehungsweise dem zweiten Speicherknoten Y verbunden. Die zueinander komplementären Pegel an dem ersten Speicherknoten X und dem zweiten Speicherknoten Y werden so an die erste Bitleitung BL1 und die zweite Bitleitung BL2 weitergegeben, sodass auch diese zueinander komplementäre Pegel aufweisen.
-
Zwischen den Lesezugriffen werden die erste Bitleitung BL1 und die zweite Bitleitung BL2 durch die Vorladeeinheit VE auf das Potenzial VP = VDD/2 vorgeladen. Es wird nun angenommen, dass ein High-Pegel dem Versorgungspotenzial VDD entspricht und ein Low-Pegel dem Massepotenzial GND = 0 V entspricht. Wenn der erste Speicherknoten X einen High-Pegel aufweist und der zweite Speicherknoten Y einen Low-Pegel, so wird beim Lesen die erste Bitleitung BL1 von VDD/2 auf VDD aufgeladen, was eine Spannungsänderung von +VDD/2 bedeutet. Gleichzeitig wird die zweite Bitleitung BL2 von VDD/2 auf 0 Volt entladen, was einen Spannungsunterschied von -VDD/2 darstellt. Bei gleicher physikalischer Realisierung der ersten Bitleitung BL1 und der zweiten Bitleitung BL2 fließt zum Laden und Entladen jeweils die gleiche Ladungsmenge, sodass sich insgesamt ein verschwindendes Ladungsintegral ergibt. Weist dagegen der erste Speicherknoten X ein Low-Pegel und der zweite Speicherknoten Y ein High-Pegel auf, so vertauschen sich die Polaritäten der Spannungshübe, das Ladungsintegral ist jedoch wieder Null. Beim Lesen kann man daher nicht feststellen, ob ein High-Pegel oder ein Low-Pegel gespeichert bzw. ausgelesen wird. Die gespeicherte Information lässt sich daher nicht über Stromprofile analysieren, sodass eine herkömmliche SRAM-Zelle beim Lesen bereits gegen eine DPA gesichert ist.
-
Beim Schreiben in eine herkömmliche SRAM-Zelle werden die erste Bitleitung BL1 und die zweite Bitleitung BL2, mit denen das zu lesende Speicherelement SE verbunden ist, ausgewählt und an einen Bitleitungstreiber angeschlossen. Die erste Bitleitung BL1 weist dabei einen zur zweiten Bitleitung BL2 komplementären Pegel auf. Wenn ein Wortleitungspotenzial VWL an die Wortleitung WL angelegt wird, die mit den Steuereingängen der Auswahltransistoren T des zu schreibenden Speicherelements SE verbunden ist, so wird der erste Speicherknoten X mit der ersten Bitleitungsleitung BL1 und der zweite Speicherknoten Y mit der zweiten Bitleitung BL2 verbunden. Der erste Speicherknoten X und der zweite Speicherknoten Y weisen dann ebenfalls zueinander komplementäre Pegel auf.
-
Im Unterschied zum Lesevorgang hängt das Ladungsintegral beim Schreiben von dem im Speicherelement SE gespeicherten Zustand und dem zu schreibenden Zustand ab. Weist der erste Speicherknoten X und der zweite Speicherknoten Y bereits die Potenziale der ersten Bitleitung BL1 und der zweiten Bitleitung BL2 auf, so fließt kein Querstrom durch das Speicherelement SE. Soll jedoch der Pegel der Speicherknoten X und Y durch Anlegen der entsprechenden Pegel an die erste Bitleitung BL1 und die zweite Bitleitung BL2 geändert werden, so fließt durch das gleichzeitige Ändern der Pegel der Speicherknoten X und Y ein Querstrom durch das Speicherelement SE. Der Querstrom ist besonders ausgeprägt, wenn die Inverter I in CMOS-Technik ausgeführt sind. Da abhängig von dem gespeicherten und den zu schreibenden Wert unterschiedliche Ströme fließen, ist es prinzipiell möglich, anhand einer Analyse des Stromprofils einen Zusammenhang über den Speicherinhalt und die zu schreibenden Daten anzugeben.
-
Aufgabe der Erfindung ist es daher, eine Speicheranordnung mit einem Speicherelement anzugeben, das sowohl beim Lesen als auch beim Schreiben gegenüber einer DPA gesichert ist. Aufgrund der stark begrenzten Chipfläche, soll ein derartiges Speicherelement möglichst einfach realisierbar sein.
-
Die Aufgabe wird durch eine Speicheranordnung gemäß Anspruch 1 gelöst. Weitere Ausgestaltungen ergeben sich aus den abhängigen Patentansprüchen. Dabei weist die Speicheranordnung auf: ein Speicherelement mit einem ersten Logikbauelement und einem zweiten Logikbauelement, wobei jedes Logikbauelement einen ersten Eingang, einen zweiten Eingang und einen Ausgang aufweist. Der erste Eingang des ersten Logikbauelementes ist mit dem Ausgang des zweiten Logikbauelementes verbunden und der erste Eingang des zweiten Logikbauelementes ist mit dem Ausgang des ersten Logikbauelementes verbunden. Der zweite Eingang des ersten Logikbauelementes und der zweite Eingang des zweiten Logikbauelementes sind mit einer Steuerleitung verbunden. Das erste Logikbauelement und das zweite Logikbauelement sind derart ausgebildet, dass beim Anlegen eines Steuersignals mit einem ersten Pegel an die Steuerleitung am jeweiligen Ausgang ein jeweiliges Signal ausgeben wird, das einen jeweiligen Ausgangspegel aufweist, der zu dem jeweiligen Pegel des am jeweiligen ersten Eingang anliegenden Signals invertiert ist, und beim Anlegen eines Steuersignals mit einem zweiten Pegel an die Steuerleitung, am jeweiligen Ausgang ein Signal ausgegeben wird, das einen vorbestimmten Pegel aufweist, der von dem Pegel des am jeweiligen ersten Eingang anliegenden Signals unabhängig ist, wobei der erste Eingang des ersten Logikbauelementes und der Ausgang des zweiten Logikbauelements über einen ersten Auswahltransistor mit einer ersten Bitleitung verbunden sind, der erste Eingang des zweiten Logikbauelementes und der Ausgang des ersten Logikbauelementes über einen zweiten Auswahltransistor mit einer zweiten Bitleitung verbunden sind, und der Steuereingang des ersten Auswahltransistors und der Steuereingang des zweiten Auswahltransistors mit einer Wortleitung verbunden sind. Die Speicheranordnung weist ferner auf: eine mit dem Speicherelement gekoppelte Einrichtung zum Steuern einer Schreiboperation des Speicherelementes, wobei die Einrichtung derart eingerichtet ist, dass die Schreiboperation aufweist: Vorladen der Ausgänge des ersten und des zweiten logischen Bauelementes auf den vorbestimmten Pegel durch Anlegen eines Signals mit dem zweiten Pegel an die Steuerleitung, und Speichern von Informationen in dem Speicherelement durch Anlegen eines Signals mit dem ersten Pegel an die Steuerleitung, und Anlegen eines Signals mit einem Schreibpegel an die erste Bitleitung und Anlegen eines Signals mit einem zu dem Schreibpegel komplementären Pegel an die zweite Bitleitung, wobei der Schreibpegel und der dazu komplementäre Pegel der im Speicherelement zu speichernden Information entsprechen, und Anlegen eines Signals mit einem Wortleitungspotential an die Wortleitung.
-
Vorteilhafterweise entspricht beim Anliegen eines Steuersignals mit einem zweiten Pegel an der Steuerleitung der vorbestimmte Pegel dem ersten Pegel.
-
Vorteilhafterweise ist der erste Pegel komplementär zum zweiten Pegel.
-
Vorteilhafterweise sind das erste Logikbauelement und das zweite Logikbauelement NOR-Gatter.
-
Vorteilhafterweise ist der erste Pegel ein Low-Pegel und der zweite Pegel ein High-Pegel.
-
Vorteilhafterweise sind das erste Logikbauelement und das zweite Logikbauelement NAND-Gatter.
-
Vorteilhafterweise ist der erste Pegel ein High-Pegel und der zweite Pegel ein Low-Pegel.
-
Als Vergleichsbeispiel kann ein Verfahren zum Speichern von Informationen in der oben beschriebenen Speicheranordnung mit dem Speicherelement die Schritte aufweisen: Vorladen des Ausgangs des ersten logischen Bauelementes und des Ausgangs des zweiten logischen Bauelementes auf einen vorbestimmten Pegel, und Speichern von Informationen in dem Speicherelement.
-
Beispielsweise beinhaltet der Schritt des Vorladens der Ausgänge das Anlegen eines Signals mit einem zweiten Pegel an die Steuerleitung.
-
Beispielsweise weist der Schritt des Speicherns von Informationen folgende Schritte auf: Anlegen eines Signals mit einem Schreibpegel an die erste Bitleitung und Anlegen eines Signals mit einem zu dem Schreibpegel komplementären Pegel an die zweite Bitleitung, wobei der Schreibpegel und der dazu komplementäre Pegel der im Speicherelement zu speichernden Information entsprechen, Anlegen eines Signals mit einem ersten Pegel an die Steuerleitung, und Anlegen eines Signals mit einem Wortleitungspotential an die Wortleitung.
-
Beispielsweise ist das Wortleitungspotential so gewählt, dass der erste Eingang des ersten Logikbauelementes und der Ausgang des zweiten Logikbauelementes über den ersten Auswahltransistor mit der ersten Bitleitung verbunden sind und der erste Eingang des zweiten Logikbauelementes und der Ausgang des ersten Logikbauelements über den zweiten Auswahltransistor mit der zweiten Bitleitung verbunden sind.
-
Beispielsweise ist der erste Pegel zum zweiten Pegel komplementär.
-
Beispielsweise erfolgt das Anlegen eines Signals mit einem ersten Pegel an die Steuerleitung und das Anlegen eines Signals mit einem Wortleitungspotential an die Wortleitung gleichzeitig.
-
Beispielsweise ist der erste Pegel ein Low-Pegel und der zweite Pegel ein High-Pegel, falls das erste Logikbauelement und das zweite Logikbauelement NOR-Gatter sind.
-
Beispielsweise ist der erste Pegel ein High-Pegel und der zweite Pegel ein Low-Pegel, falls das erste Logikbauelement und das zweite Logikbauelement NAND-Gatter sind.
-
Die Erfindung wird nachfolgend an Ausführungsbeispielen anhand von Zeichnungen näher erläutert.
-
In den Figuren zeigen:
- 1 einen Ausschnitt aus einem Zellenfeld eines herkömmlichen SRAM,
- 2 ein erstes Ausführungsbeispiel der erfindungsgemäßen Speicheranordnung mit dem Speicherelement mit NOR-Gattern, und
- 3 ein zweites Ausführungsbeispiel der erfindungsgemäßen Speicheranordnung mit dem Speicherelement mit NAND-Gattern.
-
In 2 ist ein erstes Ausführungsbeispiel der erfindungsgemäßen Speicheranordnung gezeigt. Die Speicheranordnung weist ein Speicherelements SE auf. Das erste Logikbauelement L1 und das zweite Logikbauelement L2 sind NOR-Gatter und weisen jeweils einen ersten Eingang E1, einen zweiten Eingang E2 und einen Ausgang A auf. Der erste Eingang E1 des NOR-Gatters L1 ist mit dem Ausgang A des zweiten NOR-Gatters L2 verbunden. Der erste Eingang E1 des zweiten NOR-Gatters L2 ist mit dem Ausgang A des ersten NOR-Gatters L1 verbunden. Die zweiten Eingänge E2 sind mit einer Steuerleitung PS verbunden, an welche Signale mit einem ersten Pegel P1 und einem zweiten Pegel P2 angelegt werden können. Die in dem Speicherelement SE gespeicherte Information wird aus den Pegeln des ersten Speicherknotens X und des zweiten Speicherknotens Y entnommen, die mit dem Ausgang A des zweiten NOR-Gatters L2 beziehungsweise dem Ausgang A des ersten NOR-Gatters L1 verbunden sind. Der erste Speicherknoten X kann über einen ersten Auswahltransistor T1 mit einer ersten Bitleitung BL1 verbunden werden, der zweite Speicherknoten Y kann über einen zweiten Auswahltransistor T2 mit einer zweiten Bitleitung BL2 verbunden werden. Die Steuereingänge G der Auswahltransistoren T1 und T2 sind mit einer Wortleitung WL verbunden, an der ein Signal mit einem Wortleitungspotenzial VWL angelegt werden kann.
-
Abhängig von dem an der Steuerleitung PS anliegenden Pegel, wird das Speicherelement SE entweder in einem Speichermodus oder einem Vorlademodus betrieben. Beim Anlegen eines ersten Pegels P1, der hier zu einem Low-Pegel gewählt ist, an die Steuerleitung PS, verhält sich das Speicherelement SE wie eine herkömmliche SRAM-Zelle. Die zweiten Eingänge E2 der NOR-Gatter L1 und L2 weisen dann Low-Pegel auf, sodass die NOR-Gatter L1 und L2 als Inverter arbeiten. Die Ausgänge A weisen einen zum ersten Eingang E1 komplementären oder invertierten Ausgangspegel P3 auf. Durch die Rückkopplung der Ausgänge A an die ersten Eingänge E1 erhält man die gewünschte Speicherfunktion. Die ersten und zweiten Speicherknoten X und Y weisen aufgrund der Invertierung zueinander komplementäre Pegel auf. In der Dual-Rail-Schreibweise werden also die Paare (1, 0) oder (0, 1) gespeichert.
-
Beim Anlegen eines zweiten Pegels P2, der hier zu einem High-Pegel gewählt ist, an die Steuerleitung PS, werden die ersten und zweiten Speicherknoten X und Y auf einen vorbestimmten Pegel P4 vorgeladen. Die zweiten Eingänge E2 weisen dann einen High-Pegel auf, sodass die Ausgänge A der beiden NOR-Gatter L1 und L2 immer einen vorbestimmten Pegel P4 aufweisen, unabhängig von den an den ersten Eingängen E1 anliegenden Pegeln. Es findet also eine Entkopplung der Ausgänge A von den dazugehörigen ersten Eingängen E1 in den NOR-Gattern L1 und L2 statt, sodass die ersten und zweiten Speicherknoten X und Y auf den gleichen vorbestimmten Pegel P4 vorgeladen werden können. Der vorbestimmte Pegel P4 ist bei einem NOR-Gatter ein Low-Pegel. In Dual-Rail-Schreibweise werden die vorgeladenen ersten und zweiten Speicherknoten X und Y durch das Paar (0, 0) beschrieben.
-
Das Lesen von Informationen aus der in 2 gezeigten Speicheranordnung, welche das Speicherelement SE aufweist, erfolgt im Wesentlichen wie im Stand der Technik, wobei jedoch an der Steuerleitung PS der erste Pegel P1, das heißt ein Low-Pegel anliegen muss, sodass hier auf eine Wiederholung der Beschreibung verzichtet wird.
-
Das Schreiben von Informationen in das Speicherelement SE erfolgt in zwei Schritten. In einem ersten Schritt werden die ersten und zweiten Speicherknoten X und Y auf einen vorbestimmten Pegel P4 vorgeladen. Dazu wird ein zweiter Pegel P2, welcher ein High-Pegel ist, an die Steuerleitung PS angelegt. Die ersten und zweiten Speicherknoten X und Y weisen darauf einen vorbestimmten Pegel P4 auf, der bei NOR-Gattern ein Low-Pegel ist, sodass der Zustand (0, 0) in dem Speicherelement SE gespeichert ist.
-
Der zweite Schritt des Schreibvorgangs besteht darin, den an der erste Bitleitung BL1 anliegenden Schreibpegel an den ersten Speicherknoten X und den an der zweiten Bitleitung BL2 anliegenden Schreibpegel an den zweiten Speicherknoten Y weiterzugeben. Soll zum Beispiel in dem ersten Speicherknoten X ein Low-Pegel gespeichert werden, so ist an die erste Bitleitung BL1 ein Low-Pegel anzulegen und an die zweite Bitleitung BL2 komplementär dazu ein High-Pegel. Anschließend wird ein erster Pegel P1, der einem Low-Pegel entspricht an die Steuerleitung PS angelegt und ein Wortleitungspotenzial VWL an die Wortleitung WL angelegt. Durch den Low-Pegel an der Steuerleitung PS wird das Speicherelement SE in den Speichermodus geschaltet. Durch das Anlegen, welches gleichzeitig dazu geschehen kann, eines Wortleitungspotenzials VWL mit einem High-Pegel leiten die ersten und zweiten Auswahltransistoren T1 und T2, sodass der erste Speicherknoten X mit der ersten Bitleitung BL1 und der zweite Speicherknoten Y mit der zweiten Bitleitung BL2 verbunden werden. Die zueinander komplementären Pegel an der ersten Bitleitung BL1 und an der zweiten Bitleitung BL2 werden somit an den ersten und zweiten Speicherknoten X und Y übertragen, sodass das Speicherelement SE in Dual-Rail Schreibweise entweder den Zustand (1, 0) oder (0, 1) aufweist.
-
Durch das Vorladen der Speicherknoten X und Y lässt sich nicht mehr unterscheiden, ob der zu speichernde Zustand dem gespeicherten Zustand entspricht, oder, ob der zu speichernde Zustand sich von dem bereits im Speicherelement SE gespeicherten Zustand unterscheidet. In beiden Fällen werden nämlich zuerst beide Speicherknoten X und Y mit einem Low-Pegel vorgeladen und beim anschließenden Schreiben wird unabhängig von dem zu speichernden Zustand immer genau einer der beiden Speicherknoten X oder Y auf einen High-Pegel geladen. Die zugehörigen Übergänge in Dual-Rail Schreibweise sind (0, 0)→(0, 1) oder (0, 0)→(1, 0).
-
Um anschließend von einem gespeicherten Zustand in den Vorladezustand zu kommen, muss unabhängig von dem gespeicherten Zustand immer genau einer der Speicherknoten X oder Y auf ein Low-Pegel entladen werden. Die zugehörigen Übergänge in Dual-Rail Schreibweise sind (0, 1)→(0, 0) oder (1, 0)→(0, 0). Aufgrund der Symmetrie der Schaltung fließt daher unabhängig von dem gespeicherten Zustand und unabhängig von dem zu speichernden Zustand immer der gleiche Strom, sowohl beim Vorladen als auch beim Schreiben. Die in 2 gezeigte SRAM-Zelle ist somit auch beim Schreiben gegen eine DPA gesichert.
-
In 3 ist ein Ausführungsbeispiel der Speicheranordnung , welche das Speicherelements SE aufweist, gezeigt, bei dem die ersten und zweiten Logikbauelemente L1 und L2 als NAND-Gatter realisiert sind. Die Beschreibung des Aufbaus der Funktion und des Schreibvorgangs entspricht im Wesentlichen der in 2 beschriebenen Anordnung, mit den im folgenden beschriebenen Unterschieden.
-
Im Speichermodus wird ein erster Pegel P1 an die Steuerleitung PS gelegt, der ein High-Pegel ist. Die zweiten Eingänge E2 der NAND-Gatter L1 und L2 weisen somit High-Pegel auf, sodass die beiden NAND-Gatter L1 und L2 als Inverter bezüglich der ersten Eingänge E1 arbeiten. In diesem Betriebsmodus arbeitet das Speicherelement SE wie ein herkömmliches Speicherelement.
-
In dem Vorlademodus wird ein zweiter Pegel P2 an die Steuerleitung PS angelegt, der einem Low-Pegel entspricht. Die zweiten Eingänge E2 der NAND-Gatter L1 und L2 weisen dann einen Low-Pegel auf, sodass die Ausgänge A der beiden NAND-Gatter L1 und L2 einen vorbestimmten Pegel P4 aufweisen, der einem High-Pegel entspricht. Unabhängig von dem Pegel an den ersten Eingängen E1 weisen die Ausgänge A somit High-Pegel auf. Die ersten und zweiten Speicherknoten X und Y werden beide dadurch auf einen High-Pegel vorgeladen, was in Dual-Rail Schreibweise durch den Zustand (1, 1) dargestellt wird.
-
Die Beschreibung des Leseverfahrens und des Schreibverfahrens der in 3 gezeigten Anordnung entspricht der in 2 beschriebenen Anordnung, wobei jedoch der erste Pegel P1 ein High-Pegel ist und der zweite Pegel P2 ein Low-Pegel ist und auf einen High-Pegel vorgeladen wird. Die Übergänge erfolgen von (1, 1)→(0,1) oder von (1, 1)→(1, 0). Beim Vorladen der Speicherknoten X und Y wird immer genau einer der Speicherknoten X oder Y auf einen High-Pegel aufgeladen, während beim Schreiben immer genau einer der Speicherknoten X oder Y auf einen Low-Pegel entladen wird. Die Übergänge erfolgen von (1, 0)→(1, 1) oder von (0, 1)→(1, 1). Auch die in 3 gezeigte Schaltung ist somit beim Schreiben gegen eine DPA gesichert.
-
Die Realisierung der Logikbauelemente durch NAND oder NOR-Gatter ist besonders einfach. Das erste Logikbauelement L1 und das zweite Logikbauelement L2 können jedoch auch mit anderen Bauelementen als den gezeigten NOR- und NAND-Gatter realisiert sein. Es ist denkbar, dass sie zum Beispiel bei einem Low-Pegel an der Steuerleitung PS im Speichermodus sind und bei einem High-Pegel an der Steuerleitung PS in einem Vorlademodus, ähnlich wie bei der in 2 gezeigten Realisierung mit NOR-Gattern, wobei jedoch die Speicherknoten X und Y nicht auf (0, 0) sondern auf (1, 1) vorgeladen werden. Ebenso ist denkbar, dass bei einem High-Pegel an der Steuerleitung PS das Speicherelement SE in einem Speichermodus arbeitet, und beim Anlegen eines Low-Pegels an die Steuerleitung PS in einem Vorlademodus, ähnlich wie bei der in 3 gezeigten Realisierung mit NAND-Gattern, wobei jedoch nicht auf (1, 1) sondern auf (0, 0) vorgeladen wird.
-
Die Vorladeeinheit VE aus 1 ist in den 2 und 3 nicht gezeigt. Ein Fachmann würde sie jedoch genauso verwenden, um wie in 1 einen Dual-Rail Precharged-Lesebetrieb zu ermöglichen.
-
Der Stromverbrauch beim Schreiben des Speicherelementes SE könnte im Vergleich zu einer Standard SRAM-Zelle vermindert sein, da beim Ändern des logischen Zustandes aufgrund des Vorladens nicht gegen beide rückgekoppelte Inverter getrieben werden muss.
-
Mit dem Vorladen der Speicherknoten X und Y ist außerdem ein sofortiges Löschen der in dem Speicherelement SE gespeicherten Informationen möglich, ohne dass eine Auswahl des Speicherelements SE durch die Bitleitungen BL1 und BL2 und durch die Wortleitung WL erforderlich ist. Da somit ohne Adressierung eine große Anzahl von Speicherelementen SE durch Anlegen des geeigneten Pegels an die Betriebsartleitung PS parallel gelöscht werden können, lässt sich ein Speicher, der mit den erfindungsgemäßen Speicherelementen SE aufgebaut ist, als Reaktion auf einen detektierten Angriff rasch löschen und so das Ausspähen von vertraulichen Informationen verhindern.