-
In den vergangenen Jahren hat die Verschiedenheit in der Geschwindigkeit zwischen der
CPU und dem im Hauptspeicher benutzten DRAM darin Probleme hervorgerufen, daß die
begrenzten Verbesserungen in der Geschwindigkeit des DRAM von der dramatischen
Verbesserung in der CPU-Geschwindigkeit zurückgelassen worden sind, was dazu führte, daß
der DRAM nicht fähig ist, die Anforderungen der CPU zu decken. Bei den
Computersystemen, die Hochgeschwindigkeits-CPUs einsetzen, wird ein im Vergleich zum
Hauptspeicher kleiner Teil eines Hochgeschwindigkeit-Cachespeichers innerhalb des CPU-Chips
oder von außen mit dem Chip verbunden bereitgestellt, um die
Geschwindigkeitsunterschiede auszugleichen.
-
Der Cachespeicher enthält eine Kopie eines Teils der Daten innerhalb des Hauptspeichers.
Diese Kopie der Daten nimmt als Einheit eine Mehrzahl von Dateneinheiten
aufeinanderfolgender Adressen, wobei diese Einheiten als Seiten bezeichnet werden. Die CPU greift
normalerweise auf den Cachespeicher zu. Wenn die erwünschten Daten sich nicht in dem
Cachespeicher befinden, werden die erwünschten Daten erneut vom Hauptspeicher in den
Cachespeicher kopiert, wobei dieses Kopieren in Seiteneinheiten durchgeführt wird.
-
Demzufolge muß der Hauptspeicher bei dieser Systemart zur Ein- und Ausgabe von
Datenfolgen aufeinanderfolgender Adressen an den Cachespeicher mit hoher Geschwindigkeit
fähig sein. Es gibt Verfahren für diesen Zweck, bei denen durch das bloße Benennen der
Startadressen die diese Adresse einschließende Datenfolge synchron zu einem Taktsignal
ein- oder ausgegeben werden. Solch ein Verfahren wird als Bursteingabe/-ausgabe
bezeichnet, und die Länge einer Datenfolge, welche durch die Benennung einer Adresses ein- oder
auszugeben ist, ist als die Burstlänge bekannt. Ein synchroner DRAM ist ein typisches
Beispiel eines Speichers, der Bursteingaben/-ausgaben durchführt.
-
Normalerweise ist die Adressenzugriffszeit für einen allgemeinen DRAM (DRAM mit
erstem Seitenverfahren) in der Größe von 20 Nanosekunden (50 MHz). Die zur
Verarbeitung einer Dateneinheit aufgebrachte Zeit ist für einen synchronen DRAM grundsätzlich
die gleiche wie für einen allgemeinen DRAM, aber die scheinbare Verarbeitungszeit für
eine Dateneinheit kann durch Bündelung, Multiplexen, innere Verarbeitungen und durch
gleichzeitiges Verarbeiten einer Vielzahl von Dateneinheiten verringert werden und somit
die Eingabe/Ausgabe beschleunigen und eine Geschwindigkeit von 100 MHz erreichen.
Als Verfahren zur Bündelung innerer Verarbeitung gibt es das Pipeline- und das
Vorabrufverfahren.
-
Das Pipelineverfahren teilt die innere Verarbeitung in eine Anzahl von Stufen und
bearbeitet der Reihe nach die eine Dateneinheit betreffenden Information durch jede Stufe
(siehe IEICE Transelektron., Band E 87-C, Nr. 7, Juli 1995, Tokio, JP, Seiten 782-788,
Sakai et al.). Mit anderen Worten, eine erste in der ersten Stufe bearbeitete Dateneinheit
wird in der zweiten Stufe beim nächsten Taktzyklus bearbeitet, während gleichzeitig die
zweite Dateneinheit in der ersten Stufe bearbeitet wird. Weil die Bearbeitung in jeder Stufe
parallel und gleichzeitig durchgeführt wird, werden die Daten verschiedener Stufen parallel
verarbeitet.
-
Bei solch einem Verfahren kann der Grad der Parallelität angehoben und die
Geschwindigkeit der Bursteingabe/-ausgabe durch Erhöhen der Anzahl der Stufen und Verkürzen des
Arbeitsganges jeder Stufe erhöht werden. Allerdings ist die Anzahl der Teilungspunkte
zwischen den Stufen durch die Verarbeitungsbeziehungen innerhalb des DRAMs begrenzt.
Zusätzlich muß das Minimum der Taktdauer mit der Stufe übereinstimmen, die die längste
Zeit braucht. Weiterhin ist, aufgrund des Anstieges von Allgemeinkosten in den die Stufen
verbindenden Schaltungen, die Anzahl von Stufen tatsächlich auf drei oder vier begrenzt.
Mit anderen Worten ist der Grad des Datenmultiplexens auf drei oder vier begrenzt.
-
Bei dem Vorabrufverfahren wird die gesamte innere Verarbeitung parallel durchgeführt,
und eine Parallel/Seriell-Umwandlung wird an dem Eingabe/Ausgabebereich durchgeführt.
Um den Grad des Multiplexens bei diesem Verfahren zu erhöhen, wird die Anzahl der
parallel verarbeiteten Daten erhöht. Dieses Verfahren erfordert daher im Verhältnis zum Grad
der Parellelität eine Anzahl von identischen Schaltungen. Damit werden der
Schaltungsumfang und die zur Verwirklichung der Schaltung benötigte Fläche der Chipoberfläche
vergrößert. Zusätzlich muß bei diesem Verfahren die Dateneingabe/Ausgabe in Einheiten des
Parallelitätgrades durchgeführt werden, und Daten in Einheiten unter dem Parallelitätsgrad
können nicht ein- oder ausgebeben werden. Demzufolge erniedrigt das Erhöhen der
Parallelität den Grad der funktionellen Freiheit. Aus diesen Gründen ist der Grad der Parallelität
oder der Grad des Multiplexens auf zwei begrenzt.
-
Obwohl höhere Geschwindigkeiten durch Erhöhen des Grades des Datenmultiplexens von
jedem der beiden oben beschriebenen Verfahren erreicht werden kann, ist der Grad des
Multiplexens aus verschiedenen Gründen begrenzt. Allerdings kann eine Verbindung der
zwei oben beschriebenen Verfahren als ein Mittel zum weiteren Multiplexen innerer
Arbeitsvorgänge und zur Eingabe/Ausgabebeschleunigung angesehen werden. Dies ist im
wesentlichen ein Verfahren, bei dem das Vorabrufverfahren auf einen Teil der Stufen oder
auf alle Stufen des Pipelineverfahrens angewandt wird, und es ist als das kombinierte
Pipeline-/Vorabrufverfahren bekannt (im folgenden das "kombinierte Verfahren").
-
Während des Lesens wird die innere Abarbeitung des Speichers in der Reihenfolge (1) des
Haltens und Verarbeitens äußerer Signale (Befehl, Adresse), (2) des Lesens der Daten aus
Zellenbereichen und (3) der Ausgabe der Daten nach außen durchgeführt. Während des
Schreibens geht die Verarbeitung in der Reihenfolge von (1) Halten und Verarbeiten
äußerer Signale (Befehl, Adresse, Daten) und (2) Schreiben von Daten in einen Zellenbereich
weiter.
-
Hier umfaßt sowohl die Datenausgabe nach außen während des Lesens als auch das Halten
der Daten während des Schreibens einen Signalaustausch mit außen und schließt daher
Multiplexen beim Vorabruf aus. Im Gegensatz kann die Eingabe/Ausgabe für einen
Zellenbereich durch Vorabruf mittels Multiplexen der Eingabe-/Ausgabepfade multiplext
werden. Für das Verarbeiten und Halten von Befehlen wird ein vorabgerufener Teil einer
Anzahl von Dateneinheiten für einen Befehl eingegeben/ausgegeben und daher kann das
Verarbeitungssystem, sogar ein einzelnes System, für eine Anzahl von Dateneinheiten
Verarbeitungen durchführen. Ähnlich kann für das Halten und Bearbeiten von Adressen eine
innere Adresse für einen Vorabrufteil einer Anzahl von Dateneinheiten für eine äußere
Adresse bestimmt werden.
-
Weil die Anwesenheit oder die Abwesenheit des Vorabrufens sich für jeden Arbeitsgang
unterscheidet, sind somit die Stufen bei diesen Bearbeitungszeiten bei dem kombinierten
Verfahren abgegrenzt. Hier kann jeder Arbeitsgang aus einer Anzahl von Stufen
zusammengesetzt sein.
-
Hinsichtlich eines Beispiels eines solchen kombinierten Verfahrens nach dem Stand der
Technik ist Fig. 1 ein Schaltdiagramm, das ein Beispiel nach dem Stand der Technik zeigt,
und Fig. 2 ist eine Zeittafel, die den Betrieb eines Beispiels nach dem Stand der Technik
darstellt.
-
Das Beispiel nach dem Stand der Technik von Fig. 1 enthält eine erste Stufe von der
Adresseingabe, bei der eine innere Bearbeitung der Adressen durchgeführt wird, und eine
zweite Stufe, bei der für die durch intern bearbeitete Adressen angezeigte Zellen eine
Dateneingabe/Ausgabe durchgeführt wird. Beim Lesen werden tatsächlich von diesem Punkt
bis zur Datenausgabe zur Verarbeitung mehr Stufen benötigt, aber diese Stufen wurden
hier weggelassen, weil sie in keiner Beziehung zu diesem Teil der Erfindung stehen.
-
Bei der zweiten Stufe wird ein Zwei-Bit-Vorabrufvorgang durchgeführt. Zwei gleichzeitig
arbeitende Schreibverstärker 9 und 10 und entsprechend verbundene
Datenhalteschaltungen 5 und 6 werden für diesen Zweck vorgesehen. Die Eingabe an die Datenhalteschaltungen
5 und 6 wird entsprechend Haltesignalen LP0 bzw. LP1, welche von einer
Haltepulserzeugungsschaltung 4' ausgegeben werden, durchgeführt. Obwohl das vorliegende Beispiel
des Standes der Technik einen Zwei-Bit-Vorabrufbetrieb verwendet, ist auch der parallele
Betrieb von mehr Bits möglich.
-
Beim Schreiben werden das Schreibbefehlssignal CMD und, von dem äußeren
Adressenanschluß, die Adressen, die zuerst durch einen Burstbetrieb geschrieben werden müssen
(äußeres Adressensignal) EA0, entsprechend dem Standardtaktsignal CLK zur Zeit T0
eingegeben. Äußere Adressen werden nur zu der Zeit einer Steuereingabe eingegeben.
-
Eine Adressenpufferschaltung 1 hält das äußere Adressensignal EA0, und darauf basierend
erzeugt eine innere Adressenerzeugungsschaltung 2 ein inneres Adressensignal IA0 aus
dem äußeren Adressensignal EA0, um den Burstbetrieb zu bewirken. Ein Zeitintervall von
mehreren Nanosekunden wird benötigt, um das innere Adressensignal IA0 zu erzeugen.
Die zuerst zu schreibenden Daten ED0 werden an eine Dateneingangspufferschaltung 3 zu
derselben Zeit wie die äußere Adresseneingabe eingegeben. Diese Daten ED0 sind die
Startdaten des Bursts und sie werden an die Datenhalteschaltungen 5 oder 6 eingegeben.
Die Datenhalteschaltung, an die die Daten eingegeben werden, entscheidet, an welchen
Schreibverstärker 9 oder 10 die Daten geschrieben werden und an welche Speicherzellen
die Daten geschrieben werden.
-
Entsprechend ist ein Adressignal IA0 notwendig, um zu beurteilen, welches Haltesignal
LP0 oder LP1 zu aktivieren ist, um die Daten in die Datenhalteschaltungen 5 und 6 zu
speichern.
-
Wie oben beschrieben, wird das innere Adressensignal IA0 nicht für eine bestimmte
Zeitdauer (einige Nanosekunden) erzeugt und entsprechend wird die Datenspeicherung bis zum
Ende dieser Zeitdauer verzögert.
-
Nach dem Warten auf die Erzeugung des inneren Adressensignales IA0 werden die Daten
ED0 in der Datenhalteschaltung 5 gespeichert.
-
Bei dem nächsten Standardtaktsignal wird die zweite Einheit von Daten ED1 des Bursts
von außen eingegeben. Die Daten ED1 unterliegen denselben Bearbeitungsgängen wie die
Daten ED0 und werden in der Datenhalteschaltung 6 gespeichert. Die Ausgaben der
Datenhalteschaltungen 5 und 6 passieren einen Datenbus 7 bzw. 8, werden durch
Schreibverstärker 9 und 10 zu Paaren ausgebildet und in einen Speicherbereich 11 geschrieben.
-
Bei dem Vorabrufverfahren werden wie bei dem kombinierten Verfahren eine Anzahl von
außerhalb des Chips eingegebenen Daten parallel innerhalb des Chips verarbeitet, und eine
Parellel-Seriell-Umwandlung der Daten wird durchgeführt, um an das Äußere des Chips
seriell die Daten auszugeben, die innerhalb des Chips parallel verarbeitet wurden.
-
Das äußere Adressensignal und die erste Dateneinheit werden normalerweise gleichzeitig
von außen eingegeben. Zusätzlich wird die Übereinstimmung zwischen einer Dateneinheit
in einer Folge und Daten innerhalb der parallel verarbeiteten Daten mittels eines
Adressensignals bestimmt, das zur selben Zeit wie die erste Dateneinheit eingegeben wurde.
-
Entsprechend kann in dem Beispiel nach dem Stand der Technik eine
Parallel-Seriell-Umwandlung nicht durchgeführt werden, bis die von außen eingegebenen Adressensignale
intern bearbeitet worden sind.
-
Beim Lesen wird die Parallel-Seriell-Umwandlung nach dem Zugriff auf den Zellenbereich
durchgeführt. Um auf einen Zellenbereich zuzugreifen, muß zuerst die innere Bearbeitung
des Adressensignal vollendet sein. Weil die innere Bearbeitung der Adressensignale schon
zu der Zeit der Parallel-Seriell-Umwandlung beendet ist, tritt kein Problem auf.
-
Allerdings müssen alle Daten, auf die zugegriffen wird, wenn auf einen Zellenbereich
zugegriffen wird, beim Schreiben vorabgerufen werden, und daher muß vorher die Seriell-
Parallelumwandlung abgeschlossen sein. Die umgewandelten Daten werden seriell
eingegeben, und folglich muß die Umwandlung von vorher eingegebenen Daten vor den
Enddaten durchgeführt sein, damit die Umwandlung der Enddaten rechtzeitig für den Zellenbereichszugriff
ist. Beim Schreiben muß daher die innere Adressenverarbeitung vor dem
Zellenbereichzugriff durchgeführt sein, um eine Seriell-Parallel-Umwandlung zu bewirken.
Umgekehrt, wenn die innere Bearbeitung der Adressen länger braucht als die Zeit von der
Dateneingabe bis zur Zeit des Haltens, muß das Halten der Daten verzögert werden, und
die Schreibgeschwindigkeit wird somit verlangsamt.
-
Die Aufgabe der vorliegenden Erfindung ist es, einen Halbleiterspeicher mit einem
Hochgeschwindigkeitsburstbetrieb zur Verfügung zu stellen.
-
Ein Halbleiterspeicher und ein Schreibverfahren entsprechend der vorliegenden Erfindung
werden in Anspruch 1 bzw. 2 definiert.
-
Bei dem Halbleiterspeicher der vorliegenden Erfindung wird eine erste Dateneinheit, die
entsprechend demselben Standardtakt wie eine äußere Adresse und die vor der
Bestimmung eines vorabgerufenen inneren Adressensignals eingegeben wird, in allen
Halteschaltungen gehalten, in welche diese Dateneinheit gehalten werden könnte. Nach der
Bestimmung einer Adresse durch den nächsten Standardtakt, werden die zweite und nachfolgende
an den Chip eingegebene Dateneinheiten nur an die Halteschaltungen eingegeben, die
durch Adressensignale veranlaßt wurden, zu halten.
-
Selbst wenn die Bearbeitung des inneren Adressensignals zu der Zeit des Haltens der ersten
Dateneinheit nicht abgeschlossen ist, werden somit sowohl die erste Dateneinheit als auch
die zweite und nachfolgende Dateneinheiten in den Vorabrufschaltungen gehalten, die
durch Adressen von außerhalb benannt wurden.
-
Die obigen und andere Aufgaben, Eigenschaften und Vorteile der vorliegenden Erfindung
werden aus der folgenden Beschreibung unter Bezug auf die beiliegenden Zeichnungen
offensichtlich werden, welche Beispiele der vorliegenden Erfindung darstellen.
-
Fig. 1 ist ein Schaltdiagramm, das ein Beispiel eines Halbleiterspeichers nach dem Stand
der Technik zeigt.
-
Fig. 2 ist eine Zeittafel für das Beispiel nach dem Stand der Technik der Fig. 1.
-
Fig. 3 ist ein Schaltdiagramm, das einen Halbleiterspeicher entsprechend eines
Ausführungsbeispieles der vorliegenden Erfindung zeigt.
-
Fig. 4 ist eine Zeittafel für den in Fig. 3 gezeigten Halbleiterspeicher.
-
Wie bei dem in Fig. 1 gezeigten Beispiel des Standes der Technik enthält die vorliegende
Ausführungsform eine erste Stufe von der Adresseneingabe, bei der die innere Bearbeitung
von Adressen durchgeführt wird, und eine zweite Stufe, bei der Ein-/Ausgabe hinsichtlich
der Zellen durchgeführt wird, die durch intern bearbeiteten Adressen benannt wurden.
Beim Lesen wird tatsächlich eine nachfolgende dritte Stufe zur Durchführung der
Bearbeitung bis zur Datenausgabe benötigt, aber diese Stufe bezieht sich nicht auf die
vorliegende Erfindung und wird daher hier ausgelassen. Während weiterhin das für einen
Pipelineaufbau notwendige Minimum in dem vorliegenden Ausführungsbeispiel gezeigt ist,
kann auch ein weiter unterteilter Pipelineaufbau angewandt werden.
-
Die zweite Stufe vollführt einen Zwei-Bit-Vorabrufvorgang. Zwei gleichzeitig betriebene
Schreibverstärker 9 und 10 und entsprechend verbundene Datenhalteschaltungen 5 und 6
sind für diesen Zweck vorgesehen. Die Eingabe zu den Datenhalteschaltungen 5 und 6 wird
durch Haltesignale LP0 bzw. LP1 bewirkt, welche von einer Haltepulserzeugungsschaltung
4 ausgegeben werden. Während die vorliegende Ausführungsform einen Zwei-Bit-Betrieb
verwendet, ist auch ein paralleler Betrieb, der mehr Bits betrifft, möglich.
-
Der Betrieb der vorliegenden Ausführungsform wird folgend unter Bezug auf die Zeittafel
von Fig. 4 erklärt.
-
Beim Schreiben werden ein Schreibbefehlssignal CMD und die erste in einem
Burstvorgang zu schreibende Adresse (äußeres Adressensignal) zur Zeit T0 in Übereinstimmung
mit dem Standardtaktsignal CLK eingegeben.
-
Die äußere Adresse EA wird nur zu der Zeit der Befehlseingabe eingegeben.
-
Eine Adressenpufferschaltung 1 hält das äußere Adressensignal EA0 und aufgrund dieses
Signales, erzeugt eine Internadressenerzeugungsschaltung 2 ein inneres Adressensignal IA0
aus dem äußeren Adressensignal EA0, um den Burstbetrieb zu bewirken. Die Erzeugung
von IA0 erfordert eine gewisse Zeitdauer (einige Nanosekunden).
-
Gleichzeitig mit der Eingabe der äußeren Adresse werden die zuerst zu schreibenden Daten
ED0 in die Dateneingangspufferschaltung 3 eingegeben. Diese Dateneinheit sind die
Startdaten des Bursts. Diese Daten werden an beiden Datenhalteschaltungen 5 und 6 in
Übereinstimmung mit den Haltesignalen LP0 und LP1 eingegeben. Entsprechend ist der Inhalt
der beiden Datenhalteschaltungen 5 und 6 zu dieser Zeit identisch. Weil dieser Vorgang
ungeachtet der Adressensignale durchgeführt wird, braucht die vorher erwähnte Erzeugung
des inneren Adressensignals IA0 aus der äußeren Adresse EA0 nicht durchgeführt zu
werden.
-
Die zweite Dateneinheit ED1 des Bursts wird von außen beim nächsten Standardtaktsignal
CLK eingegeben. Die Daten ED1 werden mit den Daten ED0 gepaart und auf den
Zellenbereich geschrieben. Zu diesem Zeitpunkt ist die Erzeugung des inneren Adressensignals
IA0 abgeschlossen und die Datenhalteschaltung, die die Daten ED1 zu halten hat, kann
daher bestimmt werden. Hier ist ein Beispiel gezeigt, bei dem die Daten ED1 in der
Datenhalterschaltung 5 in Übereinstimmung mit dem Haltesignal LP1 gehalten werden.
Entsprechend werden mit den noch in der Datenhalteschaltung 6 gehaltenen Daten ED0 zwei
Dateneinheiten ED0 und ED1 zu dieser Zeit in den entsprechend geeigneten
Datenhalteschaltungen 5 und 6 in Übereinstimmung mit dem äußeren Adressensignal EA0 gehalten,
diese Ausgabe passiert einen Datenbus 7 und 8 und die entsprechenden Dateneinheiten
werden fehlerfrei in die gewünschten Speicherzellen durch den Betrieb von
Schreibverstärkern 9 und 10 geschrieben. Dieses Verfahren stellt somit eine Lösung zu dem Problem des
Standes der Technik zur Verfügung, bei dem die Bearbeitung der Daten ED0 nicht bis zu
der Zeit, bei der die innere Adresse IA0 bestimmt wird, durchgeführt werden kann.
-
Während ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung unter der
Benutzung spezieller Ausdrücke beschrieben wurde, dient diese Beschreibung nur zu Darstellungszwecken,
und es muß verstanden werden, daß Änderungen und Abänderungen
durchgeführt werden können, ohne den Umfang der Erfindung zu verlassen.