-
Bereich der
Erfindung
-
Die
vorliegende Erfindung betrifft eine Halbleiterspeicheranordnung,
und insbesondere eine synchrone Burstzugriffsspeicheranordnung mit
einer Multibit-Fließbandvorauslesearchitektur
(pipelined multi-bit prefetch architecture).
-
Hintergrund
der Erfindung
-
1 ist
ein Blockdiagramm, das einen herkömmlichen synchronen Burstfließband-SRAM (Static
Random Access Memory) darstellt, der synchron mit einem extern aufgebrachten
Taktsignal funktioniert. Die SRAM-Vorrichtung 100 integriert
einen SRAM-Kern mit synchroner Peripherieschaltung. Die SRAM-Vorrichtung 100 weist
einen Schreibbetriebsmodus auf, in dem Schreibdaten mindestens einen
Taktzyklus nachdem die Adressen und Steuereingaben vorgelegt wurden,
in Speicherzellen eingeschrieben werden.
-
Die
Speichervorrichtung 100 aus dem Stand der Technik kann
in Reaktion auf sowohl steigende wie fallende Flanken eines externen
Taktsignals CK (oder CK#) auf Daten zugreifen sowie auf die steigende
(oder fallende) Flanke des Taktsignals zugreifen. Mit anderen Worten,
die Vorrichtung 100 kann entweder im Betriebsmodus der
Einzeldatenrate (SDR, single data rate) oder Doppeldatenrate (DDR, double
data rate) funktionieren. Der SDR-Betriebsmodus ermöglicht einem
Benutzer, bei jeder Anstiegsflanke des Taktsignals CK ein einzelnes
Wort zu lesen oder zu schreiben, und der DDR-Betriebsmodus ermöglicht einen
Lese- oder Schreibvorgang synchron
zu jeder Taktflanke des Taktsignals CK.
-
Die
SRAM-Vorrichtung 100 beinhaltet einen Taktpuffer 102,
ein Adressenregister 104, einen Burstadressensequenzzähler 106,
ein Schreibadressenregister 108, 2 × 1 Multiplexer 110, 124a, 124b, 124c, 136 und 138,
einen Adressendekoder 112, eine SDR/DDR-Ausgabesteuerungslogik 114,
einen Adressenkomparator 116, Logikgates 118 und 150, Dateneingaberegister 120 und 122,
ein Schreibregister 126, einen Schreibtreiber 128,
eine Speicherzellenanordnung 130, eine Messverstärkerschaltung 132,
ein Ausgangsregister 134, einen Ausgangspuffer 140,
ein Datenratenregister 142, ein Lese/Schreibfreigaberegister 144,
ein Ausgangsfreigaberegister 148 und Echotaktpuffer 152 und 154.
-
Auf
die SRAM-Vorrichtung 100 werden ein Datenratensignal SD/DD#,
das den SDR- oder DDR-Modus angibt, und ein Burstsignal LOB#, das einen
linearen oder verschachtelten Bursttyp angibt, von außen aufgegeben.
Im SDR-Modus werden Schreibdaten auf dem Anstieg des Taktsignals
CK registriert. Im DDR-Modus werden Schreibdaten sowohl auf den
ansteigenden wie den abfallenden Flanken des Taktsignals CK registriert.
Lesedaten werden auf der ansteigenden Flanke des Taktsignals CK
im SDR-Modus und auf den ansteigenden und abfallenden Flanken des
Taktsignals CK im DDR-Modus gesteuert. Adressensignale SA0' und SA1' werden in der durch
das Signal LBO# angegebenen Abfolge vorangebracht.
-
2 ist
ein Taktdiagramm der in 1 gezeigten SRAM-Vorrichtung 100 aus
dem Stand der Technik. Zum Zwecke der Erläuterung wird angenommen, dass
die SRAM-Vorrichtung 100 aus dem Stand der Technik Burstlängen von
1, 2 und 4 unterstützt
und dass die Speichervorrichtung eine zweistufige Verzögerung aufweist.
Wie in 2 zu sehen ist wird, wenn ein Befehl DW4, der
einen DDR-Burstschreibvorgang mit Burstlänge 4 darstellt (nachfolgend
als „DW4-Vorgang" abgekürzt), im
Zyklus C1 des externen Taktsignals CK von außen ausgegeben wird, eine externe
Adresse A0_b als initiale Burstadresse auf der ansteigen den Flanke
des externen Taktsignals CK dargestellt. Da die SRAM-Vorrichtung vom
Späteinschreibtyp
ist, werden im nächsten
Zyklus C2 des Taktsignals CK (d. h. ein Burstschreibfortsetzungszyklus
ohne externe Adresseneingabe), ein Paar Schreibdaten Wob und Woa
nacheinander auf der ansteigenden Flanke bzw. der abfallenden Flanke
des Taktsignals CK eingegeben.
-
Während des
Zyklus C3 des Taktsignals CK, bei dem ein Befehl DW2, der einen
DDR-Burstschreibvorgang mit Burstlänge 2 (nachfolgend
als „DW2-Vorgang" abgekürzt) ausgegeben
wird, werden auch zwei aufeinanderfolgende Schreibdaten W0d und
W0c entsprechend dem Befehl DW4 synchron mit den ansteigenden bzw.
abfallenden Flanken des Taktsignals CK eingegeben. Die Eingabesequenz
der Schreibdaten W0d, W0c, W0a und W0b ist durch die externe Adresse
A0_b und den ausgewählten
Burstmodus (d.h. entweder verschachtelter oder linearer Burstmodus)
bestimmt.
-
Aufgrund
des 2-Stufenverzögerungsschreibmerkmals
der SRAM-Vorrichtung wird in Zyklus C3 eine interne Adresse WA0_ba
für die
Schreibdaten W0b und W0a erzeugt und so werden die Daten W0b und
W0a in Speicherzellen eingeschrieben, die durch Dekodieren der Adresse
W0_ba ausgewählt
ist. Das Referenzsymbol Wa0_ba der Burstschreibadresse für die Schreibdaten
W0b und W0a stellt dar, dass beide seriell eingegebenen Daten W0B
und W0a in die ausgewählten
Speicherzellen parallel eingeschrieben werden.
-
In
Zyklus 4 werden ein Paar Schreibdaten W1a und W1b an den
ansteigenden und abfallenden Flanken des Taktsignals CK in Reaktion
auf den in Zyklus C3 ausgegebenen Befehl DW2 eingegeben. Wenn jedoch
ein Befehl DR4, der einen DDR-Burstlesevorgang der Burstlänge 4 darstellt
(nachfolgend als „DR4-Vorgang" abgekürzt), in
Zyklus C4 gegeben wird, wird eine Burstadresse RA2_cd für den DR4-Vorgang
intern unter Verwendung einer externen Adresse A2_c für den DR4-Vorgang
erzeugt, anstatt die Adresse A1_a für den DW2-Vorgang als initiale
Burstadresse zu verwenden. In Zyklus 4 können die
Schreibdaten W0d, W0c, W1a und W1b registriert werden und sie können nicht
in Speicherzellen eingeschrieben werden, bis der DR4-Vorgang abgeschlossen
ist.
-
Wie
im Zyklus C2 mit dem Burstschreibfortsetzungsbefehl gibt es auch
hier keine externe Adresseneingabe in Zyklus C5 mit einem Burstlesefortsetzungsbefehl.
In diesem Zyklus C5 wird eine anschließende interne Burstadresse
RA2_ab in Abhängigkeit
von der externen Adresse A2_c erzeugt und die ersten Lesedaten R2c,
die der Burstadresse RA2_cd für
den DR4-Vorgang entsprechen, werden zum Datenbus geführt. Das
Referenzsymbol RA2_cd (oder RA2_ab) der Burstadresse für die Lesedaten R2c
und R2d (oder R2a und R2b) stellen dar, dass sowohl die Daten R2c
wie R2d (oder R2a und R2b) aus den ausgewählten Speicherzellen parallel
ausgelesen werden.
-
In
Zyklus C6 wird ein Befehl SR1, der einen SDR-Burstlesevorgang der
Burstlänge 1 darstellt (nachfolgend
als „SR1-Vorgang" abgekürzt), zusammen
mit einer externen Adresse A3_d gegeben. In diesem einzelnen Lesezyklus
C6 wird die externe Adresse A3_d selbst die interne Adresse RA3_d, ohne
eine weitere interne Adresse zu erzeugen, und die Lesedaten R2d
und R2a, die dem DR4-Vorgang entsprechen, erscheinen auf dem Datenbus.
Wie in 2 zu sehen ist, erfordert die SRAM-Vorrichtung 100 aus
dem Stand der Technik einen einzigen „funktionslosen" (NOP, no operation)
Zyklus ohne externe Adresseneingabe, wenn sie von einem Lesezyklus zu
einem Schreibzyklus überwechselt,
obwohl der NOP-Zyklus nicht erforderlich ist, wenn von einem Schreibzyklus
zu einem Lesezyklus umgeschaltet wird. Daher wird im Zyklus C7 des
Taktsignals CK ein NOP-Zyklus für
einen nächsten
Schreibvorgang eingefügt,
der im anschließenden
Zyklus C8 durchgeführt
wird. Im NOP-Zyklus
C7 werden die schließlich ausgelesenen
Daten R2b entspre chend dem DR4-Vorgang zum Datenbus geführt, ohne
dass eine internen Adresse erzeugt wird und der DR4-Vorgang wird
abgeschlossen. Wie bei den oben beschriebenen Burstschreibvorgängen wird
die Lesedatenausgabesequenz der Daten R2c, R2d, R2a und R2b auch
sowohl durch die externe Adresse A2_c und den ausgewählten Burstmodus
bestimmt.
-
In
Zyklus 8 des Taktsignals CK, in dem ein Befehl DW1, der
einen DDR-Burstschreibvorgang mit
Burstlänge 1 darstellt,
zusammen mit einer externen Adresse A4_a gegeben wird, werden die
in Zyklus C4 registrierten Schreibdaten W0d und W0c in die durch
Dekodieren der internen Adresse Wa0_dc ausgewählten Speicherzellen eingeschrieben.
-
Wie
oben beschrieben werden die registrierten Daten W0d und W0c für den DW4-Vorgang
im Schreibzyklus C8 in Speicherzellen eingeschrieben, da die DR4-
und SR1-Vorgänge
abgeschlossen sind. Beim Einschreiben der registrierten Daten W0d
und W0c in die durch die interne Adresse Wa0_dc bezeichneten Speicherzellen
im ersten Schreibzyklus C8 nach dem SR1-Vorgang, hat die Speichervorrichtung
jedoch Schwierigkeiten den Burstadressensequenzzähler mit der internen Adresse
Wa0_dc schnell zu setzen, weil nur ein einziger Burstadressensequenzzähler 106 (in 1 gzeiegt)
sowohl für die
Lese- wie für
die Schreibvorgänge
verwendet wird, was zu Geschwindigkeitsverlust bei der Adressendekodierung
führt.
-
EP 0421627 , auf der der
Oberbegriff des Anspruch 1 beruht, offenbart eine Doppelport-Speichervorrichtung,
die zu Betrieb in einem Burstmodus oder in einem Direktzugriffsmodus
in der Lage ist. Der Doppelport-Speicher
kann auch auf einem Port in einem Burstmodus oder einem Direktzugriffmodus
lesen oder schreiben, während
gleichzeitig im anderen Port entweder in einem Burstmodus oder einem
Direktzugriffmodus gelesen oder geschrieben wird.
-
US 5,587,954 offenbart einen
synchronen Direktzugriffspeicher, der so angeordnet ist, dass er auf
ein Systemtaktsignal anspricht, und kann entweder in einem synchronen
Burstmodus oder einem synchronen Wrap-Modus zusätzlich zu einem synchronen
Direktzugriffmodus betrieben werden.
-
US 5,784,705 offenbart eine
Vorrichtung zum Implementieren von Fließbandburstlese- und -schreibvorgängen, in
denen die Speicherzyklusdauer wesentlich länger ist als ihre I/O-Dauer.
Eine Doppelpuffertechnik wird verwendet, um lückenlose Ausgabedaten für anschließende Fließbandburstlesevorgänge bereitzustellen.
-
Zusammenfassung
der Erfindung
-
Dementsprechend
ist ein allgemeines Ziel der vorliegenden Erfindung, eine synchrone
Bursthalbleiterspeichervorrichtung mit verbesserter Leistung zur
Verfügung
zu stellen.
-
Es
ist ein weiteres Ziel der vorliegenden Erfindung, eine synchrone
Bursthalbleiterspeichervorrichtung zur Verfügung zu stellen, die Adressendekodierzeitverlust
aufgrund der Verwendung eines einzigen Burstadressengenerators überwinden
kann.
-
Gemäß einem
ersten Aspekt der Erfindung wird eine Halbleiterspeichervorrichtung
wie in Anspruch 1 angegeben zur Verfügung gestellt. Bevorzugte Merkmale
dieses Aspekts sind in den Ansprüchen
2 bis 15 zu finden.
-
Die
Halbleiterspeichervorrichtung kann ein SRAM, ein DRAM, ein Flash-EEPROM, ein ferroelektrischer
RAM oder dergleichen sein, und kann synchron mit einem externen
Taktsignal (oder Systemtaktsignal) betrie ben werden. Ein Hauptvorteil
von synchronen Speichern ist, dass die Systemtaktflanke der einzige
Taktimpuls ist, der vom System zum Speicher zugeführt werden
muss. Dies reduziert die Notwendigkeit, zahlreiche Taktimpulse um
die Leiterplatte oder den Modul zu schicken. Die Speichervorrichtung
kann im Burstschreib- und Burstlesemodus betrieben werden. Dieser
Burstmoduszugriff nutzt mit Vorteil die Tatsache, dass der interne
Bus der Speichervorrichtung breiter ist als der externe Bus. Dies erlaubt,
dass nach Eingabe der initialen Adresse alle Daten aus einer Reihe
von Burstmodusadressen aus der Speichervorrichtung zur Ausgabe geholt
werden können.
-
Da
die synchrone Halbleiterspeichervorrichtung mit separaten internen
Lese- und Schreibadressengeneratoren ausgerüstet ist, ist es nicht erforderlich,
obwohl ein Burstschreibvorgang durch einen Lesevorgang unterbrochen
wird, dass der interne Adressengenerator wegen des unterbrochenen Schreibvorgangs
zurückgesetzt
wird. Deshalb kann die Speichervorrichtung eine kürzere interne
Adressendekodierzeit aufweisen und als Folge davon kann die Leistung
der Vorrichtung verbessert werden.
-
Kurze Beschreibung
der Zeichnungen
-
Ein
besseres Verständnis
der vorliegenden Erfindung und vieler der erreichten Vorteile und
Merkmale davon wird leicht ersichtlich und verständlich durch Bezug auf die
folgende ausführliche
Beschreibung, betrachtet in Verbindung mit den begleitenden Zeichnungen,
in denen gleiche Bezugssymbole gleiche oder ähnliche Komponenten bezeichnen,
worin:
-
1 ein
Blockdiagramm ist, das eine synchrone Halbleiterspeichervorrichtung
gemäß dem Stand
der Technik darstellt;
-
2 ein
Taktdiagramm der Speichervorrichtung von 1 aus dem
Stand der Technik ist;
-
3 ein
Blockdiagramm ist, das eine bevorzugte Ausführungsform einer synchronen
Halbleiterspeichervorrichtung gemäß der vorliegenden Erfindung
darstellt;
-
4 ein
detailliertes Schaltdiagramm der Schaltung von Lese- und Schreibadresspfaden
der Speichervorrichtung von 3 darstellt;
und
-
5 ein
Taktdiagramm der Speichervorrichtung von 3 ist.
-
Ausführliche
Beschreibung der bevorzugten Ausführungsform
-
In
der folgenden Beschreibung werden spezifische Details angeführt, um
ein vertiefteres Verständnis
der vorliegenden Erfindung zu geben. Es ist jedoch für einen
Fachmann ersichtlich, dass die vorliegende Erfindung ohne diese
spezifischen Details ausgeführt
werden kann.
-
Es
ist ein Schlüsselmerkmal,
dass eine Halbleiterspeichervorrichtung gemäß der Erfindung separate interne
Adressengeneratoren für
Burstlese- und Burstschreibvorgänge
verwendet. Diese separaten Burstlese- und Schreibadressengeneratoren
verkürzen
die interne Adressendekodierzeit, um die Geräteleistung zu verbessern.
-
Hier
wird der Einfachheit halber eine Ausführungsform der Erfindung mit
Bezug zu einer SRAM-Umgebung diskutiert. Es wird jedoch angemerkt,
dass jegliche andere Halbleiterspeichervorrichtung wie ein DRAM,
ein Flash-EEPROM und ein ferroelektrischer RAM verwendet werden
können, um
das erfinderische Konzept der hier offenbarten Ausführungsform
zu implementieren. Außerdem kann
die Halbleiterspeichervorrichtung der Erfindung mit einem Bitleitungsschema
mit automatischer Nachführung
ausgeführt
sein, um Kernzykluszeit zu reduzieren, einer verkürzten Hauptdatenleitung
zur Stromreduzierung, einer rauschsicheren Schaltung mit Hochgeschwindigkeitsübertragungseigenschaften
durch eine zweifach dynamische Resetschaltung, einen Zweibitvorabbefehlsbetrieb
und Impulstakter, die mit den Ausgabedaten synchroni siert sind,
um Datenvalidierungszeit des Prozessors (oder der CPU, central processing
unit) zu garantieren. Dementsprechend sind die Beschreibung und
die Zeichnungen als Erläuterungen
zu betrachten und nicht im Sinne einer Einschränkung.
-
Eine
bevorzugte Ausführungsform
der Erfindung wird nun als Beispiel und mit Bezug zu den begleitenden
Zeichnungen beschrieben.
-
3 ist
ein Blockdiagramm, das eine bevorzugte Ausführungsform einer synchronen
Fließbandburst-SRAM-Vorrichtung
gemäß der vorliegenden
Erfindung darstellt, und 4 ist ein detailliertes Schaltdiagramm,
das die Schaltungen von Lese- und Schreibadressenpfaden der Speichervorrichtung
von 3 darstellt. In diesen Figuren sind bekannte Schaltungen
in Blockdiagrammform gezeigt, um die vorliegende Erfindung nicht
zu verdecken und nur der Einfachheit halber wird auch angenommen,
dass die SRAM-Vorrichtung eine maximale Burstlänge von 4 unterstützt und
ein Zweistufenverzögerungsmerkmal aufweist
(d. h. Schreiblatenz von 2 Zyklen).
-
Zunächst mit
Bezug zu 3 funktioniert eine synchrone
Fließbandburst-SRAM-Vorrichtung 300 synchron
mit extern aufgebrachten differentiellen Taktsignalen K und K. Ein Taktpuffer 302 erzeugt
ein internes Taktsignal CLK synchron zu den externen Taktsignalen
K und K. Die SRAM-Vorrichtung 300 weist
eine Speicherzellenanordnung 326 auf, die aus 4 Feldern
besteht, obwohl sie nicht dargestellt sind. Jedes Feld besteht aus
3 Blöcken
und weist 9 I/Os auf. Jeder Block mit 3 I/Os ist in 8 Unterblöcke unterteilt,
deren jeder eine Kapazität
von 64 kb besitzt. Die Speichervorrichtung 300 ist mit
einer externen Adresse A0–A16
von 17-Bit versehen.
Die Adressensignale A0–A16
werden ersten und zweiten Adressenregistern 308 und 312 durch
einen Adresspuffer 306 zugeführt. Die Register 308 und 312 halten
vorübergehend
jeweils die Adressensignale A0–A16.
Ferner sind erste und zweite Dateneingaberegister 320a und 320b jeweils
mit einem 36 Bit breiten Bus vorgesehen, um Fließbandschreibzyklen zu verstärken und
Lese-Schreib-Umschaltzeit zu reduzieren.
-
Die
SRAM-Vorrichtung 300 weist eine Betriebsweise zum „Späteinschreiben" auf, bei der Schreibdaten
in ihre Speicherzellen einen oder mehr Taktzyklen nachdem die Adressen
und Steuereingaben gegeben wurden, eingeschrieben werden. Diese Betriebsweise
ermöglicht,
die Anzahl der Leerlaufzyklen zu minimieren, die normalerweise auftreten, wenn
ein Lesevorgang von einem Schreibvorgang gefolgt ist. Ferner funktioniert
die Speichervorrichtung 300 in Burstbetriebsweise beim
Lesen und Schreiben.
-
Ebenso
weist die Speichervorrichtung 300 sowohl normale SDR (Single
Data Rate) als auch DDR (Double Data Rate) Betriebsweisen auf. Das heißt, die
Speichervorrichtung 300 ist in der Lage, auf Daten in Reaktion
sowohl auf ansteigende wie abfallende Flanken des externen Taktsignals
K (oder K) (DDR-Modus) zuzugreifen
sowie entweder auf die ansteigende oder abfallende Flanke des Taktsignals K
(oder K) (SDR-Modus) zuzugreifen.
-
Wenn
außerdem
ein Lesebefehl gegeben wird, während
die SRAM-Vorrichtung 300 einen Schreibvorgang ausführt, speichert
die Speichervorrichtung 300 vorübergehend Adressen und Daten
für den
Schreibvorgang in ihren Registern, weil die Speichervorrichtung 300 das
letzte Datenwort nicht in seine Speicherzellen einschreiben kann,
ohne mit dem Lesevorgang in Konflikt zu kommen. Die verbliebenen
Schreibdaten bleiben in den Registern, bis der nächste Schreibzyklus erfolgt.
Im ersten Schreibzyklus nach dem Lesezyklus (den Lesezyklen) werden die
registrierten Daten aus dem früheren
Schreibzyklus in die Speicherzellen eingeschrieben. Dies wird „postierte
Schreibfunktion" genannt.
-
Bei
der SRAM-Vorrichtung 300 laufen alle synchronen Eingaben
vom Taktsignal K (oder CLK) unkontrolliert durch die Register. Die
synchronen Eingaben werden an der ansteigenden Flanke des Taktsignals
gespeichert. Die synchronen Eingaben beinhalten alle Adressen A0–A16, alle
Dateneingaben DQ0–DQ35,
ein synchrones Ladesignal B1, ein Lese/Schreib-Freigabesignal B2
(R/W) und ein Datenratensignal B3 zum Auswählen eines Betriebsmodus aus
SDR und DDR.
-
Wie
aus 3 ersichtlich ist, empfängt eine Steuerlogik 304 das
synchrone Ladesignal B1, das R/W/-Auswahlsignal B2 und das Datenratensignal B3
synchron mit dem internen Taktsignal CLK. Das synchrone Ladesignal
B1 fällt
ab, wenn eine Buszyklussequenz definiert werden soll. Diese Definition
beinhaltet Adresse, Datenübertragungsrichtung
und Datenlänge.
Das R/W-Auswahlsignal B2 bezeichnet den Zugriffstyp (Lesen oder
Schreiben). Der Lesevorgang ist verfügbar, wenn das Signal B2 stark
ist, aber der Schreibvorgang ist verfügbar, wenn das Signal B2 schwach
ist. Ebenso bezeichnet das Signal B2, ob ein Burstzyklus durchgeführt wird,
wenn das Signal B1 stark ist.
-
Die
SRAM-Vorrichtung 300 beinhaltet ferner verschiedene asynchrone
Steuereingaben, wie ein Ausgangsfreigabesignal (nicht gezeigt) und
ein Burstsignal LBO. Das Signal LBO ermöglicht eine Auswahl entweder
eines verschachtelten Burst oder eines linearen Burst.
-
Beim
SDR-Schreibvorgang werden Daten auf der ansteigenden Flanke des
Taktsignals K registriert; im DDR-Schreibvorgang werden Daten sowohl auf
den ansteigenden wie den abfallenden Flanken des Taktsignals K registriert.
Lesedaten werden auf der ansteigenden Flanke des Taktsignals K im SDR-Modus
geführt
und auf den ansteigenden und abfallenden Flanken des Taktsignals
K im DDR-Modus.
-
Die
internen Adressen werden vorgeschoben, wenn das Signal B2 stark
ist, aber es erfolgt kein Betrieb (NOP, no operation), wenn das
Signal B2 schwach ist. Das Datenratensignal B3 wird von der Steuerlogik 304 auf
der ansteigenden Flanke des Taktsignals CLK (oder K) geprüft, während das
synchrone Ladesignal B1 schwach ist. Zu diesem Zeitpunkt kann die
SRAM-Vorrichtung 300 einen SDR-Lese- oder Schreibvorgang
ausführen.
Wenn das Signal B3 als schwach geprüft wird, kann ein DDR-Lese- oder Schreibvorgang
an jeder Taktflanke des Taktsignals CLK (oder K) durchgeführt werden.
-
Die
Steuerlogik 304 erzeugt eine Mehrzahl von internen Steuersignalen,
wie Registerfreigabesignale E1 bis E4, ein Schreibratensignal WD, das die Datenrate eines
Schreibvorgangs (DDR-Schreiben oder SDR-Schreiben) angibt, ein Leseratensignal RD zum Angeben der Datenrate
eines Lesevorgangs (DDR-Lesen oder SDR-Lesen), ein Schreibfreigabesignal WEN und ein Burstfortsetzungssignal
BCN (burst continue signal) zur Freigabe folgender Burstadressen,
die intern erzeugt werden.
-
Inzwischen
werden von den Ausgaben RA0–RA16
des ersten Adressenregisters 308 zwei LSB-Adressensignale
(Least Significant Bit) RA1 und RA0 in einen ersten internen Adressengenerator 310 geladen,
der als Burstleseadressengenerator verwendet wird. Andere Ausgabesignale
RA2–RA16 des
Adressregisters 308 werden direkt einem Adressenselektor 316 zugeführt, wie
einem 2 × 1
Multiplexer. Gleichermaßen
werden Zweibitausgabesignale WA1 und WA0 des zweiten Adressregisters 312 in
einen zweiten internen Adressengenerator 314 geladen, der
als Brustschreibadressengenerator verwendet wird. Andere Ausgabesignale
WA2–WA16
des Registers 312 werden dem Adressenselektor 316 zugeführt. Die
beiden internen Adressengeneratoren 310 und 314 funktionieren
synchron mit dem internen Taktsignal CLK und versehen mit dem Burstfortsetzungssignal
BCN, dem Schreibfreigabesignal WEN und
dem Burstsignal LBO. Der erste
interne Adressengenerator 310 erzeugt Burstleseadressensignale RA0' und RA1'. Der zweite interne
Adressengenerator 314 erzeugt Burstschreibadressensignale
Wa0' und WA1'. Die Adressensignale
RA0', RA1', Wa0' und WA1' werden in der Reihenfolge
vorgeschoben, die durch das Signal LBO an
jeder Taktflanke bei DDR-Betrieb angegeben ist, aber nur an der
Anstiegsflanke beim SDR-Betrieb. Das Burstleseadressensignal RA1' wird einer Eingabe
A des Adressenselektors 316 zusammen mit den Adressensignalen RA2–RA16 vom
ersten Adressenregister 308 zugeführt. Das Burstschreibadressensignal
WA1' wird der anderen
Eingabe B des Adressenselektors 316 zusammen mit den Adressensignalen
WA2-WA16 vom zweiten Adressregister 312 aufgegeben.
-
Mit
Bezug zu 4 weist das erste Adressenregister 308 einen
Umschaltschaltkreis 402 auf, der mit dem Adresspuffer 306 verbunden
ist und einen Signalspeicherschaltkreis 404 (Latch), der
mit dem Umschaltschaltkreis 402 verbunden ist. Der Umschaltschaltkreis 402 wird
in Reaktion auf das Steuersignal E1 von der Steuerlogik 304 (in 3 gezeigt)
geöffnet
geschlossen. Der erste interne Adressengenerator 310 weist
einen Zähler 406 auf,
der mit der Signalspeicherschaltung 404 und einem 2 × 1 Multiplexer 408 verbunden
ist. Der Zähler 406 funktioniert
synchron zum internen Taktsignal CLK und auch beeinflusst durch
das Burstsignal LBO von der Steuerlogik 304.
Der Zähler 406 erzeugt
Burstleseadressensignale RA0' und
RA1' synchron zum
internen Taktsignal CLK. Die Abfolge der Adressensignale RA0' und RA1' ist durch das Burstsignal LBO von der Steuerlogik 304 bestimmt.
Der Multiplexer 408 weist zwei Eingaben A und B auf, von
denen eine eine Ausgabe vom Zähler 406 empfängt und
die andere eine Ausgabe von der Signalspeicherschaltung 404.
Der Multiplexer 408 gibt selektiv eine seiner zwei Eingaben
in Reaktion auf das Burstfortsetzungssignal BCN von der Steuerlogik 304 aus.
Die Ausgabe des Multiplexers 408 wird einer Eingabe A des
Adressenselektors 316 zugeführt.
-
Der
zweite Adressengenerator 312 weist zwei Umschaltschaltkreise 410 und 414 auf,
und zwei Signalspeicherschaltungen 412 und 416.
Der Umschaltschaltkreis 410 ist zwischen den Adresspuffer 306 und
die Signalspeicherschaltung 412 eingesetzt. Der Umschaltschaltkreis 412 ist
zwischen die Signalspeicherschaltungen 412 und 416 eingesetzt.
Der Umschaltschaltkreis 410 wird durch das Steuersignal E2
von der Steuerlogik 304 gesteuert. Der Umschaltschaltkreis 402 wird
durch das invertierte Signal E2 des
Steuersignals E2 gesteuert. Die Umschaltschaltkreise 402, 410 und 414 können entweder
mit MOS-Transistoren oder CMOS-Transmissionsgateschaltungen implementiert
werden. Die Anzahl der Signalspeicherschaltungen ist durch die Schreiblatenz
bestimmt.
-
Der
zweite interne Adressengenerator 314 weist einen Zähler 418 auf,
der mit der Signalspeicherschaltung 416 und einem 2 × 1 Multiplexer 420 verbunden
ist. Der Zähler 418 erzeugt
Burstschreibeadressensignale Wa0' und
WA1' synchron zum
internen Taktsignal CLK. Die Abfolge der Adressensignale Wa0' und WA1' ist durch das Burstsignal LBO von der Steuerlogik 304 bestimmt.
Der Multiplexer 420 weist zwei Eingaben A und B auf, von
denen eine eine Ausgabe vom Zähler 418 empfängt und
die andere eine Ausgabe von der Signalspeicherschaltung 416.
Der Multiplexer 420 wählt
eine der beiden Ausgaben in Reaktion auf das Burstfortsetzungssignal BCN
von der Steuerlogik 304 aus. Eine Ausgabe des Multiplexers 420 wird
einer Eingabe B des Adressenselektors 316 zugeführt. Der
Dekoder 318 erhält eine
Ausgabe des Adressenselektors 315. Hier ist bei anderen
Versionen der Erfindung anzumerken, dass der erste und zweite interne
Adressengenerator 310 und 314 als Lese- bzw. Schreibadressgeneratoren implementiert
sein kann.
-
Wie
oben beschrieben weist die synchrone Fließbandburst-SRAM-Vorrichtung 300 separate
interne Lese- und Schreibadressengeneratoren 310 und 314 auf,
und so ist es bei postierten Schreibzyklen nach einem Lesezyklus
(Lesezyklen) nicht nötig, den
internen Adressengenerator mit der registrierten Adresse einzustellen.
Deshalb kann im Vergleich zur Speichervorrichtung aus dem Stand
der Technik die interne Adressendekodierzeit der SRAM-Vorrichtung reduziert
werden.
-
Nochmals
mit Bezug zu 3 wählt der Adressenselektor 316 eines
der Burstleseadressensignale RA1'–RA16 oder
Burstschreibadressensignale WA1'–WA16 in
Reaktion auf das Schreibfreigabesignal WEN aus.
Die Burstleseadressensignale RA1'–RA16 werden
ausgewählt,
wenn das Schreibfreigabesignal WEN stark
ist und die Burstschreibadressensignale WA1'–WA16
werden ausgewählt, wenn
das Signal WEN schwach ist.
Die Ausgabe des Adressenselektors 316 wird dem Dekoder 318 zugeführt. Der
Dekoder 318 wählt
Zeilen und Spalten der Speicherzellenanordnung 326 durch
Dekodieren der 16-Bitadresse A1'–A16 vom
Adressenselektor 316 aus.
-
Die
Dateneingaberegister 320a und 320b enthalten zwei
aufeinanderfolgende 36-Bitdaten, die seriell eingegeben wurden.
Die Ausgaben der Register 320a und 320b werden
gleichzeitig einem Schreibdatensortierer 322 zugeführt.
-
Der
Schreibdatensortierer 322 schaltet die Übertragungswege der beiden
36-Bitausgaben der Dateneingaberegister 320a und 320b in
Abhängigkeit
vom Adressensignal Wa0' vom
zweiten internen Adressengenerator 314. Wenn zum Beispiel
das Adressensignal Wa0' stark
ist, werden die Ausgaben der Register 320a und 320b in
36-Bitdaten höherer Ordnung
bzw. 36-Bitdaten niederer Ordnung sortiert und umgekehrt. Wenn das
Signal Wa0' schwach
ist, werden die Ausgaben der Register 320a und 320b umgekehrt
geschaltet. Die sortierten Schreibdaten von 72 Bit werden einem
Schreibtreiber 324 zugeführt.
-
Der
Schreibtreiber 324 schreibt in Abhängigkeit vom Schreibratensignal WD von der Steuerlogik 304 Daten
mit entweder 72 oder 36 Bits in die Speicherzellenanordnung 326 ein.
Wenn das Signal WD schwach
ist (d. h. DDR-Schreibmodus) werden die 72-Bitdaten in die Speicherzellenanordnung 326 eingeschrieben.
Wenn das Signal WD stark ist
(d. h. SDR-Schreibmodus)
werden die 36-Bitdaten in die Speicherzellenanordnung 326 eingeschrieben.
-
Die
Messverstärkerschaltung 328 misst
und verstärkt
die 72- oder 36-Bitdaten
von der Speicherzellenanordnung 326 in Abhängigkeit
vom Leseratensignal RD von
der Steuerlogik 304. Die Messverstärkerschaltung 328 misst
72-Bitdaten aus den Speicherzellen, die vom Dekoder 318 ausgewählt sind,
wenn das Signal RD schwach
ist (d. h. DDR-Lesemodus), und die Messverstärkerschaltung 328 misst
36-Bitdaten, wenn das Signal RD stark
ist (d. h. SDR-Lesemodus). Die Ausgabedaten der Messverstärkerschaltung 328 werden
einem Lesedatensortierer 330 zugeführt.
-
Beim
DDR-Modus teilt der Lesedatensortierer 330 die 72-Bitausgabedaten
in zwei 36-Bitdaten und sortiert sie in Abhängigkeit vom Adressensignal RAO' vom ersten internen
Adressengenerator 310 in Daten höherer Ordnung und Daten niederer
Ordnung und umgekehrt. Die sortierten Daten werden nacheinander
durch Datenausgangspuffer 332 zu Ausgabestellen 334 ausgegeben.
-
Ein
Adressenkomparator 336 wird nur freigegeben, wenn ein Schreibvorgang
ansteht und ein Lesevorgang angefordert wird. Der Komparator 336 vergleicht
die Ausgabeadresse des ersten Adressenregisters 308 mit
der Ausgabeadresse des zweiten Adressenregisters 321. Wenn
die Adressen zueinander identisch sind, erzeugt der Komparator 336 ein Vergleichssignal
EQA eines aktiven starken Werts und falls nicht, erzeugt er ein
Vergleichssignal eines inaktiven schwachen Werts. Wenn das Signal
EQA ansteigt, werden die in den Dateneingaberegistern 320a und 320b gehaltenen
Daten direkt zum Lesedatensortierer 330 geschickt, wobei
sie die Speicherzellenanordnung 326 durchlaufen. Auf diese
Weise kann ein Lesevorgang unmittelbar nach einer Adresse vorgenommen
werden, wenn die Adresse im vorhergehenden Zyklus eingeschrieben
wurde. Während
des Lesezyklus wird die Speicherzellenanordnung 326 vom
Komparator 336 umgangen, und Daten werden stattdessen vom
Datenregister 320a oder 320b durch Speichern der
unlängst
eingeschriebenen Daten ausgelesen.
-
Ein
Echotaktpuffer 338 erzeugt differentielle Echotaktsignale
KQ und KQ als Ausgabedatenimpulssignale,
synchron zum Taktsignal CLK (oder K). Die Ausgabedaten DQ0–DQ35 werden
eng an die Echotaktsignale KQ und KQ angepasst.
Die Echotaktsignale KQ und KQ werden
nicht durch Steuersignale ausgeschaltet und passen immer zur Frequenz des
Taktsignals CLK (oder K).
-
5 ist
ein Taktdiagramm der in 3 gezeigten SRAM-Vorrichtung 100.
Zum Zwecke der Erläuterung
wird angenommen, dass die DDR-SRAM-Vorrichtung 300 Burstlängen von
1, 2 und 4 unterstützt
und dass die Speichervorrichtung Zweistufenverzögerungsmerkmale aufweist.
-
Mit
Bezug zu 5 werden im Zyklus C1 des externen
Takters K, wenn ein Befehl DW2, der einen DDR-Burstschreibvorgang
darstellt (alle externen Steuersignale B1, B2 und B3 sind schwach)
mit Burstlänge 2 ausgegeben
wird, während
eine externe Adresse A0_a als initiale Burstadresse dargestellt ist,
Schreibdaten W0a und W0b entsprechend dem DW2-Befehl nacheinander
im Zyklus C2 des Taktsignals K eingegeben, weil die SRAM-Vorrichtung 300 vom
Späteinschreibtyp
ist.
-
Danach
werden, wenn ein Befehl DW4 gegeben wird, der einen DDR-Burstschreibvorgang
mit Burstlänge 4 darstellt,
während
eine externe Adresse A1_b dargestellt ist, Schreibdaten entsprechend
dem DW4-Befehl nacheinander
in den Zyklen C3 und C4 des Taktsignals K eingegeben.
-
Während des
Zyklus C3 des Taktsignals K, in dem ein Fortsetzungsbefehl des DW4-Befehls
gegeben wird, wird eine interne Adresse Wa0 ab zum Einschreiben
der Daten W0a und W0b in Speicherzellen gemäß der 2-Stufenverzögerungsschreibfunktion
erzeugt. Das Referenzsymbol WA0_ab der Burstschreibadresse für die Schreibdaten
W0a und W0b stellt dar, dass sowohl die seriell eingegebenen Daten
W0a wie W0b gleichzeitig parallel in die ausgewählten Speicherzellen eingeschrieben
werden.
-
In
Zyklus C4 wird, wenn ein Befehl DR4 gegeben wird, der einen DDR-Burstlesevorgang
darstellt (die externen Steuersignale B1 und B3 sind schwach, B2
ist stark), mit Burstlänge 4,
während eine
externe Adresse A2_c als initiale Burstadresse dargestellt ist,
wird aufgrund der postierten Schreibfunktion der SRAM-Vorrichtung 300 eine
Burstadresse RA2_cd für
den DR4-Vorgang intern erzeugt, wobei die externe Adresse A2_c verwendet
wird. Gemäß der postierten
Schreibfunktion werden die Schreibdaten W1b, W1a, W1d und W1c registriert, bis
der DR4-Vorgang beendet ist.
-
In
Zyklus C5 mit einem Burstlesefortsetzungsbefehl wird eine nachfolgende
interne Burstadresse RA2 ab erzeugt und die ersten Lesedaten R2c entsprechend
der Burstadresse RA2_cd für
den DR4-Vorgang werden auf der abfallenden Flanke des Taktsignals
K zum Datenbus geführt.
-
In
Zyklus C6 wird, wenn ein Befehl SR1, der einen SDR-Burstlesevorgang
(das externe Steuersignal B1 ist schwach, B2 und B3 sind stark)
mit Burstlänge 1 darstellt,
zusammen mit einer externen Adresse A3_d gegeben ist, wird die externe
Adresse A3_d die interne Adresse RA3_d, ohne dass eine zusätzliche
interne Adresse erzeugt wird und die Lesedaten R2d und R2a, die
dem DR4-Vorgang entsprechen, erscheinen auf dem Datenbus. Das Referenzsymbol
RA2_cd (oder RA2 ab) der Burstadresse für die Lesedaten R2c und R2d
(oder R2a und R2b) stellen dar, dass sowohl die Daten R2c und R2d
(oder R2a und R2b) parallel aus den ausgewählten Speicherzellen ausgelesen
werden.
-
Wie
aus 5 zu sehen ist, erfordert die SRAM-Vorrichtung 300 einen
einzigen funktionslosen „NOP-Zyklus" (NOP, no operation)
(die externen Steuersignale B1 und B3 sind stark, B2 ist schwach) ohne
externe Adresseneingabe, wenn von einem Lesezyklus zu einem Schreibzyklus
umgeschaltet wird, obwohl der NOP-Zyklus nicht erforderlich ist,
wenn von einem Schreibzyklus in einen Lesezyklus umgeschaltet wird.
Auf diese Weise wird in Zyklus C7 des Taktsignals K ein NOP-Zyklus
für einen
nächsten Schreibvorgang
eingefügt,
der im anschließenden Zyklus
C8 durchgeführt
wird. Während
des NOP-Zyklus C7 werden Lesedaten R2b entsprechend dem DR4-Vorgang
zum Datenbus geführt,
ohne dass eine interne Adresse erzeugt wird, wodurch der DR4-Vorgang
abgeschlossen wird. Die Lesedatenausgabesequenz der Daten R2c, R2d,
R2a und R2b ist durch die externe Adresse A2_c und den ausgewählten Burstmodus
bestimmt.
-
In
Zyklus C8 des Taktsignals K werden, während ein Befehl DW1, der einen
DDR-Burstschreibvorgang (die externen Steuersignale B1 und B2 sind schwach,
B3 ist stark) mit Burstlänge 1 darstellt,
zusammen mit einer externen Adresse A4_a gegeben wird, die im Zyklus
C4 registrierten Schreibdaten W1b und W1a in die durch Dekodieren
der internen Adresse WA1_ab ausgewählten Speicherzellen eingeschrieben.
-
Gemäß der vorliegenden
Erfindung kann die Speichervorrichtung die Zeit zur internen Adressendekodierung
im postierten Schreibmodus ver kürzen, da
separate interne Burstschreib- und Burstleseadressgeneratoren für eine synchrone
Bursthalbleiterspeichervorrichtung vorgesehen sind, und als Folge davon
kann die Geräteleistung
verbessert werden.
-
Die
obige Beschreibung der bevorzugten Ausführungsform der vorliegenden
Erfindung ist zur Verwendung als Erläuterung des Konzepts der vorliegenden
Erfindung gedacht. Der Rahmen der vorliegenden Erfindung ist in
keiner Weise auf diese Ausführungsform
beschränkt.
Der Rahmen der vorliegenden Erfindung ist durch die folgenden Ansprüche definiert.