EP1652190A1 - Hub component for connection to one or more memory modules - Google Patents

Hub component for connection to one or more memory modules

Info

Publication number
EP1652190A1
EP1652190A1 EP04763824A EP04763824A EP1652190A1 EP 1652190 A1 EP1652190 A1 EP 1652190A1 EP 04763824 A EP04763824 A EP 04763824A EP 04763824 A EP04763824 A EP 04763824A EP 1652190 A1 EP1652190 A1 EP 1652190A1
Authority
EP
European Patent Office
Prior art keywords
memory
address
memory modules
error
module
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.)
Withdrawn
Application number
EP04763824A
Other languages
German (de)
French (fr)
Inventor
Peter Pöchmüller
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.)
Infineon Technologies 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
Publication of EP1652190A1 publication Critical patent/EP1652190A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Definitions

  • Hub module for connecting one or more memory modules
  • the invention relates to a hub module for connecting one or more memory modules in a memory system.
  • Memory chips are often used in personal computers to store data to be processed in the personal computer.
  • the memory modules are usually combined to form memory modules in order to increase the memory capacity.
  • an address and data bus is usually provided, to which the memory modules are connected in parallel, i.e. each of the memory modules is connected to the common address and data bus.
  • the maximum clock frequency with which address data and user data can be transmitted is limited due to the line and input capacities of the corresponding inputs for the address and data bus and the memory modules and the reflection of the signals at branches.
  • the frequencies with which data is transmitted via the address and data bus can be very high, especially when using double data rate technology (DDR).
  • DDR double data rate technology
  • a possible alternative address and data bus concept is to provide a so-called hub module between a memory controller in the personal computer and the memory modules, which is used to control one or more memory modules.
  • the hub device is connected to the memory controller, which is responsible for storing and retrieving Controls data, connects.
  • the hub module has an input for the address and data bus in order to receive and possibly address data and user data. Transfer user data to the memory controller.
  • the hub module also has an output via which address and user data are output. The output for the address and user data can be connected to an input of another subsequent hub module to which in turn memory modules are connected.
  • the hub module has an address decoder unit that receives the pending address and, depending on the address, either addresses one of the connected memory modules or applies the pending address to the address output so that it can be forwarded to the next hub module.
  • a hub module for connecting one or more memory modules via a respective memory module interface.
  • the hub module has an address input for connecting the hub module to an address bus and an address output for connecting to a further address bus.
  • the hub module furthermore has an address decoder unit in order to address one of the connected memory modules with an address present at the address input or to apply the address present to the address output.
  • the hub module has an error detection unit in order to use the provided check data to detect an error in a memory area of the one or more memory modules.
  • the hub module according to the invention has the advantage that it has an error detection unit that makes it possible to detect an error that occurs in one of the connected memory modules. This is carried out with the aid of checking data which are made available to the error detection unit.
  • the detected errors can be used to inform the computer system in which the hub module is preferably used about the error that has occurred or to repair the error with the aid of the check data.
  • the hub module has a further memory module interface in order to use the further memory module interface to check the checking data, for. B. from another memory chip to check the contents of the memory areas of the connected memory chips. In this way, the check data can be made available to the hub module in a simple manner.
  • the address decoder unit can be designed so that in a first part of the memory areas of the connected memory memory areas of the modules to store or read out useful data and, in a second part, to save or read out the test data with which the contents of the memory areas of the connected memory modules can be checked with the aid of the error detection unit. This makes it possible to avoid the provision of the further memory module interface and the further memory module connected to it and instead to cover the additional memory requirement for the check data by the connected memory modules.
  • the error correction unit enables errors occurring in the connected memory modules to be corrected with the aid of the additionally provided check data (correction data), so that the trouble-free operation of the computer system remains guaranteed.
  • an error register can be provided in the hub module in order to store error information about the number of errors that have occurred, the type of errors that have occurred and / or the addresses of the errors that have occurred.
  • the error information can be read from the error register of the hub module.
  • FIG. 1 shows a block diagram of a memory system with memory modules with hub modules according to the invention in accordance with a first embodiment of the invention
  • Figure 2 shows a memory system with memory modules with hub modules according to the invention according to a second embodiment.
  • a storage system is e.g. for a computer system, in particular a DDR memory system.
  • the memory system has a memory controller 1 to which an address bus 2 with a number of n address lines is connected. The address lines are applied to an input of a memory module 3.
  • the memory module 3 has a hub module 4 on which one or more memory modules 5, e.g. DRAM memory chips are connected. The number of connected memory modules 5 is determined by the address space to be formed.
  • the address input of the memory module 3 is connected to an address input of the hub module 4.
  • the hub module 4 has an address output which is connected to a further address bus 6 via the address output of the memory module 3.
  • the additional address bus 6 is connected to an address input of a further memory module.
  • the hub module 4 has an address decoder unit 7, which checks the addresses present on the address bus 2 and, depending on the address applied, addresses the corresponding connected memory module 5 via a respective memory module interface 8 or the address present at the passes on further address bus 6. The address is then received by the further address bus 6 from the address decoder unit of the hub module of the next memory module and is used there either in the same way for addressing one of the memory modules connected there or forwarded to a further address bus 6 via the address output.
  • a common memory module interface 8 can also be provided, which is connected to all of the connected memory modules 5 via an internal memory module address and data bus.
  • Memory module interfaces 8 that are separate from one another have the advantage that the memory modules 5 can be addressed essentially in parallel or at a higher speed controlled by the HUB module, while the wiring complexity of the memory module 3 can be reduced in the case of a memory module interface that is implemented jointly.
  • the hub module 4 furthermore has an error detection unit 9 which, when storing and / or reading out data from the connected memory modules 5, checks the data using known error detection algorithms on the basis of provided check data and can detect an error in the case of incorrectly stored data.
  • the error can be sent to the memory controller via the address bus or via a data bus running parallel to the address bus in order to report to the computer system that an error has occurred when saving or calling up a date.
  • the verification data can be provided, for example, by a further memory module 10, which is also provided on the memory module 3.
  • a further embodiment of the invention is shown in FIG. The same reference numerals correspond to the same elements with an identical function.
  • the memory module 3 in the second embodiment of the invention has a hub module 20 with the address decoder unit 7 and the memory module interfaces 8 in order to connect memory modules 5.
  • the address decoder unit 7 virtually divides the memory modules into a first part 21 of memory areas and a second part 22 of memory areas.
  • User data is stored in the first part of the memory areas, i.e. Program and other data that are to be made available to the computer system.
  • the checking data are stored which are necessary for checking that the user data are free of errors.
  • the size of the first part and the second part are determined by the HUB module 3.
  • the sizes of the two parts of the memory areas can also be variably adjustable depending on the requirement, depending on whether simple error detection data or error correction data are to be made available as check data.
  • the user data and the check data are made available to the error detection unit 9 via the memory module interfaces 8. This can be done in parallel or in series (time multiplied). In the case of serial readout of user data and check data, idle periods can be used to transmit the check data.
  • the error detection unit 9 can further comprise an error correction unit which is able to repair the user data with errors using the check data and to output the repaired data to the memory controller 1 via the corresponding data bus.
  • an error register 23 is provided in which information about one or more errors that may have occurred The number of errors that have occurred, the type of errors that have occurred and / or the addresses of the errors that have occurred can be stored. This information can be called up in accordance with a corresponding command on the address bus 2 or on a command or data bus (not shown) from the relevant memory module.
  • an error detection unit 9 and an error correction unit 24 enables the memory controller 1, in which the error detection or correction unit is usually provided in conventional memory systems, to be constructed more easily, so that the memory controller 1 can be operated at higher data rates. Especially when using DDR-II or. DDR III memory modules can lead to a considerable increase in the data to be transferred to and from the memory modules 3.
  • the tracking of errors that have occurred can be important for server applications, since the memory modules used must function correctly there. If errors occur, faulty memory modules 3 can thus be replaced at an early stage before the errors can lead to an unstable system or to a faulty software run.
  • error detection methods can be used as the error detection method.
  • the parity check method can be used, in which it is checked whether there is an even or odd number of bits set in a data record.
  • error correction is possible if a single-bit error has occurred in a data record.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention relates to a hub component for connection to one or more memory modules via a respective memory module interface. Said hub component comprises an address input for connection of the hub component to an address bus, and an address output for connection to a second address bus, an address coding unit for addressing one of the connected memory modules by means of an address available at the address input or for making the available address available at the address output. The hub component is characterized by an error detection unit for detecting an error in a memory area of the one or more memory modules using verification data provided for said purpose.

Description

Beschreibungdescription
Hub-Baustein zum Anschließen von einem oder mehreren SpeicherbausteinenHub module for connecting one or more memory modules
Die Erfindung betrifft einen Hub-Baustein zum Anschließen von einem oder mehreren Speicherbausteinen in einem Speichersystem.The invention relates to a hub module for connecting one or more memory modules in a memory system.
Speicherbausteine werden häufig in Personalcomputern eingesetzt, um in dem Personalcomputer zu verarbeitende Daten zu speichern. Die Speicherbausteine sind üblicherweise zu Speichermodulen zusammen gefasst, um die Speicherkapazität zu erhöhen. Um die Speicherkapazität von mehreren Speichermodulen zu nutzen, ist üblicherweise ein Adress- und Datenbus vorgesehen, an dem die Speichermodule parallel angeschlossen sind, d.h. jedes der Speichermodule steht mit dem gemeinsamen Adress- und Datenbus in Verbindung. Aufgrund der Leitungsund Eingangskapazitäten der entsprechenden Eingänge für den Adress- und Datenbus and den Speichermodulen sowie Reflexion der Signale an Abzweigungen ist die maximale Taktfrequenz, mit der Adressdaten und Nutzdaten übertragen werden können, begrenzt .Memory chips are often used in personal computers to store data to be processed in the personal computer. The memory modules are usually combined to form memory modules in order to increase the memory capacity. In order to use the memory capacity of several memory modules, an address and data bus is usually provided, to which the memory modules are connected in parallel, i.e. each of the memory modules is connected to the common address and data bus. The maximum clock frequency with which address data and user data can be transmitted is limited due to the line and input capacities of the corresponding inputs for the address and data bus and the memory modules and the reflection of the signals at branches.
Insbesondere bei Nutzung der Double-Data-Rate-Technologie (DDR) können die Frequenzen, mit denen Daten über den Adress- und Datenbus übertragen werden, sehr hoch sein. Für eine künftige DDR-III- oder andere hochperformante Interface- Technologien bietet es sich daher an, die Speichermodule nicht an einem gemeinsamen Adress- und Datenbus zu betreiben.The frequencies with which data is transmitted via the address and data bus can be very high, especially when using double data rate technology (DDR). For future DDR-III or other high-performance interface technologies, it is therefore advisable not to operate the memory modules on a common address and data bus.
Ein mögliches alternatives Adress- und Datenbuskonzept besteht darin, einen sogenannten Hub-Baustein zwischen einem Speichercontroller in dem Personalcomputer und den Speicher- bausteinen vorzusehen, der zum Ansteuern von einem oder mehreren Speicherbausteinen verwendet wird. Der Hub-Baustein ist mit dem Speichercontroller, der das Speichern und Abrufen von Daten steuert, verbunden. Der Hub-Baustein weist einen Eingang für den Adress- und Datenbus auf, um Adressdaten und Nutzdaten zu empfangen und evtl . Nutzdaten zum Speichercontroller zu übertragen. Der Hub-Baustein weist weiterhin einen Ausgang auf, über den Adress- und Nutzdaten ausgegeben werden. Der Ausgang für die Adress- und Nutzdaten kann mit einem Eingang eines weiteren nachfolgenden Hub-Bausteins an den wiederum Speicherbausteine angeschlossen sind, verbunden werden.A possible alternative address and data bus concept is to provide a so-called hub module between a memory controller in the personal computer and the memory modules, which is used to control one or more memory modules. The hub device is connected to the memory controller, which is responsible for storing and retrieving Controls data, connects. The hub module has an input for the address and data bus in order to receive and possibly address data and user data. Transfer user data to the memory controller. The hub module also has an output via which address and user data are output. The output for the address and user data can be connected to an input of another subsequent hub module to which in turn memory modules are connected.
Der Hub-Baustein weist eine Adressdecodereinheit auf, die die anliegende Adresse empfängt und abhängig von der Adresse entweder einen der angeschlossenen Speicherbausteine adressiert oder die anliegende Adresse an den Adressausgang anlegt, so dass sie an den nächsten Hub-Baustein weitergeleitet werden kann.The hub module has an address decoder unit that receives the pending address and, depending on the address, either addresses one of the connected memory modules or applies the pending address to the address output so that it can be forwarded to the next hub module.
Aufgrund der Herstellungstechnologie können Speicherbausteine nicht fehlerfrei hergestellt werden. Auftretende Fehler wer- den in mehreren Schritten sowohl in einem Front-End-Due to the manufacturing technology, memory modules cannot be manufactured without errors. Errors that occur are divided into several steps, both in a front-end
Reparaturschritt als auch gegebenenfalls in einem Back-End- Reparaturschritt repariert. Trotzdem kann es vorkommen, dass in den so reparierten Speicherbausteinen weitere Fehler unter Umständen auch nur bei bestimmten Bedingungen auftreten kön- nen (z.B. Bausteindegradation im Betrieb). Diese Fehler können dazu führen, dass das Computersystem nicht mehr stabil funktioniert oder dass Fehler beim Ausführen einer Software auftreten können.Repair step as well as possibly repaired in a back-end repair step. Nevertheless, it can happen that further errors in the repaired memory modules may only occur under certain conditions (e.g. module degradation during operation). These errors can result in the computer system no longer operating stably or errors in the execution of software.
Es ist Aufgabe der vorliegenden Erfindung, einen Hub-Baustein zur Verfügung zu stellen, der eine größere Zuverlässigkeit beim Betrieb in einem Computersystem bzw. eine größere Transparenz über aufgetretene Fehler bietet .It is an object of the present invention to provide a hub module that offers greater reliability when operating in a computer system or greater transparency about errors that have occurred.
Diese Aufgabe wird durch den Hub-Baustein nach Anspruch 1 gelöst. Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den abhängigen Ansprüchen angegeben.This object is achieved by the hub module according to claim 1. Further advantageous embodiments of the invention are specified in the dependent claims.
Erfindungsgemäß ist ein Hub-Baustein zum Anschließen von ei- nem oder mehreren Speicherbausteinen über eine jeweilige Speicherbausteinschnittstelle vorgesehen. Der Hub-Baustein weist einen Adress-Eingang zum Anschließen des Hub-Bausteins an einen Adressbus und einen Adressausgang zum Anschließen an einen weiteren Adressbus auf. Der Hub-Baustein weist weiter- hin eine Adressdecodereinheit auf, um mit einer an dem Adresseingang anliegenden Adresse einen der angeschlossenen Speicherbausteine zu adressieren oder die anliegende Adresse an den Adressausgang anzulegen. Der Hub-Baustein weist eine Fehlererkennungseinheit auf, um mit Hilfe von bereitgestell- ten Überprüfungsdaten einen Fehler in einem Speicherbereich des einen oder der mehreren Speicherbausteine zu detektieren.According to the invention, a hub module is provided for connecting one or more memory modules via a respective memory module interface. The hub module has an address input for connecting the hub module to an address bus and an address output for connecting to a further address bus. The hub module furthermore has an address decoder unit in order to address one of the connected memory modules with an address present at the address input or to apply the address present to the address output. The hub module has an error detection unit in order to use the provided check data to detect an error in a memory area of the one or more memory modules.
Der erfindungsgemäße Hub-Baustein hat den Vorteil, dass er einen Fehlererkennungseinheit aufweist die es ermöglicht, ei- nen auftretenden Fehler in einem der angeschlossenen Speicherbausteine zu detektieren. Dies wird mit Hilfe von Überprüfungsdaten, die der Fehlererkennungseinheit zur Verfügung gestellt werden, durchgeführt. Die erkannten Fehler können dazu verwendet werden, das Computersystem, in dem der Hub- Baustein vorzugsweise eingesetzt wird, über den aufgetretenen Fehler zu informieren oder den Fehler mit Hilfe der Überprüfungsdaten zu reparieren. Es kann vorgesehen sein, dass der Hub-Baustein eine weitere Speicherbausteinschnittstelle aufweist, um über die weitere Speicherbausteinschnittstelle die Überprüfungsdaten z. B. von einem weiteren Speicherbaustein zu empfangen, um die Inhalte der Speicherbereiche der angeschlossenen Speicherbausteine zu überprüfen. Auf diese Weise können die Überprüfungsdaten auf einfache Weise dem Hub- Baustein zur Verfügung gestellt werden.The hub module according to the invention has the advantage that it has an error detection unit that makes it possible to detect an error that occurs in one of the connected memory modules. This is carried out with the aid of checking data which are made available to the error detection unit. The detected errors can be used to inform the computer system in which the hub module is preferably used about the error that has occurred or to repair the error with the aid of the check data. It can be provided that the hub module has a further memory module interface in order to use the further memory module interface to check the checking data, for. B. from another memory chip to check the contents of the memory areas of the connected memory chips. In this way, the check data can be made available to the hub module in a simple manner.
Die Adressdecodereinheit kann so gestaltet sein, um in einem ersten Teil der Speicherbereiche der angeschlossenen Spei- cherbereiche der Bausteine Nutzdaten zu speichern oder auszulesen und in einem zweiten Teil die Prüfungsdaten zu speichern oder auszulesen, mit denen die Inhalte der Speicherbereiche der angeschlossenen Speicherbausteine mit Hilfe der Fehlererkennungseinheit überprüfbar sind. Dadurch ist es möglich, das Vorsehen der weiteren Speicherbausteinschnittstelle und des daran angeschlossenen weiteren Speicherbausteins zu vermeiden und stattdessen den zusätzlichen Speicherbedarf für die Überprüfungsdaten durch die angeschlossenen Speicherbau- steine zu decken.The address decoder unit can be designed so that in a first part of the memory areas of the connected memory memory areas of the modules to store or read out useful data and, in a second part, to save or read out the test data with which the contents of the memory areas of the connected memory modules can be checked with the aid of the error detection unit. This makes it possible to avoid the provision of the further memory module interface and the further memory module connected to it and instead to cover the additional memory requirement for the check data by the connected memory modules.
Es kann weiterhin vorgesehen sein, dass die Fehlererkennungs- einheit die fehlerfreie Speicherung der Nutzdaten durch ein Fehlererkennungsverfahren überprüft, insbesondere mit Hilfe eines Parity-Check-Verfahrens .Provision can furthermore be made for the error detection unit to check the error-free storage of the user data using an error detection method, in particular with the aid of a parity check method.
Es kann weiterhin vorgesehen sein, dass die Fehlererkennungs- einheit eine Fehlerkorrektureinheit aufweist, um fehlerhafte Nutzdaten gemäß der Überprüfungsdaten zu korrigieren, insbe- sondere mit Hilfe eines Humming-Code-Verfahrens . Die Fehlerkorrektureinheit ermöglicht es, auftretende Fehler in den angeschlossenen Speicherbausteinen mit Hilfe der zusätzlich bereitgestellten Überprüfungsdaten (Korrekturdaten) zu korrigieren, so dass der störungsfreie Betrieb des Computersystems gewährleistet bleibt.Provision can furthermore be made for the error detection unit to have an error correction unit in order to correct erroneous useful data in accordance with the check data, in particular with the aid of a humming code method. The error correction unit enables errors occurring in the connected memory modules to be corrected with the aid of the additionally provided check data (correction data), so that the trouble-free operation of the computer system remains guaranteed.
Weiterhin kann ein Fehlerregister in dem Hub-Baustein vorgesehen sein, um Fehlerinformationen über die Anzahl der aufgetretenen Fehler, die Art der aufgetretenen Fehler und / oder die Adressen der aufgetretenen Fehler zu speichern. Die Fehlerinformation ist aus dem Fehlerregister des Hub-Bausteins auslesbar. Dies ermöglicht es, dem Anwender von Speichermodulen, die aus Hub-Bausteinen und Speicherbausteinen zusammengesetzt sind, zu erkennen und die Qualität der verwendeten Speicherbausteine zu überprüfen. Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein Speichermodul mit einem Hub-Baustein und mit einem oder mehreren mit dem Hub-Baustein verbundenen Speicherbausteinen vorgesehen.Furthermore, an error register can be provided in the hub module in order to store error information about the number of errors that have occurred, the type of errors that have occurred and / or the addresses of the errors that have occurred. The error information can be read from the error register of the hub module. This makes it possible to recognize the user of memory modules, which are composed of hub modules and memory modules, and to check the quality of the memory modules used. According to a further aspect of the present invention, a memory module with a hub module and with one or more memory modules connected to the hub module is provided.
Bevorzugte Ausführungsformen der Erfindung werden im folgenden anhand der beigefügten Zeichnungen näher erläutert . Es zeigen: Figur 1 ein Blockschaltbild eines Speichersystems mit Spei- chermodulen mit erfindungsgemäßen Hub-Bausteinen gemäß einer ersten Ausführungsform der Erfindung; undPreferred embodiments of the invention are explained below with reference to the accompanying drawings. FIG. 1 shows a block diagram of a memory system with memory modules with hub modules according to the invention in accordance with a first embodiment of the invention; and
Figur 2 ein Speichersystem mit Speichermodulen mit erfindungsgemäßen Hub-Bausteinen gemäß einer zweiten Ausführungsform.Figure 2 shows a memory system with memory modules with hub modules according to the invention according to a second embodiment.
In Figur 1 ist ein Speichersystem z.B. für ein Computersystem, insbesondere ein DDR-Speichersystem, dargestellt. Das Speichersystem weist einen Speichercontroller 1 auf, an den ein Adressbus 2 mit einer Anzahl n Adressleitungen ange- schlössen ist. Die Adressleitungen sind an einen Eingang eines Speichermoduls 3 angelegt. Das Speichermodul 3 weist einen Hub-Baustein 4 auf, an dem ein oder mehrere Speicherbausteine 5, z.B. DRAM-Speicherbausteine, angeschlossen sind. Die Anzahl der angeschlossenen Speicherbausteine 5 ist durch den zu bildenden Adressraum bestimmt. Der Adresseingang des Speichermoduls 3 ist mit einem Adresseingang des Hub- Bausteins 4 verbunden. Der Hub-Baustein 4 weist einen Adress- ausgang auf, der über den Adressausgang des Speichermoduls 3 mit einem weiteren Adressbus 6 verbunden ist. Der weitere Ad- ressbus 6 ist mit einem Adresseingang eines weiteren Speichermoduls verbunden.In Figure 1 a storage system is e.g. for a computer system, in particular a DDR memory system. The memory system has a memory controller 1 to which an address bus 2 with a number of n address lines is connected. The address lines are applied to an input of a memory module 3. The memory module 3 has a hub module 4 on which one or more memory modules 5, e.g. DRAM memory chips are connected. The number of connected memory modules 5 is determined by the address space to be formed. The address input of the memory module 3 is connected to an address input of the hub module 4. The hub module 4 has an address output which is connected to a further address bus 6 via the address output of the memory module 3. The additional address bus 6 is connected to an address input of a further memory module.
Der Hub-Baustein 4 weist eine Adressdecodereinheit 7 auf, die die an dem Adressbus 2 anliegenden Adressen überprüft und je nach angelegter Adresse den entsprechenden angeschlossenen Speicherbaustein 5 über eine jeweilige Speicherbausteinschnittstelle 8 adressiert oder die anliegende Adresse an den weiteren Adressbus 6 weiterreicht. Von dem weiteren Adressbus 6 wird die Adresse dann von der Adressdecodereinheit des Hub- Bausteins des nächsten Speichermoduls empfangen und dort auf die gleiche Weise entweder zum Adressieren eines der dort an- geschlossenen Speicherbausteine verwendet oder über den Adressausgang an einen weiteren Adressbus 6 weitergeleitet.The hub module 4 has an address decoder unit 7, which checks the addresses present on the address bus 2 and, depending on the address applied, addresses the corresponding connected memory module 5 via a respective memory module interface 8 or the address present at the passes on further address bus 6. The address is then received by the further address bus 6 from the address decoder unit of the hub module of the next memory module and is used there either in the same way for addressing one of the memory modules connected there or forwarded to a further address bus 6 via the address output.
Anstatt für jeden der angeschlossenen Speicherbausteine 5 eine einzelne Speicherbausteinschnittstelle 8 vorzusehen, kann auch eine gemeinsame Speicherbausteinschnittstelle 8 vorgesehen sein, die über einen Speichermodul-internen Adress- und Datenbus mit allen der angeschlossenen Speicherbausteine 5 verbunden ist. Voneinander getrennte Speicherbausteinschnittstellen 8 haben den Vorteil, dass die Speicherbausteine 5 im wesentlichen parallel oder mit höherer Geschwindigkeit gesteuert durch den HUB-Baustein angesprochen werden können, während bei einer gemeinsam ausgeführten Speicherbausteinschnittstelle der Verdrahtungsaufwand des Speichermoduls 3 reduziert werden kann.Instead of providing an individual memory module interface 8 for each of the connected memory modules 5, a common memory module interface 8 can also be provided, which is connected to all of the connected memory modules 5 via an internal memory module address and data bus. Memory module interfaces 8 that are separate from one another have the advantage that the memory modules 5 can be addressed essentially in parallel or at a higher speed controlled by the HUB module, while the wiring complexity of the memory module 3 can be reduced in the case of a memory module interface that is implemented jointly.
Der Hub-Baustein 4 weist weiterhin eine Fehlererkennungsein- heit 9 auf, die beim Speichern und / oder Auslesen von Daten aus dem angeschlossenen Speicherbausteinen 5 die Daten mit Hilfe von bekannten Fehlererkennungsalgorithmen anhand von bereitgestellten Überprüfungsdaten überprüft und einen Fehler bei fehlerhaft gespeicherten Daten feststellen kann. Der Fehler kann über den Adressbus oder über einen parallel zum Adressbus verlaufenden Datenbus an den Speichercontroller gesendet werden, um dem ComputerSystem zu melden, dass ein Feh- 1er beim Speichern oder Abrufen eines Datums aufgetreten ist.The hub module 4 furthermore has an error detection unit 9 which, when storing and / or reading out data from the connected memory modules 5, checks the data using known error detection algorithms on the basis of provided check data and can detect an error in the case of incorrectly stored data. The error can be sent to the memory controller via the address bus or via a data bus running parallel to the address bus in order to report to the computer system that an error has occurred when saving or calling up a date.
Die Überprüfungsdaten können beispielsweise von einem weiteren Speicherbaustein 10 bereitgestellt werden, der ebenfalls auf dem Speichermodul 3 vorgesehen ist. In Figur 2 ist eine weitere Ausführungsform der Erfindung dargestellt. Gleiche Bezugszeichen entsprechen gleichen Elementen mit identischer Funktion.The verification data can be provided, for example, by a further memory module 10, which is also provided on the memory module 3. A further embodiment of the invention is shown in FIG. The same reference numerals correspond to the same elements with an identical function.
Das Speichermodul 3 in der zweiten Ausführungsform der Erfindung weist einen Hub-Baustein 20 auf, mit der Adressdecodereinheit 7 und den Speicherbausteinschnittstellen 8, um Speicherbausteine 5 anzuschließen. Durch die Adressdecodereinheit 7 werden die Speicherbausteine virtuell in einen ersten Teil 21 von Speicherbereichen und in einen zweiten Teil 22 von Speicherbereichen unterteilt. In dem ersten Teil der Speicherbereiche werden Nutzdaten gespeichert, d.h. Programm- und sonstige Daten, die dem ComputerSystem zur Verfügung gestellt werden sollen. In dem zweiten Teil der Speicherbereiche wer- den die Überprüfungsdaten gespeichert, die zur Überprüfung der Fehlerfreiheit der Nutzdaten notwendig sind. Die Größe des ersten Teils und des zweiten Teils werden durch den HUB- Baustein 3 bestimmt. Die Größen der beiden Teile der Speicherbereiche kann auch je nach Anforderung variabel einstell- bar sein, je nachdem ob als Überprüfungsdaten einfache Fehlererkennungsdaten oder Fehlerkorrekturdaten zur Verfügung gestellt werden sollen.The memory module 3 in the second embodiment of the invention has a hub module 20 with the address decoder unit 7 and the memory module interfaces 8 in order to connect memory modules 5. The address decoder unit 7 virtually divides the memory modules into a first part 21 of memory areas and a second part 22 of memory areas. User data is stored in the first part of the memory areas, i.e. Program and other data that are to be made available to the computer system. In the second part of the memory areas, the checking data are stored which are necessary for checking that the user data are free of errors. The size of the first part and the second part are determined by the HUB module 3. The sizes of the two parts of the memory areas can also be variably adjustable depending on the requirement, depending on whether simple error detection data or error correction data are to be made available as check data.
Die Nutzdaten und die Überprüfungsdaten werden der Fehlerer- kennungseinheit 9 über die Speicherbausteinschnittstellen 8 zur Verfügung gestellt. Dies kann parallel oder seriell nacheinander (time multiplied) erfolgen. Bei einem seriellen Auslesen von Nutzdaten und Überprüfungsdaten können zum Übertragen der Überprüfungsdaten Idle-Perioden genutzt werden. Die Fehlererkennungseinheit 9 kann weiterhin eine Fehlerkorrektureinheit umfassen, die in der Lage ist, die fehlerbehafteten Nutzdaten mit Hilfe der Überprüfungsdaten zu reparieren und die reparierten Daten über den entsprechenden Datenbus an den Speichercontroller 1 auszugeben.The user data and the check data are made available to the error detection unit 9 via the memory module interfaces 8. This can be done in parallel or in series (time multiplied). In the case of serial readout of user data and check data, idle periods can be used to transmit the check data. The error detection unit 9 can further comprise an error correction unit which is able to repair the user data with errors using the check data and to output the repaired data to the memory controller 1 via the corresponding data bus.
Weiterhin ist ein Fehlerregister 23 vorgesehen, in dem Informationen über einen oder mehrere eventuell aufgetretene Feh- ler, wie z.B. die Anzahl der aufgetretenen Fehler, die Art der aufgetretenen Fehler und / oder die Adressen der aufgetretenen Fehler gespeichert werden können. Diese Information ist gemäß einem entsprechenden Kommando auf dem Adressbus 2 bzw. auf einem Kommando- oder Datenbus (nicht gezeigt) aus dem betreffenden Speichermodul abrufbar.Furthermore, an error register 23 is provided in which information about one or more errors that may have occurred The number of errors that have occurred, the type of errors that have occurred and / or the addresses of the errors that have occurred can be stored. This information can be called up in accordance with a corresponding command on the address bus 2 or on a command or data bus (not shown) from the relevant memory module.
Das Vorsehen einer Fehlererkennungseinheit 9 und einer Fehlerkorrektureinheit 24 ermöglicht es, dem Speichercontroller 1, in dem üblicherweise bei herkömmlichen Speichersystemen die Fehlererkennungs- bzw. Korrektureinheit vorgesehen ist, einfacher aufzubauen, so dass der Speichercontroller 1 mit höheren Datenraten betreibbar ist. Insbesondere bei Verwendung von DDR-II-bzw. DDR-III-Speicherbausteinen kann dies zu einer erheblichen Vergrößerung der zu und von den Speichermodulen 3 zu übertragenden Daten führen.The provision of an error detection unit 9 and an error correction unit 24 enables the memory controller 1, in which the error detection or correction unit is usually provided in conventional memory systems, to be constructed more easily, so that the memory controller 1 can be operated at higher data rates. Especially when using DDR-II or. DDR III memory modules can lead to a considerable increase in the data to be transferred to and from the memory modules 3.
Insbesondere das Tracken von aufgetretenen Fehlern kann für Server-Anwendungen wichtig sein, da dort eine fehlerfreie Funktion der verwendeten Speicherbausteine notwendig ist. Bei Auftreten von Fehlern können somit frühzeitig fehlerhafte Speichermodule 3 ausgetauscht werden, bevor die Fehler zu einem instabilen System bzw. zu einem fehlerhaften Ablauf von Software führen kann.In particular, the tracking of errors that have occurred can be important for server applications, since the memory modules used must function correctly there. If errors occur, faulty memory modules 3 can thus be replaced at an early stage before the errors can lead to an unstable system or to a faulty software run.
Als Fehlererkennungsverfahren können bereits bekannte Fehlererkennungsverfahren verwendet werdend. So kann beispielsweise das Parity-Check-Verfahren angewendet werden, bei dem überprüft wird, ob in einem Datensatz eine gerade oder ungerade Anzahl von gesetzten Bits vorhanden ist. Mit Hilfe eines Hum- ming-Code-Verfahrens ist ein Fehlerkorrektur möglich, wenn in einem Datensatz ein Single-Bit-Fehler aufgetreten ist. Known error detection methods can be used as the error detection method. For example, the parity check method can be used, in which it is checked whether there is an even or odd number of bits set in a data record. With the help of a huming code method, error correction is possible if a single-bit error has occurred in a data record.

Claims

Patentansprüche claims
1. Hub-Baustein (4) zum Anschließen von einem oder mehreren Speicherbausteinen (5) über eine jeweilige Speicherbau- Steinschnittstelle (8) , mit einem Adresseingang zum Anschließen des Hub-Bausteins (4) an einen Adressbus (2) und mit einem Adressausgang zum Anschließen an einen weiteren Adressbus (6) , mit einer Adressdecodereinheit (7), um mit einer an dem Ad- resseingang anliegenden Adresse einen der angeschlossenen1. Hub module (4) for connecting one or more memory modules (5) via a respective memory block interface (8), with an address input for connecting the hub module (4) to an address bus (2) and with an address output for connection to a further address bus (6), with an address decoder unit (7), in order to connect one of the connected with an address at the address input
Speicherbausteine (5) zu adressieren oder die anliegende Adresse an den Adressausgang anzulegen, gekennzeichnet durch eine Fehlererkennungseinheit (9) , um mit Hilfe von bereitge- stellten Überprüfungsdaten einen Fehler in einem Speicherbereich des einen oder der mehreren Speicherbausteine zu detektieren.Addressing memory modules (5) or applying the pending address to the address output, characterized by an error detection unit (9) in order to use the provided check data to detect an error in a memory area of the one or more memory modules.
2. Hub-Baustein (4) nach Anspruch 1, dadurch gekennzeich- net, dass eine weitere Speicherbausteinschnittstelle vorgesehen ist, um über die weitere Speicherbausteinschnittstelle die Überprüfungsdaten zu empfangen, um die Inhalte der Speicherbereiche der angeschlossenen Speicherbausteine (5) zu ü- berprufen.2. Hub module (4) according to claim 1, characterized in that a further memory module interface is provided in order to receive the verification data via the further memory module interface in order to check the contents of the memory areas of the connected memory modules (5).
3. Hub-Baustein (4) nach Anspruch 1, dadurch gekennzeichnet, dass die Adressdecodereinheit (7) so gestaltet ist, um in einem ersten Teil der Speicherbereiche der angeschlossenen Speicherbausteine (5) Nutzdaten zu speichern oder auszulesen und in einem zweiten Teil die Überprüfungsdaten zu speichern oder auszulesen, mit denen die Inhalte der Speicherbereiche der angeschlossenen Speicherbausteine (5) mit Hilfe der Feh- lererkennungseinheit (9) überprüfbar sind.3. Hub module (4) according to claim 1, characterized in that the address decoder unit (7) is designed to store or read out useful data in a first part of the memory areas of the connected memory modules (5) and the check data in a second part to save or read out the contents of the memory areas of the connected memory modules (5) with the aid of the errors ler detection unit (9) can be checked.
4. Hub-Baustein (4) nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Fehlererkennungseinheit (9) die fehlerfreie Speicherung der Nutzdaten durch ein Fehlererkennungsverfahren überprüft, insbesondere mit Hilfe eines Pa- rity-Check-Verfahrens .4. Hub module (4) according to one of claims 1 to 3, characterized in that the error detection unit (9) checks the error-free storage of the user data by an error detection method, in particular with the aid of a parity check method.
5. Hub-Baustein (4) nach einem der Ansprüche 1 bis 4, da- durch gekennzeichnet, dass die Fehlererkennungseinheit (9) eine Fehlerkorrektureinheit (24) aufweist, um fehlerhafte Nutzdaten gemäß der Überprüfungsdaten zu korrigieren, insbesondere mit Hilfe eines Humming-Code-Verfahrens .5. Hub module (4) according to one of claims 1 to 4, characterized in that the error detection unit (9) has an error correction unit (24) in order to correct incorrect user data according to the check data, in particular with the aid of a humming code -Procedure.
6. Hub-Baustein (4) nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass ein Fehlerregister (23) vorgesehen ist, um Fehlerinformation über die Anzahl der aufgetretenen Fehler, die Art der aufgetretenen Fehler und/oder die Adressen der aufgetretenen Fehler zu speichern, wobei die Fehler- Information aus dem Fehlerregister (20) des Hub-Bausteins (4) auslesbar ist.6. Hub module (4) according to one of claims 1 to 5, characterized in that an error register (23) is provided for error information about the number of errors that have occurred, the type of errors that have occurred and / or the addresses of the errors that have occurred to save, the error information being readable from the error register (20) of the hub module (4).
7. Speichermodul (3) mit einem Hub-Baustein (4) nach einem der Ansprüche 1 bis 6 und einem oder mehreren mit dem Hub- Baustein verbundenen Speicherbausteinen (5) . 7. Memory module (3) with a hub module (4) according to one of claims 1 to 6 and one or more memory modules (5) connected to the hub module.
EP04763824A 2003-08-06 2004-08-05 Hub component for connection to one or more memory modules Withdrawn EP1652190A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10335978A DE10335978B4 (en) 2003-08-06 2003-08-06 Hub module for connecting one or more memory modules
PCT/EP2004/008783 WO2005017903A1 (en) 2003-08-06 2004-08-05 Hub component for connection to one or more memory modules

Publications (1)

Publication Number Publication Date
EP1652190A1 true EP1652190A1 (en) 2006-05-03

Family

ID=34177321

Family Applications (1)

Application Number Title Priority Date Filing Date
EP04763824A Withdrawn EP1652190A1 (en) 2003-08-06 2004-08-05 Hub component for connection to one or more memory modules

Country Status (7)

Country Link
US (1) US20060190674A1 (en)
EP (1) EP1652190A1 (en)
JP (1) JP2007501460A (en)
KR (1) KR100741044B1 (en)
CN (1) CN1833289A (en)
DE (1) DE10335978B4 (en)
WO (1) WO2005017903A1 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100624576B1 (en) 2004-06-11 2006-09-19 삼성전자주식회사 Method of testing memory module having a hub and a hub of memory module for testing the same
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7299313B2 (en) 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
JP5065618B2 (en) * 2006-05-16 2012-11-07 株式会社日立製作所 Memory module
US7594055B2 (en) * 2006-05-24 2009-09-22 International Business Machines Corporation Systems and methods for providing distributed technology independent memory controllers
US7584336B2 (en) * 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US8145985B2 (en) * 2008-09-05 2012-03-27 Freescale Semiconductor, Inc. Error detection schemes for a unified cache in a data processing system
TWI517174B (en) * 2008-12-18 2016-01-11 諾瓦晶片加拿大公司 Error detection method and a system including one or more memory devices
US9389940B2 (en) 2013-02-28 2016-07-12 Silicon Graphics International Corp. System and method for error logging
CN110442298B (en) * 2018-05-02 2021-01-12 杭州海康威视系统技术有限公司 Storage equipment abnormality detection method and device and distributed storage system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020038405A1 (en) * 1998-09-30 2002-03-28 Michael W. Leddige Method and apparatus for implementing multiple memory buses on a memory module

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4730320A (en) * 1985-02-07 1988-03-08 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device
US5237566A (en) * 1989-03-30 1993-08-17 Ungermann-Bass, Inc. Network hub for maintaining node bandwidth in a single-node network
US5974058A (en) * 1998-03-16 1999-10-26 Storage Technology Corporation System and method for multiplexing serial links
US6920519B1 (en) * 2000-05-10 2005-07-19 International Business Machines Corporation System and method for supporting access to multiple I/O hub nodes in a host bridge
US6618831B2 (en) * 2000-12-21 2003-09-09 Intel Corporation Increasing performance with memory compression
US6754117B2 (en) * 2002-08-16 2004-06-22 Micron Technology, Inc. System and method for self-testing and repair of memory modules
US7636804B2 (en) * 2003-04-28 2009-12-22 Quantum Corporation Data storage and protection apparatus and methods of data storage and protection
CN100444141C (en) * 2003-05-13 2008-12-17 先进微装置公司 System including a host connected to a plurality of memory modules via a serial memory interconnet

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020038405A1 (en) * 1998-09-30 2002-03-28 Michael W. Leddige Method and apparatus for implementing multiple memory buses on a memory module

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2005017903A1 *

Also Published As

Publication number Publication date
KR20060087505A (en) 2006-08-02
WO2005017903A1 (en) 2005-02-24
DE10335978A1 (en) 2005-03-10
JP2007501460A (en) 2007-01-25
KR100741044B1 (en) 2007-07-20
US20060190674A1 (en) 2006-08-24
CN1833289A (en) 2006-09-13
DE10335978B4 (en) 2006-02-16

Similar Documents

Publication Publication Date Title
DE10335978B4 (en) Hub module for connecting one or more memory modules
DE3882208T2 (en) Method and device for fault-tolerant data integrity checking.
DE10255872B4 (en) Memory module and method for operating a memory module in a data storage system
DE3111447C2 (en)
DE2225841C3 (en) Method and arrangement for systematic error checking of a monolithic semiconductor memory
WO2002095763A1 (en) Test method for testing a data memory
EP1113362B1 (en) Integrated semiconductor memory with a memory unit for storing addresses of faulty memory cells
DE68922440T2 (en) Device and method for simultaneously submitting fault interruption and fault data to a support processor.
EP2100308A1 (en) Method and semiconductor memory with a device for detecting addressing errors
DE69508034T2 (en) Fault detection system and method for mirrored storage between double disk storage controllers
DE102020111321A1 (en) SYSTEM AND PROCEDURE FOR DETECTION AND CORRECTION OF DATA ERRORS IN A TRANSPARENT REGISTER
DE3709524C2 (en) Method for checking the memory cell contents of a program memory
DE102006019426B4 (en) Memory module control, memory control and corresponding memory arrangement and method for error correction
DE69924012T2 (en) PROCESS AND DEVICE FOR MEMORY DATA ERROR DETECTION AND MEMORY MODULE ERROR DETECTION
EP0353660B1 (en) Fault prevention method in memory systems of data-processing installations, in particular telephone exchanges
DE10340236B4 (en) Arrangement with a data processing device and a memory
DE69317352T2 (en) A device with an arrangement for identifying the type of a tape cassette
DE2823457A1 (en) PROCEDURE AND CIRCUIT ARRANGEMENT FOR ERROR MONITORING IN STORAGE SYSTEMS OF DIGITAL COMPUTER SYSTEMS
DE10335708B4 (en) Hub module for connecting one or more memory modules
DE102004052612B4 (en) Semiconductor memory module, semiconductor memory module and method for transmitting write data to semiconductor memory devices
DE102004043063A1 (en) Semiconductor device e.g. ROM, operating method, involves operating pin of device in normal operation mode as application-function-pin, where pin is operated in two test operating modes as test pin and application-function pin, respectively
DE102004059392B4 (en) Method for reassignment of a command memory, subsystem for carrying out such a method, and microcontroller
DE102021205172A1 (en) Storage device and method for checking storage contents
DE3619174A1 (en) Arrangement for testing RAMs
WO2005048270A1 (en) Integrated circuit, test system and method for reading out error data from said integrated circuit

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20060208

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB IE IT

DAX Request for extension of the european patent (deleted)
RBV Designated contracting states (corrected)

Designated state(s): DE FR GB IE IT

17Q First examination report despatched

Effective date: 20070124

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20090616