DE10209398A1 - Speichersteuerung mit einer Unterstützung für Speichermodule aus RAM-Bauelementen mit inhomogener Datenbreite - Google Patents
Speichersteuerung mit einer Unterstützung für Speichermodule aus RAM-Bauelementen mit inhomogener DatenbreiteInfo
- Publication number
- DE10209398A1 DE10209398A1 DE10209398A DE10209398A DE10209398A1 DE 10209398 A1 DE10209398 A1 DE 10209398A1 DE 10209398 A DE10209398 A DE 10209398A DE 10209398 A DE10209398 A DE 10209398A DE 10209398 A1 DE10209398 A1 DE 10209398A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- strobe signal
- memory
- memory controller
- strobe
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
Abstract
Die Erfindung offenbart eine Speichersteuerung, die aus Speichermodulen, die mit RAM-Bauelementen (RAM = Random Access Memory = Direktzugriffsspeicher) mit inhomogener Datenbreite besetzt sind, liest und in dieselben schreibt, wobei die RAM-Bauelemente von einem Typ sind, der Daten mit einem quellsynchronen Strobesignal sendet und empfängt. Die Speichersteuerung hält eine Speichertabelle und speichert darin Anzeigen von Daten-/Strobesignal-Verhältnissen, die erforderlich sind, um aus Speichermodulen, die mit der Speichersteuerung gekoppelt sind, zu lesen und in dieselben zu schreiben. Die Anzeigen der Daten-/Strobesignal-Verhältnisse werden während der Lese- und Schreib-Zyklen der Speichersteuerung adressiert. Adressierte Anzeigen werden während der Schreibzyklen verwendet, um sicherzustellen, daß die Strobesignale bei einer korrekten Anzahl von Strobesignal-Anschlußflächen erzeugt werden. Adressierte Anzeigen werden während der Lesezyklen verwendet, um sicherzustellen, daß empfangene Datensignale den korrekten und entsprechenden Strobesignalen derselben zugeorndet sind.
Description
Die Erfindung bezieht sich auf das Gebiet der Speicher
steuerungen.
Der Zweck einer Speichersteuerung besteht darin, Speicher
zugriffsanfragen (d. h. Anfragen, um Daten von einer Anzahl
von Speichermodulen zu lesen und Daten zu denselben zu
schreiben) auszusenden und auszuführen. Eine Speicher
zugriffsanfrage kann durch entweder eine Zentralverarbei
tungseinheit (CPU; CPU = Central Processing Unit) oder eine
Eingangs-/Ausgangs-Vorrichtung (I/O-Vorrichtung) eingelei
tet werden.
In der Vergangenheit wurden die meisten Speichersteuerungen
entworfen, um auf Speichermodule zuzugreifen, die über ge
meinsame Taktdatenübertragungen gelesen und beschrieben
werden. Das heißt, Datenbits werden zwischen einer Spei
chersteuerung und einer Anzahl von Speichermodulen synchron
mit den steigenden Flanken des inneren Takts der Speicher
steuerung übertragen. Es gibt jedoch derzeit einen Drang,
Speichersteuerungen zu entwickeln, die auf Speichermodule
mit doppelter Datenrate (DDR; DDR = Double Data Rate)
zugreifen können.
Ein DDR-Speichermodul ist ein Modul, das über quellsynchro
ne Datenübertragungen gelesen und beschrieben wird. Das
heißt, es werden Datenbits zwischen einer Speichersteuerung
und einer Anzahl von Speichermodulen synchron mit den stei
genden und fallenden Flanken eines Strobe-Signals bzw. Be
stätigungssignals, wobei das Strobe-Signal durch die Kompo
nente erzeugt wird, die die Quelle der Daten ist, übertra
gen. Das Strobe-Signal wird dann durch die Komponente, die
die Daten empfängt, für den Zweck des Erfassens der Daten
verwendet. Ein Strobe-Signal wird daher durch die Speicher
steuerung während einer Schreibeoperation übertragen und
ein Strobe-Signal wird durch ein Speichermodul während ei
ner Leseoperation übertragen.
Wie es für Fachleute bekannt ist, stellen Speicherherstel
ler eine Mehrzahl von unterschiedlichen Speichermodultypen
her und Computersysteme verwenden eine Mehrzahl von unter
schiedlichen Speichermodultypen. Für den Computerbenutzer
ist ungünstigerweise ein gegebenes Computersystem typi
scherweise auf das Verwenden von einem Speichermodultyp
(d. h. homogene Speichermodule) begrenzt. Wenn daher ein Compu
terbenutzer verfügbaren Speicher zu dem Computer desselben
hinzufügen möchte, muß der Computerbenutzer genau bestim
men, welchen Speichertyp der Computer desselben erfordert
und dann diesen Speichertyp ausfindig machen und erwerben.
Ein Computerbenutzer entscheidet sich manchmal, nicht den
Speicher desselben zu erweitern, da beispielsweise der
Speichertyp, den der Computer desselben erfordert, zu teuer
ist, oder der Speichertyp, den der Computer desselben er
fordert, nicht die Charakteristika liefert, die gesucht
ist (der Speicher besitzt beispielsweise eine niedrige
Bandbreite, niedrige Geschwindigkeit oder niedrige Kapazi
tät etc.). Selbst innerhalb der Kategorie von DDR-DIMM
(DIMM = Dual Inline Memory Module = doppelreihiges Spei
chermodul) gibt es zahlreiche Typen von Speichermodulen,
von denen wahrscheinlich nur einer in einem gegebenen Com
putersystem verwendbar ist.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine
Speichersteuerung, eine Speicherschnittstelle für ein Com
putersystem, ein Computersystem und ein Verfahren zum Lesen
und Schreiben von Speichermodulen, die RAM-Bauelemente mit
inhomogener Datenbreite aufweisen, zu schaffen, die die
flexible Verwendung von unterschiedlichen Speichermodulty
pen in einem gegebenen Computersystem ermöglichen.
Diese Aufgabe wird durch eine Speichersteuerung nach An
spruch 1, 7 oder 15, eine Speicherschnittstelle für ein
Computersystem nach Anspruch 17, ein Computersystem nach
Anspruch 19 und ein Verfahren nach Anspruch 26 gelöst.
Gemäß der Erfindung sind hierin Verfahren und Vorrichtungen
zum Liefern einer Speichersteuerung offenbart, die die Fä
higkeit aufweist, Speichermodule aus RAM-Bauelementen (RAM
= Random Access Memory = Direktzugriffsspeicher) mit inho
mogener Datenbreite zu lesen und zu schreiben. Ein Compu
tersystem, das die neue Speichersteuerung verwendet, wird
daher dem Benutzer desselben eine Anzahl von Optionen für
Speichererweiterungen liefern, von denen einige aufwandsef
fektiver sein können, einige eine bessere Leistung liefern
können etc. Die Verfahren und die Vorrichtungen sind insbe
sondere im Zusammenhang von DDR-Speichermodulen relevant,
die DDR-SDRAM (SDRAM = Synchronous Dynamic Random Access
Memory) mit Datenbreiten von 4, 8 und 16 Bit aufweisen kön
nen, wie es in dem JEDEC-Standard Nr. 79 (veröffentlicht im
Juni 2000; auf den hierin im folgenden als die "JEDEC-DDR-
SDRAM-Spezifikation" Bezug genommen wird) definiert ist.
Ein Ausführungsbeispiel der Erfindung ist in einer Spei
chersteuerung ausgeführt, die eine Speichertabelle auf
weist, die Anzeigen von Daten-/Strobe-Signal-Verhältnissen
speichert, die erforderlich sind, um Speichermodule zu le
sen und zu schreiben, die mit der Speichersteuerung gekop
pelt sind. Die Speichertabelle wird während der Lese- und
Schreib-Zyklen der Speichersteuerung adressiert. Die Spei
chersteuerung weist ferner Teilsätze von Strobe-Signal-
Treiberschaltungen auf, wobei jeder der Teilsätze adres
sierte Anzeigen der Daten-/Strobe-Signal-Verhältnisse wäh
rend der Schreibzyklen der Speichersteuerung empfängt. Min
destens einer der Teilsätze der Strobe-Signal-
Treiberschaltungen erzeugt Strobe-Signale ansprechend auf
lediglich einen Abschnitt der adressierten Anzeigen der Da
ten-/Strobe-Signal-Verhältnisse (z. B. bestimmte Werte der
adressierten Anzeigen). Die Speichersteuerung weist ferner
eine Mehrzahl von Strobe-Signal-Empfängerschaltungen und
Datensignal-Empfängerschaltungen sowie eine Anzahl von Mul
tiplexern auf, die mindestens einige der Strobe-Signal-
Empfängerschaltungen mindestens einigen der Datensignal-
Empfängerschaltungen zuordnen. Jeder der Multiplexer emp
fängt adressierte Anzeigen von Daten-/Strobe-Signal-
Verhältnissen während der Lesezyklen der Speichersteuerung
und ordnet ansprechend auf unterschiedliche Anzeigen unter
schiedliche der Strobe-Signal-Empfängerschaltungen den Da
tensignal-Empfängerschaltungen zu.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
sind nachfolgend bezugnehmend auf die beiliegenden Zeich
nungen näher erläutert. Es zeigen:
Fig. 1 ein Computersystem;
Fig. 2 ein erstes exemplarisches Ausführungsbeispiel der
Speichersteuerung von Fig. 1, wobei die Speicher
steuerung direkt an einer Mehrzahl von Speicher
modulen zum Zweck von Datenübertragungen in einem
1x-Modus befestigt ist;
Fig. 3 ein zweites exemplarisches Ausführungsbeispiel
der Speichersteuerung von Fig. 1, wobei die Spei
chersteuerung an einer Mehrzahl von Speichermodu
len über einen Zwischenchip zum Zweck von Daten
übertragungen in einem 2x-Modus befestigt ist;
Fig. 4 eine Speichersteuerungs-Treiberschaltungsanord
nung, die Daten in einem 1x-Modus oder 2x-Modus
treiben kann;
Fig. 5 ein bevorzugtes Ausführungsbeispiel der Ausgangs
mischschaltungsanordnung, die in Fig. 4 gezeigt
ist;
Fig. 6 eine Variation der Speichersteuerungs-Treiber
schaltungsanordnung von Fig. 4, wobei die Schal
tungsanordnung zum Einleiten einer Schreibphasen
verzögerung vorgesehen ist;
Fig. 7 ein bevorzugtes Ausführungsbeispiel einer Takt
schaltung, die viele der Taktsignale erzeugt, die
in den Fig. 8, 12-19 und 21-26 erscheinen;
Fig. 8 ein bevorzugtes Ausführungsbeispiel der Speicher
steuerungsschaltungsanordnung, die eine Datensi
gnal-Treiberschaltungsanordnung und eine entspre
chende Strobe-Signal-Treiberschaltungsanordnung
umfaßt;
Fig. 9 ein Speicherteilsystem, das ein drittes exempla
risches Ausführungsbeispiel der Speichersteuerung
von Fig. 1 umfaßt, wobei die Speichersteuerung
eine Mehrzahl von entsprechenden Strobe-Signal-
und Datensignal-Anschlußflächen aufweist;
Fig. 10 eine exemplarische Art und Weise zum Anpassen der
Strobe-Signal- und Datensignal-Anschlußflächen,
um das Schreiben einer Speichersteuerung zu x4-,
x8- oder x16-DIMM zu unterstützen;
Fig. 11 eine Speichertabelle zum Verfolgen, ob x4-, x8-
oder x16-DIMM an den Daten- und Strobe-Signal-
Anschlußflächen einer Speichersteuerung befestigt
sind;
Fig. 12 ein bevorzugtes Ausführungsbeispiel einer Schal
tung zum Liefern der Signale act_stb[0 : 1] (siehe
Fig. 8) zu unteren Strobe-Signal-Anschlußflächen
der Speichersteuerung von Fig. 9;
Fig. 13 ein bevorzugtes Ausführungsbeispiel einer Schal
tung zum Liefern der Signale act_stb[0 : 1] (siehe
Fig. 8) zu oberen Strobe-Signal-Anschlußflächen
der Speichersteuerung von Fig. 9;
Fig. 14 Schreibtakte der Treiberschaltungsanordnung von
Fig. 8, wenn dieselbe in dem 1x-Modus konfigu
riert ist, mit ausgerichteten Schreib-Strobe-
Signalen, wpd = 0 und long_wpre = 0;
Fig. 15 Schreibtakte der Treiberschaltungsanordnung von
Fig. 8, wenn dieselbe in dem 1x-Modus konfigu
riert ist, mit ausgerichteten Schreib-Strobe-
Signalen, wpd = 0 und long_wpre = 1;
Fig. 16 Schreibtakte der Treiberschaltungsanordnung von
Fig. 8, wenn dieselbe in dem 2x-Modus konfigu
riert ist, mit verzögerten Schreib-Strobe-
Signalen, wpd = 0 und long_wpre = 0;
Fig. 17 Schreibtakte der Treiberschaltungsanordnung von
Fig. 8, wenn dieselbe in dem 2x-Modus konfigu
riert ist, mit verzögerten Schreib-Strobe-
Signalen, wpd = 0 und long_wpre = 1;
Fig. 18 ein bevorzugtes Ausführungsbeispiel einer Daten
signal-Empfängerschaltungsanordnung einer Spei
chersteuerung;
Fig. 19 ein erstes bevorzugtes Ausführungsbeispiel einer
Strobe-Signal-Empfängerschaltungsanordnung einer
Speichersteuerung;
Fig. 20 ein zweites bevorzugtes Ausführungsbeispiel einer
Strobe-Signal-Empfängerschaltungsanordnung einer
Speichersteuerung;
Fig. 21 eine Steuerungs-Speicher-Steuerungs-Lesepfad
schleife;
Fig. 22 Lesetakte der in den Fig. 18, 19 und 28 gezeigten
Empfängerschaltungsanordnung, wenn dieselbe in
dem 1x-Modus mit rpd = 0 konfiguriert ist;
Fig. 23 stärkere Details des in Fig. 22 dargestellten
"frühen" 1x-Modus-Lesefalls;
Fig. 24 stärkere Details des in Fig. 22 dargestellten
"späten" 1x-Modus-Lesefalls;
Fig. 25 Lesetakte der in den Fig. 18, 19 und 28 gezeigten
Empfängerschaltungsanordnung, wenn dieselbe in
dem 2x-Modus mit rpd = 0 konfiguriert ist;
Fig. 26 stärkere Details des in Fig. 25 dargestellten
"frühen" 2x-Modus-Lesefalls;
Fig. 27 stärkere Details des in Fig. 25 dargestellten
"späten" 2x-Modus-Lesefalls;
Fig. 28 ein bevorzugtes Ausführungsbeispiel einer Schal
tung zum Liefern des Signals set_alt_n, das in
der Speichersteuerungsempfängerschaltungsanord
nung von Fig. 18 erscheint; und
Fig. 29 eine Beziehung zwischen der Kern- und Anschluß
flächenschaltungsanordnung der Speichersteuerung
von Fig. 1.
Eine Speichersteuerung 100 mit einer größeren Anzahl von
Funktionsmodi ist in den Fig. 1-3 dargestellt. Die Spei
chersteuerung 100 ist vorzugsweise eine Doppeldatenraten-
(DDR-) Speichersteuerung, muß jedoch nicht eine solche
Speichersteuerung sein. Eine DDR-Speichersteuerung 100 ist
eine Steuerung, die mit synchronen dynamischen DDR-
Direktzugriffsspeichern (SDRAM; SDRAM = Synchronous Dynamic
Random Access Memory) kommunizieren kann. Siehe beispiels
weise der JEDEC-Standard Nr. 79, veröffentlicht im Juni
2000, auf den im folgenden als die "JEDEC-DDR-SDRAM-
Spezifikation" Bezug genommen wird.
Fig. 1 stellt ein exemplarisches Computersystem 124 dar,
bei dem die Speichersteuerung 100 verwendet werden kann.
Das Computersystem 124 weist eine Anzahl von Zentralverar
beitungseinheiten 102 (CPU) auf, die mit der Speichersteue
rung 100 über einen Systembus 106 verbunden sind. Wie in
Fig. 1 gezeigt, bildet die Speichersteuerung 100 vorzugs
weise einen Teil eines integrierten Speichers und einer
Eingangs-/Ausgangs- (I/O-) Steuerung (MIOC; MIOC = Integra
ted Memory and Input/Output Controller) 100. Die MIOC 100
empfängt Zugriffsanfragen über den Systembus 106 und adres
siert dann Speichermodule 104 und/oder I/O-Vorrichtungen
112-122, um die Speicherzugriffsanfragen zu verarbeiten.
Abgerufene Daten werden dann, wie notwendig, zurückgegeben.
Eingehende Speicherzugriffsanfragen, die von den I/O-
Vorrichtungen 112-122 empfangen werden, können ebenfalls
durch die MIOC 100 verarbeitet werden. Wie in der Technik
bekannt, weisen Speicher- und I/O-Zugriffsanfragen typi
scherweise Leseanfragen und Schreibanfragen auf. Die MIOC
100 ist mit einer Anzahl von Speichermodulen 104 über einen
Speicherbus 108 gekoppelt und ist mit I/O-Vorrichtungen 112-122
über lokale Busse, Schnittstellen etc. 110 (z. B. ei
nen Peripheriekomponentenverbindungs- (PCI-; PCI = Periphe
ral Component Interconnect) Lokalbus oder eine integrierte
Vorrichtungselektronik- (IDE-; IDE = Integrated Device
Electronic) Schnittstelle gekoppelt. Die Speichermodule
können beispielsweise eine Anzahl von doppelreihigen DDR-
Speichermodulen (DIMM; DIMM = Dual In-Line Memory Module)
aufweisen. Ein DIMM ist eine Sammlung von RAM-Bauelementen
(z. B. DDR SDRAM) mit fester Datenbreite (üblicherweise 64
oder 72 Bit). Die I/O-Vorrichtungen können eine oder mehre
re der folgenden Vorrichtungen sowie andere Vorrichtungen
aufweisen: Laufwerke 112 (z. B. Festlaufwerke, CD-ROM-
Laufwerke, Floppy-Laufwerke), Tore 114 (z. B. USB, paral
lel, seriell), eine Tastatur 116, eine Maus 118 und/oder
andere Zeigevorrichtungen, eine Anzeige 120 und einen Druc
ker 122.
Es sei wiederum insbesondere bemerkt, daß Fig. 1 lediglich
ein exemplarisches Ausführungsbeispiel eines Computersy
stems 124 liefert, bei dem die Speichersteuerung 100, die
im folgenden beschrieben ist, verwendet werden kann, und
daß daher das Computersystem 124 von Fig. 1 nicht die Er
findung und/oder die anwendbaren Verwendungen derselben be
schränken soll. Es sei insbesondere ferner bemerkt, daß
sich ein großer Teil der folgenden Beschreibung lediglich
auf eine "Speichersteuerung" 100 bezieht. Fachleuten ist
jedoch offensichtlich, daß die Charakteristika einer Spei
chersteuerung, die im folgenden offenbart sind, ohne weite
res zur Verwendung in einer Speichersteuerung 100, die ei
nen Teil des integrierten "Speichers und der I/O-Steuerung"
100 bildet, die in den Fig. 1-3 dargestellt ist, angepaßt
werden können.
In Fig. 2 ist die MIOC 100 von Fig. 1 als direkt mit einer
Anzahl von Speichermodulen 104 über einen 1x-Bus 200 (z. B.
einen 1x-DDR-Bus) gekoppelt gezeigt. Wie hierin definiert,
ist ein 1x-DDR-Bus 200 ein Speicherbus, der in einem her
kömmlichen DDR-Modus betrieben wird, bei dem Daten synchron
mit beiden Flanken eines Strobe-Signals übertragen werden.
Ein Merkmal der Speichersteuerung 100, die hierin offenbart
ist, besteht darin, daß dieselbe Daten von inhomogenen
Speichermodulen 104 lesen und zu denselben schreiben kann.
Um zu verstehen, was mit "inhomogenen Speichermodulen" ge
meint ist, ist ein wenig Hintergrundwissen erforderlich.
Speichermodule 104 sind in einer Vielfalt von Konfiguratio
nen erhältlich, wobei die populärste derselben die Konfigu
ration eines doppelreihigen Speichermoduls (DIMM) ist. An
dere Konfigurationen, von denen es viele gibt, umfassen die
Konfiguration eines einreihigen Speichermoduls (SIMM; SIMM
= Single In-Line Memory Module) und die DIMM-Konfiguration
mit kleinem Umriß (SO-DIMM; SO = Small Outline).
Eine gemeinsame Charakteristik der im vorhergehenden er
wähnten Speichermodulkonfigurationen besteht darin, daß je
de derselben eine gedruckte Schaltungsplatine mit einer
Mehrzahl von Direktzugriffsspeicher- (RAM-) Bauelementen
aufweist, die auf derselben angebracht sind. Ähnlich zu den
verschiedenen Konfigurationen von Speichermodulen können
RAM-Bauelemente ebenfalls eine Vielfalt von Konfigurationen
annehmen, wobei die populärste derselben die SDRAM-
Konfiguration ist. Es gibt jedoch derzeit einen Drang der
Industrie, zu Speichermodulen überzugehen, die mit DDR-
SDRAM-Bauelementen besetzt sind. Fig. 9 stellt beispiels
weise eine Mehrzahl von DIMM 104a, 104b, 104c dar, die mit
DDR-SDRAM-Bauelementen 910, 912, 914 besetzt sind.
DDR-SDRAM-Bauelemente sind derzeit mit drei Datenbreiten
verfügbar, wobei Bauelemente mit zusätzlichen Datenbreiten
vorgeschlagen sind. Die derzeit verfügbaren Datenbreiten
sind 4, 8 und 16 Bit. Wie in der JEDEC-DDR-SDRAM-
Spezifikation erörtert, ist ein 4 Bit breiter DDR-SDRAM als
ein x4-DDR-SDRAM bekannt und ist durch die Erzeugung/den
Empfang von vier Datensignalen ansprechend auf ein einziges
Strobe-Signal charakterisiert. Ähnlicherweise ist ein 8 Bit
breiter DDR-SDRAM als ein x8-DDR-SDRAM bekannt und durch
die Erzeugung/den Empfang von acht Datensignalen anspre
chend auf ein einziges Strobe-Signal charakterisiert; und
ein 16 Bit breiter DDR-SDRAM ist als ein x16-DDR-SDRAM be
kannt und ist durch die Erzeugung/den Empfang von
16 Datensignalen ansprechend auf ein Paar von Strobe-
Signalen bekannt. Wie für Fachleute bekannt, ist die
Schnittstelle eines x16-DDR-SDRAM ähnlich zu derselben ei
nes x8-DDR-SDRAM dahingehend, daß acht Datensignale anspre
chend auf jedes Strobe-Signal eines x16-DDR-SDRAM er
zeugt/empfangen werden.
Bei einem typischen Computersystem kann eine Speichersteue
rung 100 auf eine Anzahl von ähnlichen Speichermodulen
zugreifen, die in eine Mehrzahl von Sockeln 902-908 auf
der Hauptplatine des Computersystems eingefügt sind. Ein
Computerhersteller wird oftmals eine Anzahl der Sockel
902-908 mit einer Anzahl von ähnlichen bzw. gleichen Spei
chermodulen vorladen und dann den Endbenutzer des Computer
systems anweisen, daß vorgeladene Speichermodule hinzuge
fügt, entfernt oder ausgetauscht werden können, solange al
le Speichermodule des Computers eine spezifizierte, homoge
ne Modul- und RAM-Konfiguration (z. B. DIMM, die SDRAM auf
weisen) aufweisen. Wenn ein Speichermodul nicht zu der spe
zifizierten Modul- und RAM-Konfiguration gehört, kann die
Speichersteuerung des Computersystems nicht mit dem Spei
chermodul kommunizieren, und in manchen Fällen können das
inhomogene Speichermodul und/oder die Speichersteuerung
selbst beschädigt werden. Die Speichererweiterungsoptionen
eines Computerbenutzers sind daher auf eine spezielle Kon
figuration eines Speichermoduls begrenzt. Es ist jedoch
wünschenswert, wenn ein Computerbenutzer eine größere Fle
xibilität besitzt, wenn er oder sie den Computerspeicher
erweitert.
Als ein Resultat ist hierin eine Speichersteuerung 100 of
fenbart, die inhomogene Speichermodule 104 lesen und zu in
homogenen Speichermodulen 104 schreiben kann. Die Speicher
module 104 sind dahingehend inhomogen, daß dieselben RAM-
Bauelemente mit unterschiedlichen Datenbreiten aufweisen.
Zwei Speichermodule können beispielsweise x8-DDR-SDRAM auf
weisen, ein drittes Speichermodul kann x4-DDR-SDRAM aufwei
sen, und ein viertes Speichermodul kann x16-DDR-SDRAM auf
weisen. Die offenbarte Speichersteuerung 100 kommuniziert
mit den inhomogenen Speichermodulen 104, indem eine Spei
chertabelle 1100 (Fig. 11) der RAM-Bauelementdatenbreiten
gespeichert und auf dieselbe zugegriffen wird, wobei eine
RAM-Bauelementdatenbreite für jedes Speichermodul 104 eines
Computersystems gespeichert ist. Ein Zugriff auf die Spei
chertabelle 1100 wird "nebenbei bzw. on the fly" vor jedem
Lese- und Schreib-Zyklus durchgeführt. Wenn daher einem
Schreiben zu einem x4-DDR-SDRAM, der in einem ersten Spei
chermodul 104a positioniert ist, ein Schreiben zu einem x8-
DDR-SDRAM, der in einem zweiten Speichermodul 104b positio
niert ist, folgt, kann die Speichersteuerung 100 die
Schreibvorgänge aufeinanderfolgend durch 1) Zugreifen auf
die Speichertabelle 1100 vor jeder Schreiboperation und
dann 2) Neukonfigurieren der Daten- und Strobe-Signal-
Treiberschaltungsanordnung, wie notwendig, durchführen.
Um die Kommunikation der Speichersteuerung mit einer Mehr
zahl von inhomogenen Speichermodulen 104 zu ermöglichen,
muß lediglich auf der Ebene der Platine berücksichtigt wer
den, daß ausreichend Daten- und Strobe-Signal-Routen bzw.
Leitewege für den Zweck des Ermöglichens einer Erweiterung
der elektrischen Verbindung des Sockels mit Speichermodulen
104, die RAM-Bauelemente mit variierenden Datenbreiten auf
weisen, vorgesehen werden. Wenn daher die offenbarte Spei
chersteuerung 100 in einer DDR-SDRAM-Umgebung entworfen
wird, kann ein Computerhersteller 1) weniger Strobe-Signale
zu/von einer Speichersteuerung 100 führen und einem Compu
terbenutzer die Fähigkeit bereitstellen, gleichzeitig DIMM,
die x8- und x16-DDR-SDRAM aufweisen, in seinem Computersy
stem 124 zu verwenden, oder 2) weniger zusätzliche Strobe-
Signale zu/von einer Speichersteuerung 100 führen und einem
Computerbenutzer die Fähigkeit bereitstellen, gleichzeitig
DIMM, die x4-, x8- und x16-DDR-SDRAM 104 aufweisen, in sei
nem Computersystem 124 zu verwenden. In beiden Fällen wird
einem Computerbenutzer eine größere Flexibilität geliefert,
um DIMM zu mischen und anzupassen, als es derzeit möglich
ist.
Eine Speichersteuerung 100, die inhomogene Speichermodule
104 (d. h. Speichermodule, die RAM-Bauelemente mit inhomo
genen Datenbreiten aufweisen) lesen und zu denselben
schreiben kann, ist dahingehend vorteilhaft, daß dieselbe
einem Computerbenutzer eine Vielfalt von Speichererweite
rungsoptionen liefert. x4-DDR-SRAM sind beispielsweise halb
so breit, jedoch doppelt so tief, wie x8- und x16-DDR-
SDRAM. Daher kann man die Speicherkapazität des Computers
verdoppeln, indem man DIMM verwendet, die mit x4-DDR-SDRAM
anstelle von DIMM, die mit x8- oder x16-DDR-SDRAM besetzt
sind, besetzt sind. Für den Fall, daß jedoch DIMM, die x8-
DDR-SDRAM aufweisen, derzeit weniger teuer sind, kann ge
wünscht sein, einen gewissen Leistungspegel für geringere
Kosten zu opfern. Ein Benutzer kann ferner wünschen, eine
höhere Kapazität von DIMM, die x4-DDR-SDRAM aufweisen, zu
seinem oder ihrem Computersystem hinzuzufügen, und dennoch
die existierenden x8- oder x16-DDR-SDRAM halten und verwen
den, mit denen seiner oder ihr Computersystem vorgeladen
war.
Ohne die hierin offenbarte Speichersteuerung 100 kann die
Speicherkapazität eines Computersystems, das lediglich DIMM
aufnimmt, die x8- und/oder x16-DDR-SDRAM aufweisen, ledig
lich durch eine Erhöhung der Anzahl von Lasten pro Spei
cherdatenbit (d. h. der doppelten oder vierfachen Anzahl
der Lasten) erhöht werden. Indem dies durchgeführt wird,
kann die gleiche Kapazität, die in einem x4-System erreicht
werden kann, in einem x8-/x16-System erreicht werden. Ein
Problem besteht jedoch darin, daß mit mehr Lasten pro Bit
die maximale Betriebsfrequenz von jedem DIMM verringert
wird. Eine größere Speicherkapazität wird daher mit Lei
stungsnachteilen erreicht. Speicheroperationen, die durch
die hierin offenbarte Speichersteuerung 100 eingeleitet
werden, sind solchen Leistungsnachteilen nicht unterworfen.
Eine weitere Charakteristik der Speichersteuerung 100, die
hierin offenbart ist, besteht darin, daß dieselbe Strobe-
Signale und Datensignale (d. h. ein Schreiben) in entweder
einem 1x-Modus oder einem Mx-Modus (wobei M ≧ 2 und x eine
Grundlinienrate ist, bei der die Daten gelesen und ge
schrieben werden) erzeugen kann. Ähnlicherweise kann die
selbe Daten und Strobe-Signale (d. h. ein Lesen) in entwe
der einem 1x-Modus oder einem Mx-Modus empfangen.
In dem 1x-Modus ist die Speichersteuerung 100 direkt an ei
ner Mehrzahl von Speichermodulen 104, wie in Fig. 2 darge
stellt, befestigt. In dem Mx-Modus ist jedoch die Speicher
steuerung 100 an einem oder mehreren Zwischenchips 302 über
einen Bus 300 befestigt, der bei einer Mx-Geschwindigkeit
betrieben wird. In dem Mx-Modus treten Lesevorgänge und
Schreibvorgänge zwischen der Speichersteuerung 100 und den
Zwischenchips 302 bei einer Mx-Rate auf. Die Lesevorgänge
und Schreibvorgänge zwischen den Zwischenchips 302 und den
Speichermodulen 104 treten jedoch weiter bei einer 1x-Rate
auf. Der Vorteil des Verwendens der Zwischenchips 302 be
steht darin, daß man wiederum die Speicherkapazität des Sy
stems verdoppeln kann - diesmal 1) unter Verwendung der
Zwischenchips 302, um 2x-Daten zu empfangen und dann die
2x-Daten in einer 1x-Weise zu zwei Bänken von Speichermodu
len 104 zu verteilen, oder 2) unter Verwendung der Zwi
schenchips 302, um 1x-Daten von zwei Bänken von Speichermo
dulen 104 zu empfangen und dann die Daten zu multiplexie
ren, um dieselben zu einer Speichersteuerung 100 mit einer
2x-Rate zu liefern.
Die Verwendung der Zwischenchips 302 ermöglicht ferner, ei
ne Bandbreite eines Speichersystems zu verdoppeln.
Die Speichersteuerung 100, die hierin offenbart ist, lie
fert ferner die Fähigkeit, Lese- und Schreib-Zyklen um eine
einzelne Phase des inneren Taktes der Speichersteuerung zu
verzögern. Zusätzlich zu dem, daß Lese- und Schreib-Zyklen
mit einer Voll-Zyklus-Auflösung abgestimmt werden können,
können daher Lese- und Schreib-Zyklen mit einer Halb-
Zyklus-Auflösung abgestimmt werden. Die Lese- und Schreib-
Zyklen können daher entweder bei einer steigenden oder ei
ner fallenden Taktflanke des inneren Taktes der Speicher
steuerung beginnen. Diese Charakteristik liefert einen Ab
stimmbarkeitsgrad für die Speichersteuerung 100.
Während eines Speicherlesezyklus besteht die Notwendigkeit,
die Variation einer Steuerungs-Speicher-Steuerungs-
Schleifenverzögerung (d. h. einer Leseschleifenverzögerung)
zu berücksichtigen. In Fig. 21 ist beispielsweise eine
Mehrzahl von Speichermodulen 104 mit einer Speichersteue
rung 100 über gemeinsame Daten- (DQ-) und Strobe-Signal-
(DQS-) Busse gekoppelt. Es ist nicht nur eine Mehrzahl von
Speichermodulen 104 mit den Daten- und Strobe-Signal-Bussen
gekoppelt, sondern jedes der Speichermodule 104 kann Takt
variationen innerhalb zulässiger Bereiche (z. B. innerhalb
der Bereiche, die in der JEDEC-DDR-SDRAM-Spezifikation vor
gesehen sind) zeigen. Kopien eines Taktsignals, die zu je
dem der Mehrzahl von Speichermodulen 104 verteilt werden,
können ferner zueinander versetzt sein.
Als ein Resultat der obigen Unregelmäßigkeiten können Lese
anfragen, die zu unterschiedlichen Speichermodulen (mit ih
ren variierenden Zeitcharakteristika und versetzten Takten)
abgesetzt werden, variierende Zeitmengen brauchen, um zu
der Steuerung 100 zurückzukehren. Als ein Resultat gibt es
eine Variation der Leseschleifenverzögerung, die berück
sichtigt werden muß, wenn man bestimmt, wann der Empfang
von Daten- und Strobe-Signalen bei einer Speichersteuerung
100 aktiviert und deaktiviert wird. Eine solche Verzögerung
kann lediglich berücksichtigt werden, indem sichergestellt
wird, daß eine Speichersteuerung 100 geeignet Daten- und
Strobe-Signale ansprechend auf eine möglichst kurze Schlei
fenverzögerung (d. h. ein Fall mit frühem Empfang) und ei
ner möglichst langen Schleifenverzögerung (d. h. einem Fall
mit spätem Empfang) empfangen wird.
Der Daten- und Strobe-Signal-Bus für die Speichermodule 104
besitzt bei der JEDEC-DDR-SDRAM-Spezifikation eine bemer
kenswerte Charakteristik. Die Bezugsspannung für jede Bus
leitung ist gleich der Abschlußspannung der Busleitung.
Dies bedeutet, daß als ein Resultat des Rauschens die Stro
be-Signal-Anschlußflächen einer Speichersteuerung 100 fal
schen "0"- bis "1"- und "1"- bis "0"-Übergängen unterworfen
sind, wenn die entsprechenden Busleitungen in den Tri-State
gesetzt wurden. Wenn dies nicht berücksichtigt wird, können
diese Übergänge falsch als aktive Strobe-Signal-Flanken in
terpretiert werden, was zu einer möglichen Datenverstümme
lung führt.
Die Speichersteuerung 100, die hierin offenbart ist, löst
das obige Problem, indem ankommende Strobe-Signal-Flanken
gezählt werden, die bei einer Strobe-Signal-Anschlußfläche
empfangen werden, und indem dann ein Zählwert der Strobe-
Signal-Flanken verwendet wird, um eine Mehrzahl von Daten
latches bzw. Datenzwischenspeichern zu steuern, die mit ei
ner Datensignal-Anschlußfläche gekoppelt sind. Wenn ein
Zählwert, der eine erwartete Zahl von ankommenden Strobe-
Signal-Flanken darstellt, erreicht ist, wird kein weiteres
Zählen vorgenommen, und Rauschen, das als ein Resultat ei
nes Strobe-Signal-Bus-Tri-Stating bzw. des Setzens des
Strobe-Signal-Busses in den Tri-State erzeugt wird, kann
keine zusätzlichen Daten in die Mehrzahl von Datenlatches
verriegeln bzw. in denselben zwischenspeichern.
Fig. 4 stellt ein erstes bevorzugtes Ausführungsbeispiel
einer Treiberschaltungsanordnung 400 für eine Speicher
steuerung 100 dar. Die Treiberschaltungsanordnung 400 weist
eine Datensignal-Anschlußfläche (DQ4), zwei Datenausbrei
tungsschaltungen 402, 404, eine Multiplexstufe 406 und eine
Ausgangsmischschaltungsanordnung 408 auf. Ein erster Daten
strom 410 wird zu jeder der Datenausbreitungsschaltungen
402, 404 geliefert, und ein zweiter Datenstrom 412 wird op
tional zu der zweiten der zwei Datenausbreitungsschaltungen
404 geliefert. Die zweite Datenausbreitungsschaltung 404
empfängt entweder den ersten oder den zweiten Datenstrom
410, 412 über die Multiplexstufe 406, die in Fig. 4 aus ei
nem einzigen Multiplexer besteht. Der Multiplexer 406 wird
durch ein 2x-Modus-Signal (data2xn1x) gesteuert, das ermög
licht, daß der erste Datenstrom 410 mit dem Ausgang des
Multiplexers in einen 1x-Betriebsmodus gekoppelt wird, und
ermöglicht, daß der zweite Datenstrom 412 mit dem Ausgang
des Multiplexers in einen 2x-Betriebsmodus gekoppelt wird.
In beiden Modi bereiten sich die Daten durch jede der Da
tenausbreitungsschaltungen 402, 404 zu der Ausgangsmisch
schaltungsanordnung 408 aus, wobei an diesem Punkt die zwei
Datenausbreitungsschaltungen 402, 404 abwechselnd mit der
Datensignal-Anschlußfläche gekoppelt sind, um dadurch ent
weder einen 1x- oder 2x-Datenbitstrom zu erzeugen. Details
der Ausgangsmischschaltungsanordnung 408 sind im folgenden
in dieser Beschreibung erörtert.
Funktionell gesehen wird die Treiberschaltungsanordnung
400, die in Fig. 4 dargestellt ist, wie folgt betrieben. In
dem 1x-Modus wird der gleiche Datenstrom 410 zu jeder der
Datenausbreitungsschaltungen 402, 404 geliefert. Als ein
Resultat erscheint ein Datenbit, das sich durch die erste
Datenausbreitungsschaltung 402 ausbreitet, an der Datensi
gnal-Anschlußfläche, wenn die Ausgangsmischschaltungsanord
nung 408 die erste Datenausbreitungsschaltung 402 mit der
Datensignal-Anschlußfläche koppelt. Das gleiche Datenbit
wird dann bei der Datensignal-Anschlußfläche wiederum er
scheinen, wenn die Ausgangsmischschaltungsanordnung 408
später die zweite Datenausbreitungsschaltung 404 mit der
Datensignal-Anschlußfläche koppelt. Als ein Resultat werden
Datenbits bei der Datensignal-Anschlußfläche mit der glei
chen Rate erscheinen, mit der dieselben zu der Treiber
schaltungsanordnung 400 (d. h. in einem 1x-Modus) geliefert
werden.
In dem 2x-Betriebsmodus der Treiberschaltungsanordnung von
Fig. 4 wird ein erster Datenstrom 410 zu der ersten Daten
ausbreitungsschaltung 402 und ein zweiter Datenstrom 412 zu
der zweiten Datenausbreitungsschaltung 404 geliefert. Der
erste Datenstrom 410 kann beispielsweise Bits 0, 2, 4, . . .
eines Datenstroms aufweisen, während der zweite Datenstrom
412 beispielsweise Bits 1, 3, 5,. . . eines Datenstroms auf
weisen kann. Als ein Resultat breiten sich unterschiedliche
Datenbits durch sowohl die erste als auch die zweite Daten
ausbreitungsschaltung 402, 404 aus und die Ausgangsmisch
schaltungsanordnung 408 erzeugt einen 2x-Datenstrom von
Bits 0, 1, 2,. . . bei der Datensignal-Anschlußfläche. Es
sei bemerkt, daß der Ausgangsdatenstrom als ein 2x-
Datenstrom betrachtet wird, da derselbe Datenbits mit der
doppelten Rate von einem der Dateneingangsströme 410, 412
der Treiberschaltungsanordnung erzeugt.
Ein exemplarisches Ausführungsbeispiel der Ausgangsmisch
schaltungsanordnung 408 ist in Fig. 5 offenbart. Die Schal
tungsanordnung 408 weist zwei D-Typ-Flip-Flops 500, 502
auf, von denen jedes Daten von einer der zwei Datenausbrei
tungsschaltungen 402, 404 von Fig. 4 empfängt. Die Flip-
Flops 500, 502 werden abwechselnd mit den positiven und ne
gativen Flanken eines Taktes IOBCK getaktet. Das Ausgangs
signal von jedem Flip-Flop 500, 502 wird jeweils durch ei
nen in den Tri-State setzbaren Puffer 504, 506 bzw. einen
Tri-Statable-Puffer 504, 506 empfangen. Jeder Puffer 504,
506 empfängt ferner den Takt IOBCK und wird synchron mit
dem entsprechenden Flip-Flop 500, 502 desselben betrieben.
Wenn daher Daten aus dem Flip-Flop 500 hinausgetaktet wer
den, ermöglicht der Puffer 504, daß die Daten zu der Daten
signal-Anschlußfläche DQ4 hindurchlaufen, und der Puffer
506 wird in den dritten Zustand bzw. den Tri-State gesetzt
(tri-stated). Wenn ähnlicherweise Daten aus dem Flip-Flop
502 hinausgetaktet werden, ermöglicht der Puffer 506, daß
die Daten zu der Datensignal-Anschlußfläche DQ4 hindurch
laufen, und der Puffer 504 wird in den Tri-State gesetzt
(tri-stated). Die zwei Flip-Flops 500, 502 und die Puffer
504, 506 liefern daher abwechselnd Daten zu der Datensi
gnal-Anschlußfläche DQ4. Jedes entsprechende Flip-Flop und
jeder Puffer in Fig. 5 sind ein Beispiel eines in den Tri-
State setzbaren Wegs (tri-statable path), auf den in den
Ansprüchen Bezug genommen wird.
Es sei bemerkt, daß die Ausgangsmischschaltungsanordnung
408 ferner einen Multiplexer anstelle der Flip-Flops 500,
502 und der Puffer 504, 506 aufweisen kann. Die in Fig. 5
dargestellte Anordnung wird jedoch bevorzugt, da die C→Q-
Zeit minimiert ist. Es ist tatsächlich vorzuziehen, die
C→Q-Zeit noch weiter durch Integrieren der Funktionalität
der Puffer 504, 506 in die Flip-Flops 500, 502 zu minimie
ren.
Fig. 6 stellt ein zweites bevorzugtes Ausführungsbeispiel
der Treiberschaltungsanordnung 600 für eine Speichersteue
rung 100 dar. Wie die Treiberschaltungsanordnung 400, die
in Fig. 4 dargestellt ist, weist die Treiberschaltungsan
ordnung 600 von Fig. 6 eine Datensignal-Anschlußfläche
(DQ4), zwei Datenausbreitungsschaltungen 602, 604, eine
Multiplexstufe 606 und eine Ausgangsmischschaltung 608 auf.
Die Treiberschaltungsanordnung 600 weist jedoch zusätzlich
eine Phasenverzögerungsschaltung 614 und einen ersten und
einen zweiten Phasenverzögerungsmultiplexer 616, 618 auf.
Der Zweck der zusätzlichen Phasenverzögerungsschaltungsan
ordnung 614-618 besteht darin, das Erscheinen von Daten
bei der Datensignal-Anschlußfläche zu verzögern und dadurch
eine "Schreibphasenverzögerung" einzuführen, wie es erfor
derlich sein kann, um ein System für einen maximalen Spiel
raum abzustimmen. Die Fähigkeit, einen Schreibvorgang unter
Verwendung der Phasenverzögerungsschaltungsanordnung
614-618 zu verzögern, versieht daher die Treiberschaltungsan
ordnung 600 mit einer abstimmbaren Charakteristik.
Der erste Phasenverzögerungsmultiplexer 616 empfängt sowohl
den ersten als auch den zweiten Datenstrom 610, 612 und
wählt ansprechend auf das Signal data2xn1x entweder den er
sten oder den zweiten Datenstrom 610 oder 612 für eine Aus
gabe zu der Phasenverzögerungsschaltung 614 aus. Der zweite
Phasenverzögerungsmultiplexer 618 empfängt das Datenaus
gangssignal von sowohl der ersten Datenausbreitungsschal
tung 602 als auch der Phasenverzögerungsschaltung 614 und
bestimmt, welche Daten zu der Ausgangsmischschaltungsanord
nung 608 ausgegeben werden, ansprechend auf die Exklusiv-
ODER-Verknüpfung 620 (XOR) des Signals data2xn1x mit einem
Schreibphasenverzögerungs- (wpd-; wpd = Write Phase Delay)
Signal. Es sei bemerkt, daß das Signal data2xn1x in dem 2x-
Modus aktiviert ist und in dem 1x-Modus nicht aktiviert
ist. Die Ausrichtung des wpd-Signals wechselt jedoch abhän
gig von dem Zustand des Signals data2xn1x. In dem 1x-Modus
ist das wpd-Signal für eine Schreibphasenverzögerung akti
viert und für keine Schreibphasenverzögerung nicht akti
viert. In dem 2x-Modus ist das wpd-Signal für keine
Schreibphasenverzögerung aktiviert und für den Zweck des
Einführens einer Schreibphasenverzögerung aktiviert.
Es sei bemerkt, daß in Fig. 6 der Multiplexstufenmultiple
xer 606 nicht länger durch das Signal data2xn1x gesteuert
wird, sondern statt dessen durch die UND-Verknüpfung 622
des Signals data2xn1x und des Signals wpd gesteuert wird.
Die Schaltungsanordnung 600 von Fig. 6 wird funktionell wie
folgt betrieben. In sowohl dem 1x- als auch dem 2x-Modus
ohne Schreibphasenverzögerung (wpd = 0 in dem 1x-Modus; wpd
= 1 in dem 2x-Modus) breiten sich die Daten bzw. die Daten
signale durch die erste und die zweite Datenausbreitungs
schaltung 602, 604 aus, wobei sich die Daten durch die er
ste Datenausbreitungsschaltung 602 und die Ausgangsmisch
schaltungsanordnung 608 zuerst ausbreiten. Sowohl in dem
1x- als auch dem 2x-Modus mit einer Schreibphasenverzöge
rung (wpd = 1 bei dem 1x-Modus; wpd = 0 bei dem 2x-Modus)
breiten sich die Daten durch die zweite Datenausbreitungs
schaltung 604 und die Phasenverzögerungsschaltung 614 aus,
wobei sich die Daten durch die zweite Datenausbreitungs
schaltung 604 und die Ausgangsmischschaltungsanordnung 608
zuerst ausbreiten. Es sei bemerkt, daß sich bei einer
Schreibphasenverzögerung in entweder dem 1x- oder dem 2x-
Modus die Daten dennoch in die Phasenverzögerungsschaltung
614 ausbreiten. Solange jedoch eine Schreibverzögerung an
gezeigt ist, breiten sich die Daten, die sich in die Pha
senverzögerungsschaltung 614 ausbreiten, nicht durch den
zweiten Phasenverzögerungsmultiplexer 618 und in die Daten
signal-Anschlußfläche DQ4 aus.
Fachleuten ist offensichtlich, wie jede der Treiberschal
tungen 400, 600, die in den Fig. 4 und 6 offenbart ist, ex
trapoliert werden kann, um eine Treiberschaltungsanordnung
zu liefern, die in entweder dem 1x- oder dem Nx-Modus be
trieben werden kann. Hinsichtlich des Extrapolierens der
Schaltungsanordnung von Fig. 6 für N < 2 stellt man fest,
daß lediglich eine einzige Phasenverzögerungsschaltung 614
ungeachtet der Anzahl der Datenausbreitungsschaltungen 602,
604, die zu der Treiberschaltungsanordnung 600 hinzugefügt
werden, notwendig ist.
Fachleuten ist es ferner offensichtlich, wie die extrapo
lierte Treiberschaltungsanordnung (bei der N eine gerade
Zahl ≧ 2 ist) verwendet werden kann, um einen Nx-Datenstrom
zu liefern, wobei 1 < M ≦ N.
Die Fig. 7 und 8 stellen ein verbessertes Ausführungsbei
spiel 800 der Treiberschaltungsanordnung der Fig. 6 dar,
wobei die Datensignal-Anschlußfläche DQ4 in den Tri-State
bzw. dritten Zustand gesetzt sein kann, und wobei ein Stro
be-Signal, das bei einer Strobe-Signal-Anschlußfläche DQS18
erzeugt wird, mit dem Ausgangssignal der Daten an der Da
tensignal-Anschlußfläche synchronisiert ist.
Fig. 7 stellt ein bevorzugtes Ausführungsbeispiel einer
Taktschaltung 700 dar, die viele der Taktsignale erzeugt,
die nicht nur in Fig. 8 erscheinen, sondern ferner in den
Fig. 12-20 und 22-27 erscheinen. Die Taktschaltung 700
wird durch einen Kerntakt MCK einer Speichersteuerung ge
trieben. Die Taktschaltung gibt ihrerseits Takte IOBCK,
MUX_CLK und IOSCK aus. Der Takt IOBCK ist lediglich eine
gepufferte Version des Taktes MCK (gepuffert durch einen
Puffer 702). Der Takt MUX_CLK wird durch einen Puffer 704
gepuffert, wird jedoch entweder mit der Rate des Taktes MCK
(d. h., wenn der Multiplexer 706 für einen 1x-Modus-Betrieb
konfiguriert ist) oder mit der halben Rate des Taktes MCK
(d. h. als ein Resultat des Teilers 708, durch den der Takt
MCK läuft, wenn der Multiplexer 706 für den 2x-Modus-
Betrieb konfiguriert ist) erzeugt. Der Takt MUX_CLK kann zu
entweder einem Multiplexerchip 302 oder einem Speichermodul
104 (siehe Fig. 2 und 3) geliefert werden. Wenn der Multi
plexer 710 für einen 1x-Modus-Betrieb konfiguriert ist, ist
der Takt IOSCK äquivalent zu dem Takt MCK. Wenn jedoch der
Multiplexer 710 für einen 2x-Modus-Betrieb konfiguriert
ist, stellt der Takt IOSCK eine Version von MCK dar, die um
eine ¼ Periode (d. h. als ein Resultat einer ¼-
Periodenverzögerungsschaltungsanordnung 712) verzögert ist.
Der Takt IOSCK aktiviert die Treiberschaltungsanordnung von
Fig. 8, um geeignete 2x-Modus-Strobe-Signale zu einem be
vorzugten Ausführungsbeispiel eines Zwischenchips 302 (Fig.
3) zu liefern.
Die Treiberschaltungsanordnung 800, die in Fig. 8 darge
stellt ist, teilt viele Ähnlichkeiten mit der Treiberschal
tungsanordnung 600, die in Fig. 6 dargestellt ist. Die Ent
sprechung der Komponenten zwischen den Fig. 6 und 8 sieht
wie folgt aus. Die erste Datenausbreitungsschaltung 602 in
Fig. 6 entspricht einem einfachen Drahtleitweg 802 in Fig.
8; die zweite Datenausbreitungsschaltung 604 entspricht ei
nem ersten D-Typ-Flip-Flop 804; und die Phasenverzögerungs
schaltung 614 entspricht einem zweiten D-Typ-Flip-Flop 806.
Die Entsprechung der anderen Komponenten von Fig. 6 ist in
Fig. 8 durch die Verwendung von gleichen Bezugsziffern an
gezeigt.
Die Ausgangsmischschaltungsanordnung, die in Fig. 8 darge
stellt ist, ist ähnlich zu derselben, die in Fig. 5 offen
bart ist, und weist zwei D-Typ-Flip-Flops 808, 810 und zwei
in den Tri-State setzbare Puffer 809, 811 auf.
Wenn die Daten abwechselnd durch eine Datensignal-
Anschlußfläche (z. B. eine Datensignal-Anschlußfläche DQ4)
geschrieben und gelesen werden können, dann kann die Fähig
keit, den Schreibweg der Anschlußfläche während der Lese
vorgänge in den Tri-State zu setzen, wünschenswert sein.
Fig. 8 enthält daher einen Tri-State-Puffer 812 zwischen
der Ausgangsmischschaltungsanordnung 808, 810 und der Da
tensignal-Anschlußfläche. Der Zustand des Puffers 812 wird
während des Beginns und der Beendigung der Schreibvorgänge
unter Verwendung von zwei Signalen geändert: trist_d und
wpd. Der Zweck des Signals wpd ist bereits im vorhergehen
den erörtert. Das Signal trist_d wird zu einem Multiplexer
814 geliefert, nachdem eine Verzögerung durch eines oder
zwei D-Typ-Flip-Flops 816, 818 eingeführt ist. Diese Flip-
Flops 816, 818 sind ähnlich zu den Flip-Flops 804, 810, die
in der Ausgangsmischschaltungsanordnung und dem zweiten Da
tenausbreitungsweg vorgefunden werden, aufgebaut und getak
tet. Der Zustand des Multiplexers 814 wird durch das Signal
wpd derart gesteuert, daß das Signal trist_d den Tri-State-
Puffer 812 synchron zu dem Anfangsausgangssignal der Daten
von der Ausgangsmischschaltungsanordnung von entweder dem
ersten Datenausbreitungsweg 802 oder dem zweiten Datenaus
breitungsweg 804 öffnet (d. h. wenn wpd aktiviert ist (wpd
= 1 in dem 1x-Modus; wpd = 0 in dem 2x-Modus), dann wird
das Ausgangssignal der Daten bei der Anschlußfläche DQ4 um
eine halbe Periode des Taktes IOBCK verzögert).
Die JEDEC-DDR-SDRAM-Spezifikation schreibt vor, daß die Da
ten synchron mit einem Strobe-Signal übertragen werden sol
len. Als ein Resultat ist die Treiberschaltungsanordnung
von Fig. 8 mit einer Strobe-Signal-Anschlußfläche (DQS18)
und einer Logik 824-834 zum Erzeugen eines Strobe-
Signals, das geeignet an die 1x- oder 2x-Daten angepaßt
ist, die an der DQS18-Datensignal-Anschlußfläche geliefert
werden, versehen.
Eine Schaltungsanordnung 836, 838, 840, die ähnlich zu der
selben ist, die den Tri-State-Puffer 812 aktiviert, der mit
der Datensignal-Anschlußfläche DQS gekoppelt ist, kann ver
wendet werden, um den Tri-State-Puffer 822 zu betreiben,
der mit der Strobe-Signal-Anschlußfläche DQS18 gekoppelt
ist. Aus Erwägungen hinsichtlich des Taktes, die im folgen
den in dieser Beschreibung beschrieben sind, wird jedoch
die Schaltungsanordnung durch das Signal wpd und ein Signal
trist_s gesteuert, das getrennt, jedoch ähnlich, zu dem Si
gnal trist_d funktioniert.
Ein Strobe-Signal wird erzeugt, indem ein Paar von Signalen
act_stb[0] und act_stb[1] zu der Strobe-Signal-
Treiberschaltungsanordnung 824-834 geliefert werden. In
dem 2x-Modus ohne Schreibphasenverzögerung wird act_stb[0]
in einen niedrigen Zustand gezwungen und act_stb[1] wird in
einen hohen Zustand für die Dauer eines Schreibzyklus ge
zwungen. Die Signale act_stb[0 : 1] werden dann jeweils durch
das erste und das zweite Paar von D-Typ-Flip-Flops 824/826,
832/834 getaktet. Die Signale act_stb[0 : 1] werden durch das
erste Paar von Flip-Flops 824, 826 parallel getaktet, das
Signal act_stb[1] wird durch das zweite Paar von Flip-Flops
832, 834 zuerst getaktet. Durch Invertieren der Signale
act_stb[0 : 1] während eines 2x-Modus-Schreibens mit einer
Schreibphasenverzögerung wird daher das erste Takten des
Flip-Flops 834 das Ausgangssignal des DQS18 in einem nied
rigen Zustand für einen zusätzlichen halben (1/2) Taktzy
klus (d. h. eine Phase) halten und das Erscheinen eines
Strobe-Signals bei dem Ausgang DQS18 für einen halben (1/2)
Takt verzögern.
Es sei bemerkt, daß in der Datentreiberschaltungsanordnung
jedem Flip-Flop 832, 834 ein in den Tri-State setzbarer
Puffer 833, 835 folgt.
Die Zustände von act_stb[0] und act_stb[1] sind daher wäh
rend eines 2x-Schreibens statisch. Dies ist jedoch bei dem
1x-Modus nicht der Fall.
Bei dem 1x-Modus kippt (toggle) jedes der Signale
act_stb[0 : 1] mit einer 1x-Rate, und eine Schreibphasenver
zögerung wird lediglich durch Verzögern des ersten Anstiegs
von jedem der Signale act_stb[0 : 1] implementiert.
Schaltungen, die für sowohl 1) das Erzeugen der Signale
act_stb[0] und act_stb[1] als auch 2) zum Implementieren
von einer zusätzlichen Strobe-Signal-Funktionalität verwen
det werden können, die noch beschrieben werden muß, sind in
dem nächsten Abschnitt dieser Beschreibung erörtert.
Die JEDEC-DDR-SDRAM-Spezifikation spezifiziert, daß DDR-
SDRAM als x4-, x8- oder x16-Bauelemente aufgebaut sein kön
nen. Schreibvorgänge zu den x4-DDR-SDRAM erfordern ein
Strobe-Signal für jeden Satz von vier Datensignalen (d. h.
ein 4 : 1-Daten-/Strobe-Signal-Verhältnis), während Schreib
vorgänge zu x8- und x16-DDR-SDRAM ein Strobe-Signal für je
den Satz von acht Datensignalen (d. h. ein 8 : 1-Daten-
/Strobe-Signal-Verhältnis) erfordern.
In der Vergangenheit wurden DDR-Speichersteuerungen entwor
den, um mit einem Typ von DDR-Speichermodulen (d. h. einem
Satz von homogenen Speichermodulen, die lediglich x4-, x8-
oder x16-DDR-SDRAM aufweisen) zu kommunizieren. Eine DDR-
Speichersteuerung bietet jedoch eine größere Flexibilität,
insbesondere wenn ein Computerbenutzer seinen oder ihren
Computerspeicher erweitern möchte, wenn die Speichersteue
rung mit den Speichermodulen kommunizieren kann, die RAM-
Bauelemente mit inhomogener Datenbreite aufweisen. Um die
sen Bedarf zu befriedigen, kann die in den Fig. 7-13 dar
gestellte Speichersteuerung zu Speichermodulen schreiben,
die RAM-Bauelemente mit inhomogener Datenbreite aufweisen
(z. B. DIMM, die x4-DDR-SDRAM aufweisen, DIMM, die x8-DDR-
SDRAM aufweisen, und DIMM, die x16-DDR-SDRAM aufweisen).
Fig. 9 stellt eine exemplarische Umgebung (d. h. eine Spei
cherschnittstelle 900) dar, in der die Speichersteuerung
100 betrieben werden kann. Es sei bemerkt, daß die Spei
chersteuerung 100 mit einer Mehrzahl von Sockeln 902-908
über gemeinsame Daten- und Strobe-Signal-Leitungen gekop
pelt ist. Ein erster Sockel der Sockel 902 hält einen DIMM
104a, das x4-DDR-SDRAM aufweist; ein zweiter Sockel der So
ckel 904 hält einen DIMM 104b, das x8-DDR-SDRAM aufweist;
und ein dritter Sockel der Sockel 906 hält einen DIMM 104c,
das x16-DDR-SDRAM 910-914 aufweist.
In Fig. 9 ist die Speichersteuerung 100 derart dargestellt,
um eine Mehrzahl von Strobe-Signal-Anschlußflächen aufzu
weisen, wobei jede derselben eine Mehrzahl von Datensignal-
Anschlußflächen zugeordnet ist. Als Beispiel und um einen
nahtlosen Betrieb mit existierenden DDR-DIMM anzubieten,
ist jede Strobe-Signal-Anschlußfläche als vier Datensignal-
Anschlußflächen zugeordnet gezeigt (z. B. entspricht eine
Strobe-Signal-Anschlußfläche DQS0 den Datensignal-
Anschlußflächen DQ0-DQ3, und die Datensignal-
Anschlußfläche DQS18 entspricht den Datensignal-
Anschlußflächen DQ4-DQ7). Obwohl lediglich zwei Strobe-
Signal-Anschlußflächen und acht Datensignal-Anschlußflächen
in Fig. 9 dargestellt sind, kann die Speichersteuerung 100
beispielsweise 36 Strobe-Signal-Anschlußflächen und 144 Da
tensignal-Anschlußflächen aufweisen.
Wie im folgenden detaillierter beschrieben, erzeugt die
Speichersteuerung 100 Signale bei jeder der Daten- und
Strobe-Signal-Anschlußflächen derselben und empfängt Signa
le bei jeder der Daten- und Strobe-Signal-Anschlußflächen
derselben, wenn mit DIMM kommuniziert wird, die x4-DDR-
SDRAM aufweisen. Als ein Resultat gibt es eine 4 : 1-
Entsprechung zwischen den Daten- und Strobe-Signalen, wenn
die Speichersteuerung 100 mit DIMM kommuniziert, die x4-
DDR-SDRAM aufweisen. Wenn jedoch mit DIMM kommuniziert
wird, die x8- oder x16-DDR-SDRAM aufweisen, erzeugt die
Speichersteuerung 100 Daten bei jeder der Datensignal-
Anschlußflächen derselben und empfängt Daten bei jeder der
Datensignal-Anschlußflächen derselben, erzeugt/empfängt je
doch lediglich Strobe-Signale bei den unteren Strobe-
Anschlußflächen (d. h. bei den Strobe-Signal-
Anschlußflächen DQS0-DQS17) derselben. Als ein Resultat
gibt es eine 8 : 1-Entsprechung zwischen den Daten- und Stro
be-Signalen, wenn die Speichersteuerung mit DIMM kommuni
ziert, die x8- oder x16-DDR-SDRAM aufweisen. Fig. 10 stellt
eine exemplarische Abbildung bzw. Tabellierung von Strobe-
Signal-Anschlußflächen zu Datensignal-Anschlußflächen für
die Speichersteuerung von Fig. 9 dar, abhängig davon, ob
die Speichersteuerung 100 Daten zu den DIMM treibt, die x4-
oder x8-/x16-DDR-SDRAM aufweisen. Es sei bemerkt, daß die
oberen Strobe-Signal-Anschlußflächen der Speichersteuerung
während Schreibvorgängen zu den DIMM, die x8- oder x16-DDR-
SDRAM aufweisen, in einem niedrigen Zustand gehalten wer
den.
Es kann eine Bestimmung, ob Daten zu einem DIMM aus x4-
oder x8-/x16-DDR-SDRAM geschrieben werden, durchgeführt
werden, indem eine Speichertabelle 1100 (Fig. 11) innerhalb
der Speichersteuerung von Fig. 9 aufrechterhalten wird. Ei
ne solche Tabelle 1100 kann eine Tabelle von entsprechenden
DIMM-Positionen 1104 (z. B. Sockeln) und DIMM-Typen aufwei
sen, wobei die Typen beispielsweise 1) Anzeigen von RAM-
Bauelementdatenbreiten 1106 für eine Anzahl von DIMM oder
2) Anzeigen von Daten-/Strobe-Signal-Verhältnissen für eine
Anzahl von DIMM spezifizieren. Die Anzeigen können bei
spielsweise einen Wert Ax für jedes Speichermodul x aufwei
sen, das mit der Speichersteuerung 100 gekoppelt ist.
Die Werte Ax, die in der Speichertabelle gespeichert sind,
können verschieden ausgeführt sein. Für den Zweck des Kom
munizierens mit DIMM 104 aus x4-, x8- und x16-DDR-SDRAM
kann jeder Wert Ax aus einem einzigen binären Bit bestehen,
wobei die zwei Werte desselben die Daten-/Strobe-Signal-
Verhältnisse darstellen, die erforderlich sind, um jeweils
x4- und x8-/x16-DDR-SDRAM zu lesen und zu schreiben. Eine
logische "1" kann beispielsweise ein 4 : 1-Daten-/Strobe-
Signal-Verhältnis darstellen, wie es für DIMM, die x4-DDR-
SDRAM aufweisen, erforderlich ist, und eine logische "0"
kann ein 8 : 1-Daten-/Strobe-Signal-Verhältnis darstellen.
Jeder Wert Ax kann alternativ ein binäres Äquivalent eines
tatsächlichen Daten-/Strobe-Signal-Verhältnisses sein. Ein
4 : 1-Daten-/Strobe-Signal-Verhältnis kann beispielsweise in
der Speichertabelle als der Wert "0100" gespeichert sein,
während ein 8 : 1-Daten-/Strobe-Signal-Verhältnis in der
Speichertabelle 1100 als der Wert "1000" gespeichert sein
kann. Bei gegebenen Daten-/Strobe-Signal-Verhältnissen, die
durch x4-, x8- und x16-DDR-SDRAM angenommen werden, ist die
Speicherung von Vier-Bit-Werten in einer Speichertabelle
1100 unnötig. Die Anwendung der obigen Prinzipien auf
Nicht-DDR-Umgebungen und/oder auf zukünftige DDR-Umgebungen
kann jedoch die Speicherung von binären Äquivalenten von
Daten-/Strobe-Signal-Verhältnissen wünschenswerter machen.
Jeder Wert Ax kann ferner die Datenbreite von RAM-
Bauelementen 910-914, die in einem DIMM 104c angebracht
sind, sein (oder darstellen). Wenn jedoch RAM-Bauelemente
mit unterschiedlichen Datenbreiten die gleichen Daten-
/Strobe-Signal-Verhältnisse aufweisen wie bei dem Fall von
x8- und x16-DDR-SDRAM, kann die Größe der Ax-Werte redu
ziert werden, wenn jeder Wert Ax lediglich das Daten-
/Strobe-Signal-Verhältnis von RAM-Bauelementen darstellt,
die in einem DIMM angeordnet sind.
Die Speichertabelle 1100 kann durch Initialisieren dersel
ben bei einem Urladen bzw. Starten oder einer Neukonfigura
tion eines Computersystems 124 beibehalten werden. Bei ei
nem bevorzugten Ausführungsbeispiel wird eine RAM-
Bauelement-Datenbreite von jedem Speichermodul gelesen, das
mit der Speichersteuerung 100 gekoppelt ist, und jede RAM-
Bauelement-Datenbreite wird dann verwendet, um einen Wert
zu erzeugen, der in der Speichertabelle 1100 gespeichert
wird. Obwohl nicht bevorzugt, können alternativ die Daten
breiten, die aus den Speichermodulen 104 (oder Darstellun
gen derselben) wiedergewonnen werden, direkt in der Spei
chertabelle 1100 gespeichert werden. Wenn die Speichermodu
le 104, die mit der Speichersteuerung 100 gekoppelt sind,
DDR-Speichermodule sind, dann kann jedes Speichermodul eine
DDR-SDRAM-Datenbreite in einem seriellen Anwesenheitserfas
sungs-ROM 916 beibehalten, der in dem Speichermodul posi
tioniert ist. Wenn die Speichersteuerung 1100 eine serielle
Anwesenheitserfassungsfolge innerhalb der Speichermodule
104 ausführt, dann kann eine DDR-SDRAM-Datenbreite, die in
einem ROM von jedem Speichermodul gespeichert ist, gelesen
werden, in einen geeigneten Wert Ax umgewandelt werden und
in der Speichertabelle 1100 gespeichert werden.
Die Speichertabelle 1100 kann ferner beibehalten werden,
indem dieselbe mit einem Wert Ax für jedes Speichermodul
über eine Benutzerschnittstelle (z. B. das BIOS-SETUP-
Hilfsmittel bzw. das BIOS-Einrichtungshilfsmittel eines
Computersystems) geliefert wird.
Während eines Schreibzyklus wird die Speichertabelle 1100
durch eine gesamte oder einen Teil einer Speicheradresse
adressiert, und ein adressierter Wert Ax wird aus der Spei
chertabelle 1100 ausgegeben. Der Ausgangswert wird dann
verwendet, um "nebenbei" zu bestimmen, 1) wieviel Strobe-
Signale durch die Speichersteuerung 100 erzeugt werden müs
sen, und 2) wo die Strobe-Signale erzeugt werden müssen
(d. h. bei welchen Strobe-Signal-Anschlußflächen).
Während Schreibzyklen der Speichersteuerung 100 werden ad
ressierte Werte Ax durch die Strobe-Signal-
Treiberschaltungsanordnung empfangen, die zwei oder mehrere
Teilsätze der Strobe-Signal-Treiberschaltungen aufweist,
wobei jede Strobe-Signal-Treiberschaltung, wie in Fig. 8
dargestellt, konfiguriert sein kann. Die Teilsätze der
Strobe-Signal-Treiberschaltungen sind derart konfiguriert,
daß mindestens einer der Teilsätze Strobe-Signale anspre
chend auf lediglich einen Abschnitt der Werte Ax erzeugt.
Wenn beispielsweise jeder Wert Ax aus einem einzigen binä
ren Bit besteht, kann ein Teilsatz der Strobe-Signal-
Treiberschaltungen lediglich Strobe-Signale erzeugen, wenn
Ax = 1, während der andere Teilsatz der Strobe-Signal-
Treiberschaltungen Strobe-Signale für beide Werte von Ax
erzeugen kann. Bezugnehmend auf Fig. 10 werden Strobe-
Signale immer bei unteren Strobe-Signal-Anschlußflächen er
zeugt, Strobe-Signale werden jedoch lediglich bei oberen
Strobe-Signal-Anschlußflächen erzeugt, wenn die Speicherta
belle eine logische "1" ausgibt (d. h. wenn Ax eine logi
sche "1" ist). Auf diese Art und Weise werden Strobe-
Signale bei allen Strobe-Anschlußflächen erzeugt, wenn ein
adressierter Wert Ax ein 4 : 1-Strobe-Signal-Verhältnis an
zeigt, und Strobe-Signale werden lediglich bei der Hälfte
der Strobe-Signal-Anschlußflächen (d. h. bei einem Teilsatz
der Strobe-Signal-Anschlußflächen, die aus den unteren
Strobe-Signal-Anschlußflächen bestehen) erzeugt, wenn Ax
ein 8 : 1-Strobe-Signal-Verhältnis anzeigt.
Die Speichertabelle 1100 bildet vorzugsweise einen Teil ei
nes größeren Speicheradreßrouters (MAR; MAR = Memory Ad
dress Router) 1102 bzw. einer größeren Speicheradreßweiter
leitungseinrichtung. Der MAR 1102 kann andere Informationen
hinsichtlich des Typs und der Organisation der Speichermo
dule 104 aufweisen, die mit der Speichersteuerung 100 zu
sätzlich zu der unterstützten Schaltungsanordnung gekoppelt
sind. Wenn der MAR 1102 mit einer Speicheradresse versehen
ist, wird auf die Speichertabelle 1100 und andere Tabellen
zugegriffen, um den DIMM-Sockel und die DIMM-Bank zu
bestimmen, in der die Adresse positioniert ist. Es wird
ferner eine Reihen- und Spalten-Adresse in dem adressierten
DIMM bestimmt. Zum gleichen Zeitpunkt wird auf ein Daten-
/Strobe-Signal-Verhältnis zugegriffen, so daß die Strobe-
Signal-Anschlußflächen der Speichersteuerung 100, die in
Fig. 9 dargestellt ist, geeignet zum Schreiben oder Empfan
gen von Daten von dem DIMM-Typ konfiguriert sind, der ad
ressiert wird.
Die Treiberschaltungsanordnung für die verschiedenen Daten-
und Strobe-Signal-Anschlußflächen, die in Fig. 9 gezeigt
sind, kann, wie in Fig. 8 gezeigt, implementiert sein. Bei
einer solchen Implementation sind es die Signale act_stb[0]
und act_stb[1], die bestimmen, wann und wie ein Signal bei
einer Strobe-Signal-Anschlußfläche erzeugt wird. Die Schal
tungsanordnung wird daher zum Erzeugen von zwei Sätzen von
Signalen act_stb[0] und act_stb[1] benötigt. Die Schal
tungsanordnung 1200 zum Erzeugen des Satzes der Signale
act_stb[0] und act_stb[1], die benötigt werden, um die un
teren Strobe-Signal-Anschlußflächen (d. h. die Anschlußflä
chen DQS0-DQS17) der Speichersteuerung von Fig. 9 zu kon
figurieren, ist in Fig. 12 dargestellt, und die Schaltungs
anordnung 1300 zum Erzeugen der Signale act_stb[0] und
act_stb[1], die benötigt werden, um die oberen Strobe-
Signal-Anschlußflächen (d. h. die Anschlußflächen
DQS18-DQS35) der Speichersteuerung von Fig. 9 zu konfigurieren,
ist in Fig. 13 dargestellt. In Fig. 12 sind die Signale
act_stb[0] und act_stb[1] von Fig. 8 jeweils mit den neuen
Namen act_stb_low[0] und act_stb_low[1] versehen. Die Si
gnale act_stb[0] und act_stb[1] von Fig. 8 wurden ähnlich
erweise jeweils mit einem neuen Namen act_stb_up[0] und
act_stb_up[1] versehen.
Es sei bemerkt, daß die Schaltungsanordnung 1200, 1300, die
in den Fig. 12 und 13 dargestellt ist, in mehreren Modi,
die den 1x- oder 2x-Modus umfassen, und Modi mit oder ohne
eine Schreibphasenverzögerung betrieben werden können. Zu
sätzlich können x4- und x8-Schreibmodi entweder mit oder
ohne eine lange Schreibpräambel erreicht werden. Wenn eine
Speichersteuerung 100 mit einer geringeren Funktionalität
gewünscht ist, ist es für Fachleute offensichtlich, wie
Gatter bzw. Tore in den Schaltungen von Fig. 12 und 13 eli
miniert werden können, um dadurch eine Funktionalität zu
eliminieren, die für eine gegebene Anwendung nicht notwen
dig ist.
Der Betrieb der Schaltungsanordnung von Fig. 12 in dem 1x-
Modus ist im folgenden beschrieben. Bei dem 1x-Modus wird
das Signal data2xn1x in einen niedrigen Zustand getrieben
und die Aktivierung des Signals write_m_active beginnt die
Erzeugung der Signale act_stb_low[0 : 1]. Wenn das Signal da
ta2xn1x in einen niedrigen Zustand getrieben wird, geben
die Multiplexer 1202, 1204, 1226, die gesteuert werden, da
durch die Daten aus, die an den "0"-Eingängen derselben
empfangen werden. Wenn das Signal write_m_active aktiviert
ist, beginnt act_stb_low[0] bei der Frequenz des Taktes MCK
zu kippen, was ein Signal einer Frequenz MCK/2 aufgrund der
Anordnung des Gatters 1206, des Multiplexers 1202, des D-
Typ-Flip-Flops 1208 und des Rückkopplungswegs 1210 liefert.
Ähnlicherweise verursacht die Aktivierung des Signals wri
te_m_active, daß act_stb_low[1] kippt. Aus Zeiterwägungen
ist ein Gatter 1212 in den Weg act_stb_low[1] eingefügt.
Das Gatter 1212 empfängt das Rückkopplungssignal 1210 und
das Signal write_m_active, und wenn sich das Signal wri
te_m_active in einem hohen Zustand befindet, gibt dasselbe
das Rückkopplungssignal 1210 und eine Version desselben,
das durch ein Flip-Flop 1214 verzögert ist, zu den Eingän
gen eines zusätzlichen Multiplexers 1216 aus. Der Multiple
xer 1216 wird durch das Signal wpd gesteuert, um das Rück
kopplungssignal 1210 hindurch zu dem Ausgang act_stb_low[1]
mit oder ohne eine Verzögerung auszubreiten. Bei dem Fall
ohne Schreibphasenverzögerung breitet sich act_stb_low[1]
hindurch zu der Strobe-Signal-Anschlußfläche DQS18 zuerst
(siehe Fig. 8) aus. Andernfalls breitet sich act_stb_low[0]
zuerst hindurch zu der Strobe-Signal-Anschlußfläche aus.
Daher bewirkt die Aktivierung des Signals wpd, daß eine
Schreibphasenverzögerung von einem halben Zyklus eingeführt
wird.
Die Schaltungsanordnung von Fig. 12 wird in dem 2x-Modus
wie folgt betrieben. Das Signal data2xn1x wird in einen ho
hen Zustand getrieben, und die Multiplexer 1202, 1204,
1226, die gesteuert sind, geben dadurch die Daten aus, die
an den "1"-Eingängen derselben empfangen werden. Mittels
des Flip-Flops 1218 und des Gatters 1220 wird
act_stb_low[0] aktiviert, wenn sich write_m_active_2x in
einem hohen Zustand und wpd in einem niedrigen Zustand
(d. h. wenn ein 2x-Schreiben mit einer Schreibphasenverzögerung
auftritt) befinden. Mittels des Gatters 1222 und des Flip-
Flops 1224 wird act_stb_low[1] aktiviert, wenn wri
te_m_active_2x und wpd beide in einem hohen Zustand sind
(d. h. wenn ein 2x-Schreiben ohne eine Schreibphasenverzö
gerung auftritt).
Es sei bemerkt, daß die Schaltungsanordnung von Fig. 12
keine lange Schreibpräambel erreichen kann. Eine lange
Schreibpräambel kann jedoch mit einer unteren Strobe-
Signal-Anschlußfläche entweder in dem 1x- oder 2x-Modus er
reicht werden, indem das Signal trist_s einen Zyklus früher
(siehe Fig. 8) aktiviert wird.
Die Schaltungsanordnung von Fig. 12 erzeugt zusammenfassend
Ausgangssignale, die in dem 1x-Modus kippen, und erzeugt
Ausgangssignale, die statische Gegenteile in dem 2x-Modus
sind. Die kippenden Ausgangssignale werden durch die Schal
tungsanordnung von Fig. 8 verwendet, um ein 1x-Strobe-
Signal zu erzeugen, und die statischen Ausgangssignale wer
den durch die Schaltungsanordnung von Fig. 8 verwendet, um
ein 2x-Strobe-Signal zu erzeugen.
Der Betrieb von Fig. 13 in dem 1x-Modus ist im folgenden
beschrieben. In dem 1x-Modus wird das Signal data2xn1x in
einen niedrigen Zustand getrieben, und die Aktivierung des
Signals write_m_active ermöglicht die Erzeugung von Signa
len act_stb_up[0 : 1]. Die Signale act_stb_up[0 : 1] werden je
doch lediglich erzeugt, wenn ein Schreibvorgang zu einem
DIMM, das x4-DDR-SDRAM aufweist, durchgeführt wird. Wenn zu
DIMM geschrieben wird, die x8- oder x16-DDR-SDRAM aufwei
sen, werden die Signale act_stb_up[0 : 1] in einen niedrigen
Zustand getrieben, so daß keine Strobe-Signale an den obe
ren Strobe-Signal-Anschlußflächen der Speichersteuerung von
Fig. 9 erzeugt werden. Fig. 13 muß daher nicht hinsichtlich
eines x4-Schreibens bei einem 1x-Modus und eines x8-/x16-
Schreibens bei einem 1x-Modus analysiert werden.
Während eines x4-Schreibens bei einem 1x-Modus wird das Si
gnal data2xn1x in einen niedrigen Zustand getrieben, und
der Multiplexer 1302, der dadurch gesteuert wird, gibt die
Daten, die bei dem "0"-Eingang desselben empfangen werden,
aus. Wenn das Signal write_m_active aktiviert ist, ist die
Erzeugung der Signale act_stb_up[0 : 1] aktiviert, jedoch le
diglich, wenn das zweite Eingangssignal zu dem UND-Gatter
1304 aktiviert ist. Während eines 1x-Schreibens jeder Art
wird das Signal reset L in einem hohen Zustand gehalten.
Das zweite Eingangssignal zu dem UND-Gatter 1304 wird daher
lediglich aktiviert, wenn sich das Ausgangssignal des Mul
tiplexers 1306 in einem hohen Zustand befindet. Das Aus
gangssignal des Multiplexers 1306 kann lediglich aktiviert
werden, wenn das Signal write_x4 aktiviert ist (da der Mul
tiplexer 1306 durch das Ausgangssignal des Multiplexers
1334 gesteuert ist). Das Signal write_x4 wird daher verwen
det, um anzuzeigen, ob ein Schreibvorgang zu einem DIMM,
das x4- oder x8-/x16-DDR-SDRAM aufweist, durchgeführt wird,
und daher spricht das Signal write_x4 auf Werte Ax an, die
von der Speichertabelle 1100 ausgegeben werden. Wenn ein
Schreibvorgang zu einem DIMM, das x4-DDR-SDRAM aufweist,
durchgeführt wird, wird das Signal write_x4 aktiviert, und
es ist für die Schaltungsanordnung von Fig. 13 möglich, Si
gnale act_stb_up[0 : 1] zu erzeugen. Auf der anderen Seite
wird, wenn ein Schreibvorgang zu den DIMM durchgeführt
wird, das x8- oder x16-DDR-SDRAM aufweist, das Signal wri
te_x4 deaktiviert, und die Ausgangssignale act_stb_up[0 : 1]
werden in einem niedrigen Zustand gehalten.
Der Betrieb der Schaltungsanordnung von Fig. 13 während ei
nes x4-Schreibens bei dem 1x-Modus schreitet wie folgt
fort. Wenn sich data2xn1x in einem niedrigen Zustand befin
det, sich write_m_active in einem hohen Zustand befindet
und sich write_x4 in einem hohen Zustand befindet, verblei
ben die Signale act_stb_up[0 : 1] solange in einem niedrigen
Zustand, bis das Schreibsignal aktiviert ist. Nach der Ak
tivierung des Schreibsignals breitet sich das Schreibsignal
durch einen Weg aus, der die Multiplexer 1308 und 1306, das
ODER-Gatter 1310, das D-Typ-Flip-Flop 1312, die UND-Gatter
1304 und 1314, den Multiplexer 1302, das D-Typ-Flip-Flop
1316 und das UND-Gatter 1318 aufweist, um dadurch das Aus
gangssignal act_stb_up[0] zu aktivieren. Das Schreibsignal
breitet sich ebenfalls durch den Multiplexer 1320 und das
UND-Gatter 1322 aus, um dadurch das Ausgangssignal
act_stb_up[1] zu aktivieren. Danach, und solange, wie die
Eingangssignale zu der Schaltung 1300 ihren Zustand nicht
ändern (jedoch für den Takt MCK), werden die Signale
act_stb_up[0 : 1] aufgrund der Anwesenheit eines Rückkopp
lungswegs 1324 kippen.
Ein x4-Schreiben bei dem 1x-Modus kann um einen halben
(1/2) MCK-Zyklus durch Aktivieren des Signals wpd verzögert
werden. Die Aktivierung des Signals wpd bewirkt eine Stro
be-Signal-Verzögerung von einem halben Zyklus, indem be
wirkt wird, daß das Eingangssignal 1326 zu dem Multiplexer
1320 durch das D-Typ-Flip-Flop 1328 verzögert wird.
Ein x4-Schreiben bei dem 1x-Modus kann ebenfalls einer lan
gen Schreibpräambel ausgesetzt sein. Eine Schreibpräambel
ist eine Zeitdauer vor der Erzeugung eines Strobe-Signals,
während derer eine Strobe-Signal-Anschlußfläche in einem
niedrigen Zustand gehalten wird. Eine solche Präambel kann
durch Aktivieren des Signals long_wpre verlängert werden,
wodurch bewirkt wird, daß die Signale write und write_x4
jeweils durch ein Paar von D-Typ-Flip-Flops 1330, 1332 ver
zögert werden. Im Gegensatz zu der Aktivierung des Signals
wpd, das lediglich eine erste steigende Flanke des Aus
gangssignals act_stb_up[1] verzögert, verzögert die Akti
vierung des Signals long_wpre die ersten steigenden Flanken
von beiden Signalen act_stb_up[0 : 1].
Wie im vorhergehenden in dieser Beschreibung bemerkt, führt
ein x8-/x16-Schreiben bei dem 1x-Modus dazu, daß die Signa
le act_stb_up[0 : 1] in einem niedrigen Zustand gehalten wer
den, da die oberen Strobe-Signale für ein x8-/x16-Schreiben
nicht notwendig sind. Die oberen Strobe-Signale werden in
einem niedrigen Zustand gehalten, indem das Signal write_x4
in einem niedrigen Zustand gehalten wird.
Die Schaltungsanordnung von Fig. 13 wird in dem 2x-Modus
wie folgt betrieben. Das Signal data2xn1x wird in einen ho
hen Zustand getrieben und die Gatter 1318 und 1322 werden
deaktiviert. Als ein Resultat werden die Signale
act_stb_up[0] und act_stb_up[1] immer in einem niedrigen
Zustand bei dem 2x-Modus gehalten. Der Grund dafür, daß die
Signale act_stb_up[0 : 1] nicht in dem 2x-Modus erzeugt wer
den, besteht darin, daß eine Wahl getroffen wurde, die Zwi
schenchips 302 (Fig. 3) zu vereinfachen, indem zu denselben
immer geschrieben wird, als ob dieselben x8-DIMM sind. We
niger Signale werden daher zu den Zwischenchips 302 gelei
tet und, wenn notwendig, erzeugen die Zwischenchips 302 die
zusätzlichen Strobe-Signale, die dieselben benötigen, um zu
x4-DIMM zu schreiben.
Die Fig. 14-17 stellen Schreibtakte der in den Fig. 7, 8,
12 und 13 dargestellten Speichersteuerungstreiberschal
tungsanordnung dar.
In Fig. 14 wird das DQ4_PAD_ON in dem gleichen Zyklus akti
viert, in dem DQ4 getrieben wird. Wie in Fig. 8 gezeigt,
ist DQ4_PAD_ON das Signal, das den Tri-State-Puffer akti
viert, der mit der DQ4-Anschlußfläche gekoppelt ist. Ähn
licherweise ist das Signal DQS18_PAD_ON das Signal, das den
Tri-State-Puffer aktiviert, der mit der DQS18-Anschluß
fläche gekoppelt ist. W1 und Wbl-1 und Wbl stellen aufein
anderfolgende Bits eines Datenworts dar, das bei der An
schlußfläche DQ4 erscheint. Fig. 14 stellt den Fall dar,
bei dem long_wpre = 0, und spezifiziert daher eine Schreib
präambel 1400 von einem MCK-Taktzyklus. Fig. 14 nimmt fer
ner an, daß wpd = 0. Wenn wpd aktiviert wäre, dann würden
die Signale DQS18, DQS18_PAD_ON, DQ4 und DQ4_PAD_ON alle
nach rechts um einen halben MCK-Zyklus (d. h. eine Phase)
verschoben. Die Signale, die mit trk_pad_owd durch Pfeile
verbunden sind, werden durch die Aktivierung von
trk_pad_owd gesteuert, und dieselben besitzen daher eine
feste zeitliche Abstimmung zueinander. Das Signal
trk_pad_owd ist ein Signal, das bewirkt, daß eine Speicher
steuerungsanschlußfläche "Schreibdaten ausgibt". Das Signal
wird in dem Kern der Speichersteuerung 100 erzeugt und zu
einer Anschlußflächensteuerzustandsmaschine 2900 (Fig. 29)
zum Zweck des Erzeugens der Signale trist_d und trist_s
(Fig. 8) geliefert. Fig. 14 gilt für die Schreibtakte einer
unteren Strobe-Signal-Anschlußfläche (d. h. einer Strobe-
Signal-Anschlußfläche, die konfiguriert ist, um zu DIMM,
die x4- und x8-/x16-DDR-SDRAM aufweisen, zu schreiben). Ei
ne obere Strobe-Signal-Anschlußfläche (d. h. eine Strobe-
Signal-Anschlußfläche, die lediglich konfiguriert ist, um
zu DIMM zu schreiben, die x4-DDR-SDRAM aufweisen) hält die
DQS18-Leitung in einem niedrigen Zustand, wenn Schreibvor
gänge zu den DIMM, die x8-/x16-DDR-SDRAM aufweisen, auftre
ten.
Fig. 15 ist ähnlich zu Fig. 14, jedoch mit einer langen
Schreibpräambel (d. h. long_wpre = 1). Eine Schreibpräambel
1500 von zwei MCK-Taktzyklen wird daher angezeigt.
In Fig. 16 wird DQ4_PAD_ON in dem gleichen Zyklus akti
viert, in dem DQ4 getrieben wird. w1, w3,. . ., w8 stellen
aufeinanderfolgende Bits von einem Datenwort dar, das bei
der DQ4-Anschlußfläche erscheint. Fig. 16 stellt den Fall
dar, bei dem long_wpre = 0 ist, und spezifiziert daher eine
Schreibpräambel 1600 von 0,75 MCK-Taktzyklen. Eine 0,75-
MCK-Zyklus-Postambel ist ebenfalls vorgesehen. Fig. 16
nimmt ferner an, daß wpd = 0 ist. Wenn wpd aktiviert ist,
dann werden die Signale DQS18, DQS18_PAD_ON, DQ4 und
DQ4_PAD_ON alle nach rechts um einen halben MCK-Zyklus
(d. h. eine Phase) verschoben. Die Signale, die mit trk_pad_owd
durch Pfeile verbunden sind, werden alle durch die Aktivie
rung von trk_pad_owd gesteuert und besitzen daher eine fe
ste zeitliche Abstimmung zueinander. Fig. 16 gilt für
Schreibtakte einer unteren Strobe-Signal-Anschlußfläche.
Eine obere Strobe-Signal-Anschlußfläche würde die DQS18-
Leitung in einem niedrigen Zustand halten, wenn Schreibvor
gänge zu DIMM, die x8- oder x16-DDR-SDRAM aufweisen, auf
treten.
Fig. 17 ist ähnlich zu Fig. 16, jedoch mit einer langen
Schreibpräambel (d. h. long_wpre = 1). Daher wird eine
Schreibpräambel 1700 von 1,75 MCK-Taktzyklen angezeigt.
Fig. 18 stellt ein bevorzugtes Ausführungsbeispiel einer
Empfängerschaltungsanordnung 1800 für eine Doppeldatenra
tenspeichersteuerung 100 (Fig. 9) dar. Die Empfängerschal
tungsanordnung 1800 weist eine Datensignal-Anschlußfläche
(DQ4), vier transparente Dateneingangslatches 1802, 1804,
1806, 1808, eine Strobe-Signal-Verteilungsschaltungs
anordnung 1810, 1812 (zum Verteilen von Strobe-Signalen zu
den Dateneingangslatches 1802, 1808 mittels eines Zählwerts
von Strobe-Signal-Flanken, wodurch eine Einrichtung zum Le
sen von Daten von einem DIMM, das x4-, x8- oder x16-DDR-
SDRAM aufweist, vorgesehen wird), ein Paar von 4 : 1-
Entzerrungsmultiplexern (Deskew-Multiplexern) 1814, 1816
(d. h. eine Entzerrungsmultiplexstufe) und eine Multiple
xerauswahllogik 1818-1846 zum Liefern der Entzerrungsmul
tiplexer 1814, 1816 mit einem geeigneten Satz von Steuersi
gnalen (abhängig davon, ob die Empfängerschaltungsanordnung
1800 für ein Lesen bei dem 1x-Modus oder dem Mx- (z. B. 2x-
Modus konfiguriert ist) auf. Es sei bemerkt, daß die Da
tensignal-Anschlußfläche, die in Fig. 18 offenbart ist,
vorzugsweise synonym zu der Datensignal-Anschlußfläche ist,
die in Fig. 8 offenbart ist, und daher eine bidirektionale
Datensignal-Anschlußfläche ist.
Die vier Dateneingangslatches 1802-1808 empfangen jeweils
den gesamten Datenstrom, der bei der Datensignal-
Anschlußfläche DQ4 erscheint. Die Dateneingangslatches
1802-1808 sind jedoch einzeln zu einem bestimmten Zeitpunkt
folgend und ansprechend auf ein Strobe-Signal, das bei ei
ner Strobe-Signal-Anschlußfläche DQS18 (Fig. 19) empfangen
wird, transparent, so daß 1) ein erstes Datenbit in dem
Latch 1802 ansprechend auf eine erste ankommende Strobe-
Signal-Flanke, die bei der DQS18-Strobe-Signal-
Anschlußfläche empfangen wird, zwischengespeichert wird, 2)
ein zweites Datenbit in dem Latch 1804 ansprechend auf eine
zweite ankommende Strobe-Signal-Flanke, die bei der DQS18-
Anschlußfläche empfangen wird, zwischengespeichert bzw.
verriegelt wird, 3) ein drittes Datenbit in dem Latch 1806
ansprechend auf eine dritte ankommende Strobe-Signal-
Flanke, die bei der DQS18-Anschlußfläche empfangen wird,
zwischengespeichert wird, 4) ein viertes Datenbit in dem
Latch 1808 ansprechend auf eine vierte ankommende Strobe-
Signal-Flanke, die bei der DQS18-Anschlußfläche empfangen
wird, zwischengespeichert wird, und dann 5) neue Datenbit
folgen in den Latches 1802-1808 wiederum beginnend mit
dem Latch 1802 verriegelt bzw. zwischengespeichert werden,
wenn zusätzliche Datenbits bei der Anschlußfläche DQ4 emp
fangen werden sollen.
Die Erzeugung von Signalen S1-S4 (wie es in Fig. 18 zu
sehen ist, die Signale S1_alt-S4_alt) ist in einem späte
ren Abschnitt dieser Beschreibung beschrieben. Für Zwecke
dieses Abschnitts der Beschreibung muß man lediglich ver
stehen, daß ein Satz von Steuerpulsen, wie z. B. Signale
S1-S4, zum Verriegeln von Daten in die jeweiligen Datenein
gangslatches 1802-1808 geliefert werden. Ungeachtet des
sen, ob die Empfängerschaltungsanordnung 1800 konfiguriert
ist, um in dem 1x- oder 2x-Modus betrieben zu werden, und
ungeachtet dessen, ob Daten von einem DIMM, das x4-DDR-
SDRAM, x8-/x16-DDR-SDRAM oder einen Zwischenchip 302 auf
weist, empfangen werden, werden die Steuersignale S1-S4
sequentiell ansprechend auf ankommende Strobe-Signal-
Flanken, die bei einer Strobe-Signal-Anschlußfläche empfan
gen werden, aktiviert. Die Taktpulse S1-S4 werden daher
mit einer 1x- oder 2x-DDR-Taktrate abhängig von der Rate
erzeugt, bei der die Strobe-Signal-Flanken bei einer ent
sprechenden Strobe-Signal-Anschlußfläche empfangen werden.
Wie in Fig. 18 dargestellt, ist jedes der transparenten Da
teneingangslatches 1802-1808 mit Eingängen eines ersten
und eines zweiten 4 : 1-Entzerrungsmultiplexers 1814, 1816
gekoppelt. Bei dem 1x-Modus ist jedoch das Ausgangssignal
des zweiten Entzerrungsmultiplexers 1816 bedeutungslos und
wird ignoriert. Wie in der Figur zu sehen, hält die Deakti
vierung des Signals data2xn1x die Steuereingangssignale des
zweiten Entzerrungsmultiplexers 1816 während eines 1x-
Modus-Lesens konstant.
Bei einem 1x-Modus-Burst bzw. einem 1x-Modus-Datenblock von
vier Lesevorgängen werden vier Datenbits jeweils in die Da
teneingangslatches 1802-1808 getaktet. Dadurch, daß die
Multiplexerauswahllogik vier D-Typ-Flip-Flops 1824, 1830,
1844, 1846, drei Gatter 1818, 1820, 1826 und zwei Multiple
xer 1822, 1828 aufweist, werden die Dateneingangssignale
des ersten Entzerrungsmultiplexers 1814 sequentiell mit dem
Ausgang des Multiplexers in der Reihenfolge 0, 2, 1, 3 ge
koppelt. Der erste Entzerrungsmultiplexer 1814 gibt daher
Datenbits sequentiell in der Reihenfolge aus, in der die
selben bei der Datensignal-Anschlußfläche DQ4 empfangen
werden. Jedes Ausgangssignal des ersten Entzerrungsmulti
plexers 1814 wird in den Kerntaktbereich der Speichersteue
rung von Fig. 9 bei einer steigenden Flanke des IOBCK-
Taktes getaktet (d. h. durch das D-Typ-Flip-Flop 1848 mit
einer 1x-DDR-Rate getaktet).
Auf die Steuersignale, die durch die Multiplexerauswahllo
gik 1824, 1830, 1844, 1846, 1818, 1820, 1826, 1822, 1828
bei dem 1x-Modus erzeugt werden, wird manchmal in den An
sprüchen als ein erster Satz von Steuersignalen Bezug ge
nommen.
Es sei bemerkt, daß die Dateneingangslatches 1802-1808 in
dem Zeitbereich eines Strobe-Signals betrieben werden, das
bei einer Strobe-Signal-Anschlußfläche empfangen wird, die
der Datensignal-Anschlußfläche DQ4 (z. B. der Strobe-
Signal-Anschlußfläche DQS18) entspricht. Die Entzerrungs
multiplexer 1814, 1816 werden jedoch in dem Taktbereich der
Speichersteuerung 100 betrieben. Aufgrund des Latchens bzw.
Zwischenspeicherns der Daten in den vier Dateneingangslat
ches 1802-1808 ist die Speichersteuerung 100 (und insbe
sondere die Multiplexerauswahllogik 1818-1846 für das
Steuern der Entzerrungsmultiplexer 1814, 1816) mit einem
Fenster von gleich 1,5 Perioden eines ankommenden Strobe-
Signals versehen, um Daten aus einem Dateneingangslatch und
in den Kern der Speichersteuerung 100 zu takten. Fachleuten
ist ohne weiteres offensichtlich, daß die Anzahl der Date
neingangslatches 1802-1808, die in der Empfängerschal
tungsanordnung von Fig. 18 vorgesehen sind, zu P Latches
extrapoliert werden kann, wobei P ≧ 2, um dadurch eine kür
zere oder längere Periode zum Übertragen von Daten von dem
Strobe-Signal-Bereich eines ankommenden Strobe-Signals zu
dem Taktbereich der Speichersteuerung 100 vorzusehen. Es
ist ferner offensichtlich, daß andere Arten von Speicher
elementen anstelle der transparenten Dateneingangslatches
1802-1808 (z. B. D-Typ-Flip-Flops) verwendet werden kön
nen.
Ein 1x-Modus-Burst bzw. ein 1x-Modus-Datenblock von acht
Lesevorgängen wird ähnlich zu einem 1x-Modus-Datenblock von
vier Lesevorgängen betrieben, wobei zwei Sätze von vier Da
tenbits in den Dateneingangslatches 1802-1808 zwischenge
speichert werden. Die Dateneingänge des ersten Entzerrungs
multiplexers 1814 sind daher mit den Ausgängen desselben in
der Reihenfolge 0, 2, 1, 3, 0, 2, 1, 3 gekoppelt.
Bei dem 2x-Modus werden alle Lesevorgänge vorzugsweise als
Bursts bzw. Datenblöcke von acht ausgeführt. Die Datenein
gangslatches 1802-1808 werden daher ähnlich zu einem 1x-
Modus-Datenblock von acht Lesevorgängen, jedoch mit der
doppelten Rate, transparent gemacht. Bei dem 2x-Modus sind
jedoch beide Entzerrungsmultiplexer 1814, 1816 aktiv, wobei
die Eingangssignale derselben in der folgenden Reihenfolge
aktiv sind:
Eingangssignal 0, Multiplexer 1814
Eingangssignal 0, Multiplexer 1816
Eingangssignal 1, Multiplexer 1814
Eingangssignal 2, Multiplexer 1816
Eingangssignal 0, Multiplexer 1814
Eingangssignal 0, Multiplexer 1816
Eingangssignal 1, Multiplexer 1814
Eingangssignal 2, Multiplexer 1816
Es sei bemerkt, daß die Steuersignale für beide Multiplexer
1814, 1816 ihren Zustand synchron zu dem Speichersteue
rungstakt IOBCK ändern, daß jedoch die Steuersignale des
Multiplexers 1816 ihren Zustand einen halben IOBCK-
Taktzyklus phasenverschoben zu den Steuersignalen für den
Multiplexer 1814 ändern.
Bei dem 2x-Modus weist die Multiplexerauswahllogik, die
zwei Entzerrungsmultiplexer 1814, 1816 steuert, fünf D-Typ-
Flip-Flops 1824, 1830, 1836, 1842, 1844, vier Gatter 1832,
1834, 1838, 1840 und zwei Multiplexer 1822, 1828 auf. Auf
die Steuersignale, die durch die Multiplexerauswahllogik
1824, 1830, 1836, 1842, 1844, 1832, 1834, 1838, 1840, 1822,
1828 in dem 2x-Modus erzeugt werden, wird manchmal in den
Ansprüchen als ein zweiter Satz von Steuersignalen Bezug
genommen. Es sei bemerkt, daß ungeachtet dessen, ob die Da
tenbits durch die Schaltungsanordnung 1800 von Fig. 18 in
dem 1x- oder 2x-Modus empfangen werden, jedes der Steuersi
gnale, die durch die Multiplexerauswahllogik 1818-1846
erzeugt werden, bei einer 1x-Rate erzeugt werden können,
obwohl die Entzerrungsmultiplexer 1814, 1816 effektiv Daten
mit einer 2x-Rate erzeugen.
Aufgrund der zwei abwechselnd getakteten D-Typ-Flip-Flops
1850, 1852, die mit dem Ausgang des zweiten Entzerrungsmul
tiplexers 1816 gekoppelt sind, werden gerade und ungerade
2x-Datenbits zu dem Kern der Speichersteuerung 100 parallel
ausgegeben. Diese Tatsache ist lediglich eine Entwurfswahl
und ist lediglich zur Vollständigkeit der Beschreibung der
bevorzugten Ausführungsbeispiele vorgesehen.
Die Schaltungsanordnung von Fig. 18 kann über ein UND-
Gatter 1854 aktiviert und deaktiviert werden. Das UND-
Gatter 1854 wird über den Ausgang eines Multiplexers 1856
aktiviert und deaktiviert, der das Signal DQ4_RCV_ON nach
einem halben (1/2) oder einem (1) Zyklus des Taktes IOBCK
(wie es durch ein Paar von kaskadierten D-Typ-Flip-Flops
1858, 1860 und den Zustand des Lesephasenverzögerungssi
gnals (rpd; rpd = read phase delay bestimmt ist) ausgibt.
Der Zweck des UND-Gatters 1854 und der zugeordneten Logik
1856-1860 desselben besteht darin, die stromabwärts lie
gende Empfängerschaltungsanordnung 1802-1808, 1814, 1816,
1848-1852 vor einem Rauschen abzuschirmen, das vorhanden
sein kann, wenn sich der Bus, der mit der Datensignal-
Anschlußfläche DQ4 gekoppelt ist, in einem Leerlaufzustand
befindet und in den dritten Zustand bzw. den Tri-State ge
setzt ist.
Während eines Speicherlesezyklus besteht eine Notwendig
keit, die Variation der Steuerungs-Speicher-Steuerungs-
Schleifenverzögerung (d. h. der Leseschleifenverzögerung)
zu berücksichtigen. In Fig. 21 ist beispielsweise eine
Mehrzahl von Speichermodulen 104 mit einer Speichersteue
rung 100 über gemeinsame Daten- (DQ-) und Strobe-Signal-
(DQS-) Busse gekoppelt. Es ist nicht nur eine Mehrzahl von
Speichermodulen 104 mit den Daten- und Strobe-Signal-Bussen
gekoppelt, sondern jedes der Speichermodule 104 kann Takt
variationen innerhalb zulässiger Bereiche (z. B. innerhalb
der Bereiche, die in der JEDEC-DDR-SDRAM-Spezifikation vor
gesehen sind) zeigen. Kopien eines Taktsignals, die zu je
dem der Mehrzahl von Speichermodulen 104 verteilt werden,
können ferner zueinander versetzt werden.
Als ein Resultat der obigen Unregelmäßigkeiten können An
fragen, die zu unterschiedlichen Speichermodulen (mit ihren
variierten Taktcharakteristika und versetzten bzw. verzerr
ten Takten) abgesetzt werden, variierende Zeitmengen ver
brauchen, um zu der Steuerung zurückzukehren, und es be
steht eine Variation der Leseschleifenverzögerung, die be
rücksichtigt werden muß, wenn bestimmt wird, wann der Emp
fang von Daten und Strobe-Signalen bei einer Speichersteue
rung 100 aktiviert und deaktiviert werden muß. Eine solche
Verzögerung kann lediglich berücksichtigt werden, indem si
chergestellt wird, daß eine Speichersteuerung 100 geeignet
Daten- und Strobe-Signale ansprechend auf eine möglichst
kurze Schleifenverzögerung (d. h. bei dem Fall eines frühen
Empfangs) und eine möglichst lange Schleifenverzögerung
(d. h. bei dem Fall eines späten Empfangs) empfangen wird.
Die Daten- und Strobe-Signal-Busse für die Speichermodule
104 unter der JEDEC-DDR-SDRAM-Spezifikation weisen eine be
merkenswerte Charakteristik auf. Die Bezugsspannung für je
de Busleitung ist gleich der Abschlußspannung der Buslei
tung. Dies bedeutet, daß als ein Resultat eines Rauschens
die Strobe-Signal-Anschlußflächen einer Speichersteuerung
100 falschen "0"-zu-"1"- und "1"-zu-"0"-Übergängen ausge
setzt sind, wenn ihre entsprechenden Busleitungen in den
Tris-State gesetzt sind (tri-stated). Wenn dies nicht be
rücksichtigt wird, können diese Übergänge falsch als aktive
Strobe-Signal-Flanken interpretiert werden, was zu einer
möglichen Datenverstümmelung führt.
Die JEDEC-DDR-SDRAM-Spezifikation versucht, dieses Problem
zu überwinden, indem eine "Lesepräambel" und eine "Lesepo
stambel" vorgesehen werden. Die Lesepräambel sieht eine
Zeitdauer vor der ersten ankommenden Strobe-Signal-Flanke
vor, während derer eine Strobe-Signal-Anschlußfläche in ei
nem niedrigen Zustand gehalten wird. Ähnlicherweise sieht
die Lesepostambel eine Zeitdauer nach der letzten ankommen
den Strobe-Signal-Flanke vor, während derer eine Strobe-
Signal-Anschlußfläche in einem niedrigen Zustand gehalten
wird. Als ein Resultat können Strobe-Signal-Flanken bei ei
ner Strobe-Signal-Anschlußfläche etwas früher oder etwas
später eintreffen und dennoch in die Periode bzw. Zeitdauer
fallen, die eine Speichersteuerung 100 für die Rückkehr ei
nes Lesezyklus zuteilt. Probleme können dennoch auftreten,
wenn die Variation zwischen früh und spät eintreffenden
Strobe-Signal-Flanken groß ist.
Fig. 22 stellt einen DDR-Lesezyklus in dem 1x-Modus (da
ta2xn1x = 0) ohne eine Lesephasenverzögerung (rpd = 0) dar,
wie es durch die Empfängerschaltungsanordnung 1800, 2000
der Fig. 18 und 20 zu sehen ist. Man bemerkt die Variatio
nen zwischen den Signalen DQS18 (früh) und DQS18 (spät),
die jeweils das am frühesten und am spätesten erwartete
Eintreffen von Strobe-Signal-Flanken bei einer Strobe-
Signal-Anschlußfläche DQS18 (d. h. einen "Fall eines frühen
Empfangs" und einen "Fall eines späten Empfangs") darstel
len. Es sei ferner bemerkt, daß der "0"-zu-Tri-State-
Strobe-Signal-Übergang bei dem Fall des frühen Empfangs
auftritt, bevor die letzte Strobe-Signal-Flanke bei dem
Fall des späten Empfangs empfangen wird. Daher kann man
nicht in allen Fällen den Empfänger einer Strobe-Signal-
Anschlußfläche sowohl 1) nach dem Empfang einer letzten an
kommenden Strobe-Signal-Flanke als auch 2) bevor eine an
kommende Strobe-Signal-Flanke in den Tri-State gesetzt
wird, in den Tri-State setzen, es sei denn, daß man im vor
aus exakt voraussagen kann, wann Strobe-Signale bei einer
Strobe-Signal-Anschlußfläche (d. h. früh oder spät) empfan
gen werden, und dass man eine solche Vorhersage mit einer
perfekten Genauigkeit machen kann. Für Fachleute ist es of
fensichtlich, daß das Voraussagen, wann Strobe-Signale bei
einer Strobe-Signal-Anschlußfläche empfangen werden, sehr
schwer ist, da eine solche Voraussage nicht nur von den
Drahtleitwegen bzw. Drahtrouten zwischen einer Steuerung
100 und einem Speicher 104 sowie von der Zeit, die benötigt
wird, um auf eine spezielle Speicheradresse innerhalb eines
Speichermoduls zuzugreifen, sondern ferner von der Tempera
tur, von dem Taktversatz bzw. der Taktverzerrung, den Spei
cherzugriffsgeschwindigkeiten usw. abhängt. Eine Möglich
keit wird daher benötigt, um zu verhindern, daß das Setzen
eines Strobe-Signals in den Tri-State bzw. das Tri-Stating
Rauschen erzeugt, das als aktive Strobe-Signal-Flanken in
terpretiert wird. Die Fig. 18, 19 und 20 stellen eine sol
che Einrichtung dar.
In Fig. 18 sind vier Dateneingangslatches 1802-1808 ge
koppelt, um Daten von einer Datensignal-Anschlußfläche DQ4
zu empfangen. Die vier Latches 1802-1808 werden jeweils
durch Werte eines Zählwerts gesteuert. In Fig. 18 werden
die vier Latches beispielsweise durch einen Vier-Bit-
Zählwert, der bei einer Eins einen hohen Zustand aufweist
und die Bits S1, S2, S3 und S4 aufweist, gesteuert. Dieser
Zählwert kann durch den Zähler 1900, der in Fig. 19 darge
stellt ist, ansprechend auf gepufferte Strobe-Signal-
Flanken erzeugt werden, die von einem Empfänger 2030 ausge
geben werden, der mit der Strobe-Signal-Anschlußfläche
DQS18 gekoppelt ist. Der Zähler wird durch die Zählersteu
erlogik 1902 gesteuert, die einen Block einer Kombinations
logik 1904 und einen Abschnitt der Kernlogik 1908 der Spei
chersteuerung aufweist. Die Kombinationslogik 1904 empfängt
ein Steuersignal (DQS18_start), ein Rückkopplungssignal
1906 von dem Zähler 1900 und das Aktivierungssignal
DQS18_RCV_ON. Das Aktivierungssignal DQS18_RCV_ON wird zu
sowohl der Kombinationslogik 1904 der Zählersteuerlogik
1902 als auch zu dem Empfänger 2030 geliefert, der die
Strobe-Signal-Flanken puffert, die bei der Strobe-Signal-
Anschlußfläche DQS18 empfangen werden, so daß die Strobe-
Signal-Empfängerschaltungsanordnung, die in Fig. 19 gezeigt
ist, ähnlich zu der Weise, auf die die Datensignal-
Empfängerschaltungsanordnung von Fig. 18 aktiviert wird,
global aktiviert wird.
Die Hauptsteuereingangssignale der Kombinationslogik sind
das Steuersignal DQS18_start und das Zählerrückkopplungssi
gnal 1906. Unter der Annahme, daß 1) DQS18_RCV_ON aktiviert
ist und 2) der Zähler 1900 zurückgesetzt ist, bestimmt dann
das Steuersignal DQS18_start, wann der Zähler 1900 akti
viert wird. Bei einem ersten Ausführungsbeispiel ist das
Steuersignal DQS18_start lediglich ein Puls einer festen
Breite, der vor jedem Lesezyklus der Speichersteuerung 100
erzeugt wird. Bei diesem ersten bevorzugten Ausführungsbei
spiel wird angenommen, daß jedes Strobe-Signal, das bei der
DQS18 empfangen wird, die gleiche Anzahl von Flanken auf
weist. Bei einem zweiten Ausführungsbeispiel weist das
Steuersignal DQS18_start eine Startbedingung (z. B. eine
fallende Flanke) und eine Stoppbedingung (z. B. eine stei
gende Flanke) auf, wobei die zeitliche Abstimmung der
Start- und Stoppbedingungen abhängig von der Zahl der Stro
be-Signal-Flanken variiert, die man während eines aktuellen
Lesezyklus erwartet zu empfangen. Auf diese Art und Weise
kann die Kernlogik 1908 die Start- und Stoppbedingungen ab
hängig davon zeitlich abstimmen, ob ein aktueller Lesezy
klus beispielsweise 1) ein DDR-Burst von vier oder ein Da
tenblock bzw. Burst von acht Lesezyklen ist oder 2) ein 2x-
Modus-Lesezyklus oder Mx-Modus-Lesezyklus (M ≧ 2) ist. Das
letztere Ausführungsbeispiel des Steuersignals DQS18_start
sieht daher eine Speichersteuerung 100 mit einer größeren
Leseflexibilität vor.
Fig. 20 stellt ein bevorzugtes und detaillierteres Ausfüh
rungsbeispiel der in Fig. 19 dargestellten Schaltungsanord
nung dar, bei dem die Signale S1-S4 durch einen Kreiszäh
ler 2002-2012 erzeugt werden, der den Vier-Bit-Zählwert
desselben, der bei einer Eins einen hohen Zustand aufweist,
ansprechend auf jede Strobe-Signal-Flanke inkrementiert,
die bei der Strobe-Signal-Anschlußfläche DQS18 empfangen
wird. Der Kreiszähler 2002-2012 bzw. Pullover-Zähler wird
aktiviert und durch die Zählersteuerlogik 2014-2028 zu
rückgesetzt, die mit Eingängen DQS18_tff_rise_rst und
DQS18_tff_fall_rst des Zählers 2002-2012 gekoppelt ist.
Während eines Lesezyklus erzeugt die Zählersteuerlogik
2014-2028 eine Startbedingung bei DQS18_tff_start (eine fal
lende Flanke in Fig. 20), um dadurch das Zählen der Strobe-
Signal-Flanken des Zählers zu aktivieren. Das heißt, unter
der Annahme, daß der Zähler 2002-2012 bereits zurückge
setzt ist. Die Zählersteuerlogik 2014-2028 unterstützt
dann das Zurücksetzen des Zählers 2002-2012 durch Erzeu
gen einer Stoppbedingung (einer steigenden Flanke in Fig.
20) bei DQS18_tff_start.
Wie im folgenden detaillierter erörtert, dient die Startbe
dingung dazu, um den Zähler 2002-2012 asynchron hinsicht
lich der Strobe-Signal-Flanken zu aktivieren, die bei der
Strobe-Signal-Anschlußfläche DQS18 empfangen werden.
Der Zähler 2002-2012 wird ferner asynchron hinsichtlich
der Strobe-Signal-Flanken zurückgesetzt, die bei der Stro
be-Signal-Anschlußfläche DQS18 empfangen werden. Der Zähler
2002-2012 wird ansprechend auf die Stoppbedingung und das
Zählerrückkopplungssignal zurückgesetzt. Es sei bemerkt,
daß in Fig. 22 die Stoppbedingung in der Mitte eines Lese
zyklus und während des Zählens des Zählers der letzten vier
Strobe-Signal-Flanken eines Lesezyklus (d. h. der letzten P
Strobe-Signal-Flanken in den Ansprüchen) erzeugt wird. Da
jedoch das Zählerrückkopplungssignal bei Eingängen der Lo
gikgatter 2014 und 2018 der Zählersteuerlogik 2014-2028
empfangen wird, setzt der Zähler 2002-2012 das Zählen der
letzten vier Strobe-Signal-Flanken eines empfangenen Stro
be-Signals fort, bevor derselbe einen zurückgesetzten Zu
stand betritt - selbst wenn der Zähler 2002-2012 bereits
eine Stoppbedingung empfangen hat. Die Stoppbedingung
stoppt daher nicht unmittelbar den Zähler 2002-2012, son
dern verhindert vielmehr, daß der Zähler 2002-2012 an den
letzten vier Strobe-Signal-Flanken eines empfangenen Stro
be-Signals vorbeizählt. Wie es schnell offensichtlich wird,
wird der Zähler 2002-2012 die letzten vier Strobe-Signal-
Flanken ungeachtet davon zählen, wo sich derselbe in dem
Zählwert befindet, wenn eine Stoppbedingung erzeugt wird.
Ungeachtet dessen, ob der Zähler 2002-2012 eine, zwei
oder drei der letzten vier Strobe-Signal-Flanken gezählt
hat, wenn eine Stoppbedingung erzeugt wird, wird daher der
Zähler das Zählen der letzten vier Strobe-Signal-Flanken
eines Strobe-Signals beenden und dann das Zählen stoppen.
Als ein Resultat kann ein Zeitpunkt festgestellt werden, um
DQS18_tff_start derart zu aktivieren, daß 1) alle Strobe-
Signal-Flanken gezählt werden und 2) der Zähler 2002-2012
vor dem Zeitpunkt zurückgesetzt wird, wenn ein Strobe-
Signal-Bus in den Tri-State gesetzt wird, solange wie die
letzten vier Strobe-Signal-Flanken von DQS18 (früh) die
letzten vier Strobe-Signal-Flanken von DQS18 (spät) über
lappen.
In Fig. 20 weist der Überlaufzähler zwei Zustandselemente
2002, 2004 auf. Die Zustandselemente sind vorzugsweise
Kipp-Flip-Flops 2002, 2004, die einen arithmetischen binä
ren Zählwert (SA : SB) erzeugen. Der Zähler weist ferner eine
Kombinationslogik 2006-2012 auf, die den im vorhergehen
den erwähnten arithmetischen binären Zählwert in einen bi
nären Vier-Bit-Zählwert, der bei Eins einen hohen Zustand
aufweist, umwandelt.
Das erste der zwei Flip-Flops 2002 erzeugt Ausgangssignale
SA und SA' und wird durch steigende Strobe-Signal-Flanken
getaktet. Das zweite der zwei Flip-Flops 2004 erzeugt Aus
gangssignale SB und SB' und wird durch fallende Strobe-
Signal-Flanken getaktet.
Stromabwärts von den zwei Flip-Flops 2002, 2004 des Zählers
weist die Kombinationslogik, die den arithmetischen binären
Zählwert der Flip-Flops in einen binären Zählwert, der bei
Eins einen hohen Zustand aufweist, umwandelt, vier UND-
Gatter 2006-2012 auf. Die Eingänge der vier UND-Gatter
2006-2012 sind mit verschiedenen der Ausgänge SA, SA', SB
und SB' derart verbunden, daß die UND-Gatter 2006-2012
ihre Ausgangssignale S1-S4 auf eine sequentielle und
überrollende bzw. kreisende Art und Weise aktivieren.
Wenn das Flip-Flop 2002, das das Ausgangssignal SA erzeugt,
als das Flip-Flop niedriger Ordnung des Zählers 2002-2012
betrachtet wird, wird der binäre Zählwert, der durch die
Flip-Flops 2002, 2004 des Zählers erzeugt wird, die folgen
de Sequenz bzw. Folge annehmen: 0, 1, 3, 2, 0, 1, 3, 2, 0,
. . . . Daher ist die Reihenfolge des Zählwerts des Zählers
nicht so wichtig wie die konsistente und wiederholende Na
tur des Zählwerts des Zählers. Obwohl der in Fig. 20 ge
zeigte Zähler ferner ein Kreiszähler 2002-2012 ist, kann
der Zähler andere Formen annehmen. Der Zähler kann bei
spielsweise zusätzliche Zustandselemente 2002, 2004 oder
eine Ausgangslogik 2006-2012 zum Zählen aller Strobe-
Signal-Flanken eines Strobe-Signals aufweisen, ohne das
Überrollen bzw. Kreisen während eines gegebenen Zählwerts zu
benötigen.
Die Zählersteuerlogik 2014-2028, die den Zähler aktiviert
und zurücksetzt, weist ein Paar von UND-Gattern 2014, 2018
auf, die jeweils mit den Rücksetzeingängen der zwei Flip-
Flops 2002, 2004 über ein optionales Paar von ODER-Gattern
2016, 2020 gekoppelt sind. Der Zweck der optionalen ODER-
Gatter 2016, 2020 ist kurz beschrieben. Mittels eines er
sten UND- und ODER-Gatters 2014, 2016 wird das Rücksetzein
gangssignal des ersten Flip-Flops durch die folgende Glei
chung definiert:
SA'.DQS18_tff_start
(wobei "." eine logische UND-Operation bezeichnet).
SA'.DQS18_tff_start
(wobei "." eine logische UND-Operation bezeichnet).
Mittels eines zweiten UND- und ODER-Gatters 2018, 2020 wird
das Rücksetzeingangssignal des zweiten Flip-Flops durch die
folgende Gleichung bestimmt:
SA'.SB'
SA'.SB'
Jedes der UND-Gatter 2014, 2018 empfängt daher ein Rück
kopplungssignal von dem Zähler 2002-2012 (d. h. ein "Zäh
lerrückkopplungssignal"). Das erste UND-Gatter 2014 emp
fängt jedoch ferner die Start- und Stoppbedingungen, die
bei DQS18_tff_start erzeugt werden.
Die Start- und Stoppbedingungen, die jeweils das Aktivieren
und Zurücksetzen des Zählers 2002-2012 unterstützen, wer
den in der einzelnen Signalleitung erzeugt, die mit
DQS18_tff_start bezeichnet ist. Eine Startbedingung wird
durch eine fallende Flanke bei DQS18_tff_start angezeigt,
und eine Stoppbedingung wird durch eine steigende Flanke
bei DQS18_tff_start angezeigt. Die Start- und Stoppbedin
gungen werden durch eine Logik erzeugt, die einen Multiple
xer 2028, ein UND-Gatter 2026 und zwei abwechselnd getakte
te D-Typ-Flip-Flops 2022, 2024 aufweist. Die Flip-Flops
2022, 2024 und das UND-Gatter 2026 sind derart gekoppelt,
daß der Multiplexer 2028 das Signal stb_reset bei jedem der
Eingänge desselben empfängt, jedoch Änderungen des Signals
stb_reset an dem "0"-Eingang desselben einen halben (1/2)
IOBCK-Zyklus nach dem Zeitpunkt empfängt, zu dem derselbe
Änderungen des Signals stb_reset bei dem "1"-Eingang des
selben empfängt. Der Zustand des Multiplexer 2028 wird
durch das Lesephasenverzögerungssignal (rpd) gesteuert, und
als ein Resultat wird eine Änderung in stb_reset einen hal
ben (1/2) IOBCK-Zyklus später bei DQS18_tff_start widerge
spiegelt, wenn eine Lesephasenverzögerung (d. h., wenn rpd
= 1) auftritt.
Während eines Lesezyklus empfängt jedes der zwei ODER-
Gatter 2008, 2012 der Zählersteuerlogik eine logische "0",
die aus der Umkehrung bzw. Inversion des Signals
DQS18_RCV_ON abgeleitet ist. Es sei bemerkt, daß
DQS18_RCV_ON das Signal ist, das den Empfänger 2030 steu
ert, der mit der Strobe-Signal-Anschlußfläche DQS18 gekop
pelt ist. DQS18_RCV_ON ist daher während eines Lesezyklus
aktiviert und wird zwischen Lesezyklen deaktiviert. Durch
Koppeln von DQS18_RCV_ON mit den zwei ODER-Gattern 2008,
2012 des Zählers über einen Invertierer 2032 wird eine zu
sätzliche Sicherheitsmaßnahme vorgesehen, um sicherzustel
len, daß keines der Ausgangssignals (d. h. S1-S4) des
Zählers unbeabsichtigt aktiviert wird. Die Aktivierung von
DQS18_RCV_ON kann ferner verwendet werden, um den Zähler
2002-2012 beim Einschalten zurückzusetzen bzw. neu einzu
stellen.
Der Zustand des Signals DQS18_RCV_ON wird ähnlich zu dem
Zustand des Signals DQS18_tff_start gesteuert. Das heißt,
der Zustand von DQS18_RCV_ON wird durch zwei abwechselnd
getaktete D-Typ-Flip-Flops 2034, 2036 gesteuert, die mit
den Eingängen eines Multiplexers 2038 gekoppelt sind, wobei
der Multiplexer durch das Signal rpd gesteuert ist. Eine
Änderung des Zustand von DQS18_RCV_ON wird daher um einen
halben IOBCK-Zyklus verzögert, wenn eine Lesephasenverzöge
rung auftritt.
Fachleuten ist offensichtlich, daß die Schaltungsanordnung
von Fig. 18 und 20 extrapoliert werden kann, um Datenbits
und Strobe-Signal-Flanken zu empfangen, die aus mehreren P
Datenbits und Strobe-Signal-Flanken bestehen. Bei einer
solchen Extrapolation wird der Zähler 2002-2012 erwei
tert, um einen P-Bit-Zählwert, der einen hohen Zustand bei
Eins aufweist, zu erzeugen. Ähnlicherweise kann die Anzahl
der Dateneingangslatches 1802-1808 auf P Latches erwei
tert werden. In Fig. 18 und 20 ist daher P = 4.
Der Betrieb der Empfängerschaltungsanordnung 2000, die in
Fig. 20 dargestellt ist, ist unter Bezugnahme auf die Fig.
22-27 besser verständlich. Fig. 22 liefert einen Ver
gleich von verschiedenen Signaltakten für Lesevorgänge ei
nes frühen und eines späten Falls bei dem 1x-Modus ohne Le
sephasenverzögerung (rpd = 0). Fig. 25 liefert ähnlicher
weise einen Vergleich von verschiedenen Signaltakten für
Lesevorgänge eines frühen und eines späten Falls bei dem
2x-Modus ohne Lesephasenverzögerung (rpd = 0). Die Fig. 23,
24, 26 und 27 zeigen folgendes:
Fig. 23: Signaltakte in dem 1x-Modus, früher Fall, rpd = 0
Fig. 24: Signaltakte in dem 1x-Modus, später Fall, rpd = 0
Fig. 26: Signaltakte in dem 2x-Modus, früher Fall, rpd = 0
Fig. 27: Signaltakte in dem 2x-Modus, später Fall, rpd = 0
Fig. 23: Signaltakte in dem 1x-Modus, früher Fall, rpd = 0
Fig. 24: Signaltakte in dem 1x-Modus, später Fall, rpd = 0
Fig. 26: Signaltakte in dem 2x-Modus, früher Fall, rpd = 0
Fig. 27: Signaltakte in dem 2x-Modus, später Fall, rpd = 0
Bezugnehmend nun auf Fig. 22 ist dort der Kerntakt MCK der
Speichersteuerung 100, die in den Fig. 9, 18 und 20 darge
stellt ist, gezeigt. Die Signale trk_ird und trk_srd werden
zu einer Anschlußflächensteuerzustandmaschine 2900 (Fig.
29) geliefert, die jeweils das Signal stb_reset erzeugt,
das zu dem Flip-Flop 2022 geliefert wird, sowie das Signal
rcv on erzeugt, das zu dem Flip-Flop 2034 geliefert wird.
Die Signale trk_srd und trk_ird bestimmen daher das Anstei
gen und Fallen von verschiedenen Strobe-Signal-
Empfängerschaltungsanordnungssignalen. Obwohl in Fig. 29
nicht gezeigt, empfängt die Anschlußflächensteuerzustands
maschine ferner Signale, die anzeigen, ob ein aktueller Le
sezyklus einen 1x- oder 2x-Modus und einen Modus mit einem
Burst bzw. Datenblock von 4 oder einem Datenblock von 8 an
nimmt. Diese zusätzlichen Signale bestimmen ihrerseits,
wann stb_reset und rcv_on aktiviert sind.
Wie in Fig. 22 dargestellt, bestimmt die Aktivierung des
Signals trk_ird das Ansteigen von DQS18_RCV_ON und das Ab
fallen von DQS18_tff_start (wobei das Abfallen von
DQS18_tff_start die im vorhergehenden erwähnte Startbedin
gung darstellt). Wenn sich der Zähler 2002-2012 in dem
zurückgesetzten Zustand befindet (wie es der Fall sein
sollte, wenn trk_ird aktiviert ist), dann bestimmt die Ak
tivierung von trk_ird ferner den Abfall von
DQS18_tff_rise_rst.
Es sei ferner bemerkt, daß das Abfallen von DQS18_RCV_ON
die Strobe-Signal-Empfängerschaltungsanordnung 2000 allge
mein aktiviert, jedoch nicht den Zähler 2002-2012 der
Schaltungsanordnung aktiviert. Mit dem Abfallen von
DQS18_tff_start und von DQS18_tff_rise_rst einen Zyklus
nach dem Anstieg von DQS18_RCV_ON wird jedoch der Zähler
2002-2012 in einem Zustand plaziert, bei dem derselbe be
reit ist, um das Zählen von Strobe-Signal-Flanken zu begin
nen, sobald dieselben empfangen werden (d. h. der Zähler
2002-2012 wird asynchron ansprechend auf eine Startbedin
gung und ein Zählerrückkopplungssignal aktiviert).
Der Zähler 2002-2012 wird vorzugsweise zu einem Zeitpunkt
aktiviert, der zwischen i) einen spätesten Zeitpunkt, bei
dem die Zählerlogik 2014-2028 erwartet, daß ein Strobe-
Signal-Bus, der mit der Strobe-Signal-Anschlußfläche DQS18
gekoppelt ist, den Tri-State verläßt, und ii) einen frühe
sten Zeitpunkt, zu dem die Zählersteuerlogik 2014-2028
erwartet, daß Flanken eines Strobe-Signals bei der Strobe-
Signal-Anschlußfläche DQS18 empfangen werden, fällt. Hin
sichtlich des Empfangs von Strobe-Signalen der Strobe-
Signal-Empfängerschaltungsanordnung, die mit der JEDEC-DDR-
SDRAM-Spezifikation in Einklang sind, wird daher der Zähler
2002-2012 vorzugsweise zu einem Zeitpunkt aktiviert, zu
dem die Zählersteuerlogik 2014-2028 erwartet, daß sich
sowohl DQS18 (früh) als auch DQS18 (spät) in dem Präambel
zustand derselben befinden. Auf diese Art und Weise werden
falsche Übergänge bei der Strobe-Signal-Anschlußfläche
DQS18 als ein Resultat eines Tri-State-Rauschens nicht
durch den Zähler 2002-2012 als aktive Strobe-Signal-
Flanken interpretiert.
Die Aktivierung des Signals trk_srd bestimmt den Anstieg
von DQS18_tff_start sowie den Abfall von DQS18_RCV_ON (des
sen Abfall die Strobe-Signal-Empfängerschaltungsanordnung
2000 von Fig. 20 vollständig deaktiviert). Der Anstieg von
DQS18_tff_start und der Abfall von DQS18_RCV_ON variieren
bezüglich der zeitlichen Abstimmung abhängig davon, ob ein
Lesezyklus ein Datenblock von vier oder ein Datenblock von
acht Zyklen ist, wie es durch die Anschlußflächensteuerzu
standsmaschine 2009 gesteuert wird. Wie es während der Er
örterung eines 2x-Modus-Lesezyklus dieser Beschreibung be
merkbar ist, ist die zeitliche Abstimmung des trk_srd-
Steuerpulses in dem 2x-Modus als ein Resultat einer gefäll
ten Entscheidung festgelegt, lediglich Datenblöcke von acht
Lesevorgängen in dem 2x-Modus zu unterstützen.
Es sei bemerkt, daß während eines 1x-Modus-Burst von vier
Lesezyklen DQS18_tff_start zeitlich abgestimmt sein kann,
um zu einem beliebigen Zeitpunkt zwischen der ersten stei
genden Flanke von DQS18 (spät) und dem Ende der Postambel
von DQS18 (früh) anzusteigen. Solange DQS18_tff_start wäh
rend dieser Periode ansteigt, wird der Zähler 2002-2012
jedes einzelne aktive Strobe-Signal zählen, das bei DQS18
empfangen wird, und dann sich selbst ansprechend auf den
Anstieg von DQS18_tff_start (d. h. einer Stoppbedingung)
und auf das Zählerrückkopplungssignal asynchron zurückset
zen. Phantom-Strobe-Signal-Flanken bzw. falsche Strobe-
Signal-Flanken, die als ein Resultat von Rauschen als Tri-
States von DQS18 (früh) erzeugt werden, werden daher nicht
durch den Zähler 2002-2012 gezählt. Die vier Datenein
gangslatches 1802-1808, die mit der Datensignal-
Anschlußfläche DQ4 gekoppelt sind, werden daher nicht unab
sichtlich getaktet.
Der Abfall von DQS18_tff_start, der Abfall von
DQS18_tff_rise_rst und der Anstieg von DQS18_RCV_ON werden
alle in dem Taktbereich der Speichersteuerung 100 getrig
gert bzw. ausgelöst. Alle anderen steigenden und fallenden
Flanken innerhalb der Strobe-Signal-Empfängerschaltungs
anordnung 2000 werden von Strobe-Signal-Flanken ausgelöst,
die bei der Strobe-Signal-Anschlußfläche DQS18 empfangen
werden, und werden daher in dem Strobe-Signal-Bereich der
Speichermodule 104 oder der Zwischenchips 302 ausgelöst, an
denen die Strobe-Signal-Anschlußfläche DQS18 befestigt ist.
Wie in Fig. 22 gezeigt, wird die erste fallende Flanke von
DQS18_tff_fall_rst weg von dem Empfang einer ersten Strobe-
Signal-Flanke des Zählers von Fig. 20 ausgelöst. Der Zähler
2002-2012 fährt dann danach fort, Strobe-Signal-Flanken
bis zu einem solchen Zeitpunkt zu zählen, zu dem das Signal
DQS18_tff_start aktiviert ist. Nach diesem Zeitpunkt und
beim Erreichen eines Zählwerts "3" (d. h. der dritten der
letzten vier Strobe-Signal-Flanken) wird der Anstieg von
DQS18_tff_rise_rst asynchron ansprechend auf das Zähler
rückkopplungssignal ausgelöst. Ähnlicherweise und beim Er
reichen des Zählwerts "2" wird der Anstieg von
DQS18_tff_fall_rst asynchron als ein Resultat des Zähler
rückkopplungssignals ausgelöst. Sobald DQS18_tff_rise_rst
und DQS18_tff_fall_rst ansteigen, wird verhindert, daß die
selben solange nicht abfallen, wie DQS18_tff_start in einem
hohen Zustand gehalten wird (d. h. bis ein nächster Lesezy
klus eingeleitet wird).
Zur Vollständigkeit stellt Fig. 22 den Empfang von Daten
bei einer Datensignal-Anschlußfläche DQ4 (Fig. 18) bei "dem
Fall eines frühen Empfangs" und "dem Fall eines späten Emp
fangs" (d. h. DQ4 (früh) und DQ4 (spät)) dar. Fig. 22
stellt ferner die Periode dar, über die die Datensignal-
Anschlußfläche DQ4 zum Empfangen von Daten aktiviert ist
(was durch die Aktivierung des Signals DQ4_RCV_ON angezeigt
wird).
Fig. 23 stellt die Signaltakte in dem frühen 1x-Modus-
Lesefall ohne Lesephasenverzögerung (rpd = 0) dar. Es sei
bemerkt, daß die überlappenden Aktivierungen und Deaktivie
rungen der Flip-Flop-Ausgangssignale SA und SB zu der Er
zeugung von Signalen S1-S4 mit aufeinanderfolgenden Pul
sen führen. Jeder Puls von S1-S4 wird mit einer Frequenz
eines ankommenden Strobe-Signals erzeugt, das bei der Stro
be-Signal-Anschlußfläche DQS18 empfangen wird.
Fig. 24 stellt Signaltakte in dem späten 1x-Modus-Lesefall
ohne Lesephasenverzögerung (rpd = 0) dar.
Bezugnehmend nun auf Fig. 25 ist wiederum der Kerntakt MCK
der Speichersteuerung 100, die in den Fig. 9, 18 und 20
dargestellt ist, gezeigt.
Wie in Fig. 25 dargestellt, bestimmt die Aktivierung des
Signals trk_ird den Anstieg von DQS18_RCV_ON und den Abfall
von DQS18_tff_start (wobei der Abfall von DQS18_tff_start
die im vorhergehenden erwähnte Startbedingung darstellt).
Wenn der Zähler rückgesetzt ist (wie es der Fall sein soll
te, wenn trk_ird aktiviert ist), dann bestimmt die Aktivie
rung von trk_ird ferner den Abfall von DQS18_tff_rise_rst.
Es sei bemerkt, daß das Abfallen von DQS18_RCV_ON die Stro
be-Signal-Empfängerschaltungsanordnung 2000 allgemein akti
viert, jedoch nicht den Zähler 2002-2012 der Schaltungs
anordnung aktiviert. Mit dem Abfall von DQS18_tff_start und
von DQS18_tff_rise_rst einen Zyklus nach dem Anstieg von
DQS18_RCV_ON wird jedoch der Zähler 2002-2012 in einem
Zustand plaziert, bei dem derselbe bereit ist, um das Zäh
len von Strobe-Signal-Flanken zu beginnen, sobald dieselben
empfangen werden (d. h. der Zähler 2002-2012 wird asyn
chron ansprechend auf eine Startbedingung und ein Zähler
rückkopplungssignal aktiviert).
Der Zähler 2002-2012 wird vorzugsweise zu einem Zeitpunkt
aktiviert, der zwischen i) einen spätesten Zeitpunkt, zu
dem die Zählerlogik 2014-2028 erwartet, daß ein Strobe-
Bus, der mit der Strobe-Signal-Anschlußfläche DQS18 gekop
pelt ist, den Tri-State verläßt, und ii) einen frühesten
Zeitpunkt, zu dem die Zählersteuerlogik 2014-2028 Flanken
eines Strobe-Signals erwartet, das bei der Strobe-Signal-
Anschlußfläche DQS18 empfangen werden soll, fällt. Hin
sichtlich des Empfangs von Strobe-Signalen, die mit der JE
DEC-DDR-SDRAM-Spezifikation in Einklang sind, durch die
Strobe-Signal-Empfängerschaltungsanordnung wird der Zähler
2002-2012 daher vorzugsweise zu einem Zeitpunkt akti
viert, zu dem die Zählersteuerlogik 2014-2028 sowohl
DQS18 (früh) als auch DQS18 (spät) in dem Präambelzustand
derselben erwartet. Auf diese Art und Weise werden falsche
Übergänge bei der Strobe-Signal-Anschlußfläche DQS18 als
ein Resultat eines Tri-State-Rauschens nicht durch den Zäh
ler 2002-2012 als aktive Strobe-Signal-Flanken interpre
tiert.
Die Aktivierung des Signals trk_srd bestimmt den Anstieg
von DQS18_tff_start sowie den Abfall von DQS18_RCV_ON (des
sen Abfall die Strobe-Signal-Empfängerschaltungsanordnung
2000 von Fig. 20 vollständig deaktiviert). Da die Speicher
steuerung 100 nicht direkt mit dem Speicher 104 in dem 2x-
Modus kommuniziert, nehmen 2x-Lesevorgänge vorzugsweise im
mer einen Datenblock der Form 8 ein, und daher besitzen der
Anstieg von DQS18_tff_start und der Abfall von DQS18_RCV_ON
bei dem 2x-Modus feste zeitliche Abstimmungen.
Es sei bemerkt, daß während eines 2x-Modus-Lesezyklus
DQS18_tff_start zeitlich abgestimmt werden kann, um zu ei
nem beliebigen Zeitpunkt zwischen der dritten steigenden
Flanke von DQS18 (spät) und dem Ende der Postambel von
DQS18 (früh) anzusteigen. Solange DQS18_tff_start während
dieser Periode ansteigt, wird der Zähler 2002-2012 jedes
einzelne aktive Strobe-Signal zählen, das bei DQS18 empfan
gen wird, und sich dann asynchron ansprechend auf den An
stieg von DQS18_tff_start (d. h. einer Stoppbedingung) und
auf ein Zählerrückkopplungssignal selbst zurücksetzen.
Phantom-Strobe-Signal-Flanken, die als ein Resultat des
Rauschens, sowie DQS18 (früh) in den Tri-State gesetzt
wird, erzeugt werden, werden daher nicht durch den Zähler
2002-2012 gezählt. Die vier Dateneingangslatches
1802-1808, die mit der Datensignal-Anschlußfläche DQ4 gekoppelt
sind, werden folglich nicht unabsichtlich getaktet.
Wie bei dem 1x-Modus werden der Anstieg von DQS18_RCV_ON,
der Abfall von DQS18_tff_start und der Abfall von
DQS18_tff_rise_rst alle in dem Taktbereich der Speicher
steuerung 100 ausgelöst. Alle anderen steigenden und fal
lenden Flanken innerhalb der Strobe-Signal-
Empfängerschaltungsanordnung 2000 werden weg von den Stro
be-Signal-Flanken ausgelöst, die bei der Strobe-Signal-
Anschlußfläche DQS18 empfangen werden, und werden daher in
dem Strobe-Signal-Bereich der Speichermodule 104 oder der
Zwischenchips 302, an dem die Strobe-Signal-Anschlußfläche
DQS18 befestigt ist, ausgelöst.
Wie in Fig. 25 gezeigt, wird die erste fallende Flanke von
DQS18_tff_fall_rst weg von dem Empfang einer ersten Strobe-
Signal-Flanke des Zählers von Fig. 20 ausgelöst. Der Zähler
2002-2012 fährt danach fort, um Strobe-Signal-Flanken bis
zu einem solchen Zeitpunkt zu zählen, zu dem das Signal
DQS18_tff_start aktiviert ist. Nach diesem Zeitpunkt und
beim Erreichen eines Zählwerts "3" (d. h. der dritten der
letzten vier Strobe-Signal-Flanken) wird der Anstieg von
DQS18_tff_rise_rst asynchron ansprechend auf das Zähler
rückkopplungssignal ausgelöst. Ähnlicherweise wird beim Er
reichen des Zählwerts "2" der Anstieg von
DQS18_tff_fall_rst asynchron als ein Resultat des Zähler
rückkopplungssignals ausgelöst. Sobald DQS18_tff_rise_rst
und DQS18_tff_fall_rst ansteigen, wird verhindert, daß die
selben fallen, solange DQS18_tff_start in einem hohen Zu
stand gehalten wird (d. h. bis ein nächster Lesezyklus ein
geleitet wird).
Zur Vollständigkeit stellt Fig. 25 den Empfang von Daten
bei einer Datensignal-Anschlußfläche DQ4 (Fig. 18) bei "dem
Fall eines frühen Empfangs" und bei "dem Fall eines späten
Empfangs" (d. h. DQ4 (früh) und DQ4 (spät)) dar. Fig. 22
stellt ferner die Periode dar, über die die Datensignal-
Anschlußfläche DQ4 zum Empfangen von Daten aktiviert ist
(was durch die Aktivierung des Signals DQ4_RCV_ON angezeigt
ist).
Fig. 26 stellt Signaltakte in dem frühen 2x-Modus-Lesefall
ohne Lesephasenverzögerung (rpd = 0) dar. Es sei bemerkt,
daß die überlappenden Aktivierungen und Deaktivierungen der
Flip-Flop-Ausgangssignale SA und SB zu der Erzeugung von
Signalen S1-S4 mit wiederholenden und aufeinanderfolgen
den Pulsen führen. Jeder Puls wird bei der Frequenz eines
Strobe-Signals erzeugt, das bei der Strobe-Signal-
Anschlußfläche DQS18 empfangen wird, und jeder Puls spei
chert ein neues Datenbit (d. h. r1, r2, r3, r4, r5, r6, r7
oder r8) in der Empfängerschaltungsanordnung 1800 von DQ4
(siehe Fig. 18).
Fig. 27 stellt Signaltakte in dem späten 2x-Modus-Lesefall
ohne Lesephasenverzögerung (rpd = 0) dar.
Mittels der Speichertabelle 1100, die in Fig. 11 darge
stellt ist, der Daten-/Strobe-Signal-Paare, die in den Fig.
9 und 10 dargestellt sind, und der Steuerschaltungsanord
nung 1810, 1812, 2800-2806, die in den Fig. 18 und 28
(wobei die Steuerschaltungsanordnung noch nicht erörtert
wurde) dargestellt ist, kann die Speichersteuerung 100, die
in Fig. 9 dargestellt ist, Daten aus Speichermodulen 104,
die RAM-Bauelemente mit inhomogener Datenbreite (z. B.
DIMM, die x4-DDR-SDRAM aufweisen, DIMM, die x8-DDR-SDRAM
aufweisen, und DIMM, die x16-DDR-SDRAM aufweisen) aufwei
sen, lesen.
Wie im vorhergehenden hinsichtlich der Schreibvorgänge von
DIMM 104, die RAM-Bauelemente mit inhomogener Datenbreite
aufweisen, erörtert, speichert die Speichertabelle 1100 ei
ne Anzeige eines Daten-/Strobe-Signal-Verhältnisses (z. B.
einen Wert Ax) für jedes Speichermodul x, das mit der Spei
chersteuerung 100 gekoppelt ist. Während eines Lesezyklus
der Speichersteuerung 100 wird ein adressierter Wert Ax von
der Speichertabelle 1100 ausgegeben und zu der Steuerschal
tungsanordnung 1810, 1812, 2800-2806 geliefert, die den
Datenempfang bei einem Teilsatz der Datensignal-
Anschlußflächen der Speichersteuerung steuert. In Fig. 18
ist gezeigt, daß die Steuerschaltungsanordnung eine Anzahl
von Multiplexern 1812 aufweist, wobei jeder derselben einen
adressierten Wert Ax (in der Form eines Signals set_alt_n)
als ein Steuereingangssignal empfängt.
Die Steuerschaltungsanordnung 1810, 1812, 2800-2806 steu
ert allgemein den Datenempfang bei einem Teilsatz der Da
tensignal-Anschlußflächen der Speichersteuerung, wie es in
vorhergehenden Abschnitten dieser Beschreibung erörtert
ist. Das heißt, ein Zählwert der Strobe-Signal-Flanken, der
bei einer der Strobe-Signal-Anschlußflächen der Speicher
steuerung (z. B. DQS18) empfangen wird, wird verwendet, um
die Datenspeicherungselemente (z. B. Datenlatches
1802-1808) zu steuern, die mit einer oder mehreren der Datensi
gnal-Anschlußflächen der Speichersteuerung (z. B. DQ4-DQ7;
Fig. 9 und 18) gekoppelt sind. Vier Dateneingangslat
ches 1802-1808 können beispielsweise mit jeder Datensi
gnal-Anschlußfläche einer Speichersteuerung 100 gekoppelt
sein, und die Bits eines Zählwerts der Flanke eines Vier-
Bit-Strobe-Signals, das bei Eins einen hohen Zustand auf
weist, können verwendet werden, um jeweilige der Latches
1802-1808 zu steuern. Ähnlicherweise kann jedes Bit eines
Zählwerts der Flanken eines Vier-Bit-Strobe-Signals, das
einen hohen Zustand bei Eins aufweist, entsprechende Date
neingangslatches 1802-1808 steuern, die mit jeder Daten
signal-Anschlußfläche einer Anzahl von Datensignal-
Anschlußflächen (z. B. den Anschlußflächen DQ4-DQ7) ge
koppelt sind.
Obwohl der vorhergehende Abschnitt ein bevorzugtes und im
vorhergehenden beschriebenes Verfahren zum Steuern des Emp
fangs von Daten einer Anzahl von Datensignal-
Anschlußflächen zusammenfaßt, kann das oben erwähnte Ver
fahren zum Steuern eines Datenempfangs ohne den Multiplexer
1812 durchgeführt werden, der die Daten- und Strobe-Signal-
Empfängerschaltungen, die in den Fig. 18 und 20 dargestellt
sind, koppelt. Die zusätzliche Funktionalität, die durch
den Multiplexer 1812 geliefert wird, der die Datensignal-
Empfängerschaltung 1800 von Fig. 18 und die Strobe-Signal-
Empfängerschaltung 2000 von Fig. 20 koppelt, ist die Fähig
keit, eine Datensignal-Empfängerschaltung 1800 einer oder
mehreren unterschiedlichen Strobe-Signal-Empfängerschal
tungen 2000 zuzuordnen. Auf diese Art und Weise kann der
Empfang von Daten bei einigen Datensignal-Anschlußflächen
einer Speichersteuerung durch eines einer Mehrzahl von un
terschiedlichen Strobe-Signalen gesteuert werden, und die
Funktionalität, wie z. B. die Fähigkeit, aus DIMM zu lesen,
die x4-, x8- und x16-DDR-SDRAM aufweisen, ist vorgesehen.
In Fig. 18 kann der Empfang von Daten bei einer Datensi
gnal-Anschlußfläche DQ4 ansprechend auf ein Strobe-Signal,
das bei der Strobe-Signal-Anschlußfläche DQS18 empfangen
wird, oder ansprechend auf ein Strobe-Signal, das bei einer
abwechselnden Strobe-Signal-Anschlußfläche empfangen wird,
gesteuert werden. Bezugnehmend auf die Zuordnungen von Da
ten- und Strobe-Signal-Anschlußflächen, die in Fig. 10 vor
gesehen sind, ist es offensichtlich, daß ein Lesen aus ei
nem DIMM, das x4-DDR-SDRAM aufweist, eine Zuordnung zwi
schen der Datensignal-Anschlußfläche DQ4 und der Strobe-
Signal-Anschlußfläche DQS18 erfordert, während ein Lesen
aus einem DIMM, das x8- oder x16-DDR-SDRAM aufweist, eine
Zuordnung zwischen der Datensignal-Anschlußfläche DQ4 und
der Strobe-Signal-Anschlußfläche DQS18 erfordert. Der Stro
be-Signal-Flankenzählwert, der die Bits S1_alt-S4_alt in
Fig. 18 aufweist, ist daher ein Zählwert von Strobe-Signal-
Flanken, die bei einer Strobe-Signal-Anschlußfläche DQS18
erzeugt werden.
Wenn die Schaltungsanordnung 1800, 2000, die in den Fig. 18
und 20 dargestellt ist, in einen größeren Maßstab extrapo
liert wird, ist es für einen Fachmann offensichtlich, daß
die Speichersteuerung 100 von Fig. 9 mit einer Fähigkeit
versehen ist, um DIMM 104 zu lesen, die inhomogene DDR-
SDRAM aufweisen, indem 1) eine feste Korrelation zwischen
einer ersten Hälfte der Datensignal-Anschlußflächen der
Speichersteuerung (DQ0-DQ3, DQ8-DQ11, DQ16-DQ19,. . .)
und den unteren Strobe-Signal-Anschlußflächen der Speicher
steuerung (DQS0-DQS17) vorgesehen wird, und 2) indem eine
programmierbare Korrelation zwischen einer zweiten Hälfte
der Datensignal-Anschlußflächen (DQ4-DQ7, DQ12-DQ15,
DQ20-DQ23,. . .) der Speichersteuerung und den oberen
Strobe-Signal-Anschlußflächen (DQS18-DQS35) und den unte
ren Strobe-Signal-Anschlußflächen (DQS0-DQS17) der Spei
chersteuerung vorgesehen wird. Bei dem letzteren Fall wird
die programmierbare Korrelation durch eine Steuerschal
tungsanordnung bestimmt, die beispielsweise eine Mehrzahl
von Multiplexern 1812 aufweist, die adressierte Werte von
Ax (die in Fig. 18 als ein Signal set_alt_n erscheinen) von
der Speichertabelle 1100 empfangen. Wenn ein adressierter
Wert Ax eine logische "1" ist, dann werden die Daten- und
Strobe-Signal-Anschlußflächen auf eine Art und Weise zuge
ordnet, die das Lesen von Daten aus DIMM, die x4-DDR-SDRAM
aufweisen, ermöglicht (d. h. ein Zählwert (Bits S1-S4),
der bei dem ersten Dateneingang des Multiplexers empfangen
wird, wird durch den Multiplexer 1812 weitergegeben). Wenn
ein adressierter Wert Ax eine logische "0" ist, dann werden
die Daten- und Strobe-Signal-Anschlußflächen auf eine Art
und Weise zugeordnet, die das Lesen von Daten aus DIMM, die
x8- oder x16-DDR-SDRAM aufweisen, ermöglicht (d. h. ein
Zählwert (Bits S1_alt-S4_alt), der bei dem zweiten Daten
eingang des Multiplexers empfangen wird, wird durch den
Multiplexer 1812 weitergegeben).
Bei einem bevorzugten Ausführungsbeispiel ist das kritische
Signal zum Steuern des Multiplexers 1812 das Signal
set_alt_n. Eine mögliche Ableitung dieses Signals ist in
Fig. 28 dargestellt. Nachdem reset_L kurz in einen niedri
gen Zustand während des Systemrücksetzens getrieben wird,
wird reset_L in einem hohen Zustand gehalten. Diese Auswahl
eines primären oder abwechselnden Strobe-Signal-
Flankenzählwerts für den Zweck des Steuerns von Datenein
gangslatches 1802-1808 wird daher durch die Signale
read_tri und read_tri_x4 bestimmt. Während eines Lesens ei
nes DIMM, das x4-DDR-SDRAM aufweist, sind sowohl read_tri
als auch read_tri_x4 aktiviert, und der Multiplexer 2800,
das ODER-Gatter 2802 und die D-Typ-Flip-Flops 2804 und 2806
aktivieren das Signal set_alt_n. Während eines Lesens eines
DIMM, das x8- oder x16-DDR-SDRAM aufweist, ist jedoch
read_tri_x4 deaktiviert, um dadurch das Signal set_alt_n zu
deaktivieren. Auf diese Art und Weise kann die Speicher
steuerung von Fig. 9 konfiguriert sein, um Daten aus DIMM,
die x4-, x8- und x16-DDR-SDRAM aufweisen, zu lesen. Das Si
gnal read_tri_x4 kann beispielsweise ein adressierter Wert
Ax oder eine Ableitung desselben sein.
Obwohl die Speichersteuerung 100, die oben beschrieben ist,
mit DIMM 104, die DDR-SDRAM aufweisen, kommunizieren kann,
die zwei unterschiedliche Daten-/Strobe-Signal-Verhältnisse
(d. h. 4 : 1- und 8 : 1-Verhältnisse) aufweisen, können die
hierin gelieferten Lehren angepaßt werden, um eine noch
größere Flexibilität zum Lesen von Speichermodulen 104, die
RAM-Bauelemente mit inhomogener Datenbreite aufweisen, vor
zusehen. Die Steuerschaltungsanordnung 1810, 1812,
2800-2806 zum Zuordnen von Daten- und Strobe-Signal-
Treiberschaltungen 1800, 2000 kann beispielsweise Multiple
xer aufweisen, die Daten basierend auf Strobe-Signalen emp
fangen, die bei mehr als zwei Strobe-Signal-Anschlußflächen
empfangen werden (z. B. Strobe-Signal-Flankenzählwerte, die
auf Strobe-Signalen basieren, die bei mehr als zwei Strobe-
Signal-Anschlußflächen empfangen werden). Der Teilsatz von
Datensignal-Anschlußflächen einer Speichersteuerung, die
eine feste Korrelation mit einigen der Strobe-Signal-
Anschlußflächen der Speichersteuerung besitzen, kann außer
dem größer, kleiner oder sogar nicht existent sein.
Claims (33)
1. Speichersteuerung (100) mit folgenden Merkmalen:
- a) einer Speichertabelle (1100), die Anzeigen von Daten-/Strobesignal-Verhältnissen (1106) spei chert, die erforderlich sind, um aus Speichermo dulen (104) zu lesen und in dieselben zu schrei ben, die mit der Speichersteuerung (100) gekop pelt sind, wobei die Speichertabelle (1100) wäh rend Lese- und Schreib-Zyklen der Speichersteue rung (100) adressiert wird;
- b) Teilsätzen von Strobesignal-Treiberschaltungen (1200, 1300, 824-835), wobei jeder der Teilsät ze adressierte Anzeigen von Daten-/Strobesignal- Verhältnissen (1106) während der Schreibzyklen empfängt, und wobei mindestens einer der Teilsät ze Strobesignale ansprechend auf lediglich einen Abschnitt der Anzeigen von Daten-/Strobesignal- Verhältnissen (1106) erzeugt;
- c) einer Mehrzahl von Strobesignal-Empfängerschal tungen (2000) und Daten-Empfängerschaltungen (1800); und
- d) einer Anzahl von Multiplexern (1812), die mindes tens einige der Strobesignal-Empfängerschal tungen (2000) mindestens einigen der Daten- Empfängerschaltungen (1800) zuordnen, wobei jeder der Multiplexer (1812) adressierte Anzeigen von Daten-/Strobesignal-Verhältnissen (1106) während der Lesezyklen empfängt, und wobei die Multiple xer (1812) unterschiedliche der Strobesignal- Empfängerschaltungen (2000) den Daten- Empfängerschaltungen (1800) ansprechend auf un terschiedliche Anzeigen der Daten-/Strobesignal- Verhältnisse (1106) zuordnen.
2. Speichersteuerung (100) nach Anspruch 1, bei der jede
der Anzeigen eines Daten-/Strobesignal-Verhältnisses
aus einem einzelnen binären Bit besteht, wobei die
zwei Werte desselben zwei mögliche Daten-
/Strobesignal-Verhältnisse darstellen.
3. Speichersteuerung (100) nach Anspruch 2, bei der die
Speichersteuerung (100) eine DDR-Speichersteuerung
(DDR = Double Data Rate) ist und bei der die zwei Wer
te von jedem binären Bit einem Daten-/Strobesignal-
Verhältnis von 4 : 1 bzw. 8 : 1 entsprechen.
4. Speichersteuerung (100) nach Anspruch 1, 2 oder 3, bei
der jedes der Speichermodule (104) eine Anzahl von
RAM-Bauelementen (910-914) aufweist und bei der die
Anzeigen von Daten-/Strobesignal-Verhältnissen (1106)
Datenbreiten der RAM-Bauelemente (910-914) darstel
len.
5. Speichersteuerung (100) nach Anspruch 4, bei der die
RAM-Bauelemente DDR-SDRAMs sind.
6. Speichersteuerung (100) nach einem der vorhergehenden
Ansprüche, bei der
- a) jede der Daten-Empfängerschaltungen (1800) eine Daten-Anschlußfläche und eine Anzahl von Daten speicherelementen (1802-1808) aufweist, die ge koppelt sind, um Daten von der Daten- Anschlußfläche zu empfangen;
- b) jede der Strobesignal-Empfängerschaltungen (2000) eine Strobesignal-Anschlußfläche und einen Zähler (2002-2012) zum Erzeugen eines Zählwerts von Strobesignal-Flanken aufweist, die an der Strobe signal-Anschlußfläche empfangen werden; und
- c) jeder der Multiplexer (1812) folgende Merkmale
aufweist:
- a) einen Steuereingang, der auf die adressier ten Anzeigen von Daten-/Strobesignal- Verhältnissen (1106) anspricht;
- b) ein oder mehr Dateneingänge, die ein oder mehr der Zählwerte von Strobesignal-Flanken empfangen; und
- c) einen Ausgang, der gekoppelt ist, um die Da tenspeicherelemente (1802-1806) einer An zahl der Daten-Empfängerschaltungen (1800) zu steuern.
7. Speichersteuerung (100) mit folgenden Merkmalen:
- a) einer Mehrzahl von Daten- und Strobesignal- Anschlußflächen;
- b) einer Speichertabelle (1100), die einen Wert Ax für jedes Speichermodul x (104), das mit der Speichersteuerung (100) gekoppelt ist, speichert, wobei jeder Wert Ax ein Daten-/Strobesignal- Verhältnis (1106) anzeigt, das erforderlich ist, um aus einem Speichermodul x (104) zu lesen und in dasselbe zu schreiben, und wobei die Speicher tabelle (1100) während jedes Lese- und Schreib- Zyklus der Speichersteuerung (100) adressiert wird;
- c) einer Strobesignal-Treiberschaltungsanordnung (1200, 1300, 824-835) zum Erzeugen von Strobe signalen an einem Teilsatz der Strobesignal- Anschlußflächen, die durch einen adressierten Wert Ax bestimmt sind, während eines Schreibens in ein Speichermodul x (104); und
- d) einer Steuerschaltungsanordnung (1812) zum Steu ern des Datenempfangs an einem Teilsatz der Da ten-Anschlußflächen ansprechend auf Strobesigna le, die an einem Teilsatz der Strobesignal- Anschlußflächen empfangen werden, während eines Lesens von einem Speichermodul x (104), wobei der Teilsatz von Strobesignal-Anschlußflächen durch einen adressierten Wert Ax bestimmt ist.
8. Speichersteuerung (100) nach Anspruch 7, bei der die
gespeicherten Werte Ax Daten-/Strobesignal-Verhält
nisse (1106) sind.
9. Speichersteuerung (100) nach Anspruch 7 oder 8, bei
der jeder gespeicherte Wert Ax, aus einem einzelnen
binären Bit besteht, wobei die zwei Werte desselben
zwei mögliche Daten-/Strobesignal-Verhältnisse (1106)
darstellen.
10. Speichersteuerung (100) nach Anspruch 9, bei der die
Speichersteuerung (100) eine DDR-Speichersteuerung
(DDR = Double Data Rate) ist und bei der die zwei Wer
te von jedem binären Bit jeweils 4 : 1- und 8 : 1-Daten-
/Strobesignal-Verhältnissen entsprechen.
11. Speichersteuerung (100) nach einem der Ansprüche 7 bis
10, bei der die Werte Ax, die in der Speichertabelle
(1100) gespeichert sind, ermöglichen, daß die Spei
chersteuerung (100) mit Speichermodulen (104) kommuni
ziert, die x4-, x8- und x16-DDR-SDRAMs aufweisen.
12. Speichersteuerung (100) nach einem der Ansprüche 7 bis
11, bei der jedes der Speichermodule (104) eine Anzahl
von RAM-Bauelementen (910-914) aufweist und bei der
die gespeicherten Werte Ax Datenbreiten der RAM-
Bauelemente (910-914) darstellen.
13. Speichersteuerung (100) nach Anspruch 12, bei der die
RAM-Bauelemente (910-914) DDR-SDRAMS sind.
14. Speichersteuerung (100) nach einem der Ansprüche 7 bis
13, mit ferner folgenden Merkmalen:
- a) einer Mehrzahl von Datenspeicherelementen (1802-1808), die gekoppelt sind, um Daten von den Da ten-Anschlußflächen zu empfangen; und
- b) einer Mehrzahl von Zählern (2002-2012) zum Er zeugen von Zählwerten von Strobesignal-Flanken, die an den Strobesignal-Anschlußflächen empfangen werden;
- a) einen Steuereingang, der auf die adressierten Werte Ax (1106) anspricht;
- b) ein oder mehr Dateneingänge, die ein oder mehr der Zählwerte von Strobesignal-Flanken empfangen; und
- c) einen Ausgang, der gekoppelt ist, um eine Mehr zahl der Datenspeicherelemente (1802-1808) zu steuern.
15. Speichersteuerung (100) mit folgenden Merkmalen:
- a) einer Mehrzahl von Daten- und Strobesignal- Anschlußflächen;
- b) einer Datenempfangseinrichtung (1800), die mit den Daten-Anschlußflächen gekoppelt ist;
- c) einer Speichertabelle (1100), die Anzeigen von Daten-/Strobesignal-Verhältnissen (1106) spei chert, die erforderlich sind, um aus Speichermo dulen (104), die mit der Speichersteuerung (100) gekoppelt sind, zu lesen und in dieselben zu schreiben, wobei die Anzeigen von Daten-/Strobe signal-Verhältnissen (1106) während Lese- und Schreib-Zyklen der Speichersteuerung (100) adres siert werden;
- d) einer Strobesignal-Erzeugungseinrichtung (1200, 1300, 824-835) zum Erzeugen einer Anzahl von Strobesignalen an einem Teilsatz der Strobe signal-Anschlußflächen, die mindestens teilweise durch die adressierten Anzeigen von Daten- /Strobesignal-Verhältnissen (1106) definiert sind, während Schreibzyklen und ansprechend auf die adressierten Anzeigen von Daten-/Strobe signal-Verhältnissen (1106); und
- e) einer Steuereinrichtung (1812) zum Steuern der Datenempfangseinrichtung (1800) ansprechend auf eine Anzahl von Strobesignalen, die an einem Teilsatz der Strobesignal-Anschlußflächen empfan gen werden, die mindestens teilweise durch die adressierten Anzeigen von Daten-/Strobesignal- Verhältnissen (1106) definiert sind, während Le sezyklen und ansprechend auf die adressierten An zeigen von Daten-/Strobesignal-Verhältnissen (1106).
16. Speichersteuerung nach Anspruch 15, bei der die Teil
sätze von Strobesignal-Anschlußflächen, die mindestens
teilweise durch die adressierten Anzeigen von Daten-
/Strobesignal-Verhältnissen (1106) definiert sind,
entweder
- a) alle der Strobesignal-Anschlußflächen; oder
- b) die Hälfte der Strobesignal-Anschlußflächen sind.
17. Speicherschnittstelle (900) für ein Computersystem
(124), mit folgenden Merkmalen:
- a) einer Mehrzahl von Sockeln (902-908), wobei je der der Sockel (902-908) konfiguriert ist, um ein oder mehrere Speichermodule (104) aufzuneh men;
- b) einer Speichersteuerung (100), die eine Mehrzahl
von Daten- und Strobesignal-Anschlußflächen auf
weist, wobei die Daten- und Strobesignal-
Anschlußflächen mit entsprechenden Kontakten von
jedem der Sockel (902-908) gekoppelt sind, und
wobei die Speichersteuerung (100) folgende Merk
male aufweist:
- a) eine Schaltungsanordnung (1100) zum Bestim men und Speichern von Anzeigen von Daten- /Strobesignal-Verhältnissen (1106) von Spei chermodulen (104), die in die Sockel (902-908) eingefügt sind; und
- b) eine Treiber-/Empfänger-Schaltungsanordnung (800, 1200, 1300, 1800, 2000) zum Schrei ben/Lesen von Speichermodulen (104), die in homogene Daten-/Strobesignal-Verhältnisse aufweisen.
18. Speicherschnittstelle (900) nach Anspruch 17, bei der
die Sockel (902-908) DIMM-Sockel und die Daten-
/Strobesignal-Verhältnisse (1006) DDR-SDRAM-Daten-
/Strobesignal-Verhältnisse sind.
19. Computersystem mit folgenden Merkmalen:
- a) einer Anzahl von Speichermodulen (104);
- b) einer Zentralverarbeitungseinheit (CPU);
- c) einer Speichersteuerung (100) mit folgenden Merk
malen:
- a) einer Speichertabelle (1100), die Anzeigen von Daten-/Strobesignal-Verhältnissen (1106) speichert, die erforderlich sind, um aus den Speichermodulen (104) zu lesen und in die selben zu schreiben, wobei die Speicherta belle (1100) während Lese- und Schreib- Zyklen der Speichersteuerung (100) adres siert wird;
- b) Teilsätzen von Strobesignal-Treiberschal tungen (1200, 1300, 824-835), wobei jeder der Teilsätze adressierte Anzeigen von Da ten-/Strobesignal-Verhältnissen (1106) wäh rend der Schreibzyklen empfängt und wobei mindestens einer der Teilsätze Strobesignale ansprechend auf lediglich einen Abschnitt der Anzeigen der Daten-/Strobesignal- Verhältnisse (1106) erzeugt;
- c) einer Mehrzahl von Strobesignal-Empfänger schaltungen (2000) und Daten-Emp fängerschaltungen (1800); und
- d) einer Anzahl von Multiplexern (1812), die mindestens einige der Strobesignal- Empfängerschaltungen (2000) mindestens eini gen der Daten-Empfängerschaltungen (1800) zuordnen, wobei jeder der Multiplexer (1812) adressierte Anzeigen von Daten- /Strobesignal-Verhältnissen (1106) während der Lesezyklen empfängt, und wobei die Mul tiplexer (1812) unterschiedliche der Strobe signal-Empfängerschaltungen (2000) den Da ten-Empfängerschaltungen (1800) ansprechend auf unterschiedliche Anzeigen der Daten- /Strobesignal-Verhältnisse (1106) zuordnen;
- d) einer Eingangs-/Ausgangs-Steuerung, die mit der Zentralverarbeitungseinheit (CPU) gekoppelt ist; und
- e) einer Anzahl von Eingangs-/Ausgangs- Vorrichtungen, die mit der Eingangs-/Ausgangs- Steuerung gekoppelt ist.
20. Computersystem nach Anspruch 19, bei dem jede der An
zeigen eines Daten-/Strobesignal-Verhältnisses (1106)
aus einem einzelnen binären Bit besteht, wobei die
zwei Werte desselben zwei mögliche Daten-
/Strobesignal-Verhältnisse darstellen.
21. Computersystem nach Anspruch 20, bei dem die Speicher
steuerung (100) eine DDR-Speichersteuerung ist und bei
dem die zwei Werte von jedem binären Bit einem Daten-
/Strobesignal-Verhältnis von 4 : 1 bzw. 8 : 1 entsprechen.
22. Computersystem nach Anspruch 19, 20 oder 21, bei dem
jedes der Speichermodule (104) eine Anzahl von RAM-
Bauelementen aufweist und bei dem die Anzeigen von Da
ten-/Strobesignal-Verhältnissen Datenbreiten der RAM-
Bauelemente darstellen.
23. Computersystem nach Anspruch 22, bei dem die RAM-
Bauelemente DDR-SDRAMS sind.
24. Computersystem nach einem der vorhergehenden Ansprü
che, bei dem
- a) jede der Daten-Empfängerschaltungen (1800) eine Daten-Anschlußfläche und eine Anzahl von Daten speicherelementen (1802-1808) aufweist, die ge koppelt sind, um Daten von der Daten- Anschlußfläche zu empfangen;
- b) jede der Strobesignal-Empfängerschaltungen (2000) eine Strobesignal-Anschlußfläche und einen Zähler zum Erzeugen eines Zählwerts von Strobesignal- Flanken, die an der Strobesignal-Anschlußfläche empfangen werden, aufweist; und
- c) jeder der Multiplexer (1812) folgende Merkmale
aufweist:
- a) einen Steuereingang, der auf die adressier ten Anzeigen von Daten-/Strobesignal- Verhältnissen (1106) anspricht;
- b) zwei oder mehr Dateneingänge, die ein oder mehr der Zählwerte von Strobesignal-Flanken empfangen; und
- c) einen Ausgang, der gekoppelt ist, um die Da tenspeicherelemente (1802-1808) einer An zahl der Daten-Empfängerschaltungen (1800) zu steuern.
25. Computersystem nach einem der Ansprüche 19 bis 24, bei
dem die Speichersteuerung (100) und die Eingangs-
/Ausgangs-Steuerung eine integrierte Speicher- und
Eingangs/Ausgangs-Steuerung bilden.
26. Verfahren zum Lesen aus Speichermodulen (104) und
Schreiben in dieselben, die RAM-Bauelemente (910-914)
mit inhomogener Datenbreite aufweisen, wobei die
RAM-Bauelemente von einem Typ sind, der Daten mit ei
nem quellsynchronen Strobesignal sendet und empfängt,
mit folgenden Schritten:
- a) Beibehalten einer Speichertabelle (1100) und Speichern von Anzeigen von Daten-/Strobesignal- Verhältnissen (1106) in derselben, die erforder lich sind, um aus den Speichermodulen (104) zu lesen und in dieselben zu schreiben;
- b) während eines Schreibens in ein gegebenes Spei
chermodul (104),
- a) Wiedergewinnen einer Anzeige eines Daten- /Strobesignal-Verhältnisses (1106), das er forderlich ist, um in das gegebene Speicher modul (104) zu schreiben, aus der Speicher tabelle (1100); und
- b) ansprechend auf die wiedergewonnene Anzeige, Erzeugen einer Anzahl von Strobesignalen, die erforderlich sind, um in das gegebene Speichermodul (104) zu schreiben; und
- c) während eines Lesens eines gegebenen Speichermo
duls (104),
- a) Wiedergewinnen einer Anzeige eines Daten- /Strobesignal-Verhältnisses (1106), das er forderlich ist, um aus dem gegebenen Spei chermodul (104) zu lesen, aus der Speicher tabelle (1100); und
- b) ansprechend auf die wiedergewonnene Anzeige, Lesen der Daten in eine Speichersteuerung (100) durch Zuordnen einer Anzahl von Stro besignalen, die von dem gegebenen Speicher modul (104) empfangen werden, zu einer An zahl von Datensignalen, die von dem gegebe nen Speichermodul (104) empfangen werden.
27. Verfahren nach Anspruch 26, bei dem das Beibehalten
der Speichertabelle (1100) das Erhalten der Anzeigen
von Daten-/Strobesignal-Verhältnissen (1106) von den
Speichermodulen (104) aufweist.
28. Verfahren nach Anspruch 26 oder 27, bei dem das Beibe
halten der Speichertabelle (1100) das Lesen einer RAM-
Bauelement-Datenbreite aus jedem der Mehrzahl von
Speichermodulen (104) und das Erzeugen der Anzeigen
von Daten-/Strobesignal-Verhältnissen (1106) aus den
selben aufweist.
29. Verfahren nach Anspruch 26, 27 oder 28, bei dem das
Beibehalten der Speichertabelle (1100) das Lesen einer
RAM-Bauelement-Datenbreite aus jedem der Mehrzahl von
Speichermodulen (104) aufweist und bei dem die RAM-
Bauelement-Datenbreiten als die Anzeigen der Daten-
/Strobesignal-Verhältnisse (1106) dienen.
30. Verfahren nach einem der Ansprüche 26 bis 29, bei dem
die Speichermodule (104) DDR-Speichermodule sind, die
DDR-SDRAMs aufweisen, und bei dem das Beibehalten der
Speichertabelle (1100) das Ausführen einer seriellen
Anwesenheitserfassungssequenz innerhalb der Speicher
module (104) aufweist.
31. Verfahren nach einem der Ansprüche 26 bis 30, bei dem
das Zuordnen einer Anzahl von Strobesignalen, die von
dem gegebenen Speichermodul (104) empfangen werden, zu
einer Anzahl von Datensignalen, die von dem gegebenen
Speichermodul (104) empfangen werden, folgende Schrit
te aufweist:
- a) Zählen einer Anzahl von Flanken in jedem der Strobesignale, die von dem gegebenen Speichermo dul (104) empfangen werden; und
- b) Zuordnen der Zählwerte von Strobesignal-Flanken zu der Anzahl von Datensignalen, die von dem ge gebenen Speichermodul (104) empfangen werden.
32. Verfahren nach Anspruch 31, bei dem das Zuordnen der
Zählwerte von Strobesignal-Flanken zu der Anzahl von
Datensignalen, die von dem gegebenen Speichermodul
(104) empfangen werden, das Multiplexen von einzelnen
der Zählwerte ansprechend auf die wiedergewonnenen An
zeigen aufweist.
33. Verfahren nach einem der Ansprüche 26 bis 32, bei dem
die RAM-Bauelemente DDR-SDRAMs sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/827,766 US6625702B2 (en) | 2001-04-07 | 2001-04-07 | Memory controller with support for memory modules comprised of non-homogeneous data width RAM devices |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10209398A1 true DE10209398A1 (de) | 2002-10-17 |
Family
ID=25250100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10209398A Ceased DE10209398A1 (de) | 2001-04-07 | 2002-03-04 | Speichersteuerung mit einer Unterstützung für Speichermodule aus RAM-Bauelementen mit inhomogener Datenbreite |
Country Status (2)
Country | Link |
---|---|
US (1) | US6625702B2 (de) |
DE (1) | DE10209398A1 (de) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6633965B2 (en) * | 2001-04-07 | 2003-10-14 | Eric M. Rentschler | Memory controller with 1×/M× read capability |
US6889335B2 (en) * | 2001-04-07 | 2005-05-03 | Hewlett-Packard Development Company, L.P. | Memory controller receiver circuitry with tri-state noise immunity |
US6678811B2 (en) * | 2001-04-07 | 2004-01-13 | Hewlett-Packard Development Company, L.P. | Memory controller with 1X/MX write capability |
JP2003084721A (ja) * | 2001-09-12 | 2003-03-19 | Fujitsu Display Technologies Corp | 表示装置用駆動回路装置とそれを利用した表示装置 |
TW563132B (en) * | 2001-10-09 | 2003-11-21 | Via Tech Inc | Common DRAM controller supports double-data-rate and quad-data-rate memory |
EP1308695A1 (de) * | 2001-11-06 | 2003-05-07 | Matsushita Electric Industrial Co., Ltd. | Fahrzeugmontierte Anzeigevorrichtung |
TW550563B (en) * | 2002-02-01 | 2003-09-01 | Silicon Integrated Sys Corp | Memory data receiver and method |
US6992503B2 (en) | 2002-07-08 | 2006-01-31 | Viciciv Technology | Programmable devices with convertibility to customizable devices |
US7112994B2 (en) | 2002-07-08 | 2006-09-26 | Viciciv Technology | Three dimensional integrated circuits |
US6819599B2 (en) * | 2002-08-01 | 2004-11-16 | Micron Technology, Inc. | Programmable DQS preamble |
US8643162B2 (en) * | 2007-11-19 | 2014-02-04 | Raminda Udaya Madurawe | Pads and pin-outs in three dimensional integrated circuits |
WO2005015564A1 (en) * | 2003-08-06 | 2005-02-17 | Netlist, Inc. | Non-standard dual in-line memory modules with more than two ranks of memory per module and multiple serial-presence-detect devices to simulate multiple modules |
US7210059B2 (en) | 2003-08-19 | 2007-04-24 | Micron Technology, Inc. | System and method for on-board diagnostics of memory modules |
US6930932B2 (en) * | 2003-08-27 | 2005-08-16 | Hewlett-Packard Development Company, L.P. | Data signal reception latch control using clock aligned relative to strobe signal |
US7634623B2 (en) * | 2003-08-29 | 2009-12-15 | Micron Technology, Inc. | Method and apparatus for self-timed data ordering for multi-data rate memories and system incorporating same |
US7310752B2 (en) * | 2003-09-12 | 2007-12-18 | Micron Technology, Inc. | System and method for on-board timing margin testing of memory modules |
US7120743B2 (en) | 2003-10-20 | 2006-10-10 | Micron Technology, Inc. | Arbitration system and method for memory responses in a hub-based memory system |
US7030651B2 (en) | 2003-12-04 | 2006-04-18 | Viciciv Technology | Programmable structured arrays |
US7178048B2 (en) * | 2003-12-23 | 2007-02-13 | Hewlett-Packard Development Company, L.P. | System and method for signal synchronization based on plural clock signals |
US7216196B2 (en) * | 2003-12-29 | 2007-05-08 | Micron Technology, Inc. | Memory hub and method for memory system performance monitoring |
US7310748B2 (en) | 2004-06-04 | 2007-12-18 | Micron Technology, Inc. | Memory hub tester interface and method for use thereof |
JP2005353168A (ja) * | 2004-06-10 | 2005-12-22 | Canon Inc | メモリインターフェース回路及びメモリインターフェース方法 |
DE102004032402B4 (de) * | 2004-07-03 | 2007-12-27 | Infineon Technologies Ag | Speichercontroller mit mehreren parallelen Transferblöcken |
US20060036826A1 (en) * | 2004-07-30 | 2006-02-16 | International Business Machines Corporation | System, method and storage medium for providing a bus speed multiplier |
US7224595B2 (en) * | 2004-07-30 | 2007-05-29 | International Business Machines Corporation | 276-Pin buffered memory module with enhanced fault tolerance |
US7539800B2 (en) * | 2004-07-30 | 2009-05-26 | International Business Machines Corporation | System, method and storage medium for providing segment level sparing |
US7389375B2 (en) * | 2004-07-30 | 2008-06-17 | International Business Machines Corporation | System, method and storage medium for a multi-mode memory buffer device |
US7296129B2 (en) * | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US7299313B2 (en) * | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
US7512762B2 (en) | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7331010B2 (en) | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US7356737B2 (en) | 2004-10-29 | 2008-04-08 | International Business Machines Corporation | System, method and storage medium for testing a memory module |
US7395476B2 (en) | 2004-10-29 | 2008-07-01 | International Business Machines Corporation | System, method and storage medium for providing a high speed test interface to a memory subsystem |
US7305574B2 (en) * | 2004-10-29 | 2007-12-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
US7277988B2 (en) * | 2004-10-29 | 2007-10-02 | International Business Machines Corporation | System, method and storage medium for providing data caching and data compression in a memory subsystem |
US8250330B2 (en) * | 2004-12-11 | 2012-08-21 | International Business Machines Corporation | Memory controller having tables mapping memory addresses to memory modules |
US7466783B2 (en) * | 2004-12-13 | 2008-12-16 | Lexmark International, Inc. | Method and system to implement a double data rate (DDR) interface |
US7757037B2 (en) * | 2005-02-16 | 2010-07-13 | Kingston Technology Corporation | Configurable flash memory controller and method of use |
US7478259B2 (en) | 2005-10-31 | 2009-01-13 | International Business Machines Corporation | System, method and storage medium for deriving clocks in a memory system |
US7685392B2 (en) | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
US7636813B2 (en) * | 2006-05-22 | 2009-12-22 | International Business Machines Corporation | Systems and methods for providing remote pre-fetch buffers |
US7584336B2 (en) * | 2006-06-08 | 2009-09-01 | International Business Machines Corporation | Systems and methods for providing data modification operations in memory subsystems |
US7669086B2 (en) | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US7581073B2 (en) * | 2006-08-09 | 2009-08-25 | International Business Machines Corporation | Systems and methods for providing distributed autonomous power management in a memory system |
US7477522B2 (en) * | 2006-10-23 | 2009-01-13 | International Business Machines Corporation | High density high reliability memory module with a fault tolerant address and command bus |
US7870459B2 (en) * | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US7721140B2 (en) | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US7770048B2 (en) * | 2007-05-17 | 2010-08-03 | International Business Machines Corporation | Calculating and indicating a number of times a device is inserted into a slot |
US8230375B2 (en) | 2008-09-14 | 2012-07-24 | Raminda Udaya Madurawe | Automated metal pattern generation for integrated circuits |
TWI396959B (zh) * | 2009-04-30 | 2013-05-21 | Asustek Comp Inc | 電腦裝置、應用程式、系統調整方法和記憶體的控制方法 |
US8388614B2 (en) * | 2009-09-29 | 2013-03-05 | Covidien Lp | Return electrode temperature prediction |
WO2011130007A1 (en) * | 2010-04-14 | 2011-10-20 | Rambus Inc. | Levelization of memory interface for communicating with multiple memory devices |
US20130067156A1 (en) * | 2011-09-12 | 2013-03-14 | Byungcheol Cho | Double data rate controller having shared address and separate data error correction |
US8762753B2 (en) * | 2012-06-17 | 2014-06-24 | Freescale Semiconductor, Inc. | Power management circuit using two configuration signals to control the power modes of two circuit modules using two crosslinked multiplexers and a level shifter |
CN107526697B (zh) * | 2016-06-21 | 2023-08-22 | 恩智浦美国有限公司 | 用于选择读取时钟信号的存储器控制器 |
KR20180002939A (ko) * | 2016-06-29 | 2018-01-09 | 삼성전자주식회사 | 메모리 장치, 그것을 포함하는 메모리 패키지, 및 그것을 포함하는 메모리 모듈 |
KR102605637B1 (ko) * | 2018-07-27 | 2023-11-24 | 에스케이하이닉스 주식회사 | 반도체 장치 및 데이터 처리 시스템 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5522064A (en) * | 1990-10-01 | 1996-05-28 | International Business Machines Corporation | Data processing apparatus for dynamically setting timings in a dynamic memory system |
TW390446U (en) * | 1992-10-01 | 2000-05-11 | Hudson Soft Co Ltd | Information processing system |
US5809340A (en) * | 1993-04-30 | 1998-09-15 | Packard Bell Nec | Adaptively generating timing signals for access to various memory devices based on stored profiles |
US5727005A (en) * | 1994-08-31 | 1998-03-10 | Le; Chinh H. | Integrated circuit microprocessor with programmable memory access interface types |
US5905391A (en) | 1997-07-14 | 1999-05-18 | Intel Corporation | Master-slave delay locked loop for accurate delay or non-periodic signals |
KR100578112B1 (ko) * | 1998-10-16 | 2006-07-25 | 삼성전자주식회사 | 메모리 클럭 신호를 제어하는 컴퓨터 시스템 및그 방법 |
JP2000163965A (ja) * | 1998-11-27 | 2000-06-16 | Mitsubishi Electric Corp | 同期型半導体記憶装置 |
US6370630B1 (en) * | 1999-03-19 | 2002-04-09 | Ati International Srl | Method and apparatus for controlling data flow in a data processor |
US6414868B1 (en) * | 1999-06-07 | 2002-07-02 | Sun Microsystems, Inc. | Memory expansion module including multiple memory banks and a bank control circuit |
KR100296913B1 (ko) | 1999-06-28 | 2001-07-12 | 박종섭 | 반도체메모리장치의 데이터스트로브신호 출력버퍼 |
US6466491B2 (en) * | 2000-05-19 | 2002-10-15 | Fujitsu Limited | Memory system and memory controller with reliable data latch operation |
US6532525B1 (en) * | 2000-09-29 | 2003-03-11 | Ati Technologies, Inc. | Method and apparatus for accessing memory |
US6678811B2 (en) * | 2001-04-07 | 2004-01-13 | Hewlett-Packard Development Company, L.P. | Memory controller with 1X/MX write capability |
US6889335B2 (en) * | 2001-04-07 | 2005-05-03 | Hewlett-Packard Development Company, L.P. | Memory controller receiver circuitry with tri-state noise immunity |
US6633965B2 (en) * | 2001-04-07 | 2003-10-14 | Eric M. Rentschler | Memory controller with 1×/M× read capability |
-
2001
- 2001-04-07 US US09/827,766 patent/US6625702B2/en not_active Expired - Lifetime
-
2002
- 2002-03-04 DE DE10209398A patent/DE10209398A1/de not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
US20020147898A1 (en) | 2002-10-10 |
US6625702B2 (en) | 2003-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10209398A1 (de) | Speichersteuerung mit einer Unterstützung für Speichermodule aus RAM-Bauelementen mit inhomogener Datenbreite | |
DE10212642B4 (de) | Empfängerschaltungsanordnung für eine Speichersteuerung und Verfahren zum Empfangen von Daten in einer Speichersteuerung | |
DE102006028683B4 (de) | Parallele Datenpfadarchitektur | |
DE69826863T2 (de) | Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet | |
DE102005051478B4 (de) | Flashdatenspeichervorrichtung | |
DE602004004002T2 (de) | Verfahren und Speichersystem basierend auf dualem data strobe mode and einfachem data strobe mode mit Dateninversion | |
DE602004007674T3 (de) | Integrierte Schaltung mit bimodalem Daten-Strobe | |
DE69838852T2 (de) | Verfahren und vorrichtung zur kopplung von signalen zwischen zwei schaltungen, in verschiedenen taktbereichen arbeitend | |
DE10010440B9 (de) | Synchrones dynamisches Speicherbauelement mit wahlfreiem Zugriff und Verfahren zur CAS-Latenzsteuerung | |
DE10084993B3 (de) | Ausgabeschaltung für einen mit doppelter Datenrate arbeitenden dynamischen Speicher mit wahlfreiem Zugriff (DDR DRAM), ein mit doppelter Datenrate arbeitender dynamischer Speicher mit wahlfreiem Zugriff (DDR DRAM), ein Verfahren zum getakteten Auslesen von Daten aus mit doppelter Datenrate arbeitenden dynamischen Speicher mit wahlfreiem Zugriff (DDR DRAM) | |
DE60034788T2 (de) | Verfahren und schaltung zur zeitlichen anpassung der steuersignale in einem speicherbaustein | |
DE102010013668B4 (de) | Aktives Training von Speicherbefehl-Timing | |
DE60112125T2 (de) | Methode zur programmierung eines speicherkontrollers in einem hochleistungsmikroprozessor | |
DE69906793T2 (de) | Verfahren und anordnung für hochgeschwindigkeitsdatenerfassung mit korrektur der bit-zu-bit-zeitgebung und speicheranordnung unter verwendung derselben | |
DE112005002261B4 (de) | Gepufferter kontinuierlicher Mehrpunkt-Taktring | |
DE102019118638A1 (de) | Ein-Chip-System, das ein Training des Tastgrades des Schreibtakts unter Verwendung eines Modus-Register-Schreibbefehls durchführt, Betriebsverfahren des Ein-Chip-Systems, elektronische Vorrichtung mit dem Ein-Chip-System | |
DE19844703A1 (de) | Integrierte Halbleiterschaltungsvorrichtung | |
DE102005051479A1 (de) | Speichersystem und Schnittstellen-Zeitsteuerverfahren | |
DE19501560A1 (de) | Bildverarbeitungsschaltung zum Verarbeiten von Bilddaten für eine Grafik, integrierte Halbleiterschaltungseinrichtung, welche eine derartige Bildverarbeitungsschaltung enthält, Bildverarbeitungssystem, welches eine derartige integrierte Halbleiterschaltungseinrichtung enthält, und Verfahren zum Testen einer derartigen integrierten Halbleiterschaltungseinrichtung | |
DE112004001660T5 (de) | Echotakt auf Speichersystem mit Warteinformationen | |
DE19914986A1 (de) | Vorrichtung zum Verzögern eines Taktsignals | |
DE10235740A1 (de) | Register, das zum Korrespondieren mit einem Breitfrequenzband geeignet ist, und Signalerzeugungsverfahren, das dasselbe verwendet | |
DE102004061311A1 (de) | Temperaturkompensierte Verzögerungssignale | |
DE102007010310A1 (de) | Eingabeschaltung eines Halbleiterspeicherelements, Halbleiterspeicherelement und Verfahren zum Steuern der Eingabeschaltung | |
DE19649704B4 (de) | Synchrone Halbleiterspeichereinrichtung mit einer Ausgabesteuerschaltung mit reduzierter belegter Fläche |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8131 | Rejection |