-
Die
vorliegende Erfindung bezieht sich allgemein auf integrierte Schaltungen,
um insbesondere auf Datenpfade in einer Speichervorrichtung.
-
Halbleiter-Speichervorrichtungen
wie SDRAM-Vorrichtungen werden weithin in Computern und elektronischen
Produkten benutzt. Eine SDRAM-Vorrichtung hat typischerweise eine
große Anzahl
von Speicherzellen, um die Daten zu speichern. Um Daten zu lesen,
wird eine Speicher-Leseoperation durchgeführt. Während einer Leseoperation werden
Daten aus den Speicherzellen abgerufen und auf einen Datenpad zur
Verarbeitung ausgegeben. Der Betrieb des SDRAMs basiert auf einem
gemeinsamen Taktsignal.
-
Es
gibt zahlreiche Variationen von den SDRAM-Vorrichtungen. In einer
Variation hat man Zugang zu den Daten der Speicherzellen und ein
Datenbit wird bei jedem Taktzyklus auf den Datenpad ausgegeben.
In einer anderen Variation der SDRAM-Vorrichtungen hat man Zugang
zu zwei Datenbits und sie werden dann bei jedem Taktzyklus auf den
Datenpad ausgegeben; so wird diese Variation von SDRAM-Vorrichtungen
allgemein als DDR (double data rate = doppelte Datenrate)-SDRAM-Vorrichtung bezeichnet.
-
Gegenwärtig ist
eine neue Variation von SDRAM-Vorrichtungen vom „Joint Electronic Device Engineering
Council (JEDEC)„ einer
internationalen Organisation, die Standards für integrierte Schaltungsvorrichtungen
einschließlich
Speichervorrichtungen festlegt, vorgeschlagen worden. Ein Entwurf einer
Spezifikation für
die SDRAM-Vorrichtung ist vom JEDEC vorgeschlagen worden. In der
vorgeschlagenen SDRAM-Vorrichtung oder DDR II-SDRAM-Vorrichtung
werden vier Datenbits aus der Speichervorrichtung abgerufen und
diese Datenbits werden dann während
eines Lesezyklus auf den Datenpad ausgegeben. So gibt eine DDR II-SDRAM-Vorrichtung
Daten mit höherer
Geschwindigkeit als eine herkömmliche
DDR-SDRAM-Vorrichtung aus.
-
US 6, 324, 118 löst die durch
höhere
Datenraten hervorgerufenen Probleme, indem ein Haltespeicher für Eingabe
und Ausgabe bereitgestellt wird, um eine verbesserte Betriebsfrequenztoleranz in
Bezug auf die Dateneingabe/Datenausgabe zu ermöglichen.
-
Eine
der Aufgaben beim Betrieb einer DDR II-SDRAM-Vorrichtung ist die
Implementierung der Vorrichtung, so dass die vier Datenbits aus
den Speicherzellen korrekt auf den Datenpad ausgegeben werden. Bei
einer DDR-SDRAM-Vorrichtung können, da
man gleichzeitig eine Gruppe von zwei Datenbits abruft, zwei Bits
aus einer Gruppe in einem Taktzyklus auf den Datenpad ausgegeben
werden. Im nächsten
Taktzyklus kann auch die nächste
Gruppe aus zwei Bits auf die gleiche Art wie die vorige Gruppe auf
den Datenpad ausgegeben werden. So werden alle zwei Taktzyklen vier
Bits auf den Datenpad ausgegeben, die vier Bits stammen aus zwei
verschiedenen Gruppen. In der DDR II-SDRAM-Vorrichtung wird gleichzeitig auf eine
Gruppe von vier Bits zurückgegriffen
und diese werden auf den Datenpad in zwei Taktzyklen, d.h. zwei
Bits in jedem der beiden Taktzyklen ausgegeben. Im Unterschied zum DDR-SDRAM
muss man jedoch bei der DDR II-SDRAM-Vorrichtung unterscheiden,
dass die vier Bits aus derselben Gruppe stammen, welche beiden der
vier Bits in welchem der beiden Taktzyklen ausgegeben werden sollen.
Außerdem
muss auch eine korrekte Bitreihenfolge bestimmt werden, damit jedes der
vier Bits auf den Datenpad in der richtigen Reihenfolge ausgegeben
werden.
-
Es
besteht ein Bedarf an einer Implementierung in einem SDR II-SDRAM
in dem die Daten korrekt aus den Datenzellen auf den Datenpad während des
Lesebetriebs ausgegeben werden.
-
Die
vorliegende Erfindung stellt entsprechend eine integrierte Schaltung
wie sie im Patentanspruch 1 definiert wird und ein Verfahren zum
Betrieb einer Speichervorrichtung wie sie in Patentanspruch 10 definiert
wird, bereit. Bevorzugte Eigenschaften werden in den abhängigen Ansprüchen festgelegt.
-
Die
vorliegende Erfindung kann auf eine SDR II-SDRAM-Vorrichtung angewendet
werden, die eine Ausgangsschaltung zur Implementierung des Datentransfers
zwischen den Speicherzellen und den Datenpads der Speichervorrichtung
aufweist.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm der Speichervorrichtung nach einer Ausführungsform
der Erfindung;
-
2 ist
ein Timingdiagramm der 1 während des Speicherbetriebs
bei verschiedenen Latenzeinstellungen;
-
3 ist
ein Blockdiagramm einer Ausgangsschaltung der 1;
-
4 bis 7 sind
Timingdiagramme des Ausgangsschaltungsbetriebs der 3 bei
verschiedenen Latenzeinstellungen;
-
8A bis
D sind schematische Diagramme der Eingangswählschaltungen der 3;
-
9 ist
ein schematisches Diagramm eines Haltespeichers der Ausgangsschaltung
der 3;
-
10 ist
ein schematisches Diagramm einer Ausgangsstufe der 3;
-
11 ist
ein Blockdiagramm einer Ausgangssteuereinheit der 1;
-
12 ist
ein schematisches Diagramm einer Latenzeingangsschaltung der 11;
-
13 ist
ein schematisches Diagramm einer Ausgangstimingfreischaltschaltung
der 11;
-
14 ist
ein schematisches Diagramm eines Ausgangstiminggenerators der 11;
-
15 ist
ein schematisches Diagramm eines Ausbreitungssteuersignalgenerators
der 11;
-
16 ist
ein Timingdiagramm des Betriebs der 12 bis 13;
-
17 ist
ein Timingdiagramm des Betriebs der 14 bis 15;
-
18 ist
ein Blockdiagramm eines eine Speichervorrichtung umfassenden Systems
nach einer Ausführungsform
der Erfindung.
-
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
Die
folgende ausführliche
Beschreibung bezieht sich auf die angehängten dazugehörenden Zeichnungen
und zeigt mit Hilfe von Illustrationen spezifische Beispiele, auf
die die Erfindung angewendet werden kann. Diese werden ausreichend
detailliert beschrieben, damit der Fachmann die Erfindung ausführen kann
und verständlicherweise
können
andere Ausführungsformen
benutzt werden.
-
Die 1 ist
ein vereinfachtes Blockdiagramm einer Speichervorrichtung 100 nach
einer Ausführungsform
der Erfindung. In einer Ausführungsform
umfasst die Speichervorrichtung 100 einen Hauptspeicher 102.
Der Hauptspeicher 102 umfasst typischerweise DRAM-Vorrichtungen,
die eine oder mehrere, mit BANK 1-N gekennzeichnete Speicherbanken
umfassen. Jede der Speicherbanken BANK 1-N umfassen eine Vielzahl von in Reihen und
Spalten angeordneten Speicherzellen. Der Reihen-Dekodierer 1004 und der Spalten-Dekodierer 106 haben
Zugang zu individuellen Speicherzellen in den Reihen und Spalten
in Antwort auf eine auf Adressbussen und Adressleitungen 110 0-X
bereitgestellten Adresse. Die Adressleitungen 110 0-X empfangen
eine Vielzahl von Adresssignalen A0-AX. Eine Vielzahl von Eingangsschaltungen 111 0
N und eine Vielzahl von Ausgangsschaltungen 112 0-N stellen
die Verbindung zu dem Datenbus oder den Datenleitungen 114 0-N
für eine
bidirektionnelle Datenkommunikation mit dem Hauptspeicher 102 her.
Jede der Datenleitungen 114 0-N stellt eine Vielzahl von Datensignalen
oder eine Vielzahl von Datenbits D0-DN bereit. Eine Ausgangssteuereinheit 117 steuert
den Takt der Datenausgabe vom Hauptspeicher 102 zu den
Datenpads 114 0-N. Eine Speichersteuereinheit 116 kontrolliert
den Speicher 100 in Antwort auf Steuerleitungen 118 bereitgestellten
Steuersignalen. Die Steuersignale umfassen, sind jedoch nicht begrenzt
auf ein externes Taktsignal (CLK), Chipauswahl (CS*), Reihenzugangsabtastung
(RAS*), Spaltenzugangsabtastung (CAS*), und Schreibfreigabe (WE*).
Die Speichervorrichtung 100 umfasst auch ein Modusregister 119,
das programmiert werden kann, um verschiedene Einstellungen für den Betrieb der
Speichervorrichtung 100 zu speichern.
-
Der
Fachmann versteht, dass die Speichervorrichtung 100 der 1 zusätzliche
Schaltungen und Steuersignale umfassen kann und dass die Speichervorrichtung
der 1 vereinfacht worden ist, um den Akzent auf die
Erfindung zu setzen. Es ist verständlich, dass die obige Beschreibung
eines DRAMs darauf hin abzielt, ein allgemeines Verständnis des
Speichers bereitzustellen und ist keine vollständige Beschreibung aller Elemente
und Kennzeichen einer DRAM-Vorrichtung.
-
Bei
der Beschreibung der Erfindung werden Ausdrücke wie Daten, Bits, Bitdaten
oder Datenbit austauschbar benutzt, um dasselbe Subjekt zu beschreiben,
das die Information oder das Signal ist, das aus dem Hauptspeicher 102 gelesen
wird oder in ihn eingelesen wird. Außerdem werden Begriffe wie Leitung
und Knoten austauschbar benutzt, sie beziehen sich auf dasselbe
Element.
-
Die 2 ist
ein Timingdiagramm der 1 während eines Speicherbetriebs
bei verschiedenen Latenzeinstellungen. In der 2 stellt
CLK das externe Taktsignal dar, das die Speichervorrichtung 100 über eine
der Kontrollleitungen 118 der 1 beaufschlagt.
In einer Ausführungsform
kann die Speichervorrichtung 100 mit dem CLK-Signal funktionieren, das
eine Frequenzspanne von 66 Megahertz (66 MHz) bis 300 Megahertz
(300 MHz) aufweist. COMMAND stellt einen Befehl dar, mit der die
Speichervorrichtung 100 beaufschlagt wird, um gewisse Speicheroperationen
wie eine Leseoperation durchzuführen.
OTPUT DATA 210 0-3 stellt Ausgangsdaten dar, die auf einer
der Leitungen 114 0-N der 1 bereitgestellt
werden. Jeder der OUTPUT DATA 210 0-3 stellt Ausgangsdaten
bei verschiedenen Latenzeinstellungen dar. Die Latenzeinstellung
wird durch Programmierung des Modusregisters 119 der 1 vorgenommen.
Verschiedene Latenzeinstellungen stellen verschiedene Timings dafür bereit,
wenn ein erstes Datenbit auf einer der Datenleitungen 114 0-N nach
der Ausgabe eines Lesebefehls zur Verfügung steht. Wenn die Latenz
z.B. auf 2 eingestellt wird, steht ein erstes Datenbit D1 zwei Taktzyklen
nach dem READ-Befehl zur Verfügung.
Auf der 2 erscheint der READ-Befehl zur Zeit T0
auf, das erste Datenbit D1 von OUTPUT DATE 210-0 steht
zur Zeit T2, zwei Taktzyklen nach dem READ-Befehl, zur Verfügung. Auf ähnliche
Weise gibt OUTPUT DATA 210 1-3 an, dass, wenn die Latenzeinstellung
auf 3, 4 oder 5 eingestellt ist, das erste Datenbit bei T3, T4 oder
T5 zur Verfügung
steht, was drei, vier oder fünf Taktzyklen
nach dem READ-Befehl ist. Die Latenzeinstellung wird in Abhängigkeit
von Variablen gewählt,
die außerhalb
der Speichervorrichtung 100 zu finden sind.
-
Die
Speichervorrichtung 100 der 1 kann eine
Serie von vier Datenbits in jeder Lesedatenfolge einer Leseoperation
ausgeben. In einer Leseoperation prüft der Speichercontroller 116 eine
gewisse Kombination von Befehlssignalen wie die Signale RAS*, CAS*
und WE*. Wenn die Kombination für eine
Leseoperation zulässig
ist, wird ein Lesebefehl ausgegeben. Auf der 2 z.B. wird
zur Zeit T0, wenn eine Kombination für eine Leseoperation zulässig ist,
ein READ-Befehl ausgegeben. Es werden vier Datenbits in den Hauptspeicher 102 (1)
eingelesen und zu einer der Ausgangsschaltungen 112 0-N ausgegeben.
Das Einlesen von vier Datenbits in den Hauptspeicher 102 kann
mit jedem beliebigen konventionellen Leseverfahren ausgeführt werden. Nachdem
die vier Datenbits in eine der Ausgabeschaltungen 112 0-N
eingelesen sind, werden die Bits seriell zu einer der Datenleitungen 114 0-N ausgegeben. Das
Timing der Ausgabe der vier Datenbits zu den Leitungen 114 0-N
wird durch eine Ausgabesteuereinheit 117 auf der Basis
der Latenzeinstellungen gesteuert. Wie es auf der 2 gezeigt
wird, werden vier Datenbits D0-D3 von jedem der OUTPUT DATA 210 0-3
mit verschiedenen Taktzyklen nach dem READ-Befehl auf der Basis
der verschiedenen Latenzeinstellungen ausgegeben. Die Ausgabeschaltungen 112 0-N
und die Ausgabesteuereinheit 117 und ihre Operationen werden
ausführlicher in
den folgenden Figuren beschrieben.
-
Die 3 ist
ein Blockdiagramm einer der Ausgangsschaltungen 112 0-N
der 1. Auf der 3 wird die
Ausgangsschaltung 112-0 gezeigt. Die Konstruktionen der
anderen Ausgangsschaltungen sind dieselben wie die auf der 3 gezeigten Ausgangsschaltung 112-0.
Die Ausgangsschaltung 112-0 hat eine Vielzahl von Ausgangspfaden 310 0-3. Eine
Ausgangswähleinheit 350 stellt
die Verbindung zu den Ausgangspfaden 310 0-3 über die
Leitungen oder Knoten 342 0-3 her. Eine Ausgangsstufe 360 stellt
die Verbindung zur Ausgangswähleinheit 350 über die
Leitungen 356 her. Die Ausgangsstufe 360 stellt
die Verbindungen zu den Leitungen 114-0 her, um eine Vielzahl
von Datenbits D0-DN bereitzustellen.
-
Die
Ausgangspfade 310 0-3 umfassen eine Vielzahl von Eingangswähleinheit 320 0-3.
Eine Vielzahl von ersten Haltespeichern 130 0-3 stellt
die Verbindung zu den Eingangswähleinheit 320 0-3 über die
Leitungen 322 0-3 her. Eine Vielzahl von zweiten Haltespeichern 340 0-3
stellt die Verbindung zu den ersten Haltespeichern 130 0-3 über die
Leitungen 332 0-3 und zu dem Ausgangswähleinheit 350 über die
Leitungen 342 0-3 her. Die Ausgangspfade 310 0-3
der Konstruktionen sind dieselben und so hat jeder der Ausgangspfade 310 0-3
dieselben Elemente. Beim Ausgangspfad 310-0 ist z.B. der
Eingangswähleinheit 320-0 mit
dem ersten Haltespeicher 330-0 über die Leitung 322-0 verbunden.
Der zweite Haltespeicher 340-0 verbindet mit dem ersten
Haltespeicher 330-0 über
die Leitung 332-0 und mit der Ausgangswähleinheit 350 über die
Leitung 342-0. Andere Ausgangspfade 310 1-3 haben
dieselbe Anordnung wie der Ausgangspfad 310-0.
-
Jede
der Eingangswähleinheiten 320 0-3 verbindet
mit einer Vielzahl von Eingangsknoten 326, um eine Vielzahl
von Datensignalen oder Datenbits D0-D3 zu empfangen. Diese Datenbits
sind komplementäre
Daten. In anderen Worten, ist jedes der Datenbits das Umgekehrte
zu einem wahren Datenbit aus dem Hauptspeicher 102. Die
Datenbits D0-D3 werden parallel an den Knoten 326 empfangen.
In anderen Worten kommen die Datenbits D0-D3 gleichzeitig aus dem
Hauptspeicher 102 an den Knoten 326 an. Jede der
Eingangswähleinheiten 320 0-3 verbindet
auch mit einer Vielzahl von Wahlleitungen 328 um eine Vielzahl
von Wahleinheitssignalen CA0-CA3 zu empfangen. Jeder der ersten
Haltespeicher 330 0-3 verbindet auch mit einer Kontrollleitung 334.
Jeder der zweiten Haltespeicher 340 0-3 verbindet auch
mit einer Kontrollleitung 344. Die Kontrollleitungen 334 und 344 erpfangen
eine Vielzahl von Ausbreitungssteuersignalen Q0-Q2. Alle Steuerleitungen 334 des
ersten Haltespeichers 330-0 empfangen das Signal Q2. Die
Steuerleitungen 344 des zweiten Haltespeichers 340 0-1
empfangen das Signal Q0. Die Steuerleitungen 344 des zweiten
Haltespeichers 340 2-3 empfangen das Signal Q1.
-
Die
Ausgangswähleinheit 350 umfasst
eine Vielzahl von Multiplexern 352 0-3. Jeder der Multiplexer 352 0-3
hat einen Eingang, der mit einem der Knoten 342 0-3 verbunden
ist, und einen Ausgang, der mit der Ausgangsstufe 360 über die
Leitung 356 verbunden ist. Die Multiplexer 352 0-3
verbinden auch mit einer Vielzahl von Steuerleitungen 354 um eine
Vielzahl von Taktsignalen DLL 0-3 zu empfangen.
-
Auf
der 3 wählt
jeder der Eingangswähleinheiten 320 0-3
eines der vier Datenbits D0-D3 auf den Leitungen 326 aus
und überträgt das ausgewählte Bit
auf eine der entsprechenden Leitungen 322 0-3. Die Wahl
eines Datenbits aus den Bits D0-D3 basiert auf zwei Adresssignalen
oder Adressbits, die auf den Leitungen 110 0-X empfangen
werden (1). Die auf den Leitungen 110 0-X
empfangenen Adressbits sind A0, A1; A3,..., AX. Die Logikwerte (Logik
1 oder Logik 0) der Bits A1 und A0 bestimmen die Wahl der Datenbits
durch die Eingangswähleinheiten 320 0-3.
Wenn die Logikwerte von A1 und A0 0 und 0 sind, (Binäres 00)
dann ist die Wahl der Datenbits durch die Eingangswähleinheiten 320 0-3
jeweils D0, D1, D2 und D3. In anderen Worten, wenn die Kombination
von A1 A0 00 ist, wählt
die Eingangswähleinheit 320-0 das
Bit D0; die Eingangswähleinheit 320-1 das
Bit D1; die Eingangswähleinheit 320-2 das
Bit D2 und die Eingangswähleinheit 320-3 das
Bit D3 aus. Wenn die Kombination von A1 A0 01 ist, dann ist die Reihenfolge
der von den Eingangswähleinheiten 320 0-3
ausgewählten
Daten jeweils D1, D2 und D3, D0. Wenn die Kombination von A1 A0
10 ist, dann ist die Reihenfolge der von den Eingangswähleinheiten 320 0-3
gewählten
Daten jeweils D2, D3, D0 und D1. Wenn die Kombination von A1 A0
11 ist, dann ist die Reihenfolge der von den Eingangswähleinheiten 320 0-3
gewählten
Daten jeweils D3, D0, D1 und D2. Wenn die Kombination A1 A0 z.B.
00 ist, dann sind auf der 3 die vier
verschiedenen von den Eingangswähleinheiten 320 0-3
auf den Leitungen 322 0-3 gewählten Datenbits jeweils D0,
D1, D2 und D3.
-
Die
Haltespeicher 330 0-3 und 340 0-3 werden durch
die Signale QL0-QL2 gesteuert. Die Haltespeicher 330 0-3
bzw. 340 0-3 übertragen
die Datensignale bzw. Datenbits von einem Knoten zu einem anderen
Knoten, wenn die Signale QL0-QL2 aktiviert sind. Wenn QL2 aktiviert
ist, oder von einem niedrigen Signalniveau (LOW) zu einem hohen
Signalniveau (HIGH) übergeht, übertragen
die ersten Haltespeicher 330 0-3 Daten von den Knoten 322 0-3
zu den Knoten 332 0-3. Wenn QL0 aktiviert ist, übertragen
die zweiten Haltespeicher 340 0-1 Daten von den Knoten 322 0-1
zu den Knoten 342 0-1. Wenn QL1 aktiviert ist, übertragen
die zweiten Haltespeicher 340 2-3 Daten von den Knoten 322 2-3
zu den Knoten 342 2-3. In dem obigen Beispiel, nachdem QL0-QL3
aktiviert sind, werden die Bits D0-D3 von den Leitungen 322 0-3
zu den Knoten 332 0-3 und schließlich zu den Knoten 342 0-3 übertragen.
-
Die
Ausgangswähleinheit 350 wählt die
Datenbits auf den Knoten 342 0-3 und überträgt sie in sequentieller Reihenfolge
zur Ausgangsstufe 360. Es werden Taktsignale DLL 0-DLL3
sequentiell aktiviert, um die Datenbits auf die Knoten 342 0-3
und die Ausgangsstufe 360 über die Leitung 356 zu übertragen. So überträgt die Ausgangswähleinheit 350 die
Datenbits seriell zur Ausgangsstufe 360. Das erste Datenbit
in der Serie, die zur Ausgangsstufe 360 übertragen
worden ist, ist das Bit der Datenleitung 342-0 des Ausgangspfads 310-0.
Das zweite Datenbit in der Serie, die zur Ausgangsstufe 360 übertragen worden,
ist das Bit der Datenleitung 342-1 des Ausgangspfads 310-2.
In dieser Struktur stammen die dritten und vierten, zur Ausgangsstufe 360 übertragenen
Bits von den Leitungen 342-2 und 342-3. In dem
obigen Beispiel ist das erste zur Ausgangsstufe 360 übertragenen
Bit D0. Die zweiten, dritten und vierten zur Ausgangsstufe 360 übertragenen
Bits sind D1, D2 und D3.
-
Die
Ausgangsstufe 360 empfängt
die Datenbits auf der Leitung 356 und gibt sie seriell
auf die Leitung 114-0 aus. Bei Benutzung desselben obigen Beispiels
sind die auf der Leitung 114-0 ausgegebenen Datenbits D0,
D1, D2 und D3. Die Ausgangsstufe 360 gibt die Datenbits
D0-D3 auf den Ausgangsleitungen 114-0 als wahre Werte aus.
In anderen Worten haben die auf der Leitung 114-0 ausgegeben
Daten gegenüber
den Daten auf der Leitung 326 ein entgegengesetztes Potential.
Die Reihenfolge der in dem Beispiel dieser Beschreibung benutzten
Datenbits ist D0, D1, D2 und D3. Die Reihenfolge der Datenbits kann
jedoch in Abhängigkeit
von den Logikwerten der Adressbits A1 und A0, wie es oben beschrieben
worden ist, jede beliebige Reilenfolge annehmen. Wenn z.B. die Daten
auf den Leitungen 342 0-3 jeweils D1, D2, D3 und D0 sind,
dann werden die Datenbits zur Ausgangsstufe 360 in derselben
Reihenfolge übertragen.
In diesem Fall gibt die Ausgangsstufe 360 auch die auf
die Leitung 114-0 ausgegeben Datenbits in derselben Reihenfolge
D1, D2, D3 und D0 aus. Zusammengefasst, wenn die Kombination der
A1A0-Adressbits 00 ist, dann ist die Ausgabereihenfolge der Daten
auf der Leitung 114-0 D0, D1, D2 und D3. Wenn A1A0 01 ist,
dann sind die Ausgabedaten D1, D2, D3 und D0. Wenn A1A0 10 ist, dann
sind die Ausgabedaten D2, D3, D0 und D1. Wenn A1A0 11 ist, dann
sind die Ausgabedaten D3, D0, D1, und D2.
-
Die 4 ist
ein Timingdiagramm der Tätigkeit
der Ausgangsschaltung 112-0 der 3 mit einer
Einstellung Latenz zwei. Auf der 4 stellt
das CA-Signal eines der auf der Leitung 328 empfangenen
CA0-CA3-Signale dar. Die Signale QL0, QL1 und QL2 stellen dieselben
Signale wie die auf den ersten und zweiten Haltespeichern 330 und 340 empfangenen
Signale der 3 dar. DLL0, DLL1, DLL2 und DLL3
stellen dieselben Signale wie die auf den Leitungen 354 von
der Ausgangswähleinheit 350 empfangenen
Signale dar. Die Ausgangsdaten D0, D1, D2 und D3 stellen die Ausgangsdaten
D0-D3 auf der Leitung 114-0 dar.
-
Der
Betrieb der 3 wird hier in Zusammenhang
mit der 4 beschrieben. Unter Bezugnahme
auf die 4 wird zum Zeitpunkt T0 ein READ-Befehl
ausgegeben. Vier Datenbits werden aus den Speicherzellen 102 (1)
abgerufen. Die vier Datenbits werden aufeinander folgend zu den Datenpfaden 310 0-3
der Ausgangsschaltung 112-0 der 3 übertragen.
Die Eingangswähleinheiten 320 0-3
der Datenpfade 310 0-3 empfangen die vier Datenbits D0-D3
auf den Leitungen 326. Die vier Datenbits werden auf den
Leitungen 326 in ihren komplementären Formen dargestellt. Zum
Zeitpunkt TA auf der 4 schaltet das Signal CA auf
HIGH um, was es jedem der Eingangswähleinheiten 320 0-3
erlaubt, ein Datenbit aus den vier Bits D0-D3 auf den Leitungen 326 auszuwählen. Die
gewählten
Datenbits werden zu den Leitungen 322 0-3 übertragen.
Mit Dem Ziel die Erfindung zu beschreiben, wird angenommen, dass
A1A0 00 ist. Deshalb sind die vier auf die Leitungen 322 0-3 übertragenen
Datenbits jeweils D0, D1, D2 und D3. In anderen Worten trägt die Leitung 322-0 das
Bit D0; die Leitung 322-1 das Bit D1; die Leitung 322-2 das
Bit D2 und die Leitung 322-3 das Bit D3.
-
Bei
der Latenz zwei, ist das Signal QL2 schon im Hochbereich (HIGH).
Wie es auf der 4 gezeigt ist, ist das QL2-Signal
ab Beginn des READ-Befehls in allen Taktzyklen auf HIGH. Da QL2 auf
HIGH ist, durchqueren D0-D3 auf den Leitungen 322 0-3 die
Haltespeicher 330 0-3 zu den Knoten 332 0-3. Zum
Zeitpunkt TA schaltet das QL0-Signal auf HIGH. Das ermöglicht es
den Bits D0 und D1 von den Knoten 332 0-1 durch die zweiten
Haltespeicher 340 0-1 zu den Knoten 342 0-1 übertragen
zu werden. Zum Zeitpunkt TB schaltet das QL1-Signal auf HIGH. Das
ermöglicht
es den Bits D2 und D3 von den Knoten 332 2-3 durch die
zweiten Haltespeicher 340 2-3 zu den Knoten 342 2-3 übertragen
zu werden.
-
Eine
Ausgangswähleinheit 350 und
die Multiplexer 352 0-3 werden durch die Taktsignale DLL0-DLL3
gesteuert. Die DDL0-DLL3-Signale werden sequentiell aktiviert, so
dass die Bits D0-D3
auf den Knoten 342 0-3 korrekt auf der Leitung 114-0 auf der
Basis der Latenzeinstellungen ausgegeben werden können. Da
die Latenzeinstellung sich auf zwei beläuft, tritt eine erste Datenbitausgabe
auf der Leitung 114-0 zwei Taktzyklen nach dem READ-Befehl auf.
In diesem Fall tritt das erste Datenbit zum Zeitpunkt T2 auf. Um
das erste Bit auf den Knoten 342-0 zu überfragen, wird das DLL0-Signal aktiviert.
Das erlaubt es dem Bit D0 vom Knoten 342-0 auf den Knoten 356 und
anschließend
auf die Leitung 114-0 übertragen
zu werden. Da es eine Ausbreitungsverzögerung vom Knoten 342-0 zum
Knoten 114-0 gibt, wird das Signal DLL0 gerade vor dem
Zeitpunkt T2 aktiviert, so dass es, wenn das Bit D0 auf der Leitung 114-0 erscheint,
mit der ansteigenden Flanke des Taktsignals CLK zum Zeitpunkt T2
abgeglichen wird. Auf der 4 wird DLL0
vor dem Zeitpunkt T2 aktiviert und auf HIGH umgeschaltet. Das erlaubt
es dem Bit D0 (wahrer Wert), mit der ansteigenden Flanke des CLK-Signals
zum Zeitpunkt T2 abgeglichen zu werden. Auf ähnliche Weise wird DLL2 vor
dem Zeitpunkt T3 aktiviert (HIGH), um es dem Bit D2 zu ermöglichen,
mit der ansteigenden Flanke des CLK-Signals zum Zeitpunkt T2 abgeglichen
zu werden. Auf gleiche Weise werden die Signale DLL1 und DLL3 jeweils
vor den Zeitpunkten T 2,5 und T 3,5 aktiviert (HIGH), um es den
Bits D1 und D3 zu ermöglichen, mit
den abfallenden Flanken des CLK-Signals
zu den Zeitpunkten T 2,5 und T 3,5 abgeglichen zu werden.
-
Die 5 ist
ein Timingdiagramm des Betriebs der Ausgangsschaltung 112-0 der 3 mit der
der Latenzeinstellung drei. Zum Zeitpunkt der Latenz drei erscheint
das erste Bit der Ausgangsdaten auf der Leitung 114-0 drei
Taktzyklen nachdem der READ-Befehl ausgegeben worden ist. Auf der 5 erscheint
D0 zum Zeitpunkt T3 was drei Taktzyklen vom READ-Befehl zum Zeitpunkt
T0 entfernt ist. Zum Zeitpunkt der der Latenz drei werden die auf
den Leitungen 326 empfangenen Datenbits D0-D3 auf die Leitung 114-0 auf
dieselbe Weise wie bei der Latenz zwei ausgegeben. Der Unterschied
zwischen Latenz zwei und Latenz drei ist das Timing der Signale
CA, QL0, QL1 und DLL0-DLL3. Da die Ausgangsdaten von der Latenz
drei auf der Leitung 114-0 einen Taktzyklus später als
die Ausgangsdaten der Latenz zwei erscheinen, wird das Signal CA
fast einen Taktzyklus später
aktiviert. Auf der 5 wird das Signal CA zum Zeitpunkt
TA aktiviert (HIGH), was fast einen Taktzyklus später als
der Zeitpunkt TA der 4 ist. QL2 bleibt, wie es der
Fall bei der Latenz zwei ist, während
des Lesezyklus HIGH. Es werden jedoch andere Signale fast einen
Taktzyklus später
als wie es auf der 5 gezeigt wird, aktiviert.
-
Die 6 ist
ein Timingdiagramm des Betriebs der Ausgangsschaltung 112-0 der 3 mit der
Einstellung der Latenz vier. Zum Zeitpunkt der der Latenz vier erscheint
das erste Bit der Ausgangsdaten auf der Leitung 114-0 vier
Taktzyklen nachdem der READ-Befehl ausgegeben worden ist. Auf der 6 erscheint
D0 zum Zeitpunkt T4 was vier Taktzyklen vom READ-Befehl zum Zeitpunkt
T0 entfernt ist. Zum Zeitpunkt der Latenz vier werden die auf den Leitungen 326 empfangenen
Datenbits D0-D3 auf die Leitung 114-0 auf dieselbe Weise
wie bei der Latenz zwei ausgegeben. Es wird jedoch ein anderes Timingschema
bereitgestellt, um sicherzustellen, dass das letzte Bit in einer
Gruppe von vier Bits und das erste Bit in der nächsten Gruppe von vier Bits auch
korrekt ausgegeben werden kann. Deshalb ist das QL2-Signal nicht
immer HIGH, wie es der Fall bei den Latenzen zwei und drei ist.
-
Auf
der 6 gibt der gestrichelte Teil von QL0 und QL1 Signale
von einem vorigen Lesezyklus an. Das gestrichelte Signal bei 600 und 601 gibt
vorherige Übergänge von
QL0- und QL1-Signalen an. Die Signale bei 604 und 605 sind
die augenblicklichen Übergänge von
QL0 und QL1 im augenblicklichen Lesezyklus. Das Signal bei 602 ist
der augenblickliche Übergang
des QL2-Signals. Um sicherzustellen, dass die augenblicklichen Bits
D0-D3 des augenblicklichen Lesezyklus nicht mit den vorigen Bits D0-D3 des vorigen Lesezyklus
gemischt werden, müssen
auf der 3 vorige Bits D0-D3 auf den Knoten 332 0-3
auf die Knoten 342 0-3 übertragen werden,
bevor die augenblicklichen Bits D0-D3 am Knoten 332 0-3
ankommen. Deshalb muss QL2 zwischen den Übergängen der QL0-Signale und den Übergangen
der QL1-Signale aktiviert werden. In anderen Worten muss QL2 nach
einem Übergang
von QL0 des vorigen Lesezyklus und vor einem Übergang von QL0 des augenblicklichen
Lesezyklus aktiviert werden.
-
Wie
es auf der 6 gezeigt wird, macht QL2 einen Übergang
bei 602, was nach dem Übergang
von QL0 bei 600 und vor einem Übergang von QL0 bei 604 ist.
Auf ähnliche
Weise ist QL2 bei 602 auch nach dem Übergang von QL1 bei 601 und
vor einem Übergang
von QL1 bei 605. Deshalb wird, wenn QL2 einen Übergang
bei 602 durchführt,
das augenblickliche Bit D0-D3 auf den Leitungen 322 0-3 zum
Knoten 332 0-3 übertragen.
Währenddessen (bei 602)
sind die vorigen Bits D0-D3 schon zu den Knoten 342 0-3 über die Übergänge von
QL0 und QL1 bei 600 und 601 übertragen. So verarbeitet die Ausgangsschaltung 112-0 die
Bits D0-D3 in allen Lesezyklen korrekt durch die korrekte Aktivierung
der Signale QL0-QL3 bei der Latenz vier.
-
Die 7 ist
ein Timingdiagramm des Betriebs der Ausgangsschaltung 112-0 der 3 mit der
Einstellung der Latenz fünf.
Zum Zeitpunkt der Latenz fünf
erscheint das erste Bit der Ausgangsdaten auf der Leitung 114-0 fünf Taktzyklen
nachdem der READ-Befehl ausgegeben worden ist. Auf der 7 erscheint
D0 zum Zeitpunkt T5 was fünf
Taktzyklen vom READ-Befehl zum Zeitpunkt T0 entfernt ist. Zum Zeitpunkt
der Latenz fünf
werden die auf den Leitungen 326 empfangenen Datenbits
D0-D3 auf die Leitung 114-0 auf
dieselbe Weise wie bei der Latenz zwei ausgegeben. Das Timing der
Tätigkeit
des Ausgangspfads 112-0 bei der Latenz fünf ist der
der Latenz vier ähnlich. Ähnlich wie
bei der 6, geben gestrichelte Signale
in der 7 Signale vom vorigen Lesezyklus an. Auf der 7 wird
das Signal QL2 aktiviert oder macht einen Übergang zu HIGH bei 702.
Dieser Übergang
liegt vor den Übergängen von QL0
und QL1 bei 704 und 705 und nach den Übergängen von
QL0 und QL1 bei 700 und 701. Währenddessen (bei 702)
sind die vorigen Bits D0-D3 schon zu den Knoten 342 0-3 über die Übergänge von
QL0 und QL1 bei 700 und 701 übertragen worden. So verarbeitet
die Ausgangsschaltung 112-0 die Bits D0-D3 in allen Lesezyklen
korrekt durch die korrekte Aktivierung der Signale QL0-QL3 bei der Latenz
fünf.
-
Die 8A bis
D sind schematische Diagramme der Eingangswähleinheit 320 0-3
der 3. Jede der Eingangswähleinheiten 320 0-3
der 8A bis D hat eine Vielzahl von Multiplexern 810 0-3.
Aus Einfachheitsgründen
sind die Referenznummern der Multiplexer zwischen verschiedenen
Eingangswähleinheiten 320 0-3
dieselben. In der 8A hat jeder der Multiplexer 810 0-3
einen an eine der entsprechenden Eingangsleitungen 326 angeschlossenen Eingang,
der eines der Datenbits D0-D3 empfängt. Die Multiplexer 810 0-3
haben auch eine Vielzahl von an den Knoten 812 angeschlossenen
Ausgänge.
Ein Speicherelement 814 hat einen ersten, an die Ausgänge der
Multiplexer 810 0-3 am Knoten 812 angeschlossenen
Speicherknoten und einen zweiten an einen der Knoten 322 0-3
angeschlossenen Speicherknoten. Jeder der Multiplexer 810 0-3
wird von einem auf den Leitungen 328 empfangenen Signale CA0-CA3
gesteuert.
-
Auf
den 8B bis D haben die Eingangswähleinheiten 310 1-3
dieselbe Anordnung wie die der Eingangswähleinheit 310-0 der 8A.
Die Eingänge 326 der
Eingangswähleinheiten 320 0-3
empfangen jedoch die Datenbits D0-D3 in verschiedenen Reihenfolgen.
Auf der 8A empfängt der Eingang 326-0, 326-1, 326-2 und 326-3 jeweils
D0, D1, D2 und D3 in dieser Reihenfolge. Auf der 8B ist
die vom Eingang 326-0, 326-1, 326-2 und 326-3 empfangene
Reihenfolge D0-D3 jeweils D1, D2, D3 und D0. Auf der 8C ist
die vom Eingang 326-0, 326-1, 326-2 und 326-3 empfangene
Reihenfolge D0-D3 jeweils D2, D3, D1 und D0. Auf der 8D ist
die vom Eingang 326-0, 326-1, 326-2 und 326-3 empfangene Reihenfolge
D0-D3 jeweils D3, D0, D1 und D2.
-
Der
Betrieb der Eingangswähleinheiten 320 0-3
der 8A bis D ist der gleiche. Wenn eines der Signale
CA 0-3 aktiviert ist, übertragen
die entsprechenden, von dem aktivierten CA-Signal gesteuerten Multiplexer
eines der Bits D0-D3 von einem der Knoten 326 auf den Knoten 812 und
auf einem der Knoten 322 0-3. Auf der 8A z.B. überträgt der Multiplexer 810-0,
wenn CA 0 aktiviert oder auf HIGH ist, das Bit D0 vom Knoten 326 zu
den Knoten 812 und dem Knoten 322-0. Wenn CA1
aktiviert ist, wird das Bit D1 zum Knoten 322-0 übertragen.
Auf ähnliche Weise
werden die Bits D2 bzw. D3 zum Knoten 322-0 übertragen,
wenn CA2 bzw. CA3 aktiviert sind.
-
Es
wird nur eines der Signale CA 0-3 zur Zeit aktiviert. Die Aktivationsreihenfolge
der Signale CA 0-3 ist auf den Logikwerten der Adressbits A1 und
A0 basiert. Wenn A1A0 00 ist, dann ist CA0 aktiviert; wenn A1 A0
01 ist, dann ist CA1 aktiviert; wenn A1A0 10 ist, dann ist CA2 aktiviert;
wenn A 1A0 11 ist, dann ist CA3 aktiviert. Diese Reihenfolge stimmt
mit der Reihenfolge der Wahl der Datenbits D0-D3 der 3 überein.
Wenn z.B. A1A0 10 ist, dann ist CA2 aktiviert. Auf der 8A überträgt der vom
Signal CA2 gesteuerte Multiplexer 810-2 das Bit D2 zum
Knoten 322-0. Das Bit D2 ist das erste Bit in der Reihenfolge. Auf
der 8B überträgt der auch
vom Signal CA2 gesteuerte Multiplexer 810-2 das Bit D3
zum Knoten 322-1. Das Bit D3 ist das zweite Bit in der
Reihenfolge. Auf ähnliche
Weise übertragen
die Multiplexer 810-2 der 8C und 8D die
Bits D0 und D1 jeweils zu den Knoten 322-2 und 322-3.
So ist das Signal CA2 aktiviert, wenn A1A0 gleich 10 ist, was die Eingangsauswähleinheiten 320 0-3
veranlasst, die Bits D2, D3, D1 und D0 auszuwählen. Dies stimmt mit der Wahl
der Eingangsauswähleinheiten 320 0-3 der 3 überein.
-
Die 9 ist
ein schematisches Diagramm des Ausgangspfads 310-0 des
ersten Haltespeichers 330-0 der 3. Beim
Haltespeicher 330-0 ist der Multiplexer 912 mit
einem Speicherelement 914 über die Leitung 916 verbunden.
Der Multiplexer 912 umfasst einen Eingang D, der an den
Knoten 322-0 angeschlossen ist, und einen Ausgang, der
an den Knoten 916 angeschlossen ist. Der Multiplexer 912 ist
mit der Leitung 334 an ihren Taktgeber oder die CLK-Klemme
angeschlossen, um das QL2-Signal zu empfangen. Der Multiplexer 912 ist
auch mit der Leitung 915 verbunden, die an einen Ausgang
eines Inverters 917 anschließt. Der Inverter 917 empfängt auch
das QL2-Signal auf der Leitung 334 und erzeugt ein komplementäres Signal
QL2* auf der Leitung 915. Ein Speicherelement 914 hat
einen ersten Speicherknoten Q, der an den Knoten 916 und
einen Speicherknoten Q* der an die Leitung 332-0 angeschlossen
ist. Die 9 zeigt nur den ersten Haltespeicher 330-0 des
Ausgangspfads 310-0, andere erste Haltespeicher 330 1-3
und zweite Haltespeicher 340 0-3 von anderen Ausgangspfaden 310 1-3 sind
jedoch dieselben wie der Haltespeicher 330-0 der 9.
So sind die Funktionen der ersten und zweiten Haltespeicher der 3 dieselben
wie die Funktion des Haltespeichers 330-0 der 9
-
Unter
Bezugnahme auf die 9 wird der Multiplexer 912 geschlossen,
wenn das Signal QL2 nicht aktiviert ist, wodurch verhindert wird,
dass Daten oder Signale auf der Leitung 322 über den
Multiplexer 912 übertragen
werden. Wenn das Signal QL2 aktiviert ist, ist der Multiplexer 912 geöffnet, wodurch es
ermöglicht
wird, dass Daten oder Signale auf der Leitung 322-0 über den
Multiplexer 912 zu den Leitungen 916 und 332-0 übertragen
werden. Ein Signal ist aktiviert, wenn es von einem Signalniveau
zu einem anderen Signalniveau wechselt. In diesem Fall ist das Signal
QL2 aktiviert, wenn es einen Übergang durchführt (oder
umschaltet) von einem niedrigen Signalniveau (LOW) zu einem hohen
Signalniveau (LOW). So werden auf der 9, wenn
QL2 von LOW auf HIGH umschaltet, die Daten auf der Leitung 322-0 zur
Leitung 332-0 übertragen.
Auf ähnliche Weise
werden Daten auf der 3, wenn QL0 und QL1 aktiviert
sind, auf den Leitungen 332 0-3 über die Haltespeicher 340 0-3
zu den Leitungen 342 0-3 übertragen.
-
Die 10 ist
ein schematisches Diagramm der Ausgangsstufe 360 der 3.
Die Ausgangsstufe 360 umfasst ein Speicherelement 1002,
das mit dem Knoten 356 verbunden ist, um die Datenbits D0-D3
von der Ausgangswähleinheit 350 zu
empfangen. Das Speicherelement 1002 verbindet auch mit einem
ersten Eingang eines NOR-Gatters 1004 und einem ersten
Eingang eines NAND-Gatters 1006 am Knoten 1008. Ein zweiter
Eingang eines NOR-Gatters 1004 verbindet mit einem Speicherelement 1014 beim
Knoten 1010. Ein zweiter Eingang eines NAND-Gatters verbindet
mit dem Speicherelement 1014 beim Knoten 1012.
Der Ausgang des NOR-Gatters 1004 verbindet mit einem Gatter
eines p-Kanal-Transistors 1020 über einen Inverter 1016.
Der Ausgang des NAND-Gatters 1006 ist mit einem Gatter
eines n-Kanal-Transistors 1022 über einen Inverter 1018 verbunden.
Der Transistor 1020 hat auch eine Quelle, die mit einer
Stromversorgung und einem Drain verbunden ist, der mit einem Datenpad 114-0 verbunden
ist. Die Transistoren 1022 haben auch einen Drain, der
mit der Erde verbunden ist und eine Qualle, die mit dem Datenpad 1214-0 verbunden
ist. Das Signal DLL0 wird am Knoten 1026 bereitgestellt
der mit dem Multiplexer 1024 verbunden ist. Der Multiplexer 1024 hat
einen Eingang am Knoten 1028 um das Signal QED zu empfangen
und einen an den Knoten 1010 angeschlossenen Ausgang.
-
Während des
Betriebs empfängt
das Speicherelement 1002 die Datenbits D0-D3 in Serie und überträgt sie zum
Knoten 1008, welcher der erste Eingang des NOR-Gatters 1004 und
des NAND-Gatters 1006 ist. Zu einem gewissen Zeitpunkt,
z.B. zum auf der 4 gezeigten Zeitpunkt TB führt DLL0
einen Übergang
auf HIGH aus. Das veranlasst den Multiplexer 1024 dazu,
das Signal QED zu den Knoten 1010 und 1012 zu übertragen.
Das NOR-Gatter 1004 und das NAND-Gatter 1006 bestimmen
die Kombination des QED-Signals an den Knoten 1010 und 1012 mit
dem Signal am Knoten 1008, so dass entweder der Transistor 1020 oder
der Transistor 1022 angeschaltet wird. Wenn der Transistor 1020 angeschaltet
ist, wird der Knoten 114-0 zur Stromversorgung (HIGH) gezogen.
Wenn der Transistor 1022 angeschaltet ist, wird der Knoten 114-0 zur
Erde (LOW) gezogen. HIGH oder LOW am Knoten 114-0 stellt
Daten D0-D3 dar, welche invers in Bezug auf einen der entsprechenden
komplementären
von der Leitung 326 empfangenen Datenbits sind.
-
Die 11 ist
ein Blockdiagramm der Ausgangssteuereinheit 117 der 1.
Die Ausgangssteuereinheit 117 umfasst eine Latenzeingangsschaltung 1110 die
eine Vielzahl von Latenzsignalen LATE 2-LATES auf der Leitung 1112–1115,
ein Lesesignal RDW auf der Leitung 1116 und ein Delayed
Locked Loop-Signal CLKDQ auf der Leitung 1118 empfängt. Die
Latenzeingangsschaltung 1110 hat eine Vielzahl von Ausgaben
auf den Leitungen 1120–1123 mit
dem Ziel, eine Vielzahl von Signalen QED, QSP2, QSP3 und QSP1* bereitzustellen.
Eine Ausgangstimingfreischaltschaltung 1130 ist an die
Eingangslatenz 1110 über
die Leitungen 1118 und 1123 verbunden, um die
Signale CLKDQ und QSP* zu empfangen. Die Ausgangstimingfreischaltschaltung 1130 erzeugt
ein erstes Freischaltsignal CLKL auf der Leitung 1132 und
ein zweites Freischaltsignal CLKH auf der Leitung 1334.
Ein Ausgangstiminggenerator 1150 ist mit der Ausgangstimingfreischaltschaltung 1130 über die
Leitungen 1132 und 1134 verbunden, um die Signale
CLKL und CLKH zu empfangen. Die Signale CLKL und CLKH erlauben es
dem Ausgangstiminggenerator 1150, die Timingsignale DLL0-DLL3 auf den Leitungen 1552–1155 zu
erzeugen. Die Signale DLL0-DLL3 werden benutzt, um die Ausgangswähleinheit 350 zu
steuern, wie es auf der 3 beschrieben wird. Ein Ausbreitungssteuersignalgenerator 1170 ist
mit der Latenzeingangsschaltung 1110 über die Leitungen 1121-1123 und
mit der Ausgangstimingschaltung 1150 über die Leitungen 1152–1155 verbunden,
um die Signale QSP2, QSP3, QSP1* und DLL0-DLL3 zu empfangen. Der
Ausbreitungssteuersignalgenerator 1170 erzeugt die Signale QL0-QL2
auf den Leitungen 1172–1174.
Die Signale QL0-QL2 werden benutzt, um die ersten und zweiten Haltespeicher 330-0-3 und 340 0-3
der 3 zu aktivieren.
-
In
der folgenden Beschreibung bezieht sich ein Flip-Flop auf eine allgemein
benutzte Schaltungskomponente, die weitgehend von einem Fachmann verstanden
wird. In der folgenden Beschreibung ist das Flip-Flop ein positiv
flankengesteuertes Flip-Flop. Ein Fachmann kann jedoch mit Hilfe
der Offenbarung der Erfindung leicht ein negativ flankengesteuertes
Flip-Flop oder andere Komponenten ähnlicher Art benutzen, um das
gleiche Ergebnis zu erhalten. Außerdem bezieht sich in der
folgenden Beschreibung, ein „Haltespeicher" oder ein „Durchgangshaltespeicher" auch auf allgemeine
Schaltungskomponenten. Ein Haltespeicher wird benutzt, um Daten
oder Signale von seinem Eingang zu seinem Ausgang zu übertragen.
Die in der folgenden Beschreibung beschriebenen Haltespeicher können dem
Haltespeicher 330-0 der 9 ähneln.
-
Die 12 ist
ein schematisches Diagramm der Latenzeingangsschaltung 1110 der 11.
Die Latenzeingangsschaltung 1110 weist einen Durchgangshaltespeicher
(LAT) 1210 und eine Vielzahl von Flip-Flops (FF) 1212–1214 auf.
Der Haltespeicher 1210 und die Flip-Flops 1212–1214 empfangen
das Signal CLKDQ auf der Leitung 1118. Der Haltespeicher 1210 und
FF 1212 empfangen das Signal RDW auf der Leitung 1116.
Eine Vielzahl von Multiplexern 1216–1219 empfangen LATE2-LATE5
auf den Leitungen 1112–1115,
um das Signal RDW zum Knoten 1230 zu übertragen. Ein Flip-Flop 1232 hat
einen Eingang, der mit dem Knoten 1230 über einen Inverter 1235 verbunden
ist. Ein Ausgang des FlipFlops 1232 ist mit einem Eingang
eines Haltespeichers 1234 am Knoten 1123 verbunden,
der das Signal QSP1* bereitstellt. Der Haltespeicher 1234 hat
einen Ausgang, der mit einem Eingang eines Haltespeichers 1236 beim
Knoten 1122, der das Signal QSP2 bereitstellt, verbunden
ist. Der Knoten 1122 stellt auch das QED-Signal über seriell
geschaltete Inverter 1242 und 1244 bereit. Ein
Ausgang des Haltespeichers 1236 ist mit dem Knoten 1121 über einen
Inverter 1240 verbunden, um das Signal QSP3 bereitzustellen.
Die Takteingänge
des Flip-Flops 1232 und die Haltespeicher 1234 und 1236 empfangen
auch das Signal CLKDQ.
-
RDW
ist ein Signal, das von der Speichersteuereinheit 116 erzeugt
wird, wenn eine Kombination des Eingangssignale CS*, RZAS* und WE*
valid ist. Die Signale LATE2-LATE5 werden auch von der Steuerschaltung 116 auf
der Basis der Latenz erzeugt, die in der Speichervorrichtung 100 programmiert
ist.
-
Das
CLKDQ-Signal wird von einer Delay-Locked Loop der Speichervorrichtung 100 bereitgestellt.
Die Delay-Locked Loop wird nicht gezeigt, da es eine übliche Schaltung
ist, die eine der weithin bekannten Typen der Delay-Locked Loops
aus dem Stand der Technik sein kann.
-
Auf
der 12 werden die Signale QSP1*, QSP2 und QSP3 durch
die Ausbreitung des Signals RDW durch den Haltespeicher 1210 oder
einen der Flip-Flops 1212–1214 erzeugt. Wenn
die Latenzeinstellung zwei ist, dann durchqueren die Signale RDW den
Haltespeicher 1216 zu Knoten 1230. Wenn die Latenzeinstellung
drei, vier oder fünf
ist, dann wird das RDW-Signal zu einem, zwei oder drei der Flip-Flops 1212–1214 übertragen.
Die Signale LATE2-LAT5 steuern die Übertragung des RDW-Signals zum Knoten 1230 durch
die Multiplexer 1216–1219.
-
Der
Betrieb der Latenzeingangsschaltung 1110 der 12 wird
hier in Zusammenhang mit dem Timingdiagramm der 16 beschrieben.
Um die Erfindung darzustellen, wird angenommen, dass die Speichervorrichtung 100 programmiert
oder auf eine Latenz von vier eingestellt ist, und so ist nur das LATE4-Signal
aktiviert. In diesem Fall wird ein erstes Datenbit am Datenpad 114-0 während vier
Taktzyklen erscheinen, nachdem ein Lesebefehl validiert worden ist.
Auf der 16 gehen die Signale CLKDQ und
CLK bei A und B in Erwartung einer Leseoperation auf HIGH über. Zur
Zeit T0 erzeugt ein READ-Befehl einen Übergang zu HIGH (bei C), wodurch
ein Beginn einer neuen Leseoperation angegeben wird. Daraufhin schaltet
das Signal RDW bei D auf High um. Auf der 12 aktiviert
das Signal LATE4, nachdem sich das Signal RDW durch die Flip-Flops 1212 und 1213 ausgebreitet
hat, den Multiplexer 1218 um das Signal RDW zum Knoten 1230 auf
der 12 zu übertragen.
Da das Signal RDW HIGH ist, ist das Signal bei dem Knoten 1230 auch HIGH.
Auf der 16 ist der Knoten 1230 in
E auf HIGH umgeschaltet. Ein Hoch (HIGH) bei dem Knoten 1230 zwingt
dem Ausgang des Inverters 1235 ein LOW auf. Das Signal
am Ausgang des Inverters 1235 ist auch das Signal am Eingang
des Flip-Flops 1232. Da das CLKDQ auf High ist, erzeugt
der Flip-Flop 1232 das Signal LOW an seinem Ausgang am
Knoten 1123, was das QSP1*-Signal darstellt. Auf der 16 schaltet
QSP1* bei F auf LOW um. Danach breitet sich das Signal am Knoten 1123 durch
die Haltespeicher 1234 zum Knoten 1122 und dann
durch den Haltespeicher 1236 zum Knoten 1121 aus.
Das Signal am Knoten 1122 wird durch das Signal QSP2 dargestellt
und das Signal am Knoten 1121 wird durch das Signal QSP3
dargestellt. Auf der 16, wenn das Signal QSP1* am
Knoten 1123 LOW ist, veranlasst es das Signal QSP2 bei
G auf HIGH umzuschalten und das Signal QSP3 bei H auf HIGH umzuschalten.
Außerdem
folgt das Signal QED am Knoten 1120 dem Signal QSP2 durch
die Inverter 1242 und 1244. Die Signale QSP1*,
QSP2 und QSP3 werden als Eingangssignale in andere Schaltungen benutzt,
wie es auf der 11 gezeigt wird. Das Signal QED
wird als Abtastsignal benutzt um Daten, wie es auf der 10 gezeigt
wird, auszugeben.
-
Die 13 ist
ein schematisches Diagramm der Ausgangstimingfreischaltschaltung 1130 der 11.
Die Ausgangstimingfreischaltschaltung 1130 hat eine Impulsschaltung
(PULSE) 1315 die an die Leitung 1123 angeschlossen
ist, um das Signal QSP1*, zur Erzeugung eines Haltespeicherrückstellsignals
LRST, am Knoten 1317 zu empfangen. Ein Flip-Flop 1320 hat
eine Rückstelleingabe
RS, eine Takteingabe CLK, eine Dateneingabe D, und eine komplementäre Ausgabe
Q und Q*. Die Eingabe RS ist mit dem Knoten 1317 verbunden,
um das LRST-Signal zu empfangen. Die CLK-Eingabe ist mit einer Verzögerungseinheit 1314 am
Knoten 1312 verbunden, um eine Verzögerungsversion des CLKDQ-Signals zu empfangen.
Der Eingang D und der Ausgang Q* sind miteinander verbunden. Der Ausgang
Q stellt das Signal CLKL auf der Leitung 1132 durch die
Inverter 1316 und 1318 bereit. In Serie geschaltete
Haltespeicher 1322 und 1324 empfangen die verzögerte Version
des CLKDQ-Signals auf der Leitung 1312 und stellen das
Signal CLKH auf der Leitung 1134 bereit. Der Knoten 1134 ist
mit dem Eingang D über
eine Feedbackschleife verbunden, die einen Inverter 1332 umfasst.
Ein Transistor 1328 hat ein Gatter, das an eine Verzögerungseinheit 1330 angeschlossen
ist, um eine Verzögerungsversion des
LRST- Signals zu
empfangen. Der Transistor 1326 hat auch eine Quelle, die
an die Erde angeschlossen ist, und einen Drain, der an eine Rückstellklemme
RS des Haltespeichers 1324 angeschlossen ist. Wenn das
LRST-Signal aktiviert
ist (HIGH), schaltet es den Transistor 1328 an und stellt
den Haltespeicher 1324 zurück. Wenn der Haltespeicher 1324 rückgestellt
ist, schaltet es das Signal CLKH am Knoten 1134 auf LOW
um. Das Signal LRST setzt auch den Haltespeicher 1320 auf
die gleiche Weise zurück.
Wenn das LRST-Signal
auf HIGH umgeschaltet ist, schaltet es das Signal CLKL auf dem Knoten 1132 auf
LOW um.
-
Auf
der 13 werden die Signale CLKH et CLKL auf der Basis
des Signals CLKDQ erzeugt. Die Freischaltsignale CLKL und CLKH werden
benutzt, um das Signal DLL0-DLL3 zu aktivieren, welche es wiederum
ermöglicht,
dass Daten zu den Datenpads 114 0-N während der Leseoperation übertragen
werden. Um sicherzustellen, dass die Daten bei jeder Leseoperation
korrekt übertragen
werden, ist das LRST-Signal jedes Mal aktiviert, wenn ein neuer
Lesebefehl empfangen wird. Die LRST stellt die Signale CLKH und
CLKL zurück,
um sicherzustellen, dass die Daten korrekt übertragen werden.
-
Unter
erneuter Bezugnahme auf die 16 erzeugt
die Impulsschaltung einen Impuls LRST bei I, wenn QSP1* bei F als
Ergebnis einer neuen Leseoperation, bei der durch RDW HIGH angegeben
wird, auf LOW umschaltet. Wenn das LRST-Signal aktiviert ist, stellt
es bei J und K die CLKH- und CLKL-Signale auf LOW um. Nach dem Rücksetzen
bei J und K auf LOW, werden die CLKH- und CLKL-Signale bis zu einem anderen Rücksetzen
nur durch das CLKDQ-Signal beeinflusst. Das CLKH-Signal übernimmt
z.B. seine normalen Übergänge bei
L, M und N; Das CLKL-Signal übernimmt
z.B. seine normalen Übergänge bei
O, P und Q. Wie es auf der 16 gezeigt
wird, haben CLKH und CLKL unterschiedliche Phasen. In anderen Worten
sind CLKH und CLKL nicht synchron. Die Signale CLKH und CLKL werden benutzt,
um den Ausgangstiminggenerator 1150 auf der 14 freizuschalten.
-
Die 14 ist
ein schematisches Diagramm des Ausgangstiminggenerators 1150 der 11.
Der Ausgangstiminggenerator 1150 hat erste und zweite Timingschaltungen 1410 und 1420.
Beide Schaltungen 1410 und 1420 sind auf die gleiche
Weise konstruiert und empfangen dasselbe CLKDQ-Signal auf der Leitung 1118.
Die Schaltung 1410 hat einen Impulsgenerator 1416,
der eine Umkehrfunktion von CLKDQ über einen Inverter 1411 empfängt. Der
Impulsgenerator 1416 erzeugt ein Ausgangssignal am Knoten 1413.
Das Signal am Knoten 1413 wird auf die Leitungen 1153 oder 1155,
die die Signale DLL1 oder DLL3 darstellen, übertragen. Die Übertragung von
dem Knoten 1413 zur Leitung 1153 oder 1155 wird
durch Multiplexer 1415 oder 1418 gesteuert. Die Multiplexer 1415 und 1418 werden
von dem Signal CLKL beim Knoten 1132 gesteuert.
-
Die
Schaltung 1420 weist einen Impulsgenerator 1426 auf,
der das CLKDQ durch einen Inverter 1411 an seinem Eingang
am Knoten 1429 empfängt. Der
Impulsgenerator 1426 erzeugt ein Ausgangssignal am Knoten 1423.
Das das Signal DLL0 oder DLL2 darstellende Signal am Knoten 1413 wird
zu den Leitungen 1153 oder 1155 übertragen.
Die Übertragung vom
Knoten 1423 zu den Leitungen 1154 oder 1152 wird
durch die Multiplexer 1425 oder 1428 gesteuert. Die
Multiplexer 1425 und 1428 werden durch das Signal
CLKH am Knoten 1134 gesteuert.
-
Im
Allgemeinen empfangen die Impulsgeneratoren 1416 und 1426 das
CLKDQ-Signal und erzeugen ein Ausgangssignal auf den Knoten 1413 und 1423.
Das Signal auf dem Knoten 1413 durchquert die Multiplexer 1415 oder 1418,
um sich in die Signale DLL1 oder DLL3 zu verwandeln. So wird in
Abhängigkeit
von der Phase des CLKL-Signals entweder DLL1 oder DLL3 erzeugt.
In anderen Worten werden DLL1 und DLL4 bei alternierenden Phasen
des CLKL erzeugt. Auf ähnliche
Weise durchquert das Signal auf dem Knoten 1423 die Multiplexer 1425 oder 1428 um
sich in die Signale DLL0 oder DLL2 zu verwandeln. So wird in Abhängigkeit
von der Phase des CLKL-Signals entweder DLL0 oder DLL2 erzeugt.
In anderen Worten werden DLL0 und DLL2 bei alternierenden Phasen
des CLKH erzeugt. Die Signale CLKH und CLKL haben nicht dieselbe
Phase. Das versetzt sie in die Lage, die Signale DLL0-DLL3 korrekt zu aktivieren,
so dass die Reihenfolge der Datenbits D0-D3 korrekt auf den Datenpad 114-0 ausgegeben
werden kann.
-
Die 17 ist
ein Funktions-Timingdiagramm der 14. Auf
der 17 stellen die Signale an den Knoten 1423 und 1413 die
Signale an den Ausgängen
der Impulsgeneratoren 1416 und 1426 an den Knoten 1423 und 1413 der 14 dar.
Die Signale CLK, READ, LRST, CLKH und CLKL sind dieselben Signale
wie bei der 16. Wenn das CLKH-Signal bei
J auf LOW ist, aktiviert es den Multiplexer 1428, woduch
es dem Signal am Knoten 1423 ermöglicht wird, den Inverter 1429 zu
durchqueren. Zu dieser Zeit ist das Signal am Knoten 1423 auf LOW
und folglich ist das Signal am Ausgang des Inverters 1429 oder
das Signal DLL0 auf HIGH. Auf der 17 ist
DLL0 bei S0 auf HIGH aktiviert. Wenn das CLKH-Signal bei L auf LOW
ist, aktiviert es den Multiplexer 1425, wodurch es dem
Signal am Knoten 1423 ermöglicht wird, den Inverter 1427 zu
durchqueren. Zu dieser Zeit ist das Signal am Knoten 1413 auf LOW
und folglich ist das Signal am Ausgang des Inverters 1427 oder
das Signal DLL2 auf HIGH. Auf der 17 ist
DLL2 bei S2 auf HIGH umgeschaltet. Zusammengefasst aktiviert das
Signal CLKH das Timingsignal DLL0, wenn es einen Übergang
ausführt und
wenn es einen anderen Übergang
ausführt,
aktiviert es das Timingsignal DLL2. Die Timingsignale DLL0 und DLL2
werden z.B. auf der 17 während unterschiedlicher Phasen
des Freischaltsignals CLKH aktiviert. DLL0 wird bei einer Phase
des Signals CLKH aktiviert (wenn das Signal CLKH LOW ist); und DLL2
wird bei einer anderen Phase des Signals CLKH aktiviert (wenn das
Signal CLKH HIGH ist). In anderen Worten werden die Timingsignale DLL0
und DLL2 entsprechend einer abnehmenden Flanke und einer ansteigenden
Flanke des Freischaltsignals CLKH aktiviert.
-
Wenn
das CLKL-Signal bei K auf ähnliche Weise
auf LOW ist, aktiviert es den Multiplexer 1418, wodurch
es dem Signal am Knoten 1413 ermöglicht wird, den Inverter 1419 zu
durchqueren. Zu dieser Zeit ist das Signal am Knoten 1413 auf
LOW und folglich ist das Signal am Ausgang des Inverters 1419 oder
das Signal DLL1 auf HIGH. Auf der 17 ist DLL1
bei S1 auf HIGH umgeschaltet. Wenn das CLKL-Signal bei O auf HIGH
ist, aktiviert es den Multiplexer 1415, wodurch es dem
Signal am Knoten 1413 ermöglicht wird, den Inverter 1417 zu
durchqueren. Zu dieser Zeit ist das Signal am Knoten 1413 auf LOW
und folglich ist das Signal am Ausgang des Inverters 1417 oder
das Signal DLL3 auf HIGH. In 17 ist
DLL3 bei S3 auf HIGH aktiviert. Zusammengefasst aktiviert das Signal
CLKL das Timigsignal DLL1, wenn es einen Übergang ausführt und wenn
es einen anderen Übergang
ausführt,
aktiviert es das Timingsignal DLL3. Die Timingsignale DLL1 und DLL3
werden z.B. auf der 17 während unterschiedlicher Phasen
des Freischaltsignals CLKL aktiviert. DLL1 wird bei einer Phase
des Signals CLKL aktiviert (wenn das Signal CLKL HIGH ist); und
DLL3 wird bei einer anderen Phase des Signals CLKL aktiviert (wenn
das Signal CLKL LOW ist). In anderen Worten werden die Timingsignale
DLL1 und DLL3 entsprechend einer abnehmenden Flanke und einer ansteigenden
Flanke des Freischaltsignals CLKL aktiviert.
-
Auf
der 17 gibt, OUTPUT DATA die Datenbits an, die am
Datenpad 114- ausgegeben werden. Bei Latenz vier, erscheint
das erste Datenbit zum Zeitpunkt T4. Mit dem Ziel, die Erfindung
zu beschreiben wird angenommen, dass der Datenausgabe am Datenpad 114-0 eine
Datenreihenfolge D0, D1, D2 und D3 folgt. So weisen D0 und D2 gerade und
D1 und D3 ungerade Datenbits auf. Im Allgemeinen sind die ebenen
Datenbits die ersten und dritten Bits in einer Serie von vier auf
dem Datenpad 114-0 ausgegebenen Daten. Ungerade Datenbits
sind die zweiten und vierten Datenbits. In diesem Fall werden die
geraden Datenbits D0 und D2 ausgegeben nachdem die Timingsignale
DLL0 und DLL2 aktiviert sind oder auf HIGH bei verschiedenen Phasen
des Freischaltsignals CLKH übergehen.
In anderen Worten werden die Bits D0 und D2 bei alternierenden Phasen
des Freischaltsignals CLKH ausgegeben. Auf ähnliche Weise werden D1 und
D3 ausgegeben nachdem die Timingsignale DLL1 und DLL3 aktiviert sind
oder auf HIGH bei verschiedenen Phasen des Freischaltsignals CLKL übergehen.
In anderen Worten werden die Bits D1 und D3 bei alternierenden Phasen
des Freischaltsignals CLKL ausgegeben.
-
Die 15 ist
ein schematisches Diagramm des Ausbreitungssteuersignalgenerators 1170 der 11.
Der Ausbreitungssteuersignalgenerator 1170 hat ein NOR-Gatter 1502,
um die DLL3 und QSP2-Signale
auf den Knoten 1155 und 1122 zu empfangen. Ein
Ausgang des NAND-Gatters 1502 ist mit einem Inverter 1504 verbunden,
der einen Ausgang hat, der mit dem Knoten 1172 verbunden
ist, um das QL0-Signal bereitzustellen. In einer ähnlichen Anordnung
empfängt
ein NAND-Gatter 1512 die DLL1- und QSP3-Signale am Knoten 1153 und 1121. Der
Ausgang des NAND-Gatters 1512 ist mit einem Inverter 1514 verbunden,
der einen Ausgang hat, der mit dem Knoten 1173 verbunden
ist, um das QL1-Signal
bereitzustellen. Der Ausbreitungssteuersignalgenerator 1170 empfängt auch
andere Signale wie LATE2, LATE3, QED, QSP1*, DLL0 und DLL3, die durch
andere Schaltungen als die oben beschriebenen erzeugt wird. Die
Signale LATE2 und LATE3 werden an einem NOR-Gatter 1532 kombiniert.
Die Signale DLL0 und DLL2 werden an dem NOR-Gatter 1534 kombiniert.
Der Ausgang des NOR-Gatters 1534 ist mit dem Signal QED
und QSP1* an dem NOR-Gatter 1536 kombiniert. Das Signal
am Ausgang des NOR-Gatters 1532 steuert einen Multiplexer 1544 und
ein Gatter eines Transistors 1546. Der Transistor 1546 zieht
den Knoten 1174 zu einer Spannungsversorgung, wenn er aktiviert
ist. Der Multiplexer überträgt, wenn
er aktiviert ist, das Signal am Ausgang des NOR-Gatters 1536 zum
Knoten 1174. Das Signal am Knoten 1174 stellt
das Signal QL2 dar.
-
In
der 15 ist QL2 auf HIGH umgeschaltet, wenn die beiden
Signale DLL3 und QSP2 sich auf HIGH befinden. Auf ähnliche
Weise wird das QL1-Signal auf HIGH umgeschaltet nur wenn die Signale DLL1
und QSP3 auf HIGH umgeschaltet sind. Wie es oben beschrieben worden
ist, ist das QL2-Signal
immer aktiviert, wenn die Latenzeinstellung zwei oder drei ist.
Wenn auf der 15 entweder das Signal LATE2
oder das Signal LATE3 am Knoten 1112 oder 1113 auf
HIGH umgeschaltet ist, wobei entweder eine Latenzeinstellung von
zwei oder drei angegeben wird, wird der Ausgang des NOR-Gatters 1532 am Knoten 1540 auf
LOW umgeschaltet. Das schaltet den Transistor 1546 an,
wodurch der Knoten 1174 auf Spannungsversorgung (HIGH)
angeschlossen wird. So befindet sich das Signal QL2 am Knoten 1174 immer
auf HIGH wenn sich entweder LAT2 oder LATE3 auf HIGH befindet. Wenn
beide Signale LATE2 und LATE3 auf LOW sind, wobei entweder eine
Latenzeinstellung von vier oder fünf angegeben wird, wird der
Ausgang des NOR-Gatters 1532 am Knoten 1540 auf
HIGH umgeschaltet. Das schaltet den Transistor 1546 aus.
So hängt
das Signal QL2 am Knoten 1174 von den Signalen QED, QSP1*, DLL0
und DLL2 ab.
-
Die 17 zeigt
auch ein Timing des Betriebs der 15. In
der 17 werden die Signale QL0-QL2 zum geeigneten Zeitpunkt
in Bezug auf andere Signale, wie es auf der 15 gezeigt
ist, aktiviert oder auf HIGH umgeschaltet. Die Übergänge des Signals QL2 befinden
sich zwischen den Übergängen des
Signals QL0. Die Übergänge des
Signals QL2 befinden sich auch zwischen den Übergängen des Signals QL1. Wie es
vorher in der Beschreibung der 6 und 7 beschrieben
worden ist, erlaubt es das Timing der Übergänge des Signals QL2 dass die
Signale QL0 und QL1 korrekt akiviert werden. Das erlaubt es, dass
die Daten während
des Lesevorgangs genau verarbeitet werden.
-
Die 18 stellt
ein eine Speichervorrichtung umfassendes erfindungsgemäßes System
dar. In der Figur umfasst das System 1800 einen Prozessor 1802,
der an eine Speichervorrichtung 100 angeschlossen ist.
Die Speichervorrichtung 100 der Erfindung wird oben auf
der 1 beschrieben. Der Prozessor 1802 stellt
der Speichervorrichtung 100 Steuersignale über Steuerleitungen
(CONTROL) zur Verfügung.
Die Datenkommunikation zwischen dem Prozessor und dem Speicher wird über Datenleitungen oder
einen Datenbus (DATA) übertragen,
und die Adressen werden dem Speicher über Adressenleitungen oder
Adressenbusse (ADDRESS) zur Verfügung
gestellt. In einem Beispiel werden der Prozessor 1802 und
die Speichervorrichtung 100 auf einem einzigen Chip hergestellt.