-
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.
-
Die Druckschrift
US 2005/0 134 360 A1 als nächstliegender Stand der Technik offenbart eine Schaltung zur Verminderung des BTI(Bias Temperature Instability)-Effekts in elektronischen Schaltungen. Hierbei wird ein zu speichernder Wert durch eine Einheit prozessiert, wobei der von der Einheit ausgegebene Wert je nach Zustand eines Steuerwertes dem ursprünglichen Wert oder dessen invertiertem Wert entspricht. Der ausgegebene Wert wird in einem Speicherelement gespeichert und kann zusammen mit seinem inversen Wert wieder aus dem Speicherelement ausgelesen werden. Abhängig von dem erwähnten Steuerwert wird einer dieser beiden Werten derart ausgewählt, dass der ausgewählte Wert dem ursprünglich zu speichernden Wert entspricht.
-
Die Druckschrift
US 6 574 160 B1 offenbart einen Speicher mit einem differentiellen Leseverstärker, der eine Dateneingabe und eine komplementäre Dateneingabe empfängt. Ferner umfasst der Speicher einen mit dem Leseverstärker gekoppelten Schaltmechanismus, der die Dateneingabe und die komplementäre Dateneingabe derart umschaltet, dass ein auf den Leseverstärker wirkender NBTI(Negative Bias Temperature Instability)-Effekt minimiert wird.
-
Die Druckschrift
US 2006/0 049 886 A1 offenbart mehrere Methoden zur Bestimmung von Alterungsprozessen, wie dem NBTI-Effekt.
-
Vor diesem Hintergrund wird eine Vorrichtung gemäß der unabhängigen Ansprüche 1, 15 und 19 sowie ein Verfahren gemäß dem unabhängigen Anspruch 13 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, eine mit dem ersten Ausgang verbundene zweite Invertierungseinheit, wobei in einem ersten Zustand der Invertierungseinheiten 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 in einem zweiten Zustand der Invertierungseinheiten 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. Ferner umfasst die Vorrichtung eine Steuereinheit, welche steuert, ob sich die Invertierungseinheiten in dem ersten oder in dem zweiten Zustand befinden, wobei die Steuereinheit einen ersten Transistor, welcher sich während einer ersten Zeitdauer nicht im Inversionszustand befindet, einen zweiten Transistor, welcher sich während der ersten Zeitdauer in einem Inversionszustand befindet und Mittel zur Bestimmung eines Referenzwerts, welcher den Unterschied zwischen den ersten und den zweiten Transistor charakterisierenden Parametern beschreibt umfasst. Die Steuereinheit ändert die Zustände der Invertierungseinheiten, wenn der Referenzwert einen vorgegebenen Schwellenwert unterschreitet oder überschreitet.
-
Gemäß einem weiteren Aspekt umfasst eine Vorrichtung eine Speichereinheit mit einer Mehrzahl von Speicherzellen, welche jeweils einen von zwei Speicherzuständen annehmen können, eine Invertierungseinheit, welche in einem ersten Zustand die Speicherzustände der Speicherzellen jeweils invertiert und in einem zweiten Zustand die Speicherzustände der Speicherzellen jeweils nicht invertiert und eine Steuereinheit, welche steuert, ob sich die Invertierungseinheit in dem ersten oder in dem zweiten Zustand befindet. Die Steuereinheit umfasst hierbei einen ersten Transistor, welcher sich während einer ersten Zeitdauer nicht im Inversionszustand befindet, einen zweiten Transistor, welcher sich während der ersten Zeitdauer in einem Inversionszustand befindet und Mittel zur Bestimmung eines Referenzwerts, welcher den Unterschied zwischen den ersten und den zweiten Transistor charakterisierenden Parametern beschreibt, wobei die Steuereinheit den Zustand der Invertierungseinheit ändert, wenn der Referenzwert einen vorgegebenen Schwellenwert unterschreitet oder überschreitet.
-
Gemäß einem weiteren Aspekt umfasst eine Vorrichtung eine CMOS-Schaltung mit einem ersten Eingang und einem ersten Ausgang, eine mit dem ersten Eingang verbundene erste Invertierungseinheit, eine mit dem ersten Ausgang verbundene zweite Invertierungseinheit, wobei in einem ersten Zustand der Invertierungseinheiten 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 in einem zweiten Zustand der Invertierungseinheiten 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 sowie eine Steuereinheit, welche steuert, ob sich die Invertierungseinheiten in dem ersten oder in dem zweiten Zustand befinden. Die Steuereinheit erzeugt hierbei die Zustände der Invertierungseinheiten mittels einer Zufallsschaltung.
-
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 Speicherung 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 Transistoren 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 dargestellten 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 verbunden 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 Speicherschaltung 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 Zustände 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. Die Größe des Zeitintervalls liegt hierbei bei etwa einer Gatterlaufzeit, was in etwa 3% der Zeitdauer des Schreib- oder Lesevorgangs entspricht.