DE602004008067T2 - Speichermodularchitektur-reigentopologie, detektionen und meldungen, präsenz eines äusseren speichermoduls zu innerem modul - Google Patents

Speichermodularchitektur-reigentopologie, detektionen und meldungen, präsenz eines äusseren speichermoduls zu innerem modul Download PDF

Info

Publication number
DE602004008067T2
DE602004008067T2 DE602004008067T DE602004008067T DE602004008067T2 DE 602004008067 T2 DE602004008067 T2 DE 602004008067T2 DE 602004008067 T DE602004008067 T DE 602004008067T DE 602004008067 T DE602004008067 T DE 602004008067T DE 602004008067 T2 DE602004008067 T2 DE 602004008067T2
Authority
DE
Germany
Prior art keywords
agent
storage agent
memory
storage
connection
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 - Lifetime
Application number
DE602004008067T
Other languages
English (en)
Other versions
DE602004008067D1 (de
Inventor
Pete Boulder Vogt
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE602004008067D1 publication Critical patent/DE602004008067D1/de
Application granted granted Critical
Publication of DE602004008067T2 publication Critical patent/DE602004008067T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)
  • Dram (AREA)
  • Debugging And Monitoring (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electronic Switches (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Transfer Systems (AREA)

Description

  • HINTERGRUND
  • 1 veranschaulicht ein informell als RamLink bekanntes Speichersystem des Stands der Technik, das durch das Institute of Electrical and Electronics Engineers (IEEE) als Standard vorgeschlagen wurde. Der Standard wurde als IEEE-Standard 1596.4-1996 bezeichnet und ist formell als IEEE Standard for High-Bandwith Memory Interface Based on Scalable Coherent Interface (SCI) Signaling Technology (RamLink) bekannt. Das System von 1 beinhaltet eine Speichersteuerung 10 und ein oder mehrere Speichermodule 12. Die Speichersteuerung 10 ist typischerweise entweder in einen Prozessor eingebaut oder auf einem Begleitchipsatz für einen Prozessor hergestellt. Jedes Speichermodul weist eine Slave-Schnittstelle 14 auf, die einen Verbindungseingang und einen Verbindungsausgang aufweist. Die Bestandteile sind in einer als RingLink bekannten RamLink-Signalisierungstopologie mit einseitig gerichteten Verbindungen 16 zwischen den Bestandteilen angeordnet. Eine Steuerschnittstelle 18 an jedem Modul koppelt die Slave-Schnittstelle 14 mit Speichervorrichtungen 20. Im System, das in 1 gezeigt ist, wird zwischen den Slave-Schnittstellen und den Speichervorrichtungen eine andere RamLink-Signalisierungstopologie verwendet, die als SyncLink bekannt ist.
  • Der Zweck des RamLink-Systems ist, einen Prozessor mit Hochgeschwindigkeitszugriff auf die Speichervorrichtungen bereitzustellen. Zwischen der Speichersteuerung und den Modulen werden Daten in Paketen übertragen, die entlang des RingLink zirkulieren. Die Steuerung ist für die Erzeugung aller Anforderungspakete und die Planung der Rückführung von Slave-Antwortpaketen verantwortlich.
  • Ein Schreibvorgang wird begonnen, wenn die Steuerung ein Anforderungspaket, das einen Befehl, eine Adresse, eine Zeit und Daten beinhaltet, zu einem bestimmten Modul sendet. Das Paket wird von Modul zu Modul weitergegeben, bis es den vorgesehenen Slave erreicht, der die Daten dann zur Speicherung zu einer der Speichervorrichtungen weitergibt. Der Slave sendet dann ein Antwortpaket, das von Modul zu Modul weitergegeben wird, bis es die Steuerung erreicht, um zu bestätigen, daß der Schreibvorgang abgeschlossen wurde.
  • Ein Lesevorgang wird begonnen, wenn die Steuerung ein Anforderungspaket, das einen Befehl, eine Adresse und eine Zeit beinhaltet, zu einem Modul sendet. Der Slave an diesem Modul ruft die angeforderten Daten aus einer der Speichervorrichtungen ab und sendet sie in einem Antwortpaket, das erneut von Modul zu Modul weitergegeben wird, bis es die Steuerung erreicht, zur Steuerung zurück.
  • 2 veranschaulicht eine RamLink-Slave-Schnittstellenschaltung. In der Schaltung von 2 wird quellensynchrones Auftasten verwendet, um die ankommenden Datensignale zu takten. Das heißt, es wird ein Auftastsignal, das die ankommenden Datensignale begleitet, verwendet, um die ankommenden Daten abzutasten. Die Schaltung von 2 verwendet einen Phasenregelkreis (PLL), um aus einem Bezugstaktsignal, das zu anderen Slave-Schnittstellenschaltungen verteilt wird, einen stabilen lokalen Takt zu erzeugen. Das lokale Taktsignal wird verwendet, um das abgehende Datensignal neu zu takten, um kumulatives Jittern zu vermeiden, wenn die Daten stromabwärts weitergegeben werden.
  • Das Dokument US2002/0,144,173 offenbart eine Speichersteuerung, die durch das Senden einer Startabfolge an serielle Anwesenheitsfeststellungs-EEPROMs die Anwesenheit von Speichermodulen prüft.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 veranschaulicht ein RamLink-Speichersystem des Stands der Technik.
  • 2 veranschaulicht eine RamLink-Slave-Schnittstellenschaltung des Stands der Technik.
  • 3 veranschaulicht eine Ausführungsform eines Speicherschnittstellensystems nach den erfinderischen Grundsätzen dieses Patents.
  • 4 veranschaulicht eine Ausführung eines Speichermoduls nach den erfinderischen Grundsätzen dieses Patents.
  • 5 veranschaulicht eine andere Ausführungsform eines Speichermoduls und eine Ausführungsform eines Speicherpuffers nach den erfinderischen Grundsätzen dieses Patents.
  • 6 veranschaulicht zusätzliche beispielhafte Ausführungsformen eines Speichersystems, von Speichermodulen, und von Speicherpuffern nach den erfinderischen Grundsätzen dieses Patents.
  • 7 veranschaulicht eine andere beispielhafte Ausführungsform eines Speicherpuffers nach den erfinderischen Grundsätzen dieses Patents.
  • 8 veranschaulicht eine Ausführungsform einer Weitertreibeschaltung nach den erfinderischen Grundsätzen dieses Patents.
  • 9 veranschaulicht eine Ausführungsform einer E/A-Zelle nach den erfinderischen Grundsätzen dieses Patents.
  • 10 veranschaulicht eine andere Ausführungsform einer E/A-Zelle nach den erfinderischen Grundsätzen dieses Patents.
  • 11 veranschaulicht eine andere Ausführungsform einer E/A-Zelle nach den erfinderischen Grundsätzen dieses Patents.
  • 12 veranschaulicht eine andere Ausführungsform einer E/A-Zelle nach den erfinderischen Grundsätzen dieses Patents.
  • 13 veranschaulicht eine Ausführungsform einer Failover-Schaltung nach den erfinderischen Grundsätzen dieses Patents.
  • 14 veranschaulicht eine andere Ausführungsform einer Failover-Schaltung, die in einer normalen Betriebsart tätig ist, nach den erfinderischen Grundsätzen dieses Patents.
  • 15 veranschaulicht eine andere Ausführungsform einer Failover-Schaltung, die in einer Failover-Betriebsart tätig ist, nach den erfinderischen Grundsätzen dieses Patents.
  • 16 veranschaulicht eine Ausführungsform eines Speicherpuffers mit Bitspuren-Failover-Fähigkeit nach den erfinderischen Grundsätzen dieses Patents.
  • 17 veranschaulicht eine Ausführungsform einer Speichersteuerung mit Bitspuren-Failover-Fähigkeit nach den erfinderischen Grundsätzen dieses Patents.
  • 18 veranschaulicht eine Ausführungsform eines Verfahrens zur Ausführung permutierender Zustandsmuster nach den erfinderischen Grundsätzen dieses Patents.
  • 19 veranschaulicht eine Ausführungsform eines Permutationsmustergenerators nach den erfinderischen Grundsätzen dieses Patents.
  • 20 bis 23 veranschaulichen beispielhafte Ausführungsformen von Zustandsmustern nach den erfinderischen Grundsätzen dieses Patents.
  • 24 veranschaulicht eine Ausführungsform eines Speicheragenten nach den erfinderischen Grundsätzen dieses Patents.
  • 25 veranschaulicht eine Ausführungsform einer Abfragetätigkeit nach den erfinderischen Grundsätzen dieses Patents.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Dieses Patent umfasst zahlreiche Erfindungen, die unabhängige Nützlichkeit aufweisen. In einigen Fällen werden zusätzliche Vorteile verwirklicht, wenn einige der Grundsätze in verschiedensten Kombinationen miteinander benutzt werden und dadurch zusätzliche Erfindungen zur Folge haben. Diese Grundsätze können in unzähligen Ausführungsformen verwirklicht werden. Obwohl zum Zweck der Erläuterung der erfinderischen Grundsätze einige bestimmte Einzelheiten gezeigt sind, können nach den erfinderischen Grundsätzen dieses Patents zahlreiche andere Anordnungen erdacht werden. Daher sind die erfinderischen Grundsätze nicht auf die hierin offenbarten bestimmten Einzelheiten beschränkt.
  • 3 veranschaulicht eine Ausführungsform eines Speicherschnittstellensystems nach den erfinderischen Grundsätzen dieses Patents. Das System von 3 beinhaltet eine Speichersteuerung 50 und ein oder mehrere Speichermodule 52, die durch einen Kanal, der aus einseitig gerichteten Verbindungen aufgebaut ist, kommunizieren. Der Kanal weist einen ausgehenden Pfad, der eine oder mehrere ausgehende Verbindungen 54 beinhaltet, und einen eingehenden Pfad, der eine oder mehrere eingehende Verbindungen 56 beinhaltet, auf. Jedes Modul kann fähig sein, Signale auf dem ausgehenden Pfad von Verbindung zu Verbindung und auf dem eingehenden Pfad von Verbindung zu Verbindung weiterzutreiben. Jedes Modul kann auch fähig sein, jegliche Weitertreibemerkmale zu deaktivieren, zum Beispiel, wenn das Modul feststellt, daß es das äußerste Modul ist, oder als Reaktion auf einen Befehl von der Speichersteuerung.
  • Jedes Modul beinhaltet eine oder mehrere Speichervorrichtungen 58, die dazu eingerichtet sind, Daten zu und/oder von einem oder mehreren der Pfade zu übertragen. Zum Beispiel kann das Modul derart eingerichtet sein, daß Daten vom ausgehenden Pfad zu einer Speichervorrichtung übertragen werden, und Daten von der Speichervorrichtung zum eingehenden Pfad übertragen werden. Zwischen einer oder mehreren Speichervorrichtungen und einem oder mehreren der Pfade können ein oder mehrere Puffer angeordnet sein. Die Module und die Steuerung sind nicht auf irgendeine bestimmte mechanische Anordnung beschränkt. Zum Beispiel können die Module vom Rest des Systems gesondert auf Substraten hergestellt sein, können sie auf einem gemeinsamen Substrat mit der Steuerung und den Verbindungen hergestellt sein, oder können sie in jeder belieben anderen mechanischen Einrichtung verwirklich sein. Die Module sind auch nicht auf irgendeine bestimmte Art von Speichervorrichtung, z.B. Nurlesespeicher (ROM), dynamische Direktzugriffsspeicher (DRAM), Flash-Speicher, usw., beschränkt.
  • 4 veranschaulicht eine Ausführungsform eines Speichermoduls nach den erfinderischen Grundsätzen dieses Patents. Das Modul von 4 beinhaltet zwei Weitertreibeschaltungen 60 und 62, um Signale auf einseitig gerichteten Verbindungen 54A und 56A zu empfangen bzw. die Signale auf einseitig gerichteten Verbindungen 54B bzw. 56B weiterzutreiben. Eine oder mehrere Speichervorrichtungen 58 sind eingerichtet, um Daten zu und/oder von einer oder mehreren der Weitertreibeschaltungen zu übertragen.
  • Das Modul von 4 ist nicht auf irgendeine bestimmte Anordnung von einseitig gerichteten Verbindungen oder irgendeine bestimmte Anordnung zum Übertragen von Daten zu und/oder von den Weitertreibeschaltungen beschränkt. Wenn das Modul von 4 in einem Speichersystem wie dem in 3 gezeigten verwendet werden soll, könnte die Weitertreibeschaltung 60 als eine ausgehende Weitertreibeschaltung bestimmt sein und dazu eingerichtet sein, Signale auf einem ausgehenden Pfad, der die Verbindungen 54A und 54B beinhaltet, zu empfangen und weiterzutreiben, und könnte die andere Weitertreibeschaltung 62 als eine eingehende Weitertreibeschaltung bestimmt sein und dazu eingerichtet sein, Signale auf einem eingehenden Pfad, der die Verbindungen 56A und 56B beinhaltet, zu empfangen und weiterzutreiben. In diesem Beispiel können eine oder mehrere Speichervorrichtungen 58 so eingerichtet sein, daß Daten von der ausgehenden Weitertreibeschaltung 60 zur Speichervorrichtung (zu den Speichervorrichtungen) und von der Speichervorrichtung (den Speichervorrichtungen) zur eingehenden Weitertreibeschaltung 62 übertragen werden.
  • Das Modul kann fähig sein, festzustellen, ob es das äusserste Modul auf einem Kanal ist, und demgemäß selektiv jegliche Weitertreibemerkmale zu deaktivieren. Wenn das Modul von 4 zum Beispiel in einem Speichersystem wie dem in 3 gezeigten verwendet werden soll, und das Modul feststellt, daß es das äußerste Modul ist, empfängt die ausgehende Weitertreibeschaltung ankommende Signale auf der Verbindung 54A, doch treibt es diese nicht weiter. In der gleichen Weise betreibt die eingehende Weitertreibeschaltung die Verbindung 56B nur mit Signalen, die Daten entsprechen, welche von der Speichervorrichtung (den Speichervorrichtungen) empfangen wurden, und/oder anderen Signalen, die durch das Modul intern erzeugt werden können. Alternativ kann das Modul so aufgebaut sein, daß es auch dann, wenn das Modul feststellt, daß es nicht das äußerste Modul ist, fähig ist, so tätig zu sein, als ob es das äußerste Modul wäre (zum Beispiel als Reaktion auf einen Befehl von einer Speichersteuerung), in welchem Fall es möglicherweise Signale, die auf der eingehenden Verbindung 56A empfangen werden, ignorieren kann und Signale möglicherweise nicht zur ausgehenden Verbindung 54B weitertreiben kann.
  • 5 veranschaulicht eine andere Ausführungsform eines Speichermoduls und eine Ausführungsform eines Speicherpuffers nach den erfinderischen Grundsätzen dieses Patents. Das Modul von 5 beinhaltet einen Speicherpuffer 64, der zwei Weitertreibeschaltungen 60 und 62 aufweist, um Signale auf einseitig gerichteten Verbindungen 54A und 56A zu empfangen, und die Signale auf einseitig gerichteten Verbindungen 54B bzw. 56B weiterzutreiben. Der Speicherpuffer beinhaltet auch eine Speicherschnittstelle 66, die dazu eingerichtet ist, Daten zu und von einer oder mehreren Speichervorrichtungen 58 zu übertragen. Der Puffer kann fähig sein, festzustellen, ob er der letzte Agent auf einem Kanal ist, und demgemäß jegliche Weitertreibemerkmale selektiv zu deaktivieren. Der Puffer kann, zum Beispiel als Reaktion auf einen Befehl von einer Speichersteuerung, fähig sein, so tätig zu sein, als ob er der letzte Agent auf einem Kanal wäre, selbst wenn er dies nicht ist. Wie hierin verwendet bezieht sich „Agent" auf jede beliebige Speichersteuerung (auch als „Host" bezeichnet), jedes beliebige Modul, jeden beliebigen Puffer, usw. die, das bzw. der mit dem Kanal gekoppelt ist.
  • Das Modul und der Puffer von 5 sind nicht auf irgendeine bestimmte Anordnung von einseitig gerichteten Verbindungen und irgendeine bestimmte Anordnung zur Übertragung zwischen der Speicherschnittstelle und den Weitertreibeschaltungen beschränkt. Wenn das Modul 5 in einem Speichersystem wie dem in 3 gezeigten verwendet werden soll, könnte die Weitertreibeschaltung 60 als eine ausgehende Weitertreibeschaltung bestimmt sein und dazu eingerichtet sein, Signale auf einem ausgehenden Pfad, der die Verbindungen 54A und 54B beinhaltet, zu empfangen und weiterzutreiben, und könnte die andere Weitertreibeschaltung 62 als eine eingehende Weitertreibeschaltung bestimmt sein und dazu eingerichtet sein, Signale auf einem eingehenden Pfad, der die Verbindungen 56A und 56B beinhaltet, zu empfangen und weiterzutreiben. In diesem Beispiel kann die Speicherschnittstelle dazu konfiguriert sein, Daten von der ausgehenden Weitertreibeschaltung 60 zu empfangen und Daten zur eingehenden Weitertreibeschaltung 62 zu senden.
  • Es können verschiedenste mechanische Anordnungen verwendet werden, um die Speichermodule und/oder Puffer von 4 und 5 auszuführen. Zum Beispiel können die Speichervorrichtungen 58, die Weitertreibeschaltungen 60 und 62, und der Puffer 64 alle als gesonderte integrierte Schaltungen auf einer gemeinsamen Schaltplatte oder auf gesonderten Schaltplatten verwirklicht werden. Verschiedenste Kombinationen der Bestandteile können zusammen in einer gemeinsamen integrierten Schaltung hergestellt werden, oder sie können alle in einer einzelnen integrierten Schaltung hergestellt werden. Die Schaltplatte oder -platten, falls vorhanden, kann bzw. können fähig sein, in eine Steckstelle an einer Hauptplatine eingesteckt zu werden, kann bzw. können einstückig mit einer Hauptplatine hergestellt werden, oder auf irgendeine andere Weise angeordnet werden. Es kann möglicherweise keine Schaltplatte vorhanden sein, zum Beispiel, wenn die Bestandteile als Teil eines Mehrfachchipmoduls hergestellt sind. Ein Speicherpuffer nach den erfinderischen Grundsätzen dieses Patents kann verwendet werden, um andere Vorrichtungen als Speichervorrichtungen mit einem Kanal zu koppeln. Zum Beispiel kann ein Speicherpuffer nach den erfinderischen Grundsätzen dieses Patents verwendet werden, um eine E/A-Steuerung oder eine Brücke mit einem Kanal zu koppeln.
  • Zusätzliche Ausführungsformen von Vorrichtungen nach den erfinderischen Grundsätzen dieses Patents werden unter Bezugnahme auf „eingehende" und „ausgehende" Pfade, Verbindungen, Weitertreibeschaltungen, usw. beschrieben, um das Verständnis, wie die Vorrichtung in einem Speichersystem wie etwa der in 3 gezeigten Ausführungsform benutzt werden kann, zu erleichtern. Diese Vorrichtungen sind jedoch nicht auf irgendeine bestimmte Anordnung von einseitig gerichteten Verbindungen, auf die bestimmten Anordnungen, die zum Übertragen von Daten zwischen den Verbindungen und anderen Schaltsystemen gezeigt sind, oder auf irgendeine der gezeigten Ausführungseinzelheiten beschränkt.
  • 6 veranschaulicht zusätzliche beispielhafte Ausführungsformen eines Speichersystems, von Speichermodulen, und von Speicherpuffern nach den erfinderischen Grundsätzen dieses Patents. Unter Bezugnahme auf 6 beruhen ein oder mehrere Speichermodule 52 auf gedruckten Schaltplatten, die entlang beider Seiten eines Rands Kontaktfinger aufweisen, um ein Dual-Inline-Speichermodul (DIMM) zu schaffen, das in einen Steckverbinder an einer anderen Schaltplatte, die andere Bestandteile des Systems hält, eingesteckt werden kann. Für das Modul kann ein bestehender Formfaktor eingesetzt werden, zum Beispiel der DIMM-Formfaktor, der für dynamische Double-Data-Rate-II(DDR2)-Direktzugriffsspeicher(DRAM)-Module verwendet wird.
  • Diese Module sind mit Speichervorrichtungen 58, zum Beispiel Massenwaren-DRAM wie etwa DDR2-DRAM bestückt. Ein Speicherpuffer 64 an jedem Modul isoliert die Speichervorrichtungen von einem Kanal, der die Module mit der Speichersteuerung 50, die auch als Host bezeichnet wird, koppelt. Der Kanal ist in einer Punkt-zu-Punkt-Anordnung mit einem ausgehenden Pfad, der ausgehende Verbindungen 54 beinhaltet, und einem eingehenden Pfad, der eingehende Verbindungen 56 beinhaltet, verdrahtet. Die Verbindungen können mit parallelen einseitig gerichteten Bitspuren, die Niederspannungsdifferenzsignale verwenden, ausgeführt sein.
  • In der Ausführungsform von 6 werden für Funktionen wie etwa „Befehl", „Rückstellung", „Initialisierung" und dergleichen keine zusätzlichen Signalleitungen verwendet. Stattdessen sind diese Funktionen direkt in die Daten, die über den Kanal gesendet werden, codiert. Alternativ kann jedoch jede beliebige Anzahl von zusätzlichen Signalleitungen verwendet werden, um derartige Funktionen auszuführen.
  • Ein Bezugstaktsignal REF CLK wird durch einen Taktsynthetisierer 76 erzeugt und, möglicherweise durch einen Taktpuffer 78, zum Host und zu den Modulen verteilt. Dies erleichtert ein quasi asynchrones Taktungsschema, in dem lokal erzeugte Taktsignale verwendet werden, um ankommende Daten abzutasten und weiterzutreiben. Da an jedem Agenten ein gemeinsamer Bezugstakt verfügbar ist, können Datensignale ohne jegliche Frequenzverfolgung getaktet werden. Alternativ kann ein lokales Taktsignal unabhängig von jeglichem Bezugstakt erzeugt werden. Als andere Alternative kann ein synchrones Taktungsschema wie etwa ein quellensynchrones Auftasten verwendet werden.
  • In einer möglichen Ausführungsform beginnt der Host Datenübertragungen durch das Senden von Daten, möglicherweise in Paketen oder Rahmen (die Ausdrücke werden hier austauschbar verwendet), zum innersten Modul auf dem ausgehenden Pfad. Das innerste Modul empfängt die Daten und treibt sie zum nächsten Modul auf dem ausgehenden Pfad weiter. Jedes Modul empfängt die ausgehenden Daten und treibt sie weiter, bis sie das äußerste Modul erreichen. Obwohl das äußerste Modul versuchen könnte, die Daten zu einer „nichtexistierenden" ausgehenden Verbindung weiterzutreiben, kann jedes Modul fähig sein, festzustellen (oder angewiesen zu werden), daß es das äußerste Modul ist, und jegliches Weitertreibeschaltungssystem zu deaktivieren, um einen unnötigen Leistungsverbrauch, Rauschen, usw. zu verringern. In dieser Ausführungsform werden Datenübertragungen in der Richtung des Hosts, d.h., eingehende Datenübertragungen, durch das äußerste Modul begonnen. Jedes Modul empfängt eingehende Daten und treibt sie entlang des eingehenden Pfads weiter, bis sie den Host erreichen.
  • Über den physikalischen Kanal kann jedes beliebige geeignete Kommunikationsprotokoll verwendet werden. Zum Beispiel kann der Host dazu bestimmt sein, alle eingehenden und ausgehenden Datenübertragungen zu beginnen und zu planen. Alternativ kann jedem beliebigen Agenten gestattet sein, Datenübertragungen zu beginnen. Rahmen von Daten können dazu konfiguriert sein, Befehle, Lesedaten, Schreibdaten, Zustandsinformationen, Fehlerinformationen, Initialisierungsdaten, Leermuster, usw. oder jede beliebige Kombination davon zu tragen. Ein Protokoll kann so ausgeführt sein, daß das Zielmodul dann, wenn der Host einen Befehlsrahmen entlang des ausgehenden Pfads zu einem Zielmodul sendet, durch sofortiges Zurücksenden eines Antwortrahmens entlang des eingehenden Pfads zum Host reagiert. In einer derartigen Ausführungsform treibt das Zielmodul den Befehlsrahmen nicht auf dem ausgehenden Pfad weiter.
  • In einer alternativen Ausführungsform empfängt das Zielmodul den Befehlsrahmen und treibt es dann den Befehlsrahmen auf dem ausgehenden Pfad weiter. Wenn das äußerste Modul den Befehlsrahmen empfängt, löst es einen Antwortrahmen (möglicherweise nichts anderes als ein leerer Rahmen) auf dem eingehenden Pfad aus. Das Zielmodul wartet, bis der Antwortrahmen seinen einwärtigen Empfänger erreicht. Das Zielmodul mischt dann seine Antwort in den eingehenden Datenstrom, z.B. indem es den Antwortrahmen, der durch das äußerste Modul gesendet wurde, durch den wirklichen Antwortrahmen des Zielmoduls ersetzt.
  • 7 veranschaulicht eine andere beispielhafte Ausführungsform eines Speicherpuffers nach den erfinderischen Grundsätzen dieses Patents. Der Speicherpuffer von 7 beinhaltet eine ausgehende Weitertreibeschaltung 60, um Signale auf einem ausgehenden Pfad, der Verbindungen 54A und 54B beinhaltet, zu empfangen und weiterzutreiben, und eine eingehende Weitertreibeschaltung 62, um Signale auf einem eingehende Pfad, der Verbindungen 56A und 56B beinhaltet, zu empfangen und weiterzutreiben. Eine Speicherschnittstelle 66 koppelt den Puffer mit einer oder mehreren Speichervorrichtungen, was durch einen Speicherbus 68 erfolgen kann. Die Speicherschnittstelle kann Lese- und/oder Schreibpuffer wie etwa FIFO-Puffer beinhalten. Daten vom ausgehenden Pfad werden mit der Speicherschnittstelle gekoppelt, was durch eine Entzerrungsschaltung 70 erfolgen kann, die einen Versatz zwischen Bits von Daten beseitigt, wenn der ausgehende Pfad mehr als eine Bitspur aufweist. Ein Mustergenerator 72 kann verwendet werden, um Zustandsmuster zur Sendung auf den eingehenden Pfad zu erzeugen, zum Beispiel, wenn der Puffer zufällig der äusserste Agent auf einem Kanal ist, in welchem Fall möglicherweise kein Signal auf der ankommenden eingehenden Verbindung 56A empfangen wird. Ein Multiplexer 74 koppelt selektiv Daten von der Speicherschnittstelle oder vom Mustergenerator mit der eingehenden Weitertreibeschaltung.
  • Die Speicherschnittstelle ist nicht auf irgendeine bestimmte Anordnung beschränkt, und sie kann mit Standardspeichervorrichtungen, insbesondere Massenwaren-Speichervorrichtungen wie etwa DDR2-DRAM kompatibel sein. Der gesamte Speicherpuffer kann in einer einzelnen integrierten Schaltung integriert sein, er kann in eine oder mehrere Speichervorrichtungen integriert sein, seine bildenden Elemente können in gesonderte Bestandteile integriert sein, oder es kann jede beliebige andere mechanische Anordnung eingesetzt werden. Die in 7 gezeigte Ausführungsform ist nur beispielhaft, und nach den erfinderischen Grundsätzen dieses Patents sind andere Ausführungsformen möglich. Zum Beispiel ist die Ausführungsform von 7 mit einseitig gerichteten Daten gezeigt, die von der ausgehenden Weitertreibeschaltung zur Speicherschnittstelle und von der Speicherschnittstelle zur eingehenden Weitertreibeschaltung fließen. Dieser Datenfluß kann jedoch zweiseitig gerichtet sein, und andere Anordnungen sind ins Auge gefaßt. Selbst wenn die Ausführungsform von 7 in einem Kanalsystem verwendet werden soll, in dem Daten für die Speicherschnittstelle nur wie in 7 gezeigt fließen müssen, kann sie dennoch mit Weitertreibeschaltungen verwirklicht werden, die über einen vollständigen zweiseitig gerichteten Datenzugriff verfügen, da dies zum Beispiel die Ausführung von eingebauten Selbstprüfungs(BIST)funktionen erleichtern kann, in welchem Fall eine zweite Entzerrungsschaltung zum Entzerren von Daten vom eingehenden Pfad hilfreich sein kann.
  • 8 veranschaulicht eine Ausführungsform einer Weitertreibeschaltung nach den erfinderischen Grundsätzen dieses Patents. Die Schaltung von 8 beinhaltet eine oder mehrere Eingangs/Ausgangs-Zellen (E/A-Zellen) 74, wovon jede ein Eingangsdatensignal RX empfängt, das als ein Augangsdatensignal TX weitergetrieben werden kann. Alternativ kann eine E/A-Zelle ein Lesedatensignal RDX durch das Augangsdatensignal ersetzen oder in dieses mischen. Ein Schreibdatensignal WDX kann vom Eingangsdatensignal genommen werden, entweder vor oder nachdem dieses als das Augangsdatensignal weitergetrieben wird.
  • Das „X" in jeder der obigen Signalbezeichnungen gibt an, daß es sich abhängig von der Anzahl der E/A-Zellen in der Weitertreibeschaltung um eines vom mehreren ähnlichen Signalen handeln könnte. Zum Beispiel würde eine Weitertreibeschaltung, die neun Bitspuren aufweist, neun E/A-Zellen mit Eingangsdatensignalen aufweisen, die als R0, R1 ... R8 bezeichnet sind. In einer Weitertreibeschaltung mit nur einer einzelnen E/A-Zelle wäre das Dateneingangssignal R0 oder einfach R. Der Ausdruck RX wird verwendet, um generisch auf jedes beliebige oder alle Eingangsdatensignale zu verweisen.
  • Der Ausdruck „Schreibdaten" wird zur Bequemlichkeit verwendet, um jegliche Daten anzugeben, die vom Datenstrom, der sich durch die E/A-Zelle bewegt, genommen werden. Dies besagt jedoch nicht, daß Schreibdaten an eine Speicherschnittstelle oder an eine Speichervorrichtung gerichtet sein müssen. In der gleichen Weise bezieht sich „Lesedaten" auf jegliche Daten, die in die E/A-Zelle eingegeben werden, wobei Lesedaten von jeder beliebigen Quelle, nicht nur einer Speichervorrichtung oder einer Speicherschnittstelle, kommen können.
  • Unter erneuter Bezugnahme auf 8 erzeugt ein Taktgenerator 80 als Reaktion auf ein Bezugstaktsignal REF CLK eine Anzahl von Phasentaktsignalen PCX und ein Sendetaktsignal TC. Der Taktgenerator beinhaltet einen Phasenregelkreis (PLL) 82, der den Sendetakt TC als ein Vielfaches des Bezugstaktsignals REF CLK erzeugt, und einen Phasentaktgenerator 84. In einer möglichen Ausführungsform gibt es vier Phasentaktsignale PC0, PC1, PC2 und PC3, die um 90 Grad beabstandet sind und vom Sendetakt TC erlangt werden. Jede der E/A-Zellen kann eines oder mehrere der TC- und PCX-Signale verwenden, um Datensignale abzutasten und/oder weiterzutreiben, und/oder um zusätzliche lokale Taktsignale zu erzeugen. In dieser Ausführungsform sind das Phasentakt- und das Sendetaktsignal in dem Sinn stabile Signale, als sie nicht als Reaktion auf die Phase eines jeglichen der Eingangsdatensignale RX reguliert werden.
  • 9 veranschaulicht eine Ausführungsform einer E/A-Zelle nach den erfinderischen Grundsätzen dieses Patents. Ein Empfänger 86 ist dazu eingerichtet, ein Datensignal RX zu empfangen und dieses als Reaktion auf ein Abtasttaktsignal SC als Datensignal TX weiterzutreiben. Das Abtasttaktsignal wird durch einen Abtasttaktgenerator 88 erzeugt, der fähig ist, das Abtasttaktsignal als Reaktion auf das Datensignal RX zu regulieren. Ein Schreibdatensignal WDX kann vom Eingang oder vom Ausgang des Empfängers 86 genommen werden. Wenn es wie in 9 gezeigt vom Ausgang des Empfängers genommen wird, kann das Abtasttaktsignal SC als Auftastsignal für die Schreibdaten oder zur Erlangung des Auftastsignals verwendet werden. Der Eingang an den Abtasttaktgenerator kann von anderen Punkten als vom Eingang des Empfängers, wie dies in 9 gezeigt ist, genommen werden. Zum Beispiel kann er auch vom Ausgang des Empfängers genommen werden.
  • 10 veranschaulicht eine andere Ausführungsform einer E/A-Zelle nach den erfinderischen Grundsätzen dieses Patents. In der Ausführungsform von 10 ist der Abtasttaktgenerator 88 mit einem Interpolator 90 und einer Empfängerverfolgungseinheit (RTU) 92 ausgeführt. Der Interpolator erzeugt das Abtasttaktsignal als Reaktion auf ein Verfolgungssignal von der Empfängerverfolgungseinheit durch Interpolieren zwischen einer Anzahl von Phasentaktsignalen PCX (in diesem Fall vier Signalen, die um 90° phasenverschoben sind). Die Empfängerverfolgungseinheit beobachtet das Datensignal RX und reguliert das Verfolgungssignal derart, daß das Abtasttaktsignal den Empfänger veranlaßt, das Datensignal zu einer passenden Zeit abzutasten und weiterzutreiben.
  • Somit kann das Abtasttaktsignal das Datensignal dynamisch verfolgen.
  • In einer möglichen Ausführungsform beobachtet die Empfängerverfolgungseinheit Übergänge im Datensignal RX, indem sie das Datensignal überabtastet und den Abtasttakt reguliert, damit das Datensignal in der Mitte des Datenauges, d.h., am Mittelpunkt zwischen Übergängen im Datensignal, abgetastet und weitergetrieben wird. Der Abtasttaktgenerator 88 kann ein Schleifenfilter beinhalten, das mehrere Bitzellen mißt und schließlich bestimmten kann, daß es die Phase des Abtasttaktsignals regulieren sollte, um die Daten näher an der Mitte der Stelle des Datenauges einzufangen. Der Eingang an den Abtasttaktgenerator kann von anderen Punkten als dem Eingang des Empfängers, wie dies in 10 gezeigt ist, genommen werden. Zum Beispiel kann er auch vom Ausgang des Empfängers genommen werden.
  • Eine Ausführungsform einer E/A-Zelle nach den erfinderischen Grundsätzen dieses Patent kann mit einem Schema verwendet werden, das die E/A-Zellen schult, das Datensignal dynamisch zu verfolgen. Wenn zum Beispiel die E/A-Zelle von 10 als eines der in 3 gezeigten Speichermodule verwendet wird, kann der Host periodisch Schulungsrahmen auf den ausgehenden Pfad senden. Diese Schulungsrahmen weisen eine Randdichte auf, die angemessen ist, um sicherzustellen, daß die Empfängerverfolgungseinheit genug Übergänge im Datensignal beobachtet, um fähig zu sein, das Abtasttaktsignal zu regulieren. In der gleichen Weise kann das äußerste Modul in 3 periodisch Schulungsrahmen auf den eingehenden Pfad senden.
  • 11 veranschaulicht eine andere Ausführungsform einer E/A-Zelle nach den erfinderischen Grundsätzen dieses Patents. Die Ausführungsform von 11 ist der von 9 ähnlich, doch ist im Datensignalweg ein Puffer 94 hinzugefügt. Der Puffer 94 kann ein Jittervermeidungs- oder ein Abwanderungsausgleichspuffer sein, der spannungs- und temperaturbedingte Auswirkungen ausgleicht. Der Puffer resynchronisiert das Datensignal TX zu einem Sendetaktsignal TC. Das Sendetaktsignal ist in dem Sinn stabil, als es nicht in der Weise, wie dies beim Abtasttaktsignal SC der Fall ist, als Reaktion auf das Datensignal reguliert wird.
  • In der Ausführungsform von 11 ist der Puffer als Reaktion auf ein Betriebsartsignal fähig, entweder in einer Durchführungsbetriebsart oder in einer Weitertreibebetriebsart tätig zu sein. In der Durchführungsbetriebsart wird das Signal als Reaktion auf das Taktsignal abgetastet und weitergetrieben. Dies ermöglicht es der E/A-Zelle, in unterschiedlichen Weitertreibebetriebsarten tätig zu sein. In einer möglichen Ausführungsform ist der Puffer in einer Durchführungsbetriebsart tätig, wenn das Betriebsartsignal geltend gemacht wird. Dies wird als Wiederabtastungsbetriebsart bezeichnet und kann zu einer kürzeren Wartezeit führen, da das Datensignal durch den gleichen Takt, der zum Abtasten der Daten verwendet wird, weitergetrieben wird. Wenn das Betriebsartsignal nicht geltend gemacht wird, ist der Puffer in der Weitertreibebetriebsart tätig, so dass die Daten mit dem Sendetakt resynchronisiert werden. Dies wird als Resync-Betriebsart bezeichnet und kann zu einer längeren Wartezeit führen, kann aber das Jittern verringern. Die E/A-Zelle kann in einen Speicherpuffer oder in ein Modul gestaltet sein, der bzw. das einen Eingang zum Empfang des Betriebsartsignals aufweist. Wenn der Speicherpuffer oder das Modul in einem System verwendet werden soll, in dem ein verhältnismäßig kurzer Signalpfad zum nächsten Agenten vorhanden ist, kann der Eingang geltend gemacht werden (oder abhängig von der Polarität nicht geltend gemacht werden), um zu verursachen, dass die E/A-Zelle in der Wiederabtastungsbetriebsart tätig ist, da auf einem kurzen Signalpfad mehr Jittern toleriert werden kann. Wenn der Speicherpuffer oder das Modul andererseits in einem System verwendet werden soll, in dem ein verhältnismäßig langer Signalpfad zum nächsten Agenten vorhanden ist, kann der Eingang nicht geltend gemacht werden, um zu verursachen, dass die E/A-Zelle in der Resync-Betriebsart tätig ist, da dies das Jittern verringert, wenn auch auf mögliche Kosten einer längeren Wartezeit. Alternativ kann am Speicherpuffer oder am Modul, oder in einer Weitertreibeschaltung, oder in der E/A-Zelle selbst eine registrierte Markierung verwendet werden, um das Betriebsartsignal zu steuern.
  • 12 veranschaulicht eine andere Ausführungsform einer E/A-Zelle nach den erfinderischen Grundsätzen des Patents. In der Ausführungsform von 12 sind die empfangenen und gesendeten Datensignale RX und TX Differenzsignale und ist gezeigt, daß sie den Rand eines Chips mit integrierter Schaltung, auf dem die E/A-Zelle hergestellt werden kann, überschreiten. Der Empfänger 86 beinhaltet eine Abtasteinheit 96 und eine Abschlußeinheit 98. Die Abtasteinheit tastet das ankommende Datensignal als Reaktion auf ein Abtasttaktsignal SC, welches durch den Interpolator 90 als Reaktion auf Phasentaktsignale vom Abtasttaktgenerator erzeugt wird, ab. Die Abschlußeinheit stellt einen Differenzabschluß bereit und wandelt das Differenzdatensignal in ein unsymmetrisches Signal um. Ein Jittervermeidungs- oder Abwanderungsausgleichspuffer 94 taktet Daten als Reaktion entweder auf das Abtasttaktsignal SC oder ein stabiles Sendetaktsignal TC. Ein Multiplexer 100 koppelt Datensignale entweder vom Puffer 94 oder von einem Parallel-Serien-Umsetzer 102 selektiv mit einem Sendezwischenspeicher 104. Lesedatensignale RDX[0 ... n] werden an der E/A-Zelle am Parallel-Serien-Umsetzer 102 empfangen. Zwischen dem Puffer 94 und dem Sendezwischenspeicher 104 kann ein anderer Multiplexer angeordnet sein, wobei ein Eingang an den Puffer und ein anderer Eingang an einen Ausgang des Interpolators angeschlossen ist.
  • Wenn die E/A-Zelle Lesedaten in den Datenstrom mischen muß, wählt der Multiplexer seinen Eingang, der mit dem Parallel-Serien-Umsetzer gekoppelt ist, so, daß der Sendezwischenspeicher die Lesedaten als Reaktion auf das Sendetaktsignal TC aus der E/O-Zelle taktet. Andernfalls wählt der Multiplexer das Datensignal vom Puffer, das dann durch den Sendezwischenspeicher weitergetrieben wird. Das Sendedatensignal wird durch den Sender 106 in ein Differenzsignal zurückgewandelt, bevor es auf die nächste einseitig gerichtete Verbindung getrieben wird. Schreibdaten werden vom Ausgang des Sendezwischenspeichers genommen, in einem Serien-Parallel-Umsetzer 108 gesammelt, und dann zu einer Entzerrungsschaltung, einem Bit-Lane-Failover-Mechanismus oder einem anderen Schaltsystem geroutet. Der Serien-Parallel-Umsetzer kann auch ein Bitleitungstaktsignal BLC bereitstellen, das vom Abtasttaktsignal erlangt werden kann, um anzugeben, wann die Schreibdaten WDX[0 ... n] gültig sind.
  • Einige der erfinderischen Grundsätze dieses Patent betreffen das von Weitertreibepfaden gesonderte Entzerren von Signalen. Ein Weitertreibepfad ist durch einen oder mehrere Bestandteile, durch die sich ein Signal ausbreitet, wenn es empfangen und weitergetrieben wird, definiert. Zum Beispiel beinhaltet der Weitertreibepfad in den Ausführungsformen von 9 und 10 den Empfänger 86. In der Ausführungsform von 11 beinhaltet der Weitertreibepfad den Empfänger 86 und den Puffer 94. In der Ausführungsform von 12 beinhaltet der Weitertreibepfad die Abtasteinheit 96, die Abschlußeinheit 98, den Puffer 94, den Multiplexer 100, den Sendezwischenspeicher 104 und den Sender 106.
  • Nach einigen der erfinderischen Grundsätze dieses Patents kann eine Entzerrungsschaltung so in eine Weitertreibeschaltung eingegliedert werden, daß die einzelnen Bitspuren der Entzerrungsschaltung in den Weitertreibepfaden beinhaltet sind. Somit können die Signale auf den Bitspuren in jeder Weitertreibeschaltung entzerrt werden, während sie einen Pfad entlang weitergetrieben werden. Alternativ kann eine Entzerrungsschaltung nach den erfinderischen Grundsätzen dieses Patents jedoch von den Weitertreibepfaden gesondert sein. Zum Beispiel ist in der Ausführungsform von 7 eine Entzerrungsschaltung nicht nur von den Weitertreibepfaden in der Weitertreibeschaltung 60, sondern auch von der gesamten Weitertreibeschaltung gesondert gezeigt. Alternativ kann eine Entzerrungsschaltung nach den erfinderischen Grundsätzen dieses Patents in die Weitertreibeschaltung eingegliedert werden, aber dennoch von den Weitertreibepfaden gesondert sein. Zum Beispiel können in der Ausführungsform von 12 ein oder mehrere Entzerrungszwischenspeicher am Ausgang des Parallel-Serien-Umsetzers 102 und/oder am Eingang des Serien-Parallel-Umsetzers 108 angeordnet sein.
  • Die wie oben beschriebenen Ausführungsformen der Verfahren und Vorrichtungen, um Signale gesondert von Weitertreibepfaden zu entzerren, sind nur beispielhaft und nicht auf diese bestimmten Beispiele beschränkt. Überdies sind die Grundsätze, die das von Weitertreibepfaden gesonderte Entzerren von Signalen nach diesem Patent betreffen, von anderen erfinderischen Grundsätzen dieses Patents unabhängig. Beispielsweise können so wie die Ausführungsformen der Weitertreibeschaltungen, die in 9 bis 12 veranschaulicht sind, nicht auf die Verwendung in Speichersystemen beschränkt sind, welche gesonderte ausgehende und eingehende Pfade aufweisen, auch die Grundsätze, die das von Weitertreibepfaden gesonderte Entzerren von Signalen nach diesem Patent betreffen, mit anderen Arten von Speicherarchitekturen, die einseitig gerichtete Verbindungen benutzen, verwendet werden, z.B. einer Architektur, die eine ringartige Anordnung von Verbindungen wie etwa RamLink benutzt.
  • Einige der erfinderischen Grundsätze dieses Patents betreffen das Bewältigen von ausgefallenen Bitspuren. Zum Beispiel kann jede beliebige der einseitig gerichteten Verbindungen zwischen beliebigen der in den Ausführungsformen von 3, 4, 5, 6 oder 7 gezeigten Agenten mehr als eine Bitspur aufweisen. Nach den erfinderischen Grundsätzen dieses Patents können ein oder mehrere Signale auf den Bitspuren umgeleitet werden, um eine schlechte Bitspur zu vermeiden. Jeder beliebige Agent wie etwa eine Speichersteuerung (ein Host), ein Modul, ein Puffer, usw. kann fähig sein, ein oder mehrere Signale auf einer Anzahl von Bitspuren umzuleiten. Ein Signal kann an einem oder an beiden Enden einer Verbindung umgeleitet werden. Jeder beliebige Agent kann fähig sein, eine ausgefallene Bitspur entweder automatisch oder mit der Unterstützung eines anderen Agenten festzustellen, und jeder beliebige Agent kann fähig sein, Signale als Reaktion auf einen Befehl von einem anderen Agenten umzuleiten.
  • 13 veranschaulicht eine Ausführungsform einer Failover-Schaltung nach den erfinderischen Grundsätzen dieses Patents. Die Failover-Schaltung 110 von 13 ist nur zum Zweck der Erläuterung zusammen mit einer Ausführungsform einer Weitertreibeschaltung 112 gezeigt, doch die erfinderischen Grundsätze sind weder auf die Verwendung mit irgendeiner bestimmten Weitertreibeschaltung beschränkt, noch ist die Failover-Schaltung auf die in 13 gezeigten bestimmten Einzelheiten beschränkt. Die Weitertreibeschaltung 112 beinhaltet eine Anzahl von Bitspuren, die dazu eingerichtet sind, Signale auf einseitig gerichteten Verbindungen zu empfangen und weiterzutreiben. Jede Bitspur ist als eine E/A-Zelle 114 ausgeführt, die einen Empfänger 116 und einen Sender 118 aufweist.
  • Eine Failover-Schaltung bezieht sich auf eine Schaltung, die fähig ist, ein oder mehrere Signale zu oder von mehreren Bitspuren umzuleiten. In der Ausführungsform von 13 ist die Failover-Schaltung als Multiplexer ausgeführt, der einen oder mehrere Multiplexerschalter 120 aufweist. Jeder Schalter weist einen ersten Eingang, der mit einer Bitspur gekoppelt ist, und einen zweiten Eingang, der mit einer benachbarten Bitspur gekoppelt ist, auf, so daß er Signale von einer der beiden Bitspuren zu seinem Ausgang umleiten kann. Die in 13 gezeigte Ausführungsform ist mit sechs Schaltern gezeigt, um sechs Bitspuren zu bedienen, doch kann jede beliebige Anzahl von Schaltern und Bitspuren verwendet werden, und können die Schalter in verschiedensten anderen Gestaltungen als der wie gezeigten Gestaltung der benachbarten Bitspuren angeordnet werden.
  • Während einer normalen Betriebsart leitet jeder der Schalter wie in 14 gezeigt das Signal von seinem ersten Eingang zu seinem Ausgang, so daß Schreibdatensignale WD0, WD1, WD2, WD3, WD4 und WD5 zu Ausgängen OUT0, OUT1, OUT2, OUT3, OUT4 bzw. OUT5 geleitet werden. In einer derartigen Ausführungsform kann eine der Bitspuren, zum Beispiel die WD5 entsprechende Bitspur, zur Fehlerprüfung der Daten auf den anderen Bitspuren verwendet werden.
  • Wenn eine schlechte Bitspur festgestellt wird, kann der Multiplexer in einer Failover-Betriebsart tätig werden, in der einer oder mehrere der Schalter betätigt werden, um die schlechte Bitleitung auszuplanen. Wenn zum Beispiel die WD3 zugehörige Bitspur nicht richtig arbeitet, können die Multiplexerschalter die Schreibdatensignale WD4 und WD5 wie in 15 gezeigt zu den Ausgängen OUT3 bzw. OUT4 umleiten. In dieser Betriebsart wird Signalkapazität im Wert einer Bitspur verloren. Wenn eine der Bitspuren für die Fehlerprüfung bestimmt wurde, können Signale, die ursprünglich für die schlechte Bitspur bestimmt waren, über die Fehlerprüfungsbahn umgeleitet werden und kann die Fehlerprüfungsfunktion deaktiviert werden.
  • Die Ausgänge der Failover-Schaltung können mit einer Speicherschnittstelle, mit einer Speichervorrichtung, oder mit einem anderen Schaltungssystem gekoppelt sein. In der Ausführungsform von 13 ist die Failover-Schaltung von der Weitertreibeschaltung gesondert gezeigt, doch kann sie auch in die Weitertreibeschaltung eingegliedert sein. Eine Failover-Schaltung nach den erfinderischen Grundsätzen dieses Patents kann wie gezeigt mit einfachen Multiplexern verwirklicht werden, doch sind auch andere Anordnungen wie etwa ein vollständiger Kreuzschienenschalter möglich.
  • Die in 13 gezeigte Ausführungsform einer Failover-Schaltung ist dazu eingerichtet, Schreibdaten von den Bitspuren mit ihren Ausgängen zu koppeln. Alternativ kann eine Ausführungsform einer Failover-Schaltung nach den erfinderischen Grundsätzen dieses Patents dazu eingerichtet sein, Daten in die entgegengesetzte Richtung zu übertragen, in welchem Fall die Ausgänge OUTX Eingänge würden, die Lesedaten empfangen, die Multiplexerschalter als Demultiplexerschalter bezeichnet werden könnten, und jede der E/A-Zellen zwischen dem Empfänger und dem Sender einen Multiplexer aufweisen würde, um die Lesedaten von der Failover-Schaltung in die Bitspur zu mischen. Somit bezieht sich ein Multiplexer sowohl auf einen Multiplexer als auch auf einen Demultimplexer. Als andere Alternative kann eine Ausführungsform einer Failover-Schaltung nach den erfinderischen Grundsätzen dieses Patents für einen zweiseitig gerichteten Datenfluß zwischen den Bitspuren und der Speichervorrichtung, der Speicherschnittstelle, oder einem anderen Schaltungssystem eingerichtet sein.
  • Ein Speicherpuffer, ein Speichermodul, eine Speichersteuerung (Host) oder ein anderer Agent, der eine Bitspur-Failover-Fähigkeit aufweist, kann nach den erfinderischen Grundsätzen dieses Patents auch verschiedenste Fähigkeiten aufweisen, um ausgefallene Bitspuren festzustellen, Signale umzuleiten, schlechte Bitspuren auszuplanen, und so weiter. Zum Beispiel kann ein Agent, der die in 13 gezeigte Ausführungsform einer Failover-Schaltung aufweist, so gestaltet sein, daß er eine ausgefallene Bitspur z.B. durch Beobachten eines Prüfdatenmusters, das durch einen anderen Agenten gesendet wird, feststellen kann und Signale umleiten kann, um die ausgefallene Bitspur auszuplanen. Alternativ kann der Agent so gestaltet sein, daß er eine ausgefallene Bitspur als Reaktion auf einen Befehl von einem anderen Agenten, zum Beispiel einer Speichersteuerung, die einen oder mehrere Agenten auf einem Speicherkanal unterweist, ausplanen kann. Alternativ kann der Agent über beide Fähigkeiten verfügen.
  • 16 veranschaulicht eine Ausführungsform eines Speicherpuffers mit Bitspur-Failover-Fähigkeit nach den erfinderischen Grundsätzen dieses Patents. Die Ausführungsform von 16 ist der von 7 ähnlich, beinhaltet aber auch eine Failover-Schaltung 122, die zwischen die Entzerrungsschaltung 70 und die Speicherschnittstelle gekoppelt ist. Alternative Ausführungsformen sind möglich. Zum Beispiel kann die Failover-Schaltung zwischen der Weitertreibeschaltung 60 und der Entzerrungsschaltung angeordnet sein, oder kann sie in die Weitertreibeschaltung eingegliedert sein. Die Ausführungsform von 16 beinhaltet auch eine andere Failover-Schaltung 124, die zwischen den Multiplexer 74 und die Weitertreibeschaltung 62 gekoppelt gezeigt ist, aber auch in die Weitertreibeschaltung eingegliedert oder auf andere Weisen eingerichtet sein kann. Der Speicherpuffer von 16 kann alternativ als ein Speichermodul ausgeführt sein, in welchem Fall die Speicherschnittstelle durch eine Speichervorrichtung ersetzt wird.
  • 17 veranschaulicht eine Ausführungsform einer Speichersteuerung mit Bitspur-Failover-Fähigkeit nach den erfinderischen Grundsätzen dieses Patents. Die Steuerung von 17 beinhaltet ausgehende und eingehende einseitig gerichtete Verbindungsschnittstellen 126 und 128, die mehrere Bitspuren aufweisen, welche in dieser Ausführungsform eine Anzahl von Sendern bzw. eine Anzahl von Empfängern aufweisen. Failover-Schaltungen 130 und 132 sind mit den Bitspuren in den Schnittstellen 126 bzw. 128 gekoppelt. In der Ausführungsform von 17 sind die Failover-Schaltungen von den Verbindungsschnittstellen gesondert gezeigt, doch können sie alternativ einstückig mit den Schnittstellen ausgeführt sein. Die Steuerung kann fähig sein, eine ausgefallene Bitspur festzustellen, in welchem Fall die Failover-Schaltungen die ausgefallene Bitspur ausplanen können. Zusätzlich oder alternativ kann die Steuerung fähig sein, einen Befehl auszugeben, der einen Agenten anweist, eine ausgefallene Bitspur auszuplanen.
  • Nun werden zusätzliche Failover-Verfahren und -Vorrichtungen nach den erfinderischen Grundsätzen dieses Patents im Kontext einer beispielhaften Ausführungsform eines vollständigen Speicherkanalsystems beschrieben werden, welches zusätzliche Ausführungsformen einer Speichersteuerung (eines Hosts), von Speichermodulen, und von Speicherpuffern nach den erfinderischen Grundsätzen dieses Patents beinhaltet. Keiner der Bestandteile ist jedoch auf dieses beispielhafte System oder jegliche der darin beschriebenen Einzelheiten beschränkt.
  • Das beispielhafte System beinhaltet eine Ausführungsform eines Hosts, der Failover-Fähigkeiten wie die unter Bezugnahme auf 17 beschriebenen aufweist, und Ausführungsformen eines oder mehrerer Speichermodule, die Puffer mit Failover-Fähigkeiten wie die unter Bezugnahme auf 16 beschriebenen aufweisen. In diesem Beispiel sind der Host und die Module in einer Kanalkonfiguration angeordnet, die ausgehende und eingehende Pfade wie die in 7 gezeigten aufweist, obwohl das System nur ein Modul beinhalten kann.
  • In diesem Beispiel sind der Host und die Module mit einem als „SMBus" bekannten Systemverwaltungsbus verbunden, bei dem es sich um ein serielles Bussystem handelt, das verwendet wird, um Bestandteile in einem System zu verwalten. Die Verwendung des SMBus ist jedoch für die erfinderischen Grundsätze dieses Patents nicht notwendig, und es können andere Formen der Kommunikation zwischen Bestandteilen, einschließlich der Speicherkanalpfade selbst, verwendet werden.
  • Eine Ausführungsform eines Verfahrens nach den erfinderischen Grundsätzen dieses Patents zur Feststellung und Ausplanung einer ausgefallenen Bitspur im beispielhaften System läuft wie folgt ab. Der Host sendet auf jeder Bitspur des ausgehenden Pfads ein Prüfmuster. Das Prüfmuster wird entlang des ausgehenden Pfads durch den Puffer an jedem Modul empfangen und weitergetrieben, bis es das äußerste Modul erreicht. Das äußerste Modul sendet dann auf jeder Bitspur des eingehenden Pfads ein Prüfmuster. Das Prüfmuster wird entlang des eingehenden Pfads durch den Puffer an jedem Modul empfangen und weitergetrieben, bis es den Host erreicht. Der Host und die Puffer an den Modulen beobachten das Prüfmuster auf jeder Bitspur des eingehenden und/oder ausgehenden Pfads, um hinsichtlich des richtigen Bitspurbetriebs zu prüfen. Die Bitspuren in den eingehenden und ausgehenden Pfaden können gleichzeitig geprüft werden.
  • Ausgefallene Bitspuren werden gemeldet, indem die Ergebnisse durch den SMBus zum Host gesendet werden und/oder ein Ergebnisrahmen über den Kanal zum Host gesendet wird. Ein derartiger Ergebnisrahmen kann durch das äußerste Modul auf dem eingehenden Pfad begonnen werden, und die anderen Module, falls vorhanden, können ihre Ergebnisinformationen in die Daten auf dem eingehenden Pfad mischen. Wenn die Ergebnisse von jedem Modul redundant auf mehr als einer Bitspur gesendet werden, ist es unwahrscheinlich, daß eine ausgefallene Bitspur die Meldung der Ergebnisse beeinträchtigen wird.
  • Sobald der Host die Ergebnisse empfängt, kann er durch den SMBus, über den Kanal, oder über jede beliebige andere Form von Kommunikation einen Konfigurationsbefehl an die Module ausgeben. Der Konfigurationsbefehl setzt die Module davon in Kenntnis, welche Bitspuren, falls überhaupt, schlecht sind und ausgeplant werden sollten. Die Module antworten auf den Konfigurationsbefehl, indem sie eine oder mehrere Failover-Schaltungen so manipulieren, daß Signale um schlechte Bitspuren, falls vorhanden, umgeleitet werden, und jegliche interne Funktionalität so rekonfigurieren, daß eine Anpassung an den Verlust einer Bitspur erfolgt. Wenn zum Beispiel eine Bitspur für Fehlerprüfdaten bestimmt war, kann der Puffer oder das Modul Fehlerprüfungsfunktionen deaktivieren.
  • Die oben beschriebenen Ausführungsformen von Failover-Verfahren und -Vorrichtungen sind nur beispielhaft, und die erfinderischen Grundsätze dieses Patents sind nicht auf diese bestimmten Beispiele beschränkt. Die Grundsätze von Failover-Verfahren und -Vorrichtungen nach diesem Patent wurden unter Bezugnahme auf ein Speichersystem, das gesonderte eingehende und ausgehende Pfade aufweist, wie etwa die Ausführungsform von 3 beschrieben, doch die Grundsätze können auch auf jede beliebige Speicherarchitektur angewendet werden, die einseitig gerichtete Verbindungen aufweist, zum Beispiel eine Architektur, die eine ringartige Anordnung von Verbindungen wie etwa RamLink benutzt.
  • Einige der erfinderischen Grundsätze dieses Patents betreffen das Permutieren von Zustandsmustern. In Speichersystemen wie den oben unter Bezugnahme auf 1 und 3 beschriebenen, in denen Speicherlese- und -schreibdaten zwischen Speicheragenten übertragen werden, kann es auch nützlich sein, Zustandsmuster wie etwa Leermuster, Alarmmuster, und andere Zustandsmuster zwischen Speicheragenten zu senden. Dies kann durch das Senden von Datenmustern und Zustandsmustern auf der gleichen Verbindung oder auf den gleichen Verbindungen, die die Speicheragenten verbindet bzw. verbinden, bewerkstelligt werden. Nach den erfinderischen Grundsätzen dieses Patents können die Zustandsmuster im Zeitverlauf permutiert werden.
  • Zum Beispiel kann die Speichersteuerung 50 unter Bezugnahme auf 3 Rahmen, die Datenmuster wie etwa Lesebefehle aufweisen, zu einem oder mehreren der Module 52 senden, die antworten, indem sie Rahmen, die Datenmuster wie etwa Lesedaten aufweisen, zur Steuerung zurücksenden. Es kann für das eine oder die mehreren der Module nützlich sein, einen Rahmen, der ein Leermuster aufweist, zur Speichersteuerung zurückzusenden, zum Beispiel, wenn das Modul nicht fähig war, schnell genug Lesedaten von einer Speichervorrichtung 58 abzurufen. Ein vorbestimmtes Datenmuster kann als ein Leermuster bestimmt werden, so daß die Speichersteuerung dann, wenn sie das Leermuster empfängt, weiß, daß sie keine Lesedaten empfängt. Dies kann jedoch Probleme verursachen, wenn das tatsächliche Lesedatenmuster zufällig mit dem bestimmten Leermuster übereinstimmt.
  • Nach den erfinderischen Grundsätzen dieses Patents können die Speichersteuerung und ein oder mehrere Module beide fähig sein, das Leermuster auf eine vorhersagbare Weise zu permutieren, so daß sich das Leermuster im Zeitverlauf verändert. Zum Beispiel können die Speichersteuerung und die Module das Leermuster jedes Mal, wenn ein Leermuster gesendet und/oder empfangen wird, nach einer vorbestimmten Abfolge verändern. Eine Ausführungsform eines derartigen Verfahrens nach den erfinderischen Grundsätzen dieses Patents ist in 18 veranschaulicht. Daher kann die Speichersteuerung, wenn sie einen Lesebefehlrahmen sendet (158) und einen Antwortrahmen empfängt (160), der das gegenwärtige Leermuster aufweist, den gleichen Lesebefehl erneut senden (164). Wenn der zweite Antwortrahmen (166) das gleiche Muster wie der erste enthält (168), interpretiert sie das Muster als tatsächliche Lesedaten (170). Wenn das Muster im zweiten Antwortrahmen jedoch dem permutierten Leermuster entspricht (168), weiß die Speichersteuerung, daß der erste Antwortrahmen ein Leerrahmen (172) war.
  • Nach den erfinderischen Grundsätzen dieses Patents können die Zustandsinformationen, die in Zustandsmustern gesendet werden, Leermuster, Alarmmuster, und andere Zustandsinformationen wie etwa Befehlsfehlerinformationen von einem Modul, Wärmeüberlastungsinformationen von einem Modul, und Informationen, die angeben, daß ein Modul die Anwesenheit eines anderen Moduls auf dem ausgehenden Pfad des Speicherkanals festgestellt hat, sein. Einige Arten von Zustandsmustern können als komplementäre Muster ausgeführt sein. Zum Beispiel kann ein Alarmmuster (das verwendet werden kann, um einem Agenten eine Fehlerbedingung zu melden) als das logische Komplement eines Leermusters ausgeführt sein. Dies kann die Ausführung vereinfachen, indem zum Beispiel einem Speicheragenten gestattet wird, den gleichen Mustergenerator für Leer- und Alarmmuster zu verwenden. Die Verwendung von komplementären Zustandsmustern kann selbst dann vorteilhaft sein, wenn keine permutierenden Muster verwendet werden.
  • Ein Speicheragent nach den erfinderischen Grundsätzen dieses Patents kann auch fähig sein, absichtlich einen Fehler wie etwa einen zyklischen Redundanzprüfungs(CSC)fehler in einem Zustandsmuster zu erzeugen. Eine derartige Technik kann als eine alternative oder ergänzende Weise zur Unterscheidung eines Datenmusters von einem Zustandsmuster nützlich sein. Zum Beispiel wird in einigen Speichersystemen jeder Rahmen zusammen mit einem CRC-Code gesendet, der verwendet wird, um die Unversehrtheit der Daten im Rahmen zu prüfen.
  • Nach den erfinderischen Grundsätzen dieses Patents kann ein Speicheragent absichtlich den falschen CRC-Code mit einem Rahmen senden, der ein Zustandsmuster enthält. Der empfangende Agent kann dann den Rahmen anstatt als einen Datenrahmen vielmehr als einen Zustandsrahmen interpretieren. Einige Speichersysteme können einen Pfad oder Pfade mit einer zusätzlichen Bitspur zum Tragen von CRC-Daten benutzen. Wenn ein derartiges System fähig ist, in einer Failover-Betriebsart tätig zu sein, kann der Agent bzw. können die Agenten einen absichtlichen CRC-Fehler möglicherweise nur dann benutzen, wenn sie nicht in der Failover-Betriebsart tätig ist bzw. sind. Wie hierin benutzt bezieht sich der Ausdruck „CRC" nicht nur auf eine zyklische Redundanzprüfung, sonder auch auf jede beliebige andere Art von Fehlerprüfungsschema, das verwendet wird, um die Unversehrtheit eines Rahmens oder Musters zu verifizieren.
  • Obwohl die Grundsätze der Zustandsmusterpermutation- und handhabung nach den erfinderischen Grundsätzen dieses Patents auf jede beliebige Art von Speicheragenten anwendbar sind und von anderen erfinderischen Grundsätzen dieses Patents unabhängig sind, werden einige zusätzliche Gesichtspunkte unter Bezugnahme auf einen Speicherpuffer wie die in 7 gezeigte Ausführungsform und im Kontext eines Systems wie der in 6 gezeigten Ausführungsform beschrieben werden. Unter Bezugnahme auf 6 kann der Speicherpuffer 64, wenn er der äußerste Agent auf einem Speicherkanal ist, fähig sein, auf der eingehenden Verbindung 56B konstant permutierende Leerzustandsrahmen zu senden, wann immer er keine Daten sendet, die der Host von beliebigen Speichervorrichtungen, die an der Speicherschnittstelle 68 angebracht sind, angefordert hat.
  • 19 veranschaulicht eine Ausführungsform eines Generators für ein permutierendes Muster nach den erfinderischen Grundsätzen dieses Patents. Die Ausführungsform von 19 ist ein linear rückgekoppeltes Schieberegister (LFSR) von 12 Bit mit einem Polynom von x12 + x7 + x4 + x3 + 1. Der Anfangszustand kann auf 000000000001 gesetzt werden, und das LFSR läuft durch 212 – 1 Zustände (4095 Rahmen), bevor das Muster wiederholt wird. Jedes Bit des LFSR kann auf eine Bitspur in einer Verbindung auf einem Datenpfad abgebildet werden, und jedes Bit kann für alle Übertragungen, die während eines gesamten Rahmens auf der entsprechenden Bitspur auftreten, verwendet werden. Zum Beispiel kann der Ausgang von jeder Stufe des LFSR in einem System, das einen Datenpfad mit 12 Bitspuren in jeder Verbindung aufweist, auf eine der Bitspuren abgebildet werden. Zusätzlichen Bahnen, zum Beispiel einer dreizehnten Bitspur, kann durch Benutzen des um einen Rahmen verzögerten Werts des niederwertigsten Bits des LFSR entsprochen werden.
  • 20 veranschaulicht ein Beispiel des ersten Zustandsmusters, das durch den Generator für ein permutierendes Muster von 19 erzeugt wird. In diesem Beispiel ist ein Rahmen 12 Übertragungen lang. 21 bis 23 veranschaulichen das zweite, dritte bzw. vierte Zustandsmuster. Durch das Verwenden des gleichen Werts auf jeder Bitspur während eines gesamten Rahmens kann die elektromagnetische Interferenz (EMI oder Rauschen) verringert werden.
  • Der hier veranschaulichte Rahmen von 13 Bitspuren bei 12 Bit Übertragung ist beispielhaft, und die erfinderischen Grundsätze dieses Patents sind weder auf diese Einzelheiten noch auf die oben beschriebene bestimmte Ausführungsform eines Generators für ein permutierendes Muster beschränkt. Zu Beispiel muß ein Generator für ein permutierendes Mustern nach den erfinderischen Grundsätzen dieses Patents nicht mit einem fest zugeordneten Logikschaltsystem wie dem oben beschriebenen LFSR ausgeführt sein.
  • Alternativ kann er mit programmierbarer Logik oder als ein Algorithmus in einem Prozessor oder einer anderen programmierbaren Zustandsmaschine, die verwendet werden kann, um die Logik in der Speicherschnittstelle oder eine andere Funktionalität eines Puffers oder eines anderen Speicheragenten, der permutierende Zustandsmuster verwendet, zu überwachen und/oder auszuführen, ausgeführt sein.
  • Einige zusätzliche erfinderische Grundsätze dieses Patents betreffen das Benutzen von mehr als einer Bitspur, um die Anwesenheit eines Speicheragenten auf einer Speicherverbindung festzustellen. Zum Beispiel kann der Puffer in der Ausführungsform eines Speicherpuffers, die in 7 gezeigt ist, fähig sein, festzustellen, ob ein anderer Speicheragent vorhanden ist, der mit der ausgehenden Verbindung 54B gekoppelt ist. Dies kann bewerkstelligt werden, indem eine einzelne Bitspur in der Verbindung benutzt wird, um hinsichtlich der Anwesenheit eines anderen Speicheragenten zu prüfen. Wenn in der Verbindung jedoch mehr als eine Bitspur vorhanden ist, kann nach den erfinderischen Grundsätzen dieses Patents mehr als eine der Bitspuren verwendet werden, um die Anwesenheit eines anderen Speicheragenten festzustellen. Dies kann verhindern, daß das Vorhandensein einer schlechten Bitspur die Tätigkeit zur Feststellung der Anwesenheit beeinträchtigt.
  • Zur Bequemlichkeit werden die erfinderischen Grundsätze dieses Patents, die das Benutzen von mehr als einer Bitspur zur Feststellung der Anwesenheit eines Speicheragenten betreffen, einzeln und gesammelt als redundante Anwesenheitsfeststellung bezeichnet werden. Die redundante Anwesenheitsfeststellung kann auf jede beliebige Art von Speicheragent angewendet werden, der eine Verbindungsschnittstelle mit mehreren Bitspuren aufweist. Zum Beispiel können beliebige zwei oder mehr Sender 118, die in der Ausführungsform von 13 gezeigt sind, als eine Verbindungsschnittstelle, in diesem Fall eine Sendeverbindungsschnittstelle, betrachtet werden. In der gleichen Weise können beliebige zwei oder mehr der Empfänger 116, die in 13 gezeigt sind, als eine Verbindungsschnittstelle, in diesem Fall eine Empfangsverbindungsschnittstelle, betrachtet werden. Die redundante Anwesenheitsfeststellung kann auf jede dieser Verbindungsschnittstellen wie auch auf jede der Verbindungsschnittstellen 126 und 128, die in der Ausführungsform von 17 gezeigt sind, angewendet werden.
  • Unter neuerlicher Rückkehr zur Ausführungsform von 7 als Beispiel kann der Speicherpuffer drei Bitspuren auf seiner eingehenden Sendeverbindung 56B auf einen vorbestimmten Anwesenheitsfeststellungslogikpegel, z.B. Eins, treiben, um einem anderen Puffer seine Anwesenheit zu signalisieren, wenn ein Anwesenheitsfeststellungsereignis wie etwa eine Rückstellung eintritt. Ebenfalls während eines Anwesenheitsfeststellungsereignisses kann ein zweiter derartiger Speicherpuffer, der sich auf einem Kanal einwärts des ersten Puffers befindet, die entsprechenden drei Bitspuren auf seiner eingehenden Empfangsverbindung 56A dazu konfigurieren, die Anwesenheit des ersten Puffers festzustellen. In diesem Beispiel wird der erste Speicherpuffer als ein äußerer Agent bezeichnet werden, und wird der zweite Puffer als ein innerer Agent bezeichnet werden.
  • Ein Beispiel einer Technik, um eine Bitspur dazu zu konfigurieren, die Anwesenheit eines anderen Agenten festzustellen, ist, den Empfänger für diese Bitspur versuchen zu lassen, einen Vorspannungsstrom auf die Bitspur zu stellen, um die Bitspur zum Gegenteil des Anwesenheitsfeststellungslogikpegels zu zwingen. Wenn während eines Anwesenheitsfeststellungsereignisses ein anderer Speicheragent mit der Bitspur gekoppelt ist, wird sein Sender auf dieser Bitspur die Bitspur auf den Anwesenheitsfeststellungslogikpegel zwingen.
  • Wenn der innere Agent den Anwesenheitsfeststellungslogikpegel auf zwei der drei Bitspuren feststellt, weiß er, daß der äußere Agent anwesend ist, und kann er seinen gesamten äußeren Anschluß oder einen Teil davon aktiviert lassen (in diesem Beispiel beinhaltet der äußere Anschluß die Verbindungsschnittstelle für die ausgehende Verbindung 54B und die Verbindungsschnittstelle für die eingehende Verbindung 56A). Wenn der innere Agent den Anwesenheitsfeststellungslogikpegels nicht auf zumindest zwei der drei Bitspuren feststellen kann, kann er entscheiden, daß kein äußerer Agent anwesend ist, und kann er seinen gesamten äußeren Anschluß oder einen Teil davon deaktivieren. Der innere Agent kann fähig sein, einem anderen Agenten, zum Beispiel einer Speichersteuerung, die Anwesenheit oder die Abwesenheit eines äußeren Agenten als Reaktion auf einen Zustandsprüfungsbefehl zu melden.
  • Eine agentenbenutzende redundante Anwesenheitsfeststellung kann auch fähig sein, einem anderen Agenten ein Anwesenheitsfeststellungsereignis zu signalisieren. Zum Beispiel kann, wenn ein Rückstellungsereignis durch einen Rückstellungsbefehl auf dem ausgehenden Pfad zum Puffer von 7 kommuniziert wird, dieser Befehl durch die Weitertreibeschaltung 60 zu einem äußeren Agenten, falls vorhanden, weitergegeben werden. Dies kann beide Agenten in eine Anwesenheitsfeststellungsbetriebsart stellen.
  • Die redundante Anwesenheitsfeststellung nach den erfinderischen Grundsätzen dieses Patents ist nicht auf die oben besprochenen bestimmten Ausführungsformen beschränkt. Zum Beispiel können anstelle von drei wie im obigen Beispiel nur zwei Bitspuren für die Anwesenheitsfeststellung verwendet werden, in welchem Fall der innere Agent den Anwesenheitsfeststellungslogikpegel nur auf einer Bitspur feststellen müßte, um zum Schluß zu kommen, daß ein äußerer Agent anwesend ist. In der gleichen Weise kann die redundante Anwesenheitsfeststellung auf Systeme und Bestandteile angewendet werden, die verschiedenste andere Arten von Speicherarchitekturen, z.B. eine Architektur, die eine ringartige Anordnung von Verbindungen wie etwa RamLink benutzt, verwenden.
  • Einige zusätzliche erfinderische Grundsätze nach diesem Patent betreffen das Einbringen und/oder Entfernen von Bestandteilen bei laufendem Betrieb in einen bzw. aus einem Speicherkanal – das heißt, das Hinzufügen und/oder Entfernen von Bestandteilen, während der Speicherkanal tätig ist. 24 veranschaulicht eine Ausführungsform eines Speicheragenten 134 nach den erfinderischen Grundsätzen dieses Patents. Die Ausführungsform von 24 kann ein Speichermodul, ein Speicherpuffer, eine Speichersteuerung usw. sein. Der Agent beinhaltet einen ersten Anschluß 136 und einen zweiten Anschluß 138. Wenn, nur zu Erläuterungszwecken, angenommen wird, daß der Agent ein Speichermodul wie etwa eines der Module 52 in der Ausführungsform von 6 ist, kann der erste Anschluß als ein innerer Anschluß bestimmt sein, da er dazu eingerichtet sein kann, mit anderen Agenten auf dem Speicherkanal, die sich näher an der Speichersteuerung befinden, zu kommunizieren. In der gleichen Weise kann der zweite Anschluß als ein äußerer Anschluß bestimmt sein, da er dazu eingerichtet sein kann, mit Agenten auf dem Speicherkanal, die sich von der Speichersteuerung weiter weg befinden, zu kommunizieren. Diese Bestimmungen dienen nur Erläuterungszwecken, und die erfinderischen Grundsätze sind weder auf diese Einzelheiten des Speicheragenten noch auf die in 6 gezeigten Einzelheiten des Speicherkanals beschränkt. Diese Grundsätze können auch auf andere Speicherkanalarchitekturen wie etwa die in 1 gezeigte RamLink-Architektur anwendbar sein.
  • Jeder Anschluß eines Speicheragenten nach den erfinderischen Grundsätzen dieses Patents weist eine oder mehrere Verbindungsschnittstellen auf. In der Ausführungsform von 24 weist jeder Anschluß sowohl eine Empfangsverbindungsschnittstelle als auch eine Sendeverbindungsschnittstelle auf. Der innere Anschluß 136 verfügt über eine Empfangsverbindungsschnittstelle 140, bei der es sich um einen oder mehrere Empfänger handeln kann, der bzw. die Teil einer Weitertreibeschaltung 60 sind, und über eine Sendeverbindungsschnittstelle 142, bei der es sich um einen oder mehrere Sender handeln kann, der bzw. die Teil einer anderen Weitertreibeschaltung 62 sind. Der äußere Anschluß weist eine Empfangs- und eine Sendeverbindungsschnittstelle 144 bzw. 146 auf, die ebenfalls Teil von Weitertreibeschaltungen 62 bzw. 60 sind. Die Verbindungsschnittstellen 140 und 146 können mit ausgehenden Verbindungen 54A bzw. 54B gekoppelt sein, und die Verbindungsschnittstellen 142 und 144 können mit eingehenden Verbindungen 56B bzw. 56A gekoppelt sein. Jede der Verbindungsschnittstellen kann eine oder mehrere Bitspuren aufweisen, und die Bitspuren und Schnittstellen können unter Verwendung jeder beliebigen Kombination dieser Terminologie bezeichnet werden. Zum Beispiel können die Bitspuren in der Schnittstelle 142 als die eingehenden Sende- oder die eingehenden Tx-Bitspuren bezeichnet werden. Die Bitspuren in der Schnittstelle 144 können als die eingehenden Empfangs- oder die eingehenden Rx-Bitspuren bezeichnet werden.
  • Die Ausführungsform von 24 ist nur beispielhaft, und Speicheragenten und Anschlüsse können auf unterschiedliche Weisen ausgeführt sein. Zum Beispiel sind die Verbindungsschnittstellen nicht notwendigerweise Teil einer Weitertreibeschaltung. Dies ist in der Ausführungsform einer Speichersteuerung, die in 17 gezeigt ist, veranschaulicht, bei der ein Anschluß die Verbindungsschnittstellen 126 und 128 beinhalten kann, die nicht Teil von Weitertreibeschaltungen sind. Die Verbindungsschnittstellen können nur eine oder jede beliebige Anzahl von Bitspuren beinhalten, und ein Anschluß kann nur eine Empfangsverbindungsschnittstelle oder eine Sendeschnittstelle aufweisen.
  • Ein Speicheragent nach den erfinderischen Grundsätzen dieses Patents kann fähig sein, die Anwesenheit eines anderen Speicheragenten an einem seiner Anschlüsse festzustellen, und er kann fähig sein, abhängig von der Anwesenheit oder der Abwesenheit eines anderen Speicheragenten verschiedenste Handlungen zu setzen. Zum Beispiel kann der Speicheragent von 24 fähig sein, seinen gesamten äußeren Anschluß oder einen Teil davon zu deaktivieren, wenn am Anschluß kein anderer Speicheragent anwesend ist. Er kann fähig sein, einem anderen Agenten, zum Beispiel einer Speichersteuerung, die Anwesenheit oder die Abwesenheit eines äußeren Agenten durch seinen inneren Anschluß zu berichten. Der Speicheragent von 24 kann fähig sein, eine Anwesenheitsfeststellungstätigkeit durchzuführen, die das Signalisieren eines Anwesenheitsfeststellungsereignisses zu einem möglichen äußeren Agenten am äußeren Anschluß beinhalten kann. Er kann auch fähig sein, eine schnelle Rückstellungstätigkeit durchzuführen.
  • Einige zusätzliche erfinderische Grundsätze, die das Hinzufügen/Entfernen bei laufendem Betrieb nach dieser Patentanmeldung erleichtern können, werden im Kontext einer beispielhaften Ausführungsform eines Speichersystems beschrieben werden. Die beispielhafte Ausführungsform wird unter Bezugnahme auf den Speicheragenten von 24 im Kontext eines Speichersystems wie etwa der Ausführungsform von 6 beschrieben werden. In dieser beispielhaften Ausführungsform wird angenommen werden, daß der Speicheragent von 24 verwendet wird, um einen oder mehrere der Puffer in 6 auszuführen, die wiederum Teil von Modulen sind, welche Speichervorrichtungen aufweisen. Alle diese Einzelheiten dienen jedoch nur Erklärungszwecken, und die erfinderischen Grundsätze sind nicht auf diese Einzelheiten beschränkt.
  • Im beispielhaften System können die Speicheragenten fähig sein, schnelle Rückstellungstätigkeiten, vollständige Rückstellungstätigkeiten, und/oder verschiedenste Abfrage- oder Anwesenheitsfeststellungstätigkeiten auszuführen. Im beispielhaften System kann eine Mindestanzahl von Taktübergängen nötig sein, um die erlangten Takte auf jeder Bitspur an den Datenstrom gesperrt zu halten. Daher kann die Speichersteuerung (oder der Host) durch Senden eines fortlaufenden Stroms von Einsen oder Nullen auf einer oder mehreren der Bitspuren im ausgehenden Pfad für einen vorbestimmten Zeitraum eine Rückstellungstätigkeit beginnen. Da die Daten durch jeden Puffer auf dem Pfad weitergetrieben werden, empfangen alle Puffer den Rückstellungsbefehl, oder das -ereignis. Im beispielhaften System können die Bahnen der drei niederwertigsten Bits (LSB) verwendet werden, um eine Rückstellungstätigkeit zu signalisieren. Der empfangende Agent kann das Rückstellungsereignis durch Erfassen des Stroms von Nullen oder Einsen auf zwei beliebigen der drei LSBs feststellen. Dies kann sicherstellen, dass die Anwesenheit einer ausgefallenen Bitspur eine Rückstellungstätigkeit nicht beeinträchtigt, doch sind die erfinderischen Grundsätze, die nicht einmal mehr als eine Bitspur erfordern, nicht auf eine derartige Ausführung beschränkt.
  • Im beispielhaften System kann der Host einen fortlaufenden Strom von Nullen senden, um alle Agenten auf dem Kanal (in diesem Beispiel Module, die Puffer aufweisen) unbegrenzt in einem ersten Rückstellungszustand zu halten, zum Beispiel, während der Host durch äußere Bedingungen in Rückstellung gehalten wird. Der Host kann dann für ein erstes Zeitausmaß, z.B. zwei Rahmenperioden, einen Strom von Einsen senden und dann zu Nullen zurückkehren, um den anderen Agenten zu signalisieren, eine schnelle Rückstellungstätigkeit auszuführen.
  • Alternativ kann der Host für ein zweites Zeitausmaß, z.B. mehr </RTI> als zwei Rahmenperioden, einen Strom von Einsen senden, um den anderen Puffern zu signalisieren, eine vollständige Rückstellungstätigkeit auszuführen. Eine vollständige Rückstellung kann verschiedenste interne Kalibrierungstätigkeiten wie etwa die Impedanzanpassung auf den Verbindungen, eine Stromquellenkalibrierung in jedem beliebigen Empfänger oder jeder beliebigen Treiberschaltung, eine Empfängerversatzauslöschung, und so weiter beinhalten. Nachdem die Kalibrierungstätigkeiten durchgeführt wurden, kann der Host den Puffern dann signalisieren, zur schnellen Rückstellungstätigkeit überzugehen.
  • Eine schnelle Rückstellungstätigkeit kann bestimmte Tätigkeiten, die während einer vollständigen Rückstellung durchgeführt werden, wie etwa Kalibrierungstätigkeiten, umgehen. Eine schnelle Rückstellungstätigkeit kann mit einer Anwesenheitsfeststellungstätigkeit beginnen. Während einer Anwesenheitsfeststellungstätigkeit kann jeder Puffer auf dem Kanal einen Strom auf die eingehenden Rx-Bitspuren der drei LSB stellen, um die Bits auf Null zu zwingen, wenn sie nicht mit einem äußeren Agenten verbunden sind. Ebenfalls während einer Anwesenheitsfeststellungstätigkeit kann jeder Puffer die eingehenden Tx-Bitspuren der drei LSB auf Eins treiben. Jeder Puffer kann dann seine eingehenden Rx-Bitspuren der drei LSB prüfen, und wenn er auf zwei von den drei Bahnen Einsen feststellt, kann er seinen äußeren Anschluß aktiviert lassen und ein Zustandsregister entsprechend aktualisieren. Wenn der Puffer keine zwei Einsen feststellt, kann er annehmen, daß kein äußerer Agent vorhanden ist, seinen gesamten äußeren Anschluß oder einen Teil davon deaktivieren, sich selbst konfigurieren, um die Funktionen des äußersten Agenten auf dem Kanal durchzuführen, und/oder ein Zustandsregister entsprechend aktualisieren. Ein Host kann einer ähnlichen Anwesenheitsfeststellungstätigkeit folgen, um zu bestimmen, ob sich auf dem Kanal jegliche Agenten befinden. Die Puffer können die Zustandsinformationen als Reaktion auf Zustandsanforderungen vom Host in Zustandsrahmen zum Host weiterleiten.
  • Nach der Anwesenheitsfeststellungstätigkeit können die Puffer im beispielhaften System verschiedenste andere Tätigkeiten während einer schnellen Rückstellung wie etwa einen Taktschulungszustand, um die lokalen Takte an den Puffern dahingehend zu schulen, sich an den Datenstrom zu sperren, einen Rahmenschulungszustand, um Rahmen, die über den Kanal gesendet werden, auszurichten, Bitspurprüfungen, um den Betrieb aller Bitspuren zu prüfen und die Puffer in die Failover-Betriebsart zu stellen, wenn sie über eine derartige Fähigkeit verfügen, usw., durchlaufen. Außerdem kann der Host, sobald er weiß, wieviele andere Agenten an den Kanal angeschlossen sind, die Rahmengröße, den Zeittakt, usw. regulieren, um sich an alle Agenten anzupassen.
  • Im beispielhaften System können die Speicheragenten auch oder alternativ fähig sein, verschiedenste Abfragetätigkeiten durchzuführen, um die Anwesenheit von neu hinzugefügten Agenten auf dem Kanal festzustellen. Zum Beispiel kann jeder Puffer fähig sein, eine Abfragetätigkeit an seinem äußeren Anschluß durchzuführen, ob er der äußerste Puffer ist, um zu bestimmen, ob dem Kanal ein neuer Agent hinzugefügt wurde. 25 veranschaulicht eine Ausführungsform einer derartigen Abfragetätigkeit nach den erfinderischen Grundsätzen des Patents.
  • Bei 148 kann der Agent seinen gesamten äußeren Anschluß oder einen Teil davon deaktivieren. Wenn der Agent ein Puffer oder ein Modul ist, kann er auf einen Abfragebefehl vom Host warten, um zu einer Rückstellungstätigkeit bei laufendem Betrieb bei 150 überzugehen. Wenn der Agent ein Host ist, kann er seinen gesamten äußeren Anschluß oder einen Teil davon deaktivieren und auf einen Aufwachbefehl von einer Systemumgebung warten. Bei Erhalt des Aufwachbefehls kann er wiederum seinen gesamten äußeren Anschluß oder einen Teil davon aktivieren und zu einem Rückstellungszustand übergehen.
  • Bei 150 kann der Agent seinen äußeren Anschluß aktivieren und Nullen auf die ausgehenden Tx-Bitspuren der drei LSB treiben, um eine Rückstellung zu einem möglichen neuen Agenten an seinem äußeren Anschluß zu senden. Der Agent kann dann zu einer Kalibrierungstätigkeit bei laufendem Betrieb bei 152 übergehen.
  • Bei 152 kann der Agent Einsen auf die ausgehenden Tx-Bitspuren der drei LSB treiben, um einen möglichen neuen Agenten durch eine vollständige Rückstellung einschließlich von Kalibrierungstätigkeiten zu treiben, da ein neu festgestellter Agent vermutlich kalibriert werden müßte. Der Agent kann dann zu einer Feststelltätigkeit bei laufendem Betrieb bei 154 übergehen.
  • Bei 154 kann der Agent Nullen auf die ausgehenden Tx-Bitspuren der drei LSB treiben und einen Vorspannungsstrom auf die eingehenden Rx-Bitspuren der drei LSB stellen, um die Bits auf Null zu zwingen, wenn sie nicht an einen äußeren Agenten angeschlossen sind. Der Agent kann dann die eingehenden Rx-Bitspuren der drei LSB prüfen, und wenn er zumindest zwei Einsen feststellt, kann er bei 155 entscheiden, daß ein äußerer Agent anwesend ist, und zu einer Agentenanwesenheitstätigkeit bei laufendem Betrieb bei 156 übergehen. Andernfalls kann der Agent bei 155 entscheiden, daß kein äußerer Agent anwesend ist, und zur Schlaftätigkeit bei 148 zurück übergehen.
  • Bei 156 kann der Agent ein Zustandsregister aktualisieren, um anzugeben, daß er einen äußeren Agenten festgestellt hat, und dann diese Information zum Beispiel als Reaktion auf eine Zustandsanforderung zum Host weitergeben, oder irgendeine andere Maßnahme treffen, um die Information zum Host oder zu einem anderen Agenten weiterzugeben. Der Agent kann auch darauf warten, eine Kanalrückstellung zu erhalten.
  • Der Host kann sich des neu festgestellten Agenten entweder durch periodische Zustandsanforderungen oder durch andere Techniken bewußt werden und eine schnelle Rückstellung beginnen, um den gesamten Kanal mit dem neuen Agenten auf dem Kanal und im Kanalzeittakt untergebracht neu zu initialisieren.
  • Das Folgende sind einige zusätzliche Ausführungsformen von Abfolgen der Hinzufügung/Entfernung bei laufendem Betrieb nach den erfinderischen Grundsätzen dieses Patents. Diese zusätzlichen Ausführungsformen sind ebenfalls unter Bezugnahme auf die in 6 gezeigte Ausführungsform des Speichersystems im Kontext eines größeren Systems, wie etwa eines Servers mit einer Benutzerschnittstelle und Systemfirmware, das das Speichersystem vom 6 einsetzt, beschrieben. Die erfinderischen Grundsätze, die durch diese zusätzlichen Ausführungsformen veranschaulicht sind, sind jedoch nicht auf die bestimmten Einzelheiten, die hierin beschrieben sind, beschränkt.
  • Eine Abfolge der Hinzufügung bei laufendem Betrieb nach den erfinderischen Grundsätzen dieses Patents kann beginnen, wenn ein Benutzer einen neuen Agenten an den Speicherkanal anfügt, zum Beispiel an den äußeren Anschluß des äußersten Agenten. Der Benutzer kann die Systemfirmware darüber informieren, daß ein Agent angefügt wurde. Die Firmware kann dann veranlassen, daß Leistung an den angefügten Agenten angelegt wird, und den Host durch einen Aufwachbefehl darüber informieren, daß ein Agent angefügt wurde. Der Host kann dann einen Abfragebefehl zum früheren äußersten Agenten senden, der dann eine Abfragetätigkeit wie die oben unter Bezugnahme auf 25 beschriebene durchlaufen kann. Nach der Abfragetätigkeit kann der frühere äußerste Agent die Anwesenheit eines neuen äußeren Agenten melden. Der Host kann dann die Anwesenheit des neuen Agenten feststellen und einen Befehl zur schnellen Rückstellung ausgeben, um den neuen Agenten in Betrieb zu bringen und den gesamten Kanal zeitlich neu zu abzustimmen. Nachdem der neue Agent betriebsbereit ist, kann der Host die Systemfirmware unterbrechen, um zu melden, daß der neue Agent betriebsbereit ist. Alternativ kann der Host darauf warten, daß die Systemfirmware den Host befragt, um zu bestimmen, ob der neue Agent betriebsbereit ist. Die Systemfirmware kann dann den Host konfigurieren, damit sich dieser an jegliche neue Hardware, die durch die neuen Agenten geboten wird, wie etwa neue Speichervorrichtungen, die anwesend sein können, wenn der Agent ein Speichermodul oder ein Puffer ist, anpaßt.
  • Eine Abfolge der Entfernung bei laufendem Betrieb nach den erfinderischen Grundsätzen dieses Patents kann beginnen, wenn ein Benutzer das System informiert, daß ein bestimmter Agent auf einem Speicherkanal entfernt werden soll. Das System kann einen entsprechenden Hostadressenbereich aus einem Systemplan entfernen. Wenn das System eine Spiegelung verwendet, kann das System die Hostadressenbereiche auf Agentenspiegel neuabbilden. Das System kann dann Daten vom Hostadressenbereich zu anderen Stellen kopieren oder bewegen, wenn sie nicht bereits gespiegelt wurden. Das System kann dann abfragen, bis alle ausstehenden Tätigkeiten abgeschlossen sind. Das System kann dann den Host veranlassen, einen Befehl zu dem gerade innerhalb des zu entfernenden Agenten befindlichen Agenten zu senden, der diesen Agenten veranlaßt, anzunehmen, daß er der äußerste Agent auf dem Kanal ist, wodurch er veranlaßt wird, seinen äußeren Anschluß zu deaktivieren und während anschließender schneller Rückstellungen die Funktionen des äußersten Agenten zu übernehmen (eine vollständige Rückstellung würde diesen Befehl außer Kraft setzen). Das System kann dann eine schnelle Rückstellung beginnen, um den ausgewählten Agenten und jegliche Schnittstellen für Bestandteile, die am ausgewählten Agenten angebracht sind, stillzulegen. Das System kann dann die Leistung zum ausgewählten Agenten trennen und den Benutzer benachrichtigen, daß der Agent entfernt werden kann.
  • Eine Abfolge des Ersatzes bei laufendem Betrieb nach den erfinderischen Grundsätzen dieses Patents kann beginnen, wenn die oben beschriebene Abfolge der Entfernung bei laufendem Betrieb abgeschlossen ist. Der Benutzer kann anstelle des entfernten einen neuen Agenten hinzufügen und dann die Systemfirmware informieren, daß der neue Agent hinzugefügt wurde. Das laufende System kann dann den Host für den neu ersetzten Bestandteil vorbereiten und Leistung zum neuen Bestandteil liefern. Die Systemfirmware kann dann den Host veranlassen, einen Befehl zum früheren äußersten Agenten zu senden, um ihn davon in Kenntnis zu setzen, daß er nicht länger annehmen sollte, daß er der äußerste Agent ist. Dies kann den früheren äußersten Agenten veranlassen, seinen äußeren Anschluß als Reaktion auf die nächste Rückstellung zu aktivieren, und auf einen Abfragebefehl zu warten. Die Firmware kann den Host dann anweisen, einen Abfragebefehl zum früheren äußersten Agenten zu senden, der dann eine Abfragetätigkeit wie die oben unter Bezugnahme auf 25 beschriebene durchführen kann, wodurch der neue Agent initialisiert wird. Der frühere äußerste Agent kann dann die Anwesenheit eines neuen äußeren Agenten melden. Der Host kann dann die Anwesenheit des neuen Agenten feststellen und einen Befehl zur schnellen Rückstellung ausgeben, um den neuen Agenten in Betrieb zu bringen und den gesamten Kanal zeitlich neu zu abzustimmen. Nachdem der neue Agent betriebsbereit ist, kann der Host die Systemfirmware unterbrechen, um zu melden, daß der neue Agent betriebsbereit ist. Alternativ kann der Host darauf warten, daß die Systemfirmware den Host befragt, um zu bestimmen, ob der neue Agent betriebsbereit ist.
  • Die hierein beschriebenen Ausführungsformen können in der Anordnung und in Einzelheiten abgewandelt werden, ohne von den erfinderischen Grundsätzen abzuweichen. Demgemäß werden derartige Änderungen und Abwandlungen als in den Umfang der folgenden Ansprüche fallend betrachtet.

Claims (20)

  1. Speicheragent (64), der umfaßt – einen ersten Anschluß (54A); und – einen zweiten Anschluß (54B); dadurch gekennzeichnet, daß der Speicheragent fähig ist, unter Verwendung einer Signalleitung, die auch für die Speicherdatenübertragung verwendet wird, die Anwesenheit eines anderen Speicheragenten am zweiten Anschluß festzustellen.
  2. Speicheragent nach Anspruch 1, wobei der Speicheragent fähig ist, Signale vom ersten Anschluß zum zweiten Anschluß weiterzutreiben.
  3. Speicheragent nach Anspruch 2, wobei der Speicheragent fähig ist, Signale vom zweiten Anschluß zum ersten Anschluß weiterzutreiben.
  4. Speicheragent nach Anspruch 1, dadurch gekennzeichnet, daß der erste Anschluß eine einseitig gerichtete Empfangsverbindungsschnittstelle umfaßt; und der zweite Anschluß eine einseitig gerichtete Sendeverbindungsschnittstelle umfaßt.
  5. Speicheragent nach Anspruch 1, dadurch gekennzeichnet, daß der erste Anschluß eine erste einseitig gerichtete Sendeverbindungsschnittstelle und eine erste einseitig gerichtete Empfangsverbindungsschnittstelle umfaßt; und der zweite Anschluß eine zweite einseitig gerichtete Sendeverbindungsschnittstelle und eine zweite einseitig gerichtete Empfangsverbindungsschnittstelle umfaßt.
  6. Speicheragent nach Anspruch 1, wobei der Speicheragent fähig ist, eine Abfragetätigkeit durchzuführen, um die Anwesenheit eines anderen Agenten am zweiten Anschluß festzustellen.
  7. Speicheragent nach Anspruch 6, wobei die Abfragetätigkeit das Signalisieren eines Abwesenheitsfeststellungsereignisses durch den zweiten Anschluß umfaßt.
  8. Speicheragent nach Anspruch 1, wobei der Speicheragent fähig ist, durch den ersten Anschluß die Anwesenheit eines anderen Speicheragenten am zweiten Anschluß zu melden.
  9. Speicheragent nach Anspruch 1, wobei der Speicheragent fähig ist, eine schnelle Rückstellungstätigkeit durchzuführen.
  10. Speicheragent nach Anspruch 1, wobei der Speicheragent einen Speicherpuffer umfaßt.
  11. Speicheragent nach Anspruch 1, wobei der Speicheragent ein Speichermodul (52) umfaßt.
  12. Speicheragent nach Anspruch 1, wobei der Speicheragent fähig ist, den gesamten zweiten Anschluß oder einen Teil davon zu deaktivieren.
  13. System, umfassend einen Speicheragenten nach Anspruch 1 und eine Speichersteuerung (50), die mit dem ersten Anschluß des Speicheragenten gekoppelt ist.
  14. System nach Anspruch 13, dadurch gekennzeichnet, daß die Speichersteuerung (50) fähig ist, eine Anwesenheitsanfrage zum Speicheragenten zu senden; und der Speicheragent fähig ist, der Steuerung als Reaktion auf die Anwesenheitsanfrage die Anwesenheit oder die Abwesenheit eines anderen Speicheragenten am zweiten Anschluß zu melden.
  15. System nach Anspruch 13, wobei der Speicheragent fähig ist, eine Abfragetätigkeit durchzuführen, um die Anwesenheit eines anderen Speicheragenten am zweiten Anschluß festzustellen.
  16. System nach Anspruch 13, wobei der Speicheragent fähig ist, eine schnelle Rückstellungstätigkeit durchzuführen.
  17. System nach Anspruch 13, wobei der Speicheragent fähig ist, den gesamten zweiten Anschluß oder einen Teil davon zu deaktivieren.
  18. Verfahren, das die folgenden Schritte umfaßt: – Durchführen einer Anwesenheitsfeststellungstätigkeit an einem ersten Anschluß eines Speicheragenten unter Verwendung einer Signalleitung, die auch für die Speicherdatenübertragung verwendet wird; und – Melden der Ergebnisse der Anwesenheitsfeststellungstätigkeit durch einen zweiten Anschluß des Speicheragenten.
  19. Verfahren nach Anspruch 18, ferner gekennzeichnet durch – Durchführen einer schnellen Rückstellungstätigkeit am Speicheragenten.
  20. Verfahren nach Anspruch 18, ferner gekennzeichnet durch – Deaktivieren des gesamten ersten Anschlusses oder eines Teils davon.
DE602004008067T 2003-06-03 2004-05-20 Speichermodularchitektur-reigentopologie, detektionen und meldungen, präsenz eines äusseren speichermoduls zu innerem modul Expired - Lifetime DE602004008067T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US454399 1999-12-03
US10/454,399 US7194581B2 (en) 2003-06-03 2003-06-03 Memory channel with hot add/remove
PCT/US2004/015978 WO2004109525A2 (en) 2003-06-03 2004-05-20 Memory module architecture daisy chain topology detects and reports presence of outer memory module to inner module

Publications (2)

Publication Number Publication Date
DE602004008067D1 DE602004008067D1 (de) 2007-09-20
DE602004008067T2 true DE602004008067T2 (de) 2007-11-22

Family

ID=33489727

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004008067T Expired - Lifetime DE602004008067T2 (de) 2003-06-03 2004-05-20 Speichermodularchitektur-reigentopologie, detektionen und meldungen, präsenz eines äusseren speichermoduls zu innerem modul

Country Status (9)

Country Link
US (1) US7194581B2 (de)
EP (1) EP1629392B1 (de)
JP (1) JP4210300B2 (de)
KR (1) KR100806445B1 (de)
CN (1) CN100483380C (de)
AT (1) ATE369589T1 (de)
DE (1) DE602004008067T2 (de)
TW (1) TW200502732A (de)
WO (1) WO2004109525A2 (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7404032B2 (en) * 2000-01-05 2008-07-22 Rambus Inc. Configurable width buffered module having switch elements
US6502161B1 (en) * 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US7010642B2 (en) * 2000-01-05 2006-03-07 Rambus Inc. System featuring a controller device and a memory module that includes an integrated circuit buffer device and a plurality of integrated circuit memory devices
US7362697B2 (en) 2003-01-09 2008-04-22 International Business Machines Corporation Self-healing chip-to-chip interface
US7200787B2 (en) * 2003-06-03 2007-04-03 Intel Corporation Memory channel utilizing permuting status patterns
US8171331B2 (en) 2003-06-04 2012-05-01 Intel Corporation Memory channel having deskew separate from redrive
US7386768B2 (en) * 2003-06-05 2008-06-10 Intel Corporation Memory channel with bit lane fail-over
US7392445B2 (en) * 2003-09-11 2008-06-24 International Business Machines Corporation Autonomic bus reconfiguration for fault conditions
US20050138267A1 (en) * 2003-12-23 2005-06-23 Bains Kuljit S. Integral memory buffer and serial presence detect capability for fully-buffered memory modules
US7417883B2 (en) * 2004-12-30 2008-08-26 Intel Corporation I/O data interconnect reuse as repeater
US7366931B2 (en) 2004-12-30 2008-04-29 Intel Corporation Memory modules that receive clock information and are placed in a low power state
JP4274140B2 (ja) * 2005-03-24 2009-06-03 日本電気株式会社 ホットスワップ機能付きメモリシステム及びその障害メモリモジュールの交換方法
JP4474648B2 (ja) * 2005-03-25 2010-06-09 日本電気株式会社 メモリシステム及びそのホットスワップ方法
KR101271245B1 (ko) 2005-04-21 2013-06-07 바이올린 메모리 인코포레이티드 상호접속 시스템
US9582449B2 (en) 2005-04-21 2017-02-28 Violin Memory, Inc. Interconnection system
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
US7539812B2 (en) * 2005-06-30 2009-05-26 Intel Corporation System and method to increase DRAM parallelism
US7464225B2 (en) 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
US11328764B2 (en) 2005-09-26 2022-05-10 Rambus Inc. Memory system topologies including a memory die stack
US7562271B2 (en) 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US11948629B2 (en) 2005-09-30 2024-04-02 Mosaid Technologies Incorporated Non-volatile memory device with concurrent bank operations
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
WO2007036050A1 (en) * 2005-09-30 2007-04-05 Mosaid Technologies Incorporated Memory with output control
US7353316B2 (en) * 2006-03-24 2008-04-01 Micron Technology, Inc. System and method for re-routing signals between memory system components
US7617350B2 (en) * 2006-07-26 2009-11-10 International Business Machines Corporation Carrier having daisy chained memory chips
US7627711B2 (en) * 2006-07-26 2009-12-01 International Business Machines Corporation Memory controller for daisy chained memory chips
US7660940B2 (en) * 2006-07-26 2010-02-09 International Business Machines Corporation Carrier having daisy chain of self timed memory chips
US7673093B2 (en) * 2006-07-26 2010-03-02 International Business Machines Corporation Computer system having daisy chained memory chips
DE102006045113B3 (de) * 2006-09-25 2008-04-03 Qimonda Ag Speichermodul-System, Speichermodul, Buffer-Bauelement, Speichermodul-Platine, und Verfahren zum Betreiben eines Speichermoduls
US20080155149A1 (en) * 2006-12-20 2008-06-26 De Araujo Daniel N Multi-path redundant architecture for fault tolerant fully buffered dimms
US7688652B2 (en) * 2007-07-18 2010-03-30 Mosaid Technologies Incorporated Storage of data in memory via packet strobing
US20090063786A1 (en) * 2007-08-29 2009-03-05 Hakjune Oh Daisy-chain memory configuration and usage
US7913128B2 (en) * 2007-11-23 2011-03-22 Mosaid Technologies Incorporated Data channel test apparatus and method thereof
US7743375B2 (en) * 2008-06-27 2010-06-22 International Business Machines Corporation Information handling system including dynamically merged physical partitions
US8111615B2 (en) 2008-07-07 2012-02-07 Intel Corporation Dynamic update of route table
US8205138B2 (en) * 2008-08-07 2012-06-19 International Business Machines Corporation Memory controller for reducing time to initialize main memory
CN102055602B (zh) * 2009-10-28 2013-07-10 中国移动通信集团湖南有限公司 一种执行结果获取方法和装置及系统
KR101728067B1 (ko) * 2010-09-03 2017-04-18 삼성전자 주식회사 반도체 메모리 장치
US8825967B2 (en) 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
US9582223B2 (en) * 2014-04-14 2017-02-28 International Business Machines Corporation Efficient reclamation of pre-allocated direct memory access (DMA) memory
US9818457B1 (en) 2016-09-30 2017-11-14 Intel Corporation Extended platform with additional memory module slots per CPU socket
US10216657B2 (en) 2016-09-30 2019-02-26 Intel Corporation Extended platform with additional memory module slots per CPU socket and configured for increased performance

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4567578A (en) * 1982-09-08 1986-01-28 Harris Corporation Cache memory flush scheme
US6112287A (en) * 1993-03-01 2000-08-29 Busless Computers Sarl Shared memory multiprocessor system using a set of serial links as processors-memory switch
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5241643A (en) 1990-06-19 1993-08-31 Dell Usa, L.P. Memory system and associated method for disabling address buffers connected to unused simm slots
JPH0715665B2 (ja) 1991-06-10 1995-02-22 インターナショナル・ビジネス・マシーンズ・コーポレイション パーソナルコンピユータ
US6408402B1 (en) * 1994-03-22 2002-06-18 Hyperchip Inc. Efficient direct replacement cell fault tolerant architecture
CA2185787A1 (en) * 1994-03-22 1995-09-28 Richard S. Norman Efficient direct cell replacement fault tolerant architecture supporting completely integrated systems with means for direct communication with system operator
US5475320A (en) * 1994-08-11 1995-12-12 Texas Instruments Incorporated Data processing with a self-timed approach to spurious transitions
US6154826A (en) * 1994-11-16 2000-11-28 University Of Virginia Patent Foundation Method and device for maximizing memory system bandwidth by accessing data in a dynamically determined order
US5867422A (en) * 1995-08-08 1999-02-02 University Of South Florida Computer memory chip with field programmable memory cell arrays (fpmcas), and method of configuring
US6006318A (en) * 1995-08-16 1999-12-21 Microunity Systems Engineering, Inc. General purpose, dynamic partitioning, programmable media processor
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US5860080A (en) * 1996-03-19 1999-01-12 Apple Computer, Inc. Multicasting system for selecting a group of memory devices for operation
US5860134A (en) * 1996-03-28 1999-01-12 International Business Machines Corporation Memory system with memory presence and type detection using multiplexed memory line function
US6047343A (en) * 1996-06-05 2000-04-04 Compaq Computer Corporation Method and apparatus for detecting insertion and removal of a memory module using standard connectors
US6125419A (en) * 1996-06-13 2000-09-26 Hitachi, Ltd. Bus system, printed circuit board, signal transmission line, series circuit and memory module
US6092229A (en) * 1996-10-09 2000-07-18 Lsi Logic Corporation Single chip systems using general purpose processors
US5922077A (en) * 1996-11-14 1999-07-13 Data General Corporation Fail-over switching system
JP3455040B2 (ja) * 1996-12-16 2003-10-06 株式会社日立製作所 ソースクロック同期式メモリシステムおよびメモリユニット
JP3127853B2 (ja) * 1997-04-30 2001-01-29 日本電気株式会社 メモリ集積回路並びにこれを用いた主記憶システム及びグラフィクスメモリシステム
US5898863A (en) * 1997-06-03 1999-04-27 Emc Corporation Method and apparatus for determining I/O size distribution of an input/output system and its use for load simulation
US6097520A (en) * 1997-06-30 2000-08-01 Microsoft Corporation Remote control receiver and method of operation
EP1036362B1 (de) 1997-12-05 2006-11-15 Intel Corporation Speichersystem mit speichermodul mit einem speichermodul-steuerbaustein
US6970968B1 (en) 1998-02-13 2005-11-29 Intel Corporation Memory module controller for providing an interface between a system memory controller and a plurality of memory devices on a memory module
US6968419B1 (en) 1998-02-13 2005-11-22 Intel Corporation Memory module having a memory module controller controlling memory transactions for a plurality of memory devices
TR200002649T2 (tr) * 1998-03-16 2000-11-21 Jazio Inc. VLSI CMOS arayüz devreleri için yüksek hızlı sinyal üretimi.
US6327205B1 (en) * 1998-03-16 2001-12-04 Jazio, Inc. Signal latching of high bandwidth DRAM arrays when skew between different components is higher than signal rate
US6160423A (en) * 1998-03-16 2000-12-12 Jazio, Inc. High speed source synchronous signaling for interfacing VLSI CMOS circuits to transmission lines
US6209074B1 (en) * 1998-04-28 2001-03-27 International Business Machines Corporation Address re-mapping for memory module using presence detect data
US6504780B2 (en) * 1998-10-01 2003-01-07 Monolithic System Technology, Inc. Method and apparatus for completely hiding refresh operations in a dram device using clock division
EP1077412A3 (de) 1999-08-16 2004-12-15 Hewlett-Packard Company, A Delaware Corporation Bussystem mit verbessertem Steuerungsverfahren
US6643752B1 (en) * 1999-12-09 2003-11-04 Rambus Inc. Transceiver with latency alignment circuitry
US6502161B1 (en) * 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US6487102B1 (en) * 2000-09-18 2002-11-26 Intel Corporation Memory module having buffer for isolating stacked memory devices
US6369605B1 (en) * 2000-09-18 2002-04-09 Intel Corporation Self-terminated driver to prevent signal reflections of transmissions between electronic devices
US6625687B1 (en) * 2000-09-18 2003-09-23 Intel Corporation Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing
US6317352B1 (en) * 2000-09-18 2001-11-13 Intel Corporation Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules
US6449213B1 (en) * 2000-09-18 2002-09-10 Intel Corporation Memory interface having source-synchronous command/address signaling
US6493250B2 (en) * 2000-12-28 2002-12-10 Intel Corporation Multi-tier point-to-point buffered memory interface
US20020144173A1 (en) 2001-03-30 2002-10-03 Micron Technology, Inc. Serial presence detect driven memory clock control
TW542378U (en) * 2002-02-08 2003-07-11 C One Technology Corp Multi-functional electronic card capable of detecting a card insertion
US20050166006A1 (en) * 2003-05-13 2005-07-28 Advanced Micro Devices, Inc. System including a host connected serially in a chain to one or more memory modules that include a cache

Also Published As

Publication number Publication date
JP4210300B2 (ja) 2009-01-14
WO2004109525A2 (en) 2004-12-16
CN1799040A (zh) 2006-07-05
KR100806445B1 (ko) 2008-02-21
TW200502732A (en) 2005-01-16
US7194581B2 (en) 2007-03-20
US20040250024A1 (en) 2004-12-09
EP1629392A2 (de) 2006-03-01
WO2004109525A3 (en) 2005-01-27
ATE369589T1 (de) 2007-08-15
KR20060023983A (ko) 2006-03-15
CN100483380C (zh) 2009-04-29
JP2006526846A (ja) 2006-11-24
DE602004008067D1 (de) 2007-09-20
EP1629392B1 (de) 2007-08-08

Similar Documents

Publication Publication Date Title
DE602004008067T2 (de) Speichermodularchitektur-reigentopologie, detektionen und meldungen, präsenz eines äusseren speichermoduls zu innerem modul
CN100511192C (zh) 用于具有位通道故障在线恢复的存储信道的方法、装置和系统
JP4210302B2 (ja) 単方向リンクを用いるメモリ・チャネル
DE112007002619B4 (de) Speichersteuerung mit einer Speicherverbindung mit zwei Betriebsmodi
CN100498724C (zh) 针对部分帧的提早crc传送
CN100470496C (zh) 用可变映射进行的通道测试
CN102073606B (zh) 数据通路和存储器设备之间的数据累积
DE60215833T2 (de) Mehrkanalschnittstelle für die kommunikation zwischen einrichtungen
CN100440188C (zh) 用于区分状态信息与读数据的存储设备、系统和方法
DE112006001208T5 (de) Identische Chips mit verschiedenen Operationen in einem System
DE102007039763A1 (de) Integrierte Schaltung, Chipstapel und Datenverarbeitungssystem
DE112007002605T5 (de) Speichersystem mit seriellem Hochgeschwindigkeitspuffer
DE112011103225B4 (de) Schaltkreisvorrichtung, System und Verfahren mit Drosseln einer integrierten Verbindung
DE10360190A1 (de) Vorrichtung für die Erfassung von Verbindungsfehlern auf der Backplane des hochverfügbaren Ethernet
DE112008001143T5 (de) Serialisierung von Daten in einer Multi-Chip-Busimplementierung
DE102012205160A1 (de) Kommunikationsanordnung und Verfahren zur Konfiguration programmierbarer Hardware
DE102015104366A1 (de) Kommunikationsvorrichtung mit verbesserter leistung und assoziierte verfahren
DE112005000687B4 (de) Mechanismus zur Wiederholung von Signalen über eine Verbindung ohne Beziehung
EP1423774A1 (de) Unabhängige einstellbarkeit des timing von hin- und rückrichtung bidirektionaler digitaler signale
JP2001326663A (ja) トークンパッシングによるフロー制御方式及びその方法
JPS5980043A (ja) ル−プ伝送装置
JPS6261446A (ja) ト−クン2重ル−プアクセス方式
DE102014119517A1 (de) Kleinleistungs-Kommunikationsvorrichtung und assoziierte Verfahren
JPH0380748A (ja) 共通バス系切替方式

Legal Events

Date Code Title Description
8364 No opposition during term of opposition