DE10212642A1 - Speichersteuerung mit 1X/MX-Lesefähigkeit - Google Patents

Speichersteuerung mit 1X/MX-Lesefähigkeit

Info

Publication number
DE10212642A1
DE10212642A1 DE10212642A DE10212642A DE10212642A1 DE 10212642 A1 DE10212642 A1 DE 10212642A1 DE 10212642 A DE10212642 A DE 10212642A DE 10212642 A DE10212642 A DE 10212642A DE 10212642 A1 DE10212642 A1 DE 10212642A1
Authority
DE
Germany
Prior art keywords
data
memory
signal
takeover
equalization
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.)
Granted
Application number
DE10212642A
Other languages
English (en)
Other versions
DE10212642B4 (de
Inventor
Eric M Rentschler
Jeffrey G Hargis
Leith L Johnson
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 DE10212642A1 publication Critical patent/DE10212642A1/de
Application granted granted Critical
Publication of DE10212642B4 publication Critical patent/DE10212642B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/1689Synchronisation and timing concerns

Abstract

Verfahren und Vorrichtungen zum Empfangen von Daten von einem Speicher, wobei die Daten einem Übernahmesignal zugeordnet sind, sind hierin offenbart. Im allgemeinen liefern die Verfahren und Vorrichtungen eine Speichersteuerung mit einer Einrichtung zum Empfangen von Daten mit unterschiedlichen Raten. Daten können durch eine Speichersteuerung mit unterschiedlichen Raten empfangen werden, weil die Speichersteuerung beispielsweise in Umgebungen verwendet wird, wo dieselbe direkt an eine Anzahl von Speichermodulen angeschlossen ist, und/oder in Umgebungen, wo dieselbe über einen Zwischenchip an eine Anzahl von Speichermodulen angeschlossen ist. Der Zwischenchip kann beispielsweise Multiplexer umfassen, die Daten von zwei oder mehreren Speicherbankmodulen empfangen und dann die Daten in einen oder mehrere Datenströme multiplexen, die dann zu der Speichersteuerung übertragen werden, mit zweimal der Rate, mit der die Speichermodule in jeder Bank Daten zu der Speichersteuerung übertragen könnten.

Description

Die Erfindung bezieht sich auf das Gebiet der Speicher­ steuerungen.
Der Zweck einer Speichersteuerung ist es, Speicherzugriffs­ anforderungen zu empfangen und auszuführen (d. h. Anforde­ rungen, Daten von einer Anzahl von Speichermodulen zu lesen und auf dieselben zu schreiben). Eine Speicherzugriffsan­ forderung wird typischerweise durch eine zentrale Verarbei­ tungseinheit (CPU = central processing unit) ausgelöst, aber kann auch durch ein Eingabe/Ausgabegerät (I/O-Gerät) ausgelöst werden.
In der Vergangenheit wurden die meisten Speichersteuerungen entworfen, um auf Speichermodule zuzugreifen, die über ge­ meinsame Taktdatenübertragungen gelesen und geschrieben werden. Das heißt, Datenbits werden zwischen einer Spei­ chersteuerung und einer Anzahl von Speichermodulen in Syn­ chronisation mit den Anstiegsflanken des internen Takts der Speichersteuerung übertragen. Es gibt jedoch derzeit Bemü­ hungen, Speichersteuerungen zu entwerfen, die in der Lage sind, Doppeldatenraten-(DDR-)Speichermodule zu entwerfen.
Ein DDR-Speichermodul ist eines, das über quellensynchrone Datenübertragungen gelesen und geschrieben wird. Das heißt, Datenbits werden zwischen einer Speichersteuerung und einer Anzahl von Speichermodulen in Synchronisation mit den An­ stiegs- und Abfallflanken eines Übernahmesignals oder "Strobe"-Signals übertragen, wobei das Übernahmesignal durch die Komponente erzeugt wird, die die Daten liefert. Das Übernahmesignal wird dann durch die Komponente verwen­ det, die die Daten zum Zweck des Erfassens der Daten emp­ fängt. Somit wird ein Übernahmesignal durch die Speicher­ steuerung während einer Schreiboperation übertragen, und ein Übernahmesignal wird durch ein Speichermodul während einer Leseoperation übertragen.
Es ist die Aufgabe der vorliegenden Erfindung, Schaltungs­ anordnungen, Doppeldatenraten-Speichersteuerungen, ein Com­ putersystem und ein Verfahren zum Empfangen von Daten mit verbesserten Charakteristika zu schaffen.
Diese Aufgabe wird durch eine Schaltungsanordnung gemäß An­ spruch 1, eine Doppeldatenraten-Speichersteuerung gemäß An­ spruch 15, ein Verfahren zum Empfangen von Daten gemäß An­ spruch 16 und ein Computersystem gemäß Anspruch 23 gelöst.
Wie es für den Fachmann auf diesem Gebiet bekannt ist, be­ wirkt die Komplexität der Speichersteuerungen, daß diesel­ ben sehr aufwendige Komponenten zum Entwerfen, Entwickeln und Prüfen sind. Die Erfinder liefern daher nachfolgend ei­ ne Beschreibung einer Speichersteuerung mit einer größeren Anzahl von Funktionsmodi. Durch Liefern einer Speicher­ steuerung mit einer größeren Anzahl von Funktionsmodi kann ein Hersteller einer anwendungsspezifischen integrierten Schaltung (ASIC = application specific integrated circuit) eine größere Anzahl von Rechenanwendungen mit einer einzi­ gen Speichersteuerung erfüllen, und somit durch Entwickeln, Bauen und Testen einer geringeren Anzahl von Speichersteue­ rungen Zeit und Aufwand sparen. Aus der Perspektive der Computerherstellung ermöglicht die Verwendung einer gemein­ samen Speichersteuerung bei einer Vielzahl von Computersy­ stemen, daß maschinenabhängiger Code, gedruckte Schaltungs­ platinenentwürfe, usw. von einem Computersystem zu dem nächsten übertragen werden können.
Gemäß der Erfindung sind neue Verfahren und Vorrichtung, die sich auf Speichersteuerungen beziehen, hierin offen­ bart. Ein Teil der Verfahren und Vorrichtungen bezieht sich auf das Lesen einer Speichersteuerung von Daten von einer Anzahl von Speichermodulen.
Im allgemeinen liefern die Verfahren und Vorrichtungen ei­ ner Speichersteuerung mit einer Einrichtung zum Empfangen von Daten mit unterschiedlichen Raten (z. B. einer 1x- und einer Mx-Rate). Daten können durch eine Speichersteuerung mit unterschiedlichen Raten empfangen werden, weil die Speichersteuerung beispielsweise in Umgebungen verwendet wird, wo dieselbe direkt an eine Anzahl von Speichermodulen angeschlossen ist, und/oder in Umgebungen, wo dieselbe über einen Zwischenchip an eine Anzahl von Speichermodulen ange­ schlossen ist. Der Zwischenchip kann beispielsweise Multi­ plexer umfassen, die Daten von einer oder mehreren Spei­ chermodulbänken empfangen, und dann die Daten in einen oder mehrere Datenströme multiplexen, die dann mit der doppelten Rate zu der Speichersteuerung übertragen werden, wie die Speichermodule in jeder Bank Daten zu der Speichersteuerung übertragen könnten.
Obwohl die Erfindung nicht auf DDR-Umgebungen begrenzt ist, liefert ein Ausführungsbeispiel der Erfindung eine Doppel­ datenraten-Speichersteuerung, die eine Einrichtung zum Emp­ fangen von Daten und Übernahmesignalen bei 1x- Doppeldatenraten-Speichergeschwindigkeit und eine Einrich­ tung zum Empfangen von Daten und Übernahmesignalen bei Mx- Doppeldatenraten-Speichergeschwindigkeit umfaßt (wobei M ≧ 2 und x eine herkömmliche Rate ist, mit der DDR-Daten durch eine Empfängerschaltungsanordnung empfangen werden).
Ein weiteres Ausführungsbeispiel der Erfindung liefert eine Speichersteuerungsempfängerschaltungsanordnung mit einer Datenanschlußfläche und einer Übernahmesignalanschlußfläche (wobei die Anschlußflächen Teil einer Schnittstelle bilden können, die eine Mehrzahl von Daten- und Übernahmesignalan­ schlußflächen umfaßt). P Speicherelemente (z. B. Latches; P ≧ 2) sind gekoppelt, um Daten von der Datenanschlußfläche zu empfangen. Die P Speicherelemente werden durch jeweilige Werte eines Zählwerts gesteuert, der vorzugsweise ein P- Bit-Zählwert ist, bei dem ein Zustand logisch hoch ist. Der Zählwert wird durch einen Zähler ansprechend auf Übernahme­ signalflanken, die an einer Übernahmesignalanschlußfläche empfangen werden, aktualisiert. Auf diese Weise arbeiten die P Speicherelemente in dem Taktbereich von Speichermodu­ len und/oder Zwischenchips, die an die Empfängerschaltungs­ anordnung angeschlossen sind. Eine Entzerrungsmultiplexstu­ fe ist zum Empfangen von Daten von den P Speicherelementen vorgesehen. Anders als die P Speicherelemente empfängt die Entzerrungsmultiplexstufe jedoch Steuersignale, die in ei­ nem Taktbereich der Empfängerschaltungsanordnung erzeugt werden (d. h. einem Taktbereich der Speichersteuerung, von der die Empfängerschaltungsanordnung einen Teil bildet). Falls P gleich vier ist, und die Multiplexstufe zwei Ent­ zerrungsmultiplexer umfaßt, die Daten von den P Speicher­ elementen empfangen, dann kann ein erster der Entzerrungs­ multiplexer mit Steuersignalen versehen werden, die sich mit einer 1x-Rate ändern, wodurch es Datenbits, die mit ei­ ner 1x-Rate empfangen werden, ermöglicht wird, sich durch den ersten Entzerrungsmultiplexer auszubreiten. Wenn 2x- Daten durch die Empfängerschaltungsanordnung empfangen wer­ den, können beide der Entzerrungsmultiplexer mit Steuersi­ gnalen versehen werden, die sich mit einer 1x-Rate ändern, wodurch es Datenbits, die mit einer 2x-Rate empfangen wer­ den, ermöglicht wird, sich abwechselnd durch den ersten und den zweiten Entzerrungsmultiplexer auszubreiten (d. h. auf­ einanderfolgende Datenbits werden abwechselnd aus einem der Entzerrungsmultiplexer ausgetaktet).
Ein drittes Ausführungsbeispiel der Erfindung liefert ein Verfahren zum Empfangen von Daten in einer Speichersteue­ rung. Das Verfahren beginnt mit dem Empfangen von Daten­ bits, die an eine Datenanschlußfläche einer Speichersteue­ rung gesendet werden, in die jeweiligen P Speicherelemente (wobei wieder P ≧ 2 ist). Die Datenbits werden ansprechend auf einen Zählwert von Übernahmesignalkanten empfangen, die an einer Übernahmesignalanschlußfläche der Speichersteue­ rung empfangen werden. Während Daten, die in den P Spei­ cherelementen gespeichert werden, zu einer Anzahl von Ent­ zerrungsmultiplexern ausgegeben werden, werden Steuersigna­ le für die Entzerrungsmultiplexer in einem Taktbereich der Speichersteuerung erzeugt.
Ein Vorteil der Speichersteuerung und Empfängerschaltungs­ anordnung, die hierin offenbart wurde, liegt darin, daß sich dieselbe unter Verwendung von relativ einfacher Hard­ ware an das Empfangen von 1x- oder Mx- (z. B. 2x-) Daten anpaßt. Durch Bereitstellen einer Speichersteuerung, die Daten in einem 1x- und einem Mx-Modus lesen kann, kann eine universellere Speichersteuerung hergestellt werden, die ei­ ne Skalierbarkeit hat, um den Bereich der Marktsegmente, die durch die Speichersteuerung abgedeckt werden, mit nur einer geringen Erhöhung bei den Herstellungskosten zu ver­ größern.
Ein weiterer Vorteil der offenbarten Schaltungsanordnung liegt darin, daß dieselbe höhere Bandbreiten und Systeme mit höherer Kapazität unterstützen kann.
Ein weiterer Vorteil der offenbarten Schaltungsanordnung liegt darin, daß sich erhöhende Werte von P erhöhte Zeiten zum Entzerren von Daten liefern, die in einer Datenan­ schlußfläche empfangen werden (d. h. erhöhte Zeiten zum Übertragen von Steuerung der Daten von einem Taktbereich eines Speichermoduls oder Zwischenchips zu einem Taktbe­ reich der Speichersteuerung). Somit werden größere Schwan­ kungen bei der Datenlesezeit toleriert.
Die wichtigen Vorteile und Aufgaben des obigen und anderer Ausführungsbeispiele der Erfindung werden in der nachfol­ genden Beschreibung, den Zeichnungen und den Ansprüchen nä­ her erklärt oder werden daraus offensichtlich.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein Computersystem;
Fig. 2 ein erstes beispielhaftes Ausführungsbeispiel der Speichersteuerung von Fig. 1, wobei die Speicher­ steuerung zum Zweck der Datenübertragung in einem 1x-Modus direkt an eine Mehrzahl von Speichermo­ dulen angeschlossen ist;
Fig. 3 ein zweites beispielhaftes Ausführungsbeispiel der Speichersteuerung von Fig. 1, wobei die Spei­ chersteuerung zum Zweck der Datenübertragungen in einem 2x-Modus über einen Zwischenchip an eine Mehrzahl von Speichermodulen angeschlossen ist;
Fig. 4 Speichersteuerungstreiberschaltungsanordnung, die in der Lage ist, Daten in einem 1x-Modus oder ei­ nem 2x-Modus zu treiben;
Fig. 5 ein bevorzugtes Ausführungsbeispiel der Ausgabe­ mischschaltungsanordnung, die in Fig. 4 gezeigt ist;
Fig. 6 eine Schwankung der Speichersteuerungstreiber­ schaltungsanordnung von Fig. 4, wobei die Schal­ tungsanordnung zum Auslösen einer Schreibphasen­ verzögerung vorgesehen ist;
Fig. 7 ein bevorzugtes Ausführungsbeispiel einer Takt­ schaltung, die viele der Taktsignale erzeugt, die in Fig. 8, 12-19 und 21-26 erscheinen;
Fig. 8 ein bevorzugtes Ausführungsbeispiel einer Spei­ chersteuerungstreiberschaltungsanordnung, die ei­ ne Datentreiberschaltungsanordnung und eine ent­ sprechende Übernahmesignaltreiberschaltungsanord­ nung umfaßt;
Fig. 9 stellt ein Speichersubsystem dar, einschließlich eines dritten beispielhaften Ausführungsbeispiels der Speichersteuerung von Fig. 1, wobei die Spei­ chersteuerung eine Mehrzahl von entsprechenden Übernahmesignal- und Datenanschlußflächen umfaßt;
Fig. 10 eine beispielhafte Weise des In-Übereinstimmung- Bringens einer Übernahmesignal- und einer Daten­ anschlußfläche, um den Schreibvorgang einer Spei­ chersteuerung auf x4-, x8- oder x16-DIMM zu un­ terstützen;
Fig. 11 ein Speicherabbild zum Verfolgen, ob x4-, x8- oder x16-DIMM an die Daten- und Übernahmesignal­ anschlußflächen einer Speichersteuerung angeschlossen sind;
Fig. 12 ein bevorzugtes Ausführungsbeispiel einer Schal­ tung zum Senden der act_stb[0 : 1]-Signale (siehe Fig. 8) an die unteren Anschlußflächen der Spei­ chersteuerung von Fig. 9;
Fig. 13 ein bevorzugtes Ausführungsbeispiel einer Schal­ tung zum Liefern der act_stb[0 : 1]-Signale (siehe Fig. 8) an die oberen Übernahmesignalanschlußflä­ chen der Speichersteuerung von Fig. 9;
Fig. 14 Schreibzeitgebungen der Treiberschaltungsanord­ nung von Fig. 8, wenn dieselbe im 1x-Modus mit ausgerichteten Schreibübernahmesignalen wpd = 0 und long_wpre = 0 konfiguriert ist;
Fig. 15 Schreibzeitgebungen der Treiberschaltungsanord­ nung von Fig. 8, wenn dieselbe im 1x-Modus mit ausgerichteten Schreibübernahmesignalen wpd = 0 und long_wpre = 1 konfiguriert ist;
Fig. 16 Schreibzeitgebungen der Treiberschaltungsanord­ nung von Fig. 8, wenn dieselbe im 2x-Modus mit verzögerten Schreibübernahmesignalen wpd = 0 und long_wpre = 0 konfiguriert ist;
Fig. 17 Schreibzeitgebungen der Treiberschaltungsanord­ nung von Fig. 8, wenn dieselbe im 2x-Modus mit verzögerten Schreibübernahmesignalen wpd = 0 und long_wpre = 1 konfiguriert ist;
Fig. 18 ein bevorzugtes Ausführungsbeispiel einer Daten­ empfängerschaltungsanordnung einer Speichersteue­ rung;
Fig. 19 ein erstes bevorzugtes Ausführungsbeispiel einer Übernahmesignalempfängerschaltungsanordnung einer Speichersteuerung;
Fig. 20 ein zweites bevorzugtes Ausführungsbeispiel einer Übernahmesignalempfängerschaltungsanordnung einer Speichersteuerung;
Fig. 21 eine Steuerung-Speicher-Steuerung-Leseweg­ schleife;
Fig. 22 Lesezeitgebungen der in Fig. 18, 19 und 28 ge­ zeigten Empfängerschaltungsanordnung, wenn die­ selbe im 1x-Modus mit rpd = 0 konfiguriert ist;
Fig. 23 nähere Einzelheiten des "frühen" 1x-Modus- Lesefalls, der in Fig. 22 dargestellt ist;
Fig. 24 nähere Einzelheiten des "späten" 1x-Modus- Lesefalls, der in Fig. 22 dargestellt ist;
Fig. 25 Lesezeitgebungen der in den Fig. 18, 19 und 28 gezeigten Empfängerschaltungsanordnung, wenn die­ selbe im 2x-Modus mit rpd = 0 konfiguriert ist;
Fig. 26 nähere Einzelheiten des "frühen" 2x-Modus- Lesefalls, der in Fig. 25 dargestellt ist;
Fig. 27 nähere Einzelheiten des "späten" 2x-Modus- Lesefalls, der in Fig. 25 dargestellt ist;
Fig. 28 ein bevorzugtes Ausführungsbeispiel einer Schal­ tung zum Senden des set_alt_n-Signals, das in der Speichersteuerungsempfängerschaltungsanordnung von Fig. 18 erscheint; und
Fig. 29 eine Beziehung zwischen der Kern- und der An­ schlußflächenschaltungsanordnung der Speicher­ steuerung 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 Fig. 1-3 dargestellt. Die Speicher­ steuerung 100 ist vorzugsweise eine Doppeldatenraten- (DDR-)Speichersteuerung, muß es aber nicht sein. Eine DDR- Speichersteuerung 100 ist eine, die in der Lage ist, mit DDR-synchronen dynamischen Direktzugriffsspeichern (SDRAM) zu kommunizieren. Siehe beispielsweise den JEDEC Standard Nr. 79, herausgegeben im Juni 2000, der hierin nachfolgend als die "JEDEC DDR SDRAM Spezifikation" bezeichnet wird.
Fig. 1 stellt ein beispielhaftes Computersystem 124 dar, bei dem die Speichersteuerung 100 verwendet werden kann. Das Computersystem 124 umfaßt eine Anzahl von zentralen Verarbeitungseinheiten 102 (CPU), die über einen Systembus 106 mit der Speichersteuerung 100 verbunden sind. Wie es in Fig. 1 gezeigt ist, bildet die Speichersteuerung 100 vor­ zugsweise ein Teil einer integrierten Speicher- und Einga­ be/Ausgabe(I/O)-Steuerung (MIOC) 100. Die MIOC 100 emp­ fängt Zugriffanforderungen über den Systembus 106 und adressiert dann Speichermodule 104 und/oder I/O-Geräte 112-122, um die Speicherzugriffsanforderungen zu verarbeiten. Abgerufene Daten werden dann nach Bedarf zurückgesendet. Ankommende Speicherzugriffsanforderungen, die von den I/O- Geräten 112-122 empfangen werden, können ebenfalls durch die MIOC verarbeitet werden. Wie es in der Technik bekannt ist, umfassen Speicher- und I/O-Zugriffsanforderungen typi­ scherweise Leseanforderungen und Schreibanforderungen. Die MIOC 100 ist über einen Speicherbus 108 mit einer Anzahl von Speichermodulen 104 gekoppelt und ist über lokale Busse, Schnittstellen, usw. 110 (z. B. einen lokalen Peri­ pheriekomponentenverbindungsbus (PCI; PCI = peripheral com­ ponent interconnect) oder eine integrierte Geräteelektro­ nikschnittstelle (IDE; IDE = integrated device electronics) mit den I/O-Geräten 112-122 gekoppelt. Die Speichermodule können beispielsweise eine Anzahl von DDR Dual-in-Line Speichermodulen (DIMMs) umfassen. Ein DIMM ist eine Samm­ lung von RAM-Elementen (z. B. DDR-SDRAMs) mit einer festen Datenbreite (normalerweise 64 oder 72 Bit). I/O-Geräte kön­ nen eines oder mehrere der folgenden und auch andere Geräte umfassen: Laufwerke 112 (z. B. Festplatten, CD-ROM- Laufwerke, Disketten-Laufwerke), Tore 114 (z. B. USB, par­ allel, seriell), eine Tastatur 116, eine Maus 118 und/oder andere Zeigegeräte, eine Anzeige 120 und einen Drucker 122.
Es ist wichtig, erneut anzumerken, daß Fig. 1 nur ein bei­ spielhaftes Ausführungsbeispiel eines Computersystems 124 liefert, bei dem die nachfolgend beschriebene Speicher­ steuerung 100 verwendet werden kann, und somit soll das Computersystem 124 von Fig. 1 die Erfindung und/oder deren geeignete Verwendung nicht beschränken. Es ist außerdem wichtig, anzumerken, daß sich ein Großteil der folgenden Beschreibung nur auf eine "Speichersteuerung" 100 bezieht. Ein Durchschnittsfachmann auf diesem Gebiet wird jedoch leicht erkennen, daß die Merkmale einer Speichersteuerung, die nachfolgend offenbart werden, leicht für die Verwendung bei einer in Fig. 1-3 dargestellten Speichersteuerung 100, die Teil der integrierten "Speicher- und I/O-Steuerung" 100 ist, angepaßt werden können.
In Fig. 2 ist die MIOC 100 von Fig. 1 so gezeigt, daß sie über einen 1x-Bus 200 (z. B. einen 1x-DDR-Bus) direkt mit einer Anzahl von Speichermodulen 104 gekoppelt ist. Wie es hierin definiert ist, ist ein 1x-DDR-Bus 200 ein Speicher­ bus, der in einem herkömmlichen DDR-Modus arbeitet, bei dem Daten in Synchronisation mit beiden Flanken eines Übernah­ mesignals übertragen werden.
A. Abwechselnder oder gleichzeitiger x4-, x8-, x16-Anschluß
Ein Merkmal der hierin offenbarten Speichersteuerung 100 ist, daß dieselbe Daten auf nicht-homogene Speichermodule 104 schreiben und von denselben lesen kann. Zum Verständnis dessen, was mit "nicht-homogenen Speichermodule" gemeint ist, ist ein wenig Hintergrund nötig.
Die Speichermodule 104 sind in einer Vielzahl von Konfigu­ rationen erhältlich, wobei die populärste die Dual-in-Line- Speichermodul-(DIMM-)Konfiguration ist. Andere Konfigura­ tionen, von denen es viele gibt, umfassen die Single-in- Line-Speichermodul-(SIMM-)Konfiguration und die Small- Outline-DIMM-(SO-DIMM-)Konfiguration.
Eine gemeinsame Charakteristik der vorher erwähnten Spei­ chermodulkonfigurationen ist, daß jede eine gedruckte Schaltungsplatine mit einer Mehrzahl von Direktzugriffs­ speicher-(RAM-)Elementen umfaßt, die darauf befestigt sind. Gleichartig zu den verschiedenen Konfigurationen von Speichermodulen können RAM-Elemente ebenfalls eine Vielzahl von Konfigurationen aufweisen, wobei die populärste die SDRAM-Konfiguration ist. Es gibt jedoch derzeit Bestrebun­ gen in der Industrie, zu Speichermodulen überzugehen, die mit DDR-SDRAM-Elementen bestückt sind. Fig. 9 stellt bei­ spielhaft eine Mehrzahl von DIMMs 104a, 104b, 104c dar, die mit DDR-SDRAM-Elementen 910, 912, 914 bestückt sind.
DDR-SDRAM-Elemente sind derzeit in drei Datenbreiten er­ hältlich, wobei Elemente mit zusätzlichen Datenbreiten vor­ geschlagen sind. Die derzeit verfügbaren Datenbreiten sind 4, 8 und 16 Bits. Wie es in der JEDEC DDR SDRAM- Spezifikation erörtert wurde, ist ein 4-Bit-breiter DDR- SDRAM als ein x4-DDR-SDRAM bekannt und ist durch seine Er­ zeugung/seinen Empfang von vier Datensignalen ansprechend auf ein einziges Übernahmesignal charakterisiert. Gleichar­ tig dazu ist ein 8-Bit-breiter DDR-SDRAM als ein x8-DDR- SDRAM bekannt und ist durch die Erzeugung/dem Empfang von acht Datensignalen ansprechend auf ein einziges Übernahme­ signal charakterisiert; und ein Sechzehn-Bit-breiter DDR- SDRAM ist als ein x16-DDR-SDRAM bekannt und ist durch seine Erzeugung/seinen Empfang von sechzehn Datensignalen anspre­ chend auf ein Paar von Übernahmesignalen charakterisiert. Wie es für den Fachmann auf diesem Gebiet bekannt ist, ist die Schnittstelle eines x16-DDR-SDRAM ähnlich wie die eines x8-DDR-SDRAM, da ansprechend auf jedes der Übernahmesignale eines x16-DDR-SDRAM acht Datensignale erzeugt/empfangen werden.
Bei einem typischen Computersystem ist eine Speichersteue­ rung 100 in der Lage, auf eine Anzahl von gleichen Spei­ chermodulen zuzugreifen, die in eine Mehrzahl von Sockeln 902-908 an der Hauptplatine des Computersystems eingefügt sind. Oft füllt ein Computerhersteller eine Anzahl der Soc­ kel 902-908 mit einer Anzahl von gleichen Speichermodulen, und weist dann den Endbenutzer des Computersystems an, daß bereits geladene Speichermodule hinzugefügt werden können, entfernt oder ausgetauscht, solange alle Speichermodule des Computers von einer spezifizierten homogenen Modul- und RAM-Konfiguration sind (z. B. DIMM, die aus SDRAM beste­ hen). Falls ein Speichermodul nicht in der spezifizierten Modul- und RAM-Konfiguration ist, ist die Speichersteuerung des Computersystems nicht in der Lage, mit dem Speichermo­ dul zu kommunizieren, und bei einigen Fällen kann das nicht-homogene Speichermodul und/oder die Speichersteuerung selbst beschädigt sein. Die Speichererweiterungsoptionen eines Computerbenutzers sind daher auf eine spezielle Kon­ figuration von Speichermodul begrenzt. Es wäre jedoch wün­ schenswert, wenn ein Computerbenutzer beim Erweitern seines oder ihres Computerspeichers mehr Flexibilität hätte.
Folglich ist hierin eine Speichersteuerung 100 offenbart, die in der Lage ist, nicht-homogene Speichermodule 104 zu lesen und zu schreiben. Die Speichermodule 104 sind nicht- homogen, da sie RAM-Elemente mit unterschiedlichen Daten­ breiten umfassen. Beispielsweise können zwei Speichermodule x8-DDR-SDRAMs umfassen, ein drittes Speichermodul kann x4- DDR-SDRAMs umfassen, und ein viertes Speichermodul kann x16-DDR-SDRAMs umfassen. Die offenbarte Speichersteuerung 100 kommuniziert mit den nicht-homogenen Speichermodulen 104 durch Speichern und Zugreifen auf ein Speicherabbild 1100 (Fig. 11) von RAM-Element-Datenbreiten, wobei für je­ des der Speichermodule 104 eines Computersystems eine RAM- Element-Datenbreite gespeichert ist. Ein Zugriff auf das Speicherabbild 1100 wird vor jedem Lese- und Schreibzyklus "fliegend", d. h. im Betrieb, durchgeführt. Wenn somit einem Schreibvorgang auf einen x4-DDR-SDRAM, der an einem ersten Speichermodul 104a plaziert ist, ein Schreibvorgang auf ein x8-DDR-SDRAM folgt, der auf einem zweiten Speichermodul 104b positioniert ist, kann die Speichersteuerung 100 die Schreibvorgänge nacheinanderfolgend durchführen durch 1) Zugreifen auf das Speicherabbild 1100 vor jeder Schreibope­ ration und dann 2) Rekonfigurieren der Daten- und Übernah­ mesignaltreiberschaltungsanordnung nach Bedarf.
Um die Kommunikation der Speichersteuerung mit einer Mehr­ zahl von nicht-homogenen Speichermodulen 104 zu ermögli­ chen, muß auf der Platinenebene lediglich berücksichtigt werden, daß ausreichend Daten- und Übernahmesignalleitwege vorgesehen sind, für den Zweck des Ermöglichens einer elek­ trischen Verbindung von einem Erweiterungssockel zu Spei­ chermodulen 104, die aus RAM-Elementen mit variierender Da­ tenbreite bestehen. Wenn somit die offenbarte Speicher­ steuerung 100 in einer DDR-SDRAM-Umgebung entworfen wird, kann ein Computerhersteller 1) weniger Übernahmesignale zu/von einer Speichersteuerung 100 leiten und einem Compu­ terbenutzer die Fähigkeit zuweisen, in seinem Computersy­ stem 124 gleichzeitig DIMMs zu verwenden, die aus x8- und x16-DDR-SDRAMs bestehen oder 2) einige zusätzliche Übernah­ mesignale zu/von einer Speichersteuerung 100 zu leiten und einem Computerbenutzer die Fähigkeit zuweisen, in seinem Computersystem 124 gleichzeitig DIMMs zu verwenden, die aus x4-, x8- und x16-DDR-SDRAMs 104 bestehen. In beiden Fällen wird einem Computerbenutzer mehr Flexibilität gegeben, DIMMs zu mischen und übereinzustimmen, als derzeit vorgese­ hen ist.
Eine Speichersteuerung 100, die nicht-homogene Speichermo­ dule 104 lesen und schreiben kann (d. h. Speichermodule, die aus RAM-Elementen mit nicht-homogener Datenbreite be­ stehen) ist dadurch vorteilhaft, daß dieselbe einen Compu­ terbenutzer mit einer Vielzahl von Speichererweiterungsop­ tionen versieht. Beispielsweise sind x4-DDR-SDRAMs halb so breit aber zweimal so tief wie x8- und x16-DDR-SDRAMs. So­ mit kann man die Computerspeicherkapazität verdoppeln, in­ dem DIMMs verwendet werden, die mit x4-DDR-SDRAMs bestückt sind, statt DIMMs, die mit x8- oder x16-DDR-SDRAMs bestückt sind. Wenn man jedoch bedenkt, daß DIMMs, die aus x8-DDR- SDRAM bestehen, derzeit weniger teuer sind, möchte man vielleicht zugunsten der geringeren Kosten eine Leistungs­ ebene opfern. Ferner möchte ein Benutzer vielleicht DIMMs mit höherer Kapazität, die aus x4-DDR-SDRAMs bestehen, zu seinem oder ihrem Computersystem hinzufügen, aber nach wie vor die bestehenden x8 oder x16 DDR-SDRAM behalten und ver­ wenden, die mit seinem oder ihrem Computersystem geliefert wurden.
Ohne die hierin offenbarte Speichersteuerung 100 kann die Speicherkapazität eines Computersystems, das nur DIMMs ak­ zeptiert, die aus x8- und/oder x16-DDR-SDRAMs bestehen, nur durch eine Erhöhung bei der Anzahl von Lasten pro Speicher­ datenbit erhöht werden (z. B. verdoppeln oder vervierfachen der Anzahl von Lasten). Dadurch kann die gleiche Speicher­ kapazität, die in einem x4-System erreicht werden kann, in einem x8/x16 System erreicht werden. Ein Problem ist je­ doch, daß bei mehr Lasten pro Bit die maximale Betriebsfre­ quenz jedes DIMM verringert ist. Eine größere Speicherkapa­ zität daher mit einer Leistungseinbuße erreicht. Speicher­ operationen, die durch die hierin offenbarte Speichersteue­ rung 100 eingeleitet werden, sind keinen solchen Leistungs­ einbußen unterworfen.
B. 1x- oder 2x-Modus
Ein weiteres Merkmal der hierin offenbarten Speichersteue­ rung 100 ist, daß dieselbe Übernahmesignale und Daten (ent­ weder in einem 1x-Modus oder einem Mx-Modus) erzeugen, d. h. schreiben kann (wobei M ≧ 2 und x eine Basisrate ist, mit der Daten gelesen und geschrieben werden). Gleichartig dazu kann dieselbe Daten und Übernahmesignale entweder in einem 1x-Modus oder in einem Mx-Modus empfangen (d. h. lesen).
In dem 1x-Modus ist die Speichersteuerung 100 direkt an ei­ ne Mehrzahl von Speichermodulen 104 angeschlossen, wie es in Fig. 2 dargestellt ist. In dem Mx-Modus ist die Spei­ chersteuerung 100 jedoch über einen Bus 300, der bei einer Mx-Geschwindigkeit arbeitet, an einen oder mehrere Zwi­ schenchips 302 angeschlossen. In dem Mx-Modus treten Lese- und Schreibvorgänge zwischen der Speichersteuerung 100 und Zwischenchips 300 mit einer Mx-Rate auf. Lese- und Schreib­ vorgänge zwischen den Zwischenchips 302 und den Speichermo­ dulen 104 treten jedoch weiterhin mit einer 1x-Rate auf. Der Vorteil des Verwendens der Zwischenchips 302 ist, daß man erneut die Speicherkapazität eines Systems verdoppeln kann - diesmal durch 1) Verwenden der Zwischenchips 302, um 2x-Daten zu empfangen, und dann die 2x-Raten auf eine 1x- Weise auf zwei Bänke von Speichermodulen 104 zu verteilen, oder durch 2) Verwenden der Zwischenchips 302, um 1x-Daten von zwei Bänken von Speichermodulen 104 zu empfangen, und dann die Daten zu multiplexen, um dieselben mit einer 2x- Rate zu einer Speichersteuerung 100 zu senden.
Die Verwendung der Zwischenchips 302 ermöglicht es eben­ falls, die Bandbreite eines Speichersystems zu verdoppeln.
C. Lese- und Schreibphasenverzögerungen
Die Speichersteuerung 100, die hierin offenbart ist, lie­ fert ferner eine Fähigkeit zum Verzögern von Lese- und Schreibzyklen durch eine einzige Phase des internen Taktes der Speichersteuerung. Zusätzlich zum Ermöglichen, daß Le­ se- und Schreibzyklen mit einer Vollzyklusauflösung abge­ stimmt werden, können Lese- und Schreibzyklen zusätzlich mit einer Halbzyklusauflösung abgestimmt werden. Lese- und Schreibzyklen können daher entweder an einer Anstiegs- oder einer Abfalltaktflanke des internen Taktes der Speicher­ steuerung beginnen. Dieses Merkmal liefert einen Grad an Abstimmbarkeit für die Speichersteuerung 100.
D. Tristate-Rauschunempfindlichkeit
Während einem Speicherlesezyklus besteht eine Notwendig­ keit, eine Schwankung bei der Steuerung-Speicher-Steuerung- Schleifenverzögerung (d. h. Leseschleifenverzögerung) zu erklären. In Fig. 21 ist beispielsweise eine Mehrzahl von Speichermodulen 104 über gemeinsame Daten- (DQ) und Über­ nahmesignal-(DQS)Busse mit einer Speichersteuerung 100 gekoppelt. Nicht nur ist eine Mehrzahl von Speichermodulen 104 mit den Daten- und Übernahmesignalbussen gekoppelt, sondern jedes der Speichermodule 104 kann Zeitgebungs­ schwankungen innerhalb erlaubter Bereiche zeigen (z. B. in­ nerhalb der Bereiche, die in der JEDEC DDR SDRAM- Spezifikation vorgesehen sind). Ferner können Kopien eines Taktsignals, die zu jedem der Mehrzahl von Speichermodulen 104 verteilt werden, bezüglich zueinander versetzt bzw. verzerrt werden.
Als eine Folge der obigen Unregelmäßigkeiten können Lesean­ forderungen, die an unterschiedliche Speichermodule gesen­ det werden (mit ihren variierten Zeitgebungscharakteristika und versetzten Takten) verschieden lange benötigen, um zu der Steuerung 100 zurückzukehren. Als Folge gibt es eine Schwankung bei der Leseschleifenverzögerung, die erklärt werden muß, wenn bestimmt wird, wann der Empfang von Daten- und Übernahmesignalen an einer Speichersteuerung 100 akti­ viert und deaktiviert wird. Eine solche Verzögerung kann nur erklärt werden durch Sicherstellen, daß eine Speicher­ steuerung 100 Daten und Übernahmesignale ansprechend auf eine kürzestmögliche Schleifenverzögerung (d. h. der Fall eines frühen Empfangs) und einer längstmöglichen Schleifen­ verzögerung (d. h. der Fall eines späten Empfangs) angemes­ sen empfängt.
Die Daten- und Übernahmesignalbusse für die Speichermodule 104 unter der JEDEC-DDR-SDRAN-Spezifikation haben eine be­ merkenswerte Charakteristik. Die Bezugsspannung für jede Busleitung ist gleich wie die Endspannung der Busleitung. Was dies bedeutet ist, daß als Folge des Rauschens die Übernahmesignalanschlußflächen einer Speichersteuerung 100 fehlerhaften "0" zu "1" und "1" zu "0"-Übergängen unter­ worfen sind, wenn die entsprechenden Busleitungen derselben tristatemäßig betrieben werden. Falls diese Übergänge nicht erklärt werden, können sie fälschlicherweise als aktive Übernahmesignalflanken interpretiert werden, was zu einer potentiellen Datenverfälschung führt.
Die hierin offenbarte Speichersteuerung 100 löst das obige Problem durch Zählen von ankommenden Übernahmesignalflan­ ken, die an einer Übernahmesignalanschlußfläche empfangen werden, und dann durch Verwenden eines Zählwerts der Über­ nahmesignalflanken, um eine Mehrzahl von Datenzwischenspei­ chern zu steuern, die mit einer Datenanschlußfläche gekop­ pelt sind. Wenn ein Zählwert, der eine erwartete Anzahl von ankommenden Übernahmesignalflanken darstellt, erreicht ist, wird kein weiteres Zählen durchgeführt, und ein Rauschen, das als Folge des tristatemäßigen Betreibens eines Übernah­ mesignalbusses erzeugt wird, wird daran gehindert, zusätz­ liche Daten in die Vielzahl von Datenlatches zwischenzu­ speichern.
2. Fähigkeit, im 1x- oder 2x-Modus zu schreiben
Fig. 4 stellt ein erstes bevorzugtes Ausführungsbeispiel der Treiberschaltungsanordnung 400 für eine Speichersteue­ rung 100 dar. Die Treiberschaltungsanordnung 400 umfaßt ei­ ne Datenanschlußfläche (DQ4), zwei Datenausbreitungsschal­ tungen 402, 404, eine Multiplexstufe 406 und eine Ausgabe­ mischschaltungsanordnung 408. Ein erster Datenstrom 410 wird zu jeder der Datenausbreitungsschaltungen 402, 408 ge­ sendet, und ein zweiter Datenstrom 412 wird optional zu der zweiten der beiden Datenausbreitungsschaltungen 404 gelie­ fert. Die zweite Datenausbreitungsschaltung 404 empfängt entweder den ersten oder den zweiten Datenstrom 410, 412 über die Multiplexstufe 406, die in Fig. 4 aus einem einzi­ gen Multiplexer besteht. Der Multiplexer 406 wird durch ein 2x-Modussignal (data2xn1x) gesteuert, die es ermöglicht, daß der erste Datenstrom 410 mit dem Ausgang des Multiple­ xers in einem 1x-Betriebsmodus gekoppelt ist, und es ermög­ licht, daß der zweite Datenstrom 412 mit dem Ausgang des Multiplexers in einem 2x-Betriebsmodus gekoppelt ist. In jedem Modus breiten sich Daten durch jede der Datenausbrei­ tungsschaltungen 402, 404 zu der Ausgabemischschaltungsan­ ordnung 408 aus, und an diesem Punkt werden die beiden Da­ tenausbreitungsschaltungen 402, 404 abwechselnd mit der Da­ tenanschlußfläche gekoppelt, um dadurch entweder einen 1x- oder 2x-Datenbitstrom zu erzeugen. Einzelheiten der Aus­ gangsmischschaltungsanordnung 408 werden später in dieser Beschreibung erörtert.
Funktional arbeitet die in Fig. 4 dargestellte Treiber­ schaltungsanordnung 400 wie folgt. In dem 1x-Modus wird der gleiche Datenstrom 410 an jede der Datenausbreitungsschal­ tungen 402, 404 geliefert. Als Folge erscheint ein Daten­ bit, das sich durch die erste Datenausbreitungsschaltung 402 ausbreitet, an der Datenanschlußfläche, wenn die Ausga­ bemischschaltungsanordnung 408 die erste Datenausbreitungs­ schaltung 402 mit der Datenanschlußfläche koppelt. Das gleiche Datenbit erscheint dann wieder an der Datenan­ schlußfläche, wenn die Ausgabemischschaltungsanordnung 408 später die zweite Datenausbreitungsschaltung 404 mit der Datenanschlußfläche koppelt. Als Folge werden Datenbits mit der gleichen Rate an der Datenanschlußfläche erscheinen, mit der sie an die Treiberschaltungsanordnung 400 gesendet werden (d. h. in einem 1x-Modus).
In dem 2x-Betriebsmodus der Treiberschaltungsanordnung von Fig. 4 wird ein erster Datenstrom 410 an die erste Daten­ ausbreitungsschaltung 402 geliefert, und ein zweiter Daten­ strom 412 wird an die zweite Datenausbreitungsschaltung 404 geliefert. Der erste Datenstrom 410 kann beispielsweise die Bits 0, 2, 4, . . . eines Datenstroms umfassen, während der zweite Datenstrom 412 beispielsweise die Bits 1, 3, 5 . . . eines Datenstroms umfassen kann. Als Folge breiten sich un­ terschiedliche Datenbits durch die erste und zweite Daten­ ausbreitungsschaltung 402, 404 aus, und die Ausgabemisch­ schaltungsanordnung 404 erzeugt einen 2x-Datenstrom von Bits 0, 1, 2 . . . an der Datenanschlußfläche. Man beachte, daß der Ausgangsdatenstrom als ein 2x-Datenstrom betrachtet wird, weil derselbe Datenbits mit zweimal der Rate von je­ dem der Dateneingabeströme 410, 412 der Treiberschaltungs­ anordnung erzeugt.
Ein beispielhaftes Ausführungsbeispiel der Ausgabemisch­ schaltungsanordnung 408 ist in Fig. 5 offenbart. Die Schal­ tungsanordnung 408 umfaßt 2 D-Typ-Flip-Flops 500, 502, die jeweils Daten von einer der zwei Datenausbreitungsschaltun­ gen 402, 404 von Fig. 4 empfängt. Die Flip-Flops 500, 502 sind alternativ auf der positiven und negativen Kante eines Takts IOBCK getaktet. Das Ausgangssignal jedes Flip-Flop 500, 502 wird jeweils durch einen Tristate-Puffer 504, 506 empfangen. Jeder Puffer 504, 506 empfängt außerdem den Takt IOBCK und wird in Synchronisation mit seinem entsprechenden Flip-Flop 500, 502 betrieben. Wenn somit Daten aus dem Flip-Flop 500 getaktet werden, ermöglicht es der Puffer 504 den Daten, durch die Datenanschlußfläche DQ4 zu verlaufen und der Puffer 506 wird tristatemäßig betrieben. Gleichar­ tig dazu, wenn Daten aus dem Flip-Flop 502 getaktet werden, ermöglicht es der Puffer 506 den Daten, durch die Datenan­ schlußfläche DQ4 zu verlaufen, und der Puffer 504 wird tri­ statemäßig betrieben. Die beiden Flip-Flops 500, 502 und die Puffer 504, 506 liefern daher abwechselnd Daten zu der Datenanschlußfläche DQ4. Jedes entsprechende Flip-Flop und jeder entsprechende Puffer in Fig. 5 sind ein Beispiel ei­ nes tristatemäßig betreibbaren Weges, auf den in den An­ sprüchen Bezug genommen wird.
Es ist anzumerken, daß die Ausgabemischschaltungsanordnung 408 statt den Flip-Flops 500, 502 und den Puffern 504, 506 auch einen Multiplexer umfassen könnte. Die in Fig. 5 auf­ geführte Anordnung wird jedoch bevorzugt, weil die C → Q- Zeit minimiert ist. In der Tat ist es vorzuziehen, die C → Q-Zeit durch Integrieren der Funktionalität der Puffer 504, 506 in die Flip-Flops 500, 502 noch weiter zu minimieren.
Fig. 6 stellt ein zweites bevorzugtes Ausführungsbeispiel einer Treiberschaltungsanordnung 600 für eine Speicher­ steuerung 100 dar. Wie die in Fig. 4 dargestellte Treiber­ schaltungsanordnung 400 umfaßt die Treiberschaltungsanord­ nung 600 von Fig. 6 eine Datenanschlußfläche (DQ4), zwei Datenausbreitungsschaltungen 602, 604, eine Multiplexstufe 606 und eine Ausgabemischschaltungsanordnung 608. Die Trei­ berschaltungsanordnung 600 umfaßt jedoch zusätzlich eine Phasenverzögerungsschaltung 614 und einen ersten und einen zweiten Phasenverzögerungsmultiplexer 616, 618. Der Zweck der zusätzlichen Phasenverzögerungsschaltungsanordnung 614-618 ist es, das Erscheinen der Daten an der Datenanschluß­ fläche zu verzögern und dadurch eine "Schreibphasenverzöge­ rung" auszulösen, wie sie erforderlich sein kann, um ein System für einen maximalen Spielraum abzustimmen. Die Fä­ higkeit, einen Schreibvorgang unter Verwendung der Phasen­ verzögerungsschaltungsanordnung 614-618 zu verzögern, ver­ sieht die Treiberschaltungsanordnung 600 daher mit einem Abstimmungsmerkmal.
Der erste Phasenverzögerungsmultiplexer 616 empfängt sowohl den ersten als auch den zweiten Datenstrom 610, 612 und wählt ansprechend auf das data2xn1x-Signal entweder den er­ sten 610 oder den zweiten 612 Datenstrom für die Ausgabe zu der Phasenverzögerungsschaltung 614 aus. Der zweite Phasen­ verzögerungsmultiplexer 618 empfängt Daten, die von der er­ sten Datenausbreitungsschaltung 602 und der Phasenverzöge­ rungsschaltung 614 ausgegeben werden, und bestimmt, welche Daten ansprechend auf das Exklusiv-ODER 620 (XOR) des da­ ta2xn1x-Signals mit einem Schreibphasenverzögerungssignal (wpd-Signal = write phase delay signal) zu der Ausgabe­ mischschaltungsanordnung 608 ausgegeben werden. Man beach­ te, daß das data2xn1x-Signal in dem 2x-Modus aktiviert ist, und in dem 1x-Modus nicht aktiviert ist. Die Ausrichtung der wpd-Signalschalter ändert sich jedoch abhängig von dem Zustand des data2xn1x-Signals. In dem 1x-Modus ist das wpd- Signal für eine Schreibphasenverzögerung aktiviert, und für keine Schreibphasenverzögerung nicht aktiviert. In dem 2x- Modus ist das wpd-Signal für keine Schreibphasenverzögerung aktiviert, und für den Zweck des Auslösens einer Schreib­ phasenverzögerung nicht aktiviert.
Es ist anzumerken, daß in Fig. 6 der Multiplexstufenmulti­ plexer 606 nicht mehr durch das data2xn1x-Signal gesteuert wird, sondern statt dessen durch das UND 622 des data2xn1x- Signal und das wpd-Signal gesteuert wird.
Funktional arbeitet die Treiberschaltungsanordnung 600 von Fig. 6 wie folgt. Sowohl in dem 1x- und dem 2x-Modus ohne Schreibphasenverzögerung (wpd = 0 in 1x-Modus; wpd = 1 in 2x-Modus) breiten sich Daten durch die erste und die zweite Datenausbreitungsschaltung 602, 604 aus, wobei sich die Da­ ten zuerst durch die erste Datenausbreitungsschaltung 602 und die Ausgabemischschaltungsanordnung 608 ausbreiten. So­ wohl in dem 1x- und dem 2x-Modus mit einer Schreibphasen­ verzögerung (wpd = 1 in 1x-Modus; wpd = 0 in 2x-Modus) breiten sich Daten durch die zweite Datenausbreitungsschal­ tung 604 und die Phasenverzögerungsschaltung 614 aus, wobei sich Daten zuerst durch die zweite Datenausbreitungsschal­ tung 604 und die Ausgabemischschaltungsanordnung 608 aus­ breiten. Es ist anzumerken, daß mit einer Schreibphasenver­ zögerung entweder in dem 1x- oder dem 2x-Modus Daten sich nach wie vor in die Phasenverzögerungsschaltung 614 aus­ breiten können. Wenn jedoch keine Schreibphasenverzögerung angezeigt ist, breiten sich die Daten, die sich in die Pha­ senverzögerungsschaltung 614 ausbreiten, nicht durch den zweiten Phasenverzögerungsmultiplexer 618 und auf die Da­ tenanschlußfläche DQ4 aus.
Ein Durchschnittsfachmann auf diesem Gebiet wird leicht verstehen, wie jede der in Fig. 4 und 6 offenbarten Trei­ berschaltungsanordnungen 400, 600 extrapoliert werden kann, um eine Treiberschaltungsanordnung zu liefern, die in der Lage ist, entweder in einem 1x- oder einem Nx-Modus zu ar­ beiten. Bezüglich des Extrapolierens der Schaltungsanord­ nung von Fig. 6 für N < 2 wird man erkennen, daß nur eine einzige Phasenverzögerungsschaltung 614 benötigt wird, un­ abhängig von der Anzahl von Ausbreitungsschaltungen 602, 604, die der Treiberschaltungsanordnung 600 hinzugefügt sind.
Ein Durchschnittsfachmann auf diesem Gebiet wird ebenfalls erkennen, wie eine extrapolierte Treiberschaltungsanordnung (wobei N eine gerade Zahl 2 ist) verwendet werden kann, um einen Mx-Datenstrom zu unterstützen, bei dem 1 < M ≦ N.
Fig. 7 und 8 stellen ein verbessertes Ausführungsbeispiel 800 der Treiberschaltungsanordnung von Fig. 6 dar, bei der die Datenanschlußfläche DQ4 tristatemäßig betrieben werden kann, und bei der ein Übernahmesignal, daß an einer Über­ nahmesignalanschlußfläche DQS 18 erzeugt wird, mit dem Da­ tenausgang an der Datenanschluß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, sondern auch in Fig. 12-20 und 22-27 erscheinen. Die Taktschaltung 700 wird durch einen Kern­ takt, MCK, einer Speichersteuerung betrieben. Die Takt­ schaltung wiederum gibt die Takte IOBCK, MUX_CLK und IOSCK aus. Der Takt IOBCK ist lediglich eine gepufferte Version des MCK-Takts (gepuffert durch einen Puffer 702). Der Takt MUX_CLK wird durch einen Puffer 704 gepuffert, aber wird entweder mit der Rate des MCK-Takts erzeugt (d. h. wenn der Multiplexer 706 für 1x-Modusbetrieb konfiguriert ist), oder mit der Hälfte der Rate des MCK-Takts (d. h. als in Ergeb­ nis des Dividierers 708, durch den der MCK-Takt verläuft, wenn der Multiplexer 706 für 2x-Modusbetrieb konfiguriert ist). Der Takt MUX_CLK kann entweder an einen Multiplexer­ chip 302 oder ein Speichermodul 104 geliefert werden (siehe Fig. 2 und 3). Falls der Multiplexer 710 für 1x- Modusbetrieb konfiguriert ist, ist der Takt IOSCK equiva­ lent zu dem Takt MCK. Wenn jedoch der Multiplexer 710 für 2x-Modusbetrieb konfiguriert ist, stellt der Takt IOSCK ei­ ne Version von MCK dar, die um eine 1/4-Periode verzögert ist (d. h. als ein Ergebnis der 1/4- Periodenverzögerungsschaltungsanordnung 712). Der Takt IOSCK ermöglicht es der Treiberschaltungsanordnung von Fig. 8, geeignete 2x-Modusübernahmesignale an ein bevorzugtes Ausführungsbeispiel eines Zwischenchips 302 zu liefern (Fig. 3).
Die in Fig. 8 dargestellte Treiberschaltungsanordnung 800 hat viele Ähnlichkeiten mit der in Fig. 6 dargestellten Treiberschaltungsanordnung 600. Die Übereinstimmung der Komponenten zwischen Fig. 6 und 8 ist wie folgt. Die erste Datenausbreitungsschaltung 602 in Fig. 6 entspricht einem einfachen Drahtleitweg 802 in Fig. 8; die zweite Datenaus­ breitungsschaltung 604 entspricht einem ersten D-Typ-Flip- Flop 804, und die Phasenverzögerungsschaltung 614 ent­ spricht einem zweiten D-Typ-Flip-Flop 806. Die Übereinstim­ mung von anderen Komponenten von Fig. 6 ist in Fig. 8 durch die Verwendung von gleichen Bezugszeichen angezeigt.
Die in Fig. 8 dargestellte Ausgabemischschaltungsanordnung ist ähnlich zu derjenigen, die in Fig. 5 offenbart ist, und umfaßt zwei D-Typ-Flip-Flops 808, 810 und zwei Puffer 809, 811, die tristatemäßig betrieben werden.
Falls Daten alternativ durch einen Datenweg geschrieben und gelesen werden können (z. B. den Datenweg DQ4), kann die Fähigkeit, den Schreibweg der Anschlußfläche während Lese­ vorgängen tristatemäßig zu betreiben, wünschenswert sein. Somit umfaßt Fig. 8 einen Tristate-Puffer 812 zwischen der Ausgabemischschaltungsanordnung 808, 810 und der Datenan­ schlußfläche. Der Zustand des Puffers 812 wird während dem Beginn und der Beendigung von Schreibvorgängen unter Ver­ wendung von zwei Signalen geändert: trist_d und wpd. Der Zweck des wpd-Signals wurde bereits oben erörtert. Das trist_d-Signal wird an einen Multiplexer 814 gesendet, nachdem eine Verzögerung durch ein oder zwei D-Typ-Flip- Flops 816, 818 ausgelöst wurde. Diese Flip-Flops 816, 818 sind ähnlich aufgebaut und getaktet wie die Flip-Flops 804, 810 die in der Ausgabemischschaltungsanordnung und dem zweiten Datenausbreitungsweg gefunden werden. Der Zustand des Multiplexers 814 wird durch das wpd-Signal gesteuert, so daß das trist_d-Signal den Tristate-Puffer 812 in Syn­ chronisation mit der Anfangsdatenausgabe der Ausgabemisch­ schaltungsanordnung entweder von dem ersten Datenausbrei­ tungsweg 802 oder dem zweiten Datenausbreitungsweg 804 öff­ net (d. h. wenn wpd aktiviert ist (wpd = 1 in 1x-Modus; wpd = 0 in dem 2x-Modus), wobei die Datenausgabe an der An­ schlußfläche DQ4 durch die Hälfte der Periode des Takts IOBCK verzögert ist).
Die JEDEC-DDR-SDRAM-Spezifikation legt fest, daß Daten syn­ chron mit einem Übernahmesignal übertragen werden müssen. Als Folge ist die Treiberschaltungsanordnung von Fig. 8 mit einer Übernahmesignalanschlußfläche (DQS18) und einer Logik 824-834 zum Erzeugen eines Übernahmesignals versehen, die angemessen mit dem 1x- oder 2x-Daten übereingestimmt wird, die an den DQS18-Datenanschlußflächen vorgesehen sind.
Die Schaltungsanordnung 836, 838, 840, die ähnlich ist wie diejenige, die den Tristate-Puffer 812 aktiviert, der mit der Datenanschlußfläche DQS gekoppelt ist, kann verwendet werden, um den Tristate-Puffer 822 zu betreiben, damit der Übernahmesignalanschlußfläche DQS18 gekoppelt ist. Aufgrund von Zeitgebungsüberlegungen, die später in dieser Beschrei­ bung beschrieben werden, wird die Schaltungsanordnung je­ doch durch das wpd-Signal und durch ein trist_s-Signal ge­ steuert, das getrennt von dem aber ähnlich wie das trist_d- Signal funktioniert.
Ein Übernahmesignal wird durch Liefern eines Paars von Si­ gnalen, act_stb[0] und act_stb[1], an die Übernahmesignal­ treiberschaltungsanordnung 824-834 erzeugt. In dem 2x-Modus ohne Schreibphasenverzögerung wird für die Dauer eines Schreibzyklusses act_stb[0] tief gezwungen und act_stb[1] hoch gezwungen. Die act_stb[0 : 1]-Signale werden dann je­ weils durch ein erstes und zweites Paar von D-Typ-Flip- Flops 824/826, 832/834 getaktet. Die act_stb[0 : 1]-Signale werden durch das erste Paar von Flip-Flops 824, 826 paral­ lel getaktet, aber das act_stb[1]-Signal wird zuerst durch das zweite Paar von Flip-Flops 832, 834 getaktet. Durch In­ vertieren der act_stb[0 : 1]-Signale während einem 2x-Modus Schreibvorgang mit Schreibphasenverzögerung hält das erste Takten des Flip-Flops 834 den DQS18-Ausgang für einen zu­ sätzlichen halben Taktzyklus (d. h. eine Phase) niedrig, und verzögert das Erscheinen eines Übernahmesignals an dem DQS18-Ausgang für einen halben Takt.
Es ist anzumerken, daß bei der Datentreiberschaltungsanord­ nung nach jedem Flip-Flop 832, 834 ein tristatemäßig be­ treibbarer Puffer 833, 835 folgt.
Die Zustände von act_stb[0] und act_stb[1] sind daher wäh­ rend einem 2x-Schreibvorgang statisch. Dies ist jedoch bei dem 1x-Modus nicht der Fall.
In dem 1x-Modus schaltet jedes der act_stb[0 : 1]-Signale mit einer 1x-Rate hin und her, und eine Schreibphasenverzöge­ rung wird lediglich durch Verzögern des ersten Anstiegs von jedem der act_stb[0 : 1]-Signale implementiert.
Schaltungen, die sowohl verwendet werden können zum 1) Er­ zeugen der act_stb[0]- und act_stb[1]-Signale und 2) zum Implementieren zusätzlicher Übernahmesignalfunktionalität, die nachfolgend beschrieben wird, werden in dem nächsten Abschnitt dieser Beschreibung erörtert.
3. Fähigkeit, DIMMs zu schreiben, die aus x4-, x8- und x16- RAM-Elementen bestehen
Die JEDEC-DDR-SDRAM-Spezifikation spezifiziert, daß DDR- SDRAM als x4-, x8- oder x16-Elemente aufgebaut sein können. Schreibvorgänge auf x4-DDR-SDRAMs erfordern ein Übernahme­ signal für jeden Satz von vier Datensignalen (d. h. ein 4 : 1-Daten/Übernahmesignalverhältnis), während Schreibvor­ gänge auf x8- und x16-DDR-SDRAM ein Übernahmesignal für je­ den Satz von acht Datensignalen erfordern (d. h. ein 8 : 1- Daten/Übernahmesignalverhältnis).
In der Vergangenheit wurden DDR-Speichersteuerungen entwor­ fen, um mit einem Typ von DDR-Speichermodul zu kommunizie­ ren (d. h. einem Satz von homogenen Speichermodulen, die nur aus x4, x8 oder x16 DDR-SDRAM bestehen). Eine DDR- Speichersteuerung würde jedoch eine größere Flexibilität bieten, insbesondere, wenn ein Computerbenutzer seinen oder ihren Computerspeicher erweitern möchte, sofern die Spei­ chersteuerung in der Lage wäre, mit Speichermodulen zu kom­ munizieren, die aus RAM-Elementen mit nicht-homogener Da­ tenbreite bestehen. Um diesen Bedarf zu decken, ist die in Fig. 7-13 dargestellte Speichersteuerung in der Lage, auf Speichermodule zu schreiben, die aus RAM-Elementen mit nicht-homogener Datenbreite bestehen (z. B. DIMMs, die aus x4-DDR-SDRAM bestehen, DIMMs, die aus x8-DDR-SDRAM beste­ hen, und DIMMs, die aus x16-DDR-SDRAMs bestehen).
Fig. 9 stellt eine beispielhafte Umgebung dar, in der die Speichersteuerung 100 arbeiten kann. Es ist anzumerken, daß die Speichersteuerung 100 über gemeinsame Daten- und Über­ nahmesignalleitungen mit einer Mehrzahl von Sockeln 902-908 gekoppelt ist. Ein erster Sockel 902 hält ein DIMM 104a, das aus x4-DDR-SDRAM besteht; ein zweiter Sockel 904 hält ein DIMM 104b, das aus x8-DDR-SDRAM besteht, und ein drit­ ter der Sockel 906 hält ein DIMM 104b, das aus x16-DDR- SDRAM 910-914 besteht.
In Fig. 9 ist die Speichersteuerung 100 mit einer Mehrzahl von Übernahmesignalanschlußflächen dargestellt, von denen jede eine Mehrzahl von Datenanschlußflächen zugeordnet ist. Beispielhaft, und um einen nahtlosen Betrieb mit bestehen­ den DDR-DIMMs zu ermöglichen, ist jede Übernahmesignalan­ schlußfläche zugeordnet zu vier Datenanschlußflächen ge­ zeigt (z. B. Übernahmesignalanschlußfläche DQS0 entspricht den Datenanschlußflächen DQ0-DQ3 und die Übernahmesignalan­ schlußfläche DQS18 entspricht den Datenanschlußflächen DQ4-DQ7). Obwohl in Fig. 9 nur zwei Übernahmesignal- und acht Datenanschlußflächen dargestellt sind, kann die Speicher­ steuerung 100 beispielsweise 36 Übernahmesignalanschlußflä­ chen und 144 Datenanschlußflächen umfassen.
Wie nachfolgend näher beschrieben wird, erzeugt/empfängt die Speichersteuerung 100 an jeder ihrer Daten- und An­ schlußflächen Signale, wenn dieselbe mit DIMMs kommuni­ ziert, die aus x4-DDR-SDRAM bestehen. Folglich gibt es eine 4 : 1-Entsprechung zwischen Daten- und Übernahmesignalen, wenn die Speichersteuerung 100 mit DIMMs kommuniziert, die aus x4-DDR-SDRAMs bestehen. Wenn die Speichersteuerung 100 jedoch mit DIMMs kommuniziert, die aus x8- oder x16-DDR- SDRAMs bestehen, erzeugt/empfängt dieselbe Daten an jeder ihrer Datenanschlußflächen, aber erzeugt/empfängt Übernah­ mesignale nur an den niedrigeren Übernahmesignalanschluß­ flächen (d. h. Übernahmesignalanschlußflächen DQS0-DQS17). Folglich gibt es eine 8 : 1-Entsprechung zwischen Daten- und Übernahmesignalen, wenn die Speichersteuerung mit DIMMs kommuniziert, die aus x8- oder x16-DDR-SDRAMs bestehen.
Fig. 10 stellt ein beispielhaftes Abbilden von Übernahmesi­ gnalanschlußflächen auf Datenanschlußflächen für die Spei­ chersteuerung von Fig. 9 dar, abhängig davon, ob die Spei­ chersteuerung 100 Daten zu DIMMs treibt, die aus x4- oder x8/x16-DDR-SDRAMs bestehen. Es ist anzumerken, daß die obe­ ren Übernahmesignalanschlußflächen der Speichersteuerung während Schreibvorgängen auf DIMM, die aus x8- oder x16-DDR- SDRAM bestehen, niedrig gehalten werden.
Eine Bestimmung dessen, ob Daten auf ein DIMM geschrieben werden, das aus x4- oder x8/x16-DDR-SDRAM besteht, kann durch Beibehalten eines Speicherabbilds 1100 (Fig. 11) in der Speichersteuerung von Fig. 9 durchgeführt werden. Ein solches Abbild 1100 kann eine Tabelle von entsprechenden DIMM-Positionen 1104 (z. B. Sockeln) und DIMM-Typen umfas­ sen, wobei die Typen beispielsweise folgendes spezifizie­ ren: 1) Anzeigen von RAM-Element-Datenbreiten 1106 für eine Anzahl von DIMMs oder 2) Anzeigen von Da­ ten/Übernahmesignalverhältnissen für eine Anzahl von DIMMs. Die Anzeigen können beispielsweise einen Wert Ax für jedes Speichermodul x umfassen, das mit der Speichersteuerung 100 gekoppelt ist.
Die Werte Ax, die in dem Speicherabbild gespeichert sind, können verschieden dargestellt werden. Für die Zwecke des Kommunizierens mit den DIMMs 104, die aus x4-, x8- und x16- DDR-SDRAMs bestehen, kann jeder Wert Ax aus einem einzigen binären Bit bestehen, wobei die beiden Werte desselben die Daten/Übernahmesignalverhältnisse darstellen, die erforder­ lich sind, um x4- und x8/x16-DDR-SDRAMs zu lesen bzw. zu schreiben. Eine logische "1" kann beispielsweise ein 4 : 1- Daten/Übernahmesignalverhältnis darstellen, wie es für DIMMs erforderlich ist, die aus x4-DDR-SDRAMs bestehen, und eine logische "0" kann ein 8 : 1- Daten/Übernahmesignalverhältnis darstellen.
Alternativ könnte jeder Wert Ax ein binäres Äquivalent ei­ nes tatsächlichen Daten/Übernahmesignalverhältnisses sein. Ein 4 : 1-Daten/Übernahmesignalverhältnis könnte in dem Spei­ cherabbild als der Wert "0100" gespeichert werden, während ein 8 : 1-Daten/Übernahmesignal in dem Speicherabbild 1100 als der Wert "1000" gespeichert werden könnte. Unter der Voraussetzung der Daten/Übernahmesignalverhältnisse, die durch x4-, x8- und x16-DDR-SDRAM angenommen werden, ist die Speicherung von Vier-Bit-Werten in einem Speicherabbild 1100 unnötig. Die Anwendung der obigen Prinzipien auf Nicht-DDR-Umgebungen und/oder auf zukünftige DDR-Umgebungen könnte das Speichern von binären Äquivalenten von Da­ ten/Übernahmesignalverhältnissen wünschenswerter machen.
Jeder Wert Ax könnte ebenfalls die Datenbreite von RAM- Elementen 910-914, die auf einem DIMM 104c befestigt sind, sein (oder darstellen). Falls RAM-Elemente mit unterschied­ licher Datenbreite jedoch die gleichen Da­ ten/Übernahmesignalverhältnisse aufweisen, wie in dem Fall von x8- und x16-DDR-SDRAMs kann die Größe von Ax-Werten re­ duziert werden, falls jeder Ax lediglich das Da­ ten/Übernahmesignalverhältnis von RAM-Elementen darstellt, die auf einem DIMM befestigt sind.
Das Speicherabbild (Speicher-Map) 1100 kann beibehalten werden durch Auslösen desselben beim Urladen oder der Re­ konfiguration eines Computersystems 124. Bei einem bevor­ zugten Ausführungsbeispiel wird eine RAM-Element- Datenbreite von jedem Speichermodul gelesen, das mit der Speichersteuerung 100 gekoppelt ist, und jede RAM-Element- Datenbreite wird dann verwendet, um einen Wert zu erzeugen, der in dem Speicherabbild 1100 gespeichert wird. Alterna­ tiv, obwohl nicht bevorzugt, können die Datenbreiten, die von den Speichermodulen 104 (oder Darstellungen derselben) gewonnen werden, direkt in dem Speicherabbild 100 gespei­ chert werden. Falls die Speichermodule 104, die mit der Speichersteuerung 100 gekoppelt sind, DDR-Speichermodule sind, kann jedes Speichermodul eine DDR-SDRAM-Datenbreite in einem Seriell-Präsenzerfassungs-ROM 916 beibehalten, der auf dem Speichermodul positioniert ist. Falls die Speicher­ steuerung 100 eine Seriell-Präsenzerfassungssequenz in den Speichermodulen 104 ausführt, kann eine DDR-SDRAM- Datenbreite, die in einem ROM von jedem Speichermodul ge­ speichert ist, gelesen werden, in einen geeigneten Wert Ax umgewandelt werden und in dem Speicherabbild 1100 gespei­ chert werden.
Das Speicherabbild 1100 kann ebenfalls beibehalten werden, durch Versehen desselben mit einem Wert Ax für jedes Spei­ chermodul über eine Benutzerschnittstelle (z. B. das Bios- SETUP-Dienstprogramm eines Computersystems).
Während einem Schreibzyklus wird das Speicherabbild 1100 durch die gesamte oder einen Teil einer Speicheradresse adressiert, und ein adressierter Wert Ax wird von dem Spei­ cherabbild 1100 ausgegeben. Der ausgegebene Wert wird dann verwendet, um "fliegend" zu Bestimmen 1) wie viele Übernah­ mesignale durch die Speichersteuerung 100 erzeugt werden müssen, und 2) wo die Übernahmesignale erzeugt werden müs­ sen (d. h. an welchen Übernahmesignalanschlußflächen).
Während Schreibzyklen der Speichersteuerung 100 werden adressierte Werte Ax durch eine Übernahmesignaltreiber­ schaltungsanordnung empfangen, die zwei oder mehr Teilsätze von Übernahmesignaltreiberschaltungen umfaßt, wobei jede Übernahmesignaltreiberschaltung wie in Fig. 8 dargestellt konfiguriert sein kann. Die Teilsätze von Übernahmesignal­ treiberschaltungen sind so konfiguriert, daß zumindest ei­ ner der Teilsätze ansprechend auf nur einen Abschnitt der Werte Ax Übernahmesignale erzeugt. Falls beispielsweise je­ der Wert Ax aus einem einzigen binären Bit besteht, kann ein Teilsatz von Übernahmesignaltreiberschaltungen nur Übernahmesignale erzeugen, wenn Ax = 1 ist, wobei der ande­ re Teilsatz von Übernahmesignaltreiberschaltungen für beide Werte von Ax Übernahmesignale erzeugen kann. Mit Bezugnahme auf Fig. 10 werden Übernahmesignale immer an niedrigeren Übernahmesignalanschlußflächen erzeugt, aber Übernahmesi­ gnale werden nur an oberen Übernahmesignalanschlußflächen erzeugt, wenn das Speicherabbild eine logische "1" ausgibt (d. h. wenn Ax eine logische "1" ist). Auf diese Weise wer­ den an allen Übernahmesignalanschlußflächen Übernahmesigna­ le erzeugt, wenn ein adressierter Wert Ax ein 4 : 1- Übernahmesignalverhältnis anzeigt, und Übernahmesignale werden nur an der Hälfte der Übernahmesignalanschlußflächen erzeugt (d. h. einen Teilsatz von Übernahmesignalanschluß­ flächen, die aus den niedrigeren Übernahmesignalanschluß­ flächen bestehen), wenn Ax ein 8 : 1- Übernahmesignalverhältnis anzeigt.
Das Speicherabbild 1100 bildet vorzugsweise Teil eines grö­ ßeren Speicheradressrouters (MAR = memory address router) 1102. Der MAR 1102 kann andere Informationen bezüglich des Typs und des Aufbaus der Speichermodule 104 umfassen, die mit der Speichersteuerung 100 gekoppelt sind, zusätzlich zu einer Unterstützungsschaltungsanordnung. Wenn der MAR 1102 mit einer Speicheradresse versehen ist, wird auf das Spei­ cherabbild 1100 und andere Tabellen zugegriffen, um den DIMM-Sockel und die DIMM-Bank zu bestimmen, in der sich die Adresse befindet. Eine Zeilen- und Spaltenadresse in dem adressierten DIMM wird ebenfalls bestimmt. Gleichzeitig wird auf ein Daten/Übernahmesignalverhältnis zugegriffen, so daß die Übernahmesignalanschlußflächen der in Fig. 9 dargestellten Speichersteuerung 100 zum Schreiben oder Emp­ fangen von Daten von dem DIMM-Typ, der adressiert wird, ge­ eignet konfiguriert werden können.
Die Treiberschaltungsanordnung für die verschiedenen in Fig. 9 gezeigten Daten- und Übernahmesignalanschlußflächen kann wie in Fig. 8 gezeigt implementiert werden. Bei einer solchen Implementierung sind es die act_stb[0]- und act_stb[1]-Signale, die bestimmen, ob, wann und wie ein Si­ gnal an einer Übernahmesignalanschlußfläche erzeugt wird. Es wird daher eine Schaltungsanordnung zum Erzeugen von zwei Sätzen der act_stb[0]- und act_stb[1]-Signale benö­ tigt. Eine Schaltungsanordnung 1200 zum Erzeugen des Satzes von act_stb[0]- und act_stb[1]-Signalen, die benötigt wer­ den, um die niedrigeren Übernahmesignalanschlußflächen (d. h. Anschlußflächen DQS0-DQS17) der Speichersteuerung von Fig. 9 zu konfigurieren, ist in Fig. 12 dargestellt, und eine Schaltungsanordnung 1300 zum Erzeugen der act_stb[0]- und act_stb[1]-Signale, die benötigt werden, um die oberen Übernahmesignalanschlußflächen (d. h. Anschlußflächen DQS18-DQS35) der Speichersteuerung von Fig. 9 zu konfigu­ rieren, ist in Fig. 13 dargestellt. In Fig. 12 wurden die act_stb[0]- und act_stb[1]-Signale von Fig. 8 jeweils umbe­ nannt in act_stb_low[0] und act_stb_low[1]. Gleichartig da­ zu wurden in Fig. 13 die act_stb[0]- und act_stb[1]-Signale von Fig. 8 jeweils in act_stb_up[0] und act_stb_up[1] umbe­ nannt.
Es ist anzumerken, daß die in Fig. 12 und 13 dargestellte Schaltungsanordnung 1200, 1300 in der Lage ist, in mehreren Modi zu arbeiten, einschließlich den 1x- oder 2x-Modus, und Modi mit oder ohne Schreibphasenverzögerung. Zusätzlich können x4- und x8-Schreibmodi, entweder mit oder ohne eine lange Schreibpräambel erreicht werden. Falls eine Speicher­ steuerung 100 mit weniger Funktionalität erwünscht wird, wird ein Durchschnittsfachmann auf diesem Gebiet leicht verstehen, wie in den Schaltungen von Fig. 12 und 13 Gatter zu eliminieren sind, um dadurch Funktionalität zu elimenie­ ren, die für eine bestimmte Anwendung nicht benötigt wird.
Der Betrieb der Schaltungsanordnung von Fig. 12 in dem 1x- Modus wird nun beschrieben. In dem 1x-Modus wird das da­ ta2xn1x-Signal in einen niedrigen Zustand getrieben, und die Aktivierung des write_m_active-Signal beginnt die Er­ zeugung der act_stb_low[0 : 1]-Signale. Wenn das data2xn1x- Signal in einen niedrigen Zustand getrieben wird, geben die Multiplexer 1202, 1204, 1226, die dadurch gesteuert werden, die Daten aus, die an deren "0"-Eingängen empfangen wird. Wenn das write_m_active-Signal aktiviert ist, beginnt act_stb_low[0] mit einer Frequenz des Takts MCK hin- und herzuschalten, was ein Signal mit der Frequenz MCK/2 er­ gibt, aufgrund der Anordnung des Gatters 1206, des Multi­ plexers 1202, des D-Typ-Flip-Flop 1208 und des Rückkopp­ lungswegs 1210. Gleichartig dazu bewirkt die Aktivierung des write_m_active-Signals, daß act_stb_low[1], hin- und herschaltet. Aus Zeitgebungsüberlegungen wird ein Gatter 1212 in den act_stb_low[1]-Weg eingefügt. Das Gatter 1212 empfängt das Rückkopplungssignal 1210 und das wri­ te_m_active-Signal, und wenn das write_m_active-Signal hoch ist, gibt es das Rückkopplungssignal 1210 und eine Version desselben, die durch ein Flip-Flop 1214 verzögert wird, zu den Eingängen eines zusätzlichen Multiplexers 1216 aus. Der Multiplexer 1216 wird durch das wpd-Signal gesteuert, um das Rückkopplungssignal 1210 durch den act_stb_low[1]- Ausgang mit oder ohne Verzögerung auszubreiten. In dem Fall von keiner Schreibphasenverzögerung breitet sich act_stb_low[1] zunächst zu der Übernahmesignalanschlußflä­ che DQS18 aus (siehe Fig. 8). Andernfalls breitet sich act_stb_low[0] zuerst durch die Übernahmesignalanschlußflä­ che aus. Somit bewirkt die Aktivierung des wpd-Signals, daß eine Halbzyklus-Schreibphasenverzögerung ausgelöst wird.
Die Schaltungsanordnung von Fig. 12 arbeitet in dem 2x- Modus wie folgt. Das data2xn1x-Signal wird in einen hohen Zustand getrieben, und die Multiplexer 1202, 1204, 1226, die dadurch gesteuert werden, geben die Daten aus, die an ihren "1"-Eingängen empfangen werden. Durch das Flip-Flop 1218 und das Gatter 1220 wird act_stb_low[0] aktiviert, wenn write_m_active_2x hoch ist und wpd niedrig ist (d. h. wenn es einen 2x-Schreibvorgang mit einer Schreibphasenver­ zögerung gibt). Durch ein Gatter 1222 und ein Flip-Flop 1224 wird act_stb_low[1] aktiviert, wenn write_m_active_2x und wpd beide hoch sind (d. h. wenn es einen 2x- Schreibvorgang ohne Schreibphasenverzögerung gibt).
Es ist anzumerken, daß die Schaltungsanordnung von Fig. 12 nicht in der Lage ist, eine lange Schreibpräambel zu errei­ chen. Statt dessen kann eine lange Schreibpräambel an einer niedrigeren Übernahmesignalanschlußfläche erreicht werden, entweder in dem 1x- oder 2x-Modus, durch Aktivieren des trist_s-Signals einen Zyklus früher (siehe Fig. 8).
Zusammenfassend erzeugt die Schaltungsanordnung von Fig. 12 Ausgangssignale, die im 1x-Modus hin- und herschaltet, und erzeugt Ausgangssignale, die statische Gegenteile im 2x- Modus sind. Die hin- und herschaltenden Ausgangssignale werden durch die Schaltungsanordnung von Fig. 8 verwendet, um ein 1x-Übernahmesignal zu erzeugen, und die statischen Ausgangssignale werden durch die Schaltungsanordnung von Fig. 8 verwendet, um ein 2x-Übernahmesignal zu erzeugen.
Der Betrieb von Fig. 13 im 1x-Modus wird nachfolgend be­ schrieben. In dem 1x-Modus wird das data2xn1x-Signal in ei­ nen niedrigen Zustand getrieben, und die Aktivierung des write_m_active-Signals ermöglicht die Erzeugung von act_stb_up[0 : 1]-Signalen. Act_stb_up[0 : 1]-Signale werden jedoch nur erzeugt, wenn ein Schreibvorgang auf ein DIMM durchgeführt wird, das aus x4-DDR-SDRAM besteht. Wenn auf DIMMs geschrieben wird, die aus x8- oder x16-DDR-SDRAMs be­ stehen, werden die act_stb_up[0 : 1]-Signale in einen niedri­ gen Zustand getrieben, so daß an den oberen Übernahmesi­ gnalanschlußflächen der Speichersteuerung von Fig. 9 keine Übernahmesignale erzeugt werden. Somit muß Fig. 13 bezüg­ lich einem x4-Schreibvorgang in dem 1x-Modus und einem x8/x16-Schreibvorgang in dem 1x-Modus analysiert werden.
Während einem x4-Schreibvorgang in dem 1x-Modus wird das data2xn1x-Signal in einen niedrigen Zustand getrieben, und der Multiplexer 1302, der dadurch gesteuert wird, gibt die Daten aus, die an dem "0"-Eingang desselben empfangen wer­ den. Wenn das write_m_active-Signal aktiviert ist, ist die Erzeugung der act_stb_up[0 : 1]-Signale möglich, aber nur falls das zweite Eingangssignal zu dem UND-Gatter 1304 ak­ tiviert ist. Während einem 1x-Schreibvorgang jeder Art wird das reset_L-Signal hochgehalten. Somit wird das zweite Ein­ gangssignal zu dem UND-Gatter 1304 nur aktiviert, wenn das Ausgangssignal des Multiplexers 1306 hoch ist. Das Aus­ gangssignal des Multiplexers 1306 kann nur aktiviert wer­ den, wenn das Signal write_x4 aktiviert ist (da der Multi­ plexer 1306 durch das Ausgangssignal des Multiplexers 1334 gesteuert wird). Das write_x4-Signal wird daher verwendet, um anzuzeigen, ob ein Schreibvorgang auf ein DIMM durchge­ führt wird, das aus x4- oder x8/x16-DDR-SDRAM besteht, und somit spricht das write_x4-Signal auf Werte Ax an, die von dem Speicherabbild 1100 ausgegeben werden. Falls ein Schreibvorgang auf ein DIMM durchgeführt wird, das aus x4- DDR-SDRAM besteht, ist das write_x4-Signal aktiviert, und es für die Schaltungsanordnung von Fig. 13 möglich, act_stb_up[0 : 1]-Signale zu erzeugen. Wenn andererseits ein Schreibvorgang auf DIMMs durchgeführt wird, die aus x8- oder x16-DDR-SDRAMs bestehen, ist das write_x4-Signal deak­ tiviert, und die Ausgangssignale act_stb_up[0 : 1] werden niedrig gehalten.
Der Betrieb der Schaltungsanordnung von Fig. 13 während ei­ nem x4-Schreibvorgang in dem 1x-Modus schreitet wie folgt fort. Mit dem data2xn1x-Signal niedrig, write_m_active hoch und write_x4 hoch, bleiben die act_stb[0 : 1]-Signale nied­ rig, bis das Schreibsignal aktiviert ist. Nach der Aktivie­ rung 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 umfaßt, um dadurch das Aus­ gangssignal act_stb_up[0] zu aktivieren. Das Schreibsignal breitet sich aus durch den Multiplexer 1320 und das UND- Gatter 1322 aus, um dadurch das Ausgangssignal act_stb_up[1] zu aktivieren. Danach, und solange die Ein­ gangssignale in die Schaltung 1300 den Zustand nicht ändern (außer Takt MCK) schalten die act_stb_up[0 : 1]-Signale auf­ grund des Vorliegens des Rückkopplungswegs 1324 hin und her.
Ein x4-Schreibvorgang in dem 1x-Modus kann durch einen hal­ ben MCK-Zyklus verzögert werden, durch Aktivieren des wpd- Signals. Die Aktivierung des wpd-Signals bewirkt eine halbe Zyklusübernahmesignalverzögerung indem bewirkt wird, daß das Eingangssignal 1326 in den Multiplexer 1320 durch das D-Typ-Flip-Flop 1328 verzögert wird.
Ein x4-Schreibvorgang in dem 1x-Modus kann ebenfalls einer langen Schreibpräambel unterworfen werden. Eine Schreibprä­ ambel ist eine Zeitperiode vor der Erzeugung eines Übernah­ mesignals, während der eine Übernahmesignalanschlußfläche in einem niedrigen Zustand gehalten wird. Eine solche Prä­ ambel kann durch Aktivieren des long_wpre-Signals verlän­ gert werden, wodurch bewirkt wird, daß das write- und das write_x4-Signal jeweils durch ein Paar von D-Typ-Flip-Flops 1330, 1332 verzögert werden. Anders als die Aktivierung des wpd-Signals, das nur eine erste Anstiegsflanke des act_stb_up[1]-Ausgangssignals verzögert, verzögert die Ak­ tivierung des long_wpre-Signals die ersten Anstiegskanten von beiden act_stb_up[0 : 1]-Signalen.
Wie es bereits früher in dieser Beschreibung erwähnt wurde, führt ein x8/x16-Schreibvorgang in dem 1x-Modus dazu, daß die act_stb_up[0 : 1]-Signale niedrig gehalten werden, da obere Anschlußflächen für einen x8/x16-Schreibvorgang nicht notwendig sind. Die oberen Anschlußflächen werden durch Niedrighalten des write_x4-Signals niedrig gehalten.
Die Schaltungsanordnung von Fig. 13 arbeitet in dem 2x- Modus wie folgt. Das data2xn1x-Signal wird in einen hohen Zustand getrieben, und die Gatter 1318 und 1322 werden de­ aktiviert. Als Folge werden act_stb_up[0] und act_stb_up[1] in dem 2x-Modus immer niedrig gehalten. Der Grund dafür, daß die act_stb_up[0 : 1]-Signale in dem 2x-Modus nicht er­ zeugt werden, liegt darin, daß eine Auswahl getroffen wur­ de, Zwischenchips 302 (Fig. 3) einfacher zu machen, indem immer auf dieselben geschrieben wird, als ob sie x8-DIMMs wären. Somit werden weniger Signale zu den Zwischenchips 302 geleitet, und wenn nötig, erzeugen die Zwischenchips 302 die zusätzlichen Übernahmesignale, die sie benötigen, um auf x4-DIMMs zu schreiben.
4. Schreibzeitgebungen
Fig. 14-17 stellen Schreibzeitgebungen der in Fig. 7, 8, 12 und 13 dargestellten Speichersteuerungstreiberschaltungsan­ ordnung dar.
In Fig. 14 wird DQ4_PAD_ON in dem gleichen Zyklus akti­ viert, in dem DQ4 getrieben wird. Wie es in Fig. 8 gezeigt ist, ist DQ4_PAD_ON das Signal, das den Tristate-Puffer ak­ tiviert, der mit der DQ4-Anschlußfläche gekoppelt ist. Gleichartig dazu ist DQS18_PAD_ON das Signal, das den Tri­ state-Puffer aktiviert, der mit der DQS18-Anschlußfläche gekoppelt ist. W1, Wbl-1 und Wbl stellen aufeinanderfolgen­ de Bits eines Datenworts dar, das an der DQ4-Anschlußfläche erscheint. Fig. 14 stellt den Fall dar, bei dem long_wpre = 0 ist, und spezifiziert somit eine Schreibpräambel 1400 von einem MCK-Taktzyklus. Fig. 14 nimmt außerdem an, daß wpd = 0 ist. Falls wpd aktiviert wäre, dann würden sich die DQS18, DQS18_PAD_ON, DQ4, und DQ4_PAD_ON-Signale alle zu dem rechten halben MCK-Zyklus verschieben (d. h. eine Pha­ se). Die Signale, die durch Pfeile mit trk_pad_owd verbun­ den sind, werden alle durch die Aktivierung von trk_pad_owd gesteuert, und weisen daher eine feste Zeitgebung bezüglich zueinander auf. Das trk_pad_owd-Signal ist ein Signal, das bewirkt, daß eine Speichersteuerungsanschlußfläche, "Schreibdaten ausgibt". Das Signal wird in dem Kern der Speichersteuerung 100 erzeugt und zu einer Anschlußflächen­ steuerzustandsmaschine 2900 (Fig. 29) geliefert, zum Zweck des Erzeugens der Signale trist_d und trist_s (Fig. 8).
Fig. 14 bezieht sich auf die Schreibzeitgebungen einer niedrigeren Übernahmesignalanschlußfläche (d. h. eine Über­ nahmesignalanschlußfläche, die konfiguriert ist, um auf DIMMs zu schreiben, die aus x4- und x8/x16-DDR-SDRAM beste­ hen). Eine obere Übernahmesignalanschlußfläche (d. h. eine Übernahmesignalanschlußfläche, die nur konfiguriert ist, um auf DIMMs zu schreiben, die aus x4-DDR-SDRAMs bestehen) würde die DQS18-Leitung tief halten, wenn Schreibvorgänge auf DIMMs auftreten, die aus x8/x16-DDR-SDRAMs bestehen.
Fig. 15 ist ähnlich wie Fig. 14, aber mit einer langen Schreibpräambel (d. h. long_wpre = 1). Somit ist eine Schreibpräambel 1500 von zwei MCK-Taktzyklen angezeigt.
In Fig. 16 aktiviert DQ4_PAD_ON auf dem gleichen Zyklus, auf dem DQ4 getrieben wird. w1, w2, . . . w8 stellen nachfol­ gende Bits eines Datenworts dar, das an der DQ4- Anschlußfläche erscheint. Fig. 16 stellt den Fall dar, bei dem long_wpre = 0 ist, und spezifiziert somit eine Schreib­ präambel 1600 von 0,75 MCK-Taktzyklen. Eine 0,75-MCK- Zykluspostambel ist ebenfalls vorgesehen. Fig. 16 nimmt ebenfalls an, daß wpd = 0 ist. Falls wpd aktiviert wäre, dann würden die DQS18, DQS18_PAD_ON, DQ4, und DQ4_PAD_ON- Signale sich alle zu den rechten halben MCK-Zyklus ver­ schieben (d. h. eine Phase). Die Signale, die durch Pfeile mit trk_pad_owd verbunden sind, werden alle durch die Akti­ vierung von trk_pad_owd gesteuert, und weisen daher eine feste Zeitgebung bezüglich zueinander auf. Fig. 16 bezieht sich auf Schreibzeitgebungen einer niedrigeren Übernahmesi­ gnalanschlußfläche. Eine obere Übernahmesignalanschlußflä­ che würde die DQWS18-Leitung tief halten, wenn Schreibvor­ gänge auf DIMMs auftreten, die aus x8- oder x16-DDR-SDRAMs bestehen.
5. Fähigkeit, in einem 1x- oder einem 2x-Modus zu lesen
Fig. 17 ist ähnlich wie Fig. 16 aber mit einer langen Schreibpräambel (d. h. long_wpre = 1). Somit ist eine Schreibpräambel 1700 von 1,75 MCK-Taktzyklen angezeigt.
Fig. 18 stellt ein bevorzugtes Ausführungsbeispiel einer Empfängerschaltungsanordnung 1800 für eine Doppeldatenra­ ten-Speichersteuerung 100 (Fig. 9) dar. Die Empfängerschal­ tungsanordnung 1800 umfaßt eine Datenanschlußfläche (DQ4), vier transparente Dateneingabelatches 1802, 1804, 1806, 1808, Übernahmesignalverteilungsschaltungsanordnung 1810, 1812 (zum Verteilen von Übernahmesignalen zu den Datenein­ gabelatches 1802-1808 durch einen Zählwert von Übernahmesi­ gnalflanken, wodurch eine Einrichtung zum Lesen von Daten von einem DIMM, das aus x4-, x8- oder x16-DDR-SDRAMs be­ steht, geliefert wird), ein Paar von 4 : 1- Entzerrmultiplexern 1814, 1816 (d. h. Entzerrmultiplexstu­ fe) und Multiplexerauswahllogik 1818-1846 zum Versehen der Entzerrungsmultiplexer 1814, 1816 mit einem geeigneten Satz von Steuersignalen (abhängig davon, ob die Empfängerschal­ tungsanordnung 1800 für einen Lesevorgang im 1x-Modus oder Mx(z. B. 2x)-Modus) konfiguriert ist. Es ist anzumerken, daß die in Fig. 18 offenbarte Anschlußfläche vorzugsweise gleich ist wie die in Fig. 8 offenbarte Datenanschlußflä­ che, und somit eine bidirektionale Datenanschlußfläche ist.
Die vier Dateneingabelatches 1802-1808 empfangen jeweils den gesamten Datenstrom, der an der Datenanschlußfläche DQ4 erscheint. Die Dateneingabelatches werden jedoch einer nach dem anderen transparent gemacht, sequentiell und anspre­ chend auf ein Übernahmesignal, das an einer Übernahmesi­ gnalanschlußfläche DQS18 empfangen wird (Fig. 19), so daß 1) ein erstes Datenbit in das Latch 1802 zwischengespei­ chert wird, ansprechend auf eine erste ankommende Übernah­ mesignalflanke, die an der DQS18- Übernahmesignalanschlußfläche empfangen wird, 2) ein zwei­ tes Datenbit in das Latch 1804 zwischengespeichert wird, ansprechend auf eine zweite ankommende Übernahmesignalflan­ ke, die an der DQS18-Anschlußfläche empfangen wird, 3) ein drittes Datenbit in das Latch 1806 zwischengespeichert wird, ansprechend auf eine dritte ankommende Übernahmesi­ gnalflanke, die an der DQS18-Anschlußfläche empfangen wird, 4) ein viertes Datenbit in das Latch 1808 zwischengespei­ chert wird, ansprechend auf eine vierte ankommende Übernah­ mesignalflanke, die an der DQS18-Anschlußfläche empfangen wird, und dann 5) neue Datenbits sequentiell erneut in die Latches 1802-1808 zwischengespeichert werden, beginnend mit Latch 1802, falls zusätzliche Datenbits an der DQ4- Anschlußfläche empfangen werden müssen.
Die Erzeugung der Signale S1-S4 (oder wie in Fig. 18 er­ sichtlich ist, die Signale S1_alt-S4_alt), werden in einem späteren Abschnitt dieser Beschreibung beschrieben. Für die Zwecke dieses Abschnitts der Beschreibung ist es nun not­ wendig, zu verstehen, daß ein Satz von Steuerimpulsen, wie z. B. die Signale S1-S4 zum Zwischenspeichern von Daten in die jeweiligen Dateneingabelatches 1802-1808 vorgesehen sind. Unabhängig davon, ob die Empfängerschaltungsanordnung 1800 konfiguriert ist, um in einem 1x- oder 2x-Modus zu ar­ beiten, und unabhängig davon, ob die Daten von einem DIMM empfangen werden, das aus x4-DDR-SDRAMs, x8/x16-DDR-SDRAMs besteht, oder von einem Zwischenchip 302, werden die Steu­ ersignale S1-S4 sequentiell aktiviert, ansprechend auf an­ kommende Übernahmesignalflanken, die an einer Übernahmesi­ gnalanschlußfläche empfangen werden. Die S1-S4-Taktimpulse werden daher mit einer 1x- oder 2x-DDR-Taktrate erzeugt, abhängig von der Rate, mit der Übernahmesignalflanken an einer entsprechenden Übernahmesignalanschlußfläche empfan­ gen werden.
Wie es in Fig. 18 dargestellt ist, ist jedes der transpa­ renten Dateneingabelatches 1802-1808 mit Eingängen eines ersten und eines zweiten 4 : 1-Entzerrmultiplexers 1814, 1816 gekoppelt. In dem 1x-Modus ist der Ausgang des zweiten Ent­ zerrmultiplexers 1816 jedoch bedeutungslos und wird igno­ riert. Wie aus der Figur ersichtlich ist, hält die Deakti­ vierung des data2xn1x-Signals die Steuereingänge des zwei­ ten Entzerrmultiplexers 1816 während einem 1x- Moduslesevorgang konstant.
Bei einem 1x-Modus-Bündel von vier Lesevorgängen werden vier Datenbits jeweils in die Dateneingabelatches 1802-1808 getaktet. Aufgrund der Multiplexerauswahllogik, die vier D- Typ-Flip-Flops 1824, 1830, 1844, 1846, drei Gatter 1818, 1820, 1826 und zwei Multiplexer 1822, 1828 umfaßt, werden die Dateneingänge des ersten Entzerrmultiplexers 1814 se­ quentiell mit dem Ausgang des Multiplexers in der Reihen­ folge 0, 2, 1, 3 gekoppelt. Der erste Entzerrmultiplexer 1814 gibt daher Datenbits sequentiell aus, in der Reihen­ folge, in der die an der DQ4-Datenanschlußfläche empfangen werden. Jedes Ausgangssignal des ersten Entzerrmultiplexers 1814 wird in den Kerntaktbereich der Speichersteuerung von Fig. 9 getaktet, auf einer Anstiegsflanke des IOBCK-Takt der Steuerung (d. h. getaktet durch das D-Typ-Flip-Flop 1848 mit einer 1x-DDR-Rate).
Die Steuersignale, die durch die Multiplexerauswahllogik 1824, 1830, 1844, 1846, 1818, 1820, 1826, 1822, 1828 in dem 1x-Modus erzeugt werden, werden in den Ansprüchen manchmal als ein erster Satz von Steuersignalen bezeichnet.
Es ist anzumerken, daß die Dateneingabelatches 1802-1808 in dem Zeitbereich eines Übernahmesignals arbeiten, das an ei­ ner Übernahmesignalanschlußfläche empfangen wird, die der Datenanschlußfläche DQ4 entspricht (z. B. der Übernahmesi­ gnalanschlußfläche DQS18). Die Entzerrmultiplexer 1814, 1816 arbeiten jedoch in dem Taktbereich der Speichersteue­ rung 100. Aufgrund des Zwischenspeicherns von Daten in vier Dateneingabelatches 1802-1808 ist die Speichersteuerung 100 (und insbesondere die Multiplexerauswahllogik 1818-1846 zum Steuern der Entzerrmultiplexer 1814, 1816) mit eine 49571 00070 552 001000280000000200012000285914946000040 0002010212642 00004 49452m Fen­ ster versehen, das gleich ist wie 1,5 Perioden eines ankom­ menden Übernahmesignals, um Daten aus einem Dateneingabe­ latch zu takten und in den Kern der Speichersteuerung 100 zu takten. Ein Durchschnittsfachmann auf diesem Gebiet wird leicht verstehen, daß die Anzahl von Dateneingabelatches 1802-1808, die in der Empfängerschaltungsanordnung von Fig. 18 vorgesehen sind, auf P Latches extrapoliert werden kön­ nen, wobei P ≧ 2 ist, um dadurch eine kürzere oder längere Periode zum Übertragen von Daten von dem Übernahmesignalbe­ reich eines ankommenden Übernahmesignals zu dem Taktbereich der Speichersteuerung 100 zu liefern. Es ist außerdem of­ fensichtlich, daß statt der transparenten Dateneingabelat­ ches 1802-1808 andere Arten von Speicherelementen verwendet werden können (z. B. D-Typ-Flip-Flops).
Ein 1x-Modus-Bündel von acht Lesevorgängen arbeitet ähnlich wie ein 1x-Modus-Bündel von vier Lesevorgängen, wobei zwei Sätze von vier Datenbits in den Dateneingabelatches 1802-1808 zwischengespeichert werden. Die Dateneingänge des er­ sten Entzerrmultiplexers 1814 sind daher in der Reihenfolge 0, 2, 1, 3, 0, 2, 1, 3 mit dem Ausgang desselben gekoppelt.
In dem 2x-Modus werden alle Lesevorgänge vorzugsweise als Bündel von acht ausgeführt. Die Dateneingabelatches 1802-1808 werden daher transparent gemacht, ähnlich wie ein 1x- Modus-Bündel von acht Lesevorgängen, aber mit zweimal der Rate. In dem 2x-Modus sind jedoch beide Entzerrmultiplexer 1814, 1816 aktiv, wobei die Eingänge derselben in der fol­ genden Reihenfolge aktiv sind:
Eingang 0, Multiplexer 1814
Eingang 0, Multiplexer 1816
Eingang 1, Multiplexer 1814
Eingang 2, Multiplexer 1816
Es ist anzumerken, daß die Steuersignale für beide Multi­ plexer 1814, 1816 den Zustand in Synchronisation mit dem Speichersteuerungstakt IOBCK ändern, aber daß die Steuersi­ gnale des Multiplexers 1816 den Zustand um einen halben IOBCK-Taktzyklus phasenverschoben mit den Steuersignalen für den Multiplexer 1814 ändern.
In dem 2x-Modus umfaßt die Multiplexerauswahllogik, die die beiden Entzerrmultiplexer 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. Die Steu­ ersignale, die durch die Multiplexerauswahllogik 1824, 1830, 1836, 1842, 1844, 1832, 1834, 1838, 1840, 1822, 1828 in dem 2x-Modus erzeugt werden, werden in den Ansprüchen manchmal als ein zweiter Satz von Steuersignalen bezeich­ net. Es ist anzumerken, daß unabhängig davon, ob Datenbits durch die Schaltungsanordnung 1800 von Fig. 18 in dem 1x- oder 2x-Modus empfangen werden, jedes der Steuersignale, die durch die Multiplexerauswahllogik 1818-1846 erzeugt werden, mit einer 1x-Rate erzeugt werden kann, obwohl die Entzerrmultiplexer 1814, 1816 zusammen effektiv Daten mit einer 2x-Rate erzeugen.
Aufgrund der beiden abwechselnd getakteten D-Typ-Flip-Flops 1850, 1852, die mit dem Ausgang des zweiten Entzerrmulti­ plexers 1816 gekoppelt sind, werden gerade und ungerade 2x- Datenbits zu dem Kern der Speichersteuerung 100 parallel ausgegeben. Diese Tatsache ist lediglich eine Entwurfsaus­ wahl und wird aus Gründen der Vollständigkeit der Beschrei­ bung des bevorzugten Ausführungsbeispiels geliefert.
Die Empfängerschaltungsanordnung 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 ½ oder 1 Zyklus des Takts IOBCK ausgibt (wie es durch ein Paar von in Kaskaden angeordneten D-Typ-Flip-Flops 1858, 1860 und den Zustand des Lesephasenverzögerungs- Signals (rpd-Signal) bestimmt ist). Der Zweck des UND- Gatters 1854 und seiner zugeordneten Logik 1856-1860 ist es, die stromabwärtige Empfängerschaltungsanordnung 1802-1808, 1814, 1816, 1848-1852 von Rauschen abzuschirmen, das Vorliegen könnte, wenn der Bus, der mit der Datenanschluß­ fläche DQ4 gekoppelt ist, im Ruhezustand ist und tristate­ mäßig betrieben wird.
6. Tristate-Rauschunempfindlichkeit bei Lesevorgängen
Während einem Speicherlesezyklus gibt es die Notwendigkeit, eine Schwankung bei der Steuerung-Speicher-Steuerung- Schleifenverzögerung (d. h. Leseschleifenverzögerung) zu erklären. In Fig. 21 ist beispielsweise eine Mehrzahl von Speichermodulen 104 über gemeinsame Daten-(DQ) und Übernah­ mesignal-(DQS)Busse mit einer Speichersteuerung 100 verbun­ den. Die Mehrzahl der Speichermodule 104 ist nicht nur mit den Daten- und Übernahmesignalbussen verbunden, sondern je­ des der Speichermodule 104 kann Zeitgebungsschwankungen in­ nerhalb erlaubter Bereiche zeigen (z. B. innerhalb der Be­ reiche, die in der JEDEC-DDR-SDRAM-Spezifikation vorgesehen sind). Ferner können Kopien eines Taktsignales, die zu je­ der der Mehrzahl von Speichermodulen 104 verteilt sind, be­ züglich zueinander versetzt werden.
Als eine Folge der obigen Unregelmäßigkeiten können Lesean­ forderungen, die zu unterschiedlichen Speichermodulen (mit ihren verschiedenen Zeitgebungscharakteristika und versetz­ ten Takten) gesendet werden, verschieden lang benötigen, um zu der Steuerung zurückzukehren, und es gibt eine Schwan­ kung bei der Leseschleifenverzögerung, die erklärt werden muß, wenn bestimmt wird, wann der Empfang von Daten und Übernahmesignalen bei einer Speichersteuerung 100 aktiviert und deaktiviert wird. Eine solche Verzögerung kann nur er­ klärt werden, indem sichergestellt wird, daß eine Speicher­ steuerung 100 Daten und Übernahmesignale ansprechend auf eine kürzestmögliche Schleifenverzögerung (d. h. der Fall eines frühen Empfangs) und eine längstmögliche Schleifen­ verzögerung (d. h. der Fall eines späten Empfangs) angemes­ sen empfangen wird.
Die Daten- und Übernahmesignalbusse für die Speichermodule 104 unter der JEDEC-DDR-SDRAM-Spezifikation haben eine be­ merkenswerte Charakteristik. Die Bezugsspannung für jede Busleitung ist gleich wie die Endspannung der Busleitung. Was dies bedeutet ist, daß als Folge des Rauschens die Übernahmesignalanschlußflächen einer Speichersteuerung 100 fehlerhaften "0" zu "1" und "1" zu "0"-Übergängen unterwor­ fen sind, wenn deren entsprechende Busleitungen tristatemä­ ßig betrieben werden. Falls dieselben nicht erklärt werden, können diese Übergänge fälschlicherweise als aktive Über­ nahmesignalflanken interpretiert werden, wodurch es zu ei­ ner potentiellen Datenverfälschung kommen kann.
Die JEDEC-DDR-SDRAM-Spezifikation versucht, dieses Problem durch Bereitstellen einer "Lesepräambel" und einer "Lesepo­ stambel" zu bewältigen. Die Lesepräambel liefert eine Zeit­ periode vor der ersten ankommenden Übernahmesignalflanke, während der eine Übernahmesignalanschlußfläche niedrig gehalten wird. Gleichartig dazu liefert die Lesepostambel eine Zeitperiode nach der letzten ankommenden Übernahmesi­ gnalflanke, während der eine Übernahmesignalanschlußfläche niedrig gehalten wird. Als Folge können Übernahmesignal­ flanken etwas zu spät oder etwas zu früh an einer Übernah­ mesignalanschlußfläche ankommen, und nach wie vor in die Periode fallen, die eine Speichersteuerung 100 der Rückkehr eines Lesezyklus zuweist. Es können sich jedoch nach wie vor Probleme ergeben, wenn die Schwankung zwischen früh und spät ankommenden Übernahmesignalflanken hoch ist.
Fig. 22 stellt einen DDR-Lesezyklus in dem 1x-Modus dar (data2xn1x = 0) mit keiner Lesephasenverzögerung (rpd = 0) wie es in der Empfängerschaltungsanordnung 1800, 2000 von Fig. 18 und 20 ersichtlich ist. Man beachte, daß die Schwankung zwischen den Signalen DQS18 (früh) und DQS18 (spät), die jeweils die früheste und späteste erwartete An­ kunft von Übernahmesignalflanken an der Übernahmesignalan­ schlußfläche DQS18 darstellen (d. h. den "Fall eines frühen Empfangs" und den "Fall eines späten Empfangs"). Man beach­ te außerdem, daß der "0" zu Tristate- Übernahmesignalübergang in dem Fall eines frühen Empfangs auftritt, bevor die letzte Übernahmesignalflanke in dem Fall eines späten Empfangs empfangen wird. Außer wenn im Voraus genau vorhergesagt werden kann, wann Übernahmesigna­ le an einer Übernahmesignalanschlußfläche empfangen werden (d. h. früh oder spät) und eine solche Vorhersage mit per­ fekter Genauigkeit durchgeführt werden kann, kann daher der Empfänger einer Übernahmesignalanschlußfläche nicht in al­ len Fällen tristatemäßig betrieben werden, sowohl 1) nach dem Empfang einer letzten Übernahmesignalflanke und 2) be­ vor ein ankommendes Übernahmesignal tristatemäßig betrieben wird. Wie es für einen Fachmann auf diesem Gebiet leicht zu verstehen ist, ist die Vorhersage, wann Übernahmesignale an einer Übernahmesignalanschlußfläche empfangen werden, äu­ ßerst schwierig, da eine solche Vorhersage nicht nur von den Drahtleitwegen zwischen einer Steuerung 100 und einem Speicher 104, und auch der Zeit, die benötigt wird, um auf eine spezielle Speicheradresse in einem Speichermodul zu­ zugreifen, abhängt, sondern auch von der Temperatur, dem Taktabstand, Speicherzugriffsgeschwindigkeiten, usw. Eine Möglichkeit zum Verhindern, daß das tristatemäßige Betrei­ ben des Übernahmesignals ein Rauschen erzeugt, das als ak­ tive Übernahmesignalkanten interpretiert wird, wird daher benötigt. Die Fig. 18, 19 und 20 stellen eine solche Ein­ richtung dar.
In Fig. 18 sind vier Dateneingabelatches 1802-1808 gekop­ pelt, um Daten von einer Datenanschlußfläche DQ4 zu empfan­ gen. Die vier Latches 1802-1808 werden jeweils durch Werte eines Zählwerts gesteuert. In Fig. 18 werden die vier Lat­ ches 1802-1808 beispielsweise durch ein vier Bit-Zählwert, bei dem ein Zustand logisch hoch ist, gesteuert, der die Bits S1, S2, S3 und S4 umfaßt. Dieser Zählwert kann durch den Zähler 1900 erzeugt werden, der in Fig. 19 dargestellt ist, ansprechend auf gepufferte Übernahmesignalflanken, die von einem Empfänger 2030 ausgegeben werden, der mit der Übernahmesignalanschlußfläche DQS18 gekoppelt ist. Der Zäh­ ler wird gesteuert durch die Zählersteuerlogik 1902, die einen Block Kombinationslogik 1904 und einen Abschnitt der Kernlogik 1908 der Speichersteuerung umfaßt. Die Kombinati­ onslogik 1904 empfängt ein Steuersignal (DQS18_start), Rückkopplung 1906 von dem Zähler 1900 und das Freigabesi­ gnal DQS18_RCV_ON. Das Freigabesignal DQS18_RCV_ON wird so­ wohl zu der Kombinationslogik 1904 der Zählersteuerlogik 1902 als auch zu dem Empfänger 2030 gesendet, der die Über­ nahmesignalflanken puffert, die an der Übernahmesignalan­ schlußfläche DQS18 empfangen werden, so daß die in Fig. 19 gezeigte Übernahmesignalempfängerschaltungsanordnung global aktiviert werden kann, ähnlich zu der Art und Weise, auf die die Datenempfängerschaltungsanordnung von Fig. 18 akti­ viert wird.
Die primären Steuereingangssignale der Kombinationslogik sind das Steuersignal DQS18_start und die Zählerrückkopp­ lung 1906. Angenommen, daß 1) DQS18_RCV_ON aktiviert ist und 2) der Zähler 1900 zurückgestellt ist, dann bestimmt das Steuersignal DQS18_start, wann der Zähler 1900 akti­ viert ist. Bei einem ersten bevorzugten Ausführungsbeispiel ist das Steuersignal DQS18_start lediglich ein Impuls mit fester Breite, der vor jedem Lesezyklus der Speichersteue­ rung 100 erzeugt wird. Bei diesem ersten bevorzugten Aus­ führungsbeispiel wird von jedem Übernahmesignal, das bei DQS18 empfangen wird, angenommen, daß es die gleiche Anzahl von Flanken aufweist. Bei einem zweiten bevorzugten Ausfüh­ rungsbeispiel umfaßt das Steuersignal DQS18_start eine Startbedingung (z. B. eine Abfallflanke) und eine Stoppbe­ dingung (z. B. eine Anstiegsflanke), wobei die Zeitgebung der Start- und Stoppbedingungen schwanken, abhängig von der Anzahl von Übernahmesignalflanken, die erwartungsgemäß wäh­ rend einem aktuellen Lesezyklus empfangen werden. Auf diese Weise kann die Kernlogik 1908 die Start- und Stoppbedingun­ gen zeitlich abstimmen, abhängig davon, ob ein aktueller Lesezyklus beispielsweise 1) ein DDR-Bündel von vier oder ein Bündel von acht Lesezyklen ist, oder 2) ein 2x-Modus- oder ein Mx-Modus-DDR-Lesezyklus (M ≧ 2) ist. Das letztere Ausführungsbeispiel des Steuersignals DQS18_start liefert daher eine Speichersteuerung 100 mit größerer Leseflexibi­ lität.
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 Überlauf­ zähler 2002-2012 erzeugt werden, der seinen Vier-Bit- Zählwert, bei dem ein Zustand logisch hoch ist, ansprechend auf jede Übernahmesignalflanke, die an der Übernahmesignal­ anschlußfläche DQS18 empfangen wird, inkrementiert. Der Überlaufzähler 2002-2012 wird durch die Zählersteuerlogik 2014-2028 aktiviert und zurückgesetzt, die mit den DQS18_tff_rise_rst und DQS18_tff_fall_rst-Eingängen des Zählers 2002-2012 gekoppelt ist. Während einem Lesezyklus erzeugt die Zählersteuerlogik 2014-2028 eine Startbedingung bei DQS18_tff_start (eine Abfallflanke in Fig. 20), um da­ durch das Zählen der Übernahmesignalflanken des Zählers zu aktivieren. Dies unter der Annahme, daß der Zähler 2002-2012 bereits zurückgesetzt ist. Die Zählersteuerlogik 2014-2028 unterstützt dann beim Zurücksetzen des Zählers 2002-2012 durch Erzeugen einer Stoppbedingung (eine Anstiegs­ flanke in Fig. 20) bei DQS18_tff_start.
Wie nachfolgend näher erklärt werden wird, dient die Start­ bedingung dazu, den Zähler 2002-2012 asynchron bezüglich der Übernahmesignalflanken zu aktivieren, die an den Über­ nahmesignalanschlußflächen DQS18 empfangen werden.
Der Zähler 2002-2012 ist ebenfalls asynchron zurückgesetzt bezüglich der Übernahmesignalflanken, die an den Übernahme­ signalanschlußflächen DQS18 empfangen werden. Der Zähler 2002-2012 wird ansprechend auf die Stoppbedingung und Zäh­ lerrückkopplung rückgesetzt. Es ist anzumerken, daß bei Fig. 22 die Stoppbedingung in der Mitte eines Lesezyklus erzeugt wird, und während dem Zählen der letzten vier Über­ nahmesignalflanken (d. h. der letzten P Übernahmesignal­ flanken in den Ansprüchen) des Lesezyklus durch einen Zäh­ ler. Aufgrund der Zählerrückkopplung, die an den Eingängen der Logikgatter 2014 und 2018 der Zählersteuerlogik 2014-2028 empfangen werden, setzt der Zähler 2002-2012 jedoch das Zählen der letzten vier Übernahmesignalflanken eines empfangenen Übernahmesignals fort, bevor derselbe in einen Rücksetzzustand eintritt - selbst wenn der Zähler 2002-2012 bereits ein Stoppbedingung empfangen hat. Die Stoppbedin­ gung stoppt daher den Zähler 2002-2012 nicht unmittelbar, sondern hindert eher den Zähler 2002-2012 daran, an den letzten vier Übernahmesignalflanken eines empfangenen Über­ nahmesignals vorbei zu zählen. Wie in Kürze verständlich werden wird, zählt der Zähler 2002-2012 die letzten vier Übernahmesignalflanken unabhängig davon, wo er sich bei seiner Zählung befindet, wenn eine Stoppbedingung erzeugt wird. Somit beendet der Zähler das Zählen der letzten vier Übernahmesignalflanken eines Übernahmesignals beenden und hört dann mit dem Zählen auf, unabhängig davon, ob der Zäh­ ler 2002-2012 eine, zwei oder drei der letzten vier Über­ nahmesignalflanken gezählt hat, wenn eine Stoppbedingung erzeugt wird. Solange die letzten vier Übernahmesignalflan­ ken von DQS18 (früh) die letzten vier Übernahmesignalflan­ ken von DQS18 (spät) überlappen, kann folglich eine Zeit gefunden werden, um DQS18_tff_start, so zu aktivieren, daß 1) alle Übernahmesignalflanken gezählt werden und 2) der Zähler 2002-2012 zurückgesetzt wird, bevor ein Übernahmesi­ gnalbus tristatemäßig betrieben wird.
In Fig. 20 umfaßt der Überlaufzähler zwei Zustandselemente 2002, 2004. Die Zustandselemente sind vorzugsweise T-Flip- Flops 2002, 2004, die einen arithmetischen binären Zählwert erzeugen (SA : SB). Der Zähler umfaßt außerdem eine Kombi­ nationslogik 2006-2012, die den vorher erwähnten arithmeti­ schen binären Zählwert in einen binären Vier-Bit-Zählwert umwandelt, bei dem ein Zustand logisch hoch ist.
Das erste der beiden Flip-Flops 2002 erzeugt Ausgangssigna­ le SA und SA' und wird durch Übernahmesignalanstiegsflanken getaktet. Das zweite der beiden Flip-Flops 2004 erzeugt Ausgangssignale SB und SB' und wird durch Übernahmesignal­ abfallflanken getaktet.
Stromabwärts von den beiden Flip-Flops 2002, 2004 des Zäh­ lers umfaßt die Kombinationslogik, die den arithmetischen binären Zählwert der Flip-Flops in einen binären Zählwert umwandelt, bei dem ein Zustand logisch hoch ist, vier UND- Gatter 2006-2012. Die Eingänge der vier UND-Gatter 2006-2012 sind mit verschiedenen der Ausgänge SA, SA', SB und SB' verbunden, so daß die UND-Gatter 2006-2012 ihre Aus­ gangssignale S1-S4 auf sequentielle Weise und überlaufartig aktivieren.
Falls das Flip-Flop 2002, das das Ausgangssignal SA er­ zeugt, als das niederwertige Flip-Flop des Zählers 2002-2012 angesehen wird, dann wird der binäre Zählwert, der von den Flip-Flops 2002, 2004 des Zählers erzeugt wird, die folgende Sequenz annehmen: 0, 1, 3, 2, 0, 1, 3, 2, 0, . . .. Somit ist die Reihenfolge des Zählwerts des Zählers nicht so wichtig wie die beständige und wiederholende Natur des Zählwerts des Zählers. Obwohl der in Fig. 20 gezeigte Zäh­ ler ein Überlaufzähler 2002-2012 ist, kann der Zähler auch andere Formen annehmen. Beispielsweise könnte der Zähler zusätzliche Zustandselemente 2002, 2004 umfassen, oder Aus­ gabelogik 2006-2012 zum Zählen aller Übernahmesignalflanken eines Übernahmesignals, ohne während einer bestimmten Zäh­ lung überlaufen zu müssen.
Die Zählersteuerlogik 2014-2028, die den Zähler aktiviert und zurücksetzt, umfaßt ein Paar von UND-Gattern 2014, 2018, die jeweils über ein optionales Paar von ODER-Gattern 2016, 2020 mit den Rücksetzeingängen der beiden Flip-Flops 2002, 2004 gekoppelt sind. Der Zweck der optionalen ODER- Gatter 2016, 2020 wird in Kürze beschrieben. Durch ein er­ stes UND- und ODER-Gatter 2014, 2016 ist der erste Rück­ setzeingang des ersten Flip-Flops durch folgende Gleichung definiert:
SA'.DQS18_tff_start (wobei "." eine logische UND- Operation anzeigt).
Durch ein zweites UND- und ODER-Gatter 2018, 2020 wird der Rücksetzeingang des zweiten Flip-Flops durch die folgende Gleichung bestimmt:
SA'.SB'.
Somit empfängt jedes der UND-Gatter 2014, 2018 Rückkopplung von dem Zähler 2002-2012 (d. h. "Zählerrückkopplung"). Das erste UND-Gatter 2014 empfängt jedoch auch die Start- und Stoppbedingungen, die bei DQS18_tff_start erzeugt werden.
Die Start- und Stoppbedingungen, die das jeweilige Aktivie­ ren und Zurücksetzen des Zählers 2002-2012 unterstützen, werden auf der einzigen Signalleitung erzeugt, die mit DQS18_tff_start etikettiert ist. Eine Startbedingung wird durch eine Anstiegsflanke bei DQS18_tff_start bezeichnet, und eine Stoppbedingung wird durch eine Anstiegsflanke bei DQS18_tff_start bezeichnet. Die Start- und Stoppbedingungen werden durch eine Logik erzeugt, die einen Multiplexer 2028, ein UND-Gatter 2026 und zwei alternativ getaktete D- Typ-Flip-Flops 2022, 2024 umfaßt. Die Flip-Flops 2022, 2024 und das UND-Gatter 2026 sind gekoppelt, so daß der Multi­ plexer 2028 das Signal stb_reset an jedem seiner Eingänge empfängt, aber Änderungen bei dem stb_reset-Signal an sei­ nem "0"-Eingang ½ IOBCK-Zyklus, nachdem derselbe Änderungen bei dem stb_reset-Signal an seinem "1"-Eingang empfängt, empfängt. Der Zustand des Multiplexers 2028 wird durch das Lesephasenverzögerungssignal (rpd) gesteuert, und als Folge wird eine Änderung bei stb_reset bei DQS18_tff_start ½ IOBCK-Zyklus später reflektiert, wenn es eine Lesephasen­ verzögerung gibt (d. h. wenn rpd = 1).
Während einem Lesezyklus empfängt jedes der beiden ODER- Gatter 2008, 2012 der Zählersteuerlogik eine logische "0", die von dem Inversen des DQS18_RCV_ON-Signals abgeleitet ist. Man wird bemerken, daß DQS18_RCV_ON das Signal ist, das den Empfänger 2030 steuert, der mit der DQS18- Übernahmesignalanschlußfläche gekoppelt ist. DQS18_RCV_ON ist daher während einem Lesezyklus aktiviert, und zwischen Lesezyklen deaktiviert. Durch Koppeln von DQS18_RCV_ON mit den beiden ODER-Gattern 2008, 2012 des Zählers über einen Wandler 2032 wird eine zusätzliche Sicherheitsmaßnahme ge­ liefert, um sicherzustellen, daß keines der Ausgangssignale des Zählers (z. B. S1-S4) unbeabsichtigt aktiviert wird. Ferner kann die Aktivierung von DQS18_RCV_ON verwendet wer­ den, um den Zähler 2002-2012 beim Einschalten zurückzuset­ zen.
Der Zustand des Signals DQS18_RCV_ON wird ähnlich gesteuert wie der Zustand des Signals DQS18_tff_start. Das heißt, der Zustand von DQS18_RCV_ON wird durch zwei abwechselnd getak­ tete D-Typ-Flip-Flops 2034, 2036 gesteuert, die mit den Eingängen eines Multiplexers 2038 gekoppelt sind, wobei der Multiplexer durch das rpd-Signal gesteuert wird. Somit wird eine Änderung bei dem Zustand von DQS18_RCV_ON um ½ IOBCK- Zyklus verzögert, wenn es eine Lesephaseverzögerung gibt.
Ein Fachmann auf diesem Gebiet wird leicht verstehen, daß die Schaltungsanordnung von Fig. 18 und 20 extrapoliert werden kann, um Datenbits und Übernahmesignalflanken zu empfangen, die aus einem Mehrfachen von P Datenbits und Übernahmesignalflanken bestehen. Bei einer solchen Extrapo­ lation wird der Zähler 2002-2012 erweitert, um einen P Bit- Zählwert zu erzeugen, bei dem ein Zustand logisch hoch ist. Gleichartig dazu kann die Anzahl von Dateneingabelatches 1802-1808 auf P Latches ausgeweitet werden. Somit ist in Fig. 18 und 20 P = 4.
Der Betrieb der Empfängerschaltungsanordnung 2000, die in Fig. 20 dargestellt ist, kann durch Bezugnahme auf Fig. 22-27 besser verstanden werden. Fig. 22 liefert einen Ver­ gleich von verschiedenen Signalzeitgebungen für Früh- und Spätfallesevorgänge in einem 1x-Modus mit keiner Lesepha­ senverzögerung (rpd = 0). Gleichartig dazu liefert Fig. 25 einen Vergleich von verschiedenen Signalzeitgebungen für Früh- und Spätfallesevorgängen in einem 2x-Modus mit keiner Lesephasenverzögerung (rpd = 0). Fig. 23, 24, 26 und 27 zeigen folgendes:
Fig. 23: Signalzeitgebungen in einem 1x-Modus, früher Fall, rpd = 0
Fig. 24: Signalzeitgebungen in einem 1x-Modus, später Fall, rpd = 0
Fig. 26: Signalzeitgebungen in einem 2x-Modus, früher Fall, rpd = 0
Fig. 27: Signalzeitgebungen in einem 2x-Modus, später Fall, rpd = 0
A. 1x-Lesezyklen
Mit Bezugnahme auf Fig. 22 ist der Kerntakt, MCK, der in Fig. 9, 18 und 20 dargestellten Speichersteuerung 100 ge­ zeigt. Die Signale trk_ird und trk_srd werden zu einer An­ schlußflächensteuerzustandmaschine 2900 (Fig. 29) gesendet, die jeweils das stb_reset-Signal erzeugt, das zu dem Flip- Flop 2022 gesendet wird, und auch das rcv_on-Signal, das zu Flip-Flops 2034 gesendet wird. Die trk_srd und trk_ird bestimmen daher den Anstieg und Abfall von verschiedenen Übernahmesignalempfängerschaltungsanordnungssignalen. Ob­ wohl in Fig. 29 nicht gezeigt, empfängt die Anschlußflä­ chensteuerzustandsmaschine ebenfalls Signale, die anzeigen, ob ein aktueller Lesezyklus einen 1x- oder einen 2x-Modus und ein Bündel von vier oder ein Bündel von Acht-Modus annimmt. Diese zusätzlichen Signale bestimmen wiederum wann stb_reset und rcv_on aktiviert sind.
Wie es in Fig. 22 dargestellt ist, bestimmt die Aktivierung des trk_ird-Signals den Anstieg von DQS18_RCV_ON und den Abfall von DQS18_tff_start (wobei der Abfall von DQS18_tff_start die vorher erwähnte Startbedingung dar­ stellt). Falls der Zähler 2002-2012 zurückgesetzt ist (wie es sein sollte, wenn trk_ird aktiviert ist), dann bestimmt die Aktivierung von trk_ird auch den Abfall von DQS18_tff_rise_rst.
Es ist anzumerken, daß der Abfall von DQS18_RCV_ON die Emp­ fängerschaltungsanordnung von Fig. 20 im allgemeinen akti­ viert, aber nicht den Zähler 2002-2012 der Schaltungsanord­ nung aktiviert. Mit dem Abfall von DQS18_tff_start und DQS18_tff_rise_rst einen Zyklus nach dem Anstieg von DQS18_RCV_ON ist der Zähler 2002-2012 jedoch in einem Zu­ stand plaziert, bei dem er bereit ist, das Zählen von Über­ nahmesignalflanken zu beginnen, sobald dieselben empfangen werden (d. h. der Zähler 2002-2012 wird ansprechend auf ei­ ne Startbedingung und eine Zählerrückkopplung) asynchron aktiviert.
Vorzugsweise wird der Zähler 2002-2012 zu einer Zeit akti­ viert, die zwischen i) einen spätesten Zeitpunkt, wenn die Zählersteuerlogik 2014-2028 erwartet, daß ein Übernahmesi­ gnalbus, der mit einer Übernahmesignalanschlußfläche DQS18 gekoppelt ist, den Tristat verläßt, und ii) einen frühesten Zeitpunkt, wenn die Zählersteuerlogik 2014-2028 erwartet, daß die Flanken eines Übernahmesignals an der Übernahmesi­ gnalanschlußfläche DQS18 empfangen werden, fällt. Somit ist bezüglich dem Empfang von Übernahmesignalen der Übernahme­ signalempfängerschaltungsanordnung, die der JEDEC-DDR- SDRAM-Spezifikation entspricht, der Zähler 2002-2012 vor­ zugsweise zu einem Zeitpunkt aktiviert, bei dem die Zähler­ steuerlogik 2014-2028 erwartet, daß sowohl DQS18 (früh) als auch DQS18 (spät) sich in ihrem Präambelzustand befinden. Auf diese Weise werden fälschlicherweise Übergänge bei der Übernahmesignalanschlußfläche DQS18 als Ergebnis von Tri­ state-Rauschen durch den Zähler 2002-2012 nicht als aktive Übernahmesignalflanken interpretiert.
Die Aktivierung des trk_srd-Signals bestimmt den Anstieg von DQS18_tff_start, und auch den Abfall von DQS18_RCV_ON (dieser Abfall deaktiviert die Übernahmesignalempfänger­ schaltungsanordnung 200 von Fig. 20 vollständig). Der An­ stieg von DQS18_ tff_start und der Abfall von DQS18_RCV_ON schwanken bei der Zeitgebung, abhängig davon, ob ein Lese­ zyklus ein Bündel von vier oder ein Bündel von Acht-Zyklus ist, wie es durch die Anschlußflächensteuerzustandsmaschine 2900 gesteuert wird. Wie während der Erörterung der Be­ schreibung eines 2x-Modus-Lesezyklus angemerkt wird, ist die Zeitgebung des trk_srd-Steuerimpulses in einem 2x-Modus fest, als Folge einer Entscheidung darüber, daß nur Bündel von acht Lesevorgängen in dem 2x-Modus unterstützt werden.
Es ist anzumerken, daß während einem 1x-Modus-Bündel von vier Lesezyklen DQS18_tff_start zeitlich abgestimmt werden kann, um zu jeder Zeit zwischen der ersten Anstiegsflanke von DQS18(spät)- und dem Ende der DQS18(früh)-Postambel anzusteigen. Solange DQS18_tff_start während dieser Periode ansteigt, zählt der Zähler 2002-2012 jedes einzelne aktive Übernahmesignal, das bei DQS18 empfangen wird, und stellt sich dann ansprechend auf den Anstieg von DQS18_tff_start (d. h. eine Stoppbedingung) und eine Zählerrückkopplung asynchron selbst zurück. Phantomübernahmesignalflanken, die als Ergebnis von Rauschen erzeugt werden, während DQS18 tristatemäßig betrieben wird, werden daher nicht durch den Zähler 2002-2012 gezählt. Folglich werden die vier Daten­ eingabelatches 1802-1808, die mit dem Datenweg DQ4 gekop­ pelt sind, nicht unabsichtlich 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 ausge­ löst. Alle anderen Anstiegs- und Abfallflanken innerhalb der Übernahmesignalempfängerschaltungsanordnung 2000 werden von Übernahmesignalflanken ausgelöst, die an der DQS18- Übernahmesignalanschlußfläche empfangen werden, und werden daher in dem Übernahmesignalbereich der Speichermodule 104 oder den Zwischenchips 302 ausgelöst, an die die DQS18- Übernahmesignalanschlußfläche befestigt ist.
Wie es in Fig. 22 gezeigt ist, wird die erste Abfallflanke von DQS18_tff_fall_rst von dem Empfang einer ersten Über­ nahmesignalflanke des Zählers von Fig. 20 ausgelöst. Danach zählt der Zähler 2002-2012 weiterhin Übernahmesignalflan­ ken, bis zu dem Zeitpunkt, zu dem DQS18_tff_start-Signal aktiviert ist. Nach diesem Punkt und beim Erreichen von Zählwert "3" (d. h. die dritte der letzten vier Übernahme­ signalflanken) wird der Anstieg von DQS18_tff_rise_rst an­ sprechend auf eine Zählerrückkopplung asynchron ausgelöst. Gleichartig dazu und beim Erreichen von dem Zählwert "2" wird der Anstieg von DQS18_tff_fall_rst als eine Folge der Zählerrückkopplung asynchron ausgelöst. Sobald DQS18_tff_rise_rst und DQS18_tff_fall_rst ansteigen, werden sie daran gehindert, abzufallen, solange DQS18_tff_start hoch gehalten wird (d. h. bis ein nächster Lesezyklus aus­ gelöst wird).
Der Vollständigkeit halber stellt Fig. 22 den Empfang von Daten an der Datenanschlußfläche DQ4 (Fig. 18) in dem "Fall eines frühen Empfangs" und dem "Fall eines späten Empfangs" dar, (d. h. DQ4 (früh) und DQ4 (spät)). Fig. 22 stellt au­ ßerdem die Periode dar, über die die DQ4 Datenanschlußflä­ che zum Empfangen von Daten aktiviert ist (bezeichnet durch die Aktivierung des Signals DQ4_RCV_ON).
Fig. 23 stellt Signalzeitgebungen in dem frühen 1x-Modus- Lesefall ohne Lesephasenverzögerung dar (rpd = 0). Es ist anzumerken, daß die überlappenden Aktivierungen und Deakti­ vierungen der Flip-Flop Ausgangssignale SA und SB zu einer Erzeugung von S1-S4-Signalen mit nachfolgenden Impulsen führen. Jeder S1-S4-Impuls wird mit der Frequenz eines an­ kommenden Übernahmesignals erzeugt, das an der übernahmesi­ gnalanschlußfläche DQS18 empfangen wird.
Fig. 24 stellt Signalzeitgebungen in dem späten 1x-Modus- Lesefall ohne Lesephasenverzögerung dar (rpd = 0).
B. 2x-Lesezyklen
Mit Bezugnahme auf Fig. 25 ist erneut der Kerntakt, MCK, der Speichersteuerung 100 gezeigt, die in Fig. 9, 18 und 20 dargestellt ist.
Wie in Fig. 25 dargestellt ist, bestimmt die Aktivierung des trk_ird-Signals den Anstieg von DQS18_RCV_ON und den Abfall von DQS18_tff_start (wobei der Abfall von DQS18_tff_start die vorher erwähnte Startbedingung dar­ stellt). Falls der Zähler zurückgesetzt ist (wie er sein sollte, wenn trk_ird aktiviert ist), bestimmt die Aktivie­ rung von trk_ird auch den Abfall von DQS18_tff_rise_rst.
Es ist anzumerken, daß der Abfall von DQS18_RCV_ON die Übernahmesignalempfängerschaltungsanordnung 2000 von Fig. 20 allgemein aktiviert, aber nicht den Zähler 2002-2012 der Schaltungsanordnung aktiviert. Mit dem Abfall von DQS18_tff_start und DQS18_tff_rise_rst einen Zyklus nach dem Anstieg von DQS18_RCV_ON wird der Zähler 2002-2012 je­ doch in einen Zustand plaziert, in dem er bereit ist, um das Zählen von Übernahmesignalflanken zu beginnen, sobald dieselben empfangen werden (d. h. der Zähler 2002-2012 wird ansprechend auf eine Startbedingung und eine Zählerrück­ kopplung) asynchron aktiviert.
Vorzugsweise wird der Zähler 2002-2012 zu einem Zeitpunkt aktiviert, der zwischen i) einen spätesten Zeitpunkt, wenn die Zählersteuerlogik 2014-2028 erwartet, daß ein Übernah­ mesignalbus, der mit der Übernahmesignalanschlußfläche DQS18 gekoppelt ist, den Tristate verläßt, und ii) einem frühesten Zeitpunkt, wenn die Zählersteuerlogik 2014-2028 erwartet, daß Flanken eines Übernahmesignals an der Über­ nahmesignalanschlußfläche DQS18 empfangen werden, fällt. Somit wird bezüglich dem Empfang der Übernahmesignale durch die Übernahmesignalempfängerschaltungsanordnung, die der JEDEC-DDR-SDRAM-Spezifikation entspricht, der Zähler 2002-2012 vorzugsweise zu einem Zeitpunkt aktiviert, bei dem die Zählersteuerlogik 2014-2028 erwartet, daß sowohl DQS18 (früh) als auch DQS18 (spät) in ihren jeweiligen Präambel­ zustand sind. Auf diese Weise werden fehlerhafte Übergänge bei der Übernahmesignalanschlußfläche DQS18 als ein Ergeb­ nis von Tristat-Rauschen durch den Zähler 2002-2012 nicht als aktive Übernahmesignalflanken interpretiert.
Die Aktivierung des trk_srd-Signals bestimmt den Anstieg von DQS18_tff_start und auch den Abfall von DQS18_RCV_ON (die­ ser Abfall deaktiviert die Übernahmesignalempfängerschal­ tungsanordnung 2000 von Fig. 20 in ihrer Gesamtheit). Da die Speichersteuerung 100 in dem 2x-Modus nicht direkt mit dem Speicher 104 kommuniziert, nehmen 2x-Lesevorgänge vor­ zugsweise immer ein Bündel von acht-Form an, und somit wei­ sen der Anstieg von DQS18_tff_start und der Abfall von DQS18_RCV_ON in dem 2x-Modus feste Zeitgebungen auf.
Es ist anzumerken, daß während einem 2x-Modus-Lesezyklus DQS18_tff_start zeitlich abgestimmt sein kann, um zu jeder Zeit zwischen der dritten Anstiegsflanke von DQS18(spät)- und dem Ende der DQS18(früh)-Postambel anzusteigen. Solan­ ge DQS18_tff_start während dieser Periode ansteigt, zählt der Zähler 2002-2012 jedes einzelne aktive Übernahmesignal, das bei DQS18 empfangen wird, und setzt sich dann anspre­ chend auf den Anstieg von DQS18_tff_start (d. h. eine Stoppbedingung) und eine Zählerrückkopplung asynchron zu­ rück. Phantomübernahmekanten, die als eine Folge von Rau­ schen erzeugt werden, wenn DQS18 (früh) tristatemäßig be­ trieben wird, werden daher von dem Zähler 2002-2012 nicht gezählt. Folglich werden die vier Dateneingabelatches 1802-1808, die mit der Datenanschlußfläche DQ4 gekoppelt sind, nicht unbeabsichtigt getaktet.
Wie in 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 Anstiegs- und Abfall­ flanken in der Übernahmesignalempfängerschaltungsanordnung 2000 werden von Übernahmesignalflanken ausgelöst, die an der DQS18-Übernahmesignalanschlußfläche empfangen werden, und werden daher in dem Übernahmesignalbereich der Spei­ chermodule 104 oder der Zwischenchips 302 ausgelöst, an die die DQS18-Übernahmesignalanschlußfläche angeschlossen ist.
Wie es in Fig. 25 gezeigt ist, wird die erste Abfallflanke von DQS18_tff_fall_rst von dem Empfang des Zählers in Fig. 20 einer ersten Abfallflanke ausgelöst. Danach zählt der Zähler 2002-2012 weiterhin Übernahmesignalflanken, bis zu dem Zeitpunkt, zu dem das DQS18_tff_start-Signal aktiviert ist. Nach diesem Punkt und beim Erreichen des Zählwerts "3" (d. h. dem dritten der letzten vier Übernahmesignalflanken) wird der Anstieg von DQS18_tff_rise_rst ansprechend auf ei­ ne Zählerrückkopplung asynchron ausgelöst. Gleichartig dazu und beim Erreichen des Zählwerts "2" wird der Anstieg von DQS18_tff_fall_rst als eine Folge von Zählerrückkopplung asynchron ausgelöst. Sobald DQS18_tff_rise_rst und DQS18_tff_fall_rst ansteigen, werden sie daran gehindert abzufallen, solange DQS18_tff_start hoch gehalten wird (d. h. bis ein nächster Lesezyklus ausgelöst wird).
Der Vollständigkeit halber stellt Fig. 25 den Empfang von Daten an der Datenanschlußfläche DQ4 (Fig. 18) in dem "Fall eines frühen Empfangs" und dem "Fall eines späten Empfangs" dar (d. h. DQ4 (früh) und DQ4 (spät)). Fig. 22 stellt au­ ßerdem die Periode dar, im Verlauf derer die DQ4- Datenanschlußfläche zum Empfangen von Daten aktiviert ist (bezeichnet durch die Aktivierung des Signals DQ4_RCV_ON).
Fig. 26 stellt Signalzeitgebungen in dem frühen 2x-Modus- Lesefall dar, mit keiner Lesephasenverzögerung (rpd = 0). Es ist anzumerken, daß die überlappenden Aktivierungen und Deaktivierungen der Flip-Flop-Ausgänge SA und SB zu einer Erzeugung von S1-S4-Signalen mit wiederholenden und aufein­ anderfolgenden Impulsen führen. Jeder Impuls wird mit der Frequenz eines Übernahmesignals erzeugt, das an der DQS18- Übernahmesignalanschlußfläche empfangen wird, und jeder Im­ puls speichert ein neues Datenbit (d. h. r1, r2, r3, r4, r5, r6, r7 oder r8) in der DQ4-Empfängerschaltungsanordnung 1800 zwischen (siehe Fig. 18).
Fig. 27 stellt Signalzeitgebungen in dem späten 2x-Modus- Lesefall mit keiner Lesephasenverzögerung dar (rpd = 0).
7. Fähigkeit, DIMMs zu lesen, die aus x4-, x8- und x16-RAM- Elementen bestehen
Durch das in Fig. 11 dargestellte Speicherabbild 1100 sind die Daten/Übernahmesignalpaare, die in Fig. 9 und 10 darge­ stellt sind, und die Steuerschaltungsanordnungen 1810, 1812, 2800-2806, die in Fig. 18 und 28 dargestellt sind (wobei diese Steuerschaltungsanordnungen noch erörtert wird), ist die Speichersteuerung 100, die in Fig. 9 darge­ stellt ist, in der Lage, Daten von den Speichermodulen 104 zu lesen, die aus RAM-Elementen mit nicht-homogener Daten­ breite bestehen (z. B. DIMMs, die aus x4-DDR-SDRAMs beste­ hen, DIMMs, die aus x8-DDR-SDRAMs bestehen und DIMMs, die aus x16-DDR-SDRAMs bestehen).
Wie vorher bezüglich den Schreibvorgängen von DIMM 104 er­ örtert wurde, die aus RAM-Elementen mit nicht-homogener Da­ tenbreite bestehen, speichert das Speicherabbild 1100 eine Anzeige eines Daten/Übernahmesignalverhältnisses (z. B. ei­ nen Wert Ax) für jedes Speichermodul x, das mit der Spei­ chersteuerung 100 gekoppelt ist. Während einem Lesezyklus der Speichersteuerung 100 wird ein adressierter Wert Ax von dem Speicherabbild 1100 ausgegeben, und zu der Steuerschal­ tungsanordnung 1810, 1812, 2800-2806 geliefert, die den Da­ tenempfang bei einem Teilsatz der Datenanschlußflächen der Speichersteuerung steuert. In Fig. 18 ist die Steuerschal­ tungsanordnung so gezeigt, daß sie eine Anzahl von Multi­ plexern 1812 umfaßt, von denen jeder einen adressierten Wert Ax (in der Form eines Signals set_alt_n) als ein Steu­ ereingangssignal empfängt.
Im allgemeinen steuert die Steuerschaltungsanordnung 1810, 1812, 2800-2806 den Datenempfang an einem Teilsatz der Da­ tenanschlußflächen der Speichersteuerung, wie es in vorher­ gehenden Abschnitten dieser Beschreibung erörtert wird. Das heißt, ein Zählwert von Übernahmesignalflanken, die an ei­ ner Übernahmesignalanschlußfläche der Speichersteuerung (z. B. DQS18) empfangen werden, wird verwendet, um die Daten­ speicherelemente (z. B. Datenlatches 1802-1808) zu steuern, die mit einem oder mehreren Anschlußflächen der Speicher­ steuerung (z. B. DQ4-DQ7; Fig. 9 und 18) gekoppelt sind. Beispielsweise können vier Dateneingabelatches 1802-1808 mit jeder Datenanschlußfläche einer Speichersteuerung 100 gekoppelt sein, und die Bits einer Vier-Bit-, Ein-Zustand- Übernahmesignalflanke können verwendet werden, um die je­ weiligen Latches 1802-1808 zu steuern. Gleichartig dazu kann jedes Bit eines Vier-Bit-Übernahmesignalzählwerts, bei dem ein Zustand logisch hoch ist, entsprechende Dateneinga­ belatches 1802-1808 steuern, die mit jeder der Anzahl von Datenanschlußflächen (z. B. Anschlußfläche DQ4-DQ7) ge­ koppelt sind.
Obwohl der obige Absatz ein bevorzugtes und vorher be­ schriebenes Verfahren zum Steuern des Empfangs von Daten an einer Anzahl von Datenanschlußflächen zusammengefaßt hat, kann das vorher erwähnte Verfahren zum Steuern des Daten­ empfangs ohne den Multiplexer 1812 durchgeführt werden, der die Daten- und Übernahmesignalempfängerschaltungen koppelt, die in Fig. 18 und 20 dargestellt sind. Die zusätzliche Funktionalität, die durch den Multiplexer 1812 geliefert wird, der die Datenempfängerschaltung 1800 von Fig. 18 und die Übernahmesignalempfängerschaltung 200 von Fig. 20 kop­ pelt, ist die Fähigkeit, eine Datenempfängerschaltung 1800 zwei oder mehreren unterschiedlichen Übernahmesignalempfän­ gerschaltungen 2000 zuzuordnen. Auf diese Weise kann der Empfang von Daten bei einigen der Datenanschlußflächen der Speichersteuerung durch eine Mehrzahl von unterschiedlichen Übernahmesignalen gesteuert werden, und eine Funktionali­ tät, wie z. B. die Fähigkeit, von DIMMs zu lesen, die aus x4-, x8- und x16-DDR-SDRAM bestehen, ist vorgesehen.
In Fig. 18 kann der Empfang von Daten an der Datenanschluß­ fläche DQ4 ansprechend auf ein Übernahmesignal gesteuert werden, das an der Übernahmesignalanschlußfläche DQS18 emp­ fangen wird, oder ein Übernahmesignal, das an einer anderen Übernahmesignalanschlußfläche empfangen wird. Mit Bezugnah­ me auf die Zuordnungen von Daten- und Übernahmesignalan­ schlußflächen, die in Fig. 10 geliefert werden, kann man erkennen, daß ein Lesevorgang von einem DIMM, das aus x4- DDR-SDRAM besteht, eine Zuordnung zwischen der Datenan­ schlußfläche DQ4 und der Übernahmesignalanschlußfläche DQS18 erfordert, während ein Lesevorgang von einem DIMM, das aus x8- oder x16-DDR-SDRAMs besteht, eine Zuordnung zwischen der Datenanschlußfläche DQ4 und der Übernahmesi­ gnalanschlußfläche DQS18 erfordert. Somit ist der Übernah­ mesignalflankenzählwert, der aus den Bits S1_alt-S4_alt in Fig. 18 besteht, ein Zählwert von Übernahmesignalflanken, der an der Übernahmesignalanschlußfläche DQS18 erzeugt wird.
Wenn die in Fig. 18 und 20 dargestellte Schaltungsanordnung 1800, 2000 auf einen größeren Maßstab extrapoliert wird, wird ein Fachmann auf diesem Gebiet erkennen, daß die Spei­ chersteuerung 100 von Fig. 9 mit einer Fähigkeit versehen ist, DIMMs 104 zu lesen, die aus nicht-homogenen DDR-SDRAMs bestehen, durch 1) Liefern einer festen Korrelation zwi­ schen einer ersten Hälfte der Datenanschlußflächen der Speichersteuerung (DQ0-DQ3, DQ8-DQ11, DQ16-19, . . .) und den niedrigeren Übernahmesignalanschlußflächen der Speicher­ steuerung (DQS0-DQS17) und 2) Liefern einer programmierba­ ren Korrelation zwischen einer zweiten Hälfte der Datenan­ schlußflächen der Speichersteuerung (DQ4-DQ7, DQ12-DQ15, DQ20-23, . . .) und den oberen (DQS18-DQS35) und niedrigeren (DQS0-DQS17) Übernahmesignalanschlußflächen der Speicher­ steuerung. In dem letzteren Fall wird die programmierbare Korrelation durch eine Steuerschaltungsanordnung bestimmt, die beispielsweise eine Mehrzahl von Multiplexern 1812 um­ faßt, die adressierte Werte von Ax (die in Fig. 18 als Si­ gnal set_alt_n erscheinen) von dem Speicherabbild 1100 emp­ fängt. Falls ein adressierter Wert Ax eine logische "1" ist, dann werden die Daten- und Übernahmesignalanschlußflä­ chen auf eine Weise zugeordnet, die es ermöglicht, Daten von DIMMs zu lesen, die aus x4-DDR-SDRAMs bestehen (d. h. ein Zählwert (Bits S1-S4), der an dem ersten Dateneingang des Multiplexers empfangen wird, wird zu dem Multiplexer 1812 weitergeleitet). Falls ein adressierter Wert Ax eine logische "0" ist, werden die Daten- und Übernahmesignalan­ schlußflächen auf eine Weise zugeordnet, die es ermöglicht, Daten von DIMMs zu lesen, die aus x8- oder x16-DDR-SDRAMs bestehen (d. h. ein Zählwert (Bits S1_alt-S4_alt), der an dem zweiten Dateneingang des Multiplexers empfangen wird, wird durch den Multiplexer 1812 geleitet).
Bei einem bevorzugten Ausführungsbeispiel ist das kritische Signal zum Steuern des Multiplexers 1812 das set_alt_n- Signal. Eine mögliche Ableitung dieses Signals ist in Fig. 28 dargestellt. Nachdem reset_L während dem Systemrückset­ zen kurz in einen niedrigen Zustand getrieben wird, wird reset_L hochgehalten. Die Auswahl eines primären oder al­ ternativen Übernahmesignalflankenzählwerts für den Zweck des Steuerns der Dateneingabelatches 1802-1808 wird daher durch Signale read_tri und read_tri_x4 bestimmt. Während einem Lesevorgang eines DIMM, das aus x4-DDR-SDRAM besteht, werden 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 einem Lesevorgang eines DIMM, das aus x8- oder x16- DDR-SDRAM besteht, ist read_tri_x4 jedoch deaktiviert, um dadurch das set_alt_n-Signal zu deaktivieren. Auf diese Weise kann die Speichersteuerung von Fig. 9 konfiguriert werden, um Daten von DIMM zu lesen, die aus x4-, x8- und x16- DDR-SDRAM bestehen. Das read_tri_x4-Signal kann beispiels­ weise ein adressierter Wert Ax oder eine Ableitung dessel­ ben sein.
Obwohl die Speichersteuerung 100, die oben beschrieben wird, in der Lage ist, mit DIMM 104 zu kommunizieren, die aus DDR-SDRAM mit zwei unterschiedlichen Da­ ten/Übernahmesignalverhältnisse bestehen (d. h. ein 4 : 1- und ein 8 : 1-Verhältnis) können die hierin offenbarten Leh­ ren angepaßt werden, um eine noch größere Flexibilität zum Lesen von Speichermodulen 104 zu liefern, die aus RAM- Elementen mit nicht-homogener Datenbreite bestehen. Bei­ spielsweise kann die Steuerschaltungsanordnung 1810, 1812, 2800-2806 zum Zuordnen von Daten und Übernahmesignaltrei­ berschaltungen 1800, 2000 Multiplexer umfassen, die Daten auf der Basis von Übernahmesignalen empfangen, die an mehr als zwei Übernahmesignalanschlußflächen empfangen werden (z. B. Übernahmesignalflankenzählwerte auf der Basis von Übernahmesignalen, die an mehr als zwei Übernahmesignalan­ schlußflächen empfangen werden). Ferner kann der Teilsatz von Datenanschlußflächen einer Speichersteuerung, die eine feste Korrelation mit den Übernahmesignalanschlußflächen der Speichersteuerung aufweisen, größer, kleiner oder sogar nicht vorhanden sein.

Claims (29)

1. Speichersteuerungsempfängerschaltungsanordnung, die folgende Merkmale aufweist:
  • a) eine Datenanschlußfläche und eine Übernahmesi­ gnalanschlußfläche;
  • b) P Speicherelemente, die gekoppelt sind, um Daten von der Datenanschlußfläche zu empfangen (P ≧ 2), wobei die P Speicherelemente durch jeweilige Wer­ te einer Zählung gesteuert werden;
  • c) einen Zähler, wobei der Zähler die Zählung an­ sprechend auf Übernahmesignalflanken von Übernah­ mesignalen aktualisiert, die an der Übernahmesi­ gnalanschlußfläche empfangen werden; und
  • d) eine Entzerrmultiplexstufe, wobei die Entzerrmul­ tiplexstufe Daten von den P Speicherelementen empfängt, und die Entzerrmultiplexstufe Steuersi­ gnale empfängt, die in einem Taktbereich der Speichersteuerungsempfängerschaltungsanordnung erzeugt werden.
2. Speichersteuerungsempfängerschaltungsanordnung gemäß Anspruch 1, bei der jedes der P Speicherelemente ein Latch ist.
3. Speichersteuerungsempfängerschaltungsanordnung gemäß Anspruch 1, bei der jedes der P Speicherelemente ein Flip-Flop ist.
4. Speichersteuerungsempfängerschaltungsanordnung gemäß einem der Ansprüche 1 bis 3, bei der die Speicher­ steuerungsempfängerschaltungsanordnung Datenbits liest, die an der Datenanschlußfläche entweder mit ei­ ner 1x- oder einer Mx-Rate (M ≧ 2) empfangen werden, wobei die Empfängerschaltungsanordnung ferner eine Multiplexerauswahllogik umfaßt, wobei die Multiplexer­ auswahllogik folgendes erzeugt:
  • a) einen ersten Satz von Steuersignalen, die zu der Entzerrmultiplexstufe geliefert werden, wenn Da­ tenbits an der Datenanschlußfläche mit einer 1x- Rate empfangen werden; und
  • b) einen zweiten Satz von Steuersignalen, die zu der Entzerrmultiplexstufe geliefert werden, wenn Da­ tenbits an der Datenanschlußfläche mit einer Mx- Rate empfangen werden.
5. Speichersteuerungsempfängerschaltungsanordnung gemäß Anspruch 4, bei der M = 2 ist.
6. Speichersteuerungsempfängerschaltungsanordnung gemäß einem der Ansprüche 1 bis 5, bei der die Speicher­ steuerungsempfängerschaltungsanordnung Datenbits liest, die an der Datenanschlußfläche entweder mit ei­ ner 1x- oder einer 2x-Rate empfangen werden, und bei der:
  • a) die Entzerrmultiplexstufe einen ersten und einen zweiten Entzerrmultiplexer umfaßt, wobei der er­ ste Entzerrmultiplexer Daten von jedem der P Speicherelemente empfängt, und der zweite Ent­ zerrmultiplexer Daten von zumindest P/2 der P Speicherelemente empfängt; und
  • b) die Steuersignale, die durch die Entzerrmulti­ plexstufe empfangen werden, bewirken, daß sich Datenbits, die in jedem der P Speicherelemente gespeichert sind, jeweils durch den ersten Ent­ zerrmultiplexer ausbreiten, wenn Datenbits an der Datenanschlußfläche mit einer 1x-Rate empfangen werden, und bewirken, daß sich Datenbits, die in geraden und ungeraden Sätzen der P Speicherele­ mente gespeichert sind, jeweils durch den ersten und den zweiten Entzerrmultiplexer ausbreiten, wenn Datenbits an der Datenanschlußfläche mit ei­ ner 2x-Rate empfangen werden.
7. Speichersteuerungsempfängerschaltungsanordnung gemäß einem der Ansprüche 1 bis 6, bei der der Zähler ein Überlaufzähler ist, der die Zählung als eine P-Bit- Zählung mit einem logisch hohen Zustand erzeugt.
8. Speichersteuerungsempfängerschaltungsanordnung gemäß einem der Ansprüche 1 bis 7, die ferner Zählersteuer­ logik umfaßt, wobei die Zählersteuerlogik den Zähler aktiviert, bevor jedes Übernahmesignal empfangen wird, durch Erzeugen von Startbedingungen asynchron bezüg­ lich der empfangenen Übernahmesignale, wobei die Zäh­ lersteuerlogik jeden Zähler zurücksetzt, nachdem jedes Übernahmesignal empfangen wird, durch i) Empfangen ei­ ner Rückkopplung von dem Zähler, ii) Erzeugen von Stoppbedingungen, und iii) ansprechend auf die Rück­ kopplungs- und die Stoppbedingungen, Zurücksetzen des Zählers asynchron bezüglich der empfangenen Übernahmesignale.
9. Speichersteuerungsempfängerschaltungsanordnung gemäß Anspruch 8, bei der die Start- und Stoppbedingungen auf einer einzigen Signalleitung erzeugt werden.
10. Speichersteuerungsempfängerschaltungsanordnung gemäß Anspruch 8 oder 9, bei der die Zählersteuerlogik die Stoppbedingung zu einem Zeitpunkt erzeugt, der dadurch definiert ist, ob ein nächster Lesezyklus folgendes sein wird:
  • a) ein Doppeldatenratenbündel von vier Lesezyklen; oder
  • b) ein Doppeldatenratenbündel von acht Lesezyklen.
11. Speichersteuerungsempfängerschaltungsanordnung gemäß Anspruch 8, bei der die Zählersteuerlogik die Stoppbe­ dingung zu einem Zeitpunkt erzeugt, der dadurch defi­ niert ist, ob ein nächster Lesezyklus folgendes sein wird:
  • a) ein 1x-Modus-Doppeldatenraten-Lesezyklus; oder
  • b) ein Mx-Modus-Doppeldatenraten-Lesezyklus (M ≧ 2).
12. Speichersteuerungsempfängerschaltungsanordnung gemäß einem der Ansprüche 8 bis 11, bei der:
  • a) der Zähler ein Überlaufzähler ist, der ein erstes und zweites Zustandselement umfaßt, die jeweils abwechselnd durch Anstiegs- und Abfallflanken von Übernahmesignalen getaktet sind, die an der Über­ nahmesignalanschlußfläche empfangen werden; und
  • b) die Zählersteuerlogik ein erstes und zweites Lo­ gikgatter umfaßt,
    • a) wobei das erste Logikgatter das erste Zu­ standselement ansprechend auf eine Rückkopp­ lung von dem ersten Zustandselement, der Startbedingung und der Stoppbedingung akti­ viert und rücksetzt; und
    • b) das zweite Logikgatter das zweite Zustands­ element ansprechend auf eine Rückkopplung von dem ersten und dem zweiten Zustandsele­ ment aktiviert und zurücksetzt.
13. Speichersteuerungsempfängerschaltungsanordnung gemäß Anspruch 12, bei der:
  • a) das erste Zustandselement ein T-Flip-Flop ist, das die Ausgangssignale SA und SA' erzeugt;
  • b) das zweite Zustandselement ein T-Flip-Flop ist, das die Ausgangsignale SB und SB' erzeugt;
  • c) das erste Zustandselement ein zurückgesetztes Eingangssignal empfängt, das ein logisches UND von SA' und einer einzigen Signalleitung dar­ stellt, auf der die Start- und Stoppbedingungen erzeugt werden; und
  • d) das zweite Zustandselement ein zurückgesetztes Eingangssignal empfängt, das ein logisches UND von SA' und SB' darstellt.
14. Speichersteuerungsempfängerschaltungsanordnung gemäß einem der Ansprüche 1 bis 13, bei der P = 4 ist.
15. Doppeldatenraten-Speichersteuerung, die folgende Merk­ male umfaßt:
  • a) eine Einrichtung zum Empfangen von Daten und Übernahmesignalen mit einer 1x-Doppeldatenraten- Speichergeschwindigkeit; und
  • b) eine Einrichtung zum Empfangen von Daten und Übernahmesignalen mit einer Mx-Doppeldatenraten- Speichergeschwindigkeit (M ≧ 2).
16. Verfahren zum Empfangen von Daten in einer Speicher­ steuerung, das folgende Schritte umfaßt:
  • a) Empfangen von Datenbits, die einer Datenanschluß­ fläche der Speichersteuerung vorgelegt werden, in jeweilige P Speicherelemente (P ≧ 2), ansprechend auf eine Zählung von Übernahmesignalflanken, die an einer Übernahmesignalanschlußfläche der Spei­ chersteuerung empfangen werden;
  • b) Ausgeben von Daten, die in den P Speicherelemen­ ten gespeichert sind, zu einer Anzahl von Ent­ zerrmultiplexern; und
  • c) Erzeugen von Steuersignalen für die Entzerrmulti­ plexer in einem Taktbereich der Speichersteue­ rung.
17. Verfahren gemäß Anspruch 16, bei dem:
  • a) die Datenbits und Übernahmesignalflanken, die je­ weils an den Daten- und Übernahmesignalanschluß­ flächen empfangen werden, durch die Speicher­ steuerung entweder mit einer 1x- oder einer 2x- Rate empfangen werden; und
  • b) der Taktbereich der Speichersteuerung ein 2x- Taktbereich ist.
18. Verfahren gemäß Anspruch 16 oder 17, bei dem P = 4 ist.
19. Verfahren gemäß einem der Ansprüche 16 bis 18, bei dem das Erzeugen von Steuersignalen für die Entzerrmulti­ plexer das Erzeugen von Steuersignalen umfaßt, die je­ weils mit einer 1x-Rate wechseln, unabhängig davon, ob Datenbits und Übernahmesignalflanken jeweils an den Daten- und Übernahmesignalanschlußflächen mit einer 1x- oder einer 2x-Rate empfangen werden.
20. Verfahren gemäß einem der Ansprüche 16 bis 19, bei dem die Anzahl von Entzerrmultiplexern einen ersten und zweiten Entzerrmultiplexer umfaßt, von denen der erste Daten von jedem der P Speicherelemente empfängt, und der zweite Daten von zumindest P/2 der P Speicherele­ mente umfaßt, wobei das Verfahren ferner folgende Schritte umfaßt:
  • a) wenn die Daten- und Übernahmesignalanschlußflä­ chen jeweils Datenbits und Übernahmesignalflanken mit einer 1x-Rate empfangen, Liefern der erzeug­ ten Steuersignale zu dem ersten Entzerrmultiple­ xer mit einer 1x-Rate, und Ausbreiten der Daten durch den ersten Entzerrmultiplexer mit einer 1x- Rate; und
  • b) wenn die Daten- und Übernahmesignalanschlußflä­ chen jeweils Datenbits und Übernahmesignalflanken mit einer 2x-Rate empfangen, Liefern von Sätzen von den erzeugten Steuersignalen zu jedem der er­ sten und zweiten Entzerrmultiplexer mit einer 1x- Rate, und Ausbreiten von Daten durch jeden der ersten und zweiten Entzerrmultiplexer mit einer 1x-Rate.
21. Verfahren gemäß einem der Ansprüche 16 bis 20, bei dem die Zählung eine P-Bit-Zählung mit einem logisch hohen Zustand ist.
22. Verfahren gemäß einem der Ansprüche 16 bis 21, bei dem jedes der P Speicherelemente ein Latch ist.
23. Computersystem (124), das folgende Merkmale aufweist:
  • a) eine CPU (102);
  • b) eine Speichersteuerung (100), die mit der CPU (102) gekoppelt ist;
  • c) eine I/O-Steuerung, die mit der CPU gekoppelt ist;
  • d) eine Anzahl von I/O-Geräten (112-122), die mit der I/O-Steuerung gekoppelt sind; und
  • e) eine Anzahl von Speichermodulen (104), die mit der Speichersteuerung (100) gekoppelt sind;
wobei die Speichersteuerung (100) eine Mehrzahl von Daten- und Übernahmesignalanschlußflächen umfaßt, mit denen eine Empfängerschaltungsanordnung zum Empfangen von Daten und Übernahmesignalen von den Speichermodu­ len gekoppelt ist; und
wobei die Empfängerschaltungsanordnung für entspre­ chende Daten- und Übernahmesignalanschlußflächen fol­ gendes umfaßt:
  • a) P Speicherelemente, die gekoppelt sind, um Daten von der Datenanschlußfläche zu empfan­ gen (P ≧ 2), wobei die P Speicherelemente durch jeweilige Werte einer Zählung gesteu­ ert werden;
  • b) einen Zähler, wobei der Zähler eine Zählung ansprechend auf Übernahmesignalflanken von Übernahmesignalen aktualisiert, die an der Übernahmesignalanschlußfläche empfangen wer­ den; und
  • c) eine Entzerrmultiplexstufe, wobei die Ent­ zerrmultiplexstufe Daten von den P Speicher­ elementen empfängt, und die Entzerrmulti­ plexstufe Steuersignale empfängt, die in ei­ nem Taktbereich der Speichersteuerungsemp­ fängerschaltungsanordnung erzeugt werden.
24. Computersystem gemäß Anspruch 23, bei dem jedes der P Speicherelemente ein Latch ist.
25. Computersystem gemäß Anspruch 23 oder 24, bei dem die Speichersteuerungsempfängerschaltungsanordnung Daten­ bits liest, die an einer der Datenanschlußflächen ent­ weder mit einer 1x- oder einer Mx-Rate (M ≧ 2) empfan­ gen werden, wobei die Empfängerschaltungsanordnung ferner eine Multiplexerauswahllogik umfaßt, wobei die Multiplexerauswahllogik folgendes erzeugt:
  • a) einen ersten Satz von Steuersignalen, die zu der Entzerrmultiplexstufe geliefert werden, wenn an der Datenanschlußfläche Datenbits mit einer 1x- Rate empfangen werden; und
  • b) einen zweiten Satz von Steuersignalen, die zu der Entzerrmultiplexstufe geliefert werden, wenn Da­ tenbits an der Datenanschlußfläche mit einer Mx- Rate empfangen werden.
26. Computersystem gemäß Anspruch 25, wobei M = 2 ist.
27. Computersystem gemäß einem der Ansprüche 23 bis 26, bei dem P = 4 ist.
28. Computersystem gemäß einem der Ansprüche 23 bis 27, bei dem die Speichersteuerung und die I/O-Steuerung eine integrierte Speicher- und I/O-Steuerung bilden.
DE10212642A 2001-04-07 2002-03-21 Empfängerschaltungsanordnung für eine Speichersteuerung und Verfahren zum Empfangen von Daten in einer Speichersteuerung Expired - Fee Related DE10212642B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US828604 2001-04-07
US09/828,604 US6633965B2 (en) 2001-04-07 2001-04-07 Memory controller with 1×/M× read capability

Publications (2)

Publication Number Publication Date
DE10212642A1 true DE10212642A1 (de) 2002-10-17
DE10212642B4 DE10212642B4 (de) 2009-04-02

Family

ID=25252253

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10212642A Expired - Fee Related DE10212642B4 (de) 2001-04-07 2002-03-21 Empfängerschaltungsanordnung für eine Speichersteuerung und Verfahren zum Empfangen von Daten in einer Speichersteuerung

Country Status (2)

Country Link
US (3) US6633965B2 (de)
DE (1) DE10212642B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004057232A1 (de) * 2004-11-26 2006-06-01 Infineon Technologies Ag Verfahren zum Betreiben einer Halbleiterspeichervorrichtung und Halbleiterspeichersystem

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625702B2 (en) * 2001-04-07 2003-09-23 Hewlett-Packard Development Company, L.P. Memory controller with support for memory modules comprised of non-homogeneous data width RAM devices
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
US6678811B2 (en) * 2001-04-07 2004-01-13 Hewlett-Packard Development Company, L.P. Memory controller with 1X/MX write capability
US20030053578A1 (en) * 2001-09-18 2003-03-20 Sun Microsystems, Inc. Synchronous receiver
US8509391B2 (en) * 2002-06-20 2013-08-13 Numerex Corp. Wireless VoIP network for security system monitoring
US9054893B2 (en) 2002-06-20 2015-06-09 Numerex Corp. Alarm system IP network with PSTN output
US6819599B2 (en) * 2002-08-01 2004-11-16 Micron Technology, Inc. Programmable DQS preamble
US7177224B2 (en) * 2003-05-21 2007-02-13 Micron Technology, Inc. Controlling multiple signal polarity in a semiconductor device
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
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
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
KR100546403B1 (ko) * 2004-02-19 2006-01-26 삼성전자주식회사 감소된 메모리 버스 점유 시간을 가지는 시리얼 플레쉬메모리 컨트롤러
US7269708B2 (en) * 2004-04-20 2007-09-11 Rambus Inc. Memory controller for non-homogenous memory system
US7120084B2 (en) * 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US7196948B1 (en) * 2005-03-07 2007-03-27 Sun Microsystems, Inc . Method and apparatus for data capture on a bi-directional bus
JP4423453B2 (ja) * 2005-05-25 2010-03-03 エルピーダメモリ株式会社 半導体記憶装置
US8121237B2 (en) 2006-03-16 2012-02-21 Rambus Inc. Signaling system with adaptive timing calibration
US20070260778A1 (en) * 2006-04-04 2007-11-08 Ming-Shiang Lai Memory controller with bi-directional buffer for achieving high speed capability and related method thereof
US7623404B2 (en) * 2006-11-20 2009-11-24 Freescale Semiconductor, Inc. Memory device having concurrent write and read cycles and method thereof
JP4325685B2 (ja) * 2007-02-21 2009-09-02 セイコーエプソン株式会社 メモリを制御するメモリコントローラ、メモリモジュール、メモリの制御方法、および、コンピュータ。
US7590789B2 (en) * 2007-12-07 2009-09-15 Intel Corporation Optimizing clock crossing and data path latency
US8467486B2 (en) 2007-12-14 2013-06-18 Mosaid Technologies Incorporated Memory controller with flexible data alignment to clock
US8781053B2 (en) * 2007-12-14 2014-07-15 Conversant Intellectual Property Management Incorporated Clock reproducing and timing method in a system having a plurality of devices
US7929361B2 (en) * 2008-03-31 2011-04-19 Advanced Micro Devices, Inc. Circuit using a shared delay locked loop (DLL) and method therefor
US7869287B2 (en) * 2008-03-31 2011-01-11 Advanced Micro Devices, Inc. Circuit for locking a delay locked loop (DLL) and method therefor
US7872937B2 (en) * 2008-03-31 2011-01-18 Globalfoundries Inc. Data driver circuit for a dynamic random access memory (DRAM) controller or the like and method therefor
US7924637B2 (en) 2008-03-31 2011-04-12 Advanced Micro Devices, Inc. Method for training dynamic random access memory (DRAM) controller timing delays
TW200947217A (en) * 2008-05-09 2009-11-16 Asustek Comp Inc Computer system and method for processing data signal of memory interface thereof
US8402259B2 (en) * 2009-11-30 2013-03-19 International Business Machines Corporation Accelerating wake-up time of a system
KR101093000B1 (ko) * 2010-05-28 2011-12-12 주식회사 하이닉스반도체 반도체 메모리 장치 및 그 동작 방법
US9875209B2 (en) 2013-05-06 2018-01-23 Qualcomm Incorporated Synchronous data-link throughput enhancement technique based on data signal duty-cycle and phase modulation/demodulation
KR101845382B1 (ko) * 2013-09-25 2018-05-18 인텔 코포레이션 분배 변환기를 갖는 메모리 제어기
US9385724B1 (en) * 2013-10-03 2016-07-05 Altera Corporation Methods for operating configurable storage and processing blocks at double and single data rates
KR102147228B1 (ko) * 2014-01-23 2020-08-24 삼성전자주식회사 타겟 모듈의 라이트 레벨링을 제어하는 라이트 레벨링 제어 회로 및 그에 따른 라이트 레벨링 제어방법
US10241942B2 (en) * 2016-06-28 2019-03-26 Mediatek Inc. Method and apparatus for memory access
DE102017112416A1 (de) 2017-06-06 2018-12-06 Liebherr-Verzahntechnik Gmbh Vorrichtung und Verfahren zum Anfasen eines innenverzahnten Werkstücks
DE102017112450A1 (de) 2017-06-06 2018-12-06 Liebherr-Verzahntechnik Gmbh Vorrichtung und Verfahren zum Anfasen eines innenverzahnten Werkstücks
US10418090B1 (en) * 2018-06-21 2019-09-17 Micron Technology, Inc. Write signal launch circuitry for memory drive

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US172079A (en) * 1876-01-11 Improvement in grinding-disks
US46163A (en) * 1865-01-31 Improvement in making bonnet-binding
US3837A (en) * 1844-11-26 Tillott cole
US54135A (en) * 1866-04-24 Improvement in watches
US147896A (en) * 1874-02-24 Improvement in devices for paring horses hoofs
US6570944B2 (en) * 2001-06-25 2003-05-27 Rambus Inc. Apparatus for data recovery in a synchronous chip-to-chip system
US5983328A (en) * 1987-03-13 1999-11-09 Texas Instruments Incorporated Data processing device with time-multiplexed memory bus
US5522064A (en) * 1990-10-01 1996-05-28 International Business Machines Corporation Data processing apparatus for dynamically setting timings in a dynamic memory system
US5255241A (en) * 1991-05-20 1993-10-19 Tandem Computers Incorporated Apparatus for intelligent reduction of worst case power in memory systems
JP2599539B2 (ja) 1991-10-15 1997-04-09 インターナショナル・ビジネス・マシーンズ・コーポレイション 直接メモリ・アクセス装置及びルック・アヘッド装置
JPH07504773A (ja) * 1992-03-18 1995-05-25 セイコーエプソン株式会社 マルチ幅のメモリ・サブシステムをサポートするためのシステム並びに方法
US5418924A (en) * 1992-08-31 1995-05-23 Hewlett-Packard Company Memory controller with programmable timing
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
US5548783A (en) * 1993-10-28 1996-08-20 Dell Usa, L.P. Composite drive controller including composite disk driver for supporting composite drive accesses and a pass-through driver for supporting accesses to stand-alone SCSI peripherals
US5727005A (en) * 1994-08-31 1998-03-10 Le; Chinh H. Integrated circuit microprocessor with programmable memory access interface types
US5701438A (en) * 1995-09-29 1997-12-23 Intel Corporation Logical relocation of memory based on memory device type
US5906003A (en) * 1996-04-17 1999-05-18 Cirrus Logic, Inc. Memory device with an externally selectable-width I/O port and systems and methods using the same
KR100238242B1 (ko) * 1997-04-22 2000-01-15 윤종용 반도체 메모리장치의 동작 제어장치
US5974499A (en) * 1997-04-23 1999-10-26 Micron Technology, Inc. Memory system having read modify write function and method
US6175891B1 (en) 1997-04-23 2001-01-16 Micron Technology, Inc. System and method for assigning addresses to memory devices
US5905391A (en) 1997-07-14 1999-05-18 Intel Corporation Master-slave delay locked loop for accurate delay or non-periodic signals
JP3386705B2 (ja) * 1997-12-25 2003-03-17 株式会社東芝 半導体記憶装置およびそのバーストアドレスカウンタ
US6005412A (en) * 1998-04-08 1999-12-21 S3 Incorporated AGP/DDR interfaces for full swing and reduced swing (SSTL) signals on an integrated circuit chip
US6009533A (en) * 1998-06-02 1999-12-28 Via-Cyrix, Inc. Speculative bus cycle acknowledge for 1/2X core/bus clocking
JPH11353228A (ja) * 1998-06-10 1999-12-24 Mitsubishi Electric Corp メモリモジュールシステム
KR100578112B1 (ko) * 1998-10-16 2006-07-25 삼성전자주식회사 메모리 클럭 신호를 제어하는 컴퓨터 시스템 및그 방법
JP3259696B2 (ja) * 1998-10-27 2002-02-25 日本電気株式会社 同期型半導体記憶装置
JP2000148656A (ja) * 1998-11-09 2000-05-30 Mitsubishi Electric Corp メモリシステム
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
KR100322530B1 (ko) * 1999-05-11 2002-03-18 윤종용 반도체 메모리 장치의 데이터 입력 회로 및 데이터 입력 방법
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 박종섭 반도체메모리장치의 데이터스트로브신호 출력버퍼
US6144598A (en) * 1999-07-06 2000-11-07 Micron Technology, Inc. Method and apparatus for efficiently testing rambus memory devices
US6615345B1 (en) * 1999-07-29 2003-09-02 Micron Technology, Inc. System and method for regulating data capture in response to data strobe using preamble, postamble and strobe signature
US6694416B1 (en) * 1999-09-02 2004-02-17 Micron Technology, Inc. Double data rate scheme for data output
US6466491B2 (en) * 2000-05-19 2002-10-15 Fujitsu Limited Memory system and memory controller with reliable data latch operation
JP2002007200A (ja) 2000-06-16 2002-01-11 Nec Corp メモリ制御装置及び動作切替方法並びにインターフェース装置、半導体集積チップ、記録媒体
US6553450B1 (en) 2000-09-18 2003-04-22 Intel Corporation Buffer to multiply memory interface
US6532525B1 (en) * 2000-09-29 2003-03-11 Ati Technologies, Inc. Method and apparatus for accessing memory
US6525565B2 (en) * 2001-01-12 2003-02-25 Xilinx, Inc. Double data rate flip-flop
US6678811B2 (en) * 2001-04-07 2004-01-13 Hewlett-Packard Development Company, L.P. Memory controller with 1X/MX write capability
US6625702B2 (en) * 2001-04-07 2003-09-23 Hewlett-Packard Development Company, L.P. Memory controller with support for memory modules comprised of non-homogeneous data width RAM devices
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
US6424198B1 (en) 2001-08-09 2002-07-23 International Business Machines Corporation Memory clock generation with configurable phase advance and delay capability
US6806733B1 (en) * 2001-08-29 2004-10-19 Altera Corporation Multiple data rate interface architecture
TW550563B (en) * 2002-02-01 2003-09-01 Silicon Integrated Sys Corp Memory data receiver and method
KR100543913B1 (ko) * 2003-05-31 2006-01-23 주식회사 하이닉스반도체 Sdr/ddr 모드를 지원하는 콤보형 동기식 디램

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004057232A1 (de) * 2004-11-26 2006-06-01 Infineon Technologies Ag Verfahren zum Betreiben einer Halbleiterspeichervorrichtung und Halbleiterspeichersystem
US7499371B2 (en) 2004-11-26 2009-03-03 Infineon Technologies Ag Semiconductor memory system with a variable and settable preamble f
DE102004057232B4 (de) * 2004-11-26 2013-04-11 Qimonda Ag Verfahren zum Betreiben einer Halbleiterspeichervorrichtung und Halbleiterspeichersystem

Also Published As

Publication number Publication date
US7103793B2 (en) 2006-09-05
US20020147892A1 (en) 2002-10-10
DE10212642B4 (de) 2009-04-02
US20040133757A1 (en) 2004-07-08
US6990562B2 (en) 2006-01-24
US6633965B2 (en) 2003-10-14
US20040158688A1 (en) 2004-08-12

Similar Documents

Publication Publication Date Title
DE10212642A1 (de) Speichersteuerung mit 1X/MX-Lesefähigkeit
DE10209398A1 (de) Speichersteuerung mit einer Unterstützung für Speichermodule aus RAM-Bauelementen mit inhomogener Datenbreite
DE112007002619B4 (de) Speichersteuerung mit einer Speicherverbindung mit zwei Betriebsmodi
DE10235739B4 (de) Register, das auf einem Speichermodul montiert ist sowie Verwendung eines Registers in einem Speichermodul
DE69826863T2 (de) Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet
DE102012204991B4 (de) Speichereinrichtungen, Systeme und Verfahren unter Verwendung einer Befehls/Adressenkalibrierung
DE102006035612B4 (de) Speicherpuffer, FB-DIMM und Verfahren zum Betrieb eines Speicherpuffers
DE60027038T2 (de) Bussystem optimierung
DE602004007674T3 (de) Integrierte Schaltung mit bimodalem Daten-Strobe
DE102005051478B4 (de) Flashdatenspeichervorrichtung
DE102005050595B4 (de) Speichersystem, Speichervorrichtung und Verfahren dafür
DE102006028683B4 (de) Parallele Datenpfadarchitektur
DE69838852T2 (de) Verfahren und vorrichtung zur kopplung von signalen zwischen zwei schaltungen, in verschiedenen taktbereichen arbeitend
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)
DE69906793T2 (de) Verfahren und anordnung für hochgeschwindigkeitsdatenerfassung mit korrektur der bit-zu-bit-zeitgebung und speicheranordnung unter verwendung derselben
US7103790B2 (en) Memory controller driver circuitry having a multiplexing stage to provide data to at least N-1 of N data propagation circuits, and having output merging circuitry to alternately couple the N data propagation circuits to a data pad to generate either a 1x or Mx stream of data
DE69829987T2 (de) E/a bus mit schnellen 16-bit zerteilten transaktionen
DE102007060805B4 (de) Speichersteuerung und Computersystem mit derselben sowie Verfahren zur Steuerung eines Speichers
DE102008015544A1 (de) Verfahren und Vorrichtung zur Kalibrierung der Schreibzeit in einem Speicher-System
DE112007002605T5 (de) Speichersystem mit seriellem Hochgeschwindigkeitspuffer
DE60214992T2 (de) Mehrbit-prefetch-ausgangsdatenweg
US6889335B2 (en) Memory controller receiver circuitry with tri-state noise immunity
DE112004001660T5 (de) Echotakt auf Speichersystem mit Warteinformationen
DE10235740A1 (de) Register, das zum Korrespondieren mit einem Breitfrequenzband geeignet ist, und Signalerzeugungsverfahren, das dasselbe verwendet
DE60011629T2 (de) Speicher mit mehrfachen datenraten

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

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20121002