DE3854393T2 - Verfahren und gerät zur fehlerkorrektur mit mehrfachdurchlauf für produktkode. - Google Patents

Verfahren und gerät zur fehlerkorrektur mit mehrfachdurchlauf für produktkode.

Info

Publication number
DE3854393T2
DE3854393T2 DE3854393T DE3854393T DE3854393T2 DE 3854393 T2 DE3854393 T2 DE 3854393T2 DE 3854393 T DE3854393 T DE 3854393T DE 3854393 T DE3854393 T DE 3854393T DE 3854393 T2 DE3854393 T2 DE 3854393T2
Authority
DE
Germany
Prior art keywords
strategy
pointers
pointer
errors
error
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
DE3854393T
Other languages
English (en)
Other versions
DE3854393D1 (de
Inventor
Christopher Zook
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.)
Exabyte Corp
Original Assignee
Exabyte Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Exabyte Corp filed Critical Exabyte Corp
Publication of DE3854393D1 publication Critical patent/DE3854393D1/de
Application granted granted Critical
Publication of DE3854393T2 publication Critical patent/DE3854393T2/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/159Remainder calculation, e.g. for encoding and syndrome calculation
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1525Determination and particular use of error location polynomials
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • H03M13/293Decoding strategies with erasure setting
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

    I. GEBIET DER ERFINDUNG
  • Diese Erfindung bezieht sich auf ein Verfahren und ein Gerät zum Decodieren und Korrigieren von gespeicherten oder übertragenen Codewörtern und insbesondere auf ein solches Verfahren und ein solches Gerät, bei dem Produktcodes angewendet werden.
  • II. STAND DER TECHNIK UND ANDERE ÜBERLEGUNGEN
  • Rauschen, daß während der Übertragung von Daten oder bei dem Speichern und Wiedergewinnen von Daten auftritt, kann in Fehler resultieren. Folglich sind verschiedene Codiertechniken zum speziellen Codieren der Übertragenen oder gespeicherten Daten entwickelt, damit eine Fehlerkorrekturmöglichkeit ermöglicht wird.
  • Gemäß solcher Codiertechniken weist ein Satz von Nachrichten- oder Informationsbit einen Satz von daran angehängten Prüfbits zum Bilden eines Codewortes auf. Die Prüfbits fiir das Codewort werden durch einen Codierer hergeleitet. In dieser Hinsicht behandelt der Codierer im wesentlichen die Bits, die den Satz von Nachrichtenbits aufweisen, als Koeffizienten eines binären Nachrichtenpolynoms und leitet die Prüfbits ab durch Einwirken auf das Nachrichtenpolynom (wie durch Multiplikation oder Division) mit einem Generatorpolynom G(X). Das Generatorpolynom wird so ausgewählt, daß es gewünschte Eigenschaften auf die Codewörter einprägt, auf die es einwirkt, so daß die Codewörter zu einer besonderen Klasse von Fehlerkorrekturbinärgruppencodes gehört.
  • Eine Klasse von Fehlerkorrekturcodes wird durch die gut bekannten BCH-Codes dargestellt, die Reed-Solomon-Codes enthalten. Die EP-A 0 156 413 offenbart eine Decodereinrichtung für einen Strom von Codesymbolen, die durch einen variablen doppelten Reed-Solomon-Code geschützt sind. Die mathematische Grundlage der Reed-Solomon-Codes wird in Berlekamp, Algebraic Coding Theory, McGraw-Hill, 1968 ausgeführt und in dem US-Patent 4 162 480 an Berlekamp zusammengefaßt. Gemäß dieser Darstellung ist ein Reed-Solomon-Code einer, bei dem Generator-Polynom-G(X) wie folgt definiert ist:
  • wobei α ein primitives Element in einem Galois-Feld GF(2m) ist und wobei d die bezeichnete Distanz des Codes ist. Diskussionen der Reed-Solomon-Codes werden auch in anderen Abhandlungen gegeben wie Peterson an Weldon, Error-Correction Codes, zweite Auflage, The MIT-Press, 1972, und Wakerly, Error Detecting Codes, Self-Checking Circuits and Application, North-Holland, 1978.
  • Reed-Solomon-Codes sind in der Lage, Löschungen (Fehler, deren Positionen bekannt sind) und Fehler gleichzeitig zu korrigieren. Ein Reed-Solomon-Code mit n-K-Prüfeigenschaften kann v Fehler und u Löschungen korrigieren, solange 2v + u < n-K ist.
  • Zwei oder mehr Reed-Solomon-Codes können zum Erzeugen eines stärkeren Codes kombiniert werden. Wie in Fig. 1 gezeigt ist, sind Information- und Prüfbits konzeptionell in einem Feld so angeordnet, daß die Zeilen des Feldes horizontale Codewörter sind, wobei jedes horizontale Codewort KH Datenbits und nH-KH Fehlerkorrektur-(ECC)-Bits für eine gesamte Codewortlänge von HH Bits enthält. Die Spalten des Feldes sind vertikale Codewörter, die KV Datenbits und nV-KV ECC-Bits für eine gesamte vertikale Codewortlänge von nV Bits enthalten. Die horizontalen ECC-Bits sind auch in den vertikalen Codewörtern enthalten, und die vertikalen ECC-Bits sind auch in den horizontalen Codewörtern enthalten. Der untere rechte Block in der Matrix von Fig. 1 besteht aus ECC-Bits, die Über die horizontalen und vertikalen ECC-Bits erzeugt worden sind. Nachdem Erzeugen der horizontalen und vertikalen ECC-Bits aus den Daten werden die "ECC auf ECC"- Bits aus den horizontalen oder vertikalen ECC-Bits erzeugt. Sobald sie erzeugt sind, werden die Matrixdaten durch einen Kanal übertragen.
  • Die oben beschriebene Kombination der Codes ist als "zweidimensionale Codes" oder "Produktcodes" bekannt. Unterweisende Diskussionen der Produktcodes sind in verschiedenen Abhandlungen einschließlich der oben angegebenen enthalten.
  • Bei Decodieren einer Matrix oder eines Blockes von Informationen, auf die durch einen Produktcode eingewirkt wurde, bearbeitet ein Decoder im allgemeinen die Zeilen des Blockes in einem "horizontalen Durchgang" und die Spalten des Blockes in einem "vertikalen Durchgang". Während jedes Durchganges versucht der Decoder gemäß dem für den Durchgang anwendbaren Code jeden erfaßten Fehler zu korrigieren. Wenn an dem Ende des ersten vertikalen Durchganges zum Beispiel einige aber nicht alle der Fehler korrigiert sind, kann ein weiterer (zweiter) horizontaler Durchgang durchgeführt werden. Ein zweiter horizontaler Durchgang ist durchführbar, da einige Zeilen in dem Block, die nicht während des ersten horizontalen Durchganges korrigiert wurden, nun (als ein Resultat des ersten vertikalen Durchganges) weniger Fehler enthalten, als ursprünglich in der horizontalen Zeile enthalten waren. Somit kann das Fehlermuster in der horizontalen Zeile nun auf ein korrigierbares Fehlermuster reduziert sein.
  • In Hinblick auf das obige kann allgemein vermutet werden, daß, wenn immer ein Durchgang in einer Richtung einige Fehler korrigiert aber auch einige Fehler unkorrigiert läßt, ein Durchgang in der anderen Richtung durchgeführt werden kann. Dieser Vorgang der wiederholten Durchgänge kann Andauern, bis entweder kein Fehler verbleibt oder ein Durchgang durchgeführt wird, in dem keine Fehler korrigiert werden.
  • Nicht alle Decodieranwendungen stehen für Verfahren der wiederholten oder mehrfachen Durchgänge zur Verfügung, insbesondere Anwendungen, bei denen eine Fehlerkorrektur mit optimaler Schnelligkeit auftreten muß. Für Decodieranwendungen, bei denen mehrere Durchgänge möglich sind, muß eine Strategie zum Bestimmen der Zahl und der Art der Durchgänge eingesetzt werden. Beispiele solcher Strategien werden in der Literatur ausgeführt, wie die von Odaka, Kentaro u.a. < "LSIs for Digital Signal Processing To be used in 'Compact Disc Digital Audio' Players"; Audio Engeneering Society Reprint, März 1982> und die von Shenton, Debenedictis und Locanthi < "Improved Reed Solomon Decoding Using Multiple Pass Decoding", Audio Engeneering Society Reprint, Oktober 1983> verfaßten.
  • Es ist eine Aufgabe der vorliegenden Erfindung ein Verfahren und eine Vorrichtung zum Steuern der Fehlerkorrektur von codierter Information vorzusehen, auf die durch Produktcodes eingewirkt wurde.
  • Solch eine Aufgabe wird gelöst durch ein Verfahren und eine Vorrichtung, wie sie in den unabhängigen Ansprüchen 1 bzw. 9 angegeben sind.
  • Ein Vorteil der vorliegenden Erfindung ist das Vorsehen eines Verfahrens und einer Vorrichtung zum Anwenden von Fehlerkorrekturstrategien gemäß einer hierarchischen Ordnung einer Mehrzahl solcher Strategien.
  • Ein weiterer Vorteil der vorliegenden Erfindung ist das Vorsehen eines Verfahrens und einer Vorrichtung zur Benutzung von Fehlerzeigern in dem Vorgang der Fehlerkorrektur codierter Information, auf die durch Produktcodes eingewirkt wurde.
  • ZUSAMMENFASSUNG
  • Ein Fehlerkorrektursystem weist eine Mehrfachdurchgangssteuerung auf, die durch eine Steuerungs-/Decoderschnittstelle tätig ist zum Überwachen der Ausführung eines Decodierdurchganges durch einen Decodierer. Die Multidurchyangssteuerung verwendet eine Korrekturprozedur, die eine Mehrzahl von hierarchischen Strategien S(1), S(2), ..., S(N) für den Übergang der Prozedur durch eine Mehrzahl von vorbestimmten Zuständen aufweist. Nach der Beendigung eines Codierdurchganges wertet ein Durchgangsauswerter die Resultate des Decodierdurchganges aus und benutzt die Auswertung zum Aufstellen von Werten für weiteren Betrieb. Weitere Durchgänge werden in Hinblick auf weitere Zustände ausgeführt, die von der Mehrfachdurchgangssteuerung bestimmt worden sind, wobei die weiteren Zustände damit spezielle Parameter verknüpft aufweisen, die eine Strategieauswahl enthalten.
  • Gemäß einer Strategie höchster Ordnung S(1) werden Eingabezeiger an den Decoder für die Zwecke der Fehlerlokalisierung und Korrektur angelegt. Jeder gemaß der Strategie S(1) durchgeführte Decodierdurchgang wird durch Vergleichen eines Fehlkorrekturwahrscheinlichkeitsindex-(MPI)wertes, der für jedes Codewort berechnet worden ist, mit einem vorbestimmten Zeigerschwellen(PT)-Wert ausgewertet. Der MPI=3L-F, wobei L die Zahl der in einem Codewort durch den Decoder während eines Codierdurchganges erfaßten Fehler ist und wobei F die Zahl der Codeworteingangszeiger ist, die an den Decoder zur Benutzung während des Durchganges angelegt sind.
  • Andere als die Strategie S(1) benutzen nicht notwendigerweise vorhandene Eingabezeiger. Decodierdurchgänge, die gemäß diesen anderen Strategien durchgeführt werden, werden durch Untersuchung verschiedener Parameter ausgewertet, einschließlich der Zahl der verfügbaren Eingabezeiger (F) und der Zahl (Lc) der Fehler, die in dem Codewort durch den Decoder erkannt worden sind, auf die durch verfügbare Eingabezeiger gezeigt wurde.
  • Wenn ein Decodierdurchgang beendet ist, analysiert die Mehrfachdurchgangssteuerung gewisse Eingabeparameter zum Bestimmen, welchen Zustand die Korrekturprozedur als nächstes annehmen soll. Insbesondere entwickelt ein Logikabschnitt für den nächsten Zustand einen nächsten Zustandswert durch Benutzen eines Signales, das den gegenwertigen Zustandswert anzeigt, und eines Signales, das anzeigt, ob irgendwelche Korrekturänderungen während des letzten Zustandes durchgeführt wurden. Ein Ausgangslogikabschnitt legt geeignete Signale an verschiedene Ausgangsleitungen gemäß dem als nächsten ausgewählten Zustand an, der der gegenwärtige Zustand wird. Ausgangssignale, die von dem Ausgangslogikabscilnitt angelegt sind, enthalten Strategiefreigabesignale zum Freigeben der einen der Strategien, die mit dem Zustand verknüpft ist; ein Durchgangsrichtungssignal, das anzeigt, ob ein horizontaler oder vertikaler Durchgang durchzuführen ist; und falls die Strategie S(1) anzuwenden ist, einen Zeigerschwellen-(PT)-Wert.
  • Die Fehlerkorrekturprozedur ist so stukturiert, daß, sollte die Anwendung einer Strategie nicht in der Korrektur eines verbleibenden Fehlers resultieren, eine zweithöchst eingereihte Strategie eingesetzt werden. Wenn der Einsatz der zweithöchst eingereihten Strategien in einer Fehlerkorrektur resultiert, verlangt die Prozedur wieder den Einsatz der Strategie höchster Ordnung und von dort den Einsatz Strategien niedriger Ordnung, bis ein Codewort korrigiert ist oder bestimmt ist, das es unkorrigierbar ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorangehenden und anderen Aufgaben, Merkmale und Vorteile der Erfindung werden aus der folgenden genaueren Beschreibung von bevorzugten Ausführungsformen ersichtlich, wie sie in den begleitenden Zeichnungen dargestellt sind, in denen Bezugszeichen sich auf die gleichen Teile durch die verschiedene Ansichten beziehen. Die Zeichnungen sind nicht unbedingt maßstäblich, Wert wurde anstelle dessen auf die Darstellung der Prinzipien der Erfindung gelegt.
  • Fig. 1 ist eine schematische diagrammartige Ansicht, die allgemein eine zweidimensionale Konzeptualisierung codierter Information zeigt, auf die durch Produktcodes eingewirkt wurde;
  • Fig. 2 ist eine schematische Ansicht eines Fehlerkorrektursystemes gemäß einer Ausführungsform der Erfindung;
  • Fig. 3 ist eine schematische Ansicht einer Mehrfachdurchgangssteuerung gemäß einer Ausführungsform der Erfindung;
  • Fig. 4 ist eine schematische Ansicht einer RAM-Adreßschaltung gemäß einer Ausführungsform der Erfindung;
  • Fig. 5 ist eine schematische diagrammartige Ansicht einer Fehlerkorrekturprozedur, die Fehlerkorrekturstrategien S(1), S(2), ..., S(N) anwendet;
  • Fig. 6 ist eine schematische diagrammartige Ansicht von Schritten, die bei dem Einsatz einer Fehlerkorrekturstrategie S(1) höchste Ordnung ausgeführt werden;
  • Fig. 7 ist eine schematische diagrammartige Ansicht von Schritten, die bei dem Einsatz einer Fehlerkorrekturstrategie S(2) ausgeführt werden;
  • Fig. 8 ist eine schematische diagrammartige Ansicht von Schritten, die bei dem Einsatz einer Fehlerkorrekturstrategie S(3) ausgeführt werden; und
  • Fig. 9 ist eine schematische diagrammartige Ansicht, die ein Beispiel des Einsatzes einer Fehlerkorrekturprozedur gemäß einer Ausführungsform der Erfindung zeigt.
  • DETAILLIERTE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 2 zeigt ein Fehlerkorrektursystem (ECS) 20 mit einer Kanalschnittstelle 21; einem Datenspeicher mit wahlfreiem Zugriff (RAM) 22; einem Zeigerspeicher mit wahlfreiem Zugriff (RAM) 26; einer RAM-Zugriffsteuerschaltung (durch unterbrochene Linie 29 eingerahmt); einem Decoder 30; einer Mehrfachdurchgangssteuerung (MPC) 32; und einer Steuerungs-/Decoderschnittstellenschaltung (CDIC) (eingerahmt durch die unterbrochene Line 34).
  • Die Kanalschnittstelle 21 empfängt codierte Information von dem Kanal und überträgt die codierte Information als Kanaldaten auf einen Kanaldatenbus (40) zu dem Daten-RAM über die RAM-Zugriffssteuerschaltung 29. Die übertragene codierte Information ist von dem Typ, auf den durch Produktcodes eingewirkt wurde.
  • Die Kanalschnittstelle 21 ist vom herkömmlichen Typ, die Löschungen in der codierten Information erkennen kann und den Decoder 30 von dem Auftreten von Löschungen in der codierten Information in Kenntnis setzen kann. Wenn die Kanalschnittstelle bestimmt, daß eine Löschung in der codierten Information aufgetreten ist, die auf dem Kanaldatenbus 40 übertragen wird, liegt in dieser Hinsicht die Kanalschnittstelle 21 ein WAHR- Signal an einen Kanalzeigerbus 41 an, der den Kanalprozessor und den Zeiger-RAM über die RAM-Zugriffssteuerschaltung 29 verbindet.
  • Der Daten-RAM 22 ist in der Lage, Bits von codierter Information an adressierbaren Stellen zu speichern. Der Daten-RAM 22 kann so konzipiert werden, daß er einen Block von Information in einem Matrixformat darin gespeichert aufweist, wobei die Matrix sehr in der gleichen Weise wie Fig. 1 Zeilen und Spalten enthält.
  • Der Zeiger-RAM 26 enthält Speicherstellen derart, daß jedes Bit in dem Zeiger-RAM 26 einem Bit in dem Daten-RAM 22 entspricht. Wenn ein Bit in dem Zeiger-RAM 26 gesetzt wird, dann wird vermutet, daß die Inhalte des entsprechenden Datenbit in dem Daten-RAM 22 fehlerhaft sind.
  • Die RAM-Zugriffssteuerschaltung 29 enthält einen Dateneingangsauswahlmultiplexer 43; einen Datenkorrekturauswahlmultiplexer 44; einen Zeigereingangsauswahlmultiplexer 45; einen Fehlerzeigersetzmultiplexer 46 und eine Adressablaufssteuerungschaltung 47. Der Datenkorrekturauswahlmultiplexer 44 benutzt ein Steuersignal auf einer Leitung 48 zum Auswählen zwischen einem ersten Dateneingangsbus 49 oder einem zweiten Dateneingangsbus 50 und zum Anlegen des Signales auf dem ausgewählten Bus an einen Eingang des Dateneingangsauswahlsmultiplexers 43. Der andere Eingang des Dateneingangsmultiplexers 43 ist mit dem Kanaldatenbus 40 verbunden. Der Dateneingangsauswahlmultiplexer 43 ist zum Übertragen entweder der Kanaldaten auf dem Bus 40 oder der Daten von dem Multiplexer 44 zu dem Daten-RAM 22 geschaltet.
  • Der Fehlerzeigersetzmultiplexer 46 benutzt ein Zeigersteuersignal, das auf einer Leitung 52 angelegt ist, zum Auswählen zwischen einem WAHR-("1")Eingangssignal, einem FALSCH-("0")- Eingangssignal und ein Zeigerrückkopplungseingangssignal, das auf einer Leitung 54 angelegt ist. Der Multiplexer 46 legt das ausgewählte Signal an einen Stift des Zeigereingangsauswahlmultiplexers 45 an. Der andere Eingangsstift des Zeigereingangsauswahlsmultiplexers 45 ist mit dem Kanalzeigerbus 42 verbunden. Der Zeigereingangsmultiplexer 45 überträgt entweder den Zeigerwert auf dem Bus 42 oder den Zeiger von dem Multiplexer 46 an den Zeiger-RAM 26.
  • Fig. 4 zeigt gewisse Elemente, die in der Adressenablaufsteuerung 47 zum Adressieren des Daten-RAM 22 enthalten sind. Obwohl sie nicht dargestellt sind, bestehen ähnliche Elemente in der Schaltung 47 zum Adressieren des Zeiger-RAM 26. Jede Stelle in den RAMs 22 und 26 weist eine Adresse auf, die eine Verkettung von höherwertigen Adressbits (die eine Zeilennummer darstellen und von niederwertigen Adressbits, die eine Spaltenzahl darstellen) ist. Die höherwertigen Bits werden von einem Zeilenzähler 56 erhalten, während die niederwertigen Bits von einem Spaltenzähler 57 erhalten werden. Wenn auf die Daten Zeile um Zeile zugegriffen wird (z.B. wenn die Daten durch den Kanal geschrieben werden und wenn ein horizontaler Decodierdurchgang durchgeführt wird), wird der Spaltenfehler 57 mit jedem Bit erhöht und der Zeilenzähler 56, wenn das Ende der Zeile erreicht ist, zu welchem Zeitpunkt der Spaltenzähler 57 zurückgesetzt wird. Das Gegenteil tritt auf, wenn ein vertikaler Durchgang durchgeführt wird (Spalte um Spalte). Die verketteten Adressen werden an die RAMs 22 und 26 auf dem Adressbus 58 angelegt.
  • Als ein Beispiel für das vorangehende sei angenommen, daß die Matrix 32 Zeilen x 32 Spalten sei. Die Adressen für den RAM 22 besteht aus 10 Bits: 5 Zeilenadressbits und 5 Spaltenadressbits. Bei einem horizontalen Durchgang ist die Adressreihenfolge: 0, 1, 2, ..., 1023. Bei einem vertikalen Durchgang ist die Reihenfolge: 0, 32, 64, ..., 992, 1, 33, 65, ..., 993, 2, 34, 66, ..., 994, ..., 31, 63, 95, ..., 1023.
  • Die codierte Information in dem Daten-RAM 22 ist auf einem Decoderdateneingangsbus 60 zu dem Decoder 30 übertragbar. Entsprechend ist die Zeigerinformation in dem Zeiger-RAM 26 auf einem Decodereingangszeigerbus 62 zu dem Decoder 30 übertragbar.
  • Der Decoder 30 ist vom herkömmlichen Typ, der zur Benutzung zum Decodieren von Reed-Solomon-Codes geeignet ist. Der Decoder 30 ist von einem Typ, der Mittel zum Erzeugen von Syndromen für ein Codewort, Mittel zum Benutzen der Syndrome und Löschsuchzeiger zum Erhalten von Koeffizienten eines Fehler-/Löschpolynomns für das Codewort, Mittel zum Durchführen einer Suche (z.B. einer Chien-Suche) nach den Wurzeln des Fehler-Lösch-Polynoms und Mittel zum Erzeugen eines Korrekturfehlermusters für das Codewort aufweist. Obwohl das Fehlerkorrektursystem 20 der vorliegenden Erfindung jeden herkömmlichen so gekennzeichneten Decoder einsetzen kann, ist eine Decoderschaltung, die insbesondere für die Benutzung im Zusammenhang mit der vorliegenden Erfindung geeignet ist, die, die in der gleichzeitig eingereichten US-Patentanmeldung 4 845 713 von Christopher Paul Zook entsprechend der WO-A-88/10 032 mit dem Titel "Message and Apparatus for Error Correction" gezeigt und beschrieben ist. Obwohl die genannte Schaltung in Zusammenhang mit einem Generatorpolynom für einen einzigen Durchgang tätig ist, ist zu verstehen, daß zwei solche Schaltungen benutzt werden können - eine Schaltung zur Benutzung eines ersten Codes während eines horizontalen Durchganges und eine zweite Schaltung zur Benutzung eines zweiten Durchganges während eines vertikalen Durchganges.
  • Der Decoder 30 empfängt somit Eingabesignale auf dem Decodereingangsdatenbus 60 und auf dem Decodereingangszeigerbus 62. Der Decoder 30 überträgt Information auf einem Decoderausgangsdaten- oder "Fehlermuster"-Bus 63 zu einem Addierer 64; auf einer Leitung 65, die ein WAHR-Signal trägt, wenn der Decoder 30 entscheidet, daß ein Codewort nicht korrigierbar ist; auf einem Bus 66, der einen Wert trägt, der die Zahl der Fehler in einem Codewort anzeigt, die von dem Decoder 30 während eines Durchganges erfaßt sind, wobei der Buchstabe "L" benutzt wird zum Darstellen solch einer Fehlerzahl; und auf einer Leitung 67, die ein WAHR-Signal trägt, wenn ein Symbol oder ein Bit von dem Decoder 30 als Fehlerstelle erkannt worden ist.
  • Der Addierer 64 weist einen ersten Eingang, der über den Bus 49 mit dem Datenausgang des Daten-RAM 22 verbunden ist, und einen zweiten Ausgang, der über den Bus 63 mit dem Fehlermusterausgang des Decoders 30 verbunden ist, auf. Der Datenausgang des Addierers 64 ist durch den Bus 50 mit dem Datenkorrekturauswahlmultiplexer 44 verbunden.
  • Die Steuerungs-/Decoderschnittstellenschaltung (CDIC) 34 enthält eine Schnittstellensteuerung 69; eine Durchgangsauswerteund Zeiger-/Korrektursteuerung 70; zwei UND-Gatter 71 und 72; einen "Lc"-Zähler 73; einen "F"-Zähler 74; Mittel zum Bestimmen, ob der Decoder 30 eine Korrekturänderung an dem Informationsblock während des letzten Durchganges durchgeführt hat (solches Mittel wird durch die unterbrochene Linie 75 eingerahmt); und Mittel zum Bestimmen, ob Fehler weiterhin in dem Block codierter Information nachdem letzten Durchgang verbleibt (solches Mittel ist durch die unterbrochene Linie 76 eingerahmt).
  • Das Änderungsbestimmungsmittel 75 zum Bestimmen, ob der Decoder 30 eine Korrektur an dem Block codierter Information in dem Daten-RAM 22 während des letzten Durchganges durchgeführt hat, enthält eine Logikschaltung 77 und ein Flip-Flop 78. Die Logikschaltung 77 benutzt Signale, die die Zahl von Fehlern "L" anzeigt, die während des letzten Durchganges von dem Decoder 30 erkannt sind (solch ein Signal wird auf einer Leitung 79 angelegt) und ein "Zeigersteuerungs"-Signal (das auf der Leitung 52 angelegt wird) zum Bestimmen, ob der Decoder 30 eine Korrektur während des letzten Dekodierdurchganges an der codierten Information in dem Daten-RAM 22 durchgeführt hat. Wenn bestimmt wird, daß solch eine Anderung tatsächlich durchgeführt worden ist, wird ein WAHR-Signal erzeugt und aus dem Flip-Flop 78 zum Anlegen auf der "CH"-(d.h. "Änderung")Leitung 81 an den MPC 32 verriegelt.
  • Das Mittel 76 zum Bestimmen, ob Fehler nach dem letzten Durchgang des Decoders 30 verbleiben, enthält eine Logikschaltung 82 und ein Flip-Flop 83. Die Logikschaltung 82 überwacht Ausgangssignale von dem Zeiger-RAM 26 (auf der Zeigerrückkopplungsleitung 34) und das "Unkorrigierbar-Signal" (auf der Leitung 65) zum Bestimmen, ob irgendein Fehler nach dem letzten Durchgang des Decoders 35 verbleibt. Wenn bestimmt wird, daß solche Fehler noch vorhanden sind, wird ein WAHR-Signal erzeugt und aus dem Flip-Flop 83 zum Anlegen auf einer Leitung 84 an die MPC 32 verriegelt.
  • Die Schnittstellensteuerung 69 empfängt ein WAHR-Signal auf einer Leitung 85 von der Kanalschnittstelle 21, wenn die Kanalschnittstelle 21 fertig ist, so daß der Decoder 30 auf die von dem Kanal empfangene codierte Information wirken kann. Ein Ausgangsstift der Schnittstellensteuerung 69 ist mit einer "Startdurchgangs"-Leitung 86 zu den Rücksetzstiften der Flip-Flops 78 und 83 so verbunden, daß die Flip-Flops 78 und 83 vor dem Decodieren eines Blockes zurückgesetzt werden. Ein anderer Ausgangsstift der Schnittstellensteuerung ist durch eine "Freigabekanaldaten"-Leitung 86A mit der Adressablaufssteuerungsschaltung 47 verbunden. Ein anderer Ausgangsstift der Schnittstellensteuerung 69 ist durch eine "CODEWORTRÜCKSETZ"-Leitung 87 mit den Rücksetzstiften des Lc-Zählers 73 und des F-Zählers 74 zum Zurücksetzen dieser Zähler vor dem Decodieren eines Blockes verbunden. Ein anderer Ausgangsstift der Schnittstellensteuerung 69 ist durch eine "Decodierdurchganggetätigt"-Leitung 88 mit der MPC 32 verbunden. Das UND-Gatter 71, das in der CDIC 34 enthalten ist, weist einen ersten Eingangsstift, der mit dem Ausgangsstift des Zeiger-RAM 26 verbunden ist, und einen zweiten Eingangsstift, der über eine "Strategie-S(1)-Freigabe" Leitung mit der MPC 32 verbunden ist, auf. Der Ausgangsstift des UND-Gatters 71 ist durch den Decoderzeigereingangsbus 62 mit dem Decoder 30 verbunden.
  • Das in der CDIC 34 enthaltene UND-Gatter 72 weist einen ersten Eingangsstift, der durch die Leitung 54 mit dem Ausgangsstift des Zeiger-RAM 26 verbunden ist, und einen zweiten Eingangsstift, der mit der Leitung 74 verbunden ist (die das "Fehlerstellen"-Signal von dem Decoder 30 trägt), auf. Der Ausgangsstift des UND-Gatters 72 ist mit dem Erhöhungseingangsstift des Lc-Zählers 73 verbunden. Ein Lc-Datenausgangsbus 89 verbindet einen Datenausgang des Lc-Zählers 73 mit der Durchgangsauswert- und Zeiger-/Korrektursteuerung 70.
  • Der F-Zähler 74 weist einen Erhöhungseingangsstift, der durch die Leitung 54 mit dem Ausgangsstift des Zeiger-RAM 26 verbunden ist, und einen Rücksetzstift, der durch die Leitung 87 mit dem "CODEWORTRÜCKSETZ"-Stift der Schnittstellensteuerung 69 verbunden ist, auf. Ein F-Datenausgangsbus 90 verbindet einen Datenausgang des F-Zählers 74 mit der Zeiger-/Korrektursteuerung 70.
  • Die Durchgangsauswerte- und Zeiger-/Korrektursteuerung 70 ist durch die zuvor erwähnte "Unkorrigierbar"-Leitung 65 und die "L"-Zählleitung 66 mit dem Decoder 30 und durch den zuvor erwähnten Lc-Datenausgangsbus 89 und den F-Datenausgangsbus 90 mit dem Zähler 73 bzw. 74 verbunden. Zusätzlich empfängt die Zeiger-/Korrektursteuerung 70 Eingangssignale von der MPC 32 auf dem Zeigerschwellenbus 100; auf einer Strategie-S(1)-Freigabeleitung 102; auf einer Strategie-S(2)-Freigabeleitung 104 und auf einer Strategie-S(3)-Freigabeleitung 106. Die Zeigersteuerausgangsleitung 52 verbindet einen Zeigerausgangsstift der Steuerung 70 mit der Logikschaltung 77 und einem Steuerstift des Fehlerzeigersetzmultiplexers 46. Eine Korrekturmusterdatensteuerleitung 110 verbindet die Steuerung 70 mit einem Steuerstift des Datenkorrekturauswahlmultiplexers 44.
  • Ein kurzer Exkurs bezüglich des Konzeptes des "Zustandes" ist angebracht vor der Diskussion der Struktur der Mehrfachdurchgangssteuerung (MPC) 32. Wie aus dem folgenden ersichtlicher wird, wendet die MPC 32 eine Fehlerkorrekturprozedur an, bei der die MPC 32 aus einer Mehrzahl von Fehlerkorrekturstrategien S(1), S(2), ..., S(N) auswählt und den Decoder 30 zum Einsetzen der ausgewählten Strategie anweist zum Versuchen der Korrektur von Fehlern, die in der codierten Information angeordnet sind. Die Srategien der Prozedur sind der Wichtigkeit nach aufgereiht und werden in hierarchischer Reihenfolge derart aufgerufen, daß der Rang der Strategie S(1) größer als der Rang der Strategie S(2), der Rang der Strategie S(2) größer als der Rang der Strategie S(3) usw. ist (d.h. S(1) > S(2) > S(3) > ... > S(N)).
  • Für einen gegegebenen Decoder 30 enthält jede Prozedur eine Mehrzahl von vorbestimmten Zuständen. Jeder Zustand weist eine Zustandsnummer auf. Jeder Zustand weist damit verknüpft einen besonderen Typ des Durchganges auf < z.B. einen horizontalen Durchgang ("H") oder einen vertikalen Durchgang ("V")> ; eine besondere der Strategien und falls die Strategie S(1) ist einen besonderen Zeigerschwellen-("PT")-Wert.
  • Wie unter Bezugnahme auf Fig. 2 zu sehen ist, weist die MPC 32 drei Basisabschnitte auf: einen Abschnitt 120 der Logik des nächsten Zustandes (NSL); ein Zustandsregister 122 und einen Abschnitt 124 der Ausgangslogik (OL). Der NSL-Abschnitt 120 ist mit der Leitung 84 (die das Signal "einige Fehler verbleiben" trägt) und mit der Leitung 81 (die das Datenänderungssignal oder das Datenkorrektursignal trägt) verbunden. Der NSL-Abschnitt 120 weist auch Eingänge auf, die durch eine Zustandsrückkopplungsschleife 126 mit einem Ausgang des gegenwärtigen Zustandes des Zustandsregisters 122 verbunden sind. Der NSL- Abschnitt 120 benutzt Eingangssignale, die auf den Leitungen 81 und 84 empfangen werden, als auch ein Signal des gegenwertigen Zustandes, das auf der Zustandsrückkopplungsschleife 126 liegt, zum Konsultieren einer intern gespeicherten Nachschlagtabelle zum Bestimmen, welches der nächste Zustand der Prozedur sein sollte und zum Erzeugen eines Signales, das die Zustandsnummer anzeigt, auf einem Bus 128 für den nächsten Zustand zum Anlegen an Dateneingänge des Zustandsregisters 122.
  • Das Zustandsregister 122 ist nicht nur mit dem NSL-Abschnitt 120 verbunden sondern auch durch die Start-/Rücksetzleitung 85 mit der Kanalschnittstelle 21 und durch die Leitung 88 (die das Signal für das Beendetsein des Decodierdurchganges trägt) mit der Schnittstellensteuerung 69. Das Zustandsregister 122 hat den Ausgang für den gegenwertigen Zustand verbunden mit einem Bus 132 für den gegenwertigen Zustand. Der Bus 132 ist auch mit dem Dateneingang des OL-Abschnittes 124 verbunden.
  • Der Abschnitt 124 der Ausgangslogik (OL), der die Zustandsnummer kennt, die daran auf den Bus 132 angelegt ist, benutzt die gegenwärtige Zustandsnummer zum Erzeugen einer Mehrzahl von Signalen, die an die CDIC 34 angelegt werden. Genauer, der OL- Abschnitt 124 erzeugt Signale für die folgenden Leitungen: Eine Durchgangsrichtungleitung 140; die Strategie-S(1)-Freigabeleitung 102; den Zeigerschwellen-(PT)-Bus 100; die Strategie-S(2)- Freigabeleitung 104; die Strategie-S(3)-Freigabeleitung 106, eine Leitung 150 für den "Korrigierten"-Zustand; und eine Leitung 152 für einen "Unkorrigierbaren"-Zustand.
  • Der OL-Abschnitt 124 verwendet eine Nachschlagroutine auf einer vorprogrammierten Tabelle zum Bestimmen für eine gegebene Zustandsnummer, welche Werte an jeder seiner Ausgangsleitungen anzulegen sind. Zum Beispiel weiß der OL-Abschnitt 124 für eine gewisse Zustandsnummer, ob ein WAHR-Signal auf der Leitung 140 anzulegen ist, das einen horizontalen Durchgang anzeigt; ob ein WAHR-Signal auf einer Leitung 142 anzulegen ist, wenn die Strategie S(1) einzusetzen ist, usw.
  • BETRIEB: PROZEDUR
  • Der Betrieb des ECS 20 von Fig. 2 wird nun unter Bezugnahme auf eine Mehrfachdurchgangsprozedur diskutiert, die auf ein Reed- Solomon-Codewort wirkt, das n Zahl von Zeichen einschließlich K Informationszeichen aufweist, so daß die Zahl der Prüfzeichen n - K = 4 ist. Die Prozdur enthält drei Strategien, nämlich Strategien S(1), S(2) und S(3), wobei die hierarchische Ordnung S(1) > S(2) > S(3) ist. Somit wird die Strategie S(1) zuerst eingesetzt und nimmt als solche die Löschzeiger in Betracht, die durch die Kanalschnittstelle 21 entwickelt sind.
  • Fig. 5 zeigt eine typische Mehrfachdurchgangsprozedur, die Schritte 200 bis 228 zum Einsetzen der Strategien S(1), S(2), ..., S(N) verwendet. Für das in Rede stehende Beispiel ist S(N) = S(3) und folglich stellen die Symbole 206, 216 und 222 Strategien S(1), S(2) bzw. S(3) dar.
  • Die Strategien S(1), S(2), ..., S(N) sind anwenderspezifisch für jeden Decoder und falls notwendig für jede Anwendung. Illustrative Schritte, die in Strategien S(1), S(2) und S(3) enthalten sind, werden hier unter Bezugnahme auf die Beschreibungen der Fig. 6, 7 bzw. 8 gegeben.
  • In Schritt 200 von Fig. 1 erzeugt die Kanalschnittstelle 21 ein Start-/Rücksetzsignal auf der Leitung 85 zum Zurücksetzen der MPC 32 und zum Starten der Schnittstellensteuerung 69. Das Rücksetzsignal auf der Leitung 85 setzt insbesondere das Statusregister 122 in der MPC 32 zurück.
  • In Schritt 202 benutzt die Schnittstellensteuerung 69 das Startsignal auf der Leitung 85 zum Initialisieren der Adressablaufssteuerungsschaltung 47; zum Zurücksetzen der Flip-Flops 78 und 83 (in dem ein Signal auf der Leitung 86 angelegt wird); zum Zurücksetzen der Zähler 73 und 74 (durch Anlegen eines Signales auf der Leitung 87); und zum Beginnen des Schreibens von Kanaldaten und Zeigerinformation in dem Daten-RAM 22 und in dem Zeiger-RAM 26.
  • Bezüglich des Schreibens in die RAMs 22 und 26 initialisiert in Schritt 202 die Schnittstellensteuerung 69 die Adressablaufssteuerungsschaltung 47, in dem ein WAHR-Signal auf der Leitung 86A angelegt wird. Die Adressablaufssteuerungsschaltung 47 benutzt weiter das "Startdurchgangs"-Signal, das auf der Leitung 86 angelegt wird, zum Erzeugen der verketteten Adressen in der zuvor beschriebenen Weise zum Spezifizieren der Speicherstellen, in die die Daten in den Daten-RAM 22 und den Zeiger-RAM 26 zu schreiben sind. Während des Schreibvoryanges wird der Multiplexer 43 so gesteuert, daß die Kanaldaten auf dem Bus 40 in dem Daten-RAM 22 an Speicherstellen geschrieben werden, die durch die Adressablaufsteuerungsschaltung 47 spezifiziert sind. Entsprechend wird der Multiplexer 45 so gesteuert, daß Löschzeiger auf dem Bus 42 in den Zeiger-RAM 26 an Speicherstellen geschrieben oder "gesetzt" werden, die durch die Adressablaufssteuerungsschaltung 47 spezifiziert sind. Die Zahl von sofür eingegebenes Codewort vor dem Decodierdurchgang des Decoders 30 so gesetzten Löschzeiger soll durch den Buchstaben "F" bezeichnet werden.
  • Wenn es zurückgesetzt ist, erzeugt das Zustandsregister 122 der MPC 32 einen Zustandswert gleich Null und legt diesen Zustandswert auf dem Bus 132 für den gegenwertigen Zustand und auf der Zustandsrückkopplungsschleife 126 an den OL-Abschnitt 124 bzw. an den NSL-Abschnitt 120 an. Die Abkürzung "SV" wird im folgenden benutzt zum Darstellen des Zustandswertes, und wenn er von einem "="-Zeichen gefolgt wird, bezeichnet es einen speziellen Zustandswertzahl.
  • Symbol 206 von Fig. 5 spiegelt die Auswahl der Strategie S(1) wieder. Die Strategie S(1) wird immer durch die MPC 32 gewählt, wenn SV = 0 ist.
  • Da die Strategie S(1) ausgewählt ist, wird ein WAHR-Signal auf der Strategie-S(1)-Freigabeleitung 102 angelegt, und FALSCH- Signale werden auf den Leitungen 104 und 106 angelegt. Gemäß der anwenderspezifischen Struktur der Strategie S(1) werden vorbestimmte Werte ebenfalls an die Zeigerschwellen-(PT)-Leitung 100 zur Benutzung durch den Decoder 30 beim Einsetzen der Strategie S(1) angelegt.
  • BETRIEB: STRATEGIE S(1)
  • Bezug wird nun auf Fig. 6 genommen, in der die in der Ausführung der Strategie S(1) enthaltenen Schritte dargestellt sind. Nach dem Beginn der Strategie S(1) in Schritt 250, verursacht die Strategie S(1), daß der Decoder 30 einen Decodierdurchgangs- Schritt 252 zum Entdecken von Fehlern durchführt. Der Wert des an die Durchgangsrichtungleitung 140 angelegten Signales bestimmt, ob der Durchgang ein horizontaler Durchgang (wenn ein WAHR-Signal) oder ein vertikaler Durchgang (wenn ein FALSCH- Signal) ist. Der Decoder 30 versucht, Fehler zu entdecken, in dem er den geeigneten Code gemäß der vorgeschriebenen Durchgangsrichtung benutzt.
  • Beim Ausführen eines Decodierdurchganges gemäß der Strategie S(1) benutzt der Decoder 30 die in dem Zeiger-RAM 26 gesetzten Zeiger. Wie zuvor erwähnt wurde, werden die Zahlen solcher Zeiger, die zuvor für ein Codewort in den Zeiger-RAM 26 gesetzt sind, durch den Buchstaben "F" dargestellt. Während des ersten solchen Durchganges, wenn der Zustandswert Null ist (SV = 0) sind die Zeiger in dem Zeiger-RAM 26 die Löschzeiger, die durch die Kanalschnittstelle 21 erzeugt sind. Während darauffolyender Durchgänge gemäß der Strategie S(1) können die Zeiger in dem Zeiger-RAM 26 als Resultat der Fehlerentdeckung während eines vorherigen Durchgany-es des Decoders 30 gesetzt sein. In jedem Fall, wenn die Strategie S(1) eingesetzt ist, kann der Decoder 30 die Zeiger von dem Zeiger-RAM 26 in soweit empfangen, wie das WAHR-Signal auf der Strategie-S(1)-Freigabeleitung 102 den Zeigern erlaubt, daß die durch das UND-Gatter 71 und in den Decoder 30 durchgeschaltet wird. Zeiger werden nicht bei dem Einsatz der zwei anderen Strategien S(2) und S(3) benutzt, die hierin beschrieben werden.
  • Während des Decodierdurchganges des Schrittes 252 versucht der Decoder 30 Fehler zu entdecken, in dem der geeignete Code für die vorgeschriebene Durchgangsrichtung benutzt wird. Wenn ein Fehler für ein Codewort entdeckt wird, legt der Decoder 30 ein WAHR-Signal auf der Fehlerentdeckungsleitung 67 zum Anlegen an die CDIC 34 und insbesondere an das UND-Gatter 72 an, das den "Lc"-Zähler 73 versorgt. Wenn ein Bit mit einem Fehler entdeckt wird, erzeugt der Decoder ein Fehlermuster auf dem Bus 63 zum Anlegen an den Addierer 64. Nachdem ein Codewort decodiert ist, legt der Decoder 30 einen Wert auf der Leitung 66 an, das die Zahl der Fehler "L" anzeigt, die in dem Codewort während des laufenden Durchganges entdeckt sind.
  • Nachdem ein Codewort decodiert und Fehler darin entdeckt worden sind, wird in Schritten 254 bis 256 die Effektivität des Durchganges für das Codewort durch die Durchgangsauswerte- und Zeiger-/Korrektursteuerung 70 ausgewertet. Die Auswertung beginnt in Schritt 254 durch die Berechnung eines Fehlkorrekturwahrscheinlichkeitsindex (MPI). In Schritt 256 wird der MPI mit dem Zeigerschwellen-(PT)-Wert verglichen.
  • Der Ausdruck für den Fehlkorrekturwahrscheinlichkeitsindex (MPI) ist: MPI = 3L - F, wobei L und F einheitlich mit den oben zugeordneten Definitionen benutzt werden, d.h. F ist die Zahl der Zähler, die in dem Zähler-RAM 26 vor dem Decodierdurchgang. bestehen, und L ist die Zahl der Fehler, die von dem Decoder während des letzten Durchganges entdeckt worden sind. Die Durchgangsauswerteschaltung 70 benutzt herkömmliche Schaltungselemente zum Auswerten des MPI-Ausdruckes. In dieser Hinsicht empfängt die Durchgangsauswerteschaltung 70 den Wert von L auf dem Bus 66 von dem Decoder 30. Der Wert von F wird aus dem F-Zähler 74 erhalten, dessen Erhöhungseiny-angsstift, wie zuvor erwähnt wurde, mit dem Ausgang des Zeiger-RAM 26 verbunden ist.
  • Je größer der Wert des MPI, desto größer ist die Wahrscheinlichkeit einer Fehlkorrektur. Für ein Codewort mit vier Prüfzeichen ist der Wert des MPI in dem Bereich zwischen null und acht. Eine Ableitung des MPI wird im folgenden gegeben.
  • Als beiläufige Bemerkung, vor der Auswertung. des Decoderdurchganzes unternimmt die Durchgangsauswerteschaltung 70 eine Vorsichtsüberprüfung zum Bestimmen, ob F > 4 ist, und ob der Decoder 30 das Codwort als "unkorrigierbar" bezeichnet hat. In dem letzteren Fall, wenn der Decoder 30 bestimmt, daß die Syndrome eines Codewortes nicht einem korrigierbaren Fehlermuster entsprechen, erzeugt der Decoder 30 ein "Unkorrigierbar"-Signal auf der Leitung 65.
  • In Schritt 256 vergleicht die Durchgangsauswerteschaltung 70 den Wert des MPI, der auf die oben beschriebene Weise durch die Durchgangsauwerteschaltung 70 berechnet worden ist, mit dem Zeigerschwellen-(PT)-Wert, der an die Durchgangsauswerteschaltung 70 durch die MPC 32 auf dem Bus 100 angelegt worden ist. Die Durchgangsauswerteschaltung nimmt diesen Vergleich durch eine einfache Datenvergleichsschaltung vor, die darin vorgesehen ist. Wenn die Durchgangsauswerteschaltung 70 für ein Codewort bestimmt ist, daß der Wert des MPI nicht größer als der Wert des PT ist, dann setzt (d.h. löscht) die Durchgangsauswerteschaltung 70 die durch den Decoder 30 während des letzten Decoderdurchganges erzeugten Zeiger. Die Benutzung des von dem Decoder 30 erzeugten Fehlermusters und Rücksetzen der Zeiger wird in soweit ermöglicht, daß für die Strategie S(1) die Durchgangsauswerte- und Zeiger-/Korrektursteuerung WAHR-Signale sowohl auf der Leitung 90 als auf der Leitung 52 erzeugt, wenn der Wert des MPI nicht größer als der Wert der Zeigerschwelle PT ist. In dieser Hinsicht verlangt ein WAHR-Signal auf der Leitung 90, daß der Datenkorrekturauswahlmultiplexer 44 korrekte Daten auf dem Bus 50 von dem Addierer 64 zum Zurückladen in den Daten-RAM 22 auswählt. Ein WAHR-Signal auf der Leitung 80 verlangt, daß der Fehlerzeigerrücksetzmultiplexer 46 schließlich einen Rücksetz-("O")-Wert an alle Zeigerstellen in dem Zeiger-RAM 26 anlegt. Wenn die Durchgangsauswerteschaltung 70 bestimmt, daß der Wert des MPI größer als der MPT-Wert ist, dann würden alle Zeiger für das Codewort gesetzt werden, obwohl das erzeugte Fehlermuster benutzt werden würde.
  • Die Mehrfachdurchgangsprozedur verlangt, daß die MPC 32 (in Schritt 208 von Fig. 5) prüft, ob die Ausführuny der Strategie S(1) irgendwelche Änderungen in dem Block von Information in dem Daten-RAM 22 während des Durchganges beinhaltet. Diese Prüfung wird durch das Änderungsbestimmungsmittel 75 durchgeführt. Das Änderungsbestimmungsmittel 75 empfängt den Wert von L auf dem Bus 79 und ist ebenfalls mit der Zeigersteuerleitung 52 verbunden, wodurch der Logikschaltung 77 erlaubt wird, die darin enthalten ist, die Zahl und Anordnung der Zeiger, die vor dem Decodierdurchgang für den Block existierten, mit der Zahl und Anordnung der Zeiger zu vergleichen, die nach dem Decodierdurchgang für den Block existieren. Wenn eine Änderung an irgendeinem Codewort in dem Block während des Durchganges gemacht wurde, wird ein WAHR-Signal auf der Leitung 81 an den NLS-Abschnitt 120 der MPC 32 angelegt. Da der NLS-Abschnitt 120 die gegenwärtige Zustandsnummer (die auf der Rückkopplungsschleife 126 angelegt ist) und das auf der Leitung 81 angelegte Signal kennt, konsultiert sie ihre intern gespeicherte vorprogrammierte Tabelle zum Bestimmen, welcher Zustand als nächstes zu wählen ist und legt die als nächste gewählte Zustandsnummer auf dem Bus 128 an das Zustandsregister 122 an.
  • Nach Beendigung einer Ausführung der Strategie S(1) wird ein WAHR-Signal auf der Leitung 110 an das Zustandsregister 122 anbelegt. Auf das Empfangen dieses WAHR-Signales verriegelt das Zustandsregister 122 die als nächste ausgewählte Zustandswertzahl auf die Busse 126 und 132, so daß der nächstgewählte Zustandswert der gegenwertige Zustandswert wird.
  • Der OL-Abschnitt 124 der MPC 32 benutzt den neuen gegenwertigen Zustandswert zum Bestimmen, welche Werte auf die Leitungen 140, 102, 104, 106 und den Bus 100 angelegt werden sollen. Wenn der neue gegenwertige Zustandswert von dem NSL-Abschnitt 120 gewählt wurde, da es während des letzten Durchganges des Decoders 30 eine Änderung in der codierten Information in dem Daten-RAM 22 gab, dann wird der OL-Abschnitt 124, wenn der letzte Durchbang gemäß der Strategie S(1) durchgeführt wurde, verlangen, daß die Strategie S(1) wieder durchgeführt wird aber für einen Durchgang in einer unterschiedlichen Richtung und mit einem unterschiedlichen Zeigerschwellenwert, bevorzugt einem größeren Zeigerschwellenwert. Wenn z.B. die erste Ausführung der Strategie S(1) einen Durchgang in der horizontalen Richtung enthielt, wird für eine zweite Ausführung der Strategie S(1) die MPC ein FALSCH-Signal auf der Leitung 140 anlegen zum Anzeigen, daß ein vertikaler Durchgang als nächstes auftritt.
  • In Hinblick auf einen unterschiedlichen Zeigerschwellen-(PT) Wert erhöht in Schritt 210 von Fig. 5 der OL-Abschnitt 124 der MPC 32 den Wert von PT. Wenn somit während der ersten Ausführund der Strategie S(1) der Wert von PT gleich PT(1) war und wenn während folgender Ausführungen der Strategie S(1) die Werte von PT gleich PT(2), PT(3), ..., PT(N) sind, dann sollten die PT-Werte so gewählt werden, daß PT(1) < PT(2) < PT(3) < ... < PT(N) ist. Der Entwickler der MPC 32 kann Werte für den PT gemäß der speziellen Korrekturanwendung wählen. Wie zuvor erwähnt wurde, legt der OL-Abschnitt 124 der MPC 32 den PT-Wert auf den Bus 100 an.
  • Wenn nach einer weiteren eventuellen Ausführung der Strategie S(1) an Schritt 210 bestimmt ist, daß keine Änderungen an den Inhalten des Daten-RAM 22 oder den Inhalten des Zeiger-RAM 26 durchgeführt wurden, dann verlangt in Schritt 212 die Prozedur, daß die CIDC 34 bestimmt, ob irgendwelche Fehler noch in dem Block codierter Information in dem Daten-RAM 22 bleiben. Wenn keine Fehler bleiben, dann wird das korrigierte Codewort auf den Bus zum Anlegen an eine nicht dargestellte Benutzereinrichtung verriegelt.
  • Die Bestimmung in Schritt 212, ob irgendein Fehler noch verbleibt, wird durch das Mittel 76 zum Bestimmen des verbleibenden Fehlers der CDIC 34 ausgeführt. Die Logikschaltung 82 des Bestimmungsmittels 76 ist mit der "Unkorrigierbar"-Leitung 65 und über die Leitung 54 mit dem Ausgang des Zeiger-RAM 26 verbunden. Somit weiß die Logikschaltung 76, ob Zeiger noch in dem Zeiger-RAM 26 existieren, und daher, ob irgendwelche Fehler in dem Block codierter Information verbleiben, der in dem Daten- RAM 22 gespeichert ist.
  • Nachdem die MPC 32 das Überwachen der Mehrfachdurchgangsprozedur für ein Codewort beendet hat, wie es auftritt, wenn kein Fehler in dem Codewort verbleibt (wie durch ein Falsch-Signal auf der Leitung 84 angezeigt wird), lebt die MPC 32 ein WAHR-Signal über die "Fertig"-Leitung 151 an die Schnittstellensteuerung 69 an. Somit weiß die Schnittstellensteuerung 69, daß sie sich für ein neues Startsignal auf der Leitung 85 und auf den Wartevorgang, der hier zuvor beschriebenen Initialisierungsschritte vorbereiten soll, die durch die Schnittstellensteuerung 69 durchgeführt werden.
  • Wenn die Bestimmung in Schritt 212 aufdeckt, daß Zeigerwerte noch in dem Zeiger-RAM 26 existieren, geht das Signal auf der Leitung 84 auf FALSCH, und der NSL-Abschnitt 120 der MPC 32 weiß, daß ein Zustand zu wählen ist, der den Einsatz einer anderen Strategie, insbesondere der zweithöchsten Strategie nötig ist. In dem gegenwertigen Beispiel würde daher der NSL- Abschnitt einen Zustand wählen, der den Einsatz der Strategie S(2) benötigt.
  • BETRIEB: STRATEGIE S(2)
  • Wenn der NSL-Abschnitt 120 der MPC 32 eine nächste Zustandsnummer wählen würde, die der OL-Abschnitt 124 mit der Strategie S(2) assoziiert, würde der OL-Abschnitt 124 ein WAHR-Signal auf der Leitung 104 (die Strategie-S(2)-Freigabeleitung) und FALSCH- Signale auf den Leitungen 102 und 106 anlegen. Der PT-Bus 100 wird in dem diskutierten Beispiel nicht für Strategien benutzt, die nicht die Strategie S(1) sind. Die Ausführung der Schritte der Strategie S(2) werden unter Bezugnahme auf Fig. 7 dargestellt.
  • Bei dem Einsatz der Strategie S(2) führt der Decoder 30 einen Decodierdurchgang (Schritt 270) aus. Der Decodierdurchgang für die Strategie S(2) unterscheidet sich von dem Durchgang der Strategie S(1) insoweit, daß die Eingabezeiger, obwohl sie vielleicht existieren, nicht benutzt werden (da das Signal auf der Leitung 102 FALSCH ist und der Ausgang des UND-Gatters 71 FALSCH ist).
  • In Schritt 272 bei dem Einsatz der Strategie S(2) bestimmt die CDIC 34 einen Wert Lc, wobei Lc als die Zahl der Fehler definiert wird, die von dem Decoder während des Decodierdurchganges des Schrittes 270 erkannt worden sind, der bereits Zeiger in dem RAM 26, die damit vor dem Decodierdurchgang verknüpft waren, aufwies. Die Zahl für Lc wird durch den Lc-Zähler 73 bestimmt, der die logische UND-Verknüpfung (über das Gatter 72) des Fehlererkennungssignales (auf der Leitung 67), das von dem Decoder 30 erzeugt ist, und des Ausgangssignales (auf Leitung 54) des Zeiger-RAMs 26 empfängt.
  • In Schritt 274 führt die Durchgangsauswerteschaltung 70 eine Auswertung des Einsatzes der Strategie S(2) für diesen letzten Decoderdurchgang aus. Die Durchgangsauswerteschaltung benutzt den Wert von Lc (der auf dem Bus 89 übermittelt wird); den Wert L (der auf dem Bus 66 übermittelt wird); den Wert auf der "Unkorrigierbar"-Leitung 65 und den Wert von F (der auf dem Bus 90 übermittelt wird) im Gange der Auswertung.
  • Für die Strategie S(2) ermöglicht die Durchgangsauswerteschaltung 70, daß der Decoder 30 seine vorgeschlagenen Korrekturen an den Daten in dem Daten-RAM 22 durchführt (in dem ein WAHR- Signal auf der Leitung 90 angelegt wird), und sie löscht alle Zeigerwerte, die in dem Zeiger-RAM 26 gespeichert sind, wenn einer der folgenden zwei Fälle auftritt (es sei angenommen, daß der Decoder 30 bestimmt, daß das Codewort nicht unkorrigierbar ist):
  • Fall (1): L < 1
  • Fall (2): L(2), F &le; 4 und Lc = 2.
  • Für die Strategie S(2) erlaubt die Durchgangsauswerteschaltung 70 nicht, daß der Decoder 30 seine vorgeschlagenen Korrekturen durchführt (d.h. sie setzt die Leitung 90 auf FALSCH), aber sie setzt alle existierenden Fehlerzeiger, wenn einer der folgenden drei Fälle auftritt:
  • Fall (3): L = 2, F &le; 3, Lc = 1 und der Decoder 30 bestimmt, daß das Codewort nicht unkorrigierbar ist
  • Fall (4): L = 2, F &le; = 2, Lc = 0 und der Decoder 30 bestimmt, daß das Codewort nicht unkorrigierbar ist
  • Fall (5): F < = 2 und der Decoder 30 bestimmt, daß das Codewort nicht unkorrigierbar ist.
  • Für die Strategie S(2) erlaubt die Durchgangsauswerteschaltung 70 nicht, daß der Decoder 30 seine versuchten Korrekturen durchführt (d.h. sie setzt die Leitung 90 auf FALSCH), und sie erlaubt nicht, daß die Inhalte des Zeiger-RAM 26 geändert werden, wenn einer der folgenden Fälle wahr ist:
  • Fall (6): L = 2, F = 4 und Lc = 1
  • Fall (7): L = 2, F = 3 und Lc = 0
  • Fall (8): F > 4
  • Fall (9): F > 2 und der Decoder 30 bestimmt, daß das Codewort unkorrigierbar ist.
  • Nach Beendigung der Strategie S(2) bestimmt die Mehrfachdurchgangsprozedur in Schritt (218), ob irgendwelche Änderungen in den Inhalten des Daten-RAM auf die Weise durchgeführt wurden, wie zuvor unter Bezugnahme auf Schritt 208 beschrieben wurde. Wenn das Resultat der Bestimmung in Schritt 218 bejahend ist, zweigt die Ausführung der Prozedur zurück ab zu Schritt 206, an dem die Strategie S(1) wieder eingesetzt wird. Während eines solchen nächsten Einsetzens wird die Strategie S(1) auf die Inhalte des Daten-RAM 22 und des Zeiger-RAM 46 einwirken, wie sie durch die Strategie S(2) modifiziert sind. Wenn die Bestimmung in Schritt 218 negativ ist, wird eine Bestimmung in Schritt 220 durchgeführt, ob es noch Fehler gibt. Diese Bestimmung ist im wesentlichen die gleiche, wie die Bestimmung, wie sie früher in Bezug auf Schritt 212 beschrieben wurde. Wenn kein solcher Fehler mehr existiert, wird das korrigierte Codewort in die Benutzereinrichtung verriegelt. Wenn Zeigerwerte noch vorhanden sind, wird die Strategie S(3) eingesetzt, wie unten beschrieben wird.
  • BETRIEB: S(3)
  • Die Ausführung der Strategie S(3) wird unter Bezugnahme auf Fig. 8 verstanden. Die Strategie S(3) ist grundsätzlich die gleiche wie die Strategie S(2) mit der Ausnahme, daß das Codewort korrigiert wird und die Zeiger in dem Zeiger-RAM 46 nicht geändert werden, wenn der folgende zusätzliche Fall auftritt:
  • Fall (10): L = 2, F > 4 und Lc = 2.
  • Nach Ausführung der Strategie S(3) wird eine Bestimmung in Schritt 224 durchgeführt, ob Änderungen in Bezug auf die Inhalte des Daten-RAM 22 gemacht wurden. Wenn Änderungen in Bezug auf die Inhalte des Daten-RAM 22 gemacht wurden, wird die Strategie S(1) wieder eingesetzt, dieses Mal unter Benutzung der Inhalte des Daten-RAM 22 und des Zeiger-RAM 26, wie sie durch den Einsatz der Strategie S(3) modifiziert worden sind. Wenn die Ausführung der Strategie S(3) den Daten-RAM 22 und den Zeiger-RAM 26 unverändert liest, wird angenommen, daß das Codewort unkorrigierbar ist (Schritt 228).
  • BEISPIEL
  • Fig. 9 stellt eine Beispielprozedur dar, die die oben beschriebenen Strategien S(1), S(2) und S(3) einsetzt. Jedes Kreissymbol in Fig. 9 stellt einen Zustand dar, der durch den NSL-Abschnitt 120 der MPC 32 auswählbar ist, wobei die Zustandsnummer durch ihr zugehöriges Symbol umschrieben wird. Mit jedem Zustand ist ein Satz von Parametern mit dem Format verknüpft:
  • D: S(X): T = Y.
  • wobei D die Richtung für den Durchgang ist ("H" für horizontal; "V" für vertikal); wobei (x) die für den Durchgang einzusetzende Strategie ist; wobei X in dem Bereich von 1 bis 3 liegt; und wobei Y der Wert der Zeigerschwelle (PT) ist (nur für Zustände, die die Strategie S(1) beinhalten).
  • In Fig. 9 ist die Bezeichnung CH mit Pfeilen verknüpft, die zu einem nächsten ausgewählten Zustandswert zeigen, wenn Leitung 81 (die "CH"-Leitung, die eine Änderung in den Inhalten des Daten- RAM 22 anzeigt) WAHR ist. Die Bezeichnung CH ist mit Pfeilen verknüpft, die zu einem nächsten gewählten Zustandswert zeigen, wenn der Wert der Leitung 81 FALSCH ist. Somit sieht Fig. 9 ein Beispiel vor, wie die NSL 120 der MPC 32 den gegenwärtigen Zustandswert und den Wert auf der Leitung 81 zum Bestimmen des nächsten Zustandswertes benutzt. Fig. 9 stellt weiter Werte dar, die der OL-Abschnitt 124 der MPC 32 für einen gegebenen neuen gegenwertigen Zustandswert voreinstellen kann.
  • In Hinblick auf das obige bestimmt bei SV = 0 der OL-Abschnitt 124, daß ein horizontaler Durchgang unter Benutzung der Strategie S(1) eingesetzt wird und daß während des Einsatzes PT = 3 ist. Ein zweiter Einsatz der Strategie S(1) folgt immer für den nächsten Zustandswert, d.h. SV = 1, aber unter Benutzung eines vertikalen Durchganges und eines größeren Wertes für PT (PT = 8). Entsprechend verlangt der Zustand SV = 2 einen dritten Einsatz der Strategie S(1). In dem er weiß, daß SV = 2 ist, und weiß, ob CH WAHR oder FALSCH ist, kann der NSL-Abschnitt 120 bestimmen, ob SV = 3 oder SV = 8 zu wählen ist.
  • ABLEITUNG VON MPI
  • Der Ausdruck für den Fehlkorrekturwahrscheinlichkeitsindex (MPI) wird auf die folgende Weise abgeleitet. Es sei zurückgerufen, daß F die Zahl der Zeigereingänge in den Decoder 30 ist (wobei F < 4 ist) und das L die Zahl der von dem Decoder 30 erkannten Fehler ist, nachdem er mit den Zeigern initialisiert ist. Somit ist L > F. Die Größe L-F ist die Zahl von Fehlern, die von dem Decoder erkannt sind und die keinen Zeiger vor der Erkennung aufwiesen. Damit ein Vektor korrigiert wird, wird ein Bit der Redundanz für jedes Löschen und zwei Bits der Redundanz für jeden Fehler benötigt. Daher ist F + 2 (L - F) der Betrag der benutzten Redundanz. Je mehr Redundanz zur Fehlerkorrektur benutzt wird, desto weniger Redundanz verbleibt zur Erkennung und damit desto höher die Wahrscheinlichkeit der Fehlkorrektur. Somit wird die Größe F + 2 (L - F) bei der Ableitung benutzt. Es sei l&sub1;, l&sub2;, ..., lL die L-Fehlererkennungen, die von dem Decoder 30 berechnet sind.
  • Es sei
  • wobei eine einfache Wurzel des Galois-Feldes ist, aus dem die Codewörter konstruiert sind. Durch Ausmultiplizieren:
  • und wobei 0= 1 ist.
  • Es ist gut bekannt, daß die folgende 4-L Gleichungen gelten:
  • wobei S&sub1; die Fehlersyndrome sind.
  • Daher müßen für einen unkorrigierbaren Fehler, der nicht als unkorrigierbar erkannt wird, seine Syndrome mit den obigen 4-L Gleichungen übereinstimmen. Je größer daher L ist, desto weniger ist die Zahl der Gleichunyen, die die Syndrome erfüllen müssen und damit desto höher die Wahrscheinlichkeit der Fehlkorrektur. Der MPI ist somit die Summe von F+2(L-F) und L. Daher ist MPI=F+2(L-F)=3L-F.

Claims (1)

1. Verfahren zum Decodieren codierter Informationen, die aus einem Kanal (21) empfangen und in einen Datenspeicher (22) geladen werden, wobei der Datenspeicher so konzipierbar ist, daß er ein Matrixtormat mit wenigstens einer ersten Richtung und einer zweiten Richtung aufweist, wobei die Informationen in den Speicher geladen werden, derart daß dadurch annehmbar ist, daß die Plätze in dem Speicher, die so konzipiert sind, daß sie in der ersten Richtung ausgerichtet sind, darauf durch einen ersten Code betreibbar sind, und derart daß dadurch annehmbar ist, daß die Plätze in dem Speicher, die so konzipiert sind, daß sie in der zweiten Richtung ausgerichtet sind, darauf durch einen zweiten Code betreibbar sind; dadurch gekennzeichnet, daß es die Schritte umfaßt:
(1) Vorsehen einer Mehrzahl von Strategien S(1), S(2), ... S(N) zum Versuchen, sich in den codierten Informationen befindende Fehler zu korrigieren, und zum Festsetzen einer hierarchischen Ordnung für die Strategien, wodurch die Ordnung S(1) > S(2) > ... > S(N) wird;
(2) Wählen der Strategie der höchsten Ordnung S(1);
(3) Lokalisieren möglicher Fehler in den in den Datenspeicher geladenen codierten Informationen durch Verwenden von wenigstens einem der Codes;
(4) Erzeugen von Fehlerzeigern, die auf Plätze in dem Datenspeicher zeigen, an welchen vermutet wird, daß Fehler vorkommen;
(5) Versuchen, die Fehler, die vermutet werden, daß sie in den codierten Informationen vorkommen, gemäß der Ausführung der gewählten Strategie zu korrigieren, wobei die gewählte Strategie verwendet wird, um zu bestimmen, weiche Fehlerzeiger nach der versuchten Korrektur gelöscht werden sollten und welche Fehlerzeiger gesetzt bleiben sollten;
(6) Bestimmen, ob die Ausführung der gewählten Startegie beliebige versuchte Korrekturen an den codierten Informationen in dem Datenspeicher ergab, und Wiederholen der Schritte (3) bis (6), wenn eine derartige Bestimmung bejahend und die gewählte Strategie eine beliebige sich von der Strategie der höchsten Ordnung unterscheidende Strategie ist;
(7) Bestimmen, ob beliebige Fehlerzeiger nach der Ausführung der gewählten Strategie gesetzt bleiben, und Wählen einer Strategie der nächstniedrigeren Ordnung, wenn eine derartige Bestimmung bejahend ist;
(8) Wiederholen wenigstens der Schritte (3) bis (6) unter Verwendung der Strategie der nächsthöchsten Ordnung als gewählte Strategie.
Verfahren nach Anspruch 1, bei welchem der Versuch, Fehler gemäß der Strategie der höchsten Ordnung S(1) zu korrigieren, die Schritte umfaßt:
(a) Lokalisieren möglicher Fehler in den in den Datenspeicher geladenen codierten Informationen durch Verwenden von wenigstens einem der Codes, um zu versuchen, die Speicherplätze zu decodieren, auf welchen angenommen wird, daß der Code wirkt;
(b) Erzeugen von Fehlerzeigern, die auf Plätze in dem Datenspeicher zeigen, an welchen im Ergebnis der Fehlerlokalisierung vermutet wird, daß Fehler vorkommen;
(c) Versuchen, gemäß wenigstens einem der Codes die Speicherplätze zu korrigieren, an welchen die erzeugten Fehlerzeiger anzeigen, daß vermutet wird, daß Fehler vorkommen;
(d) Erzeugen eines Fehlkorrekturwahrscheinlichkeitsindex (MPI) mit einem Wert, der die Wahrscheinlichkeit davon anzeigt, daß die versuchte Korrektur eine richtige Korrektur ist;
(e) Verwenden des Fehlkorrekturwahrscheinlichkeitsindex (MPI), um zu bestimmen, ob die erzeugten Fehlerzeiger gesetzt bleiben sollten, und Löschen derartiger Fehlerzeiger, wenn eine derartige Bestimmung negativ ist; und
(f) Bestimmen, ob die Verwendung von wenigstens einem Code die versuchte Korrektur von beliebigen vermuteten Fehlern ergab, und Wiederholen der Schritte (a) bis (f), wenn eine derartige Bestimmung positiv ist.
3. Verfahren nach Anspruch 2, welches ferner den Schritt umfaßt:
Setzen von Fehlerzeigern, die auf Plätze in dem Datenspeicher zeigen, an welchen bekannt ist, daß Löschungen in den Codewörtern vorhanden sind.
4. Verfahren nach Anspruch 3, bei welchem der Schritt zum Verwenden des Fehlkorrekturwahrscheinlichkeitsindex (MPI), um zu bestimmen, ob vorhandene Zeiger im Speicher gesetzt bleiben sollten, die Schritte enthält:
Erzeugen einer Zeigerschwelle (PT) mit einem vorbestimmten Wert und
Vergleichen des Wertes des Fehlkorrekturwahrscheinlichkeitsindex (MPL) und der Zeigerschwelle (PT), um zu bestimmen, ob die erzeugten Fehlerzeiger gesetzt bleiben sollten, und Löschen derartiger Fehlerzeiger, wenn eine derartige Bestimmung negativ ist.
5. Verfahren nach Anspruch 4, bei welchem der Wert der Zeigerschwelle (PT) geändert wird, wenn die Verwendung von wenigstens einem der Codes die versuchte Korrektur von beliebigen vermuteten Fehlern ergab.
6. Verfahren nach Anspruch 2, bei welchem F die Anzahl von Fehlerzeigern ist, die vor der versuchten Lokalisierung möglicher Fehler durch Verwendung von wenigstens einem der Codes vorhanden sind; bei welchem L die Anzahl von möglichen Fehlern ist, die lokalisiert werden, nachdem wenigstens einer der Codes verwendet wurde, um zu versuchen, die Speicherplätze zu decodieren, auf welchen angenommen wird, daß der gewählte Code wirkt; und bei welchem der
Fehlkorrekturwahrscheinlichkeitsindex (MPI) unter Verwendung der Faktoren L und F bestimmt wird.
7. Verfahren nach Anspruch 2, bei weichem der Fehikorrekturwahrscheinlichkeitsindex (MPI) als MPI 3L - F festgelegt ist.
8. Verfahren nach Anspruch 2, bei welchem der erste Code verwendet wird für die erste Ausführung von Schritten (a) bis (e) und bei weichem ein zweiter Code verwendet wird für eine zweite Ausführung von Schritten (a) bis (e).
9. Vorrichtung zum Decodieren codierter Informationen, die aus einem Kanal (21) empfangen und in einen Datenspeicher (22) geladen werden, wobei der Datenspeicher geeignet ist zum Speichern der empfangenen codierten Informationen und anschließend korrigierter Versionen der codierten Informationen, wobei der Datenspeicher so konzipierbar ist, daß er ein Matrixformat mit wenigstens einer ersten Richtung und einer zweiten Richtung aufweist, wobei die codierten Informationen in den Speicher ladbar sind, derart daß dadurch die Plätze in dem Speicher, die so konzipiert sind, daß sie in der ersten Richtung ausgerichtet sind, darauf durch einen ersten Code betreibbar sind, und derart daß dadurch die Plätze in dem Speicher, die in der zweiten Richtung ausgerichtet sind, darauf durch einen zweiten Code betreibbar sind; dadurch gekennzeichnet, daß sie umfaßt einen Zeigerspeicher (26), der zum wenigstens zeitweiligen Speichern von den Fehlerzeigerwerten geeignet ist, welche den Plätzen in dem Datenspeicher entsprechen, an welchen Fehler vermutet werden;
einen Decodierer (30) zum Lokaiisieren möglicher Fehler in den in den Datenspeicher geladenen codierten Informationen durch Verwenden von wenigstens einem der Codes; zum Erzeugen von Fehlerzeigersignaien, die den Plätzen in dem Datenspeicher entsprechen, an welchen vermutet wird, daß Fehler vorkommen; zum Versuchen, gemäß der Ausführung einer gewählten Strategie die Fehler zu korrigieren, welche vermutet werden, daß sie in den codierten Informationen vorkommen;
ein Berechnungsmittel (70), das in Reaktion auf die gewählte Strategie verwendet wird, um zu bestimmen, ob die erzeugten Fehlerzeiger in dem Zeigerspeicher gesetzt sein sollten; und
ein Steuermittel (32) zum Wählen einer Strategie einer Mehrzahl von Strategien S(1), S(2), ... S(N), zum Versuchen, die sich in den codierten Informationen befindenden Fehler zu korrigieren, wobei die Strategien eine hierarchische Ordnung für die Strategien aufweisen, wodurch die Ordnung S(1) > S(2) > ... > S(N) ist; zum Anweisen des Decodierers, die gewählte Strategie auszuführen; und zum Bestimmen, welche weitere Strategie der Decodierer auszuführen hat, nach der Ausführung der gewählten Strategie.
10. Vorrichtung nach Anspruch 9, welche ferner umfaßt:
ein Mittel (75), das dem Steuermittel eine Angabe darüber mitteilt, ob die Ausführung einer gewählten Strategie beliebige versuchte Korrekturen an den codierten Informationen in dem Datenspeicher ergab;
ein Mittel (78), das dem Steuermittel eine Angabe darüber mitteilt, ob beliebige Fehlerzeiger in dem Zeigerspeicher gesetzt bleiben; und
ein Mittel (76), das wenigstens eine der mitgeteilten Angaben verwendet, um zu bestimmen, ob eine weitere Strategie auszuführen ist.
11. Vorrichtung nach Anspruch 9, welche ferner umfaßt:
ein Mittel zum Setzen von Fehlerzeigern in dem Zeigerspeicher, welche auf Plätze in dem Datenspeicher zeigen, an denen bekannt ist, daß Löschungen in den Codewörtern vorhanden sind.
12. Vorrichtung nach Anspruch 9, bei welcher das Berechnungsmittel ferner umfaßt:
ein Mittel (70) zum Erzeugen eines Fehlkorrekturwahrscheinlichkeitsindex (MPI) mit einem Wert, der die Wahrscheinlichkeit davon anzeigt, daß die gewählte Strategie eine richtige Korrektur ergibt; und
ein Mittel (70), das den Fehlkorrekturwahrscheinlichkeitsindex verwendet zum Bestimmen, ob die erzeugten Fehlerzeiger gesetzt sein sollten, und zum Löschen derartiger Zeiger, wenn eine derartige Bestimmung negativ ist.
13. Vorrichtung nach Anspruch 12, bei welcher das Mittel zum Verwenden des Fehlkorrekturwahrscheinlichkeitsindex (MPI), um zu bestimmen, ob die erzeugten Zeiger in dem Zeigerspeicher gesetzt bleiben sollten,
eine Zeigerschwelle (PT) mit einem vorbestimmten Wert erzeugt und
den Wert des Fehlkorrekturwahrscheinlichkeitsindex (MPI) und die Zeigerschwelle (PT) vergleicht, um zu bestimmen, ob vorhandene Fehlerzeiger gesetzt bleiben sollten, und derartige Fehlerzeiger löscht, wenn eine derartige Bestimmung negativ ist.
14. Vorrichtung nach Anspruch 12, bei welcher F die Anzahl von Fehlerzeigern ist, die vor der versuchten Lokalisierung möglicher Fehler durch Verwendung von wenigstens einem der Codes vorhanden sind; bei welcher L die Anzahl von möglichen Fehlern ist, die lokalisiert sind, nachdem wenigstens einer der Codes verwendet wird, um zu versuchen, die Speicherplätze zu decodieren, auf welchen angenommen ist, daß der gewählte Code wirkt; und bei welcher der Fehlkorrekturwahrscheinlichkeitsindex (MPI) unter Verwendung der Faktoren L und F bestimmt ist.
15. Vorrichtung nach Anspruch 12, bei welcher das Berechnungsmittel (70) einen Wert Lc verwendet, um zu bestimmen, ob die erzeugten Fehlerzeiger gesetzt sein sollten; bei welcher Lc die Anzahl lokalisierter Fehler ist, auf welche vor der Fehlerlokalisierung durch vorhandene Fehlerzeiger gezeigt wurde; bei welcher das Berechnungsmittel einen Wert F verwendet, um zu bestimmen, ob die erzeugten Fehlerzeiger gesetzt sein sollten; und bei welcher F die Anzahl von Fehlern ist, aut welche vor der Fehlerlokalisierung gezeigt wird.
DE3854393T 1987-06-08 1988-05-27 Verfahren und gerät zur fehlerkorrektur mit mehrfachdurchlauf für produktkode. Expired - Fee Related DE3854393T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/059,454 US4845714A (en) 1987-06-08 1987-06-08 Multiple pass error correction process and apparatus for product codes
PCT/US1988/001698 WO1988009966A1 (en) 1987-06-08 1988-05-27 Multiple pass error correction process and apparatus for product codes

Publications (2)

Publication Number Publication Date
DE3854393D1 DE3854393D1 (de) 1995-10-05
DE3854393T2 true DE3854393T2 (de) 1996-04-18

Family

ID=22023054

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3854393T Expired - Fee Related DE3854393T2 (de) 1987-06-08 1988-05-27 Verfahren und gerät zur fehlerkorrektur mit mehrfachdurchlauf für produktkode.

Country Status (6)

Country Link
US (1) US4845714A (de)
EP (1) EP0364475B1 (de)
JP (1) JPH02503852A (de)
AT (1) ATE127251T1 (de)
DE (1) DE3854393T2 (de)
WO (1) WO1988009966A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3153995B2 (ja) * 1989-07-29 2001-04-09 ソニー株式会社 復号装置
US5111463A (en) * 1989-11-09 1992-05-05 Exabyte Corporation Error correction method and apparatus
ZA947317B (en) * 1993-09-24 1995-05-10 Qualcomm Inc Multirate serial viterbi decoder for code division multiple access system applications
FR2717644B1 (fr) * 1994-03-15 1996-04-26 Alcatel Mobile Comm France Procédé de codage - Entrelacement et procédé correspondant de désentrelacement - décodage.
JP3328093B2 (ja) * 1994-07-12 2002-09-24 三菱電機株式会社 エラー訂正装置
JP3305966B2 (ja) * 1995-12-25 2002-07-24 ソニー株式会社 データ復号装置及びその方法並びにデータ再生装置
US5917837A (en) * 1996-09-11 1999-06-29 Qualcomm, Incorporated Method and apparatus for performing decoding of codes with the use of side information associated with the encoded data
US5751725A (en) * 1996-10-18 1998-05-12 Qualcomm Incorporated Method and apparatus for determining the rate of received data in a variable rate communication system
US6108372A (en) * 1996-10-30 2000-08-22 Qualcomm Inc. Method and apparatus for decoding variable rate data using hypothesis testing to determine data rate
US5872775A (en) * 1996-10-30 1999-02-16 Qualcomm Incorporated Method and apparatus for performing rate determination
US6094465A (en) * 1997-03-21 2000-07-25 Qualcomm Incorporated Method and apparatus for performing decoding of CRC outer concatenated codes
US5920578A (en) * 1997-04-23 1999-07-06 Cirrus Logic, Inc. Method and apparatus for efficiently processing a multi-dimensional code
US6047395A (en) * 1998-01-30 2000-04-04 Cirrus Logic, Inc. Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension
US6272659B1 (en) * 1998-05-18 2001-08-07 Cirrus Logic, Inc. Error correction code processor employing adjustable correction power for miscorrection minimization
JP3272307B2 (ja) * 1998-09-22 2002-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーション リード・ソロモン符号の復号回路
JP2002526965A (ja) 1998-09-28 2002-08-20 アドバンスト ハードウェア アーキテクチャーズ,インコーポレイテッド ターボプロダクト符号復号器
JP3214478B2 (ja) * 1998-12-28 2001-10-02 日本電気株式会社 誤り訂正復号装置
US6625774B1 (en) * 1999-10-29 2003-09-23 Stmicroelectronics, Inc. Redundancy system and method for locating errors in interleaved code words
US7356752B2 (en) * 2000-03-14 2008-04-08 Comtech Telecommunications Corp. Enhanced turbo product codes
CA2404984A1 (en) * 2000-04-04 2001-10-11 Comtech Telecommunications Corp. Enhanced turbo product code decoder system
US7159164B1 (en) * 2000-06-05 2007-01-02 Qualcomm Incorporated Method and apparatus for recovery of particular bits of a frame
EP1233523A1 (de) * 2001-02-16 2002-08-21 Deutsche Thomson-Brandt Gmbh Verfahren und Gerät zur Fehlerkorrekturkodendekodierung
US7153446B2 (en) * 2001-03-29 2006-12-26 Kidde Ip Holdings Limited Fire and explosion suppression
WO2002091592A1 (en) * 2001-05-09 2002-11-14 Comtech Telecommunications Corp. Low density parity check codes and low density turbo product codes
US20030023922A1 (en) * 2001-07-25 2003-01-30 Davis James A. Fault tolerant magnetoresistive solid-state storage device
US7036068B2 (en) * 2001-07-25 2006-04-25 Hewlett-Packard Development Company, L.P. Error correction coding and decoding in a solid-state storage device
US6981196B2 (en) * 2001-07-25 2005-12-27 Hewlett-Packard Development Company, L.P. Data storage method for use in a magnetoresistive solid-state storage device
EP1425859A4 (de) * 2001-08-09 2009-01-07 Adaptive Networks Inc Fehlerkorrekturprozess und -mechanismus
US7007220B2 (en) * 2002-03-01 2006-02-28 Broadlogic Network Technologies, Inc. Error correction coding across multiple channels in content distribution systems
US20030172339A1 (en) * 2002-03-08 2003-09-11 Davis James Andrew Method for error correction decoding in a magnetoresistive solid-state storage device
JP2004186856A (ja) * 2002-12-02 2004-07-02 Pioneer Electronic Corp 誤り訂正方法、装置及びプログラム
US7328395B1 (en) * 2004-04-13 2008-02-05 Marvell International Ltd. Iterative Reed-Solomon error-correction decoding
US7725800B2 (en) * 2005-08-05 2010-05-25 Hitachi Global Stroage Technologies Netherlands, B.V. Decoding techniques for correcting errors using soft information
KR101858123B1 (ko) * 2017-04-25 2018-05-17 고려대학교 산학협력단 혼합형 반복 복호 방법 및 장치
US10846175B2 (en) * 2018-04-10 2020-11-24 Micron Technology, Inc. High throughput bit correction of data inside a word buffer for a product code decoder

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5710561A (en) * 1980-06-20 1982-01-20 Sony Corp Error correcting method
JPS5710560A (en) * 1980-06-20 1982-01-20 Sony Corp Error correcting method
JPS6042560B2 (ja) * 1981-03-17 1985-09-24 日本電信電話株式会社 半導体記憶装置
US4653051A (en) * 1983-09-14 1987-03-24 Matsushita Electric Industrial Co., Ltd. Apparatus for detecting and correcting errors on product codes
US4637021A (en) * 1983-09-28 1987-01-13 Pioneer Electronic Corporation Multiple pass error correction
DE3486471T2 (de) * 1983-12-20 1999-09-02 Sony Corp. Verfahren und Vorrichtung zur Dekodierung eines Fehler-Korrektur-Code
NL8400630A (nl) * 1984-02-29 1985-09-16 Philips Nv Decodeerinrichting voor een stroom van codesymbolen die woordsgewijze beschermd zijn door een dubbele reed-solomon-code met een minimum hamming-afstand van 5 over de codesymbolen en een verbladeringsmechanisme tussen de beide codes, alsmede speler voorzien van zo een decodeerinrichting.
JPH0619913B2 (ja) * 1984-03-30 1994-03-16 パイオニア株式会社 ビデオフオ−マツト信号に担持されるデ−タのエラ−訂正方式
JPS61208976A (ja) * 1985-03-13 1986-09-17 Fuji Photo Film Co Ltd エネルギ−サブトラクシヨン画像の濃度補正方法および装置
JPH0697542B2 (ja) * 1985-05-14 1994-11-30 松下電器産業株式会社 インタ−リ−ブ回路

Also Published As

Publication number Publication date
EP0364475A4 (en) 1991-11-13
DE3854393D1 (de) 1995-10-05
EP0364475B1 (de) 1995-08-30
ATE127251T1 (de) 1995-09-15
EP0364475A1 (de) 1990-04-25
JPH02503852A (ja) 1990-11-08
WO1988009966A1 (en) 1988-12-15
US4845714A (en) 1989-07-04

Similar Documents

Publication Publication Date Title
DE3854393T2 (de) Verfahren und gerät zur fehlerkorrektur mit mehrfachdurchlauf für produktkode.
DE3486200T2 (de) Verfahren und vorrichtung zur dekodierung eines fehlerverbesserungskodes.
DE69121307T2 (de) Mehrfachpegel-Fehlerkorrektursystem
DE3784741T2 (de) Dekoder fuer produkt-kodes und verfahren zur dekodierung dieser kodes.
DE2916710C2 (de)
DE3853206T2 (de) Verfahren und gerät zur byteschreibfehlerkodierung.
DE112011100371B4 (de) Verfahren, Vorrichtung und Computerprogrammprodukt zum Decodieren eines Codeworts
DE102013215055B4 (de) Schaltungsanordnung, Vorrichtung, Verfahren und Computerprogramm mit modifiziertem Fehlersyndrom zur Fehlererkennung von permanenten Fehlern in Speichern
DE60117066T2 (de) Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE69424877T2 (de) Reed-solomon-dekoder
DE2328869C2 (de) Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems
DE3882223T2 (de) Ausgebreitete Fehlerkorrekturvorrichtung mit Einzel-Paket-Fehlerkorrektur und Doppel-Paket-Fehlerdetektionscoden.
EP0067301B1 (de) Einrichtung zur Erzeugung von Prüfbits zur Sicherung eines Datenwortes
DE2060643B2 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE2834963A1 (de) Verfahren und einrichtung zur fehlerkorrektur von uebertragenen daten
DE102007038114A1 (de) Fehlerkorrekturschaltung, Halbleiterspeicherelement und Fehlerkorrekturverfahren
DE69619372T2 (de) Fehlererkennungs- und fehlerkorrekturverfahren
DE3787900T2 (de) Verfahren und Gerät zur Erzeugung von Prüfungs-Byten zur Fehlerdetektion für einen Datenblock.
DE3787034T2 (de) Digitale Signalfehlerkorrektur.
DE69121733T2 (de) Technik zum eingebauten Selbsttest für Nur-Lese-Speicher
DE102005022107B4 (de) Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge
DE102013016681A1 (de) Codieren und Decodieren von Daten zum Vornehmen von Anpassungen für Speicherzellen mit Haftfehlern
DE4105860C2 (de) Schaltungsanordnung zum Erkennen und Korrigieren von Fehlern in Datenworten
DE69904618T2 (de) Detektionstechnik von speicherabschnittfehlern und einzel-, doppel und triplebitfehlern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee