DE10212642B4 - Empfängerschaltungsanordnung für eine Speichersteuerung und Verfahren zum Empfangen von Daten in einer Speichersteuerung - Google Patents

Empfängerschaltungsanordnung für eine Speichersteuerung und Verfahren zum Empfangen von Daten in einer Speichersteuerung Download PDF

Info

Publication number
DE10212642B4
DE10212642B4 DE10212642A DE10212642A DE10212642B4 DE 10212642 B4 DE10212642 B4 DE 10212642B4 DE 10212642 A DE10212642 A DE 10212642A DE 10212642 A DE10212642 A DE 10212642A DE 10212642 B4 DE10212642 B4 DE 10212642B4
Authority
DE
Germany
Prior art keywords
data
strobe
memory
pad
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10212642A
Other languages
English (en)
Other versions
DE10212642A1 (de
Inventor
Eric M. Fort Collins Rentschler
Jeffrey G. Fort Collins Hargis
Leith L. Fort Collins 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 Development Co LP
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 Development Co LP filed Critical Hewlett Packard Development Co LP
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

Empfängerschaltungsanordnung (1800) für eine Speichersteuerung, die folgende Merkmale aufweist:
a) eine Datenanschlußfläche (DQ4) zum Empfangen von Daten und eine Übernahmesignalanschlussfläche (DQS18) zum Empfangen von Übernahmesignalen von einem Tristate-Bus;
b) P Speicherelemente (1802, 1804, 1806, 1808), die gekoppelt sind, um Daten von der Datenanschlußfläche (DQ4) zu empfangen (P ≥ 2), wobei die P Speicherelemente durch jeweilige Werte einer Zählung sequentiell aktiviert werden, um Daten zu empfangen;
c) einen Zähler (1900, 2000), wobei der Zähler die Zählung ansprechend auf Übernahmesignalflanken von Übernahmesignalen aktualisiert, die an der Übernahmesignalanschlussfläche (DQS18) empfangen werden, wobei die Zählung abhängig davon stoppt, ob der Wert der Zählung anzeigt, dass eine erwartete Anzahl von Übernahmesignalflanken erreicht wurde, um zu verhindern, dass ein Übergang, der einem Tristate-Zustand zugeordnet ist, fälschlicherweise als Übernahmesignalflanke interpretiert wird; und
d) eine Multiplexstufe (1814, 1816), die Daten von den P Speicherelementen empfängt und Steuersignale empfängt, die in einem Taktbereich der...

Description

  • Die Erfindung bezieht sich auf das Gebiet von Empfängerschaltungsanordnungen für eine Speichersteuerung und Verfahren zum Empfangen von Daten in einer Speichersteuerung.
  • Der Zweck einer Speichersteuerung ist es, Speicherzugriffsanforderungen zu empfangen und auszuführen (d. h. Anforderungen, Daten von einer Anzahl von Speichermodulen zu lesen und auf dieselben zu schreiben). Eine Speicherzugriffsanforderung wird typischerweise durch eine zentrale Verarbeitungseinheit (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 gemeinsame Taktdatenübertragungen gelesen und geschrieben werden. Das heißt, Datenbits werden zwischen einer Speichersteuerung und einer Anzahl von Speichermodulen in Synchronisation 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 steuern.
  • Hinsichtlich eines DDR-Speichers wird beispielsweise auf den JEDEC Standard Nr. 79, herausgegeben im Juni 2000, der hierin nachfolgend als die „JEDEC DDR SDRAM Spezifikation" bezeichnet wird, verwiesen.
  • 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 Anstiegs- 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 verwendet, die die Daten zum Zweck des Erfassens der Daten empfängt. Somit wird ein Übernahmesignal durch die Speichersteuerung während einer Schreiboperation übertragen, und ein Übernahmesignal wird durch ein Speichermodul während einer Leseoperation übertragen.
  • Aus der DE 4307564 C2 ist eine Speichersteuerung, bei der eine Zustandsmaschine Adreß- und Steuersignale für einen Datenspeicher erzeugt, basierend auf Zeitgabesteuersignalen, die von einer Zeitgabesteuereinheit auf der Grundlage von Zeitgabeparametern erzeugt werden. Die Zeitgabesteuereinheit umfaßt einen Zähler, um die Dauer eines von der Zustandsmaschine erzeugten Steuersignals (Anzahl von Systemtaktzyklen) zu ermitteln. Diese Dauer wird in einem Komparator mit einem Zeitgabeparameter verglichen, wobei abhängig von dem Vergleich ein weiteres Steuersignal erzeugt wird.
  • Die US 6005412 A offenbart eine Speichersteuerungsschnittstelle, bei der drei Taktbäume verwendet sind, um das Puffern und Konditionieren von Eingangs/Ausgangs-Signalen vor dem Senden derselben zu einer Anschlußfläche oder einem Kern zu synchronisieren. Zwei der Taktbäume befinden sich lokal in der Speichersteuerungsschnittstelle und triggern eine Mehrzahl von Ausgangslatches, die konfiguriert sind, um Ausgangsdatensignale von dem Kern in einem asynchronen oder synchronen Modus zu Puffern. Der dritte Taktbus verteilt Übernahmesignale (strobes) von einer externen Quelle und wird verwendet, um eine Mehrzahl von Eingangslatches, die konfiguriert sind, um Eingangsdaten von der Anschlußfläche in entweder einem Fensterübernahmemodus oder einem flankenzentrierten Modus zu Puffern.
  • Es ist die Aufgabe der vorliegenden Erfindung, eine Empfängerschaltungsanordnung für eine Speichersteuerung und ein Verfahren zum Empfangen von Daten in einer Speichersteuerung zu schaffen, die eine universellere Speichersteuerung, die in der Lage ist, Daten unterschiedlicher Raten von Speichermodulen zu empfangen, ermöglichen.
  • Diese Aufgabe wird durch eine Empfängerschaltungsanordnung nach Anspruch 1 und ein Verfahren nach Anspruch 15 gelöst.
  • Wie es für den Fachmann auf diesem Gebiet bekannt ist, bewirkt die Komplexität der Speichersteuerungen, daß dieselben sehr aufwendige Komponenten zum Entwerfen, Entwickeln und Prüfen sind. Die Erfinder liefern daher nachfolgend eine Beschreibung einer Speichersteuerung mit einer größeren Anzahl von Funktionsmodi. Durch Liefern einer Speichersteuerung 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 einzigen Speichersteuerung erfüllen, und somit durch Entwickeln, Bauen und Testen einer geringeren Anzahl von Speichersteuerungen Zeit und Aufwand sparen. Aus der Perspektive der Computerherstellung ermöglicht die Verwendung einer gemeinsamen Speichersteuerung bei einer Vielzahl von Computersystemen, daß maschinenabhängiger Code, gedruckte Schaltungsplatinenentwürfe, usw. von einem Computersystem zu dem nächsten übertragen werden können.
  • Neue Verfahren und Vorrichtungen, die sich auf Speichersteuerungen beziehen, werden hierin offenbart. Ausführungsbeispiele der Verfahren und Vorrichtungen beziehen sich auf das Lesen einer Speichersteuerung von Daten von einer Anzahl von Speichermodulen.
  • Im allgemeinen liefern die Verfahren und Vorrichtungen einer 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 angeschlossen ist. Der Zwischenchip kann beispielsweise Multiplexer umfassen, die Daten von einer oder mehreren Speichermodulbä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 Doppeldatenraten-Speichersteuerung, die eine Einrichtung zum Empfangen von Daten und Übernahmesignalen bei 1x-Doppeldatenraten-Speichergeschwindigkeit und eine Einrichtung 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 Übernahmesignalanschluß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 Speichermodulen und/oder Zwischenchips, die an die Empfängerschaltungsanordnung angeschlossen sind. Eine Entzerrungsmultiplexstufe ist zum Empfangen von Daten von den P Speicherelementen vorgesehen. Anders als die P Speicherelemente empfängt die Entzerrungsmultiplexstufe jedoch Steuersignale, die in einem 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 Entzerrungsmultiplexer umfaßt, die Daten von den P Speicherelementen empfangen, dann kann ein erster der Entzerrungsmultiplexer mit Steuersignalen versehen werden, die sich mit einer 1x-Rate ändern, wodurch es Datenbits, die mit einer 1x-Rate empfangen werden, ermöglicht wird, sich durch den ersten Entzerrungsmultiplexer auszubreiten. Wenn 2x-Daten durch die Empfängerschaltungsanordnung empfangen werden, können beide der Entzerrungsmultiplexer mit Steuersignalen versehen werden, die sich mit einer 1x-Rate ändern, wodurch es Datenbits, die mit einer 2x-Rate empfangen werden, ermöglicht wird, sich abwechselnd durch den ersten und den zweiten Entzerrungsmultiplexer auszubreiten (d. h. aufeinanderfolgende Datenbits werden abwechselnd aus einem der Entzerrungsmultiplexer ausgetaktet).
  • Ein drittes Ausführungsbeispiel der Erfindung liefert ein Verfahren zum Empfangen von Daten in einer Speichersteuerung. Das Verfahren beginnt mit dem Empfangen von Datenbits, die an eine Datenanschlußfläche einer Speichersteuerung 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 Speichersteuerung empfangen werden. Während Daten, die in den P Speicherelementen gespeichert werden, zu einer Anzahl von Entzerrungsmultiplexern ausgegeben werden, werden Steuersigna le für die Entzerrungsmultiplexer in einem Taktbereich der Speichersteuerung erzeugt.
  • Ein Vorteil der Speichersteuerung und Empfängerschaltungsanordnung, die hierin offenbart wurde, liegt darin, daß sich dieselbe unter Verwendung von relativ einfacher Hardware 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 eine Skalierbarkeit hat, um den Bereich der Marktsegmente, die durch die Speichersteuerung abgedeckt werden, mit nur einer geringen Erhöhung bei den Herstellungskosten zu vergröß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 Datenanschlußfläche empfangen werden (d. h. erhöhte Zeiten zum Übertragen von Steuerung der Daten von einem Taktbereich eines Speichermoduls oder Zwischenchips zu einem Taktbereich der Speichersteuerung). Somit werden größere Schwankungen bei der Datenlesezeit toleriert.
  • Die wichtigen Vorteile und Aufgaben des obigen und anderer Ausführungsbeispiele der Erfindung werden in der nachfolgenden 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:
  • 1 ein Computersystem;
  • 2 ein erstes beispielhaftes Ausführungsbeispiel der Speichersteuerung von 1, wobei die Speichersteuerung zum Zweck der Datenübertragung in einem 1x-Modus direkt an eine Mehrzahl von Speichermodulen angeschlossen ist;
  • 3 ein zweites beispielhaftes Ausführungsbeispiel der Speichersteuerung von 1, wobei die Speichersteuerung zum Zweck der Datenübertragungen in einem 2x-Modus über einen Zwischenchip an eine Mehrzahl von Speichermodulen angeschlossen ist,;
  • 4 Speichersteuerungstreiberschaltungsanordnung, die in der Lage ist, Daten in einem 1x-Modus oder einem 2x-Modus zu treiben;
  • 5 ein bevorzugtes Ausführungsbeispiel der Ausgabemischschaltungsanordnung, die in 4 gezeigt ist;
  • 6 eine Schwankung der Speichersteuerungstreiberschaltungsanordnung von 4, wobei die Schaltungsanordnung zum Auslösen einer Schreibphasenverzögerung vorgesehen ist;
  • 7 ein bevorzugtes Ausführungsbeispiel einer Taktschaltung, die viele der Taktsignale erzeugt, die in 8, 1219 und 2126 erscheinen;
  • 8 ein bevorzugtes Ausführungsbeispiel einer Speichersteuerungstreiberschaltungsanordnung, die eine Datentreiberschaltungsanordnung und eine entsprechende Übernahmesignaltreiberschaltungsanordnung umfaßt;
  • 9 stellt ein Speichersubsystem dar, einschließlich eines dritten beispielhaften Ausführungsbeispiels der Speichersteuerung von 1, wobei die Speichersteuerung eine Mehrzahl von entsprechenden Übernahmesignal- und Datenanschlußflächen umfaßt;
  • 10 eine beispielhafte Weise des In-Übereinstimmung-Bringens einer Übernahmesignal- und einer Datenanschlußfläche, um den Schreibvorgang einer Speichersteuerung auf x4-, x8- oder x16-DIMM zu unterstützen;
  • 11 ein Speicherabbild zum Verfolgen, ob x4-, x8- oder x16-DIMM an die Daten- und Übernahmesignalanschlußflächen einer Speichersteuerung angeschlossen sind;
  • 12 ein bevorzugtes Ausführungsbeispiel einer Schaltung zum Senden der act_stb[0:1]-Signale (siehe 8) an die unteren Anschlußflächen der Speichersteuerung von 9;
  • 13 ein bevorzugtes Ausführungsbeispiel einer Schaltung zum Liefern der act_stb[0:1]-Signale (siehe 8) an die oberen Übernahmesignalanschlußflächen der Speichersteuerung von 9;
  • 14 Schreibzeitgebungen der Treiberschaltungsanordnung von 8, wenn dieselbe im 1x-Modus mit ausgerichteten Schreibübernahmesignalen wpd = 0 und long_wpre = 0 konfiguriert ist;
  • 15 Schreibzeitgebungen der Treiberschaltungsanordnung von 8, wenn dieselbe im 1x-Modus mit ausgerichteten Schreibübernahmesignalen wpd = 0 und long_wpre = 1 konfiguriert ist;
  • 16 Schreibzeitgebungen der Treiberschaltungsanordnung von 8, wenn dieselbe im 2x-Modus mit verzögerten Schreibübernahmesignalen wpd = 0 und long_wpre = 0 konfiguriert ist;
  • 17 Schreibzeitgebungen der Treiberschaltungsanordnung von 8, wenn dieselbe im 2x-Modus mit verzögerten Schreibübernahmesignalen wpd = 0 und long_wpre = 1 konfiguriert ist;
  • 18 ein bevorzugtes Ausführungsbeispiel einer Datenempfängerschaltungsanordnung einer Speichersteuerung;
  • 19 ein erstes bevorzugtes Ausführungsbeispiel einer Übernahmesignalempfängerschaltungsanordnung einer Speichersteuerung;
  • 20 ein zweites bevorzugtes Ausführungsbeispiel einer Übernahmesignalempfängerschaltungsanordnung einer Speichersteuerung;
  • 21 eine Steuerung-Speicher-Steuerung-Lesewegschleife;
  • 22 Lesezeitgebungen der in 18, 19 und 28 gezeigten Empfängerschaltungsanordnung, wenn dieselbe im 1x-Modus mit rpd = 0 konfiguriert ist;
  • 23 nähere Einzelheiten des „frühen" 1x-Modus-Lesefalls, der in 22 dargestellt ist;
  • 24 nähere Einzelheiten des „späten" 1x-Modus-Lesefalls, der in 22 dargestellt ist;
  • 25 Lesezeitgebungen der in den 18, 19 und 28 gezeigten Empfängerschaltungsanordnung, wenn dieselbe im 2x-Modus mit rpd = 0 konfiguriert ist;
  • 26 nähere Einzelheiten des „frühen" 2x-Modus-Lesefalls, der in 25 dargestellt ist;
  • 27 nähere Einzelheiten des „späten" 2x-Modus-Lesefalls, der in 25 dargestellt ist;
  • 28 ein bevorzugtes Ausführungsbeispiel einer Schaltung zum Senden des set_alt_n-Signals, das in der Speichersteuerungsempfängerschaltungsanordnung von 18 erscheint; und
  • 29 eine Beziehung zwischen der Kern- und der Anschlußflächenschaltungsanordnung der Speichersteuerung von 1.
  • 1. Allgemein: Eine Speichersteuerung mit einer größeren Anzahl von Funktionsmodi
  • Eine Speichersteuerung 100 mit einer größeren Anzahl von Funktionsmodi ist in 13 dargestellt. Die Speichersteuerung 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.
  • 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 1 gezeigt ist, bildet die Speichersteuerung 100 vorzugsweise ein Teil einer integrierten Speicher- und Eingabe/Ausgabe (I/O)-Steuerung (MIOC) 100. Die MIOC 100 empfängt Zugriffanforderungen über den Systembus 106 und adressiert dann Speichermodule 104 und/oder I/O-Geräte 112122, um die Speicherzugriffsanforderungen zu verarbeiten. Abgerufene Daten werden dann nach Bedarf zurückgesendet. Ankommende Speicherzugriffsanforderungen, die von den I/O-Geräten 112122 empfangen werden, können ebenfalls durch die MIOC verarbeitet werden. Wie es in der Technik bekannt ist, umfassen Speicher- und I/O-Zugriffsanforderungen typischerweise 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 Peripheriekomponentenverbindungsbus (PCI; PCI = peripheral component interconnect) oder eine integrierte Geräteelektronikschnittstelle (IDE; IDE = integrated device electronics) mit den I/O-Geräten 112122 gekoppelt. Die Speichermodule können beispielsweise eine Anzahl von DDR Dual-in-Line Speichermodulen (DIMMs) umfassen. Ein DIMM ist eine Sammlung von RAM-Elementen (z. B. DDR-SDRAMs) mit einer festen Datenbreite (normalerweise 64 oder 72 Bit). I/O-Geräte können 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, parallel, 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ß 1 nur ein beispielhaftes Ausführungsbeispiel eines Computersystems 124 liefert, bei dem die nachfolgend beschriebene Speichersteuerung 100 verwendet werden kann, und somit soll das Computersystem 124 von 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 13 dargestellten Speichersteuerung 100, die Teil der integrierten „Speicher- und I/O-Steuerung" 100 ist, angepaßt werden können.
  • In 2 ist die MIOC 100 von 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 Speicherbus, der in einem herkömmlichen DDR-Modus arbeitet, bei dem Daten in Synchronisation mit beiden Flanken eines Übernahmesignals ü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 Konfigurationen erhältlich, wobei die populärste die Dual-in-Line-Speichermodul-(DIMM-)Konfiguration ist. Andere Konfigurationen, 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 Speichermodulkonfigurationen ist, daß jede eine gedruckte Schaltungsplatine mit einer Mehrzahl von Direktzugriffsspeicher-(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 Bestrebungen in der Industrie, zu Speichermodulen überzugehen, die mit DDR-SDRAM-Elementen bestückt sind. 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 erhältlich, wobei Elemente mit zusätzlichen Datenbreiten vorgeschlagen 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 Erzeugung/seinen Empfang von vier Datensignalen ansprechend auf ein einziges Übernahmesignal charakterisiert. Gleichartig 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 Übernahmesignal 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 ansprechend 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 Speichersteuerung 100 in der Lage, auf eine Anzahl von gleichen Speichermodulen zuzugreifen, die in eine Mehrzahl von Sockeln 902908 an der Hauptplatine des Computersystems eingefügt sind. Oft füllt ein Computerhersteller eine Anzahl der Sockel 902908 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 bestehen). 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 Konfiguration von Speichermodul begrenzt. Es wäre jedoch wünschenswert, 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 Datenbreiten 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 (11) von RAM-Element-Datenbreiten, wobei für jedes 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 Schreiboperation und dann 2) Rekonfigurieren der Daten- und Übernahmesignaltreiberschaltungsanordnung nach Bedarf.
  • Um die Kommunikation der Speichersteuerung mit einer Mehrzahl von nicht-homogenen Speichermodulen 104 zu ermöglichen, muß auf der Platinenebene lediglich berücksichtigt werden, daß ausreichend Daten- und Übernahmesignalleitwege vorgesehen sind, für den Zweck des Ermöglichens einer elektrischen Verbindung von einem Erweiterungssockel zu Spei chermodulen 104, die aus RAM-Elementen mit variierender Datenbreite bestehen. Wenn somit die offenbarte Speichersteuerung 100 in einer DDR-SDRAM-Umgebung entworfen wird, kann ein Computerhersteller 1) weniger Übernahmesignale zu/von einer Speichersteuerung 100 leiten und einem Computerbenutzer die Fähigkeit zuweisen, in seinem Computersystem 124 gleichzeitig DIMMs zu verwenden, die aus x8- und x16-DDR-SDRAMs bestehen oder 2) einige zusätzliche Übernahmesignale 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 vorgesehen ist.
  • Eine Speichersteuerung 100, die nicht-homogene Speichermodule 104 lesen und schreiben kann (d. h. Speichermodule, die aus RAM-Elementen mit nicht-homogener Datenbreite bestehen) ist dadurch vorteilhaft, daß dieselbe einen Computerbenutzer mit einer Vielzahl von Speichererweiterungsoptionen versieht. Beispielsweise sind x4-DDR-SDRAMs halb so breit aber zweimal so tief wie x8- und x16-DDR-SDRAMs. Somit kann man die Computerspeicherkapazität verdoppeln, indem 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 Leistungsebene 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 verwenden, 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 Speicherdatenbit erhöht werden (z. B. verdoppeln oder vervierfachen der Anzahl von Lasten). Dadurch kann die gleiche Speicherkapazität, die in einem x4-System erreicht werden kann, in einem x8/x16 System erreicht werden. Ein Problem ist jedoch, daß bei mehr Lasten pro Bit die maximale Betriebsfrequenz jedes DIMM verringert ist. Eine größere Speicherkapazität daher mit einer Leistungseinbuße erreicht. Speicheroperationen, die durch die hierin offenbarte Speichersteuerung 100 eingeleitet werden, sind keinen solchen Leistungseinbußen unterworfen.
  • B. 1x- oder 2x-Modus
  • Ein weiteres Merkmal der hierin offenbarten Speichersteuerung 100 ist, daß dieselbe Übernahmesignale und Daten (entweder 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 eine Mehrzahl von Speichermodulen 104 angeschlossen, wie es in 2 dargestellt ist. In dem Mx-Modus ist die Speichersteuerung 100 jedoch über einen Bus 300, der bei einer Mx-Geschwindigkeit arbeitet, an einen oder mehrere Zwischenchips 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 Schreibvorgänge zwischen den Zwischenchips 302 und den Speichermodulen 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 ebenfalls, die Bandbreite eines Speichersystems zu verdoppeln.
  • C. Lese- und Schreibphasenverzögerungen
  • Die Speichersteuerung 100, die hierin offenbart ist, liefert 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ß Lese- und Schreibzyklen mit einer Vollzyklusauflösung abgestimmt 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 Speichersteuerung beginnen. Dieses Merkmal liefert einen Grad an Abstimmbarkeit für die Speichersteuerung 100.
  • D. Tristate-Rauschunempfindlichkeit
  • Während einem Speicherlesezyklus besteht eine Notwendigkeit, eine Schwankung bei der Steuerung-Speicher-Steuerung-Schleifenverzögerung (d. h. Leseschleifenverzögerung) zu erklären. In 21 ist beispielsweise eine Mehrzahl von Speichermodulen 104 über gemeinsame Daten-(DQ) und Übernahmesignal-(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 Zeitgebungsschwankungen innerhalb erlaubter Bereiche zeigen (z. B. innerhalb 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 Leseanforderungen, die an unterschiedliche Speichermodule gesendet 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 aktiviert und deaktiviert wird. Eine solche Verzögerung kann nur erklärt werden durch Sicherstellen, daß eine Speichersteuerung 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 Schleifenverzögerung (d. h. der Fall eines späten Empfangs) angemessen empfängt.
  • Die Daten- und Übernahmesignalbusse für die Speichermodule 104 unter der JEDEC-DDR-SDRAM-Spezifikation haben eine bemerkenswerte 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 unterworfen 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 Übernahmesignalflanken, die an einer Übernahmesignalanschlußfläche empfangen werden, und dann durch Verwenden eines Zählwerts der Über nahmesignalflanken, um eine Mehrzahl von Datenzwischenspeichern zu steuern, die mit einer Datenanschlußfläche gekoppelt 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 Übernahmesignalbusses erzeugt wird, wird daran gehindert, zusätzliche Daten in die Vielzahl von Datenlatches zwischenzuspeichern.
  • 2. Fähigkeit, im 1x- oder 2x-Modus zu schreiben
  • 4 stellt ein erstes bevorzugtes Ausführungsbeispiel der Treiberschaltungsanordnung 400 für eine Speichersteuerung 100 dar. Die Treiberschaltungsanordnung 400 umfaßt eine Datenanschlußfläche (DQ4), zwei Datenausbreitungsschaltungen 402, 404, eine Multiplexstufe 406 und eine Ausgabemischschaltungsanordnung 408. Ein erster Datenstrom 410 wird zu jeder der Datenausbreitungsschaltungen 402, 408 gesendet, und ein zweiter Datenstrom 412 wird optional zu der zweiten der beiden Datenausbreitungsschaltungen 404 geliefert. Die zweite Datenausbreitungsschaltung 404 empfängt entweder den ersten oder den zweiten Datenstrom 410, 412 über die Multiplexstufe 406, die in 4 aus einem einzigen 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 Multiplexers in einem 1x-Betriebsmodus gekoppelt ist, und es ermöglicht, 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 Datenausbreitungsschaltungen 402, 404 zu der Ausgabemischschaltungsanordnung 408 aus, und an diesem Punkt werden die beiden Datenausbreitungsschaltungen 402, 404 abwechselnd mit der Datenanschluß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 4 dargestellte Treiberschaltungsanordnung 400 wie folgt. In dem 1x-Modus wird der gleiche Datenstrom 410 an jede der Datenausbreitungsschaltungen 402, 404 geliefert. Als Folge erscheint ein Datenbit, das sich durch die erste Datenausbreitungsschaltung 402 ausbreitet, an der Datenanschlußfläche, wenn die Ausgabemischschaltungsanordnung 408 die erste Datenausbreitungsschaltung 402 mit der Datenanschlußfläche koppelt. Das gleiche Datenbit erscheint dann wieder an der Datenanschluß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 4 wird ein erster Datenstrom 410 an die erste Datenausbreitungsschaltung 402 geliefert, und ein zweiter Datenstrom 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 unterschiedliche Datenbits durch die erste und zweite Datenausbreitungsschaltung 402, 404 aus, und die Ausgabemischschaltungsanordnung 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 jedem der Dateneingabeströme 410, 412 der Treiberschaltungsanordnung erzeugt.
  • Ein beispielhaftes Ausführungsbeispiel der Ausgabemischschaltungsanordnung 408 ist in 5 offenbart. Die Schal tungsanordnung 408 umfaßt 2 D-Typ-Flip-Flops 500, 502, die jeweils Daten von einer der zwei Datenausbreitungsschaltungen 402, 404 von 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. Gleichartig dazu, wenn Daten aus dem Flip-Flop 502 getaktet werden, ermöglicht es der Puffer 506 den Daten, durch die Datenanschlußfläche DQ4 zu verlaufen, und der Puffer 504 wird tristatemäß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 5 sind ein Beispiel eines tristatemäßig betreibbaren Weges, auf den in den Ansprü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 5 aufgefü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.
  • 6 stellt ein zweites bevorzugtes Ausführungsbeispiel einer Treiberschaltungsanordnung 600 für eine Speichersteuerung 100 dar. Wie die in 4 dargestellte Treiberschaltungsanordnung 400 umfaßt die Treiberschaltungsanordnung 600 von 6 eine Datenanschlußfläche (DQ4), zwei Datenausbreitungsschaltungen 602, 604, eine Multiplexstufe 606 und eine Ausgabemischschaltungsanordnung 608. Die Treiberschaltungsanordnung 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 614618 ist es, das Erscheinen der Daten an der Datenanschlußfläche zu verzögern und dadurch eine „Schreibphasenverzögerung" auszulösen, wie sie erforderlich sein kann, um ein System für einen maximalen Spielraum abzustimmen. Die Fähigkeit, einen Schreibvorgang unter Verwendung der Phasenverzögerungsschaltungsanordnung 614618 zu verzögern, versieht 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 ersten 610 oder den zweiten 612 Datenstrom für die Ausgabe zu der Phasenverzögerungsschaltung 614 aus. Der zweite Phasenverzögerungsmultiplexer 618 empfängt Daten, die von der ersten Datenausbreitungsschaltung 602 und der Phasenverzögerungsschaltung 614 ausgegeben werden, und bestimmt, welche Daten ansprechend auf das Exklusiv-ODER 620 (XOR) des data2xn1x-Signals mit einem Schreibphasenverzögerungssignal (wpd-Signal = write Phase delay signal) zu der Ausgabemischschaltungsanordnung 608 ausgegeben werden. Man beachte, 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 Schreibphasenverzögerung nicht aktiviert.
  • Es ist anzumerken, daß in 6 der Multiplexstufenmultiplexer 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 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 Daten zuerst durch die erste Datenausbreitungsschaltung 602 und die Ausgabemischschaltungsanordnung 608 ausbreiten. Sowohl in dem 1x- und dem 2x-Modus mit einer Schreibphasenverzögerung (wpd = 1 in 1x-Modus; wpd = 0 in 2x-Modus) breiten sich Daten durch die zweite Datenausbreitungsschaltung 604 und die Phasenverzögerungsschaltung 614 aus, wobei sich Daten zuerst durch die zweite Datenausbreitungsschaltung 604 und die Ausgabemischschaltungsanordnung 608 ausbreiten. Es ist anzumerken, daß mit einer Schreibphasenverzögerung entweder in dem 1x- oder dem 2x-Modus Daten sich nach wie vor in die Phasenverzögerungsschaltung 614 ausbreiten können. Wenn jedoch keine Schreibphasenverzögerung angezeigt ist, breiten sich die Daten, die sich in die Phasenverzögerungsschaltung 614 ausbreiten, nicht durch den zweiten Phasenverzögerungsmultiplexer 618 und auf die Datenanschlußfläche DQ4 aus.
  • Ein Durchschnittsfachmann auf diesem Gebiet wird leicht verstehen, wie jede der in 4 und 6 offenbarten Treiberschaltungsanordnungen 400, 600 extrapoliert werden kann, um eine Treiberschaltungsanordnung zu liefern, die in der Lage ist, entweder in einem 1x- oder einem Nx-Modus zu arbeiten. Bezüglich des Extrapolierens der Schaltungsanordnung von 6 für N > 2 wird man erkennen, daß nur eine einzige Phasenverzögerungsschaltung 614 benötigt wird, unabhä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.
  • 7 und 8 stellen ein verbessertes Ausführungsbeispiel 800 der Treiberschaltungsanordnung von 6 dar, bei der die Datenanschlußfläche DQ4 tristatemäßig betrieben werden kann, und bei der ein Übernahmesignal, daß an einer Übernahmesignalanschlußfläche DQS 18 erzeugt wird, mit dem Datenausgang an der Datenanschlußfläche synchronisiert ist.
  • 7 stellt ein bevorzugtes Ausführungsbeispiel einer Taktschaltung 700 dar, die viele der Taktsignale erzeugt, die nicht nur in 8, sondern auch in 1220 und 2227 erscheinen. Die Taktschaltung 700 wird durch einen Kerntakt, MCK, einer Speichersteuerung betrieben. Die Taktschaltung 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 Ergebnis 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 Multiplexerchip 302 oder ein Speichermodul 104 geliefert werden (siehe 2 und 3). Falls der Multiplexer 710 für 1x-Modusbetrieb konfiguriert ist, ist der Takt IOSCK equivalent zu dem Takt MCK. Wenn jedoch der Multiplexer 710 für 2x-Modusbetrieb konfiguriert ist, stellt der Takt IOSCK eine 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 8, geeignete 2x-Modusübernahmesignale an ein bevorzugtes Ausführungsbeispiel eines Zwischenchips 302 zu liefern (3).
  • Die in 8 dargestellte Treiberschaltungsanordnung 800 hat viele Ähnlichkeiten mit der in 6 dargestellten Treiberschaltungsanordnung 600. Die Übereinstimmung der Komponenten zwischen 6 und 8 ist wie folgt. Die erste Datenausbreitungsschaltung 602 in 6 entspricht einem einfachen Drahtleitweg 802 in 8; die zweite Datenausbreitungsschaltung 604 entspricht einem ersten D-Typ-Flip-Flop 804, und die Phasenverzögerungsschaltung 614 entspricht einem zweiten D-Typ-Flip-Flop 806. Die Übereinstimmung von anderen Komponenten von 6 ist in 8 durch die Verwendung von gleichen Bezugszeichen angezeigt.
  • Die in 8 dargestellte Ausgabemischschaltungsanordnung ist ähnlich zu derjenigen, die in 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 Lesevorgängen tristatemäßig zu betreiben, wünschenswert sein. Somit umfaßt 8 einen Tristate-Puffer 812 zwischen der Ausgabemischschaltungsanordnung 808, 810 und der Datenanschlußfläche. Der Zustand des Puffers 812 wird während dem Beginn und der Beendigung von Schreibvorgängen unter Verwendung 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 Synchronisation mit der Anfangsdatenausgabe der Ausgabemischschaltungsanordnung entweder von dem ersten Datenausbreitungsweg 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 Anschlußfläche DQ4 durch die Hälfte der Periode des Takts IOBCK verzögert ist).
  • Die JEDEC-DDR-SDRAM-Spezifikation legt fest, daß Daten synchron mit einem Übernahmesignal übertragen werden müssen. Als Folge ist die Treiberschaltungsanordnung von 8 mit einer Übernahmesignalanschlußfläche (DQS18) und einer Logik 824834 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 QDS18 gekoppelt ist. Aufgrund von Zeitgebungsüberlegungen, die später in dieser Beschreibung beschrieben werden, wird die Schaltungsanordnung jedoch durch das wpd-Signal und durch ein trist_s-Signal gesteuert, das getrennt von dem aber ähnlich wie das trist_d-Signal funktioniert.
  • Ein Übernahmesignal wird durch Liefern eines Paars von Signalen, act_stb[0] und act_stb[1], an die Übernahmesignaltreiberschaltungsanordnung 824834 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 jeweils 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 parallel getaktet, aber das act_stb[1]-Signal wird zuerst durch das zweite Paar von Flip-Flops 832, 834 getaktet. Durch Invertieren 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 Datentreiberschaltungsanordnung nach jedem Flip-Flop 832, 834 ein tristatemäßig betreibbarer Puffer 833, 835 folgt.
  • Die Zustände von act_stb[0] und act_stb[1] sind daher während 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ögerung 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) Erzeugen 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 Übernahmesignal für jeden Satz von vier Datensignalen (d. h. ein 4:1-Daten/Übernahmesignalverhältnis), während Schreibvorgänge auf x8 und x16-DDR-SDRAM ein Übernahmesignal für jeden Satz von acht Datensignalen erfordern (d. h. ein 8:1-Daten/Übernahmesignalverhältnis).
  • In der Vergangenheit wurden DDR-Speichersteuerungen entworfen, 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 Speichersteuerung in der Lage wäre, mit Speichermodulen zu kommunizieren, die aus RAM-Elementen mit nicht-homogener Datenbreite bestehen. Um diesen Bedarf zu decken, ist die in 713 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 bestehen, und DIMMs, die aus x16-DDR-SDRAMs bestehen).
  • 9 stellt eine beispielhafte Umgebung dar, in der die Speichersteuerung 100 arbeiten kann. Es ist anzumerken, daß die Speichersteuerung 100 über gemeinsame Daten- und Übernahmesignalleitungen mit einer Mehrzahl von Sockeln 902908 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 dritter der Sockel 906 hält ein DIMM 104b, das aus x16-DDR-SDRAM 910914 besteht.
  • In 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 bestehenden DDR-DIMMs zu ermöglichen, ist jede Übernahmesignalanschlußfläche zugeordnet zu vier Datenanschlußflächen gezeigt (z. B. Übernahmesignalanschlußfläche DQS0 entspricht den Datenanschlußflächen DQ0–DQ3 und die Übernahmesignalanschlußfläche DQS18 entspricht den Datenanschlußflächen DQ4–DQ7). Obwohl in 9 nur zwei Übernahmesignal- und acht Datenanschlußflächen dargestellt sind, kann die Speichersteuerung 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 Anschlußflächen Signale, wenn dieselbe mit DIMMs kommuniziert, 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 Übernahmesignale 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. 10 stellt ein beispielhaftes Abbilden von Übernahmesignalanschlußflächen auf Datenanschlußflächen für die Speichersteuerung von 9 dar, abhängig davon, ob die Speichersteuerung 100 Daten zu DIMMs treibt, die aus x4- oder x8/x16-DDR-SDRAMs bestehen. Es ist anzumerken, daß die oberen Ü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 (11) in der Speichersteuerung von 9 durchgeführt werden. Ein solches Abbild 1100 kann eine Tabelle von entsprechenden DIMM-Positionen 1104 (z. B. Sockeln) und DIMM-Typen umfassen, wobei die Typen beispielsweise folgendes spezifizieren: 1) Anzeigen von RAM-Element-Datenbreiten 1106 für eine Anzahl von DIMMs oder 2) Anzeigen von Daten/Ü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 erforderlich 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 eines tatsächlichen Daten/Übernahmesignalverhältnisses sein. Ein 4:1-Daten/Übernahmesignalverhältnis könnte in dem Speicherabbild 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 Daten/Übernahmesignalverhältnissen wünschenswerter machen.
  • Jeder Wert Ax könnte ebenfalls die Datenbreite von RAM-Elementen 910914, die auf einem DIMM 104c befestigt sind, sein (oder darstellen). Falls RAM-Elemente mit unterschiedlicher Datenbreite jedoch die gleichen Daten/Übernahmesignalverhältnisse aufweisen, wie in dem Fall von x8 und x16-DDR-SDRAMs kann die Größe von Ax-Werten reduziert werden, falls jeder Ax lediglich das Daten/Ü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 Rekonfiguration eines Computersystems 124. Bei einem bevorzugten 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. Alternativ, obwohl nicht bevorzugt, können die Datenbreiten, die von den Speichermodulen 104 (oder Darstellungen derselben) gewonnen werden, direkt in dem Speicherabbild 100 gespeichert 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 Speichersteuerung 100 eine Seriell-Präsenzerfassungssequenz in den Speichermodulen 104 ausführt, kann eine DDR-SDRAM-Datenbreite, die in einem ROM von jedem Speichermodul gespeichert ist, gelesen werden, in einen geeigneten Wert Ax umgewandelt werden und in dem Speicherabbild 1100 gespeichert werden.
  • Das Speicherabbild 1100 kann ebenfalls beibehalten werden, durch Versehen desselben mit einem Wert Ax für jedes Speichermodul ü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 Speicherabbild 1100 ausgegeben. Der ausgegebene Wert wird dann verwendet, um „fliegend" zu Bestimmen 1) wie viele Übernahmesignale durch die Speichersteuerung 100 erzeugt werden müssen, und 2) wo die Übernahmesignale erzeugt werden müssen (d. h. an welchen Übernahmesignalanschlußflächen).
  • Während Schreibzyklen der Speichersteuerung 100 werden adressierte Werte Ax durch eine Übernahmesignaltreiberschaltungsanordnung empfangen, die zwei oder mehr Teilsätze von Übernahmesignaltreiberschaltungen umfaßt, wobei jede Übernahmesignaltreiberschaltung wie in 8 dargestellt konfiguriert sein kann. Die Teilsätze von Übernahmesignaltreiberschaltungen sind so konfiguriert, daß zumindest einer der Teilsätze ansprechend auf nur einen Abschnitt der Werte Ax Übernahmesignale erzeugt. Falls beispielsweise jeder Wert Ax aus einem einzigen binären Bit besteht, kann ein Teilsatz von Übernahmesignaltreiberschaltungen nur Übernahmesignale erzeugen, wenn Ax = 1 ist, wobei der andere Teilsatz von Übernahmesignaltreiberschaltungen für beide Werte von Ax Übernahmesignale erzeugen kann. Mit Bezugnahme auf 10 werden Übernahmesignale immer an niedrigeren Übernahmesignalanschlußflächen erzeugt, aber Übernahmesignale 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 werden an allen Übernahmesignalanschlußflächen Übernahmesignale 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 Speicherabbild 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 9 dargestellten Speichersteuerung 100 zum Schreiben oder Empfangen von Daten von dem DIMM-Typ, der adressiert wird, geeignet konfiguriert werden können.
  • Die Treiberschaltungsanordnung für die verschiedenen in 9 gezeigten Daten- und Übernahmesignalanschlußflächen kann wie in 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 Signal 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 werden, um die niedrigeren Übernahmesignalanschlußflächen (d. h. Anschlußflächen DQS0–QDS17) der Speichersteuerung von 9 zu konfigurieren, ist in 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–QDS35) der Speichersteuerung von 9 zu konfigurieren, ist in 13 dargestellt. In 12 wurden die act_stb[0]- und act_stb[1]-Signale von 8 jeweils umbenannt in act_stb_low[0] und act_stb_low[1]. Gleichartig dazu wurden in 13 die act_stb[0]- und act_stb[1]-Signale von 8 jeweils in act_stb_up[0] und act_stb_up[1] umbenannt.
  • Es ist anzumerken, daß die in 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 Speichersteuerung 100 mit weniger Funktionalität erwünscht wird, wird ein Durchschnittsfachmann auf diesem Gebiet leicht verstehen, wie in den Schaltungen von 12 und 13 Gatter zu eliminieren sind, um dadurch Funktionalität zu elimenieren, die für eine bestimmte Anwendung nicht benötigt wird.
  • Der Betrieb der Schaltungsanordnung von 12 in dem 1x-Modus wird nun beschrieben. In dem 1x-Modus wird das data2xn1x-Signal in einen niedrigen Zustand getrieben, und die Aktivierung des write_m_active-Signal beginnt die Erzeugung 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 ergibt, aufgrund der Anordnung des Gatters 1206, des Multiplexers 1202, des D-Typ-Flip-Flop 1208 und des Rückkopplungswegs 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 write_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 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 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 Schreibphasenverzö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 12 nicht in der Lage ist, eine lange Schreibpräambel zu erreichen. 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 8).
  • Zusammenfassend erzeugt die Schaltungsanordnung von 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 8 verwendet, um ein 1x-Übernahmesignal zu erzeugen, und die statischen Ausgangssignale werden durch die Schaltungsanordnung von 8 verwendet, um ein 2x-Übernahmesignal zu erzeugen.
  • Der Betrieb von 13 im 1x-Modus wird nachfolgend beschrieben. In dem 1x-Modus wird das data2xn1x-Signal in einen 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 bestehen, werden die act_stb_up[0:1]-Signale in einen niedri gen Zustand getrieben, so daß an den oberen Übernahmesignalanschlußflächen der Speichersteuerung von 9 keine Übernahmesignale erzeugt werden. Somit muß 13 bezüglich 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 werden. 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 aktiviert ist. Während einem 1x-Schreibvorgang jeder Art wird das reset_L-Signal hochgehalten. Somit wird das zweite Eingangssignal zu dem UND-Gatter 1304 nur aktiviert, wenn das Ausgangssignal des Multiplexers 1306 hoch ist. Das Ausgangssignal des Multiplexers 1306 kann nur aktiviert werden, wenn das Signal write_x4 aktiviert ist (da der Multiplexer 1306 durch das Ausgangssignal des Multiplexers 1334 gesteuert wird). Das write_x4-Signal wird daher verwendet, um anzuzeigen, ob ein Schreibvorgang auf ein DIMM durchgefü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 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 deaktiviert, und die Ausgangssignale act_stb_up[0:1] werden niedrig gehalten.
  • Der Betrieb der Schaltungsanordnung von 13 während einem 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 Aktivierung 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 Ausgangssignal 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 Eingangssignale in die Schaltung 1300 den Zustand nicht ändern (außer Takt MCK) schalten die act_stb_up[0:1]-Signale aufgrund des Vorliegens des Rückkopplungswegs 1324 hin und her.
  • Ein x4-Schreibvorgang in dem 1x-Modus kann durch einen halben 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 Übernahmesignals, 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ängert 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 Aktivierung 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 13 arbeitet in dem 2x-Modus wie folgt. Das data2xn1x-Signal wird in einen hohen Zustand getrieben, und die Gatter 1318 und 1322 werden deaktiviert. 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 erzeugt werden, liegt darin, daß eine Auswahl getroffen wurde, Zwischenchips 302 (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
  • 1417 stellen Schreibzeitgebungen der in 7, 8, 12 und 13 dargestellten Speichersteuerungstreiberschaltungsanordnung dar.
  • In 14 wird DQ4_PAD_ON in dem gleichen Zyklus aktiviert, in dem DQ4 getrieben wird. Wie es in 8 gezeigt ist, ist DQ4_PAD_ON das Signal, das den Tristate-Puffer aktiviert, der mit der DQ4-Anschlußfläche gekoppelt ist. Gleichartig dazu ist DQS18_PAD_ON das Signal, das den Tristate-Puffer aktiviert, der mit der QDS18-Anschlußfläche gekoppelt ist. W1, Wbl-1 und Wbl stellen aufeinanderfolgende Bits eines Datenworts dar, das an der DQ4-Anschlußfläche erscheint. 14 stellt den Fall dar, bei dem long_wpre = 0 ist, und spezifiziert somit eine Schreibpräambel 1400 von einem MCK-Taktzyklus. 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 Phase). Die Signale, die durch Pfeile mit trk_pad_owd verbunden 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ächensteuerzustandsmaschine 2900 (29) geliefert, zum Zweck des Erzeugens der Signale trist_d und trist_s (8). 14 bezieht sich auf die Schreibzeitgebungen einer niedrigeren Übernahmesignalanschlußfläche (d. h. eine Übernahmesignalanschlußfläche, die konfiguriert ist, um auf DIMMs zu schreiben, die aus x4 und x8/x16-DDR-SDRAM bestehen). 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.
  • 15 ist ähnlich wie 14, aber mit einer langen Schreibpräambel (d. h. long_wpre = 1). Somit ist eine Schreibpräambel 1500 von zwei MCK-Taktzyklen angezeigt.
  • In 16 aktiviert DQ4_PAD_ON auf dem gleichen Zyklus, auf dem DQ4 getrieben wird. w1, w2, ...w8 stellen nachfolgende Bits eines Datenworts dar, das an der DQ4-Anschlußfläche erscheint. 16 stellt den Fall dar, bei dem long_wpre = 0 ist, und spezifiziert somit eine Schreibpräambel 1600 von 0,75 MCK-Taktzyklen. Eine 0,75-MCK-Zykluspostambel ist ebenfalls vorgesehen. 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 verschieben (d. h. eine Phase). Die Signale, die durch Pfeile mit trk_pad_owd verbunden sind, werden alle durch die Aktivierung von trk_pad_owd gesteuert, und weisen daher eine feste Zeitgebung bezüglich zueinander auf. 16 bezieht sich auf Schreibzeitgebungen einer niedrigeren Übernahmesignalanschlußfläche. Eine obere Übernahmesignalanschlußfläche würde die DQWS18-Leitung tief halten, wenn Schreibvorgänge auf DIMMs auftreten, die aus x8- oder x16-DDR-SDRAMs bestehen.
  • 5. Fähigkeit, in einem 1x- oder einem 2x-Modus zu lesen
  • 17 ist ähnlich wie 16 aber mit einer langen Schreibpräambel (d. h. long_wpre = 1). Somit ist eine Schreibpräambel 1700 von 1,75 MCK-Taktzyklen angezeigt.
  • 18 stellt ein bevorzugtes Ausführungsbeispiel einer Empfängerschaltungsanordnung 1800 für eine Doppeldatenraten-Speichersteuerung 100 (9) dar. Die Empfängerschaltungsanordnung 1800 umfaßt eine Datenanschlußfläche (DQ4), vier transparente Dateneingabelatches 1802, 1804, 1806, 1808, Übernahmesignalverteilungsschaltungsanordnung 1810, 1812 (zum Verteilen von Übernahmesignalen zu den Dateneingabelatches 18021808 durch einen Zählwert von Übernahmesignalflanken, wodurch eine Einrichtung zum Lesen von Daten von einem DIMM, das aus x4-, x8- oder x16-DDR-SDRAMs besteht, geliefert wird), ein Paar von 4:1-Entzerrmultiplexern 1814, 1816 (d. h. Entzerrmultiplexstufe) und Multiplexerauswahllogik 18181846 zum Versehen der Entzerrungsmultiplexer 1814, 1816 mit einem geeigneten Satz von Steuersignalen (abhängig davon, ob die Empfängerschaltungsanordnung 1800 für einen Lesevorgang im 1x-Modus oder Mx (z. B. 2x)-Modus) konfiguriert ist. Es ist anzumerken, daß die in 18 offenbarte Anschlußfläche vorzugsweise gleich ist wie die in 8 offenbarte Datenanschlußfläche, und somit eine bidirektionale Datenanschlußfläche ist.
  • Die vier Dateneingabelatches 18021808 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 ansprechend auf ein Übernahmesignal, das an einer Übernahmesignalanschlußfläche DQS18 empfangen wird (19), so daß 1) ein erstes Datenbit in das Latch 1802 zwischengespeichert wird, ansprechend auf eine erste ankommende Übernahmesignalflanke, die an der DQS18-Übernahmesignalanschlußfläche empfangen wird, 2) ein zweites Datenbit in das Latch 1804 zwischengespeichert wird, ansprechend auf eine zweite ankommende Übernahmesignalflanke, die an der DQS18-Anschlußfläche empfangen wird, 3) ein drittes Datenbit in das Latch 1806 zwischengespeichert wird, ansprechend auf eine dritte ankommende Übernahmesignalflanke, die an der QDS18-Anschlußfläche empfangen wird, 4) ein viertes Datenbit in das Latch 1808 zwischengespeichert wird, ansprechend auf eine vierte ankommende Übernahmesignalflanke, die an der DQS18-Anschlußfläche empfangen wird, und dann 5) neue Datenbits sequentiell erneut in die Latches 18021808 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 18 ersichtlich 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 notwendig, zu verstehen, daß ein Satz von Steuerimpulsen, wie z. B. die Signale S1–S4 zum Zwischenspeichern von Daten in die jeweiligen Dateneingabelatches 18021808 vorgesehen sind. Unabhängig davon, ob die Empfängerschaltungsanordnung 1800 konfiguriert ist, um in einem 1x- oder 2x-Modus zu arbeiten, 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 Steuersignale S1–S4 sequentiell aktiviert, ansprechend auf ankommende Übernahmesignalflanken, die an einer Übernahmesignalanschluß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 empfangen werden.
  • Wie es in 18 dargestellt ist, ist jedes der transparenten Dateneingabelatches 18021808 mit Eingängen eines ersten und eines zweiten 4:1-Entzerrmultiplexers 1814, 1816 gekoppelt. In dem 1x-Modus ist der Ausgang des zweiten Entzerrmultiplexers 1816 jedoch bedeutungslos und wird ignoriert. Wie aus der Fig. ersichtlich ist, hält die Deaktivierung des data2xn1x-Signals die Steuereingänge des zweiten 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 18021808 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 sequentiell mit dem Ausgang des Multiplexers in der Reihenfolge 0, 2, 1, 3 gekoppelt. Der erste Entzerrmultiplexer 1814 gibt daher Datenbits sequentiell aus, in der Reihenfolge, in der die an der DQ4-Datenanschlußfläche empfangen werden. Jedes Ausgangssignal des ersten Entzerrmultiplexers 1814 wird in den Kerntaktbereich der Speichersteuerung von 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 18021808 in dem Zeitbereich eines Übernahmesignals arbeiten, das an einer Ü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 Speichersteuerung 100. Aufgrund des Zwischenspeicherns von Daten in vier Dateneingabelatches 18021808 ist die Speichersteuerung 100 (und insbesondere die Multiplexerauswahllogik 18181846 zum Steuern der Entzerrmultiplexer 1814, 1816) mit einem Fenster versehen, das gleich ist wie 1,5 Perioden eines ankommenden Übernahmesignals, um Daten aus einem Dateneingabelatch zu takten und in den Kern der Speichersteuerung 100 zu takten. Ein Durchschnittsfachmann auf diesem Gebiet wird leicht verstehen, daß die Anzahl von Dateneingabelatches 18021808, die in der Empfängerschaltungsanordnung von 18 vorgesehen sind, auf P Latches extrapoliert werden können, wobei P ≥ 2 ist, um dadurch eine kürzere oder längere Periode zum Übertragen von Daten von dem Übernahmesignalbereich eines ankommenden Übernahmesignals zu dem Taktbereich der Speichersteuerung 100 zu liefern. Es ist außerdem offensichtlich, daß statt der transparenten Dateneingabelatches 18021808 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 18021808 zwischengespeichert werden. Die Dateneingänge des ersten 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 18021808 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 folgenden 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 Multiplexer 1814, 1816 den Zustand in Synchronisation mit dem Speichersteuerungstakt IOBCK ändern, aber daß die Steuersignale 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 Steuersignale, 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 bezeichnet. Es ist anzumerken, daß unabhängig davon, ob Datenbits durch die Schaltungsanordnung 1800 von 18 in dem 1x- oder 2x-Modus empfangen werden, jedes der Steuersignale, die durch die Multiplexerauswahllogik 18181846 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 Entzerrmultiplexers 1816 gekoppelt sind, werden gerade und ungerade 2x-Datenbits zu dem Kern der Speichersteuerung 100 parallel ausgegeben. Diese Tatsache ist lediglich eine Entwurfsauswahl und wird aus Gründen der Vollständigkeit der Beschreibung des bevorzugten Ausführungsbeispiels geliefert.
  • Die Empfängerschaltungsanordnung von 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 18561860 ist es, die stromabwärtige Empfängerschaltungsanordnung 18021808, 1814, 1816, 18481852 von Rauschen abzuschirmen, das Vorliegen könnte, wenn der Bus, der mit der Datenanschlußfläche DQ4 gekoppelt ist, im Ruhezustand ist und tristatemäß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 21 ist beispielsweise eine Mehrzahl von Speichermodulen 104 über gemeinsame Daten-(DQ) und Übernahmesignal-(DQS)Busse mit einer Speichersteuerung 100 verbunden. Die Mehrzahl der Speichermodule 104 ist nicht nur mit den Daten- und Übernahmesignalbussen verbunden, sondern jedes der Speichermodule 104 kann Zeitgebungsschwankungen innerhalb erlaubter Bereiche zeigen (z. B. innerhalb der Bereiche, die in der JEDEC-DDR-SDRAM-Spezifikation vorgesehen sind). Ferner können Kopien eines Taktsignales, die zu jeder der Mehrzahl von Speichermodulen 104 verteilt sind, bezüglich zueinander versetzt werden.
  • Als eine Folge der obigen Unregelmäßigkeiten können Leseanforderungen, die zu unterschiedlichen Speichermodulen (mit ihren verschiedenen Zeitgebungscharakteristika und versetzten Takten) gesendet werden, verschieden lang benötigen, um zu der Steuerung zurückzukehren, und es gibt eine Schwankung 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 Speichersteuerung 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 Schleifenverzögerung (d. h. der Fall eines späten Empfangs) angemessen empfangen wird.
  • Die Daten- und Übernahmesignalbusse für die Speichermodule 104 unter der JEDEC-DDR-SDRAM-Spezifikation haben eine bemerkenswerte 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 unterworfen sind, wenn deren entsprechende Busleitungen tristatemäßig betrieben werden. Falls dieselben nicht erklärt werden, können diese Übergänge fälschlicherweise als aktive Übernahmesignalflanken interpretiert werden, wodurch es zu einer potentiellen Datenverfälschung kommen kann.
  • Die JEDEC-DDR-SDRAM-Spezifikation versucht, dieses Problem durch Bereitstellen einer „Lesepräambel" und einer „Lesepostambel" zu bewältigen. Die Lesepräambel liefert eine Zeitperiode 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 Übernahmesignalflanke, während der eine Übernahmesignalanschlußfläche niedrig gehalten wird. Als Folge können Übernahmesignalflanken etwas zu spät oder etwas zu früh an einer Übernahmesignalanschluß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.
  • 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 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 Ankunft von Übernahmesignalflanken an der Übernahmesignalanschlußfläche DQS18 darstellen (d. h. den „Fall eines frühen Empfangs" und den „Fall eines späten Empfangs"). Man beachte 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 Übernahmesignale an einer Übernahmesignalanschlußfläche empfangen werden (d. h. früh oder spät) und eine solche Vorhersage mit perfekter Genauigkeit durchgeführt werden kann, kann daher der Empfänger einer Übernahmesignalanschlußfläche nicht in allen Fällen tristatemäßig betrieben werden, sowohl 1) nach dem Empfang einer letzten Übernahmesignalflanke und 2) bevor 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 zuzugreifen, abhängt, sondern auch von der Temperatur, dem Taktabstand, Speicherzugriffsgeschwindigkeiten, usw. Eine Möglichkeit zum Verhindern, daß das tristatemäßige Betreiben des Übernahmesignals ein Rauschen erzeugt, das als aktive Übernahmesignalkanten interpretiert wird, wird daher benötigt. Die 18, 19 und 20 stellen eine solche Einrichtung dar.
  • In 18 sind vier Dateneingabelatches 18021808 gekoppelt, um Daten von einer Datenanschlußfläche DQ4 zu empfangen. Die vier Latches 18021808 werden jeweils durch Werte eines Zählwerts gesteuert. In 18 werden die vier Lat ches 18021808 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 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ähler wird gesteuert durch die Zählersteuerlogik 1902, die einen Block Kombinationslogik 1904 und einen Abschnitt der Kernlogik 1908 der Speichersteuerung umfaßt. Die Kombinationslogik 1904 empfängt ein Steuersignal (DQS18_start), Rückkopplung 1906 von dem Zähler 1900 und das Freigabesignal DQS18_RCV_ON. Das Freigabesignal DQS18_RCV_ON wird sowohl zu der Kombinationslogik 1904 der Zählersteuerlogik 1902 als auch zu dem Empfänger 2030 gesendet, der die Übernahmesignalflanken puffert, die an der Übernahmesignalanschlußfläche DQS18 empfangen werden, so daß die in 19 gezeigte Übernahmesignalempfängerschaltungsanordnung global aktiviert werden kann, ähnlich zu der Art und Weise, auf die die Datenempfängerschaltungsanordnung von 18 aktiviert wird.
  • Die primären Steuereingangssignale der Kombinationslogik sind das Steuersignal DQS18_start und die Zählerrückkopplung 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 aktiviert ist. Bei einem ersten bevorzugten Ausführungsbeispiel ist das Steuersignal DQS18_start lediglich ein Impuls mit fester Breite, der vor jedem Lesezyklus der Speichersteuerung 100 erzeugt wird. Bei diesem ersten bevorzugten Ausführungsbeispiel wird von jedem Übernahmesignal, das bei DQS18 empfangen wird, angenommen, daß es die gleiche Anzahl von Flanken aufweist. Bei einem zweiten bevorzugten Ausführungsbeispiel umfaßt das Steuersignal DQS18_start eine Startbedingung (z. B. eine Abfallflanke) und eine Stoppbedingung (z. B. eine Anstiegsflanke), wobei die Zeitgebung der Start- und Stoppbedingungen schwanken, abhängig von der Anzahl von Übernahmesignalflanken, die erwartungsgemäß während einem aktuellen Lesezyklus empfangen werden. Auf diese Weise kann die Kernlogik 1908 die Start- und Stoppbedingungen 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 Leseflexibilität.
  • 20 stellt ein bevorzugtes und detaillierteres Ausführungsbeispiel der in 19 dargestellten Schaltungsanordnung dar, bei dem die Signale S1–S4 durch einen Überlaufzähler 20022012 erzeugt werden, der seinen Vier-Bit-Zählwert, bei dem ein Zustand logisch hoch ist, ansprechend auf jede Übernahmesignalflanke, die an der Übernahmesignalanschlußfläche DQS18 empfangen wird, inkrementiert. Der Überlaufzähler 20022012 wird durch die Zählersteuerlogik 20142028 aktiviert und zurückgesetzt, die mit den DQS18_tff_rise_rst und DQS18_tff_fall_rst-Eingängen des Zählers 20022012 gekoppelt ist. Während einem Lesezyklus erzeugt die Zählersteuerlogik 20142028 eine Startbedingung bei DQS18_tff_start (eine Abfallflanke in 20), um dadurch das Zählen der Übernahmesignalflanken des Zählers zu aktivieren. Dies unter der Annahme, daß der Zähler 20022012 bereits zurückgesetzt ist. Die Zählersteuerlogik 20142028 unterstützt dann beim Zurücksetzen des Zählers 20022012 durch Erzeugen einer Stoppbedingung (eine Anstiegsflanke in 20) bei DQS18_tff_start.
  • Wie nachfolgend näher erklärt werden wird, dient die Startbedingung dazu, den Zähler 20022012 asynchron bezüglich der Übernahmesignalflanken zu aktivieren, die an den Übernahmesignalanschlußflächen DQS18 empfangen werden.
  • Der Zähler 20022012 ist ebenfalls asynchron zurückgesetzt bezüglich der Übernahmesignalflanken, die an den Übernahme signalanschlußflächen DQS18 empfangen werden. Der Zähler 20022012 wird ansprechend auf die Stoppbedingung und Zählerrückkopplung rückgesetzt. Es ist anzumerken, daß bei 22 die Stoppbedingung in der Mitte eines Lesezyklus erzeugt wird, und während dem Zählen der letzten vier Übernahmesignalflanken (d. h. der letzten P Übernahmesignalflanken in den Ansprüchen) des Lesezyklus durch einen Zähler. Aufgrund der Zählerrückkopplung, die an den Eingängen der Logikgatter 2014 und 2018 der Zählersteuerlogik 20142028 empfangen werden, setzt der Zähler 20022012 jedoch das Zählen der letzten vier Übernahmesignalflanken eines empfangenen Übernahmesignals fort, bevor derselbe in einen Rücksetzzustand eintritt – selbst wenn der Zähler 20022012 bereits ein Stoppbedingung empfangen hat. Die Stoppbedingung stoppt daher den Zähler 20022012 nicht unmittelbar, sondern hindert eher den Zähler 20022012 daran, an den letzten vier Übernahmesignalflanken eines empfangenen Übernahmesignals vorbei zu zählen. Wie in Kürze verständlich werden wird, zählt der Zähler 20022012 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ähler 20022012 eine, zwei oder drei der letzten vier Übernahmesignalflanken gezählt hat, wenn eine Stoppbedingung erzeugt wird. Solange die letzten vier Übernahmesignalflanken von DQS18 (früh) die letzten vier Übernahmesignalflanken 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 20022012 zurückgesetzt wird, bevor ein Übernahmesignalbus tristatemäßig betrieben wird.
  • In 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 20062012, die den vorher erwähnten arithmetischen 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 Ausgangssignale SA und SA' und wird durch Übernahmesignalanstiegsflanken getaktet. Das zweite der beiden Flip-Flops 2004 erzeugt Ausgangssignale SB und SB' und wird durch Übernahmesignalabfallflanken getaktet.
  • Stromabwärts von den beiden Flip-Flops 2002, 2004 des Zählers 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 20062012. Die Eingänge der vier UND-Gatter 20062012 sind mit verschiedenen der Ausgänge SA, SA', SB und SB' verbunden, so daß die UND-Gatter 20062012 ihre Ausgangssignale S1–S4 auf sequentielle Weise und überlaufartig aktivieren.
  • Falls das Flip-Flop 2002, das das Ausgangssignal SA erzeugt, als das niederwertige Flip-Flop des Zählers 20022012 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 20 gezeigte Zähler ein Überlaufzähler 20022012 ist, kann der Zähler auch andere Formen annehmen. Beispielsweise könnte der Zähler zusätzliche Zustandselemente 2002, 2004 umfassen, oder Ausgabelogik 20062012 zum Zählen aller Übernahmesignalflanken eines Übernahmesignals, ohne während einer bestimmten Zählung überlaufen zu müssen.
  • Die Zählersteuerlogik 20142028, 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 erstes UND- und ODER-Gatter 2014, 2016 ist der erste Rücksetzeingang 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 20022012 (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 Aktivieren und Zurücksetzen des Zählers 20022012 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 Multiplexer 2028 das Signal stb_reset an jedem seiner Eingänge empfängt, aber Änderungen bei dem stb_reset-Signal an seinem „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 Lesephasenverzö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 geliefert, 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 werden, um den Zähler 20022012 beim Einschalten zurückzusetzen.
  • 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 getaktete 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 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 Extrapolation wird der Zähler 20022012 erweitert, um einen P Bit-Zählwert zu erzeugen, bei dem ein Zustand logisch hoch ist. Gleichartig dazu kann die Anzahl von Dateneingabelatches 18021808 auf P Latches ausgeweitet werden. Somit ist in 18 und 20 P = 4.
  • Der Betrieb der Empfängerschaltungsanordnung 2000, die in 20 dargestellt ist, kann durch Bezugnahme auf 2227 besser verstanden werden. 22 liefert einen Vergleich von verschiedenen Signalzeitgebungen für Früh- und Spätfallesevorgänge in einem 1x-Modus mit keiner Lesephasenverzögerung (rpd = 0). Gleichartig dazu liefert 25 einen Vergleich von verschiedenen Signalzeitgebungen für Früh- und Spätfallesevorgängen in einem 2x-Modus mit keiner Lesephasenverzögerung (rpd = 0). 23, 24, 26 und 27 zeigen folgendes:
  • 23: Signalzeitgebungen in einem 1x-Modus, früher Fall, rpd = 0
  • 24: Signalzeitgebungen in einem 1x-Modus, später Fall, rpd = 0
  • 26: Signalzeitgebungen in einem 2x-Modus, früher Fall, rpd = 0
  • 27: Signalzeitgebungen in einem 2x-Modus, später Fall, rpd = 0
  • A. 1x-Lesezyklen
  • Mit Bezugnahme auf 22 ist der Kerntakt, MCK, der in 9, 18 und 20 dargestellten Speichersteuerung 100 gezeigt. Die Signale trk_ird und trk_srd werden zu einer Anschlußflächensteuerzustandmaschine 2900 (29) gesendet, die jeweils das stb_reset-Signal erzeugt, das zu dem Flip Flop 2022 gesendet wird, und auch das rcv_on-Signal, daß zu Flip-Flops 2034 gesendet wird. Die trk_srd und trk_ird bestimmen daher den Anstieg und Abfall von verschiedenen Übernahmesignalempfängerschaltungsanordnungssignalen. Obwohl in 29 nicht gezeigt, empfängt die Anschlußflächensteuerzustandsmaschine ebenfalls Signale, die anzeigen, ob ein aktueller Lesezyklus einen 1x- oder einen 2x-Modus und einen Bündel von vier oder einen Bündel von Acht-Modus annimmt. Diese zusätzlichen Signale bestimmen wiederum wann stb_reset und rcv_on aktiviert sind.
  • Wie es in 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 darstellt). Falls der Zähler 20022012 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 Empfängerschaltungsanordnung von 20 im allgemeinen aktiviert, aber nicht den Zähler 20022012 der Schaltungsanordnung aktiviert. Mit dem Abfall von DQS18_tff_start und DQS18_tff_rise_rst einen Zyklus nach dem Anstieg von DS18_RCV_ON ist der Zähler 20022012 jedoch in einem Zustand plaziert, bei dem er bereit ist, das Zählen von Übernahmesignalflanken zu beginnen, sobald dieselben empfangen werden (d. h. der Zähler 20022012 wird ansprechend auf eine Startbedingung und eine Zählerrückkopplung) asynchron aktiviert.
  • Vorzugsweise wird der Zähler 20022012 zu einer Zeit aktiviert, die zwischen i) einen spätesten Zeitpunkt, wenn die Zählersteuerlogik 20142028 erwartet, daß ein Übernahmesignalbus, der mit einer Übernahmesignalanschlußfläche DQS18 gekoppelt ist, den Tristat verläßt, und ii) einen frühesten Zeitpunkt, wenn die Zählersteuerlogik 20142028 erwartet, daß die Flanken eines Übernahmesignals an der Übernahmesignalanschlußfläche DQS18 empfangen werden, fällt. Somit ist bezüglich dem Empfang von Übernahmesignalen der Übernahmesignalempfängerschaltungsanordnung, die der JEDEC-DDR-SDRAM-Spezifikation entspricht, der Zähler 20022012 vorzugsweise zu einem Zeitpunkt aktiviert, bei dem die Zählersteuerlogik 20142028 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 Tristate-Rauschen durch den Zähler 20022012 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ängerschaltungsanordnung 200 von 20 vollständig). Der Anstieg von DQS18_tff_start und der Abfall von DQS18_RCV_ON schwanken bei der Zeitgebung, abhängig davon, ob ein Lesezyklus 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 Beschreibung 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 20022012 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 20022012 gezählt. Folglich werden die vier Dateneingabelatches 108021808, die mit dem Datenweg DQ4 gekoppelt 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 ausgelö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 22 gezeigt ist, wird die erste Abfallflanke von DQS18_tff_fall_rst von dem Empfang einer ersten Übernahmesignalflanke des Zählers von 20 ausgelöst. Danach zählt der Zähler 20022012 weiterhin Übernahmesignalflanken, 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 Übernahmesignalflanken) wird der Anstieg von DQS18_tff_rise_rst ansprechend 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 ausgelöst wird).
  • Der Vollständigkeit halber stellt 22 den Empfang von Daten an der Datenanschlußfläche DQ4 (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)). 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).
  • 23 stellt Signalzeitgebungen in dem frühen 1x-Modus-Lesefall ohne Lesephasenverzögerung dar (rpd = 0). Es ist anzumerken, daß die überlappenden Aktivierungen und Deaktivierungen 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 ankommenden Übernahmesignals erzeugt, das an der Übernahmesignalanschlußfläche DQS18 empfangen wird.
  • 24 stellt Signalzeitgebungen in dem späten 1x-Modus-Lesefall ohne Lesephasenverzögerung dar (rpd = 0).
  • B. 2x-Lesezyklen
  • Mit Bezugnahme auf 25 ist erneut der Kerntakt, MCK, der Speichersteuerung 100 gezeigt, die in 9, 18 und 20 dargestellt ist.
  • Wie in 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 darstellt). Falls der Zähler zurückgesetzt ist (wie er sein sollte, wenn trk_ird aktiviert ist), 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 Übernahmesignalempfängerschaltungsanordnung 2000 von 20 allgemein aktiviert, aber nicht den Zähler 20022012 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 20022012 jedoch 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 20022012 wird ansprechend auf eine Startbedingung und eine Zählerrückkopplung) asynchron aktiviert.
  • Vorzugsweise wird der Zähler 20022012 zu einem Zeitpunkt aktiviert, der zwischen i) einen spätesten Zeitpunkt, wenn die Zählersteuerlogik 20142028 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 20142028 erwartet, daß Flanken eines Übernahmesignals an der Übernahmesignalanschluß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 20022012 vorzugsweise zu einem Zeitpunkt aktiviert, bei dem die Zählersteuerlogik 20142028 erwartet, daß sowohl DQS18 (früh) als auch DQS18 (spät) in ihren jeweiligen Präambelzustand sind. Auf diese Weise werden fehlerhafte Übergänge bei der Übernahmesignalanschlußfläche DQS18 als ein Ergebnis von Tristat-Rauschen durch den Zähler 20022012 nicht als aktive Übernahmesignalflanken interpretiert.
  • Die Aktivierung des trk_srd-Signal bestimmt den Anstieg von DQS18_tff_start und auch den Abfall von DQS18_RCV_ON (dieser Abfall deaktiviert die Übernahmesignalempfängerschaltungsanordnung 2000 von 20 in ihrer Gesamtheit). Da die Speichersteuerung 100 in dem 2x-Modus nicht direkt mit dem Speicher 104 kommuniziert, nehmen 2x-Lesevorgänge vorzugsweise immer ein Bündel-von-acht-Form an, und somit weisen 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. Solange DQS18_tff_start während dieser Periode ansteigt, zählt der Zähler 20022012 jedes einzelne aktive Übernahmesignal, das bei DQS18 empfangen wird, und setzt sich dann ansprechend auf den Anstieg von DQS18_tff_start (d. h. eine Stoppbedingung) und eine Zählerrückkopplung asynchron zurück. Phantomübernahmekanten, die als eine Folge von Rauschen erzeugt werden, wenn DQS18 (früh) tristatemäßig betrieben wird, werden daher von dem Zähler 20022012 nicht gezählt. Folglich werden die vier Dateneingabelatches 18021808, 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 Speichersteuerung 100 ausgelöst. Alle anderen Anstiegs- und Abfallflanken 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 Speichermodule 104 oder der Zwischenchips 302 ausgelöst, an die die DQS18-Übernahmesignalanschlußfläche angeschlossen ist.
  • Wie es in 25 gezeigt ist, wird die erste Abfallflanke von DQS18_tff_fall_rst von dem Empfang des Zählers in 20 einer ersten Abfallflanke ausgelöst. Danach zählt der Zähler 20022012 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 eine 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 25 den Empfang von Daten an der Datenanschlußfläche DQ4 (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)). 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).
  • 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 aufeinanderfolgenden Impulsen führen. Jeder Impuls wird mit der Frequenz eines Übernahmesignals erzeugt, das an der DQS18-Übernahmesignalanschlußfläche empfangen wird, und jeder Impuls speichert ein neues Datenbit (d. h. r1, r2, r3, r4, r5, r6, r7 oder r8) in der DQ4-Empfängerschaltungsanordnung 1800 zwischen (siehe 18).
  • 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 11 dargestellte Speicherabbild 1100 sind die Daten/Übernahmesignalpaare, die in 9 und 10 dargestellt sind, und die Steuerschaltungsanordnungen 1810, 1812, 28002806, die in 18 und 28 dargestellt sind (wobei diese Steuerschaltungsanordnungen noch erörtert wird), ist die Speichersteuerung 100, die in 9 dargestellt ist, in der Lage, Daten von den Speichermodulen 104 zu lesen, die aus RAM-Elementen mit nicht-homogener Datenbreite bestehen (z. B. DIMMs, die aus x4-DDR-SDRAMs bestehen, 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 Datenbreite bestehen, speichert das Speicherabbild 1100 eine Anzeige eines Daten/Übernahmesignalverhältnisses (z. B. einen Wert Ax) für jedes Speichermodul x, das mit der Speichersteuerung 100 gekoppelt ist. Während einem Lesezyklus der Speichersteuerung 100 wird ein adressierter Wert Ax von dem Speicherabbild 1100 ausgegeben, und zu der Steuerschaltungsanordnung 1810, 1812, 28002806 geliefert, die den Datenempfang bei einem Teilsatz der Datenanschlußflächen der Speichersteuerung steuert. In 18 ist die Steuerschaltungsanordnung so gezeigt, daß sie eine Anzahl von Multiplexern 1812 umfaßt, von denen jeder einen adressierten Wert Ax (in der Form eines Signals set_alt_n) als ein Steuereingangssignal empfängt.
  • Im allgemeinen steuert die Steuerschaltungsanordnung 1810, 1812, 28002806 den Datenempfang an einem Teilsatz der Datenanschlußflächen der Speichersteuerung, wie es in vorhergehenden Abschnitten dieser Beschreibung erörtert wird. Das heißt, ein Zählwert von Übernahmesignalflanken, die an einer Übernahmesignalanschlußfläche der Speichersteuerung (z. B. DQS18) empfangen werden, wird verwendet, um die Datenspeicherelemente (z. B. Datenlatches 18021808) zu steuern, die mit einem oder mehreren Anschlußflächen der Speichersteuerung (z. B. DQ4–DQ7; 9 und 18) gekoppelt sind. Beispielsweise können vier Dateneingabelatches 18021808 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 jeweiligen Latches 18021808 zu steuern. Gleichartig dazu kann jedes Bit eines Vier-Bit-Übernahmesignalzählwerts, bei dem ein Zustand logisch hoch ist, entsprechende Dateneingabelatches 18021808 steuern, die mit jeder der Anzahl von Datenanschlußflächen (z. B. Anschlußfläche DQ4–DQ7) gekoppelt sind.
  • Obwohl der obige Absatz ein bevorzugtes und vorher beschriebenes 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 Datenempfangs ohne den Multiplexer 1812 durchgeführt werden, der die Daten- und Übernahmesignalempfängerschaltungen koppelt, die in 18 und 20 dargestellt sind. Die zusätzliche Funktionalität, die durch den Multiplexer 1812 geliefert wird, der die Datenempfängerschaltung 1800 von 18 und die Übernahmesignalempfängerschaltung 200 von 20 koppelt, ist die Fähigkeit, eine Datenempfängerschaltung 1800 zwei oder mehreren unterschiedlichen Übernahmesignalempfängerschaltungen 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 Funktionalität, wie z. B. die Fähigkeit, von DIMMs zu lesen, die aus x4, x8 und x16-DDR-SDRAM bestehen, ist vorgesehen.
  • In 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 empfangen wird, oder ein Übernahmesignal, das an einer anderen Übernahmesignalanschlußfläche empfangen wird. Mit Bezugnahme auf die Zuordnungen von Daten- und Übernahmesignalanschlußflächen, die in 10 geliefert werden, kann man erkennen, daß ein Lesevorgang von einem DIMM, das aus x4-DDR-SDRAM besteht, eine Zuordnung zwischen der Datenanschlußfläche DQ4 und der Übernahmesignalanschlußfläche DQS18 erfordert, während eine Lesevorgang von einem DIMM, das aus x8- oder x16-DDR-SDRAMs besteht, eine Zuordnung zwischen der Datenanschlußfläche DQ4 und der Übernahmesignalanschlußfläche DQS18 erfordert. Somit ist der Übernahmesignalflankenzählwert, der aus den Bits S1_alt-S4_alt in 18 besteht, ein Zählwert von Übernahmesignalflanken, der an der Übernahmesignalanschlußfläche DQS18 erzeugt wird.
  • Wenn die in 18 und 20 dargestellte Schaltungsanordnung 1800, 2000 auf einen größeren Maßstab extrapoliert wird, wird ein Fachmann auf diesem Gebiet erkennen, daß die Speichersteuerung 100 von 9 mit einer Fähigkeit versehen ist, DIMMs 104 zu lesen, die aus nicht-homogenen DDR-SDRAMs bestehen, durch 1) liefern einer festen Korrelation zwischen einer ersten Hälfte der Datenanschlußflächen der Speichersteuerung (DQ0–DQ3, DQ8–DQ11, DQ16–19, ...) und den niedrigeren Übernahmesignalanschlußflächen der Speichersteuerung (DQS0–DQS17) und 2) liefern einer programmierbaren Korrelation zwischen einer zweiten Hälfte der Datenanschlußflächen der Speichersteuerung (DQ4–DQ7, DQ12–DQ15, DQ20–23, ...) und den oberen (DQS18–DQS35) und niedrigeren (DQS0–DQS17) Übernahmesignalanschlußflächen der Speichersteuerung. In dem letzteren Fall wird die programmierbare Korrelation durch eine Steuerschaltungsanordnung bestimmt, die beispielsweise eine Mehrzahl von Multiplexern 1812 umfaßt, die adressierte Werte von Ax (die in 18 als Signal set_alt_n erscheinen) von dem Speicherabbild 1100 empfä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 Übernahmesignalanschluß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 28 dargestellt. Nachdem reset_L während dem Systemrücksetzen kurz in einen niedrigen Zustand getrieben wird, wird reset_L hochgehalten. Die Auswahl eines primären oder alternativen Übernahmesignalflankenzählwerts für den Zweck des Steuerns der Dateneingabelatches 18021808 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 9 konfiguriert werden, um Daten von DIMM zu lesen, die aus x4, x8 und x16-DDR-SDRAM bestehen. Das read_tri_x4-Signal kann beispielsweise ein adressierter Wert Ax oder eine Ableitung desselben 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 Daten/Übernahmesignalverhältnisse bestehen (d. h. ein 4:1- und ein 8:1-Verhältnis) können die hierin offenbarten Lehren 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. Beispielsweise kann die Steuerschaltungsanordnung 1810, 1812, 28002806 zum Zuordnen von Daten und Übernahmesignaltreiberschaltungen 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 Übernahmesignalanschluß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 (23)

  1. Empfängerschaltungsanordnung (1800) für eine Speichersteuerung, die folgende Merkmale aufweist: a) eine Datenanschlußfläche (DQ4) zum Empfangen von Daten und eine Übernahmesignalanschlussfläche (DQS18) zum Empfangen von Übernahmesignalen von einem Tristate-Bus; b) P Speicherelemente (1802, 1804, 1806, 1808), die gekoppelt sind, um Daten von der Datenanschlußfläche (DQ4) zu empfangen (P ≥ 2), wobei die P Speicherelemente durch jeweilige Werte einer Zählung sequentiell aktiviert werden, um Daten zu empfangen; c) einen Zähler (1900, 2000), wobei der Zähler die Zählung ansprechend auf Übernahmesignalflanken von Übernahmesignalen aktualisiert, die an der Übernahmesignalanschlussfläche (DQS18) empfangen werden, wobei die Zählung abhängig davon stoppt, ob der Wert der Zählung anzeigt, dass eine erwartete Anzahl von Übernahmesignalflanken erreicht wurde, um zu verhindern, dass ein Übergang, der einem Tristate-Zustand zugeordnet ist, fälschlicherweise als Übernahmesignalflanke interpretiert wird; und d) eine Multiplexstufe (1814, 1816), die Daten von den P Speicherelementen empfängt und Steuersignale empfängt, die in einem Taktbereich der Empfängerschaltungsanordnung (1800) erzeugt werden, um die Daten von den P Speicherelementen zu der Speichersteuerung zu multiplexen.
  2. Empfängerschaltungsanordnung (1800) gemäß Anspruch 1, bei der jedes der P Speicherelemente (1802, 1804, 1806, 1808) ein Latch ist.
  3. Empfängerschaltungsanordnung (1800) gemäß Anspruch 1, bei der jedes der P Speicherelemente (1802, 1804, 1806, 1808) ein Flip-Flop ist.
  4. Empfängerschaltungsanordnung (1800) gemäß einem der Ansprüche 1 bis 3, bei der die Empfängerschaltungsanordnung Datenbits liest, die an der Datenanschlußfläche (DQ4) entweder mit einer 1x- oder einer Mx-Rate (M ≥ 2) empfangen werden, wobei die Empfängerschaltungsanordnung (1800) ferner eine Multiplexerauswahllogik umfaßt, wobei die Multiplexerauswahllogik folgendes erzeugt: a) einen ersten Satz von Steuersignalen, die zu der Multiplexstufe (1814, 1816) geliefert werden, wenn Datenbits an der Datenanschlußfläche (DQ4) mit einer 1x-Rate empfangen werden; und b) einen zweiten Satz von Steuersignalen, die zu der Multiplexstufe (1814, 1816) geliefert werden, wenn Datenbits an der Datenanschlußfläche mit einer Mx-Rate empfangen werden.
  5. Empfängerschaltungsanordnung (1800) gemäß Anspruch 4, bei der M = 2 ist.
  6. Empfängerschaltungsanordnung (1800) gemäß einem der Ansprüche 1 bis 5, bei der die Empfängerschaltungsanordnung Datenbits liest, die an der Datenanschlußfläche (DQ4) entweder mit einer 1x oder einer 2x-Rate empfangen werden, und bei der: a) die Multiplexstufe einen ersten und einen zweiten Multiplexer (1814, 1816) umfaßt, wobei der erste Multiplexer (1814) Daten von jedem der P Speicherelemente empfängt, und der zweite Multiplexer (1816) Daten von zumindest P/2 der P Speicherelemente empfängt; und b) die Steuersignale, die durch die Multiplexstufe empfangen werden, bewirken, daß sich Datenbits, die in jedem der P Speicherelemente gespeichert sind, jeweils durch den ersten Multiplexer (1814) ausbreiten, wenn. Datenbits an der Datenanschlußfläche (DQ4) mit einer 1x-Rate empfangen werden, und bewirken, daß sich Datenbits, die in geraden und ungeraden Sätzen der P Speicherelemente (1802, 1804, 1806, 1808) gespeichert sind, jeweils durch den ersten und den zweiten Multiplexer (1814, 1816) ausbreiten, wenn Datenbits an der Datenanschlußfläche (DQ4) mit einer 2x-Rate empfangen werden.
  7. Empfängerschaltungsanordnung (1800) gemäß einem der Ansprüche 1 bis 6, bei der der Zähler ein Überlaufzähler (2000) ist, der die Zählung als eine P-Bit-Zählung mit einem logisch hohen Zustand erzeugt.
  8. Empfängerschaltungsanordnung (1800) gemäß einem der Ansprüche 1 bis 7, die ferner Zählersteuerlogik umfaßt, wobei die Zählersteuerlogik den Zähler (1900, 2000) aktiviert, bevor jedes Übernahmesignal empfangen wird, durch Erzeugen von Startbedingungen asynchron bezüglich der empfangenen Übernahmesignale, wobei die Zählersteuerlogik jeden Zähler zurücksetzt, nachdem jedes Übernahmesignal empfangen wird, durch i) Empfangen einer Rückkopplung von dem Zähler, ii) Erzeugen von Stoppbedingungen, und iii) ansprechend auf die Rückkopplungs- und die Stoppbedingungen, Zurücksetzen des Zählers asynchron bezüglich der empfangenen Übernahmesignale.
  9. Empfängerschaltungsanordnung (1800) gemäß Anspruch 8, bei der die Start- und Stoppbedingungen auf einer einzigen Signalleitung erzeugt werden.
  10. Empfängerschaltungsanordnung (1800) 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. Empfängerschaltungsanordnung (1800) gemäß Anspruch 8, 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 1x-Modus-Doppeldatenraten-Lesezyklus; oder b) ein Mx-Modus-Doppeldatenraten-Lesezyklus (M ≥ 2).
  12. Empfängerschaltungsanordnung (1800) gemäß einem der Ansprüche 8 bis 11, bei der: a) der Zähler (2000) ein Überlaufzähler ist, der ein erstes und zweites Zustandselement (2002, 2004) umfaßt, die jeweils abwechselnd durch Anstiegs- und Abfallflanken von Übernahmesignalen getaktet sind, die an der Übernahmesignalanschlußfläche (DQS18) empfangen werden; und b) die Zählersteuerlogik ein erstes und zweites Logikgatter (2014, 2018) umfaßt, i) wobei das erste Logikgatter (2014) das erste Zustandselement (2002) ansprechend auf eine Rückkopplung von dem ersten Zustandselement, der Startbedingung und der Stoppbedingung aktiviert und rücksetzt; und ii) das zweite Logikgatter (2018) das zweite Zustandselement (2004) ansprechend auf eine Rückkopplung von dem ersten und dem zweiten Zustandselement aktiviert und zurücksetzt.
  13. Empfängerschaltungsanordnung (1800) gemäß Anspruch 12, bei der: i) das erste Zustandselement (2002) ein T-Flip-Flop ist, das die Ausgangssignale SA und SA' erzeugt; ii) das zweite Zustandselement (2004) ein T-Flip-Flop ist, das die Ausgangsignale SB und SB' erzeugt; iii) das erste Zustandselement (2002) ein zurückgesetztes Eingangssignal empfängt, das ein Jogisches UND von SA' und einer einzigen Signalleitung darstellt, auf der die Start- und Stoppbedingungen erzeugt werden; und iv) das zweite Zustandselement (2004) ein zurückgesetztes Eingangssignal empfängt, das ein logisches UND von SA' und SB' darstellt.
  14. Empfängerschaltungsanordnung (1800) gemäß einem der Ansprüche 1 bis 13, bei der P = 4 ist.
  15. Verfahren zum Empfangen von Daten in einer Speichersteuerung, das folgende Schritte umfaßt: a) Empfangen von Datenbits, die einer Datenanschlußfläche (DQ4) der Speichersteuerung vorgelegt werden, in jeweilige P Speicherelemente (P ≥ 2) (1802, 1804, 1806, 1808), ansprechend auf eine Zählung von Übernahmesignalflanken, die an einer Übernahmesignalanschlußfläche (DQS18) der Speichersteuerung über einen Tristate-Bus empfangen werden, wobei die Zählung abhängig davon stoppt, ob der Wert der Zählung anzeigt, dass eine erwartete Anzahl von (Übernahmesignalflanken erreicht wurde, um zu verhindern, dass ein Übergang, der einem Tristate-Zustand zugeordnet ist, fälschlicherweise als Übernahmesignalflanke interpretiert wird; b) Ausgeben von Daten, die in den P Speicherelementen gespeichert sind, zu einer Anzahl von Multiplexern (1814, 1816); und c) Erzeugen von Steuersignalen für die Multiplexer in einem Taktbereich der Speichersteuerung.
  16. Verfahren gemäß Anspruch 15, bei dem: a) die Datenbits und Übernahmesignalflanken, die jeweils an den Daten- und Übernahmesignalanschlußflächen (DQ4, DQS18) empfangen werden, durch die Speichersteuerung entweder mit einer 1x- oder einer 2x-Rate empfangen werden; und b) der Taktbereich der Speichersteuerung ein 2x-Taktbereich ist.
  17. Verfahren gemäß Anspruch 15 oder 16, bei dem P = 4 ist.
  18. Verfahren gemäß einem der Ansprüche 15 bis 17, bei dem das Erzeugen von Steuersignalen für die Multiplexer (1814, 1816) das Erzeugen von Steuersignalen umfaßt, die jeweils 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.
  19. Verfahren gemäß einem der Ansprüche 15 bis 18, bei dem die Anzahl von Multiplexern einen ersten und zweiten Multiplexer (1814, 1816) umfaßt, von denen der erste Daten von jedem der P Speicherelemente (1802, 1804, 1806, 1808) empfängt, und der zweite Daten von zumindest P/2 der P Speicherelemente umfaßt, wobei das Verfahren ferner folgende Schritte umfaßt: a) wenn die Daten- und Übernahmesignalanschlußflächen (DQ4, DQS18) jeweils Datenbits und Übernahmesignalflanken mit einer 1x-Rate empfangen, Liefern der erzeugten Steuersignale zu dem ersten Multiplexer (1814) mit einer 1x-Rate, und Ausbreiten der Daten durch den ersten Multiplexer (1814) 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 ersten und zweiten Multiplexer (1814, 1816) mit einer 1x-Rate, und Ausbreiten von Daten durch jeden der ersten und zweiten Multiplexer (1814, 1816) mit einer 1x-Rate.
  20. Verfahren gemäß einem der Ansprüche 15 bis 19, bei dem die Zählung eine P-Bit-Zählung mit einem logisch hohen Zustand ist.
  21. Verfahren gemäß einem der Ansprüche 15 bis 20, bei dem jedes der P Speicherelemente (1802, 1804, 1806, 1808) ein Latch ist.
  22. 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 (112122), 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 Empfängerschaltungsanordnung (1800) nach einem der Ansprüche 1 bis 14 aufweist.
  23. Computersystem gemäß Anspruch 22, 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
US09/828,604 US6633965B2 (en) 2001-04-07 2001-04-07 Memory controller with 1×/M× read capability
US828604 2001-04-07

Publications (2)

Publication Number Publication Date
DE10212642A1 DE10212642A1 (de) 2002-10-17
DE10212642B4 true 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)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633965B2 (en) * 2001-04-07 2003-10-14 Eric M. Rentschler Memory controller with 1×/M× read capability
US6889335B2 (en) * 2001-04-07 2005-05-03 Hewlett-Packard Development Company, L.P. Memory controller receiver circuitry with tri-state noise immunity
US6678811B2 (en) * 2001-04-07 2004-01-13 Hewlett-Packard Development Company, L.P. Memory controller with 1X/MX write capability
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
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
DE102004057232B4 (de) * 2004-11-26 2013-04-11 Qimonda Ag Verfahren zum Betreiben einer Halbleiterspeichervorrichtung und Halbleiterspeichersystem
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
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
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
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
US9317364B2 (en) 2013-09-25 2016-04-19 Intel Corporation Memory controller with distribution transformer
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4307564C2 (de) * 1992-08-31 1998-03-19 Hewlett Packard Co Speichersteuerung mit programmierbarer Zeitgabe und Verfahren zum Steuern des Zugriffs auf einen Speicher
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

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US46163A (en) * 1865-01-31 Improvement in making bonnet-binding
US147896A (en) * 1874-02-24 Improvement in devices for paring horses hoofs
US54135A (en) * 1866-04-24 Improvement in watches
US3837A (en) * 1844-11-26 Tillott cole
US172079A (en) * 1876-01-11 Improvement in grinding-disks
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 セイコーエプソン株式会社 マルチ幅のメモリ・サブシステムをサポートするためのシステム並びに方法
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 株式会社東芝 半導体記憶装置およびそのバーストアドレスカウンタ
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
US6633965B2 (en) 2001-04-07 2003-10-14 Eric M. Rentschler Memory controller with 1×/M× read capability
US6889335B2 (en) * 2001-04-07 2005-05-03 Hewlett-Packard Development Company, L.P. Memory controller receiver circuitry with tri-state noise immunity
US6678811B2 (en) * 2001-04-07 2004-01-13 Hewlett-Packard Development Company, L.P. Memory controller with 1X/MX write capability
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
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 모드를 지원하는 콤보형 동기식 디램

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4307564C2 (de) * 1992-08-31 1998-03-19 Hewlett Packard Co Speichersteuerung mit programmierbarer Zeitgabe und Verfahren zum Steuern des Zugriffs auf einen Speicher
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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE10212642B4 (de) Empfängerschaltungsanordnung für eine Speichersteuerung und Verfahren zum Empfangen von Daten in einer Speichersteuerung
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
DE102012204991B4 (de) Speichereinrichtungen, Systeme und Verfahren unter Verwendung einer Befehls/Adressenkalibrierung
DE102005051478B4 (de) Flashdatenspeichervorrichtung
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)
DE19982871B4 (de) Speichersystem mit jeweils einen Speichermodul-Controller enthaltenden Speichermodulen
DE102006035612B4 (de) Speicherpuffer, FB-DIMM und Verfahren zum Betrieb eines Speicherpuffers
DE69826863T2 (de) Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet
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
DE10102887B4 (de) Verzögerungsvorrichtung, die eine Verzögerungssperrschleife aufweist und Verfahren zum Kalibrieren derselben
DE102007060805B4 (de) Speichersteuerung und Computersystem mit derselben sowie Verfahren zur Steuerung eines Speichers
DE102005050595A1 (de) Speichersystem, Speichervorrichtung, Speichersteuervorrichtung und Verfahren dafür
DE69829987T2 (de) E/a bus mit schnellen 16-bit zerteilten transaktionen
DE102007020005B3 (de) Integrierte Schaltung zur Takterzeugung für Speicherbausteine
US6889335B2 (en) Memory controller receiver circuitry with tri-state noise immunity
DE10206060A1 (de) Speichersystem mit Stichleitungskonfiguration und zugehöriges Datenübertragungsverfahren
DE112004001660T5 (de) Echotakt auf Speichersystem mit Warteinformationen
DE19649704B4 (de) Synchrone Halbleiterspeichereinrichtung mit einer Ausgabesteuerschaltung mit reduzierter belegter Fläche
DE60011629T2 (de) Speicher mit mehrfachen datenraten
EP0273642A2 (de) Einrichtung zum Lesen von Daten aus einem Speicher
DE60015939T2 (de) Verfahren und schaltung um an zwei enden getakten daten zu empfangen
DE112008001143T5 (de) Serialisierung von Daten in einer Multi-Chip-Busimplementierung
DE10110567B4 (de) Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen
DE10121165B4 (de) Verfahren und Vorrichtung zum Initialisieren einer asynchronen Latch-Kette

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