-
Die vorliegende Erfindung betrifft
ein synchrones Speichersystem, ein Verfahren zur Kommunikation in
einem synchronen Speichersystem und ein Protokoll zur Kommunikation
in einem synchronen Speichersystem.
-
Es sind synchrone Speichersysteme
bekannt, bei welchen mehrere Speichermodule über einen sogenannten Stub-Bus
(insbesondere bei PC100, DDR oder DDR-II) mit einem Controller bzw. einer
Speichersteuereinrichtung verbunden sind. Der Stub-Bus ist als parallele Übertragungsleitung
ausgebildet, von welcher Verbindungen zu den einzelnen Speichermodulen
abzweigen. Insbesondere in hohen Frequenzbereichen bzw. für hohe Datenraten weist
eine solche Anordnung den Nachteil auf, daß Reflexionen in den Speicherränken der
Speichermodule auftreten und das Signal auf dem Bus beeinträchtigen.
insbesondere bei Datenraten von 800 Mbps/Pin und mehr (Megabit pro
Sekunde und pro Pin) stoßen
die bekannten Konzepte an ihre Grenzen.
-
Es ist somit eine Aufgabe der vorliegenden Erfindung,
ein synchrones Speichersystem, ein Verfahren zur Kommunikation in
einem synchronen Speichersystem und ein Protokoll zur Kommunikation
in einem synchronen Speichersystem bereitzustellen, die eine schnelle
und sichere Übertragung von
Signalen innerhalb des Speichersystems, insbesondere bei hohen Datenraten,
ermöglichen.
-
Diese Aufgabe wird gelöst durch
ein synchrones Speichersystem mit den in Anspruch 1 angegebenen
Merkmalen, ein Verfahren zur Kommunikation in einem synchronen Speichersystem
mit den in Anspruch 16 angegebenen Merkmalen und ein Protokoll zur
Kommunikation in einem synchronen Speichersystem mit den in Anspruch
22 angegebenen Merkmalen. Bevorzugte Ausführungsformen sind Inhalt der
abhängigen
Ansprüche.
-
Gemäß der Erfindung wird ein synchrones Speichersystem
bereitgestellt, umfassend:
- – eine Speichersteuereinrichtung;
- – ein
oder mehrere Speichermodule eines Hauptspeichers, wobei jedes Speichermodul
einen oder mehrere Speicherränke
umfaßt;
- – einen Übertragungsbus
zur Kommunikation zwischen der Speichersteuereinrichtung und den Speichermodulen,
wobei der Übertragungsbus als
eine verkettete Busstruktur bzw. als eine sogenannte "daisy chain"-Struktur ausgebildet
ist und mehrere parallele Übertragungsleitungen
umfaßt;
wobei
die
Speichersteuereinrichtung ausgelegt ist, Befehle, welche mehrere
Befehlssegmente mit jeweils mehreren Elementen umfassen, zu erzeugen
und über
den Übertragungsbus
zu den Speichermodulen zu übertragen,
der Übertragungsbus
ausgelegt ist, die Elemente eines Befehlssegments parallel zu übertragen,
und
die Befehle jeweils ein Auswahlbefehlssegment bzw. Speicherrankauswahlvektor
umfassen zum Auswählen
eines oder mehrerer Speicherränke,
wobei jedem der Speicherränke
eineindeutig zumindest ein Element des Auswahlbefehlssegments zugeordnet
ist.
-
Unter einem Speicherrank in Sinne
dieser Erfindung werden eine Reihe von Speicherchips verstanden,
welche alle mit dem gleichen Befehl bzw. Kommando (incl. dem ChipSelect-Signal)
im wesentlichen gleichzeitig bzw. gemeinsam angesprochen werden.
Dies ist vorteilhaft, um beispielsweise einen Speicherdatenbus,
der beispielsweise aus 64 Bits besteht, mit vier Speicherchips zu
bestücken,
die ihrerseits nur 16 Datenbits zur Verfügung stellen.
-
Vorzugsweise umfaßt das synchrone Speichersystem
zumindest zwei Speicherränke.
-
Bei der verketteten Busstruktur sind
zwischen der Speichersteuereinrichtung und den Speichermodulen und
zwischen den Speichermodulen untereinander vorzugsweise Punkt-zu-Punkt-Verbindungen
(P2P-Verbindungen) bzw. Links vorgesehen. Hierbei ist ein erstes
Speichermodul mit der Speichersteuereinrichtung über eine Punkt-zu-Punkt-Verbindung
und mit dem benachbarten Speichermodul über eine weitere Punkt-zu-Punkt-Verbindung
verbunden. Die weiteren Speichermodule sind ebenfalls über Punkt-zu-Punkt-Verbindungen mit
dem jeweils nächsten
Speichermodul verbunden.
-
Für
jeden Speicherrank ist zumindest ein eigenes Element in dem Auswahlbefehlssegment
vorgesehen. Dadurch wird ermöglicht,
daß jeder
Speicherrank direkt angesprochen werden kann. Somit kann einer,
mehrere oder alle Speicherränke
gleichzeitig angesprochen werden.
-
Der Hauptspeicher ist vorzugsweise
ein DIMM-Speicher(Dual Inline Memory Module Speicher) wie er in
herkömmlichen
Computern verwendet wird.
-
Vorzugsweise umfassen die Speichermodule
ferner eine Puffereinrichtung bzw. einen Pufferchip zum Weiterleiten
von Befehlen an einen oder mehrere Speicherränke des jeweiligen Speichermoduls und/oder
an andere Speichermodule. Die Puffereinrichtung bildet eine Schnittstelle
zwischen den Speicherränken
und dem Übertragungsbus.
-
Bevorzugt ist die Puffereinrichtung
ausgelegt zum Vergleichen des Bitmusters des Auswahlbefehlssegments
eines Befehls mit einem oder mehreren vorbestimmten Bitmustern und
zum Entscheiden, ob der zugehörige
Befehl an einen oder mehrere der Speicherränke des Speichermoduls und/oder
andere Speichermodule weitergeleitet werden soll.
-
Die Puffereinrichtung umfaßt somit
bevorzugt einen Switch bzw. eine Vergleichseinrichtung, mittels
welcher ermittelbar ist, ob ein Befehl an einen oder mehrere der
Speicherränke
des jeweiligen Speichermoduls weitergeleitet werden soll. Ferner
kann entschieden werden, ob ein Befehl an das benachbarte, über den Übertragungsbus
mit, dem Speichermodul verbundene Speichermodul übertragen werden soll.
-
Ferner ist die Puffereinrichtung
vorzugsweise zum Erzeugen eines Chip-Select-Signals für einen
oder mehrere Speicherränke
ausgelegt. Mit Hilfe des Chip-Select-Signals bzw. Chip-Auswahl-Signals bzw.
Speicherrank-Auswahl-Signals wird dem jeweiligen Speicherrank signalisiert,
daß der
jeweilige Befehl für
ihn bestimmt ist.
-
Bevorzugt ist das Auswahlbefehlssegment das
erste Segment eines Befehls. Es kann somit sehr früh ermittelt
werden, ob der jeweilige Befehl für einen Speicherrank des jeweiligen
Speichermoduls bestimmt ist oder nicht. Dadurch können Latenzen
bzw. Verzögerungen
in dem System gering gehalten werden.
-
Vorzugsweise ist die Anzahl der Übertragungsleitungen
des Übertragungsbusses
mindestens gleich der maximalen Anzahl der in dem Speichersystem
verwendbaren Speicherränke.
-
Ferner kann in den Befehlen für jeden
Speicherrank ein Element für
ein Clock-Enable-Signal bzw. Zeitgeber-Aktivierungs-Signal vorgesehen sein. Dies
bedeutet, daß in
den Befehlen zumindest so viele Elemente für ein Clock- Enable-Signal vorgesehen sind, wie Speicherränke in dem
System verwendet werden bzw. werden können. Die einzelnen Clock-Enable-Signale
können
somit jeweils einem bestimmten Speicherrank zugeordnet werden.
-
Alternativ kann in den Befehlen ein
Element für
ein Clock-Enable-Signal
für alle
Speicherränke vorgesehen
sein. Dies bedeutet, daß nur
ein Element je Befehl für
ein Clock-Enable-Signal
vorgesehen ist. Mit Hilfe des Auswahlbefehlssegments kann ermittelt werden,
für welchen
Speicherrank bzw. welche Speicherränke das Clock-Enable-Signal
im jeweiligen Fall vorgesehen ist.
-
Ähnlich
wie für
das Clock-Enable-Signal, kann in den Befehlen für jeden Speicherrank ein Element
für ein
On-Die-Termination-Signal
vorgesehen sein. Somit kann jedem Speicherrank ein eigenes On-Die-Termination-Signal
zugeordnet werden. Alternativ kann in den Befehlen ein Element für ein On-Die-Termination-Signal
für alle
Speicherränke vorgesehen
sein. Somit ist nur ein Element je Befehl für ein On-Die-Termination-Signal
vorgesehen.
-
Ferner kann die Puffereinrichtung
ausgelegt sein, ein On-Die-Termination-Signal
zu erzeugen. Somit ist das On-Die-Termination-Signal nicht mehr in den
Befehlen enthalten, sondern wird intern in dem Speichermodul durch
die Puffereinrichtung erzeugt.
-
Bevorzugt ist in den Befehlen ein
Element für ein
Reset-Signal vorgesehen.
Alternativ kann eine Übertragungsleitung
für ein
Reset-Signal in dem System vorgesehen sein.
-
Vorzugsweise ist in den Befehlen
ein Element zum Signalisieren vorgesehen, daß der Befehl für die Puffereinrichtung
bestimmt ist. Dadurch können
Befehle nicht nur an die Speicherränke, sondern auch an die Puffereinrichtung
adressiert werden. Weiter kann vorgesehen sein, daß wenn ein
Befehl für
die Puffereinrichtung bestimmt ist, einige Elemente des Befehls
eine andere Funktion erhalten.
-
Weiter bevorzugt umfaßt die Speichersteuereinrichtung
eine Kodiereinrichtung zum Kodieren von erzeugten Befehlen und die
Puffereinrichtung eine Dekodiereinrichtung zum Dekodieren von empfangenen
kodierten Befehlen.
-
Durch die Kodierung der erzeugten
Befehle insbesondere mit einem Kodierungsverfahren für eine Hochgeschwindigkeits-Übertragung kann die Übertragung
der Befehle mit einer hohen Geschwindigkeit erfolgen.
-
Gemäß der Erfindung wird ferner
ein Verfahren zur Kommunikation in einem synchronen Speichersystem,
insbesondere gemäß der Erfindung oder
einer bevorzugten Ausführungsform
davon, zwischen einer Speichersteuereinrichtung und einem oder mehreren
Speichermodulen eines Hauptspeichers über einen Übertragungsbus bereitgestellt,
wobei jedes Speichermodul einen oder mehrere Speicherränke umfaßt, der Übertragungsbus
als eine verkettete Busstruktur ausgebildet ist und mehrere parallele Übertragungsleitungen
umfaßt,
wobei das Verfahren die folgenden Schritte umfaßt:
- – Erzeugen
von Befehlen, welche jeweils mehrere Befehlssegmente mit jeweils
mehreren Elementen umfassen, durch die Speichersteuereinrichtung;
- – Übermitteln
der Befehle zu den Speichermodulen über den Übertragungsbus, wobei die Elemente
eines Befehlssegments parallel übertragen werden;
wobei
die Befehle ein Auswahlbefehlssegment umfassen zum Auswählen eines
oder mehrerer Speicherränke,
wobei jedem der Speicherränke
ein-eindeutig zumindest ein Element des Auswahlbefehlssegments zugeordnet
ist.
-
Bevorzugt umfassen die Speichermodule
jeweils eine Puffereinrichtung und das Verfahren umfaßt die folgenden
Schritte:
- – Empfangen
der Befehl von dem Übertragungsbus
durch die Puffereinrichtung; und
- – Weiterleiten
der Befehle an einen oder mehrere Speicherränke des jeweiligen Speichermoduls und/oder
andere Speichermodule durch die Puffereinrichtung.
-
Vorzugsweise umfaßt das Verfahren die folgenden
Schritte:
- – Vergleichen
des Bitmusters des Auswahlbefehlssegments mit einem oder mehreren
vorbestimmten Bitmustern durch die Puffereinrichtung; und
- – Entscheiden,
ob der zugehörige
Befehl an einen oder mehrere der Speicherränke des Speichermoduls und/oder
andere Speichermodule weitergeleitet werden soll, durch die Puffereinrichtung.
-
Bevorzugt umfaßt das Verfahren ferner einen
Schritt des Erzeugens eines Chip-Select-Signals für einen
oder mehrere Speicherränke
durch die Puffereinrichtung. Weiter bevorzugt wird das Auswahlbefehlssegment
als erstes Segment eines Befehls übertragen.
-
Vorzugsweise umfaßt das Verfahren ferner einen
Schritt des Kodierens von erzeugten Befehlen durch die Speichersteuereinrichtung
und einen Schritt des Dekodierens des empfangenen kodierten Befehls
durch die Puffereinrichtung.
-
Gemäß der Erfindung wird ferner
ein Protokoll zur Kommunikation in einem synchronen Speichersystem,
insbesondere gemäß der Erfindung oder
einer bevorzugten Ausführungsform
davon, zwischen einer Speichersteuereinrichtung und einem oder mehreren
Speichermodulen eines Hauptspeichers über einen Übertragungsbus bereitgestellt,
wobei jedes Speichermodul einen oder mehrere Speicherränke umfaßt und der Übertragungsbus
als eine verkettete Busstruktur ausgebildet ist und mehrere parallele Übertragungsleitungen
umfaßt,
wobei das Protokoll Befehle, welche mehrere Befehlssegmente mit
jeweils mehreren Elementen aufweisen, umfaßt und die Befehle ein Auswahlbefehlssegment
zum Auswählen
eines oder mehrerer Speicherränke
umfassen, wobei jedem der Speicherränke eineindeutig zumindest
ein Element des Auswahlbefehlssegments zugeordnet ist.
-
Die obige Beschreibung des Systems
gilt entsprechend auch für
das Verfahren und das Protokoll.
-
Die Erfindung wird im folgenden anhand
begleitender Zeichnungen bevorzugter Ausführungsformen beispielhaft beschrieben.
Es zeigt:
-
1 ein
schematisches Blockschaltbild eines wesentlichen Teils eines Systems
gemäß einer bevorzugten
Ausführungsform
der vorliegenden Erfindung;
-
2 eine
detaillierte Ansicht des Systems von 1;
-
3 eine
Darstellung eines Befehls für
ein System gemäß einer
ersten bevorzugten Ausführungsform
der Erfindung;
-
4 eine
Darstellung eines Befehls für
ein System gemäß einer
zweiten bevorzugten Ausführungsform
der Erfindung; und
-
5 eine
Darstellung eines Befehls für
ein System gemäß einer
dritten bevorzugten Ausführungsform
der Erfindung.
-
Nachfolgend wird eine bevorzugte
Ausführungsform
eines erfindungsgemäßen Systems
mit Bezug auf 1 und 2 beschrieben.
-
1 zeigt
ein schematisches Blockschaltbild eines Teils eines Systems 10 gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung und 2 zeigt
eine detaillierte Ansicht des Systems 10 von 1.
-
Das synchrone Speichersystem 10 umfaßt ein sogenanntes "Mother Board" bzw, eine Hauptplatine 12,
an welchem eine Speichersteuereinrichtung bzw. ein Controller 14 und
ein oder mehrere Speichermodule 16 angeordnet sind. In 1 und 2 sind jeweils nur zwei Speichermodule 16 dargestellt.
-
Die Speichersteuereinrichtung 14 sendet Daten
und Befehle an die Speichermodule 16. Die Speichermodule 16 können z.B.
DIMMs (Dual In-Line Memeory Modules) eines (herkömmlichen) Computers sein und
den Hauptspeicher des Computers bilden. Ein Speichermodul 16 umfaßt eine
Puffereinrichtung 18 und einen oder mehrere Speicherränke 20.
-
Wie eingangs bereits ausgeführt, wird
unter einem Speicherrank 20 in Sinne der Erfindung Reihe von
Speicherchips D verstanden, die alle mit den gleichen Kommandos
bzw. Befehlen im wesentlichen gleichzeitig bzw. gemeinsam angesprochen
werden. Hierbei ist auch das Chip-Select-Signal bzw. Chip-Auswahl-Signal
für alle
Speicherchips D eines Speicherranks 20 gleich. Z.B. wird
ein Speicherdatenbus, der aus 64 Bits besteht, mit vier Speicherchips
D bestückt,
die ihrerseits nur 16 Datenbits zur Verfügung stellen. Die Speicherchips
D können
z.B. DRAMs sein. Vorzugsweise sind n Speicherränke 20 vorgesehen
bzw. es können
n Speicherränke 20 in dem
System 10 verwendet werden.
-
Die Puffereinrichtung 18 empfängt Befehle von
der Speichersteuereinrichtung 14 und leitet diese an die
Speicherränke 20 und/oder
benachbarte Speichermodule 16 weiter. Die Puffereinrichtung 18 umfaßt einen Eingangsanschluß 26 zum
Empfangen von Befehlen bzw. Signalen und einen Ausgangsanschluß 28 zum
Ausgeben von Befehlen bzw. Signalen. Ferner ist in der Puffereinrichtung 18 ein
Switch bzw. Schalter 30 und ein DM bzw. eine Demulitplexer-Schaltung 32 vorgesehen.
Der DM 32 übersetzt den
schnellen und schmalen Übertragungsbus 22 in einen
langsameren und breiten bzw. breiteren Bus für die Speicherchips. Die Funktionsweise
des Schalters 30 wird später beschrieben.
-
Die Speichersteuereinrichtung 14 und
die Speichermodule 16 sind über einen Übertragungsbus bzw. CA-Link 22 miteinander
verbunden. Der Übertragungsbus 22 ist
hierbei als eine verkettete Busstruktur ausgebildet bzw. bildet
eine sogenannte "Daisy-Chain"-Struktur. Dies bedeutet,
daß die
Speichersteuereinrichtung 14 direkt mit einem ersten Speichermodul 16 über eine
Punkt-zu-Punkt-Verbindung bzw. einen Link verbunden ist. Das erste
Speichermodul 16 ist mit dem benachbarten Speichermodul 16 ebenfalls über eine
Punkt-zu-Punkt-Verbindung
bzw. einen Link verbunden. Die nachfolgenden, in 1 und 2 nicht
gezeigten Speichermodule 16 sind ebenfalls über Punkt-zu-Punkt-Verbindungen bzw.
Links kettenartig miteinander verbunden. Die Speichermodule 16 bilden
somit eine Kette, bei welcher immer jeweils ein Speichermodul 16 mit
dem nächsten
verbunden ist. Es kann ferner vorgesehen sein, daß das letzte
Speichermodul 16 in der Kette mit der Speichersteuereinrichtung 14 verbunden
ist. In der vorliegend dargestellten Ausführungsform ist dies jedoch
nicht der Fall.
-
Der Übertragungsbus 22 weist
mehrere parallele Übertragungsleitungen
bzw. CA-Leitungen bzw. CA-Lines auf, über welche gleichzeitig bzw.
parallel später
beschriebene Teile von Befehlen übertragen
werden. Die Anzahl der parallelen Übertragungsleitungen entspricht
hierbei der maximalen Anzahl der in dem Speichersystem 10 verwendbaren Speicherränke 20.
Somit sind vorzugsweise n Übertragungsleitungen
in dem Übertragungsbus 22 vorhanden.
-
Jedoch kann auch eine größere oder
kleinere Anzahl an parallelen Übertragungsleitungen
vorgesehen sein. Ferner können
weitere Übertragungsleitungen
beispielsweise zur Übertragung
von Synchronisationssignalen wie z.B. Takt-Signalen oder Strobe-Signalen vorgesehen
sein.
-
In jedem Speichermodul 16 ist
die Puffereinrichtung 18 über interne Verbindungen 24 mit
den Speicherränken 20 verbunden.
Die internen Verbindungen 24 weisen ebenfalls parallele Übertragungsleitungen
bzw. CA-Leitungen auf, wobei die Anzahl der Übertragungsleitungen der internen
Verbindungen 24 größer ist
als die Anzahl der Übertragungsleitungen
des Übertragungsbusses 22.
-
Die Anzahl der Pins bzw. Anschlüsse, welche
nötig ist,
um ein Speichermodul 16 mit dem Übertragungsbus 22 zu
verbunden entspricht der Anzahl der Übertragungsleitungen des Übertragungsbusses 22 und
kann somit gering gehalten werden.
-
Die Speichersteuereinrichtung 14 kommuniziert
mit den Speichermodulen 16 mit Hilfe von Befehlen. Diese
Befehle werden von der Speichersteuereinrichtung 14 zu
den Speichermodulen 16 mit Hilfe eines Protokolls, welches
Befehle eines bestimmten Formats verwendet, übertragen.
-
Nachfolgend wird mit Bezug auf 3 ein erstes Befehlsformat,
welches in einem synchronen Speichersystem gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung verwendet wird, beschrieben.
-
Ein Befehl umfaßt mehrere Befehlssegmente
BS, welche jeweils mehrere Elemente bzw. Bits E aufweisen. Die Anzahl
der Elemente E pro Befehlssegment BS ist vorzugsweise gleich der
Anzahl n der parallelen Übertragungsleitungen
des Übertragungsbusses 22.
In der dargestellten Ausführungsform
ist n beispielsweise gleich 8. Jedoch kann jede andere geeignete
Anzahl vorgesehen sein. Die Übertragungsleitungen des Übertragungsbusses 22 sind
in 3 mit CA [0] bis
CA [7] gekennzeichnet.
-
Die Elemente E eines Befehlssegments
BS werden gleichzeitig bzw. parallel über den Übertragungsbus 22 übertragen.
Ein Befehl kann auch als eine Matrix von Signalen aufgefaßt werden,
wobei die Befehlssegmente BS den Spalten der Matrix entsprechen.
-
Gemäß der bevorzugten Ausführungsform der
Erfindung umfaßt
jeder Befehl ein Auswahlbefehlssegment bzw. Speicherrankauswahlvektor
R. Jeweils ein Element bzw. Bit R[i] des Auswahlbefehlssegments
R ist einem vorbestimmten Speicherrank 20 zugeordnet. Mit
Hilfe der Elemente R[i] des Auswahlbefehlssegments R können einzelne,
mehrere oder alle Speicherränke 20 ausgewählt bzw.
angesprochen werden. Dies bedeutet, daß der jeweilige Befehl für den ausgewählten Speicherrank 20 oder die
ausgewählten
Speicherränke 20 bestimmt
ist. Wenn das Element bzw. Bit R[i] gesetzt ist, wird somit der
i-te Speicherrank 20 ausgewählt und der Befehl ist für diesen
Speicherrank bestimmt. In dem Auswahlbefehlssegment R kann kein,
ein, mehrere oder alle Elemente gesetzt sein, um keinen, einen,
mehrere oder alle Speicherränke 20 auszuwählen.
-
Die Adressierung der einzelnen Speicherränke 20 erfolgt
somit direkt über
die Elemente E des Auswahlbefehlssegments R, ohne daß eine Kodierung
erfolgen würde.
Dadurch können
auf einfache weise im Rahmen der Kapazität des Speichersystems 10 Speichermodule 16 hinzugefügt werden. Ferner
ist es, wie bereits oben diskutiert, möglich einen Befehl (sog. "Broadcast-Befehl") an mehrere oder
alle Speicherränke 20 gleichzeitig
zu senden.
-
Ein Befehl gemäß der ersten Ausführungsform
umfaßt
ferner bevorzugt ein Befehlssegment BS, dessen Elemente E Clock-Enable-Signale bzw. Zeitgeber-Aktivierungs-Signale
CKE sind.
-
Hierbei ist jedem Speicherrank 20,
der in dem Speichersystem 10 getrennt angesprochen werden
soll, ein eigenes CKE-Element CKE[i] zugeordnet.
-
Des weiteren kann ein Befehl gemäß der ersten
Ausführungsform
ein Befehlssegment BS umfassen, dessen Elemente E On-Die-Termination-Signale ODT
sind. Hierbei ist ebenfalls jedem Speicherrank 20, der
in dem Speichersystem 10 getrennt angesprochen werden soll,
ein eigenes ODT-Element bzw. ODT-Bit
ODT[i] zugeordnet.
-
Ferner können in einem Befehl gemäß der ersten
Ausführungsform
Elemente bzw. Bits vorgesehen sein für ein Reset-Signal RES, ein Row-Adress-Strobe-Signal
RAS, ein Column-Adress-Strobe-Signal CAS, ein Write-Enable-Signale
WE, Bank-Signale B[i], Adress-Signale A[i] und weitere, noch nicht
weiter spezifizierte Signale RFU[i]. Die Signale RAS, CAS und WE
werden für die
Befehlskodierung verwendet.
-
Nachfolgend wird der Betrieb eines
bevorzugten synchronen Speichersystems 10 mit Bezug auf
die Figuren beschrieben.
-
Die Speichersteuereinrichtung 14 erzeugt
einen Befehl und leitet diesen über
den Übertragungsbus 22 an
das erste Speichermodul 16 weiter. Hierbei werden die einzelnen
Befehlssegmente BS des Befehls nacheinander übertragen, wobei ein Befehlssegment
BS je Taktzyklus bzw. CA-Request-Tick übertragen wird. Um einen Befehl
vollständig
zu übertragen
werden so viele Taktzyklen benötigt,
wie Befehlssegmente BS pro Befehl vorhanden sind.
-
In einer bevorzugten Ausführungsform
wird der erzeugte Befehl vor der Übertragung ferner mit einem
Kodierungsverfahren kodiert. Ein solches Kodierungsverfahren kann
beispielsweise der Code 8B10B, der für Hochgeschwindigkeits-Netzwerkvebindungen
verwendet wird, sein. Es kann jedoch ebenfalls jedes andere geeignete
Kodierungsverfahren eingesetzt werden. Hierzu ist bevorzugt in der Speichersteuereinrichtung 14 eine
Kodierungeinrichtung vorgesehen.
-
Die Verarbeitung der unkodierten
Befehle von der Speichersteuereinrichtung 14 und der Puffereinrichtung 18 kann
somit als ein "logisches
Protokoll" angesehen
werden. Hingegen kann die Verarbeitung der kodierten Befehle als
ein "elektrisches bzw.
physikalisches Protokoll" angesehen
werden, wobei das "logische
Protokoll" und das "physikalische Protokoll" voneinander verschieden
sein können.
-
Die Puffereinrichtung 18 des
ersten Speichermoduls 16 empfängt den Befehl und vergleicht das
Bitmuster des Auswahlbefehlssegments R mit einem internen vorbestimmten
Bitmuster.
-
Wenn die Befehle vor der Übertragung
durch die Speichersteuereinrichtung 14 codiert wurden, werden
die empfangenen Befehle nach dem Empfang zunächst durch die Puffereinrichtung 18 dekodiert.
Hierzu ist bevorzugt in der Puffereinrichtung 18 eine Dekodierungeinrichtung
vorgesehen.
-
Entsprechend dem Vergleichsergebnis
leitet die Puffereinrichtung 18 den Befehl an einen, mehrere
oder alle Speicherränke 20 des
Speichermoduls 16 weiter und/oder leitet den Befehl an
das nächste Speichermodul 16 in
der Kette weiter. D.h. wenn in dem Vergleich ermittelt wurde, daß der Befehl
für einen
oder mehrere Speicherränke 20 des
Speichermoduls 16 bestimmt ist, wird der Befehl an die
jeweiligen Speicherränke 20 weitergeleitet.
Gleichzeitig wird der Befehl an das nächste bzw. benachbarte Speichermodul 16 weitergeleitet.
Wenn in dem Vergleich ermittelt wurde, daß der Befehl nicht für die Speicherränke 20 des
Speichermoduls 16 bestimmt ist, wird der Befehl nur an
das nächste
bzw. benachbarte Speichermodul 16 weitergeleitet.
-
In dem nächsten Speichermodul 16 empfängt die
Puffereinrichtung 18 den weitergeleiteten Befehl und führt wiederum
einen Vergleich durch. Dies wird bis zum letzten Speichermodul 16 der
Kette durchgeführt.
-
Bevorzugt kann die Puffereinrichtung 18 eine Funktionalität aufweisen,
mit Hilfe welcher ermittelt werden kann, ob der Befehl für die nachfolgenden Speichermodule 16 bestimmt
ist oder nicht. Falls der Befehl nicht für die nachfolgenden Speichermodule 16 bestimmt
ist, leitet die Puffereinrichtung 18 den Befehl lediglich
an die zugehörigen
ausgewählten Speicherränke 20 weiter
und nicht an das nachfolgende Speichermodul 16. Dadurch,
daß Befehle
nur weitergeleitet werden, wenn sie für die nachfolgenden Speichermodule 16 bestimmt
sind, kann eine Leistungsersparnis in dem Speichersystem 10 erreicht
werden.
-
Des weiteren kann vorgesehen sein,
daß wenn
die Puffereinrichtung 18 ermittelt, daß sie die letzte in dem Speichersystem 10 ist,
eine Weiterleitung des Befehls unterbleibt.
-
Vorzugsweise wird das Auswahlbefehlssegment
R als erstes Segment eines Befehls übertragen. So kann die obige
Entscheidung in der Puffereinrichtung 18 früh getroffen
werden und Latenzen in der Puffereinrichtung 18 können gering
gehalten werden.
-
Ferner kann vorgesehen sein, daß die Puffereinrichtung 18 das
Chip-Select-Signal, d.h. das Signal, welches dem Speicherrank 20 signalisiert,
daß der
Befehl für
ihn bestimmt ist, für
den jeweiligen Speicherrank 20 intern generiert.
-
Nachfolgend wird Bezug nehmend auf 4 ein zweites Befehlsformat,
welches in einem synchronen Speichersystem gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung verwendet werden kann, beschrieben.
-
Das zweite Befehlsformat entspricht
im wesentlichen dem ersten Befehlsformat. Nachfolgend werden daher
nur die Unterschiede zum ersten Befehlsformat aufgezeigt.
-
Im zweiten Befehlsformat ist lediglich
ein Element für
ein Clock-Enable-Signal CKE je Befehl vorgesehen. Mit Hilfe des
Auswahlbefehlssegments wird bereits festgelegt, für welche
Speicherränke 20 der
Befehl bestimmt ist. Somit ist ein gesondertes Clock-Enable-Signal
CKE für
jeden einzelnen Speicherrank 20 nicht mehr notwendig.
-
Ferner wird das On-Die-Termination-Signal ODT
für die
Speicherränke 20 intern
von der Puffereinrichtung 18 generiert. Aus den übertragenen
Befehlen für
die eigenen und anderen Speicherränke 20 kann die jeweilige
Puffereinrichtung 18 feststellen, wann eine Aktivierung
der On-Die-Termination notwendig ist. Es ist somit nicht notwendig
ein Element für
ein On-Die-Termination-Signal ODT in den Befehlen vorzugsehen.
-
Das Resest-Signal RES wird über eine
eigene Leitung, die zusätzlich
zu dem Übertragungsbus 22 vorgesehen
ist, zu den Speichermodulen 16 zugeführt. Dies ist möglich, da
das Resest-Signal RES nur selten und meist asynchron, d.h. ohne
zeitlichen Zusammenhang zu den Befehlen, benötigt wird.
-
Somit werden im Vergleich zu dem
ersten Befehlsformat weniger Elemente E bzw. Befehlssegmente BS
pro Befehl benötigt.
Die Befehle sind somit kürzer,
d.h. sie weisen weniger Befehlssegmente BS auf, und können schneller übertragen
werden, da weniger Taktzyklen benötigt werden.
-
Nachfolgend wird mit Bezug auf 5 ein drittes Befehlsformat,
welches in einem synchronen Speichersystem gemäß der bevorzugten Ausführungsform
der vorliegenden Erfindung verwendet werden kann, beschrieben.
-
Das dritte Befehlsformat entspricht
im wesentlichen dem zweiten Befehlsformat. Nachfolgend werden daher
nur die Unterschiede zum ersten Befehlsformat aufgezeigt.
-
An Stelle des Resest-Signal RES wird
ein HUB-Signal verwendet, welches signalisiert, wenn ein Befehl
nicht für
einen oder mehrere Speicherränke 20 sondern
für die
Puffereinrichtung 18 selbst bestimmt ist. Hierbei umfaßt die Puffereinrichtung 18 bevorzugt
Konfigurationsregister, die mit dem HUB-Signal gesetzt werden können. Dadurch
kann die Funktionalität
einzelner Element E verändert
werden. Z.B. kann mit Hilfe des HUB-Signals den Signalen RAS, CAS,
WE, B[i] und A[i] eine andere Bedeutung zugeordnet werden, wenn
das HUB-Signal einen vorbestimmten Wert annimmt. In diesem Fall können die
Speicherchip-Funktionen, wie z.B. Power Down oder Self Refresh,
durch die Puffereinrichtungsbefehle gesteuert werden. Ferner kann
vorgesehen sein, daß die
Puffereinrichtung 18 ihren eigenen Power-Down-Modus aufweist.
Dieser Modus kann automatisch aktiviert werden, wenn die nachgelagerten
Speicherchips in den Power-Down-Zustand oder Self-Refresh-Zustand
gebracht werden.
-
Das vorstehend beschriebene synchrone Speichersystem
kann für
hohe Datenraten, insbesondere DDR III (Double-Data-Rate III) mit
1066 – 1333
Mbps/Pin), betrieben werden.
-
- 10
- Speichersystem
- 12
- Mother
Board
- 14
- Speichersteuereinrichtung
- 16
- Speichermodul
- 18
- Puffereinrichtung
- 20
- Speicherrank
- 22
- Übertragungsbus
- 24
- interne
Verbindung
- 26
- Eingangsanschluß
- 28
- Ausgangsanschluß
- 30
- Switch
- 32
- DM
bzw. Demultiplexer-Schaltung
- D
- Speicherchip
- BS
- Befehlssegment
- R
- Auswahlbefehlssegment
- E
- Element