-
Die
vorliegende Erfindung betrifft Verfahren und Vorrichtungen zur Anbindung
von Speichervorrichtungen über
eine Speicherschnittstelle
-
Elektronische
Datenverarbeitungssysteme, wie zum Beispiel Computersysteme, beinhalten
typischerweise eine oder mehrere Speichervorrichtungen zur Speicherung
von Daten. Speicherschnittstellenschaltungen werden typischerweise
eingesetzt, um eine Kopplung zwischen einer Vielzahl von Speichervorrichtungen
zu bewerkstelligen.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, diesem Bedarf für Techniken
zur Anbindung und Kopplung von Speichervorrichtungen gerecht zu werden.
-
Diese
Aufgabe wird gelöst
durch ein Verfahren nach Anspruch 1, eine integrierte Schaltung
nach Anspruch 12, eine integrierte Schaltung nach Anspruch 22, eine
integrierte Schaltung nach Anspruch 25, eine integrierte Schaltung
nach Anspruch 27, ein Datenverarbeitungssystem nach Anspruch 28
und ein Speichermodul nach Anspruch 32. Die abhängigen Ansprüche definieren
Weiterbildungen der Erfindung.
-
Gemäß einem
Ausführungsbeispiel
der Erfindung wird eine integrierte Schaltung bereitgestellt, welche
eine Speicherschnittstellenschaltung beinhaltet. Die Speicherschnittstellenschaltung
beinhaltet einen ersten Schnittstellenkanal, welcher dazu ausgestaltet
ist, mit wenigstens einer Speichervorrichtung gekoppelt zu sein,
und einen zweiten Schnittstellenkanal, welcher dazu ausgestaltet
ist, mit wenigstens einer Speichervorrichtung gekoppelt zu sein. Die
Speicherschnittstellenschaltung beinhaltet einen Multiplexer, welcher
dazu ausgestaltet ist, zwischen dem ersten Schnittstellenkanal und
dem zweiten Schnittstellenkanal auszuwählen.
-
Die
beigefügten
Zeichnungen sind vorgesehen, um ein besseres Verständnis von
Ausführungsbeispielen
zu ermöglichen,
gehören
zu der Beschreibung einbezogen und bilden einen Teil davon. Die Zeichnungen
veranschaulichen Ausführungsbeispiele
und dienen zusammen mit der Beschreibung dazu, die Prinzipien der
Ausführungsbeispiele
zu erläutern. Weitere
Ausführungsbeispiele
und viele der erzielten Vorteile sind ohne Weiteres ersichtlich,
wenn diese anhand der folgenden detaillierten Beschreibung besser
verstanden werden. Die Elemente der Zeichnungen sind relativ zueinander
nicht notwendig maßstabgetreu. Ähnliche
Bezugszeichen bezeichnen einander entsprechende oder ähnliche
Teile.
-
1 veranschaulicht
ein Datenverarbeitungssystem gemäß einem
Ausführungsbeispiel,
bei welchem Speichervorrichtungen unter Verwendung einer Speicherschnittstelle
gemäß einem
Ausführungsbeispiel
mit einer Speicher-Puffer-Vorrichtung gekoppelt sind.
-
2 veranschaulicht
ein Ausführungsbeispiel
einer Speicher-Puffer-Vorrichtung von 1.
-
3 veranschaulicht
eine Speicherschnittstellenschaltung gemäß einem Ausführungsbeispiel.
-
4 veranschaulicht
ein Datenverarbeitungssystem gemäß einem
Ausführungsbeispiel,
bei welchem eine Vielzahl von Speichervorrichtungen unter Verwendung
einer Speicherschnittstelle gemäß einem
Ausführungsbeispiel
mit einem Speicherpuffer gekoppelt sind.
-
5 veranschaulicht
ein Datenverarbeitungssystem gemäß einem
Ausführungsbeispiel,
bei welchem eine Vielzahl von Speichervorrichtungen unter Verwendung
einer Speicherschnittstelle gemäß einem
Ausführungsbeispiel
mit einem Speicher-Controller
gekoppelt sind.
-
6 veranschaulicht
ein Datenverarbeitungssystem gemäß einem
Ausführungsbeispiel,
bei welchem eine Vielzahl von Speichervorrichtungen unter Verwendung
einer Speicherschnittstelle gemäß einem
Ausführungsbeispiel
mit einem Prozessor gekoppelt sind.
-
In
der folgenden detaillierten Beschreibung wird Bezug genommen auf
die beigefügten
Zeichnungen, welche einen Teil der Beschreibung bilden, und in welchen
zum Zwecke der Veranschaulichung spezielle Ausführungsbeispiele dargestellt
sind, durch welche die Erfindung ausgeführt werden kann. Diesbezüglich sind
Richtungsangaben wie zum Beispiel „Oberseite", „Unterseite", „Vorderseite", „Rückseite", „vorne", „hinten" usw. mit Bezug auf
die Ausrichtung der beschriebenen Figur bzw. Figuren zu verstehen.
Da Komponenten von Ausführungsbeispielen
in einer Vielzahl von verschiedenen Ausrichtungen positioniert werden
können,
werden die Richtungs- und Positionsangaben zum Zwecke der Veranschaulichung
verwendet und sind nicht als einschränkend zu verstehen. Es versteht
sich, dass andere Ausführungsbeispiele
verwendet werden können
und strukturelle oder logische Änderungen
vorgenommen werden können,
ohne vom Umfang der vorliegenden Erfindung abzuweichen. Die folgende detaillierte
Beschreibung ist daher nicht in einschränkender Weise zu verstehen,
und der Umfang der vorliegend Erfindung ist durch die angefügten Ansprüche definiert.
-
Es
versteht sich, dass die Merkmale der verschiedenen hierin beschriebenen
beispielhaften Ausführungsformen
miteinander kombiniert werden können,
sofern nichts anderes angegeben ist.
-
Es
versteht sich weiterhin, dass in der folgenden detaillierten Beschreibung
alle dargestellten oder beschriebenen direkten Verbindungen oder
Kopplungen zwischen zwei funktionalen Blöcken, Vorrichtungen, Komponenten
oder anderen physikali schen oder funktionalen Einheiten auch durch
eine indirekte Verbindung oder Kopplung implementiert sein können.
-
Im
Folgenden werden Ausführungsbeispiele unter
Bezugnahme auf die beigefügten
Zeichnungen beschrieben. Die Ausführungsbeispiele betreffen ein Verfahren
zur Anbindung einer Vielzahl von Speichervorrichtungen in einem
Datenverarbeitungssystem, eine entsprechende Speicherschnittstellenschaltung,
eine entsprechende Speicher-Puffer-Vorrichtung, einen entsprechenden
Speicher-Controller und einen entsprechenden Prozessor. Die gekoppelten
Speichervorrichtungen können
integrierte Schaltungen sein, welche ein oder mehrere Speicherfelder bzw.
Speicherarrays umfassen. Integrierte Schaltungen, welche ein oder
mehrere Speicherarrays umfassen, können derzeitige oder zukünftige Standards implementieren,
einschließlich
DDR („Double
Data Rate"), DDR2,
DDR3 usw. Die Speichervorrichtungen können vom DRAM-Typ sein (DRAM: „Dynamic Random
Access Memory",
Dynamischer Wahlzugriffsspeicher), d. h. zum Beispiel DRAM-Chips
sein. Es versteht sich jedoch, dass die nachstehend beschriebenen
Konzepte auch für
andere Typen von Speichervorrichtungen angewendet werden könnten.
-
1 veranschaulicht
ein Ausführungsbeispiel
eines Datenverarabeitungssystems. Das Datenverarbeitungssystem umfasst
einen Prozessor 250 (z. B. eine zentrale Recheneinheit
bzw. CPU (CPU: „Central
Processing Unit").
Der Prozessor 250 kommuniziert mit einem Speicher, welcher
eine Vielzahl von Speichermodulen 100a, 100b, 100c und 100d umfasst.
Dies wird über
eine Speichersteuerung bzw. einen Speicher-Controller 200 bewerkstelligt.
Der Speicher-Controller 200 kommuniziert über eine
Host-Schnittstelle mit dem Prozessor 250 und kommuniziert
ferner über
eine Hochgeschwindigkeitsschnittstelle mit den Speichermodulen 100a, 100b, 100c und 100d.
Die Hochgeschwindigkeitsschnittstelle kann eine Mehrkanalschnittstelle
vom seriellen Typ sein.
-
Jedes
der Speichermodule umfasst eine Vielzahl von Speichervorrichtungen 110 (z.
B. DRAM-Chips). Die Speichervorrichtungen 110 eines Speichermoduls 100a, 100b, 100c und 100d sind über eine
Speicher-Puffer-Vorrichtung 150 des Speichermoduls mit
dem Speicher-Controller 200 gekoppelt. Die Speicher-Puffer-Vorrichtung 150 kommuniziert
mit dem Speicher-Controller 200 über eine Controller-Schnittstelle,
welche mit der Hochgeschwindigkeitsschnittstelle des Speicher-Controllers 200 gekoppelt
ist, und kommuniziert mit den Speichervorrichtungen 110 des
Speichermoduls über
eine Speicherschnittstelle. Die Speicher-Puffer-Vorrichtung 150 kann
dazu ausgestaltet sein, mit einer weiteren Speicher-Puffer-Vorrichtung
zu kommunizieren, um eine Vielzahl von Speichermodulen 100a, 100b, 100c und 100d in
einer Kettenanordnung miteinander zu verbinden. Die Speicher-Puffer-Vorrichtung 150 kann
als eine integrierte Schaltung implementiert sein.
-
Gemäß einem
Ausführungsbeispiel
entsprechen die Speichermodule 100a, 100b, 100c und 100d einem
DIMM-Typ (DIMM: "Dual
Inline Memory Module").
Spezieller können
die Speichermodule 100a, 100b, 100c und 100d jeweils
einen FB-DIMM („Fully-Buffered
DIMM") entsprechen,
und die Speicher-Puffer-Vorrichtung 150 kann einen AMB
(„Advanced
Memory Buffer")
entsprechen. Bei anderen Ausführungsbeispielen
können
andere Typen von Speichermodulen verwendet werden.
-
Gemäß einem
Ausführungsbeispiel
sind der Prozessor 250, der Speicher-Controller 200,
jede der Speichervorrichtungen 110 und die Speicher-Puffer-Vorrichtung 150 jeweils
auf einem entsprechenden Halbleiterchip implementiert. Folglich
können
die Speichervorrichtungen auch als integrierte Speicherschaltungen
bezeichnet werden. Auch der Prozessor, der Speicher-Controller und die
Speicher-Puffer-Vorrichtung können
in einer entsprechenden integrierten Schaltung ausgebildet sein.
Die Speichermodule 100a, 100b, 100c und 100d sind
ausgebildet, indem eine Vielzahl der Speichervorrichtungen 110 und
die Speicher-Puffer-Vorrichtung 150 auf einer Leiterplatte angeordnet
werden. Auf der Leiterplatte sind eine Vielzahl von Verbindungsanschlüssen, z.
B. Verbindungspins, ausgebildet, um das Speichermodul 100a, 100b, 100c und 100d mit
dem Speicher-Controller 200 zu koppeln. Bei anderen Ausführungsbeispielen
können
wenigstens einige der obigen Funktionen auf einem einzigen Chip
integriert sein. Zum Beispiel könnten
der Prozessor und die Speicher-Controller auf einem einzigen Chip
integriert sein.
-
Auf 2 Bezug
nehmend wird ein Aufbau einer Speicher-Puffer-Vorrichtung 150 unter
Bezugnahme auf eine beispielhafte Ausführungsform näher erläutert. Wie
in 2 dargestellt umfasst die beispielhafte Ausführungsform
der Speicher-Puffer-Vorrichtung 150 einen Logikkern 155,
eine Controller-Schnittstelle
oder Hochgeschwindigkeitsschnittstelle 190 (z. B. eine
Mehrkanalschnittstelle vom seriellen Typ), ein Paar von CA-Blöcken 160 und
eine Vielzahl von DQ8-Blöcken 170.
Die CA-Blöcke 160 können auch
als Befehls- und Adressübermittlungsblöcke bezeichnet
werden und die DQ8-Blöcke 170 können auch
als Datenübermittlungsblöcke bezeichnet
werden. Die Speicher-Puffer-Vorrichtung 150 ist dazu ausgestaltet, über die
Hochgeschwindigkeitsschnittstelle 190 von dem Speicher-Controller
empfangene Befehle und Daten in spezielle Speicherbefehle für die Speichervorrichtungen 110 umzusetzen und über die
Speicherschnittstelle Schreib- und Lesevorgänge an den Speichervorrichtungen 110 auszuführen. Die
Speicherschnittstelle umfasst das Paar von CA-Blöcken 160 und die DQ8-Blöcke 170.
Bei dem dargestellten Beispiel ist die Anzahl von DQ8-Blöcken 170 neun.
Bei anderen Ausführungsbeispielen
können
andere Anzahlen von CA-Blöcken 160 und
andere Anzahlen von DQ8-Blöcken
verwendet werden. Der Logikkern 155 ist dazu ausgestaltet, die
Verarbeitung zur Umsetzung der Daten und Befehle zu bewerkstelligen
und die Schreib- und Lesevorgänge
zu bewerkstelligen.
-
Die
CA-Blöcke 160 werden
für die Übermittlung
von Befehls- und
Adressdaten eingesetzt. Gemäß einem
Ausführungsbeispiel sind
Puffer in den CA-Blöcken 160 enthalten,
um Befehlssignale, Taktsignale und Adresssignale an die angeschlossenen Speichervorrichtungen 110 zu übermitteln.
-
Die
DQ8-Blöcke
sind jeweils versehen mit einer Anzahl von Datentransceivern zur Übermittlung von
Data-Path- oder DQ-Signalen über
die Speicherschnittstelle und einer Anzahl von Transceivern zur Übermittlung
von Data-Strobe-Signalen, hierin als DQS/DQS#-Signale bezeichnet, über die
Speicherschnittstelle. Die Speicherschnittstelle des dargestellten
Ausführungsbeispiels
ist mit Bezug auf die Richtung des Datenflusses zu und von einer
gegebenen Speichervorrichtung von einem bidirektionalen Typ. Bei
anderen Ausführungsbeispielen
kann die Speicherschnittstelle von einem unidirektionalen Typ sein,
und unterschiedliche Speicherschnittstellen können für die verschiedenen Datenflussrichtungen verwendet
werden.
-
Gemäß einem
Ausführungsbeispiel
können mehrere
Speichervorrichtungen 110 oder mehrere Speicher-Ranks mit
einem einzigen DQ8-Block 170 verbunden sein. Eine Multi-Rank-Konfiguration
kann mehrere Speicher-Ranks auf einem einzigen Speichermodul oder
auf unterschiedlichen Speichermodulen aufweisen. Bei einem solchen
Ausführungsbeispiel
mit einer Multi-Rank-Konfiguration können die angeschlossenen Komponenten
nicht gleichzeitig verwendet werden, und die Schnittstelle muss
derart zeitlich gesteuert werden, dass keine Bus-Konkurrenz auftritt,
wenn von dem einen Rank zu dem anderen Rank gewechselt wird. Die
Anzahl von Ranks ist durch die maximale tolerierbare kapazitive
Last an der Speicherschnittstelle begrenzt. Eine übermäßige kapazitive
Last kann kompensiert werden, indem die Geschwindigkeit der Speicherschnittstelle
verringert wird.
-
Nun
auf 3 Bezug nehmend wird ein möglicher Aufbau von DQ8-Blöcken 170 der
Speicherschnittstelle mit Bezug auf eine beispielhafte Ausführungsform
eines DQ8-Blocks 170 näher
erläutert.
Wie dargestellt umfasst der DQ8-Block eine Vielzahl von Sendern
(TX) zum Übermitteln
von Daten an die Speichervorrichtungen 110 und eine Vielzahl
von Empfängern
(RX) zum Empfangen von Daten von den Speichervorrichtungen 110.
Der DQ8-Block 170 fasst einen Schreibabschnitt, welcher
allgemein verantwortlich ist für
die Erzeugung von DQ-Signalen und DQS/DQS#-Signalen bei Schreibvorgängen, und
einen Empfangsabschnitt, welcher allgemein verantwortlich ist für das Empfangen
von DQ-Signalen und DQS/DQS#-Signalen bei Lesevorgängen.
-
Der
Schreibabschnitt umfasst einen Schreibpuffer 171, wie zum
Beispiel einen Schreib-FIFO-Puffer oder W-FIFO („Write First-In-First-Out"), und eine Steuerlogik 172.
Der Schreibpuffer 171 empfängt Schreibdaten WD von dem
Logikkern (in 3 nicht dargestellt) über eine
entsprechende Leitung oder einen entsprechenden Bus. Der Leseabschnitt
umfasst einen Lesepuffer 181, wie zum Beispiel einen Lese-FIFO-Puffer
oder R-FIFO („Read First-In-First-Out"). Der Lesepuffer 181 speichert
Lesedaten RD, welche über
eine entsprechende Leitung oder einen entsprechenden Bus an den
Logikkern gesendet werden sollen. Ferner umfasst der Schreibabschnitt
Verzögerungselektronik
in Form von Verzögerungslinien
oder DLLs 174 (DLL: „Delay Locked
Loop", Verzögerungsregelschleife),
welche zwischen den Schreibpuffer 171 und die Sender TX gekoppelt
sind. Der Leseabschnitt umfasst Verzögerungselektronik in Form von
Verzögerungslinien
oder DLLs 184, welche zwischen die den DQS/DQS#-Signalen zugeordneten
Empfänger
und einen Steuereingang des Lesepuffers 181 gekoppelt sind.
Der Schreibpuffer 171 und der Lesepuffer 181 bilden
eine Puffervorrichtung der Speicherschnittstellenschaltung (d. h.
einen Schnittstellenpuffer).
-
Der
Betrieb der Speicherschnittstelle gemäß dem Ausführungsbeispiel ist wie folgt.
-
Bei
einem beispielhaften Lesevorgang werden die Sender TX angesteuert,
um die in dem Schreibpuffer 171 gespeicherten Schreibdaten über die
Sender TX an die angeschlossenen Speichervorrichtungen 110 zu
senden. Die Sender TX treiben die entsprechenden DQ-Signale und
DQS/DQS#-Signale an die angeschlossenen Speichervorrichtungen 110.
Bei diesem Vorgang aktiviert der Logikkern die Sender TX zum richtigen
Zeitpunkt, aktiviert den richtigen Speicher-Rank und stellt unter
Verwendung der Verzögerungslinien 174 den
erforderlichen Zeitversatz der DQ-Signale und DQS/DQS#-Signale ein.
-
Bei
einem beispielhaften Lesevorgang aktiviert der Logikkern die Empfänger RX
zum richtigen Zeitpunkt, erfasst das Lesesignal in dem Lesepuffer 181 und
stellt den Versatz des DQS/DQS#-Signals mit Bezug auf die DQ-Signale über die
Verzögerungslinie 184 ein.
-
Bei
dem Ausführungsbeispiel
von 3 umfasst der dargestellte DQ8-Block einen ersten
Sender TX zum Aussenden einer ersten Gruppe von acht DQ-Signalen
(DQ[7:0]), einen zweiten Sender TX zum Aussenden einer zweiten Gruppe
von acht DQ-Signalen (DQ[15:8]), einen dritten Sender TX zum Aussenden
einer ersten Gruppe von vier DQS/DQS#-Signalen (DQS/DQS#[1:0]),
und einen vierten Sender TX zum Aussenden einer zweiten Gruppe von
vier DQS/DQS#-Signalen (DQS/DQS#[3:2]). Ferner empfängt ein
erster Empfänger
RX eine erste Gruppe von acht DQ-Signalen (DQ[7:0]), ein zweiter
Empfänger
RX empfängt
eine zweite Gruppe von acht DQ-Signalen (DQ[15:8]), ein dritter
Empfänger
RX empfängt
eine erste Gruppe von vier DQS/DQS#-Signalen (DQS/DQS#[1:0]), und ein
vierter Empfänger
RX empfängt
eine zweite Gruppe von vier DQS/DQS#-Signalen (DQS/DQS#[3:2]).
-
Bei
dem Ausführungsbeispiel
sind der erste Sender TX und der erste Empfänger RX mit denselben Schnittstellenanschlüssen verbunden,
der zweite Sender TX und der zweite Empfänger RX sind mit denselben
Schnittstellenanschlüssen
verbunden, der dritte Sender TX und der dritte Empfänger RX
sind mit denselben Schnittstellenanschlüssen verbunden, und der vierte
Sender TX und der vierte Emp fänger RX
sind mit denselben Schnittstellenanschlüssen verbunden. Auf diese Weise
werden die zwischen die Schnittstellenanschlüsse und die Speichervorrichtungen
gekoppelten Signalleitungen auf eine bidirektionale Weise genutzt.
-
Unter
Berücksichtigung,
dass gemäß der beispielhaften
Ausführungsform
von 2 die Speicherschnittstelle neun DQ8-Blocks 170 umfassst, umfasst
die Speicherschnittstelle folglich eine Gesamtzahl von 144 Schnittstellenanschlüssen für die DQ-Signale
und eine Gesamtzahl von 72 Anschlüssen für die DQS/DQS#-Signale. Bei
anderen Ausführungsbeispielen
können
andere Anzahlen von Schnittstellenanschlüssen verwendet werden.
-
Wie
weiterhin in 3 veranschaulicht, umfasst der
DQ8-Block 170 eine Multiplexervorrichtung, welche durch
Schalter 175, 176, 185 und 186 gebildet
ist. In dem Schreibabschnitt ist ein Schalter 175 zwischen
den Schreibpuffer 171 und den ersten und zweiten Sender
TX für
die DQ-Signale gekoppelt. Folglich können entweder die Schnittstellenanschlüsse, welche
der ersten Gruppe von DQ-Signalen entsprechen, oder die Schnittstellenanschlüsse, welcher der
zweiten Gruppe von DQ-Signalen entsprechen, selektiv über den
Schalter 175 mit dem Schreibpuffer 171 gekoppelt
werden. Der Schalter 176 ist zwischen den aus dem Schreibpuffer 171 und
der Steuerlogik 172 bestehenden Block und den dritten und
vierten Sender TX für
die DQS/DQS#-Signale gekoppelt, so dass entweder die Schnittstellenanschlüsse, welche der
ersten Gruppe von DQS/DQS#-Signalen entsprechen, oder die Schnittstellenanschlüsse, welche der
zweiten Gruppe von DQS/DQS#-Signalen entsprechen, selektiv mit dem
Schreibpuffer 171 und der Schreiblogik 172 gekoppelt
werden können.
-
In
dem Leseabschnitt ist der Schalter 185 zwischen dem Lesepuffer 181 und
dem ersten und zweiten Empfänger
RX für
die DQ-Signale gekoppelt. Auf diese Weise können entweder die Schnittstellenanschlüsse, welche
der ersten Gruppe von DQ-Signalen entsprechen, oder die Schnittstellenanschlüsse, welche
der zweiten Gruppe von DQ-Signalen entsprechen, selektiv mit dem
Lesepuffer 181 gekoppelt werden. Der Schalter 186 ist
zwischen den Steueranschluss des Lesepuffers 181 und den
dritten und vierten Empfänger
RX für
die DQS/DQS#-Signale gekoppelt. Auf diese Weise können entweder
die Schnittstellenanschlüsse,
welcher der ersten Gruppe von DQS/DQS#-Signalen entsprechen, oder
die Schnittstellenanschlüsse,
welche der zweiten Gruppe von DQS/DQS#-Signalen entsprechen, selektiv mit
dem Lesepuffer 181 gekoppelt werden.
-
Die
Multiplexer-Vorrichtung (d. h. die Schalter 175, 176, 185, 186)
wird über
ein Kanalauswahlsignal gesteuert. Insbesondere werden die Schalter 175, 176 durch
ein Schreibkanalauswahlsignal WCS gesteuert, und die Schalter 185, 186 werden
durch ein Lesekanalauswahlsignal RCS gesteuert. Die erste Gruppe
von DQ-Signalen und die zweite Gruppe von DQS/DQS#-Signalen bilden
einen ersten Schnittstellenkanal, und die zweite Gruppe von DQ-Signalen
und die zweite Gruppe von DQS/DQS#-Signalen bilden einen zweiten
Schnittstellenkanal. Der erste Schnittstellenkanal und der zweite
Schnittstellenkanal bilden physikalisch verschiedene Signalverbindungen.
Der erste Schnittstellenkanal und der zweite Schnittstellenkanal
sind typischerweise mit einer im Wesentlichen identischen Konfiguration
ausgebildet, jedoch sind auch sich voneinander unterscheidende Konfigurationen
möglich.
-
Folglich
werden in der Speicherschnittstellenschaltung die DQ-Signale und
die DQS/DQS#-Signale intern gemultiplext, um die Speicherschnittstelle
aufzuweiten.
-
Die
Speicherschnittstelle beinhaltet einen ersten Schnittstellenkanal,
welcher die erste Gruppe von DQ-Signalen
und die zweite Gruppe von DQS/DQS#-Signalen umfasst, und einen zweiten Schnittstellenkanal,
welcher die zweite Gruppe von DQ-Signalen und die zweite Gruppe
von DQS/DQS#-Signalen umfasst. Wie dargestellt ist jeder der Schnittstellenkanäle mit einer
entsprechenden Gruppe von Schnittstellenanschlüssen verbunden. Von der Außenseite
der Vorrichtung erscheinen der erste Schnittstellenkanal und der
zweite Schnittstellenkanal als unabhängige Speicherschnittstellen.
-
Bei
der beispielhaften Ausführungsform
von 3 wird das Multiplexing auf solche Weise vorgenommen,
dass lediglich die Anzahl von Sendern TX und Empfängern RX
erhöht
wird, jedoch die anderen Komponenten der Speicherschnittstelle (d.
h. der Schreibpuffer 171, die Schreiblogik 172,
der Lesepuffer 181 und die Verzögerungslinien 174, 184)
unangetastet bleiben. Diese Ausführungsform
bietet Vorteile mit Bezug auf Leistungsaufnahme und Chipflächenerfordernisse
der Speicherschnittstelle. Bei anderen Ausführungsformen kann das Multiplexing
entsprechend den Implementierungserfordernissen innerhalb der Sender
TX, innerhalb der Empfänger
RX, innerhalb des Schreibpuffers, innerhalb des Lesepuffers, innerhalb
der Verzögerungslinien
oder einer Kombination davon bewerkstelligt werden.
-
Die
obige beispielhafte Struktur der Speicherschnittstelle ermöglicht,
die Breite der Speicherschnittstelle auf eine sehr effiziente Weise
zu erhöhen.
Bei einem Ausführungsbeispiel
kann die Anzahl von angeschlossenen Speichervorrichtungen erhöht werden,
ohne die Datentransferrate über
die Speicherschnittstelle zu verringern. Bei einem Ausführungsbeispiel
braucht lediglich eine begrenzte Anzahl von Schnittstellenkomponenten
erhöht
werden, um die erhöhte
Schnittstellenbreite zu er reichen. Dieses Ausführungsbeispiel bietet Vorteile
mit Bezug auf Leistungsaufnahme und Chipflächenerfordernisse. Darüber hinaus
kann die Zeitsteuerung von Schreib- und Lesevorgängen verbessert werden. Im
Vergleich zu Schreibvorgängen
in verschiedene Speicher-Ranks,
welche mit einem einzigen Schnittstellenkanal verbunden sind, ist
es bei der Durchführung von
Schreibvorgängen über unterschiedliche
Schnittstellenkanäle,
welche in Übereinstimmung
mit den oben beschriebenen Ausführungsbeispielen
gemultiplext sind, nicht mehr erforderlich zu warten, bis ein Schreibbefehl
auf einem Schnittstellenkanal vollständig abgearbeitet ist, bevor
ein Schreibvorgang auf dem anderen Schnittstellenkanal begonnen
wird. Vielmehr kann der Wechsel zwischen einem Schnittstellenkanal
und dem anderen Schnittstellenkanal bereits beginnen, wenn die letzte
Datenübertragung des
ersten Schreibvorgangs gerade abgeschlossen wurde, welches der erste
Zeitpunkt ist, wenn die Schalter 175, 176 umgeschaltet
werden können. Zum
Beispiel könnte
eine Präambel
des zweiten Schreibvorgangs bereits auf dem zweiten Schnittstellenkanal übertragen
werden, während
auf dem ersten Schnittstellenkanal nach wie vor zu dem ersten Schreibvorgang
gehörender
Datenverkehr ist.
-
Ähnliche
Vorteile bestehen bei Lesevorgängen
gemäß beispielhaften
Ausführungsformen. Wenn
es einen Lesevorgang auf einem Speicherkanal gibt, können die
Lesedaten eines Lesevorgangs auf dem anderen Speicherkanal erheblich
früher
eintreffen als in dem Fall von mehreren Speichervorrichtungen, welche über einen
einzigen Schnittstellenkanal angeschlossen sind.
-
Ferner
ist es gemäß Ausführungsbeispielen möglich, dass
ein Lesevorgang auf einem Schnittstellenkanal und ein Schreibvorgang
auf dem anderen Schnittstellenkanal gleichzeitig ausgeführt werden.
-
Im
Vergleich zu einer Speicherschnittstelle ohne Multiplexing von Schnittstellenkanälen wird
die Anzahl von Sendern und Empfängern,
welche gleichzeitig aktiv sind, für eine gegebene Speichergröße typischerweise
nicht erhöht.
Folglich kann die Breite der beschriebenen Speicherschnittstelle
gemäß Ausführungsbeispielen
auf eine sehr leistungseffiziente Weise erhöht werden.
-
Bei
den oben beschriebenen Ausführungsbeispielen
kommuniziert die Speicher-Puffer-Vorrichtung 150 über die
Hochgeschwindigkeitsschnittstelle mit dem Speicher-Controller 200.
Bei anderen Ausführungsbeispielen
kann die Speicher-Puffer-Vorrichtung 150 mit anderen Komponenten
kommunizieren, welche extern bezüglich
des Speichermoduls angeordnet sind.
-
Gemäß einem
in 4 dargestellten Ausführungsbeispiel umfasst ein
Datenverarbeitungssystem einen Prozessor 350 und eine Vielzahl
von Speichermodulen 100a, 100b, 100c und 100d.
Die Speichermodule 100a, 100b, 100c und 100d entsprechen
allgemein denjenigen, welche in Verbindung mit 1 beschrieben
wurden. In 4 wurden Komponenten, welche
denjenigen von 1 entsprechen mit den gleichen
Bezugszeichen bezeichnet, und auf deren nähere Beschreibung wird verzichtet.
-
Im
Vergleich zu dem Datenverarbeitungssystem von 1 ist
bei dem Datenverarbeitungssystem von 4 der Prozessor 350 dazu
ausgestaltet, direkt mit den Speicher-Puffer-Vorrichtungen 150 der Speichermodule 100a, 100b, 100c und 100d zu
kommunizieren. Folglich ist bei diesem Datenverarbeitungssystem
kein separater Speicher-Controller erforderlich. Vielmehr sind die
Funktionen des Speicher-Controllers 200 innerhalb des Prozessors 350 implementiert.
-
Im
Vorangegangenen wurde die Speicherschnittstelle als innerhalb der
Speicher-Puffer-Vorrichtung 150 der Speichermodule 100a, 100b, 100c und 100d implementiert
beschrieben. Bei anderen Ausführungsbeispielen
kann die Speicherschnittstelle innerhalb anderer Komponenten eines
Datenverarbeitungssystems implementiert sein, um eine Anbindung
von Speichervorrichtungen zu bewerkstelligen.
-
5 veranschaulicht
schematisch ein Datenverarbeitungssystem gemäß einem Ausführungsbeispiel.
Das Datenverarbeitungssystem umfasst einen Prozessor 450,
einen Speicher-Controller 400 und eine Vielzahl von Speichermodulen 100a', 100b', 100c' und 100d'. Das Datenverarbeitungssystem
von 5 hat folglich eine ähnliche Struktur wie das Datenverarbeitungssystem
von 1. In 5 wurden Komponenten, welche ähnlich zu
denjenigen von 1 sind, mit entsprechenden Bezugszeichen
bezeichnet, und auf deren nähere
Beschreibung wird verzichtet. Im Vergleich zu dem Datenverarbeitungssystem
von 1 umfassen die Speichermodule 100a', 100b', 100c' und 100d' des Datenverarbeitungssystems
von 5 jedoch nicht die Speicher-Puffer-Vorrichtung 150.
Folglich entsprechen die Speichermodule 100a', 100b', 100c' und 100d' dieses Ausführungsbeispiels einem ungepufferten Typ.
-
Bei
dem Datenverarbeitungssystem von 5 kommuniziert
der Prozessor 450 über
den Speicher-Controller 400 mit den Speichervorrichtungen 110 auf
den Speichermodulen 100a', 100b', 100c' und 100d'. Zu diesem
Zweck umfasst die Speichersteuerung 400 eine Host-Schnittstelle,
um mit dem Prozessor 450 zu kommunizieren, und eine Speicherschnittstelle 420,
um mit der Vielzahl von Speichervorrichtungen 110 der Speichermodule 100a', 100b', 100c' und 100d' zu kommunizieren.
Die Speicherschnittstelle 420 ist wie die Speicherschnittstelle
von 2 und 3 ausgestaltet.
-
6 veranschaulicht
schematisch ein Datenverarbeitungssystem gemäß einem Ausführungsbeispiel.
Das Datenverarbeitungssystem von 6 entspricht
allgemein dem Datenverarbeitungssystem von 5 und ähnliche
Komponenten wurden mit entsprechenden Bezugszeichen bezeichnet.
Im Vergleich zu dem Datenverarbeitungssystem von 5 umfasst
das Datenverarbeitungssystem von 6 jedoch
einen Prozessor 550, welcher dazu ausgestaltet ist, über eine
Speicherschnittstelle 540 direkt mit den Speichermodulen 100a', 100b', 100c' und 100d' zu kommunizieren.
Die Speicherschnittstelle 570 ist wie im Zusammenhang mit 2 und 3 beschrieben
ausgestaltet. Bei diesem Ausführungsbeispiel
dient die Speicherschnittstelle 570 jedoch dazu, eine Kommunikation
zwischen einem Prozessorkern 560 des Prozessors 550 und
der Vielzahl von Speichervorrichtungen 110 der Speichermodule 100a', 100b', 100c' und 100d' herzustellen.
Bei dem Datenverarbeitungssystem von 6 ist keine
separate integrierte Schaltung für
einen Speicher-Controller erforderlich. Die Funktionen eines Speicher-Controllers
sind innerhalb derselben integrierten Schaltung implementiert, in
welcher sich der Prozessor 550 befindet.
-
Folglich
können
die oben beschriebenen Ausführungsbeispiele
einer Speicherschnittstelle bei einer Vielzahl von Elektronikkomponenten
angewendet werden. Insbesondere können Ausführungsbeispiele der Speicherschnittstelle
innerhalb einer Speicher-Puffer-Vorrichtung eines Speichermoduls,
innerhalb einer Speichersteuerung, welche in einem separaten Chip
oder auf einem Mainboard eines Datenverarbeitungssystems implementiert
sein kann, oder in einem Prozessor verwendet werden. Ausführungsbeispiele
der Speicherschnittstelle können auch
in einer integrierten Schaltung verwendet werden, welche Funktio nen
eines größeren Systems
auf einem einzigen Chip implementieren. Ein solches Ausführungsbeispiel
für eine
integrierte Schaltung könnte
einen eingebetteten bzw. integrierten Prozessor und einen eingebetteten
bzw. integrierten Speicher umfassen. Jedoch sind Ausführungsbeispiele der
Speicherschnittstelle nicht auf diese Anwendungen beschränkt und
können
ebenso bei anderen Komponenten verwendet werden.
-
Ferner
sind die oben beschriebenen Ausführungsbeispiele
einer Speicherschnittstelle dazu ausgestaltet, sowohl Schreibvorgänge als
auch Lesevorgänge über zwei
Schnittstellenkanäle
zu bewerkstelligen, welche intern innerhalb der Schaltungsstruktur der
Speicherschnittstelle gemultiplext sind. Bei anderen Ausführungsbeispielen
kann eine größere Anzahl von
Schnittstellenkanälen
verwendet werden. Ferner können
die oben beschriebenen Konzepte auch bei Ausführungsbeispielen einer Speicherschnittstelle verwendet
werden, welche lediglich für
Lesevorgänge
oder lediglich für
Schreibvorgänge
bestimmt ist. Es ist auch möglich,
ein Ausführungsbeispiel
einer Speicherschnittstelle zu implementieren, bei welcher der Schreibabschnitt
gemultiplexte Schnittstellenkanäle
aufweist und er Leseabschnitt einen einzigen Schnittstellenkanal
aufweist, oder bei welcher der Leseabschnitt gemultiplexte Schnittstellenkanäle aufweist
und der Schreibabschnitt einen einzigen Schnittstellenkanal aufweist.
Weiterhin könnte
das Multiplexing zwischen dem ersten Schnittstellenkanal und dem
zweiten Schnittstellenkanal auch lediglich für die Data-Path-Signale oder
lediglich für
die Data-Strobe-Signale implementiert sein.
-
Ferner
können
die obigen Konzepte im Zusammenhang mit einer Vielzahl von Speichervorrichtungen
angewendet werden, wobei die oben genannten DRAM-Vorrichtungen lediglich
ein Beispiel darstellen. Ferner können die oben be schriebenen
Ausführungsbeispiele
auch miteinander kombiniert werden, z. B. in einem Datenverarbeitungssystem,
welches Speichermodule sowohl eines gepufferten Typs als auch eines
ungepufferten Typs umfasst.
-
Obwohl
hierin spezielle Ausführungsbeispiele
dargestellt und beschrieben wurden, versteht es sich für diejenigen
mit Kenntnissen der Technik, dass die speziellen dargestellten und
beschriebenen Ausführungsbeispiele
durch alternative und/oder äquivalente
Implementierungen ersetzt werden können, ohne den Rahmen der vorliegenden
Erfindung zu verlassen. Es ist beabsichtigt, dass diese Beschreibung
jegliche Anpassungen oder Variationen der hierin beschriebenen speziellen
Ausführungsbeispiele
abdeckt. Es ist folglich beabsichtigt, dass die Erfindung nur durch
die Ansprüche
und ihre Äquivalente eingeschränkt ist.