-
Die Erfindung bezieht sich allgemein auf Datenspeicherschaltungen und betrifft speziell eine Einrichtung zur Festlegung der nach einer Speicheroperation einzuhaltenden Wartezeit, gemäß dem Oberbegriff des Patentanspruchs 1. Bevorzugtes, aber nicht ausschließliches Anwendungsgebiet der Erfindung sind digitale RAM-Bausteine (Schreib-Lese-Speicher mit wahlfreier direkter Zugriffsmöglichkeit auf adressierte Speicherzellen), insbesondere dynamische RAMs (DRAMS) oder synchrone dynamische RAMs (SDRAMS), wie sie als Arbeitsspeicher oder Grafikspeicher in Computern eingesetzt werden.
-
Digitale Datenspeicherschaltungen enthalten eine Vielzahl adressierbarer Speicherzellen, eine Befehls-Decodiereinrichtung zum Decodieren externer Befehle und einer Steuereinrichtung zum Steuern oder Einleiten von Operationen für den Betrieb der Speicherschaltung jeweils abhängig von den decodierten Befehlen. Zum Betrieb einer Datenspeicherschaltung gehört vor allem das Einschreiben und Auslesen von Daten an selektiv adressierten Speicherzellen. Ein Schreib- oder Lesezugriff besteht im Prinzip darin, eine Datenverbindung herzustellen zwischen den jeweils adressierten Speicherzellen und den Datenanschlüssen der Speicherschaltung, was üblicherweise durch Schließen ausgewählter elektronischer Schalter in einem Netz von Steuer- und Datenleitungen besteht, welches das gesamte Feld der Speicherzellen überzieht. Jeder Schreib- oder Lesevorgang besteht aus einer Abfolge einzelner Operationen, und bei den meisten gebräuchlichen Speicherschaltungen werden die betreffenden Operationsbefehle von einem externen Controller angelegt. Der Controller ”kennt” im allgemeinen die Spezifikation der Speicherschaltung und ”weiß” somit von vorn herein ungefähr, wie lange die Ausführung eines Operationsbefehls dauert und wie lange er demzufolge warten muss, bis er einen neuen Befehl senden darf, der die zuvor befohlene Operation beendet.
-
Es kann jedoch vorkommen, dass der Controller nicht exakt auf die Spezifikation der Speicherschaltung abgestimmt ist und einen neuen Befehl verfrüht absendet. In diesem Fall darf der neue Befehl nicht befolgt werden, zumindest dann nicht, wenn die vorherige Operation ”kritisch” in dem Sinne ist, dass ihr verfrühter Abbruch zu Fehlern bei der nachfolgenden Operation oder gar zu bleibenden Fehlern im Speicherinhalt führt. Des Weiteren gibt es in manchen Speicherschaltungen gewisse Betriebsabläufe, die vom Controller durch einen Befehl eingeleitet werden und dann als intern gesteuerte Folge von Operationen ablaufen. Auch hier muss jeweils die erfolgreiche Beendigung einer Operation abgewartet werden, bevor die nachfolgende Operation intern eingeleitet wird.
-
Wenn der erfolgreiche Abschluss einer Operation nicht detektiert und gemeldet werden kann (oder falls eine solche Detektion und Meldung zu aufwändig oder zeitraubend wäre), ist es zweckmäßig, einen Zeitgeber zu verwenden, der mit der Einleitung einer ”kritischen” Operation getriggert wird und nach Ablauf einer festgelegten Zeitspanne den Start einer nachfolgenden Operation erlaubt oder veranlasst. Dies ist Stand der Technik in DRAM-Bausteinen, und zwar speziell zur Festlegung der Wartezeit ”tRAS” zwischen dem Beginn einer Operation des Zugriffs auf adressierte Zellen und einer späteren Rücksetz-Operation, wie nachstehend erläutert:
Bei den üblichen DRAM-Bausteinen sind die Speicherzellen innerhalb einzelner Felder oder Segmente jeweils matrixförmig in Zeilen und Spalten angeordnet. Jeder Zeile ist eine als ”Wortleitung” bezeichnete Steuerleitung zugeordnet, und jeder Spalte ist eine als ”Bitleitung” bezeichnete Fühlleitung zugeordnet, die üblicherweise zweiadrig ist und zu einem der betreffenden Spalte zugeordneten Verstärker führt. Diese Verstärker werden als ”Leseverstärker” bezeichnet, obwohl sie nicht nur auszulesende Daten sondern auch einzuschreibende Daten verstärken. Der Zugriff auf eine Zelle wird begannen durch Aktivierung der betreffenden Wortleitung gemäß einer Zeilenadresse, wodurch Schalter an allen Zellen der zugeordneten Zeile geschlossen (also leitend gemacht) werden, um diese Zellen über die Bitleitungen mit den Leseverstärkern zu verbinden. Im Einzelnen wird bei diesem Vorgang die Ladung der Zellen auf die Bitleitungen entleert, die bis dahin auf ein gemeinsames ”Vorladepotential” gelegt waren. Infolge der Entleerung der Zellenladung steigt oder sinkt das Potential der einen Bitleitungsader jeweils gegenüber der anderen Bitleitungsader, die auf dem Vorladepotential verbleibt. Die Leseverstärker detektieren die jeweiligen Potentialunterschiede der Bitleitungspaare und verstärken diese Unterschiede, so dass die Bitleitungsader mit niedrigerem Potential auf das ”niedrige” (Masse-)Potential ”L” und die Bitleitungsader mit höherem Potential auf das ”hohe” Versorgungspotential ”H” des Speicherzellenfeldes gebracht wird. Hierdurch wird die an den Zellen gefühlte Information verstärkt in die Zellen zurückgeschrieben und somit aufgefrischt.
-
Im eigentlichen Lese- oder Schreibbetrieb werden, nach dem vorstehend beschriebenen Aktivierungsvorgang, die Leseverstärker selektiv unter Steuerung durch Spaltenadressinformation mit den Datenanschlüssen des DRAM-Bausteins verbunden. Beim Lesen werden die in den Leseverstärkern ”gelatchten” (also gehaltenen) Daten an den Datenanschlüssen entnommen; zum Schreiben werden die in den Leseverstärkern gehaltenen Daten von den an den Datenanschlüssen eingegebenen neuen Daten überschrieben und somit über die Bitleitungen in die Speicherzellen übertragen.
-
Der gesamte Vorgang der Wortleitungsaktivierung und der Verstärkung durch den Leseverstärker beansprucht eine gewisse Mindestzeit, die durch den Spezifikationsparameter tRAS beschrieben wird. Wird diese Zeit nicht abgewartet, etwa durch einen zu frühen Start einer nachfolgenden ”Precharge”-Operation (also des Vorladens der Bitleitungen), kann es zu Datenverlusten kommen. Um diese Gefahr auszuschließen, wird bei der Wortleitungsaktivierung ein tRAS-Zeitgeber aktiviert, der die Ausführung des Precharge erst dann erlaubt oder Veranlasst, wenn der volle Ladungszustand der Zellen hergestellt ist.
-
Beim Stand der Technik ist der im DRAM-Baustein angeordnete tRAS-Zeitgeber ein analoger Timer, dessen Laufzeit durch die Zeitkonstante einer RC-Schaltung bestimmt ist. Schwankungen von Prozessparametern bei der Herstellung des Bausteins und Schwankungen von Parametern wie Temperatur und Spannung im Betrieb des Bausteins können zu Schwankungen sowohl der tatsächlichen tRAS-Zeit im Speicherzellenfeld als auch der tatsächlichen Laufzeit des tRAS-Timers führen. Deswegen hat man diesen Timer bisher mit einem Vorhalt dimensioniert, der dem ungünstigsten Fall Rechnung trägt, also garantiert, dass seine Laufzeit am unteren Ende ihres möglichen Schwankungsbereichs immer noch größer ist als die längstmögliche tatsächliche tRAS-Zeit.
-
Diese Technik hat den Nachteil, dass der tRAS-Timer fast niemals in optimaler Weise an die aktuellen Bedingungen angepasst ist. Wegen des erwähnten Zeitvorhaltes wird die Laufzeit des Timers in den meisten aktuellen Fällen wesentlich länger sein als die tatsächliche tRAS-Zeit, so dass die Precharge-Operation weiter hinausgezögert wird, als es eigentlich notwendig wäre. Dies geht auf Kosten der Arbeitsgeschwindigkeit des DRAM-Bausteins.
-
Der vorstehend beschriebene Aktivierungsvorgang in einem DRAM-Baustein ist nur ein anschauliches Beispiel für Vorgänge oder Operationen, die in einem Datenspeicher ablaufen sollen und nicht jederzeit durch Einleitung einer nachfolgenden Operation abgebrochen oder gestört werden dürfen. Es hängt vom jeweiligen Typ der Datenspeicherschaltung ab, welche derartige Operationen hierfür in Frage kommen und welche Wartezeiten zwischen welchen Operationen einzuhalten sind. Wenn zur Einhaltung der jeweiligen Wartezeiten Zeitgeber ähnlich dem vorstehend beschriebenen t
RAS-Timer verwendet werden, ergeben sich die gleichen Nachteile wie oben. Es wird auf die Druckschrift
DE10025250A1 verwiesen.
-
Die Aufgabe der Erfindung besteht darin, eine Einrichtung zur Festlegung der nach einer Speicheroperation einzuhaltenden Wartezeit so auszubilden, dass sie sich in einfacher Weise an die aktuellen Bedingungen anpassen lässt. Diese Aufgabe wird erfindungsgemäß durch die im Patentanspruch 1 angegebenen Merkmale gelost.
-
Demnach wird die Erfindung realisiert in einer Einrichtung zum Festlegen der Wartezeit, die in einer taktgesteuerten Speicherschaltung nach dem Start einer speziellen Operation verstreichen soll, bis eine nachfolgende Operation gestartet werden darf, wobei ein Zeitgeber in der Speicherschaltung enthalten ist, der sich bei Einleitung der speziellen Operation einschaltet und nach Ablauf einer festgelegten Zeitspanne den Start der nachfolgenden Operation erlaubt. Die Erfindung ist dadurch gekennzeichnet, dass der Zeitgeber ein digitaler Zähler ist, der ab seiner Einschaltung aus dem Taktsignal abgeleitete periodische Zählimpulse zählt, um das Ende der Wartezeit zu melden, sobald er eine gewünschte Anzahl dieser Impulse gezählt hat, und dass in der Speicherschaltung eine Wartezeit-Einstellvorrichtung vorgesehen ist, die über externe Anschlüsse der Speicherschaltung zugänglich ist, um die gewünschte Anzahl der Zählimpulse einzustellen.
-
Die Erfindung nutzt die Tatsache, dass mit dem Taktsignal in der Speicherschaltung ein Zeitnormal zur Verfügung steht, welches unabhängig von Prozess-Temperatur- und Spannungsschwankungen ist. Die erfindungsgemäße Verwendung dieses Zeitnormals für den Betrieb eines Impulszählers macht diesen Zähler zu einem Zeitgeber, dessen Laufzeit erstens unabhängig von den erwähnten Schwankungen ist und zweitens in einfacher Weise auf den jeweils gewünschten Wert eingestellt werden kann. Somit lässt sich die vom Zeitgeber bestimmte Wartezeit optimal an die aktuellen Bedingungen anpassen, einfach durch passende Einstellung der Anzahl gezählter Impulse, bei welcher der Zähler das Ende der Wartezeit melden soll. Natürlich muss hierbei die für den Speicherbetrieb gewählte Frequenz des Taktsignals berücksichtigt werden, die jeweils genau bekannt ist. Die optimale Einstellung einer Wartezeit mittels der erfindungsgemäßen Einrichtung kann empirisch durch Tests gefunden werden. Diese Tests können vor einem Nutzbetrieb und/oder in Pausen des Nutzbetriebs regelmäßig durchgeführt werden.
-
Besondere Ausführungsformen der Erfindung sind in Unteransprüchen gekennzeichnet. Ausführungsbeispiele werden nachstehend anhand von Zeichnungsfiguren näher beschrieben.
-
1 zeigt in fragmentarischer Darstellung den Aufbau eines DRAM-Bausteins mit einer ersten Ausführungsform einer erfindungsgemäßen Einrichtung zur Festlegung tRAS-Wartezeit;
-
2 zeigt den DRAM-Baustein mit einer zweiten Ausführungsform der erfindungsgemäßen Einrichtung zur Festlegung tRAS-Wartezeit;
-
3 zeigt eine Codetabelle für die Information zur Einstellung der Wartezeit bei der Ausführungsform nach 2.
-
In den 1 und 2 sind gleichartige oder ähnliche Elemente mit jeweils denselben Großbuchstaben bezeichnet, wobei jeweils eine nachgestellte Zahl der näheren Identifizierung dient. In der folgenden Beschreibung steht ein Doppelpunkt ”:” zwischen zwei solchen Zahlen für das Wort ”bis”. So ist z. B. ”A1:15” zu lesen als ”A1 bis A15”.
-
In der 1 sind Elemente eines DRAM-Bausteins 1 dargestellt, der auf einem Chip integriert ist. Die Vielzahl der Datenspeicherzellen ist als Block 20 dargestellt. Die mit dem Zellenblock 20 verbundene Steuereinrichtung für den selektiven Schreib- und Lesezugriff auf die Speicherzellen ist als Block 30 dargestellt.
-
Der DRAM-Baustein 1 hat eine Mehrzahl externer Anschlüsse, die auch als ”Pins” bezeichnet werden und im Betrieb über Verbindungsleitungen mit entsprechenden Anschlüssen eines Controllers (nicht gezeigt) verbunden sind. Dargestellt sind: ein ”Taktpin” für das System- oder Grundtaktsignal CLK; vier ”Befehlspins” für vier parallele Befehlsbits C0:3, sechzehn ”Adresspins” für sechzehn parallele Adressbits A0:15, und eine Gruppe von ”Datenübertragungspins” für mehrere parallele Datenbitströme und ein begleitendes Daten-Strobesignal, hier pauschal mit ”D” bezeichnet.
-
Die vom Controller gesendeten Befehlsbits C0:3 bilden ein 4-Bit-Parallelcodewort und werden im DRAM-Baustein 1 mittels eines Befehlsdecoders 10 decodiert, um jeweils eine von mehreren Befehlsleitungen 11 zu aktivieren, abhängig vom Bitmuster des Codewortes. Die vier Befehlsbits C0:3 werden üblicherweise aus historischen Gründen mit CS, RAS, CAS, WE bezeichnet. In jeder Taktperiode des Taktsignals CLK sendet der Controller irgendein gewähltes Befehlscodewort, welches entweder ein Operationsbefehl ist, der irgendeine Operation des DRAM-Bausteins befiehlt, oder ein sogenannter ”NOP”-Befehl (no operation), der die Bedeutung ”keine Operation” hat. Zu den Operationsbefehlen gehören unter anderem der bereits oben erwähnte Aktivierungsbefehl ACT, der das Aktivierungssignal zum Verbinden adressierter Speicherzellen mit zugeordneten Leseverstärkern verursacht, und ferner ein Befehl ”Modusregister setzen”, abgekürzt MRS, zur Aktivierung eines Vorganges zum Einstellen von Betriebsparametern des DRAM-Bausteins.
-
Zur Ein- und Ausgabe der Datenbitströme und des Strobesignals am RAM-Baustein 1 ist jeder Datenübertragungspin mit dem Eingang eines zugeordneten Empfangstreibers 12 und dem Ausgang eines zugeordneten Ausgangstreibers 13 verbunden (aus Gründen der Übersichtlichkeit ist die gesamte Parallel-Anordnung der besagten D-Pins, der Treiber-Paare und der zugeordneten Leitungen in Bus-Form dargestellt). Alle Treiber 12, 13 haben Steueranschlüsse (nicht gezeigt), um in Ansprache auf einen vom Befehlsdecoder 10 decodierten Schreibbefehl die Empfangstreiber 12 zu aktivieren, so dass sie die empfangenen Datenbitströme und das Strobesignal auf zugeordnete interne Daten-/Strobe-Leitungen DL geben. In Ansprache auf den einen Lesebefehl werden alle Ausgangstreiber 13 aktiviert, um die im RAM-Baustein über die Datenleitungen DL ausgelesenen Datenströme und das begleitende Strobesignal zum Controller zu senden.
-
Die Selektion der Datenspeicherzellen, an denen die Schreibdaten eingeschrieben oder die Lesedaten ausgelesen werden sollen, erfolgt in bekannter Weise über die Steuereinrichtung 30 in Ansprache auf die Adressbits A0:15, die zu geeigneter Zeit vom Controller angelegt werden, gleichzeitig mit dem Anlegen des Aktivierungsbefehls ACT. Eine bestimmte Untermenge der Adressbit-Pins dient der Bankadressierung, und die übrigen Adresspins dienen der Zeilen- und Spaltenadressierung. Die Zeilen- und Spaltenadressbits werden über einen Adress-Bus AL an die Steuereinrichtung 30 geliefert, wo sie in Zeilen- und Spalten-Adressdecodern decodiert werden.
-
Während Betriebszeiten, in denen keine Datenübertragung zwischen DRAM und Controller stattfindet, können die Adresspins und/oder die Datenübertragungs-Pins verwendet werden zur Eingabe von Steuerinformation für die Einstellung diverser Betriebsparameter des DRAM-Bausteins 1. Beim hier gezeigten Beispiel werden hierzu die Adresspins genutzt. Die über die Adresspins eingegebene Steuerinformation, auch als ”Modusinformation” bezeichnet, wird üblicherweise in ein sogenanntes Modusregister übertragen und dort gespeichert. Zu diesem Zweck ist jeder der sechzehn Adresspins mit dem Dateneingang eines jeweils zugeordneten Exemplars von sechzehn Zellen M0:15 eines Modusregisters 40 verbunden, dessen Trigger- oder Setzanschluss mit derjenigen Befehlsleitung des Befehlsdecoders 10 verbunden sind, die bei Empfang des Befehls ”Modusregister setzen” (MRS-Befehl) aktiviert wird. Das 16-zellige Modusregister 11 nimmt somit die aus 16 Bits bestehende Modusinformation auf, die an den Adresspins zum Zeitpunkt des MRS-Befehls angelegt wird. Die 16 Ausgänge der sechzehn Modusregister-Zellen M0:16 liefern also ein Abbild dieser Information.
-
Die bisher beschriebenen Merkmale des DRAM-Bausteins 1 sind allgemein bekannt. Im Folgenden wird beschrieben, wie die vorliegende Erfindung in einem solchen Speicherbaustein implementiert werden kann, und zwar speziell am Beispiel der Festlegung der tRAS-Wartezeit, die zwischen der Einleitung eines Zellenzugriffs und einem nachfolgenden Precharge einzuhalten ist.
-
Wie weiter oben erläutert, wird die Operation eines Zugriffs auf adressierte Speicherzellen eingeleitet durch den Aktivierungsbefehl ACT, der über die Steuereinrichtung 30 die Wortleitung der adressierten Zellen aktiviert. Dieser Befehl ACT startet einen Zeitgeber, der erfindungsgemäß durch einen digitalen Impulszähler 51 gebildet ist. Der Impulszähler ist im gezeigten Fall ein aufwärts zählender Binärzähler, der die Zählwerte durch ein n-Bit-Wort entsprechend einer n-stelligen Dualzahl darstellt.
-
Bei der Ausführungsform nach 1 ist n = 5, d. h. jeder Zählwert wird als fünfstellige Dualzahl durch ein 5-Bit-Wort an fünf Ausgangsanschlüssen 20 ... 24 des Zählers 51 dargestellt. Der Zähler 51 wird bei Initialisierung des DRAM-Bausteins 1 über seinen Rücksetzeingang R auf den Zählwert Null gesetzt. Zum Ein- und Ausschalten des Zählers 51 dient ein flankengetriggertes Setz-Rücksetz-Flipflop (RS-Flipflop) 52, dessen Q-Ausgang mit dem Einschalt-Anschluss EN des Zählers 51 verbunden ist. Der Setzeingang S des Flipflops ist mit derjenigen Ausgangsleitung 11 ACT des Befehlsdecoders 10 verbunden, deren Wirksamwerden (”hohes” Potential bzw. Logikwert ”1” auf dieser Leitung) den Aktivierungsbefehl ACT signalisiert. Somit wird der Zähler 51 beim Erscheinen des Aktivierungsbefehls eingeschaltet und zählt ab diesem Zeitpunkt die Impulse des Taktsignals CLK, das seinem Zähleingang CN angelegt wird.
-
Der an den Zählausgängen 20 ... 24 des Zählers 51 erscheinende Zählwert wird der einen Seite eines Vergleichers 53 zugeführt, an dessen anderer Seite ein vorgewählter Zahlenwert angelegt ist. Dieser Zahlenwert ist so eingestellt, dass er die Anzahl der Taktperioden angibt, welche der gewünschten tRAS-Zeit entspricht. Sobald der Zählwert des Zählers diesen Zahlenwert erreicht, schaltet der Vergleicher 53 ein Signal PRE auf wirksamen Pegel (”hohes” Logikpotential ”1”). Die betreffende Signalflanke setzt den Zähler 51 über seinen Anschluss R wieder auf null zurück und setzt auch das Flipflop 52 zurück, um den Zähler 51 wieder auszuschalten. Durch den wirksamen Pegel des Signals PRE wird die Auslösung des Precharge über die Steuereinrichtung 30 veranlasst oder freigegeben. Es hängt von der aktuellen Befehlsstruktur des DRAM-Bausteins 1 ab, wie hierzu mit dem PRE umgegangen wird:
Bei einer Befehlstruktur mit ”extern befohlenem Precharge” sendet der Controller einen Precharge-Befehl, der normalerweise über den Befehlsdecoder 10 eine Precharge-Befehlsleitung 11 PRE auf aktiven Pegel schaltet, wodurch der Precharge eingeleitet wird. Wenn dieser Befehl aber vor Ablauf der tRAS-Wartezeit erscheint, muss er als ”illegaler” Befehl ignoriert werden, oder seine Ausführung muss bis zum Ablauf der tRAS-Zeit verschoben werden. Hierzu kann im Befehlsdecoder 10 eine spezielle Inhibitionsschaltung vorgesehen werden (nicht gezeigt), welche die Aktivierung der Befehlsleitung 11 PRE so lange verhindert, wie das Signal PRE am Ausgang des Vergleichers 53 unwirksam ist. Diese Option ist in 1 gestrichelt angedeutet durch eine Verbindung des Vergleicher-Ausgangs über einen Inverter 14 mit einem Inhibitionseingang INH des Befehlsdecoders 10.
-
Bei einer Befehlsstruktur mit ”automatischem Precharge” gibt es keinen Precharge-Befehl seitens des Controllers, sondern der Precharge erfolgt automatisch immer nach Ablauf der tRAS-Zeit. Bei dieser Option wird das Ausgangssignal PRE des Vergleichers 53 direkt an die Steuereinrichtung 30 gelegt, entweder über eine gesonderte Verbindungsleitung 15 (wie in 1 gestrichelt gezeichnet) oder durch Verbindung des Vergleicher-Ausgangs mit der Precharge-Befehlsleitung 11 PRE (falls vorhanden).
-
Die Einstellung des gewünschten Zahlenwertes für die tRAS-Zeit am Vergleicher 53 erfolgt über das Modusregister 40. Hierfür werden im gezeigten Fall m = 5 Zellen M6:10 des Registers benutzt, um fünf Bits A6:10 über die betreffenden Adressanschlüsse des DRAM-Bausteins 1 aufzunehmen. Die übrigen elf Registerzellen M0:5 und M11:15 und die zugeordneten Adressanschlüsse des DRAM-Bausteins 1 können für beliebige andere Modus-Einstellungen verwendet werden.
-
Bei der Ausführungsform nach 1 stellen die fünf Bits A6:10 direkt als Dualzahl den gewünschten Zahlenwert für die tRAS-Zeit dar und werden dem Vergleicher 53 direkt angelegt, um sie mit dem fünfstelligen Zählwert des Zählers 51 zu vergleichen. Dies ist die einfachste Ausführungsform der Erfindung und erlaubt eine feine (32-teilige) Abstufung der tRAS-Einstellung in einzelnen Schritten von jeweils einer Taktperiode. Anderseits müssen in diesem Fall aber alle Registerzellen, die für die tRAS-Einstellung benutzt werden, ausschließlich für diese Einstellung reserviert werden.
-
Die 2 zeigt den DRAM-Baustein 1 mit einer Ausführungsform der Erfindung, bei welcher die für die tRAS-Einstellung benutzten Registerzellen und Adressanschlüsse alternativ für andere Modus-Einstellungen verwendet werden können. Alle Elemente in 2, die mit den gleichen Bezugszeichen wie in 1 bezeichnet sind, arbeiten in der gleichen Weise, wie es anhand der 1 beschrieben wurde. Im Folgenden werden nur die Unterschiede gegenüber der Ausführungsform nach 1 beschrieben.
-
Die Ausführungsform nach 2 beruht auf dem Gedanken, dass der Einstellbereich für tRAS nicht bis herunter zum Wert Null sondern nur bis zu einem endlichen Mindestwert zu reichen braucht, und dass die Abstufung der Einstellung nicht so fein wie die Abstufung der Zählwerte des Zählers sein muss. So kann es genügen, bei einem Zählbereich von 0 bis 2n des Zählers eine gröbere als eine 2n-teilige Werteskala für die Einstellung der tRAS-Zeit am Vergleicher zu benutzen, z. B. eine Werteskala, die nur jeden zweiten (oder dritten, usw.) Zählwert des Zählers enthält. Wie nachstehend gezeigt werden wird, eröffnet dies den Weg zu einer Alternativ-Nutzung der Zellen des Modusregisters 40.
-
Gemäß der 2 wird zur Einstellung der tRAS-Zeit am Vergleicher 53 ein Einstell-Decoder 54 verwendet, der die fünf Bits A6:10 vom Modusregister 40 gemäß der in 3 gezeigten Codetabelle decodiert. Eine bestimmte Teilmenge der insgesamt 2m = 32 möglichen Muster der Bits A6:10 ist dazu ausersehen, eine entsprechend große Menge von verschiedenen tRAS-Zahlenwerten am Vergleicher 53 einzustellen. Beim gezeigten Beispiel, gemäß 3, sind hierfür 23 Muster der Bits A6:10 ausgewählt, nämlich diejenigen, die den Dezimalzahlen 1 bis 23 (dual 00001 bis 10111) aus der Gesamtmenge der Dezimalzahlen 0 bis 31 (dual 00000 bis 11111) entsprechen. Der Decoder 65 ist so ausgelegt, dass er diese 23 verschiedene Muster in 23 verschiedene Ausgangsmuster an Ausgangsanschlüssen B0:5 transformiert oder ”abbildet”, die 23 verschiedenen Zahlenwerten entsprechen, welche einen Zahlenbereich, der von einer Mindestzahl Zmin bis zu eine Höchstzahl Zmax reicht, in 23 Stufen unterteilen. Zmin ist der niedrigste Zahlenwert für tRAS, und Zmax ist der höchste Zahlenwert für tRAS. Beim gezeigten Beispiel ist Zmin = 3 und Zmax = 47, der Teilungsabstand (Pitch) der 23 Zahlenwerte ist gleichmäßig (lineare Abbildungsfunktion) und beträgt 2, so dass Zahlenwerte 1, 3, 5, ... 47 für die tRAS-Einstellung erzeugt werden können. Dies ist nur ein Beispiel; der Pitch kann auch anders gewählt werden, und die Abbildungsfunktion kann auch nichtlinear sein.
-
Die tRAS-Zahlenwerte werden vom Decoder 54 als Dualzahlen-Bits an den Vergleicher gelegt. Für die Dualzahlen-Darstellung sind n = INT[ld(Zmax))]
-
Bits notwendig, d. h. der ganzzahlige Anteil des zur Basis 2 genommenen Logarithmus von Zmax. Für das gezeigte Beispiel Zmax = 47 ist somit n = 6. Diese sechs Bits werden an den sechs Ausgängen B0:5 des Decoders 54 geliefert und dem Vergleicher 53 angelegt, der auf der anderen Seite die Dualzahlen-Darstellung der vom Zähler 51 gezählten Impulsanzahl empfängt, und zwar von den n = 6 Bit-Ausgängen 20:25 dieses Zählers. Sobald dieser Zählwert mit dem durch die Bits B0:5 dargestellten tRAS-Zahlenwert übereinstimmt, geht das Ausgangssignal PRE des Vergleichers 53 auf wirksamen Pegel. Alle folgenden Vorgänge (Rücksetzen und Ausschalten des Zählers 51 und die weitere Nutzung des Signals PRE) laufen in der gleichen Weise, wie oben in Verbindung mit 1 beschrieben.
-
Wie erwähnt, wird bei der Ausführungsform nach 2 nur eine Teilmenge der 2m = 32 möglichen Muster der in das Modusregister 40 eingegebenen Bits A6:10 für die Einstellung der tRAS-Zeit benutzt. Diese Muster werden im Folgenden als ”Zeitwert-Bitmuster” bezeichnet; im gezeigten Fall, gemäß der Tabelle in 3, sind es die 23 Bitmuster 00001 (dezimal 1) bis 10111 (dezimal 23). Übrig bleiben neun Bitmuster 0000 (dezimal 0) und 11000 bis 11111 (dezimal 24 bis dezimal 31), die im Folgenden als ”Reserve-Bitmuster” bezeichnet werden und für andere, alternative Modus-Einstellungen verwendet werden können.
-
Zur Einstellung der alternativen Betriebsmoden ist der Decoder 54 mit zusätzlichen Ausgängen S0:4 versehen. Der Decoder ist so ausgebildet, dass er alle diese zusätzlichen Ausgänge auf dem Logikwert 0 hält, wenn er keines der Reserve-Bitmuster vom Modusregister 40 empfängt. Falls der Decoder 54 aber irgendeines der Reserve-Bitmuster empfängt, blockiert er den Betrieb der digitalen Zähl- und Vergleichsschaltung 51, 53 und liefert an den zusätzlichen Ausgängen S0:4 Einstell-Information für irgendwelche alternative Betriebsmoden des DRAM-Bausteins 1.
-
Beim dargestellten Beispiel stellt der Decoder 54, wenn er irgendeines der Reserve-Bitmuster vom Modusregister 40 empfängt, die sechs Ausgänge B0:5 für den tRAS-Zahlenwert auf 000000, wie in Tabelle in 3 gezeigt. Diese Information kann verwendet werden, um die Zähl- und Vergleichsschaltung 51, 53 unwirksam zu halten, z. B. mittels eines NOR-Gatters 55, welches die Bits B0:B5 empfängt. Der Ausgang dieses Gatters kann mit einem Inhibitionseingang INH des Vergleichers 53 verbunden sein, um den Vergleicher unwirksam zu halten, wenn alle Bits B0:5 gleich 0 sind. Ferner kann der invertierte Ausgang des Gatters 55 mit einem Eingang eines UND-Gatters 56 verbunden sein, welches dem Setzeingang S des Flipflops 52 vorgeschaltet ist, um das Setzen dieses Flipflops und somit das Einschalten des Zählers 51 zu verhindern, wenn alle Bits B0:5 gleich 0 sind.
-
Die neun Reserve-Bitmuster der Bits A6:10 und die zusätzlichen Decoder-Ausgänge S0:4 können dann für verschiedene alternative Modus-Einstellungen dienen. Wie in 3 gezeigt, kann der Decoder 54 so ausgebildet sein, dass er beim Empfang jedes Reserve-Bitmusters den Ausgang S0 aktiviert, um statt des Binärzählers 51 eine andere Einrichtung zur Festlegung der tRAS-Zeit auszuwählen, z. B. einen herkömmlichen RC-Timer 60, der durch den Befehl ACT gestartet wird und am Ende seiner Laufzeit das Signal PRE wirksam macht, wie in der 2 gezeigt. Die übrigen Ausgänge S1:4 können dann, in Form eines 4-Bit-Wortes XXXX, zusätzliche Einstell-Informationen aus neun möglichen Informationen an die Steuereinrichtung 30 liefern, abhängig davon, welches der neun möglichen Reserve-Bitmuster in die Zellen M6:10 des Modusregister 40 eingegeben wird.
-
Vorstehend wurde die Erfindung in Verbindung mit der Einstellung der tRAS-Zeit beschrieben, als Beispiel für eine vorteilhafte Anwendung. Die Erfindung ist jedoch nicht auf diese Anwendung beschränkt, sondern kann auch zur Einstellung anderer Wartezeiten eingesetzt werden. Ebenso sind die für die beschriebenen Ausführungsformen gewählten Dimensionierungen nur als Bespiele anzusehen und können je nach den Erfordernissen variiert werden. So hängt es von der gewünschten Feinheit der Einstellung und von der maximalen Größe des Stellbereichs der Zahlenwerte für die Wartezeit ab, wie groß die Anzahl m der für diese Einstellung benötigten Bits bzw. Modusregisterzellen sein muss und wie groß der Anteil der für die Einstellung benutzen Zeitwert-Bitmuster (im Vergleich zur Anzahl der Reserve-Bitmuster) sein sollte.
-
Die Zahlenwerte für die Wartezeit-Einstellung hängen wiederum davon ab, wie hoch die Folgefrequenz der Zählimpulse ist. Diese Impulse können aus den steigenden oder fallenden Flanken des Taktsignal CLK abgeleitet werden, so dass ihre Folgefrequenz der Taktfrequenz entspricht. Die Impulse können auch aus den steigenden und fallenden Flanken des Taktsignals CLK abgeleitet werden, so dass ihre Folgefrequenz gleich der doppelten Taktfrequenz ist. Gewünschtenfalls kann zusätzlich ein Frequenz-Vervielfacher oder ein Frequenzteiler (nicht gezeigt) verwendet werden.
-
In einer alternativen Ausführungsform der Erfindung kann der als Zeitgeber verwendete Impulszähler so ausgebildet und angeschlossen sein, dass er bei oder vor dem Start auf den gewählten Zahlenwert der Wartezeit gesetzt wird und dann bei Empfang der Zählimpulse abwärts zählt, um beim Erreichen des Zählwertes Null das Ende der Wartezeit zu signalisieren.
-
Bezugszeichenliste
-
- 1
- DRAM-Baustein
- 10
- Befehlsdecoder
- 11
- Befehlsleitungen
- 12
- Empfangstreiber
- 13
- Ausgangstreiber
- 14
- Inverter
- 15
- gesonderte Befehlsleitung
- 20
- Speicherzellenfeld
- 30
- Steuereinrichtung
- 40
- Modusregister
- 51
- Binärzähler
- 52
- RS-Flipflop
- 53
- Vergleicher
- 54
- Decoder
- 55
- NOR-Gatter
- 56
- UND-Gatter
- 60
- RC-Timer