-
Um
Informationen bezüglich der Funktionalität einer
integrierten Schaltung (IC – integrated circuit) zu erhalten
oder um Daten oder Signale an einer integrierten Schaltung zu ändern
oder auszulesen, können integrierte Schaltungen das Ziel
eines Manipulationsversuchs oder eines äußeren
Angriffs sein. Ein derartiger Angriff auf eine integrierte Schaltung kann
beispielsweise anhand von ionisierender Strahlung oder anhand der
Nutzung von Schwankungen einer Versorgungsspannung der integrierten
Schaltung durchgeführt werden. Ein Manipulationsangriff kann
auch durchgeführt werden, indem ein Signal geprüft
wird oder indem ein Signalzustand auf die integrierte Schaltung
eingeprägt wird. Eine derartige Manipulation oder ein derartiger
Angriff kann beispielsweise für sicherheitsrelevante integrierte
Schaltungen, z. B. für Smartcards usw., besonders schwerwiegend
sein. Allgemein können alle Arten von integrierten Schaltungen
das Ziel eines Angriffs oder Manipulationsversuchs sein. Eine integrierte
Schaltung kann durch unterschiedliche Mittel vor einer derartigen
unerwünschten Manipulation, einem Analyseversuch oder allgemein
einer Störung bzw. eines Fehlers geschützt werden.
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, Speicherschaltungen,
eine Speichervorrichtung sowie ein Verfahren zum Betreiben einer Speicherschaltung
mit verbesserten Charakteristika zu liefern.
-
Die
Aufgabe wird durch die Merkmale der unabhängigen Ansprüche
gelöst. Weiterbildungen finden sich in den abhängigen
Ansprüchen.
-
Manche
Ausführungsbeispiele beziehen sich auf eine Speicherschaltung
mit Störungserfassung. Die Speicherschaltung kann eine
Doppelfunktion erfüllen, indem sie Daten speichert und
eine Störung erfasst, beispielsweise auf einen Fehler,
einen Manipulationsversuch oder einen Angriff auf die Speicherschaltung
hin. Manche Ausführungsbeispiele beziehen sich auf ein
Verfahren zum Betreiben der Speicherschaltung mit Störungserfassung.
-
Bevorzugte
Ausführungsbeispiele der vorliegenden Erfindung werden
nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen näher
erläutert. Es zeigen:
-
1a eine
schematische Darstellung einer Speicherschaltung mit Störungserfassung
gemäß manchen Ausführungsbeispielen;
-
1b eine
schematische Darstellung einer Speicherschaltung mit Störungserfassung
gemäß einem anderen Ausführungsbeispiel;
-
2 eine
Störungserfassungsschaltung für eine Speicherschaltung
mit Störungserfassung gemäß einem Ausführungsbeispiel;
-
3 eine
Speicherschaltung mit Störungserfassung, die eine erste
Störungserfassungsschaltung und eine zweite Störungserfassungsschaltung aufweist,
gemäß einem anderen Ausführungsbeispiel;
-
4 eine
weitere Speicherschaltung mit Störungserfassung, wobei
die digitale Störungserfassungsschaltung gemäß einem
anderen Ausführungsbeispiel zwei Ausgänge umfasst;
-
5 eine
Speicherschaltung mit Störungserfassung, wobei die Speicherschaltung
gemäß einem anderen Ausführungsbeispiel
UND-Logikgatter umfasst;
-
6 die
schematische Draufsicht auf ein Halbleitersubstrat, das gemäß einem
Ausführungsbeispiel das NORQY-, NORQ- und NORQN-Gatter einer
Speicherschaltung umfasst;
-
7 eine
schematische Master-Latch-Schaltung, die gemäß einem
anderen Ausführungsbeispiel mit einem Slawe-Latch (Slawe-Zwischenspeicher)
in Reihe gekoppelt ist;
-
8 eine
Speichervorrichtung mit einer Mehrzahl von Speicherschaltungen mit
Störungserfassung gemäß einem Ausführungsbeispiel;
und
-
9 ein
Flussdiagramm des Verfahrens zum Betreiben einer Speicherschaltung
mit Störungserfassung.
-
1 veranschaulicht eine schematische Speicherschaltung
mit Störungserfassung gemäß einem Ausführungsbeispiel.
Die Speicherschaltung 100 mit Störungserfassung
umfasst einen Dateneingang 5 und eine erste 15 und
eine zweite 20 Störungserfassungsschaltung, von
denen jede einen ersten stabilen Zustand und einen zweiten stabilen Zustand
umfasst, wobei sowohl die erste 15 als auch die zweite 20 Störungserfassungsschaltung
derart konfiguriert ist, dass sich eine Störungssignalstärke, die
notwendig ist, um ein Umschalten von dem ersten stabilen Zustand
in den zweiten stabilen Zustand zu bewirken, von einer Störungssignalstärke,
die notwendig ist, um ein Umschalten von dem zweiten stabilen Zustand
in den ersten stabilen Zustand zu bewirken, unterscheidet. Ferner
umfasst die Speicherschaltung 100 eine Schaltungsanordnung 10,
die dahin gehend konfiguriert ist, zu bewirken, dass die erste Störungserfassungsschaltung 15 den
ersten stabilen Zustand annimmt und die zweite Störungserfassungsschaltung 20 den
zweiten stabilen Zustand annimmt, um ein an den Dateneingang angelegtes
Datensignal zu speichern. An einem ersten Ausgang 18, der
den Zustand der ersten Störungserfassungsschaltung 15 anzeigt,
und an einem zweiten Ausgang 23, der den Zustand der zweiten
Störungserfassungsschaltung 20 anzeigt, wird eine
Störung angezeigt, wenn eine ungültige Kombination
von Signalzuständen an dem ersten 18 und dem zweiten 23 Ausgang
auftritt.
-
Gemäß manchen
Ausführungsbeispielen kann entweder die erste 15 oder
die zweite 20 Störungserfassungsschaltung auf
den ersten stabilen Zustand gesetzt werden, und die andere Störungserfassungsschaltung
kann auf den zweiten stabilen Zustand gesetzt werden, indem Daten,
die zu speichern sind, an den Dateneingang angelegt werden. Damit können
Informationsdaten oder ein Informationsbit in den Störungserfassungsschaltungen
gespeichert werden, und während eines regulären
Betriebs der Speicherschaltung kann an dem ersten und dem zweiten
Ausgang eine gültige Kombination von Zuständen
auftreten. Ein Signalzustand an dem ersten oder dem zweiten Ausgang
kann dann den gespeicherten Daten entsprechen. Gleichzeitig befindet sich
eine der zwei Störungserfassungsschaltungen dadurch in
dem empfindlicheren ersten oder zweiten stabilen Zustand, und somit
kann eine Störung, beispielsweise auf einen Angriff hin,
erfasst werden. Das heißt, dass die Speicherschaltung mit
Störungserfassung einerseits Daten speichern und andererseits Störungen
erfassen kann. Eine Kombination von gültigen Signalzuständen
an dem ersten und dem zweiten Ausgang kann beispielsweise eine Niedrigpegel-„0” und
eine Hochpegel-„1” – auch als (0,1) bezeichnet – sein.
Da sich eine Störungssignalstärke, die notwendig
ist, um ein Umschalten von dem ersten stabilen Zustand in den zweiten
stabilen Zustand zu bewirken, von einer Störungssignalstärke,
die notwendig ist, um ein Umschalten von dem zweiten stabilen Zustand
in den ersten stabilen Zustand zu bewirken, unterscheidet, kann
eine Störung auf einen Fehler, einen Angriff oder einen
Manipulationsversuch hin erfasst werden. Im Fall einer Störung
kann der empfindlichere erste oder zweite stabile Zustand an einer
der zwei Störungserfassungsschaltungen in den weniger empfindlichen
stabilen Zustand geschaltet werden, und somit kann an dem ersten 18 und dem
zweiten 23 Ausgang eine ungültige Kombination von
Signalzuständen auftreten. Eine derartige ungültige
Kombination von Zuständen kann beispielsweise (0,0) oder
(1,1) sein. Das bedeutet, dass die zwei Störungserfassungsschaltungen
gewährleisten können, dass zumindest eine der zwei
Störungserfassungsschaltungen während des regulären
Betriebs in dem empfindlicheren stabilen Zustand ist. In diesem Zusammenhang
kann „empfindlicher” bedeuten, dass eine Störung
oder Beeinträchtigung, die notwendig ist, um zu bewirken,
dass eine Störungserfassungsschaltung von einem ersten
Zustand in einen zweiten Zustand umschaltet, geringer ist als eine
Störung oder Beeinträchtigung, die notwendig ist,
um zu bewirken, dass eine Störungserfassungsschaltung von
einem zweiten Zustand in einen ersten Zustand umschaltet.
-
Gemäß weiteren
Ausführungsbeispielen kann „empfindlicher” auch
bedeuten, dass ein Wechsel von dem empfindlicheren ersten Zustand
zu dem weniger empfindlichen zweiten Zustand auf eine Störung
hin schneller erfolgt als ein Wechsel von dem zweiten Zustand zu
dem ersten Zustand. Dies bedeutet, dass die Störungserfassungsschaltung
in dem empfindlicheren ersten Zustand auf eine Störung,
die durch einen Angriff, einen Fehler oder eine Manipulation verursacht
wird, schneller in den weniger empfindlichen zweiten Zustand umschaltet
als umgekehrt. Die Speicherschaltung mit Störungserfassung kann
eine Doppelfunktion aufweisen. Erstens können Daten in
die Speicherschaltung 100 hineingespeichert werden, und
zweitens kann eine Störung, eine Manipulation gespeicherter
Daten oder ein Fehler der Speicherschaltung erkannt oder erfasst
werden. Gemäß Ausführungsbeispielen können
Speicherdaten oder Informationen in die Speicherschaltung 100 geschrieben
und auch aus der Speicherschaltung 100 ausgelesen werden.
Die Speicherschaltung kann dahin gehend konfiguriert sein, Daten
zu empfangen, die in die Speicherschaltung hineingespeichert werden
können. Ein Fehlerangriff auf die gespeicherten Daten oder
Informationen kann erkannt, ein Alarmsignal kann ausgelöst
und ein Alarmausgangssignal zur weiteren Verwendung kann bereitgestellt
werden.
-
In 1b umfasst
eine Speicherschaltung 100 mit Störungserfassung
einen Dateneingang 5 und einen Freigabeeingang 12.
Außerdem eine erste Störungserfassungsschaltung 15 und
eine zweite Störungserfassungsschaltung 20. Die
erste Störungserfassungsschaltung 15 kann einen
Rücksetzeingang 16, einen Setzeingang 17 und
zumindest einen ersten Ausgang ZN' bzw. 19 aufweisen. Die zweite
Störungserfassungsschaltung 20 kann einen zweiten
Rücksetzeingang 21, einen zweiten Setzeingang 22 und
zumindest einen zweiten Ausgang ZN'' bzw. 24 aufweisen.
Die Schaltungsanordnung 10 der Speicherschaltung 100 kann
eine erste Logikschaltung 11a und eine zweite Logikschaltung 11b umfassen.
Die erste Logikschaltung 11a weist einen mit dem Dateneingang 5 gekoppelten
Eingang 31a und einen mit dem Freigabeeingang 12 gekoppelten zweiten
Eingang 32a auf. Der Ausgang 33a der ersten Logikschaltung 11a ist
mit dem Rücksetzeingang 16 der ersten Störungserfassungsschaltung 15 gekoppelt. Überdies
umfasst die zweite Logikschaltung 11b einen mit dem Dateneingang 5 gekoppelten
Eingang 36a und einen zweiten Eingang 37a, der
mit dem Freigabeeingang 12 gekoppelt ist. Der Ausgang 38a der
zweiten Logikschaltung 11b ist mit dem Rücksetzeingang 21 der
zweiten Störungserfassungsschaltung 20 gekoppelt.
Wie in 1b gezeigt ist, ist der erste
Ausgang 19 der ersten Störungserfassungsschaltung 15 mit
dem Setzeingang 22 der zweiten Störungserfassungsschaltung 20 gekoppelt. Die
erste Störungserfassungsschaltung 15 und die zweite
Störungserfassungsschaltung 20 können
miteinander kreuzgekoppelt sein. Außerdem ist der zweite
Ausgang 24 der zweiten Störungserfassungsschaltung 20 mit
dem Setzeingang 17 der ersten Störungserfassungsschaltung 15 gekoppelt.
Eine erste Kombination von Signalzuständen an dem ersten und
dem zweiten Ausgang zeigt Speicherdaten an, die in die Speicherschaltung 100 hineingespeichert sind,
und eine zweite Kombination von Signalzuständen des ersten
und des zweiten Ausgangs zeigt eine Störung oder Manipulation
der Speicherschaltung an.
-
Bei
manchen Ausführungsbeispielen werden als Störungsdetektoren
Digitalschaltungen verwendet. Diese Digitalschaltungen können
einerseits empfindlich gegenüber beispielsweise dem Effekt von
ionisierender Strahlung oder gegenüber Schwankungen einer
Versorgungsspannung, z. B. Schwankungen der Versorgungsspannungen VDD-VSS
einer integrierten Schaltung, sein. VDD kann eine höhere
Versorgungsspannung sein, die dem Logikzustand oder Pegel „1” entspricht,
und VSS kann eine geringere Versorgungsspannung sein, die dem Logikpegel
oder Zustand „0” entspricht. Andererseits kann
die Detektorschaltung, beispielsweise die erste Störungserfassungsschaltung 15 und die
zweite Störungserfassungsschaltung 20, ähnlich Schaltungen
der empfindlichsten möglichen Angriffsziele sein. Dies
bedeutet, dass die digitalen Angriffsdetektorschaltungszellen regulären
Digitalschaltungen, die gegenüber einer Störung
oder einem Angriff am empfindlichsten sein können, so ähnlich
wie möglich sein können. Die Störungserfassungsschaltung wird
hierin manchmal als Störungsangriffserfassungszelle bzw.
Fehlerangriffserfassungszelle (FAD-Zelle, FAD = fault attack detection)
bezeichnet.
-
Eine
Störung, die auf einer Manipulation, einem Fehler oder
einem Angriff der bzw. auf die Speicherschaltung beruht, kann zu
einer Ausgabe an dem ersten Ausgang 19 und an dem zweiten
Ausgang 24 führen, die eine Störung anzeigen.
Dies bedeutet, dass ein Angriff oder eine Manipulation oder ein
Fehler auf eine(s) oder an einer bzw. einem der Vorrichtungen oder
Elemente, die die Speicherschaltung 100 bilden, oder auf
gespeicherte oder an gespeicherten Daten zu einem Hinweis auf ein
derartiges unerwünschtes Ereignis führen kann.
-
Gemäß manchen
Ausführungsbeispielen können Speicherdaten, die
an den Dateneingang 5 der Speicherschaltung 100 angelegt
werden, in die Speicherschaltung geschrieben werden, falls ein Freigabesignal
an den Freigabeeingang 12 angelegt wird. Die in die Speicherschaltung 100 geschriebenen
Speicherdaten können dann bewahrt oder gespeichert werden,
wenn das Freigabesignal an dem Freigabeeingang wieder aufgenommen
wird oder ein Sperrsignal an den Freigabeeingang 12 angelegt wird.
Dies bedeutet, dass die Schaltungsanordnung 10 dahin gehend
konfiguriert sein kann, eine Speicherung eines an den Dateneingang
angelegten Datensignals zu erlauben, falls an den Freigabeeingang ein
Freigabesignal angelegt wird, und eine Speicherung des an den Dateneingang
angelegten Datensignals zu verhindern, wenn das Freigabesignal nicht
an den Freigabeeingang angelegt wird. Die Speicherdaten werden in
den Störungserfassungsschaltungen 15, 20 gespeichert.
Die Störungserfassungsschaltungen können als Flipflop,
das ein bistabiles Latch umfasst, arbeiten. Die gespeicherten Daten
können entweder an dem ersten Ausgang 19 oder
an dem zweiten Ausgang 24 bereitgestellt werden. An dem
anderen Ausgang können die entgegengesetzten Daten erscheinen.
Beispielsweise kann an der Speicherschaltung 100 ein „hoher
Zustand” oder eine „1” gespeichert sein,
dann werden beispielsweise eine „1” an dem ersten
Ausgang 19 und der entgegengesetzte „niedrige
Zustand” oder „0” an dem zweiten Ausgang 24 bereitgestellt.
Dies kann eine erste Kombination von Zustanden an dem ersten und
dem zweiten Ausgang sein, die gespeicherte Daten anzeigt. Auf einen
Angriff, eine Manipulation oder einen Fehler hin kann eine zweite
Kombination von Zustanden an dem ersten und dem zweiten Ausgang
dazu führen, dass eine Störung angezeigt wird.
Eine derartige zweite Kombination kann beispielsweise eine „1” an dem
ersten Ausgang und eine „1” an dem zweiten Ausgang
oder eine „0” an dem ersten Ausgang und eine „0” an
dem zweiten Ausgang sein. Im Fall einer Störung weisen
der erste und der zweite Ausgang bei diesem Ausführungsbeispiel
keine entgegengesetzten Logikzustände auf.
-
In 2 wird
gemäß einem weiteren Ausführungsbeispiel
eine Störungserfassungsschaltung gezeigt. Die erste 15 und
die zweite 20 Störungserfassungsschaltung, die
in 1b gezeigt sind, könnten beispielsweise
die in 2 gezeigte Schaltung sein.
-
Die
Störungserfassungsschaltung 15, 20 kann
eine Flipflop-Schaltung sein, die einen ersten stabilen Zustand
und einen zweiten stabilen Zustand aufweist, wobei sowohl die erste 15 als
auch die zweite 20 Störungserfassungsschaltung
dahin gehend konfiguriert sind, dass sich eine Störungssignalstärke,
die notwendig ist, um ein Umschalten von dem ersten stabilen Zustand
in den zweiten stabilen Zustand zu bewirken, von einer Störungssignal stärke,
die notwendig ist, um ein Umschalten von dem zweiten stabilen Zustand
in den ersten stabilen Zustand zu bewirken, unterscheidet.
-
Die
Störungserfassungsschaltung kann einen Latch, beispielsweise
einen Rücksetz-Setz-Latch (Reset-Set-Latch), umfassen,
bei dem erste Eingang 21, 16 ein Rücksetzeingang
zum Rücksetzen des Rücksetz-Setz-Latch sein kann.
Der zweite Eingang 22, 17 der Störungserfassungsschaltung
kann ein Setzeingang zum Setzen eines ersten oder eines zweiten
stabilen Zustands des Latch sein. Die erste und die zweite Störungserfassungsschaltung 15, 20 können
ferner zumindest einen ersten Ausgang 19 und einen zweiten
Ausgang 24 umfassen, die als erster Ausgangsknoten für
den ersten oder den zweiten stabilen Zustand des Latch konfiguriert
sind. Das (Reset-Set-)Latch kann ein asynchrones Latch sein, wobei
eine Änderung von Daten an dem Dateneingang augenblicklich
eine Änderung des ersten und des zweiten stabilen Zustands
an dem Ausgang bewirkt.
-
Die
Störungserfassungsschaltung 15, 20 kann
als modifiziertes sogenanntes Rücksetz-Latch (RS-Latch,
reset latch) interpretiert werden, das als bistabile Speicherschaltung
fungieren kann, wobei die Speicher- bzw. Latch-Knoten mit Z und
ZN bezeichnet sind. Ferner sollte man beachten, dass in den folgenden
Beschreibungen p-Kanal-Transistoren und n-Kanal-Transistoren mit
TPX bzw. TNX bezeichnet sind, X = 1, 2, ... .
-
Gemäß manchen
Ausführungsbeispielen kann die Störungserfassungsschaltung
empfindlich gegenüber zumindest entweder der Auswirkungen von
ionisierender Strahlung und/oder Schwankungen einer Versorgungsspannung
sein. Allgemein kann die Störungserfassungsschaltung empfindlich
gegenüber einer Störung oder Beeinträchtigung
sein. Eine derartige Störung oder Beeinträchtigung
kann aufgrund eines Manipulationsversuchs, eines Fehlers oder eines äußeren
Angriffs auftreten. Ein derartiger Angriff kann beispielsweise das
Aufprägen von Daten oder das Prüfen eines Signals
oder von Daten umfassen. Gemäß anderen Ausführungsbeispielen kann
die Störungserfassungsschaltung eine ungleiche oder asymmetrische
Empfindlichkeit umfassen, deshalb kann die Störungserfassungsschaltung
im Fall eines Angriffs, z. B. die Auswirkung einer ionisierenden
Strahlung oder von Schwankungen einer Versorgungsspannung, empfindlicher
dahin gehend sein, von einem ersten stabilen Zustand in einen zweiten
stabilen Zustand umzuschalten, als von dem zweiten stabilen Zustand
in den ersten stabilen Zustand umzuschalten. Mit anderen Worten
ist die Störungserfassungsschaltung so gebildet, dass eine Störung
eine bevorzugte Kombination von Zuständen an ihren Ausgängen
verursachen kann, wodurch eine Störung angezeigt wird.
-
Im
Folgenden wird die Funktion der digitalen Störungserfassungsschaltung 15, 20 erläutert.
Die Versorgungsspannung VDD kann als „hoher Zustand” oder „1” angesehen
werden, und die Versorgungsspannung VSS kann als „niedriger
Zustand” oder „0” angesehen werden.
-
In 2 kann
das Setzen von Z auf VDD und das gleichzeitige Rücksetzen
von ZN auf VSS durch einen aktiven, d. h. hohen Zustand bzw. VDD
am Setzeingang T erzielt werden, wenn gleichzeitig R inaktiv, d.
h. gleich VSS ist. ZN ist dann über den leitenden Transistor
TN1 mit R = VSS verbunden. Folglich ist Z über die leitenden
Transistoren TP2 und TP3 mit VDD gekoppelt. Wird nun T wieder deaktiviert,
d. h. auf VSS gesetzt, ohne dass R aktiviert wird, d. h. R bleibt
auf VSS, so bleibt der Zustand Z = VDD, ZN = VSS erhalten, da über
die leitenden Transistoren TP2, TP3 und TN2 eine wechselseitige
Rückkopplung zwischen Z und ZN besteht. Ein Rücksetzen
von Z auf VSS und ein gleichzeitiges Setzen von ZN auf VDD wird
erzielt, indem eine Hochpegel-VDD an den Rücksetzeingang
R angelegt wird, so dass Z über TN3 mit VSS oder Masse
gekoppelt wird. Folglich wird der Knoten ZN über den leitenden
Transistor TP1 mit VSS gekoppelt. Der Pegel von T an dem Setzeingang
kann unerheblich sein. Wird nun R wieder deaktiviert, d. h. auf
VSS gesetzt, ohne dass T aktiviert wird, d. h. T liegt auf VSS,
dann bleibt der Zustand Z = VSS, ZN = VDD erhalten, da über
die leitenden Transistoren TP1 und TN4 eine wechselseitige Rückkopplung
zwischen Z und ZN besteht.
-
Der
Zustand Z = 0, ZN = 1, der durch diesen Rücksetzvorgang
erzielt wird, ist nun der Zustand oder die Kombination von Zuständen,
der bzw. die besonders empfindlich gegenüber Angriffen
ist bzw. sind, die beispielsweise ionisierende Strahlung oder starke
Schwankungen von VDD-VSS ausnutzen. Derartige Angriffe können
einen Zustandswechsel auf Z = VDD, ZN = VSS bewirken, auch wenn
die „Intensität” der jeweiligen Angriffe
noch nicht ausreicht, um bei sehr empfindlichen Angriffszielen,
z. B. Zellen eines statischen Direktzugriffsspeichers (SRAM-Zellen,
SRAM = static random access memory), Zustandsänderungen
zu bewirken. Diese erhöhte Empfindlichkeit der Störungserfassungsschaltung
kann anhand einer unsymmetrischen Dimensionierung von Kanalweiten
und Kanallängen sowie der „Drain-Gebiete” einiger
Transistoren innerhalb der Störungserfassungsschaltung
oder der digitalen Detektorzelle erzielt werden. Große
Kanallängen und/oder geringe Kanalweiten der Transistoren
TP1, TN3, TN4 und geringe Kanallängen und/oder große Kanalweiten
der Transistoren TP2, TP3, TN1, TN2 sowie vergrößerte „Drain-Gebiete” von
TP3, TN1 und TN2 bedeuten zum einen eine deutliche Erhöhung negativer
Ladungsüberträge auf ZN durch ionisierende Strahlung
auf TN1, TN2 im Vergleich zu denjenigen auf Z durch ionisierende
Strahlung auf TN3 und TN4. Analoges gilt umgekehrt für
eine deutliche Erhöhung positiver Ladungsüberträge
auf Z durch ionisierende Strahlung auf TP3 im Vergleich zu denjenigen
auf ZN durch ionisierende Strahlung auf TP1. Die „Kippen” des
Zustands oder der Kombination von Zuständen Z = VSS, ZN
= VDD nach Z = VDD, ZN = VSS wird weiter begünstigt durch
die durch die „schiefe Dimensionierung” bewirkten
Erhöhungen der Stromergiebigkeit von TP2, TP3, TN1 und
die Verringerungen der Stromergiebigkeit von TP1, TN3, TN4. Dies
kann auch dazu führen, dass die Störungserfassungsschaltung
einen Vorzugszustand oder eine bevorzugte Kombination von Zustanden
aufweist. Wenn also der Pegel der Versorgungsspannung eingeschaltet
wird und von VSS aus auf den jeweiligen Versorgungsspannungsnominalwert
VDD erhöht wird, bei dem die Schaltungen der integrierten Schaltung
betrieben werden, stellt sich immer der Zustand Z = VDD, ZN = VSS,
also der „Alarmzustand”, ein. Diese Eigenschaft
bedeutet, dass die Störungserfassungsschaltung eine deutlich
erhöhte Empfindlichkeit gegenüber sogenannten
Spike-Angriffen (Spannungsspitzen-Angriffen) mittels starker Schwankungen
von VDD-VSS im Vergleich zu symmetrisch dimensionierten „Angriffszielen” wie
z. B. SRAM-Zellen aufweisen kann.
-
Gemäß manchen
Ausführungsbeispielen kann eine Störungserfassungsschaltung
Teilschaltungen mit einer gegenüber den empfindlichsten
Zielen eines Angriffs leicht erhöhten Empfindlichkeit umfassen.
Die empfindlichsten Ziele eines Angriffs können beispielsweise
6-Transistor-SRAM-Zellen oder andere Schaltungen mit einer Speicherfunktionalität sein,
die beispielsweise in einer Statistischer-Komplementär-Metalloxid-Halbleiter-Schaltungstechnologie
(Statischer-CMOS-Schaltungstechnologie) gebildet sein können.
Gemäß manchen Ausführungsbeispielen kann
derselbe physikalische Effekt für die Erfassung eines Angriffs
mit ionisierender Strahlung wie für den Angriff selbst
genutzt werden. Im Fall der ionisierenden Strahlung ist der physikalische
Effekt des Angriffs eine Ladungsträgertrennung oder ein Kurzschluss über
in Sperrrichtung gepolte pn-Übergange, wenn diese ionisierender,
also Elektronen-Loch-Paare erzeugender Strahlung ausgesetzt sind.
Eine derartige Strahlung, die Elektronen-Loch-Paare erzeugt, kann
beispielsweise Photonen oder alpha(α)-Teilchen sein.
-
Dasselbe
gilt für Angriffe durch gezielte Schwankungen der Versorgungsspannung
mit dem Ziel, in einer Speichervorrichtung, z. B. einer SRAM-Zelle
oder einem Register, ein gespeichertes Bit zu löschen oder
ein Bit zu setzen. Ein Setzen eines Bits kann bei starken Schwankungen
im Bereich der Versorgungsspannungen VDD-VSS möglich sein.
Gemäß manchen Ausführungsbeispielen wird für
die Erfassung eines Angriffs derselbe physikalische Effekt genutzt
wie für den Angriff selbst. Dies kann anhand einer digitalen
Störungserfassungsschaltung erfolgen, wie sie beispielsweise
in 2 gezeigt ist. Eine derartige Störungserfassungsschaltung
kann dahin gehend konfiguriert sein, einer Schaltung, die ein mögliches
Angriffsziel ist, so ähnlich wie möglich zu sein.
-
Bei
manchen Ausführungsbeispielen kann die Speicherschaltung 100 eine
erste Störungserfassungsschaltung 15 umfassen,
die als Flipflop konfiguriert ist und einen ersten stabilen Zustand
und einen zweiten stabilen Zustand aufweist, wobei die erste Störungserfassungsschaltung
ein erstes Rücksetz-Setz-Latch mit einem Rücksetzeingang 16 zum Rücksetzen
des ersten Rücksetz-Setz-Latch, mit einem Setzeingang 17 zum
Setzen des ersten Latch und mit dem zumindest ersten Ausgang 19,
der als erster Ausgangsknoten ZN für den ersten oder den zweiten
stabilen Zustand des ersten Latch konfiguriert ist, umfasst. Die
zweite Störungserfassungsschaltung 20 kann ebenfalls
als Flipflop konfiguriert sein und einen ersten stabilen Zustand
und einen zweiten stabilen Zustand umfassen, wobei die zweite Störungserfassungsschaltung
ein zweites Rücksetz-Setz-Latch mit einem zweiten Rücksetzeingang 21 zum
Rücksetzen des zweiten Rücksetz-Setz-Latch, mit
einem zweiten Setzeingang 22 zum Setzen des zweiten Rücksetz-Setz-Latch
und mit einem zweiten Ausgang 24, der als erster Ausgangsknoten
ZN für den ersten und den zweiten Signalzustand des zweiten
Latch konfiguriert ist, umfasst.
-
Die
Schaltungsanordnung 10 (siehe 3) kann
dahin gehend konfiguriert sein, ein Rücksetzsignal an einen
Rücksetzeingang 16 des ersten Rücksetz-Setz-Latch 15 anzulegen
und kein Rücksetzsignal an einen Rücksetzeingang 21 des
zweiten Rücksetz-Setz-Latch 20 anzulegen, falls
ein Datensignal, das einen ersten Signalzustand aufweist, an den
Dateneingang angelegt wird. Überdies kann die Schaltungsanordnung 10 dahin
gehend konfiguriert sein, ein Rücksetzsignal an den Rücksetzeingang 21 des zweiten
Rücksetz-Setz-Latch anzulegen und kein Rücksetzsignal
an den Rücksetzeingang 16 des ersten Rücksetz-Setz-Latch
anzulegen, falls ein Datensignal, das einen zweiten Signalzustand
aufweist, an den Dateneingang angelegt wird. Ein Rücksetzsignal kann
ein Signalzustand oder Signalpegel sein, der eine Rücksetzung
des Rücksetz-Setz-Latch bewirkt. Falls ein Signalzustand
oder Signalpegel keine Rücksetzung des Rücksetz-Setz-Latch
bewirkt, ist es kein Rücksetzsignal.
-
Bei
einem anderen Ausführungsbeispiel kann die Schaltungsanordnung 10 einen
ersten Inverter 50, der einen ersten Ausgang 18 des
ersten Rücksetz-Setz-Latch 15 mit einem zweiten
Setzeingang 22 des zweiten Rücksetz-Setz-Latch 20 koppelt,
und einen zweiten Inverter 55, der einen Ausgang 23 des
zweiten Rücksetz-Setz-Latch mit dem Setzeingang 17 des
ersten Rücksetz-Setz-Latch koppelt, umfassen. Der erste
Inverter 50 und der zweite Inverter 55 sind Bestandteil
der Schaltungsanordnung 10 und gewährleisten eventuell,
dass die zweite Störungserfassungsschaltung einen anderen stabilen
Zustand annimmt als die erste Störungserfassungsschaltung.
Die Inverter 50 und 55 können als Puffer
fungieren, um die Ausgaben aus empfindlichen Knoten der Schaltung
zu entkoppeln. Der erste Ausgang 18 und der zweite Ausgang 23 können
bei manchen Ausführungsbeispielen dem Ausgangsknoten Z
der Störungserfassungsschaltung in 2 entsprechen.
Eine Schaltungsanordnung 10 einer Speicherschaltung mit
Störungserfassung kann einen ersten Inverter 50 umfassen,
der zwischen einen ersten Ausgang 18 einer ersten Störungserfassungsschaltung 15 und
einen Setzeingang 22 einer zweiten Störungserfassungsschaltung 20 gekoppelt
ist. Der erste Ausgang 18 kann dem Knoten Z der in 2 gezeigten
Störungserfassungsschaltung oder einem Knoten Z einer ähnlichen
Störungserfassungsschaltung entsprechen. Die Schaltungsanordnung 10 kann
ferner einen zweiten Inverter 55 umfassen, der zwischen
einen zweiten Ausgang 23 der zweiten Störungserfassungsschaltung 20 und
einen Setzeingang 17 der ersten Störungserfassungsschaltung 15 gekoppelt
ist. Der zweite Ausgang 23 kann dem Knoten Z der in 2 gezeigten
Störungserfassungsschaltung oder einem Knoten Z einer ähnlichen
Störungserfassungsschaltung entsprechen.
-
Bei
anderen Ausführungsbeispielen können der erste 19 und
der zweite 24 Ausgang dem Knoten ZN einer in 2 gezeigten
Störungserfassungsschaltung oder einem Knoten ZN einer ähnlichen Störungserfassungsschaltung
entsprechen. In diesem Fall müssen der erste Inverter 50 und
der zweite Inverter 55 kein Bestandteil der Speicherschaltung sein.
-
Gemäß einem
anderen Ausführungsbeispiel umfassen das erste und das
zweite Rücksetz-Setz-Latch jeweils zwei Ausgangsknoten
ZN und Z. Sowohl das erste als auch das zweite Rücksetz-Setz-Latch
können dahin gehend konfiguriert sein, in einem regulären
Betrieb entgegengesetzte erste und zweite Zustände an dem
ersten und dem zweiten Ausgangsknoten zu setzen, je nach den Signalen
oder Zustanden, die an Eingänge R, T des ersten und des
zweiten Rücksetz-Setz-Latch angelegt werden. Sowohl die
erste Störungserfassungsschaltung 15 als auch
die zweite Störungserfassungsschaltung 20 können
eine ungleiche Empfindlichkeit gegenüber einer Störung
auf einen Angriff, einen Fehler oder eine Manipulation hin aufweisen,
so dass im Fall eines Angriffs oder einer Manipulation die erste
Störungserfassungsschaltung und die zweite Störungserfassungsschaltung
empfindlicher in Bezug darauf ist, von einem ersten Zustand in einen
zweiten Zustand umzuschalten, als von dem zweiten Zustand in einen
ersten Zustand umzuschalten. Mit anderen Worten kann eine Störung
infolge eines Angriffs, eines Fehlers oder einer Manipulation einer
digitalen Störungserfassungszelle eine bevorzugte Kombination
von Zuständen an deren Ausgang bewirken. Je nach der Implementierung
können der erste Zustand und der zweite Zustand ein hoher
Pegel, „1”, oder ein niedriger Pegel, „0”,
sein. Dieses Verhalten kann erzielt werden, wenn die Störungserfassungsschaltung,
beispielsweise die erste Störungserfassungsschaltung und
die zweite Störungserfassungsschaltung, Transistoren umfassen,
wobei zumindest ein Transistor eine ungleiche Kanalweite oder eine
ungleiche Kanallänge aufweist, so dass eine ungleiche Empfindlichkeit
gegenüber einem Angriff erzielt wird. Bei manchen Ausführungsbeispielen
können die Transistoren einer Störungserfassungsschaltung größere
Drain-Gebiete umfassen als reguläre Transistoren, so dass
eine Lichtempfindlichkeit der Transistoren gegenüber einem
Angriff anhand von Strahlung erhöht wird. Die erste Störungserfassungsschaltung
und die zweite Störungserfassungsschaltung können
Transistoren mit unterschiedlicher Stromergiebigkeit aufweisen,
so dass eine ungleiche Empfindlichkeit gegenüber einem
Angriff erzielt wird und der erste Ausgang der ersten Störungserfassungsschaltung
und der zweite Ausgang der zweiten Störungserfassungsschaltung
in einen vorbestimmten Zustand gesetzt werden, der eine Störung
anzeigt. Bei manchen Ausführungsbeispielen können
die erste Störungserfassungsschaltung und die zweite Störungserfassungsschaltung
empfindlich gegenüber einer Störung sein, so dass
eine Störung an dem ersten Ausgang der ersten digitalen
Angriffserfassungsschaltung und/oder an dem zweiten Ausgang der zweiten
digitalen Angriffserfassungsschaltung angezeigt wird.
-
Bezüglich
der Struktur und der Funktionalität der in
2 gezeigten
Störungserfassungsschaltung und möglicher alternativer
Störungserfassungsschaltungen wird auf die
US 2007/0182575 A1 ,
die auf denselben Erfinder zurückgeht und deren Inhalt durch
Bezugnahme in das vorliegende Dokument aufgenommen ist, verwiesen.
-
3 zeigt
eine Speicherschaltung 100 mit Störungserfassung.
Bei diesem Ausführungsbeispiel umfasst die Speicherschaltung
neben den oben bereits beschriebenen Elementen eine dritte Logikschaltung 11c mit
einem ersten Eingang 41a, einem zweiten Eingang 42a und
einem Ausgang 43a. Die dritte Logikschaltung kann ein NOR-Gatter, 40a oder NORM,
umfassen. Überdies umfasst die erste Logikschaltung 11a einen
dritten Inverter 45, der zwischen den Dateneingang 5 und
ein erstes Logikgatter 30b oder NORQ gekoppelt ist. Der
dritte Inverter 45 mag die komplementäre Funktion
bezüglich der stabilen Zustände der ersten und
der zweiten Störungserfassungsschaltung gewährleisten.
Die Speicherschaltung 100 kann auch den ersten Inverter 50 umfassen, der
zwischen den ersten Ausgang 18 und den zweiten Setzeingang 22 gekoppelt
ist. Ein zweiter Inverter 55 ist zwischen den zweiten Ausgang 23 und
den Setzeingang 17 gekoppelt. Der erste Ausgang 18 der ersten
Störungserfassungsschaltung ist ebenfalls über
den ersten Inverter 50 mit der dritten Logikschaltung 11c gekoppelt.
Dies gilt auch für den zweiten Ausgang 23, der über
den zweiten Inverter 55 mit der dritten Logikschaltung 11c gekoppelt
ist. Bei diesem Ausführungsbeispiel umfassen die erste
Logikschaltung 11a, die zweite Logikschaltung 11b und
die dritte Logikschaltung 11c ein NOR-Gatter. Die erste
Logikschaltung 11a kann ein erstes NOR-Gatter, NORQ, und
einen dritten Inverter 45 umfassen, wobei der dritte Inverter 45 zwischen
den Dateneingang und einen ersten Eingang 31b des ersten
NOR-Gatters 30b gekoppelt ist. Der zweite Eingang 32b des
ersten NOR-Gatters ist mit dem Freigabeeingang 12 gekoppelt,
und ein Ausgang 33b des ersten NOR-Gatters ist mit dem
Rücksetzeingang 16 des ersten Rücksetz-Setz-Latch 15 oder
der Störungserfassungsschaltung gekoppelt. Die zweite Logikschaltung 11b umfasst
ein zweites NOR-Gatter 35b, NORQN, wobei ein erster Eingang 36b des
zweiten NOR-Gatters 35b mit dem Dateneingang 5 gekoppelt
ist, ein zweiter Eingang 37b des zweiten NOR-Gatters mit
dem Freigabeeingang 12 gekoppelt ist, und der Ausgang 38b des
zweiten NOR-Gatters mit dem Rücksetzeingang 21 des
zweiten Rücksetz-Setz-Latch 20 gekoppelt ist.
-
Bei
mehreren Ausführungsbeispielen kann die dritte Logikschaltung 11c dahin
gehend konfiguriert sein, ein Alarmsignal auszugeben, falls Signale, die
von den Signalzuständen an dem ersten und dem zweiten Ausgang
abhängen, eine ungültige Kombination von Signalzuständen
anzeigen.
-
Allgemein
kann die Schaltungsanordnung 10 eine erste Logikschaltung 11a,
die dahin gehend konfiguriert ist, das Rücksetzsignal für
das erste Rücksetz-Setz-Latch 15 zu liefern, und
eine zweite Logikschaltung 11b, die dahin gehend konfiguriert
ist, das Rücksetzsignal für das zweite Rücksetz-Setz-Latch 20 zu
liefern, umfassen. Ein Rücksetzeingang einer Störungserfassungsschaltung,
beispielsweise der Rücksetzeingang 16 und 21,
können gegenüber dem jeweiligen Setzeingang der
Störungserfassungsschaltung, z. B. dem Setzeingang 17 und 22,
dominant sein, d. h. falls ein Rücksetzsignal an den Rücksetzeingang
angelegt wird, ist der Signalzustand an dem Setzeingang irrelevant.
-
Im
Folgenden wird der Betrieb der Speicherschaltung 100 mit
Störungserfassung erläutert. In 3 wird
unter anderem die Verknüpfung der Störungserfassungsschaltungen 15, 20 gemäß 2 gezeigt.
Die erste Störungserfassungsschaltung 15 wird
auch als Störungsangriffserfassungszelle (FAD-Zelle 1,
FAD = Fault Attack Detection, Störungsangriffserfassung)
bezeichnet, und die zweite digitale Angriffserfassungsschaltung 20 wird
auch als FAD-Zelle 0 bezeichnet. Indem das Freigabesignal ENN =
0 an den Freigabeeingang 12 und Daten D = 0 an den Dateneingang 5 angelegt
werden, ist der Logikpegel an dem Ausgang 38b der zweiten
Logikschaltung 11b R = 1, und der Logikpegel an dem Ausgang 33b der
ersten Logikschaltung 11a ist RN = 0. Folglich wird die
erste „FAD-Zelle 0” durch das Rücksetzsignal
an dem zweiten Rücksetzeingang R bzw. 21 rückgesetzt.
Wie oben beschrieben wurde, kann ein Rücksetzen der FAD-Zelle
erzielt werden, indem ein hoher Pegel an den Rücksetzeingang 21 angelegt
wird, und folglich liegt der Logikpegel X an dem zweiten Ausgang 23 bzw.
Z bei 0. Somit liegt der Logikzustand QN hinter dem dritten Inverter 45 bei
1. Dieser Logikzustand QN ist mit dem Setzeingang 17 der
FAD-Zelle 1 gekoppelt. Dies bedeutet, dass die FAD-Zelle 1 gesetzt
ist, und somit geht der Logikpegel XN an dem ersten Ausgang 18 zu
1. Folglich liegt der Logikpegel Q hinter dem ersten Inverter 50 bei
0. Dies entspricht den Daten D, die an den Dateneingang 5 angelegt
wurden.
-
Für
ENN = 0, D = 0 werden die Daten D an dem Dateneingang 5 in
die Speicherschaltung 100 geschrieben, solange das „niedrige
aktive Schreibfreigabe-” ENN-Signal (low-active Write-Enable
ENN signal) auf seinem aktiven Logikpegel 0 liegt. Dies Speicherschaltung 100 kann
unter anderem durch die Inverter INVD, INVQ und INVQN sowie durch
die NOR-Gatter NORQ und NORQN sowie durch die zwei FAD-Zellen („FAD-Zelle
0” und „FAD-Zelle 1”) gebildet werden.
-
Für
ENN = 0 und D = 1 liegt der Zustand von RN bei 1, und R an dem Rücksetzeingang 21 ist
0, und deshalb wird die erste „FAD-Zelle 1” rückgesetzt, so
dass XN an dem ersten Ausgang 18 0 wird. Folglich wird
Q zu 1, und damit ist die „FAD-Zelle 0” gesetzt.
Somit geht der Logikpegel X an dem zweiten Ausgang 23 zu
1, und QN wird 0.
-
Für
ENN = 0 und D = 1 werden die Speicherdaten D an dem Dateneingang 5 in
die Speicherschaltung 100 geschrieben, die die Inverter
INVD, INVQ und INVQN sowie die NOR-Gatter NORQ und NORQN sowie die
FAD-Zellen „FAD-Zelle 0” und „FAD-Zelle
1” umfasst, solange das „niedrige aktive Schreibfreigabe-ENN-Signal” auf
seinem aktiven Pegel liegt. Bei diesem Ausführungsbeispiel
ist das Freigabesignal ENN 0, bei anderen Ausführungsbeispielen
kann das Freigabesignal ENN anders sein, beispielsweise 1 betragen.
Das Freigabesignal ENN kann ein bestimmter Signalzustand oder Pegel
sein, der an den Freigabeeingang 12 angelegt wird, was ein
Schreiben von Daten, die an den Dateneingang 5 angelegt
werden, in die Speicherschaltung ermöglicht. Die Deaktivierung
des Freigabesignals an dem Freigabeeingang 12 durch Anlegen
eines Signalzustands, der sich von dem Freigabesignalzustand unterscheidet,
kann ein Schreiben von an den Dateneingang 5 angelegten
Daten in die Speicherschaltung eventuell verhindern.
-
Für
ENN = 1 sind der Pegel R = 0 an dem zweiten Rücksetzeingang 21 und
der Pegel RN = 0 an dem Rücksetzeingang 16 unabhängig
von dem Wert oder den Daten D, der bzw. die an den Dateneingang 5 angelegt
ist bzw. sind. Dies bedeutet, dass ein Logikpegel oder ein Logikzustand,
der mit einem niedrigen aktiven Schreibfreigabesignal ENN = 0 in die
Speicherschaltung geschrieben wird, gespeichert oder aufrechterhalten
wird. Die Logikpegel oder die Zustände von X, XN, Q und
QN ändern sich nicht, falls das Freigabesignal ENN = 1.
In diesem Fall wird der Freigabeeingang 12 gesperrt. Mit
anderen Worten, solange ein Freigabesignal ENN = 0 an den Freigabeeingang 12 angelegt
wird, können Daten D, die an den Dateneingang 5 angelegt
werden, in die Speicherschaltung 100 geschrieben werden.
Indem das Freigabesignal an dem Freigabeeingang 12 gesperrt oder
deaktiviert wird, das heißt bei diesem Ausführungsbeispiel,
indem das Freigabesignal ENN = 0 zu ENN = 1 geändert wird,
kann ein Speichern der Daten D, die zuvor in die Speicherschaltung
geschrieben wurden, erzielt werden. Falls ENN = 1, so gelten die
folgenden Ausdrücke XN = nicht(X) und QN = nicht(Q). Für
beide der oben beschriebenen Schreibvorgänge bedeutet dies,
dass, falls ENN = 0, gilt, dass die Werte oder Zustande von X, XN,
Q und QN sich nicht verändern, falls der bereits gespeicherte Wert
von X oder Q (vor dem Schreibvorgang) mit dem Wert oder Logikzustand,
der während ENN = 0 an den Dateneingang 5 angelegt
wird, übereinstimmt. Falls jedoch während ENN
= 0 der Wert oder Logikzustand, der an dem Dateneingang 5 anliegt, nicht
mit dem gespeicherten Wert oder dem gespeicherten Logikzustand vor
dem Schreibvorgang auf X bzw. Q übereinstimmt, können
an den Knotenpaaren (X,XN) und (Q,QN) folgende Sequenzen auftreten.
-
Falls
eine zuvor gespeicherte 0 mit einer 1 überschrieben wird,
beträgt das Knotenpaar (X,XN) (0,1) und ändert
sich zuerst zu (0,0) und dann zu (1,0), und das Knotenpaar (Q,QN)
beträgt (0,1) und ändert sich zuerst zu (1,1)
und dann zu (1,0).
-
Falls
eine zuvor gespeicherte 1 mit einer 0 überschrieben wird,
beträgt das Knotenpaar (X,XN) (1,0) und ändert
sich zuerst zu (0,0) und dann zu (0,1), und das Knotenpaar (Q,QN)
= (1,0) ändert sich zuerst zu (1,1) und dann zu (0,1).
-
Da
sich Daten D, die an den Dateneingang 5 angelegt werden,
während ENN = 0 mehrmals ändern können,
können auch die oben angegebenen Sequenzen an den Knotenpaaren
(X,XN) und (Q,QN) mehrmals nacheinander auftreten. Während des
beschriebenen regulären Betriebs der Speicherschaltung 100 kann
die Kombination von Zuständen (X,XN) = (1,1) oder (Q,QN)
= (0,0) nicht auftreten, auch nicht kurzzeitig, da, wie es oben
beschrieben wurde, während eines Schreibvorgangs, der eine Änderung
gespeicherter Daten bewirkt, zuerst eine der beiden FAD-Zellen rückgesetzt
wird, bevor die komplementäre FAD-Zelle gesetzt werden
kann.
-
Jedoch
können diese Zustände bzw. kann diese Kombination
von Zuständen im Fall einer Störung, beispielsweise
nach einem erfolgreichen Angriff, zustande kommen. Zur Erläuterung
sei zunächst ohne jegliche Beschränkung hierauf
angenommen, dass ENN = 1, d. h. das Latch sich in dem Zustand befindet,
in dem zuvor geschriebene Daten gehalten werden sollten. Außerdem
werden zuerst Angriffe auf Teilschaltungen der Speicherschaltung
in Betracht gezogen. Angriffe auf die Daten- und Steuersignaleingänge
D und ENN werden später erörtert.
-
Dann,
im Fall ENN = 1, kommen in den Rücksetz-Setz-Latches folgende
Angriffsziele in Betracht. Beide FAD-Zellen sind Störungserfassungsschaltungen 15, 20,
das heißt „FAD-Zelle 0” und „FAD-Zelle 1”,
die NOR-Gatter NORQ und NORQN sowie die Inverter INVQ und INVQN.
-
Ohne
jegliche Einschränkung sei nun angenommen, dass vor Stattfinden
eines Fehlerangriffs eine 0 in der Speicherschaltung gespeichert
ist. Dann gilt (X,XN) = (0,1) und (Q,QN) = (0,1), und da ENN = 1,
gilt auch R = 0 und RN = 0. Eine weitere Konsequenz dieser Annahme
besteht darin, dass die „FAD-Zelle 0” als mögliches
Ziel in Frage kommt, da die „FAD-Zelle 1” bereits
auf „Alarm” ist. Dies bedeutet, dass die FAD-Zelle
1 auf den stabileren Signalzustand gesetzt ist, der im Zusammenhang
mit 2 beschrieben ist und den die FAD-Zelle 1 aufgrund
eines Fehlerangriffs nicht verlassen oder ändern kann. Ein
erfolgreicher Angriff auf die „FAD-Zelle 0” bewirkt, dass
sich X zu 1 ändert, woraus der (stabile) Zustand (X,XN)
= (1,1) oder (Q,QN) = (0,0) entsteht. Dies ist genau die Kombination
von Zuständen, die nicht während eines regulären
Betriebs auftritt, wie oben beschrieben wurde. Dieser Alarm der
Speicherschaltung kann nun beispielsweise durch den Wert Y = 1 an
dem Ausgang 43a des NOR-Gatters NORM der dritten Logikschaltung 11c angezeigt
werden. Da Y = NOR (Q,QN), kann Y nur für (Q,QN) = (0,0)
den Wert 1 annehmen.
-
Als
weitere Konsequenz der Annahme, dass vor einem Angriff (X,XN) =
(0,1) und (Q,QN) = (0,1) gilt, kann NORQ als mögliches
Angriffsziel angesehen werden. Ein erfolgreicher Angriff auf das
Logikgatter NORQN der zweiten Logikschaltung 11b würde
bedeuten, dass R kurzzeitig den Wert 1 an dem zweiten Rücksetzeingang 21 annimmt,
falls ENN = 1. Dies hätte eine abfallende Flanke des Alarmsignals
Y an dem Ausgang 43a der dritten Logikschaltung 11c zur
Folge. In diesem Fall wäre dies jedoch wirkungslos, da
sich Y bereits in dem Zustand 0 befindet.
-
Ein
erfolgreicher Angriff auf NORQ der zweiten Logikschaltung 11b bedeutet,
dass RN zumindest kurzzeitig den Wert oder den Logikzustand 1 annimmt,
was die folgenden Sequenzen an dem Knotenpaar (X,XN) zur Folge hat.
Das Knotenpaar (X,XN) = (0,1) und ändert sich zuerst zu
(0,0) und dann zu (1,0), und das Knotenpaar (Q,QN) = (0,1) ändert
sich zuerst zu (1,1) und dann zu (1,0). Jedoch sind diese Sequenzen
genau die Sequenzen, mit welchen während eines regulären
Betriebs eine zuvor gespeicherte 0 mit einer 1 überschrieben
wird. In diesem Fall wird ein erfolgreicher Angriff zunächst eventuell
nicht durch den Alarmsignalzustand Y = 1 an dem Ausgang 43 der
dritten Logikschaltung 11c angezeigt. Wie später
beschrieben wird, kann ein derartiger Angriff verhindert oder erkannt
werden, falls das Logikgatter NORM physikalisch zwischen NORQ und
NORQN angeordnet ist.
-
Bezüglich
Angriffen während ENN = 0 bedeutet dies, dass, falls die
Speicherschaltung dafür freigegeben ist, zu speichernde
Daten zu empfangen, es zunächst ausreichend ist, einen
kurzen Zeitraum vor der ansteigenden Flanke zu betrachten, wenn
ENN zu 1 geht, da der Schreibvorgang mit dieser Flanke abgeschlossen
ist. Das bedeutet, dass dieselben Überlegungen gelten,
die oben beschrieben wurden. Erfolgreiche Angriffe auf eine der
beiden Störungserfassungsschaltungen oder „FAD-Zellen” werden
durch den Wert oder Alarmsignalzustand Y = 1 an dem Ausgang 43 des
NOR-Gatters NORM angezeigt. Ein erfolgreicher Angriff auf die Logikgatter NORQ
oder NORQN wird an dem Ausgang 43 durch zumindest einen
kurzen Puls angezeigt, wie nachstehend erläutert wird.
-
Angriffe
auf die Daten- und Steuersignaleingänge 5 und 12 sollten
ebenfalls erfasst und verhindert werden, um den Schutz vor Fehlerangriffen
zu erhöhen. Gemäß manchen Ausführungsbeispielen werden
die Daten D und das Freigabesignal ENN in Schaltungsnetzwerken,
sogenannten kombinatorischen Logikschaltungen, erzeugt, während
die Knoten der Speicherschaltung, z. B. Z und ZN in 2, die
gegenüber Fehlerangriffen empfindlich sind, bistabil miteinander
gekoppelt sind. Das bedeutet, dass eine Änderung des Zustands
eines dieser Knoten, die durch eine Störung beispielsweise
nach einem Fehlerangriff bewirkt wird, nicht nur den jeweiligen Zustand
des anderen Knotens ändern kann, sondern dass diese Änderung
vielmehr gewährleistet, dass die Zustandswechsel, die durch
den Fehlerangriff verursacht werden, zeitlich stabil bleiben. Letzteres kann
bei kombinatorischen Logikschaltungen anders sein. Die Änderung
des Zustands eines Ausgangsknotens eines Logikgatters anhand z.
B. eines Laserpulses, der auf ein Logikgatter gerichtet ist, dauert nur
geringfügig länger als der Laserpuls selbst. Danach
kehrt der Knoten zu seinem ursprünglichen Zustand zurück,
der eventuell lediglich von den Werten der Eingangssignale des Logikgatters
abhängt. Somit wird angenommen, dass die Ein gangssignale
des Logikgatters entweder nicht durch den Fehlerangriff verändert
wurden oder in ihren jeweiligen ursprünglichen Zustand
zurückgeführt werden und deshalb eventuell kein
Bestandteil von Speicherschaltungen sind, die vor einem Angriff
geschützt sind.
-
Dies
kann nun bedeuten, dass Datensignalknoten in Schaltungsnetzwerken,
z. B. D, weniger empfindlich gegenüber Angriffen sind,
da ein Angriff „genau zum richtigen Zeitpunkt” stattfinden
sollte, um die Werte, die durch den Fehlerangriff geändert
werden sollen, in die Knoten zu schreiben, die die Verbindung zwischen
dem Schaltungsnetzwerk und der Speicherschaltung bilden. Die Änderung
der Werte durch den Fehlerangriff sollte stattfinden, solange die Speicherschaltung
neue Daten empfangen kann oder für neue Daten „offen” ist.
-
Ferner
können Knoten in einem Schaltungsnetzwerk gewöhnlich
eine beträchtlich höhere Kapazität (in
der Größenordnung des 10fachen oder mehr) als
die Rückkopplungsknoten in einer Speichervorrichtung aufweisen.
Dies erfordert eine beträchtlich höhere Intensität
z. B. einer Laserstrahlung, damit ein erfolgreicher Fehlerangriff
erfolgt. Außerdem kann dies bedeuten, dass beträchtlich
weniger empfindliche Detektorschaltungen, die in relativ großem
Abstand von den Bereichen angeordnet sind, die von den Fehlerangriffen
betroffen sind, derartige Fehlerangriffe erfassen oder erkennen
können.
-
Alle
Takt- oder Zeitgebungssignale für die Speicherschaltung
oder Speichervorrichtung können anfälliger für
Fehlerangriffe sein. Ein derartiges anfälliges Takt- oder
Zeitgebungssignal kann beispielsweise ENN sein. Das Freigabesignal,
das an den Freigabeeingang einer Speicherschaltung angelegt werden
kann, kann ein Takt- oder Zeitgebungssignal sein. Das Freigabesignal
kann als Taktsignal oder Zeitgebungssignal angesehen werden, das
die Speicherschaltung und die darin befindliche Störungserfassungsschaltung
taktet. Jede „nicht geplante” – sogar
eine sehr kurze – Änderung des Zustands eines derartigen
Takt- oder Zeitgebungssignals kann bewirken, dass Daten in der jeweiligen
Speichervorrichtung fälschlich überschrieben werden
oder dort nicht ankommen.
-
4 zeigt
ein weiteres Ausführungsbeispiel einer Speicherschaltung 100 mit
Störungserfassung. Bei diesem Ausführungsbeispiel
umfassen die erste 15 und die zweite 20 Störungserfassungsschaltung jeweils
einen zweiten Ausgang 19 bzw. 24. Dies bedeutet,
dass die Störungserfassungsschaltungen oder die FAD-Zellen
einen zweiten Ausgangsknoten verwenden, wie ebenfalls in 2 gezeigt
ist. Bei diesem Ausführungsbeispiel wird der Signalzustand ZN
an dem zweiten Ausgang 19 der FAD-Zelle zur Erzeugung des
Alarm signals Y an dem Ausgang 43 der dritten Logikschaltung 11c verwendet.
Je nach der physikalischen Verwirklichung und der verwendeten Prozesstechnologie
der Speicherschaltung kann eine erhöhte Robustheit oder
eine verbesserte Fehler- oder Angriffserfassung erzielt werden.
Andere Elemente mit den jeweiligen Bezugszeichen in 4 wurden
oben bereits beschrieben.
-
Es
ist offensichtlich, dass innerhalb des Schutzumfangs der offenbarten
Ausführungsbeispiele auch andere Möglichkeiten,
eine Speicherschaltung mit Störungserfassung zu verwirklichen,
existieren. In 5 ist beispielsweise ein weiteres
Ausführungsbeispiel einer Speicherschaltung 100 mit
einer Störungserfassung gezeigt. Bei diesem Ausführungsbeispiel
wird statt eines „niedrigen aktiven Freigabesignals” ENN
= 0 zum Freigeben des Schreibens von Daten in die Speicherschaltung,
wie im Zusammenhang mit 3 beschrieben wurde, ein „hohes
aktives Freigabesignal” (high-active Write-Enable signal)
ENL = 1 verwendet: Demgemäß sind die Gatter NORQ
und NORQN in 3 durch die AND-Gatter (UND-Gatter)
ANDQ und ANDQN in 4 ersetzt. Überdies
wird das Alarmsignal Y an dem Ausgang 43b der dritten Logikschaltung 11c nicht
mehr mit dem NORM-Gatter durch die logische Kombination von Q und
QN erzeugt, sondern vielmehr mit einem AND-Gatter, nämlich
dem ANDY-Gatter, und durch die logische Kombination der Signalzustände
X und XN. Je nach der genauen physikalischen Verwirklichung und
der verwendeten Prozesstechnologie kann eine derartige Schaltungsanordnung
im Vergleich zu der in 3 gezeigten Speicherschaltung
eine höhere Robustheit und verbesserte Störungserfassung
erzielen. In 5 ist eine weitere Alarmspeicherschaltung 46 gezeigt.
Bei diesem Ausführungsbeispiel kann der Ausgang 43b des ANDY-Gatters
mit der Alarmspeicherschaltung 46 gekoppelt sein, die dahin
gehend konfiguriert sein kann, das Alarmsignal Y für weitere
Zwecke zu speichern und/oder zu verarbeiten. Eine derartige Alarmspeicherschaltung 46 kann
beispielsweise eine andere Störungserfassungsschaltung
sein, wie sie im Zusammenhang mit 2 beschrieben
ist, die dann zum Speichern von Informationen bezüglich
eines Alarms verwendet werden kann.
-
Gemäß diesem
Ausführungsbeispiel umfasst die erste Logikschaltung 11a ein
erstes AND-Gatter, ANDQ, wobei ein erster Eingang 31c des
ersten AND-Gatters mit dem Dateneingang gekoppelt ist und wobei
ein zweiter Eingang 32c des ersten AND-Gatters 30c mit
dem Freigabeeingang gekoppelt ist. Ein Ausgang 33c des
AND-Gatters ist mit dem Rücksetzeingang des ersten Rücksetz-Setz-Latch
oder der ersten Störungserfassungsschaltung gekoppelt.
Die zweite Logikschaltung 11b kann ein zweites AND-Gatter 35c,
ANDQN, und einen Inverter 45 umfassen, wobei der Inverter 45 zwischen
einen ersten Eingang 36c des zweiten AND-Gatters und den
Dateneingang gekoppelt ist. Ein zweiter Eingang 37c des
AND-Gatters ist mit dem Freigabeeingang 12 gekoppelt, und
der Ausgang 38c des AND-Gatters ist mit dem Rücksetzeingang
des zweiten Rücksetz-Setz-Latch gekoppelt. Bei anderen Ausführungsbeispielen
können die erste Logikschaltung 11a, die zweite
Logikschaltung 11b und die dritte Logikschaltung 11c beispielsweise
zumindest eines der NOR-, NAND-, AND-, OR-Gatter (ODER-Gatter) umfassen.
Dies bedeutet, dass sich die verwendeten Logikgatter bei den Logikschaltungen 11a,
b, c bei anderen Ausführungsbeispielen von den in 3, 4 oder 5 gezeigten
unterscheiden können.
-
Ein
Angriff auf das NORQ-Gatter kann schwierig zu erfassen sein, da
die Sequenzen, die bei der Störungserfassungsschaltung
ausgelöst werden, identisch mit denen während
eines regulären Betriebs zum Überschreiben einer
zuvor gespeicherten 0 mit einer 1 sind. In diesem Fall wird ein
erfolgreicher Angriff zunächst eventuell nicht durch einen Wert
Y = 1 an dem Ausgang 43b angezeigt, ein derartiger erfolgreicher
Angriff kann jedoch verhindert werden, falls das NORM-Gatter physikalisch
zwischen dem NORQ- und dem NORQN-Gatter angeordnet ist. Dies ist
in der Draufsicht der 6 schematisch gezeigt. In 6 kann
die Speicherschaltung in einem Substrat 60 gebildet sein,
wobei beispielsweise ein Halbleitersubstrat vom p-Typ n-Wannenzonen 62a,
b, c umfasst. P-Kanal-Transistoren, die zum Verwirklichen von NORQ,
NORM und NORQN verwendet werden, können in den n-Wannenzonen
des Halbleitersubstrats 60 angeordnet sein, und n-Kanal-Transistoren
können in dem Halbleitersubstrat vom p-Typ angeordnet sein.
Wie in 6 schematisch gezeigt ist, können die
NORM-Gatter-Transistoren physikalisch zwischen den Transistoren
angeordnet sein, die das NORQ- und das NORQN-Gatter bilden.
-
Ein
erfolgreicher Angriff z. B. auf das NORQ-Gatter bedeutet, dass der
Zustand RN ausreichend lange den Wert 1 aufweisen kann, um die „FAD-Zelle
1” rückzusetzen. Dies bedeutet jedoch, dass die
p-Kanal-Transistoren, die das NORQ-Gatter oder zumindest eines der
Drain-Diffusionsgebiete oder die n-Wanne, in der die p-Kanal-Transistoren angeordnet
sind, bilden, durch den Angriff so beeinflusst werden, dass ein
n-Kanal-Transistor in dem NORQ, der durch ENN = 1 in einen leitfähigen
Zustand geschaltet wird, entweder übertrieben wird und/oder
dass die Leitfähigkeit dieses n-Kanal-Transistors durch
den Angriff beeinflusst wird.
-
Wenn
nun das NORM-Gatter mit seinen Transistoren physikalisch unmittelbar
neben, in der Nähe von oder zwischen dem NORQ- und dem
NORQN-Gatter und deren jeweiligen Transistoren angeordnet ist, gilt
die obige Betrachtung auch für das NORM-Gatter. Das bedeutet,
dass der Signalzustand Y an dem Ausgang 43b zumindest kurzzeitig
den Wert 1 annimmt, und zwar ausreichend lange, um die Informationen,
dass ein Angriff erfasst wurde, in eine Angriffserfassungsschaltung 46,
z. B. eine weitere „FAD-Zelle”, zu schreiben.
-
Zusätzliche
Maßnahmen zur Erhöhung der Absicherung vor einem
Angriff und zum Erfassen erfolgreicher Angriffe auf die Logikgatter
NORQ und NORQN können darin bestehen, die relevanten p-Kanal-Transistoren
in dem NORQ- und dem NORQN-Gatter bezüglich der Kanalweiten
und der Diffusionsgebiete geeignet „schwach” zu
dimensionieren. Ferner kann der relevante n-Kanal-Transistor in
dem NORQ- und dem NORQN-Gatter geeignet „stark” dimensioniert
sein, während für das NORM-Gatter die umgekehrte
Maßnahme ergriffen werden kann. Dies bedeutet, dass die
p-Kanal-Transistoren geeignet „stark” dimensioniert
werden können und die n-Kanal-Transistoren geeignet „schwach” dimensioniert werden
können.
-
Es
ist zu beachten, dass die oben erwähnte Anordnung des NORQ-,
des NORQN- und des NORM-Gatters in dem Halbleitersubstrat und die
jeweilige Dimensionierung der Kanallängen, Kanalweiten
und der Diffusionsgebiete der Transistoren, die die NOR-Gatter bilden,
gemäß anderen Ausführungsbeispielen auch
das ANDY-, das ANDQ- und das ANDQN-Gatter angepasst sein kann. Dasselbe kann
auch für andere Logikgatter gelten, die die erste Logikschaltung 11a,
die zweite Logikschaltung 11b und die dritte Logikschaltung 11c bilden.
-
Außerdem
ist es zudem möglich, Wannenanschlüsse oder -verbindungen,
z. B. einen VSS-Anschluss für ein p-Substrat oder eine
p-Wanne und einen VDD-Anschluss für eine n-Wanne, in geeignetem
geringem Abstand zu den Transistoren anzuordnen, die durch einen
Angriff gefährdet sind, um diese gefährdeten Transistoren
robust gegen Störungsangriffe zu machen.
-
Gemäß manchen
Ausführungsbeispielen kann die Speicherschaltung ein Halbleitersubstrat 60 und
Transistoren umfassen, die die erste Logikschaltung 11a,
die zweite Logikschaltung 11b und die dritte Logikschaltung 11c bilden.
Die Transistoren, die die dritte Logikschaltung 11c bilden,
sind zwischen oder neben den Transistoren, die die erste 11a und
die zweite 11b Logikschaltung bilden, in dem Halbleitersubstrat 60 angeordnet.
Die Speicherschaltung kann Transistoren eines ersten Leitfähigkeitstyps,
die die erste und die zweite Logikschaltung bilden, umfassen, wobei
ein Transistor des ersten Leitfähigkeitstyps eine Kanalabmessung
umfasst, die während eines regulären Betriebs
zu einer geringeren Stromergiebigkeit führt als die eines
Transistors des zweiten Leitfähigkeitstyps der ersten und
der zweiten Logikschaltung, und wobei ein Transistor des ersten Leitfähigkeitstyps
der dritten Logikschaltung eine Kanalabmessung aufweist, die während
des Betriebs zu einer höheren Stromergiebigkeit führt
als die des Transistors des zweiten Leitfähigkeitstyps
der dritten Logikschaltung. Transistoren, die einen ersten Leitfähigkeitstyp
aufweisen, können einer des n-Kanal- und des p-Kanal-Transistors
sein, und Transistoren, die einen zweiten Leitfähigkeitstyp
aufweisen, können der andere des n-Kanal- und des p-Kanal-Transistors
sein. Überdies kann die Speicherschaltung Transistoren
mit im Vergleich zu regulären Transistoren vergrößerten
Drain-Gebieten umfassen. Dies kann zu einer höheren Lichtempfindlichkeit
gegenüber einem Störungsangriff anhand von Strahlung
führen. Durch eine ausreichende Strahlung können mehr
freie Elektronen-Loch-Paare erzeugt werden, falls das Drain-Gebiet
vergrößert ist, und damit kann die Empfindlichkeit
erhöht werden.
-
Bei
anderen Ausführungsbeispielen kann die Speicherschaltung 100 Transistoren
umfassen, die die erste, die zweite und die dritte Logikschaltung
bilden. Die Transistoren können in der Nähe oder
neben den potentiellen Anschlüssen der p-dotierten oder
n-dotierten Gebiete angeordnet sein, in denen die Transistoren in
dem Halbleitersubstrat angeordnet sind. Die erste 11a,
die zweite 11b und die dritte 11c Logikschaltung
können Transistoren verschiedener Dotierungstypen umfassen,
wobei bei der ersten und der zweiten Logikschaltung Transistoren
eines ersten Dotierungstyps dahin gehend dimensioniert sind, eine
höhere Stromergiebigkeit zu erhalten als Transistoren eines
zweiten Dotierungstyps. Bei der dritten Logikschaltung können
Transistoren des zweiten Dotierungstyps dahin gehend dimensioniert
sein, eine höhere Stromrate zu erhalten als Transistoren des
ersten Dotierungstyps. Ein erster Dotierungstyp kann eine der p-Typ-Dotierung
und der n-Typ-Dotierung sein, und ein zweiter Dotierungstyp kann
die andere der p-Typ-Dotierung und der n-Typ-Dotierung sein.
-
In
eine integrierte Schaltung können beispielsweise für
Sicherheitsanwendungen zusätzliche Licht- und Spike-Sensoren
integriert sein, die als analoge Schaltungen gebildet sein können,
die dahin gehend entworfen sind, die gesamte integrierte Schaltung
oder zumindest ein großes Gebiet der integrierten Schaltung
vor einer Störung durch beispielsweise ionisierende Strahlung
oder durch gezielte Schwankungen der Versorgungsspannung zu schützen.
-
Gemäß Ausführungsbeispielen
kann die Speicherschaltung mit Störungserfassung auch dazu verwendet
werden, einzelne kleine Teilschaltungen vor lokalen Angriffen zu
schützen. Das Funktionsprinzip derartiger Analogschaltungen
kann verschiedene physikalische Effekte nutzen, wie sie auch für
Fehlerangriffe auf digitale Schaltungen, z. B. statische CMOS-Gatter,
angewendet werden, um die gewünschte Fehlfunktion der digitalen Schaltung
zu erzielen. Deshalb könnte es schwierig sein, einen lokalen
Angriff auf einzelne, kleine Teilschaltungen einer integrierten
Schaltung allein durch Verwendung derartiger Analogschaltungen mit
ausreichender Wahrscheinlichkeit zu erfassen.
-
In 7 ist
ein weiteres Ausführungsbeispiel gezeigt. Bei diesem Ausführungsbeispiel
sind Latches oder Störungserfassungsschaltungen verbunden,
um Register zu bilden, beispielsweise ein Master-Slave-Flipflop.
Für diesen Zweck können zwei Speicherschaltungen
mit ihren jeweiligen Störungserfassungsschaltungen in Reihe
gekoppelt sein, wobei die Datenausgänge des sogenannten
Master-Latch mit dem Dateneingang des Slave-Latch gekoppelt sind.
Ein Takt- oder Zeitgebungssignal für das Slave-Latch kann
das invertierte Takt- oder Zeitgebungssignal für das Master-Latch
sein. Ein derartiges Taktsignal oder Zeitgebungssignal kann das Freigabesignal
sein.
-
Die
Speicherschaltung 100 in 7 umfasst ein
Master-Latch 70a und ein Slave-Latch 70b. Das Master-Latch
umfasst Dateneingänge 5aa und 5ab, einen
Freigabeeingang 12a sowie eine erste Störungserfassungsschaltung 15a und
eine zweite Störungserfassungsschaltung 20a. Die
erste digitale Störungserfassungsschaltung 15a umfasst
einen Rücksetzeingang, einen Setzeingang und einen ersten
Ausgang 18a und einen zweiten Ausgang 19a. Die
zweite Störungserfassungsschaltung 20a umfasst
einen zweiten Rücksetzeingang, einen zweiten Setzeingang
und zwei Ausgänge 24a und 23a. Außerdem
kann das Master-Latch eine erste Logikschaltung 11aa und
eine zweite Logikschaltung 11ab mit den jeweiligen Eingängen
und Ausgängen, wie sie oben beschrieben sind, umfassen.
Bei dem in 7 gezeigten Ausführungsbeispiel
können die erste und die zweite Logikschaltung ein NOR-Gatter umfassen.
Bei anderen Ausführungsbeispielen können die erste
und die zweite Logikschaltung ein AND-Gatter oder sonstige Logikgatter
umfassen. Die erste Störungserfassungsschaltung 15a und
die zweite Störungserfassungsschaltung 20a können über
die Ausgänge 19a und 24a kreuzgekoppelt
sein.
-
Die
Ausgänge 19a und 24a können
dem Knoten ZN, und die Ausgänge 18a und 23a können dem
Knoten Z der in 2 gezeigten Störungserfassungsschaltung
oder einer ähnlichen Störungserfassungsschaltung
entsprechen. Dies bedeutet, dass der Ausgang 19a der ersten
Störungserfassungsschaltung 15a mit dem Setzeingang
der zweiten Störungserfassungsschaltung 20a gekoppelt
ist und der Ausgang 24a der zweiten Störungserfassungsschaltung
mit dem Setzeingang der ersten Störungserfassungsschaltung
gekoppelt ist. Das Master-Latch kann dahin gehend konfiguriert sein,
eine erste Kombination von Zuständen an den Ausgängen 18a und 23a auszugeben,
die gespeicherte Daten anzeigen, und eine zweite Kombination von
Zuständen des ersten und des zweiten Ausgangs, die eine
Störung anzeigen, auszugeben. Die Ausgänge 18a und 23a sind mit
den Dateneingängen 5ba und 5bb des Slave-Latch 70b gekoppelt.
Gemäß anderen Ausführungsbeispielen können
das Master-Latch und das Slave-Latch einen Ausgang umfassen, wie
er beispielsweise im Zusammenhang mit 3 beschrieben
wurde.
-
Das
Slave-Latch 70b kann einen ersten Dateneingang 5b und
einen zweiten Dateneingang 5c, einen Freigabeeingang 12b,
eine erste Störungserfassungsschaltung 15b und
eine zweite Störungserfassungsschaltung 20b umfassen.
Das Slave-Latch kann ferner eine erste Logikschaltung 11ba und
eine zweite Logikschaltung 11bb umfassen. Bei dem in 7 gezeigten
Ausführungsbeispiel können die erste und die zweite
Logikschaltung ein NOR-Gatter umfassen. Bei anderen Ausführungsbeispielen
können die erste und die zweite Logikschaltung AND-Gatter
oder sonstige Logikgatter umfassen. Das Slave-Latch 70b kann
eine erste digitale Störungserfassungsschaltung 15b umfassen,
die einen Rücksetzeingang, einen Setzeingang, einen ersten Ausgang 18b und
einen zweiten Ausgang 19b aufweist. Die zweite Störungserfassungsschaltung 20b umfasst
einen zweiten Rücksetzeingang, einen zweiten Setzeingang
und zwei Ausgänge 24a und 23a. Der Slave-Latch-Ausgang 19b und
der zweite Slave-Latch-Ausgang 23b sind mit den Setzeingängen
T der ersten 15b und der zweiten 20b Störungserfassungsschaltung
des Slave-Latch kreuzgekoppelt. Der Signalzustand YN an dem Ausgang 18b kann
zu einem Inverter 76 gekoppelt sein.
-
Ein
Freigabesignal ENN, das an das Master-Latch angelegt wird, kann
als Takt- oder Zeitgebungssignal für das Master-Latch fungieren.
Das Freigabesignal ENN kann anhand eines Inverters 75 invertiert
werden und kann anschließend an das Slave-Latch angelegt
werden. Das invertierte Freigabesignal EN ist dann an das Slave-Latch
angelegt. Damit ist gewährleistet, dass lediglich eines
der zwei Latches – das Master-Latch oder das Slave-Latch – Daten
empfangen kann. Mit anderen Worten kann immer nur eines der zwei
Latches zu einem Zeitpunkt aktiv sein, d. h. Daten empfangen.
-
Gemäß einem
Ausführungsbeispiel sind das Master-Latch und das Slave-Latch
in Reihe geschaltet, wobei der erste Ausgang 18a des Master-Latch 70a mit
dem Dateneingang 5ba des Slave-Latch gekoppelt ist, und
der zweite Ausgang 23a des Master-Latch 70a mit
dem zweiten Dateneingang 5bb des Slave-Latch 70b gekoppelt
ist. Mit anderen Worten ist der Ausgang 18a des Master-Latch
mit dem ersten Dateneingang 5ba des Slave-Latch gekoppelt,
und der zweite Ausgang 23a des Master-Latch ist mit dem
zweiten Dateneingang 5bb des Slave-Latch 70b gekoppelt.
Außerdem kann der Freigabeeingang 12a des Master-Latch
dahin gehend angepasst sein, ein Freigabesignal ENN zu empfangen, und
der Freigabeeingang 12b des Slave-Latch kann dahin gehend
angepasst sein, das invertierte Freigabesignal ENN des Master-Latch
zu empfangen, so dass lediglich entweder das Master-Latch oder das Slave-Latch
aktiv ist. Das bedeutet, dass ein Taktsignal oder Zeitgebungssignal
EN, das an dem Slave-Latch ankommt, das invertierte Taktsignal oder Zeitgebungssignal
ENN sein kann, das an das Master-Latch angelegt wird und das dem
Freigabeeingang 12a des Master-Latch und nach einer Inversion anhand
eines Inverters 75 dem Freigabeeingang 12b des
Slave-Latch zugeführt wird. Falls die Freigabesignale des
Master- und des Slave-Latch, die als Taktsignal oder Zeitgebungssignal
fungieren, einander nicht überlappen, kann gewährleistet
sein, dass lediglich eines der Flipflops, des Master-Latch oder
des Slave-Latch Daten entgegennimmt. Folglich müssen Eingangsdaten
die Daten an den Slave-Latch-Ausgängen 18a und 23b nicht
direkt beeinflussen. Deshalb kann das Master-Slave-Flipflop Daten
an den Dateneingängen 5aa und 5ab empfangen,
wobei gleichzeitig die Kombination von Zuständen an den Slave-Latch-Ausgängen 18b und 23b beibehalten wird.
-
Manche
Ausführungsbeispiele zeigen eine Speicherschaltung 100 mit
Störungserfassung, wobei die Speicherschaltung dahin gehend
konfiguriert ist, Speicherdaten zu empfangen, die abhängig
von einem an den Freigabeeingang angelegten Freigabesignal an den
Dateneingang angelegt werden. Ferner kann die Speicherschaltung
dahin gehend konfiguriert sein, die Daten je nach der Deaktivierung
des Freigabesignals oder je nach Anlegen eines Sperrsignals an den
Freigabeeingang zu speichern. Daten, die in die Speicherschaltung
hinein gespeichert werden, können an den Ausgängen 18 und 23 auftreten und
können somit gelesen werden. Während eines Empfangens
von Daten, die an den Dateneingang der Speicherschaltung angelegt
werden, kann entweder der erste oder der zweite Ausgang der ersten oder
der zweiten Störungserfassungsschaltung auf einen Rücksetzzustand
gesetzt werden, und auf der Basis des Rücksetzzustands
wird der zweite des ersten oder des zweiten Ausgangs auf gespeicherte
Daten gesetzt.
-
Während
eines regulären Betriebs, das heißt eines Betriebs
ohne eine Störung, kann der erste Ausgang der Speicherschaltung
den entgegengesetzten Zustand wie der zweite Ausgang aufweisen. Eine
erste Kombination von Signalzuständen kann sich auf eine
Kombination von Zustanden beziehen, die erzielt werden können,
wenn die Speicherschaltung regulär arbeitet, das heißt
während eines regulären Betriebs, ohne eine Störung
beispielsweise nach einem Angriff, einem Fehler oder einem Manipulationsversuch.
-
Gemäß manchen
Ausführungsbeispielen umfasst die Speicherschaltung 100,
wie oben beschrieben wurde, eine erste Logikschaltung und eine zweite
Logikschaltung. Die erste Logikschaltung und die zweite Logikschaltung
können dahin gehend konfiguriert sein, ein Rücksetzen
der ersten Störungserfassungsschaltung oder ein Rücksetzen
der zweiten Störungserfassungsschaltung auf eine Störung
hin zu bewirken, so dass ein erster oder ein zweiter stabiler Zustand
an dem ersten Ausgang der ersten Störungserfassungsschaltung
oder an dem zweiten Ausgang der zweiten Störungserfassungsschaltung
gesetzt ist.
-
Bei
einem anderen, in 8 gezeigten Ausführungsbeispiel
kann eine Speichervorrichtung 79 eine Mehrzahl von Speicherschaltungen 100a,
b, c, d, e, f mit Störungserfassung umfassen. Die Speicherschaltungen 100a,
b, c, d, e, f können gemäß der Beschreibung
in Ausführungsbeispielen hierin gebildet sein. Die Speichervorrichtung 79 kann
ferner eine Speichersteuerung 81 umfassen, die dahin gehend konfiguriert
ist, ein Speichern von Daten in die Speicherschaltung und ein Lesen
von Daten aus der Speicherschaltung zu steuern. Dies kann anhand von
Steuerleitungen 84, 85, 86 und 87 erfolgen,
die mit dem Freigabeeingang, dem Dateneingang, dem Alarmausgang
und dem Datenausgang jeder Speicherschaltung gekoppelt sein können.
Derartige Speicherschaltungen mit Störungserfassung können in
Gruppen kombiniert sein, und jeder Lese- oder Speicherzugriff auf
eine Gruppe kann durch die Speichersteuerung gesteuert werden.
-
Gemäß Ausführungsbeispielen
kann die Mehrzahl von Speicherschaltungen mit Störungserfassung
in Zeilen und Spalten angeordnet sein. Die Speichervorrichtung kann
ferner einen Zeilendecodierer 83 und einen Spaltendecodierer 82 umfassen, die
dahin gehend konfiguriert sind, eine Speicherschaltung oder eine
Gruppe von Speicherschaltungen auf eine durch die Speichersteuerung
gelieferte Adresse hin auszuwählen. Eine Speichervorrichtung kann
eine Speichersteuerung 81 und eine Mehrzahl von Speicherschaltungen
mit Störungserfassung, wie oben beschrieben ist, sowie
eine Überwachungsschaltung 88, die dahin gehend
konfiguriert ist, die Alarmsignale von Lesedaten auszuwerten, umfassen.
Die Schaltungsanordnung jeder der Mehrzahl von Speicherschaltungen
mit Störungserfassung kann dahin gehend konfiguriert sein,
ein Alarmsignal auszugeben, falls Signalzustände an dem
ersten und dem zweiten Ausgang eine Störung anzeigen. Jede Speicherschaltung
oder Gruppe von Speicherschaltungen kann eine (Speicher-) Adresse
umfassen, die beispielsweise anhand ihrer Position in einer Zeile und
einer Spalte definiert sein kann. Die Speichersteuerung kann dahin
gehend konfiguriert sein, das Speichern von Daten in eine Speicherschaltung durch
Anlegen der zu speichernden Daten an den Dateneingang einer Speicherschaltung
und durch Anlegen des Freigabesignals an den Freigabeeingang einer
Speicherschaltung zu steuern. Die Speichersteuerung kann ferner
dahin gehend konfiguriert sein, ein Lesen gespeicherter Daten aus
einer Speicherschaltung oder einer Gruppe von Speicherschaltungen
der Speichervorrichtung zu steuern, und sie kann eine Einrich tung
zum Erfassen eines Alarms, beispielsweise eine Alarmerfassungseinheit,
umfassen, die dahin gehend konfiguriert ist, die Kombination von
Signalzuständen, die auf einen Lesezugriff hin an dem ersten
und dem zweiten Ausgang einer Speicherschaltung oder einer Gruppe
von Speicherschaltungen auftreten, zu überwachen. Falls
auf eine Störung hin eine ungültige Kombination
von Signalzuständen auftritt, kann sie einen Benutzer der
Speichervorrichtung warnen. Alternativ dazu kann die Alarmerfassungseinheit
den Zustand des Alarmsignals Y einer Speicherschaltung oder einer
Gruppe von Speicherschaltungen auf einen Lesezugriff hin überwachen.
-
In 9 ist
ein Flussdiagramm eines Ausführungsbeispiels des Verfahrens
zum Betreiben einer Speicherschaltung mit Störungserfassung
gezeigt. Die Speicherschaltung kann einen Dateneingang, eine erste
und eine zweite Störungserfassungsschaltung umfassen, von
denen jede einen ersten stabilen Zustand und einen zweiten stabilen Zustand
aufweist, wobei sowohl die erste als auch die zweite Störungserfassungsschaltung
derart konfiguriert ist, dass sich eine Störungssignalstärke,
die notwendig ist, um ein Umschalten von dem ersten stabilen Zustand
in den zweiten stabilen Zustand zu bewirken, von einer Störungssignalstärke,
die notwendig ist, um ein Umschalten von dem zweiten stabilen Zustand
in den ersten stabilen Zustand zu bewirken, unterscheidet. Die Speicherschaltung
mit Störungserfassung kann ferner einen ersten Ausgang
der ersten Störungserfassungsschaltung, derden Zustand
der ersten Störungserfassungsschaltung anzeigt, und einen
zweiten Ausgang, der den Zustand der zweiten Störungserfassungsschaltung anzeigt,
umfassen.
-
Das
Verfahren zum Betreiben der Speicherschaltung kann Folgendes umfassen:
Anlegen 90 eines
Datensignals an den Dateneingang, um die erste Störungserfassungsschaltung
in den ersten stabilen Zustand und die zweite Störungserfassungsschaltung
in den zweiten stabilen Zustand zu bringen, und Überwachen 92 von
Signalzuständen an dem ersten Ausgang der ersten Störungserfassungsschaltung
und an dem zweiten Ausgang der zweiten Störungserfassungsschaltung,
und wobei eine ungültige logische Kombination der Signalzustände
an dem ersten und dem zweiten Ausgang eine Störung anzeigt
und eine gültige logische Kombination der Signalzustände
an dem ersten und dem zweiten Ausgang gültige gespeicherte
Daten anzeigt.
-
Bei
einem anderen Ausführungsbeispiel kann das Verfahren ferner
ein logisches Kombinieren der Signalzustände an dem ersten
und dem zweiten Ausgang und ein Ausgeben eines Alarmsignals, falls eine
ungültige logische Kombination an dem ersten und dem zweiten
Ausgang eine Störung anzeigt, umfassen. Überdies
kann das Verfahren bei einem weiteren Ausführungsbeispiel
ein Anlegen eines Freigabesignals an einen Freigabeeingang der ersten
und der zweiten Störungserfassungsschaltung umfassen, wobei
die Zustande der ersten und der zweiten Störungserfassungsschaltung
durch Anlegen eines Datensignals an den Dateneingang verändert
werden können, wenn das Freigabesignal angelegt wird. Dies
bedeutet, dass, falls ein Freigabesignal an den Freigabeeingang
angelegt wird, Daten, die an den Dateneingang angelegt werden, in
die Speicherschaltung geschrieben werden können. Somit
kann ein Schreibzugriff auf die Speicherschaltung durch das Freigabesignal
gesteuert werden.
-
Obwohl
die vorliegende Erfindung anhand mehrerer Ausführungsbeispiele
beschrieben wurde, gibt es Abänderungen, Permutationen
und Äquivalente, die in den Schutzumfang der vorliegenden
Erfindung fallen. Auch sollte beachtet werden, dass es viele alternative
Arten und Weisen gibt, die Speicherschaltung mit Störungserfassung
zu implementieren, die Verfahren durchzuführen und Variationen
der vorliegenden Erfindung zu implementieren. Deshalb ist beabsichtigt,
dass die folgenden angefügten Patentansprüche
dahin gehend interpretiert werden, dass sie alle derartigen Abänderungen,
Permutationen und Äquivalente dahin gehend umfassen, dass
diese in der wahren Wesensart und dem Schutzumfang der vorliegenden
Erfindung enthalten sind.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - US 2007/0182575
A1 [0038]