DE60117066T2 - Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes - Google Patents
Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/47—Error 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 und1B sind; -
2 ein Blockdiagramm einer Vorrichtung zum Verifizieren eines Fehlerkorrekturcodes und einer -schaltung ist; und -
3A Flussdiagramme sind, die Prozesse zeigen, die und3B auf der Vorrichtung aus2 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
- Eine Hardware zur Implementierung von ECC-Prüfbits unter Verwendung gegenwärtiger Systeme ist in
1A dargestellt. Eine Fehlerkorrekturcodeschaltung10 umfasst eine Speicherzeile11 , die in1A als 30 Datenbits umfassend gezeigt ist. Der Speicherzeile11 zugeordnet ist eine ECC-Zelle12 . Bezug nehmend auf die Tabelle 1 oben müssen sechs ECC-Bits in der ECC-Zelle12 gespeichert werden, um eine Einzelbitfehlerkorrektur und eine Doppelbitfehlererfassung in der Speicherzeile11 zu erzielen. Ein ECC-Block13 wird verwendet, um die ECC-Bits zu erzeugen und die Fehlerkorrektur-/Erfassungscodeoperationen, einschließlich eines Prüfens der Datenbits in der Speicherzeile11 während Lese- und Schreiboperationen durchzuführen. -
1B ist ein Blockdiagramm eines Abschnitts des ECC-Blocks13 , 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 Schaltung20 einen XOR-Baum21 und ein Bitweise-XOR-Modul22 . 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-Baum21 könnte für sowohl die ECC-Bits als auch die Syndrombits verwendet werden, wie in1B 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. In2 umfasst eine Vorrichtung100 einen Sender110 mit einem Codierer115 . Der Sender110 und der Codierer115 sind durch eine Fehlerinjektionsschaltung120 mit einem Empfänger130 mit einem Decodierer135 gekoppelt. Ebenso mit dem Codierer115 und dem Decodierer135 gekoppelt ist ein Überwachungsmodul140 . Wie oben angemerkt wurde, könnte die Vorrichtung100 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 Codierers115 und des Decodierers135 und ein darauffolgendes Injizieren möglicher Fehler vollständig zu testen. In Betrieb werden Daten in den Codierer115 eingegeben. Der Codierer115 codiert die Daten, um einen Ausgangsvektor112 zu erzeugen. Bei dem in2 dargestellten Beispiel sind die eingegebenen Daten64 Bits breit. Bezug nehmend auf die Tabelle 1 codiert der Codierer zusätzliche acht Bits zu den eingegebenen Daten, derart, dass der Ausgangsvektor112 72 Bits breit ist. Der Aus gangsvektor112 wird durch eine Fehlerinjektionsschaltung120 gesendet, die Fehler einführt, die der ECC korrigieren oder erfassen kann. Die Fehlerinjektionsschaltung120 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 Decodierer135 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 Decodierer135 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 Überwachungsmodul140 geliefert. Das Überwachungsmodul140 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 Decodierer135 an das Überwachungsmodul140 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 Fehlerinjektionsschaltung120 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 Fehlerinjektionsschaltung120 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 Fehlerinjektionsschaltung120 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-Schaltung100 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 Vorrichtung100 mit einem SEC-DED beschrieben hat, würde ein Fachmann auf diesem Gebiet verstehen, dass das Verfahren und die Vorrichtung100 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 Vorrichtung100 laufen. Ähnlich würden auch Daten, die von den Speicherchips zu dem Datenbus laufen, durch die Vorrichtung100 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 Sender110 und den Empfänger130 koppelt, eine ausreichende Bandbreite auf, um alle 72 Bits bei einem Taktzyklus zu tragen. Die Vorrichtung100 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 und3B stellen Verfahren dar, die unter Verwendung der in2 gezeigten Vorrichtung100 ausgeführt werden könnten.3A stellt ein Verfahren200 dar, wenn ein Kein-Fehler-Signal injiziert wird. Das Verfahren beginnt bei einem Block210 . Bei einem Block220 codiert der Codierer115 eine Transaktion mit einem ECC. Die Transaktion wird dann in einer Fehlerinjektionsschaltung120 verarbeitet und ein Kein-Fehler-Signal wird bei einem Block230 injiziert. - Bei einem Block
240 wird die Transaktion unter Verwendung des ECC decodiert. Bei einem Block250 überwacht das Überwachermodul140 die decodierte Transaktion. Bei einem Block260 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 Block280 und endet. Andernfalls bewegt sich das Verfahren zu einem Block270 und ein Fehler wird deklariert. Das Verfahren bewegt sich dann zu Block280 und endet. -
3B stellt ein Verfahren300 dar, bei dem die Fehlerinjektionsschaltung120 einen Einzelbitfehler einfügt. Das Verfahren300 ähnelt dem Verfahren200 , 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)
- 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. - Die Vorrichtung gemäß Anspruch 1, wobei die Vorrichtung als eine tatsächliche Hardware-Vorrichtung ausgeführt ist.
- 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. - Das Verfahren gemäß Anspruch 3, bei dem die Verifizierung eine Simulation ist.
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)
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)
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 |
-
2000
- 2000-05-01 US US09/562,133 patent/US6799287B1/en not_active Expired - Lifetime
-
2001
- 2001-04-05 EP EP01108612A patent/EP1160987B1/de not_active Expired - Lifetime
- 2001-04-05 DE DE60117066T patent/DE60117066T2/de not_active Expired - Fee Related
- 2001-04-17 JP JP2001117596A patent/JP2001358702A/ja active Pending
-
2004
- 2004-06-16 US US10/867,769 patent/US20040243887A1/en not_active Abandoned
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 |