-
Die Erfindung bezieht sich auf ein Halbleiterspeicherbauelement sowie auf ein Verfahren zur Steuerung der Lese- und Schreibvorgänge für ein solches Bauelement. Insbesondere ist die Erfindung für synchrone Doppeldatenraten-Speicherbauelemente mit wahlfreiem Zugriff (DDR-SDRAM) verwendbar.
-
In einem synchronen Einzeldatenraten-Speicherbauelement mit wahlfreiem Zugriff (SDR-SDRAM) erfolgt das Eingeben und Ausgeben von Daten über einen Dateneingabe- und Datenausgabeanschluß DQ an der ansteigenden Flanke eines Taktsignals. Hingegen erfolgt beim DDR-SDRAM das Eingeben und Ausgeben von Daten über den Dateneingabe- und Datenausgabeanschluß DQ sowohl an der ansteigenden als auch an der abfallenen Flanke des Taktsignals.
-
Allgemein wird die in einem Taktzyklus verarbeitete Datenmenge als eine Vorabrufeinheit bezeichnet. Die Vorabrufeinheit hat für das SDR-SDRAM den Wert 1, für das DDR-SDRAM den Wert 2. 1 zeigt ein Zeitsteuerungsdiagramm zwecks Vergleich der Datenverarbeitungsgeschwindigkeit und der Effizienz des Dateneingabe- und Datenausgabeanschlusses DQ für das SDR-SDRAM mit der Datenverarbeitungsgeschwindigkeit und der Effizienz des Dateneingabe- und Datenausgabeanschlusses DQ für das DDR-SDRAM. Dabei ist ein Fall gezeigt, bei dem die CAS-Latenz (CL) den Wert 2,5 und die Datenblocklänge (BL) den Wert 4 hat.
-
Rein arithmetisch gesehen sollte, da ein DDR-SDRAM doppelt so viele Daten wie ein SDR-SDRAM in einem Taktzyklus verarbeitet, die Verarbeitungsgeschwindigkeit des DDR-SDRAM doppelt so groß sein wie diejenige des SDR-SDRAM. Dies ist in der Praxis jedoch nicht der Fall. Wie in 1 illustriert, sollte nämlich bei dem DDR-SDRAM der Lesebefehl (RD) empfangen werden, nachdem Schreibdaten D0 bis D3 vollständig geschrieben sind.
-
Mit anderen Worten sollte der Lesebefehl RD empfangen werden, nachdem eine Schreib-Erholzeit (tWR) verstrichen ist, und Lesedaten Q0 bis Q3 werden ausgegeben, nachdem der CAS-Latenz entsprechende Taktzyklen nach Empfang des Lesebefehls RD verstrichen sind. Demgemäß ist die Verarbeitungsgeschwindigkeit des DDR-SDRAM nicht doppelt so groß wie diejenige des SDR-SDRAM, so dass die Effizienz des Dateneingabe- und Datenausgabeanschlusses DQ beim DDR-SDRAM geringer ist als diejenige beim SDR-SDRAM. Im Fall von 1 ist die Effizienz des Dateneingabe- und Datenausgabeanschlusses DQ für das SDR-SDRAM gleich 67% und für das DDR-SDRAM gleich 44%.
-
Die Patentschrift
US 5.838.631 offenbart ein vollsynchrones Speicherbauelement mit Pipelineverarbeitung, das ein Speicherzellenfeld zur Datenspeicherung, ein Register zum temporären Speichern von Schreibdaten und Ausgeben der gespeicherten Schreibdaten an das Speicherzellenfeld, ein Register zum temporären Speichern von zu den Schreibdaten gehörigen Schreibadressen und Ausgeben der gespeicherten Schreibadressen an das Speicherzellenfeld sowie eine Steuerlogik beinhaltet, die diese Register in Abhängigkeit von einem Schreib-/Lesebefehl derart steuert, dass die im zugehörigen Register gespeicherten Schreibdaten ausgegeben werden, wenn während eines auf einen Schreibvorgang folgenden Lesevorgangs empfangene Leseadressen mit den im Adressenregister gespeicherten Schreibadressen übereinstimmen.
-
Die Offenlegungsschrift
WO 96/30838 A1 offenbart eine Speichersteuerung, die dafür eingerichtet ist, Lese- und Schreibbefehle bei Bedarf auch in einer anderen als der normalen Reihenfolge auszuführen, um Speicherzugriffszeiten in einem Speichersystem mit Seitenmoduszugriffen zu reduzieren.
-
Der Erfindung liegt als technisches Problem die Bereitstellung eines Halbleiterspeicherbauelementes der eingangs genannten Art und eines zugehörigen Verfahrens zur Steuerung der Lese- und Schreibvorgänge zugrunde, mit denen sich eine vergleichsweise hohe Datenverarbeitungsgeschwindigkeit und Effizienz der Dateneingabe und Datenausgabe erzielen lassen, insbesondere für ein DDR-SDRAM.
-
Die Erfindung löst dieses Problem durch die Bereitstellung eines Halbleiterspeicherbauelementes mit den Merkmalen des Anspruchs 1 und eines Verfahrens zur Steuerung der Lese- und Schreibvorgänge mit den Merkmalen des Anspruchs 7. Durch die erfindungsgemäßen Maßnahmen kann der Lesebefehl während des Schreibvorgangs empfangen werden, was eine Verbesserung der Datenverarbeitungsgeschwindigkeit und Effizienz der Dateneingabe und Datenausgabe ermöglicht.
-
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
-
Vorteilhafte, nachfolgend beschriebene Ausführungsformen der Erfindung sowie das oben erläuterte, übliche Zeitsteuerungsdiagramm für ein SDR- und ein DDR-SDRAM sind in den Zeichnungen dargestellt, in denen zeigen:
-
1 ein Zeitsteuerungsdiagramm zum Vergleichen der Datenverarbeitungsgeschwindigkeit und Effizienz eines Dateneingabe- und Datenausgabeanschlusse für ein SDR-SDRAM einerseits und ein DDR-SDRAM andererseits,
-
2 ein Blockschaltbild eines DDR-SDRAM,
-
3 ein detaillierteres Schaltbild eines in 2 verwendeten Steuersignalgenerators,
-
4 ein detaillierteres Schaltbild eines FIFO(Silospeicher)-Adressenschaltkreises und zugehöriger Schaltkreise von 2,
-
5 ein detaillierteres Schaltbild eines FIFO(Silospeicher)-Datenschaltkreises von 2 und
-
6A bis 6D Zeitsteuerungsdiagramme zur Veranschaulichung der Betriebsweise des in 2 gezeigten DDR-SDRAM.
-
Das in 2 gezeigte DDR-SDRAM beinhaltet ein Speicherzellenfeld 21, einen FIFO-Datenschaltkreis 23, einen FIFO-Adresspuffer 25, einen Steuersignalgenerator 27 und einen Selektor 29. Das DDR-SDRAM ist so aufgebaut, dass es in einem Schreibbefehl dieselbe CAS-Latenz (oder CAS-Latenz-1) aufweist wie in einem Lesebefehl.
-
Der Steuersignalgenerator 27 generiert eine Mehrzahl von Steuersignalen, und zwar ein Lesesteuersignal RC, ein erstes Schreibsteuersignal WC1, ein FIFO-Hinweissignal FFIFO, ein internes Schreibsignal IW sowie ein erstes bis drittes Zählsignal C1, C2, C3, sämtlich zur Steuerung des FIFO-Datenpuffers 23 und des FIFO-Adresspuffers 25 in Abhängigkeit von einem internen Taktsignal ICLK, während ein Schreib- und ein Lesebefehl empfangen werden, speziell Eingangssignale RAS, CAS, WE, BRC und BWC. Das Eingangssignal RAS ist das invertierte Signal eines von außen empfangenen Zeilenadressabtastsignals (/RAS). Das Eingangssignal CAS ist das invertierte Signal eines von außen empfangenen Spaltenadressabtastsignals (/CAS). Das Eingangssignal WE ist das invertierte Signal eines von außen empfangenen Schreibfreigabesignals (/WE). Das Eingangssignal BRC wird freigegeben, wenn ein Datenblock-Lesevorgang abgeschlossen ist. Das Eingangssignal BWC wird freigegeben, wenn ein Datenblock-Schreibvorgang abgeschlossen ist.
-
Der Schreibbefehl bedeutet hierbei, dass das Signal /RAS in einem hohen Logikzustand, das Signal /CAS in einem niedrigen Logikzustand und das Signal /WE in einem hohen Logikzustand empfangen wird. In gleicher Weise bedeutet der Lesebefehl, dass das Signal /RAS im hohen Logikzustand, das Signal /CAS im niedrigen Logikzustand und das Signal /WE im niedrigen Logikzustand empfangen wird.
-
Der FIFO-Datenpuffer 23 stellt ein Datenspeichermittel dar und speichert sequentiell die über einen Dateneingabe- und Datenausgabeanschluß DQ empfangenen Schreibdaten in Abhängigkeit von den Steuersignalen RC, FFIFO, WC1 und C1 bis C3, dem internen Takt ICLK und vom FIFO-Adresspuffer 25 generierten Adresstrefferdatensignalen. Der FIFO-Datenpuffer 23 gibt die gespeicherten Schreibdaten sequentiell an das Speicherzellenfeld 21 ab, um mit einem Schreibvorgang fortzusetzen, nachdem ein Lesevorgang abgeschlossen ist, wenn in den Steuersignalgenerator 27 ein Lesebefehl eingegeben wird, nachdem der Schreibbefehl in diesen eingegeben wurde.
-
Der Selektor 29 ist ein Ausgabemultiplexer und selektiert die im FIFO-Datenpuffer 23 gespeicherten Daten und gibt die selektierten Daten über den Dateneingabe- und Datenausgabeanschluß DQ in Abhängigkeit von dem durch den FIFO-Adresspuffer 25 erzeugten Adresstreffersignal AH ab, wenn die Adressen während des Lesevorgangs mit den im FIFO-Adresspuffer 25 gespeicherten Adressen übereinstimmen.
-
Wenngleich hier nicht gezeigt, sind in den Schreibdatenpfad vom Dateneingabe- und Datenausgabeanschluß DQ zum Speicherzellenfeld 21 zwischen den Dateneingabe- und Datenausgabeanschluß DQ und den FIFO-Datenpuffer 23 ein Eingabepuffer, ein Eingabemultiplexer und ein Dateneingabe- und Datenausgabeleitungstreiber eingeschleift. Zwischen den FIFO-Datenpuffer 23 und das Speicherzellenfeld 21 ist ein Eingabe- und Ausgabeleitungstreiber eingeschleift. In gleicher Weise ist in den Lesedatenpfad vom Speicherzellenfeld 21 zum Dateneingabe- und Datenausgabeanschluß DQ zwischen das Speicherzellenfeld 21 und den Selektor 29 ein Eingabe- und Ausgabeleitungsmultiplexer und ein Eingabe- und Ausgabeleitungsabtastverstärker eingeschleift. Zwischen den Selektor 29 und den Dateneingabe- und Datenausgabeanschluß DQ ist ein Ausgabepuffer eingeschleift.
-
3 zeigt den Steuersignalgenerator 27 von 2 in einem detaillierteren Schaltbild. Wie daraus ersichtlich, umfasst der Steuersignalgenerator einen Lesebefehlsignalgenerator 31, einen Schreibbefehlsignalgenerator 33, einen FIFO-Hinweissignalgenerator 35, einen Signalgenerator 37 für das interne Schreibsignal und einen FIFO-Zähler 39.
-
Der Lesebefehlsignalgenerator 31 erzeugt ein Lesebefehlsignal RC, das freigegeben wird, wenn der Lesebefehl empfangen wird. Mit anderen Worten wird das Lesebefehlsignal RC aktiviert, wenn das Eingangssignal RAS niedrigen Logikpegel annimmt, das Eingangssignal CAS hohen Logikpegel annimmt und das Eingangssignal WE niedrigen Logikpegel annimmt. Das Lesebefehlssignal wird deaktiviert, wenn der Datenblocklesevorgang abgeschlossen ist, d. h. wenn das Eingangssignal BRC freigegeben wird. Der Lesebefehlsignalgenerator 31 beinhaltet einen ersten bis dritten Inverter 31a, 31b, 31d, ein NAND-Gatter 31c und eine Steuereinheit 31e. Darüber hinaus kann er je nach Bedarf weitere Logikgatter enthalten.
-
Der Schreibbefehlsignalgenerator 33 erzeugt ein erstes Schreibbefehlssignal WC1, das freigegeben wird, wenn der Schreibbefehl empfangen wird. Mit anderen Worten wird das erste Schreibbefehlssignal WC1 aktiviert, wenn das Eingangssignal RAS niedrigen Logikpegel annimmt, das Eingangssignal CAS hohen Logikpegel annimmt und das Eingangssignal WE hohen Logikpegel annimmt. Das erste Schreibbefehlssignal WC1 wird nach Ablauf einer der CAS-Latenz entsprechenden Verzögerungszeit seit dem Zeitpunkt deaktiviert, zu dem der Datenblockschreibvorgang abgeschlossen wurde, d. h. seit dem Zeitpunkt, zu dem das Signal BWC freigegeben wird. Der Schreibbefehlsignalgenerator 33 erzeugt ein zweites Schreibbefehlssignal WC2, dessen Aktivierungszeitpunkt, d. h. der Zeitpunkt, zu dem es auf hohen Pegel gelangt, bezüglich dem Aktivierungszeitpunkt des ersten Schreibbefehlssignals WC1 um die CAS-Latenz verzögert ist und dessen Deaktivierungszeitpunkt, d. h. der Zeitpunkt, zu dem es auf niedrigen Pegel gelangt, mit demjenigen des ersten Schreibbefehlssignals WC1 übereinstimmt. Der Schreibbefehlsignalgenerator 33 beinhaltet einen ersten und zweiten Inverter 33a, 33c, ein NAND-Gatter 33b, eine erste Steuereinheit 33d, eine Verzögerungseinheit 33e und eine zweite Steuereinheit 33f. Darüber hinaus kann er je nach Bedarf weitere Logikgatter enthalten.
-
Der FIFO-Hinweissignalgenerator 35 erzeugt ein FIFO-Hinweissignal FFIFO, das anzeigt, ob Daten in dem FIFO-Datenpuffer 23 von 2 vorliegen. Das FIFO-Hinweissignal FFIFO wird freigeben, wenn der Lesebefehl empfangen wird, während das zweite Schreibbefehlssignal WC2 auf hohen Logikpegel aktiviert ist, d. h. wenn das Lesebefehlsignal RC auf hohem Logikpegel freigegeben ist. Das FIFO-Hinweissignal FFIFO wird deaktiviert, wenn keine Daten im FIFO-Datenpuffer 23 vorliegen, d. h. wenn die Zählsignale C1, C2, C3 sämtlich auf niedrigem Logikpegel liegen. Der FIFO-Hinweissignalgenerator 35 beinhaltet ein NAND-Gatter 35a, einen Inverter 35b, ein NOR-Gatter 35c und eine Steuereinheit 35d. Darüber hinaus kann er je nach Bedarf weitere Logikgatter enthalten.
-
Der Signalgenerator 37 für das interne Schreibsignal erzeugt ein internes Schreibbefehlssignal IW, das anzeigt, dass ein interner Schreibvorgang durchgeführt werden kann. Das interne Schreibbefehlssignal IW wird freigegeben, wenn Daten im FIFO-Datenpuffer 23 vorliegen, d. h. das Signal FFIFO auf hohem Logikpegel liegt, der Schreibvorgang abgeschlossen ist, d. h. das Signal RC auf niedrigem Logikpegel liegt, und alle Schreibdaten in den FIFO-Datenpuffer 23 eingegeben wurden, d. h. das erste Schreibbefehlssignal WC1 auf niedrigem Logikpegel ist. Das interne Schreibbefehlssignal IW ist deaktiviert, wenn keine Daten im FIFO-Datenspeicher 23 vorliegen, d. h. das FIFO-Hinweissignal FFIFO auf niedrigem Logikpegel liegt, der Lesevorgang nicht abgeschlossen ist, d. h. das Lesesteuersignal RC auf hohem Logikpegel liegt, und nicht alle Schreibdaten in den FIFO-Datenpuffer 23 eingegeben sind, d. h. das erste Schreibbefehlssignal WC1 auf hohem Logikpegel liegt. Der interne Schreibsignalgenerator 37 beinhaltet einen ersten bis dritten Inverter 37a, 37b, 37d und ein NAND-Gatter 37c. Darüber hinaus kann er je nach Bedarf weitere Logikgatter enthalten.
-
Der FIFO-Zähler 39 erzeugt die Zählsignale C1, C2, C3 und wird durch das zweite Schreibbefehlssignal WC2 dazu freigegeben, die Anzahl an im FIFO-Datenpuffer 23 abzuspeichernden Schreibdateneinheiten zu zählen. Wenn die Anzahl an im FIFO-Datenpuffer 23 zu speichernden Schreibdateneinheiten gleich 1 ist, betragen C1, C2 und C3 1, 0 bzw. 0. Wenn die Anzahl an im FIFO-Datenpuffer 23 zu speichernden Schreibdateneinheiten gleich 2 ist, betragen C1, C2 und C3 1, 1 bzw. 0. Wenn die Anzahl an im FIFO-Datenpuffer 23 zu speichernden Schreibdateneinheiten gleich 3 ist, betragen C1, C2 und C3 1, 1 bzw. 1. Die Zählsignale C1, C2, C3 erhöhen sich in Abhängigkeit vom internen Taktsignal ICLK, wenn das zweite Schreibbefehlssignal WC2 auf hohem Logikpegel liegt und das FIFO-Hinweissignal FFIFO auf hohem Logikpegel liegt, und sie verringern sich in Abhängigkeit vom internen Taktsignal ICLK, wenn das interne Schreibbefehlssignal IW auf hohem Logikpegel liegt. Der FIFO-Zähler 39 beinhaltet ein NAND-Gatter 39a, einen Inverter 39b und einen Zähler 39c. Darüber hinaus kann er je nach Bedarf weitere Logikgatter enthalten.
-
4 zeigt den FIFO-Adresspuffer 25 in einem detaillierteren Schaltbild. Wie daraus ersichtlich, enthält er einen ersten Adresszähler 41, einen Multiplexer 43, einen zweiten Adresszähler 45, einen FIFO-Adressenschaltkreis 47 und eine Vergleichseinheit 49.
-
Der FIFO-Adressenschaltkreis 47 beinhaltet mehrere D-Flip-Flops 47a, 47c, 47e und mehrere Multiplexer 47b, 47d. Die D-Flip-Flops 47a, 47c, 47e arbeiten in Abhängigkeit vom internen Taktsignal PCLK. Die Anzahl an im FIFO-Adressenschaltkreis 47 gespeicherten Adressen, d. h. die Anzahl an Stufen des FIFO-Adressenschaltkreises 47, variiert in Abhängigkeit der CAS-Latenz. Da die CAS-Latenz üblicherweise bis zu 3 beträgt, zeigt 4 den Fall, in welchem die Tiefe des FIFO-Adressenschaltkreises 47 gleich 3 ist. Seine Tiefe kann jedoch bei Bedarf durch Hinzufügen von noch mehr D-Flip-Flops und Multiplexern erhöht werden.
-
Während des Lesevorgangs, d. h. während das Lesebefehlssignal RC auf hohem Logikpegel liegt, empfängt der erste Adresszähler 41 die über einen in 2 gezeigten Adressenanschluß ADDR eingegebene Adresse AD. Die interne Adresse wird vom Multiplexer 43 als eine Adresse ADI abgegeben. Diese wird dann zu einem nicht gezeigten Adressdecoder des Speicherzellenfeldes von 2 weitergeleitet.
-
Der FIFO-Adressenschaltkreis 47 arbeitet während eines normalen Schreibvorgangs, d. h. wenn das erste Schreibsteuersignal WC1 auf hohem Logikpegel und das Signal FFIFO auf niedrigem Logikpegel liegt, oder eines internen Schreibvorgangs, d. h. wenn das interne Schreibsignal IW auf hohem Logikpegel liegt. Mit anderen Worten wird im Fall einer CAS-Latenz von 3, bei der entsprechende Steuersignale CL1 und CL2 beide den Logikwert ”0” annehmen, während des normalen Schreibvorgangs die vom zweiten Adresszähler 45 generierte interne Adresse zu einer Ausgangsstufe FO abgegeben, nachdem sie sequentiell über die drei Stufen des FIFO-Adressenschaltkreises 47 geführt wurde, d. h. nach sequentiellem Passieren über das Flip-Flop 47a, den Multiplexer 47b, das Flip-Flop 47c, den Multiplexer 47d und das Flip-Flop 47e. Wenn die CAS-Latenz gleich 2 ist, d. h. die Steuersignale CL1 und CL2 den Logikwert ”0” bzw. ”1” annehmen, wird die vom zweiten Adresszähler 45 generierte Adresse zur Ausgangsstufe FO abgegeben, nachdem sie sequentiell über zwei Stufen des FIFO-Adressenschaltkreises 47 geführt wurde, d. h. nach sequentiellem Passieren des Multiplexers 47b, des Flip-Flops 47c, des Multiplexers 47d und des Flip-Flops 47e. Wenn die CAS-Latenz den Wert 1 hat, d. h. die Steuersignale CL1 und CL2 die Logikwerte ”1” bzw. ”0” annehmen, wird die vom zweiten Adresszähler 45 erzeugte interne Adresse an die Ausgangsstufe FO abgegeben, nachdem sie über eine Stufe des FIFO-Adressenschaltkreises 47 geführt wurde, d. h. nach sequentiellem Passieren des Multiplexers 47d und des Flip-Flops 47e. Die an die Ausgangsstufe FO abgegebene interne Adresse wird über den Multiplexer 43 als die Adresse ADI abgegeben. Diese wird an den Adressdecoder des Speicherzellenfeldes von 2 weitergeleitet.
-
Wenn während eines Schreibvorgangs der Lesebefehl empfangen wird, gelangt FFIFO auf hohen Logikpegel. Dementsprechend stoppt der Betrieb des FIFO-Adressenschaltkreises 47, und die in den FIFO-Adressenschaltkreis 47 eingegebene interne Adresse wird gespeichert. Nach Abschluß des Lesevorgangs während des internen Schreibvorgangs gelangt das interne Schreibsignal IW auf hohen Logikpegel. Dementsprechend nimmt der FIFO-Adressenschaltkreis 47 seinen Betrieb wieder auf, und die im FIFO-Adressenschaltkreis 47 gespeicherten Adressen werden sequentiell an die Ausgangsstufe FO abgegeben. über den Multiplexer 43 wird die an die Ausgangsstufe FO abgegebene Adresse als die Adresse ADI ausgegeben. Diese wird dann zum Adressdecoder des Speicherzellenfeldes von 2 weitergeleitet.
-
Wenn der Lesebefehl empfangen wird, d. h. das Signal RC auf hohem Logikpegel liegt, und das FIFO-Hinweissignal FFIFO auf hohem Logikpegel liegt, d. h. Daten im FIFO-Datenpuffer 23 von 2 vorliegen, vergleicht die Vergleichseinheit 49 die Adresse während des Lesevorgangs, d. h. die Ausgabe des ersten Adresszählers 41, mit der korrespondierenden Adresse im FIFO-Adressenschaltkreis 47 und erzeugt entsprechende Signale AHD1, AHD2, AHD3.
-
Genauer gesagt vergleicht ein erster Komparator 49a das Ausgangssignal des ersten Adresszählers 41 mit einer in der dritten Stufe des FIFO-Adressenschaltkreises 47, d. h. im Flip-Flop 47a, gespeicherten Adresse in Abhängigkeit vom dritten Zählsignal C3 und aktiviert das Signal AHD3 auf hohen Logikpegel, wenn das Ausgangssignal mit dieser Adresse übereinstimmt. Ein zweiter Komparator 49b vergleicht das Ausgangssignal des ersten Adresszählers 41 mit einer in der zweiten Stufe des FIFO-Adressenschaltkreises 47, d. h. im Flip-Flop 47c, gespeicherten Adresse in Abhängigkeit vom zweiten Zählsignal C2 und aktiviert das Signal AHD2 auf hohen Logikpegel, wenn das Ausgangssignal mit dieser Adresse übereinstimmt. Ein dritter Komparator 49c vergleicht das Ausgangssignal des ersten Adressenzählers 41 mit einer in der ersten Stufe des FIFO-Adressenschaltkreises 47, d. h. im Flip-Flop 47e, gespeicherten Adresse in Abhängigkeit vom ersten Zählsignal C1 und aktiviert das Signal AHD1 auf hohen Logikpegel, wenn das Ausgangssignal mit dieser Adresse übereinstimmt. Wenn eines der Signale AHD1 bis AHD3 auf hohen Logikpegel aktiviert ist, wird das Adressentreffersignal AH durch ein NOR-Gatter 49g und einen Inverter 49h auf hohen Logikpegel aktiviert.
-
5 zeigt den FIFO-Datenpuffer 23 von 2 in einem detaillierteren Schaltbild. Wie daraus ersichtlich, beinhaltet der FIFO-Datenpuffer 23 einen ersten bis vierten Datenmultiplexer 52, 54, 56 und 57 sowie ein erstes bis drittes Daten-D-Flip-Flops 51, 53 und 55, die in Abhängigkeit vom internen Takt ICLK arbeiten. In 5 ist der Fall gezeigt, in welchem die Tiefe des FIFO-Datenpuffers 23 drei Stufen umfasst. Bei Bedarf kann die Tiefe des FIFO-Datenpuffers 23 jedoch durch zusätzliche Multiplexer und D-Flip-Flops erhöht werden. In gleicher Weise ist die Anzahl an FIFO-Datenschaltkreisen 23 durch die Vorabrufeinheit bestimmt. Da diese beim DDR-SDRAM gleich 2 ist, sind in diesem Fall zwei FIFO-Datenschaltkreise 23 erforderlich.
-
Während eines normalen Schreibvorgangs werden die über den Eingabe- und Ausgabeanschluß DQ eingegebenen Schreibdaten DATA, da das Signal WC1 auf hohen Logikpegel und das Signal FFIFO auf niedrigen Logikpegel gelangt, über den Multiplexer 56 als Daten DATA2 ausgegeben. Diese Daten DATA2 werden dann zum Speicherzellenfeld von 2 weitergeleitet.
-
Wenn während des Schreibvorgangs der Lesebefehl empfangen wird, gelangt das Signal FFIFO auf hohen Logikpegel, was den FIFO-Zähler 39 von 3 in Betrieb setzt. Zu diesem Zeitpunkt sind die Ausgangssignale C1, C2 und C3 des FIFO-Zählers 39 gleich 1, 0 bzw. 0, wenn die Anzahl an im FIFO-Datenpuffer zu speichernden Schreibdateneinheiten gleich 1 ist. Dementsprechend wird die eine, über den Eingabe- und Ausgabeanschluß DQ empfangene Schreibdateneinheit DATA über den Multiplexer 54 im Flip-Flop 55 gespeichert. Wenn die Anzahl an im FIFO-Datenpuffer zu speichernden Schreibdateneinheiten gleich 2 ist, haben die Ausgangssignale C1, C2 und C3 des FIFO-Zählers 49 den Wert 1, 1 bzw. 0. Dementsprechend wird die erste der zwei über den Eingabe- und Ausgabeanschluß DQ empfangenen Schreibdateneinheiten DATA über den zweiten Multiplexer 54 im dritten Flip-Flop 55 gespeichert, während die zweite Schreibdateneinheit über den ersten Multiplexer 52 im zweiten Flip-Flop 53 gespeichert wird. Wenn die Anzahl an im FIFO-Datenpuffer zu speichernden Schreibdateneinheiten gleich 3 ist, haben die Ausgangssignale C1, C2 und C3 des FIFO-Zählers 39 die Werte 1, 1 bzw. 1. Dementsprechend wird die erste der drei über den Eingabe- und Ausgabeanschluß DQ empfangenen Schreibdateneinheiten DATA über den zweiten Multiplexer 54 im dritten Flip-Flop 55 gespeichert, während die zweite Schreibdateneinheit über den ersten Multiplexer 52 im zweiten Flip-Flop 53 und die dritte Schreibdateneinheit direkt im ersten Flip-Flop 51 gespeichert werden. Die Anzahl an im FIFO-Datenpuffer zu speichernden Schreibdateneinheiten variiert in Abhängigkeit von der CAS-Latenz.
-
Wenn während des Lesevorgangs der Adressentreffer zu einem Zeitpunkt erzeugt wird, zu dem Schreibdaten im FIFO-Datenpuffer 23 vorliegen, wird eine der in den Flip-Flops 51, 53 und 55 gespeicherten Dateneinheiten in Reaktion auf die Signale AHD1, AHD2, AHD3 ausgewählt und über den Multiplexer 57 als Daten DATA1 ausgegeben. Spezieller wird, wenn das Signal AHD1 auf hohen Logikpegel gelangt, die im dritten Flip-Flop 55 gespeicherte Dateneinheit über den Multiplexer 57 als die Daten DATA1 ausgegeben, während die im zweiten Flip-Flop 53 gespeicherte Dateneinheit über den Multiplexer 57 als die Daten DATA1 ausgegeben wird, wenn das Signal AHD2 auf hohen Logikpegel gelangt. Wenn das Signal AHD3 auf hohen Logikpegel gelangt, wird die im ersten Flip-Flop 51 gespeicherte Dateneinheit über den Multiplexer 57 als die Daten DATA1 ausgegeben. Hierbei werden die Daten DATA1 über den Selektor 29 von 2 an den Eingabe- und Ausgabeanschluß DQ abgegeben, da das Adressentreffersignal AH auf hohen Logikpegel aktiviert ist.
-
In den 6A bis 6D sind Zeitsteuerungsdiagramme für den Betrieb des so aufgebauten DDR-SDRAM veranschaulicht, auf den nachfolgend unter Bezugnahme auf diese Diagramme näher eingegangen wird.
-
Die 6A und 6B zeigen Zeitsteuerungsdiagramme für den Betrieb des DDR-SDRAM im Fall, dass die CAS-Latenz gleich 2,5 und die Datenblocklänge gleich 4 ist. Das Signal ECLK repräsentiert hierbei ein externes Taktsignal.
-
Wie in 6A dargestellt, wird ein erster Lesebefehl RD1 empfangen, wenn Schreibdaten D0 nach Ablauf der CAS-Latenz empfangen werden, was 2,5 Taktzyklen nach der ansteigenden Flanke des externen Taktsignals ECLK geschieht, mit dem der Schreibbefehl WT übereinstimmt, d. h. nach der fallenden Flanke des dritten Taktsignals des externen Taktes ECLK. Ein zweiter Lesebefehl RD2 wird 1,5 Taktzyklen nach der ansteigenden Flanke des externen Taktsignals ECLK empfangen, mit welcher der erste Lesebefehl RD1 zusammenfällt, d. h. nach der fallenden Flanke des fünften Taktzyklus des externen Taktes ECLK.
-
In diesem Fall werden in den zwei FIFO-Datenschaltkreisen 23 zwei Paare von Schreibdateneinheiten D0/D1 sowie D2/D3 gespeichert. Nach Ablauf von 2,5 Taktzyklen nach Empfang des ersten Lesebefehls RD1 werden zwei Paare von Ausgabedateneinheiten Q10/Q11 sowie Q12/Q13 vom Speicherzellenfeld 21 abgegeben. In Fortsetzung werden nach Ablauf von 2,5 Taktzyklen nach Empfang des zweiten Lesebefehls RD2 vom Speicherzellenfeld 21 zwei Paare von Ausgabedateneinheiten Q20/Q21 sowie Q22/Q23 abgegeben.
-
Nach Abschluß des Lesevorgangs werden durch den internen Schreibvorgang zwei Paare von Schreibdateneinheiten D0/D1 und D2/D3, die in den beiden FIFO-Datenschaltkreisen 23 gespeichert sind, in das Speicherzellenfeld 21 geschrieben. Die obige Bearbeitungsreihenfolge ist in einem Spaltenauswahlsignal CSL dargestellt, wobei ”R” den Lesevorgang und ”IW” den internen Schreibvorgang bezeichnen. Da das Spaltenauswahlsignal CSL dem Fachmann allgemein bekannt ist, kann eine detaillierte Beschreibung desselben hier entfallen.
-
In 6B wird der erste Lesebefehl RD1 empfangen, wenn die Schreibdaten D0 nach Ablauf der CAS-Latenz empfangen werden, was 2,5 Taktzyklen später liegt als die ansteigende Flanke des externen Taktsignals, mit der WT übereinstimmt, d. h. nach der fallenden Flanke des dritten Taktzyklus des externen Taktes ECLK. Der zweite Lesebefehl RD2 wird 2,5 Taktzyklen nach der ansteigenden Flanke des externen Taktsignals empfangen, mit welcher der erste Lesebefehl RD1 übereinstimmt, d. h. nach der fallenden Flanke des sechsten Taktzyklus des externen Taktes ECLK. In diesem Fall wird der interne Schreibvorgang zwischen den zwei Lesevorgängen durchgeführt, da zwischen den zwei Lesebefehlen RD1 und RD2 ein zeitlicher Zwischenraum von einem Taktzyklus liegt, d. h. eine Lücke von 2 Lesevorgängen.
-
6C veranschaulicht ein Zeitsteuerungsdiagramm für den Betrieb des DDR-SDRAM im Fall, dass die CAS-Latenz den Wert 2,5 und die Datenblocklänge den Wert 8 haben.
-
Wie aus 6C ersichtlich, werden nach Ablauf der CAS-Latenz, d. h. 2,5 Taktzyklen nach Empfang des Schreibbefehls WT, Schreibdaten D0 bis D3 empfangen. Der Lesebefehl RD wird empfangen, wenn die Schreibdaten D4 empfangen werden. In diesem Fall werden die Schreibdaten D0 bis D3 direkt in das Speicherzellenfeld 21 geschrieben. Zwei Paare von Schreibdateneinheiten D4/D5 und D6/D7, die nach den Schreibdaten D0 bis D3 empfangen werden, werden in den beiden FIFO-Datenschaltkreisen 23 gespeichert. Vier Paare, d. h. acht Ausgabedateneinheiten Q0 bis Q7 werden vom Speicherzellenfeld 21 ausgegeben, nachdem 2,5 Taktzyklen nach Empfang des Lesebefehls RD verstrichen sind. Nach Abschluß des Lesevorgangs werden die zwei Paare von Schreibdaten D4/D5 und D6/D7, die in den FIFO-Datenschaltkreisen 23 gespeichert sind, durch den internen Schreibvorgang in das Speicherzellenfeld 21 geschrieben. Die obige Bearbeitungsreihenfolge ist im Spaltenauswahlsignal CSL gezeigt, wobei ”R” den Lesevorgang, ”DW” den direkten Schreibvorgang und ”IW” den internen Schreibvorgang bezeichnen.
-
6D zeigt ein Zeitsteuerungsdiagramm des Betriebs für das DDR-SDRAM im Fall, dass die CAS-Latenz den Wert 2,5 und die Datenblocklänge den Wert 8 haben und der Adressentreffer erzeugt wird. Wie aus 6D ersichtlich, werden nach Ablauf der CAS-Latenz, d. h. 2,5 Taktzyklen nach Empfang des Schreibbefehls WT, Schreibdaten D0 bis D3 empfangen. In diesem Fall werden die Schreibdateneinheiten D0 bis D3 direkt in das Speicherzellenfeld 21 geschrieben. Zwei Paare von Schreibdateneinheiten D4/D5 und D6/D7, die nach den Schreibdateneinheiten D0 bis D3 empfangen werden, werden in den beiden FIFO-Datenschaltkreisen 23 gespeichert. Vier Paare, d. h. acht Ausgabedateneinheiten O0 bis Q7 werden vom Speicherzellenfeld 21 nach Ablauf von 2,5 Taktzyklen nach Empfang des Lesebefehls RD ausgegeben.
-
Wenn nun jedoch während des Lesevorgangs der Adressentreffer erzeugt wurde, z. B. wenn er für die in der ersten Stufe des FIFO-Adressenschaltkreises 47 gespeicherte Adresse auftritt, werden keine Daten aus dem Speicherzellenfeld 21 ausgegeben, und es werden die in der ersten Stufe der beiden FIFO-Datenschaltkreise 23 gespeicherten Schreibdateneinheiten D4/D5 als die Ausgabedateneinheiten Q0/Q1 ausgegeben. Wenn der Adressentreffer die in der zweiten Stufe des FIFO-Adressenschaltkreises 47 gespeicherte Adresse betrifft, werden als die Ausgabedateneinheiten Q2/Q3 die in der zweiten Stufe der beiden FIFO-Datenschaltkreise 23 gespeicherten Schreibdateneinheiten D6/D7 ausgegeben. Die restlichen Ausgabedateneinheiten Q4 bis Q7 werden vom Speicherzellenfeld 21 ausgegeben. Nach Abschluß des Lesevorgangs werden die beiden im FIFO-Datenpuffer gespeicherten Paare von Schreibdateneinheiten D4/D5 und D6/D7 durch den internen Schreibvorgang in das Speicherzellenfeld 21 geschrieben.
-
Da das gezeigte DDR-SDRAM den FIFO-Datenpuffer 23 und den FIFO-Adresspuffer 25 aufweist und dieselbe CAS-Latenz (oder CAS-Latenz-1) für den Schreibbefehl und den Lesebefehl hat, kann während des Schreibvorgangs der Lesebefehl empfangen werden. Demgemäß ist es möglich, die Datenverarbeitungsgeschwindigkeit und die Effizienz des Eingabe- und Ausgabeanschlusses DQ zu steigern.