DE102005043547B4 - Speichermodul, Speichervorrichtung und Verfahren zum Betreiben einer Speichervorrichtung - Google Patents
Speichermodul, Speichervorrichtung und Verfahren zum Betreiben einer Speichervorrichtung Download PDFInfo
- Publication number
- DE102005043547B4 DE102005043547B4 DE102005043547A DE102005043547A DE102005043547B4 DE 102005043547 B4 DE102005043547 B4 DE 102005043547B4 DE 102005043547 A DE102005043547 A DE 102005043547A DE 102005043547 A DE102005043547 A DE 102005043547A DE 102005043547 B4 DE102005043547 B4 DE 102005043547B4
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- memory module
- read
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Speichermodul,
umfassend:
einen Speicherkern (120) vom Schreib-Lese-Typ,
eine erste Eingangsschnittsstelle (111), um Schreib- oder Befehlsdaten aus einer Vorwärtsrichtung zu empfangen,
eine erste Ausgangsschnittstelle (112), um Lesedaten in einer Rückwärtsrichtung zu senden,
eine zweite Eingangsschnittstelle (114), um Lesedaten aus der Rückwärtsrichtung zu empfangen, und
eine zweite Ausgangsschnittstelle (115), um Schreib- oder Befehlsdaten in der Vorwärtsrichtung zu senden,
wobei für die Vorwärtsrichtung und für die Rückwärtsrichtung unterschiedliche Übertragungswege vorgesehen sind, und
wobei das Speichermodul dazu ausgestaltet ist, darüber hinaus:
– über die erste Eingangsschnittstelle (111) Lesedaten aus der Vorwärtsrichtung zu empfangen,
– über die erste Ausgangsschnittstelle (112) Schreib- oder Befehlsdaten in der Rückwärtsrichtung zu senden,
– über die zweite Eingangsschnittstelle (114) Schreib- oder Befehlsdaten aus der Rückwärtsrichtung zu empfangen,
– über den zweite Ausgangsschnittstelle (115) Lesedaten in der Vorwärtsrichtung zu senden, und
wobei das Speichermodul ausgestaltet ist zur Verarbeitung sowohl...
einen Speicherkern (120) vom Schreib-Lese-Typ,
eine erste Eingangsschnittsstelle (111), um Schreib- oder Befehlsdaten aus einer Vorwärtsrichtung zu empfangen,
eine erste Ausgangsschnittstelle (112), um Lesedaten in einer Rückwärtsrichtung zu senden,
eine zweite Eingangsschnittstelle (114), um Lesedaten aus der Rückwärtsrichtung zu empfangen, und
eine zweite Ausgangsschnittstelle (115), um Schreib- oder Befehlsdaten in der Vorwärtsrichtung zu senden,
wobei für die Vorwärtsrichtung und für die Rückwärtsrichtung unterschiedliche Übertragungswege vorgesehen sind, und
wobei das Speichermodul dazu ausgestaltet ist, darüber hinaus:
– über die erste Eingangsschnittstelle (111) Lesedaten aus der Vorwärtsrichtung zu empfangen,
– über die erste Ausgangsschnittstelle (112) Schreib- oder Befehlsdaten in der Rückwärtsrichtung zu senden,
– über die zweite Eingangsschnittstelle (114) Schreib- oder Befehlsdaten aus der Rückwärtsrichtung zu empfangen,
– über den zweite Ausgangsschnittstelle (115) Lesedaten in der Vorwärtsrichtung zu senden, und
wobei das Speichermodul ausgestaltet ist zur Verarbeitung sowohl...
Description
- Die vorliegende Erfindung betrifft ein Speichermodul, eine Speichervorrichtung und ein Verfahren zum Betreiben einer Speichervorrichtung. Die Erfindung betrifft insbesondere Speichervorrichtungen vom Schreib-Lese-Typ, welche beispielsweise in Computersystemen als RAM-Speicher (Random Access Memory) eingesetzt werden.
- Derzeit ist es üblich, bei Schreib-Lese-Speichern oder RAM-Speichern für Computersysteme Speichervorrichtungen zu verwenden, welche ein oder mehrere Speichermodule umfassen und über eine Speichersteuerung mit den übrigen Komponenten des Computersystems kommunizieren. Beispielsweise können so genannte DIMM-Speichermodule (Dual-In-Line Memory Modules) vom Fully-Buffered-Typ verwendet werden. In diesem Fall besitzt jedes Speichermodul neben einem Speicherkern einen so genannten Advanced Memory Buffer (AMB). Der AMB stellt eine Verbindung zu einer Speichersteuerung bzw. zu einem Memory-Controller her. Der AMB dekodiert aus einem seriellen Datenstrom zwischen der Speichersteuerung und dem Speichermodul Befehle und Schreibdaten und leitet diese über eine Speicherschnittstelle an den Speicherkern weiter. Umgekehrt kann der AMB Daten aus dem Speicherkern in serielle Datenpakete umwandeln. Weiterhin umfasst der AMB eine Durchleitungs-Logik oder Passthrough-Logik, mittels welcher Schreib- oder Befehlsdaten durch das Speichermodul „hindurchgeleitet" werden können, welche für ein anderes Speichermodul bestimmt sind. Darüber hinaus ist bei Lesebefehlen vorgesehen, mittels einer Einfügungs-Logik bzw. Merging-Logik, Lesedaten aus dem Speicherkern des Speichermoduls zu Datenpaketen zusammenzusetzen.
- Für die Datenübertragung wird ein spezielles Protokoll verwendet, welches auf zwei unterschiedlichen Arten von Datenrahmen beruht: Über eine 10 Bit Breite Southbound-Verbindung (Southbound Link) gelangen Datenrahmen mit Schreib- oder Befehlsdaten zu den Speichermodulen und über eine 14 Bit Breite Northbound-Verbindung (Northbound Link) empfängt die Speichersteuerung Antwort- bzw. Response-Datenrahmen von den Speichermodulen. Hierfür sind an der Speichersteuerung und an den Speichermodulen jeweils spezielle Eingangs- und Ausgangsschnittstellen vorgesehen. Die Southbound-Verbindung dient der Übertragung von Daten von der Speichersteuerung zu dem Speichermodul in einer Vorwärtsrichtung, während die Northbound-Verbindung der Übertragung von den Speichermodulen zu der Speichersteuerung in einer Rückwärtsrichtung dient.
- Wenn die Speichervorrichtung mehrere Speichermodule umfasst, werden diese kettenartig aneinandergereiht, wobei sowohl für die Southbound-Verbindung als auch für die Northbound-Verbindung jeweils eine Eingangs- und eine Ausgangs-Schnittstelle von benachbarten Speichermodulen miteinander verbunden sind. Auf diese Weise können Schreib- oder Befehlsdaten über die Southbound-Verbindung in der Vorwärtsrichtung von einem Speichermodul zu dem nächsten übertragen werden, während Lesedaten über die Northbound-Verbindung von einem Speichermodul zu dem nächsten übertragen werden, jedoch in der umgekehrten Richtung wie bei der Southbound-Verbindung, d. h. in der Rückwärtsrichtung.
- Hierbei ergibt sich als Problem, dass die Speichervorrichtung äußerst empfindlich ist gegenüber einer Funktionsstörung des AMB eines der Speichermodule. Insbesondere versagt in diesem Fall nicht nur die Datenübertragung zu dem Speichermodul mit dem gestörten AMB, sondern auch zu allen Speichermodulen, welche sich bezüglich dieses Speichermoduls in der Vorwärtsrichtung befinden. In diesen Speichermodulen gespeicherte Daten sind nicht mehr zugänglich und damit praktisch verloren.
- Darüber hinaus besteht bei der bekannten kettenartigen Anordnung das Problem einer hohen Latenzzeit für diejenigen Speichermodule, welche von der Speichersteuerung am weitesten entfernt sind. So addieren sich für ein Speichermodul, welches in der Kette an n-ter Stelle angeordnet ist, die Latenzen von n Punkt-zu-Punkt-Verbindungen. Weiterhin ist die Bandbreite für die Datenübertragung begrenzt. Um eine bestimmte Bandbreite für die Datenübertragung zu gewährleisten, sind bei einer Speichervorrichtung mit n Speichermodulen n Hochgeschwindigkeitsverbindungen aktiv. In der Vorwärtsrichtung übertragene Datenrahmen werden durch die gesamte Kette übertragen, auch wenn ihr Bestimmungsort das erste Speichermodul der Kette ist. Hieraus ergibt sich eine hohe Leistungsaufnahme.
- Darüber hinaus ist es bei den bekannten Speichervorrichtungen mit Fully-Buffered-DIMM-Speichermodulen nur eingeschränkt möglich, ein Speichermodul während des Betriebs der Speichervorrichtung zu entfernen oder zu ersetzen. Wenn beispielsweise das erste Speichermodul der Kette, welches der Speichersteuerung am nächsten ist, ersetzt werden soll, müssen alle Speichermodule der kettenartigen Anordnung deaktiviert werden und die Daten anderweitig gespeichert werden.
- Die
EP 1 429 340 A2 beschreibt ein Speichersystem mit einer Zweiwege-Ringtopologie sowie eine entsprechend ausgestaltete Speichervorrichtung und darin zu verwendenden Speichermodule. Bei der Ringtopologie sind eine Vielzahl von Speichermodulen über Buffer kettenartig miteinander verbunden. Die kettenartige Anordnung von Speichermodulen ist mit einer Speichersteuerung verbunden, und zwar derart, dass das erste Speichermodul der kettenartigen Anordnung und das letzte Speichermodul der kettenartigen Anordnung mit der Speichersteuerung verbunden sind. Für Datensignale und Befehlssignale sind entgegengesetzte Durchlaufrichtungen durch die Ringtopologie vorgesehen. Zur Verbindung zwischen den Speichermodulen und der Speichersteuerung sind multifunktionale Signalleitungen vorgesehen, welche für sowohl die Datensignale als auch die Steuersignale genutzt werden. Unabhängig von der Durchlaufrichtung laufen die Signale über dieselben Signalleitungen, wobei in den Speichermodulen und in der Speichersteuerung zur Verbindung mit den Signalleitungen bidirektionale Buffer vorgesehen sind. - Die
US 2005/0024963 A1 beschreibt ein Halbleiterspeichermodul zum Einsatz in DRAM-Speichervorrichtungen. Das Speichermodul ist derart ausgestaltet, dass Laufzeitdifferenzen für Befehls- und Addressignale und für Schreib-/Lesedaten innerhalb eines Speichermoduls kompensiert werden. Hierfür wird vorgeschlagen, einen Bufferchip des Speichermoduls schleifenartig mit Speicherchips des Speichermoduls zu verbinden. - Die
US 2004/0158675 A1 beschreibt ein Speichersystem und ein Steuerverfahren für das Speichersystem. Bei dem Speichersystem ist vorgesehen, einzelne Speichermodule in einer Ringanordnung anzuordnen, wobei zur Verbindung der Speichermodule und der Speichersteuerung zu einer Ringanordnung ein unidirektionaler Bus vorgesehen ist. Für den Fall, dass eines der Speichermodule ausgetauscht werden soll, ist vorgesehen, den unidirektionalen Bus zu einem bidirektionalen Bus umzuschalten, um weiterhin auf die übrigen Speichermodule zugreifen zu können. - In „DDR2 SDRAM FBDIMM Data Sheet, Preliminary Information Rev. 4/05 EN, Micron Technology, 8000 S. Federal Way, P.O. Box 6, Boise, USA, 2004" ist ein Speichermodul vom Fully-Buffered-Typ beschrieben.
- Aufgabe der vorliegenden Erfindung ist es, die Möglichkeit zu schaffen, die oben beschriebenen Probleme zu vermeiden und die Zuverlässigkeit für eine Speichervorrichtung zu erhöhen.
- Diese Aufgabe wird gelöst durch ein Speichermodul gemäß Anspruch 1, eine Speichervorrichtung gemäß Anspruch 7, durch ein Verfahren zum Betreiben einer Speichervorrichtung gemäß Anspruch 12 und durch eine Speichersteuerung gemäß Anspruch 22. Die abhängigen Ansprüche definieren bevorzugte und vorteilhafte Ausführungsformen der Erfindung.
- Gemäß dem erfindungsgemäßen Ansatz ist eine neuartige Speichertopologie vorgesehen, bei welcher eine Speichersteuerung und mindestens ein Speichermodul eine geschlossene Ringanordnung bilden, in welcher Daten sowohl in einer Vorwärtsrichtung als auch in einer Rückwärtsrichtung übertragen werden können.
- Hierfür schlägt die Erfindung ein Speichermodul vor, welches einen Speicherkern zum Lesen und Schreiben von Daten, eine erste Eingangsschnittstelle, um Schreib- oder Befehlsdaten aus einer Vorwärtsrichtung zu empfangen, eine erste Ausgangsschnittstelle, um Lesedaten in einer Rückwärtsrichtung zu senden, eine zweite Eingangsschnittstelle, um Lesedaten aus der Rückwärtsrichtung zu empfangen, und eine zweite Ausgangsschnittstelle, um Schreib- oder Befehlsdaten in der Vorwärtsrichtung zu senden, umfasst. Somit ist das erfindungsgemäße Speichermodul in der Lage, Schreib- oder Befehlsdaten von einer Speichersteuerung aus der Vorwärtsrichtung zu empfangen und Lesedaten in der Rückwärtsrichtung an die Speichersteuerung zu senden.
- Erfindungsgemäß ist darüber hinaus vorgesehen, dass das Speichermodul dazu ausgestaltet ist, über die erste Eingangsschnittstelle Lesedaten aus der Vorwärtsrichtung zu empfangen, über die erste Ausgangsschnittstelle Schreib- oder Befehlsdaten in der Rückwärtsrichtung zu senden, über die zweite Eingangsschnittstelle Schreib- oder Befehlsdaten aus der Rückwärtsrichtung zu empfangen und über die zweite Ausgangsschnittstelle Lesedaten in der Vorwärtsrichtung zu senden. Es ist daher möglich, Schreib- oder Befehlsdaten und Lesedaten an das bzw. von dem Speichermodul sowohl in der Vorwärts- als auch in der Rückwärtsrichtung zu übertragen.
- Da über die Eingangs- und Ausgangsschnittstellen sowohl Schreib- oder Befehlsdaten als auch Lesedaten übertragen werden, sind die beiden Eingangsschnittstellen sowie die beiden Ausgangsschnittstellen vorzugsweise identisch ausgestaltet. Darüber hinaus wird vorzugsweise für die Schreib- oder Befehlsdaten und für die Lesedaten eine rahmenbasierte Datenübertragung mit einem einzigen identischen Rahmenformat verwendet.
- Bei dem erfindungsgemäßen Speichermodul sind zwei unterschiedliche Arten von Lesebefehl vorgesehen. Ein Lesebefehl wird in dem Speichermodul entweder aus der Vorwärtsrichtung oder aus der Rückwärtsrichtung empfangen. Das Speichermodul erzeugt dann abhängig von Speicherinhalten seines Speicherkerns Lesedaten, welche vorzugsweise in einen von dem Speichermodul empfangenen Datenrahmen eingefügt werden, wobei in diesem Datenrahmen nicht mehr benötigte Daten überschrieben werden können. So können in einem empfangenen Datenrahmen beispielsweise Schreibdaten enthalten sein, welche bereits in einem anderen Speichermodul abgespeichert wurden und daher mit den Lesedaten überschrieben werden können. Der Datenrahmen mit den eingefügten Lesedaten wird dann in der Richtung gesendet, aus welcher er empfangen wurde.
- Bei einem ersten Typ von Lesebefehl werden die Lesedaten in derselben Richtung gesendet, aus welcher der Lesebefehl in dem Speichermodul empfangen wurde. Bei einem zweiten Typ von Lesebefehl werden die Lesedaten in der anderen Richtung gesendet als diejenige, aus welcher der Lesebefehl empfangen wurde. Während die zuletzt genannte Variante des Lesebefehls eine Variable Latenzzeit aufweist, welche mit dem Abstand des Speichermoduls von der Speichersteuerung, d. h. mit der Anzahl von zwischen dem Speichermodul und der Speichersteuerung angeordneten weiteren Speichermodulen, zunimmt, bietet die zuerst genannte Variante eine von der Position des Speichermoduls unabhängige Latenzzeit.
- Darüber hinaus ist das erfindungsgemäße Speichermodul vorzugsweise dazu ausgestaltet, bei Empfang eines entsprechenden Konfigurationsbefehls entweder die erste Eingangsschnittstelle und die erste Ausgangsschnittstelle oder die zweite Eingangsschnittstelle und die zweite Ausgangsschnittstelle zu deaktivieren, so dass die Übertragung von Schreib- oder Befehlsdaten entweder nur in der Vorwärts- oder der Rückwärtsrichtung möglich ist und die Übertragung von Lesedaten entweder nur in der Rückwärts- oder der Vorwärtsrichtung möglich ist. Diese Betriebsweise ist vorgesehen, wenn die Ringanordnung unterbrochen wird, beispielsweise bei Ausfall eines Speichermoduls oder bei Entfernen oder Ersetzen eines Speichermoduls.
- Wie bereits erwähnt, sind bei der erfindungsgemäßen Speichervorrichtung mindestens ein erfindungsgemäßes Speichermodul und eine Speichersteuerung in einer geschlossenen Ringanordnung miteinander gekoppelt, so dass Schreib- oder Befehlsdaten und Lesedaten sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung übertragen werden können. Auf diese Weise wird die Zuverlässigkeit erhöht, da bei einer Störung oder Unterbrechung der Übertragung für eine der Richtungen eine Übertragung nach wie vor über die andere Richtung möglich ist. Weiterhin wird eine erhöhte Bandbreite gewährleistet, da sowohl für Schreib- oder Befehlsdaten als auch für Lesedaten jeweils zwei unterschiedliche Übertragungswege zur Verfügung stehen.
- Besonders vorteilhaft ist es, wenn die Speichervorrichtung mehrere der Speichermodule umfasst, welche in einer Reihenanordnung gekoppelt sind. In diesem Fall gewährleistet die geschlossene Ringanordnung von Speichersteuerung und Speichermodulen, dass im Normalbetrieb jedes der Speichermodule für Schreib- oder Befehlsdaten und für Lesedaten sowohl aus der Vorwärtsrichtung als auch aus der Rückwärtsrichtung zugänglich ist. Daher bleiben auch dann, wenn für eines der Speichermodule eine der Eingangsschnittstellen, eine der Ausgangsschnittstellen oder alle Eingangs- und Ausgangsschnittstellen ausfällt oder wenn das gesamte Speichermodul ausfällt, die übrigen Speichermodule für Lese- und Schreibzugriffe zugänglich. Weiterhin ist es möglich, eines der Speichermodule in der Reihenanordnung während des Betriebs der Speichervorrichtung zu entfernen, beispielsweise um das Speichermodul zu ersetzen, oder ein Speichermodul in die Reihenanordnung einzufügen, ohne dass hierfür der Betrieb der übrigen Speichermodule unterbrochen werden müsste.
- Darüber hinaus gewährleistet der erfindungsgemäße Ansatz für eine gegebene Bandbreite eine geringere Leistungsaufnahme. Wenn beispielsweise eine Speichervorrichtung gemäß dem Stand der Technik acht Speichermodule umfasst, wobei jede Punkt-zu-Punkt-Verbindung zwischen benachbarten Speichermodulen eine bestimmte Leistungsaufnahme verursacht, beträgt die gesamte Leistungsaufnahme für die Speichervorrichtung das Achtfache dieser Leistungsaufnahme. Bei dem erfindungsgemäßen Ansatz ist lediglich eine zusätzliche Punkt-zu-Punkt-Verbindung (bestehend aus einer Verbindung für die Vorwärtsrichtung und einer Verbindung für die Rückwärtsrichtung) erforderlich, um die Ringanordnung zu schließen. Die Leistungsaufnahme würde somit das Neunfache der Leistungsaufnahme für eine Punkt-zu-Punkt-Verbindung betragen. Da sich wie bereits erwähnt jedoch gleichzeitig die Bandbreite verdoppelt, wird eine erheblich geringere bandbreitenbezogene Leistungsaufnahme erreicht. Bei dem oben dargestellten Beispiel mit acht Speichermodulen würde die Reduktion der bandbreitenbezogenen Leistungsaufnahme ca. 44% betragen.
- Unter Bezugnahme auf die beigefügten Zeichnungen wird die vorliegende Erfindung nun anhand eines bevorzugten Ausführungsbeispiels näher erläutert.
-
1 zeigt schematisch eine Speichervorrichtung gemäß einem Ausführungsbeispiel der Erfindung. -
2 veranschaulicht einen ersten Typ von Lesevorgang bei der in1 dargestellten Speichervorrichtung. -
3 veranschaulicht einen zweiten Typ von Lesevorgang bei der in1 dargestellten Speichervorrichtung. -
4 veranschaulicht einen Schreibvorgang bei der in1 dargestellten Speichervorrichtung. -
5 veranschaulicht ein Entfernen oder Ersetzen eines Speichermoduls bei der in1 dargestellten Speichervorrichtung. - Nachfolgend wird eine Speichervorrichtung beschrieben, welche beispielsweise in einem Computersystem als Schreib-Lese-Speicher bzw. RAM-Speicher einsetzbar ist.
1 zeigt eine schematische Darstellung der Speichervorrichtung. - Die Speichervorrichtung umfasst mehrere Speichermodule
100a ,100b ,100c ,100d , welche in einer Reihenanordnung miteinander gekoppelt sind. Ein erstes Speichermodul100a und ein letztes Speichermodul100d der Reihenanordnung sind jeweils mit einer Speichersteuerung200 gekoppelt, so dass eine geschlossene Ringanordnung ausgebildet ist. - Nachfolgend soll zunächst der Aufbau der Speichermodule
100a ,100b ,100c ,100d erläutert werden. Dies geschieht anhand des Speichermoduls100a , wobei die Speichermodule100b ,100c und100d identisch zu dem Speichermodul100a aufgebaut sind. - Das Speichermodul
100a umfasst einen Speicherkern120 zum Lesen und Schreiben von Daten. Es kann sich beispielsweise um einen oder mehrere Speicherbausteine vom Double-Data-Rate-Typ (DDR-Typ) handeln. Speziell können Speicherbausteine vom so genannten DDR2-Typ oder DDR3-Typ oder vergleichbare Speicherbausteine verwendet werden. In dem Speicherkern120 können Daten wiederholt gespeichert und ausgelesen werden, d. h. es handelt sich um einen Speicher vom so genannten RAM-Typ. - Weiterhin umfasst das Speichermodul einen Schnittstellenblock
110 , welcher eine erste Eingangsschnittstelle111 , eine erste Ausgangsschnittstelle112 , eine zweite Eingangsschnittstelle114 und eine zweite Ausgangsschnittstelle115 bereitstellt. Die erste Eingangsschnittstelle111 dient dazu, Schreib- oder Befehlsdaten aus einer Vorwärtsrichtung von der Speichersteuerung200 zu empfangen. Die erste Ausgangsschnittstelle112 dient dazu, Lesedaten in einer Rückwärtsrichtung an die Speichersteuerung200 zu senden. Die zweite Eingangsschnittstelle114 dient dazu, Lesedaten aus der Rückwärtsrichtung empfangen und die zweite Ausgangsschnittstelle115 dient dazu, Schreib- oder Befehlsdaten in der Vorwärtsrichtung zu senden. - Die Eingangs- und Ausgangsschnittstellen
111 ,112 ,114 ,115 sind jedoch nicht auf einen speziellen Datentyp beschränkt sondern sowohl für Schreib- oder Befehlsdaten als auch für Lesedaten einsetzbar. So können über die erste Eingangsschnittstelle111 auch Lesedaten von einem in der Rückwärtsrichtung benachbarten Speichermodul empfangen werden und mittels der ersten Ausgangsschnittstelle112 Schreib- oder Befehlsdaten an ein in der Rückwärtsrichtung benachbartes Speichermodul gesendet werden. Ebenso können über die zweite Eingangsschnittstelle114 Schreib- und Befehlsdaten von einem in der Vorwärtsrichtung benachbarten Speichermodul oder von der Speichersteuerung200 empfangen werden und über die zweite Ausgangsschnittstelle115 Lesedaten an ein in der Vorwärtsrichtung benachbartes Speichermodul oder die Speichersteuerung200 gesendet werden. - Die erste und die zweite Ausgangsschnittstelle umfassen jeweils einen Leitungstreiber
113 bzw.116 , welcher die Daten, d. h. die Schreib- oder Befehlsdaten oder die Lesedaten, in einem rahmenbasierten Übertragungsformat ausgibt. Für die Schreib- oder Befehlsdaten und für die Lesedaten werden dabei Datenrahmen mit demselben Rahmenformat verwendet. Abgesehen von der Richtung der Datenübertragung sind die erste Eingangsschnittstelle111 und die zweite Eingangsschnittstelle114 sowie die erste Ausgangsschnittstelle112 und die zweite Ausgangsschnittstelle115 identisch ausgestaltet. - Mittels eines Multiplexers
118 können entweder Schreib- oder Befehlsdaten von der ersten Eingangsschnittstelle111 oder Schreib- oder Befehlsdaten von der zweiten Eingangsschnittstelle114 an den Speicherkern120 weitergeleitet werden. Weiterhin werden über die erste Eingangsschnittstelle111 empfangene Datenrahmen an die zweite Ausgangsschnittstelle116 weitergeleitet und über die zweite Eingangsschnittstelle114 empfangene Datenrahmen werden an die erste Ausgangsschnittstelle112 weitergeleitet. In den Leitungstreibern113 und116 werden abhängig von Speicherinhalten des Speicherkerns120 erzeugte Lesedaten in die Datenrahmen eingefügt, bevor diese in der Rückwärtsrichtung bzw. in der Vorwärtsrichtung gesendet werden. Dabei wird sichergestellt, dass keine noch benötigten Daten versehentlich überschrieben werden. - Bei der in
1 dargestellten Speichervorrichtung umfasst die Speichersteuerung200 eine erste Eingangsschnittstelle201 , um Lesedaten aus der Rückwärtsrichtung von den Speichermodulen100a ,100b ,100c ,100d zu empfangen, und eine erste Ausgangsschnittstelle202 , um Schreib- oder Befehlsdaten in der Vorwärtsrichtung an die Speichermodule100a ,100b ,100c ,100d zu senden. Weiterhin umfasst die Speichersteuerung200 eine zweite Eingangsschnittstelle104 , um Lesedaten aus der Vorwärtsrichtung von den Speichermodulen100a ,100b ,100c ,100d zu empfangen, und eine zweite Ausgangsschnittstelle, um Schreib- oder Befehlsdaten in der Rückwärtsrichtung an die Speichermodule100a ,100b ,100c ,100d zu senden. - Die erste Eingangsschnittstelle
111 des ersten Speichermoduls100a ist mit der ersten Ausgangsschnittstelle202 der Speichersteuerung200 gekoppelt, um Daten in der Vorwärtsrichtung zu übertragen. Die erste Ausgangsschnittstelle112 des ersten Speichermoduls100a ist mit der ersten Eingangsschnittstelle der Speichersteuerung200 gekoppelt, um Daten in der Rückwärtsrichtung zu übertragen. Das Speichermodul100d ist das letzte Speichermodul der Reihenanordnung von Speichermodulen. Die zweite Eingangsschnittstelle des letzten Speichermoduls100d ist mit der zweiten Ausgangsschnittstelle205 der Speichersteuerung200 gekoppelt, um Daten in der Rückwärtsrichtung zu übertragen. Die zweite Ausgangsschnittstelle des letzten Speichermoduls100d ist mit der zweiten Eingangsschnittstelle204 der Speichersteuerung200 gekoppelt, um Daten in der Vorwärtsrichtung zu übertragen. Für die übrigen Speichermodule100b ,100c ist die erste Eingangsschnittstelle111 mit der zweiten Ausgangsschnittstelle115 eines in der Rückwärtsrichtung benachbarten Speichermoduls100a ,100b gekoppelt, um Daten in der Vorwärtsrichtung zu übertragen, die erste Ausgangsschnittstelle112 mit der zweiten Eingangsschnittstelle114 des in der Rückwärtsrichtung benachbarten Speichermoduls100a ,100b gekoppelt, um Daten in der Rückwärtsrichtung zu übertragen, die zweite Eingangsschnittstelle114 mit der ersten Ausgangsschnittstelle112 eines in der Vorwärtsrichtung benachbarten Speichermoduls100c ,100d gekoppelt, um Daten in der Rückwärtsrichtung zu übertragen, und die zweite Ausgangsschnittstelle115 mit der ersten Eingangsschnittstelle111 des in der Vorwärtsrichtung benachbarten Speichermoduls100c ,100d gekoppelt, um Daten in der Vorwärtsrichtung zu übertragen. Die Speichersteuerung200 und die Speichermodule100a ,100b ,100c ,100d bilden somit eine geschlossene Ringanordnung, in welcher Schreib- oder Befehlsdaten und Lesedaten sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung zwischen der Speichersteuerung200 und jedem der Speichermodule100a ,100b ,100c ,100d übertragen werden können. - Der in
1 dargestellte Aufbau für die Speichervorrichtung mit der entsprechenden Struktur der Speichermodule100a ,100b ,100c ,100d und der Speichersteuerung200 bietet die folgenden Vorteile: – Eine Funktionsstörung oder ein Ausfall des Schnittstellenblocks110 bei einem der Speichermodule100a ,100b ,100c ,100d bewirkt keinen Ausfall der gesamten Speichervorrichtung. Vielmehr bleiben bezüglich des gestörten Speichermoduls in der Rückwärtsrichtung angeordnete Speichermodule für die Speichersteuerung200 nach wie vor aus der Vorwärtsrichtung zugänglich. Gleichermaßen bleiben bezüglich des gestörten Speichermoduls in der Vorwärtsrichtung angeordnete Speichermodule für die Speichersteuerung200 aus der Rückwärtsrichtung zugänglich. - Ferner wird die Latenzzeit im Vergleich zu einer herkömmlichen kettenförmigen Anordnung von Speichermodulen begrenzt. So kann für den Zugriff auf eines der Speichermodule
100a ,100b ,100c ,100d der jeweils kürzere Datenpfad von der Speichersteuerung200 ausgewählt werden. Da für Schreib- oder Befehlsdaten und für Lesedaten jeweils zwei Datenpfade zur Verfügung stehen, wird die Bandbreite für die Datenübertragung effektiv verdoppelt. - Die Anzahl von Punkt-zu-Punkt-Verbindungen, welche für die geschlossene Ringanordnung erforderlich ist, ist im Vergleich zu einer herkömmlichen kettenartigen Anordnung nur um eine zusätzliche Punkt-zu-Punkt-Verbindung zwischen dem letzten Speichermodul
100d der Reihenanordnung und der Speichersteuerung200 erhöht, so dass die Verdoppelung der Bandbreite keine entsprechend erhöhte Leistungsaufnahme bedeutet oder umgekehrt bei gleicher Bandbreite die Leistungsaufnahme deutlich reduziert ist. - Weiterhin ist es möglich, während des Betriebs der Speichervorrichtung eines der Speichermodule
100a ,100b ,100c ,100d zu entfernen, ohne dass hierfür der Betrieb der übrigen Speichermodule ausgesetzt werden müsste. Es ist somit zum Ersetzen eines der Speichermodule100a ,100b ,100c ,100d nicht erforderlich, die gesamte Speichervorrichtung zu deaktivieren. Es genügt, ein einzelnes Ersatz-Speichermodul bereitzustellen, um während des Ersetzungsvorgangs die Funktion des zu ersetzenden Speichermoduls zu übernehmen, so dass die Kapazität der Speichervorrichtung nicht beeinträchtigt wird. Beispielsweise können die Daten des zu ersetzenden Speichermoduls vorübergehend in den übrigen Speichermodulen der Speichervorrichtung gespeichert werden. Eine vollständige Ersatz-Speichervorrichtung ist nicht erforderlich. Hierdurch werden die Kosten für das System, die Leistungsaufnahme und der Platzbedarf auf einer Systemplatine reduziert. - Nachfolgend sollen die wesentlichen Vorgänge beim Betreiben der Speichervorrichtung beispielhaft erläutert werden.
-
2 veranschaulicht einen Lesevorgang eines ersten Typs bei der in1 dargestellten Speichervorrichtung. Bei dem Lesevorgang sendet die Speichersteuerung200 mit den Schreib- oder Befehlsdaten einen ersten Typ von Lesebefehl an das für den Lesevorgang vorgesehene Speichermodul, bei diesem Beispiel das Speichermodul100a . Der Schnittstellenblock110 des Speichermoduls100a leitet den empfangenen Lesebefehl an den Speicherkern120 , welcher abhängig von darin gespeicherten Speicherinhalten Lesedaten erzeugt, welche von dem Speichermodul100a in derselben Richtung gesendet werden, aus welcher auch der Lesebefehl empfangen wurde. Der entsprechende Datenfluss ist in2 durch hervorgehobene Pfeile mit größerer Linienbreite veranschaulicht, wobei gestrichelte Pfeile Befehlsdaten CMD veranschaulichen und geschlossen dargestellte Peile die erzeugten Lesedaten RD veranschaulichen. - Bei dem ersten Typ von Lesebefehl werden die erzeugten Lesedaten RD so schnell wie möglich in einen Datenrahmen eingefügt, welcher in derselben Richtung durch das Speichermodul
100a übertragen wird, wie der Datenrahmen, in welchem der Lesebefehl enthalten war. Der Schnittstellenblock110 gewährleistet dabei, dass keine in diesem Datenrahmen übertragenen Daten versehentlich überschrieben werden. Die Möglichkeit, Daten in dem Datenrahmen zu überschreiben, kann jedoch auch verwendet werden, um die Lesedaten RD mit einer höheren Priorität zu übertragen. -
3 veranschaulicht einen zweiten Typ von Lesevorgang bei der in1 dargestellten Speichervorrichtung. Der Datenfluss ist wiederum durch hervorgehobene Pfeile veranschaulicht, wobei gestrichelte Pfeile die Befehlsdaten CMD veranschaulichen, während durchgezogene Pfeile die Lesedaten RD veranschaulichen. - Bei dem zweiten Typ von Lesevorgang sendet die Speichersteuerung
200 einen zweiten Typ von Lesebefehl an das für den Lesevorgang vorgesehene Speichermodul, bei dem in3 dargestellten Beispiel das Speichermodul100d . Der Lesebefehl wird an den Speicherkern120 weitergeleitet, welcher abhängig von darin gespeicherten Speicherdaten Lesedaten RD erzeugt, welche von dem Speichermodul100d in der anderen Richtung gesendet werden als diejenige, aus welcher der Lesebefehl empfangen wurde. - Bei Empfang des zweiten Typs von Lesebefehl fügt der Schnittstellenblock
110 die erzeugten Lesedaten RD so schnell wie möglich in einen Datenrahmen ein, welcher von dem Speichermodul100d aus der anderen Richtung empfangen wurde als derjenige Datenrahmen, mit welchem der Lesebefehl übertragen wurde. Auch hier gewährleistet der Schnittstellenblock110 , dass in dem Datenrahmen keine Daten versehentlich überschrieben werden. Die Möglichkeit, Daten zu überschreiben, kann jedoch auch verwendet werden, um die Lesedaten RD mit einer höheren Priorität zu übertragen. - Die in
2 und3 dargestellten Lesevorgänge sind lediglich beispielhaft angegeben. Es versteht sich, dass für jeden der beiden Typen von Lesevorgängen, der Lesebefehl sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung an das für den Lesevorgang vorgesehene Speichermodul übertragen werden kann. Weiterhin kann jedes der Speichermodule100a ,100b ,100c ,100d durch beide Typen von Lesebefehlen ausgelesen werden. - Bei dem in
3 veranschaulichten zweiten Typ von Lesebefehl ist es aus Gründen einer kürzeren Latenzzeit jedoch bevorzugt, die Speichermodule100a ,100b der in der Vorwärtsrichtung ersten Hälfte der Reihenanordnung mit einem Lesebefehl auszulesen, welcher in der Vorwärtsrichtung übertragen wird, während die Speichermodule100c ,100d der in der Vorwärtsrichtung zweiten Hälfte der Reihenanordnung bevorzugt durch einen Lesebefehl ausgelesen werden, welcher in der Rückwärtsrichtung übertragen wird. - Bei dem in
2 veranschaulichten ersten Typ von Lesebefehl ist die Latenzzeit hingegen unabhängig von der Position des ausgelesenen Speichermoduls in der Reihenanordnung und von der zur Übertragung des Lesebefehls verwendeten Richtung. -
4 veranschaulicht einen Schreibvorgang bei der in1 dargestellten Speichervorrichtung. Der Datenfluss ist wiederum durch hervorgehobene Pfeile veranschaulicht. Bei dem Schreibvorgang werden Schreibdaten WRT einschließlich eines Schreibbefehls von der Speichersteuerung200 an das für den Schreibvorgang vorgesehene Speichermodul100b übertragen. - Sobald der Datenrahmen mit den Schreibdaten WRT den Schnittstellenblock
110 des für den Schreibvorgang vorgesehenen Speichermoduls100b erreicht, werden die Schreibdaten aus dem Datenrahmen an den Speicherkern120 weitergeleitet und darin gespeichert. Der Datenrahmen wird an das nächste Speichermodul in der Ringanordnung weitergeleitet und kann dort mit Lesedaten überschrieben werden. - Auch für den in
4 veranschaulichten Schreibvorgang versteht es sich, dass die Schreibdaten WRT entweder in der Vorwärtsrichtung oder in der Rückwärtsrichtung an das für den Schreibvorgang vorgesehene Speichermodul übertragen werden können. Aus Gründen einer kürzeren Latenzzeit ist es bevorzugt, bei Speichermodulen100a ,100b , welche sich in der Vorwärtsrichtung in der ersten Hälfte der Reihenanordnung befinden, die Schreibdaten WRT in der Vorwärtsrichtung zu übertragen, während es für die Speichermodule100c ,100d , welche sich in der Vorwärtsrichtung in der zweiten Hälfte der Reihenanordnung befinden, bevorzugt ist, die Schreibdaten WRT in der Rückwärtsrichtung zu übertragen. -
5 veranschaulicht die Vorgehensweise beim Entfernen oder Ersetzen eines der Speichermodule100a ,100b ,100c ,100d . In5 ist beispielhaft eine Situation dargestellt, bei welcher das Speichermodul100c entfernt bzw. ersetzt wird (veranschaulicht durch eine gepunktete Umfassung des Speichermoduls100c ). Beispielsweise kann zuvor von der Speichersteuerung200 erfasst worden sein, dass für das Speichermodul100c eine Funktionsstörung vorliegt. Eine Datenübertragung von dem Speichermodul100b über das Speichermodul100c an das Speichermodul100d und umgekehrt ist in diesem Fall nicht mehr möglich. - In diesem Fall wird das Speichermodul
100b durch einen entsprechenden Konfigurationsbefehl, welcher von der Speichersteuerung200 in der Vorwärtsrichtung an das Speichermodul100b gesendet wird, in eine alternative Betriebsweise versetzt, bei welcher die Eingangs- und Ausgangsschnittstelle, welcher dem zu entfernenden bzw. zu ersetzenden Speichermodul100c benachbart sind, deaktiviert sind. Dies ist in5 durch gepunktete Strukturen innerhalb des Speichermoduls100b veranschaulicht. - Entsprechend wird das Speichermodul
100d , welches in der Vorwärtsrichtung benachbart zu dem zu entfernenden bzw. zu ersetzenden Speichermodul100c ist, von der Speichersteuerung200 durch einen entsprechenden Konfigurationsbefehl in eine alternative Betriebsweise versetzt, bei welcher ebenfalls die Eingangsschnittstelle und die Ausgangsschnittstelle, welche dem zu entfernenden bzw. zu ersetzenden Speichermodul100c benachbart sind, deaktiviert sind. Dies ist wiederum durch gepunktete Strukturen innerhalb des Speichermoduls100d veranschaulicht. - In diesem Zustand kann dann das Speichermodul
100c entfernt bzw. ersetzt werden. Wie es aus5 erkennbar ist, teilt das Entfernen des Speichermoduls100c die geschlossene Ringanordnung in zwei kettenartige Anordnungen, in welchen nur Lesevorgänge des anhand von3 beschriebenen zweiten Typs möglich sind. - Bei Speichervorrichtungen des oben beschriebenen Typs für Computersysteme ist es üblich, dass für die Speichermodule
100a ,100b ,100c ,100d entsprechende Steckplätze auf einer Systemplatine des Computersystems vorgesehen sind. Die Speichersteuerung200 ist üblicherweise als Bestandteil der Systemplatine vorgesehen. Die anhand von1 beschriebenen Verbindungen zwischen der Speichersteuerung200 und den Speichermodulen100a ,100b ,100c ,100d würden somit über entsprechende Verbindungen auf der Systemplatine bereitgestellt werden. Die geschlossene Ringanordnung kann dann einerseits gewährleistet werden, indem alle für die Ringanordnung vorgesehenen Steckplätze mit Speichermodulen besetzt werden. Andererseits ist es möglich, eine geringere Anzahl von Speichermodulen zu verwenden, indem nicht benutzte Steckplätze mit einem „Blindmodul" bestückt werden. Ein Blindmodul kann beispielsweise durch eine Leiterplatte gebildet sein, welche den Speichermodulen entsprechende Anschlüsse aufweist und die Anschlüsse, welche der ersten Eingangsschnittstelle entsprechen, mit den Anschlüssen, welche der zweiten Ausgangsschnittstelle entsprechen, verbindet sowie die Anschlüsse, welche der zweiten Eingangsschnittstelle entsprechen, mit den Anschlüssen, welche der ersten Ausgangsschnittstelle entsprechen, verbindet, um die Ringanordnung sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung zu schließen. - Wenn wie anhand von
5 erläutert die geschlossene Ringanordnung geöffnet wurde, und ein Speichermodul entfernt, ersetzt oder hinzugefügt wurde, so dass die Ringanordnung physikalisch nunmehr wieder geschlossen ist, sendet die Speichersteuerung200 einen weiteren Konfigurationsbefehl an diejenigen Speichermodule, welche der Position des entfernten, ersetzten oder eingefügten Speichermoduls benachbart sind, d. h. bei dem Beispiel von5 an die Speichermodule100b und100d , um die Eingangsschnittstelle und die Ausgangsschnittstelle, welche jeweils dem entfernten, ersetzten oder eingefügten Speichermodul benachbart sind, wieder zu aktivieren. Anschließend wird eine Trainingsprozedur für die Datenübertragung zwischen diesen Speichermodulen und dem neuen benachbarten Speichermodul durchgeführt. Es versteht sich dabei, dass es sich bei dem neuen benachbarten Speichermodul sowohl um ein ersetztes oder neu hinzugefügtes Speichermodul handeln kann oder um ein Speichermodul, welches bereits in der Ringanordnung enthalten war, wenn anstelle des entfernten wie oben beschriebenen Speichermoduls ein Blindmodul verwendet wird. - Es wurde im Vorangegangenen somit eine Speichervorrichtung sowie ein Verfahren zum Betreiben dieser Speichervorrichtung beschrieben, bei welcher durch Verwendung einer geschlossenen Ringanordnung, in welcher Daten sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung übertragen werden können, eine hohe Zuverlässigkeit gewährleistet wird. Insbesondere kann die Speichervorrichtung weiter betrieben werden, auch wenn bei einem der Speichermodule der Schnittstellenblock
110 ausfällt. Im Falle eines Ausfalls oder zu Wartungszwecken kann die Ringanordnung in zwei kettenartige Anordnungen aufgespalten werden und es ist möglich, jedes einzelne der Speichermodule zu ersetzen, während die anderen Speichermodule in Betrieb bleiben.
Claims (22)
- Speichermodul, umfassend: einen Speicherkern (
120 ) vom Schreib-Lese-Typ, eine erste Eingangsschnittsstelle (111 ), um Schreib- oder Befehlsdaten aus einer Vorwärtsrichtung zu empfangen, eine erste Ausgangsschnittstelle (112 ), um Lesedaten in einer Rückwärtsrichtung zu senden, eine zweite Eingangsschnittstelle (114 ), um Lesedaten aus der Rückwärtsrichtung zu empfangen, und eine zweite Ausgangsschnittstelle (115 ), um Schreib- oder Befehlsdaten in der Vorwärtsrichtung zu senden, wobei für die Vorwärtsrichtung und für die Rückwärtsrichtung unterschiedliche Übertragungswege vorgesehen sind, und wobei das Speichermodul dazu ausgestaltet ist, darüber hinaus: – über die erste Eingangsschnittstelle (111 ) Lesedaten aus der Vorwärtsrichtung zu empfangen, – über die erste Ausgangsschnittstelle (112 ) Schreib- oder Befehlsdaten in der Rückwärtsrichtung zu senden, – über die zweite Eingangsschnittstelle (114 ) Schreib- oder Befehlsdaten aus der Rückwärtsrichtung zu empfangen, – über den zweite Ausgangsschnittstelle (115 ) Lesedaten in der Vorwärtsrichtung zu senden, und wobei das Speichermodul ausgestaltet ist zur Verarbeitung sowohl eines ersten Typs von Lesebefehl, welcher in den Schreib- oder Befehlsdaten entweder aus der Vorwärtsrichtung oder aus der Rückwärtsrichtung empfangen wird, als auch eines zweiten Typs von Lesebefehl, welcher in den Schreib- oder Befehlsdaten entweder aus der Vorwärtsrichtung oder aus der Rückwärtsrichtung empfangen wird, wobei bei Empfang des ersten Typs von Lesebefehl abhängig von Speicherinhalten des Speicherkerns (120 ) Lesedaten erzeugt werden und in derselben Richtung gesendet werden wie diejenige, aus welcher der Lesebefehl empfangen wurde, und bei Empfang des zweiten Typs von Lesebefehl abhängig von Speicherinhalten des Speicherkerns (120 ) Lesedaten erzeugt werden und in der anderen Richtung gesendet werden als diejenige, aus welcher der Lesebefehl empfangen wurde. - Speichermodul nach Anspruch 1, wobei die erste Eingangsschnittstelle (
111 ) und die zweite Eingangsschnittstelle (114 ) identisch ausgestaltet sind, und dass die erste Ausgangsschnittstelle (112 ) und die zweite Ausgangsschnittstelle (115 ) identisch ausgestaltet sind. - Speichermodul nach Anspruch 1 oder 2, wobei die erste Eingangsschnittstelle (
111 ), die zweite Eingangsschnittstelle (114 ), die erste Ausgangsschnittstelle (112 ) und die zweite Ausgangsschnittstelle (115 ) für eine rahmenbasierte Datenübertragung mit einem identischen Rahmenformat ausgestaltet sind. - Speichermodul nach Anspruch 3, wobei das Speichermodul dazu ausgestaltet ist, die Lesedaten in einen empfangenen Datenrahmen einzufügen, und den Datenrahmen in derselben Richtung zu senden, aus welcher er empfangen wurde.
- Speichermodul nach einem der vorhergehenden Ansprüche, wobei ein Dateneingang des Speicherkerns (
120 ) über Multiplexermittel (118 ) sowohl mit der ersten Eingangsschnittstelle (111 ) als auch mit der zweiten Eingangsschnittstelle (114 ) gekoppelt ist. - Speichermodul nach einem der vorhergehenden Ansprüche, wobei das Speichermodul dazu ausgestaltet ist, bei Empfang eines entsprechenden Konfigurationsbefehls in den Schreib- oder Befehlsdaten entweder die erste Eingangsschnittstelle (
111 ) und die erste Ausgangsschnittstelle (112 ) zu deaktivieren oder die zweite Eingangsschnittstelle (114 ) und die zweite Ausgangsschnittstelle (115 ) zu deaktivieren. - Speichervorrichtung, umfassend: mindestens ein Speichermodul (
100a ,100b ,100c ,100d ) mit – einem Speicherkern (120 ) vom Schreib-Lese-Typ, – einer ersten Eingangsschnittsstelle (111 ), um Schreib- oder Befehlsdaten aus einer Vorwärtsrichtung zu empfangen, – einer erste Ausgangsschnittstelle (112 ), um Lesedaten in einer Rückwärtsrichtung zu senden, – einer zweiten Eingangsschnittstelle (114 ), um Lesedaten aus der Rückwärtsrichtung zu Empfangen, und – einer zweiten Ausgangsschnittstelle (115 ), um Schreib- oder Befehlsdaten in der Vorwärtsrichtung zu senden, und eine Speichersteuerung mit einer ersten Eingangsschnittstelle (201 ), um Lesedaten aus der Rückwärtsrichtung von dem mindestens einen Speichermodul (100a ,100b ,100c ,100d ) zu empfangen, und einer ersten Ausgangsschnittstelle (202 ), um Schreib- oder Befehlsdaten in der Vorwärtsrichtung an das mindestens eine Speichermodul (100a ,100b ,100c ,100d ) zu senden, wobei das mindestens eine Speichermodul (100a ,100b ,100c ,100d ) dazu ausgestaltet ist, darüber hinaus: – über die erste Eingangsschnittstelle (111 ) Lesedaten aus der Vorwärtsrichtung zu empfangen, – über die erste Ausgangsschnittstelle (112 ) Schreib- oder Befehlsdaten in der Rückwärtsrichtung zu senden, – über die zweite Eingangsschnittstelle (114 ) Schreib- oder Befehlsdaten aus der Rückwärtsrichtung zu empfangen, und – über die zweite Ausgangsschnittstelle (115 ) Lesedaten in der Vorwärtsrichtung zu senden, wobei die Speichersteuerung (200 ) eine zweite Eingangschnittstelle (204 ), um Lesedaten aus der Vorwärtsrichtung von dem mindestens einen Speichermodul (100a ,100b ,100c ,100d ) zu empfangen, und eine zweite Ausgangsschnittstelle (205 ), um Schreib- oder Befehlsdaten in der Rückwärtsrichtung an das mindestens eine Speichermodul (100a ,100b ,100c ,100d ) zu senden, umfasst, wobei die Speichersteuerung (200 ) und das mindestens eine Speichermodul (100a ,100b ,100c ,100d ) eine geschlossene Ringanordnung bilden, in welcher Daten sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung übertragen werden können, wobei für die Vorwärtsrichtung und für die Rückwärtsrichtung unterschiedliche Übertragungswege vorgesehen sind, und wobei das mindestens eine Speichermodul (100a ,100b ,100c ,100d ) ausgestaltet ist zur Verarbeitung sowohl eines ersten Typs von Lesebefehl, welcher in den Schreib- oder Befehlsdaten entweder aus der Vorwärtsrichtung oder aus der Rückwärtsrichtung empfangen wird, als auch eines zweiten Typs von Lesebefehl, welcher in den Schreib- oder Befehlsdaten entweder aus der Vorwärtsrichtung oder aus der Rückwärtsrichtung empfangen wird, wobei bei Empfang des ersten Typs von Lesebefehl abhängig von Speicherinhalten des Speicherkerns (120 ) Lesedaten erzeugt und werden in derselben Richtung gesendet werden wie diejenige, aus welcher der Lesebefehl empfangen wurde, und bei Empfang des zweiten Typs von Lesebefehl abhängig von Speicherinhalten des Speicherkerns (120 ) Lesedaten erzeugt werden und in der anderen Richtung gesendet werden als diejenige, aus welcher der Lesebefehl empfangen wurde. - Speichervorrichtung nach Anspruch 7, wobei das mindestens eine Speichermodul (
100a ,100b ,100c ,100d ) darüber hinaus nach einem der Ansprüche 2–5 ausgestaltet ist. - Speichervorrichtung nach Anspruch 7 oder 8, wobei die Speichervorrichtung mehrere der Speichermodule (
100a ,100b ,100c ,100d ) umfasst, welche in einer Reihenanordnung miteinander gekoppelt sind. - Speichervorrichtung nach Anspruch 9, wobei die erste Eingangsschnittstelle (
111 ) eines ersten Speichermoduls (100a ) der Reihenanordnung mit der ersten Ausgangsschnittstelle (202 ) der Speichersteuerung (200 ) gekoppelt ist, um Daten in der Vorwärtsrichtung zu übertragen, wobei die erste Ausgangsschnittstelle (112 ) des ersten Speichermoduls (100a ) der Reihenanordnung mit der ersten Eingangsschnittstelle (201 ) der Speichersteuerung (200 ) gekoppelt ist, um Daten in der Rückwärtsrichtung zu übertragen, wobei die zweite Eingangsschnittstelle (114 ) eines letzten Speichermoduls (100d ) der Reihenanordnung mit der zweiten Ausgangsschnittstelle (205 ) der Speichersteuerung (200 ) gekoppelt ist, um Daten in der Rückwärtsrichtung zu übertragen, und wobei die zweite Ausgangsschnittstelle (115 ) des letzten Speichermoduls (100d ) der Reihenanordnung mit der zweiten Eingangsschnittstelle (204 ) der Speichersteuerung (200 ) gekoppelt ist, um Daten in der Vorwärtsrichtung zu übertragen, wobei für die übrigen Speichermodule (100b ,100c ) der Reihenanordnung: – die erste Eingangsschnittstelle (111 ) mit der zweiten Ausgangsschnittstelle (115 ) eines in der Rückwärtsrichtung benachbarten Speichermoduls (100a ,100b ) gekoppelt ist, um Daten in der Vorwärtsrichtung zu übertragen, – die erste Ausgangsschnittstelle (112 ) mit der zweiten Eingangsschnittstelle (114 ) des in der Rückwärtsrichtung benachbarten Speichermoduls (100a ,100b ) gekoppelt ist, um Daten in der Rückwärtsrichtung zu übertragen, – die zweite Eingangsschnittstelle (114 ) mit der ersten Ausgangsschnittstelle (112 ) eines in der Vorwärtsrichtung benachbarten Speichermoduls (100c ,100d ) gekoppelt ist, um Daten in der Rückwärtsrichtung zu übertragen, und – die zweite Ausgangsschnittstelle (115 ) mit der ersten Eingangsschnittstelle (111 ) des in der Vorwärtsrichtung benachbarten Speichermoduls (100c ,100d ) gekoppelt ist, um Daten in der Vorwärtsrichtung zu übertragen. - Speichervorrichtung nach Anspruch 9 oder 10, wobei die Speichermodule (
100a ,100b ,100c ,100d ) der Reihenanordnung dazu ausgestaltet sind, bei Empfang eines entsprechenden Befehls in den Schreib- und Befehlsdaten aus entweder der Vorwärtsrichtung oder der Rückwärtsrichtung, eine Trainingsprozedur für die Datenübertragung mit benachbartem Speichermodul (100a ,100b ,100c ,100d ) durchzuführen, welches sich bezüglich des jeweiligen Speichermoduls in der anderen Richtung befindet als diejenige, aus welcher der Befehl empfangen wurde. - Verfahren zum Betreiben einer Speichervorrichtung, wobei die Speichervorrichtung umfasst: mindestens ein Speichermodul (
100a ,100b ,100c ,100d ) mit einem Speicherkern (120 ) vom Schreib-Lese-Typ und eine Speichersteuerung (200 ), wobei das Verfahren umfasst: – Senden von Schreib- oder Befehlsdaten in einer Vorwärtsrichtung von der Speichersteuerung (200 ) an das mindestens eine Speichermodul (100a ,100b ,100c ,100d ) und – Empfangen von Lesedaten in der Speichersteuerung (200 ) von dem mindestens einen Speichermodul (100a ,100b ,100c ,100d ) aus einer Rückwärtsrichtung, – Senden von Schreib- oder Befehlsdaten in der Rückwärtsrichtung von der Speichersteuerung (200 ) an das mindestens eine Speichermodul (100a ,100b ,100c ,100d ) und Empfangen von Lesedaten in der Speichersteuerung (200 ) von dem mindestens einen Speichermodul (100a ,100b ,100c ,100d ) aus der Vorwärtsrichtung, wobei für die Vorwärtsrichtung und für die Rückwärtsrichtung unterschiedliche Übertragungswege bereitgestellt werden, wobei das Verfahren darüber hinaus umfasst: – Empfangen eines ersten Typs von Lesebefehl oder eines zweiten Typs von Lesebefehl mit den Schreib- oder Befehlsdaten in dem mindestens einen Speichermodul (100a ,100b ,100c ,100d ) aus entweder der Vorwärtsrichtung oder der Rückwärtsrichtung, – Erzeugen von Lesedaten abhängig von Speicherinhalten des Speicherkerns (120 ) des Speichermoduls (100a ,100b ,100c ,100d ), – Senden der Lesedaten von dem Speichermodul (100a ,100b ,100c ,100d ) an die Speichersteuerung (200 ) in einer Richtung, welche abhängig von dem Typ des empfangenen Lesebefehls entweder dieselbe ist wie diejenige, aus welcher der Lesebefehl empfangen wurde, oder die andere ist als diejenige, aus welcher der Lesebefehl empfangen wurde. - Verfahren nach Anspruch 12, umfassend: Empfangen eines Schreibbefehls in den Schreib- oder Befehlsdaten in dem mindestens einen Speichermodul (
100a ,100b ,100c ,100d ) aus entweder der Vorwärtsrichtung oder der Rückwärtsrichtung, Erzeugen von Speicherinhalten des Speicherkerns (120 ) des Speichermoduls (100a ,100b ,100c ,100d ) abhängig von Schreibdaten in den Schreib- oder Befehlsdaten. - Verfahren nach Anspruch 12 oder 13, wobei die Speichervorrichtung mehrere der Speichermodule (
100a ,100b ,100c ,100d ) umfasst, welche in einer Reihenanordnung miteinander gekoppelt sind, und wobei das Verfahren umfasst: Entfernen eines der Speichermodule (100a ,100b ,100c ,100d ) während des Betriebs der Speichervorrichtung. - Verfahren nach Anspruch 14, umfassend: Übertragen von Schreib- oder Befehlsdaten an ein Speichermodul (
100a ,100b ,100c ,100d ), welches sich bezüglich des entfernten Speichermoduls (100a ,100b ,100c ,100d ) in der Vorwärtsrichtung befindet, in der Rückwärtsrichtung, und Übertragen von Lesedaten von dem Speichermodul (100a ,100b ,100c ,100d ), welches sich bezüglich des entfernten Speichermoduls (100a ,100b ,100c ,100d ) in der Vorwärtsrichtung befindet, in der Vorwärtsrichtung. - Verfahren nach Anspruch 14 oder 15, umfassend: Übertragen von Schreib- oder Befehlsdaten an ein Speichermodul (
100a ,100b ,100c ,100d ), welches sich bezüglich des entfernten Speichermoduls (100a ,100b ,100c ,100d ) in der Rückwärtsrichtung befindet, in der Vorwärtsrichtung, und Übertragen von Lesedaten von dem Speichermodul (100a ,100b ,100c ,100d ), welches sich bezüglich des entfernten Speichermoduls (100a ,100b ,100c ,100d ) in der Rückwärtsrichtung befindet, in der Rückwärtsrichtung. - Verfahren nach einem der Ansprüche 12–16, wobei die Speichervorrichtung mehrere der Speichermodule (
100a ,100b ,100c ,100d ) umfasst, welche in einer Reihenanordnung miteinander gekoppelt sind, und wobei das Verfahren umfasst: Einfügen eines der Speichermoduls (100a ,100b ,100c ,100d ) während des Betriebs der Speichervorrichtung. - Verfahren nach Anspruch 17, umfassend: Übertragen von Schreib- oder Befehlsdaten an ein Speichermodul (
100a ,100b ,100c ,100d ), welches sich bezüglich des einzufügenden Speichermoduls (100a ,100b ,100c ,100d ) in der Vorwärtsrichtung befindet, in der Rückwärtsrichtung, und Übertragen von Lesedaten von dem Speichermodul (100a ,100b ,100c ,100d ), welches sich bezüglich des einzufügenden Speichermoduls (100a ,100b ,100c ,100d ) in der Vorwärtsrichtung befindet, in der Vorwärtsrichtung. - Verfahren nach Anspruch 17 oder 18, umfassend: Übertragen von Schreib- oder Befehlsdaten an ein Speichermodul (
100a ,100b ,100c ,100d ), welches sich bezüglich des einzufügenden Speichermoduls (100a ,100b ,100c ,100d ) in der Rückwärtsrichtung befindet, in der Vorwärtsrichtung, und Übertragen von Lesedaten von dem Speichermodul (100a ,100b ,100c ,100d ), welches sich bezüglich des einzufügenden Speichermoduls (100a ,100b ,100c ,100d ) in der Rückwärtsrichtung befindet, in der Rückwärtsrichtung. - Verfahren nach einem der Ansprüche 17–19, umfassend: Trainieren der Datenübertragung zwischen dem eingefügten Speichermodul (
100a ,100b ,100c ,100d ) und einem benachbarten der Speichermodule (100a ,100b ,100c ,100d ). - Verfahren nach einem der Ansprüche 12–20, wobei die Speichervorrichtung nach einem der Ansprüche 7–11 ausgestaltet ist.
- Speichersteuerung für eine Speichervorrichtung, umfassend – eine erste Eingangsschnittstelle (
201 ), um Lesedaten aus einer Rückwärtsrichtung zu empfangen, und – eine erste Ausgangsschnittstelle (202 ), um Schreib- oder Befehlsdaten in einer Vorwärtsrichtung zu senden, wobei die Speichersteuerung darüber hinaus eine zweite Eingangsschnittstelle (204 ), um Lesedaten aus der Vorwärtsrichtung zu empfangen, und eine zweite Ausgangsschnittstelle (205 ), um Schreib- oder Befehlsdaten in der Rückwärtsrichtung zu senden, umfasst, wobei die Speichersteuerung dazu ausgestaltet ist, mit mindestens einem Speichermodul (100a ,100b ,100c ,100d ) eine geschlossene Ringanordnung zu bilden, in welcher Daten sowohl in der Vorwärtsrichtung als auch in der Rückwärtsrichtung übertragen werden können, und wobei für die Vorwärtsrichtung und für die Rückwärtsrichtung unterschiedliche Übertragungswege vorgesehen sind, und wobei die Speichersteuerung dazu ausgestaltet ist, einen ersten Typ von Lesebefehl oder einen zweiten Typ von Lesebefehl mit den Schreib- oder Befehlsdaten an das mindestens eine Speichermodul (100a ,100b ,100c ,100d ) zu senden, und Lesedaten, welche bei Empfang des Lesebefehls in dem mindestens einen Speichermodul (100a ,100b ,100c ,100d ) erzeugt werden, aus einer Richtung zu empfangen, welche abhängig von dem Typ des gesendeten Lesebefehls entweder dieselbe ist wie diejenige, in welcher der Lesebefehl gesendet wurde, oder die andere ist als diejenige, in welcher der Lesebefehl gesendet wurde.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005043547A DE102005043547B4 (de) | 2005-09-13 | 2005-09-13 | Speichermodul, Speichervorrichtung und Verfahren zum Betreiben einer Speichervorrichtung |
US11/454,826 US20070079186A1 (en) | 2005-09-13 | 2006-06-16 | Memory device and method of operating memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005043547A DE102005043547B4 (de) | 2005-09-13 | 2005-09-13 | Speichermodul, Speichervorrichtung und Verfahren zum Betreiben einer Speichervorrichtung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102005043547A1 DE102005043547A1 (de) | 2007-03-29 |
DE102005043547B4 true DE102005043547B4 (de) | 2008-03-13 |
Family
ID=37832367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102005043547A Expired - Fee Related DE102005043547B4 (de) | 2005-09-13 | 2005-09-13 | Speichermodul, Speichervorrichtung und Verfahren zum Betreiben einer Speichervorrichtung |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070079186A1 (de) |
DE (1) | DE102005043547B4 (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7721010B2 (en) * | 2007-10-31 | 2010-05-18 | Qimonda North America Corp. | Method and apparatus for implementing memory enabled systems using master-slave architecture |
US20100005206A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Automatic read data flow control in a cascade interconnect memory system |
US20100005220A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | 276-pin buffered memory module with enhanced memory system interconnect and features |
US20100005212A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Providing a variable frame format protocol in a cascade interconnected memory system |
US20100005214A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Enhancing bus efficiency in a memory system |
US20100005219A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | 276-pin buffered memory module with enhanced memory system interconnect and features |
US7717752B2 (en) * | 2008-07-01 | 2010-05-18 | International Business Machines Corporation | 276-pin buffered memory module with enhanced memory system interconnect and features |
US20100005218A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Enhanced cascade interconnected memory system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1429340A2 (de) * | 2002-12-12 | 2004-06-16 | Samsung Electronics Co., Ltd. | Speichersystem mit Zweiweg-Ring-Topologie, Speichereinrichtung und Speichermodul für Speichersysteme mit Ring-Topologie |
US20040158675A1 (en) * | 2002-12-02 | 2004-08-12 | Elpida Memory, Inc. | Memory system and control method therefor |
US20050024963A1 (en) * | 2003-07-08 | 2005-02-03 | Infineon Technologies Ag | Semiconductor memory module |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7533218B2 (en) * | 2003-11-17 | 2009-05-12 | Sun Microsystems, Inc. | Memory system topology |
US7334070B2 (en) * | 2004-10-29 | 2008-02-19 | International Business Machines Corporation | Multi-channel memory architecture for daisy chained arrangements of nodes with bridging between memory channels |
US7702874B2 (en) * | 2005-06-22 | 2010-04-20 | Intel Corporation | Memory device identification |
US7734980B2 (en) * | 2005-06-24 | 2010-06-08 | Intel Corporation | Mitigating silent data corruption in a buffered memory module architecture |
-
2005
- 2005-09-13 DE DE102005043547A patent/DE102005043547B4/de not_active Expired - Fee Related
-
2006
- 2006-06-16 US US11/454,826 patent/US20070079186A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040158675A1 (en) * | 2002-12-02 | 2004-08-12 | Elpida Memory, Inc. | Memory system and control method therefor |
EP1429340A2 (de) * | 2002-12-12 | 2004-06-16 | Samsung Electronics Co., Ltd. | Speichersystem mit Zweiweg-Ring-Topologie, Speichereinrichtung und Speichermodul für Speichersysteme mit Ring-Topologie |
US20050024963A1 (en) * | 2003-07-08 | 2005-02-03 | Infineon Technologies Ag | Semiconductor memory module |
Non-Patent Citations (2)
Title |
---|
DDR2 SDRAM FBDIMM Data Sheet, Preliminary Infor- mation Rev. 4/05 EN, MICRON Technology, USA 2004, S.1,8,10 |
DDR2 SDRAM FBDIMM Data Sheet, Preliminary Information Rev. 4/05 EN, MICRON Technology, USA 2004, S.1,8,10 * |
Also Published As
Publication number | Publication date |
---|---|
DE102005043547A1 (de) | 2007-03-29 |
US20070079186A1 (en) | 2007-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102005043547B4 (de) | Speichermodul, Speichervorrichtung und Verfahren zum Betreiben einer Speichervorrichtung | |
DE10330812B4 (de) | Halbleiterspeichermodul | |
DE102005053625B4 (de) | Speichermodul mit einer Mehrzahl von Speicherbausteinen | |
DE102005055185B4 (de) | Halbleiterspeichermodul | |
DE102006032327B4 (de) | Halbleiterspeichermodul und -System | |
DE19960005A1 (de) | Speichermodulsystem und Halbleiterspeicherbauelement mit Dateneingabe- und/oder Datenausgabesteuerung | |
DE102006019423A1 (de) | Speichersystem und Verfahren für den Zugriff zu Speicherchips eines Speichersystems | |
DE2907333A1 (de) | Einrichtung in einer elektronischen datenverarbeitungsanlage zur erhoehung der verfuegbarkeit von speichern | |
EP1249744A1 (de) | Verfahren zum Herstellen konsistenter Speicherinhalte in redundanten Systemen | |
DE102006036825A1 (de) | Halbleiterspeicheranordnung mit seriellem Steuer-/Adressbus | |
DE102008030514A1 (de) | Verfahren und Vorrichtung zur Anbindung von Speichervorrichtungen | |
DE3247801A1 (de) | Schaltungsanordnung zum verbinden mehrerer rechnerpaare | |
DE102005009806A1 (de) | Pufferbaustein für ein Speichermodul, Speichermodul und Speichersystem | |
DE4406258C2 (de) | Informationsverarbeitungsvorrichtung | |
DE102006032343B4 (de) | Halbleiterspeicherinterface | |
DE102005051945A1 (de) | Speichervorrichtung zum Einsatz in einem Speichermodul | |
DE10339787A1 (de) | Speichermodul und Verfahren zum Betreiben eines Speichermoduls | |
DE102004033387B4 (de) | Digitale RAM-Speicherschaltung mit erweiterter Befehlsstruktur | |
DE10164917B4 (de) | Halbleiterspeichersystem | |
DE10307548A1 (de) | Synchrones Speichersystem sowie Verfahren und Protokoll zur Kommunikation in einem synchronen Speichersystem | |
DE102006006571A1 (de) | Halbleiteranordnung und Verfahren zum Betreiben einer Halbleiteranordnung | |
DE60128596T2 (de) | Interrupt-steuerung für einen mikroprozessor | |
DE102004042173B4 (de) | DQS-Signalling in DDR-III-Speichersystemen ohne Präambel | |
DE102006059396A1 (de) | Speichersystem | |
DE69023677T2 (de) | DMA-Übertragung für Rechnersystem. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: QIMONDA AG, 81739 MUENCHEN, DE |
|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |