-
HINTERGRUND
DER ERFINDUNG
-
Die vorliegende Erfindung betrifft
die Leistungsverringerung in Speichervorrichtungen. Insbesondere
bezieht sich die vorliegende Erfindung auf die Leistungsverringerung
in Speichervorrichtungen mit Blockschreibzyklen.
-
Die Verringerung des Leistungsverbrauchs in
Speichervorrichtungen ist von ständiger
Bedeutung. Die aktive Leistungsverringerung in Speicherchips mit
großer
Kapazität
ist entscheidend für
die Realisierung preiswerter Chips mit hoher Zuverlässigkeit,
da sie es ermöglicht,
die Vorrichtungen in Kunststoffgehäuse, mit niedrigen Betriebsströmen und
mit niedrigen Sperrschichttemperaturen zu realisieren. Um den aktiven
Leistungsverbrauch in Speicherchips wie etwa in dynamischen Schreib-Lese-Speichern
(DRAMs) zu verringern, wurden zahlreiche Techniken verwendet. Eine übliche Technik besteht
darin, einen DRAM unter Verwendung zahlreicher Matrizen anstelle
eines einzigen Speicherblocks zu implementieren. Das heißt, der
DRAM wird mit mehrfach unterteilten Datenleitungen mit gemeinsam
genutzten Leseverstärkern,
gemeinsam genutzter Eingabe/Ausgabe (EA) und mit gemeinsam genutzten
Spaltendecodierern implementiert. Der Leistungsverbrauch wird dadurch
minimiert, dass die Anzahl der mit jeder Datenleitung verbundenen
Speicherzellen verringert wird, wodurch die Schaltkapazität jeder
Leitung verringert wird. Es werden weitere aktive Leistungsverringerungsschemata
verwendet, einschließlich
beispielsweise der Verringerung der externen Versorgungsspannung
von 5 auf 3,3 V, der Verwendung von Vorladungen der Datenleitungen mit
dem halben VDD und dem Bereitstellen von chipintegrierten Spannungsabwärtsumsetzungen,
die die interne Versorgungsspannung VDD verringern.
-
Jede dieser Techniken kann in den
meisten DRAM-Architekturen verwendet werden, um die aktive von einer
Vorrichtung verbrauchte Leistung zu minimieren. Eine verhältnismäßig neue
DRAM-Architektur verkompliziert allerdings Versuche, den Leistungsverbrauch
zu minimieren. Um die Leistungsfähigkeit
in Graphikanwendungen zu verbessern, enthalten neue DRAM-Architekturen
Merkmale zur Ausführung
einer Mehrspalten-Blockschreibfunktion, wie sie im US-Patent 4.667.313,
erteilt am 19. Mai 1987 an Pinkham u. a., beschrieben ist. Heutige
Graphiksysteme enthalten allgemein einen DRAM oder einen Video-RAM,
der auf dem Rahmenpuffer-Speichersystem beruht. Der Rahmenpuffer
(frame buffer) speichert für
jedes Pixel auf einer Videoanzeige ein Datenmuster, das einer gegebenen
Farbe zugeordnet ist. In Graphikanwendungen ist es häufig wünschenswert,
ein einzelnes Datenmuster, das beispielsweise die Farbe rot repräsentiert,
in viele angrenzende Speicherplätze
(d. h. in eine Anzahl angrenzender Pixel auf einer Anzeige) zu schreiben.
Video-RAMs führen
dies üblicherweise
unter Verwendung einer Blockschreibfunktion aus. Ein Farbregister
in jeder DRAM- oder Video-DRAM-Vorrichtung hält ein Farbdatenmuster, das
in mehrere angrenzende Pixel geschrieben werden soll. Während eines Blockschreibzyklus
wird der Inhalt des Farbregisters mit dem Schreibdatenpfad gekoppelt
und als die Datenquelle zum Beschreiben eines Speichers verwendet.
Durch Überschreiben
der herkömmlichen
Spaltendecodierungsfunktion (die normalerweise genau eine Spaltenadresse
zum Schreiben auswählt)
werden mehrere angrenzende Spaltenadressen für die Blockschreiboperation
ausgewählt.
Ein Paar E/A-Leitungen, deren Funktion mit der lokaler E/A-Leitungen vergleichbar
ist und die den Inhalt des Farbregisters repräsentieren, wird mit mehreren
Bitleitungs-Leseverstärkern
und somit mit mehreren Spaltenadressen in einer gegebenen Zeile
gekoppelt. Dementsprechend wird der Inhalt des Farbregisters in
alle ausgewählten
Spaltenadressenplätze
geschrieben. Es sind heute Video-RAM-Vorrichtungen sowie synchrone Graphik-RAM-Vorrichtungen
verfügbar
mit der Fähigkeit,
acht Spaltenblockschreibvorgänge
auszuführen, und
daher wird für
die Diskussion in der gesamten Beschreibung eine Achtspalten-Blockschreibvorrichtung
beschrieben.
-
Obgleich die Blockschreibvorgänge einen
offensichtlichen Vorteil hinsichtlich der Leistungsfähigkeit
aufweisen (so viel wie die achtfache Bandbreite für eine Schreiboperation),
steigt der elektrische Strom der Vorrichtung während der Blockschreibzyklen
drastisch. Falls alle acht Spaltenadressen mit dem Inhalt des Farbregisters
beschrieben werden, müssen
im Vergleich zu einer herkömmlichen
Einspalten-Schreiboperation acht Mal so viel Bitleitungs-Leseverstärker überschrieben
werden und muss die Kapazität
von acht Mal so viel Bitleitungen geladen oder entladen werden.
Dieser Strom addiert sich zu dem Strom, der zum Laden und Entladen
der hochkapazitiven E/A-Leitungen erforderlich ist. In vielen Fällen kann
das Blockschreiben in Graphik- oder Video-DRAM-Vorrichtungen zur
Einzelbetriebsart mit dem größten Strom
werden.
-
Eine Folge des höheren Strompegels ist, dass
die zugeordneten Signal- und
Leistungsleitungen auf dem Chip vergrößert werden müssen, um den
zusätzlichen
Strom zu beherrschen. Dies führt
zu einer größeren Chipgröße und somit zu
höheren Chipkosten.
Außerdem
ist dem größeren Stromwert ein
größerer Leistungsverlust
in dem Chip zugeordnet. Während
der Leistungsverlust zunimmt, steigt die Sperrschichttemperatur
des Chips. Dies bewirkt, dass die Mobilität der Transistoren auf dem
Chip abnimmt, was zu einer Verringerung der Leistungsfähigkeit
der Schaltung führt.
Um die verlorene Leistungsfähigkeit
wieder wettzumachen, muss die Schaltung so konstruiert werden, dass
sie schneller läuft.
Dies ist aber allgemein mit einem noch höheren Leistungsverlust verknüpft, was
die Sperrschichttemperatur weiter erhöht und die Bemühung der
Konstruktion für
eine verbesserte Leistungsfähigkeit
teilweise zunichte macht.
-
Eine weitere Speicherentwicklung – die Verwendung
synchroner Speicher – verschlimmert
das Problem der Begrenzung des Leistungsverlusts weiter. Synchrone
Hochleistungs-Graphik-DRAMs besitzen äußerst kurze Zykluszeiten. Leistungsbetrachtungen
beschränken
momentan ihre praktische Verwendung bei Blockschreibzyklen. Diese
synchronen Speicher verwenden allgemein unbedingt vorgeladene, gepulste
Schreibpfade, wobei die hochkapazitiven differentiellen bzw. Differenzdatenleitungen
bei jedem Schreib- oder Blockschreibzyklus unbedingt vorgeladen
werden und selbstausgelöste
Impulse verwendet werden, die Signale den Datenpfad entlang fortpflanzen,
um schnell ein Differenzsignal zu entwickeln. Ein Beispiel eines
gepulsten Schreibpfads ist zu finden im US-Patent 4.985.643, erteilt
am 15. Januar 1991 an Proebsting.
-
Speicher, die unter Verwendung dieser
Techniken implementiert sind, leiten aber größere Mengen an Durchschnittsleistung
ab als z. B. statische Implementierungen mit statischem Datenpfad.
Im Vergleich zu Speichern mit statischem Datenpfad ziehen gepulste
E/A-Schemata wesentlich mehr Leistung, wenn sich die Eingangsdaten
(z. B. in Blockschreibvorgängen)
nicht mit jedem Zyklus ändern.
-
Eine weitere Speichervorrichtung
mit Blockschreibfunktion ist bekannt aus US-A-5.305.278. In der
Blockschreibbetriebsart werden an einen Daten-E/A-Anschluss angelegte
Daten in einer Farbdaten-Übertragungsschaltung
gespeichert.
-
Dementsprechend wird ein Zugang benötigt, um
den durch die Blockschreibbetriebsart verursachten aktiven Leistungsverbrauch
zu verringem. Außerdem
ist es wünschenswert,
einen Zugang zu schaffen, der in synchronen Speichersystemen oder
in anderen Speichersystemen, in denen hochkapazitive Datenleitungen
vor jeder Schreiboperation zunächst vorgeladen
und ausgeglichen werden, implementiert werden kann.
-
Die Erfindung ist in den Ansprüchen definiert.
-
Gemäß einer Ausführungsform
der Erfindung besitzt eine Videospeichervorrichtung eine Normalschreibbetriebsart
und eine Blockschreibbetriebsart, wobei sie einen globalen Schreibtreiber,
der globale Eingangs/Ausgangs-Leitungen (E/A-Leitungen) ansteuert, und eine Anzahl
lokaler Schreibtreiber, wovon jeder lokale E/A-Leitungen ansteuert,
die über
ein Spaltendecodierungs-Durchgangsgatter mit den Bitleitungen zahlreicher
Speicherzellen gekoppelt sind, enthält. Die Steuerschaltungsanordnung
ist mit dem globalen Schreibtreiber und mit den lokalen Schreibtreibern
gekoppelt und kann Blockschreib-Steuersignale und Normalschreib-Steuersignale
erzeugen. Die Blockschreib-Steuersignale bewirken, dass die globalen
E/A-Leitungen während
eines Blockschreibzyklus einfrieren, wodurch während Blockschreibvorgängen Leistung
gespart wird.
-
Wenn ein Blockschreibzyklus (oder
Blockschreibzyklen) abgeschlossen ist (sind), wird ein Rücksetzsignal
erzeugt, das die globalen E/A-Leitungen freigibt und den Normalbetrieb
ermöglicht.
Das Ergebnis ist die Fähigkeit,
Blockschreibvorgänge
mit verringertem Leistungsverbrauch auch dort auszuführen, wo
synchrone Speicher oder andere Speicher, die gepulste E/A-Leitungen verwenden,
verwendet werden.
-
Weitere Leistungssparmerkmale können ebenfalls
geschaffen werden.
-
In einer Ausführungsform sind die lokalen E/A-Schreibtreiber
mit verschiedenen Mengen von Ansteuertransistoren versehen, so dass
während
eines Blockschreibzyklus eine zusätzliche Ansteuerung geschaffen
wird, um Daten z. B. in acht verschiedene Speicherzellen zu schreiben.
Während
eines Normalschreibzyklus wird die Ansteuerung verringert, da lediglich
in eine einzige Speicherzelle geschrieben wird. Dies spart Leistung
und stellt sicher, dass die größere Ansteuerung
nur dann verwendet wird, wenn sie benötigt wird.
-
Ausführungsformen der vorliegenden
Erfindung erhalten außerdem
die lokalen E/A-Leitungen während
eines Blockschreibvorgangs auf einer gesetzten Differenzposition
(die die Daten von dem Farbregister zu Beginn des Blockschreibvorgangs
repräsentiert).
Dies beseitigt die Notwendigkeit, die lokalen E/A-Leitungen ständig zyklisch
zu durchlaufen, wodurch die während
der Blockschreibzyklen abgeleitete Leistung verringert wird.
-
In einer weiteren Ausführungsform
werden die lokalen Schreibtreiber durch lokale E/A-Auswahlsignale
ausgewählt.
Während
eines Blockschreibzyklus können
die lokalen E/A-Leitungen durch den Empfang eines lokalen E/A-Auswahl signals
aufgetaut werden. Dies ermöglicht
es, Merkmale der vorliegenden Erfindung in Blockschreibvorrichtungen
zu verwenden, die eine Schreiben-pro-Byte-Steuerung sowie eine Schreiben-pro-Bit-Steuerung
besitzen.
-
Für
ein umfassenderes Verständnis
des Wesens und der Vorteile der Erfindung wird auf die nachfolgende
Beschreibung in Verbindung mit den beigefügten Zeichnungen Bezug genommen.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockschaltplan, der einen herkömmlichen Schreibdatenpfad für eine dynamische Schreib-Lese-Speichervorrichtung
mit Blockschreibfähigkeiten
zeigt.
-
2 ist
ein Blockschaltplan, der den Eingangsteil eines Schreibdatenpfads
gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt.
-
3 ist
ein Blockschaltplan, der eine Dateneingangsschaltung zur Verwendung
in dem Eingangsteil aus 2 zeigt.
-
4 ist
ein Blockschaltplan, der eine globale Schreibtreiberschaltung zur
Verwendung in dem Eingangsteil aus 2 zeigt.
-
5 ist
ein Blockschaltplan, der eine lokale Schreibtreiberschaltung zur
Verwendung in dem Eingangsteil aus 2 zeigt.
-
6 ist
ein Blockschaltplan, der eine lokale E/A-Entzerrschaltung zur Verwendung
in dem Eingangsteil aus 2 zeigt.
-
7 ist
ein Blockschaltplan, der eine Datenübernahmeschaltung zur Verwendung
in dem Eingangsteil aus 2 zeigt.
-
8 ist
ein Blockschaltplan, der eine Blockschreib-Steuerschaltung zur Verwendung
in dem Eingangsteil aus 2 zeigt.
-
9 ist
ein Zeitablaufplan, der die Zeitgebung der verschiedenen in dem
Eingangsteil aus 2 verwendeten
Signale beim Betrieb in Übereinstimmung
mit einer ersten Ausführungsform
widerspiegelt.
-
10 ist
ein Zeitablaufplan, der die Zeitgebung der verschiedenen in dem
Eingangsteil aus 2 verwendeten
Signale beim Betrieb in Übereinstimmung
mit einer zweiten Ausführungsform
widerspiegelt.
-
BESCHREIBUNG SPEZIFISCHER
AUSFÜHRUNGSFORMEN
-
Anhand von 1, in der ein Eingangsteil 10 und
ein Hauptteil 20 eines typischen Video-DRAM-Schreibdatenpfads
gezeigt sind, wird zunächst
der Betrieb eines typischen Video-DRAM beschrieben. Der Eingangsteil 10 des
Schreibdatenpfads enthält
alles von der Datenquelle (z. B. Farbregister 14 oder Daten
von den Dateneingangsleitungen), eine Puffer- und Multiplexerschaltung 12,
einen globalen Schreibtreiber 16 und lokale Schreibtreiber 18.
Der Fachmann auf dem Gebiet erkennt, dass eine typische Speichervorrichtung
beispielsweise einen globalen Schreibtreiber 16 für jede Bank
des Speichers und eine Anzahl lokaler Schreibtreiber 18, einen
für jede
Speichermatrix in einer Bank, enthält.
-
Der Hauptteil 20 des Schreibdatenpfads
enthält
Bitleitungs-Leseverstärker 24,
zugeordnete Bitleitungen (Bit und Bit#) sowie die einzelnen Speicherzellen 26a,
b, die über
die Wortleitungs-Durchgangsgatter (Zeilendecodierungs-Durchgangsgatter)
Q7, Q8 mit den Bitleitungen gekoppelt sind. Der Fachmann auf dem
Gebiet erkennt, dass für
Speichervorrichtungen mit mehr als einer E/A wie hier beschrieben
jede E/A einen getrennten Schreibdatenpfad enthält.
-
Die an die lokalen E/A-Leitungen
(LIO, LIO#) angelegte Differenzspannung überschreibt während der
Schreiboperationen den Bitleitungs-Leseverstärker und bewirkt, dass die
Bitleitungen ihre Schienenspannungen VDD und VSS umkehren, wenn
neue Daten die entgegengesetzte Polarität zu den alten Daten haben.
Die neue Bitleitungsspannung wird über das Wortleitungs-Durchgangsgatter
Q7 an die richtige Speicherzelle übertragen.
-
Daten, die in einer Speichermatrix
gespeichert werden sollen, werden normalerweise an dem Dateneingangs-Anschlussstift
der DRAM-Vorrichtung in diese eingegeben. Das Dateneingangssignal wird
in einen Dateneingabepuffer 12 eingegeben, der das Signal
verstärkt
und an seinen Ausgängen
ein Schiene-Schiene-Differenzsignal
oder andernfalls eine unsymmetrische oder Eintakt-Schienenspannung
erzeugt. Das Ausgangssignal der Daten im Puffer 12 wird
in den globalen Schreibtreiber 16 eingegeben. Wenn die
Schreibfreigabe nicht aktiviert ist, wird kein Differenzsignal an
den Ausgang des globalen Schreibtreibers 16 geschickt,
wobei die Ausgangssignale GIO, GIO# in einem ausgeglichenen Zustand verbleiben,
in dem wenig oder keine Leistung verbraucht wird. Wenn die Schreibfreigabe
aktiviert ist, verstärkt
der globale Schreibtreiber 16 das Signal an seinem Eingang,
wobei er auf GIO und GIO# eine Schiene-Schiene-Differenzspannung erzeugt. Die logische
Speichermatrix ist aus mehreren physikalischen Teilmatrizen zusammengesetzt,
die jeweils ihre eigene lokale E/A- Schreibtreiberschaltung 18 und
ihre eigenen lokalen E/A-Leitungen LIO, LIO# besitzen. Dadurch,
dass die logische Matrix in mehrere physikalische Teilmatrizen,
jede mit ihren eigenen lokalen E/A-Leitungen, unterteilt ist, kann
die kapazitive Belastung auf jeder lokalen E/A-Leitung verringert
werden. Dies verringert nicht nur die Zeitdauer, die erforderlich
ist, um das richtige Differenzsignal auf den lokalen E/A-Leitungen
zu erreichen (und somit die Schreibzeit), sondern es wird auch der
Strom, der erforderlich ist, um die lokalen E/A-Leitungen von einer
Schienenspannung auf eine andere umzuschalten, bedeutend verringert.
Das heißt,
für eine gegebene
Betriebsfrequenz und für
einen gegebenen Schiene-Schiene-Spannungshub
wächst
der Stromverlust, der erforderlich ist, um einen kapazitiven Knoten
von einer bestimmten Spannung auf eine andere umzuschalten, proportional
zu der Kapazität an
diesem Knoten.
-
Immer noch anhand von 1 werden nun Grundmerkmale
einer Implementierung des Blockschreibens beschrieben. Die häufigste
Implementierung des Blockschreibvorgangs unterstützt eine Graphikzeichenbetriebsart,
die als transparente Betriebsart bekannt ist. In dieser Implementierung
sind die Daten, die in den Speicher geschrieben werden, für alle Spaltenplätze in dem
Block die gleichen. Um zu ermöglichen,
dass irgendeine Teilmenge der acht Spaltenplätze mit dem Inhalt des Farbregisters 14 beschrieben
wird, kann eine zusätzliche
Maskierungsschaltungsanordnung verwendet werden. Somit bestimmt
die Logik für
jede der acht in einem Blockschreibzyklus ausgewählten Spalten, ob der Inhalt
des Farbregisters 14 geschrieben wird oder ob kein Schreibvorgang
in diese Spalte stattfindet. Da die Schreibdatenquelle (das Farbregister 14)
für alle acht
Spalten in dem Block die gleiche ist, kann für das Überschreiben der zugeordneten
Bitleitungs-Leseverstärker 24 ein
einziges Paar lokaler E/A-Leitungen eine Schnittstelle zu allen
acht Spalten besitzen. Dies minimiert die Chipfläche. Genauso wichtig ist, dass
das einzelne Paar der E/A-Leitungen den Stromzug minimiert, da nur
ein Paar hochkapazitiver E/A-Leitungen geladen oder entladen werden
muss. Dennoch kann das Laden und Entladen der globalen und lokalen
E/A-Leitungen die einzelne größte Komponente
des Stroms während
der Blockschreiboperation sein, die genauso groß oder größer ist als der Strom, der
von den acht Bitleitungs-Leseverstärkern 24 gezogen wird
und den Bitleitungen zugeordnet ist.
-
Eine leistungsfähigere, jedoch aufwändigere Form
des Blockschreibens besteht in der Verwendung zweier getrennter
Farbregister 14 als Datenquellen. Hinsichtlich der zugeordneten
Graphikanwendungen erzeugt dies sowohl eine Vordergrund- als auch
eine Hintergrundfarbe zum Zeichnen von Pixeln auf eine Graphikanzeige.
Dies ist nützlich
für so genannte
deckende Zeichenbetriebsarten in Graphikanwendungen und ermöglicht allgemein
ein schnelleres Zeichnen als die transparente Zeichenbetriebsart.
Da jede Spalte von zwei getrennten Datenquellen beschrieben werden
kann, sind doppelt so viel E/A-Leitungen erforderlich, was die Kosten
des Chips erhöht.
Wichtiger ist, dass der Stromzug drastisch erhöht wird, da doppelt so viele
hochkapazitive E/A-Leitungen geladen und entladen werden müssen.
-
Somit erfordert das Erzielen einer
Hochleistungs-Schreiboperation allgemein ein schnelles Laden und
Entladen eines Netzes hochkapazitiver E/A-Leitungen in dem Schreibdatenpfad.
Dieses schnelle Laden und Entladen führt zu einem hohen Strom und
somit zu einem hohen Leistungsverlust. Blockschreiboperationen verschlimmern
das Stromzugproblem, da so viel wie acht Mal so viel Zellen 26, Bitleitungen
und Bitleitungs-Leseverstärker 24 umgeschaltet
werden müssen.
Eine Hauptkomponente des Gesamtstromzugs während des Blockschreibens ist
die, die zum Umschalten der globalen und lokalen E/A-Leitungen in
dem Schreibdatenpfad erforderlich ist. Obgleich der Gesamtstromzug
immer noch wesentlich höher
als für
herkömmliche
(Einzeladressen-) Schreiboperationen ist, erfordert die transparente
Implementierung des Blockschreibens nur eine einzige Menge von E/A-Leitungen
für jede der
acht Spalten in dem Block und ist somit am Besten zur Minimierung
des Stroms geeignet. Die deckende Implementierung des Blockschreibens
verdoppelt im Wesentlichen den Teil des Stromzugs durch das Laden
und Entladen der E/A-Leitungsnetze.
-
Vorhandene DRAMs mit Blockschreibbetriebsarten
schalten den Eingangsteil 10 und den Hauptteil 20 des
Schreibdatenpfads bei jedem Blockschreiben um. Somit wird eine große Menge
Leistung abgeleitet. Gemäß der Erfindung
wird die abgeleitete Leistungsmenge dadurch wesentlich verringert,
dass der Eingangsteil 10 während der Blockschreibvorgänge eingefroren
wird.
-
BEISPIELHAFTE
SCHALTUNGSKONFIGURATION
-
Anhand von 2 ist nun ein Blockschaltplan gezeigt,
der einen Eingangsteil 100 eines Schreibdatenpfads gemäß einer
Ausführungsform der
vorliegenden Erfindung zeigt. Dieser Eingangsteil 100 wird
in Verbindung mit zahlreichen Hauptteilen 20 verwendet,
wie sie oben in Verbindung mit 1 beschrieben worden
sind. Für
die Diskussion wird der Eingangsteil 100 zur Verwendung
in einer synchronen Speichervorrichtung beschrieben. Insbesondere wird
zur Beschreibung der Merkmale der vorliegenden Erfindung eine synchrone
Acht-Megabit-Graphik-DRAM-(SGRAM-)Konfiguration verwendet. Der SGRAM
ist logisch durch zwei getrennt adressierbare Speicherbänke als
128 k-Wörter
mal 32 Bits pro Wort organisiert. Die 128 k Wörter in jeder Bank sind in
logischen Matrizen angeordnet, die 512 Zeilen und 256 Spalten enthalten.
Als beispielhafter Blockschreibvorgang wird eine Schreibfunktion
für acht Adressen
mal 32 Bits pro Adressenblock verwendet. Zur Vereinfachung der Diskussion
wird lediglich eines der 32 Bits (und somit nur einer der Schreibdatenpfade)
beschrieben. Jeder Schreibdatenpfad kann mit einem E/A-Schreibsteuersignal
gekoppelt sein, das, wenn es negiert ist, dazu dient, die Schreiboperation
unabhängig
von Schreiboperationen, die gleichzeitig an anderen E/As stattfinden,
ein oder aus zu maskieren. Zur Vereinfachung der Diskussion wird in
einer ersten Ausführungsform
dieser Erfindung ein E/A-Steuersignal erwähnt und angenommen, dass es
während
aller Zyklen aktiviert ist. In einer zweiten Ausführungsform
wird beschrieben, wie die Erfindung implementiert werden kann, wenn
ein solches E/A-Steuersignal während
einer Folge von Blockschaltoperationen abwechselnd negiert und aktiviert wird.
-
Der Fachmann auf dem Gebiet erkennt
beim Lesen dieser Offenbarung, dass Merkmale der vorliegenden Erfindung
in irgendeiner einer Vielzahl von Speicherarchitekturen mit Blockschreibbetriebsarten implementiert
werden können.
Obgleich ein synchroner Speicher beschrieben wird, können Merkmale der
Erfindung ebenfalls in anderen Speichervorrichtungen implementiert
werden, die hochkapazitiv vorgeladene Schreibsignalleitungen wie
etwa jene, die in asynchronen DRAMs zu finden sind, verwenden.
-
Ein Eingangsteil 100, der
in Übereinstimmung
mit der vorliegenden Erfindung implementiert ist, beseitigt im Gegensatz
zu dem Eingangsteil aus 1 und
anderen vorhandenen Eingangsteilen von Schreibdatenpfaden den zusätzlichen
Leistungsverlust, der für
mehrere ununterbrochene Blockschreibzyklen erforderlich ist, dadurch,
dass die Notwendigkeit des ununterbrochenen Pulsens globaler E/A-Leitungen nach dem
ersten Blockschreibvorgang eines Blockschreibzyklus vermieden wird.
Statt dessen bleiben die globalen E/A-Leitungen am Ende des ersten
Blockschreibzyklus und während
der gesamten nachfolgenden Blockschreibzyklen (oder NOP-Zyklen)
in einem stationären
ausgeglichenen Zustand, während
die lokalen E/A-Leitungen auf ihren Schienenspannungen getrennt
bleiben. Wenn der letzte Blockschreibzyklus abgeschlossen ist, kehrt
der Eingangsteil 100, wie oben in Verbindung mit 1 beschrieben wurde, zum
Normalbetrieb zurück.
-
Der Eingangsteil 100 enthält Steuerzwischenspeicher
und eine Befehlsdecodierungslogik 102, 104, die
dafür gedacht
sind, Steuersignale zu empfangen und zu puffern. Diese Steuersignale,
die weiter unten diskutiert werden, umfassen Zeilen- und Spaltenübernahmesignale
(Strobe) und Schreibfreigabesignale (write enable), die üblicherweise
verwendet werden und dem Fachmann auf dem Gebiet zum Zugreifen auf
DRAM-Zellen bekannt sind. Die Adressenauswahllogik 106 empfängt eine
Eingangsadresse, um einen besonderen lokalen Schreibtreiber 120 zur
Verwendung auszuwählen.
Die Adresseninformationen können
beispielsweise eine spezifische Matrix in dem Speicher und eine
Zeilenadresse in dieser Matrix bestimmen. Die Informationen von der
Adressenauswahllogik 106 werden ebenfalls verwendet, um
eine lokale E/A-Entzerrschaltung 122 zum Ausgleichen der globalen
und lokalen E/A-Leitungen zu steuern. Das heißt, zur Verwendung mit einem
Freigabesignal von der Adressenauswahllogik wird eine spezifische
lokale E/A-Entzerrschaltung ausgewählt.
-
Um Eingangsdaten von einem Eingangsdaten-Anschlussstift
zu schicken, ist eine Dateneingangsschaltung 110 vorgesehen,
die außerdem
Eingangsdaten von einem oder mehreren Farbregistern 112 und
Maskenregistern 114 schicken kann. Für jeden Datenanschlussstift
(wobei in dieser beispielhaften Ausführungsform acht Anschlussstifte
verwendet werden) sind einzelne Dateneingangsschaltungen vorgesehen.
Jede Dateneingangsschaltung 110 liefert die Daten an eine
entsprechende globale Schreibtreiberschaltung 118, die
durch einen Ausgang von der Datenübernahmeschaltung 116 gesteuert
wird. Wie im Folgenden umfassender beschrieben wird, arbeitet eine
Blockschreibschaltung 108 in Verbindung mit diesen Komponenten,
um Blockschreibvorgänge
zu steuern. Um die Diskussion der Gesamtstruktur eines Eingangsteils 100 der vorliegenden
Erfindung zu vereinfachen, wurden bei dem Blockschaltplan auf hoher
Ebene aus 2 keine ausführlichen
Signalbeschreibungen gegeben. Es wird nun eine spezifische Ausführungsform
mit Signalbeschreibungen gegeben, indem jeder der in Verbindung
mit 2 eingeführten Blöcke ausführlicher beschrieben
wird. Daraufhin wird anhand spezifischer Betriebsbeispiele der Betrieb
des Eingangsteils 100 beschrieben.
-
Die Dateneingangsschaltung 110 (3) empfängt Daten von einem Eingangsanschlussstift dind.
Diese Dateneingangsschaltung kann z. B. eine von acht Schaltungen
zum Empfang eines von acht Dateneingangssignalen sein. Die Daten
am Eingangsanschlussstift dind (und ihr Komplement dind#) werden
beim Taktsignal clkt4 als Eingangssignal din zwischengespeichert.
Zahlreiche NOR-Gatter 142, 144, 146, 148 und 152 sind
in der Weise angeschlossen, dass sie das Eingangssignal din, das
Eingangssignal von einem Farbregister 112, das Eingangssignal
von einem Maskenregister 114 und ein Signal wpb zum Schreiben
pro Bit empfangen. Somit sind in der Dateneingangsschaltung 110 zwei
Paar Datenpfade vorgesehen. Ein erster Pfad ist für die maskierten
Daten von dem Eingangsanschlussstift (dind) vorgesehen. Dieser Pfad
gibt ein Datensignal q und sein Komplement (q#) aus. Ein zweiter
Pfad ist für
die maskierten Daten aus dem Farbregister 112 ausgebildet
und gibt vom NOR-Gatter 148 ein Blockschreib-Datensignal
bwq und vom NOR-Gatter 146 sein Komplement bwq# aus.
-
Die Steuersignale werden etwa zum
selben Zeitpunkt umgeschaltet, zu dem die Daten auf den Ausgangsleitungen
der Dateneingangsschaltung 110 angeordnet werden. Genauer
sind die Steuersignale für
jede E/O (hier die dem Taktsignal clkt4 zugeordneten Steuersignale)
tief, wenn clkt4 tief ist. Diese Signale (die die Signale cs4, ras4,
cas4, we4 und dsf umfassen, die dem Fachmann auf dem Gebiet bekannt
und in 2 gezeigt sind)
werden für
die Befehlsdecodiererlogik 104 bereitgestellt, um zu signalisieren,
ob z. B. ein Normalschreiben oder ein Blockschreiben im Gang ist.
Beispielsweise bedeutet eine Kombination der Steuersignale (ras4
= 0, cas4 = 1, we4 = 1, dsf4 = 0 und cs4 = 1) in einer spezifischen Ausführungsform,
dass ein Normalschreibzyklus im Gang ist, während eine zweite Kombination
von Steuersignalen (ras4 = 0, cas4 = 1, we4 = 1, dsf4 = 1 und cs4
= 1) einen Blockschreibzyklus signalisiert. Je nach Kombination
der eingegebenen Steuersignale erzeugt die Befehlsdecodiererlogik 104 ein
Normalschreibzyklus-Signal (nwatv4) oder ein Blockschreibzyklus-Signal
(bwatv4).
-
Das verzögerte Normalschreibzyklus-Signal (nwatv6)
und das verzögerte
Blockschreibzyklus-Signal (bwatv6) werden in die Datenübernahmeschaltung 116 (7) eingegeben. Je nachdem,
ob von der Befehlsdecodiererlogik 104 ein Blockschreib-Aktivierungssignal
oder ein Normalschreib-Aktivierungssignal (bwatv6 oder nwatv6) empfangen
wurde, erzeugt die Datenübernahmeschaltung
entweder ein Blockschreib-Übernahmesignal
(bw_dinstb) oder ein Normaldaten-Übemahmesignal
(dinstb). Außerdem empfängt die
Datenübernahmeschaltung 116 ein Schreibfreigabe-Eingangssignal
(we4) und ein E/A-Freigabesignal (dgm4), die beide zur Freigabe der
Datenübernahmeschaltung
verwendet werden. Wenn nichts anderes angegeben ist, wird zur Erläuterung
angenommen, dass das Signal dgm4 in jedem Zyklus aktiviert (tief)
ist. Schließlich
wird von der Blockschreibschaltung 108 (8) ein Blockschreib-Rücksetzsignal (bwrst) eingegeben.
Jede E/A besitzt ihr eigenes Blockschreib-Rücksetzsignal (bwrst). Für die Diskussion
wird die Erzeugung lediglich eines einzelnen Blockschreib-Rücksetzsignals gezeigt;
der Fachmann auf dem Gebiet kann aber bei Bedarf eine geeignete
Schaltungsanordnung zum Erzeugen zusätzlicher Blockschreib-Rücksetzsignale hinzufügen. Wie
unten ausführlicher
diskutiert wird, wird das Blockschreib-Rücksetzsignal in dem ersten nachfolgenden
Zyklus erzeugt, der kein Blockschreib- oder NOP-Zyklus ist. Die
von der Datenübernahmeschaltung 116 ausgegebenen Übernahmesignale
werden in die globale Schreibtreiberschaltung 118 eingegeben.
-
Die globale Schreibtreiberschaltung 118 (4) empfängt die zwei Mengen von Datensignalen,
die von der Dateneingangsschaltung 110 ausgegeben werden
(d. h. die Signale q, q#, bwq, bwq#). Außerdem wird an die globale
Schreibtreiberschaltung ein globales Schreiben-pro-Bit-Signal (wpb_gio) geschickt.
Das globale Schreiben-pro-Bit-Signal (wpb_gio) wird aus einem globalen
Schreiben-pro-Bit-Signal (wpb) und aus einem Schreiben-pro-Bit-Maskenregister
erzeugt. Falls wpb tief ist, ist das Signal enable# tief, wobei
der globale Schreibtreiber für
die Schreiboperation freigegeben ist. Falls wpb hoch ist, wird der
Inhalt des E/A-Maskenregisters an das Signal enable# geschickt.
Falls das Maskenregister eine logische 0 enthält (wpb hoch ist), ist enable#
hoch und wird der globale Schreibtreiber gesperrt, indem q, q#,
bwq und bwq# sämtlich
tief gezogen werden. Falls das Maskenregister eine logische 1 enthält (wpb
hoch ist), ist enable# tief, wobei die globale Schreibtreiberschaltung
für die
Schreiboperation freigegeben ist. Für die Beschreibung der Erfindung
wird angenommen, dass das Signal enable# zu allen Zeiten tief ist.
-
Die Schaltung 118 enthält parallele
Signalpfade für
die zwei Mengen von Eingangssignalen und ihre Komplemente. Die gepufferten
Eingangssignale q und q# werden jedes Mal neu ausgewertet, wenn das
Taktsignal clkt4 hoch ist. Das Taktsignal clkt4 ist ein selbstausgelöster positiver
Impuls, der durch die positive Flanke des externen Taktsignals erzeugt wird.
Wenn der Impuls clkt4 abläuft,
werden die Eingangssignale R und S des SR-Flipflops 134 tief,
wobei der Zustand von din bis zum nächsten positiven Impuls von
clkt4 aufrechterhalten wird. Da der Inhalt des Farbregisters, der
Inhalt des Maskenregisters und das Signal wpb deutlich vor irgendwelchen Schreib-
oder Blockschreiboperationen geladen werden und ihren Zustand während der
gesamten Schreib- oder Blockschreiboperationen aufrechterhalten,
sind die gepufferten Signale bwq und bwq# allgemein statische Signale.
Die Signale q und q# sollten während
der gesamten Zeitdauer, in der der Impuls dinstb hoch ist, gültig und
stabil sein. Gleichfalls sollten bwq und bwq# während der gesamten Zeitdauer,
in der der Impuls bw_dinstb hoch ist, gültig und stabil sein.
-
Zu Beginn und am Ende irgendeines Schreibzyklus
werden die globalen E/A-Leitungen GIO, GIO# ausgeglichen und auf
VDD vorgeladen. Während
eines normalen Schreibvorgangs wird ein positiver Impuls auf dinstb
in die globale Schreibtreiberschaltung 118 eingegeben und
mit den Signalen q/q# UND-verknüpft
(die UND-Gatter 166 und 190), was zu einem negativen
Impuls entweder auf GIO oder auf GIO# führt. Wenn beispielsweise q
= 1 und q# = 0 ist, muss eine logische Eins geschrieben werden und
dementsprechend GIO# tief übernommen werden.
Gleichfalls wird während
eines Blockschaltschreibvorgangs ein positiver Impuls auf bw_dinstb in
die globale Schreibtreiberschaltung 118 eingegeben und
mit den Signalen bwq/bwq# UND-verknüpft (die UND-Gatter 160 und 184),
was zu einem negativen Impuls entweder auf GIO oder auf GIO# führt. Falls
beispielsweise bwq = 0 und bwq# = 1 ist, muss eine logische Null
geschrieben werden und dementsprechend GIO tief übernommen werden.
-
Der Fachmann auf dem Gebiet erkennt,
dass sich die besonderen Logikgatter, die zur Implementierung dieser
Funktion verwendet werden, unterscheiden können, während die gleichen Ergebnisse erzielt
werden. Somit ist diese Erfindung in diesem Sinn nicht beschränkt.
-
Die Ausgangssignale von der globalen Schreibtreiberschaltung 118 werden
von einer einer Anzahl lokaler Schreibtreiberschaltungen 120 empfangen
(5). Außerdem werden
in den lokalen Schreibtreiberschaltungen 120 Steuersignale
einschließlich
der Matrixauswahlsignale (array_sel und array_sel#), eines Matrix-Schreibfreigabesignals (array_we),
eines Spaltenadressenzeitgebungs-Steuersignals (column_off), eines
zwischengespeicherten Blockschreib-Steuersignals (bwatv8) und eines
Blockschreib-Rücksetzsteuersignals (bwrst)
zum Steuern der Aktivierung der ausgewählten lokalen E/A-Leitungen
LIO, LIO# empfangen. Das Spaltenadressenzeitgebungs-Steuersignal,
das Blockschreib-Steuersignal und das Blockschreib-Rücksetzsignal
werden sämtlich
im UND-Gatter 220 und im ODER-Gatter 222 kombiniert,
um für
jede E/A ein lokales Rücksetzsignal
(rstio) zu erzeugen. Beispielsweise wird das Signal rstio tief gezwungen,
wenn sämtliche
Eingangssignale tief sind, was verhindert, dass die SR-Flipflops 224 und 242 zurückgesetzt
werden. Falls GIO tief übernommen
wird, wird das Signal gio_eq auf eine logische 0 zwischengespeichert.
Falls GIO# tief übernommen wird,
wird das Signal gio_eq# auf eine logische 0 zwischengespeichert.
Die Matrixauswahl- und Freigabesignale bestimmen, ob daraufhin auf
einer der lokalen E/A-Leitungen ein Impuls erzeugt wird.
-
Um die lokalen E/A-Leitungen zu entzerren, ist
eine lokale E/A-Entzerrschaltung 122 (6) vorgesehen. Diese Schaltung empfängt von
der Adressenauswahllogik 106 ein Matrix-Schreibfreigabesignal
(array_we) und verwendet es zusammen mit den von der lokalen Schreibtreiberschaltung 120 (5) eingegebenen Signalen
gio_eq und gio_eq#, um die Entzerrung der lokalen E/A-Leitungen
LIO, LIO# zu steuern.
-
BETRIEB WÄHREND EINES
NORMALSCHREIBZYKLUS
-
Es wird nun eine Erläuterung
des Betriebs des Eingangsteils 100 gemäß der vorliegenden Ausführungsform
während
eines Normalschreibzyklus (d. h. während eines Nicht-Blockschreibvorgangs
in den Speicher) gegeben. In einem ersten Taktzyklus werden an die
Adressenauswahllogik 106 an den Eingangssignal-Anschlussstiften
eine lokale Matrixadresse und eine Zeilenadresse in der Speichermatrix übergeben.
Die Adresseninformationen werden mit geeigneten Zeitgebungs- und
Steuersignalen kombiniert, um ein Matrixsteuersignal array_sel zu
erzeugen. Dieses Matrixsteuersignal wird in die lokalen Schreibtreiberschaltungen 120 eingegeben,
um eine lokale Matrix für
eine Lese- oder Schreiboperation auszuwählen. Genauer bereitet die
Auswahl die lokalen E/A-Leitungen LIO, LIO# dadurch auf eine Lese- oder
Schreiboperation vor, dass sie sie aus einem ausgeglichenen Zustand
in der Nähe
von 1/2 VDD auf einen ausgeglichnen Zustand auf VDD verschiebt.
Dies ist anhand von 5 zu
sehen, in der eine besondere Ausführungsform einer lokalen Schreibtreiberschaltung 120 gezeigt
ist. Das Signal array_sel wird hoch aktiviert, was dazu führt, dass das
Komplementsignal array_sel# tief wird. Wenn array_sel auf hoch übergeht,
werden gio und gio# beide hoch, wobei die Ausgänge q der SR-Flipflops 224 und 242 tief
werden. Dies hält
die Ausgänge
der UND-Gatter 228 und 236 tief, hält die NMOS-Transistoren
Q68 und Q76 ausgeschaltet und bewirkt, dass die Ausgangssignale
der ODER-Gatter
226 und 234 tief werden, wodurch
die PMOS-Transistoren Q66 und Q74 eingeschaltet und die beiden LIO
und LIO# auf VDD gezogen werden. Diese Operation ist konsistent
mit der Bank- und Zeilenaktivierung synchroner DRAMs und SGRAMs.
-
Bei einem nachfolgenden Taktzyklus
werden die Daten an dem Anschluss DATA (2) durch die Daten in der Schaltung 110 auf
der positiven Flanke des gepufferten Taktimpulses clkt4 gepuffert
und zwischengespeichert. Gleichzeitig werden durch clkt4 in der
Steuerzwischenspeicherschaltung 102 die Steuersignale cs#
= 0, ras# = 1, cas# = 0, we# = 0, dsf = 0 und das Bytefreigabesignal
dqm gepuffert und zwischengespeichert. Nachfolgend werden die Normalschreibdaten-Ausgangssignale (q
und q#) umgeschaltet. Wenn das Signal auf dind aus 3 während
des Taktimpulses clkt4 tief war, wird q auf eine logische 0 und
q# auf eine logische 1 umgeschaltet. Wenn das Signal auf dind während des
Taktimpulses clk4 hoch war, wird q auf eine logische 1 und q# auf eine
logische 0 umgeschaltet. Gleichzeitig werden die zwischengespeicherten
Steuersignale cs4, ras4, cas4, we4, dsf4 und dgm4 umgeschaltet.
Wie früher beschrieben
wurde, ist das Signal dgm4 ein aktiv tiefes E/A-Schreibsteuersignal.
Für diese
Diskussion wird angenommen, dass das Signal während jedes Zyklus tief aktiviert
ist (d. h. die E/A freigegeben ist). Die Steuersignale cs4, ras4,
cas4, we4 und ds4 sind jedes Mal tief, wenn clkt4 tief ist. Folglich
sind cs4, ras4, cas4, we4 und ds4 aktiv hohe, gepulste Signale,
die gegenüber
clkt4 verzögert
sind. Gleichzeitig wird von der Adressenauswahllogik 106 eine
Spaltenadresse zwischengespeichert.
-
Kurze Zeit später empfängt die Befehlsdecodierungslogik 104 als
Eingangssteuersignale ras4 = 0, cas4 = 1, we4 = 1, dsf4 = 0 und
cs4 = 1. Diese Kombination bedeutet, dass ein Normalschreibzyklus im
Gang ist. Auf dem Normalschreibsignal nwatv6 wird ein positiver
Impuls erzeugt und an die Datenübernahmeschaltung 116 (7) geliefert. Dieses Signal
wird in der Datenübernahmeschaltung 116 mit dem
Schreibfreigabesignal we4 und mit dem Bytefreigabesignal dgm4 (in
den Gattern 256, 264) UND-verknüpft. Da
das E/A-Freigabesignal dgm4 gleichzeitig mit den positiven Impulsen
auf nwatv6 und we4 (tief) aktiviert wird, tritt auf dem Normalschreibdaten-Übernahmeausgangssignal (dinstb)
ein selbstausgelöster
positiver Impuls auf. Gleichzeitig erzeugt die Adressenauswahllogik 106 Signale,
die zum Adressieren einer bestimmten Matrix verwendet werden.
-
Der Impuls auf der Signalleitung
dinstb wird in die globale Schreibtreiberschaltung 118 aus 4 eingegeben und mit den
Signalen q und q# in die UND- Gatter 166, 190 eingegeben,
was zu einem selbstausgelösten
negativen Impuls entweder auf GIO oder auf GIO# führt. Falls
q = 1 und q# = 0 ist, wird GIO# tief übernommen.
-
Die negative Übernahme auf GIO oder GIO# setzt
eines der zwei SR-Flipflops 224, 242 in
der lokalen Schreibtreiberschaltung 120 aus 5. Die Flipflops besitzen
invertierte Ausgangssignale gio_eq und gio_eq#. Das Spaltenadressenzeitgebungs-Steuersignal
(column_off), das zwischengespeicherte Blockschreib-Steuersignal
(bwatv8) und das Blockschreibrücksetz-Steuersignal
(bwrst) sind sämtlich
tief, was das lokale E/A-Rücksetzsignal
(rstio) tief zwingt und verhindert, dass die SR-Flipflops 224, 242 zurückgesetzt
werden. Falls GIO# tief übernommen
wird, wird gio_eq auf eine logische 0 zwischengespeichert. Falls
GIO tief übernommen
wird, wird gio_eq# auf eine logische 0 zwischengespeichert.
-
Die Signale gio_eq und gio_eq# werden
in das NAND-Gatter 243 in der lokalen E/A-Entzerrschaltung 122 eingegeben
(6). Somit ist das Ausgangssignal
des NAND-Gatters 243 hoch und wird mit dem Matrix-Schreibfreigabesignal
array_we, das aktiviert (hoch) ist, in das NAND-Gatter 244 eingegeben.
Dies bewirkt, dass der Knoten ioeq tief wird und dass der Knoten
ioeq# hoch wird, wodurch die NMOS-Vonichtung Q82 und die PMOS-Vorrichtung Q84
ausgeschaltet und LIO und LIO# aus ihrem ausgeglichenen Zustand
freigegeben werden. Dadurch, dass LIO und LIO# aus ihrem ausgeglichenen
Zustand freigegeben werden, kann entweder LIO oder LIO# tief gemacht
werden, während
die andere auf VDD bleibt.
-
Die Logikgatter in der lokalen Schreibtreiberschaltung 120 (5) bestimmen gleichzeitig,
wann die lokalen E/A-Leitungen (LIO oder LIO#) zum Schreiben von
Daten tief gemacht werden sollten. Für die Diskussion wird angenommen,
dass eine logische 0 geschrieben werden soll. Das heißt, es wird angenommen,
dass GIO tief gepulst worden ist, wodurch das RS-Flipflop 224 gesetzt
wird und bewirkt wird, dass sein Ausgang q auf eine logische 1 geht, während sein
Ausgang q# (gio_eq) auf eine logische 0 geht. Da kein negativer
Impuls auf GIO# aufgetreten ist, bleibt der Ausgang q des SR-Flipflops 242 auf der
logischen 0, während
q# auf der logischen 1 bleibt. Außerdem wird angenommen, dass
das Matrixauswahlsignal array_sel auf einer logischen 1 ist. Das
Matrix-Schreibfreigabesignal array_we wird hoch gemacht, was bewirkt,
dass das Ausgangssignal des UND-Gatters 228 hoch wird und
dass das Ausgangssignal des ODER-Gatters 226 hoch wird. Dies
schaltet die NMOS-Vonichtung Q68 ein und die PMOS-Vorrich tung Q66
aus (wobei Q66 und Q68 in einer spezifischen Ausführungsform
50-Mikrometer-Transistoren
sind). Das Blockschreib-Freigabesignal bwatv8 ist tief, wodurch
der PMOS-Transistor Q70 des Blockschreibtreibers und der NMOS-Transistor
Q72 des Blockschreibtreibers (die eine 100-Mikrometer- bzw. eine
138-Mikrometer-Vorrichtung
sein können)
ausgeschaltet gehalten werden. Somit wird der Knoten LIO ausschließlich durch
den NMOS-Transistor Q68 tief gemacht. Da das Ausgangssignal q des
SR-Flipflops 242 tief bleibt, ist das Ausgangssignal des
UND-Gatters 236 tief und ist das Ausgangssignal des ODER-Gatters 234 tief,
wodurch die PMOS-Vorrichtung Q74 eingeschaltet und die NMOS-Vorrichtung
Q76 ausgeschaltet gehalten wird. Da bwatv8 tief ist, ist das Ausgangssignal
des NAND-Gatters 238 hoch, wodurch der Blockschreib-PMOS-Ansteuertransistor
Q78 ausgeschaltet gehalten wird. Das Ausgangssignal des UND-Gatters 240 ist
tief, wodurch der Blockschreib-NMOS-Ansteuertransistor Q80 ausgeschaltet
gehalten wird. Somit wird LIO# ausschließlich durch die PMOS-Vorrichtung
Q74 hoch gehalten. Gleichzeitig wird an dem Spaltenauswahlsignal
ein positiver Impuls erzeugt und an die Gatter der Spaltenauswahl-Durchgangsgatter
(1) gesendet.
-
Der negative Impuls auf LIO wird über die Spaltendecodierungs-Durchgangsgatter
Q1–Q4
an die kreuzgekoppelten Abtastknoten des Bitleitungs-Leseverstärkers 24 gekoppelt.
Es werden die genau einer Spaltenadresse zugeordneten Spaltendurchgangsgatter
aktiviert (eingeschaltet). Der Impuls auf LIO ist ausreichend, um
die zwischengespeicherten Knoten eines Bitleitungs-Leseverstärkers in ihre
entgegengesetzten Zustände
zu kippen. Das heißt,
die Ansteuerfähigkeit
der lokalen E/A-Leitung wird minimiert, um eine einzelne Spalte
anzusteuern. In einer spezifischen Ausführungsform wird ein einzelner
50-Mikrometer-Transistor verwendet, wenn eine einzelne Spalte alles
ist, was angesteuert werden muss. Während Normalschreibbetriebsarten werden
einzelne Spalten angesteuert. Wie diskutiert wird, schaffen Ausführungsformen
der vorliegenden Erfindung bei Bedarf (d. h. für Blockschreibvorgänge) eine
höhere
Ansteuerkapazität.
-
Wenn in einem Spaltenauswahlsignal
die fallende Flanke des Impulses auftritt, wird durch die Adressenauswahllogik 106 ein
positiver Impuls auf column oft erzeugt. Das Signal column oft wird
in die lokale Schreibtreiberschaltung 120 (5) eingegeben. Da das Blockschreibsignal
bwatv8 tief ist, bewirkt der Impuls auf column oft, dass das Ausgangssignal
des UND-Gatters 220 hoch gepulst wird, wobei das Ausgangssignal
des NOR-Gatters 251 tief wird, was bewirkt, dass das LIO-Rücksetzsignal
rstio hoch gepulst wird, was gio_eq wieder hoch macht. Dies bewirkt,
dass das Ausgangssignal des UND-Gatters 228 wieder tief
wird, wodurch die NMOS-Vorrichtung Q68 und das Ausgangssignal des
ODER-Gatters 226 tief
werden, wodurch die PMOS-Vorrichtung Q66 eingeschaltet wird. Somit
beginnt die PMOS-Vorrichtung Q66, das LIO auf VDD zurückzubringen.
Das Signal gio wird vor oder während
des column_off-Impulses wieder hoch. Gleichzeitig wird gio_eq wieder hoch,
was bewirkt, dass das Ausgangssignal des NAND-Gatters 243 in
der lokalen E/A-Entzerrschaltung 122 (6)
tief wird, während
das Ausgangssignal des NAND-Gatters 244 hoch wird. Dies
zieht den Kno- ten ioeq hoch und den Knoten ioeq# tief, wodurch
die lokalen E/A-Leitungen LIO, LIO# in einem ausgeglichenen Zustand überbrückt werden.
-
Dies schließt die Normalschreiboperation,
in der GIO, GIO# und LIO, LIO# in einen ausgeglichenen hohen Zustand
zurückgesetzt
sind, ab. Die in den obigen Schritten beschriebenen Operationen werden
wiederholt, falls nachfolgend Normalschreiboperationen aufgerufen
werden.
-
BETRIEB WÄHREND EINES
ERSTEN BLOCKSCHREIBZYKLUS
-
Es wird nun eine Diskussion des Betriebs des
Eingangsteils 100 gemäß der vorliegenden
Erfindung in einer Blockschreibbetriebsart gegeben. Zunächst wird
ein anfänglicher
Blockschreibzyklus beschrieben. In der Diskussion des Blockschreibzyklus wird
angenommen, dass bereits eine Matrix- und eine Zeilenauswahloperation
stattgefunden haben.
-
Zu Beginn eines ersten Blockschreibzyklus werden
die Daten von dem Farbregister 112 mit den Ausgangssignalen
bwq, bwq# der Daten in der in 3 gezeigten
Schaltung 110 gekoppelt. Wenn das Farbregister 112 eine
logische 0 enthält,
ist bwq auf einer logischen 0 und bwq# auf einer logischen 1. Wenn
das Farbregister 112 eine logische 1 enthält, ist
bwq auf einer logischen 1 und bwq# auf einer logischen 0. Gleichzeitig
werden durch clkt4 die Steuersignale cs# = 0, ras# = 1, cas# = 0,
we# = 0, dsf = 1 und das Bytefreigabesignal dqm gepuffert und zwischengespeichert,
was bewirkt, dass die Steuersignale cs4, ras4, cas4, we4, dsf4 und
dgm4 umgeschaltet werden. Das Signal dgm4 ist wieder ein aktiv tiefes
E/A-Steuersignal, von dem für
die Diskussion, wenn nichts anderes angegeben ist, angenommen wird,
dass es tief aktiviert ist. Die Steuersignale cs4, ras4, cas4, we4
und ds4 sind immer tief, wenn clkt4 tief ist. Somit sind cs4, ras4,
cas4, we4 und ds4 aktiv hohe, gepulste Signale, die gegenüber clkt4
verzögert
sind. Gleichzeitig werden die Spaltenadressendaten durch die Adressenauswahllogik 106 zwischengespeichert.
-
Kurze Zeit später empfängt die Befehlsdecodierungslogik 104 die
verzögerten
Steuersignale ras4 = 0, cas4 = 1, we4 = 1, ds4 = 1 und cs4 = 1 als Eingangssignal.
Diese Kombination bedeutet, dass ein Blockschreibzyklus im Gang
ist. Die Befehlsdecodierungslogik 104 erzeugt auf dem Blockschreib-Aktivierungssignal
(bwatv6) einen positiven Impuls. Das Signal bwatv6 ist mit dem Schreibfreigabesignal
we4 und mit dem Bytefreigabesignal dgm4 in der Datenübernahmeschaltung 116 (7) UND-verknüpft. Da dgm4
gleichzeitig mit den positiven Impulsen auf bwatv6 und we4 aktiviert
(tief) wird, tritt auf dem Blockschreib-Datenübernahme-Ausgangssignal bw_dinstb
ein selbstausgelöster
positiver Impuls auf. Der positive Impuls auf bw_dinstb wird an
einen Setzeingang des Rücksetzsperr-RS-Flipflops 252 rückgekoppelt.
Das Setzen des Flipflops sperrt, dass das Signal bw_dinstb wieder
auftritt, bis der Rücksetzsperr-Zwischenspeicher
durch den Empfang eines Blockschreib-Rücksetzsignals (bwrst) zurückgesetzt wird.
Das Signal bwrst wird in dem ersten nachfolgenden Zyklus erzeugt,
der kein Blockschreib- oder NOP-Zyklus ist.
-
Anhand von 8 bewirkt die positive Übernahme
auf dem Blockschreib-Aktivierungssignal bwatv6
außerdem,
dass das zwischengespeicherte Signal bwatv8 hoch aktiviert wird.
Das Signal bwatv8 bleibt hoch, bis ein Befehl ausgegeben wird, der
kein Blockschreib- oder NOP-Zyklus ist. Gleichzeitig erzeugt die
Adressenauswahllogik 106 Auswahlsignale, die verwendet
werden, um die Spaltenadressen zu decodieren, in die geschrieben
wird. An die richtigen Spaltendecodierungs-Durchgangsgatter in einer ausgewählten lokalen
Matrix sind so viel wie acht Ausgänge von dem Spaltendecodierer
(die Spaltenauswahlsignale) angeschlossen.
-
Der Impuls auf bw_dinstb wird in
die globale Schreibtreiberschaltung 118 (4) eingegeben und in den UND-Gattern 160, 184 mit
bwq und bwq# UNDverknüpft,
was zu einem selbstausgelösten
negativen Impuls entweder auf GIO oder auf GIO# führt. Falls
bwq = 0 und bwq# = 1 ist, wird GIO tief übernommen. Falls bwq = 1 und
bwq# = 0 ist, wird GIO# tief übernommen.
Die negative Übernahme
auf GIO oder GIO# wird in den lokalen Schreibtreiber 120 in 5 eingegeben und setzt eines
der zwei SR-Flipflops 224, 242, die invertierte
Ausgänge
gio_eq und gio_eq# besitzen. Folglich ist das Spaltenadressenzeitgebungs-Steu ersignal
column_off tief, ist das zwischengespeicherte Blockschreib-Steuersignal bwatv8
hoch und ist das Blockschreib-Rücksetzsignal
bwrst tief. Somit ist das Ausgangssignal des UND-Gatters 220 tief,
wodurch das LIO-Rücksetzsignal
rstio tief gehalten wird und verhindert wird, dass die SR-Flipflops 224 und 242 zurückgesetzt
werden. Falls GIO tief übernommen
wird, wird gio_eq auf eine logische 0 zwischengespeichert. Falls
GIO# tief übernommen
wird, wird gio_eq# auf eine logische 0 zwischengespeichert.
-
Die Signale gio_eq und gio_eq# werden
in das NAND-Gatter 243 in der lokalen E/A-Entzerrschaltung 122 (6) eingegeben. Somit ist
das Ausgangssignal des NAND-Gatters 243 hoch, wobei es
mit dem Matrix-Schreibfreigabesignal array_we, das aktiviert (hoch)
ist, NAND-verknüpft
wird. Dies bewirkt, dass der Knoten ioeq tief wird und der Knoten
ioeq# hoch wird, wodurch die NMOS-Vorrichtung Q82 und die PMOS-Vorrichtung
Q84 ausgeschaltet werden und LIO und LIO# aus ihrem ausgeglichenen Zustand
freigegeben werden. Dadurch, dass LIO und LIO# aus ihrem geklemmten,
ausgeglichenen Zustand freigegeben werden, kann entweder LIO oder LIO#
tief gemacht werden, während
die andere auf VDD verbleibt. Gleichzeitig bestimmen die Logikgatter
in der lokalen Schreibtreiberschaltung 120, wann entweder
LIO oder LIO# zum Schreiben von Daten tief gemacht werden sollte.
Für die
Diskussion wird angenommen, dass eine logische Null geschrieben werden
soll. Das heißt,
GIO ist tief gepulst worden, wodurch das RS-Flipflop 224 (5) gesetzt wird und bewirkt
wird, dass sein Ausgang q auf eine logische 1 geht, während sein
Ausgang q# (gio_eq) auf eine logische 0 geht. Da auf GIO# kein negativer
Impuls aufgetreten ist, bleibt der Ausgang q des SR-Flipflops 242 auf
einer logischen 0 und bleibt der Ausgang q# auf einer logischen
1. Außerdem
wird angenommen, dass das Matrixauswahlsignal array_sel auf einer
logischen 1 ist. Das Matrix-Schreibfreigabesignal array_we wird
hoch gemacht, was bewirkt, dass das Ausgangssignal des UND-Gatters 228 hoch
wird und das Ausgangssignal des ODER-Gatters 226 hoch wird.
Dies schaltet die NMOS-Vonichtung Q68 ein und die PMOS-Vorrichtung
Q66 aus (wobei beide 50-Mikrometer-Vorrichtungen
sein können).
Da gio_eq tief ist, ist das Ausgangssignal des NAND-Gatters 230 hoch,
so dass der PMOS-Transistor Q70 des Blockschreibtreibers (der ein
100-Mikrometer-Transistor sein kann) ausgeschaltet wird. Da das
Blockschreibsteuersignal bwatv8 hoch ist, ist andererseits das Ausgangssignal des
UND-Gatters 232 hoch, was den NMOS-Transistor Q72 des Blockschreibtreibers
(der eine 138-Mikrometer-Vorrichtung sein kann) einschaltet. Somit wird
der Knoten LIO über
die beiden NMOS-Transistoren Q68 und Q72 tief gemacht. Diese zusätzliche Ansteuerung
ist erforderlich, um die zusätzlichen durch
das Blockschreiben ausgewählten
Spalten zu schreiben. Da der Ausgang q des SR-Flipflops 242 tief
bleibt, ist das Ausgangssignal des UND-Gatters 236 tief
und ist das Ausgangssignal des ODER-Gatters 234 tief, wodurch
die PMOS-Vorrichtung Q74 eingeschaltet gehalten wird und die NMOS-Vorrichtung
Q76 ausgeschaltet gehalten wird. Da das Blockschreib-Steuersignal
bwatv8 hoch ist und gio_eq# ebenfalls hoch ist, ist das Ausgangssignal
des NAND-Gatters 238 tief, wodurch der Blockschreib-PMOS-Ansteuertransistor
Q78 eingeschaltet wird. Diese zusätzliche Ansteuerung ist erforderlich, um
die zusätzlichen
durch das Blockschreiben ausgewählten
Spalten zu schreiben. Gleichzeitig wird auf dem Spaltenauswahlsignal
ein positiver Impuls erzeugt und an die Gatter der Spaltendecodierungs-Durchgangsgatter
gesendet. Im Ergebnis schaffen die Ausführungsformen der vorliegenden Erfindung
ein verhältnismäßig niedriges
Ansteuersignal für
Einzelspaltenschreibvorgänge
und ein verhältnismäßig hohes
Ansteuersignal für
Mehrspaltenschreibvorgänge,
um Durchschnittsleistung zu sparen.
-
Der negative Impuls auf LIO wird über die Spaltenauswahl-Durchlassgatter
an die kreuzgekoppelten Leseknoten eines Bitleitungs-Leseverstärkers gekoppelt.
Es werden die Spaltendurchlassgatter aktiviert (eingeschaltet),
die so viel wie acht Spaltenadressen zugeordnet sind. Die zusätzliche
Ansteuerstärke
der Blockschreibtreibertransistoren (Q70, Q72, Q78 und Q80) liefert
einen Impuls ausreichender Ansteuerung und Dauer, um die zwischengespeicherten
Knoten von so viel wie acht ausgewählten Bitleistungs-Leseverstärkern in
ihre entgegengesetzten Zustände
zu kippen. Das heißt,
Speicher, die die Merkmale der vorliegenden Erfindung verwenden, liefem
die zusätzliche
Ansteuerkapazität
nur dann, wenn es erforderlich ist (d. h. wenn ein Blockschreiben
läuft).
-
Während
das zwischengespeicherte Blockschreib-Freigabesignal bwatv8 hoch
ist (d. h. während
Blockschreibzyklen), wird verhindert, dass column_off pulsiert,
wenn die fallende Flanke des Spaltenauswahlimpulses auftritt. Mit
Bezug auf die lokale Schreibtreiberschaltung 120 (5) ist das zwischengespeicherte
Blockschreib-Freigabesignal bwatv8 hoch, während das Blockschreib-Rücksetzsignal
bwrst tief ist, so dass das LIO-Rücksetzsignal rstio nicht hoch
pulst und die SR-Flipflops 224 und 242 nicht zurückgesetzt
werden. Die NMOS-Vorrichtungen Q68 und Q72 bleiben ebenso wie die
PMOS-Vorrichtungen Q74 und Q78 eingeschaltet, so dass LIO und LIO#
in ihrem Differenzzustand bleiben.
-
Dies schließt den ersten von mehreren Blockschreibzyklen
ab. Es ist verhindert worden, dass das Blockschreibdaten-Übernahmesignal bw_dinstb
gesperrt wird, bis ein anderer Zyklus als ein Blockschreiben oder
ein NOP auftritt. Das heißt, dass
auf den globalen Schreibdatenleitungen GIO, GIO# keine negativen
Impulse auftreten können, während nachfolgende
Blockschreibzyklen stattfinden. Im Wesentlichen sind GIO und GIO#
eingefroren worden. Außerdem
sind die lokalen E/A-Leitungen LIO und LIO# auf einen Differenzsignalzustand eingestellt
worden, der dem Inhalt des Farbregisters 112 entspricht.
LIO und LIO# werden in diesem Differenzzustand gehalten, bis ein
anderer Zyklus als ein Blockschreiben oder ein NOP auftritt. LIO
und LIO# sind im Wesentlichen eingefroren worden. Ferner ist zum
Ausführen
des Blockschreibens eine zusätzliche Ansteuerkapazität verwendet
worden.
-
BETRIEB WÄHREND EINES
NACHFOLGENDEN BLOCKSCHREIBZYKLUS
-
Es wird nun eine Beschreibung des
Betriebs des Eingangsteils 100 für einen nachfolgenden Blockschreibzyklus
gegeben.
-
Zunächst anhand von 3 sind zu Beginn des nächsten Blockschreibzyklus
immer noch Daten aus dem Farbregister 112 an die Ausgänge bwq, bwq#
der Dateneingangsschaltung 110 gekoppelt. Falls das Farbregister 112 eine
logische 0 enthält,
ist bwq tief und bwq# hoch. Falls das Farbregister 112 eine
logische 1 enthält,
ist bwq hoch und bwq# tief. Die Steuersignale cs# = 0, ras# = 1,
cas# = 0, we# = 0, dsf = 1 und das E/A-Freigabesignal dqm werden durch
clkt4 gepuffert und zwischengespeichert, was bewirkt, dass die Steuersignale
cs4, ras4, we4, dsf4 und dgm4 umgeschaltet werden. Die Steuersignale cs4,
ras4, we4 und ds4 sind jedes Mal tief, wenn clkt4 tief ist. Folglich
sind cs4, ras4, cas4, we4 und ds4 aktiv hohe, gepulste Signale,
die gegenüber
clkt4 verzögert
sind. Gleichzeitig wird durch die Adressenauswahllogik 106 die
Spaltenadresse zwischengespeichert.
-
Kurze Zeit später empfängt die Befehlsdecodierungs-Logikschaltung 104 als
Eingangssignal die verzögerten
Steuersignale ras4 = 0, cas4 = 1, we4 = 1, dsf4 = 1 und cs4 = 1.
Diese Kombination bedeutet, dass ein Blockschreibzyklus im Gang
ist. Bei dem Blockschreibaktivierungssignal bwatv6 wird ein positiver
Impuls erzeugt. Mit Bezug auf die Datenübernahmeschaltung 116 (7) findet weder auf dinstb noch
auf bw_dinstb (unter der Annahme von dgm4 = 0, was bedeutet, dass
die fragliche E/A immer noch freigegeben ist) ein Aktivierungsimpuls
statt, da das Rücksetzsperrflipflop 252 während des
ersten Blockschreibzyklus gesetzt worden ist. Da weder auf dinstb
noch auf bw_dinstb ein Impuls auftritt, tritt weder auf GIO noch
auf GIO# ein Impuls auf. Außerdem bewirkt
diese Kombination der Steuersignale cs#, cas#, we#, dsf und ras#,
dass das Signal rst in der Blockschreibschaltung 108 (8) negiert (tief) bleibt.
Somit wird der Zustand bwatv8 in der Blockschreibschaltung 108 hoch
gehalten.
-
Da weder auf GIO noch auf GIO# ein
Impuls auftritt und da das Rücksetzen
der Leitungen LIO, LIO# gesperrt worden ist, bleiben LIO und LIO#,
wie es oben für
den ersten Blockschreibzyklus beschrieben worden ist, in ihrem Differenzzustand.
Folglich wird nicht wie in früheren
Konstruktionen eine zusätzliche
Leistung abgeleitet.
-
Das Differenzsignal auf LIO, LIO#
ist über
die Spaltendecodierungs-Durchlassgatter
mit den kreuzgekoppelten Leseknoten von so viel wie acht ausgewählten Bitleitungs-Leseverstärkern gekoppelt.
Da die Blockschreibtreibertransistoren Q72 und Q68 in der lokalen
Schreibtreiberschaltung 120 eingeschaltet bleiben, ist
die Signalstärke
des Differenzsignals auf LIO, LIO# ausreichend, um die zwischengespeicherten
Knoten von so viel wie acht Bitleitungs-Leseverstärkern in
ihre entgegengesetzten Zustände
zu kippen. Das heißt,
für jeden
zusätzlichen
Blockschreibzyklus wird eine größere Ansteuerfähigkeit (im
Vergleich zu einem Normalschreibzyklus) geliefert.
-
Dies schließt den zweiten von mehreren Blockschreibzyklen
ab. Alle nachfolgenden Blockschreibzyklen, die ohne Unterbrechung
durch einen weiteren Zyklus (z. B. einen normalen Zyklus) folgen, verhalten
sich ähnlich.
-
BETRIEB WÄHREND EINES
ERSTEN NACHFOLGENDEN ZYKLUS
-
Es wird nun eine Beschreibung für den Betrieb
der Schaltung 100 für
einen ersten nachfolgenden Zyklus, der von einem Blockschreibzyklus
oder von einem NOP verschieden ist, gegeben. Zu Beginn des ersten
Zyklus, der kein Blockschreiben oder NOP ist (und von dem für diese
Diskussion angenommen werden kann, dass er ein normaler Schreibzyklus
ist), werden durch die Daten in der Schaltung 110 (3) auf der positiven Flanke
des gepufferten Taktimpulses clkt4 die Daten auf den Anschlüssen dind
und dind# gepuffert und zwischengespeichert, was bewirkt, dass die
Normalschreibdaten-Ausgangssignale (q und q#) der Daten in Schaltung 110 umgeschaltet
werden. Falls das Signal auf dind während des Taktimpulses clkt4
tief war, wird q auf eine logische 0 umgeschaltet und wird q# auf
eine logische 1 umgeschaltet. Falls das Signal dind während des
Taktimpulses clkt4 hoch war, wird q auf eine logische 1 und q# auf
eine logische 0 umgeschaltet. Gleichzeitig werden die Steuersignale
cs# = 0, ras# = 1, cas# = 0, we# = 0, dsf = 0 und das E/A-Freigabesignal
dqm durch clkt4 gepuffert und in den Steuerzwischenspeichern 102 zwischengespeichert.
Die Steuersignale cs4, ras4, cas4, we4 und ds4 sind jedes Mal tief, wenn
clkt4 tief ist. Folglich sind cs4, ras4, cas4, we4 und ds4 aktiv
hohe, gepulste Signale, die gegenüber clkt4 verzögert sind.
Folglich sind die nicht zwischengespeicherten Steuersignale cs#
= 0, ras# = 1, cas# = 0, we# = 0, dsf = 0 und dqm an die Logikgatter
in der Blockschreibschaltung 108 gekoppelt. Diese Kombination
bedeutet, dass der momentane Zyklus kein Blockschreiben oder NOP
ist. Außerdem
bewirkt diese Kombination von Steuersignalen, dass das Master-Rücksetzsignal
(rst) in der Blockschreibschaltung 108 hoch wird. In einer
spezifischen Ausführungsform
wird das Signal rst durch eine Kombinationslogik erzeugt, die, wie
in 8 gezeigt ist, die NAND-Gatter 270–274 und
das UND-Gatter 276 enthält.
Wenn der Taktimpuls auf clkt4 auftritt, wird das D-Flipflop 282 umgeschaltet,
was bewirkt, dass ein E/Aspezifisches Blockschreibrücksetzsignal
bwrst hoch gepulst wird. Dieser selbstausgelöste Impuls setzt das zwischengespeicherte
Blockschreib-Steuersignal bwatv8 auf eine logische 0 zurück, was
bewirkt, dass der Blockschreibtreibertransistor Q72 in der lokalen
Schreibtreiberschaltung 120 ausgeschaltet wird (5). Etwa gleichzeitig wird
durch die Adressenauswahllogik 106 die Spaltenadresse zwischengespeichert.
-
Kurze Zeit später empfängt die Befehlsdecodierungslogik 104 die
Steuersignale ras4 = 0, cas4 = 1, we4 = 1, dsf4 = 0 und cs4 = 1,
die in den Steuerzwischenspeichern 102 zwischengespeichert
worden sind. Diese Kombination bedeutet, dass ein normaler Schreibzyklus
im Gang ist. Auf dem Normalschreibsignal nwatv6 wird ein positiver
Impuls erzeugt. Gleichzeitig bewirkt das Blockschreib-Rücksetzsignal
bwrst = 1, dass das Ausgangssignal des ODER-Gatters 250 in der Datenübernahmeschaltung 116 (7) hoch wird, wodurch das
Rücksetzsperr-SR-Flipflop 252 zurückgesetzt
wird. Dies entfernt die Sperrbedingung an die Erzeugung des Blockschreibdaten-Übernahmesignals
(bw_dinstb), wobei bw_dinstb freigegeben wird, so dass es im nächsten Blockschreibzyklus
aktiviert werden kann. Gleichzeitig wird das Normalschreibsignal
nwatv6 mit dem Schreibfreigabesignal we4 und mit dem Ausgangssignal
des NOR-Gatters 262 UND-verknüpft. Da das Blockschreibsignal
bwatv6 nicht aktiviert ist, bleibt das Blockschreibdaten-Übernahmesignal bw_dinstb
tief. Da das E/A-Freigabesignal dgm4 gleichzeitig mit den positiven
Impulsen auf nwatv6 und we4 aktiviert (tief) wird, tritt auf dem
Normalschreibdaten-Übernahmeausgangssignal
dinstb ein selbstausgelöster
positiver Impuls auf.
-
Gleichzeitig wird bwrst = 1 in die
lokale Schreibtreiberschaltung 120 (5) eingegeben, was bewirkt, dass das
Ausgangssignal des ODER-Gatters 222 hoch wird. Dies setzt
das SR-Flipflop 224 zurück,
was bewirkt, dass sein Ausgangssignal q# (gio_eq) wieder hoch wird,
während sein
Ausgangssignal q wieder tief wird. Dies bewirkt, dass das Ausgangssignal
des UND-Gatters 228 tief wird, wodurch der NMOS-Pulldown-Transistor
Q68 ausgeschaltet wird. Das Ausgangssignal des ODER-Gatters 226 wird
tief gezwungen, wodurch der PMOS-Pullup-Transistor
Q66 eingeschaltet wird und der Knoten LIO auf VDD gezogen wird.
Dass gio_eq hoch wird, bewirkt außerdem, dass das Ausgangssignal
des NAND-Gatters 243 in der lokalen E/A-Entzerrschaltung 122 (6) tief wird, was seinerseits bewirkt,
dass das Entzerrsignal ioeq hoch wird und dass sein Komplement ioeq#
tief wird. Dies aktiviert die Nebenschlusstransistoren Q82 und Q84,
was bewirkt, dass LIO und LIO# in einen ausgeglichenen Zustand übergehen.
Gleichzeitig erzeugt die Adressenauswahllogik 106 Auswahlsignale,
die zum Decodieren der Spaltenadresse verwendet werden, in die geschrieben
werden soll. Ein Ausgang von dem Spaltendecodierer (das Spaltenauswahlsignal)
ist an die geeigneten Spaltendecodierungs-Durchgangsgatter in der
lokalen Matrix gekoppelt.
-
Der Impuls in dem normalen Schreibdaten-Übernahmesignal
dinstb wird in die globale Schreibtreiberschaltung 118 (4) eingegeben und mit den
Signalen q und q# UND-verknüpft,
was entweder auf GIO oder auf GIO# zu einem selbstausgelösten negativen
Impuls führt.
Falls q = 0 und q# = 1 ist, wird GIO tief übernommen. Falls q = 1 und
q# = 0 ist, wird GIO# tief übernommen.
Bis zu diesem Zeitpunkt ist der positive Impuls auf bwrst abgelaufen, wobei
bwrst wieder tief geworden ist.
-
Die negative Übernahme auf GIO oder GIO# setzt
einen der zwei SR-Flipflops 224 und 242 in
der lokalen Schreibtreiberschaltung 120 (5). Die Flipflops besitzen invertierte
Ausgänge
gio_eq und gio_eq#. Das Spaltenadressenzeitgebungs-Steuersignal
(column_off), das zwischengespeicherte Block schreib-Steuersignal
(bwatv8) und das Blockschreibrücksetz-Steuersignal
(bwrst) sind sämtlich tief,
was das lokale E/A-Rücksetzsignal
(rstio) tief zwingt und verhindert, dass die SR-Flipflops 224 und 242 zurückgesetzt
werden. Falls GIO tief übernommen
wird, wird gio_eq auf eine logische 0 zwischengespeichert. Falls
GIO# tief übernommen
wird, wird gio_eq# auf eine logische 0 zwischengespeichert.
-
Die Signale gio_eq und gio_eq# werden
in das NAND-Gatter 243 in der lokalen E/A-Entzerrschaltung 122 (6) eingegeben. Somit ist
das Ausgangssignal des NAND-Gatters 243 hoch, wobei es
mit dem Matrix-Schreibfreigabesignal (array_en), das aktiviert (hoch)
ist, NAND-verknüpft
ist. Dies bewirkt, dass der Knoten ioeq tief wird und dass der Knoten
ioeq# hoch wird, was die NMOS-Vorrichtung Q82 und die PMOS-Vorrichtung
Q84 ausschaltet und LIO und LIO# aus ihrem ausgeglichenen Zustand freigibt.
Dadurch, dass LIO und LIO# aus ihrem ausgeglichenen Zustand freigegeben
werden, kann entweder LIO oder LIO# tief gemacht werden, während das
andere auf VDD bleibt. Gleichzeitig bestimmen die Logikgatter in
der lokalen Schreibtreiberschaltung 120 (5), wann entweder LIO oder LIO# zum Schreiben
von Daten tief gemacht werden sollten. Für die Diskussion wird angenommen,
dass eine logische 0 geschrieben werden soll. Das heißt, GIO
ist tief gepulst worden, wodurch das RS-Flipflop 224 gesetzt
und bewirkt wird, dass sein Ausgang q auf eine logische 1 geht und
dass sein Ausgang q# (gio_eq) auf eine logische 0 geht. Da kein
negativer Impuls auf GIO# aufgetreten ist, bleibt das Ausgangssignal
q des SR-Flipflops 242 auf der logischen 0 und bleibt das
Ausgangssignal q# auf einer logischen 1. Außerdem wird angenommen, dass
das Matrixauswahlsignal array_sel auf einer logischen 1 ist. Das
Matrix-Schreibfreigabesignal array_we wird hoch gemacht, was bewirkt,
dass das Ausgangssignal des UND-Gatters 228 hoch wird und
dass das Ausgangssignal des ODER-Gatters 226 hoch wird.
Dies schaltet die NMOS-Vorrichtung Q68 ein und die PMOS-Vorrichtung
Q66 aus. Das Blockschreib-Freigabesignal bwatv8 ist tief, wodurch
der PMOS-Transistor Q70 des Blockschreibtreibers und der NMOS-Transistor
Q72 des Blockschreibtreibers ausgeschaltet gehalten werden. Somit
wird der Knoten LIO ausschließlich
durch den NMOS-Transistor Q68 (z. B. eine 50-Mikrometer-Vorrichtung) tief
gemacht. Da das Ausgangssignal q des SR-Flipflops 242 tief bleibt,
ist das Ausgangssignal des UND-Gatters 236 tief und ist
das Ausgangssignal des ODER-Gatters 234 tief, wodurch die
PMOS-Vorrichtung Q74 eingeschaltet und die NMOS-Vorrichtung Q76
ausgeschaltet gehalten wird. Da das Block schreib-Freigabesignal
bwatv8 tief ist, ist das Ausgangssignal des NAND-Gatters 238 hoch,
wodurch der Blockschreib-PMOS-Ansteuertransistor Q78 ausgeschaltet
gehalten wird. Das Ausgangssignal des UND-Gatters 240 ist
tief, wodurch der Blockschreib-NMOS-Treibertransistor Q80 ausgeschaltet gehalten
wird. Somit bleibt LIO# ausschließlich durch die PMOS-Vorrichtung
Q74 hoch gehalten. Gleichzeitig wird auf dem Spaltenauswahlsignal
ein positiver Impuls erzeugt und an die Gatter eines Spaltendecodierungs-Durchgangsgatters
gesendet. Somit ist die Ansteuerfähigkeit gegenüber der
zusätzlichen Ansteuerfähigkeit,
die während
der Blockschreibzyklen bereitgestellt worden ist, nach unten verschoben worden.
-
Wie dem Fachmann auf dem Gebiet bekannt ist,
ist der negative Impuls auf LIO über
die Spaltendecodierungs-Durchgangsgatter an die kreuzgekoppelten
Leseknoten eines Bitleitungs-Leseverstärkers gekoppelt. Es werden
die genau einer Spaltenadresse zugeordneten Spaltendurchgangsgatter
aktiviert (eingeschaltet). Der Impuls auf LIO ist ausreichend, um
die zwischengespeicherten Knoten eines Bitleitungs-Leseverstärkers in
ihre entgegengesetzten Zustände
zu kippen.
-
Da das Blockschreib-Aktivierungssignal bwatv8
nicht aktiviert ist (d. h. es ist auf einer logischen 0), wird durch
die Adressenauswahllogik 106 ein positiver Impuls auf column
oft erzeugt, wenn die fallende Flanke des Impulses auf dem Spaltenauswahlsignal
auftritt. Das Signal column oft wird in die lokale Schreibtreiberschaltung 120 (5) eingegeben. Da das Blockschreib-Aktivierungssignal
bwatv8 tief ist, bewirkt der Impuls auf column oft, dass das Ausgangssignal
des UND-Gatters 220 hoch gepulst wird, was bewirkt, dass
das LIO-Rücksetzsignal
rstio hoch gepulst wird, wodurch das SR-Flipflop 224 zurückgesetzt
wird und gio_eq wieder hoch gemacht wird. Dies bewirkt, dass das
Ausgangssignal des UND-Gatters 228 wieder tief wird, wodurch
die NMOS-Vorrichtung Q68 ausgeschaltet wird und das Ausgangssignal
des ODER-Gatters 226 tief wird, wodurch die PMOS-Vorrichtung
Q66 eingeschaltet wird. Somit beginnt die PMOS-Vorrichtung Q66,
LIO wieder auf VDD zurückzubringen.
Da das Ausgangssignal des NAND-Gatters 243 in der lokalen
E/A-Entzerrschaltung 122 tief wird und das Ausgangssignal des
NAND-Gatters 244 hoch wird, wird gleichzeitig gio_eq wieder
hoch. Dies zieht den Knoten ioeq hoch und den Knoten ioeq# tief,
wodurch die lokalen E/A-Leitungen LIO, LIO# auf einen ausgeglichenen Zustand überbrückt werden.
-
Dies schließt den Betrieb einer normalen Schreiboperation,
die unmittelbar auf mehrere Blockschreib- oder NOP-Zyklen folgt,
ab. Die globalen und lokalen E/A-Leitungen GIO/GIO#, LIO/LIO# sind
wieder auf einen ausgeglichenen hohen Zustand zurückgesetzt.
Der Zustand der Steuerlogik und des Schreibdatenpfads ist völlig gleich
dem unmittelbar vor dem obenbeschriebenen ersten Normalschreibzyklus,
als der Normalschreibzyklus begann.
-
Der Betrieb einer Ausführungsform
der vorliegenden Erfindung ist in dem Zeitablaufplan aus 9 gezeigt. Genauer zeigt
der Zeitablaufplan aus 9 eine
Operationsfolge, bei der auf einen ersten Schreibzyklus vier Blockschreibzyklen
folgen. Während
der Blockschreibzyklen sind die globalen und lokalen E/A-Leitungen
eingefroren. Beim Empfang des nächsten
Nicht-Blockschreibzyklus (hier eines Schreibzyklus) wird ein Blockschreib-Rücksetzsignal bwrst
erzeugt, wird eine Dateneinheit in der Übernahme (dinstb) erzeugt und
werden die globalen und lokalen E/A-Leitungen aufgetaut.
-
In der obigen Beschreibung wurde
angenommen, dass für
alle Schreib- und
Blockschreiboperationen eine besondere betrachtete E/A freigegeben
wurde. Allerdings ist die Erfindung in diesem Sinn nicht einschränkend. Tatsächlich ist
die Logik in der Blockschreib-Rücksetzschaltung 108 (8) und in der lokalen Schreibtreiberschaltung 120 (5) so konstruiert, dass
jedes Mal, wenn eine spezifische E/A gesperrt wird, unabhängig davon,
ob dieses Ereignis während
aufeinander folgender Blockschreibzyklen stattfindet, die lokalen
E/A-Leitungen LIO, LIO# unbedingt in ihren ausgeglichenen Zustand
zurückgesetzt
werden und das Pulsieren auf GIO, GIO# wieder freigegeben wird.
In dem Zeitablaufplan aus 10 ist
ein typischer Fall veranschaulicht. Es werden ein Schreibzyklus
und daraufhin zwei Blockschreibzyklen ausgeführt, wobei das E/A-Freigabesignal
dqm tief aktiviert wird (dqm = 0, was das Freigeben der E/A gemäß dem gleichen Byte- oder Bitauswahlsignal
angibt, wie es in breiten, z. B. ×16- oder ×32-, Speichervorrichtungen
oder in Vorrichtungen mit anderen Formen einer E/A-Maskensteuerung üblich ist).
Der Betrieb während
dieser Zyklen ist oben beschrieben worden. Beim dritten Blockschreibzyklus
wird dqm negiert (hoch). Anhand der Blockschreibschaltung 108 (8) wird das Eingangssignal
dqm_d0 hoch, wodurch das D-Flipflop 144 gesetzt
wird, wenn der Knoten clk hoch pulst. Der Knoten clk wird durch
bwatv8 = 1 freigegeben und pulst eine Gatterverzögerung, nachdem clkt4 gepulst
hat. Somit wird das E/A-Rücksetzsignal
bwrst hoch. Mit Ausnahme dessen, dass das Master-Blockschreib-Freigabesignal
bwatv8 nicht zurückgesetzt wird,
findet das Rücksetzen
der lokalen E/A-Leitungen LIO, LIO# und das Wieder freigeben der
globalen E/A-Leitungen GIO, GIO# ähnlich wie bei dem Betrieb
statt, der oben in Verbindung mit der Beschreibung eines ersten
Zyklus, der von einem Blockschreib- oder NOP-Zyklus verschieden
ist, beschrieben wurde. Auf diese Weise kann bwatv8 mit anderen
E/As gemeinsam genutzt werden, wobei diese weiter für eine Blockschreiboperation
freigegeben sein können,
obgleich die Erfindung in diesem Sinn nicht einschränkend ist.
Alternativ kann für
jedes spezifische E/A-Steuersignal dqm ein getrenntes Signal bwatv8
erzeugt werden. Das Rücksetzen
der lokalen E/A-Leitungen LIO, LIO# ist erforderlich, so dass keine
Schreiboperation in diese E/A stattfindet, die nicht mehr ausgewählt ist.
-
10 zeigt,
dass das E/A-Freigabesteuersignal dqm von null beim vierten Blockschreibzyklus wieder
tief aktiviert wird. Der Betrieb dieser Schaltung für diese
E/A ist ähnlich
dem, der oben gemäß dem anfänglichen
Blockschreibzyklus beschrieben wurde. Auf diese Weise vermeiden
die hochkapazitiven globalen und lokalen E/A-Leitungen das Umschalten während aller
der mehreren Blockschreibzyklen bis auf den ersten, es sei denn,
dass die E/A während der
Blockschreibfolge nicht mehr ausgewählt ist. Falls die E/A nicht
ausgewählt
bleibt, bis ein anderer Zyklus als ein Blockschreiben oder ein NOP
auftritt, findet auf den globalen oder lokalen E/A-Leitungen kein
Umschalten statt, wobei keine Leistung abgeleitet wird. Falls die
E/A während
der Folge der Blockschreibvorgänge
wieder freigegeben wird, tritt ein neues Blockschreib-Übernahmesignal
(bw_dinstb) auf, wobei der Betrieb in Bezug auf die Steuerung der globalen
und lokalen E/A-Leitungen ähnlich
dem für den
ersten Blockschreibzyklus ist.
-
Wie im Gebiet klar ist, kann die
vorliegende Erfindung in anderen spezifischen Formen ausgeführt werden,
ohne von ihren wesentlichen Eigenschaften abzuweichen. Dementsprechend
soll die Offenbarung der Erfindung den in den folgenden Anspruchen
dargestellten Umfang der Erfindung erläutern, aber nicht einschränken.