[go: up one dir, main page]

DE60117066T2 - Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes - Google Patents

Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes Download PDF

Info

Publication number
DE60117066T2
DE60117066T2 DE60117066T DE60117066T DE60117066T2 DE 60117066 T2 DE60117066 T2 DE 60117066T2 DE 60117066 T DE60117066 T DE 60117066T DE 60117066 T DE60117066 T DE 60117066T DE 60117066 T2 DE60117066 T2 DE 60117066T2
Authority
DE
Germany
Prior art keywords
signal
error
data
ecc
output signals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60117066T
Other languages
English (en)
Other versions
DE60117066D1 (de
Inventor
Debendra Santa Clara Das Sharma
Elizabeth S. Cupertino Wolf
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE60117066D1 publication Critical patent/DE60117066D1/de
Application granted granted Critical
Publication of DE60117066T2 publication Critical patent/DE60117066T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

  • Technisches Gebiet
  • Das technische Gebiet ist ein Fehlerkorrekturcode für Speicher- oder Kommunikationssysteme.
  • Hintergrund
  • Kommunikations- und Speichersysteme sind Fehlern unterworfen, die eine Funktionsweise angeschlossene Systeme beeinflussen könnten. Ein typischer Fehler könnte resultieren, wenn ein bestimmter Speicherort einem oder mehreren α-Teilchen ausgesetzt wird. Eine derartige Strahlung könnte bewirken, dass ein an dem Speicherort gespeichertes Datenbit von einer „1" in eine „0" umgedreht wird.
  • Fehlerkorrekturcodes (ECC) werden verwendet, um eine Zuverlässigkeit und Zustandsintegrität von Kommunikations- und Speichersystemen zu verbessern. Fehlerkorrekturcodes sind bekannt, die einen Einzelfehler korrigieren und einen Doppelfehler erfassen, jedoch nicht korrigieren. Andere ECCs erfassen und korrigieren Mehrfachfehler. Für ECC-Anwendungen könnten Speicherarraychips so organisiert sein, dass in einem Chip erzeugte Fehler durch den ECC korrigiert werden können.
  • Die Korrektur von Einzelbitfehlern und die Erfassung von Doppelbitfehlern könnten durch die Verwendung von Prüfbits erzielt werden. Eine typische ECC-Implementierung hängt eine Anzahl von Prüfbits an jedes Datenwort an. Die angehängten Prüfbits werden durch ECC-Logikschaltungen verwendet, um Fehler innerhalb des Datenworts zu erfassen. Die einfachste und üblichste Form der Fehlersteuerung wird durch die Verwendung von Paritätsbits implementiert. Ein Einzelparitätsbit wird an ein Datenwort angehängt und als eine 0 oder eine 1 zugewiesen, um so die Anzahl von 1en in dem Datenwort in dem Fall gerader Paritätscodes gerade oder in dem Fall ungerader Paritätscodes ungerade zu machen.
  • Vor einer Übertragung des Datenworts in einem Computersystem wird der Wert des Paritätsbits an dem Quellenpunkt des Datenworts berechnet und an das Datenwort angehängt. Auf einen Empfang des übertragenen Datenworts hin berechnet eine Logik an dem Zielpunkt erneut das Paritätsbit und vergleicht dieses mit dem empfangenen, zuvor angehängten Paritätsbit. Wenn das neu berechnete und das empfangene Paritätsbit nicht gleich sind, wurde ein Bitfehler erfasst. Die Verwendung von Paritätscodes hat jedoch den Nachteil, dass man nicht in der Lage ist, Bitfehler zu korrigieren, und nicht in der Lage ist, gerade Anzahlen von Bitfehlern zu erfassen. Wenn sich z. B. ein Datenbit von einer 0 in eine 1 verändert und ein weiteres Datenbit von einer 1 in eine 0 verändert (ein Doppelbitfehler), verändert sich die Parität des Datenworts nicht und der Fehler bleibt unerfasst.
  • Durch das Anhängen zusätzlicher Paritätsbits an das Datenwort, wobei jedes einem Teilsatz von Datenbits innerhalb des Datenworts entspricht, könnte das Paritätsbitkonzept erweitert werden, um eine Erfassung von Mehrfachbitfehlern bereitzustellen oder den Ort von Einzel- oder Mehrfachbitfehlern zu bestimmen. Sobald ein Datenbitfehler erfasst wurde, könnten Logikschaltungen verwendet werden, um das fehlerhafte Bit zu korrigieren, was eine Einzelfehlerkorrektur bereitstellt.
  • Ein bekannter Fehlerkorrekturcode ist der Hamming-Code, der z. B. ein SEC-DED-Code sein könnte. Der ECC hängt eine Serie von Prüfbits an das Datenwort an, wenn dieses in einem Speicher gespeichert wird. Auf eine Leseoperation hin werden die wiedergewonnenen Prüfbits verglichen, um Prüfbits neu zu berechnen, um einen Einzelbitfehler zu erfassen und zu lokalisieren (d. h. korrigieren). Durch ein Hinzufü gen mehrerer Prüfbits und ein geeignetes Überlappen der Teilsätze von Datenbits, die durch die Prüfbits dargestellt werden, könnten weitere Fehlerkorrekturcodes für eine Mehrfachfehlerkorrektur und -erfassung sorgen.
  • Ein Verifizieren der Korrektheit des Fehlerkorrekturcodes umfasst zwei Schritte: Verifizieren des zugrundeliegenden Algorithmus des Fehlerkorrekturcodes und Verifizieren der Implementierung des Fehlerkorrekturcodes an einer Hardware-Vorrichtung oder an einer Simulation der Hardware-Vorrichtung. Gegenwärtige Verfahren zum Verifizieren des Fehlerkorrekturcodes verbinden diese beiden Schritte nicht und liefern so keine vollständige Verifizierung. Ein Beispiel dieses Problems könnte in Bezug auf lineare Codes gezeigt werden. Lineare Codes sind unter Verwendung von Eigenschaften aufgebaut, die auf einer Galois-Feld-Arithmetik basieren. Der Beweis der Eigenschaften in einem Konzept könnte innerhalb des mathematischen Rahmens von Galois-Feldern durchgeführt werden. Basierend auf diesem Konzept werden eine Erzeugermatrix (als eine G-Matrix bekannt), eine Paritätsmatrix (als eine H-Matrix bekannt) und unterschiedliche Syndromvektoren, die verschiedenen Fehlerszenarien entsprechen, entweder von Hand oder durch ein Computerprogramm erzeugt. Ein Einzelfehlerkorrektur-Doppelfehlererfassungs(SEC-DED-) Code hätte eine H-Matrix, bei der keine zwei Spalten identisch sind, und bei der die Galois-Feld-Addition beliebiger zwei Spalten nicht gleich einer beliebigen Spalten in der H-Matrix ist. Der mathematische Beweis des Konzeptes erfasst keinen Fehler, der während der Erzeugung der G- und der H-Matrix und der Syndromvektoren eingeführt wird. Die G- und die H-Matrix und die Syndromvektoren werden dann in einer Sprache auf hoher Ebene verwendet, um den Fehlerkorrekturcodeschaltungsaufbau zu erzeugen, der als eine Hardwarevorrichtung oder als eine Simulation der Hardwarevorrichtung implementiert sein könnte. Eine Verifizierung der Implementierung wird durch ein Prüfen, ob die Implementierung erwartete Ausgaben liefert, basierend auf der G- und der H-Matrix und den Syndromvektoren, vervollständigt.
  • Ein Problem bei diesem herkömmlichen Ansatz stammt von Fehlern, die während der Erzeugung der G- und der H-Matrix und der Syndromvektoren auftreten könnten. Derartige Fehler könnten unerfasst bleiben, da kein automatisiertes Werkzeug vorliegt, um direkt den Fehlerkorrekturcodeschaltungsaufbau aus den mathematischen Eigenschaften zu erzeugen.
  • R. G. Cooper u. a. offenbaren in „Diagnostic error forcing circuit", IBM Technical Disclosure Bulletin, Bd. 19, Nr. 5, Oktober 1976, eine Schaltungsunterstützung, um sicherzustellen, dass die Fehlerprüf- und Korrekturschaltungen eines Feldeffekttransistorspeichers betriebsfähig sind. Die Fehlererzwingungsschaltung besteht aus einem FET-Speicher zum Speichern von Wörtern der Datenbits eines Worts plus einer Gruppe von Prüfbits. Die Datenbits werden von einer zentralen Steuereinheit empfangen und durch einen ECC-Generator, der wirksam zum Erzeugen von Prüfbits für die Daten ist. Wenn das Datenwort von dem Speicher gelesen wird, werden die Daten- und Prüfbits durch einen ECC-Decodierer empfangen, der Prüfbits neu aus den Datenbits erzeugt und dieselben mit den ursprünglichen Prüfbits aus dem Speicher prüft und ferner Datenbits, in denen ein Fehler gefunden wurde, korrigiert. Die korrigierten Datenbits werden dann an die Steuereinheit gesendet. Die Steuereinheiten können verwendet werden, um Fehler einzuführen, um zu bestimmen, ob dieselben korrigiert sind. Für diese Einführung wird ein Diagnoseregister angewendet.
  • Die US 5,502,732 A offenbart ein Verfahren zum Testen einer ECC-Logik. Insbesondere wird die in einem Computerspeichersystem enthaltene Testlogik derart geprüft, dass mögliche Fehler vor dem Beginn der Verarbeitungsoperation bestimmt und für die Systemsoftware verfügbar gemacht werden können. Eine CPU vergleicht die Daten, die in den Speicher geschrieben werden, mit den Daten, die rückgelesen werden. Da bekannt ist, dass aufgrund des induzierten Fehlers ein Fehler auftritt, werden identisches Daten verifizieren, dass die ECC-Korrekturlogik ordnungsgemäß arbeitet. Deshalb ist ein Multiplexer in dem Datenschreibpfad vorgesehen, der den konstanten Satz identischer Bits für die tatsächlichen Daten, die durch die CPU erzeugt werden, ersetzt und so wird ein Fehler eingeführt. ECC-Bits werden dann basierend auf den tatsächlichen erzeugten Testdaten, und nicht den eingeführten identischen Bits erzeugt. Die ersetzten Datenbits und die erzeugten ECC-Bits werden dann in dem Speicher gespeichert. Dieses Verfahren offenbart ferner, dass Doppelbitfehler injiziert werden können.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, eine Vorrichtung und ein Verfahren zum Verifizieren einer Korrektheit eines Fehlerkorrekturcodealgorithmus und einer Korrektheit einer Fehlerkorrekturcodeimplementierung in einem realen Übertragungsszenario bereitzustellen, in dem ein codiertes Signal, das Datenbits und Prüfbits aufweist, durch Fehler verfälscht werden könnte.
  • Diese Aufgabe wird durch eine Vorrichtung zum Verifizieren eines Fehlerkorrekturcodes gemäß Anspruch 1 oder durch das Verfahren zum Verifizieren des Fehlerkorrekturcodes gemäß Anspruch 3 gelöst.
  • Ein Verfahren und eine Vorrichtung verifizieren die Korrektheit des Fehlerkorrekturcodealgorithmus und die Korrektheit der Fehlerkorrekturcodeimplementierung. Ein Fehlerinjektionsmodul wird verwendet, um zufällige Fehler in eine ECC-Schaltung zwischen einem Codierer und einem Decodierer zu injizieren. Der Codierer codiert Datenbits mit Prüfbits, um ein codiertes Signal zu erzeugen. Ein Decodierer decodiert das codierte Signal nach einer Modifizierung durch das Fehlerinjektionsmodul. Das Fehlerinjektionsmodul könnte Null-Fehler injizieren. Die Fehlerinjektionsschaltung könnte Einzelfehler oder Mehrfachfehler injizieren. Die Ausgabe des Decodierers ist ein Null-Fehler-Signal, ein Einzelfehlersignal, ein Mehrfehlersignal und ein Fehlerortssignal. Weitere Signale sind ebenso möglich. Die Ausgabe des Decodierers wird unter Verwendung eines Überwachungsmoduls mit erwarteten Werten für jedes Signal verglichen. Mögliche Unterschiede zwischen den Ausgangssignalen und den erwarteten Werten zeigen einen Fehler in dem ECC oder in der Schaltung, die zur Implementierung des ECC verwendet wird, an.
  • Der ECC könnte durch ein Implementieren der Verifizierungsvorrichtung in einer tatsächlichen Hardwarevorrichtung verifiziert werden. Bei diesem Ausführungsbeispiel könnten das Fehlerinjektionsmodul und das Überwachungsmodul auf einem gleichen Chip wie der Decodierer und der Codierer angeordnet sein. Alternativ könnten das Fehlerinjektionsmodul und das Überwachungsmodul auf Chips separat von dem Decodierer und dem Codierer angeordnet sein. Die ECC-Verifizierungsvorrichtung könnte auch als eine Simulation der tatsächlichen Hardwarevorrichtung oder in einem formalen Verifizierungsmodell der tatsächlichen Hardware implementiert sein.
  • Die detaillierte Beschreibung nimmt Bezug auf die folgenden Figuren, in denen gleiche Bezugszeichen sich auf gleiche Gegenstände beziehen, und in denen:
  • 1A Blockdiagramme einer Fehlerkorrekturschaltung und 1B sind;
  • 2 ein Blockdiagramm einer Vorrichtung zum Verifizieren eines Fehlerkorrekturcodes und einer -schaltung ist; und
  • 3A Flussdiagramme sind, die Prozesse zeigen, die und 3B auf der Vorrichtung aus 2 ausgeführt werden.
  • Detaillierte Beschreibung
  • Fehlerkorrekturcode- (ECC-) Schaltungen werden häufig in Halbleiterspeicherentwürfen verwendet, um Einzelbitfehler zu korrigieren und Doppelbitfehler zu erfassen. Ein üblicher ECC-Code ist der SEC-DED- (Einzelfehlerkorrektur-Doppelfehlererfassungs-) Code. Andere ECC-Codes sind in der Lage, mehr als zwei Fehler zu erfassen und mehr als Einzelfehler zu korrigieren.
  • Die ECC-Schaltungen führen ihre Fehlerprüffunktionen durch ein Erzeugen einer Anzahl von Prüfbits für eine spezifische Anzahl von Datenbits und ein folgendes Schreiben der Prüfbits mit den Datenbits in einen Speicher durch. Die Prüfbits werden dann während nachfolgenden Lese-Schreib-Zyklen oder anderen Speicherzugriffen verwendet, um die korrekten Werte für die Datenbits zu verifizieren. Die Anzahl von Prüfbits, die zur Implementierung des ECCs erforderlich ist, hängt von der Anzahl gerade gelesener Datenbits ab. Wie in Tabelle 1 gezeigt ist, nimmt mit zunehmender Anzahl gerade gelesener Datenbits auch die Anzahl erforderlicher ECC-Bits zu. Tabelle 1
    Figure 00070001
  • Eine Hardware zur Implementierung von ECC-Prüfbits unter Verwendung gegenwärtiger Systeme ist in 1A dargestellt. Eine Fehlerkorrekturcodeschaltung 10 umfasst eine Speicherzeile 11, die in 1A als 30 Datenbits umfassend gezeigt ist. Der Speicherzeile 11 zugeordnet ist eine ECC-Zelle 12. Bezug nehmend auf die Tabelle 1 oben müssen sechs ECC-Bits in der ECC-Zelle 12 gespeichert werden, um eine Einzelbitfehlerkorrektur und eine Doppelbitfehlererfassung in der Speicherzeile 11 zu erzielen. Ein ECC-Block 13 wird verwendet, um die ECC-Bits zu erzeugen und die Fehlerkorrektur-/Erfassungscodeoperationen, einschließlich eines Prüfens der Datenbits in der Speicherzeile 11 während Lese- und Schreiboperationen durchzuführen.
  • 1B ist ein Blockdiagramm eines Abschnitts des ECC-Blocks 13, der Prüfbits und Syndrombits erzeugt. Wie in der Technik bekannt ist, sind Syndrombits das Produkt eines Vergleichs der ECC-Bits, die ursprünglich mit den Daten während einer Datenspeicheroperation in dem Speicher gespeichert wurden, und eines neuen Satzes von ECC-Bits, die basierend auf den Daten erzeugt werden, die aus dem Speicher geholt wurden, wie während der Ausführung eines Lesebefehls oder eines Speicherzugriffs in einem Computersystem auftreten würde. Dies bedeutet, dass ein Syndrombit einfach XOR eines entsprechenden empfangenen ECC-Bits mit einem neu erzeugten ECC-Bit ist. Wenn die Kombination des wiedergewonnenen und des neu erzeugten ECC-Bits Nicht-Null-Syndrombits erzeugt, wurde ein Fehler innerhalb der wiedergewonnenen Daten erfasst.
  • In 1B umfasst eine Schaltung 20 einen XOR-Baum 21 und ein Bitweise-XOR-Modul 22. Bei einer Schreiboperation werden die ECC-Bits gleichzeitig durch ein Verarbeiten der Datenbits z. B. unter Verwendung einer Paritätsprüfmatrix erzeugt. Eine derartige Erzeugung von ECC-Bits ist in der Technik bekannt. Bei einer Leseoperation werden die Syndrombits gleichzeitig gemäß Standarddecodierungsverfahren aus den gelesenen Datenbits erzeugt. Der gleiche XOR-Baum 21 könnte für sowohl die ECC-Bits als auch die Syndrombits verwendet werden, wie in 1B gezeigt ist.
  • Gegenwärtige Ansätze zum Erzeugen des ECC und eines zugeordneten Schaltungsaufbaus (Hardware oder Hardwaresimulation) berücksichtigen mögliche Fehler in dem zugrundeliegenden Algorithmus nicht. So könnte eine Anwendung des ECC bei einer Implementierung unter Umständen nicht sicherstellen, dass alle Fehler korrekt korrigiert oder erfasst werden. Dies könnte besonders zutreffen, wenn der ECC eine Kombination linearer Codes und arithmetischer Codes oder bestimmter anderer kundenspezifischer Codes ist, die keinen Standardprozeduren folgen.
  • Um dieses Problem zu überwinden, unterwerfen eine Vorrichtung und ein Verfahren die Implementierung der ECC-Schaltung den verschiedenen Fehlern, die die ECC-Schaltung vermutlich korrigiert/erfasst. Die Vorrichtung und das Verfahren verifizieren das ECC-Konzept, den Algorithmus und die Implementierung gleichzeitig.
  • 2 ist ein Blockdiagramm, das die Vorrichtung und das Verfahren zum Verifizieren eines ECC darstellt. In 2 umfasst eine Vorrichtung 100 einen Sender 110 mit einem Codierer 115. Der Sender 110 und der Codierer 115 sind durch eine Fehlerinjektionsschaltung 120 mit einem Empfänger 130 mit einem Decodierer 135 gekoppelt. Ebenso mit dem Codierer 115 und dem Decodierer 135 gekoppelt ist ein Überwachungsmodul 140. Wie oben angemerkt wurde, könnte die Vorrichtung 100 als eine tatsächliche Hardwarevorrichtung implementiert sein oder könnte als eine Simulation einer Hardwarevorrichtung implementiert sein, unter Verwendung einer Hardwarebeschreibungssprache, wie z. B. VHDL oder Verilog, die beide in der Technik bekannt sind.
  • Das Verfahren und die Vorrichtung 100 arbeiten, um den ECC durch das Koppeln des Codierers 115 und des Decodierers 135 und ein darauffolgendes Injizieren möglicher Fehler vollständig zu testen. In Betrieb werden Daten in den Codierer 115 eingegeben. Der Codierer 115 codiert die Daten, um einen Ausgangsvektor 112 zu erzeugen. Bei dem in 2 dargestellten Beispiel sind die eingegebenen Daten 64 Bits breit. Bezug nehmend auf die Tabelle 1 codiert der Codierer zusätzliche acht Bits zu den eingegebenen Daten, derart, dass der Ausgangsvektor 112 72 Bits breit ist. Der Aus gangsvektor 112 wird durch eine Fehlerinjektionsschaltung 120 gesendet, die Fehler einführt, die der ECC korrigieren oder erfassen kann. Die Fehlerinjektionsschaltung 120 testet außerdem den ECC und dessen Implementierung durch Nicht-Einführung von Fehlern (ein Null-Fehler-Fall). Die modifizierten Daten werden dann direkt dem Decodierer 135 zugeführt.
  • Der Decodierer 135 decodiert die modifizierten Daten und erzeugt mehrere Ausgangssignale. Die Ausgangssignale könnten ein Daten-Aus-Signal, ein Kein-Fehler-Signal, ein Einzelfehlersignal und ein Doppel- (Mehrfach-) Fehlersignal umfassen. Der Decodierer 135 könnte außerdem ein Fehler_Ort-Signal bereitstellen, das einen Ort eines Bits in einem Fehler anzeigt. Das Fehler_Ort-Signal könnte dem oben erwähnten Syndrom ähneln. Andere Ausgangssignale könnten ebenso bereitgestellt werden. Diese Ausgangssignale werden an das Überwachungsmodul 140 geliefert. Das Überwachungsmodul 140 bestimmt, ob die bereitgestellten Ausgangssignale wie erwartet sind. Wenn die Ausgangssignale nicht wie erwartet sind, könnte ein Problem bei dem ECC oder der ECC-Schaltung vorliegen. Für das Beispiel eines SEC-DED-ECC sind, wenn keine Fehler injiziert wurden, die erwarteten Ergebnisse: ein Ausgangssignal Kein_Fehler ist gleich 1 gesetzt; Ausgangssignale Einzel_Fehler und Mehrfach_Fehler sind gleich 0 gesetzt und ein 64-Bit-Signal Daten_Aus = Daten_Ein.
  • Die Fehlerinjektionsschaltung 120 injiziert dann Einzelfehler, nämlich einen für jedes der 72 Bits. Wieder werden die Ausgangssignale aus dem Decodierer 135 an das Überwachungsmodul 140 geliefert, das bestimmt, ob die bereitgestellten Ausgangssignale mit den erwarteten Ausgangssignalen übereinstimmen. Für das Beispiel eines SEC-DED-ECC sind die erwarteten Ergebnisse: Daten_Aus = Daten_Ein (zeigt an, dass der Fehler korrigiert wurde), Einzel_Fehler = 1 und Kein_Fehler = Mehrfachfehler = 0. Ein Fehler_Ort-Signal könnte ebenso ausgegeben werden.
  • Die Vorrichtung 100 prüft außerdem auf eine ordnungsgemäße Operation des ECC bei Vorliegen von Mehrfachfehlern. Zur Prüfung nach Doppelfehlern injiziert die Fehlerinjektionsschaltung 120 Doppelfehler (es gibt bei diesem Beispiel 2.556 Möglichkeiten). Das erwartete Ergebnis ist Kein_Fehler = Einzel_Fehler = Null; Mehrfach_Fehler = 1. Da der ECC bei diesem Beispiel ein SEC-DED ist, vergleicht das Überwachungsmodul nicht Daten_Aus = Daten Ein.
  • Die Vorrichtung 100 könnte abhängig von der ECC-Verifizierungsmethodik in verschiedenen Weisen implementiert sein. Die Fehlerinjektionsschaltung 120 könnte als XOR der Daten_Aus-Bits mit einem binären Fehlervektor mit der gleichen Breite wie die Daten_Aus-Bits implementiert sein. Der binäre Fehlervektor könnte in einer Simulationsumgebung zufällig für alle unterschiedlichen Fehlertypen erzeugt werden. Diese Fehlertypen umfassen z. B. keinen Fehler, Einzelfehler und Doppelfehler. Der binäre Fehlervektor könnte auch handkopiert und an die Fehlerinjektionsschaltung 120 geliefert werden. Ähnlich könnte ein formales Verifizierungsmodul alle Fehlerszenarien umfassen.
  • Zur Verifizierung einer ordnungsgemäßen Operation des ECC, einschließlich des zugrunde liegenden Algorithmus und der ECC-Schaltung, könnte die Vorrichtung 100 mit jedem beliebigen Typ Speicher in einem Computersystem verwendet werden. Die ECC-Schaltung 100 könnte z. B. mit einem Cache-Speicher und mit einem Hauptspeicher verwendet werden. Die Vorrichtung könnte mit einem beliebigen ECC verwendet werden. Während die vorangegangene Beschreibung eine Operation der Vorrichtung 100 mit einem SEC-DED beschrieben hat, würde ein Fachmann auf diesem Gebiet verstehen, dass das Verfahren und die Vorrichtung 100 mit ECCs verwendet werden könnten, die in der Lage sind, Mehrfachfehler zu erfassen und zu korrigieren (z. B. DEC-TED-Codes).
  • Die Vorrichtung 100 könnte bei einer Dual-In-Line-Speichermodul- (DIMM-) Karte gemeinsam mit einem oder mehreren Speicherchips enthalten sein und könnte z. B. innerhalb eines ASIC-Chips implementiert sein. Der ASIC-Chip würde dazu dienen, einen Datenbus (nicht gezeigt) des Computersystems mit dem Speicherchip zu verbinden. Daten, die während der Ausführung einer Schreiboperation von dem Datenbus zu den Speicherchips laufen, würden vor einer Speicherung in den Speicherchips durch die Vorrichtung 100 laufen. Ähnlich würden auch Daten, die von den Speicherchips zu dem Datenbus laufen, durch die Vorrichtung 100 laufen. So arbeitet ein Fehlererfassungs- und Korrekturmechanismus an den Daten, wenn die Daten gerade durch das Computersystem in den Speicherchips gespeichert werden.
  • Bei dem in 2 gezeigten Ausführungsbeispiel weist der Datenbus, der den Sender 110 und den Empfänger 130 koppelt, eine ausreichende Bandbreite auf, um alle 72 Bits bei einem Taktzyklus zu tragen. Die Vorrichtung 100 jedoch könnte auch mit Systembussen verwendet werden, die kleinere Bandbreiten aufweisen. In diesem Fall könnten mehrere Zyklen benötigt werden, um alle Daten an Prüfbits zu übertragen.
  • Die 3A und 3B stellen Verfahren dar, die unter Verwendung der in 2 gezeigten Vorrichtung 100 ausgeführt werden könnten. 3A stellt ein Verfahren 200 dar, wenn ein Kein-Fehler-Signal injiziert wird. Das Verfahren beginnt bei einem Block 210. Bei einem Block 220 codiert der Codierer 115 eine Transaktion mit einem ECC. Die Transaktion wird dann in einer Fehlerinjektionsschaltung 120 verarbeitet und ein Kein-Fehler-Signal wird bei einem Block 230 injiziert.
  • Bei einem Block 240 wird die Transaktion unter Verwendung des ECC decodiert. Bei einem Block 250 überwacht das Überwachermodul 140 die decodierte Transaktion. Bei einem Block 260 vergleicht das Überwachermodul die decodierte Transaktion mit den erwarteten Ergebnissen. In diesem Fall ist, wenn der ECC-Code und die Schaltung korrekt arbeiten, das 64-Bit-Signal Daten_Aus = Daten_Ein, das Ausgangsignal Kein_Fehler ist gleich 1 gesetzt und die Ausgangssignale Einzel_Fehler und Mehrfach_Fehler sind gleich 0. Wenn kein Fehler bei der Operation des ECC oder der ECC-Schaltung bemerkt wird, bewegt sich das Verfahren zu einem Block 280 und endet. Andernfalls bewegt sich das Verfahren zu einem Block 270 und ein Fehler wird deklariert. Das Verfahren bewegt sich dann zu Block 280 und endet.
  • 3B stellt ein Verfahren 300 dar, bei dem die Fehlerinjektionsschaltung 120 einen Einzelbitfehler einfügt. Das Verfahren 300 ähnelt dem Verfahren 200, mit der Ausnahme, dass die erwarteten Ausgangssignale Daten_Aus = Daten_Ein (wobei der Einzelbitfehler durch den ECC korrigiert wird), Einzel_Fehler = 1 und Mehrfach_Fehler und Kein_Fehler gleich 0 sind.

Claims (4)

  1. Eine Vorrichtung (100) zum Verifizieren eines Fehlerkorrekturcodes ECC, der in einer ECC-Schaltung wirkt, mit folgenden Merkmalen: einem Codierer (115), der ein Dateneingangssignal empfängt und die Datenbits desselben codiert, um ein codiertes Signal zu erzeugen, wobei das codierte Signal die Datenbits und Prüfbits aufweist; einem Fehlerinjektionsmodul (120), das mit dem Codierer (115) gekoppelt ist und in der Lage ist, ein Fehlersignal in das codierte Signal zu injizieren, um ein modifiziertes Signal zu erzeugen, wobei das Fehlersignal kein Fehler, ein Einzelfehler oder ein Mehrfachfehler ist; einem Decodierer (135), der mit dem Fehlerinjektionsmodul (120) gekoppelt ist, der das modifizierte Signal decodiert, um eine Mehrzahl von Ausgangssignalen zu erzeugen, wobei die Mehrzahl von Ausgangssignalen ein Datenaisgangssignal, ein Kein-Fehler-Signal, ein Einzelfehlersignal und ein Mehrfachfehlersignal aufweist; und einem Überwachermodul (140), das mit dem Fehlerinjektionsmodul (120), dem Codierer (115) und dem Decodierer (135) gekoppelt ist, wobei das Überwachermodul (140) das Dateneingangssignal und die Mehrzahl von Ausgangssignalen empfängt, wobei das Überwachermodul (140) bestimmt, ob die Mehrzahl von Ausgangssignalen, die von dem Decodierer empfangen werden, mit erwarteten Ausgangssignalen für die Mehrzahl von Ausgangssignalen übereinstimmt, und das Überwachermodul (140) in der Lage ist, Fehler in dem ECC und der ECC-Schaltung auf der Basis der Bestimmung zu deklarieren, wobei das Fehlerinjektionsmodul (120) angepasst ist, um für unterschiedliche Tests des ECC und der ECC-Schaltung keine Fehler, Einzelfehler oder Mehrfachfehler in das codierte Signal zu injizieren, wobei die erwarteten Ausgangssignale folgende sind: – wenn keine Fehler durch das Fehlerinjektionsmodul (120) injiziert werden, ist das Kein-Fehler-Signal 1, das Einzelfehlersignal und das Mehrfachfehlersignal sind 0 und das Dateneingangssignal ist gleich dem Datenausgangssignal; – wenn Einzelfehler durch das Fehlerinjektionsmodul (120) injiziert werden, ist das Einzelfehlersignal 1, das Kein-Fehler-Signal und das Mehrfachfehlersignal sind 0 und das Dateneingangssignal ist gleich dem Datenausgangssignal; und – wenn Mehrfachfehler durch das Fehlerinjektionsmodul (120) injiziert werden, ist das Mehrfachfehlersignal 1 und das Kein-Fehler-Signal und das Einzelfehlersignal sind 0, wobei das Dateneingangssignal und das Datenausgangssignal nicht verglichen werden.
  2. Die Vorrichtung gemäß Anspruch 1, wobei die Vorrichtung als eine tatsächliche Hardware-Vorrichtung ausgeführt ist.
  3. Ein Verfahren zum Verifizieren eines Fehlerkorrekturcodes ECC, der an einer ECC-Schaltung wirkt, mit folgenden Schritten: Bereitstellen eines Dateneingangssignals an einen Datencodierer (115); Erzeugen (220, 320) eines ECC-codierten Datensignals, das Datenbits und Prüfbits aufweist; Bereitstellen (230, 330) eines Fehlerinjektionssignals, wobei das Fehlerinjektionssignal das codierte Datensignal modifiziert, um ein modifiziertes Datensignal zu erzeugen, wobei das Fehlerinjektionssignal kein Fehler, ein Einzelfehler oder ein Mehrfachfehler ist; Decodieren (240, 340) des modifizierten Datensignals, um eine Mehrzahl von Ausgangssignalen zu erzeugen, wobei die Mehrzahl von Ausgangssignalen ein Datenausgangssignal, ein Kein-Fehler-Signal, ein Einzelfehlersignal und ein Mehrfachfehlersignal aufweist; Bestimmen, ob die Mehrzahl von Ausgangssignalen, die von dem Decodierer empfangen werden, mit erwarteten Ausgangssignalen für die Mehrzahl von Ausgangssignalen übereinstimmt; und wenn die Mehrzahl von Ausgangssignalen und die entsprechenden erwarteten Signale nicht übereinstimmen, Deklarieren (270, 370) eines Fehlers in dem ECC oder der ECC-Schaltung, wobei für unterschiedliche Tests des ECC und der ECC-Schaltung keine Fehler, Einzelfehler oder Mehrfachfehler in das codierte Signal injiziert werden, wobei die erwarteten Signale folgende sind: – wenn keine Fehler injiziert werden, ist das Kein-Fehler-Signal 1, das Einzelfehlersignal und das Mehrfachfehlersignal sind 0 und das Dateneingangssignal ist gleich dem Datenausgangssignal; – wenn Einzelfehler injiziert werden, ist das Einzelfehlersignal 1, das Kein-Fehler-Signal und das Mehrfachfehlersignal sind 0 und das Dateneingangssignal ist gleich dem Datenausgangssignal; und – wenn Mehrfachfehler injiziert werden, ist das Mehrfachfehlersignal 1 und das Kein-Fehler-Signal und das Einzelfehlersignal sind 0, wobei das Dateneingangssignal und das Datenausgangssignal nicht verglichen werden.
  4. Das Verfahren gemäß Anspruch 3, bei dem die Verifizierung eine Simulation ist.
DE60117066T 2000-05-01 2001-04-05 Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes Expired - Fee Related DE60117066T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US562133 2000-05-01
US09/562,133 US6799287B1 (en) 2000-05-01 2000-05-01 Method and apparatus for verifying error correcting codes

Publications (2)

Publication Number Publication Date
DE60117066D1 DE60117066D1 (de) 2006-04-20
DE60117066T2 true DE60117066T2 (de) 2006-08-24

Family

ID=24244934

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60117066T Expired - Fee Related DE60117066T2 (de) 2000-05-01 2001-04-05 Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes

Country Status (4)

Country Link
US (2) US6799287B1 (de)
EP (1) EP1160987B1 (de)
JP (1) JP2001358702A (de)
DE (1) DE60117066T2 (de)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK6488D0 (da) 1988-01-07 1988-01-07 Novo Industri As Enzymer
FR2819603B1 (fr) * 2001-01-16 2003-06-13 Centre Nat Rech Scient Procede d'injecteur d'erreurs par interruptions
US7389463B2 (en) * 2001-05-29 2008-06-17 Thomson Licensing Hierarchical block coding for a packet-based communications system
US7051264B2 (en) * 2001-11-14 2006-05-23 Monolithic System Technology, Inc. Error correcting memory and method of operating same
US7073117B1 (en) * 2002-02-21 2006-07-04 Ciena Corporation Method and apparatus for generating bit errors in a forward error correction (FEC) system to estimate power dissipation characteristics of the system
MXPA04012474A (es) * 2002-06-21 2005-09-20 Thomson Licensing Sa Metodo para correccion de error delantero.
US7401269B2 (en) * 2003-05-10 2008-07-15 Hewlett-Packard Development Company, L.P. Systems and methods for scripting data errors to facilitate verification of error detection or correction code functionality
US7352998B2 (en) * 2003-09-12 2008-04-01 Nokia Corporation Method and system for establishing a wireless communications link
US7499674B2 (en) * 2003-09-12 2009-03-03 Nokia Corporation Method and system for repeat request in hybrid ultra wideband-bluetooth radio
US7782894B2 (en) * 2003-09-12 2010-08-24 Nokia Corporation Ultra-wideband/low power communication having a dedicated removable memory module for fast data downloads—apparatus, systems and methods
US7702284B2 (en) 2003-09-12 2010-04-20 Arto Palin Method and system for processing acknowledgments in a wireless communications network
US7278084B2 (en) * 2003-10-29 2007-10-02 Nokia Corporation Method and system for providing communications security
US7697893B2 (en) * 2004-06-18 2010-04-13 Nokia Corporation Techniques for ad-hoc mesh networking
US7392456B2 (en) * 2004-11-23 2008-06-24 Mosys, Inc. Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
US7779326B2 (en) * 2005-03-01 2010-08-17 The Texas A&M University System Multi-source data encoding, transmission and decoding using Slepian-Wolf codes based on channel code partitioning
FR2883998A1 (fr) * 2005-04-05 2006-10-06 St Microelectronics Sa Coprocesseur securise comprenant un circuit de detection d'un evenement
US7546514B2 (en) * 2005-04-11 2009-06-09 Hewlett-Packard Development Company, L.P. Chip correct and fault isolation in computer memory systems
US8181100B1 (en) * 2008-02-07 2012-05-15 Marvell International Ltd. Memory fault injection
US8411662B1 (en) 2005-10-04 2013-04-02 Pico Mobile Networks, Inc. Beacon based proximity services
DE102006001872B4 (de) * 2006-01-13 2013-08-22 Infineon Technologies Ag Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Datenverarbeitungseinrichtung auf Angriffe
US7669095B2 (en) * 2006-02-01 2010-02-23 International Business Machines Corporation Methods and apparatus for error injection
JP4946249B2 (ja) * 2006-08-07 2012-06-06 富士通セミコンダクター株式会社 Eccのコード長が変更可能な半導体メモリ装置
EP1916534B1 (de) * 2006-10-23 2009-12-16 Onespin Solutions GmbH Überprüfung und Erzeugung von Zeitfehlern
KR100847560B1 (ko) * 2006-12-11 2008-07-21 삼성전자주식회사 다운로드되는 펌웨어의 오류 정정을 위한 회로 및 방법
DE102007028766A1 (de) * 2007-06-22 2008-12-24 Continental Teves Ag & Co. Ohg Prüfverfahren und elektronische Schaltung zur sicheren seriellen Übertragung von Daten
US7827445B2 (en) * 2007-12-19 2010-11-02 International Business Machines Corporation Fault injection in dynamic random access memory modules for performing built-in self-tests
US8627163B2 (en) * 2008-03-25 2014-01-07 Micron Technology, Inc. Error-correction forced mode with M-sequence
US8413036B2 (en) * 2008-11-28 2013-04-02 Agere Systems Llc Pseudorandom binary sequence checker with control circuitry for end-of-test check
US9380401B1 (en) 2010-02-03 2016-06-28 Marvell International Ltd. Signaling schemes allowing discovery of network devices capable of operating in multiple network modes
US20110219266A1 (en) * 2010-03-04 2011-09-08 Qualcomm Incorporated System and Method of Testing an Error Correction Module
JPWO2011142133A1 (ja) 2010-05-11 2013-07-22 エイシップ・ソリューションズ株式会社 誤り訂正符号処理方法及びその装置
WO2012073071A1 (en) * 2010-12-02 2012-06-07 Freescale Semiconductor, Inc. Error correcting device, method for monitoring an error correcting device and data processing system
CN102567132B (zh) * 2011-12-30 2014-12-03 记忆科技(深圳)有限公司 端对端芯片数据通路保护装置及其方法
US8806295B2 (en) * 2012-05-24 2014-08-12 International Business Machines Corporation Mis-correction and no-correction rates for error control
US8918707B2 (en) 2012-06-26 2014-12-23 Freescale Semiconductor, Inc. Codeword error injection via checkbit modification
JP6003735B2 (ja) * 2013-03-18 2016-10-05 富士通株式会社 Dimm擬似故障発生方法およびdimm擬似故障発生装置
US9569582B2 (en) 2014-01-03 2017-02-14 International Business Machines Corporation Template matching for resilience and security characteristics of sub-component chip designs
US10248521B2 (en) * 2015-04-02 2019-04-02 Microchip Technology Incorporated Run time ECC error injection scheme for hardware validation
DE102015210651B4 (de) * 2015-06-10 2022-10-27 Infineon Technologies Ag Schaltung und Verfahren zum Testen einer Fehlerkorrektur-Fähigkeit
KR102324769B1 (ko) * 2015-06-29 2021-11-10 삼성전자주식회사 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US10108512B2 (en) * 2016-04-01 2018-10-23 Intel Corporation Validation of memory on-die error correction code
US10043588B2 (en) 2016-12-15 2018-08-07 SK Hynix Inc. Memory device
US11048602B2 (en) * 2017-10-17 2021-06-29 SK Hynix Inc. Electronic devices
KR20190043043A (ko) * 2017-10-17 2019-04-25 에스케이하이닉스 주식회사 전자장치
US10625752B2 (en) * 2017-12-12 2020-04-21 Qualcomm Incorporated System and method for online functional testing for error-correcting code function
US10666294B2 (en) * 2018-02-28 2020-05-26 Hewlett Packard Enterprise Development Lp Error correction code words with binomial bit error distribution
US10706950B1 (en) * 2018-06-19 2020-07-07 Cadence Design Systems, Inc. Testing for memory error correction code logic
US11061771B2 (en) 2019-03-01 2021-07-13 Micron Technology, Inc. Extended error detection for a memory device
KR20220050315A (ko) 2020-10-16 2022-04-25 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
CN112506730B (zh) * 2020-11-10 2022-11-01 中国人民解放军战略支援部队信息工程大学 适用于网络交换芯片ecc功能验证的验证平台及验证方法
US11209482B1 (en) * 2020-11-30 2021-12-28 Stmicroelectronics International N.V. Methods and devices for testing comparators
KR20220127571A (ko) 2021-03-11 2022-09-20 삼성전자주식회사 빌트-인-셀프-테스트 로직, 빌트-인-셀프 테스트 로직을 포함하는 메모리 장치, 및 메모리 모듈에 대한 테스트 방법
CN114915380B (zh) * 2022-07-19 2022-09-30 中国科学院宁波材料技术与工程研究所 基于can总线的低成本高实时自动纠错通讯系统及方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4561095A (en) * 1982-07-19 1985-12-24 Fairchild Camera & Instrument Corporation High-speed error correcting random access memory system
JPS59200349A (ja) * 1983-04-27 1984-11-13 Nec Corp 誤り訂正回路用診断回路
US4794597A (en) * 1986-03-28 1988-12-27 Mitsubishi Denki Kabushiki Kaisha Memory device equipped with a RAS circuit
US4759019A (en) * 1986-07-10 1988-07-19 International Business Machines Corporation Programmable fault injection tool
JPH0212445A (ja) * 1988-06-30 1990-01-17 Mitsubishi Electric Corp 記憶装置
US5001712A (en) * 1988-10-17 1991-03-19 Unisys Corporation Diagnostic error injection for a synchronous bus system
US4999837A (en) * 1989-03-20 1991-03-12 International Business Machines Corporation Programmable channel error injection
JP2938999B2 (ja) * 1991-05-23 1999-08-25 松下電器産業株式会社 チューナ用半導体装置およびチューナ
US5502732A (en) * 1993-09-20 1996-03-26 International Business Machines Corporation Method for testing ECC logic
US6545728B1 (en) * 1994-05-04 2003-04-08 Samsung Electronics Co., Ltd. Digital television receivers that digitize final I-F signals resulting from triple-conversion
US5574855A (en) * 1995-05-15 1996-11-12 Emc Corporation Method and apparatus for testing raid systems
EP0923809A1 (de) * 1996-06-27 1999-06-23 Koninklijke Philips Electronics N.V. Satellitensignal empfänger
US5812556A (en) * 1996-07-03 1998-09-22 General Signal Corporation Fault tolerant switch fabric with control and data correction by hamming codes and error inducing check register
US5668816A (en) * 1996-08-19 1997-09-16 International Business Machines Corporation Method and apparatus for injecting errors into an array built-in self-test
US6397357B1 (en) * 1996-10-08 2002-05-28 Dell Usa, L.P. Method of testing detection and correction capabilities of ECC memory controller
US5958072A (en) * 1997-01-13 1999-09-28 Hewlett-Packard Company Computer-system processor-to-memory-bus interface having repeating-test-event generation hardware
US6356736B2 (en) * 1997-02-28 2002-03-12 Maxim Integrated Products, Inc. Direct-conversion tuner integrated circuit for direct broadcast satellite television
US6031878A (en) * 1997-02-28 2000-02-29 Maxim Integrated Products, Inc. Direct-conversion tuner integrated circuit for direct broadcast satellite television
US5872790A (en) * 1997-02-28 1999-02-16 International Business Machines Corporation ECC memory multi-bit error generator
US5875195A (en) * 1997-03-31 1999-02-23 International Business Machines Corporation Method and apparatus for error injection techniques
US6091931A (en) * 1997-06-18 2000-07-18 Lsi Logic Corporation Frequency synthesis architecture in a satellite receiver
US5901184A (en) * 1997-06-18 1999-05-04 Lsi Logic Corporation Extended range voltage controlled oscillator for frequency synthesis in a satellite receiver
GB2328813B (en) * 1997-08-28 2001-08-29 Mitel Corp A radio frequency zero IF direct down converter
US6218972B1 (en) * 1997-09-11 2001-04-17 Rockwell Science Center, Inc. Tunable bandpass sigma-delta digital receiver
JPH11205172A (ja) * 1998-01-12 1999-07-30 Alps Electric Co Ltd 衛星放送受信機用チュ−ナ
US5982823A (en) * 1998-03-17 1999-11-09 Northrop Grumman Corp Direct frequency selection and down-conversion for digital receivers
US6182248B1 (en) * 1998-04-07 2001-01-30 International Business Machines Corporation Method and tool for computer bus fault isolation and recovery design verification
US6134429A (en) * 1998-04-10 2000-10-17 Vlsi Technology, Inc. Direct digital down conversion of a 10.8 MHz intermediate frequency signal in the personal handy phone system
US6067647A (en) * 1998-09-02 2000-05-23 Intel Corporation Method and apparatus for inserting an error signal onto a bidirectional signal line
US6223309B1 (en) * 1998-10-02 2001-04-24 International Business Machines Corporation Method and apparatus for ECC logic test
US6591091B1 (en) * 1998-11-12 2003-07-08 Broadcom Corporation System and method for coarse/fine PLL adjustment
US6237116B1 (en) * 1998-11-16 2001-05-22 Lockheed Martin Corporation Testing error correcting code feature in computers that do not have direct hardware features for causing single bit and multi-bit errors
US6457147B1 (en) * 1999-06-08 2002-09-24 International Business Machines Corporation Method and system for run-time logic verification of operations in digital systems in response to a plurality of parameters
US6590929B1 (en) * 1999-06-08 2003-07-08 International Business Machines Corporation Method and system for run-time logic verification of operations in digital systems
US6618696B1 (en) * 1999-06-14 2003-09-09 The United States Of America As Represented By The National Security Agency Method of testing and simulating communication equipment over multiple transmission channels
US6560725B1 (en) * 1999-06-18 2003-05-06 Madrone Solutions, Inc. Method for apparatus for tracking errors in a memory system
US6473871B1 (en) * 1999-08-31 2002-10-29 Sun Microsystems, Inc. Method and apparatus for HASS testing of busses under programmable control
US6539503B1 (en) * 1999-11-23 2003-03-25 Hewlett-Packard Company Method and apparatus for testing error detection
US6892336B1 (en) * 2000-03-17 2005-05-10 Applied Micro Circuits Corporation Gigabit ethernet performance monitoring
CA2357491A1 (en) * 2001-09-17 2003-03-17 Ralph Mason Filter tuning using direct digital sub-sampling
US6512472B1 (en) * 2002-01-15 2003-01-28 Motorola, Inc. Method and apparatus for optimizing dynamic range of a wideband analog-to-digital converter

Also Published As

Publication number Publication date
US20040243887A1 (en) 2004-12-02
EP1160987A3 (de) 2003-04-09
US6799287B1 (en) 2004-09-28
JP2001358702A (ja) 2001-12-26
EP1160987B1 (de) 2006-02-08
DE60117066D1 (de) 2006-04-20
EP1160987A2 (de) 2001-12-05

Similar Documents

Publication Publication Date Title
DE60117066T2 (de) Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes
DE60001370T2 (de) Verfahren und vorrichtung zur erkennung von doppelbitfehlern und korrektur von fehlern durch bauelementfehler verursacht
DE60015753T2 (de) System und verfahren zum schutz von daten und zur korrektur von bitfehlern folgend aus komponentenfehlern
DE69112624T2 (de) Mehrfehlerkorrektur eines rechnerspeichers.
DE3882208T2 (de) Methode und Vorrichtung für fehlertolerante Datenintegritätsprüfung.
DE102013215055B4 (de) Schaltungsanordnung, Vorrichtung, Verfahren und Computerprogramm mit modifiziertem Fehlersyndrom zur Fehlererkennung von permanenten Fehlern in Speichern
DE3853206T2 (de) Verfahren und gerät zur byteschreibfehlerkodierung.
DE69910320T2 (de) Technik für Einzelfehlerkorrektur im Cachespeicher mit Subblock-Paritätenbits
DE102011108933B4 (de) Sichere Speicherung durch interne Betriebssicherstellung
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE102005048255A1 (de) Integriertes Schaltungsbauelement und Betriebsverfahren
DE102007038114A1 (de) Fehlerkorrekturschaltung, Halbleiterspeicherelement und Fehlerkorrekturverfahren
DE69126057T2 (de) Ein Informationsverarbeitungsgerät mit einer Fehlerprüf- und Korrekturschaltung
DE102017114054B4 (de) Speicheradressen-Schutzschaltung und Verfahren
DE102006005817B4 (de) Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder
DE3111447A1 (de) Anzeigeschaltung fuer speicherschreibfehler
DE102011087634B9 (de) Vorrichtung und verfahren zum erfassen eines fehlers in einem codierten binärwort
DE69904618T2 (de) Detektionstechnik von speicherabschnittfehlern und einzel-, doppel und triplebitfehlern
DE102022208557A1 (de) Verfahren zur fehlerprüfungs- und bereinigungsoperation und halbleitersystem, das dasselbe verwendet
DE102015210651A1 (de) Schaltung und Verfahren zum Testen einer Fehlerkorrektur-Fähigkeit
DE69317766T2 (de) Fehlerkorrekturgerät für digitale Daten zur Korrektur von Einfachfehlern (sec), von Doppelfehlern (ded) und Vielfacheinzelbytefehlern (sbd) und zur Korrektur von Einzelbytefehlern ungerader Anzahl (odd sbc)
DE102006007326A1 (de) Fehlerkorrekturschaltung und -Verfahren
DE102020111321A1 (de) System und verfahren zur erkennung und berichtigung von datenfehlern eines transparenten registers
DE69216172T2 (de) Schaltung und Verfahren zur Fehlerdetektion und -korrektur von Datenwörtern mit Prüfbits
DE102011087457A1 (de) Vorrichtung und verfahren zum erfassen eines fehlers in einer mehrzahl von codierten binärwörtern, die durch einen fehlerkorrekturcode codiert sind

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8339 Ceased/non-payment of the annual fee