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 Datenbreite

Info

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
Application number
DE10209398A
Other languages
English (en)
Inventor
Eric M Rentschler
Jeffrey G Hargis
George T Letey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE10209398A1 publication Critical patent/DE10209398A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing 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.
1. Allgemein: eine Speichersteuerung mit einer größeren Anzahl von Funktionsmodi
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.
A. Alternative oder gleichzeitige x4-, x8-, x16-Befestigung
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.
B. 1x- oder 2x-Modus
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.
C. Lese- und Schreibphasenverzögerungen
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.
D. Unempfindlichkeit gegenüber Tri-State-Rauschen
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.
2. Fähigkeit zum Schreiben im 1x- oder 2x-Modus
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.
3. Fähigkeit zum Schreiben von DIMM aus x4-, x8- und x16-RAM-Bauelementen
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.
4. Schreibtakte
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.
5. Fähigkeit zum Lesen in dem 1x- oder 2x-Modus
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
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.
6. Tri-State-Rauschunempfindlichkeit bei Lesevorgängen
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).
Mittels eines zweiten UND- und ODER-Gatters 2018, 2020 wird das Rücksetzeingangssignal des zweiten Flip-Flops durch die folgende Gleichung bestimmt:
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
A. 1x-Lesezyklen
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.
B. 2x-Lesezyklen
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.
7. Fähigkeit zum Lesen von DIMM aus x4-, x8- und x16-RAM-Bauelementen
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;
wobei die Steuerschaltungsanordnung (1812) eine Anzahl von Multiplexern aufweist, und wobei jeder Multiplexer (1812) folgende Merkmale aufweist:
  • 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.
DE10209398A 2001-04-07 2002-03-04 Speichersteuerung mit einer Unterstützung für Speichermodule aus RAM-Bauelementen mit inhomogener Datenbreite Ceased DE10209398A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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