DE102005043547A1 - Fully-buffered-dual-in-line memory module for e.g. read-write-memory, has one of input interfaces to receive written or command data in reverse direction, and one of output interfaces to transmit read data in forward direction - Google Patents

Fully-buffered-dual-in-line memory module for e.g. read-write-memory, has one of input interfaces to receive written or command data in reverse direction, and one of output interfaces to transmit read data in forward direction Download PDF

Info

Publication number
DE102005043547A1
DE102005043547A1 DE102005043547A DE102005043547A DE102005043547A1 DE 102005043547 A1 DE102005043547 A1 DE 102005043547A1 DE 102005043547 A DE102005043547 A DE 102005043547A DE 102005043547 A DE102005043547 A DE 102005043547A DE 102005043547 A1 DE102005043547 A1 DE 102005043547A1
Authority
DE
Germany
Prior art keywords
memory
memory module
data
write
forward direction
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.)
Granted
Application number
DE102005043547A
Other languages
German (de)
Other versions
DE102005043547B4 (en
Inventor
Gerhard Risse
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qimonda AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102005043547A priority Critical patent/DE102005043547B4/en
Priority to US11/454,826 priority patent/US20070079186A1/en
Publication of DE102005043547A1 publication Critical patent/DE102005043547A1/en
Application granted granted Critical
Publication of DE102005043547B4 publication Critical patent/DE102005043547B4/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Abstract

The module has a memory core (120) for reading and writing of data, and an input interface (111) for receiving the read data in a forward direction. An output interface (112) transmits the written or command data in a reverse direction. Another input interface (114) receives the written or command data in the reverse direction, where another output interface (115) transmits the read data in the forward direction. Independent claims are also included for the following: (1) a method of operating a memory device (2) a memory controller for a memory device.

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.The The present invention relates to a memory module, a memory device and a method of operating a memory device. The invention in particular concerns write-type memory devices, which, for example, in computer systems as RAM memory (Random Access Memory) are used.

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.Currently it is usual, in read-write memories or RAM memories for computer systems, storage devices which comprise one or more memory modules and one Memory control with the rest Communicate components of the computer system. For example, like this called dual-in-line memory modules (DIMMs) of the fully-buffered type be used. In this case, each memory module has beside a memory core called an Advanced Memory Buffer (AMB). Of the AMB connects to a memory controller Memory Controller ago. The AMB decodes from a serial data stream between the Memory controller and the memory module commands and write data and directs these over one Memory interface to the memory core on. Conversely, can the AMB converts data from the storage core into serial data packets. Furthermore, the AMB comprises a pass-through logic or pass-through logic, by which write or command data can be "passed" through the memory module, which for a other memory module are determined. In addition, read commands provided by means of an insertion logic or merging logic, read data from the memory core of the memory module to assemble data packets.

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.For data transmission a special protocol is used, which is based on two different Types of data frame based: About a 10 bit wide Southbound connection (Southbound link) get data frames with write or command data to the memory modules and over a 14-bit wide Northbound link (Northbound Link) receives the Memory control Response or response data frame from the memory modules. For this purpose are on the memory controller and the memory modules each special Input and output interfaces provided. The Southbound connection serves the transmission of data from the memory controller to the memory module in one Forward direction while the northbound connection of the transmission from the memory modules to the memory controller in a reverse direction serves.

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.If the memory device comprises a plurality of memory modules, these become strung together like a chain, taking both for the Southbound connection as well as for the Northbound connection one input and one output interface of adjacent memory modules, respectively connected to each other. In this way, write or command data about the Southbound connection in the forward direction from a memory module transferred to the next be while Read data about the Northbound connection transferred from one memory module to the next but in the opposite direction as the Southbound connection, d. H. in the reverse direction.

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.in this connection arises as a problem that the storage device extremely sensitive is opposite a malfunction the AMB of one of the memory modules. In particular, fails in this Case not only the data transfer to the memory module with the faulty AMB, but also to all memory modules, which concerning this memory module are in the forward direction. In these Memory modules stored data are no longer accessible and with it virtually lost.

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.Furthermore exists in the known chain-like arrangement, the problem of high latency for those memory modules which are farthest from the memory controller are removed. So add up for a memory module which in the chain at the nth position, the latencies of n Point-to-point connections. Furthermore, the bandwidth for data transmission limited. To ensure a certain bandwidth for data transmission, In a memory device having n memory modules, n are high-speed connections active. Transmitted in the forward direction Data frames are transmitted through the entire chain, even if their destination is the first memory module of the chain. This results in a high power consumption.

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.Furthermore it is in the known memory devices with fully buffered DIMM memory modules only limited possible, a memory module during the operation of the storage device to remove or replace. If for example, the first memory module of the chain, which the memory controller closest is should be replaced all memory modules of the chain-like arrangement are deactivated and the data is stored elsewhere.

Aufgabe der vorliegenden Erfindung ist es daher, die Möglichkeit zu schaffen, die oben beschriebenen Probleme zu vermeiden und die Zuverlässigkeit für eine Speichervorrichtung zu erhöhen.Object of the present invention is therefore to provide the ability to avoid the problems described above and the Zuver permeability for a storage device.

Diese Aufgabe wird gelöst durch ein Speichermodul gemäß Anspruch 1, eine Speichervorrichtung gemäß Anspruch 8, durch ein Verfahren zum Betreiben einer Speichervorrichtung gemäß Anspruch 13 und durch eine Speichersteuerung gemäß Anspruch 25. Die abhängigen Ansprüche definieren bevorzugte und vorteilhafte Ausführungsformen der Erfindung.These Task is solved by a memory module according to claim 1, a memory device according to claim 8, by a method of operating a memory device according to claim 13 and by a memory controller according to claim 25. The dependent claims define preferred and advantageous embodiments the invention.

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.According to the inventive approach is a novel memory topology provided in which a Memory controller and at least one memory module a closed Ring arrangement in which data in both a forward direction as well as in a reverse direction can.

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.For this purpose, the invention proposes a memory module which has a memory core for reading and Write data, a first input interface to write or command data from a forward direction to receive a first output interface to read data in a reverse direction to send a second input interface to read data from the reverse direction receive and a second output interface to write or command data in the forward direction to send. Thus, the memory module according to the invention is able to write or command data from a memory controller from the forward direction to receive and read data in the reverse direction to the memory controller to send.

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.In addition, according to the invention provided that the memory module is configured over the first input interface read data from the forward direction to receive, over the first output interface write or command data in the reverse direction to send over the second input interface is write or command data the reverse direction to receive and over the second output interface read data in the forward direction to send. It is therefore possible Write or command data and read data to or from the memory module both in the forward as well as in the backward direction transferred to.

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.Because of the Input and output interfaces both write or command data as well as read data transferred are the two input interfaces as well as the two Output interfaces preferably configured identically. Furthermore is preferably for the write or command data and for the read data a frame-based data transfer used with a single identical frame format.

Bei dem erfindungsgemäßen Speichermodul können zwei unterschiedliche Arten von Lesebefehl vorgesehen sein. 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.at The memory module according to the invention can have two different types of read command can be provided. A read command in the memory module, either from the forward direction or from the backward direction receive. The memory module then generates depending on memory contents of its Memory core read data, which preferably in one of the memory module inserted received data frame which overwrites data that is no longer needed in this data frame can be. So can in a received data frame, for example, contain write data which are already stored in another memory module and could therefore be overwritten with the read data. The data frame with the inserted Read data is then sent in the direction from which it is received has been.

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.at In a first type of read command, the read data is in the same Direction sent from which the read command in the memory module was received. For a second type of read command, the Read data sent in the other direction than the one from which the read command was received. While the latter Variant of the read command has a variable latency, which with the distance of the memory module from the memory controller, d. H. with the number of times between the memory module and the memory controller arranged further memory modules increases, the first offers said variant independent of the position of the memory module latency.

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.Furthermore is the memory module according to the invention preferably configured to receive upon receipt of a corresponding Configuration command either the first input interface and the first output interface or the second input interface and disable the second output interface, so that the transmission Write or command data either in forward or backward only the reverse direction possible is and the transfer read data either only in the reverse or forward direction possible is. This mode of operation is provided when the ring assembly is interrupted, for example in case of failure of a memory module or when removing or replacing a memory module.

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.As already mentioned, in the memory device according to the invention, at least one memory module according to the invention and a memory controller are coupled together in a closed ring arrangement, so that write or command data and read data can be transmitted both in the forward direction and in the backward direction. In this way, the reliability is increased, since in case of a fault or Unterbre transmission for one of the directions transmission is still possible over the other direction. Furthermore, an increased bandwidth is ensured since two different transmission paths are available both for write or command data and for read data.

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.Especially It is advantageous if the memory device has several of the memory modules includes, which are coupled in a series arrangement. In this Case guaranteed the closed ring arrangement of memory control and memory modules, that in normal operation, each of the memory modules for write or command data and for reading both from the forward direction as well as from the backward direction accessible is. Therefore, even if one of the memory modules one the input interfaces, one of the output interfaces or all input and output interfaces fail or if the entire memory module fails, the remaining Memory modules for reading and write accesses accessible. Furthermore, it is possible one of the memory modules in the array during the To remove operation of the storage device, for example to replace the memory module or a memory module in the array insert, without that for that Operation of the rest Memory modules would have to be interrupted.

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.Furthermore guaranteed the inventive approach for one given bandwidth a lower power consumption. If, for example a storage device according to the prior Technique includes eight memory modules, with each point-to-point connection between adjacent memory modules a certain power consumption causes the total power consumption for the storage device eight times this power consumption. In the approach according to the invention is just an extra point-to-point connection (consisting of a connection for the forward direction and a connection for the Reverse direction) required to close the ring assembly. The power consumption would thus nine times the power consumption for a point-to-point connection be. As mentioned above, however, at the same time the Bandwidth doubled, a much lower bandwidth-related Power consumption achieved. In the example shown above with eight memory modules would the reduction of the bandwidth-related power consumption approx. 44% be.

Unter Bezugnahme auf die beigefügten Zeichnungen wird die vorliegende Erfindung nun anhand eines bevorzugten Ausführungsbeispiels näher erläutert.Under Reference to the accompanying drawings The present invention will now be described with reference to a preferred embodiment explained in more detail.

1 zeigt schematisch eine Speichervorrichtung gemäß einem Ausführungsbeispiel der Erfindung. 1 schematically shows a memory device according to an embodiment of the invention.

2 veranschaulicht einen ersten Typ von Lesevorgang bei der in 1 dargestellten Speichervorrichtung. 2 illustrates a first type of read at the in 1 illustrated storage device.

3 veranschaulicht einen zweiten Typ von Lesevorgang bei der in 1 dargestellten Speichervorrichtung. 3 illustrates a second type of read operation in the 1 illustrated storage device.

4 veranschaulicht einen Schreibvorgang bei der in 1 dargestellten Speichervorrichtung. 4 illustrates a write to the in 1 illustrated storage device.

5 veranschaulicht ein Entfernen oder Ersetzen eines Speichermoduls bei der in 1 dargestellten Speichervorrichtung. 5 FIG. 4 illustrates a removal or replacement of a memory module in FIG 1 illustrated storage device.

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.A memory device which can be used, for example, in a computer system as read-write memory or RAM memory is described below. 1 shows a schematic representation of the storage device.

Die Speichervorrichtung umfasst mehrere Speichermodule 100a, 100b, 100c, 100d, welche in einer Reihenanordnung miteinander gekoppelt sind. Ein erstes Speichermodul 100a und ein letztes Speichermodul 100d der Reihenanordnung sind jeweils mit einer Speichersteuerung 200 gekoppelt, so dass eine geschlossene Ringanordnung ausgebildet ist.The memory device comprises a plurality of memory modules 100a . 100b . 100c . 100d which are coupled together in a series arrangement. A first memory module 100a and a last memory module 100d the series arrangement are each with a memory controller 200 coupled, so that a closed ring assembly is formed.

Nachfolgend soll zunächst der Aufbau der Speichermodule 100a, 100b, 100c, 100d erläutert werden. Dies geschieht anhand des Speichermoduls 100a, wobei die Speichermodule 100b, 100c und 100d identisch zu dem Speichermodul 100a aufgebaut sind.Below is the structure of the memory modules 100a . 100b . 100c . 100d be explained. This is done on the basis of the memory module 100a , wherein the memory modules 100b . 100c and 100d identical to the memory module 100a are constructed.

Das Speichermodul 100a umfasst einen Speicherkern 120 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 Speicherkern 120 können Daten wiederholt gespeichert und ausgelesen werden, d. h. es handelt sich um einen Speicher vom so genannten RAM-Typ.The memory module 100a includes a memory core 120 for reading and writing data. For example, it may be one or more double data rate (DDR) memory devices. Specifically, memory modules of the so-called DDR2 type or DDR3 type or comparable memory modules can be used. In the memory core 120 Data can be repeatedly stored and read out, ie it is a memory of the so-called RAM type.

Weiterhin umfasst das Speichermodul einen Schnittstellenblock 110, welcher eine erste Eingangsschnittstelle 111, eine erste Ausgangsschnittstelle 112, eine zweite Eingangsschnittstelle 114 und eine zweite Ausgangsschnittstelle 115 bereitstellt. Die erste Eingangsschnittstelle 111 dient dazu, Schreib- oder Befehlsdaten aus einer Vorwärtsrichtung von der Speichersteuerung 200 zu empfangen. Die erste Ausgangsschnittstelle 112 dient dazu, Lesedaten in einer Rückwärtsrichtung an die Speichersteuerung 200 zu senden. Die zweite Eingangsschnittstelle 114 dient dazu, Lesedaten aus der Rückwärtsrichtung empfangen und die zweite Ausgangsschnittstelle 115 dient dazu, Schreib- oder Befehlsdaten in der Vorwärtsrichtung zu senden.Furthermore, the memory module comprises an interface block 110 which has a first input interface 111 , a first output interface 112 , a second input interface 114 and a second output interface 115 provides. The first input interface 111 serves to write or command data from a forward direction of the memory controller 200 to recieve. The first output interface 112 serves to read data in a reverse direction to the memory controller 200 to send. The second input interface 114 is used to receive read data from the reverse direction and the second output interface 115 serves to send write or command data in the forward direction.

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 Eingangsschnittstelle 111 auch Lesedaten von einem in der Rückwärtsrichtung benachbarten Speichermodul empfangen werden und mittels der ersten Ausgangsschnittstelle 112 Schreib- oder Befehlsdaten an ein in der Rückwärtsrichtung benachbartes Speichermodul gesendet werden. Ebenso können über die zweite Eingangsschnittstelle 114 Schreib- und Befehlsdaten von einem in der Vorwärtsrichtung benachbarten Speichermodul oder von der Speichersteuerung 200 empfangen werden und über die zweite Ausgangsschnittstelle 115 Lesedaten an ein in der Vorwärtsrichtung benachbartes Speichermodul oder die Speichersteuerung 200 gesendet werden.The input and output interfaces 111 . 112 . 114 . 115 However, they are not limited to a specific data type but can be used for write or command data as well as for read data. So can via the first input interface 111 read data is also received from a memory module adjacent in the reverse direction and by means of the first output interface 112 Write or command data is sent to a memory module adjacent in the reverse direction. Likewise, via the second input interface 114 Write and command data from a memory module adjacent in the forward direction or from the memory controller 200 and via the second output interface 115 Read data to a memory module adjacent to the forward direction or the memory controller 200 be sent.

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 Eingangsschnittstelle 111 und die zweite Eingangsschnittstelle 114 sowie die erste Ausgangsschnittstelle 112 und die zweite Ausgangsschnittstelle 115 identisch ausgestaltet.The first and second output interfaces each include a line driver 113 respectively. 116 which outputs the data, ie, the write or command data or the read data, in a frame-based transmission format. For the write or command data and for the read data, data frames with the same frame format are used. Apart from the direction of the data transmission are the first input interface 111 and the second input interface 114 as well as the first output interface 112 and the second output interface 115 identically designed.

Mittels eines Multiplexers 118 können entweder Schreib- oder Befehlsdaten von der ersten Eingangsschnittstelle 111 oder Schreib- oder Befehlsdaten von der zweiten Eingangsschnittstelle 114 an den Speicherkern 120 weitergeleitet werden. Weiterhin werden über die erste Eingangsschnittstelle 111 empfangene Datenrahmen an die zweite Ausgangsschnittstelle 116 weitergeleitet und über die zweite Eingangsschnittstelle 114 empfangene Datenrahmen werden an die erste Ausgangsschnittstelle 112 weitergeleitet. In den Leitungstreibern 113 und 116 werden abhängig von Speicherinhalten des Speicherkerns 120 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.By means of a multiplexer 118 can either write or command data from the first input interface 111 or write or command data from the second input interface 114 to the memory core 120 to get redirected. Furthermore, via the first input interface 111 received data frames to the second output interface 116 forwarded and via the second input interface 114 received data frames are sent to the first output interface 112 forwarded. In the line drivers 113 and 116 become dependent on memory contents of the memory core 120 generated read data is inserted into the data frames before being sent in the reverse direction or in the forward direction. This ensures that no data still needed to be overwritten accidentally.

Bei der in 1 dargestellten Speichervorrichtung umfasst die Speichersteuerung 200 eine erste Eingangsschnittstelle 201, um Lesedaten aus der Rückwärtsrichtung von den Speichermodulen 100a, 100b, 100c, 100d zu empfangen, und eine erste Ausgangsschnittstelle 202, um Schreib- oder Befehlsdaten in der Vorwärtsrichtung an die Speichermodule 100a, 100b, 100c, 100d zu senden. Weiterhin umfasst die Speichersteuerung 200 eine zweite Eingangsschnittstelle 104, um Lesedaten aus der Vorwärtsrichtung von den Speichermodulen 100a, 100b, 100c, 100d zu empfangen, und eine zweite Ausgangsschnittstelle, um Schreib- oder Befehlsdaten in der Rückwärtsrichtung an die Speichermodule 100a, 100b, 100c, 100d zu senden.At the in 1 The memory device shown comprises the memory controller 200 a first input interface 201 to read data from the backward direction of the memory modules 100a . 100b . 100c . 100d to receive, and a first output interface 202 to write or command data in the forward direction to the memory modules 100a . 100b . 100c . 100d to send. Furthermore, the memory controller includes 200 a second input interface 104 to read data from the forward direction of the memory modules 100a . 100b . 100c . 100d and a second output interface to write or command data in the reverse direction to the memory modules 100a . 100b . 100c . 100d to send.

Die erste Eingangsschnittstelle 111 des ersten Speichermoduls 100a ist mit der ersten Ausgangsschnittstelle 202 der Speichersteuerung 200 gekoppelt, um Daten in der Vorwärtsrichtung zu übertragen. Die erste Ausgangsschnittstelle 112 des ersten Speichermoduls 100a ist mit der ersten Eingangsschnittstelle der Speichersteuerung 200 gekoppelt, um Daten in der Rückwärtsrichtung zu übertragen. Das Speichermodul 100d ist das letzte Speichermodul der Reihenanordnung von Speichermodulen. Die zweite Eingangsschnittstelle des letzten Speichermoduls 100d ist mit der zweiten Ausgangsschnittstelle 205 der Speichersteuerung 200 gekoppelt, um Daten in der Rückwärtsrichtung zu übertragen. Die zweite Ausgangsschnittstelle des letzten Speichermoduls 100d ist mit der zweiten Eingangsschnittstelle 204 der Speichersteuerung 200 gekoppelt, um Daten in der Vorwärtsrichtung zu übertragen. Für die übrigen Speichermodule 100b, 100c ist die erste Eingangsschnittstelle 111 mit der zweiten Ausgangsschnittstelle 115 eines in der Rückwärtsrichtung benachbarten Speichermoduls 100a, 100b gekoppelt, 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, 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, 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, um Daten in der Vorwärtsrichtung zu übertragen. Die Speichersteuerung 200 und die Speichermodule 100a, 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 Speichersteuerung 200 und jedem der Speichermodule 100a, 100b, 100c, 100d übertragen werden können.The first input interface 111 of the first memory module 100a is with the first output interface 202 the memory controller 200 coupled to transmit data in the forward direction. The first output interface 112 of the first memory module 100a is with the first input interface of the memory controller 200 coupled to transmit data in the reverse direction. The memory module 100d is the last memory module of the array of memory modules. The second input interface of the last memory module 100d is with the second output interface 205 the memory controller 200 coupled to transmit data in the reverse direction. The second output interface of the last memory module 100d is with the second input interface 204 the memory controller 200 coupled to transmit data in the forward direction. For the remaining memory modules 100b . 100c is the first input interface 111 with the second output interface 115 a memory module adjacent in the backward direction 100a . 100b coupled to transmit data in the forward direction, the first output interface 112 with the second input interface 114 the memory module adjacent in the backward direction 100a . 100b coupled to transmit data in the reverse direction, the second input interface 114 with the first output interface 112 a memory module adjacent in the forward direction 100c . 100d coupled to transmit data in the reverse direction, and the second output interface 115 with the first input interface 111 of the memory module adjacent in the forward direction 100c . 100d coupled to transmit data in the forward direction. The memory controller 200 and the memory modules 100a . 100b . 100c . 100d thus form a closed ring arrangement in which write or command data and read data in both the forward and backward directions between the memory controller 200 and each of the memory modules 100a . 100b . 100c . 100d can be transmitted.

Der in 1 dargestellte Aufbau für die Speichervorrichtung mit der entsprechenden Struktur der Speichermodule 100a, 100b, 100c, 100d und der Speichersteuerung 200 bietet die folgenden Vorteile: – Eine Funktionsstörung oder ein Ausfall des Schnittstellenblocks 110 bei einem der Speichermodule 100a, 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 Speichersteuerung 200 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 Speichersteuerung 200 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 Speichersteuerung 200 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 Speichersteuerung 200 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 Speichermodule 100a, 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.
The in 1 illustrated structure for the memory device with the corresponding structure of the memory modules 100a . 100b . 100c . 100d and the memory controller 200 offers the following advantages: - A malfunction or failure of the interface block 110 at one of the memory modules 100a . 100b . 100c . 100d does not cause failure of the entire storage device. Rather, with respect to the faulty memory module arranged in the reverse direction memory modules for memory control 200 still accessible from the forward direction. Likewise, storage memory modules arranged in the forward direction with respect to the failed memory module remain 200 accessible from the reverse direction.
  • Furthermore, the latency is limited compared to a conventional chain-type arrangement of memory modules. So can access one of the memory modules 100a . 100b . 100c . 100d the shorter data path from the memory controller 200 to be selected. Since two data paths are available for write or command data and for read data, the bandwidth for data transmission is effectively doubled.
  • The number of point-to-point connections required for the closed ring assembly is only an additional point-to-point connection between the last memory module compared to a conventional chain-type arrangement 100d the row arrangement and the memory control 200 increased so that doubling the bandwidth does not mean a correspondingly increased power consumption or vice versa with the same bandwidth, the power consumption is significantly reduced.
  • Furthermore, it is possible during operation of the memory device of one of the memory modules 100a . 100b . 100c . 100d without having to suspend the operation of the remaining memory modules for this purpose. It is thus to replace one of the memory modules 100a . 100b . 100c . 100d not necessary to disable the entire storage device. It is sufficient to provide a single spare memory module to take over the function of the memory module to be replaced during the replacement process, so that the capacity of the memory device is not affected. For example, the data of the memory module to be replaced can be temporarily stored in the remaining memory modules of the memory device. A full replacement storage device is not required. This reduces system cost, power consumption and space requirements on a system board.

Nachfolgend sollen die wesentlichen Vorgänge beim Betreiben der Speichervorrichtung beispielhaft erläutert werden.following should be the essential processes to be exemplified in operating the memory device.

2 veranschaulicht einen Lesevorgang eines ersten Typs bei der in 1 dargestellten Speichervorrichtung. Bei dem Lesevorgang sendet die Speichersteuerung 200 mit den Schreib- oder Befehlsdaten einen ersten Typ von Lesebefehl an das für den Lesevorgang vorgesehene Speichermodul, bei diesem Beispiel das Speichermodul 100a. Der Schnittstellenblock 110 des Speichermoduls 100a leitet den empfangenen Lesebefehl an den Speicherkern 120, welcher abhängig von darin gespeicherten Speicherinhalten Lesedaten erzeugt, welche von dem Speichermodul 100a in derselben Richtung gesendet werden, aus welcher auch der Lesebefehl empfangen wurde. Der entsprechende Datenfluss ist in 2 durch hervorgehobene Pfeile mit größerer Linienbreite veranschaulicht, wobei gestrichelte Pfeile Befehlsdaten CMD veranschaulichen und geschlossen dargestellte Peile die erzeugten Lesedaten RD veranschaulichen. 2 illustrates a read operation of a first type in the case of 1 illustrated storage device. During the read process, the memory controller sends 200 with the write or command data, a first type of read command to the memory module intended for the read operation, in this example the memory module 100a , The interface block 110 of the memory module 100a directs the received read command to the memory core 120 which, depending on memory contents stored therein, generates read data which is output from the memory module 100a be sent in the same direction from which the read command was received. The corresponding data flow is in 2 illustrated by highlighted arrows with larger line width, with dashed arrows illustrate command data CMD and closed represented peen illustrate the generated read data RD.

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 Schnittstellenblock 110 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.In the first type of read command, the generated read data RD is inserted as fast as possible into a data frame which is in the same direction through the memory module 100a is transmitted as the data frame in which the read command was included. The interface block 110 ensures that no data transmitted in this data frame is accidentally overwritten. However, the ability to override data in the data frame may also be used to transmit the read data RD with a higher priority.

3 veranschaulicht einen zweiten Typ von Lesevorgang bei der in 1 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. 3 illustrates a second type of read operation in the 1 illustrated storage device. The data flow is again illustrated by highlighted arrows, dashed arrows illustrating the command data CMD, while solid arrows illustrating the read data RD.

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 in 3 dargestellten Beispiel das Speichermodul 100d. Der Lesebefehl wird an den Speicherkern 120 weitergeleitet, welcher abhängig von darin gespeicherten Speicherdaten Lesedaten RD erzeugt, welche von dem Speichermodul 100d in der anderen Richtung gesendet werden als diejenige, aus welcher der Lesebefehl empfangen wurde.In the second type of read, the memory controller sends 200 a second type of read command to the memory module provided for the read operation, in which 3 illustrated example, the memory module 100d , The read command is sent to the memory core 120 which, depending on storage data stored therein, generates read data RD which is output from the memory module 100d in the other direction than the one from which the read command was received.

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 Speichermodul 100d aus der anderen Richtung empfangen wurde als derjenige Datenrahmen, mit welchem der Lesebefehl übertragen wurde. Auch hier gewährleistet der Schnittstellenblock 110, 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.Upon receipt of the second type of read command, the interface block adds 110 the generated read data RD as fast as possible in a data frame, which from the memory module 100d received from the other direction than the data frame with which the read command was transmitted. Again, the interface block ensures 110 in that no data is accidentally overwritten in the data frame. However, the possibility of overwriting data may also be used to transmit the read data RD with a higher priority.

Die in 2 und 3 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 Speichermodule 100a, 100b, 100c, 100d durch beide Typen von Lesebefehlen ausgelesen werden.In the 2 and 3 The read operations shown are given by way of example only. It is understood that for each of the two types of read operations, the read command in both the forward and backward directions may be transferred to the memory module intended for the read operation. Furthermore, each of the memory modules 100a . 100b . 100c . 100d be read out by both types of read commands.

Bei dem in 3 veranschaulichten zweiten Typ von Lesebefehl ist es aus Gründen einer kürzeren Latenzzeit jedoch bevorzugt, die Speichermodule 100a, 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 Speichermodule 100c, 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.At the in 3 However, for reasons of shorter latency, it is preferred to use the memory modules as illustrated in the second type of read command 100a . 100b the first half of the series arrangement in the forward direction with a read command, which is transmitted in the forward direction, while the memory modules 100c . 100d in the forward direction of the second half of the row arrangement are preferably read out by a read command, which is transmitted in the reverse direction.

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.At the in 2 On the other hand, the first type of read command illustrated is the latency independent of the position of the read memory module in the series arrangement and of the direction used to transmit the read command.

4 veranschaulicht einen Schreibvorgang bei der in 1 dargestellten Speichervorrichtung. Der Datenfluss ist wiederum durch hervorgehobene Pfeile veranschaulicht. Bei dem Schreibvorgang werden Schreibdaten WRT einschließlich eines Schreibbefehls von der Speichersteuerung 200 an das für den Schreibvorgang vorgesehene Speichermodul 100b übertragen. 4 illustrates a write to the in 1 illustrated storage device. The data flow is again illustrated by highlighted arrows. In the write operation, write data WRT including a write command from the memory controller 200 to the memory module provided for the write operation 100b transfer.

Sobald der Datenrahmen mit den Schreibdaten WRT den Schnittstellenblock 110 des für den Schreibvorgang vorgesehenen Speichermoduls 100b erreicht, werden die Schreibdaten aus dem Datenrahmen an den Speicherkern 120 weitergeleitet und darin gespeichert. Der Datenrahmen wird an das nächste Speichermodul in der Ringanordnung weitergeleitet und kann dort mit Lesedaten überschrieben werden.As soon as the data frame with the write data WRT the interface block 110 of the memory module provided for the write operation 100b reached, the write data from the data frame to the memory core 120 forwarded and stored in it. The data frame is forwarded to the next memory module in the ring arrangement and can be overwritten there with read data.

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 Speichermodulen 100a, 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 Speichermodule 100c, 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.Also for the in 4 It is understood that the write data WRT can be transmitted in either the forward direction or the backward direction to the memory module intended for the write operation. For reasons of shorter latency, it is preferred in memory modules 100a . 100b which are in the forward direction in the first half of the series arrangement to transmit the write data WRT in the forward direction, while for the memory modules 100c . 100d which are in the forward direction in the second half of the series arrangement, it is preferable to transmit the write data WRT in the reverse direction.

5 veranschaulicht die Vorgehensweise beim Entfernen oder Ersetzen eines der Speichermodule 100a, 100b, 100c, 100d. In 5 ist beispielhaft eine Situation dargestellt, bei welcher das Speichermodul 100c entfernt bzw. ersetzt wird (veranschaulicht durch eine gepunktete Umfassung des Speichermoduls 100c). Beispielsweise kann zuvor von der Speichersteuerung 200 erfasst worden sein, dass für das Speichermodul 100c eine Funktionsstörung vorliegt. Eine Datenübertragung von dem Speichermodul 100b über das Speichermodul 100c an das Speichermodul 100d und umgekehrt ist in diesem Fall nicht mehr möglich. 5 illustrates the procedure for removing or replacing one of the memory modules 100a . 100b . 100c . 100d , In 5 is exemplified a situation in which the memory module 100c is replaced (illustrated by a dotted embrace of the memory module 100c ). For example, previously may be from the memory controller 200 be detected that for the memory module 100c there is a malfunction. A data transfer from the storage module 100b via the memory module 100c to the memory module 100d and vice versa is no longer possible in this case.

In diesem Fall wird das Speichermodul 100b durch einen entsprechenden Konfigurationsbefehl, welcher von der Speichersteuerung 200 in der Vorwärtsrichtung an das Speichermodul 100b gesendet wird, in eine alternative Betriebsweise versetzt, bei welcher die Eingangs- und Ausgangsschnittstelle, welcher dem zu entfernenden bzw. zu ersetzenden Speichermodul 100c benachbart sind, deaktiviert sind. Dies ist in 5 durch gepunktete Strukturen innerhalb des Speichermoduls 100b veranschaulicht.In this case, the memory module becomes 100b by a corresponding configuration command issued by the memory controller 200 in the forward direction to the memory module 100b is sent, in an alternative mode of operation, in which the input and output interface, which the memory module to be removed or replaced 100c are adjacent, are disabled. This is in 5 through dotted structures within the memory module 100b illustrated.

Entsprechend wird das Speichermodul 100d, welches in der Vorwärtsrichtung benachbart zu dem zu entfernenden bzw. zu ersetzenden Speichermodul 100c ist, von der Speichersteuerung 200 durch einen entsprechenden Konfigurationsbefehl in eine alternative Betriebsweise versetzt, bei welcher ebenfalls die Eingangsschnittstelle und die Ausgangsschnittstelle, welche dem zu entfernenden bzw. zu ersetzenden Speichermodul 100c benachbart sind, deaktiviert sind. Dies ist wiederum durch gepunktete Strukturen innerhalb des Speichermoduls 100d veranschaulicht.Accordingly, the memory module 100d which is adjacent in the forward direction to the memory module to be removed 100c is from the memory controller 200 by an appropriate configuration command in an alternative mode of operation, in which also the input interface and the output interface, which is to be removed or replaced memory module 100c are adjacent, are disabled. This in turn is due to dotted structures within the memory module 100d illustrated.

In diesem Zustand kann dann das Speichermodul 100c entfernt bzw. ersetzt werden. Wie es aus 5 erkennbar ist, teilt das Entfernen des Speichermoduls 100c die geschlossene Ringanordnung in zwei kettenartige Anordnungen, in welchen nur Lesevorgänge des anhand von 3 beschriebenen zweiten Typs möglich sind.In this state, then the memory module 100c removed or replaced. Like it out 5 is recognizable, tells the removal of the memory module 100c the closed ring assembly in two chain-like arrangements, in which only readings of the basis of 3 described second type are possible.

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 Speichersteuerung 200 ist üblicherweise als Bestandteil der Systemplatine vorgesehen. Die anhand von 1 beschriebenen Verbindungen zwischen der Speichersteuerung 200 und den Speichermodulen 100a, 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.In memory devices of the above be typed for computer systems, it is common for memory modules 100a . 100b . 100c . 100d corresponding slots are provided on a system board of the computer system. The memory controller 200 is usually provided as part of the system board. The basis of 1 described connections between the memory controller 200 and the memory modules 100a . 100b . 100c . 100d would thus be provided via appropriate connections on the system board. The closed ring arrangement can then be ensured, on the one hand, by occupying all slots provided for the ring arrangement with memory modules. On the other hand, it is possible to use a smaller number of memory modules by populating unused slots with a "dummy module." For example, a dummy module may be formed by a printed circuit board having terminals corresponding to the memory modules and the terminals corresponding to the first input interface , connects to the terminals corresponding to the second output interface, and connects the terminals corresponding to the second input interface to the terminals corresponding to the first output interface to close the ring arrangement in both the forward and backward directions.

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 Speichersteuerung 200 einen weiteren Konfigurationsbefehl an diejenigen Speichermodule, welche der Position des entfernten, ersetzten oder eingefügten Speichermoduls benachbart sind, d. h. bei dem Beispiel von 5 an die Speichermodule 100b und 100d, 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.If as based on 5 when the closed ring assembly has been opened, and a memory module has been removed, replaced or added so that the ring assembly is now physically closed again, the memory controller sends 200 another configuration command to those memory modules which are adjacent to the location of the removed, replaced or inserted memory module, ie in the example of FIG 5 to the memory modules 100b and 100d to re-enable the input interface and the output interface, which are respectively adjacent to the removed, replaced or inserted memory module. Subsequently, a training procedure for the data transfer between these memory modules and the new adjacent memory module is performed. It will be appreciated that the new contiguous memory module may be either a replaced or newly added memory module or a memory module already included in the ring assembly if a dummy module is used instead of the remote memory module as described above.

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.Thus, what has been described hereinbefore is a memory device and a method of operating this memory device in which high reliability is ensured by using a closed ring arrangement in which data can be transmitted in both the forward and backward directions. In particular, the memory device can continue to be operated, even if in one of the memory modules the interface block 110 fails. In the event of a failure or maintenance, the ring assembly may be split into two chain-type arrangements and it is possible to replace each one of the memory modules while the other memory modules remain in operation.

Claims (26)

Speichermodul, umfassend einen Speicherkern (120) zum Lesen und Schreiben von Daten, 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, dadurch gekennzeichnet dass 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, und – über den zweite Ausgangsschnittstelle (115) Lesedaten in der Vorwärtsrichtung zu senden.Memory module comprising a memory core ( 120 ) for reading and writing data, a first input interface ( 111 ) to receive write or command data from a forward direction, a first output interface ( 112 ) to send read data in a reverse direction, a second input interface ( 114 ) to receive read data from the reverse direction and a second output interface ( 115 ) to send write or command data in the forward direction, characterized in that the memory module is adapted to, in addition: - via the first input interface ( 111 ) Receive read data from the forward direction, - via the first output interface ( 112 ) Send write or command data in the reverse direction, - via the second input interface ( 114 ) Receive write or command data from the reverse direction, and - via the second output interface ( 115 ) To send read data in the forward direction. Speichermodul nach Anspruch 1, dadurch gekennzeichnet, dass 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.Memory module according to claim 1, characterized in that the first input interface ( 111 ) and the second input interface ( 114 ) are configured identically, and that the first output interface ( 112 ) and the second output interface ( 115 ) are configured identically. Speichermodul nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass 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.Memory module according to claim 1 or 2, characterized in that the first input interface ( 111 ), the second input interface ( 114 ), the first output interface ( 112 ) and the second output interface ( 115 ) are configured for a frame-based data transmission with an identical frame format. Speichermodul nach Anspruch 3, dadurch gekennzeichnet, dass das Speichermodul dazu ausgestaltet ist, bei Empfang eines Lesebefehls in den Schreib- oder Befehlsdaten entweder aus der Vorwärtsrichtung oder aus der Rückwärtsrichtung abhängig von Speicherinhalten des Speicherkerns (120) Lesedaten zu erzeugen, die Lesedaten in einen empfangenen Datenrahmen einzufügen, und den Datenrahmen in derselben Richtung zu senden, aus welcher er empfangen wurde.Memory module according to claim 3, characterized in that the memory module is configured, upon receipt of a read command in the write or command data from either the forward direction or from the backward direction dependent on memory contents of the memory core ( 120 ) To generate read data, insert the read data into a received data frame, and send the data frame in the same direction from which it was received. Speichermodul nach Anspruch einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Speichermodul dazu ausgestaltet ist, bei Empfang eines Lesebefehls in den Schreib- oder Befehlsdaten entweder aus der Vorwärtsrichtung oder aus der Rückwärtsrichtung abhängig von Speicherinhalten des Speicherkerns (120) Lesedaten zu erzeugen, wobei für den Lesebefehl zwei unterschiedliche Typen vorgesehen sind, wobei das Speichermodul dazu ausgestaltet ist, bei einem ersten Typ des Lesebefehls die Lesedaten in derselben Richtung zu senden wie diejenige, aus welcher der Lesebefehl empfangen wurde, und bei einem zweiten Typ des Lesebefehls die Lesedaten in der anderen Richtung zu senden als diejenige, aus welcher aus der anderen Richtung als der Lesebefehl empfangen wurde.A memory module as claimed in any one of the preceding claims, characterized in that the memory module is adapted, upon receipt of a read command in the write or command data, either from the forward direction or from the reverse direction, depending on memory contents of the memory core ( 120 ) To generate read data with two different types being provided for the read command, the memory module being configured to send the read data in the same direction as the one from which the read command was received and a second type in a first type of read command of the read command to send the read data in the other direction than that from which was received from the other direction than the read command. Speichermodul nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Dateneingang des Speicherkerns (120) über Multiplexermittel (118) sowohl mit der ersten Eingangsschnittstelle (111) als auch mit der zweiten Eingangsschnittstelle (114) gekoppelt ist.Memory module according to one of the preceding claims, characterized in that a data input of the memory core ( 120 ) via multiplexer means ( 118 ) with both the first input interface ( 111 ) as well as with the second input interface ( 114 ) is coupled. Speichermodul nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass 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 (111) und die zweite Ausgangsschnittstelle (112) zu deaktivieren.Memory module according to one of the preceding claims, characterized in that the memory module is configured, upon receipt of a corresponding configuration command in the write or command data either the first input interface ( 111 ) and the first output interface ( 112 ) or the second input interface ( 111 ) and the second output interface ( 112 ). Speichervorrichtung, umfassend mindestens ein Speichermodul (100a, 100b, 100c, 100d) mit – einem Speicherkern (120) zum Lesen und Schreiben von Daten, – 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, dadurch gekennzeichnet, dass 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, und dass 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.Memory device comprising at least one memory module ( 100a . 100b . 100c . 100d ) with - a memory core ( 120 ) for reading and writing data, - a first input interface ( 111 ) to receive write or command data from a forward direction, a first output interface ( 112 ) to send read data in a reverse direction, - a second input interface ( 114 ) to receive read data from the reverse direction, and a second output interface ( 115 ) to send write or command data in the forward direction, and a memory controller having a first input interface (FIG. 201 ) to read data from the reverse direction of the at least one memory module ( 100a . 100b . 100c . 100d ) and a first output interface ( 202 ) to write or command data in the forward direction to the at least one memory module ( 100a . 100b . 100c . 100d ), characterized in that the at least one memory module ( 100a . 100b . 100c . 100d ), moreover: - via the first input interface ( 111 ) Receive read data from the forward direction, - via the first output interface ( 112 ) Send write or command data in the reverse direction, - via the second input interface ( 114 ) Receive write or command data from the reverse direction, and - via the second output interface ( 115 ) Send read data in the forward direction, and that the memory controller ( 200 ) a second input interface ( 204 ) to read data from the forward direction of the at least one memory module ( 100a . 100b . 100c . 100d ) and a second output interface ( 205 ) to write or command data in the reverse direction to the at least one memory module ( 100a . 100b . 100c . 100d ), the memory controller ( 200 ) and the at least one memory module ( 100a . 100b . 100c . 100d ) form a closed ring arrangement in which data can be transmitted both in the forward direction and in the reverse direction. Speichervorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass das mindestens eine Speichermodul (100a, 100b, 100c, 100d) darüber hinaus nach einem der Ansprüche 2–7 ausgestaltet ist.Memory device according to claim 8, characterized in that the at least one memory module ( 100a . 100b . 100c . 100d ) is further configured according to any one of claims 2-7. Speichervorrichtung nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass die Speichervorrichtung mehrere der Speichermodule (100a, 100b, 100c, 100d) umfasst, welche in einer Reihenanordnung miteinander gekoppelt sind.Memory device according to claim 8 or 9, characterized in that the memory device comprises a plurality of the memory modules ( 100a . 100b . 100c . 100d ), which are coupled together in a series arrangement. Speichervorrichtung nach Anspruch 10, dadurch gekennzeichnet, – dass die erste Eingangsschnittstelle (111) eines ersten Speichermoduls (100a) der Reihenanordnung mit der ersten Ausgangsschnittstellen (202) der Speichersteuerung (200) gekoppelt ist, um Daten in der Vorwärtsrichtung zu übertragen, – dass 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, – dass 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 – dass 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.Memory device according to claim 10, characterized in that - the first input interface ( 111 ) of a first memory module ( 100a ) of the series arrangement with the first output interfaces ( 202 ) the memory controller ( 200 ) to transmit data in the forward direction, that the first output interface ( 112 ) of the first memory module ( 100a ) of the series arrangement with the first input interface ( 201 ) the memory controller ( 200 ) in order to transmit data in the reverse direction, that the second input interface ( 114 ) of a last memory module ( 100d ) of the series arrangement with the second output interface ( 205 ) the memory controller ( 200 ) is coupled to transmit data in the reverse direction, and that the second output interface ( 115 ) of the last memory module ( 100d ) the row order with the second input interface ( 204 ) the memory controller ( 200 ) in order to transmit data in the forward direction, wherein for the remaining memory modules ( 100b . 100c ) of the series arrangement: - the first input interface ( 111 ) with the second output interface ( 115 ) of a memory module adjacent in the backward direction ( 100a . 100b ) is coupled to transfer data in the forward direction, the first output interface ( 112 ) with the second input interface ( 114 ) of the memory module adjacent in the backward direction ( 100a . 100b ) is coupled to transfer data in the reverse direction, - the second input interface ( 114 ) with the first output interface ( 112 ) of a memory module adjacent in the forward direction ( 100c . 100d ) is coupled to transfer data in the reverse direction, and - the second output interface ( 115 ) with the first input interface ( 111 ) of the memory module adjacent in the forward direction ( 100c . 100d ) to transmit data in the forward direction. Speichervorrichtung nach Anspruch 10 oder 11, dadurch gekennzeichnet, dass 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.Memory device according to claim 10 or 11, characterized in that the memory modules ( 100a . 100b . 100c . 100d ) of the array are adapted, upon receiving a corresponding instruction in the write and command data from either the forward direction or the reverse direction, a training procedure for data transfer with adjacent memory module ( 100a . 100b . 100c . 100d ), which is in the other direction with respect to the respective memory module than that from which the command was received. Verfahren zum Betreiben einer Speichervorrichtung, wobei die Speichervorrichtung umfasst: mindestens ein Speichermodul (100a, 100b, 100c, 100d) mit einem Speicherkern (120) zum Lesen und Schreiben von Daten 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, dadurch gekennzeichnet, dass das Verfahren weiterhin umfasst: 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.A method of operating a memory device, the memory device comprising: at least one memory module ( 100a . 100b . 100c . 100d ) with a memory core ( 120 ) for reading and writing data and a memory controller ( 200 ), the method comprising: sending write or command data in a forward direction from the memory controller ( 200 ) to the at least one memory module ( 100a . 100b . 100c . 100d ) and receiving read data in the memory controller ( 200 ) of the at least one memory module ( 100a . 100b . 100c . 100d ) from a reverse direction, characterized in that the method further comprises: sending write or command data in the reverse direction from the memory controller ( 200 ) to the at least one memory module ( 100a . 100b . 100c . 100d ) and receiving read data in the memory controller ( 200 ) of the at least one memory module ( 100a . 100b . 100c . 100d ) from the forward direction. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass das Verfahren umfasst: Empfangen eines Lesebefehls 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 der anderen Richtung als diejenige, aus welcher der Lesebefehl empfangen wurde.A method according to claim 13, characterized in that the method comprises: receiving a read command with the write or command data in the at least one memory module ( 100a . 100b . 100c . 100d ) from either the forward direction or the backward direction, generating read data depending on memory contents of the memory core ( 120 ) of the memory module ( 100a . 100b . 100c . 100d ), Sending the read data from the memory module ( 100a . 100b . 100c . 100d ) to the memory controller ( 200 ) in the other direction than that from which the read command was received. Verfahren nach Anspruch 13 oder 14, dadurch gekennzeichnet, dass das Verfahren umfasst: Empfangen eines Lesebefehls 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 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 derselben Richtung wie diejenige, aus welcher der Lesebefehl empfangen wurde.A method according to claim 13 or 14, characterized in that the method comprises: receiving a read command in the write or command data in the at least one memory module ( 100a . 100b . 100c . 100d ) from either the forward direction or the backward direction, generating read data depending on memory contents of the memory core ( 120 ) of the memory module ( 100a . 100b . 100c . 100d ), Sending the read data from the memory module ( 100a . 100b . 100c . 100d ) to the memory controller ( 200 ) in the same direction as that from which the read command was received. Verfahren nach einem der Ansprüche 13–15, dadurch gekennzeichnet, dass das Verfahren umfasst: 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.Method according to one of claims 13-15, characterized in that the method comprises: receiving a write command in the write or command data in the at least one memory module ( 100a . 100b . 100c . 100d ) from either the forward direction or the backward direction, generating memory contents of the memory core ( 120 ) of the memory module ( 100a . 100b . 100c . 100d ) depending on write data in the write or command data. Verfahren nach einem der Ansprüche 13–16, dadurch gekennzeichnet, dass die Speichervorrichtung mehrere der Speichermodule (100a, 100b, 100c, 100d) umfasst, welche in einer Reihenanordnung miteinander gekoppelt sind, wobei das Verfahren umfasst: Entfernen eines der Speichermodule (100a, 100b, 100c, 100d) während des Betriebs der Speichervorrichtung.Method according to one of claims 13-16, characterized in that the memory device comprises a plurality of the memory modules ( 100a . 100b . 100c . 100d ), which are coupled together in a series arrangement, the method comprising: removing one of the memory modules ( 100a . 100b . 100c . 100d ) during operation of the storage device. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass das Verfahren weiterhin umfasst: Ü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.A method according to claim 17, characterized in that the method further comprises: transferring write or command data to a memory module ( 100a . 100b . 100c . 100d ) which with respect to the remote memory module ( 100a . 100b . 100c . 100d ) is in the forward direction, in the reverse direction, and transmitting read data from the memory module (FIG. 100a . 100b . 100c . 100d ), which with respect to the remote memory module ( 100a . 100b . 100c . 100d ) is in the forward direction, in the forward direction. Verfahren nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass das Verfahren weiterhin umfasst: Ü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.A method according to claim 17 or 18, characterized in that the method further comprises: transferring write or command data to a memory module ( 100a . 100b . 100c . 100d ), which with respect to the remote memory module ( 100a . 100b . 100c . 100d ) is in the reverse direction, in the forward direction, and transmitting read data from the memory module (FIG. 100a . 100b . 100c . 100d ), which with respect to the remote memory module ( 100a . 100b . 100c . 100d ) is in the reverse direction, in the reverse direction. Verfahren nach einem der Ansprüche 13–19, dadurch gekennzeichnet, dass die Speichervorrichtung mehrere der Speichermodule (100a, 100b, 100c, 100d) umfasst, welche in einer Reihenanordnung miteinander gekoppelt sind, wobei das Verfahren umfasst: Einfügen eines der Speichermoduls (100a, 100b, 100c, 100d) während des Betriebs der Speichervorrichtung.Method according to one of claims 13-19, characterized in that the memory device comprises a plurality of the memory modules ( 100a . 100b . 100c . 100d ), which are coupled together in a series arrangement, the method comprising: inserting one of the memory module ( 100a . 100b . 100c . 100d ) during operation of the storage device. Verfahren nach Anspruch 20, dadurch gekennzeichnet, dass das Verfahren weiterhin umfasst: Ü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.A method according to claim 20, characterized in that the method further comprises: transferring write or command data to a memory module ( 100a . 100b . 100c . 100d ), which with respect to the memory module to be inserted ( 100a . 100b . 100c . 100d ) is in the forward direction, in the reverse direction, and transmitting read data from the memory module (FIG. 100a . 100b . 100c . 100d ), which with respect to the memory module to be inserted ( 100a . 100b . 100c . 100d ) is in the forward direction, in the forward direction. Verfahren nach Anspruch 20 oder 21, dadurch gekennzeichnet, dass das Verfahren weiterhin umfasst: Ü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.A method according to claim 20 or 21, characterized in that the method further comprises: transferring write or command data to a memory module ( 100a . 100b . 100c . 100d ), which with respect to the memory module to be inserted ( 100a . 100b . 100c . 100d ) is in the reverse direction, in the forward direction, and transmitting read data from the memory module (FIG. 100a . 100b . 100c . 100d ), which with respect to the memory module to be inserted ( 100a . 100b . 100c . 100d ) is in the reverse direction, in the reverse direction. Verfahren nach einem der Ansprüche 20–22, dadurch gekennzeichnet, dass das Verfahren weiterhin umfasst: Trainieren der Datenübertragung zwischen dem eingefügten Speichermodul (100a, 100b, 100c, 100d) und einem benachbarten der Speichermodule (100a, 100b, 100c, 100d).Method according to one of claims 20-22, characterized in that the method further comprises: training the data transfer between the inserted memory module ( 100a . 100b . 100c . 100d ) and an adjacent one of the memory modules ( 100a . 100b . 100c . 100d ). Verfahren nach einem der Ansprüche 13–23, dadurch gekennzeichnet, dass die Speichervorrichtung nach einem der Ansprüche 8–12 ausgestaltet ist.Method according to one of claims 13-23, characterized the storage device is designed according to one of claims 8-12. 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, dadurch gekennzeichnet, dass 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.Memory controller for a memory device, comprising - a first input interface ( 201 ) to receive read data from a reverse direction, and - a first output interface ( 202 ) to send write or command data in a forward direction, characterized in that the memory controller further comprises a second input interface ( 204 ) to receive read data from the forward direction and a second output interface ( 205 ) to send write or command data in the reverse direction, the memory controller being configured to communicate with at least one memory module ( 100a . 100b . 100c . 100d ) to form a closed ring arrangement in which data can be transmitted both in the forward direction and in the backward direction. Speichersteuerung nach Anspruch 25, dadurch gekennzeichnet, dass die Speichersteuerung zur Durchführung des Verfahrens nach einem der Ansprüche 13–24 ausgestaltet ist.Memory controller according to Claim 25, characterized that the memory controller for performing the method after a the claims 13-24 is designed.
DE102005043547A 2005-09-13 2005-09-13 Memory module, memory device and method for operating a memory device Expired - Fee Related DE102005043547B4 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102005043547A DE102005043547B4 (en) 2005-09-13 2005-09-13 Memory module, memory device and method for operating a memory device
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 (en) 2005-09-13 2005-09-13 Memory module, memory device and method for operating a memory device

Publications (2)

Publication Number Publication Date
DE102005043547A1 true DE102005043547A1 (en) 2007-03-29
DE102005043547B4 DE102005043547B4 (en) 2008-03-13

Family

ID=37832367

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005043547A Expired - Fee Related DE102005043547B4 (en) 2005-09-13 2005-09-13 Memory module, memory device and method for operating a memory device

Country Status (2)

Country Link
US (1) US20070079186A1 (en)
DE (1) DE102005043547B4 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
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
US20100005219A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation 276-pin buffered memory module with enhanced memory system interconnect and features
US20100005214A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation Enhancing bus efficiency in a memory system
US20100005218A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation Enhanced cascade interconnected memory system
US20100005212A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation Providing a variable frame format protocol in a cascade interconnected 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
US20100005206A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation Automatic read data flow control in a cascade interconnect memory system
US7717752B2 (en) * 2008-07-01 2010-05-18 International Business Machines Corporation 276-pin buffered memory module with enhanced memory system interconnect and features

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1429340A2 (en) * 2002-12-12 2004-06-16 Samsung Electronics Co., Ltd. Memory system having two-way ring topology and memory device and memory module for ring topology memory system
US20050024963A1 (en) * 2003-07-08 2005-02-03 Infineon Technologies Ag Semiconductor memory module

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4072424B2 (en) * 2002-12-02 2008-04-09 エルピーダメモリ株式会社 Memory system and control method thereof
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1429340A2 (en) * 2002-12-12 2004-06-16 Samsung Electronics Co., Ltd. Memory system having two-way ring topology and memory device and memory module for ring topology memory system
US20050024963A1 (en) * 2003-07-08 2005-02-03 Infineon Technologies Ag Semiconductor memory module

Also Published As

Publication number Publication date
US20070079186A1 (en) 2007-04-05
DE102005043547B4 (en) 2008-03-13

Similar Documents

Publication Publication Date Title
DE102005043547B4 (en) Memory module, memory device and method for operating a memory device
DE10330812B4 (en) Semiconductor memory module
DE102005053625B4 (en) Memory module with a plurality of memory modules
DE102005055185B4 (en) Semiconductor memory module
DE2907333A1 (en) SETUP IN AN ELECTRONIC DATA PROCESSING SYSTEM TO INCREASE THE AVAILABILITY OF MEMORIES
CH630735A5 (en) CONTROL DEVICE WITH A MICROPROCESSOR.
CH634939A5 (en) CHANNEL DATA BUFFER ARRANGEMENT IN A DATA PROCESSING SYSTEM.
DE102006036825A1 (en) Semiconductor memory arrangement with serial control / address bus
DE102008030514A1 (en) Method and device for connecting storage devices
DE102006048206A1 (en) Storage systems and methods of operating the storage systems
DE102006016499A1 (en) Memory device`s error correction method, involves selecting and checking data blocks for errors in order to detect defective data blocks, and determining bits of defective data blocks and redundant information during existence of error
DE3247801A1 (en) CIRCUIT ARRANGEMENT FOR CONNECTING SEVERAL COMPUTER PAIRS
DE4406258C2 (en) Information processing device
DE102005009806A1 (en) Buffer component for use in e.g. dynamic random access memory module, has control unit setting control signal for activating memory chips group with consecutive address and command signals, so that signals are taken to memory chips of group
DE3903486C2 (en)
DE102006032343B4 (en) Semiconductor memory interface
DE102004033387B4 (en) Digital RAM memory circuit with extended command structure
DE10339787A1 (en) Memory module and method for operating a memory module
DE102005051945A1 (en) Storage device for use in a storage module
EP1118999A1 (en) Method and system to use a DRAM in both single-memory and multi-memory modes
DE10307548A1 (en) Synchronous memory system for computer, has memory ranks with one-to-one correspondence with elements of select command segment
DE19818430B4 (en) Bidirectional data input / output circuit of a synchronizing memory element and method for controlling the same
DE102006006571A1 (en) Semiconductor arrangement and method for operating a semiconductor device
DE10063936A1 (en) Interrupt controller for a microprocessor
DE102008012730B3 (en) Electronic control and diagnostic device for operating a valve unit

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