DE69810897T2 - Befehlsignalgenerator für speicheranordnungen - Google Patents
Befehlsignalgenerator für speicheranordnungenInfo
- Publication number
- DE69810897T2 DE69810897T2 DE69810897T DE69810897T DE69810897T2 DE 69810897 T2 DE69810897 T2 DE 69810897T2 DE 69810897 T DE69810897 T DE 69810897T DE 69810897 T DE69810897 T DE 69810897T DE 69810897 T2 DE69810897 T2 DE 69810897T2
- Authority
- DE
- Germany
- Prior art keywords
- clock
- signal
- counter
- command signals
- speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000015654 memory Effects 0.000 title claims abstract description 36
- 230000006870 function Effects 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims 3
- 230000001419 dependent effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 20
- 238000003491 array Methods 0.000 description 6
- 230000000630 rising effect Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 210000004027 cell Anatomy 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Electrophonic Musical Instruments (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
- Selective Calling Equipment (AREA)
Description
- Die Erfindung betrifft einen Befehlssignalgenerator zum Erzeugen von Befehlssignalen für ein Speicherbauelement gemäß Oberbegriff des Anspruchs 1. Sie betrifft außerdem einen dynamischen Schreib-/Lesespeicher nach dem Oberbegriff des Anspruchs 14, ein Rechnersystem nach dem Oberbegriff des Anspruchs 25 und ein Verfahren zum Erzeugen von Befehlssignalen.
- Beim Betrieb von dynamischen Schreib-/Lesespeichern (DRAMs) müssen spezifische Funktionen in einer vorbestimmten Reihenfolge auftreten. Diese Funktionen werden im Allgemeinen abhängig von zugehörigen Befehlssignalen ausgeführt, die von einem Befehlsgenerator ausgegeben werden. Die zeitliche Abstimmung der Befehlssignale wird im Allgemeinen von einem Taktsignal gesteuert, entweder entsprechend einer Flanke des Taktsignals oder bei einer vorbestimmten Zeit nach einer Flanke des Taktsignals. Die Geschwindigkeit, mit der der DRAM Befehle verarbeiten kann, wird beschränkt durch die Zeitspanne, die benötigt wird, um Funktionen abhängig von Befehlen auszuführen. Bei den meisten Funktionen werden die kleinsten Zeitspannen zum Ausführen der Funktionen von dem Hersteller des DRAM spezifiziert. Da aber die Befehle im Allgemeinen abhängig von Taktsignalen ausgegeben werden, wird die Zeitspanne, in der der DRAM seine Funktionen auszuführen hat, von der Taktgeschwindigkeit beherrscht. Wie in Fig. 1A dargestellt ist, wird z. B. von einer herkömmlichen Speichersteuerung ein Speicher-Lesebefehl 10 ausgegeben, der mit einem Taktsignal 12 zu einem Zeitpunkt to übereinstimmt. Wie weiterhin in Fig. 1A zu sehen ist, sind vier Taktzyklen erforderlich, um den Lesevorgang abzuschließen, da zahlreiche Operationen in einem DRAM ablaufen müssen, bevor die Daten schließlich aus dem DRAM ausgelesen werden können. Damit befindet sich erst zur Zeit t&sub1; ein Datenbit 14 auf dem Datenbus. Die nach der Ausgabe des Lesebefehls 10 bis zur vollständigen Verarbeitung des Befehls-Anlegen des Datenbits 14 an den Datenbus verstrichene Zeit beträgt daher DtA.
- Die verstrichene Zeit könnte durch Steigern der Geschwindigkeit des Takts 12 reduziert werden. Allerdings erfordert unabhängig von der Taktgeschwindigkeit der DRAM eine gewisse Minimumzeit, um seine Funktionen abzuschließen. Das Beschleunigen des Takts über diesen Punkt hinaus führt zu keiner Reduzierung der zur Ausführung dieser Funktionen erforderlichen Zeit mehr.
- Obschon DRAMs bei optimaler Geschwindigkeit arbeiten, wenn der Takt maximale oder nahezu maximale Geschwindigkeit aufweist, so arbeiten sie dennoch weit entfernt von der optimalen Geschwindigkeit, wenn sie abhängig von geringeren Taktgeschwindigkeiten arbeiten. Gemäß Fig. 1B besitzt ein Taktsignal 20 eine Geschwindigkeit oder eine Frequenz, die halb so groß ist wie diejenige des in Fig. 1A gezeigten Takts 12. Auch hier wird ein Lesebefehl 22 mit dem Takt zum Zeitpunkt t&sub0; registriert, und es wird ein Datenbit 24 vier Taktzyklen später an den Datenbus gelegt. Wegen der geringeren Taktgeschwindigkeit des Takts 20 jedoch gelangt das Datenbit 24 nicht vor dem Zeitpunkt t&sub2; an den Datenbus. Als Ergebnis der geringeren Taktgeschwindigkeit beträgt die zwischen der Ausgabe des Lesebefehls 22 und der vollständigen Verarbeitung dieses Befehls liegende Zeitspanne Dtb, was doppelt soviel ist wie die Zeitspanne Dta. Durch Verwendung einer fixen Beziehung zwischen einem Taktsignal und der Ausgabe von Befehlssignalen arbeiten herkömmliche DRAMs häufig mit einer von der optimalen Geschwindigkeit weit entfernten Geschwindigkeit, wenn sie ein relativ langsames Taktsignal empfangen.
- Der Fachmann sieht, dass die in den Fig. 1A und 1B gezeigten Impulsdiagramme eine große Anzahl weiterer Signale nicht enthalten, welche an den DRAM gelegt werden. Diese Signale sind aus Gründen der Kürze weggelassen. Der Fachmann erkennt außerdem, dass sich die Befehlssignale 10 und 22 in der Praxis aus einer Kombination weiterer Signale zusammensetzen, die üblicherweise einfach als Befehl bezeichnet werden. Die exakte Beschaffenheit dieser Signale hängt ab von der Beschaffenheit des DRAM, allerdings ist das oben erläuterte Prinzip auf sämtliche Typen von DRAMs anwendbar, einschließlich asynchrone DRAMs, synchrone DRAMs und paketierte DRAMs. Obschon das sich aus der Ausgabe von Befehlssignalen gemäß einer festen Beziehung zu dem Taktsignal ergebende Problem unter Bezugnahme auf DRAMs erläutert wurde, sind die Problem-Erläuterwng ebenso wie die durch die bevorzugte Ausführungsform der Erfindung geschaffene Lösung auch auf andere integrierte Schaltungen anwendbar, die Befehlssignale oder dergleichen in Abhängigkeit eines Taktsignals ausgeben.
- Ein Befehlssignalgenerator gemäß Oberbegriff des Anspruchs 1 ist aus der US-A-5 402 390 bekannt. Die zeitliche Lage der Befehlssignale in den Sequenzen ist bei diesem herkömmlichen Befehlssignalgenerator gleichartig.
- Gegenstand der vorliegenden Erfindung ist die Schaffung eines Befehlssignalgenerators zum Erzeugen von Befehlssignalen für ein Speicherbauelement, bei dem das Speicherbauelement mit einer Geschwindigkeit arbeiten kann, die näher bei der optimalen Betriebsgeschwindigkeit liegt.
- Erfindungsgemäß wird dies durch einen Befehlssignalgenerator mit den Merkmalen des Anspruchs 1 erreicht. Anspruch 14 definiert ein Speicherbauelement mit einem Befehlssignalgenerator, der dem obigen Ziel entspricht. Anspruch 24 definiert ein Rechnersystem mit einem Befehlssignalgenerator, das ebenfalls dem obigen Ziel entspricht. Die Erfindung schafft außerdem ein Verfahren zum Generieren von Befehlssignalen.
- Ein Befehlssignalgenerator zum Erzeugen von Befehlssignalen für ein Speicherbauelement enthält eine Ablaufsteuerung, die eine Folge von Befehlssignalen abhängig von einem Taktsignal erzeugt, das eine von mehreren Taktgeschwindigkeiten aufweisen kann. Jede der Sequenzen von Befehlssignalen entspricht vorzugsweise einer zugehörigen Taktgeschwindigkeit, wobei die Ablaufsteuerung (Sequenzer) eine der Sequenzen als Funktion der Taktgeschwindigkeiten auswählt. Die Ablaufsteuerung kann einen Zähler und einen Dekodierer enthalten. Der Zähler empfängt das Taktsignal und liefert einen Zählwert, der ansprechend auf das Taktsignal zunimmt oder abnimmt. Der Dekodierer erzeugt eine von mehreren Sequenzen von Befehlssignalen, wobei die Befehlssignale innerhalb jeder Sequenz zugehörigen Zählwerten entsprechen. Jede der Sequenzen der Befehlssignale entspricht einer zugehörigen Taktgeschwindigkeit, und der Dekodierer wählt eine der Sequenzen als Funktion der Taktgeschwindigkeit aus. Damit ist die Entsprechung zwischen jedem Befehlssignal und dessen zugehörigen Zählwert eine Funktion der Taktgeschwindigkeit. Der Befehlsgenerator kann auch eine Zählerladeschaltung enthalten, die an den Zähler gekoppelt ist. Die Zählerladeschaltung lädt einen Anfangszählerstand in den Zähler, bei dem es sich um eine Funktion der Taktgeschwindigkeit handelt. Der Zähler erhöht oder vermindert dann den Zählerstand ausgehend von dem Anfangswert ansprechend auf das Taktsignal. Der Befehlsgenerator kann außerdem eine Zähler-Freigabeschaltung enthalten, die ein Zähler-Freigabesignal erzeugt, damit der Zähler abhängig von dem Taktsignal erhöht oder vermindert werden kann. Die Zähler-Freigabeschaltung kann eine Zwischenspeicherschaltung und eine Zählerstartschaltung enthalten. Die Zwischenspeicherschaltung erzeugt das Zähler-Freigabesignal abhängig von einem Startsignal und beendet das Zähler-Freigabesignal abhängig von einem Anhaltesignal. Die Zählerstartschaltung generiert das Startsignal, und sie enthält einen Takt-Detektor zum Nachweisen vorbestimmter Abschnitte des Taktsignals, und eine variable Verzögerungs-Freigabeschaltung, die mit dem Takt-Detektor gekoppelt ist. Die variable Verzögerungs-Freigabeschaltung erzeugt das Startsignal ansprechend auf einen der nachgewiesenen vorbestimmten Abschnitte des Taktsignals, nachdem eine vorbestimmte Anzahl von Zyklen des Taktsignals nach Empfang eines Flagsignals verstricken ist. Der Befehlsgenerator kann in jedem Typ von dynamischem Schreib-/Lesespeicher oder einer anderen Schaltung verwendet werden, die Teil eines Rechnersystems ist.
- Fig. 1A und 1B sind Impulsdiagramme, die die Beziehung zwischen Taktsignalen und der Verarbeitung von Befehlen in einem herkömmlichen dynamischen Schreib-/Lesespeicher veranschaulichen.
- Fig. 2 ist eine Übersicht, die ein Grundkonzept der bevorzugten Ausführungsform der Erfindung veranschaulicht.
- Fig. 3 ist ein Blockdiagramm einer bevorzugten Ausführungsform der Erfindung.
- Fig. 4 ist ein Impulsdiagramm, welches die Beziehung zwischen verschiedenen Signalen veranschaulicht, die in der in Fig. 3 gezeigten bevorzugten Ausführungsform vorhanden sind.
- Fig. 5 ist ein Impulsdiagramm, welches Signale veranschaulicht, die an das in der bevorzugten Ausführungsform der Fig. 3 verwendete Schieberegister gelegt werden bzw. aus ihm ausgegeben werden.
- Fig. 6 ist ein logisches Diagramm einer Zähler-Startlogik, die bei der in Fig. 3 gezeigten bevorzugten Ausführungsform eingesetzt wird.
- Fig. 7 ist ein Impulsdiagramm, welches verschiedene Signale veranschaulicht, die in der in Fig. 6 gezeigten Zähler-Startlogik vorhanden sind.
- Fig. 8 ist ein Logikdiagramm und eine schematische Darstellung einer Zähler-Steuerschaltung, die in der in Fig. 3 gezeigten bevorzugten Ausführungsform eingesetzt wird.
- Fig. 9 ist ein Logikdiagramm, welches einen Teil einer Dekodierschaltung darstellt, die in der in Fig. 3 gezeigten bevorzugten Ausführungsform eingesetzt wird.
- Fig. 10 ist ein Blockdiagramm eines DRAM, das den in Fig. 3 gezeigten Befehlsgenerator enthält.
- Fig. 11 ist ein Blockdiagramm eines Rechnersystems, das den DRAM nach Fig. 10 enthält.
- Bevor die bevorzugte Ausführungsform der Erfindung beschrieben wird, soll anhand der Fig. 2 die Theorie des Betriebs der bevorzugten Ausführungsform erläutert werden. Fig. 2 ist ein Diagramm, welches den Status eines Zählers und eines Kodierers (diese werden unten beschrieben) veranschaulicht, in denen der Zähler abhängig von einem Taktsignal ausgehend von einem Anfangswert auf 0 vermindert wird. Der maximale Anfangswert des Zählers beträgt 255. Bei verschiedenen Zählwerten oder Zählerständen gibt der Dekodierer DRAM-Lesebefehlssignale aus, von denen in Fig. 2 einige dargestellt sind. Auf der linken Seite des Diagramms ist neben den dazugehörigen Zählwerten eine Liste von Befehlssignalen angegeben, die von dem Dekodierer ausgeben werden, wenn die Frequenz des Taktsignals 800 MHz beträgt. Auf der rechten Seite in dem Diagramm der Fig. 1 sind bei den entsprechenden Zählwerten die gleichen Befehlssignale angegeben, wie sie auftreten, wenn die Frequenz des Taktsignals 400 MHz beträgt.
- Wie in Fig. 2 gezeigt ist, beginnt bei einer Taktfrequenz von 800 MHz der Zähler mit dem Dekrementieren bei 255 (was durch ein Sternchen kenntlich gemacht ist). Dann wird eine externe Reihenadresse bei etwa dem Zählerstand 240 eingespeichert, die Reihenadresse wird beim Zählerstand von etwa 208 Dekodiert, bei einem Zählerstand von etwa 170 wird die Reihe vorgeladen und ausgeglichen, bei einem Zählerstand von etwa 135 wird eine extern angelegte Spaltenadresse Dekodiert, bei einem Zählerstand 112 werden die der Dekodierten Spaltenadresse entsprechende Leseverstärker freigegeben. Bei einem Zählerstand von etwa 65 wird die adressierte Reihe freigegeben, und bei einem Zählerstand von etwa 30 verbindet der Datenweg die Ziffernleitungen des freigegebenen Leseverstärkers mit einem externen DatenbusAnschluss.
- Wie weiterhin in Fig. 1 zu sehen ist, werden diese gleichen Lesebefehle auch von dem Dekodierer ausgegeben, wenn die Taktgeschwindigkeit 400 MHz beträgt, nur dass sie bei wesentlich niedrigeren Zählerständen ausgegeben werden und der Zähler mit dem Dekrementieren bald bei 150 beginnt. Dann wird die externe Reihenadresse etwa beim Zählerstand 135 zwischengespeichert, die Reihenadresse wird beim Zählerstand von etwa 120 Dekodiert, beim Zählerstand von etwa 96 wird die Reihe vorgeladen und ausgeglichen, beim Zählerstand von etwa 70 wird eine extern angelegte Spaltenadresse Dekodiert, beim Zählerstand von etwa 50 werden die Leseverstärker der Spaltenadresse freigegeben, die adressierte Reihe wird etwa beim Zählerstand 32 freigegeben, und der Datenweg koppelt Daten von den Ziffernleitungen des freigegebenen Leseverstärkers bei etwa dem Zählerstand 10 an den externen DatenbusAnschluss. Man beachte, dass zwar die Befehlssignale auf der rechten Seite in Fig. 2 zu einem wesentlich späteren Zählerstand ausgegeben werden, dass sie aber nach Beginn des Speicherzugriffs im wesentlichen gleichzeitig auftreten. Obschon nahezu doppelt soviel Taktimpulse zwischen den Befehlssignalen auftreten können bei einer Taktfrequenz von 800 MHz im Vergleich zu einer Frequenz von 400 MHz, werden die Befehlssignale dennoch zu den gleichen Zeiten ausgegeben, bedingt durch die höhere Taktgeschwindigkeit. Allerdings sollte angemerkt werden, dass die zeitliche Lage der Befehlssignale nicht vollständig linear sein muss. Beispielsweise kann ein Befehlssignal, was bei einem Taktsignal von 400 MHz möglicherweise bei einem Zählerstand von 40 ausgegeben wird, möglicherweise nicht bei einem Zählerstand von 80 für ein Taktsignal von 800 MHz ausgegeben werden. Allerdings wird ein gegebenes Befehlssignal normalerweise bei höherer Taktfrequenz bei einem höheren Zählerstand ausgegeben. Durch Beseitigen einer fixen Beziehung zwischen der Anzahl von Taktzyklen und der Ausgabe von Befehlssignalen ist der Befehlsgenerator imstande, Befehlssignale für eine große Vielfalt von Taktgeschwindigkeiten bei einer optimalen Rate auszugeben.
- Fig. 3 zeigt ein Blockdiagramm einer bevorzugten Ausführungsform eines erfindungsgemäßen Befehlsgenerators 26. Die Arbeitsweise dieses Befehlsgenerators 26 nach Fig. 3 wird von einem Taktsignal CLK und einem einem Quadratur-Taktsignal CLK 90 erzeugt, die von einer herkömmlichen Taktgeberschaltung 28 erzeugt werden. Ein Register 30 enthält mehrere Speicherzellen entsprechend der Anzahl möglicher verschiedener Taktgeschwindigkeiten. Eine von diesen mehreren Taktgeschwindigkeiten wird von einem Signal "Auswahl" ausgewählt. Das Signal "Auswahl" kann durch Benutzereingriff, durch Software oder durch eine andere Schaltung generiert werden. Alternativ kann ein die Taktgeschwindigkeit unter Verwendung anderer Datenformate beispielsweise Binärformat, kennzeichnendes Register verwendet werden. Allerdings enthält in dem in Fig. 3 gezeigten Register 30 und nur eine der Speicherzellen eine logische "1", um die entsprechende Taktgeschwindigkeit als diejenige Geschwindigkeit zu kennzeichnen, mit der die Taktsignale von der Schaltung 28 ausgegeben werden. Der Ausgang des Registers 30 wird auf eine Reihe von Schaltung gegeben, wie im Folgenden noch näher erläutert wird.
- Eine Sequenz von Befehlssignalen wird von einem auf positiven Wert gehenden Flag- Signal eingeleitet, wozu das Flag-Signal auf ein Schieberegister 34 gegeben wird, welches sieben Schiebestufen F&sub0; bis F&sub6; enthält. Die Arbeitsweise des Schieberegisters 34 läßt sich am besten anhand des in Fig. 4 gezeigten Impulsdiagramms erläutern. Wie in Fig. 4 gezeigt ist, empfängt das Schieberegister 34 das Taktsignal CLK von der Taktschaltung 28 sowie ein auf ein positiven Wert gehendes Flag-Signal zum Zeitpunkt t&sub0;. Das Flag-Signal wird zum Zeitpunkt t&sub1; von der Anstiegsflanke des Signals CLK in die erste Stufe des Schieberegisters 34 geschoben. Anschließend wird das hohe Flag-Signal sukzessive durch die übrigen Stufen F&sub1;-F&sub6; geschoben, und zwar bei jedem CLK-Flankenübergang (sowohl negative als auch positive Flanke). Beispielsweise tritt der Impuls F&sub2; zur Zeit t&sub3; und der Impuls F&sub4; zur Zeit t&sub5; auf, etc. Damit nimmt die Verzögerung nach dem Empfang des Flag- Signals zum Verschieben des Flag-Signal in jede Schiebestufe F&sub0;-F&sub6; inkrementell mit jedem aufeinanderfolgenden F-Wert zu. Wie weiter unten verlautet wird, werden die von den nachgeordneten Schiebestufen, beispielsweise F&sub6;, kommenden Impulse zum Einleiten einer Sequenz von Befehlssignalen mit höheren Taktgeschwindigkeiten verwendet, während ein Impuls von einer niedrigeren Schiebestufe (F&sub4;) dazu dient, eine Sequenz von Befehlssignalen mit niedrigeren Taktgeschwindigkeiten einzuleiten. Da allerdings die Taktgeschwindigkeit höher ist, wenn zum Einleiten der Sequenz der Impuls F&sub6; verwendet wird, schwankt die Zeit zwischen dem Flag-Signal und dem F-Signal, welches die Sequenz von Befehlssignalen einleitet, in einem geringeren Ausmaß. Nunmehr auf die Fig. 3 zurückkommend, wird das Signal F am Ausgang des Schieberegisters 34 an eine Zähler-Startlogikschaltung gegeben, zusammen mit einem für die Taktgeschwindigkeit kennzeichnenden Signal "Geschwindigkeit". Wie weiter unten noch erläutert wird, generiert die Zähler- Startlogik 40 ansprechend auf das F-Signal ein Startsignal "Start"; fluchtend entweder mit der vorderen oder der hinteren Flanke des Taktsignals CLK. Wie oben erläutert, verwendet die Zähler-Logikschaltung 40 ein stärker verzögertes F-Signal für höhere Taktgeschwindigkeiten. Im Ergebnis generiert die Zähler-Startlogikschaltung 40 das Signal "Start" nach einer variablen Anzahl von Taktzyklen nach dem Flag-Signal. Die Anzahl von Taktzyklen ist für höhere Taktgeschwindigkeiten größer und für niedrigere Taktgeschwindigkeiten geringer.
- Das Signal "Start" von der Zähler-Startlogikschaltung 40 wird an eine Zähler-Steuerschaltung 46 gegeben, die außerdem ein Signal "Stop" und ein Signal "Freigabe" von einer an einer anderen Stelle in der (nicht gezeigten) integrierten Schaltung befindlichen Schaltung empfängt. Die Zähler-Steuerschaltung 46 generiert komplementäre Signale C-EN und C- EN*, um einen Zähler 50 selektiv freizugeben. Grundsätzlich gilt: Solange der Eingang FREIGABE an der Zähler-Steuerschaltung 46 hohen Pegel hat, ist der Zähler 50 durch das Start-Signal freigegeben und durch das Stop-Signal gesperrt.
- Wie oben in Verbindung mit Fig. 2 erläutert wurde, ist der Zähler 50 ein achtstfuiger Quadratur-Zähler, der abhängig von den Taktsignalen CLK und CLK 90 von 255 aus auf 0 herunterzählt. Allerdings kann der Zähler 50 eine größere oder auch kleinere Anzahl von Stufen enthalten, und er kann auch ein anderer als ein herkömmlicher, mit Quadratur- Taktsignalen arbeitender Zähler sein. In den Zähler 50 wird ansprechend auf ein Signal. "Laden" aus einem Laderegister 52 ein Anfangszählerstand LD-CNT geladen, wobei das Signal "Laden" von einer (nicht gezeigten) Schaltung innerhalb der integrierten Schaltung kommt. Der in den Zähler 50 geladene Wert "LD-CNT" wird von dem Geschwindigkeitssignal GESCHW und einem von einer anderen (nicht gezeigten) Schaltung innerhalb der integrierten Schaltung angelegten Wert "Bauelementgeschwindigkeit" bestimmt. Das Register 52 speichert grundsätzlich zugehörige Anfangszählerstände für die acht möglichen Taktgeschwindigkeiten, die durch das Register 30 festgelegt werden, wobei für jede dieser acht möglichen Taktgeschwindigkeiten eine Vielfalt von Anfangszählerständen vorgesehen ist, abhängig von der maximalen Betriebsgeschwindigkeit des Bauelements. Somit beträgt bei dem oben in Verbindung mit Fig. 2 erläuterten Beispiel der Wert LD-CNT für eine Taktgeschwindigkeit von 800 MHz "240" und der LD-CNT-Wert für eine Taktgeschwindigkeit von 400 MHz beträgt etwa 150. Allerdings könnte der Anfangszählerstand für eine Taktgeschwindigkeit von etwa 800 Mhz auch 200, 220, 240, 260 oder 280 sein, abhängig von der maximalen Betriebsgeschwindigkeit der integrierten Schaltung, festgelegt durch den Wert "Bauelementgeschwindigkeit". Der Anfangszählerstand von 280 würde dann für eine langsamere integrierte Schaltung vorgesehen sein, um mehr Zeit zum Ausgeben der Befehlssignals-Folge zu haben, während der Anfangszählerstand von 200 für eine schnellere integrierte Schaltung zur Verfügung stünde, die in der Lage ist, die Folge von Befehlssignalen innerhalb einer kürzeren Zeit auszugeben. Nachdem der Anfangszählerstand in den Zähler 50 geladen ist, wird dieser abhängig von den von der Taktgeberschaltung 28 kommenden Signalen CLK und CLK 90 dekrementiert.
- Der von dem Zähler 50 ausgegebene, acht Bits umfassende Binärzählerstand wird an einen Dekodierer 56 gegeben, der Befehlssignale auf mehreren Leitungen 58 entsprechend den verschiedenen Zählerständen erzeugt. Wie oben in Verbindung mit Fig. 2 erläutert wurde, ist das jedem Zählerstand entsprechende Befehlssignal eine Funktion der Taktgeschwindigkeit. Deshalb empfängt der Dekodierer 56 von dem Register 30 auch das Signal GESCHW, so dass er die richtigen Befehlssignale 58 von jedem Zählerstand bilden kann, der von dem Zähler 50 ausgegeben wird.
- Die Arbeitsweise des in Fig. 3 gezeigten Befehlsgenerators 26 wird an besten in Verbindung mit dem in Fig. 5 gezeigten Impulsdiagramm erläutert. Das Geschwindigkeitssignal GESCHW entsprechend der Taktgeschwindigkeit wird an die Zähler-Startlogik 40 und an den Dekodierer 56 ausgegeben, wie oben erläutert wurde. Wenn von dem Schieberegister 34 das FLAG-Signal empfangen wird, erzeugt das Schieberegister 34 eine Folge von F-Signalen, von denen eines von der Zähler-Startlogik 40 dazu benutzt wird, das Signal START zu erzeugen. Wie allerdings in Fig. 5 gezeigt ist, lädt vor dem Signal START ein Signal "Laden" den Anfangszählerstand LD-CNT aus dem Laderegister 52, und das Signal STOP geht in den inaktiven niedrigen Zustand über. Ansprechend auf den Übergang des Signals START auf positiven Pegel gemäß Fig. 5 gibt die Zählersteuerung 46 den Zähler 50 frei, so dass dieser ausgehend von dem Anfangszählerstand herunterzählt. Der Dekodierer 56 erzeugt dann geeignete Befehlssignale in Abhängigkeit der Zählerstände und des Signals GESCHW. Bei oder vor dem Endzählerstand bewirkt eine andere Schaltung innerhalb der integrierten Schaltung, dass das Signal STOP in den inakten, hohen Zustand übergeht, wodurch die Zählersteuerung 46 den Zähler 50 sperrt.
- Die Zähler-Startlogik 40 ist in Fig. 6 in größerer Einzelheit dargestellt und wird anhand des in Fig. 7 gezeigten Impulsdiagramms erläutert. Die Zähler-Startlogik 50 empfängt die Signale CLK und CLK 90, die im oberen Teil der Fig. 7 gezeigt sind. Wie aus Fig. 7 ersichtlich ist, eilt das Signal CLK 90 dem Signal CLK um 90º voraus. Das Signal CLK wird an ein NAND-Gatter 62 und über einen Negator 64 an ein NAND-Gatter 66 gelegt. Das Signal CLK 90 wird direkt an das NAND-Gatter 66 und über einen Negator 68 an das NAND-Gatter 62 gelegt. Das NAND-Gatter 66 wird von dem Taktsignal und dem Signal CLK 90 immer dann freigegeben, wenn das Signal CLK hoch und das Signal CLK 90 niedrig ist. Wie in Fig. 7 gezeigt ist, wird das NAND-Gatter 66 während derjenigen Zeitspannen freigegeben, die in der dritten Zeile des Impulsdiagramms gemäß Fig. 7 schraffiert sind. Damit wird das NAND-Gatter 66 einen viertel Zyklus CLK nach der Rückflanke des CLK-Signals freigegeben. Wie in der vierten Zeile der Fig. 7 gezeigt ist, wird das NAND-Gatter 62 immer dann freigegeben, wenn das Signal CLK hoch und Signal CLK 90 niedrig ist, was um einen viertel Taktzyklus nach der Anstiegsflanke des CLK-Signals der Fall ist.
- Die NAND-Gatter 66 und 62 empfangen jeweils an ihrem dritten Eingang das Ausgangssignal eines NAND-Gatters 70, das die Ausgangssignale von den NAND-Gattern 72, 74 und 76 empfängt. Das NAND-Gatter 72 wird von dem vom Register 30 kommenden Signal "400" freigegeben, wenn die Taktgeschwindigkeit MHz beträgt. In ähnlicher Weise wird das NAND-Gatter 74 bei einer Taktgeschwindigkeit von 600 MHz und wird das NAND-Gatter 76 bei einer Taktgeschwindigkeit von 800 MHz freigegeben. Es können zusätzliche Schaltkreise verwendet werden, um weitere Taktgeschwindigkeiten zu bedienen, so z. B. Taktgeschwindigkeiten von 100 MHz, 200 MHz, 300 MHz und 700 MHz. Das NAND-Gatter 72 empfängt von der Stufe F&sub4; des Schieberegisters 34 das Signal F, und das NAND-Gatter 74 empfängt von der Stufe F&sub5; das Signal F, und NAND-Gatter 76 empfängt von der Stufe F&sub6; des Schieberegisters 34 das Signal F. Da nur eines der NAND-Gatter 72- 76 zu einer gegebenen Zeit freigegeben wird, läßt nur eines der NAND-Gatter 72-76 ein von dem Schieberegister erzeugtes Signal F durch. In dem in Fig. 7 gezeigten Beispiel ist das Ausgangssignal des Registers 30 das Signal "600", wodurch das NAND-Gatter 74 freigegeben wird. Wenn also das Signal F&sub5; erzeugt wird, geht der Ausgang des NAND- Gatter 74 auf niedrigen Pegel, wie in der sechsten Zeile der Fig. 7 zu sehen ist. Ansprechend darauf geht das Ausgangssignal des NAND-Gatters 70 für eine ähnliche Zeitspanne auf hohen Pegel und bewirkt damit, dass der Ausgang des NAND-Gatters 66 auf niedrigen Pegel geht, wie in der nächsten Zeile der Fig. 7 gezeigt ist. Man beachte, dass der Ausgang des NAND-Gatters 66 für nur ein Viertel eines Taktzyklus auf niedrigen Pegel geht, weil das NAND-Gatter 66 nur für diese Zeitspanne freigegeben wird, wie in der dritten Zeile der Fig. 7 zu sehen ist.
- Um ein weiteres Beispiel zu geben: Wenn das Signal GESCHW "800" vom Register 30 einen hohen Pegel hat, wird der Impuls F&sub6; über das NAND-Gatter 76 und das NAND- Gatter 70 gegeben. Im Ergebnis gibt das NAND-Gatter 70 einen Impuls aus, der in Fig. 7 in der fünften Zeile gestrichelt dargestellt ist und dieser Impuls bewirkt, dass der Ausgang des NAND-Gatters 62 für ein Viertel eines Taktzyklus auf niedrigen Pegel geht. Damit bewirken die ungeraden Impulse F, dass der Ausgang des NAND-Gatters 66 bei sukzessive späteren Abfallflanken das Signal CLK auf niedrigen Pegel geht, während die geraden Impulse F bewirken, dass der Ausgang des NAND-Gatters 62 zu sukzessive späteren Anstiegsflanken des Signals CLK auf niedrigen Pegel geht.
- Das Ausgangssignal der NAND-Gatter 66 und 62 wird an ein NAND-Gatter 80 angelegt, welches außerdem über einen Negator das Ausgangssignal eines Rückflanken-Impulsgenerators 82 empfängt. Das Ausgangssignal des NAND-Gatters 80 wird an den Anschluss START der Zähler-Startlogik 40 über ein Paar Negatoren 86 und 88 gelegt. Die Funktion des Impulsgenerators 82 und der dazugehörigen Schaltung besteht darin, mindestens eine Minimum-Dauer für das Signal START zu garantieren. Wenn der Ausgang entweder des NAND-Gatters 62 oder des NAND-Gatters 66 auf niedrigen Wert geht, geht das Ausgangssignal des NAND-Gatters 80 auf einen hohen Wert und bewegt damit, dass das Ausgangssignal des Negators 86 auf niedrigen Pegel geht, wie in der achten Zeile in Fig. 7 gezeigt ist. Geht der Ausgang des Negators 86 auf niedrigen Pegel, triggert er den Impulsgenerator 82, der dann einem relativ langen, auf positiven Pegel gehenden Impuls erzeugt, der über den Negator 84 als dann auf negativen Wert gehender Impuls an das NAND-Gatter 80 gelangt. Der Impuls bringt den Ausgang des NAND-Gatter 80 für die Dauer des Impulses von dem Impulsgenerator 82 zwangsweise auf hohen Pegel, was wiederum bewirkt, dass das Signal START für mindestens die Dauer des von dem Impulsgenerator 82 erzeugten Impulses auf hohem Pegel bleibt.
- Die Zählersteuerung 46 (Fig. 3) ist in Fig. 8 in größerer Einzelheit dargestellt. Wie oben erläutert wurde, besteht die Funktion der Zählersteuerung 46 darin, selektiv den Zähler 50 abhängig von den Signalen START und STOP immer dann freizugeben, wenn die Zählersteuerung von dem Signal FREIGABE freigegeben wird. Die Zählersteuerschaltung 46 enthält eine Auffangspeicherschaltung 100, bestehend aus Negatoren 102 und 104. Aus Gründen der Erläuterung sei angenommen, der Anfangszustand des Auffangspeichers 100 sei derart, dass das Ausgangssignal des Negators 105 hoch und dasjenige des Negators 104 niedrig ist. Damit bewirkt der hohe Pegel am Ausgang des Negators 102, dass der Negator 106 ein inaktives niedriges Zählerfreigabesignal C-EN erzeugt, während der niedrige Zustand am Ausgang des Negators 104 den Negator 108 veranlasst, ein inaktives hohes Signal C-EN* auszugeben. Der hohe Pegel am Ausgang des Negators 102 wird über Negatoren 100 und 112 auf ein NAND-Gatter 114 gekoppelt. Für den Fall, dass das Signal FREIGABE aktiv hoch ist, gibt das NAND-Gatter 114 einen niedrigen Pegel aus, der einen PMOS-Transistor 116 einschaltet. Allerdings bleibt vor dem auf hohen Pegel gehenden Signal START der PMOS-Transistor 116 ausgeschaltet. Wenn das Startsignal auf hohen Pegel geht, wird es über den PMOS-Transistor 116 gekoppelt, um den Auffangspeicher 100 zu schalten. Damit gibt der Negator 106 das aktive hohe Signal C-EN aus, während der Negator 108 ein aktives niedriges Signal C-EN* ausgibt. Kurz nach der Anstiegsflanke des Signals START wird der niedrige Pegel am Ausgang des Negators 102 über die Negatoren 110, 112 gekoppelt, um das NAND-Gatter 114 zu sperren, was wiederum den PMOS-Transistor 116 ausschaltet. Allerdings werden die Signale C-EN und C- EN* von dem Auffangspeicher 100 in ihrem aktiven Zustand gehalten. Wenn das Signal STOP auf hohen Pegel geht, schaltet es einen NMOS-Transistor 118 ein, wodurch die Eingänge der Negatoren 102, 108 auf niedriger Pegel gezogen werden. Im Ergebnis gibt der Negator 108 erneut ein inaktives hohes Signal C-EN* aus, während der Negator 1CI6 ein aktives niedriges Signal C-EN ausgibt. Der niedrige Pegel am Eingang des Negators 102 schaltet außerdem den Auffangspeicher 100, um die Signale C-EN und C-EN* in ihren inaktiven Zuständen zu halten.
- Wie oben erläutert, ist der Zähler 50 vorzugsweise ein achtstufiger, dekrementierenden Quadraturzähler, der herkömmlich ausgebildet sein kann und deshalb nicht im Einzelnen erläutert wird. In ähnlicher Weise kann das Laderegister 52 ein einfaches Register mit acht Speicherzellen sein, die jeweils einen zugehörigen Anfangs-Zählerstand LD-CNT speichern. Einer dieser Zählerstände wird von dem Signal GESCHW ausgewählt und mit Hilfe des Signals "LADEN" in den Zähler 50 geladen.
- Ein Teil des Dekodierers 56 ist in Fig. 9 in größerer Einzelheit gezeigt. Derjenige Anteil des Dekodierers 56, der in Fig. 9 gezeigt ist, ist der zum Erzeugen eines Befehlssignals COL verwendete Teil, der den DRAM dazu benutzt, dem Speicherarray eine. Spaltenadresse zuzuführen. Die Schaltung zu Erzeugen des Befehlssignals COL ist nur für zwei unterschiedliche Taktgeschwindigkeiten, nämlich 400 MHz und 800 MHz, dargestellt. Aus dem in Fig. 9 dargestellten Teil des Dekodierers 56 ist aber die Logikschaltung entnehmbar, um das Signal COL auch für andere Taktgeschwindigkeiten bereitzustellen, und um weitere Befehlssignale zu liefern, die bei anderen Zählerständen erzeugt. Gemäß Fig. 9 ist das Ausgangssignal des Zählers 50 ein acht Bits umfassendes Signal C&sub0;-C&sub7;. Die niedrigwertigen Bits werden direkt oder im Fall des dritten Bits C&sub2; über einen Negator 122 an ein NOR-Gatter 120 gelegt. Die höherwertigen Bits werden entweder direkt, oder, im Fall des Bits C&sub4; über einen Negator 126 an ein NOR-Gatter 124 gelegt. Die NOR-Gatter 120, 124 geben jeweils ansprechend auf einen Zählerstand "00101000", was dezimal Zwanzig entspricht, einen hohen Pegel aus. Die Ausgängen der NOR-Gatter 120, 124 werden auf ein NAND-Gatter 130 gegeben, welches selektiv vom Ausgangssignal eines NAND-Gatters 132 über einen Negator 134 freigegeben wird. Das NAND-Gatter 132 gibt einen niedrigen Pegel zum Freigeben des NAND-Gatters 130 immer dann aus, wenn der Dekodierer 56 von einem hohen Signal EN (das anderweitig in der integrierten Schaltung erzeugt wird) freigegeben wird und der vom Register 30 ausgegebene Wert "800" hohem Pegel hat, was eine Taktgeschwindigkeit von 800 MHz kennzeichnet. Damit wird im Fall einer Taktgeschwindigkeit von 800 MHz das Ausgangssignal des NAND-Gatters 130 auf einen niedrigen Pegel gebracht, wenn der Zähler 50 auf einen Zählerstand von 20 herunterzählt. Der niedrige Pegel am Ausgang des NAND-Gatters 130 wird auf ein NAND- Gatter 140 gekoppelt, wodurch das Spaltenadressen-Freigabebefehlssignal COL auf hohen Wert geht. Wenn also die Taktgeschwindigkeit 800 MHz beträgt, wird das Befehlssignal COL bei einem Taktwert von 20 erzeugt.
- Die übrige Logikschaltung in Fig. 9 arbeitet im Wesentlichen in der gleichen Weise wie die oben beschriebene Schaltung. Insbesondere werden die niedrigwertigen Bits des Zählers 50 an ein NOR-Gatter 150 gelegt, während die höherwertigen Bits des Zählers 50 entweder direkt oder, im Fall des Bits C&sub4;, über einen Negator 154 an ein NOR-Gatter 152 gelegt. Die NOR-Gatter 150 und 152 geben jeweils immer dann ein hohes Signal aus, wenn der Zähler 50 einen Zählerstand "11110111", was dezimal Sechzehn entspricht, ausgibt. Die Ausgänge der NOR-Gatter 150, 152 gehen an ein NAND-Gatter 140, das selektiv vom Ausgangssignal eines NAND-Gatters 162 freigegeben wird, welches über einen Negator 164 an das NAND-Gatter 160 gelegt wird. Das NAND-Gatter 160 wird immer dann freigegeben, wenn der Eingang EN der Dekodierer 56 einen hohen Wert hat und das Register 30 (Fig. 3) ein hohes Signal "400" ausgibt, was kennzeichnend ist für eine Taktgeschwindigkeit von 400 MHz. Damit wird das Spaltenadressen-Freigabebefehlssignal COL bei einem Zählerstand von 16 immer dann erzeugt, wenn die Taktgeschwindigkeit 400 MHz beträgt. In ähnlicher Weise werden andere Zählerwerte Dekodiert, um andere Befehlssignale zu erzeugen, abhängig von der Entsprechung zwischen den Befehlssignalen und den Zählerständen in Abhängigkeit des Taktgeschwindigkeitssignals GESCHW.
- Ein synchroner DRAM (SDRAM) 180, der den in Fig. 3 gezeigten Befehlsgenerator 26 verwendet, ist in Fig. 10 gezeigt. Der SDRAM 180 enthält ein Adressenregister 182, welches entweder eine Reihenadresse oder eine Spaltenadresse über einen Adressenbus 184 empfängt. Der Adressenbus 184 wird allgemein mit einer Speichersteuerung gekoppelt, welche in Fig. 10 nicht gezeigt ist. Zunächst wird von dem Adressenregister 182 eine Reihenadresse empfangen und an einen Reihenadressen-Multiplexer 188 angelegt, der die Reihenadresse an eine Reihe von Komponenten koppelt, die zu zwei Speicherbänken 190, 192 gehören, abhängig vom Zustand eines Bankadressenbits BA, welches Teil der Reihenadresse ist. Zu jeder der Speicherbänke 190, 192 gehört ein Reihenadressen- Auffangspeicher 200, der die Reihenadresse speichert, sowie ein Reihen-Dekodierer 202, der verschiedene Reihensignale an das zugehörige Array 190 oder 192 legt, abhängig von der gespeicherten Reihenadresse. Der Reihenadressen-Multiplexer 188 koppelt weiterhin Reihenadressen an Reihenadressen-Auffangspeicher 200 zur Auffrischung der Speicherzellen innerhalb der Arrays 190 und 192. Die Reihenadressen werden zum Zweck des Auffrischens von einem Auffrischzähler 210 erzeugt, der seinerseits von einer Auffrisch- Steuerung 212 gesteuert wird.
- Nachdem die Reihenadresse an das Adressenregister 182 gelegt und in einen der Reihenadressen-Auffangspeicher 200 abgespeichert ist, wird das Adressenregister 182 eine Spaltenadresse gelegt. Das Adressenregister I82 koppelt die Spaltenadressen an einen Spaltenadressen-Auffangspeicher 220. Abhängig vom Betriebsmodus des SDRAMs 180 wird die Spaltenadresse entweder über einen Burst-Zähler 222 an ein Spaltenadressenregister 224 gelegt, oder an den Burst-Zähler 222, der eine Folge von Spaltenadressen an den Spaltenadressen-Puffer 224 legt, beginnend mit der von dem Adressenregister 182 ausgegebenen Spaltenadresse. In jedem Fall legt der Spaltenadressen-Puffer 224 eine Spaltenadresse an einen SpaltenDekodierer 228, der verschiedene Spaltensignale an zugehörige Leseverstärker und eine zugehörige Schaltung 230, 232 für die jeweiligen Arrays 190 und. 192 anlegt.
- Die Spaltenschaltung 230, 232 empfängt Daten von den Arrays 190 bzw. 192, um die Daten in ein Datenausgangsregister 240 zu geben, welches die Daten auf einen Datenbus 242 gibt. In eines der Arrays 190, 192 einzuschreibende Daten werden von dem Datenbus 242 über ein Dateneingaberegister 244 an die Spaltenschaltung 230, 232 gegeben, wo die Daten zu einem der Arrays 190, 192 übertragen werden. Man kann ein Maskenregister 250 verwenden, um selektiv den Datenstrom in die oder aus der Spaltenschaltung 230, 232 zu laden, damit die aus den Arrays 190, 192 auszulesenden Daten selektiv maskiert werden.
- Die oben beschriebene Arbeitsweise des SDRAMs 180 wird von dem Befehlsgenerator 26 ansprechend auf Befehlssignale hohen Pegels gesteuert, die über einen Steuerbus 160 empfangen werden. Diese Befehlssignale hohen Pegels, die typischerweise von einer (in Fig. 10 nicht gezeigten) Speichersteuerung erzeugt werden, sind ein Taktfreigabesignal CKE*, ein Taktsignal CLK; ein Chipauswahlsignal CS*, ein Schreibfreigabesignal WE*, ein Reihenadressen-Strobesignal RAS* und ein Spaltenadressen-Strobesignal CAS*, wobei das "*" bedeutet, dass das Signal aktiv niedrig ist. Allerdings kann man auch andere Befehlssignale hohen Pegels verwenden. In jedem Fall erzeugt der Befehlsgenerator 26 eine Sequenz von Befehlssignalen ansprechend auf die einen hohen Pegel aufweisenden Befehlssignale, um die Funktion (z. B. Lesen oder Schreiben) auszuführen, die von jedem der einen hohen Pegel aufweisenden Befehlssignale gekennzeichnet wird. Diese Befehlssignale sowie die Art und Weise, in der sie ihre jeweiligen Funktionen erfüllen, sind konventionell. Deshalb soll im Interesse der Kürze auf eine weitere Erläuterung dieser Steuersignale verzichtet werden.
- Obschon der Befehlsgenerator 26 so beschrieben wurde, dass er Befehlssignale für einen SDRAM erzeugt, verseht sich, dass eine Folge von Befehlssignalen für andere Arten von DRAMs sowie andere integrierte Schaltungsbauelemente in ähnlicher Weise erzeugen kann.
- Fig. 11 ist ein Blockdiagramm eines Rechnersystems 300, welches den in Fig. 10 gezeigten SDRAM 180 enthält. Das Rechnersystem 300 enthält einen Prozessor 302 zum Durchführen verschiedener Berechnungsfunktionen, so z. B. zur Ausführung spezifischer Software, um spezielle Berechnungen oder Aufgaben durchzuführen. Der Prozessor 302 enthält einen Prozessorbus 304, der normalerweise einen Adressbus, einen Steuerbus und einen Datenbus umfasst. Darüber hinaus enthält das Rechnersystem 300 ein oder mehr Eingabegeräte 314, beispielsweise eine Tastatur oder eine Maus, die mit dem Prozessor 302 gekoppelt sind, damit ein Bediener mit dem Rechnersystem 300 kommunizieren. Typischer Weise enthält das Rechnersystem 300 auch ein oder mehr Ausgabegeräte 316, die mit dem Prozessor 302 gekoppelt werden, so z. B. typischer Weise einen Drucker oder ein Videoterminal. Ein oder mehrere Datenspeichergeräte 318 sind ebenfalls typischer Weise mit dem Prozessor 302 gekoppelt, um Daten in einem (nicht gezeigten) externen Speichermedium zu speichern oder Daten aus ihm zu holen. Beispiele für typische Speichergeräte 318 beinhalten Festplatten oder Floppy-Disks, Bandkassetten sowie Kompaktplatten-Festspeicher (CD-Roms). Der Prozessor 302 ist typischerweise auch an einen Cache- Speicher 326 gekoppelt, der üblicherweise ein statischer Schreib-/Lese-Speicher (SRAM) ist, und der mit dem SDRAM 180 über eine Speichersteuerung 330 gekoppelt ist. Die Speichersteuerung 330 enthält normalerweise den Steuerbus 160 und den Adressenbus 164, der mit dem SDRAM 180 gekoppelt ist. Der Datenbus 242 kann mit dem Prozessorbus 304 entweder (wie dargestellt) direkt oder mit Hilfe irgendeiner Einrichtung über die Speichersteuerung 330 gekoppelt sein.
Claims (26)
1. Befehlsgenerator (26) zum Erzeugen von Befehlssignalen (COMMANDS) für ein
Speicherbauelement (81), wobei der Befehlsgenerator (26) aufweist: einen
Taktgeschwindigkeitsanzeiger (30), der ein Taktgeschwindigkeitssignal (SPEED) entsprechend
der Geschwindigkeit eines eine von mehreren Taktgeschwindigkeiten aufweisenden
Taktsignals bereitstellt; und
eine Ablaufsteuerung (50, 56), die mit der Taktgeschwindigkeitsanzeige (30) gekoppelt ist
und eine Folge der Befehlssignale für das Speicherbauelement (I80) ansprechend auf das
Taktsignal (CLK) erzeugt, wobei die zeitliche Steuerung der Befehlssignale innerhalb der
Sequenz bestimmt wird durch das Taktgeschwindigkeitssignal, wodurch der zeitliche
Ablauf und die Beschaffenheit der Befehlssignale der Taktgeschwindigkeit entsprechen,
dadurch gekennzeichnet, dass die zeitliche Lage der Befehlssignale innerhalb der Sequenzen
entsprechend unterschiedlichen Taktgeschwindigkeiten voneinander verschieden sind.
2. Befehlsgenerator (26) nach Anspruch 1, bei dem die Ablaufsteuerung aufweist: einen
das Taktsignal (CLK) empfangenden und einen Zählerstand, der ansprechend auf das
Taktsignal erhöht oder vermindert ist, erzeugenden Zähler; und einen Dekodierer (56), der
an den Zähler (50) und die Taktgeschwindigkeitsanzeige (50) gekoppelt ist und eine von
mehreren Sequenzen von Befehlssignalen der Speicherbauelemente (180) erzeugt, wobei
die Befehlssignale in jeder Sequenz einzelnen Zählerständen entsprechen, jede der
Sequenzen von Befehlssignalen einer zugehörigen Taktgeschwindigkeit entsprechen, und der
Decoder eine aus mehreren der Sequenzen ansprechend auf das
Taktgeschwindigkeitssignal auswählt.
3. Befehlsgenerator (26) nach Anspruch 2, bei dem mindestens einige der
entsprechenden Befehlssignale in verschiedenen Sequenzen von Befehlssignalen ansprechend auf
verschiedene Zählerstände erzeugt werden.
4. Befehlsgenerator (26) nach Anspruch 2, weiterhin umfassend eine
Zähler-Ladeschaltung (52), die an den Zähler und an den Taktgeschwindigkeitsanzeiger gekoppelt ist, und
die in den Zähler (50) einen Anfangszählerstand lädt, von dem aus der Zähler (50) abhängig
von dem Taktsignal erhöht oder vermindert wird, wobei der Wert des
Anfangszählerstands eine Funktion des Taktgeschwindigkeitssignals ist.
5. Befehlsgenerator (26) nach Anspruch 2, bei dem der Dekodierer (56) eine von
mehreren Sequenzen von Befehlssignalen erzeugt, von denen jede einer entsprechenden
Taktgeschwindigkeit entspricht, wozu der Dekodierer (56) eine aus einer Mehrzahl von
Sequenzen abhängig von einem für die Taktgeschwindigkeit kennzeichnenden
Taktgeschwindigkeitssignal auswählt.
6. Befehlsgenerator (26) nach Anspruch 5, weiterhin umfassend einen
Taktgeschwindigkeitsanzeiger, der das Taktgeschwindigkeitssignal entsprechend der Geschwindigkeit
des Taktsignals bereitstellt.
7. Befehlsgenerator (26) nach Anspruch 6, bei dem der Taktgeschwindigkeitsanzeiger
(30) ein Register aufweist, das eine Mehrzahl von Taktgeschwindigkeitswerten speichert,
von denen einer auswählbar ist, um das dementsprechende Taktgeschwindigkeitssignal
bereitzustellen.
8. Befehlsgenerator (26) nach Anspruch 5, bei dem die Sequenzen von Befehlssignalen
entsprechend den verschiedenen Taktgeschwindigkeiten voneinander verschieden sind.
9. Befehlsgenerator (26) nach Anspruch 8, bei dem zumindest einige der entsprechenden
Befehlssignale in verschiedenen Sequenzen von Befehlssignalen ansprechend auf
verschiedene Zählerstände erzeugt werden.
10. Befehlsgenerator (26) nach Anspruch 5, weiterhin umfassend eine
Zähler-Ladeschaltung (62), die einen Anfangszählerstand in den Zähler (50) lädt, von dem aus der Zähler
(50) ansprechend auf das Taktsignal erhöht oder vermindert wird, wobei der Wert des
Anfangszählerstands eine Funktion der Geschwindigkeit des Taktsignals ist.
11. Befehlsgenerator (26) nach Anspruch 10, bei dem der in den Zähler (50) geladene
Anfangszählerstand für höhere Taktgeschwindigkeiten weiter von einem Endzählerstand
entfernt ist.
12. Befehlsgenerator (26) nach Anspruch 2, weiterhin umfassend eine
Zählerfreigabeschaltung (46), die ein Zählerfreigabesignal (C-EN), damit der Zähler ansprechend auf das
Taktsignal erhöht oder vermindert wird, umfassend:
eine Zwischenspeicherschaltung (100), die ansprechend auf ein Startsignal das
Freigabesignal (C-EN) erzeugt und dieses ansprechend auf ein Stopsignal beendet; und
eine Zähler-Startschaltung (40), umfassend einen Taktdetektor (62-68), der vorbestimmte
Abschnitte des Taktsignals (CLK) erfasst, und eine veränderliche
Verzögerungs-Freigabeschaltung (80-88), die an den Taktdetektor (62-68) und an den
Taktgeschwindigkeitsanzeiger (30) gekoppelt ist, um einen der erfassten vorbestimmten Abschnitte des
Taktsignals im Anschluss an ein Flag-Signal nach einer vorbestimmten Anzahl von Zyklen des
Taktsignals auszuwählen, wobei die vorbestimmte Anzahl von Taktzyklen dem
Taktgeschwindigkeitssignal entspricht, die veränderliche Verzögerungs-Freigabeschaltung (80-
88) das Startsignal ansprechend auf den erfassten vorbestimmten Abschnitt des
Startsignals, der durch die veränderliche Verzögerungs-Freigabeschaltung (80-88) ausgewählt
wurde, erzeugt.
13. Befehlsgenerator nach Anspruch 12, weiterhin umfassend eine
Impulsdauer-Steuerschaltung zum Steuern der Minimum-Dauer des Startsignals, wozu die
Impulsdauer-Steuerschaltung aufweist:
Einen Impulsgenerator (82), der an die veränderliche Verzögerungs-Freigabeschaltung
(80-88) gekoppelt ist und einen Impuls mit einer vorbestimmten Verzögerung ansprechend
auf den detektierten vorbestimmten Abschnitt des Taktsignals erzeugt, der von der
veränderlichen Verzögerungs-Freigabeschaltung (80-88) ausgewählt wurde; und
eine Logikschaltung (80), die an den Impulsgenerator (82) gekoppelt ist, und die das
Startsignal ansprechend auf entweder den von dem Impulsgenerator (82) erzeugten Impuls
oder den detektierten vorbestimmten Abschnitt des Taktsignals, der durch die
veränderliche Verzögerungs-Freigabeschaltung (80-88) ausgewählt wurde, erzeugt.
14. Dynamische Schreib-/Lese-Speicher (180), umfassend:
eine Taktschaltung (28), die ein Taktsignal unterschiedlicher Geschwindigkeiten erzeugt,
mindestens ein Array (190, 192) von Speicherzellen, ausgebildet zur Speicherung von
Daten an einer Stelle, die durch eine Reihenadresse und eine Spaltenadresse festgelegt ist;
eine Reihenadressenschaltung (188-202), ausgebildet zum Empfangen und zum
Dekodieren der Reihenadresse und zum Auswählen einer Reihe von Speicherzellen, die der
Reihenadresse entspricht, abhängig von einem ersten Satz von Befehlssignalen; eine Spaltenadressenschaltung
(220-224), ausgebildet zum Empfangen und zum Anlegen von Daten
von bzw. an eine der Speicherzellen in der ausgewählten Reihe, entsprechend der
Spaltenadresse und abhängig von einem zweiten Satz von Befehlssignalen; eine
Datenwegschaltung, ausgebildet zum Koppeln von Daten zwischen einem externen Anschluss (184)
und der Spaltenadressenschaltung (220-224) abhängig von einem dritten Satz von
Befehlssignalen; gekennzeichnet durch einen Zähler (50), der ein Taktsignal empfängt, und
der einen Zählerwert erzeugt, der abhängig von dem Taktsignal erhöht oder vermindert
wird; und einen Dekodierer (56), der mit dem Zähler (50) gekoppelt ist, wobei der
Dekodierer (56) den ersten, den zweiten und den dritten Satz von Befehlssignalen erzeugt, die
jeweils einen zugehörigen Zählerwert entsprechen, wobei der zeitliche Ablauf der
Befehlssignale in den Sätzen von. Befehlssignalen den unterschiedlichen Taktsignalen
entspricht, die voneinander verschieden sind.
15. Speicher (180) nach Anspruch 14, bei dem das Taktsignal eine von mehreren
Geschwindigkeiten haben kann, und der Dekodierer (56) eine mehreren Frequenzen von
Befehlssignalen erzeugt, einschließlich eines ersten, eines zweiten und eines dritten Satzes
von Befehlssignalen, wobei jede der Sequenzen von Befehlssignalen einer zugehörigen
Taktgeschwindigkeit entspricht, und der Dekodierer (56) eine aus den mehreren
Sequenzen abhängig von einem für die Taktgeschwindigkeit repräsentativem
Geschwindigkeitssignal auswählt.
16. Speicher (180) nach Anspruch 15, weiterhin umfassend einen
Taktgeschwindigkeitsanzeiger (30), der das Taktgeschwindigkeitssignal entsprechend der Geschwindigkeit des
Taktsignals bereitstellt.
17. Speicher (180) nach Anspruch 16, bei dem der Taktgeschwindigkeitsanzeiger (30) ein
Register enthält, das eine Mehrzahl von Taktgeschwindigkeitswerten enthält, wobei einer
der Taktgeschwindigkeitswert auswählbar ist, um das ihm entsprechende
Taktgeschwindigkeitssignal bereitzustellen.
18. Speicher (180) nach Anspruch 17, bei dem mindestens einige der entsprechenden
Befehlssignale in verschiedenen Sequenzen von Befehlssignalen ansprechend auf
unterschiedliche Zählerstandswerte erzeugt werden.
19. Speicher (180) nach Anspruch 15, weiterhin umfassend eine Zähler-Ladeschaltung
(52) zum Laden eines Anfangszählerstands in den Zähler (50), von dem aus der Zähler
(50) abhängig von dem Taktsignal erhöht oder vermindert wird, und der Wert des
Anfangszählerstands eine Funktion der Geschwindigkeit des Taktsignals ist.
20. Speicher (180) nach Anspruch 19, bei dem der in den Zähler (50) geladene
Anfangszählerstand für höhere Taktgeschwindigkeiten weiter von einem Endzählerstand entfernt
ist.
21. Speicher (180) nach Anspruch 14, weiterhin umfassend eine Zählerfreigabeschaltung
(46), die ein Zählerfreigabesignal erzeugt, um dem Zähler das Erhöhen oder Vermindern
abhängig von dem Taktsignal zu ermöglichen, umfassend:
eine Zwischenspeicherschaltung (100), die ansprechend auf ein Startsignal das
Freigabesignal erzeugt und dieses ansprechend auf ein Stopsignal beendet; und
eine Zähler-Startschaltung (40), umfassend einen Taktdetektor (62-68), der vorbestimmte
Abschnitte des Taktsignals erfasst, und eine veränderliche
Verzögerungs-Freigabeschaltung (80-88), die an den Taktdetektor (62-68) und an den Taktgeschwindigkeitsanzeiger
(30) gekoppelt ist, um einen der erfassten vorbestimmten Abschnitte des Taktsignals im
Anschluss an ein Flag-Signal nach einer vorbestimmten Anzahl von Zyklen des
Taktsignals auszuwählen, wobei die vorbestimmte Anzahl von Taktzyklen dem
Taktgeschwindigkeitssignal entspricht, die veränderliche Verzögerungs-Freigabeschaltung (80-88) das
Startsignal ansprechend auf den erfassten vorbestimmten Abschnitt des Startsignals, der
durch die veränderliche Verzögerungs-Freigabeschaltung (80-88) ausgewählt wurde,
erzeugt.
22. Speicher (180) nach Anspruch 21, weiterhin umfassend eine
Impulsdauer-Steuerschaltung zum Steuern der Minimum-Dauer des Startsignals, wozu die
Impulsdauer-Steuerschaltung aufweist:
Einen Impulsgenerator (82), der an die veränderliche Verzögerungs-Freigabeschaltung
(80-88) gekoppelt ist und einen Impuls mit einer vorbestimmten Verzögerung ansprechend
auf den detektierten vorbestimmten Abschnitt des Taktsignals erzeugt, der von der
veränderlichen Verzögerungs-Freigabeschaltung (80-88) ausgewählt wurde; und
eine Logikschaltung (80), die an den Impulsgenerator (82) gekoppelt ist, und die das
Startsignal ansprechend auf entweder den von dem Impulsgenerator (82) erzeugten Impuls
oder den detektierten vorbestimmten Abschnitt des Taktsignals, der durch die
veränderliche Verzögerungs-Freigabeschaltung (80-88) ausgewählt wurde, erzeugt.
23. Speicher nach Anspruch 14, bei dem die Entsprechung zwischen jedem Befehlssignal
und dessen zugehörigem Zählerstandswert eine Funktion der Taktgeschwindigkeit ist.
24. Rechnersystem (300), umfassend:
einen Prozessor (302) mit einem Prozessorbus (304); eine Eingabeeinrichtung (314), die
über den Prozessorbus (304) an den Prozessor (302) gekoppelt und dazu ausgebildet ist,
Daten in das Rechnersystem (300) einzugeben; eine Ausgabeeinrichtung (316), die über
den Prozessorbus an den Prozessor gekoppelt und dazu ausgebildet ist, Daten von dem
Rechnersystem (300) auszugeben; und einen dynamischen Schreib-/Lese-Speicher (180),
der an den Prozessorbus (304) gekoppelt und dazu ausgebildet ist, Daten speichern zu
können, dadurch gekennzeichnet, dass der dynamische Schreib-/Lese-Speicher einem der
Ansprüche 14 bis 24 entspricht.
25. Verfahren zum Generieren von Befehlssignalen für ein Speicherbauelement (180)
abhängig von einem Taktsignal, umfassend das Erzeugen einer Sequenz von
Befehlssignalen, wobei der zeitliche Ablauf und die Beschaffenheit der Befehlssignale zugehörigen
Anzahlen von Zyklen des Taktsignals entsprechen, die während der Sequenz aufgetreten
sind, wobei die Anzahl von Taktzyklen, die zwischen mindestens einigen der
Befehlssignale auftreten, durch die Taktsignalfrequenz bestimmt werden, und die Anzahl von
Taktzyklen, die zwischen Befehlssignalen auftreten, für höhere Taktsignalfrequenzen größer
und für niedriger Taktsignalfrequenzen geringer ist.
26. Verfahren nach Anspruch 25, bei dem der zeitliche Ablauf der Befehlssignale derart
eingestellt wird, dass die Anzahl von Taktzyklen, die zwischen mindestens einigen
Befehlssignalen auftreten, umgekehrt proportional ist zu der Taktsignalfrequenz, wodurch die
Zeit zwischen den Befehlssignalen unabhängig von der Taktsignalfrequenz ist.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/798,229 US6230245B1 (en) | 1997-02-11 | 1997-02-11 | Method and apparatus for generating a variable sequence of memory device command signals |
| PCT/US1998/002237 WO1998035355A1 (en) | 1997-02-11 | 1998-02-11 | Memory device command signal generator |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69810897D1 DE69810897D1 (de) | 2003-02-27 |
| DE69810897T2 true DE69810897T2 (de) | 2003-11-20 |
Family
ID=25172863
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69810897T Expired - Lifetime DE69810897T2 (de) | 1997-02-11 | 1998-02-11 | Befehlsignalgenerator für speicheranordnungen |
Country Status (8)
| Country | Link |
|---|---|
| US (2) | US6230245B1 (de) |
| EP (1) | EP0958578B1 (de) |
| JP (1) | JP3804990B2 (de) |
| KR (1) | KR100495201B1 (de) |
| AT (1) | ATE231647T1 (de) |
| AU (1) | AU6146498A (de) |
| DE (1) | DE69810897T2 (de) |
| WO (1) | WO1998035355A1 (de) |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3406790B2 (ja) * | 1996-11-25 | 2003-05-12 | 株式会社東芝 | データ転送システム及びデータ転送方法 |
| US6404694B2 (en) * | 1999-08-16 | 2002-06-11 | Hitachi, Ltd. | Semiconductor memory device with address comparing functions |
| DE19945004A1 (de) * | 1999-09-20 | 2001-03-22 | Micronas Gmbh | Speichersteuerung zum Durchführen von Schaltbefehlen |
| US7010629B1 (en) * | 1999-12-22 | 2006-03-07 | Intel Corporation | Apparatus and method for coupling to a memory module |
| US6889335B2 (en) * | 2001-04-07 | 2005-05-03 | Hewlett-Packard Development Company, L.P. | Memory controller receiver circuitry with tri-state noise immunity |
| US6987775B1 (en) * | 2001-08-15 | 2006-01-17 | Internet Machines Corp. | Variable size First In First Out (FIFO) memory with head and tail caching |
| US6850107B2 (en) | 2001-08-29 | 2005-02-01 | Micron Technology, Inc. | Variable delay circuit and method, and delay locked loop, memory device and computer system using same |
| US8213322B2 (en) * | 2001-09-24 | 2012-07-03 | Topside Research, Llc | Dynamically distributed weighted fair queuing |
| US6967951B2 (en) | 2002-01-11 | 2005-11-22 | Internet Machines Corp. | System for reordering sequenced based packets in a switching network |
| ITRM20020281A1 (it) * | 2002-05-20 | 2003-11-20 | Micron Technology Inc | Metodo ed apparecchiatura per accesso rapido di memorie. |
| KR100444606B1 (ko) * | 2002-07-16 | 2004-08-16 | 주식회사 하이닉스반도체 | 명령 상태 머신 및 그 구동 방법 |
| US7421532B2 (en) * | 2003-11-18 | 2008-09-02 | Topside Research, Llc | Switching with transparent and non-transparent ports |
| US7454552B2 (en) * | 2003-11-18 | 2008-11-18 | Topside Research, Llc | Switch with transparent and non-transparent ports |
| US7426602B2 (en) * | 2004-01-08 | 2008-09-16 | Topside Research, Llc | Switch for bus optimization |
| US7065001B2 (en) * | 2004-08-04 | 2006-06-20 | Micron Technology, Inc. | Method and apparatus for initialization of read latency tracking circuit in high-speed DRAM |
| US7660187B2 (en) * | 2004-08-04 | 2010-02-09 | Micron Technology, Inc. | Method and apparatus for initialization of read latency tracking circuit in high-speed DRAM |
| US20060095652A1 (en) * | 2004-10-29 | 2006-05-04 | Hermann Ruckerbauer | Memory device and method for receiving instruction data |
| US7366966B2 (en) * | 2005-10-11 | 2008-04-29 | Micron Technology, Inc. | System and method for varying test signal durations and assert times for testing memory devices |
| US7587655B2 (en) | 2005-10-26 | 2009-09-08 | Infineon Technologies Ag | Method of transferring signals between a memory device and a memory controller |
| JP5175703B2 (ja) * | 2008-12-11 | 2013-04-03 | 株式会社東芝 | メモリデバイス |
| US8279688B2 (en) * | 2010-07-26 | 2012-10-02 | Taiwan Semiconductor Manufacturing Company, Ltd. | Sense amplifier enable signal generation |
| US9805775B1 (en) * | 2013-11-08 | 2017-10-31 | Altera Corporation | Integrated circuits with improved memory controllers |
| KR20220106571A (ko) | 2021-01-22 | 2022-07-29 | 에스케이하이닉스 주식회사 | 모드커맨드를 생성하는 장치 |
Family Cites Families (85)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR960003526B1 (ko) * | 1992-10-02 | 1996-03-14 | 삼성전자주식회사 | 반도체 메모리장치 |
| US4312068A (en) | 1976-08-12 | 1982-01-19 | Honeywell Information Systems Inc. | Parallel generation of serial cyclic redundancy check |
| US4228496A (en) | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
| DE3265361D1 (en) | 1981-07-10 | 1985-09-19 | Siemens Ag Albis | Bus system |
| GB2128383B (en) | 1982-10-12 | 1986-06-18 | Int Computers Ltd | Data storage unit |
| JPS59116829A (ja) | 1982-12-23 | 1984-07-05 | Fujitsu Ltd | マイクロコンピユ−タ |
| US4630230A (en) | 1983-04-25 | 1986-12-16 | Cray Research, Inc. | Solid state storage device |
| US4849702A (en) | 1983-08-01 | 1989-07-18 | Schlumberger Techologies, Inc. | Test period generator for automatic test equipment |
| US4695952A (en) | 1984-07-30 | 1987-09-22 | United Technologies Corporation | Dual redundant bus interface circuit architecture |
| GB2177825B (en) | 1985-07-12 | 1989-07-26 | Anamartic Ltd | Control system for chained circuit modules |
| US4949301A (en) | 1986-03-06 | 1990-08-14 | Advanced Micro Devices, Inc. | Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs |
| US4768190A (en) | 1986-04-30 | 1988-08-30 | Og Corporation | Packet switching network |
| US4845664A (en) | 1986-09-15 | 1989-07-04 | International Business Machines Corp. | On-chip bit reordering structure |
| US4834890A (en) | 1987-01-30 | 1989-05-30 | Baxter International Inc. | Centrifugation pheresis system |
| ZA883232B (en) | 1987-05-06 | 1989-07-26 | Dowd Research Pty Ltd O | Packet switches,switching methods,protocols and networks |
| US4920282A (en) | 1987-06-23 | 1990-04-24 | Kabushiki Kaisha Toshiba | Dynamic latch circuit for preventing short-circuit current from flowing during absence of clock pulses when under test |
| US5341483A (en) | 1987-12-22 | 1994-08-23 | Kendall Square Research Corporation | Dynamic hierarchial associative memory |
| US5099481A (en) | 1989-02-28 | 1992-03-24 | Integrated Device Technology, Inc. | Registered RAM array with parallel and serial interface |
| US5321700A (en) * | 1989-10-11 | 1994-06-14 | Teradyne, Inc. | High speed timing generator |
| US5381536A (en) | 1989-12-29 | 1995-01-10 | Cray Research, Inc. | Method and apparatus for separate mark and wait instructions for processors having multiple memory ports |
| JPH04219859A (ja) | 1990-03-12 | 1992-08-10 | Hewlett Packard Co <Hp> | 並列プロセッサに直列命令ストリームデータを分散するハードウェアディストリビュータ |
| JPH04222049A (ja) | 1990-03-16 | 1992-08-12 | Hewlett Packard Co <Hp> | 属性データ記憶及びグラフィックスパイプラインアクセスを可能にするデータストリーム集信装置 |
| IL96808A (en) | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
| KR100214435B1 (ko) | 1990-07-25 | 1999-08-02 | 사와무라 시코 | 동기식 버스트 엑세스 메모리 |
| US5155521A (en) * | 1990-12-31 | 1992-10-13 | Eastman Kodak Company | Counter-driven shutter actuator control circuit |
| US5367643A (en) | 1991-02-06 | 1994-11-22 | International Business Machines Corporation | Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets |
| US5175732A (en) | 1991-02-15 | 1992-12-29 | Standard Microsystems Corp. | Method and apparatus for controlling data communication operations within stations of a local-area network |
| US5454093A (en) | 1991-02-25 | 1995-09-26 | International Business Machines Corporation | Buffer bypass for quick data access |
| JPH05134848A (ja) | 1991-03-06 | 1993-06-01 | Fujitsu Ltd | 中央処理装置のデータシフト回路 |
| US5297029A (en) | 1991-12-19 | 1994-03-22 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
| JP2741825B2 (ja) | 1992-04-28 | 1998-04-22 | 三菱電機株式会社 | 半導体記憶装置 |
| US5309432A (en) | 1992-05-06 | 1994-05-03 | At&T Bell Laboratories | High-speed packet switch |
| US5742760A (en) | 1992-05-12 | 1998-04-21 | Compaq Computer Corporation | Network packet switch using shared memory for repeating and bridging packets at media rate |
| JP2764360B2 (ja) | 1992-05-18 | 1998-06-11 | 三菱電機株式会社 | 並/直列変換回路、直/並列変換回路およびそれらを含むシステム |
| JPH065091A (ja) | 1992-06-23 | 1994-01-14 | Mitsubishi Electric Corp | 半導体装置 |
| KR100248903B1 (ko) | 1992-09-29 | 2000-03-15 | 야스카와 히데아키 | 수퍼스칼라마이크로프로세서에서의 적재 및 저장연산처리방법 및 시스템 |
| US5615355A (en) | 1992-10-22 | 1997-03-25 | Ampex Corporation | Method and apparatus for buffering a user application from the timing requirements of a DRAM |
| JPH06195147A (ja) * | 1992-12-23 | 1994-07-15 | Fujitsu Ltd | クロック制御装置 |
| JPH06202933A (ja) | 1992-12-28 | 1994-07-22 | Toshiba Corp | 同期式大規模集積回路記憶装置 |
| JP3244340B2 (ja) | 1993-05-24 | 2002-01-07 | 三菱電機株式会社 | 同期型半導体記憶装置 |
| US5732041A (en) | 1993-08-19 | 1998-03-24 | Mmc Networks, Inc. | Memory interface unit, shared memory switch system and associated method |
| JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
| US5355345A (en) * | 1993-10-04 | 1994-10-11 | At&T Bell Laboratories | Fully scalable memory apparatus |
| US5402390A (en) | 1993-10-04 | 1995-03-28 | Texas Instruments Inc. | Fuse selectable timing signals for internal signal generators |
| US5584009A (en) | 1993-10-18 | 1996-12-10 | Cyrix Corporation | System and method of retiring store data from a write buffer |
| US5566325A (en) | 1994-06-30 | 1996-10-15 | Digital Equipment Corporation | Method and apparatus for adaptive memory access |
| US5490059A (en) * | 1994-09-02 | 1996-02-06 | Advanced Micro Devices, Inc. | Heuristic clock speed optimizing mechanism and computer system employing the same |
| JP2697634B2 (ja) * | 1994-09-30 | 1998-01-14 | 日本電気株式会社 | 同期型半導体記憶装置 |
| US5713005A (en) | 1995-02-10 | 1998-01-27 | Townsend And Townsend And Crew Llp | Method and apparatus for pipelining data in an integrated circuit |
| US5682496A (en) | 1995-02-10 | 1997-10-28 | Micron Quantum Devices, Inc. | Filtered serial event controlled command port for memory |
| US5848431A (en) | 1995-02-21 | 1998-12-08 | Micron Technology, Inc. | Synchronous SRAMs having multiple chip select inputs and a standby chip enable input |
| US5737748A (en) | 1995-03-15 | 1998-04-07 | Texas Instruments Incorporated | Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory |
| US5701434A (en) | 1995-03-16 | 1997-12-23 | Hitachi, Ltd. | Interleave memory controller with a common access queue |
| KR0152914B1 (ko) | 1995-04-21 | 1998-12-01 | 문정환 | 반도체 메모리장치 |
| US5793996A (en) | 1995-05-03 | 1998-08-11 | Apple Computer, Inc. | Bridge for interconnecting a computer system bus, an expansion bus and a video frame buffer |
| US5600605A (en) | 1995-06-07 | 1997-02-04 | Micron Technology, Inc. | Auto-activate on synchronous dynamic random access memory |
| US5907864A (en) | 1995-06-07 | 1999-05-25 | Texas Instruments Incorporated | Data processing device with time-multiplexed memory bus |
| US5655105A (en) | 1995-06-30 | 1997-08-05 | Micron Technology, Inc. | Method and apparatus for multiple latency synchronous pipelined dynamic random access memory |
| US5887146A (en) | 1995-08-14 | 1999-03-23 | Data General Corporation | Symmetric multiprocessing computer with non-uniform memory access architecture |
| US5742840A (en) | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
| US5666321A (en) * | 1995-09-01 | 1997-09-09 | Micron Technology, Inc. | Synchronous DRAM memory with asynchronous column decode |
| US6035369A (en) | 1995-10-19 | 2000-03-07 | Rambus Inc. | Method and apparatus for providing a memory with write enable information |
| JPH09161475A (ja) | 1995-12-01 | 1997-06-20 | Hitachi Ltd | 半導体記憶装置 |
| US5636174A (en) | 1996-01-11 | 1997-06-03 | Cirrus Logic, Inc. | Fast cycle time-low latency dynamic random access memories and systems and methods using the same |
| JP4084428B2 (ja) | 1996-02-02 | 2008-04-30 | 富士通株式会社 | 半導体記憶装置 |
| KR100215439B1 (ko) | 1996-02-08 | 1999-08-16 | 윤종용 | 고속의 데이타 구문분석 제어회로 |
| US5835925A (en) | 1996-03-13 | 1998-11-10 | Cray Research, Inc. | Using external registers to extend memory reference capabilities of a microprocessor |
| US5860080A (en) | 1996-03-19 | 1999-01-12 | Apple Computer, Inc. | Multicasting system for selecting a group of memory devices for operation |
| US5652733A (en) * | 1996-04-29 | 1997-07-29 | Mosaid Technologies Inc. | Command encoded delayed clock generator |
| US5889781A (en) * | 1996-06-11 | 1999-03-30 | Vlsi Technology | Asynchronous timing generator |
| US6212601B1 (en) | 1996-08-30 | 2001-04-03 | Texas Instruments Incorporated | Microprocessor system with block move circuit disposed between cache circuits |
| TW353176B (en) | 1996-09-20 | 1999-02-21 | Hitachi Ltd | A semiconductor device capable of holding signals independent of the pulse width of an external clock and a computer system including the semiconductor |
| KR100237565B1 (ko) | 1996-10-25 | 2000-01-15 | 김영환 | 반도체 메모리장치 |
| US5920710A (en) | 1996-11-18 | 1999-07-06 | Advanced Micro Devices, Inc. | Apparatus and method for modifying status bits in a reorder buffer with a large speculative state |
| JP4057084B2 (ja) | 1996-12-26 | 2008-03-05 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
| US6175894B1 (en) | 1997-03-05 | 2001-01-16 | Micron Technology, Inc. | Memory device command buffer apparatus and method and memory devices and computer systems using same |
| US5831929A (en) | 1997-04-04 | 1998-11-03 | Micron Technology, Inc. | Memory device with staggered data paths |
| US6032232A (en) | 1997-05-29 | 2000-02-29 | 3Com Corporation | Multiported memory access system with arbitration and a source burst limiter for blocking a memory access request |
| US5996043A (en) | 1997-06-13 | 1999-11-30 | Micron Technology, Inc. | Two step memory device command buffer apparatus and method and memory devices and computer systems using same |
| US5825711A (en) | 1997-06-13 | 1998-10-20 | Micron Technology, Inc. | Method and system for storing and processing multiple memory addresses |
| US6032220A (en) | 1997-07-18 | 2000-02-29 | Micron Technology, Inc. | Memory device with dual timing and signal latching control |
| JP3334589B2 (ja) * | 1998-01-13 | 2002-10-15 | 日本電気株式会社 | 信号遅延装置及び半導体記憶装置 |
| US6175905B1 (en) | 1998-07-30 | 2001-01-16 | Micron Technology, Inc. | Method and system for bypassing pipelines in a pipelined memory command generator |
| US6178488B1 (en) | 1998-08-27 | 2001-01-23 | Micron Technology, Inc. | Method and apparatus for processing pipelined memory commands |
| US6266750B1 (en) | 1999-01-15 | 2001-07-24 | Advanced Memory International, Inc. | Variable length pipeline with parallel functional units |
-
1997
- 1997-02-11 US US08/798,229 patent/US6230245B1/en not_active Expired - Lifetime
-
1998
- 1998-02-11 WO PCT/US1998/002237 patent/WO1998035355A1/en not_active Ceased
- 1998-02-11 EP EP98906164A patent/EP0958578B1/de not_active Expired - Lifetime
- 1998-02-11 JP JP53489598A patent/JP3804990B2/ja not_active Expired - Fee Related
- 1998-02-11 AT AT98906164T patent/ATE231647T1/de not_active IP Right Cessation
- 1998-02-11 DE DE69810897T patent/DE69810897T2/de not_active Expired - Lifetime
- 1998-02-11 KR KR10-1999-7007265A patent/KR100495201B1/ko not_active Expired - Fee Related
- 1998-02-11 AU AU61464/98A patent/AU6146498A/en not_active Abandoned
-
2001
- 2001-03-19 US US09/812,622 patent/US6708262B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US6708262B2 (en) | 2004-03-16 |
| DE69810897D1 (de) | 2003-02-27 |
| KR20000070999A (ko) | 2000-11-25 |
| AU6146498A (en) | 1998-08-26 |
| WO1998035355A1 (en) | 1998-08-13 |
| US6230245B1 (en) | 2001-05-08 |
| JP2002513496A (ja) | 2002-05-08 |
| JP3804990B2 (ja) | 2006-08-02 |
| KR100495201B1 (ko) | 2005-06-14 |
| ATE231647T1 (de) | 2003-02-15 |
| US20030070037A1 (en) | 2003-04-10 |
| EP0958578A1 (de) | 1999-11-24 |
| EP0958578B1 (de) | 2003-01-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69810897T2 (de) | Befehlsignalgenerator für speicheranordnungen | |
| DE69619505T2 (de) | Optimierschaltung und steuerung für eine synchrone speicheranordnung vorzugsweise mit programmierbarer latenzzeit | |
| DE3586523T2 (de) | Halbleiterspeicheranordnung mit einer seriellen dateneingangs- und ausgangsschaltung. | |
| DE69804108T2 (de) | Zweischritt-befehlspuffer für speicheranordnung und verfahren und speicheranordnung und rechnersystem unter verwendung desselben | |
| DE60034788T2 (de) | Verfahren und schaltung zur zeitlichen anpassung der steuersignale in einem speicherbaustein | |
| DE69217761T2 (de) | Lese- und Schreibschaltung für einen Speicher | |
| DE69521257T2 (de) | Fliessband-Halbleiterspeicheranordnung, die Zeitverlust beim Datenzugriff aufgrund des Unterschieds zwischen Fliessbandstufen eliminiert | |
| DE68919458T2 (de) | Halbleiterspeichereinheit mit einem "flash write"-Betrieb. | |
| DE69229118T2 (de) | Generatorarchitektur für Einzeltor RAM mit Hochleistungsfähigkeit | |
| DE69621280T2 (de) | Speichergerätschaltkreis und Verfahren zur gleichzeitigen Adressierung der Spalten einer Vielzahl von Banken einer Vielzahlbankspeicheranordnung | |
| DE69428415T2 (de) | Datenbusstruktur für beschleunigten Spaltenzugriff in einem RAM | |
| DE69129215T2 (de) | Halbleiterspeicheranordnung mit verriegelten Zwischenverstärkern für Speicherzeilenleitungsauswahl | |
| DE19645437C2 (de) | Synchronhalbleiterspeichereinrichtung mit einer internen Schaltungseinrichtung, die nur dann betriebsberechtigt ist, wenn in normaler Reihenfolge Befehle angelegt sind | |
| DE69936865T2 (de) | Verfahren und apparat zur steuerung der datenrate einer taktgetriebeschaltung | |
| DE19507574C2 (de) | Synchrone Halbleiterspeichervorrichtung mit Selbstvorladefunktion | |
| DE102007063812B3 (de) | Verfahren und Vorrichtung zum Kommunizieren von Befehls- und Adresssignalen | |
| DE19647828A1 (de) | Synchron-Halbleiterspeichervorrichtung mit leicht steuerbarem Autovorladebetrieb | |
| DE69522846T2 (de) | Verbesserte Speicheranordnung und Herstellungsverfahren | |
| DE69619620T2 (de) | Synchroner Halbleiterspeicher mit einem systemzyklusabhängigen Schreibausführungszyklus | |
| DE69330819T2 (de) | Synchrone LSI-Speicheranordnung | |
| DE19645745A1 (de) | Dynamischer Schreib-/Lesespeicher | |
| DE19954564B4 (de) | Steuerungsschaltung für die CAS-Verzögerung | |
| DE19951677A1 (de) | Halbleiterspeichervorrichtung | |
| DE102009020758A1 (de) | Halbleiterspeicherbauelement und zugehöriges Zugriffsverfahren | |
| DE3751760T2 (de) | Halbleiter-Speichereinrichtung mit einer Erkennungsschaltung für Adressenübergänge |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition |