-
Die
Erfindung betrifft eine Vorrichtung, welche eine CMOS-Schaltung, zwei Invertierungseinheiten
und eine Steuereinheit umfasst. Die Invertierungseinheiten invertieren
wahlweise in die CMOS-Schaltung einzugebende Daten und aus der CMOS-Schaltung ausgegebene
Daten, falls sie von der Steuereinheit entsprechend gesteuert werden. Ferner
betrifft die Erfindung ein Verfahren zur Entgegennahme und Ausgabe
der von den Invertierungseinheiten wahlweise invertierten Daten
durch die CMOS-Schaltung.
-
Während des
Betriebs mikroelektronischer Bauelemente oder Schaltungen kann es
vorkommen, dass die Transistoren der Bauelemente oder Schaltungen
unterschiedlich stark belastet werden. Die Lebensdauer stärker belasteter
Transistoren ist gegenüber
der Lebensdauer niedrig belasteter Transistoren entsprechend verkürzt. Da
es durch eine Parameterdegradation zum Ausfall des gesamten Bauelements oder
der gesamten Schaltung kommen kann, ist es in der Praxis wünschenswert,
eine möglichst
niedrige Degradation und eine gleichmäßige Verteilung der elektrischen
Gesamtbelastung auf alle Transistoren zu erreichen.
-
Vor
diesem Hintergrund wird eine Vorrichtung gemäß der unabhängigen Ansprüche 1, 20
und 26 sowie ein Verfahren gemäß dem unabhängigen Anspruch
16 angegeben. Vorteilhafte Weiterbildungen und Ausgestaltungen sind
in den Unteransprüchen
angegeben.
-
Gemäß einem
Aspekt umfasst eine Vorrichtung eine CMOS-Schaltung mit einem ersten Eingang und
einem ersten Ausgang, eine mit dem ersten Eingang verbundene erste
Invertierungseinheit, welche in den ersten Eingang einzugebende
Daten wahlweise invertiert oder nicht invertiert, eine mit dem er sten
Ausgang verbundene zweite Invertierungseinheit, welche an dem ersten
Ausgang ausgegebene Daten wahlweise invertiert oder nicht invertiert,
und eine Steuereinheit, welche die beiden Invertierungseinheiten
derart steuert, dass Daten, die bei ihrer Eingabe in den ersten
Eingang von der ersten Invertierungseinheit invertiert wurden, bei
ihrer Ausgabe aus dem ersten Ausgang von der zweiten Invertierungseinheit
invertiert werden, und Daten, die bei ihrer Eingabe in den ersten
Eingang von der ersten Invertierungseinheit nicht invertiert wurden,
bei ihrer Ausgabe aus dem ersten Ausgang von der zweiten Invertierungseinheit
nicht invertiert werden. Die CMOS-Schaltung kann zur Speicherung
und/oder zur Verknüpfung
von Signalen dienen.
-
Gemäß einem
weiteren Aspekt umfasst eine Vorrichtung eine Speichereinheit mit
einer Mehrzahl von Speicherzellen, welche jeweils einen von zwei Speicherzuständen annehmen
können,
und eine Invertierungseinheit, welche wahlweise die Speicherzustände der
Speicherzellen jeweils invertiert.
-
Gemäß einem
weiteren Aspekt umfasst eine Vorrichtung eine Speichereinheit und
eine Invertierungseinheit, welche in den Speicher einzugebende Speicherdaten
entgegennimmt und in den Speicher eingibt, wobei die Speicherdaten
in einem ersten Zustand der Invertierungseinheit invertiert werden
und in einem zweiten Zustand der Invertierungseinheit nicht invertiert
werden.
-
Die
Erfindung wird nachfolgend in beispielhafter Weise unter Bezugnahme
auf die Zeichnungen näher
erläutert.
In diesen zeigen:
-
1 eine
schematische Darstellung eines Ausführungsbeispiels einer erfindungsgemäßen Vorrichtung;
-
2 eine
schematische Darstellung einer SRAM-Speicherzelle;
-
3 eine
schematische Darstellung eines weiteren Ausführungsbeispiels der erfindungsgemäßen Vorrichtung;
-
4 eine
schematische Darstellung eines weiteren Ausführungsbeispiels der erfindungsgemäßen Vorrichtung;
-
5 eine
schematische Darstellung einer logischen Schaltung zur Bestimmung
logischer Werte;
-
6 eine
schematische Darstellung einer Anordnung zur Bestimmung und Speicherung
von Steuerdaten;
-
7 zeitlicher
Verlauf eines Schreibvorgangs von zu speichernden Daten in eine
Speichereinheit; und
-
8 zeitlicher
Verlauf eines Lesevorgangs von gespeicherten Daten aus der Speichereinheit.
-
Im
Folgenden werden CMOS-Schaltungen beschrieben, wobei die Erfindung
unabhängig
von der speziellen Ausführungsform
der CMOS-Schaltungen ist. Darüber
hinaus werden Speichereinheiten mit einer Vielzahl von Speicherzellen,
welche jeweils einen von zwei Speicherzuständen annehmen können, beschrieben.
Die Erfindung ist unabhängig
von der speziellen Ausführungsform
der Speichereinheit und der Speicherzellen. Die Speichereinheit
kann aus beliebig vielen Speicherzellen bestehen, welche beliebig
angeordnet und beliebig untereinander verknüpft sein können. Die Speicherzellen können auf beliebige
Weise, insbesondere in Form von SRAM-Speicherzellen implementiert
sein.
-
Ferner
kann es sich bei den Speicherzellen wahlweise um flüchtige oder
nicht-flüchtige
Speicherzellen handeln.
-
Die
im Folgenden beschriebenen Invertierungseinheiten invertieren Daten,
falls diese Option durch eine Steuereinheit gewählt wird. Die Invertierungseinheit
kann durch beliebige Mittel, wie beispielsweise digitale Schaltungen
realisiert sein. Die Entscheidung, ob relevante Daten invertiert
werden oder nicht, wird durch die Steuereinheit getroffen, welche
in der Invertierungseinheit selbst enthalten sein kann oder in Form
einer externen Applikation gegeben sein kann. Die Erfindung ist
hierbei unabhängig
von der speziellen Ausführungsform
der Steuereinheit.
-
In 1 ist
als Ausführungsbeispiel
der Erfindung eine Vorrichtung 100 gezeigt, welche eine CMOS-Schaltung 1 mit
einem ersten Eingang 2 und einem erstem Ausgang 3 umfasst.
Der erste Eingang 2 der CMOS-Schaltung 1 ist mit
einer ersten Invertierungseinheit 4, der erste Ausgang 3 der CMOS-Schaltung 1 mit
einer zweiten Invertierungseinheit 5 verbunden. Die beiden
Invertierungseinheiten 4, 5 sind mit einer Steuereinheit 6 verbunden.
Die Steuereinheit 6 steuert die beiden Invertierungseinheiten 4, 5 durch
Steuerdaten derart, dass Daten, welche bei ihrer Eingabe in den
ersten Eingang 2 von der ersten Invertierungseinheit 4 invertiert
wurden, bei ihrer Ausgabe aus dem ersten Ausgang 3 von
der zweiten Invertierungseinheit 5 invertiert werden, und Daten,
die bei ihrer Eingabe in den ersten Eingang 2 von der ersten
Invertierungseinheit 4 nicht invertiert wurden, bei ihrer
Ausgabe aus dem ersten Ausgang 3 von der zweiten Invertierungseinheit 5 nicht
invertiert werden. Der Datenstrom durch die Invertierungseinheiten 4, 5 und
die CMOS-Schaltung 1 ist in der 1 durch
Pfeile zwischen den entsprechenden Elementen der Vorrichtung 100 angedeutet.
-
Für den Fall,
dass die CMOS-Schaltung 1 an ihrem ersten Eingang 2 eingegebenen
Daten unverändert
an ihrem ersten Ausgang 3 ausgibt und die beiden Invertierungseinheiten 4, 5 derart
durch die Steuereinheit 6 gesteuert werden, dass sie Daten
invertieren, sind die Daten vor der Invertierung durch die erste
Invertierungseinheit 4 mit den Daten nach der Invertierung
durch die zweite Invertierungseinheit 5 identisch, obwohl
ihre jeweiligen Inhalte durch die Invertierungseinheiten 4, 5 verändert wurden.
Eine Applikation oder ein Benutzer, welcher Daten in die Vorrichtung 100 eingibt
und ausgegebene Daten von der Vorrichtung 100 erhält, hat
somit keine Information darüber,
ob die Invertierungseinheiten 4, 5 der Vorrichtung 100 eine
Dateninvertierung vorgenommen haben oder nicht. Darüber hinaus
ist der Prozessablauf, auf welche Weise die Vorrichtung 100 durch eine
Applikation oder einen Benutzer verwendet wird unabhängig davon,
wie die Invertierungseinheiten 4, 5 von der Steuereinheit 6 gesteuert
werden.
-
Im
Folgenden soll die vorstehend beschriebene Invertierung von Daten
an einem Ausführungsbeispiel
einer eine SRAM-Speichereinheit
umfassenden Vorrichtung ausführlicher
erläutert
werden. Zu diesem Zweck ist in 2 eine SRAM-Speicherzelle 200 dargestellt.
Die SRAM-Speicherzelle 200 ist ein CMOS(Complementary Metal
Oxide Semiconductor)-Bauelement und umfasst zwei Inverter, welche jeweils
einen p-Kanal MOSFET (Metal Oxide Semiconductor Field Effect Transistor) 7.1, 7.2 und
einen n-Kanal MOSFET 8 umfassen. Die am Eingang 9 des ersten
Inverters anliegende Spannung, welche einen binären Zustand repräsentiert,
wird am Ausgang 10 des ersten Inverters auf ihren komplementären Wert invertiert,
welcher gleichzeitig den Wert am Eingang 11 des zweiten
Inverters darstellt. Auf die gleiche Weise wird die am Eingang 11 des
zweiten Inverters anliegende Spannung am Ausgang 12 des
zweiten Inverter auf ihren komplementären Wert invertiert, welcher
gleichzeitig den Wert für
den Eingang 9 des ersten Inverters darstellt.
-
Durch
die beschriebene Anordnung der vier Transistoren ergibt sich ein
statischer Schaltungszustand, welcher zur Speiche rung eines Datenbits
verwendet werden kann. Eine Invertierung der Schaltungszustände der
Transistoren entspricht einer Invertierung des Speicherzustands.
Zum Auslesen des Speicherzustands der SRAM-Speicherzelle 200 wird ein
Transistor 13 über
eine erste Datenleitung 14 angesteuert. Die Information über das
auszulesende Bit wird über
eine zweite Datenleitung 15.1 abgeführt, während über eine dritte Datenleitung 15.2 aufgrund der
oben erklärten
Anordnung der beiden Inverter ein komplementäres Bit abgeführt wird.
Der Schreibzugriff auf die SRAM-Speicherzelle 200 erfolgt
nach dem gleichen Prinzip wie der Lesezugriff.
-
In
der Praxis kann es beim Betrieb mikroelektronischer Bauelemente
oder Schaltungen, wie der eben beschriebenen SRAM-Speicherzelle oder generell
bei CMOS-Bauelementen zu einer belastungsinduzierten Degradation
(Veränderung)
der in den Bauelementen enthaltenen Transistoren bzw. der sie kennzeichnenden
Parameter kommen. Ein Beispiel eines solchen Parameters ist der
durch den Transistor fließende
Sättigungsstrom,
dessen Stärke während des
Betriebes aufgrund einer Belastung z. B. abnehmen kann. Unterschreitet
oder überschreitet je
nach Degradationsart der Sättigungsstrom
einen gewissen Wert, ist das den Transistor umfassende Bauelement
nicht mehr funktionsfähig.
Die Änderung des
Sättigungsstroms
und des zugehörigen
Schwellwertes für
den Transistorstrom können
in diesem Fall als eine Verschlechterung des Zustands des Transistors
angesehen werden.
-
Ein
Effekt, welcher beispielsweise eine solche Degradation bewirkt,
ist der NBTI(Negative Bias Temperature Instability)-Effekt, der
bei sich in Inversion befindlichen MOSFETs auftritt, durch eine
erhöhte Temperatur
beschleunigt wird, und zu Schäden
der MOSFETs führen
kann. Die belastungsinduzierten Schädigungen treten insbesondere
bei p-Kanal MOSFETs auf, sind bei n-Kanal MOSFETs hingegen vernachlässigbar
klein. Als weitere zur Degradation von Transistoren führende Effekte
können
der HCS-(Hot Carrier Stress) und der OSS(Off State Stress)-Effekt
genannt werden.
-
Betrachtet
man beispielsweise den statischen Zustand der oben beschriebenen
SRAM-Speicherzelle 200, bei welchem am Eingang 9 des
ersten Inverters eine Null (negative Spannung) und somit an seinem
Ausgang 10 eine Eins (positive Spannung) anliegt, befindet
sich der p-Kanal MOSFET 7.1 des ersten Inverters im Inversionszustand.
Der p-Kanal MOSFET 7.2 des sich im komplementären Zustand befindlichen
zweiten Inverters befindet sich dementsprechend im Zustand der Verarmung.
Im Falle einer erhöhten
Temperatur ist der sich in Inversion befindliche p-Kanal MOSFET 7.1 im
Gegensatz zu dem sich in Verarmung befindlichen p-Kanal MOSFET 7.2 einer
NBTI-Belastung ausgesetzt, welche zu Schädigungen des p-Kanal MOSFET 7.1 und
somit zu einem Ausfall der gesamten Speicherzelle 100 führen kann.
Im Gegensatz hierzu sind die beiden n-Kanal MOSFETs 8 unabhängig von
ihrem Zustand nicht oder nur sehr wenig von einer NBTI-Belastung
betroffen. Speziell bei Anwendungen der CMOS-Halbleitertechnologie,
bei denen gleichzeitig p-Kanal- und n-Kanal-MOSFETs
verwendet werden, die sich jeweils in komplementären Zuständen befinden, kann es verstärkt zu dem
beschriebenen negativen Effekt kommen.
-
Tritt
in der Praxis der Fall auf, dass sich die Speicherzellen einer Speichereinheit
sehr häufig oder
ständig
im gleichen Zustand befinden, werden bestimmte Transistoren der
Speicherzellen im Vergleich zu den restlichen Transistoren stärker belastet. Dies
kann beispielsweise beim Betrieb von Mobiltelefonen, PDAs (Personal
Digital Assistant) oder Navigationsgeräten vorkommen, da bei diesen
Applikationen bestimmte zu speichernde Daten, wie beispielsweise
Betriebssystemcode in den Speicher eingelesen und anschließend nicht
mehr verändert
werden. In diesem Fall befinden sich betroffene Speicherzellen während einer
gesamten Betriebsperiode der Applikation permanent im gleichen Speicherzustand,
d. h. an den Eingängen
der Inverter der Speicherzellen bzw. den Tran sistoren der Inverter
liegen während
einer gesamten Betriebsperiode gleiche Spannungswerte an. In diesem
Fall sind immer die gleichen Transistoren einer verstärkten Belastung ausgesetzt.
-
Darüber hinaus
kann es vorkommen, dass bei Applikationen zu Beginn jeder Betriebsperiode identische
Daten in den Speicher geschrieben werden, wodurch es also nicht
nur während
einer bestimmten Betriebsperiode zur Belastung bestimmter Speicherzellen
und ihrer Transistoren kommt, sondern über mehrere Betriebsperioden
die gleiche Belastungsverteilung der beteiligten Transistoren auftritt.
Die zu speichernden Daten können
hierbei beispielsweise aus einem ROM-Speicher gelesen werden.
-
Die
Degradation der Transistoren bzw. ihrer kennzeichnenden Parameter über ein
gewisses Maß hinaus
führt letztendlich
zu einer verringerten Lebensdauer der Transistoren und somit zu
einer verringerten Lebensdauer der gesamten Schaltung. Aus diesem
Grunde sollten alle Parameter während
des Betriebs innerhalb bestimmter, vorgegebener Wertebereiche liegen.
Sobald ein Parameter außerhalb des
vorgegebenen Wertebereichs liegt, ist die Funktion der gesamten
Applikation gefährdet,
da ein Ausfall des Bauelements immer wahrscheinlicher wird.
-
Eine
gängige
Methode, das beschriebene Problem zu umgehen oder abzuschwächen, kann dadurch
erreicht werden, die Technologie-Prozesse der einzelnen Elemente
der Schaltung oder des Bauelements im Rahmen des Gesamt-Technologie-Prozesses
aufeinander abzustimmen. Unter Technologieprozess wird hierbei die
Optimierung der technologischen Prozesse zur Herstellung einzelner
Bauelemente verstanden. Dies kann beispielsweise die Optimierung
der Grenzschicht unter dem Gate eines MOSFETs bezüglich ihrer
Dicke oder Stoffzusammensetzung sein. Ferner können bestimmte an die jeweilige
Applikation angepaßte
Zuverlässigkeitsanforderungen
an die einer Degradation ausgesetzten Parameter definiert werden,
welche durch den Betrieb nicht unter- oder überschritten werden dürfen.
-
Eine
Vorrichtung 300 deren Verwendung eine gleichmäßige Verteilung
der elektrischen Belastung über
alle Transistoren einer Speichereinheit gewährleistet, ist als Ausführungsbeispiel
der Erfindung in 3 dargestellt. Die Vorrichtung 300 umfasst eine
Speichereinheit 16 mit einer Mehrzahl von Speicherzellen 17,
welche jeweils einen von zwei Speicherzuständen annehmen können. Eine
mögliche Ausführung der
Speicherzellen 17 ist die in 2 dargestellte
SRAM-Speicherzelle 200.
Ferner umfasst die Vorrichtung 300 eine Invertierungseinheit 18,
welche wahlweise die Speicherzustände der Speicherzellen 17 invertieren
kann. Beispielsweise ist die Speichereinheit 16 über eine
Datenleitung 19 mit der Invertierungseinheit 18 verbunden,
wobei über
die Datenleitung 19 sowohl eine Datenübertragung von der Speichereinheit 16 an
die Invertierungseinheit 18, als auch in umgekehrter Richtung stattfinden
kann. Die Invertierungseinheit 18 kann somit Daten, welche
in den Speicherzellen 17 der Speichereinheit 16 gespeichert
werden sollen, wahlweise invertieren, bevor diese über die
Datenleitung 19 von der Invertierungseinheit 18 an
die Speichereinheit 16 übertragen
werden. Umgekehrt können
Speicherzustände
der Speicherzellen 17 ausgelesen werden und über die
Datenleitung 19 an die Invertierungseinheit 18 übertragen
werden, um dort wahlweise invertiert zu werden.
-
Durch
die Vorrichtung 300 kann einer überproportionale Belastung
bestimmter Transistoren in den Speicherzellen 17 vorgebeugt
werden, denn durch die wahlweise Invertierung der zu speichernden
Daten kann gesteuert werden, welche Transistoren der Speicherzellen 17 einer
stärkeren
Belastung ausgesetzt werden. Wurden beispielsweise während einer
ersten Betriebsperiode Speicherdaten im nicht invertierten Zustand
gespeichert und dadurch eine erste Gruppe von Transistoren stärker belastet,
können
zu speichernden Daten während
einer zweiten Betriebsperiode invertiert gespeichert werden, wodurch
eine zweite Gruppe von Transistoren belastet wird und die erste
Gruppe von Transistoren geschont wird. Speziell im Falle von zu
speichernden Daten, deren Inhalt während einer gesamten Betriebsperiode
konstant bleibt oder deren Inhalt über mehrere Betriebsperiode
hinweg identisch ist, führt
dies zu einer gleichmäßigen Verteilung
der elektrischen Belastung auf alle Transistoren der Speicherzellen 17.
-
Wird
also entschieden, dass die elektrische Belastung der Transistoren
umverteilt werden soll, werden die zu speichernden Daten durch die
Invertierungseinheit 18 invertiert, bevor sie über die
Datenleitung 19 an die Speichereinheit 16 übertragen
und in den einzelnen Speicherzellen 17 abgespeichert werden.
Sollen umgekehrt die gleichen Daten aus den Speicherzellen 300 wieder
ausgelesen werden, werden diese über
die Datenleitung 19 an die Invertierungseinheit 18 übertragen,
dort invertiert und auf ihren ursprünglichen, korrekten Wert zurückgesetzt. Wird
die Speichereinheit 16 durch eine Applikation oder ein
Benutzer verwendet, sind deren Handlungsabläufe demnach unabhängig davon,
ob Daten durch die Invertierungseinheit 18 invertiert werden oder
nicht.
-
Durch
dieses erfindungsgemäße Verfahren wird
einer Degradation der Transistorparameter entgegengewirkt und die
damit verbundene Lebensdauer der Transistoren erhöht. Die
erfindungsgemäße Vorrichtung
und das zugehörige
Verfahren sind insbesondere für
CMOS-Bauelemente vorteilhaft, da in solchen Bauelementen aufgrund
der Verwendung komplementärer
MOSFET-Gruppen stets
eine Transistorgruppe existiert, welche stärker als eine andere Transistorgruppe
belastet wird.
-
Ein
weiterer Vorteil der erfindungsgemäßen Vorrichtung ist dadurch
gegeben, dass die Transistoren, welche in vorhergehenden Betriebsperioden stark
belastet wurden, während
einer nachfolgenden belastungsfreien Betriebsperiode entlastet werden und
diese Entlastungsphase für
einen Abbau der erlittenen Parameterdegradation nutzen können. Während des
Abbaus der Parameterdegradation werden die Parameter wieder zu ihren
ursprünglichen
Werten, d. h. Werten vor der Degradation zurück verschoben. Durch die Ruhe-
bzw. Relaxationsphasen (Recovery) wird eine Erhöhung der Transistorlebensdauer
erreicht. Zu der Erhöhung
der Lebensdauer trägt
unter anderem bei, dass die Belastungspausen der Transistoren regelmäßig vorkommen
und die Transistoren während
Belastungsphasen nicht zu lange unter Belastung stehen.
-
Als
weiteres Ausführungsbeispiel
der Erfindung ist in 4 eine Vorrichtung 400 dargestellt. Die
Vorrichtung 400 ist eine digitale Schaltung und umfasst
eine Speichereinheit 16 mit einer Vielzahl von Speicherzellen 17,
welche jeweils einen von zwei Speicherzuständen annehmen können. Die
Speicherzellen 17 können
beispielsweise durch Speicherzellen vom Typ der in der 2 dargestellte SRAM-Speicherzelle 200 gegeben
sein. Über
die Datenleitungen 20.1 und 20.2 können Speicherzustände aus
den Speicherzellen 17 ausgelesen oder Daten in die Speicherzellen 17 geschrieben
werden. Die Datenleitungen 20.1 und 20.2 führen zu
Transmissionsgattern 21, welche durch eine Parallelschaltung
eines n-Kanal- und eines p-Kanal-MOSFETs realisiert
sind. Liegt an einem Transmissionsgatter 21 eine entsprechende
Spannung an, werden die ausgelesenen oder zu schreibenden Daten
an weitere Datenleitungen 22.1 und 22.2 übertragen.
-
Sollen
Daten aus den Speicherzellen 17 ausgelesen werde, erfolgt
eine Verstärkung
der Datensignale durch einen Leseverstärker 23. Bei einem Schreibzugriff
werden die Daten durch zwei Tri-State Buffer 24.1 und 24.2 geleitet,
wobei dem ersten Tri-State Buffer 24.1 ein Inverter 25 vorgeschaltet
ist. Über
den ersten Tri-State Buffer 24.1 wird das unveränderte Datensignal
an die Datenleitungen 22.1 weitergegeben, welche über das
Transmissionsgatter 21 mit der Datenleitung 20.1 verbunden
ist. Das gleiche Datensignal wird über den Inverter 25 auf
seinen komplementären
Wert invertiert und über
den zweiten Tri-State Buffer 24.2 an die Datenleitung 22.2 weitergegeben,
welche über
das Transmissionsgatter 21 mit der Datenleitung 20.2 zum
Schreiben des komplementären
Bits ver bunden ist. Die Schaltungszustände des Leseverstärkers 23,
der zwei Tri-State Buffer 24.1, 24.2 und des Inverters 25 werden
derart durch Steuersignale (RWQ) gesteuert, dass jeweils berücksichtigt
wird, ob ein Lese- oder ein Schreibzugriff vorgenommen wird.
-
Die
Speichereinheit 16 ist über
eine Datenleitung 19 mit der Inversionseinheit 18 verbunden, durch
welche die wahlweise Invertierung beim Schreiben oder Lesen von
Daten erfolgt. Die Invertierungseinheit 18 umfasst ein
Transmissionsgatter 26 sowie zwei Tri-State Buffer 27.1 und 27.2,
welche parallel zueinander geschaltet sind. Ein Datensignal kann
durch das Transmissionsgatter 26 übertragen werden, falls ein
Invertierungsflag nicht aktiv ist (inv = 0), d. h. eine negative
Spannung am p-Kanal MOSFET des Transmissionsgatter 26 anliegt.
In diesem Fall befinden sich sowohl der p-Kanal MOSFET, als auch
der n-Kanal MOSFET im leitenden Zustand, d. h. Daten können ungehindert
durch das Transmissionsgatter 26 fließen und werden dabei nicht
invertiert.
-
Ist
das Invertierungsflag aktiv (inv = 1) befinden sich sowohl der p-Kanal
MOSFET als auch der n-Kanal MOSFET im gesperrten Zustand, das Transmissionsgatter 26 sperrt
und die Daten fließen über einen
der beiden Tri-State Buffer 27.1 und 27.2 durch die
Invertierungseinheit 18 und werden invertiert. Über welchen
der Tri-State Buffer 27.1 und 27.2 die Daten fließen, hängt hierbei
davon ab, ob ein Schreib- oder Lesevorgang ausgeführt wird.
Eine logische Schaltung zur Verarbeitung des Invertierungsflags
mit zusätzlichen
Steuersignalen (RWQ), welche darüber
entscheidet, ist in 5 dargestellt und wird untenstehend
näher erläutert. Über eine
weitere Datenleitung 28 kann eine Verbindung zwischen der
Invertierungseinheit 18 und einer externen Applikation, wie
z. B. einem Mikroprozessor (nicht dargestellt) hergestellt werden.
Die eigentliche Invertierung zu lesender oder zu schreibender Daten
und damit die Lebensdauer der Transistoren der Spei cherschaltung wird
letztendlich ausschließlich über das
Invertierungsflag gesteuert.
-
In 5 ist
eine logische Schaltung 500 dargestellt, durch welche logische
Flags (invW, invR) für die
Steuerung der beiden Tri-State Buffer 27.1 und 27.2 aus 4 bestimmt
werden. Die logische Schaltung 500 umfasst ein logisches
NAND-Gatter 29 und ein
logisches AND-Gatter 30. An den beiden Eingängen des
AND-Gatters 30 liegt ein erstes Steuersignal (RWQ) und
das Invertierungsflag (inv) an. Am Ausgang des AND-Gatters 30 wird
ein Flag (invR) ausgegeben, welches den für einen Lesezugriff benötigten Tri-State
Buffer 27.1 steuert. Sollen beispielsweise invertierte
Daten in die Speichereinheit 16 geschrieben werden, gelten
die Zuweisungen inv = 1 (d. h. die Daten sollen invertiert werden)
und R = 1 (d. h. die Daten sollen gelesen werden). Am Ausgang des AND-Gatters 30 erhält man unter
Verwendung der logischen Schaltung 500 den Wert invR =
1, d. h. der Tri-State Buffer 27.1 für den Lesezugriff wird geöffnet und
auszulesende Daten invertiert, während
das Transmissionsgatter 26 geschlossen bleibt (inv = 1). Die
Generierung des zweiten Flags (invW), welches den Schreibvorgang
und die Datenübertragung durch
den Tri-State Buffer 27.2 steuert, geschieht am NAND-Gatter 29 und
basiert auf analogen Überlegungen.
-
4 und 5 verdeutlichen,
dass der Flächenaufwand
der Invertierungseinheit 18 im Vergleich zum Flächenaufwand
der gesamten erfindungsgemäßen Vorrichtung
sehr gering ausfällt,
da die Invertierungseinheit 18 lediglich für die gesamte Speichereinheit 16 und
nicht für
jede einzelne Speicherzelle 17 realisiert werden muss.
Bei einer Speichereinheit 16 mit 64 Megabit Speicherkapazität würde der
zusätzlich
benötigte
Flächenbedarf
für die
Invertierungseinheit 18 weit unterhalb eines Prozents des
gesamten Flächenbedarfs
liegen. Die Kosten für die
Realisierung einer zusätzliche
Invertierungseinheit 18 sind dementsprechend gering und
vernachlässigbar
klein.
-
In 6 ist
eine Anordnung 600 zur Erzeugung und Speicherung des Invertierungsflags
(inv) schematisch dargestellt. Die Anordnung 600 umfasst Steuereinheiten 31.1, 31.2, 31.3 zur
Bestimmung des Invertierungsflag, wobei es sich hierbei prinzipiell
um beliebige Mittel zur Erzeugung binärer Werte handeln kann. Durch
die Erzeugung und Bereitstellung des Invertierungsflags kann die
Invertierung der Speicherzustände
durch die Steuereinheiten 31.1, 31.2, 31.3 gesteuert
werden. Die drei Steuereinheiten 31.1, 31.2, 31.3 sollen
drei nachstehend beschriebene Möglichkeiten
zur Erzeugung des Invertierungsflags repräsentieren. Das Invertierungsflag
wird nach seiner Erzeugung in einer Speicherzelle bzw. einem Register 32 gespeichert.
Aus dem Register 32 kann das Invertierungsflag ausgelesen
werden und mit seinem vorher durch einen Inverter 33 erzeugten
komplementären
Wert direkt an das Transmissionsgatter 26 aus 4 übertragen
werden. Die Erzeugung des Invertierungsflags erfolgt unabhängig von
den Daten, die der CMOS-Schaltung zugeführt werden.
-
Eine
Möglichkeit
zur Erzeugung des Invertierungsflag wird durch die Steuereinheit 31.1 repräsentiert.
Ein Wechsel des Speicherzustands der Speicherzellen, d. h. eine
Invertierung der zu speichernden Daten ist insbesondere sinnvoll,
wenn stärker belastete
Transistoren der Speicherzellen einen gewissen, vorgegebenen Degradationsgrenzwert überschritten
haben. Zu einem solchen kritischen Zeitpunkt sollte durch eine entsprechende Änderung
des Invertierungsflags eine Invertierung der Speicherdaten zu Beginn
der nächsten
Betriebsperiode veranlaßt
werden, wodurch den belasteten Transistoren die Möglichkeit
einer Relaxations- bzw. Recoveryphase gegeben wird.
-
Um
festzustellen, wann dieser kritische Zeitpunkt erreicht ist, werden
zu Beginn jeder Betriebsperiode der Speichereinheit die Parameter
von zwei Transistoren miteinander verglichen, welche insbesondere
baugleich zu den Transistoren der Speicherzellen sind. Der erste
der beiden Transistoren wird während
der Betriebsperiode nicht belastet und weist aus diesem Grund keine
Degradation auf, während sich
der zweite Transistor in einem identischen Inversionszustand, wie
die sich im Inversionszustand befindlichen, belasteten Transistoren
der Speicherzellen ausgesetzt ist. Der zweite Transistor repräsentiert somit
den Grad der Degradation der belasteten Transistoren der Speicherzellen
und kann als Referenztransistor verwendet werden.
-
Ist
ein vorher festgelegter Unterschied zwischen den Parameterwerten
des ersten, nicht belasteten Transistors und dem Referenztransistor
erreicht, wird der Wert des Invertierungsflags durch die Steuereinheit 31.1 invertiert.
Während
der darauffolgenden Betriebsperiode der Speichereinheit werden dann
diejenigen Transistoren der Speicherzellen stärker belastet, welche während der
vorhergehenden Betriebsperiode weniger belastet waren. Die in der
vorhergehenden Betriebsperiode stärker belasteten Transistoren
hingegen befinden sich durch die Invertierung des Invertierungsflag
während
der folgenden Betriebsperiode in einer Relaxationsphase, wodurch
die Degradation ihrer Parameter rückgängig gemacht wird. Ist diese
Verminderung der Degradation soweit fortgeschritten, d. h. hat sich
der Transistor so stark erholt, dass der vorher festgelegte Degradationsgrenzwert
wieder unterschritten ist, wird dies zu Beginn der nächsten Betriebsperiode
der Speichereinheit detektiert und es erfolgt die nächste Invertierung
des Invertierungsflags, welches wieder im Register 32 abgelegt
wird.
-
Eine
zweite Möglichkeit,
ein Invertierungsflag zu erzeugen, besteht darin, das Invertierungsflag in
einer nicht-flüchtigen
1-Bit-Zelle zu speichern, es zu Beginn jeder Betriebsperiode auszulesen
und zu invertieren. Diese Möglichkeit
wird durch die Steuereinheit 31.2 der 5 repräsentiert.
Nach dem Auslesen des Invertierungsflags wird dasselbe invertiert und
der invertierte Wert erneut in der 1-Bit-Zelle abgelegt. Die Invertierung
erfolgt hierbei unabhängig von Werten
der Degradationsparameter oder der Dauer der einzelnen Betriebsperioden
immer zu Beginn jeder einzelnen Betriebsperiode. Auf diese Weise
erfolgt die Speicherung von Speicherdaten alternierend im invertierten
und nicht-invertierten Zustand.
-
Bei
einer dritten Möglichkeit,
welche durch die Steuereinheit 31.3 repräsentiert
wird, kann das Invertierungsflag durch eine Zufallsschaltung erzeugt werden.
Das Invertierungsflag wird zu Beginn einer Betriebsperiode der Speichereinheit
mittels eines Zufallszahlengenerators erzeugt und in das Register 32 geschrieben,
wodurch das anschließende
Lesen oder Schreiben von Daten auf entsprechende Weise geschieht.
Durch dieses Verfahren erfolgt die Bestimmung des Werts des Invertierungsflags
und somit die Art der Speicherzustand der Speicherzellen auf zufällige Weise.
Somit kommt es im statistischen Mittel über mehrere Betriebsperioden
zu einer weitgehend gleichmäßigen Verteilung
der elektrischen Belastung der Transistoren der Speicherzellen.
Da das statistische Mittel bei genügend hoher Anzahl von Betriebsperioden
auch mit nicht vollständig
nicht-deterministischen Zufallsgeneratoren erreicht werden kann,
besteht die Möglichkeit,
für die
Ausführungsform
der Steuereinheit 31.3 eine Schaltung zu verwenden, welche
sich besonders einfach realisieren läßt. Eine Möglichkeit für eine derartige Schaltung
ist beispielsweise ein rückgekoppeltes
Schieberegister, welches von einem schnellen, asynchron laufenden
Ringoszillator getaktet wird.
-
Die
oben beschriebene Erzeugung und Verwendung des Invertierungsflags
wurde im Zusammenhang mit dem in 4 gezeigten
Ausführungsbeispiel
eingeführt
und erläutert,
kann aber prinzipiell für
beliebige Ausführungsformen
der Erfindung, insbesondere die in 1 dargestellte,
verwendet werden.
-
In 7 ist
der zeitliche Verlauf eines Schreibvorgangs von zu speichernden
Daten in die Speicherzellen 17 der in 4 gezeigten
Vorrichtung 400 dargestellt. Es sind hierbei fünf zeitlich
gegeneinander versetzte Zustande eines Datensignals gezeigt, wobei
die Zeitrichtung in 7 durch eine waagerechte Zeitachse
angedeutet ist. Bei den fünf
Zuständen
handelt es sich um ein einzelnes Datensignal zu verschiedenen Zeitpunkten
des Schreibvorgangs. Die fünf
zeitlichen Zustände
des Datensignals sind mit den Bezugszeichen der entsprechenden Orte
in 4 gekennzeichnet. Das Datensignal wird über die
Datenleitung 28 an die Invertierungseinheit 18 übertragen,
um dort wahlweise invertiert zu werden. Das Datensignal wird hierbei
durch die Invertierungseinheit 18 zeitlich verzögert und
danach über die
Datenleitung 19 an die Speichereinheit 16 übertragen.
Das zeitliche Verzögerungsintervall
durch die Invertierungseinheit 18 ist im zweiten Zustand 19 der 7 durch
zwei Pfeile gekennzeichnet. Anschließend wird das Datensignal über die
Datenleitung 22 und die Datenleitungen 20.1 und 20.2 an
die adressierte Speicherzelle 17 übertragen.
-
In 8 ist
der zeitliche Verlauf eines Lesevorgangs von gespeicherten Daten
aus Speicherzellen 17 einer Speichereinheit 16 gezeigt.
Der zeitliche Ablauf des Lesevorgangs entspricht hierbei dem umgekehrten,
oben beschriebenen Schreibvorgang, wobei die zeitliche Verzögerung des
Datensignals durch die Invertierungseinheit 18 wieder durch
zwei Pfeile angedeutet ist. Die Lese- und Schreibvorgänge werden
durch die Invertierungseinheit 18 lediglich um ein sehr
kurzes Zeitintervall verzögert,
welches für
die Applikation vernachlässigbar
ist. Das Größe des Zeitintervalls
liegt hierbei bei etwa einer Gatterlaufzeit, was in etwa 3% der
Zeitdauer des Schreib- oder Lesevorgangs entspricht.