-
Die Erfindung betrifft ein eine Mehrzahl
von Datenspeichereinrichtungen zur Speicherung von Nutzdaten und
mindestens eine mit den Datenspeichereinrichtungen mindestens mittels
Datenleitungen verbundene Buffereinrichtung zur Aufbereitung mindestens
von auf den Datenleitungen zwischen den Datenspeichereinrichtungen
und weiteren Komponenten eines Datenspeichersystems übertragenen Datensignalen
aufweisendes Speichermodul zum Betrieb in einem Datenspeichersystem.
-
Modulare Datenspeichersysteme weisen üblicherweise
eine Systemplatine mit einer Mehrzahl von Einbauplätzen für Speichermodule
auf. Die Einbauplätze
sind dabei jeweils in Abhängigkeit
von den Anforderungen an das Datenspeichersystem oder von einer
Ausbaustufe des Datenspeichersystems mit Speichermodulen belegt.
-
Ein Beispiel für ein Datenspeichersystem mit modularem
Konzept ist ein Computersystem (PC, work station, server) mit variablen
Arbeitsspeicher, bei dem auf einer Systemplatine Einbauplätze (slots) für Speichermodule
in Form von Steckfassungen vorgesehen sind. Die Speichermodule modularer
Datenspeichersysteme liegen in der Regel in Form von DIMMs (dual
inline memory modules) vor, deren mechanische und elektrische Schnittstellen
zur Systemplatine Industriestandards unterworfen sind.
-
Zur Steigerung der Leistungsfähigkeit
solcher Datenspeichersysteme wird allgemein eine Erhöhung einer
Takt- bzw. Datenübertragungsrate
angestrebt. So sind für
auf DDR-DRAM Bausteinen (double data rate dynamic random access
memories) als Datenspeichereinrichtungen beruhende DDRII (double
data rate) -Speichersysteme Datenübertragungsraten von 667 Mbit
pro Sekunde und pro Datensignal (Mbit/s/Pin) und für DDRIII-Speichersysteme
Datenübertragungsraten
von bis zu 1,5 Gbit/s/Pin vorgesehen. Mit steigenden Datenübertragungsraten gewinnen
zunehmend Maßnahmen
zur Wahrung bzw. Verbesserung der Signalintegrität bei hohen Signalfrequenzen
an Bedeutung.
-
Bekannte Konzepte für Datenspeichersysteme
mit Datenübertragungsraten
bis zu 1,5 Gbit/s/Pin sehen auf den Speichermodulen abzweigfreie
Signalleitungen und verteilte kapazitive Lasten zur Verbesserung
der Signalintegrität
vor.
-
Ebenso sind Buffer/Redriver-Bausteine
bekannt, die jeweils zusätzlich
zu den Datenspeichereinrichtungen auf den Speichermodulen vorgesehen werden.
Die Buffer/Redriver-Bausteine ermöglichen neben einer Signalkonditionierung
von zu bzw. von den Datenspeichereinrichtungen der Speichermodule
geführten
Signalen eine Entkopplung eines auf der Systemplatine ausgeführten Bussystems
von den jeweils auf den Speichermodulen ausgebildeten Bussystemen.
-
Weiterhin sind zur Datensicherung
Fehlerkorrekturkonzepte (ECC, error correction codes) bekannt. Dazu
wird parallel zu den eigentlichen Nutzdaten ein erster Satz redundanter
Daten übertragen
(im Folgenden Redundanzdaten), der jeweils nach bekannten Algorithmen
aus den Nutzdaten gebildet wird. Die Redundanzdaten werden zusätzlich zu
den jeweils korrespondierenden Nutzdaten etwa zu einer weiteren
auf dem Speichermodul befindlichen Datenspeichereinrichtung übertragen
und abgespeichert. Nach einer Rückübertragung
der Nutzdaten und der Redundanzdaten an einen in der Regel auf der
Systemplatine angeordneten Speicherkontrollbaustein wird dort aus
den Nutzdaten ein zweiter Satz redundanter Daten (im Folgenden Kontrolldaten)
gebildet. Durch den Vergleich der Kontrolldaten mit den zusammen
mit den Nutzdaten übertragenen
Redundanzdaten werden Fehlerereignisse registriert und fallweise
nach bekannter Technik korrigiert. Ein Fehlerereignis liegt dabei
vor, wenn die zum Speicherkontrollbaustein zurückübertragenen Nutzdaten von den
ursprünglich
vom Speicherkontrollbaustein zu einer der Datenspeichereinrichtungen übertragenen Nutzdaten
abweichen. Ein Fehlerereignis beruht auf einem Übertragungsfehler, einer fehlerhaften
Speicherzelle in der Datenspeichereinrichtung oder auf einen durch
Umgebungseinflüsse
bedingten Wechsel des Dateninhalts einer Speicherzelle.
-
Fehlerkorrekturkonzepte setzen allgemein voraus,
dass auf den Speichermodulen zusätzlich
zu jedem Satz von Nutzdaten ein Satz Redundanzdaten abgespeichert
wird. Bei Speicherkonzepten wie SDR (single data rate), DDRI und
DDRII weist der gesamte Datenbus zur Übertragung der Nutzdaten üblicherweise
64 parallel geführte
Datenleitungen auf. Übliche
Fehlerkorrekturkonzepte sehen weitere acht Datenleitungen zur parallelen Übertragung
der Redundanzdaten vor. Entsprechend beträgt die Größe des Speichers für die Redundanzdaten
(im Folgenden Fehlerdatenspeicher) pro Speichermodul ein Achtel des
Nutzdatenspeichers des Speichermoduls.
-
Ein weiteres, als ChipkillTM bekanntes Fehlerkorrekturkonzept, ist
auf die Erkennung und Korrektur von mit herkömmlichen Fehlerkorrekturkonzepten nicht
erkennbaren Mehrfachfehlern auf einer physikalischen Datenadresse
einer Datenspeichereinrichtung gerichtet. Dabei werden im Wesentlichen
die der physikalischen Datenadresse zugeordneten Datenbits einer
Gruppe paralleler Bussysteme zugeteilt (scattering), für die jeweils
separat ein übliches
Fehlerkorrekturkonzept wirkt. Bei einer defekten Adressierungsleitung
innerhalb der Datenspeichereinrichtung wird ein meist nicht erkenn-
oder korrigierbarer Mehrfachfehler in eine Anzahl von in der Regel
korrigierbarer Einzelfehler umgesetzt.
-
Allgemein addieren sich bei Kombination mehrerer
die Leistungsfähigkeit
eines Datenspeichersystems steigernder Maßnahmen bzw. Konzepte deren
Vorteile.
-
Jedoch führt eine mit herkömmlichen
Mitteln realisierte Kombination eines Fehlerkorrekturkonzepts mit
einem Buffer/Redriverkonzept auch zu Nachteilen. So erschwert der
hohe Platzbedarf für
die Buffer/Redriver-Bausteine und den Fehlerdatenspeicher eine geeignete
Ausbildung von Signalleitungen (routen) auf nach JEDEC (Joint electronic
device engineering council) in den Abmessungen standardisierten
Speichermodulen außerordentlich.
-
Weitere Nachteile einer bloßen Kombination von
Fehlerkorrekturkonzepten einerseits und Buffer/Redriverkonzepten
andererseits treten in Abhängigkeit
einer Datenbusbreite der auf dem Speichermodul vorgesehenen Datenspeichereinrichtungen
in unterschiedlicher Gewichtung auf.
-
Da der Fehlerdatenspeicher in vorteilhafter Weise
identisch dem Nutzdatenspeicher betrieben wird, wird der Fehlerdatenspeicher üblicherweise
mit den gleichen Eigenschaften vorgesehen wie der Nutzdatenspeicher.
Für den
Nutzdatenspeicher und den Fehlerdatenspeicher ist daher in der Regel
der selbe Typ von Datenspeichereinrichtung vorgesehen. Weisen die
Datenspeichereinrichtungen für
den Nutzdatenspeicher eine Datenbusbreite von sechzehn Datenleitungen
auf, so weist typischerweise auch die Datenspeichereinrichtung für den Fehlerdatenspeicher
eine Datenbusbreite von 16 Bit auf. Da übliche Fehlerkorrekturkonzepte
aber lediglich 8 Bit nutzen, bleibt in nachteiliger Weise ein Datenspeicher
in der Größenordnung
eines Achtels des gesamten Speicherumfangs der Speichermoduls ungenutzt.
-
Weiter weisen aus Kostengründen korrespondierende
Typen von Speichermodulen mit bzw. ohne Fehlerkorrektur ein im Wesentliches
identisches Layout der Signalleitungen auf. Die korrespondierenden
Typen von Speichermodulen unterscheiden sich lediglich darin, dass
auf Speichermodulen mit Fehlerkorrektur eine zusätzliche Datenspeichereinrichtung
als Fehlerdatenspeicher bestückt
ist. Ein Einbauplatz für
die Fehlerdatenspeichereinrichtung ist auf den Speichermodulen ohne
Fehlerkorrektur in gleicher Weise ausgebildet, bleibt aber unbestückt.
-
Weist nun das Speichermodul Datenspeichereinrichtungen
mit 8 Bit Datenbusbreite auf, so sind auf zwei korrespondierende
Typen von Speichermodulen mit internem 64 Bit Datenbus beispielsweise
acht Einbauplätze
für Datenspeichereinrichtungen
zum Speichern der Nutzdaten und ein weiterer Einbauplatz für eine (Fehler-)Datenspeichereinrichtung
zum Speichern der Redundanzdaten, insgesamt also eine ungerade Anzahl
von Einbauplätzen für Datenspeichereinrichtungen,
vorzusehen. In nachteiliger Weise erlaubt dann aber keine Topologie zur
Ausführung
der Signalleitungen zwischen dem Buffer/Redriver-Baustein und den Datenspeichereinrichtungen
eine symmetrische Konfiguration der insgesamt neun Einbauplätze für Datenspeichereinrichtungen
auf dem Speichermodul. Nach einer heute üblichen so genannten "double T-branch"-Topologie wird beispielsweise
der Datenbus in zwei Zweigen geführt,
wobei ein Zweig des Datenbus mit vier, der zweite Zweig mit fünf Einbauplätzen für Datenspeichereinrichtungen
verbunden ist. Dies führt
zu einer asymmetrischen Ausbildung der Datensignalleitungen und
die Optimierung des Zeitverhaltens der Datensignale für beide
Konfigurationen des Speichermoduls mit bzw. ohne Fehlerkorrektur
wird erschwert. Für
die für
DDRII vorgesehenen Datenübertragungsraten
wäre die
Einführung
zusätzlicher
Wartezyklen zur Datenübertragung
auf dem Steuer- und Adressenbus erforderlich. Dies führt aber
zu einer unerwünschten Begrenzung
der Datenübertragungsrate und
damit der Leistungsfähigkeit
des Datenspeichersystems.
-
Auf Speichermodulen, die Datenspeichereinrichtungen
mit jeweils 4 Bit Datenbreite aufweisen, werden mindestens achtzehn
Datenspeichereinrichtungen benötigt,
um eine gesamte Datenbusbreite von 72 Bit zur Verfügung zu
stellen. Davon sind zwei Datenspeichereinrichtungen zur Speicherung
der redundanten Daten vorgesehen. Speichermodule mit auf 4 Bit Datenbusbreite
basierenden Datenspeichereinrichtungen werden für Applikationen vorgesehen, die
einen hohen Speicherausbau erfordern. Daher werden hierfür auch jeweils
die Datenspeichereinrichtungen mit einer maximalen Zahl von Speicherzellen
vorgesehen. Durch den Platzbedarf der Speicherzellen in einem Halbleitersubstrat
der Datenspeichereinrichtungen ergibt sich eine vergleichsweise große Bauteilgröße der dazu
verwendeten Datenspeichereinrichtungen. Entsprechende Speichermodule,
deren Abmessungen gemäß dem maßgebenden
Industriestandard auf eine Maximalgröße von 1,2 Zoll × 5,25 Zoll
beschränkt
sind, sind in diesem Fall bereits nahezu lückenlos mit Datenspeichereinrichtungen
bedeckt. Die Anordnung zusätzlicher
Buffer/Redriver-Bausteine sowie einer zusätzlichen Fehlerdatenspeichereinrichtung
ist in diesen Fällen
aus Platzgründen
nicht möglich.
-
Eine zur Steigerung der Leistungsfähigkeit von
Datenspeichersystemen wünschenswerte
Kombination von Buffer/Redriver-Konzepten
mit Fehlerkorrekturkonzepten ist also aus den oben genannten Gründen im
Rahmen gegenwärtig
geltender Industriestandards wenn überhaupt nur mit einschneidenden
Abstrichen an anderer Stelle möglich.
-
Der Erfindung liegt daher die Aufgabe
zugrunde, ein Speichermodul zur Verfügung zu stellen, das die Integration
einer Buffer/Redriver-Funktionalität sowie eines Fehlerdatenspei chers
auf den Speichermodulen für
unterschiedliche Buskonfigurationen des Speichermoduls im Rahmen
geltender Industriestandards für
die mechanische und elektrische Schnittstelle des Speichermoduls
ermöglicht. Aufgabe
der Erfindung ist es ferner, ein Verfahren zum Betrieb eines solchen
Speichermoduls zur Verfügung
zu stellen.
-
Diese Aufgabe wird bei einem Speichermodul
der Eingangs genannten Art erfindungsgemäß durch die im kennzeichnenden
Teil des Patentanspruchs 1 angegebenen Merkmale gelöst. Die
Lösung
der Aufgabe ist ferner erfindungsgemäß mit einem Buffer- und Fehlerkontrollbaustein
mit den im kennzeichnenden Teil des Patentanspruches 13 angegebenen
Merkmalen und mit dem im Patentanspruch 17 angegebenen Verfahren
zum Betrieb eines Speichermoduls verbunden. Das erfindungsgemäße Speichermodul
ermöglicht
darüber
hinaus ein im Patentanspruch 19 angegebenes Verfahren zur Optimierung
von Datenspeichersystemen. Vorteilhafte Weiterbildungen der Erfindung
ergeben sich jeweils aus den Unteransprüchen.
-
Das erfindungsgemäße Speichermodul zum Einbau
in ein Datenspeichersystem weist also mindestens einen jeweils eine
Buffereinrichtung und eine Datenspeichereinrichtung zur Speicherung
von Redundanzdaten innerhalb eines gemeinsamen Bauteilgehäuses integrierenden
Buffer- und Fehlerkontrollbaustein auf.
-
Der Integration einer Buffer/Redriver-Funktionalität und einer
Fehlerdatenspeichereinrichtung innerhalb eines gemeinsamen Bauteilgehäuses liegt dabei
die Überlegung
zugrunde, dass für
DDRII- und DDRIII-Konzepte die Abmessungen eines in üblicher Halbleitertechnologie
ausgeführten
Buffer/Redriver-Bausteins
im Wesentlichen durch die Anzahl der Anschlüsse des Buffer/Redriver-Bausteins,
nicht aber durch die in einem Halbleitersubstrat des Buffer/Redriver-Bausteins
realisierte Buffer/Redriver-Funktionalität bestimmt ist. Das Halbleitersubstrat
der Buffer/Redriver-Bausteine ist in diesem Fall nur zu einem geringen
Teil durch die Buffer/Redriver-Funktionalität genutzt.
-
Das Missverhältnis zwischen dem Platzbedarf
zur Realisierung der Bufferfunktionalität und dem Platzbedarf zur Ausführung der
Anschlüsse
ergibt sich aus einer relativ einfach im Halbleitersubstrat zu realisierenden
Bufferfunktionalität
einerseits und einer hohen Anzahl von elektrischen Anschlüssen, insbesondere
von Datenleitungsanschlüssen,
andererseits. Wird auf einem Speichermodul lediglich ein Buffer/Redriver-Baustein vorgesehen,
so ist dieser für
ein 64 Bit Datenbussystem in der Regel allein mit 256 Anschlüssen zur Übertragung
von Datensignalen vorzusehen. Die Zahl von 256 Anschlüssen ergibt sich
dabei aus jeweils 64 Anschlüssen
für die
Datenbussysteme der Systemplatine und des Speichermoduls, sowie
aus dem Umstand, dass jeder Datensignalleitung bei Datenübertragungsraten
von mehr als 500 MHz/s/pin in der Regel eine Schirmleitung zuzuordnen
ist. Für
Fehlerkorrekturkonzepte erhöht
sich die Anzahl der Anschlüsse
entsprechend der Breite eines Redundanzdatenbussystems.
-
Dagegen entfallen auf dem erfindungsgemäßen Speichermodul
mit einem kombinierten Buffer- und Fehlerkontrollbaustein Busleitungen
zwischen einer Fehlerdatenspeichereinrichtung und einem Buffer/Redriver-Baustein.
Der kombinierte Buffer- und Fehlerkontrollbaustein weist in vorteilhafter
Weise tendenziell eher weniger Anschlüsse auf als ein vergleichbarer
herkömmlicher
Buffer/Redriver-Baustein. Weiterhin lässt sich die Funktionalität des Fehlerdatenspeichers
im Rahmen herkömmlicher
Technologien, etwa als embedded DRAM, in wesentlichen Teilen innerhalb
des ansonsten ungenutzten Bereichs des Halbleitersubstrats eines
Buffer/Redriver-Bausteins ausführen.
-
Die Integration der Fehlerdatenspeichereinrichtung
und der Buffer/Redriver-Funktionalität innerhalb eines kombinierten
Buffer- und Fehlerkontrollbausteins reduziert also vorteilhaft den
Platzbedarf für
ein kombiniertes Buffer/Redriver- und
Fehlerkorrekturkonzept. Der Platzbedarf für einen integrierten Buffer-
und Fehlerkontrollbaustein ist tendenziell geringer als der addierte
Platzbedarf eines üblichen Buffer/Redriver-Bausteins
und einer Fehlerdatenspeichereinrichtung.
-
Daneben entfällt auch der Platzbedarf für einen
jedem Einbauplatz auf dem Speichermodul zugeordnete Umgriff, der
fertigungsbedingt als minimaler Abstand zwischen jeweils zwei anzuordnenden Bausteinen
bzw. Datenspeichereinrichtungen vorzusehen ist.
-
Der auf dem Speichermodul erfindungsgemäß insgesamt
eingesparte Platz ermöglicht
die Anordnung (placement) und das Verbinden (routen) der notwendigen
Anzahl von Datenspeichereinrichtungen auf dem Speichermodul und
eine gleichzeitige Realisierung eines Fehlerkorrektur- und eines
Buffer/Redriver-Konzepts im Rahmen der von Industriestandards vorgegebenen
Abmessungen für
Speichermodule.
-
Mit dem erfindungsgemäßen Speichermodul erübrigen sich
vorteilhaft Speichermodule mit größeren Abmessungen. Gegenüber Speichermodulen
mit größeren Abmessungen
weist das erfindungsgemäße Speichermodul
durch kürzere
Leitungswege eine höhere
Signalintegrität
auf. Kosten, die durch eine größere Fläche der
Speichermodule, durch die Notwendigkeit neuer Fertigungsgeräte und insbesondere
auch durch eine Umstellung der Fertigung von Speichermodulen und
Datenspeichersystemen auf eine neue Modulgröße anfallen, werden erfindungsgemäß vermieden.
Ein neuer Industriestandard erübrigt
sich und eine kos tenintensive Aufsplitterung von Fertigungslinien
wird vermieden.
-
Erfindungsgemäß unterscheiden sich die Layouts
der Signalleitungen für
entsprechende Typen von Speichermodulen mit bzw. ohne Fehlerkorrektur
nicht oder nur unwesentlich. Die beiden entsprechenden Typen von
Speichermodulen mit bzw. ohne Fehlerkorrektur unterscheiden sich
lediglich entweder in der Ausbildung der bestückten Buffer- und Fehlerkontrollbaustein
oder in der Ausbildung einer bzw. einer geringen Zahl von die Funktionalität des Buffer-
und Fehlerkontrollbausteins steuernden Signalleitungen. In der Folge
ist jeder der Buffer- und Fehlerkontrollbausteine
unabhängig
vom Typ des Speichermoduls immer mit einer geradzahligen Anzahl
von Datenspeichereinrichtungen zur Speicherung der Nutzdaten verbunden.
Es lassen sich also für
korrespondierende Typen von Speichermodulen mit und ohne Fehlerkorrektur
symmetrische Topologien zur Ausführung
der Signalleitungen finden. Es ergeben sich in vorteilhafter Weise
symmetrische Belastungen insbesondere der Steuer- und Adressleitungen.
-
Damit ist in der Folge das Zeitverhalten
(timing) insbesondere der Steuer- und Adressensignale für entsprechende
Typen von Speichermodulen mit und ohne Fehlerkorrektur eindeutig
bestimmt. Wartezyklen (latencies) zwischen der Übertragung von Steuer- und
Adressensignalen auf den Steuer- und Adressensignalleitungen einerseits
und der Übertragung
von Daten auf Datensignalleitungen andererseits, wie sie etwa von
DDRI-Konzepten beim Betrieb
von Speichermodulen mit Fehlerkorrektur bekannt sind, erübrigen sich.
Bei einem Schreibzyklus mit Wartezyklus werden die Steuer- und Adressensignale
zunächst
zu einem Zwischenspeicher und erst in einem folgenden Zyklus zusammen
mit den um einen Zyklus verzögert
ausgegebenen Datensignalen zu den Datenspeichereinrichtungen übertragen.
Der Wartezyklus verringert insbesondere bei ungeordneten Adres senzugriffen
(random access) die Datenübertragungsrate
im Datenspeichersystem deutlich. Erfindungsgemäß wird also die Leistungsfähigkeit
des Speichermoduls erhöht.
-
Die notwendige Größe des Fehlerdatenspeichers
hängt lediglich
vom Speicherumfang des, Speichermoduls ab. Die Ausführung des
Buffer- und Fehlerkontrollbausteins ist daher in vorteilhafter Weise weit
gehend unabhängig
von der Datenbusbreite der auf dem jeweiligen Speichermodul angeordneten
Datenspeichereinrichtungen.
-
Da ferner der kombinierte Buffer-
und Fehlerkontrollbaustein an die Anforderungen des Speicherkontrollbausteins
des Datenspeichersystems angepasst ist, lassen sich die Anforderung
an den in der Buffer- und Fehlerkontrollbaustein realisierten Fehlerdatenspeicher
etwa bezüglich
der Zugriffszeiten gegenüber
den Nutzdatenspeicher vorteilhaft reduzieren. Damit lässt sich
der Fehlerdatenspeicher beispielsweise in der zur jeweiligen Datenspeichereinrichtung
korrespondierenden Embedded-Technologie ausbilden.
-
Als weiterer Vorteil erweist sich
die einhergehende Entkopplung der Anzahl der Datenbits des Fehlerdatenspeichers
von der Anzahl der Datenbits des Nutzdatenspeichers. So lassen sich
erfindungsgemäß auch ohne
den Nachteil eines nicht vollständig
genutzten oder überdimensionierten
Fehlerdatenspeichers etwa Fehlerkorrekturkonzepte mit 9 Bit Redundanzdaten
realisieren, die bereits eine deutlich effektivere Fehlererkennung
ermöglichen
als solche mit 8 Bit Redundanzdaten. Mit einem Fehlerkorrekturkonzept
mit 12 Bit Redundanzdaten ist dabei für einen Nutzdatenbus von 64
Bit bei Datenspeichereinrichtungen mit 8 Bit Datenbusbreite die
Kompensation fehlerhafter Adressierungsleitungen in den Datenspeichereinrichtungen
bis im Extremfall die Kompensation des Ausfalls einer kompletten
Datenspeichereinrichtung durch das Fehlerkorrekturkonzept möglich.
-
In bevorzugter Weise umfasst der
Buffer- und Fehlerkontrollbaustein neben dem Fehlerdatenspeicher
auch eine Fehlererkennungs- und eine Fehlerkorrektureinheit. In
herkömmlichen
Systemen werden die Redundanzdaten (Fehlerdaten, ECC-Informationen)
in einem dem Speichersystem zugeordneten Speicherkontrollbaustein
ausgewertet. Tritt ein Datenfehler auf, so wird der Datenfehler
in der Speicherkontrolleinrichtung registriert und gegebenenfalls
korrigiert. Dagegen werden erfindungsgemäß eventuell fehlerhafte Daten
bereits auf dem Speichermodul erkannt und fallweise korrigiert.
Da in der Folge deutlich weniger fehlerhafte Daten zwischen dem
Speicherkontrollbaustein und den Speichermodulen übertragen
werden, wird die Datenübertragungsrate
des Datenspeichersystems bezüglich
der Nutzdaten weiter erhöht.
-
Die Fehlerkorrektur auf dem Speichermodul und
eine zusätzliche
unabhängige
Fehlerkorrektur im Speicherkontrollbaustein ermöglichen eine Fehleranalyse
des gesamten Datenspeichersystems. Dies ermöglicht eine Optimierung des
Bussystems zwischen dem Speicherkontrollbaustein und den Speichermodulen.
Ist das Bussystem mittels der Fehleranalyse hinreichend optimiert,
so erübrigt
sich ein den Redundanzdaten zugeordnetes Bussystem zwischen dem
Speicherkontrollbaustein einerseits und den Speichermodulen andererseits.
Nach einer besonders bevorzugten Ausführungsform des erfindungsgemäßen Speichermoduls
weist dieses in vorteilhafter Weise keine Anschlüsse für Redundanzdatenleitungen auf.
Das Führen
(routen) der Leiterbahnen auf einer mit den Speichermodulen bestückbaren
Systemplatine des Datenspeichersystems ist dann durch die geringere
Anzahl von Leiterbahnen vereinfacht.
-
In besonders vorteilhafter Weise
ergibt sich dann auch eine einfache Umrüstung eines Datenspeichersystems
ohne Fehlerkorrektur zu einem Datenspeichersystem mit Fehlerkorrektur.
Die Umrüstung
erfolgt ohne weitere Maßnahmen
an den weiteren Systemkomponenten des Datenspeichersystems allein
durch den Ersatz von Speichermodulen ohne Fehlerkorrektur durch
Speichermodule mit Fehlerkorrektur. Die Systemplatine entspricht
dabei in ihrer Ausbildung einer Systemplatine ohne Vorrichtungen zur
Fehlerkorrektur.
-
Nach einer weiteren bevorzugten Ausführungsform
des erfindungsgemäßen Speichermoduls weist
das Speichermodul eine Möglichkeit
zur Signalisierung eines Datenfehlers auf. Vorteilhafterweise kann
durch eine Auswertung des Datenfehlers in einer höheren Verarbeitungsebene
des Datenspeichersystems ein Speichermodul oder eine Datenspeichereinrichtung
mit gehäuften
Fehlerereignissen erkannt werden. Wiederholt fehlerhafte Datenspeicherbereiche
sind so auszublenden. Durch die einhergehende Minimierung der Anzahl
der Fehlerereignisse wird die Leistungsfähigkeit des Datenspeichersystems
weiter erhöht.
-
Bevorzugt erfolgt das Erkennen und
Ausblenden fehlerhafter Speicherzellen auf dem Speichermodul im
Buffer- und Fehlerkontrollbaustein, der dann eine dazu geeignete
Fehlerauswerteeinheit aufweist.
-
Als Datenspeichereinrichtung sind
alle üblichen
Speicherbausteine möglich. Üblicherweise
sind die Datenspeichereinrichtungen aber als DRAM-Bausteine ausgebildet.
Datenübertragungsraten,
bei denen die Vorteile des erfindungsgemäßen Speichermoduls zum Tragen
kommen, setzen in der Regel DRAMs mit DDR-Schnittstelle voraus.
-
Der erfindungsgemäße Buffer- und Fehlerkontrollbaustein
für in
Datenspeichersystemen betriebene Speichermodule weist ne ben den
erforderlichen Anschlusseinrichtungen und eine in einem Halbleitersubstrat
ausgebildete und zur Konditionierung mindestens von zum und vom
Speichermodul übertragenen
Datensignalen geeignete Buffer/Redriver-Funktionalität ein im
Halbleitersubstrat ausgebildetes Speicherzellenfeld auf, das als
Fehlerdatenspeicher für
Speichermodule betrieben wird. Gemäß einer besonders bevorzugten
Ausführungsform
des erfindungsgemäßen Buffer-
und Fehlerkontrollbausteins weist der Buffer- und Fehlerkontrollbaustein eine
Fehlererkennungseinheit auf. Die Fehlererkennungseinheit bildet
bei einem Empfang von Nutzdaten aus dem Datenspeichersystem einen
den empfangenen Nutzdaten zugeordneten Satz von Redundanzdaten,
der im Speicherzellenfeld des Buffer- und Fehlerkontrollbausteins
abgespeichert wird. Bei einer nachfolgenden Übertragung der Nutzdaten zum
Datenspeichersystem wird in der Fehlererkennungseinheit ein korrespondierender
Satz von Kontrolldaten gebildet und mit den zugeordneten Redundanzdaten verglichen.
Die Fehlererkennungseinheit registriert aus dem Vergleich der abgespeicherten
Redundanzdaten mit den korrespondierenden Kontrolldaten fehlerhafte
Nutzdaten.
-
Bevorzugt ist der erfindungsgemäße Buffer- und
Fehlerkontrollbaustein mit einer Fehlerkorrektureinheit vorgesehen,
die anhand der abgespeicherten Redundanzdaten und der korrespondierenden
Kontrolldaten zur Korrektur der fehlerhaften Nutzdaten nach bekannten
Algorithmen geeignet ist.
-
Nach einer weiteren bevorzugten Ausführungsform
weist der erfindungsgemäße Buffer-
und Fehlerkontrollbaustein eine Fehlersignalisierungseinheit auf.
Information zum Auftreten und zur Art von Datenfehlern, etwa korrigierbare
Einzelbitfehler oder nicht korrigierbare Doppelbitfehler, sind dann
zur Fehleranalyse zu einer weiteren Komponente des Datenspeichersystems übertragbar.
-
Ferner ist es besonders vorteilhaft,
den erfindungsgemäßen Buffer-
und Fehlerkontrollbaustein mit einer Fehlerauswerteeinheit zu versehen.
Die Fehlerauswerteeinheit ist zur Analyse der auf dem Speichermodul
auftretenden Datenfehler und zum Ausblenden als wiederholt fehlerhaft
erkannter Speicherzellen oder Speicherbereiche geeignet. Damit ist in
besonders vorteilhafter Weise die Übertragung fehlerhafter Nutzdaten
beschränkt.
Eine auf die fehlerfreie Übertragung
von Nutzdaten bezogene Datenübertragungsrate
des Datenspeichersystems wird damit weiter erhöht.
-
Das erfindungsgemäßen Verfahren beschreibt den
Betrieb eines erfindungsgemäßen, eine Mehrzahl
von Datenspeichereinrichtungen zur Speicherung von Nutzdaten und
einen Buffer- und Fehlerkontrollbaustein aufweisenden Speichermoduls
in einem Datenspeichersystem. Dabei werden zunächst mittels des Buffer- und Fehlerkontrollbausteins
auf dem Speichermodul Nutzdaten von einer Speicherkontrolleinrichtung
des Datenspeichersystems empfangen und aufbereitet. In der Folge
wird im Buffer- und
Fehlerkontrollbaustein zu den Nutzdaten ein korrespondierender Satz
von Redundanzdaten gebildet. Darauf werden die Nutzdaten in den
Datenspeichereinrichtungen und der korrespondierende Satz von Redundanzdaten
im Buffer- und Fehlerkontrollbaustein abgespeichert. Bei einer späteren Übertragung der
abgespeicherten Nutzdaten aus einer der Datenspeichereinrichtungen
zur Speicherkontrolleinrichtung wird im Buffer- und Fehlerkontrollbaustein ein korrespondierender
Satz von Kontrolldaten gebildet. Durch den Vergleich jeweils korrespondierender
Redundanzdaten und Kontrolldaten werden aufgetretene Datenfehler
in den Nutzdaten erkannt und fallweise korrigiert und schließlich korrigierte
und im Wesentlichen fehlerfreie Nutzdaten zur Speicherkontrolleinrichtung übertragen.
Durch die Verlagerung der Fehlerkorrektur auf das Speichermodul
erhöht
sich die Leistungsfähigkeit
des Daten speichersystems bezüglich
einer fehlerfreien Übertragung
von Nutzdaten.
-
Eine Fehlererkennung und eine Fehlerkorrektur
von auf den Speichermodulen aufgetretenen Datenfehlern erfolgt also
erfindungsgemäß in den Speichermodulen
selbst. Da es sich bei Fehlerereignissen auf Speichermodulen in
der Regel um so genannte Softerrors in DRAM-Speicherzellen handelt, bzw.
um den Ausfall ganzer Bausteine, lassen sich zunächst in vorteilhafter Weise
auf der Systemplatine unnötige
Leitungen bzw. Anschlüsse
für den
redundanten Datenbus vermeiden. Andererseits wird auch die Leistungsfähigkeit
des Systems erhöht,
da keine fehlerhaften Daten zwischen den Speichermodulen und dem
Speicherkontrollbaustein übertragen
werden. Musste die Systemplatine eines Datenspeichersystems bisher
mit einer erweiterten Datenbusbreite vorgesehen und jeweils an ein
Fehlerkorrekturkonzept angepasst sein, so ermöglicht das erfindungsgemäße Verfahren
ein einfaches Aufrüsten
eines Datenspeichersystems allein durch den Austausch von Speichermodulen.
-
Nach einer besonders bevorzugten
Ausführungsform
des erfindungsgemäßen Verfahrens
wird das Auftreten eines Fehlerereignisses an mindestens eine weitere
Komponente des Speichersystems übertragen.
Dort ist eine weitere Auswertung von Fehlerereignissen möglich. So
werden beispielsweise Datenspeichereinrichtungen oder Speichermodule
mit einer hohen Zahl von Fehlerereignissen erkannt. Im Anschluss
kann der betreffende Speicherbereich entweder ausgeblendet werden
oder zum Austausch vorgesehen werden.
-
Erfindungsgemäß betriebene Speichermodule
lassen sich zur Optimierung von Datenspeichersystemen einsetzen.
Dabei wird zunächst
in Vorläufersystemen
zwischen der Speicherkontrolleinrichtung und den Speichermodulen
ein Redundanzbussystem zur Übertragung
weiterer Redundanzdaten vorgesehen. In der Folge wird auf dem Speichermodul
intern eine Fehlerkorrektur wie bereits beschrieben durchgeführt. Zusätzlich wird
die Konsistenz der zwischen den Speichermodulen und der Speicherkontrolleinrichtung übertragenen
Nutzdaten anhand der auf dem Redundanzbussystem übertragenen weiteren Redundanzdaten überprüft. Damit
ist für
jedes Fehlerereignis erkennbar, ob eine Fehlerquelle dem Speichermodul
oder dem Bussystem des Datenspeichersystems zuzuordnen ist. In der
Folge wird das Bussystem des Datenspeichersystems solange überarbeitet,
bis dem Bussystem nur mehr eine tolerierbare Anzahl von Fehlern
zuzuordnen ist.
-
Folgesysteme des Vorläufersystems
werden dann mit dem optimierten Bussystem und bevorzugt ohne das
sich dann erübrigenden
Redundanzbussystem vorgesehen.
-
Nachfolgend wird die Erfindung anhand
von Figuren näher
erläutert,
wobei für
einander entsprechende Komponenten gleiche Bezugszeichen verwendet
werden. Dabei zeigen:
-
1 Eine
schematische Draufsicht auf ein nach einem in herkömmlicher
Weise kombinierten Buffer/Redriver- und Fehlerkorrekturkonzept ausgebildetes
erstes Speichermodul,
-
2 eine
schematische Draufsicht auf ein nach einem in herkömmlicher
Weise kombinierten Buffer/Redriver- und Fehlerkorrekturkonzept ausgebildetes
zweites Speichermodul,
-
3 eine
schematische Draufsicht auf ein erfindungsgemäßes Speichermodul nach einem
ersten Ausführungsbeispiel,
-
4 eine
schematische Draufsicht auf ein nach einem in herkömmlicher
Weise kombinierten Buffer/Redriver- und Fehlerkorrekturkonzept ausgebildetes
drittes Speichermodul und
-
5 eine
schematische Draufsicht auf ein erfindungsgemäßes Speichermodul nach einem zweiten
Ausführungsbeispiel.
-
Das in der 1 dargestellte Speichermodul 1 weist
gemäß JEDEC-Standard
die Abmessungen 1,2 Zoll × 5,25
Zoll auf. Auf mindestens einer der beiden Bestückungsoberflächen des
Speichermoduls 1 sind acht DRAMs 2 als Nutzdatenspeicher
sowie ein weiteres DRAM 3 als Fehlerdatenspeicher vorgesehen.
Das Speichermodul 1 weist ein Feld von Kontakteinrichtungen 10 als
elektrische Schnittstelle zu einer Systemplatine eines Datenspeichersystems
auf. Aus dem Feld von Kontakteinrichtungen 10 wird ein externer
Datenbus 51 sowie ein externer Steuer- und Adressenbus 63 zu
einem Buffer/Redriver-Baustein 4 geführt. Der Buffer/Redriver-Baustein 4 ist
jeweils über
Datensignalleitungen 5 mit den DRAMs 2, 3 verbunden.
Ein interner Steuer- und Adressenbus ist in zwei Zweigen 61, 62 jeweils
zwischen dem Buffer/Redriver-Baustein 4 und den DRAMs 2, 3 geführt.
-
Es ergibt sich für die beiden Zweige 61, 62 des
internen Steuer- und Adressenbusses eine asymmetrische Belastung,
da an den ersten Zweig 61 vier DRAMs 2, an den
zweiten Zweig 62 fünf DRAMs 2, 3 angeschlossen
sind. Dabei gibt das Timing des jeweils langsameren Zweiges 61, 62 des
internen Steuer- und Adressenbusses das Timing des gesamten Speichermoduls 1 vor.
Das Zeitverhalten im zweiten Zeig 62 ist darüber hinaus
davon abhängig,
ob das DRAM 3 zur Fehlerdatenspeicherung bestückt ist.
Darüber
hinaus lässt
sich erkennen, dass ein Führen (routen)
der Datensignalleitungen 5 durch die hohe Bestückungsdichte
des Speichermoduls 1 erheblich erschwert ist.
-
In der 2 ist
eine zweite Möglichkeit
zur Anordnung der DRAMs 2, 3 auf dem Speichermodul 1 angegeben.
Das Problem einer asymmetrischen Verteilung der kapazitiven Lasten
am internen Steuer- und Adressenbus 61, 62 und
eines von der Bestückung
des als Fehlerdatenspeicher vorgesehenen DRAMs 3 abhängigen Timings
bleibt dabei bestehen.
-
In der 3 ist
ein erfindungsgemäßes Speichermodul
dargestellt. Das Führen
von Datensignalleitungen 5 zwischen dem erfindungsgemäß eine Buffer/Redriver-Funktionalität und einen
Fehlerdatenspeicher in einem gemeinsamen Bauteilgehäuse integrierenden
Buffer- und Fehlerkontrollbaustein 7 und den verbleibenden
DRAMs 2 zur Speicherung der Nutzdaten ist allein durch
den Wegfall von Verbindungen zum DRAM 3 zur Fehlerdatenspeicherung
der 1 oder 2 deutlich vereinfacht. An
jedem Zweig 61, 62 des internen Steuer- und Adressenbusses
liegt dieselbe kapazitive Last. Die kapazitive Last ist dabei unabhängig davon,
ob auf dem Speichermodul eine Fehlerkorrektur erfolgt. Das erfindungsgemäße Speichermodul 1 lässt sich
auch mit Fehlerkorrektur mit der selben Datenübertragungsrate bezüglich der
Nutzdaten betreiben wie eines der Speichermodule gemäß der 1 und der 2 ohne Fehlerkorrektur.
-
In der 4 ist
ein herkömmliches
Speichermodul 1 mit zwei Buffer/Redriver-Bausteinen 4, 4' gezeigt. Auch
hier kommt es durch ein bestücktes DRAM 3 zur
Fehlerdatenspeicherung zu einer asymmetrischen Belastung mindestens
in einem der Zweige 61, 61', 62, 62' des internen
Steuer- und Adressenbussystems.
-
In der 5 ist
der Fehlerdatenspeicher auf zwei gleichartige Buffer- und Fehlerkontrollbausteine 7 aufgeteilt.
Beide Buffer- und Fehlerkontrollbausteine 7 enthalten jeweils
dar über
hinaus eine Buffer/Redriver-Funktionalität. Es ergibt sich ein deutlich
vereinfachtes Routen der Datensignalleitungen 5 sowie eine
symmetrische Belastung aller Zweige 61 des Steuer- und
Adressenbusses. Durch die Aufteilung des externen Datenbusses 51, 51' und des externen Steuer-
und Adressenbusses 63, 63' in jeweils zwei Zweige ergibt
sich gegenüber
dem Speichermodul aus der 3 ein
vereinfachtes Routen bezüglich beider
externer Bussysteme zwischen den kombinierten Buffer- und Fehlerkontrollbausteinen 7, 7' und dem Feld
von Kontakteinrichtungen 10.
-
- 1
- Speichermodul
- 10
- Kontakteinrichtungen
- 2
- Datenspeichereinrichtung
für Nutzdaten
- 3
- Datenspeichereinrichtung
für Redundanzdaten
- 4,
4'
- Buffer/Redriver-Baustein
- 5
- Datenleitungen
intern
- 51
- Datenleitungen
extern
- 61,
61'
- Steuer-
und Adressenleitungen intern
- 62,
62'
- Steuer-
und Adressenleitungen intern
- 63
- Steuer-
und Adressenleitungen extern
- 7,
7'
- Buffer-
und Fehlerkontrollbaustein