DE102010053281B4 - Verfahren und System zur Fehlerbehandlung bei einem Speichergerät - Google Patents

Verfahren und System zur Fehlerbehandlung bei einem Speichergerät Download PDF

Info

Publication number
DE102010053281B4
DE102010053281B4 DE102010053281.9A DE102010053281A DE102010053281B4 DE 102010053281 B4 DE102010053281 B4 DE 102010053281B4 DE 102010053281 A DE102010053281 A DE 102010053281A DE 102010053281 B4 DE102010053281 B4 DE 102010053281B4
Authority
DE
Germany
Prior art keywords
error
command
parity
received
memory
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.)
Active
Application number
DE102010053281.9A
Other languages
English (en)
Other versions
DE102010053281A1 (de
Inventor
Kuljit S. Bains
David J. Zimmerman
Dennis W. Brzezinski
Michael Williams
John B. Halbert
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.)
Sony Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102010053281A1 publication Critical patent/DE102010053281A1/de
Application granted granted Critical
Publication of DE102010053281B4 publication Critical patent/DE102010053281B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Verfahren zur Fehlerbehandlung in einem Speichergerät, umfassend: – empfangen, von einem Memory-Controller, eines Befehls und eines dem Befehl zugeordneten Paritätssignals, – zu erkennen, ob der empfangene Befehl einen Paritätsfehler aufweist, wobei der empfangene Befehl von einem Chip-Auswahl-(chip select, CS)-signal qualifiziert ist; und – in Antwort auf ein Erkennen eines Paritätsfehlers – den empfangenen Befehl zu ignorieren; – Befehlsbits und Adressbits des empfangenen Befehls in einem Fehlerprotokoll zu speichern; – ein Fehlerstatusbit zu aktivieren; – ein Fehleranzeigesignal zu aktivieren; – zu warten, bis die Ausführung aller eines oder mehrerer derzeitiger Befehle beendet ist, wobei der eine oder die mehreren derzeitigen Befehle vor dem empfangenen Befehl empfangen wurden, und – zu warten, bis eine Active-to-Precharge Befehlsverzögerung abgelaufen ist, bevor alle offenen Seiten geschlossen werden.

Description

  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft ein Speichergerät und ein Verfahren zur Fehlerbehandlung in einem Speichergerät, und spezieller, aber nicht ausschließlich, die Fehlerbehandlung von Fehlern, wie z. B. Befehls- und/oder Adress-Paritätsfehlern und Fehlern bei der zyklischen Redundanzprüfung bei dem Speichergerät.
  • HINTERGRUND DER BESCHREIBUNG
  • Bei einem typischen Computersystem erleichtert ein Memory-Controller den Zugriff auf ein oder mehr Speicher in dem Computersystem. Bei einem Szenario, bei dem die Kommunikation zwischen Memory-Controller und den Speichern fehlerhaft ist, können die Speicher einen falschen Befehl empfangen. Dies führt zur Korruption der Daten in den Speichern, da die Speicher über keinerlei Mechanismus verfügen, um falsche Befehle zu erkennen, und führen alle Schreiboperationen durch. Um den falschen Befehl zu beheben, muss das Computersystem neu gestartet werden. Dies beeinträchtigt die Leistung des Computersystems und kritische Daten können verloren gehen.
  • Das Dokument US 2007/0033512 A1 offenbart ein Speichergerät mit einem Zustandsregister und einem Paritätsdetektor. In dem Zustandsregister werden über einen Kommunikationsbus empfangene Werte gespeichert. Der Paritätsdetektor bestimmt, ob Signale, die über die Kommunikationsbus empfangen werden, eine bestimmte Parität aufweisen. An einen externen Speicher-Controller werden Fehlerberichte übersandt, wenn bei der Übertragung der Signale Fehler auftreten. Mittels des Zustandsregisters kann der Speicher-Controller Muster in den korrekt und fehlerhaft empfangenen Werten bestimmen.
  • Das Dokument WO 2004/107 175 A1 offenbart ein Speichergerät mit einer Fehlerbestimmungseinheit, um Fehler in Adresssignalen und in Steuersignalen zu ermitteln.
  • ZUSAMMENFASSUNG
  • Aufgabe ist es, verbesserte Technologien zur Fehlerbehandlung in einem Speichergerät anzugeben.
  • Die Aufgabe wird durch das Verfahren nach Anspruch 1, das Verfahren nach Anspruch 6, das Speichergerät nach Anspruch 12 und den Memory-Controller nach Anspruch 18 gelöst. Weitere Ausführungsformen sind Gegenstand von abhängigen Ansprüchen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Merkmale und Vorteile von erfindungsgemäßen Ausführungsformen werden aus der folgenden ausführlichen Beschreibung des Gegenstandes ersichtlich, bei der:
  • 1 ein Blockdiagramm eines Memory-Control-Hubs und eines Speichermoduls gemäß einer erfindungsgemäßen Ausführungsform veranschaulicht;
  • 2 ein Format eines Modusregisters gemäß einer erfindungsgemäßen Ausführungsform veranschaulicht;
  • 3 eine Sequenz zur Verarbeitung von Paritätsfehlern bei einem Speichermodul gemäß einer erfindungsgemäßen Ausführungsform veranschaulicht;
  • 4 eine Sequenz zur Verarbeitung von Fehlern bei der zyklischen Redundanzprüfung bei einem Speichermodul gemäß einer erfindungsgemäßen Ausführungsform veranschaulicht;
  • 5 ein Ablaufdiagramm der Schritte zum Durchführen einer Fehlerbehandlung bei einem Speichermodul gemäß einer erfindungsgemäßen Ausführungsform veranschaulicht;
  • 6 ein Ablaufdiagramm der Schritte zum Durchführen einer Fehlerbehandlung bei einem Memory-Controller-Hub gemäß einer erfindungsgemäßen Ausführungsform veranschaulicht; und
  • 7 ein System veranschaulicht, um die hierin offenbarten Verfahren gemäß einer erfindungsgemäßen Ausführungsform zu implementieren.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Hierin beschriebene erfindungsgemäße Ausführungsformen werden in den beigefügten Figuren in beispielhafter und nicht einschränkender Weise veranschaulicht. Der Einfachheit halber und zur besseren Veranschaulichung sind in den Figuren veranschaulichte Elements nicht notwendigerweise maßstabsgetreu. Beispielsweise können die Abmessungen einiger Elements im Verhältnis zu anderen Elementen zur Verdeutlichung übermäßig groß dargestellt sein. Wo es zweckmäßig erschien, wurden weiter Bezugszeichen in den Figuren wiederholt, um entsprechende oder analoge Elemente zu kennzeichnen. Verweise in der Beschreibung auf „eine erfindungsgemäße Ausführungsform” bedeuten, dass ein bestimmtes Merkmal, eine Struktur oder Charakteristikum, das in Verbindung mit der Ausführungsform beschrieben wird, in zumindest einer erfindungsgemäßen Ausführungsform enthalten ist Somit bezieht sich das Auftreten des Ausdrucks „bei einer Ausführungsform” an verschiedenen Stellen in der Beschreibung nicht immer zwingend auf dieselbe Ausführungsform.
  • Erfindungsgemäßen Ausführungsformen stellen ein Verfahren und System zur Fehlerbehandlung bei einem Speichergerät bereit. Bei einer erfindungsgemäßen Ausführungsform kann das Speichergerät Befehls- und Adress-Paritätsfehler und Fehler bei der zyklischen Redundanzprüfung verarbeiten. Bei einer erfindungsgemäßen Ausführungsform kann der Speicher erkennen, ob ein empfangener Befehl irgendwelche Paritätsfehler aufweist, indem bestimmt wird, ob die Befehlsbits oder die Adressbits des empfangenen Befehls irgendwelche Paritätsfehler aufweisen. Wird ein Paritätsfehler in dem empfangenen Befehl erkannt, wird ein Verarbeitungsmechanismus ausgelöst, um den falschen Befehl zu beheben.
  • Mit einer Befehls-/Adress-(command/address, C/A)-Paritätsunterstützung in dem Speichergerät kann die Leistung eines Systems, das das Speichergerät einsetzt, verbessert werden. Das System muss nicht neu gestartet werden, um einen falschen Befehl, der von dem Speichergerät empfangen wurde, zu beheben. Bei einer erfindungsgemäßen Ausführungsform beinhaltet das Speichergerät einen synchronen dynamischen Direktzugriffsspeicher (Synchronaus Dynamic Random Access Memory, SDRAM), dynamischen Direktzugriffsspeicher (Dynamic Random Access Memory, DRAM), RAMBUS DRAM (RDRAM), Doppel-Datenraten-Drei SDRAM (double-data-rate three SDRAM, DDR3), DDR Vier SDRAM (DDR4) und jede andere Art Speichergerät mit wahlfreiem Zugriff (random access), ist aber nicht darauf beschränkt.
  • 1 veranschaulicht ein Blockdiagramm 100 eines Memory-Control-Hubs 110 und eines Speichermoduls 120 gemäß einer erfindungsgemäßen Ausführungsform. Bei einer erfindungsgemäßen Ausführungsform beinhaltet das Speichermodul 120 DRAMs, Registereinrichtungen, Puffereinheiten, ist aber nicht darauf beschränkt. Der Memory-Control-Hub 110 weist eine Fehlerverarbeitungslogik 112 auf, um Befehls- und Adress-Paritätsfehler zu verarbeiten, wenn das Speichermodul 120 einen falschen Befehl empfängt. Der Memory-Controll-Hub 110 kommuniziert mit dem Speichermodul 120 unter Verwendung eines Signals, einschließlich, aber nicht beschränkt auf, Adresssignale 130, Steuerungssignale 132, Taktsignale 136, Datensignale 138, Paritätssignale 140 und jeglicher anderer Signale, um eine Kommunikation zwischen dem Memory-Control-Hub 110 und dem Speichermodul 120 zu erleichtern.
  • Bei einer erfindungsgemäßen Ausführungsform, wenn der Memory-Control-Hub 110 einen Befehl an das Speichermodul 120 senden muss, berechnet die Fehlerverarbeitungslogik 112 in dem Memory-Control-Hub 110 die Parität der Adresssignalbits und der Befehlssignalbits des Befehls. Ein Paritätsbitsignal wird, basierend auf einer geradzahligen oder ungeradzahligen Parität einer Kombination der berechneten Parität und des Paritätsbitsignals ausgewählt oder bestimmt. Bei einer erfindungsgemäßen Ausführungsform deckt die Fehlerverarbeitungslogik 112 die Parität für die Signale ab, einschließlich, aber nicht beschränkt auf, Reihenadress-Strobe-Signal (row address strobe, RAS), Spaltenadress-Strobe-Signal (column address strobe, CAS), Schreibfreigabe-Signal (write enable, WE), Adressbus-Signale und Bankauswahl-Signale des Speichermoduls 120.
  • Der Memory-Control-Hub 110 stellt das Paritätsbitsignal als eines der Paritätssignale 140 bereit, wenn ein Befehl an das Speichermodul 120 gesendet wird. Bei einer erfindungsgemäßen Ausführungsform ist das Speichermodul 120 auf Empfang eines Befehls und seines zugehörigen Paritätssignals hin in der Lage, zu erkennen oder zu bestimmen, ob der empfangene Befehl irgendeinen C/A-Paritätsfehler aufweist. Bei einer weiteren erfindungsgemäßen Ausführungsform ist das Speichermodul 120 in der Lage zu erkennen oder zu bestimmen, ob der empfangene Befehl irgendeinen Fehler bei der zyklischen Redundanzprüfung (cyclic redundancy check, CRC) aufweist, Das Speichermodul 120 weist eine Fehlerverarbeitungslogik 124 auf, um die C/A-Paritäts- oder CRC-Fehlererkennung durchzuführen.
  • Wenn das Speichermodul 120 einen Paritätsfehler in dem empfangenen Befehl erkennt, ignoriert es den empfangenen Befehl und speichert bei einer erfindungsgemäßen Ausführungsform die Befehlsbits und Adressbits des empfangenen Befehls in einem Modusregister 122. Das Speichermodul 120 aktiviert für den Memory-Control-Hub 110 ein Anzeigesignal als eines der Paritätssignale 140, wenn der Paritätsfehler in dem empfangenen Befehl erkannt wird. Ebenso aktiviert das Speichermodul 120 für den Memory-Control-Hub 110 das Anzeigesignal als eines der Paritätssignale 140, wenn ein CRC-Fehler in dem empfangenen Befehl erkannt wird.
  • Der Memory-Controller-Hub 110 bestimmt auf Empfang des Anzeigesignals hin von dem Anzeigesignal, ob ein Paritäts- oder ein CRC-Fehler in dem empfangenen Befehl vorliegt. Der Memory-Controller-Hub 110 führt einen geeigneten Behebungsmechanismus durch, um den Paritäts- oder CRC-Fehler zu beheben. Mit der Fehlerverarbeitungslogik 112 in dem Memory-Control-Hub 110 gibt es bei der Behebung von Fehlern in dem Speichermodul 120 Haken.
  • Für einen Fachmann ist es sofort selbstverständlich, dass andere Formen von Fehlererkennungsmechanismen implementiert werden können, ohne die erfindungsgemäßen Arbeiten zu beeinträchtigen. Bei einer weiteren erfindungsgemäßen Ausführungsform liegt mehr als ein Speichermodul 120 oder Memory-Control-Hub 110 in einem System vor. Der Memory-Control-Hub 110 ist bei einer weiteren erfindungsgemäßen Ausführungsform in einen Prozessor des Systems integriert,
  • 2 veranschaulicht ein Format 200 eines Modusregisters 122 gemäß einer erfindungsgemäßen Ausführungsform. Das Modusregister 122 weist ein C/A-Paritätsbit 210 und ein CRC-Fehlerbit 215 auf, die nur von dem Memory-Control-Hub 110 geschrieben oder eingestellt werden können. Des C/A-Paritätsbit 210 ermöglicht die Aktivierung oder Deaktivierung der Paritätsprüfungen des Speichermoduls 120. Das CRC-Fehlerbit 215 ermöglicht die Aktivierung oder Deaktivierung eines CRC-Anzeigeimpulses, wenn CRC-Fehler in dem Speichermodul 120 erkannt werden. Wenn das C/A-Paritätsbit 210 aktiviert oder auf Logik Eins eingestellt ist, wird die Fehlerverarbeitungslogik 124 des Speichermoduls 120 freigegeben. Wenn das C/A-Paritätsbit 210 deaktiviert oder auf Logik Null eingestellt ist, wird die Fehlerverarbeitungslogik 124 des Speichermoduls 120 gesperrt.
  • Das Modusregister 122 weist ein Fehlerstatusbit 220 und ein CRC-Fehlerstatusbit 225 auf, die gelesen und geschrieben werden können. Wenn ein Paritätsfehler durch des Speichermodul 120 erkannt wird, aktiviert das Speichermodul das Fehlerstatusbit 220 oder stellt es auf Logik Eins ein. Wenn ein CRC-Fehler durch das Speichermodul 120 erkannt wird, aktiviert das Speichermodul das CRC-Fehlerstatusbit 225 oder stellt es auf Logik Eins ein. Wenn der Memory-Control-Hub 110 den Behebungsmechanismus oder -prozess für den Paritäts- oder CRC-Fehler ausgeführt hat, deaktiviert er das Fehlerstatusbit 220 bzw. CRC-Fehlerstatusbit 225 oder stellt es auf Logik Null ein.
  • Wenn das Speichermodul 120 einen Paritätsfehler in einem empfangenen Befehl erkennt, speichert das Speichermodul 120 die Befehlsbits und Adressbits des empfangenen Befehls in den Fehlerprotokollbits 230 des Modusregisters 122. Der Memory-Control-Hub 110 kann die Fehlerprotokollbits 230 lesen, um zu bestimmen, welcher Befehl durch das Speichermodul 120 mit Paritätsfehlern empfangen wurde.
  • Das Format 200 des Modusregisters 122 veranschaulicht bei einer erfindungsgemäßen Ausführungsform eine Konfiguration und soll nicht einschränkend sein. Für einen Fachmann ist es sofort selbstverständlich, dass andere Varianten der Konfiguration des Modusregisters 122 verwendet werden können, ohne die erfindungsgemäßen Arbeiten zu beeinträchtigen. Bei einer erfindungsgemäßen Ausführungsform ist das Modusregister 122 Teil eines Modusregistereinstellungs-(mode register set, MRS)-Registers auf einer DRAM-Einheit.
  • 3 veranschaulicht eine Sequenz 300 zur Verarbeitung von Paritätsfehlern bei einem Speichermodul 120 gemäß einer erfindungsgemäßen Ausführungsform. Die Ereignisse 310 zeigen eine mögliche Sequenz 300 an Ereignissen, wenn das Speichermodul 120 einen Befehl mit einem Paritätsfehler empfängt. Bei Ereignis 312 antwortet das Speichermodul 120 allen Befehlen mit einem gültigen oder korrekten Paritätsbitsignal. Das Fehlerstatusbit 220 und das ALERT-Signal 340 werden während des Ereignisses 312 nicht eingestellt oder aktiviert. Dies ist in dem nicht eingestellten Ereignisbit 332 veranschaulicht. Das ALERT-Signal 340 ist ein Anzeigesignal an den Memory-Control-Hub 110, dass das Speichermodul 120 einen Befehl mit einem Paritätsfehler empfangen hat. Bei einer erfindungsgemäßen Ausführungsform ist des ALERT-Signal ein ODER-Signal, das mit allen Speichermodulen in einem System verbunden ist.
  • Bei dem Ereignis 314 erkennt oder bestimmt das Speichermodul 120, dass es einen Befehl mit inkorrekter Parität empfangen hat. Bei dem Ereignis 316 ignoriert das Speichermodul 120 den Befehl mit inkorrekter Parität und alle anderen externen Befehle. Das Speichermodul 120 speichert den falschen Befehl und die Adresse in den Fehlerprotokollbits 230 und aktiviert das Fehlerstatusbit 220. Dies ist in dem eingestellten Ereignisbit 334 veranschaulicht. Das ALERT-Signal 340 wird aktiviert, wenn das Fehlerstatusbit 220 aktiviert ist. Bei dem Ereignis 316 leert das Speichermodul 120 die Schlange ausstehender gültiger Befehle, die vor dem empfangenen falschen Befehl empfangen wurden, d. h. das Speichermodul 120 wartet auf die Beendigung der Ausführung aller ausstehenden gültigen Befehle.
  • Bei dem Ereignis 318 wartet das Speichermodul 120 darauf, dass eine Active-to-Precharge Befehlsverzögerung (tRAS) abläuft. Die tRAS-Verzögerung ist die Anzahl an Taktzyklen, die zwischen einem Bankaktivierungsbefehl und der Ausgabe des Deaktivierungsbefehls erforderlich ist. Bei einer erfindungsgemäßen Ausführungsform wartet das Speichermodul 120 auf die minimale Verzögerungszeit, die für die tRAS erforderlich ist. Wenn die tRAS-Verzögerung abgelaufen ist, schließt das Speichermodul 120 alle offenen Seiten, sofern solche vorhanden sind.
  • Bei dem Ereignis 320 gibt das Speichermodul 120 einen internen Deaktivierungsbefehl an alle Banken des Speichermoduls 120 aus, Bei dem Ereignis 322 antwortet das Speichermodul 120, um Befehle und Lese- und Schreibbefehle zur Modusregistereinstellung (mode register set, MRS) von dem Memory-Controller-Hub 110 zu aktualisieren. Das Speichermodul 120 antwortet auf keinerlei andere Befehle bei Ereignis 322, wenn das Fehlerstatusbit 220 aktiviert ist. Die Aktualisierungsbefehle beinhalten, sind aber nicht beschränkt auf, Refresh-all-Befehle und Refresh-group-Befehle.
  • Bei Ereignis 324 hat der Memory-Controller-Hub 110 seinen Prozess Zur Fehlerverarbeitungsbehebung ausgeführt und deaktiviert das Fehlerstatusbit 220 unter Verwendung eines MRS-Schreibbefehls an das Modusregister 122. Das Speichermodul 120 nimmt seien normalen Betrieb wieder auf und antwortet auf alle Befehle mit gültiger Parität. Das ALERT-Signal 340 wird deaktiviert, wenn das Fehlerstatusbit 220 deaktiviert ist. Dies ist in dem nicht eingestellten Ereignisbit 336 veranschaulicht.
  • 4 veranschaulicht eine Sequenz 400 zur Verarbeitung von CRC-Fehlern bei einem Speichermodul 120 gemäß einer erfindungsgemäßen Ausführungsform. Der CRC-Fehlermechanismus benutzt bei einer erfindungsgemäßen Ausführungsform dasselbe ALERT-Signal 340. Um zwischen CRC-Fehlern und Paritätsfehlern zu bestimmen, muss der Memory-Control-Hub 110 das Fehlerstatusbit 220 eines jeden Speichermoduls lesen. Dies ist zeitaufwändig und verringert die Effizienz des Systems.
  • Um dieses Problem zu lösen, zeigen die Ereignisse 410 eine mögliche Sequenz 400 an Ereignissen, wenn das Speichermodul 120 Daten mit einem CRC-Fehler schreibt. Bei den Ereignissen 412 bis 418 hat das Speichermodul 120 Daten in Antwort auf eine Schreiboperation geschrieben. Das Fehlerstatusbit 220 und das ALERT-Signal 440 werden während der Ereignisse 412 bis 418 nicht eingestellt oder aktiviert. Bei dem Ereignis 420 empfängt das Speichermodul die CRC für die geschriebenen Daten, und es prüft, ob die geschriebenen Daten basierend auf der CRC korrekt sind. Wenn ein CRC-Fehler erkannt oder bestimmt wird, stellt des Speichermodul 120 das Fehlerstatusbit 220 bei dem Ereignis 432 ein. Das Speichermodul 120 sendet einen Impuls auf dem ALERT-Signal 440, um dem Memory-Control-Hub 110 anzuzeigen, dass ein CRC-Fehler erkannt wurde.
  • Der Memory-Control-Hub 110 kann leicht zwischen einem CRC-Fehler oder einem Paritätsfehler von dem Speichermodul 120 unterscheiden, indem das ALERT-Signal 440 untersucht wird. Die Anzahl an Taktzyklen oder Impulsbreite kann auf jede geeignete Anzahl eingestellt werden, die der Memory-Control-Hub erkennen kann. Bei einer erfindungsgemäßen Ausführungsform ist die Impulsbreite des ALERT-Signals 440 auf zwei Taktzyklen eingestellt, wenn ein CRC-Fehler von dem Speichermodul 120 erkannt wird. Für einen Fachmann ist es sofort selbstverständlich, dass andere Varianten verwendet werden können, um den CRC-Fehler dem Memory-Control-Hub 110 anzuzeigen, ohne die erfindungsgemäßen Arbeiten zu beeinträchtigen.
  • 5 veranschaulicht ein Ablaufdiagramm 500 der Schritte zum Durchführen einer Fehlerbehandlung bei einem Speichermodul 120 gemäß einer erfindungsgemäßen Ausführungsform. Der Deutlichkeit der Veranschaulichung halber wird 5 mit Bezug auf 1 erörtert. Bei Schritt 505 prüft das Speichermodul 120, ob irgendwelche C/A-Paritätsfehler in irgendeinem empfangenen Befehl vorliegen, wobei der empfangene Befehl von einem Chip-Auswahl-(chip select, CS)-signal qualifiziert wird. Liegt kein C/A-Paritätsfehler vor, prüft das Speichermodul 120, ob bei Schritt 508 irgendein CRC-Fehler vorliegt. Wenn kein CRC-Fehler vorliegt, geht das Speichermodul 120 zu Schritt 505 zurück. Liegt ein CRC-Fehler vor, aktiviert das Speichermodul 120 bei Schritt 522 ein Anzeigesignal für X Impulse.
  • Die Anzahl X kann jegliche geeignete Anzahl sein, die es dem Memory-Control-Hub 110 ermöglicht, zwischen einem Paritätsfehler und einem CRC-Fehler zu unterscheiden. Die Breite der X Impulse bei einer erfindungsgemäßen Ausführungsform ebenfalls variiert werden. Bei optionalem Schritt 542 prüft das Speichermodul, ob das Fehlerstatusbit 220 von dem Memory-Control-Hub 110 freigegeben oder deaktiviert ist. Der Memory-Control-Hub 110 gibt das Fehlerstatusbit 220 frei, nachdem er die Fehlerbehebung für den falschen Befehl beendet hat. Wenn das Fehlerstatusbit 220 freigegeben ist, endet der Ablauf. Wenn das Fehlerstatusbit 220 nicht freigegeben ist, geht das Speichermodul 120 zu Schritt 542 zurück.
  • Liegt ein C/A-Paritätsfehler vor, ignoriert das Speichermodul 120 den empfangenen Befehl mit dem C/A-Paritätsfehler bei Schritt 510. Das Speichermodul ignoriert alle anderen externen Befehle bei Schritt 510. Bei Schritt 515 stellt das Speichermodul 120 das Fehlerstatusbit 220 ein oder aktiviert es, und speichert den falschen Befehlsframe in den Fehlerprotokollbits 230. Bei Schritt 520 aktiviert das Speichermodul 120 kontinuierlich ein Anzeigesignal. Bei einer erfindungsgemäßen Ausführungsform ist das Anzeigesignal das ALERT-Signal 340. Bei Schritt 525 wartet das Speichermodul 120 auf die Ausführung aller derzeitiger Befehle. Die derzeitigen Befehle werden vor dem falschen Befehl empfangen.
  • Bei Schritt 530 wartet das Speichermodul 120 darauf, dass die minimale Active-to-Precharge Befehlsverzögerung (tRAS_min) abläuft. Bei Schritt 535 schließt das Speichermodul 120 alle offenen Speicherseiten und antwortet lediglich, um Befehle und MRS-Lese/Schreibbefehle von dem Memory-Control-Hub 110 zu aktualisieren. Bei Schritt 540 prüft das Speichermodul 120, ob das Fehlerstatusbit 220 von dem Memory-Control-Hub 110 freigegeben ist. Der Memory-Control-Hub 110 gibt das Fehlerstatusbit 220 frei, nachdem er die Fehlerbehebung für den falschen Befehl beendet hat. Wenn das Fehlerstatusbit 220 freigegeben oder deaktiviert ist, deaktiviert das Speichermodul 120 das Anzeigesignal bei Schritt 545 und der Ablauf endet. Wenn das Fehlerstatusbit 220 nicht freigegeben ist, geht das Speichermodul 120 zu Schritt 540 zurück.
  • 6 veranschaulicht ein Ablaufdiagramm 600 der Schritte zum Durchführen einer Fehlerbehandlung bei einem Memory-Controller-Hub 110 gemäß einer erfindungsgemäßen Ausführungsform. Der Deutlichkeit der Veranschaulichung halber wird 6 mit Bezug auf 1 erörtert. Bei Schritt 610 prüft der Memory-Control-Hub 110, ob er irgendein Anzeigesignal empfangen hat Bei einer erfindungsgemäßen Ausführungsform ist des Anzeigesignal das ALERT-Signal 340. Wird kein Anzeigesignal empfangen, geht der Memory-Control-Hub 110 zu Schritt 610 zurück. Wird ein Anzeigesignal empfangen, prüft der Memory-Control-Hub 110, ob das Anzeigesignal einen Paritätsfehler bei Schritt 615 anzeigt. Hat das Anzeigesignal einen Paritätsfehler angezeigt, wartet der Memory-Control-Hub 110 darauf, dass die Schlange der derzeitigen Befehle bei Schritt 620 ausgeführt wird.
  • Bei Schritt 625 sendet der Memory-Control-Hub 110 einen Deaktivierungsbefehl an alle Speichermodule. Alle Speichermodule, mit Ausnahme des Speichermoduls, das einen Paritätsfehler aufweist, führen den Deaktivierungsbefehl von dem Memory-Control-Hub 110 aus oder durch. Bei Schritt 630 sendet der Memory-Cvntrol-Hub 110 einen Aktualisierungsbefehl an alle Speichermodule, um die Daten in jedem Speichermodul aufzubewahren. Alle Speichermodule, einschließlich des Speichermoduls, das einen Paritätsfehler aufweist, führen den Aktualisierungsbefehl von dem Memory-Control-Hub 110 aus oder durch.
  • Bei Schritt 635 liest der Memory-Control-Hub 110 das Fehlerstatusbit 220 aus jedem Speichermodul, um zu bestimmen, welches Speichermodul die Fehlerquelle ist. Bei einer erfindungsgemäßen Ausführungsform beispielsweise ist der Memory-Control-Hub 110 mit vier Speichermodulen verbunden. Der Memory-Control-Hub 110 liest des Fehlerstatusbit 220 aus jedem der vier Speichermodule aus, um zu bestimmen, welches der vier Speichermodule einen Befehl mit einem C/A-Paritätsfehler empfangen hat.
  • Bei Schritt 640 gibt der Memory-Control-Hub 110 das Fehlerstatusbit 220 von dem Speichermodul frei, des den Befehl mit einem C/A-Paritätsfehler empfangen hat. Bei Schritt 645 sendet der Memory-Control-Hub 110 den Schreibbefehl (falls notwendig) erneut an das Speichermodul, das den Befehl mit einem C/A-Paritätsfehler empfangen hat und der Ablauf endet.
  • Wenn bei Schritt 615 kein Paritätsfehler in dem Anzeigesignal erkannt wird, bedeutet dies, dass ein CRC-Fehler erkannt wurde und der Ablauf geht zu optionalem Schritt 622. Zum Zwecke der Veranschaulichung kann der Memory-Control-Hub 110 entweder einen Paritätsfehler oder einen CRC-Fehler erkennen. Bei optionalem Schritt 622 bestimmt das Speichermodul, welches der Speichermodule einen Schreibbefehl mit einem CRC-Fehler empfangen hat Bei einer erfindungsgemäßen Ausführungsform erkennt oder bestimmt der Memory-Control-Hub 110, welches der Speichermodule einen Schreibbefehl mit einem CRC-Fehler empfangen hat, indem die Taktung des Anzeigesignals und die Ausbreitungsverzögerung des Anzeigesignals untersucht werden. Bei einer weiteren erfindungsgemäßen Ausführungsform wird Schritt 622 nicht durchgeführt und der Memory-Control-Hub 110 verarbeitet einen CRC-Fehler, indem er Schreibbefehle zu einem bestimmten Punkt sichert, wobei davon ausgegangen wird, dass die am weitesten entfernte DRAM-Einheit den CRC-Fehler aufweist und dann alle Schreibbefehle von diesem Punkt an erneut sendet. Die Worst-Case-Latenzzeit für das ALERT-Signal kann als Teil des Traininigs bestimmt werden, bevor der Speicherkanal für Schreibbefehle verwendet wird.
  • 7 veranschaulicht ein System 700, um die hierin offenbarten Verfahren gemäß einer erfindungsgemäßen Ausführungsform zu implementieren. Das System 700 beinhaltet, ist aber nicht beschränkt auf, einen Desktopcomputer, einen Laptop, ein Netbook, ein Notebook, einen Minicomputer (personal digital assistant, PDA), einen Server, eine Workstation, ein Mobiltelefon, ein mobiles EDV-Gerät, ein Internet-Gerät oder jede andere Art EDV-Gerät. Bei einer weiteren Ausführungsform kann das System 700, das verwendet wird, um die hierin offenbarten Verfahren zu implementieren, ein Ein-Chip-System (system an a chip, SOC) sein.
  • Der Prozessor 710 verfügt über einen Prozessorkern 712, um Befehle des Systems 700 auszuführen. Der Prozessorkern 712 beinhaltet, ist aber nicht beschränkt auf, Prefetch-Logik, um Befehle abzurufen, Decodierlogik, um die Befehle zu decodieren, Ausführlogik, um Befehle auszuführen und dergleichen. Der Prozessor 710 verfügt über einen Cache-Speicher 716, um Befehle und/oder Daten des Systems 700 in den Cache-Speicher aufzunehmen. Bei einer weiteren erfindungsgemäßen Ausführungsform beinhaltet der Cache-Speicher 716 Level-1, Level-2 und Level-3 Cache-Speicher oder jede andere Konfiguration des Cache-Speichers innerhalb des Prozessors 710, ist aber nicht darauf beschränkt.
  • Der Memory-Control-Hub (MCH) 714 führt Funktionen aus, die es dem Prozessor 710 ermöglichen, auf einen Speicher 730, der einen flüchtigen Speicher 732 und/oder einen Permanentspeicher 734 beinhaltet, zuzugreifen und damit zu kommunizieren, Der flüchtige Speicher 732 beinhaltet, ist aber nicht beschränkt auf, synchronen dynamischen Direktzugriffsspeicher (Synchronaus Dynamic Random Access Memory, SDRAM), dynamischen Direktzugriffsspeicher (Dynamic Random Access Memory, DRAM), RAMBUS DRAM (RAMBUS Dynamic Random Access Memory, RDRAM) und/oder jede andere Art Speichergerät mit wahlfreiem Zugriff (random access). Der Permanentspeicher 734 beinhaltet, ist aber nicht beschränkt auf, NAND-Flash-Memory, Phasenwechselspeicher (phase change memory, PCM), Festspeicher (read only memory, ROM), elektrisch löschbaren programmierbaren Festspeicher (electrically erasable programmable read only memory, EEPRCM) oder jede andere Art Permanentspeichergerät.
  • Der Speicher 730 speichert Informationen und Befehle, die von dem Prozessor 710 ausgeführt werden sollen. Der Speicher 730 kann ebenfalls temporäre Variablen oder andere Zwischeninformationen speichern, während der Prozessor 710 Befehle ausführt. Der Chipsatz 720 ist mit dem Prozessor 710 über Punkt-zu-Punkt-(Point-to-Point, PtP)-Schnittstellen 717 und 722 verbunden. Der Chipsatz 720 ermöglicht es dem Prozessor 710, sich mit anderen Modulen in dem System 700 zu verbinden. Bei einer erfindungsgemäßen Ausführungsform arbeiten die Schnittstellen 717 und 722 gemäß einem PtP-Kommunikationsprotokoll, wie z. B. dem Intel® QuickPath Interconnect (QPI) oder dergleichen.
  • Der Chipsatz 720 ist mit einem Display-Gerät 740 verbunden, das einen Flüssigkristallbildschirm (liquid crystal display, LCD), ein Röhrenmonitor-(cathode ray tube, CRT)-Display oder jede andere Art von visuellem Display-Gerät beinhaltet, ist aber nicht darauf beschränkt. Bei einer erfindungsgemäßen Ausführungsform sind der Prozessor 710 und der Chipsatz 720 zu einem SOC zusammengeschlossen. Der Chipsatz 720 verbindet außerdem ein oder mehr Busse 750 und 755, die die verschiedenen Module 774, 760, 762, 764 und 766 verbinden. Busse 760 und 755 können über eine Busbrücke 772 verbunden sein, wenn Busgeschwindigkeit oder Kommunikationsprotokoll nicht übereinstimmen. Der Chipsatz 720 koppelt mit, ist aber nicht beschränkt auf, einen Permanentspeicher 760, ein Massenspeichergerät/Massenspeichergeräte 762, eine Tastatur/Maus 764 und eine Netzwerkschnittstelle 766.
  • Das Massenspeichergerät 762 beinhaltet, ist aber nicht beschränkt auf, ein Festkörperlaufwerk, ein Festplattenlaufwerk, ein USB-(universal serial bus)-Flash-Memory-Laufwerk oder jede andere Art von Speichermedium für Computerdaten. Die Netzwerkschnittstelle 766 ist unter Verwendung jeder Art wohlbekannten Netzwerkschnittstellen-Standards implementiert, einschließlich, aber nicht beschränkt auf, eine Ethernet-Schnittstelle, eine universelle serielle Bus (universal serial bus, USB) Schnittstelle, eine Peripheral Component Interconnect-(PCI)-Express-Schnittstelle, eine Drahtlosschnittstelle und/oder jede andere geeignete Art Schnittstelle. Die Drahtlosschnittstelle arbeitet gemäß dem IEEE 802.11 Standard und seiner verwandten Familie, Home Plug AV (HPAV), Ultra-Breitband (Ultra Wide Band, UWB), Bluetooth, WiMax oder jeder Art Drahtlos-Kommunikationsprotokoll, ist aber nicht darauf beschränkt.
  • Obwohl die in 7 gezeigten Module als getrennte Blöcke innerhalb des Systems 700 dargestellt sind, können die von einigen dieser Blöcke ausgeführten Funktionen innerhalb einer einzigen Halbleiterschaltung integriert sein oder können unter Verwendung von zwei oder mehr getrennten integrierten Schaltungen implementiert sein. Obwohl beispielsweise der Cache-Speicher 716 als ein getrennter Block innerhalb des Prozessors 710 dargestellt ist, kann der Cache-Speicher 716 je in den Prozessorkern 712 eingebracht sein. Das System 700 kann mehr als einen Prozessor/Prozessorkern bei einer weiteren erfindungsgemäßen Ausführungsform beinhalten.
  • Die hierin offenbarten Verfahren können in Hardware, Software, Firmware oder jeder anderen Kombination davon implementiert sein. Obwohl Beispiele der Ausführungsformen des offenbarten Gegenstandes beschrieben sind, ist es für einen Fachmann sofort selbstverständlich, dass viele andere Verfahren zum Implementieren des offenbarten Gegenstandes alternativ verwendet werden können. Bei der vorstehenden Beschreibung sind verschiedene Ausführungsformen des offenbarten Gegenstandes beschrieben worden. Zum Zwecke der Erklärung wurden spezifische Anzahlen, Systeme und Konfigurationen dargelegt, um ein gründliches Verständnis des Gegenstandes bereitzustellen. Es ist jedoch für einen Fachmann, der den Vorteil dieser Offenbarung hat, selbstverständlich, dass der Gegenstand ohne die spezifischen Details umgesetzt werden kann. In anderen Fällen wurden wohl bekannte Merkmale, Komponenten oder Module weggelassen, vereinfacht, kombiniert oder aufgeteilt, um den offenbarten Gegenstand nicht in den Hintergrund rücken zu lassen.
  • Der hierin verwendete Begriff „arbeitet” bedeutet, dass das Gerät, System, Protokoll etc. in der Lage ist oder dazu ausgelegt ist, für seine gewünschte Funktionalität zu arbeiten, wenn sich das Gerät oder System in einem ausgeschalteten Zustand befindet. Verschiedene Ausführungsformen des offenbarten Gegenstandes können in Hardware, Firmware, Software oder Kombinationen davon implementiert sein, und können unter Bezugnahme auf oder in Verbindung mit Programmcode, wie z. B. Befehlen, Funktionen, Verfahrensweisen, Datenstrukturen, Logik, Anwendungsprogrammen, Designdarstellungen oder Formaten zur Simulation, Emulation und Herstellung eines Designs beschrieben werden, die, wenn von einer Maschine darauf zugegriffen wird, dazu führen, dass die Maschine Aufgaben ausführt, wobei abstrakte Datentypen oder hardwarenaher Zusammenhang definiert wird oder ein Ergebnis erzeugt wird.
  • Die in den Figuren gezeigten Techniken können unter Verwendung von Code und Daten implementiert werden, die auf ein oder mehr EDV-Geräten, wie z. B. Universalrechnern oder EDV-Geräten, gespeichert und ausgeführt werden. Solche EDV-Geräte speichern und kommunizieren (intern und mit anderen EDV-Geräten über ein Netzwerk) Code und Daten unter Verwendung maschinenlesbarer Medien, wie z. B. maschinenlesbare Speichermedien (z. B. Magnetplatten; optische Platten; Direktzugriffsspeicher; Festspeicher; Flash-Speicher-Geräte; Phasenwechselspeicher) und maschinenlesbarer Kommunikationsmedien (z. B. elektrische, optische, akustische oder andere Formen sich ausbreitender Signale – wie z. B. Trägersignale, Infrarotsignale, digitale Signale etc.).
  • Während der offenbarte Gegenstand unter Bezugnahme auf veranschaulichende Ausführungsformen beschrieben wurde, soll diese Beschreibung nicht einschränkend ausgelegt werden. Verschiedene Modifikationen der veranschaulichenden Ausführungsformen sowie anderer Ausführungsformen des Gegenstandes, der Fachleuten, die der offenbarte Gegenstand betrifft, offensichtlich ist, sollen als im Umfang des offenbarten Gegenstandes einbegriffen erachtet werden.

Claims (23)

  1. Verfahren zur Fehlerbehandlung in einem Speichergerät, umfassend: – empfangen, von einem Memory-Controller, eines Befehls und eines dem Befehl zugeordneten Paritätssignals, – zu erkennen, ob der empfangene Befehl einen Paritätsfehler aufweist, wobei der empfangene Befehl von einem Chip-Auswahl-(chip select, CS)-signal qualifiziert ist; und – in Antwort auf ein Erkennen eines Paritätsfehlers – den empfangenen Befehl zu ignorieren; – Befehlsbits und Adressbits des empfangenen Befehls in einem Fehlerprotokoll zu speichern; – ein Fehlerstatusbit zu aktivieren; – ein Fehleranzeigesignal zu aktivieren; – zu warten, bis die Ausführung aller eines oder mehrerer derzeitiger Befehle beendet ist, wobei der eine oder die mehreren derzeitigen Befehle vor dem empfangenen Befehl empfangen wurden, und – zu warten, bis eine Active-to-Precharge Befehlsverzögerung abgelaufen ist, bevor alle offenen Seiten geschlossen werden.
  2. Verfahren nach Anspruch 1, wobei ein Erkennen, ob der empfangene Befehl den Paritätsfehler aufweist, umfasst zu bestimmen, ob die Befehlsbits oder die Adressbits des empfangenen Befehls den Paritätsfehler aufweisen.
  3. Verfahren nach Anspruch 1, wobei in Antwort auf das Erkennen des Paritätsfehlers, das Verfahren weiter umfasst lediglich auf entweder einen Aktualisierungsbefehl, einen Modusregistereinstellungs-(mode register set, MRS)-Lesebefehl oder einen MRS-Schreibbefehl zu antworten.
  4. Verfahren nach Anspruch 3, wobei in Antwort auf das Erkennen des Paritätsfehlers, das Verfahren weiter umfasst: – zu bestimmen, dass das Fehlerstatusbit deaktiviert ist; – das Anzeigesignal zu deaktivieren.
  5. Verfahren nach Anspruch 1, weiter umfassend: – zu erkennen, ob eine Schreiboperation einen Fehler bei der zyklischen Redundanzprüfung (cyclic redundancy check, CRC) aufweist; und – in Antwort auf ein Erkennen des CRC-Fehlers einen Impuls auf dem Anzeigesignal zu senden.
  6. Verfahren zur Fehlerbehandlung in einem oder mehreren dynamischen Direktzugriffsspeichern (dynamic random access memory, DRAM), umfassend: – zu erkennen, ob ein Paritätsfehler oder ein Fehler bei der zyklischen Redundanzprüfung (cyclic redundancy check, CRC) auf einer Fehleranzeigesignalleitung in Antwort auf einen Befehl angezeigt wird, wobei die Fehleranzeigesignalleitung geeignet ist, verschiedene Fehleranzeigen zu empfangen; und – in Antwort auf ein Erkennen eines Paritätsfehlers – zu warten, bis die Ausführung aller eines oder mehrerer Befehle, welche vor dem Befehl mit dem Paritätsfehler gesendet wurden, ausgeführt ist; – einen Aktualisierungsbefehl an den einen oder die mehreren DRAM-Speicher zu senden; und – zu bestimmen, welcher der einen oder mehreren DRAM-Speicher den Befehl mit dem Paritätsfehler empfangen hat.
  7. Verfahren nach Anspruch 6, wobei ein Erkennen, ob der Paritätsfehler oder der CRC-Fehler auf dem Anzeigesignal angezeigt ist, umfasst zu bestimmen, ob das Fehleranzeigesignal ein aktiviertes Signal oder ein Impuls ist, wobei das aktivierte Signal einen Paritätsfehler anzeigt und einen längeren Arbeitszyklus aufweist gegenüber einem aktivierten Impuls, welcher einen CRC-Fehler anzeigt.
  8. Verfahren nach Anspruch 6, wobei ein Bestimmen, welcher der einen oder mehreren DRAM-Speicher den Befehl mit dem Paritätsfehler empfangen hat, umfasst ein Fehlerstatusbit eines jeden der einen oder mehreren DRAM-Speicher zu lesen, um zu bestimmen, welcher der einen oder mehreren DRAM-Speicher den Befehl mit dem Paritätsfehler empfangen hat, wobei das Fehlerstatusbit den Paritätsfehler anzeigen soll.
  9. Verfahren nach Anspruch 8, wobei in Antwort auf ein Erkennen des Paritätsfehlers, das Verfahren weiter umfasst: – das Fehlerstatusbit des bestimmten DRAM-Speichers erneut einzustellen; und – den Befehl an den bestimmten DRAM-Speicher erneut zu senden.
  10. Verfahren nach Anspruch 6, weiter umfassend in Antwort auf ein Erkennen eines CRC-Fehlers – zu bestimmen, welcher der einen oder mehreren DRAM-Speicher eine Schreiboperation mit dem CRC-Fehler durchgeführt hat; und – die Schreiboperation auf den bestimmten DRAM-Speicher durchzuführen, der die Schreiboperation mit dem CRC-Fehler durchgeführt hat.
  11. Verfahren nach Anspruch 10, wobei ein Bestimmen, welcher der einen oder mehreren DRAM-Speicher die Schreiboperation mit dem CRC-Fehler durchgeführt hat, umfasst basierend auf einer Verzögerungszeit des Anzeigesignals zu bestimmen, welcher der einen oder mehreren DRAM-Speicher eine Schreiboperation mit dem CRC-Fehler durchgeführt hat.
  12. Speichergerät, umfassend: – ein Register; und – Fehlerverarbeitungslogik, um: – einen Befehl und ein dem Befehl zugeordnetes Paritätssignal zu empfangen; – zu erkennen, ob der empfangene Befehl einen Paritätsfehler aufweist, wobei der empfangene Befehl von einem CS-signal qualifiziert ist; und – in Antwort auf ein Erkennen des Paritätsfehlers – den empfangenen Befehl zu ignorieren; – Befehlsbits und Adressbits des empfangenen Befehls in einem Fehlerprotokoll zu speichern; – ein Fehleranzeigesignal zu aktivieren, – zu warten, bis die Ausführung aller eines oder mehrerer derzeitiger Befehle beendet ist, wobei der eine oder die mehreren derzeitigen Befehle vor dem empfangenen Befehl empfangen wurden; – zu warten, bis eine Active-to-Precharge Befehlsverzögerung abgelaufen ist, bevor alle offenen Seiten geschlossen werden.
  13. Speichergerät nach Anspruch 12, wobei die Fehlerverarbeitungslogik zum Erkennen, ob der empfangene Befehl den Paritätsfehler aufweist bestimmen soll, ob die Befehlsbits oder die Adressbits des empfangenen Befehls den Paritätsfehler aufweisen.
  14. Speichergerät nach Anspruch 12, wobei die Fehlerverarbeitungslogik in Antwort auf das Erkennen des Paritätsfehlers weiter lediglich auf entweder einen Aktualisierungsbefehl, einen Modusregistereinstellungs-(mode register set, MRS)-Lesebefehl oder einen MRS-Schreibbefehl antworten soll.
  15. Speichergerät nach Anspruch 12, wobei die Fehlerverarbeitungslogik in Antwort auf das Erkennen des Paritätsfehlers weiter: – bestimmen soll, dass das Fehlerstatusbit deaktiviert ist; – das Fehleranzeigesignal deaktivieren soll.
  16. Speichergerät nach Anspruch 12, wobei die Fehlerverarbeitungslogik weiter: – erkennen soll, ob eine Schreiboperation einen Fehler bei der zyklischen Redundanzprüfung (cyclic redundancy check, CRC) aufweist; und – in Antwort auf ein Erkennen des CRC-Fehlers einen Impuls auf dem Fehleranzeigesignal senden soll.
  17. Speichergerät nach Anspruch 12, wobei das Speichergerät einen Doppel-Datenraten Vier synchroner dynamischer Direktzugriffsspeicher (double-data-rate four synchronous dynamic random access memory, DDR4 SDRAM) umfasst.
  18. Memory-Controller zum Steuern eines Zugriffs auf einen oder mehrere DRAM-Speicher, umfassend: – eine Eingabe-Ausgabe-Schnittstelle, die an eine Fehleranzeigesignalleitung koppelt, und die geeignet ist, verschiedene Fehleranzeigen auf der Fehleranzeigesignalleitung zu empfangen; und – Logik, um: – ein mit dem Befehl verbundenes Befehls- und ein Paritätsbitsignal an einen oder mehrere DRAM-Speicher bereitzustellen; – zu erkennen, ob ein Paritätsfehler oder ein CRC-Fehler auf der Fehleranzeigesignalleitung in Antwort auf den Befehl angezeigt wird; und – in Antwort auf ein Erkennen eines Paritätsfehlers – zu warten, bis die Ausführung aller eines oder mehrerer Befehle, welche vor dem Befehl mit dem Paritätsfehler gesendet wurden, ausgeführt ist; – zu bestimmen, welcher der einen oder mehreren DRAM-Speicher den Befehl mit dem Paritätsfehler empfangen hat.
  19. Memory-Controller nach Anspruch 18, wobei die Logik zum Erkennen des Paritätsfehlers in Antwort auf den Befehl weiter umfasst: – eine Parität von Adresssignalen und Befehlssignalen des Befehls zu berechnen; und – ein Bitsignal als das bereitgestellte, mit dem Befehl verbundene Paritätsbitsignal auszuwählen, wobei das Bitsignal basierend auf einer geradzahligen oder ungeradzahligen Parität einer Kombination der berechneten Parität und des Bitsignals ausgewählt wird.
  20. Memory-Controller nach Anspruch 18, wobei die Logik in Antwort auf das Erkennen des Paritätsfehlers weiter: – einen Deaktivierungsbefehl und einen Aktualisierungsbefehl an alle DRAM-Speicher senden soll.
  21. Memory-Controller nach Anspruch 18, wobei die Logik zum Bestimmen, welcher der einen oder mehreren DRAM-Speicher den Befehl mit dem Paritätsfehler empfangen hat, ein Fehlerstatusbit eines jeden der einen oder mehreren DRAM-Speicher lesen soll, um zu bestimmen, welcher der einen oder mehreren DRAM-Speicher den Befehl mit dem Paritätsfehler empfangen hat, wobei das Fehlerstatusbit den Paritätsfehler anzeigen soll.
  22. Memory-Controller nach Anspruch 21, wobei die Logik in Antwort auf das Erkennen des Paritätsfehlers weiter: – das Fehlerstatusbit des bestimmten DRAM-Speichers erneut einstellen soll; und – den Befehl an den bestimmten DRAM-Speicher senden soll.
  23. Memory-Controller nach Anspruch 18, wobei die Logik weiter: – erkennen soll, ob ein CRC-Fehler oder ein Paritätsfehler des Befehls aufgrund einer Impulsbreite des Fehleranzeigesignals angezeigt wird.
DE102010053281.9A 2009-12-09 2010-12-02 Verfahren und System zur Fehlerbehandlung bei einem Speichergerät Active DE102010053281B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/634,286 2009-12-09
US12/634,286 US8862973B2 (en) 2009-12-09 2009-12-09 Method and system for error management in a memory device

Publications (2)

Publication Number Publication Date
DE102010053281A1 DE102010053281A1 (de) 2011-08-04
DE102010053281B4 true DE102010053281B4 (de) 2017-02-09

Family

ID=43365577

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010053281.9A Active DE102010053281B4 (de) 2009-12-09 2010-12-02 Verfahren und System zur Fehlerbehandlung bei einem Speichergerät

Country Status (5)

Country Link
US (1) US8862973B2 (de)
CN (2) CN104268030B (de)
DE (1) DE102010053281B4 (de)
GB (4) GB2487848B (de)
TW (3) TWI588835B (de)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158616B2 (en) 2009-12-09 2015-10-13 Intel Corporation Method and system for error management in a memory device
WO2012151001A1 (en) * 2011-04-30 2012-11-08 Rambus Inc. Configurable, error-tolerant memory control
US8527836B2 (en) 2011-07-01 2013-09-03 Intel Corporation Rank-specific cyclic redundancy check
US8639918B2 (en) * 2011-08-31 2014-01-28 Dell Products L.P. Memory compatibility system and method
EP2696534B1 (de) 2011-09-05 2016-07-20 Huawei Technologies Co., Ltd. Verfahren und vorrichtung zur überwachung schneller wegverbindungen
JP2013073653A (ja) 2011-09-28 2013-04-22 Elpida Memory Inc 半導体装置
US10452084B2 (en) * 2012-03-14 2019-10-22 Ademco Inc. Operation of building control via remote device
WO2013147913A1 (en) * 2012-03-31 2013-10-03 Intel Corporation Delay-compensated error indication signal
US10902890B2 (en) * 2012-06-22 2021-01-26 Intel Corporation Method, apparatus and system for a per-DRAM addressability mode
US9515204B2 (en) 2012-08-07 2016-12-06 Rambus Inc. Synchronous wired-or ACK status for memory with variable write latency
US9299400B2 (en) 2012-09-28 2016-03-29 Intel Corporation Distributed row hammer tracking
US9324398B2 (en) 2013-02-04 2016-04-26 Micron Technology, Inc. Apparatuses and methods for targeted refreshing of memory
US9389953B2 (en) 2013-03-04 2016-07-12 Samsung Electronics Co., Ltd. Semiconductor memory device and system conducting parity check and operating method of semiconductor memory device
KR101670917B1 (ko) 2013-03-15 2016-11-01 인텔 코포레이션 메모리 시스템
US9047978B2 (en) 2013-08-26 2015-06-02 Micron Technology, Inc. Apparatuses and methods for selective row refreshes
US9934143B2 (en) 2013-09-26 2018-04-03 Intel Corporation Mapping a physical address differently to different memory devices in a group
US9213491B2 (en) * 2014-03-31 2015-12-15 Intel Corporation Disabling a command associated with a memory device
JP2015219938A (ja) 2014-05-21 2015-12-07 マイクロン テクノロジー, インク. 半導体装置
JP2016110516A (ja) * 2014-12-09 2016-06-20 キヤノン株式会社 メモリコントローラとその制御方法
KR20170008083A (ko) * 2015-07-13 2017-01-23 에스케이하이닉스 주식회사 리프레쉬 검증 회로, 반도체 장치 및 반도체 시스템
US10108509B2 (en) * 2015-07-16 2018-10-23 Texas Instruments Incorporated Dynamic enabling of redundant memory cells during operating life
US9842021B2 (en) * 2015-08-28 2017-12-12 Intel Corporation Memory device check bit read mode
US9659626B1 (en) * 2015-12-26 2017-05-23 Intel Corporation Memory refresh operation with page open
CN105719699B (zh) * 2016-01-15 2019-05-17 西安紫光国芯半导体有限公司 一种提高dram后端测试良率的方法
US10163508B2 (en) 2016-02-26 2018-12-25 Intel Corporation Supporting multiple memory types in a memory slot
JP2017182854A (ja) 2016-03-31 2017-10-05 マイクロン テクノロジー, インク. 半導体装置
CN108073818B (zh) 2016-11-14 2021-07-09 华为技术有限公司 芯片的数据保护电路、芯片和电子设备
US10490251B2 (en) 2017-01-30 2019-11-26 Micron Technology, Inc. Apparatuses and methods for distributing row hammer refresh events across a memory device
US10997096B2 (en) 2017-05-22 2021-05-04 Intel Corporation Enumerated per device addressability for memory subsystems
US10528414B2 (en) * 2017-09-13 2020-01-07 Toshiba Memory Corporation Centralized error handling in application specific integrated circuits
US10515039B2 (en) * 2018-01-05 2019-12-24 Molex, Llc Vehicle USB hub system
US10580475B2 (en) 2018-01-22 2020-03-03 Micron Technology, Inc. Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device
CN108288489B (zh) * 2018-04-24 2023-07-25 长鑫存储技术有限公司 半导体存储器循环冗余校验装置及半导体存储器
US11017833B2 (en) 2018-05-24 2021-05-25 Micron Technology, Inc. Apparatuses and methods for pure-time, self adopt sampling for row hammer refresh sampling
US11152050B2 (en) 2018-06-19 2021-10-19 Micron Technology, Inc. Apparatuses and methods for multiple row hammer refresh address sequences
US10685696B2 (en) 2018-10-31 2020-06-16 Micron Technology, Inc. Apparatuses and methods for access based refresh timing
CN109558083B (zh) * 2018-11-27 2020-08-14 惠科股份有限公司 防止代码被改写的方法及存储器
KR102649315B1 (ko) * 2018-12-03 2024-03-20 삼성전자주식회사 휘발성 메모리 장치를 포함하는 메모리 모듈 및 이를 포함하는 메모리 시스템
WO2020117686A1 (en) 2018-12-03 2020-06-11 Micron Technology, Inc. Semiconductor device performing row hammer refresh operation
CN117198356A (zh) 2018-12-21 2023-12-08 美光科技公司 用于目标刷新操作的时序交错的设备和方法
US10957377B2 (en) 2018-12-26 2021-03-23 Micron Technology, Inc. Apparatuses and methods for distributed targeted refresh operations
US10770127B2 (en) 2019-02-06 2020-09-08 Micron Technology, Inc. Apparatuses and methods for managing row access counts
US11043254B2 (en) 2019-03-19 2021-06-22 Micron Technology, Inc. Semiconductor device having cam that stores address signals
US11227649B2 (en) 2019-04-04 2022-01-18 Micron Technology, Inc. Apparatuses and methods for staggered timing of targeted refresh operations
US11264096B2 (en) 2019-05-14 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits
US11158364B2 (en) 2019-05-31 2021-10-26 Micron Technology, Inc. Apparatuses and methods for tracking victim rows
US11069393B2 (en) 2019-06-04 2021-07-20 Micron Technology, Inc. Apparatuses and methods for controlling steal rates
US11158373B2 (en) 2019-06-11 2021-10-26 Micron Technology, Inc. Apparatuses, systems, and methods for determining extremum numerical values
US11139015B2 (en) 2019-07-01 2021-10-05 Micron Technology, Inc. Apparatuses and methods for monitoring word line accesses
US10832792B1 (en) 2019-07-01 2020-11-10 Micron Technology, Inc. Apparatuses and methods for adjusting victim data
US11386946B2 (en) 2019-07-16 2022-07-12 Micron Technology, Inc. Apparatuses and methods for tracking row accesses
US10943636B1 (en) 2019-08-20 2021-03-09 Micron Technology, Inc. Apparatuses and methods for analog row access tracking
US10964378B2 (en) 2019-08-22 2021-03-30 Micron Technology, Inc. Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation
US11200942B2 (en) 2019-08-23 2021-12-14 Micron Technology, Inc. Apparatuses and methods for lossy row access counting
US11302374B2 (en) 2019-08-23 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic refresh allocation
US10866861B1 (en) * 2019-08-29 2020-12-15 Micron Technology, Inc. Deferred error-correction parity calculations
US11302377B2 (en) 2019-10-16 2022-04-12 Micron Technology, Inc. Apparatuses and methods for dynamic targeted refresh steals
US11309010B2 (en) 2020-08-14 2022-04-19 Micron Technology, Inc. Apparatuses, systems, and methods for memory directed access pause
US11380382B2 (en) 2020-08-19 2022-07-05 Micron Technology, Inc. Refresh logic circuit layout having aggressor detector circuit sampling circuit and row hammer refresh control circuit
US11348631B2 (en) 2020-08-19 2022-05-31 Micron Technology, Inc. Apparatuses, systems, and methods for identifying victim rows in a memory device which cannot be simultaneously refreshed
US11675731B2 (en) * 2020-08-20 2023-06-13 Global Unichip Corporation Data protection system and method thereof for 3D semiconductor device
US11222682B1 (en) 2020-08-31 2022-01-11 Micron Technology, Inc. Apparatuses and methods for providing refresh addresses
US11557331B2 (en) 2020-09-23 2023-01-17 Micron Technology, Inc. Apparatuses and methods for controlling refresh operations
US11222686B1 (en) 2020-11-12 2022-01-11 Micron Technology, Inc. Apparatuses and methods for controlling refresh timing
US11462291B2 (en) 2020-11-23 2022-10-04 Micron Technology, Inc. Apparatuses and methods for tracking word line accesses
US11264079B1 (en) 2020-12-18 2022-03-01 Micron Technology, Inc. Apparatuses and methods for row hammer based cache lockdown
US11482275B2 (en) 2021-01-20 2022-10-25 Micron Technology, Inc. Apparatuses and methods for dynamically allocated aggressor detection
US11600314B2 (en) 2021-03-15 2023-03-07 Micron Technology, Inc. Apparatuses and methods for sketch circuits for refresh binning
CN113641530B (zh) * 2021-06-23 2023-07-18 地平线(上海)人工智能技术有限公司 一种数据处理方法及装置
US11664063B2 (en) 2021-08-12 2023-05-30 Micron Technology, Inc. Apparatuses and methods for countering memory attacks
US11688451B2 (en) 2021-11-29 2023-06-27 Micron Technology, Inc. Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking
CN115291816B (zh) * 2022-10-10 2022-12-09 新云滕(云南)科技有限公司 一种用于基于三维可视化的配电管理系统的存储器系统
CN117950907A (zh) * 2022-10-19 2024-04-30 长鑫存储技术有限公司 一种存储器装置及其控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004107175A1 (en) * 2003-05-21 2004-12-09 Sun Microsystems, Inc. Memory integrated circuit including an error detection mechanism for detecting errors in address and control signals
US20070033512A1 (en) * 2005-07-21 2007-02-08 Johnson Christopher S Method and apparatus for detecting communication errors on a bus

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163769A1 (en) * 2002-02-27 2003-08-28 Sun Microsystems, Inc. Memory module including an error detection mechanism for address and control signals
US7131052B2 (en) 2002-08-12 2006-10-31 International Business Machines Corporation Algebraic decoder and method for correcting an arbitrary mixture of burst and random errors
US7006392B2 (en) 2004-01-26 2006-02-28 Micron Technology, Inc. Memory redundancy programming
KR100546135B1 (ko) * 2004-05-17 2006-01-24 주식회사 하이닉스반도체 지연 고정 루프를 포함하는 메모리 장치
JP4237109B2 (ja) * 2004-06-18 2009-03-11 エルピーダメモリ株式会社 半導体記憶装置及びリフレッシュ周期制御方法
KR100564631B1 (ko) 2004-09-09 2006-03-29 삼성전자주식회사 커맨드 신호의 에러 검출 기능을 가지는 메모리 모듈
GB2428496A (en) * 2005-07-15 2007-01-31 Global Silicon Ltd Error correction for flash memory
US7587625B2 (en) 2006-02-16 2009-09-08 Intel Corporation Memory replay mechanism
US7756053B2 (en) 2006-06-30 2010-07-13 Intel Corporation Memory agent with error hardware
US7477522B2 (en) 2006-10-23 2009-01-13 International Business Machines Corporation High density high reliability memory module with a fault tolerant address and command bus
US7937641B2 (en) * 2006-12-21 2011-05-03 Smart Modular Technologies, Inc. Memory modules with error detection and correction
CN101206703B (zh) 2006-12-22 2010-05-19 中国科学院计算技术研究所 一种具有程序内容对外保密功能的芯片及程序下载方法
KR101308047B1 (ko) 2007-02-08 2013-09-12 삼성전자주식회사 메모리 시스템, 이 시스템을 위한 메모리, 및 이 메모리를위한 명령 디코딩 방법
US8028198B2 (en) 2007-07-30 2011-09-27 Micron Technology, Inc. Devices, methods, and apparatuses for detection, sensing, and reporting functionality for semiconductor memory
US20090158122A1 (en) 2007-12-12 2009-06-18 Intel Corporation Forward error correction of an error acknowledgement command protocol
CN101303716B (zh) 2008-07-08 2011-06-29 武汉大学 基于可信平台模块的嵌入式系统恢复方法
US8307270B2 (en) * 2009-09-03 2012-11-06 International Business Machines Corporation Advanced memory device having improved performance, reduced power and increased reliability
US9349156B2 (en) 2009-09-25 2016-05-24 Arm Limited Adaptive frame buffer compression
US9158616B2 (en) 2009-12-09 2015-10-13 Intel Corporation Method and system for error management in a memory device
US9881657B2 (en) 2012-05-08 2018-01-30 Marvell World Trade Ltd. Computer system and method of memory management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004107175A1 (en) * 2003-05-21 2004-12-09 Sun Microsystems, Inc. Memory integrated circuit including an error detection mechanism for detecting errors in address and control signals
US20070033512A1 (en) * 2005-07-21 2007-02-08 Johnson Christopher S Method and apparatus for detecting communication errors on a bus

Also Published As

Publication number Publication date
TWI500037B (zh) 2015-09-11
DE102010053281A1 (de) 2011-08-04
US8862973B2 (en) 2014-10-14
GB201308311D0 (en) 2013-06-19
CN104268030A (zh) 2015-01-07
CN102096611B (zh) 2017-05-24
TW201604884A (zh) 2016-02-01
GB2476142A (en) 2011-06-15
GB201402999D0 (en) 2014-04-09
TW201145293A (en) 2011-12-16
CN104268030B (zh) 2019-03-22
GB2502700B (en) 2014-06-11
GB201018116D0 (en) 2010-12-08
GB2476142B (en) 2014-06-25
TWI567748B (zh) 2017-01-21
TWI588835B (zh) 2017-06-21
GB2487848A (en) 2012-08-08
TW201604885A (zh) 2016-02-01
US20110138261A1 (en) 2011-06-09
GB2513233A (en) 2014-10-22
GB2487848B (en) 2013-04-24
GB201203788D0 (en) 2012-04-18
CN102096611A (zh) 2011-06-15
GB2502700A (en) 2013-12-04
GB2513233B (en) 2014-12-03

Similar Documents

Publication Publication Date Title
DE102010053281B4 (de) Verfahren und System zur Fehlerbehandlung bei einem Speichergerät
DE102006048115B4 (de) System und Verfahren zum Aufzeichnen von behebbaren Fehlern
US10002043B2 (en) Memory devices and modules
DE102006002526B4 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
US9158616B2 (en) Method and system for error management in a memory device
DE102010013228B4 (de) Verfahren und System, um die Operationen eines registrierten Speichermoduls zu verbessern
DE102021122170A1 (de) Adaptive fehlerbereinigung und fehlerbehandlung für internen speicher
DE102016200514A1 (de) Verfahren und Vorrichtungen für gesteuerte Wiederherstellung von Fehlerinformationen zwischen unabhängig voneinander betreibbaren Prozessoren
DE112006001290T5 (de) Dynamisches Busparken
DE102013211077A1 (de) Verfahren zum Testen eines Speichers und Speichersystem
CN110716878B (zh) 一种接口自动化测试方法、装置及系统
DE102020123583A1 (de) Speichervorrichtungen zum Durchführen einer Reparaturoperation, Speichersysteme mit denselben und Betriebsverfahren davon
DE60315651T2 (de) Halbleiterspeicher
DE112017007690T5 (de) Verfahren und vorrichtungen zur durchführung einer fehlerdetektion und/oder korrektur in einer speichervorrichtung
KR20140102703A (ko) 통합된 데이터 마스킹, 데이터 포이즈닝, 및 데이터 버스 반전 시그널링
DE102007010584A1 (de) Handhabung von unzulässigen Befehlen auf der Befehlsdecoderstufe
CN112612596A (zh) 命令调度方法、装置、设备和存储介质
JP2001167005A (ja) メモリ診断方法とメモリ診断回路および半導体記憶装置
DE102020116192A1 (de) Nand-detektion und -wiederherstellung eines verworfenen befehls
US20170060790A1 (en) Per-dram and per-buffer addressability shadow registers and write-back functionality
DE102014002370A1 (de) Anzeigen eines kritischen batteriestatus in mobilen einrichtungen
DE102022127895A1 (de) Schnelle ecc-speicherfehlerkorrektur
DE112006001215T5 (de) Verringerung von Snoop Zugriffen
DE102022208557A1 (de) Verfahren zur fehlerprüfungs- und bereinigungsoperation und halbleitersystem, das dasselbe verwendet
CN111611104B (zh) 一种InfluxDB数据备份方法、系统及终端设备

Legal Events

Date Code Title Description
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R081 Change of applicant/patentee

Owner name: SONY CORPORATION, JP

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US

R082 Change of representative

Representative=s name: MUELLER HOFFMANN & PARTNER PATENTANWAELTE MBB, DE