-
Tendenziell
zeigt die Entwicklung von Halbleiterbausteinen, dass die von Speicher
belegte Fläche immer
mehr zunimmt. Wenn diese Tendenzen so anhalten, wird in Zukunft
ein großer
Teil der Gesamtfläche
eines chipintegrierten Systems (= „System an Chip") durch Speicher
belegt sein. Die Halbleitertechnolgie wird zum Erreichen höherer Speicherdichten herabskaliert.
Variationen der Herstellungsparameter, z. B. Variationen der Anzahl
und der Lage von Dotieratomen in einem Kanalgebiet eines Transistors, nehmen
entsprechend der Herabskalierung der Technologie zu. Dementsprechend
schwanken zunehmend die Schwellspannungen von Transistoren, welche
die Speicherzellen bilden, was die Durchführung stabiler Schreib- und
stabiler Leseoperationen erschwert.
-
Neben
dem Erzielen höherer
Speicherdichten ist es allgemein wünschenswert, in Anwendungen,
die einen Speicher benutzen, der einen großen Betrag an Chipfläche belegt,
Energie zu sparen. Das Skalieren der Versorgungsspannung ist ein
Ansatz, der zum Energiesparen benutzt wird. Eine niedrige Versorgungsspannung
zusammen mit Schwankungen der Herstellungsparameter können zu
Fehlern bei Zugriffen auf Speicherzellen führen, besonders während Schreiboperationen.
-
Der
Erfindung liegt die Aufgabe zugrunde, einen verbesserten Schreibzugriff
auf eine Speicherzelle zu ermöglichen.
-
Die
Aufgabe wird durch eine Speicherzelle, eine Speichervorrichtung
bzw. eine Vorrichtung gemäß den unabhängigen Ansprüchen 1,
7, 9 und 19, und ein Verfahren zum Zugreifen auf eine Speicherzelle
gemäß dem unabhängigen Anspruch
20 gelöst.
-
Eine
Speicherzelle weist einen ersten Datenknoten und einen zweiten Datenknoten
zum Speichern komplementärer
Daten auf. Die Speicherzelle weist weiterhin eine erste Wortleitung
auf, die mit einer ersten Zugriffseinheit und mit einer zweiten
Zugriffseinheit gekoppelt ist und eine zweite Wortleitung auf, die
mit einer dritten Zugriffseinheit und mit einer vierten Zugriffseinheit
gekoppelt ist. Ein erstes komplementäres Bitleitungspaar ist mit
dem ersten und zweiten Datenknoten gekoppelt und ein zweites komplementäres Bitleitungspaar
ist mit dem ersten und zweiten Datenknoten gekoppelt. Die erste
Wortleitung und die zweite Wortleitung sind derart ausgestaltet,
dass sie mit jedem Schreibzugriff auf die Speicherzelle einen Lesezugriff
auf die Speicherzelle aktivieren.
-
In
einer Ausführungsform
sind die erste Wortleitung und die zweite Wortleitung derart ausgestaltet,
dass sie den Lesezugriff auf die Speicherzelle gleichzeitig mit
jedem Schreibzugriff auf die Speicherzelle einleiten.
-
In
einer Ausführungsform
wird das erste komplementäre
Bitleitungspaar als Reaktion auf ein Potential auf der ersten Wortleitung
mit den ersten und zweiten Datenknoten gekoppelt und das zweite komplementäre Bitleitungspaar
wird als Reaktion auf ein Potential auf der zweiten Wortleitung
mit den ersten und zweiten Datenknoten gekoppelt.
-
In
einer Ausgestaltung umfasst die Speicherzelle einen kreuzgekoppelten
ersten Inverter und zweiten Inverter, wobei der erste Inverter und
der zweite Inverter jeweils einen Pull-Up-Transistor und einen Pull-Down-Transistor
mit in Reihe geschalteten Anschlüssen,
die den ersten Datenknoten und den zweiten Datenknoten definieren,
umfassen.
-
In
einer Ausführungsform
sind die erste Zugriffseinheit und die zweite Zugriffseinheit weiterhin mit
dem ersten komplementären
Bitleitungspaar und mit dem ersten Datenknoten und mit dem zweiten Datenknoten
gekoppelt. Die dritte Zugriffseinheit und die vierte Zugriffseinheit
sind weiterhin mit dem zweiten komplementären Bitleitungspaar und mit
dem ersten Datenknoten und mit dem zweiten Datenknoten gekoppelt.
-
In
einer Ausgestaltung weisen die erste Zugriffseinheit, die zweite
Zugriffseinheit, die dritte Zugriffseinheit und die vierte Zugriffseinheit
den gleichen Leitfähigkeitstyp
auf.
-
Eine
Speicherzelle weist einen ersten Datenknoten und einen zweiten Datenknoten
zum Speichern komplementärer
Daten auf. Die Speicherzelle weist weiterhin vier Zugriffseinheiten
auf, wobei ein erstes Eingangssignal mit zwei der mindestens vier Zugriffseinheiten
gekoppelt ist und wobei ein zweites Eingangssignal mit weiteren
zwei der mindestens vier Zugriffseinheiten gekoppelt ist. Ein erstes
komplementäres
Bitleitungspaar ist mit dem ersten und zweiten Datenknoten gekoppelt
und ein zweites komplementäres
Bitleitungspaar ist mit dem ersten und zweiten Datenknoten gekoppelt.
Das erste Eingangssignal und das zweite Eingangssignal sind derart ausgestaltet,
dass sie mit jedem Schreibzugriff auf die Speicherzelle einen Lesezugriff
auf die Speicherzelle aktivieren.
-
In
einer Ausführungsform
wird das erste komplementäre
Bitleitungspaar als Reaktion auf ein Potential auf dem ersten Eingangssignal
mit den ersten und zweiten Datenknoten gekoppelt und das zweite
komplementäre
Bitleitungspaar wird als Reaktion auf ein Potential auf dem zweiten
Eingangssignal mit den ersten und zweiten Datenknoten gekoppelt.
-
Eine
Speichervorrichtung weist ein Speicherzellenarray mit einer Mehrzahl
von Speicherzellen auf. Jede der Mehrzahl von Speicherzellen umfasst einen
ersten Datenknoten und einen zweiten Datenknoten zum Speichern komplementärer Daten.
Jede der Mehrzahl von Speicherzellen umfasst weiterhin eine mit
einer ersten Zugriffseinheit und mit einer zweiten Zugriffseinheit
gekoppelte erste Wortleitung und eine mit einer dritten Zugriffseinheit
und mit einer vierten Zugriffseinheit gekoppelte zweite Wortleitung. Ein
erstes komplementäres
Bitleitungspaar ist mit dem ersten und zweiten Datenknoten gekoppelt
und ein zweites komplementäres
Bitleitungspaar ist ebenfalls mit dem ersten und zweiten Datenknoten gekoppelt.
Die Speichervorrichtung weist weiterhin eine Steuerschaltung auf,
die mit einer Mehrzahl der ersten und zweiten Wortleitungen gekoppelt
ist. Die Steuerschaltung ist zum Aktivieren von Lese- und Schreibzugriffen
auf mindestens eine Speicherzelle der Mehrzahl von Speicherzellen
ausgestaltet. Die Steuerschaltung ist weiterhin derart ausgestaltet, dass
sie einen Lesezugriff auf mindestens eine Speicherzelle der Mehrzahl
von Speicherzellen als Reaktion auf mindestens ein Schreibzugriffseingangssignal
aktiviert.
-
In
einer Ausführungsform
ist der Lesezugriff auf die mindestens eine der Mehrzahl von Speicherzellen
ein Schein-Lesezugriff.
-
In
einer Ausführungsform
ist die Steuerschaltung derart ausgestaltet, dass sie den Lesezugriff
und einen Schreibzugriff auf die gleiche Speicherzelle als Reaktion
auf das mindestens eine Schreibzugriffseingangssignal aktiviert.
-
In
einer Ausführungsform
ist die Steuerschaltung derart ausgestaltet, dass sie mindestens ein
Lesezugriffseingangssignal mit dem mindestens einen Schreibzugriffseingangssignal
logisch kombiniert und den Lesezugriff auf die mindestens eine der Mehrzahl
von Speicherzellen aktiviert, wenn das mindestens eine Schreibzugriffseingangssignal
aktiviert ist und kein Lesezugriffseingangssignal aktiviert ist.
-
In
einer Ausführungsform
ist die Steuerschaltung derart ausgestaltet, dass sie den Lesezugriff
und einen Schreibzugriff gleichzeitig einleitet.
-
In
einer Ausführungsform
ist die Steuerschaltung derart ausgestaltet, dass sie den Schreibzugriff
für eine
längere
Zeitdauer als den Lesezugriff aktiviert.
-
In
einer Weiterbildung umfasst die Speichervorrichtung weiterhin eine
Vorladeschaltung, die mit einer Mehrzahl erster und zweiter komplementärer Bitleitungspaare
gekoppelt ist. Die Vorladeschaltung ist derart ausgestaltet, dass
sie das Aufladen eines ersten und zweiten komplementären Bitleitungspaars der
mindestens einen der Mehrzahl von Speicherzellen während des
Lesezugriffs auf die mindestens eine der Mehrzahl von Speicherzellen
verhindert.
-
In
einer Weiterbildung umfasst die Speichervorrichtung weiterhin eine
Ein-/Ausgabeschaltung zum Verhindern einer Datenübertragung vom ersten und zweiten
Datenknoten zu einem Datenausgang während des Lesezugriffs auf
die mindestens eine der Mehrzahl von Speicherzellen.
-
In
einer Ausführungsform
sind die Speicherzellen in einer Matrix von Zeilen und Spalten angeordnet
sind. Eine erste Wortleitung ist mit einer Mehrzahl von Speicherzellen,
die einer Zeile der Mehrzahl von Zeilen der Matrix zugeordnet sind,
gekoppelt und eine zweite Wortleitung ist mit einer Mehrzahl von Speicherzellen
der Zeile gekoppelt. Ein erstes komplementäres Bitleitungspaar ist mit
einer Mehrzahl von Speicherzellen, die einer Spalte der Mehrzahl von
Spalten der Matrix zugeordnet sind, gekoppelt und ein zweites komplementäres Bitleitungspaar
ist mit einer Mehrzahl von Speicherzellen der Spalte gekoppelt.
-
In
einer Ausführungsform
ist die Steuerschaltung derart ausgestaltet ist, dass sie den Lesezugriffs
auf eine Mehrzahl von Speicherzellen der Zeile aktiviert.
-
Eine
Vorrichtung weist ein Speicherzellenarray mit einer Mehrzahl von
Speicherzellen auf. Jede der Mehrzahl von Speicherzellen umfasst
einen ersten Datenknoten und einen zweiten Datenknoten zum Speichern
von komplementären
Daten. Jeder der Mehrzahl von Speicherzellen umfasst weiterhin eine
Mehrzahl von Anschlüssen
bzw. Ports umfassend ein erstes komplementäres Bitleitungspaar und ein
zweites komplementäres
Bitleitungspaar. Die Mehrzahl von Ports ist zum Zugreifen auf den
ersten Datenknoten und den zweiten Datenknoten ausgestaltet. Die
Vorrichtung umfasst weiterhin eine mit der Mehrzahl von Ports gekoppelte
Steuerschaltung. Die Steuerschaltung ist derart ausgestaltet, dass
sie einen Lesezugriff auf mindestens einen Port der Mehrzahl von
Ports als Reaktion auf mindestens ein Schreibzugriffseingangssignal
aktiviert.
-
Ein
Verfahren zum Zugreifen auf eine Speicherzelle umfasst ein Voraufladen
eines ersten komplementären
Bitleitungspaars und eines zweiten komplementären Bitleitungspaars der Speicherzelle auf
eine Spannung. Das Verfahren umfasst weiterhin ein Empfangen eines
Schreibzugriffs an der Speicherzelle und ein Aktivieren eines Lesezugriffs
auf die Speicherzelle als Reaktion auf den Schreibzugriff.
-
In
einer Ausführungsform
umfasst das Verfahren weiterhin ein Aktivieren eines Schreibzugriffs auf
die Speicherzelle.
-
In
einer Ausführungsform
umfasst das Verfahren weiterhin ein gleichzeitiges Einleiten des
Lesezugriffs und eines Schreibzugriffs auf die Speicherzelle.
-
In
einer Ausführungsform
ist die Zeitdauer der Aktivierung des Lesezugriffs kürzer als
die Zeitdauer der Aktivierung des Schreibzugriffs.
-
Ausführungsbeispiele
werden nachfolgend, Bezug nehmend auf die beiliegenden Figuren,
näher erläutert. Die
Verwendung der gleichen Bezugszeichen in unterschiedlichen Figuren
zeigt ähnliche
oder gleichartige Gegenstände
an.
-
Es
zeigen:
-
1 zeigt
ein schematisches Schaltbild einer Speicherzelle.
-
2 ist
ein Signalverlaufsdiagramm, das eine beispielhafte Operation der
in Verbindung mit 1 dargestellten und beschriebenen
Speicherzelle zeigt.
-
3 zeigt
ein schematisches Schaltbild eines Halbleiterspeichers mit einem
Speicherzellenarray.
-
4 zeigt
ein schematisches Schaltbild eines Halbleiterspeichers mit einem
Speicherzellenarray, das Three-Port
Speicherzellen umfasst.
-
5 zeigt
ein schematisches Schaltbild einer Logikschaltung, die Teil einer
in Verbindung mit 3 dargestellten und beschriebenen
Steuerschaltung sein kann.
-
6 zeigt
ein schematisches Schaltbild einer weiteren Logikschaltung, die
Teil einer in Verbindung mit 3 dargestellten
und beschriebenen Steuerschaltung sein kann.
-
7 zeigt
Simulationsergebnisse von Werten der Schreibstabilität, des sogenannten „write margin", von mehreren Speicherzellen.
-
8 zeigt
einen Graphen mit Spannungssimulationsergebnissen während eines
Schreibzugriffs auf eine Speicherzelle.
-
9 zeigt
einen Graphen von Stromsimulationsergebnissen entsprechend dem in 8 dargestellten
Schreibzugriff auf eine Speicherzelle.
-
10 zeigt
ein Flussdiagramm, das eine Anzahl von Operationen eines Zugriffs
auf eine Speicherzelle enthält.
-
Gemäß einer
hier beschriebenen Ausführungsform
enthält
eine Speicherzelle einen ersten Datenknoten und einen zweiten Datenknoten.
Der erste und zweite Datenknoten speichern komplementäre Daten.
Zusätzlich
enthält
die Speicherzelle mindestens vier Zugriffseinheiten und ein erstes
Eingangssignal ist an zwei Zugriffseinheiten angekoppelt und ein
zweites Eingangssignal ist an zwei weitere Zugriffseinheiten angekoppelt.
Auch enthält
die Speicherzelle ein erstes komplementäres Bitleitungspaar und ein
zweites komplementäres
Bitleitungspaar. Sowohl das erste komplementäre Bitleitungspaar als auch
das zweite komplementäre
Bitleitungspaar sind an den ersten und zweiten Datenknoten angekoppelt.
Das erste Eingangssignal und das zweite Eingangsignal aktivieren
einen Lesezugriff auf die Speicherzelle mit jedem Schreibzugriff
auf die Speicherzelle. Als Reaktion auf ein Potential auf dem ersten
Eingangssignal kann das erste komplementäre Bitleitungspaar an den ersten
und zweiten Datenknoten angekoppelt werden. Als Reaktion auf ein
Potential auf dem zweiten Eingangssignal kann das zweite komplementäre Bitleitungspaar
an den ersten und zweiten Datenknoten angekoppelt werden.
-
1 zeigt
ein schematisches Schaltbild einer Speicherzelle 100 nach
einer weiteren hier beschriebenen Ausführungsform. In der 1 ist
ein erster Datenknoten 101 an eine erste Bitleitung 102 angekoppelt.
Eine erste Zugriffseinheit 103 ist an eine erste Wortleitung 104 angekoppelt.
Ein zweiter Datenknoten 105 ist an eine zweite Bitleitung 106 angekoppelt.
Eine zweite Zugriffseinheit 107 ist an die erste Wortleitung 104 angekoppelt.
Der erste Datenknoten 101 ist auch an eine dritte Bitleitung 108 angekoppelt.
Eine dritte Zugriffseinheit 109 ist an eine zweite Wortleitung 110 angekoppelt.
Der zweite Datenknoten 105 ist auch an eine vierte Bitleitung 111 angekoppelt.
Eine vierte Zugriffseinheit 112 ist an die zweite Wortleitung 110 angekoppelt.
Die Speicherzelle 100 speichert einander entgegengesetzte
Daten, d. h. der erste Datenknoten 101 und der zweite Datenknoten 105 speichern
komplementäre
Daten. Die erste Bitleitung 102 und zweite Bitleitung 106 halten
zueinander komplementäre
Daten und die dritte Bitleitung 108 und die vierte Bitleitung 111 halten
zueinander komplementäre
Daten, d. h. die erste Bitleitung 102 und zweite Bitleitung 106 bilden
ein komplementäres
Bitleitungspaar und die dritte Bitleitung 108 und die vierte
Bitleitung 111 bilden ein komplementäres Bitleitungspaar. Die erste
Wortleitung 104 und die zweite Wortleitung 110 der
Speicherzelle 100 aktivieren einen Lesezugriff auf eine
Speicherzelle 100 mit jedem Schreibzugriff auf die Speicherzelle 100.
-
Die
Verwendung von komplementären
Bitleitungspaaren ermöglicht
einen differentiellen Zugriff auf Daten, die im ersten Datenknoten 101 und
im zweiten Datenknoten 105 gespeichert sind. Dies erlaubt
das Auslesen der Speicherzelle 100, d. h. das Erfassen
der komplementären
Bitleitungspaare, selbst in der Gegenwart von Rauschen oder Offset. Wenn
daher die Speicherzelle 100 beispielsweise in einem System
an Chip integriert ist, ist sie möglicherweise nicht empfindlich
gegenüber
irgendwelchem Rauschen in benachbarten Schaltungselementen.
-
Bezugnehmend
auf 1 kann die erste Zugriffseinheit 103 weiterhin
an die erste Bitleitung 104 und den ersten Datenknoten 101 angekoppelt
sein. Der erste Datenknoten 101 kann durch die erste Zugriffseinheit 103 als
Reaktion auf ein Potential auf der ersten Wortleitung 104 an
die erste Bitleitung 102 angekoppelt sein. Die zweite Zugriffseinheit 107 kann weiterhin
an die zweite Bitleitung 106 und den zweiten Datenknoten 105 angekoppelt
sein. Der zweite Datenknoten 105 kann als Reaktion auf
ein Potential auf der ersten Wortleitung 104 durch die
zweite Zugriffseinheit 107 an die zweite Bitleitung 106 angekoppelt
sein. Die dritte Zugriffseinheit 109 kann weiterhin an
die dritte Bitleitung 108 und an den ersten Datenknoten 101 angekoppelt
sein. Der erste Datenknoten 101 kann als Reaktion auf ein
Potential auf der zweiten Wortleitung 110 an die dritte
Bitleitung 108 angekoppelt sein. Die vierte Zugriffseinheit 112 kann
weiterhin an die vierte Bitleitung 111 und an den zweiten
Datenknoten 105 angekoppelt sein. Der zweite Datenknoten 105 kann
als Reaktion auf ein Potential auf der zweiten Wortleitung 110 an
die vierte Bitleitung 111 angekoppelt sein.
-
Die
Speicherzelle 100 kann ein parallel zwischen den ersten
Datenknoten 101 und den zweiten Datenknoten 105 geschaltetes
Paar von kreuzgekoppelten Invertern enthalten. Der erste Inverter 113 des Paars
kreuzgekoppelter Inverter kann einen zwischen eine Versorgungsspannung 115 und
den ersten Datenknoten 101 geschalteten Pull-Up-Transistor 114 mit
einem an den zweiten Datenknoten 105 angeschlossenen Gate
enthalten. Der erste Inverter 113 kann weiterhin einen
zwischen den ersten Datenknoten 101 und eine Versorgungsspannung 117 geschalteten
Pull-Down-Transistor 116 mit einem mit dem zweiten Datenknoten 105 verbundenen
Gate enthalten. Infolgedessen können
der Pull-Up-Transistor 114 und der Pull-Down-Transistor 116 in
Reihe geschaltete Anschlüsse
aufweisen, die den ersten Datenknoten 101 definieren. Der
zweite Inverter 118 des Paars kreuzgekoppelter Inverter
kann einen zwischen die Versorgungsspannung 115 und den
zweiten Datenknoten 105 geschalteten Pull-Up-Transistor 119 mit
einem mit dem ersten Datenknoten 101 verbundenen Gate enthalten.
Der zweite Inverter 118 kann weiterhin einen zwischen den
zweiten Datenknoten 105 und die Versorgungsspannung 117 geschalteten
Pull-Down-Transistor 120 mit einem mit dem ersten Datenknoten 101 verbundenen
Gate enthalten. Infolgedessen können
der Pull-Up-Transistor 119 und der Pull-Down-Transistor 120 in
Reihe geschaltete Anschlüsse
aufweisen, die den zweiten Datenknoten 105 definieren.
-
Die
Pull-Up-Transistoren 114, 119 können als
P-Kanal-MOS-Transistoren
ausgeführt
sein und die Pull-Down-Transistoren 116, 120 können als N-Kanal-MOS-Transistoren
ausgeführt
sein. Jedoch können
die Transistoren 114, 116, 119, 120 alternativ auch
als unterschiedliche Arten von Transistoren ausgeführt sein.
Weiterhin könnte
das Paar kreuzgekoppelter Inverter nicht nur Transistoren enthalten,
z. B. könnten
die Pull-Up-Transistoren 114, 119 als
Polysilizium-Lastwiderstände
ausgeführt
sein.
-
Die
erste Zugriffseinheit 103, zweite Zugriffseinheit 107,
dritte Zugriffseinheit 109 und vierte Zugriffseinheit 112 können als
Transistoren ausgeführt sein
und die Transistoren können
den gleichen Leitfähigkeitstyp
aufweisen, z. B. N-Kanal-MOS-Transistoren
oder P-Kanal-MOS-Transistoren.
-
Die
Speicherzelle 100 der 1 ist eine
Dual-Port-SRAM-Zelle,
wo jeder Anschluss bzw. Port hinsichtlich der Eingangs-/Ausgangs-Bitleitungspaare,
die zur Übertragung
von Daten in die und aus der Speicherzelle 100 benutzten
werden, identifiziert ist. Der die erste Bitleitung 102,
die zweite Bitleitung 106, die erste Zugriffseinheit 103 und
die zweite Zugriffseinheit 107 benutzende Eingangs-/Ausgangspfad kann
als ein erster Port bezeichnet sein und der die dritte Bitleitung 108,
die vierte Bitleitung 111, die dritte Zugriffseinheit 109 und
die vierte Zugriffseinheit 112 benutzende Eingangs-/Ausgangspfad
kann als ein zweiter Port bezeichnet sein.
-
2 ist
ein Signalverlaufsdiagramm, das eine beispielhafte Operation der
in Verbindung mit 1 dargestellten und beschriebenen
Speicherzelle 100 darstellt. Es wird nunmehr angenommen,
dass anfänglich
der erste Datenknoten 101 einen logischen Wert „1" speichert und der
komplementäre zweite
Datenknoten 105 einen logischen Wert „0" speichert. Es wird weiterhin angenommen,
dass die Versorgungsspannung 115 eine Versorgungsspannung
mit einem hohen Spannungspegel ist und die Versorgungsspannung 117 eine
Versorgungsspannung mit einem niedrigen Spannungspegel ist. Während der
in 2 beschriebenen Operation werden Daten in die
Speicherzelle eingeschrieben, die den entgegengesetzten Logikpegel
besitzen wie die im ersten Datenknoten 101 und im zweiten
Datenknoten 105 gehaltenen Daten.
-
Zur
Zeit t1 wird die erste Wortleitung 104 und die zweite Wortleitung 110 auf
einen Logikwert „0" getrieben, d. h.
sie werden deaktiviert. Die erste Bitleitung 102, die zweite
Bitleitung 106, die dritte Bitleitung 108 und
die vierte Bitleitung 111 werden auf ein im folgenden als
Vorladespannung bezeichnetes Potential vorgeladen. Der erste Datenknoten 101 speichert
einen Logikwert „1" und der komplementäre zweite
Datenknoten 105 speichert einen Logikwert „0".
-
Zur
Zeit t2 wird die erste Wortleitung 104 aktiviert. Wenn
die erste Wortleitung 104 auf einen Logikwert „1" getrieben wird,
wird der erste Datenknoten 101 über den Zugriffstransistor 103 an
die erste Bitleitung 104 angekoppelt und der zweite Datenknoten 105 wird über den
Zugriffstransistor 107 an die zweite Bitleitung 106 angekoppelt.
Zusätzlich
wird die zweite Wortleitung 110 auf einen Logikwert „1" getrieben. Infolgedessen
wird der erste Datenknoten 101 über den Zugriffstransistor 109 an
die dritte Bitleitung 108 angekoppelt und der zweite Datenknoten 105 wird über den
Zugriffstransistor 112 an die vierte Bitleitung 111 angekoppelt.
Durch Aktivieren der beiden Wortleitungen, d. h. der ersten Wortleitung 104 und
der zweiten Wortleitung 110, findet ein Schreibzugriff
zusammen mit einem Lesezugriff auf die Speicherzelle 100 statt.
-
Zur
Zeit t3 befindet sich die erste Wortleitung 104 und die
zweite Wortleitung 110 noch auf dem Logikwert „1". Die dritte Bitleitung 108 und
die vierte Bitleitung 111 sind möglicherweise nicht mehr auf
die Vorladespannung aufgeladen. Die erste Bitleitung 102 wird
auf einen Logikwert „0" getrieben und die zweite
Bitleitung 106 wird auf einen Logikwert „1" getrieben. Die Spannung
am zweiten Datenknoten 105 kann aufgrund des Stromflusses
durch die vierte Zugriffseinheit 112 und den Pull-Down-Transistor 120 um
einen geringen Spannungsbetrag erhöht werden. Diese geringe Spannungserhöhung am
zweiten Datenknoten 105 kann den Pull-Up-Transistor 114 so schwächen, dass,
wenn der Logikwert „0" in den ersten Datenknoten
der Speicherzelle 100 über
die erste Bitleitung 102 und den ersten Zugriffstransistor 103 eingeschrieben
wird, die Kreuzkopplung der Inverter 113, 118 schneller
abgeschlossen wird. Weiterhin kann aufgrund der geringen Spannungserhöhung am zweiten
Datenknoten 105 ein bevorstehender Übergang des zweiten Datenknotens 105 zu
einem Logikwert „1" aufgrund seines
höheren
Startzustandes beschleunigt werden.
-
Zur
Zeit t4 sind die erste Wortleitung 104 und die zweite Wortleitung 110 deaktiviert
worden, wodurch die Bitleitungen 102, 106, 108, 111 von
den Datenknoten 101, 105 abgetrennt werden. Bitleitungen 102, 106, 108, 111 können auf
die Vorladespannung vorgeladen werden. Nun speichert der erste Datenknoten 101 einen
Logikwert „0" und der komplementäre zweite
Datenknoten 105 speichert einen Logikwert „1".
-
Durch
Treiben sowohl der ersten Wortleitung 104 als auch der
zweiten Wortleitung 110 auf einen Logikwert „1" wird ein Schreibzugriff über den
ersten Port zusammen mit einem Lesezugriff über den zweiten Port aktiviert.
Das Durchführen
eines Lesezugriffs zusammen mit jedem Schreibzugriff kann die Schreibstabilität, den sogenannten „write
margin", der Speicherzelle 100 erhöhen und
kann die Stabilität der
Speicherzelle 100 verringern. Durch Verringern der Stabilität der Speicherzelle 100 während Schreibzugriffen
kann es möglich
sein, stabiles Schreiben der Speicherzelle 100 durchzuführen. Stabiles Schreiben
kann selbst dann möglich
sein, wenn die Versorgungsspannung mit dem hohen Spannungspegel 115 auf
einer Mindestbetriebsspannung liegt. Zusätzlich kann stabiles Schreiben
für Speicherzellen
möglich
sein, die unter Verwendung einer herunterskalierten Prozesstechnik
hergestellt wurden und/oder die von Bauteilschwankungen betroffen sind.
Wie schon beschrieben kann Lesezugriff, der zusammen mit jedem Schreibzugriff
durchgeführt wird,
zum Durchführen
von stabilem Schreiben benutzt werden. Ein Lesezugriff, der nicht
zum Auslesen von Daten aus einem Speicher benutzt wird, kann als
ein Schein-Lesezugriff
bezeichnet werden.
-
Gemäß dem in 2 dargestellten
Signalverlauf können
die erste Wortleitung 104 und die zweite Wortleitung 110 gleichzeitig
mit jedem Schreibzugriff auf die Speicherzelle 100 aktiviert
werden. Alternativ können
die erste Wortleitung 104 und die zweite Wortleitung 110 auch
nacheinander mit jedem Schreibzugriff auf die Speicherzelle 100 aktiviert werden.
-
Gemäß dem in 2 dargestellten
Signalverlauf kann die erste Wortleitung 104 zum Durchführen eines
Schreibzugriffs für
die gleiche Zeitdauer wie die zweite Wortleitung 110 zum
Durchführen
eines gleichzeitigen Lesezugriffs aktiviert werden. Alternativ kann
die erste Wortleitung 104 für eine längere Zeitdauer als die zweite
Wortleitung 110 aktiviert werden.
-
3 zeigt
ein Schaltbild eines Aufbaus eines Halbleiterspeichers mit einem
Speicherzellenarray 300. Das in 3 gezeigte
Speicherzellenarray 300 kann als Cache-Speicher in einem Datenprozessor oder
als Rahmenpuffer auf einem Video-Chip implementiert werden. Das
Speicherzellenarray 300 kann auch als andere Techniken
implementiert sein. Die Speicherzellen 301, 302, 303, 304, 305, 306, 307, 308, 309 sind
repräsentative
Speicherzellen, die eine Mehrzahl von Speicherzellen darstellen.
Jede der Mehrzahl von Speicherzellen kann eine Speicherzelle 100 sein,
wie sie in Verbindung mit 1 dargestellt
und beschrieben wurde. Eine Steuerschaltung 310 kann an
erste und zweite Wortleitungen angekoppelt sein und kann Lese- und
Schreibzugriffe auf die Speicherzellen aktivieren. Die Steuerschaltung 310 kann
mehrere Eingangssignale 312 empfangen. Mindestens eines
dieser Eingangssignale 312 kann ein Schreibzugriffseingangssignal 311 sein,
das die Steuerschaltung 310 zum Einschreiben von Daten
in mindestens eine Speicherzelle triggert. Die Steuerschaltung 310 kann
als Reaktion auf das mindestens eine Schreibzugriffseingangssignal 311 einen
Lesezugriff auf die mindestens eine Speicherzelle aktivieren. Wie
hier schon früher
besprochen wurde, kann der mit jedem Schreibzugriff durchgeführte Lesezugriff
zum Durchführen
von stabilem Schreiben einer Speicherzelle benutzt werden. Ein Lesezugriff,
der nicht zum Auslesen von Daten eines Speichers benutzt wird, kann
als ein Schein-Lesezugriff bezeichnet werden.
-
Wenn
das mindestens eine Schreibzugriffseingangssignal 311 aktiviert
wird, kann die Steuerschaltung 310 den Lesezugriff und
einen Schreibzugriff gleichzeitig einleiten. Wie im Signalverlaufsdiagramm
der 2 gezeigt kann eine erste Wortleitung 104 und
eine zweite Wortleitung 110 zur gleichen Zeit von einem
deaktivierten Zustand in einen aktivierten Zustand umgeschaltet
werden. Die erste Wortleitung 104 kann zum Durchführen des
Schreibzugriffs benutzt werden und die zweite Wortleitung 110 kann zum
Durchführen
des Lesezugriffs benutzt werden. Die erste Wortleitung 104 kann
eine längere
Zeitdauer als die zweite Wortleitung 110 im aktivierten
Zustand bleiben.
-
Nach
Aktivierung des mindestens einen Schreibzugriffseingangssignals 311 kann
die Steuerschaltung 310 einen Schreibzugriff und einen
Lesezugriff auf die gleiche Speicherzelle durchführen. Bei Empfang des mindestens
einen Schreibzugriffseingangssignals 311 kann die Steuerschaltung 310 eine erste
Wortleitung und eine zweite Wortleitung aktivieren und die erste
und zweite Wortleitung kann mit der gleichen Speicherzelle verbunden
werden.
-
Die
Steuerschaltung 310 kann mehrere Eingangssignale 312,
z. B. Adresssignale, Lese-/Schreibbetriebssignale und/oder Chip-Betriebssignale
empfangen. Mindestens eines dieser Eingangssignale 312 kann
das Schreibzugriffseingangssignal 311 sein und mindestens
eines dieser Eingangssignale 312 kann ein Lesezugriffseingangssignal 313 sein.
Von der Steuerschaltung 310 kann das Schreibzugriffseingangssignal 311 logisch
mit dem Lesezugriffseingangssignal 313 kombiniert werden. Die
Steuerschaltung 310 kann einen Lesezugriff auf mindestens
eine Speicherzelle durchführen,
wenn mindestens eines der Schreibzugriffseingangssignale aktiviert
ist und keines der Lesezugriffseingangssignale aktiviert ist.
-
Die
Steuerschaltung 310 kann interne Zeilenadresssignale 314,
interne Spaltenadresssignale 315 und für verschiedene Operationen
gemäß den angelegten
Eingangssignalen 312 erforderliche Steuersignale 316 erzeugen.
Die internen Zeilenadresssignale 314 können mit einer Wortleitungsdecoderschaltung 317 verbunden
sein. Die Wortleitungsdecoderschaltung 317 kann die internen
Zeilenadresssignale 314 decodieren und kann die ersten Wortleitungen
und die zweiten Wortleitungen gemäß den internen Zeilenadresssignalen 314 ansteuern.
-
Das
Speicherzellenarray 300 kann eine Ein-/Ausgabeschaltung 318 enthalten,
die an einem Ein-/Ausgabeanschluss 319 Daten empfängt und Daten
bereitstellt. Wie in der 3 gezeigt kann die Ein-/Ausgabeschaltung 318 Teil
einer Bitleitungslogikschaltung 320 sein. Die Bitleitungslogikschaltung 320 kann
mit den internen Spaltenadresssignalen 315 verbunden sein.
Bei einer Datenschreiboperation kann die Ein-/Ausgabeschaltung 318 an
den Ein-/Ausgabeanschlüssen 319 empfangene
Daten gemäß den internen
Spaltenadresssignalen 315 zu ersten komplementären Bitleitungspaaren
und/oder zweiten komplementären
Bitleitungspaaren übertragen.
-
Das
Speicherzellenarray 300 kann eine Leseverstärkerschaltung 321 enthalten.
Die Leseverstärkerschaltung 321 kann
Teil der Bitleitungslogikschaltung 320, Teil der Ein-/Ausgabeschaltung 318 sein
oder kann an die Ein-/Ausgabeschaltung 318 angekoppelt
sein. Die Leseverstärkerschaltung 321 empfängt Daten
von den ersten komplementären
Bitleitungspaaren und/oder von den zweiten komplementären Bitleitungspaaren
gemäß den internen Spaltenadresssignalen 315.
Bei einer Datenleseoperation erfasst die Leseverstärkerschaltung 321 von einem
komplementären
Bitleitungspaar empfangene Spannungsdifferenzen und erzeugt verstärkte Daten, die
zum Ein-/Ausgabeanschluss 319 übertragen werden. Während eines
Schein-Lesezugriffs kann möglicherweise
keine Erfassung des dem Schein-Lesezugriff zugeordneten komplementären Bitleitungspaars in
der Leseverstärkerschaltung 321 stattfinden
und es können
möglicherweise
keine Daten von der Leseverstärkerschaltung 321 zum
Ein-/Ausgabeanschluss 319 weitergeleitet werden.
-
Das
Speicherzellenarray 300 kann eine Vorladeschaltung 322 enthalten,
die an erste komplementäre
Bitleitungspaare und an zweite komplementäre Bitleitungspaare angekoppelt
ist. Die Vorladeschaltung 322 kann Teil der Bitleitungslogikschaltung 320 und/oder
Teil der Ein-/Ausgabeschaltung 318 sein. Von der Vorladeschaltung 322 werden
die ersten komplementären
Bitleitungspaare und die zweiten komplementären Bitleitungspaare auf eine
Vorladespannung aufgeladen, wenn kein Zugriff auf das Speicherzellenarray
erfolgt. Während
eines Schreibzugriffs auf Speicherzellen können die der Schreiboperation
zugeordneten einen oder mehreren komplementären Bitleitungspaare eine Zeitdauer
lang nicht vorgeladen werden, um Beschreiben der Speicherzellen
zu erlauben. Während
eines Schein-Lesezugriffs können
die der Schein-Leseoperation zugeordneten komplementären Bitleitungspaare
auch eine Zeit lang nicht vorgeladen werden. Ähnlich wie bei einer herkömmlichen
Leseoperation können
die dem Schein-Lesezugriff zugeordneten komplementären Bitleitungspaare
von der Leseverstärkerschaltung 321 gelesen
werden und es können
Daten zu den Ein-/Ausgabeanschlüssen 319 weitergeleitet
werden. Alternativ können
die dem Schein-Lesezugriff zugeordneten
komplementären
Bitleitungspaare während
der Schein-Leseoperation auf die Vorladespannung aufgeladen werden.
-
Das
in 3 gezeigte Speicherzellenarray 300 enthält Dual-Port Speicherzellen.
Jede Speicherzelle ist über
eine erste Wortleitung und eine zweite Wortleitung mit der Wortleitungsdecoderschaltung 317 verbunden.
Weiterhin ist jede Speicherzelle über ein erstes komplementäres Bitleitungspaar
und ein zweites komplementäres
Bitleitungspaar mit der Bitleitungslogikschaltung 320 verbunden.
Die Eingangssignale 312 der Steuerschaltung 310 in
einem Dual-Port-Speicherzellenarray 300 können zwei Adressbusse 323, 324 einschließen. Ein
Adressbus 323, 324 kann zum Zugriff auf den ersten
Port der Dual-Port Speicherzellen benutzt werden und der andere
Adressbus 323, 324 kann zum Zugriff auf den zweiten
Port der Dual-Port-Speicherzellen
benutzt werden. Gemäß einer
Ausführungsform
ist es möglich,
sowohl Lese- als auch Schreibzugriffe über den ersten Port durchzuführen und
es ist möglich,
sowohl Lese- als auch Schreibzugriffe über den zweiten Port durchzuführen. In
einer alternativen Ausführungsform
kann das Speicherzellenarray 300 eine Mehrzahl von Dual-Port-Speicherzellen enthalten
und einer der zwei Ports der Speicherzellen kann Schreiboperationen
zugeordnet sein und der andere Port der Speicherzellen kann Leseoperationen
zugeordnet sein.
-
Die
Aufteilung der Blöcke 310, 317, 318, 320, 321, 322 kann
sich von der in 3 gezeigten Konfiguration unterscheiden.
Weiterhin können
alle Blöcke 310, 317, 318, 320, 321, 322 zusammen
mit den Speicherzellen auf einem einzigen Halbleiterbauelement implementiert
sein. Als Alternative können
einige Blöcke
oder Teile von Blöcken
auf unterschiedlichen Halbleiterbauelementen implementiert sein. Weitere
Schaltungen, die in der 3 nicht gezeigt sind, wie Bitleitungsentzerrerschaltungen,
Leseunterstützungsschaltungen
und/oder weitere Schreibunterstützungsschaltungen
können
Teil des Speicherzellenarray 300 sein. Die 3 spiegelt
nicht das gesamte oder einen Teil des eigentlichen physikalischen
Layouts des Speicherzellenarray 300 wider.
-
Das
Speicherzellenarray kann Multi-Port Speicherzellen enthalten. 4 zeigt
ein Schaltschema eines Aufbaus eines Halbleiterspeichers mit einem
Speicherzellenarray 400, das Three-Port Speicherzellen
enthält.
Speicherzellen 401, 402, 403, 404, 405, 406, 407, 408, 409 sind
repräsentative Speicherzellen,
die eine Mehrzahl von Three-Port Speicherzellen darstellen. Eine
Steuerschaltung 410 kann der Steuerschaltung 310 der 3 ähnlich sein,
eine Wortleitungsdecoderschaltung 417 kann der Wortleitungsdecoderschaltung 317 der 3 ähnlich sein
und eine Bitleitungslogikschaltung 420 kann der Bitleitungslogikschaltung 320 der 3 ähnlich sein.
Die Steuerschaltung 410 kann mehrere Eingangssignale 412 empfangen.
Die Eingangssignale 412 können mindestens ein Schreibzugriffseingangssignal 411 und
drei Adressbusse 423, 424, 425 umfassen.
Der Adressbus 423 kann zum Zugreifen auf Port 1,
der Adressbus 424 zum Zugreifen auf Port 2 und
der Adressbus 425 zum Zugreifen auf Port 3 der
Three-Port Speicherzellen benutzt werden.
-
Jedem
Port kann ein komplementäres
Bitleitungspaar und eine Wortleitung zugeordnet sein. Z. B. kann
für die
Speicherzelle 401 die Zuweisung wie folgt sein: Port 1 kann
einer Wortleitung 430, einer Bitleitung 431 und
einer komplementären
Bitleitung 432 zugeordnet sein, Port 2 kann einer
Wortleitung 433, einer Bitleitung 434 und einer
komplementären Bitleitung 435 zugeordnet
sein und Port 3 kann einer Wortleitung 436, einer
Bitleitung 437 und einer komplementären Bitleitung 438 zugeordnet
sein.
-
Bei
Empfang des mindestens einen Schreibzugriffseingangssignals 411 kann
die Steuerschaltung 410 einen Schreibzugriff auf den Port 1 einleiten und
kann Lesezugriffe auf die Ports 2 und 3 einleiten. Der
Schreibzugriff und der Lesezugriff können auf die gleiche Speicherzelle
stattfinden. Als Alternative kann die Steuerschaltung 410 bei
Empfang des mindestens einen Schreibzugriffseingangssignals 411 einen
Schreibzugriff am Port 1 einleiten und kann einen Lesezugriff
am Port 2 einleiten. Am Port 3 findet möglicherweise
kein Zugriff statt.
-
Wie
in 4 dargestellt ist das Speicherzellenarray 400 in
einer Matrix von Zeilen und Spalten angeordnet. Die Wortleitungen
sind mit Speicherzellen gekoppelt, die der gleichen Zeile zugeordneten sind.
Die komplementären
Bitleitungspaare sind an Speicherzellen angekoppelt, die der gleichen
Spalte zugeordneten. Die Wortleitungsdecoderschaltung 417 kann
für alle
zur gleichen Zeile gehörenden
Speicherzellen ein Wortleitungssignal pro Port bereitstellen. Z.
B. kann in der 4 die Wortleitungsdecoderschaltung 417 Wortleitung 430 für Port 1 der
Speicherzellen 401, 402, 403 bereitstellen,
die alle zur gleichen Zeile gehören.
Die Bitleitungslogikschaltung 420 kann für alle zur
gleichen Spalte gehörenden Speicherzellen
ein komplementäres
Bitleitungspaar pro Port bereitstellen. Z. B. kann in der 4 die
Bitleitungslogikschaltung 420 die Bitleitung 431 und komplementäre Bitleitung 432 für den Port 1 der Speicherzellen 401, 404, 407 bereitstellen,
die alle zur gleichen Spalte gehören.
-
Zum
Durchführen
eines Schreibzugriffs auf mindestens eine Speicherzelle, z. B. auf
die Speicherzelle 401 kann die Wortleitung eines Ports,
z. B. Wortleitung 430 von Port 1, aktiviert werden.
Zum Erhöhen
des write margin kann die Wortleitung von mindestens einem weiteren
Port der mindestens einen Speicherzelle aktiviert werden und es
kann eine Schein-Leseoperation
durchgeführt
werden. Z. B. kann die Wortleitung 433 des Ports 2 zum
Durchführen
eines Schein-Lesezugriffs auf die Speicherzelle 401 aktiviert
werden.
-
Obwohl
die 4 Three-Port Speicherzellen zeigt, kann das Speicherzellenarray
in einer alternativen Ausführungsform
Speicherzellen enthalten, die mehr als drei Ports aufweisen.
-
5 zeigt
ein Schaltbild einer Logikschaltung 500, die Teil der Steuerschaltung 310,
der Wortleitungsdecoderschaltung 317 oder irgendeiner anderen
Schaltung des Speicherzellenarray sein kann. Die Logikschaltung 500 kann
für jede
Wortleitung eines Speicherzellenarray implementiert sein, d. h.
für jeden
Port und für
jede Zeile von Speicherzellen in einem Speicherzellenarray, das
in einer Matrix von Zeilen und Spalten angeordnet ist.
-
Ein
Eingang 501 zeigt einen Lesezugriff auf einen ersten Port
einer Speicherzelle an, ein Eingang 502 zeigt einen Schreibzugriff
auf den ersten Port der Speicherzelle an und ein Eingang 503 zeigt
einen Schreibzugriff auf einen zweiten Port der Speicherzelle an.
Ein UND-Gate 504 empfängt
das Eingangssignal 501 und ein invertiertes Eingangssignal 502, das
durch einen Inverter 505 invertiert wird. Ein UND-Gate 506 empfängt das
Eingangssignal 502 und ein invertiertes Eingangssignal 501,
das durch einen Inverter 507 invertiert wird. Ein NOR-Gate 508 empfängt das
Eingangssignal 501 und das Eingangssignal 502.
Ein Ausgangssignal des NOR-Gates 508 ist mit einem Eingang
eines UND-Gates 509 verbunden. Ein weiterer Eingang des
UND-Gates 509 ist mit dem Eingangssignal 503 verbunden.
Ausgangssignale des UND-Gates 504, des UND-Gates 506 und
des UND-Gates 509 sind mit Eingängen eines ODER-Gates 510 verbunden. Ein
Ausgangssignal des ODER-Gates 510 treibt einen Ausgang 511 der
Logikschaltung 500. Der Ausgang 511 kann das dem
ersten Port der Speicherzelle zugeordnete Wortleitungssignal sein.
Die Eingangssignale 501, 502, 503 können in
der Steuerschaltung 310 oder in der Wortleitungsdecoderschaltung 317 als
Reaktion auf die Eingangssignale 312 erzeugt werden.
-
6 zeigt
ein Schaltbild einer weiteren Logikschaltung 600, die Teil
der Steuerschaltung 310, der Wortleitungsdecoderschaltung 317 oder
einer beliebigen anderen Schaltung des Speicherzellenarray sein
kann. Die Logikschaltung 600 kann für jede Wortleitung eines Speicherzellenarray
implementiert sein, d. h. für
jeden Port und für
jede Zeile von Speicherzellen in einem Speicherzellenarray, das
in einer Matrix von Zeilen und Spalten angeordnet ist.
-
Ein
Eingang 601 zeigt einen Lesezugriff auf einen ersten Port
einer Speicherzelle an, ein Eingang 602 zeigt einen Schreibzugriff
auf den ersten Port der Speicherzelle an und ein Eingang 603 zeigt
einen Schreibzugang auf einen zweiten Port der Speicherzelle an.
Ein UND-Gate 604 empfängt
das Eingangssignal 601 und ein invertiertes Eingangssignal 602, das
durch einen Inverter 605 invertiert wird. Ein UND-Gate 606 empfängt das
Eingangssignal 602 und ein invertiertes Eingangssignal 601,
das durch einen Inverter 607 invertiert wird. Ein ODER-Gate 608 empfängt ein
Ausgangssignal des UND-Gates 604 und
ein Ausgangssignal des UND-Gates 606. Ein UND-Gate 609 empfängt das
Eingangssignal 603 und ein invertiertes Ausgangssignal
des ODER-Gates 608, das durch einen Inverter 610 invertiert
wird. Ein ODER-Gate 611 empfängt ein Ausgangssignal des
ODER-Gates 608 und ein Ausgangssignal des UND-Gates 609.
Ein NAND-Gate 612 empfängt
das Eingangssignal 601 und das Eingangssignal 602.
Ein UND-Gate 613 empfängt
ein Ausgangssignal des NAND-Gates 612 und ein Ausgangssignal
des ODER-Gates 611. Ein Ausgangssignal des UND-Gates 613 treibt
einen Ausgang 614 der Logikschaltung 600. Der
Ausgang 614 kann das dem ersten Port der Speicherzelle
zugeordnete Wortleitungssignal sein. Die Eingangssignale 601, 602, 603 können in
der Steuerschaltung 310 oder in der Wortleitungsdecoderschaltung 317 als
Reaktion auf die Eingangssignale 312 erzeugt werden.
-
Für beide
Logikschaltungen 500, 600 kann es in Abhängigkeit
von den Eingangssignalen 501, 502, 503, 601, 602, 603 drei
Fälle geben,
wenn die Ausgänge 511, 614 aktiv
sind. Im ersten Fall sind die Ausgänge 511, 614 aktiv,
wenn ein Lesezugriff auf den ersten Port und kein gleichzeitiger
Schreibzugriff auf den ersten Port stattfindet. Im zweiten Fall
sind die Ausgänge 511, 614 aktiv,
wenn ein Schreibzugriff auf den ersten Port und kein gleichzeitiger
Lesezugriff auf den ersten Port stattfindet. Im dritten Fall sind die
Ausgänge 511, 614 aktiv,
wenn ein Schreibzugriff auf den zweiten Port und kein gleichzeitiger
Schreibzugriff auf den ersten Port und kein gleichzeitiger Lesezugriff
auf den ersten Port stattfindet. Der dritte Fall entspricht dem
Schein-Lesezugriff
wie schon für 2 und 3 beschrieben.
-
In
der 5 und in der 6 gezeigte
Signale weisen aktive hohe Logikpegel auf, d. h. ein Signal wird
als gesetzt bezeichnet, wenn das Signal auf einen hohen Logikzustand getrieben
wird. Nach einer alternativen Ausführungsform können die
Logikschaltungen 500, 600 auf eine Weise aufgebaut
sein, dass die Signale aktive niedrige Logikpegel aufweisen. Zum
Erhöhen
des write margin einer Speicherzelle können die Logikschaltungen 500, 600 oder eine
logisch gleichwertige Schaltung an jede beliebige Speicherzelle
angekoppelt sein, die mindestens zwei Ports enthält. Die Logikschaltungen 500, 600 stellen
eine kleine Änderung
des Aufbaus eines Speicherzellenarray dar, die auf einen bestimmten
Bereich in dem Speicherzellenarray begrenzt ist. Außer der
Schreiboperation wird keine Operation beeinflusst, z. B. die Lesestabilität oder das
Zeitverhalten einer Speicherzelle können gezeigt durch die Logikschaltungen 500, 600 wie
in 5 und in 6 aufrechterhalten
werden.
-
7 zeigt
Simulationsergebnisse von Werten des write margin von mehrerer Speicherzellen. Ein
Gebiet 701 zeigt Werte des write margin von Speicherzellen
nach einer der in den 1, 3 und 4 beschriebenen
Ausführungsformen,
die hier Speicherzellen mit Schreibunterstützungsmerkmal genannt werden.
Das Gebiet 702 zeigt Werte des write margin von Speicherzellen
ohne Schreibunterstützungsmerkmal.
Die Werte des write margin sind als Funktion von Werten des write
margin von Speicherzellen ohne das in Verbindung mit den hier beschriebenen
Implementierungen beschriebene Schreibunterstützungsmerkmal angezeigt. Der Spannungswert
des write margin von Speicherzellen ohne das Schreibunterstützungsmerkmal
ist entlang der x-Achse gezeigt und der Spannungswert des write
margin für
Speicherzellen sowohl mit dem als auch ohne das Schreibunterstützungsmerkmal
ist entlang der y-Achse dargestellt. Da für das Gebiet 702 die Werte
des write margin ohne das Schreibunterstützungsmerkmal entlang der x-Achse
und entlang der y-Achse aufgezeichnet sind, befinden sich alle Werte des
write margin in Gebiet 702 auf einer geraden Linie, die
ihren Ursprung am Kreuzungspunkt der x-Achse und der y-Achse hat
und die entlang einem Winkel von 45 Grad sowohl zu der x- Achse als auch der
y-Achse verläuft.
Wie ersichtlich ist, sind die Werte des write margin von Speicherzellen
mit dem Schreibunterstützungsmerkmal
höher als
die Werte des write margin von Speicherzellen ohne das Schreibunterstützungsmerkmal.
Simulationsergebnisse zeigen für
Speicherzellen mit dem Schreibunterstützungsmerkmal, dass der Mittelwert
des write margin 386 mV beträgt
und die Standardabweichung 39 mV beträgt. Für Speicherzellen ohne das Schreibunterstützungsmerkmal
beträgt
der Mittelwert des write margin 359 mV und die Standardabweichung beträgt 38,6
mV.
-
8 zeigt
einen Graphen 800 von Spannungssimulationsergebnissen während eines Schreibzugriffs
auf eine Speicherzelle gemäß einer der
in 1, 3 und 4 beschriebenen
Ausführungsformen.
Der Graph 800 enthält
ein Signal 801, das einen Spannungspegel an einem ersten
Datenknoten 101 einer Speicherzelle 100 darstellt.
Der Graph 800 enthält
weiterhin ein Signal 802, das einen Spannungspegel an einem
komplementären
zweiten Datenknoten 105 der Speicherzelle 100 darstellt,
und ein Signal 803, das einen Spannungspegel an einer Wortleitung 104, 110 darstellt,
die einem Port der Speicherzelle zugeordnet ist. Die Spannungspegel sind
als Funktion der Zeit dargestellt, wobei die Zeit entlang der x-Achse
und die Spannung entlang der y-Achse
gezeigt sind.
-
Zur
Zeit t1 speichert der erste Datenknoten 101 einen Logikwert „1" und der komplementäre zweite
Datenknoten 105 speichert einen Logikwert „0". Das Signal 801 entspricht
einem Logikwert „1" und das Signal 802 entspricht
einem Logikwert „0". Die Wortleitung 104, 110 ist
deaktiviert und das Signal 803 entspricht einem Logikwert „0". Zur Zeit t2 wird
ein Schreibzugriff auf die Speicherzelle begonnen und die Wortleitung 104, 110 wird
gesetzt, d. h. das Signal 803 bewegt sich von einem Logikwert „0" auf einen Logikwert „1". Der erste und zweite
Datenknoten 101, 105 ändern ihre Logikwerte. Als
Ergebnis entspricht das Signal 801 zur Zeit t3 einem Logikwert „0" und das Signal 802 entspricht
dem komplementären
Wert, der ein Logikwert „1" ist.
-
9 zeigt
einen Graphen 900 mit Stromsimulationsergebnissen entsprechend
dem in 8 dargestellten Schreibzugriff auf eine Speicherzelle. Der
Graph 900 enthält
Signale 901 und 902, die Ströme IPL durch den Pull-Up-Transistor
darstellen, dessen Gate mit dem zweiten Datenknoten der Speicherzelle
verbunden ist. Das Signal 901 zeigt den Strom IPL eines
Speichers mit dem Schreibunterstützungsmerkmal
und das Signal 902 zeigt den Strom IPL eines Speichers
ohne das Schreibunterstützungsmerkmal.
Die Ströme
IPL sind als Funktion der Zeit angezeigt. Die Zeit ist entlang der
x-Achse und die Ströme
IPL sind entlang der y-Achse gezeigt. Der Maßstab der x-Achse in der 9 ist
der gleiche wie der Maßstab
der x-Achse der 8.
-
Zur
Zeit t1 befindet sich die Speicherzelle in einem statischen Zustand
und die Signale 901, 902 entsprechen einem Nullwert,
was bedeutet, dass kein Strom IPL durch den Pull-Up-Transistor fließt, dessen Gate mit dem zweiten
Datenknoten der Speicherzelle verbunden ist. Während der Zeit, wenn sich das
Signal 803 von einem Logikwert „0" auf einen Logikwert „1" bewegt, beginnt
der Strom IPL durch den Pull-Up-Transistor
zu fließen,
da sich die Werte der Datenknoten 101, 105 der
Speicherzelle verändern. Beide
Signale 901, 902 erreichen ihren Höchstwert zwischen
Zeit t2 und Zeit t3, was die Zeitperiode ist, wenn die Werte der
ersten und zweiten Datenknoten 101, 105 umgeschaltet
werden. Der Höchstwert 903 des
Signals 901 ist niedriger als der Höchstwert 904 des Signals 902.
Der Höchststrom
IPL der Speicherzelle mit dem Schreibunterstützungsmerkmal ist daher niedriger
als der Höchststrom
IPL der Speicherzelle ohne das Schreibunterstützungsmerkmal. Zur Zeit t3
befindet sich die Speicherzelle wieder in einem statischen Zustand
und die Signale 901, 902 entsprechen einem Wert
null.
-
Wie
für 2 oben
beschrieben kann während
des Schreibzugriffs auf einen Speicher, der ein beispielhaftes Schreibunterstützungsmerkmal
benutzt, eine geringe Spannungserhöhung am zweiten Datenknoten
den Pull-Up-Transistor
schwächen,
da der Spannungspegel am Gateanschluß des Pull-Up-Transistors etwas
erhöht
sein kann. Der geringe Anstieg des Spannungspegels am Gate-Anschluß des Pull-Up-Transistors kann
eine Verringerung von Strom IPL bewirken. Der Höchstwert 903 des Stroms
IPL von Speicherzellen mit dem Schreibunterstützungsmerkmal ist daher geringer
als der Höchstwert 904 von
Strom IPL von Speicherzellen ohne das Schreibunterstützungsmerkmal.
-
10 zeigt
ein Flussdiagramm 1000, das eine Anzahl von Operationen
eines Zugriffs auf eine Speicherzelle einschließt. Sofern nicht anders angegeben,
soll die Reihenfolge, in der die Operationen beschrieben sind, nicht
als eine Begrenzung aufgefasst werden. Operationen können wiederholt
werden, können
in jeder Reihenfolge kombiniert werden und/oder können parallel
ausgeführt
werden. In Teilen der nachfolgenden Beschreibung wird auf die Darstellungen
der 1 bis 7 und deren Gegenstand Bezug
genommen. Das in 10 beschriebene Verfahren kann
unter Verwendung der vorher beschriebenen Ausführungsformen realisiert werden.
-
Bei
der Operation 1001 werden ein erstes komplementäres Bitleitungspaar
und ein zweites komplementäres
Bitleitungspaar einer Speicherzelle, wie beispielsweise der in 1 dargestellten
Speicherzelle 100, vor-aufgeladen. Die komplementären Bitleitungspaare
können
vor einem Lese- und/oder Schreibzugriff
auf die Speicherzelle auf einen vorbestimmten Vorladespannungspegel
vor-aufgeladen werden. Die Implementierung komplementärer Bitleitungspaare
in einer Speicherzelle ermöglicht
ein differentielles Lesen der Bitleitungspaare während eines Lesezugriffs. Differentielles
Lesen kann selbst in der Gegenwart von Rauschen und/oder Offset
zuverlässig
funkionieren. Speicherzellen mit komplementären Bitleitungspaaren können daher
unempfindlich gegenüber
Rauschen in benachbarten Schaltungselementen sein.
-
Bei
der Operation 1002 empfängt
die Speicherzelle einen Schreibzugriff. Die Speicherzelle kann den
Schreibzugriff über
eine Wortleitung empfangen, die einem Port der Speicherzelle zugeordnet ist.
Während
des Schreibzugriffs kann die Wortleitung auf einen Aktivpegel getrieben
werden. Wie in der 3 gezeigt, kann die Speicherzelle
in einem Speicherzellenarray 300 enthalten sein und die
Wortleitung kann durch eine Wortleitungsdecoderschaltung 317 angesteuert
sein.
-
Bei
der Operation 1003 wird ein Lesezugriff auf die Speicherzelle
aktiviert. Der Lesezugriff kann durch Setzen einer Wortleitung aktiviert
werden, die einem Port der Speicherzelle zugeordnet ist. Der Schreibzugriff
bei der Operation 1002 kann an einem anderen Port der Speicherzelle
als der Lesezugriff bei der Operation 1003 durchgeführt werden.
Der Vorgang des Durchführens
eines Schreibzugriffs über
einen ersten Port zusammen mit einem Lesezugriff über einen
zweiten Port kann die Stabilität
der Speicherzelle verringern, während
zur gleichen Zeit der write margin erhöht werden kann. Durch Erhöhen des
write margin kann der Zustand der Speicherzelle leichter während des
Schreibzugriffs umgeschaltet werden und das Risiko eines erfolglosen
Schreibzugriffs kann herabgesetzt werden.
-
Wie
in der 3 gezeigt kann die Speicherzelle Teil eines Speicherzellenarray
sein. Die Speicherzellen des Speicherzellenarray können in
einer Matrix von Zeilen und Spalten angeordnet sein. Bei der Operation 1003 kann
ein Lesezugriff auf alle Speicherzellen aktiviert werden, die sich
in derselben Zeile wie die Speicherzelle befinden, die bei der Operation 1002 einen
Schreibzugriff empfangen kann. Das Speicherzellenarray kann eine
Mehrzahl von Multi-Port Speicherzellen enthalten. Bei der Operation 1002 kann
eine Speicherzelle einen Schreibzugriff über einen Port empfangen und
bei der Operation 1003 können alle Speicherzellen, die
sich in der gleichen Zeile wie die Speicherzelle des Blocks 1002 befinden,
einen Lesezugriff über
einen oder mehreren der anderen Ports empfangen.
-
Für die Zwecke
der vorliegenden Offenbarung und der nachfolgenden Ansprüche sind
die Begriffe „gekoppelt", „angekoppelt" und „verbunden" dazu verwendet worden,
um zu beschreiben, wie verschiedene Elemente zusammengeschaltet
sind. Eine so beschriebene Zusammenschaltung verschiedener Elemente
kann entweder direkt oder indirekt sein. Die Verbindungen zwischen
Schaltungselementen oder Schaltungsblöcken sind als Mehrleiter- oder
Einzelleiter-Signalleitungen
gezeigt oder beschrieben worden. Jede der Mehrleiter-Signalleitungen
kann alternativ als Einzelleiter-Signalleitung
ausgestaltet sein und jede der Einzelleiter-Signalleitungen kann alternativ als
Mehrleiter-Signalleitung ausgestaltet sein. Signale, die als aktive
hohe oder aktive niedrige Logikpegel aufweisende Signale beschrieben
oder dargestellt wurden, können
in alternativen Ausführungsformen
entgegengesetzte aktive Logikpegel aufweisen. Ein Signal wird als „gesetzt" bezeichnet, wenn das
Signal auf einen Logikwert „1" oder Logikwert „0” getrieben
oder auf einen Logikwert „1" oder Logikwert „0" aufgeladen wird,
um einen bestimmten Zustand anzuzeigen. Umgekehrt wird ein Signal
als „nicht
gesetzt" bezeichnet,
um anzuzeigen, dass ein Signal auf einen anderen Zustand als den „gesetzten" Zustand getrieben
oder aufgeladen oder entladen wird. Eine Signalleitung wird als „aktiviert" bezeichnet, wenn
ein Signal auf der Signalleitung gesetzt ist, und „deaktiviert", wenn das Signal
nicht gesetzt ist. Schaltungen, die als Metalloxidhalbleiter-(MOS-)Transistoren
enthaltend beschrieben oder dargestellt worden sind, können alternativ
unter Verwendung von Bipolartechnik oder einer sonstigen Technik
ausgeführt
sein. Obwohl der Gegenstand in einer Sprache beschrieben worden
ist, die für Strukturmerkmale
und/oder Methodikhandlungen spezifisch ist, versteht es sich, dass
der in den beiliegenden Ansprüchen
definierte Gegenstand nicht unbedingt auf die bestimmten beschriebenen
Merkmale oder Handlungen begrenzt ist. Stattdessen werden die bestimmten
Merkmale und Handlungen als beispielhafte Formen der Implementierung
der Ansprüche
offenbart.