-
Eine
in der Technik bekannte Art von Speicher ist ein dynamischer Direktzugriffsspeicher (DRAM).
Eine Art von DRAM ist ein pseudostatischer Direktzugriffsspeicher
(PSRAM). PSRAM ist ein DRAM mit niedriger Leistungsaufnahme, der
eine Schnittstelle für
einen statischen Direktzugriffsspeicher (SRAM) für drahtlose Anwendungen aufweist. Im
Allgemeinen enthält
ein DRAM mindestens ein Speicherzellenfeld mit Speicherzellen. Die
Speicherzellen im Speicherzellenfeld sind in Zeilen und Spalten
angeordnet, wobei sich die Zeilen in einer x-Richtung und die Spalten
in einer y-Richtung erstrecken. Über
das Speicherzellenfeld hinweg erstrecken sich in der x-Richtung leitfähige Wortleitungen
und über das
Speicherzellenfeld hinweg erstrecken sich in der y-Richtung leitfähige Bitleitungen.
An jedem Kreuzungspunkt einer Wortleitung und einer Bitleitung befindet
sich eine Speicherzelle. Auf Speicherzellen wird unter Verwendung
einer Zeilenadresse und einer Spaltenadresse zugegriffen.
-
Ein
DRAM verwendet ein Haupttaktsignal und ein Datensynchronisationssignal
(Daten-Strobe-Signal, DQS) zur Adressierung des Speicherzellenfelds
und zur Ausführung
von Befehlen in dem Speicher. Das Taktsignal dient als Referenz
für die Zeitsteuerung
von Befehlen, wie zum Beispiel Lese- und Schreiboperationen, einschließlich Adressen- und
Steuersignale. Das DQS-Signal
dient als Referenz zur Zwischenspeicherung von Eingangsdaten in dem
Speicher und zum Ausgeben von Daten in eine externe Einrichtung.
-
Ein
Spaltenadressen-Bestätigungs-(CAS)-Signal
dient zur Zwischenspeicherung der Spaltenadressen (CADD) ausgewählter Speicherzellen
und zum Einleiten eines Spaltenzugriffs während einer Lese- oder Schreiboperation.
Typischerweise werden die Spaltenadressen an der ansteigenden Flanke
des CAS-Signals
zwischengespeichert und zur Decodierung weitergeleitet. Jede etwaige
Adressenvorbereitungszeit (d.h. die Zeit, für die die Adressen gültig sind,
bevor das CAS-Signal ansteigt) wird daher verschwendet. Das CAS-Signal, das
als Takt für
den Spaltenweg fungiert, darf keinen Spaltenzugriff einleiten, bevor
die Spaltenadressen zwischengespeichert und decodiert sind. Eine
Einleitung eines Spaltenzugriffs, bevor die Spaltenadressen zwischengespeichert
und decodiert sind, kann mehrere Probleme verursachen, wie zum Beispiel Aktivierung
eines falschen Spaltenelements, was wiederum zu einem Lesen falscher
Daten führen
würde.
Um ein Lesen falscher Daten zu verhindern, wird das CAS-Signal typischerweise
in dem Spaltenweg verzögert,
bis die Adressen zwischengespeichert und decodiert wurden und die
notwendigen Logikumschaltungen in der Spalte durchgeführt wurden.
Ein Verzögern
des CAS-Signals
in dem Spaltenweg verlangsamt Lese- und Schreibzugriffe auf den
Speicher.
-
DE 102 22 892 A1 betrifft
einen integrierten Speicher mit jeweils einem Anschluss für ein Taktsignal
und ein Datentaktsignal sowie einem Datenanschluss. Für einen
Schreibvorgang werden ein Schreibbefehl in Folge des Taktsignals
und dazu zeitverzögert
mehrere Daten in dem Datenanschluss in Folge des Datentaktsignals
vom Speicher übernommen.
Eine Zugriffssteuerung dient zur Steuerung eines Zugriffs auf ein
Speicherzellenfeld des Speichers zum parallelen Einschreiben der übernommenen
Daten in ausgewählte
Speicherzellen. Der Zugriff auf das Speicherzellenfeld wird durch
die Zugriffssteuerung ausgelöst,
bevor das Taktsignal eine nächste steigende
Flanke nach der Übernahme
der Daten aufweist. Damit kann die effektive Einschreibezeit vom
Anlegen des Schreibbefehls bis zum Schließen einer Speicherbank mittels
eines Vorladebefehls erhöht
werden.
-
Es
ist eine Aufgabe der Erfindung, einen verbesserten Speicher mit
schnellem Spaltenzugriff sowie ein verbessertes Verfahren zum Durchführen einer
Lese- oder einer Schreiboperation an einen Direktzugriffsspeicher
bereitzustellen.
-
Zusammenfassung
-
Eine
Ausführungsform
der vorliegenden Erfindung stellt einen Speicher bereit. Der Speicher
umfasst einen Spaltendecoder und eine Zwischenspeicherschaltung.
Die Schaltung ist so konfiguriert, dass sie ein Spaltenadressen-Bestätigungssignal-Signal, ein Spalte-aktiv-Signal
und ein Spaltenadressensignal empfängt. Die Schaltung ist so konfiguriert,
dass sie das Spaltenadressensignal zu dem Spaltendecoder leitet,
wenn das Spaltenadressen-Bestätigungssignal-Signal
und das Spalteaktiv-Signal auf einem ersten Logikpegel liegen, und
das Spaltenadressensignal zwischenspeichert und das zwischengespeicherte
Spaltenadressensignal zu dem Spaltendecoder leitet, wenn sich das
Spaltenadressen-Bestätigungssignal-Signal
auf einem von dem ersten Logikpegel verschiedenen zweiten Logikpegel
liegt.
-
Eine
andere Ausführungsform
der vorliegenden Erfindung stellt ein Verfahren zum Durchführen einer
Lese- oder einer Schreiboperation an einem Direktzugriffsspeicher
bereit. Das Verfahren umfasst ein Empfangen eines Spaltenadressensignals
von einer Speichersteuerung, ein Weiterleiten des Spaltenadres sensignals
zu einem Spaltendecoder, ein Decodieren des Spaltenadressensignals,
ein Empfangen eines Spaltenadressen-Bestätigungs-Signals von
der Speichersteuerung, ein Zwischenspeichern des Spaltenadressensignals
als Reaktion auf das Spaltenadressen-Bestätigungs-Signal und Lesen von
Daten aus einem Speicherzellenfeld oder Schreiben von Daten in dieses
an den Spaltenadressen als Reaktion auf das Spaltenadressen-Bestätigungs-Signal,
ohne das Spaltenadressen-Bestätigungs-Signal zu verzögern.
-
Kurze Beschreibung
der Zeichnungen
-
Ausführungsformen
der Erfindung werden besser mit Bezug auf die folgenden Zeichnungen
verständlich.
Die Elemente der Zeichnungen sind in Bezug aufeinander nicht unbedingt
maßstabsgetreu. Gleiche
Bezugszahlen kennzeichnen entsprechende ähnliche Teile.
-
1 ist
ein Blockschaltbild einer Ausführungsform
eines Direktzugriffsspeichers gemäß der vorliegenden Erfindung.
-
2 ist
ein Diagramm einer Ausführungsform
einer Speicherzelle.
-
3 ist
ein Diagramm einer Ausführungsform
eines Teils des Direktzugriffsspeichers zum Latchen von Spaltenadressen.
-
4 ist
ein Impulsdiagramm einer Ausführungsform
der Zeitsteuerung von Signalen zum Latchen von Spaltenadressen in
dem Direktzugriffsspeicher.
-
Ausführliche Beschreibung
-
1 ist
ein Blockschaltbild einer Ausführungsform
eines Direktzugriffsspeichers 10. Bei einer Ausführungsform
ist der Direktzugriffsspeicher 10 ein pseudostatischer
Direktzugriffsspeicher (PSRAM). Der PSRAM 10 enthält eine
Speichersteuerung 20 und mindestens eine Speicherbank 30.
Die Speicherbank 30 enthält ein Speicherzellenfeld 32 mit
Speicherzellen, einen Zeilendecoder 40, einen Spaltendecoder 44,
Leseverstärker 42 und
eine Dateneingangs-/-ausgangsschaltung 46. Die Speichersteuerung 20 ist
elektrisch an die Speicherbank 30 angekoppelt, wie bei 22 angedeutet.
-
Der
PSRAM 10 enthält
eine Schaltung, die so konfiguriert ist, dass sie Spaltenadressen
aus der Speichersteuerung 20 empfängt und die Spaltenadressen
zur Decodierung zu dem Spaltendecoder 44 leitet. Mit den
decodierten Spaltenadressen empfängt
die Schaltung ein Spaltenadressen-Bestätigungssignal-(CAS)-Signal. Als
Reaktion auf das CAS-Signal werden die Spaltenadressen zwischengespeichert
und Daten werden aus dem Speicherzellenfeld 32, an den
spezifizierten Spaltenadressen gelesen bzw. darin geschrieben. Das
CAS-Signal wird in dem Spaltenweg nicht verzögert, da die Spaltenadressen
decodiert werden, bevor das CAS-Signal ankommt. Ein Spaltenaktivsignal
geht als Reaktion auf die ansteigende Flanke des CAS-Signals zu
einem logischen high und nach dem Abschluss der Lese- oder Schreiboperation
zu einem logischen low über. Die
nächsten
Spaltenadressen aus der Speichersteuerung 20 werden erst
dann mittels der Schaltung zu dem Spaltendecoder 44 geleitet,
wenn das CAS-Signal auf logisch low liegt und das Spaltenaktivsignal
auf logisch low liegt.
-
Leitfähige Wortleitungen 34,
die als Zeilenauswahlleitungen bezeichnet werden, erstrecken sich
in der x-Richtung über
das Speicherzellenfeld 32 hinweg. Als Spaltenauswahlleitungen
bezeichnete leitfähige
Bitleitungen 36 erstrecken sich in der y-Richtung über das
Speicherzellenfeld 32 hinweg. An jedem Kreuzungspunkt einer
Wortleitung 34 und einer Bitleitung 36 befindet
sich eine Speicherzelle 38. Jede Wortleitung 34 ist
elektrisch an den Zeilendecoder 40 und jede Bitleitung 36 elektrisch
an einen Leseverstärker 42 angekoppelt.
Die Leseverstärker 42 sind
elektrisch durch leitfähige
Spaltendecoderleitungen 45 an den Spaltendecoder 44 und
durch Datenleitungen 47 an die Dateneingangs-/-ausgangsschaltung 46 angekoppelt.
-
Die
Dateneingangs-/-ausgangsschaltung 46 enthält mehrere
Zwischenspeicher und Kontaktstellen oder Anschlüsse (DQs) für Dateneingabe/-ausgabe (E/A)
zum Transfer von Daten zwischen der Speicherbank 30 und
einer externen Einrichtung. In die Speicherbank 30 von
einer externen Einrichtung zu schreibende Daten liegen als Spannungen
an den DQs an. Die Spannungen werden in die entsprechenden Signale
umgesetzt und in gewählten
Speicherzellen 38 gespeichert. Aus der Speicherbank 30 gelesene
Daten werden durch die Speicherbank 30 auf den DQs zum
Abruf für
die externe Einrichtung angelegt. Aus gewählten Speicherzellen 38 gelesene
Daten erscheinen an den DQs, sobald der Zugriff abgeschlossen ist
und der Ausgang freigegeben ist. Zu anderen Zeiten befinden sich
die DQs in einem Zustand hoher Impedanz.
-
Die
Speichersteuerung 20 steuert das Lesen von Daten aus der
Speicherbank 30 und das Schreiben von Daten in diese. Während einer
Leseoperation leitet die Speichersteuerung 20 die Zeilenadresse einer
gewählten
Speicherzelle oder Zellen 38 zu dem Zeilendecoder 40.
Der Zeilendecoder 40 aktiviert die gewählte Wortleitung 34.
Wenn die gewählte
Wortleitung 34 aktiviert ist, wird der in jeder an die
gewählte Wortleitung 34 angekoppelten
Speicherzellen 38 gespeicherte Wert zu der jeweiligen Bitleitung 36 geleitet.
Der Wert jeder Speicherzelle 38 wird durch einen Leseverstärker 42 gelesen,
der elektrisch an die jeweilige Bitleitung 36 angekoppelt
ist. Die Speichersteuerung 20 leitet eine Spaltenadresse
der gewählten
Speicherzelle oder -zellen 38 zu dem Spaltendecoder 44.
Der Spaltendecoder 44 wählt,
welche Leseverstärker 42 Daten
zum Abrufen durch eine externe Einrichtung zu der Dateneingangs-/-ausgangsschaltung 46 leiten.
-
Während einer
Schreiboperation werden die in der Matrix 32 zu speichernden
Daten durch eine externe Einrichtung in der Dateneingangs-/-ausgangsschaltung 46 platziert.
Die Speichersteuerung 20 leitet die Zeilenadresse für die gewählte Speicherzelle
oder -zellen 38, worin die Daten gespeichert werden sollen,
zu dem Zeilendecoder 40. Der Zeilendecoder 40 aktiviert
die gewählte
Wortleitung 34. Die Speichersteuerung 20 leitet
die Spaltenadresse der gewählten
Speicherzelle oder -zellen 38, in der oder in denen die
Daten gespeichert werden sollen, zu dem Spaltendecoder 44.
Der Spaltendecoder 44 wählt,
zu welchen Leseverstärkern 42 die
Daten aus der Dateneingangs-/-ausgangsschaltung 46 geleitet werden.
Die Leseverstärker 42 schreiben
die Daten mittels der Bitleitungen 36 in die gewählte Speicherzelle
oder -zellen 38.
-
2 ist
ein Diagramm einer Ausführungsform
einer Speicherzelle 38 in dem Speicherzellenfeld 32.
Die Speicherzelle 38 enthält einen Transistor 48 und
einen Kondensator 50. Das Gate des Transistors 48 ist
elektrisch an die Wortleitung 34 angekoppelt. Der Drain-Source-Weg
des Transistors 48 ist elektrisch an die Bitleitung 36 und
den Kondensator 50 angekoppelt. Der Kondensator 50 wird
so geladen, dass er entweder eine logische 0 oder eine logische
1 repräsentiert.
Während
einer Leseoperation wird die Wortleitung 34 aktiviert,
um den Transistor 48 einzuschalten, und der auf dem Kondensator 50 gespeicherte
Wert wird mittels eines entsprechenden Leseverstärkers 42 über die
Bitleitung 36 und den Transistor 48 gelesen. Während einer
Schreiboperation wird die Wortleitung 34 aktiviert, um
den Transistor 48 einzuschalten, und der auf dem Kondensator 50 gespeicherte
Wert wird mittels eines entsprechenden Leseverstärkers 42 über die
Bitleitung 36 und den Transistor 48 geschrieben.
-
Die
Leseoperation an der Speicherzelle 38 ist eine destruktive
Leseoperation. Nach jeder Leseoperation wird der Kondensator 50 mit
dem Wert wiederaufgeladen, der gerade gelesen wurde. Sogar ohne
Leseoperationen entlädt
sich zusätzlich
die Ladung auf dem Kondensator 50 mit der Zeit. Um einen gespeicherten
Wert zu behalten, wird die Speicherzelle 38 periodisch
durch Lesen oder Beschreiben der Speicherzelle 38 aufgefrischt.
Alle Speicherzellen 38 des Speicherzellenfelds 32 werden
periodisch aufgefrischt, um ihre Werte zu behalten.
-
Bei
einer Ausführungsform
ist der Direktzugriffsspeicher 10 ein synchroner dynamischer
Direktzugriffsspeicher mit Doppeldatenrate (DDR-SDRAM). Bei DDR-SDRAM
sind die Lese- und Schreiboperationen mit einem Systemtakt synchronisiert.
Der Systemtakt wird von einem Host-System geliefert, das den DDR
SDRAM enthält.
Der DDR-SDRAM arbeitet gemäß einem
differenziellen Takt CK und bCK. Der Durchgang von CK nach high und
bCK nach low wird als die positive Flanke von CK bezeichnet. Befehle
wie etwa Lese- und Schreiboperationen, einschließlich Adressen- und Steuersignale,
werden an der positiven Flanke von CK registriert. Operationen werden
sowohl an der ansteigenden als auch an der fallenden Flanke des
Systemtakts ausgeführt.
-
Der
DDR-SDRAM verwendet eine Architektur mit doppelter Datenrate, um
einen schnellen Betrieb zu erzielen. Die Architektur mit doppelter
Datenrate ist im Wesentlichen eine 2n-Architektur mit Befehlsvorverarbeitung
mit einer Schnittstelle, die so ausgelegt ist, dass zwei Datenwörter pro
Taktzyklus an die DQs übermittelt
werden. Ein einzelner Lese- oder Schreibzugriff auf den DDR-SDRAM
besteht effektiv aus einem einzelnen 2n Bit breiten Datentransfer
innerhalb eines Taktzyklusses in der internen Speichermatrix und
zwei entsprechenden n Bit breiten Datentransfers jeweils innerhalb
eines halben Taktzyklusses an den DQs.
-
Lese-
und Schreibzugriffe auf den DDR-SDRAM sind blockorientiert. Zugriffe
beginnen an einer gewählten
Speicherstelle und dauern für eine
programmierte Anzahl von Speicherzellen gemäß einer programmierten Sequenz
an. Zugriffe beginnen mit der Registration eines Aktivierungsbefehls,
dem ein Lese- oder Schreibbefehl folgt. Diejenigen registrierten
Adressenbits, die mit dem Aktivierungsbefehl zusammenfallen, werden
zur Auswahl der Bank und Zeile, worauf zugegriffen werden soll, verwendet.
Die mit dem Lese- oder Schreibbefehl übereinstimmenden registrierten
Adressenbits werden zur Auswahl der Bank und der Spaltenstelle,
an der der Zugriff beginnen soll, für den Block-Zugriff verwendet.
-
Der
DDR-SDRAM in der vorausgehenden Beschreibung wird als DDR-I-SDRAM
bezeichnet, da er die erste Generation von DDR-SDRAM ist. Die nächste Generation von DDR-SDRAM, DDR-II-SDRAM, besitzt dieselben
Merkmale wie der DDR-I-SDRAM, mit der Ausnahme, dass die Datenrate
verdoppelt ist. Die DDR-II-SDRAM-Architektur ist
im Wesentlichen eine 4n-Architektur mit Befehlsvorverarbeitung mit
einer Schnittstelle, die so ausgelegt ist, dass vier Datenwörter pro
Taktzyklus an den DQs ü bermittelt
werden. Ein einzelner Lese- oder Schreibzugriff für den DDR-II-SDRAM
besteht effektiv aus einem einzelnen 4n Bit breiten Datentransfer innerhalb
eines Taktzyklusses in der internen Speichermatrix und vier entsprechenden
n Bit breiten Datentransfers innerhalb eines Viertels des Taktzyklusses
an den DQs. Bei einer Ausführungsform
ist der Direktzugriffsspeicher 10 ein DDR-II-SDRAM.
-
Bei
einer anderen Ausführungsform
ist der Direktzugriffsspeicher 10 ein PSRAM. Eine Art von PSRAM
ist ein CellularRAM, der für
drahtlose Anwendungen ausgelegt ist. CellularRAM ist ein Drop-in-Ersatz
für einen
statischen Direktzugriffsspeicher (SRAM) und basiert auf einer einzigen
Transistor-DRAM-Zelle
im Gegensatz zu einer SRAM-Zelle mit sechs Transistoren.
-
3 ist
ein Diagramm einer Ausführungsform
eines Teilbereichs 100 des Direktzugriffsspeichers 10 zur
Zwischenspeicherung von Spaltenadressen. Bei einer Ausführungsform
ist der Teilbereich 100 Teil eines Spaltendecoders 44.
Der Teilbereich enthält
ein NOR-Gatter 106, Inverter 110, 124 und 126 und
invertierende Tristate-Puffer 114 und 120. Ein
erster Eingang des NOR-Gatters 106 empfängt ein CAS-Signal auf dem
CAS-Signalweg 102, und ein zweiter Eingang des NOR-Gatters 106 empfängt ein
Spalte-aktiv-(COL_ACT)-Signal auf dem COL_ACT-Signalweg 104.
Der Ausgang des NOR-Gatters 106 ist elektrisch an den Eingang
des Inverters 110, den Aktiv-low-Freigabeeingang des invertierenden Tristate-Puffers 120 und
durch den bCLOCK-Signalweg 108 an den Aktiv-high-Freigabeeingang des
invertierenden Tristate-Puffers 114 gekoppelt.
-
Der
Ausgang des Inverters 110 ist elektrisch an den Aktiv-high-Freigabeeingang
des invertierenden Tristate-Puffers 120 und durch den CLOCK-Signalweg 118 an
den Aktiv-low-Freigabeeingang
des invertierenden Tristate-Puffers 114 angekoppelt. Der Eingang
des invertierenden Tristate-Puffers 114 empfängt das
Spaltenadressensignal (CADD) auf dem CADD-Signalweg 112. Der Ausgang
des invertierenden Tristate-Puffers 114 ist
elektrisch an den Eingang des Inverters 124, den Eingang
des Inverters 126 und durch den Signalweg 116 an
den Ausgang des invertierenden Tristate-Puffers 120 angekoppelt.
Der Ausgang des Inverters 124 ist durch den Signalweg 122 elektrisch
an den Eingang des invertierenden Tristate-Puffers 120 angekoppelt. Der
Ausgang des Inverters 126 liefert das Signal, dass die Spaltenadressen
zwischengespeichert sind (CADD_LAT) auf dem CADD_LAT-Signalweg 128.
-
Mit
einem CAS-Signal auf dem CAS-Signalweg 102 von logisch
low und einem COL_ACT-Signal auf dem COL_ACT-Signalweg 104 von
logisch low gibt das NOR-Gatter 106 ein bCLOCK-Signal von
logisch high auf dem bCLOCK-Signalweg 108 aus. Mit einem
CAS-Signal von logisch
high auf dem CAS-Signalweg 102 oder einem COL_ACT-Signal
von logisch high auf dem COL_ACT-Signalweg 104 gibt das
NOR-Gatter 106 ein bCLOCK-Signal von logisch low auf dem
bCLOCK-Signalweg 108 aus. Der Inverter 110 invertiert
das bCLOCK-Signal, um das CLOCK-Signal auf dem CLOCK-Signalweg 118 bereitzustellen.
-
Im
Falle eines bCLOCK-Signals von logisch high auf dem bCLOCK-Signalweg 108 und
eines CLOCK-Signals von logisch low auf dem CLOCK-Signalweg 118 ist
der invertierende Tristate-Puffer 114 aktiviert
und leitet das auf dem CADD-Signalweg 112 anliegende CADD-Signal
zu dem Signalweg 116 weiter und invertiert es. Im Falle
eines bCLOCK-Signals von logisch low auf dem bCLOCK-Signalweg 108 und
eines CLOCK-Signals von logisch high auf dem CLOCK-Signalweg 118 ist
der invertierende Tristate-Puffer 114 gesperrt, und sein
Ausgang liegt auf hoher Impedanz.
-
Im
Falle eines CLOCK-Signals von logisch high auf dem CLOCK-Signalweg 118 und
eines bCLOCK-Signals von logisch low auf dem bCLOCK-Signalweg 108 ist
der invertierende Tristate-Puffer 120 aktiviert
und leitet das Signal auf dem Signalweg 122 zu dem Signalweg 116 weiter
und invertiert es. Im Falle, dass das CLOCK-Signal auf dem CLOCK-Signalweg 118 auf
logisch low und das bCLOCK-Signal auf dem bCLOCK-Signalweg 108 auf
logisch high ist, ist der invertierende Tristate-Puffer 120 gesperrt
und sein Ausgang liegt auf hoher Impedanz.
-
Der
Inverter 124 invertiert das Signal auf dem Signalweg 116,
um das Signal auf dem Signalweg 122 bereitzustellen. Wenn
der invertierende Tristate-Puffer 120 aktiviert ist, schalten
der Inverter 124 und der invertierende Tristate-Puffer 120 das
Signal auf den Signalweg 116. Der Inverter 126 invertiert das
Signal auf dem Signalweg 116, um das CADD_LAT-Signal auf
dem CADD_LAT-Signalweg 128 bereitzustellen.
-
Im
Falle eines CAS-Signals von logisch low auf dem CAS-Signalweg 102 der
Speichersteuerung 20 und eines COL_ACT-Signals von logisch low auf dem COL_ACT-Signalweg 104 liefert
im Betrieb der Ausgang des NOR-Gatters 106 ein bCLOCK-Signal von
logisch high auf dem bCLOCK-Signalweg 108. Das bCLOCK-Signal von logisch
high wird durch den Inverter 110 invertiert, um ein CLOCK-Signal
von logisch low auf dem CLOCK-Signalweg 118 bereitzustellen.
Im Falle, dass das bCLOCK-Signal
auf einem logischen high und das CLOCK-Signal auf einem logischen
low ist, ist der invertierende Tristate-Puffer 114 aktiviert
und der invertierende Tristate-Puffer 120 ist gesperrt.
Der invertierende Tristate-Puffer 114 leitet das CADD-Signal
zu dem Signalweg 116 weiter und invertiert es. Das invertierte
CADD-Signal auf dem Signalweg 116 wird mittels des Inverters 126 weiter
invertiert, um das CADD_LAT-Signal
auf dem CADD_LAT-Signalweg 128 bereitzustellen. Das CADD_LAT-Signal
wird zu dem Spaltendecoder 44 geleitet, in dem die Spaltenadressen
decodiert und die Schalter der Spaltenlogik geschaltet werden, um die
durch die Spaltenadressen spezifizierten Spalten auszuwählen.
-
Die
Speichersteuerung 20 verwandelt das CAS-Signal auf dem
CAS-Signalweg 102 dann in ein logisches high. Als Reaktion
auf den Übergang
des CAS-Signals zu einem logischen high geht das COL_ACT-Signal
auf dem COL_ACT-Signalweg 104 auch zu einem logischen high über. Als
Reaktion auf den Übergang
des CAS-Signals zu einem logischen high verwandelt der Ausgang des
NOR-Gatters 106 das bCLOCK-Signal auf dem bCLOCK-Signalweg 108 in
ein logisches low. Das bCLOCK-Signal von logisch low wird durch
den Inverter 110 invertiert, um das CLOCK-Signal auf dem
CLOCK-Signalweg 118 in ein logisches high zu verwandeln.
-
Mit
dem CLOCK-Signal auf logisch high und dem bCLOCK-Signal auf logisch
low ist der invertierende Tristate-Puffer 114 gesperrt
und der invertierende Tristate-Puffer 120 ist aktiviert.
Das invertierte CADD-Signal auf dem Signalweg 116 wird
durch den Inverter 124 und den invertierenden Tristate-Puffer 120 zwischengespeichert.
Das invertierte CADD-Signal wird durch den Inverter 126 invertiert,
um das CADD_LAT-Signal auf dem CADD_LAT-Signalweg 128 bereitzustellen.
-
Das
COL_ACT-Signal bleibt logisch high bis die Lese- oder Schreiboperation
abgeschlossen ist. Das COL_ACT-Signal verhindert, dass das nächste CADD-Signal
auf dem CADD-Signalweg 112 in den Zwischenspeicher eintritt.
Deshalb kann das nächste CADD-Signal
nicht mit dem Decodieren beginnen, bevor die vorherige Lese- oder
Schreiboperation abgeschlossen ist. Mit abgeschlossener aktueller
Lese- oder Schreiboperation geht das COL_ACT-Signal zu einem logischen
low über.
Mit dem CAS-Signal
auch auf logisch low ist der invertierende Tristate-Puffer 114 dann
aktiviert und der invertierende Tristate-Puffer 120 ist gesperrt. Das
nächste
CADD-Signal wird mittels des invertierenden Tristate-Puffers 114 invertiert
und zu dem Signalweg 116 weitergeleitet, um mit der nächsten Lese-
oder Schreiboperation zu beginnen.
-
4 ist
ein Ablaufdiagramm 200, das eine Ausführungsform des Zeitablaufs
von Signalen für den
Teilbereich 100 des Direktzugriffsspeichers 10 darstellt.
Das Ablaufdiagramm 200 enthält das CAS-Signal 202 auf
dem CAS-Signalweg 102, das COL_ACT-Signal 204 auf
dem COL_ACT-Signalweg 104, das CADD-Signal 206 auf dem CADD-Signalweg 112,
das CADD_LAT-Signal 208 auf dem CADD_LAT-Signalweg 128 und
das Spaltenadressendecodiert-(CADD-DEC)-Signal 210.
-
Mit
dem CAS-Signal 202 auf logisch low und dem COL_ACT-Signal 204 auf
logisch low wird das CADD-Signal 206 bei 216 empfangen
und mittels des invertierenden Tristate-Puffers 114 und
des Inverters 126 weitergeleitet und invertiert, um das CADD_LAT-Signal 208 bei 218 bereitzustellen.
Das CADD_LAT-Signal 208 wird
durch den Spaltendecoder 44 decodiert, um das CADD_DEC-Signal 210 bei 220 bereitzustellen.
Die adressierten Spalten werden auf der Basis der Spaltenadressen
ausgewählt.
Als Reaktion auf die ansteigende Flanke 212 des CAS-Signals 202 geht
das COL_ACT-Signal 204 bei 214 zu einem logischen
high über.
Auch als Reaktion auf die ansteigende Flanke 212 des CAS-Signals 202 werden
Daten aus den adressierten Spalten der Matrix von Speicherzellen 32 gelesen
oder in diese geschrieben.
-
Das
COL_ACT-Signal 204 bleibt logisch high, bis die Lese- oder
Schreiboperation abgeschlossen ist. Die fallende Flanke 222 des COL_ACT-Signals 204 zeigt
an, dass die Lese- oder Schreiboperation abgeschlossen ist. Als
Reaktion auf die fallende Flanke 222 des COL_ACT-Signals 204 wird
der invertierende Tristate-Puffer 114 aktiviert und der
invertierende Tristate-Puffer 120 wird gesperrt. Der invertierende
Tristate-Puffer 114 und der Inverter 126 leiten
das CADD-Signal 206 weiter und invertieren es, um das CADD_LAT-Signal 208 wie
bei 224 angegeben, bereitzustellen, um die nächste Lese- oder Schreiboperation
zu beginnen.
-
Die
Ausführungsformen
der vorliegenden Erfindung nutzen die CADD-Signalaufbauzeit zum
Beginnen mit der Spaltenadressendecodierung aus, bevor die Speichersteuerung 20 das
CAS-Signal liefert, so dass es unnötig wird, das CAS-Signal in
dem Spaltenweg zu verzögern,
während
das CADD-Signal decodiert wird. Indem das CAS-Signal nicht verzögert wird,
sind Spaltenzugriffe auf den Direktzugriffsspeicher 10 schneller,
wodurch schnellere Lese- und Schreibzeiten möglich werden.