[go: up one dir, main page]

DE19963683A1 - Architektur zum Decodieren von linearen Blockfehler-Korrekturcodes mit Soft Decision - Google Patents

Architektur zum Decodieren von linearen Blockfehler-Korrekturcodes mit Soft Decision

Info

Publication number
DE19963683A1
DE19963683A1 DE19963683A DE19963683A DE19963683A1 DE 19963683 A1 DE19963683 A1 DE 19963683A1 DE 19963683 A DE19963683 A DE 19963683A DE 19963683 A DE19963683 A DE 19963683A DE 19963683 A1 DE19963683 A1 DE 19963683A1
Authority
DE
Germany
Prior art keywords
decoding
reliability
decoder
hard
code word
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.)
Ceased
Application number
DE19963683A
Other languages
English (en)
Inventor
Lih-Jyh Weng
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.)
Quantum Corp
Original Assignee
Quantum 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 Quantum Corp filed Critical Quantum Corp
Publication of DE19963683A1 publication Critical patent/DE19963683A1/de
Ceased 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/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
    • 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/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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
    • 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/154Error and erasure correction, e.g. by using the error and erasure locator or Forney 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

Ein Verfahren und eine Vorrichtung zum Decodieren eines beschädigten Codewortes wird beschrieben. Die Decodierung wird unter Verwendung eines Decoders bewerkstelligt, der ein gemeinsames Zuverlässigkeitsmaß für jedes Symbol des beschädigten Codewortes verwendet und es wird ermittelt, ob ein brauchbares Ergebnis von dem ersten Decoder erhalten werden kann. Wenn ein brauchbares Ergebnis nicht erhalten werden kann, wird die Decodierung des beschädigten Codewortes mit einem zweiten Decoder durchgeführt, der spezielle Zuverlässigkeitswerte für jedes Symbol des beschädigten Codewortes verwendet.

Description

Hintergrund
Diese Erfindung betrifft Fehlerkorrekturcodeverfahren.
Fehlerkorrekturcodeverfahren werden bei digitalen Systemen verwendet, um Fehler in digitalen Daten zu korrigieren und detektieren. Derartige Verfahren werden insbesondere bei Magnetplatten verwendet, die aufgrund von Herstellungsfehlern usw. relativ hohe Fehlerraten aufweisen können. Es sind verschiedene Typen von Fehlerkorrekturverfah­ ren bekannt. Eine Art von Fehlerkorrekturverfahren verwendet sogenannte "Blockcodes". Ein Beispiel für einen Blockcode ist der sogenannte "Reed Solomon (RS) Code". Block­ codes in der Art des Reed-Solomon-Blockcodes arbeiten mit Datensymbolen. Datensym­ bole sind Vektoren von Binärbits von Daten. Symbole werden dadurch erzeugt, daß Bits an einer speziellen Bitposition für eine Gruppe von Worten in einen Vektor gruppiert wer­ den. Wenn bei einem Plattenlaufwerk Blockcodes verwendet werden, wird vor dem Auf­ zeichnen eines Strings von Datensymbolen auf eine Platte der String mathematisch co­ diert, wodurch Fehlerkorrekturcode-Symbole erzeugt werden, die an die Datensymbole angehängt werden, um Codeworte zu bilden. Diese Codeworte, das heißt Datensymbole und Fehlerkorrekturcodesymbole werden auf der Platte gespeichert. Wenn die gespei­ cherten Daten von der Platte wiedergewonnen bzw. gelesen werden, werden die Code­ worte mathematisch decodiert, um decodierte Codeworte zu bilden.
Es können mehrere Datenfehler in den Datensymbolen korrigiert werden, wenn die An­ zahl dieser Datenfehler nicht die maximale Fehleranzahl übersteigt, für die der Algorith­ mus entworfen wurde. Zur Zeit verwenden die meisten Decodierschemata eine soge­ nannte "harte Decodierung". Die harte Decodierung ist ein Verfahren, bei dem jedes Symbol eines beschädigten Codeworts genau das gleiche Maß von Zuverlässigkeit be­ sitzt wie jedes andere Symbol. Der Bequemlichkeit halber wird im allgemeinen dem Zu­ verlässigkeitsmaß eines jeden Symbols der Wert Eins zugeordnet. Ein zweites Verfahren, das sogenannte "Soft Decision Decoding" verwendet ein spezielles Maß der Zuverlässig­ keit für jedes Symbol. Jedem Symbol ist ein eigener bzw. spezieller Wert zwischen Null und Eins oder aus irgendeinem Wertebereich zugeordnet. Die mit Soft Decision Deco­ ding arbeitenden Algorithmen sind zwar in der Lage, mehr Fehler zu korrigieren und sind daher robuster und besitzen eine bessere Performance, haben aber die Tendenz, sehr kompliziert zu sein. Daher haben praktische Realisierungen der Soft Decision Decodie­ rung die Tendenz, langsam zu sein, oder, wenn ausreichend Hardware verwendet wird, um die Geschwindigkeit zu erhöhen, teuer und somit häufig nicht anwendbar zu sein.
Zusammenfassung
Gemäß einem Gesichtspunkt der vorliegenden Erfindung umfassen ein Verfahren und eine Vorrichtung zum Decodieren eines beschädigten Codewortes eine Decodierung des beschädigten Codewortes mit einem Decoder, der ein gemeinsames Zuverlässigkeits­ maß für jedes Symbol des Codeworts besitzt, und, eine Ermittelung, ob ein brauchbares Ergebnis von dem ersten Decoder erhalten werden kann. Wenn ein brauchbares Ergeb­ nis nicht erhalten werden kann, wird das beschädigte Codewort mit einem zweiten De­ coder decodiert, der jeweils eigene Zuverlässigkeitswerte für jedes Symbol des beschä­ digten Codeworts verwendet.
Einer oder mehrere der folgenden Vorteile werden erreicht. Die "harte" Decodierung kann für die meisten Fehlerereignisse verwendet werden und die langsamere "Soft-Decision" Decodierung kann für die weniger häufigen Ereignisse verwendet werden. Dies verbes­ sert das Gesamtverhalten. Gewünschtenfalls kann die harte Decodierung so aufgebaut werden, daß sie weniger Fehler behandelt, als ihrer Maximalzahl entspricht. Mit anderen Worten, der verwendete "harte" Decoder muß nicht vollständig oder komplett die Fehler­ korrektur-Möglichkeiten eines ausgewählten "harten" Decodieralgorithmus realisieren. Der "harte" Decoder muß nur die wahrscheinlichste Anzahl von Fehlern korrigieren, das heißt einen oder zwei Fehler pro Symbol, und die weniger wahrscheinliche größere Feh­ leranzahl für die "Soft Decision" Decodierung übrig lassen. Dadurch, daß nur ein Bruch­ teil der Symbolfehler durch eine vollständig "harte" Decoder-Realisierung korrigierbar ist, wird Hardware gespart und eine höhere Gesamtgeschwindigkeit erreicht, indem man die "Soft Decision" Decodierung die weniger häufigen aber höheren Fehlerzahlen korrigieren läßt.
Kurze Beschreibung der Zeichnung
In der Zeichnung zeigen:
Fig. 1 ein Blockdiagramm eines Computers einschließlich eines Speicher­ geräts,
Fig. 2 ein Blockdiagramm einer Architektur eines Codewort-Decodier- Schemas,
Fig. 3 ein Blockdiagramm einer Fehler-Korrektur-Einrichtung des Spei­ chergeräts aus Fig. 1,
Fig. 4 ein Blockdiagramm einer Architektur eines Fehler-Decodier-Sche­ mas und
Fig. 5 Flußdiagramme beispielhafter Verfahren zur Erzeugung von Zuver­ lässigkeits-Schwellenwerten für das Decodierschema aus Fig. 4.
Detaillierte Beschreibung
Gemäß Fig. 1 umfaßt ein Computersystem 10 einen Prozessor 12, einen Hauptspeicher 14 und ein Speicher-Subsystem 15, die alle über einen Computerbus 16 miteinander verbunden sind. Das Speicher-Subsystem 15 umfaßt einen Busadapter 18, einen Spei­ cherbus 19 und ein Speichergerät 20. Ein bevorzugtes Beispiel für das Speichergerät 20 ist eine Magnetplatte. Andere Beispiele umfassen eine optische Platte, ein Magnetband und eine Festkörper-Platte. Das Speichergerät 20 umfaßt einen Fehler-Korrektur-Codie­ rer 22 und eine Fehler-Decodier-Schaltung 30.
In Fig. 2 ist ein Teil des Speichersubsystems 15 einschließlich des Fehlerkorrekturcode- Codierers 22 gezeigt, dem während eines Plattenschreibvorganges Eingangsdaten vom Busadapter 18 zugeführt werden und der Fehlerkorrekturcode-Symbole erzeugt, die mit Datensymbolen verbunden oder diesen zugeordnet und einer Plattenschnittstelle 23 für eine Speicherung auf dem Plattenlaufwerk 26 (Fig. 1) zugeführt werden. Während eines Lesevorganges von der Platte werden die Datensymbole und Prüfsymbole von dem Speichergerät 20 wieder gewonnen. Die Datensymbole werden der Plattenschnittstelle 23 und der Fehlerkorrektur-Decodierschaltung 30 zugeführt. Die Fehlerkorrektur Deco­ dierschaltung 30 erzeugt einen Satz von Fehlerkorrekturcodesymbolen aus dem wieder­ gewonnenen Datensymbolen. Die erzeugten Symbole werden mit den Fehlerkorrektur Prüfsymbolen verglichen, die vom Speichergerät 20 wiedergewonnen worden sind. Die Fehlerdecodierschaltung 30 korrigiert solche Fehler unter der Voraussetzung, daß sie die Fehlerkorrekturfähigkeit des Fehlerdecoders 30 nicht übersteigen. Die Fehlerdecodier­ schaltung 30 umfaßt einen "harten" Decoder und einen "Soft Decision" Decoder, um ein beschädigtes Wort zu decodieren und eine Entscheidungslogik, die entscheidet, ob der Decoder die "harte" oder "Soft Decision" Decodierung verwenden soll.
Gemäß Fig. 3 umfaßt ein Decoder 30 für lineare Block-Fehlerkorrektur-Codes einen "harten" Decoder 32, der entsprechend irgendeinem aus einer Reihe von allgemein be­ kannten "harten" Decodieralgorithmen arbeitet. Der "harte" Decoder 32 realisiert ein schnelles, "hartes" Decodierverfahren, um das Hauptverfahren zum Decodieren von be­ schädigten Codewörtern c(j) zu liefern, die dem Decoder 30 zugeführt werden. Der De­ coder 30 umfaßt auch die Entscheidungslogik 33. Die Entscheidungslogik 33 prüft die Ausgangssignale des "harten" Decoders 32 um zu ermitteln, ob das Ausgangssignal vom "harten" Decoder als Ausgangssignal des Decoders 30 akzeptiert werden kann. Wenn das Ausgangssignal vom "harten" Decoder nicht akzeptiert werden kann, ruft die Ent­ scheidungsschaltung 33 ein "Soft Decision" Decodierverfahren auf, um das decodierte Ausgangssignal des Decoders 30 zu liefern.
Die beschädigten Wörter c(j) werden dem "harten" Decoder 32 zugeführt. Aus den be­ schädigten Wörtern c(j) erzeugt der "harte" Decoder 32 ein Fehlermuster von insgesamt e von null verschiedenen Symbolen, die als b(1), b(2),.., b(e) dargestellt werden, wobei e < d/2 ist. Das Fehlermuster b(1), b(2), . . . b(e) wird einer Fehlermuster-Zuverlässigkeits- Berechnungsschaltung 34 zugeführt. Eine Schaltung 36 speichert die Anzahl der Fehler in dem beschädigten Wort, wie sie von dem "harten" Decoder 32 ermittelt worden ist.
Den beschädigten Codeworten c(j) sind entsprechende Zuverlässigkeiten r(j) zugeordnet, die von einem Kanalprozessor (nicht dargestellt) erzeugt oder geliefert werden. Die Werte dieser Zuverlässigkeitsmaße werden zusammen mit den Fehlermustersymbolen b(j) einer Fehlermuster-Zuverlässigkeits-Schaltung 34 zugeführt. Die Fehlermuster-Zu­ verlässigkeits-Schaltung 34 registriert die Zuverlässigkeit der Fehlermustersymbole b(j) als
S = s(1) + s(2) + . . . + s(e),
wobei s(j) die Zuverlässigkeit für die b(j) zugeordnete Stelle ist.
Die Entscheidungslogik 33 umfaßt eine Schaltung 36, die die Anzahl von Fehlern (das heißt die Anzahl von b(j)-Termen) zählt, die im Ausgangssignal vom "harten" Decoder 32 vorhanden sind. Basierend auf der Anzahl der gezählten Fehler selektiert eine Selekti­ onsschaltung 40 einen aus einer Vielzahl von Zuverlässigkeits-Schwellenwerten. Die Zu­ verlässigkeits-Schwellenwerte werden von einem Zuverlässigkeits-Schwellenwert-Pro­ zessor 38 ermittelt. Der Zuverlässigkeits-Schwellenwert-Prozessor 38 arbeitet auf der Basis der Zuverlässigkeits-Eingangswerte r(j), um einen Satz von Ausgangs-Schwellen­ werten T(d - 1), T(d - 2), . . . T(d_max - 1) und T(d - e_max) entsprechend dem Wert e(max) zu erzeugen. Somit werden alle Schwellenwerte basierend auf der Anzahl von Fehlern be­ rechnet oder ermittelt, die in einem beschädigten Codewort auftreten können. Diese Schwellenwerte werden für jedes beschädigte Codewort vom Selektor 40 ausgewählt.
Gewünschtenfalls kann der maximale Wert von e, der durch e_max bezeichnet und vom "harten" Decoder geliefert wird, so gewählt werden, daß er wesentlich kleiner ist als (d - 1)/2. In anderen Worten, der realisierte "harte" Decoder muß nicht voll oder komplett die Fehlerkorrektur-Möglichkeit eines ausgewählten "harten" Decodieralgorithmus reali­ sieren. Es ist lediglich erforderlich, daß der "harte" Decoder die wahrscheinlichste Anzahl von Fehlern, das heißt einen oder zwei pro Symbol korrigiert und die weniger wahr­ scheinliche und größere Anzahl dem "Soft Decision" Decoder überläßt. Dadurch, daß nur ein Bruchteil der Symbolfehler korrigiert werden, die von einer vollständigen "harten" De­ codiererrealisierung korrigierbar wären, wird Hardware gespart und eine höhere Ge­ samtgeschwindigkeit dadurch erreicht, daß man den "Soft Decision" Decoder die weniger häufigen aber höheren Fehleranzahlen korrigieren läßt. In dem Fall, daß der "harte" De­ coder 32 nicht in der Lage ist, ein Fehlermuster zu liefern, wird das Zuverlässigkeitsmaß S willkürlich auf eine sehr große Zahl gesetzt. Dies stellt sicher, daß der "Soft Decision" Decodieralgorithmus aufgerufen wird.
Der ausgewählte Zuverlässigkeits-Schwellenwert 40 wird bei 42 mit den Fehlermuster Zuverlässigkeits-Ausgangssignalen S verglichen, um zu ermitteln, ob das Ausgangs­ signal des "harten" Decoders 32 als Ausgangssignal des Decoders 30 akzeptiert werden kann, oder ob ein "Soft Decision" Decodierprozeß 44 aufgerufen werden soll, um ein Ausgangssignal vom Decoder 30 zu liefern. Wenn das Zuverlässigkeitsmaß S kleiner oder gleich dem ausgewählten Schwellenwert (T) ist, wird das "harte" Decodiermuster als endgültiges Decodiermuster akzeptiert. Andernfalls wird der mehr Zeit in Anspruch neh­ mende oder komplexere "Soft Decision" Decodieralgorithmus aufgerufen, um das end­ gültige decodierte Fehlermuster zu erzeugen.
Es ist wichtig, daß die Schwellenwerte in der Weise berechnet werden, daß dann, wenn S kleiner oder gleich dem Schwellenwert ist, das Ausgangssignal des "harten" Decoders definitiv das gleiche ist wie das Ausgangssignal der "Soft Decision" Decodierung. Auf der anderen Seite kann dann, wenn S größer ist als der Schwellenwert, das Ausgangsfeh­ lermuster des "harten" Decoders gleich dem Ausgangssignal der "Soft Decision" Decodie­ rung oder von letzterem verschieden sein. Es kann jeder Algorithmus zur Erzeugung der­ artiger Schwellenwerte verwendet werden, um die Schwellenwerte zu berechnen; im fol­ genden werden aber zwei Beispiele angegeben.
Unter Bezugnahme auf Fig. 4 wird ein Verfahren 60 zur Erzeugung von Schwellenwer­ ten erläutert. Das Verfahren 60 (das als Vollspeicherverfahren (Full Storage Process) be­ zeichnet wird) weist bei 62 jedem der Zuverlässigkeitswerte von r(j) Speicherelemente zu. Anfangs werden alle Werte m(j) auf 1, das heißt den höchsten Zuverlässigkeitswert ge­ setzt. Das Vollspeicherverfahren 60 ordnet bei 64 die Zuverlässigkeitswerte nach ab­ nehmendem Zuverlässigkeitswert dadurch, daß es nach einer Zuverlässigkeit sucht, die kleiner ist als der anfangs gespeicherte Wert in den Speicherelementen. Wenn ein sol­ cher Wert gefunden wird, werden die Zuverlässigkeiten als die am wenigsten zuverlässi­ gen Maße von d - 1 Symbolen der Reihe nach sortiert, wobei m(1) das am wenigsten zu­ verlässige Maß speichert.
Für jedes neue r(j),
wenn r(j) < m(d - 1) führe nichts aus;
andernfalls vergleiche r(j) mit m(d - 1), m(d - 2), . . .,
bis r(j) < m(k) und r(j) < m(k - 1)
dann setze m(d - 1) = m(d - 2)
m(d - 2) = m(d - 3)
m(k+1) = m(k)
m(k) = r(j).
Nachdem die Werte der Reihe nach gespeichert worden sind, werden die Schwellen­ werte bei 66 dadurch bestimmt, daß einfach die Werte in jedem der Speicherelemente m(1) - m(k) für k = d - emax, . . ., d - 2, d - 1 summiert werden.
Dieses Verfahren erzeugt brauchbare Schwellenwerte, weil der "harte" Decoder 32 ein Fehlermuster mit einer Anzahl e von Fehlern und ein Zuverlässigkeitsmaß mit dem Wert S erzeugt. Ein anderes Fehlermuster enthält, wie unten gezeigt wird, wenigstens (d - e) von Null verschiedene Symbole. Jedes der d - e von Null verschiedenen Symbolen hat ein Zuverlässigkeitsmaß von wenigstens T(d - e). Mit einem Zuverlässigkeitsmaß S das klei­ ner oder gleich dem Schwellenwert ist, wäre es unmöglich, ein Fehlermuster mit einem Zuverlässigkeitsmaß kleiner als S zu finden. Daher ist dann, wenn S kleiner oder gleich dem Schwellenwert ist, das Ausgangssignal des "harten" Decoders 32 das gleiche wie das bestmögliche Ausgangssignal der "Soft Decision" Decodierung und somit ist es in Ordnung, das Ausgangssignal vom "harten" Decoder als das Ausgangssignal der Schal­ tung 30 zu wählen.
Gemäß Fig. 5 umfaßt ein anderes Verfahren 70 zur Ermittelung eines Zuverlässigkeits- Schwellenwertes (partielles Speicherverfahren) die bei 72 erfolgende Zuordnung einer partiellen Speicherung zum Speichern nur eines Teils der am wenigsten zuverlässigen Symbole. Diese Vorgehensweise verwendet nur k Speicherelemente, um die k Werte für die geringste Zuverlässigkeit zu speichern, die irgendeinen Wert zwischen 1 und d - 2 ha­ ben können. Die Schwellenwerte werden bei 74 bestimmt durch:
T(j) = m(1) + m(2) + . . . + m(j)
für alle j ≦ K und werden bei 76 für j < K bestimmt durch
T(j) = m(1) + m(2) + . . . + m(K - 1) + (j - K + 1).m(K).
Mit anderen Worten, die Werte von m(K + 1), m(K + 2), . . . m(d - 1) des Vollspeicherverfah­ rens 60 aus Fig. 4 werden bei diesem Teilspeicherverfahren 70 alle durch den gleichen Wert m(K) ersetzt. Die Schwellenwerte dieses partiellen Speicherverfahrens 70 sind identisch mit denen des Vollspeicherverfahrens 60 für Schwellenwerte von T(j), bei de­ nen j ≧ K ist. Für j < K sind bei diesem Teilspeicherverfahren 70 die Schwellenwerte klei­ ner als die, die beim Vollspeicherverfahren 60 gefunden werden. Folglich werden mehr Fehlermuster des "harten" Decoders zurückgewiesen, wenn dieses Teilspeicherverfahren 70 verwendet wird. Der Wert von K wird jedoch richtig gewählt. Die Werte von m, K und j sollten sehr nahe bei den Werten von m(K) liegen. In diesem Fall sind die Werte von al­ len Schwellenwerten in diesem Teilspeicherverfahren 70 praktisch die gleichen, wie die, die sich beim Vollspeicherverfahren 60 nach Fig. 4 ergeben. Dieses Teilspeicherverfah­ ren 70 weist jedoch weniger Vergleichs- und Einfüge-Operationen insbesondere dann auf, wenn der Wert von K klein ist.
Bei der "harten" Decodierung hat jedes Symbol des beschädigten Codeworts exakt das gleiche Zuverlässigkeitsmaß. Der Bequemlichkeit halber wird dem Zuverlässigkeitsmaß eines jeden Symbols der Wert 1 zugewiesen. Bei der "Soft Decision" Decodierung wird jedoch dem Zuverlässigkeitsmaß für jedes Symbol ein gesonderter Wert, beispielsweise zwischen 0 und 1 oder allgemein gesprochen aus irgendeinem Wertebereich zugewie­ sen, wie dies oben beschrieben wurde. Die "harte" Decodierung ist daher ein Sonderfall des allgemeineren "Soft Decision" Decodierverfahrens. Um verwendbar zu sein muß bei der "Soft Decision" Decodierung ein Zuverlässigkeitsmaß die Charakteristik haben, daß die Zuverlässigkeit eines Satzes von Symbolen aus den Zuverlässigkeiten der individu­ ellen Symbole im Satz erhalten werden kann. Daher können dann, wenn R das Zuverläs­ sigkeitsmaß des Satzes von Symbolen {a(1), a(2), . . . a(e)} und r(j) das Zuverlässigkeits­ maß von a(j) ist, die beiden einfachen Relationen erzielt werden.
R = r(1) + r(2) + . . . r(e), (1)
oder
R' = r'(1)*r'(2)* . . . *r'(e) (2).
Diese beiden Relationen stehen durch eine logarithmische Operation in Beziehung. So wie sie hier verwendet wird, wird Gleichung (1) verwendet, um das Zuverlässigkeitsmaß zu berechnen. Dieses Zuverlässigkeitsmaß arbeitet auf der Basis von Blockcodes. Ein Blockcode ist durch drei Parameter (n, k, d) charakterisiert, wobei n die Gesamtzahl von Symbolen pro Codewort, k die Zahl von Informationssymbolen pro Codewort und d die minimale Hamming-Distanz zwischen zwei beliebigen beschädigten Codeworten ist. Ein geeigneter "harter" Decodieralgorithmus kann bis zu einschließlich (d - 1)/2 Symbolfehler in einem beschädigten Codewort korrigieren.
Das hier beschriebene Verfahren kann auf alle linearen Blockcodes (n, k, d) angewandt werden, die wenigstens einen bekannten "harten" Decodieralgorithmus besitzen, der in der Lage ist, ein einmaliges Fehlermuster zu erzeugen, das (d - 1)/2 oder weniger Sym­ bolfehler enthält. Ein linearer Blockcode hat die Eigenschaft, daß die Addition von zwei Codewörtern zu einem weiteren Codewort führt. Die Addition des Codeworts (a(1), a(2), . . ., a(n) und des Codeworts (b(1), b(2), . . ., b(n) ist definiert als (a(1) + b(1), a(2) + b(2), . . ., a(n) + b(n), wobei das +-Zeichen die Feldaddition für das zugrundeliegende Feld bezeichnet, über dem die Codesymbole a(j) und b(j) definiert sind.
Es sollten einige Beispiele genügen. Die folgenden zwei Beispiele dienen dem Zweck, die Wirkung der "harten" Decodierung und der "Soft Decision" Decodierung zu erläutern.
Beispiel 1
Ein Reed-Solomon-(7, 3, 5)-Codewort sei
(001, 011, 100, 110, 110, 001, 100),
und das beschädigte Codewort sei
(000, 011, 101, 100, 110, 001, 100),
und das Zuverlässigkeitsmaß sei
(0,1, 0,3, 0,2, 0,3, 0,5, 0,9, 0,9).
Im vorliegenden Zusammenhang ist die Notation für das n-Tupel (c(1), c(2), . . ., c(n) ein Codewort, ein beschädigtes Codewort oder ein Fehlermuster mit Symbolen c(j), die durch Kommata getrennt sind; ein n-Tupel (r(1), r(2), . . ., r(n) ist das Zuverlässigkeitsmaß, wobei r(j) das Zuverlässigkeitsmaß für c(j) ist. C(j) ist ein Symbol, das m Binärbits (im Beispiel 1 gilt m = 3) enthält und r(j) ist eine reelle Zahl. In diesem Beispiel ist 0,0 das am wenigsten zuverlässige Maß für ein Symbol und 1, 1 das zuverlässigste Maß.
Der Vergleich, das heißt die EXKLUSIV-ODER-Verarbeitung des Codeworts und des be­ schädigten Codeworts Symbol für Symbol erzeugt das Fehlermuster
(001, 000, 001, 010, 000, 000, 000).
Bei diesem Fehlermuster bedeutet ein nur aus Nullen bestehendes Symbol, daß das spezielle Symbol korrekt ist. Ein von Null abweichendes Symbol bezeichnet den Fehler­ wert dieses Symbols. Daher sind bei dem obigen Fehlermuster drei Fehler vorhanden.
Die Fehlerwerte und ihre jeweiligen Zuverlässigkeitsmaße sind: a(1) = 001, r(1) = 0,1; a(2) = 001, r(2) = 0,2; a(3) = 010, r(3) = 0,3. Unter Verwendung von Gleichung 1 ergibt sich R = 0,1 + 0,2 + 0,3 = 0,6. Daher ist das Zuverlässigkeitsmaß dieses Fehlermusters gleich 0,6.
Ein guter "Soft Decision" Decodieralgorithmus sollte dieses gleiche Fehlermuster an sei­ nem Ausgang erzeugen. Da es sich hier um einen Code mit einer minimalen Distanz von 5 handelt, ist die "harte" Decodierung in der Lage, zwei oder weniger Fehler zu korri­ gieren. Wenn ein "harte' Decodieralgorithmus auf das obige beschädigte Codewort an­ gewendet wird, ist das Ausgangsfehlermuster des "harten" Decoders (000, 011, 000, 000, 110, 000, 000) mit a'(1) = 011, r'(1) = 0,3; a'(2) = 110, r'(2) = 0,5. Gemäß Gleichung 1 wird die Zuverlässigkeit dieses "harten" Fehlermusters wiederum gegeben durch R' = 0,3 + 0,5 = 0,8 < 0,6 = R. Dies legt nahe, daß das vom "Soft Decision" Algorithmus gelieferte Fehlermuster eine höhere Wahrscheinlichkeit besitzt, das richtige Fehlermuster zu sein. Daher sollte das Fehlermuster, das vom "harten" Decoder geliefert wird, zurückgewiesen bzw. verworfen werden.
Das Vollspeicherverfahren 60 erzeugt Schwellenwerte in folgender Weise: Wenn der "harte" Decoder 32 ein Fehlermuster mit e Fehlern und einem Zuverlässigkeitsmaß S er­ zeugt, enthält ein anderes Fehlermuster, wie unten gezeigt, wenigstens (d - e) nicht nur aus Nullen bestehende Symbole. Jedes Muster mit (d - e) nicht nur aus Nullen bestehen­ den Symbolen hat ein Zuverlässigkeitsmaß von wenigstens T(d - e). Mit S ≦ T[d - e] ist es unmöglich, ein Fehlermuster mit einem Zuverlässigkeitsmaß kleiner als S zu finden. Da­ her ist dann, wenn S ≦ T[d - e] gilt, das Ausgangssignal des "harten" Decoders das gleiche wie das "beste" Ausgangssignal der "Soft Decision" Decodierung.
Im Beispiel 1 werden daher d = 5 und die Zuverlässigkeitsmaße gegeben durch:
(0,1, 0,3, 0,2, 0,3, 0,5, 0,9, 0,9).
Daher sind m[1] = 0,1, m[2] = 0,2, m[3] = 0,3 und m[4] = 0,3 die d - 1 oder 4 am wenigsten zuverlässigen Maße, die der Reihe nach gespeichert sind. Dann sind die Schwellen­ werte:
T[d - 1] = T[4] = m[1] + m[2] + m[3] + m[4] = 0,9
T[d - 2] = T[3] = m[1] + m[2] + m[3] = 0,6.
Wenn der "harte" Decoder das Fehlermuster (000, 011, 000, 000, 110, 000, 000) mit a'[1] = 011, r'[1] = 0,3; a'[2] = 110, r'[2] = 0,5 erzeugt und wenn gilt e = 2, dann wird die Zu­ verlässigkeit dieses Fehlermusters gegeben durch R' = 0,3 + 0,5 = 0,8 < T[d - e] = T[d - 2] = 0,6. Folglich sollte dieses decodierte Fehlermuster nicht sofort akzeptiert werden. Es be­ steht eine Chance, daß der Ausgang der "Soft Decision" Decodierung ein Fehlermuster mit einem kleineren Zuverlässigkeitsmaß produziert.
Beispiel 2
Das ursprüngliche Codewort sei das gleiche wie das oben im Beispiel 1 gegebene. Das Codewort sei jedoch jetzt so beschädigt, daß es gleich (001, 011, 100, 001, 110, 001, 100) mit dem Zuverlässigkeitsmaß (0,7, 0,8, 0,7, 0,9, 0,6, 0,6, 0,5) ist. Die "Soft Decision" Decodierung sollte das Fehlermuster (000, 000, 000, 111, 000, 000, 000) mit a(1) = 111 und r(1) = 0,9 erzeugen. Dies ist auch das Fehlermuster, das durch die "harte" Decodie­ rung erhalten wird. In diesem Fall sollte das Ausgangssignal des "harten" Decoders ohne die Notwendigkeit akzeptiert werden, zu einer "Soft Decision" Decodierung überzugehen. Aus den beiden obigen Beispielen kann man entnehmen, daß das Ergebnis einer "har­ ten" Decodierung identisch mit dem Ergebnis der "Soft Decision" Decodierung sein kann.
Dadurch, daß man wie oben erläutert, das einfache Kriterium aufstellt, daß ermittelt wird, ob das Ergebnis einer Ausgabe der "harten" Decodierung identisch mit dem Ergebnis ei­ ner Ausgabe mit "Soft Decision" Decodierung ist, kann dieses Kriterium verwendet wer­ den, um zu entscheiden, ob das komplexere und zeitraubende Verfahren der "Soft Deci­ sion" Decodierung ausgelöst werden soll oder nicht. In ähnlicher Weise liefert das Voll­ speicherverfahren 60 einen Schwellenwert in diesem Fall. Das Zuverlässigkeitsmaß des beschädigten Codeworts ist (0,7, 0,8, 0,7, 0,9, 0,6, 0,6, 0,5) wie oben dargestellt. Das Ausgangssignal der "harten" Decodierung liefert das Fehlermuster (000, 000, 000, 111, 000, 000, 000) mit a'(1) = 111, r'(1) = 0,9 und e = 1. Die m(j) sind m(1) = 0,5, m(2) = 0,6, m(3) = 0,6, m(4) = 0,7 und die Schwellenwerte werden gegeben durch:
T(d - 1) = m(1) + m(2) + m(3) + m(4) = 2,4
T(d - 2) = m(1) + m(2) + m(3) = 1,7.
Das "hart" decodierte Fehlermuster enthält nur einen Fehler, das heißt es gilt e = 1. Da­ her ist R' = r(1) = 0,9. Dieser Wert ist kleiner als T(d - e) = D(d - 1) = 2,4. Daher ist das "hart" decodierte Fehlermuster das gleiche als das beste Ausgangssignal der "Soft Decision" Decodierung. Folglich kann dieses Ausgangssignal als endgültiges Ausgangssignal ak­ zeptiert werden und es besteht keine Notwendigkeit, überhaupt zur "Soft Decision" Deco­ dierung überzugehen.
Da der Schwellenwert T(k) größer ist als T(k - 1) für alle k und da das Zuverlässigkeitsmaß von e decodierten "harten" Fehlern im Vergleich steht zu T(d - e) ist die Wahrscheinlich­ keit, daß ein Fehlermuster mit geringerem Gewicht den Schwellenwert übersteigt, we­ sentlich kleiner als die, daß dies durch das Fehlermuster mit dem höheren Gewicht ge­ schieht. Es sei auch darauf hingewiesen, daß das Zuverlässigkeitsmaß eines Fehlermu­ sters mit hohem Gewicht häufig größer ist als das eines Fehlermusters mit geringem Ge­ wicht. Dies erhöht weiterhin die Wahrscheinlichkeit, daß ein "hart" decodiertes Fehlermu­ ster mit niedrigem Gewicht identisch mit dem Fehlermuster der "Soft Decision" Decodie­ rung ist.
Das Ausgangssignal bzw. Ergebnis eines "harten" Decodieralgorithmus für einen (n, k, d)-Code erzeugt dann, wenn es erfolgreich ist, ein Fehlermuster mit e nicht nur aus Nul­ len bestehenden Symbolen, wobei e < d/2 ist. Wie unten gezeigt wird, hat jedes andere Fehlermuster wenigstens d-e nicht nur aus Nullen bestehende Symbole. Diese Eigen­ schaft wird verwendet, um die Basis für die Ermittelung zu bilden, ob ein "hart" decodier­ tes Fehlermuster die Chance hat, mit einem durch "Soft Decision" Decodierung erzeugten identisch zu sein oder nicht. Es ist wichtig, daß die Akzeptanzkriterien in einer Richtung fehlerhaft sein können. In anderen Worten, muß das Fehlermuster dann, wenn ein Krite­ rium das "hart" decodierte Fehlermuster akzeptiert, identisch mit dem Ausgangssignal ei­ ner "Soft Decision" Decodierung sein; andererseits kann dann, wenn das Kriterium ein "hart" decodiertes Fehlermuster zurückweist, das Fehlermuster dennoch mit dem Aus­ gangssignal der "Soft Decision" Decodierung identisch sein (die Strafe ist in diesem Fall der Durchsatz aber nicht die Performance). Ein gutes Kriterium sollte möglichst wenig Ausgangssignale des "harten" Decoders zurückweisen, wenn dieses Ausgangssignal mit dem Ausgangssignal des "Soft Decision" Decoders identisch ist.
Diese Architektur kann mit einem Fehler-und-Lösch-Decodieralgorithmus (error-and-era­ sure) verwendet werden. Ein Fehler-und-Lösch-Decodieralgorithmus klassifiziert jedes der Symbole eines beschädigten Codeworts in eine von zwei Klassen: eine Klasse, die als Löschungen bezeichnet wird, umfaßt Symbole mit geringerer Zuverlässigkeit und die andere Klasse enthält nicht gelöschte Symbole. Es gibt anderer Fehler-und-Lösch-Deco­ dieralgorithmen, die geringfügig komplexer sind als die nur Fehler betreffende "harte" De­ codierung. Das Vollspeicherverfahren 60 aus Fig. 4 kann die "harte" Decodierung ver­ wenden, um ein beschädigtes Codewort zu decodieren, das Löschungen enthält.
Die Decodierung weist jedem Nichtlöschungssymbol einen Zuverlässigkeitswert von 1 und jedem Löschungssymbol einen Zuverlässigkeitswert von 0,5 zu. Für "e_erasure" Lö­ schungssymbole im beschädigten Codewort gilt m[1] = 0,5, m[2] = 0,5, . . ., m[e_erasure] = 0,5, m[j] = 1 für j < e_erasure. Die Schwellenwerte sind dann gegeben durch
T[j] = 0,5*j
für j ≦ e_erasure, und
T[j] = 0,5*e_erasure + (j - e_erasure) = j - 0,5*e_erasure
für j < e_erasure.
Das Verfahren verwendet den "harten" Decoder 32, um ein Fehlermuster mit "e_hard" Fehlern zu erhalten und akzeptiert das Ausgangssignal des "harten" Decoders 32 als das endgültig decodierte Ausgangssignal des Decoders 30 wenn die für das Fehlermuster berechnete Zuverlässigkeit gleich oder kleiner ist als T[d - e_hard]. Andernfalls wird der Fehler-und-Lösch-Algorithmus aufgerufen, um das endgültige decodierte Codewort zu erhalten.
Es sei darauf hingewiesen, daß die Schwellenwerte T[j] für jeden Wert von e_erasure be­ rechnet werden können. Daher ist es nicht erforderlich, die Zuverlässigkeitsinformation für jedes Symbol zu verarbeiten. Bei dem "hart" decodierten Ausgangssignal wird die Zu­ verlässigkeit des Fehlermusters gegeben durch:
0,5*e 1 + (e_hard - e_1) = e_hard - 0,5*e_1,
wobei e_1 die Anzahl von erasure- bzw. Lösch-Symbolen in dem decodierten Fehlermu­ ster ist. Ein weiterer Punkt, der von Bedeutung sein kann, ist, daß jedes der erasure- Symbole dem "hart" decodierten so zugeführt werden kann wie es ist, oder es kann durch irgendeinen festen Wert ersetzt werden (beispielsweise durch das nur aus Nullen beste­ hende Symbol).
Es besteht eine Gewichtungsrelation zwischen Fehlermustern in linearen Blockcodes. Für einen linearen (n, k, d)-Blockcode existiert eine n X (n - k)-Paritätsmatrix H derart, daß gilt:
H*C ~ = 0,
wobei C~ die Transponierte eines 1 × n-Codeworts C ist. Nimmt man an, daß ein be­ schädigtes Codewort C' = C + E ist, wobei E ein Fehlermuster ist, so wird ein "harte" De­ codieralgorithmus E wiederherstellen, wenn das Hamming-Gewicht von E kleiner oder gleich (d - 1)/2 ist. (Das Hamming-Gewicht eines n-Tupels ist die Anzahl von nicht nur aus Nullen bestehenden Elementen in dem n-Tupel.) Ein "harter" Decodieralgorithmus be­ ginnt häufig mit der Berechnung eines Fehlersyndroms "Y" oder einer äquivalenten Be­ rechnung. Für einen Wert von Y gleich Null bedeutet dies, daß kein Fehler vorhanden ist. Für einen Wert von Y der nicht gleich Null ist, bedeutet dies einen Fehler und eine zu­ sätzliche Verarbeitung zur Korrektur des Fehlers.
Y = H*(C°)~
Durch eine geradlinige Expansion ist jedoch Y gegeben durch:
Y = H*(C~ + E~) = H*E~ Gleichung 3
Für jedes Fehlermuster E gibt es einen einzigen Wert für Y. Es gibt jedoch qk Fehlermu­ ster, die den gleichen Wert von Y besitzen. Dies kann man der Gleichung 3 dadurch ent­ nehmen, daß irgendeines der qk Codewörter als C angenommen wird. Für einen gegebe­ nen Wert von Y [ein (n - k)-Tupel] erzeugt ein "harter" Decodieralgorithmus ein n-Tupel mit (d - 1)/2 oder weniger nicht nur aus Nullen bestehenden Symbolen als das decodierte Fehlermuster.
Ein idealer "Soft Decision" Decodieralgorithmus liefert ein Fehlermuster E soft, das die Gleichung
H*E_soft~ = Y
erfüllt, und das Zuverlässigkeitsmaß von E_soft ist das kleinste aus allen der Fehlermu­ ster E, die die Gleichung
H*E~ = Y
erfüllen.
Wenn die "harte" Decodierung ein Fehlermuster E_hard mit e ≦ (d-1)12 Symbolfehlern er­ gibt, wird ein anderes Fehlermuster die Form E-hard + C besitzen, wobei C ein Codewort ist. Da der minimale Abstand des Codes d ist, enthält C wenigstens d' ≧ d nicht nur aus Nullen bestehende Symbole. Dies ist deswegen der Fall, weil das nur aus Nullen beste­ hende n-Tupel ein Codewort eines linearen (n, k, d)-Codes ist. Daher kann das Fehler­ muster ein Gewicht irgendwo von (d' - e) bis (d' + e) nicht nur aus Nullen bestehenden Symbolen haben. Wenn sich die nicht nur aus Nullen bestehenden Symbole von E_hard nicht mit irgendeinem der nicht nur aus Nullen bestehenden Symbole von C überlappen, hat (E_hard + C) (d' + e) nicht nur aus Nullen bestehende Symbole. Wenn die nicht nur aus Nullen bestehenden Symbole von E_hard von einer Auswahl von e nicht nur aus Nullen bestehenden Sub-Sätzen von C kommen, dann sind die nicht nur aus Nullen be­ stehenden Elemente von (E-hard + C) (d' - e). Der kleinste Wert von (d' - e) ist (d - e). Daher enthält jedes andere Fehlermuster wenigstens (d - e) nicht nur aus Nullen beste­ hende Symbole.
Andere Ausführungsformen
Es sei darauf hingewiesen, daß zwar die Erfindung in Verbindung mit ihrer detaillierten Beschreibung erläutert wurde, daß aber die vorausgehende Beschreibung nur zur Dar­ stellung dient und den Rahmen der Erfindung nicht einschränkt, der durch den Umfang der beigefügten Ansprüche definiert wird. Weitere Gesichtspunkte, Vorteile und Modifika­ tionen liegen im Umfang der folgenden Ansprüche.

Claims (20)

1. Ein Verfahren zum Decodieren eines beschädigten Codeworts umfaßt folgende Schritte:
Decodieren des beschädigten Codeworts mit einem Decoder, der ein gemeinsames Zuverlässigkeitsmaß für jedes Symbol des beschädigten Codeworts besitzt,
Ermitteln, ob ein brauchbares Ergebnis vom ersten Decoder erhalten werden kann, und, wenn nicht
Decodieren des beschädigten Codeworts mit einem zweiten Decoder, der jeweils spezielle Zuverlässigkeitswerte für jedes Symbol des beschädigten Codeworts ver­ wendet.
2. Verfahren nach Anspruch 1, bei dem die Ermittelung weiterhin das Berechnen eines Zuverlässigkeits-Schwellenwertes umfaßt, der einem Fehler in dem beschädigten Codewort entspricht.
3. Verfahren nach Anspruch 2, bei dem die Ermittelung weiterhin
das Ermitteln einer zusammengesetzten Zuverlässigkeit der ersten Decodierung umfaßt sowie
das Vergleichen der zusammengesetzten Zuverlässigkeit der ersten Decodierung mit dem Zuverlässigkeits-Schwellenwert zur Ermittelung, ob ein brauchbares Ergeb­ nis aus der ersten Decodierung erzielt werden kann.
4. Verfahren nach Anspruch 1, bei dem die Ermittelung weiterhin die Ermittelung eines Satzes von Zuverlässigkeits-Schwellenwerten umfaßt.
5. Verfahren nach Anspruch 4, bei dem die Ermittelung weiterhin die Ermittelung einer zusammengesetzten Zuverlässigkeit der ersten Decodierung umfaßt.
6. Verfahren nach Anspruch 5, bei dem die Ermittelung folgende Schritte umfaßt:
Ermitteln der Anzahl der Fehler aus dem beschädigten Codewort,
Auswahl eines Fehlerschwellenwertes auf der Basis der Anzahl von Fehlern, und
Vergleichen der zusammengesetzten Zuverlässigkeit mit der Schwellenwert-Zuver­ lässigkeit um zu ermitteln, ob die erste Decodierung ein brauchbares Ergebnis aus der Decodierung des beschädigten Codewortes liefern kann.
7. Verfahren nach Anspruch 1, bei dem die Decodierung, die ein gemeinsames Maß verwendet, eine "harte" Decodierung ist.
8. Verfahren nach Anspruch 1, bei dem die Decodierung, die jeweils spezielle Werte verwendet, eine "Soft Decision" Decodierung ist.
9. Verfahren nach Anspruch 1, bei dem die Decodierung, die spezielle Werte verwen­ det, eine Fehler-und-Lösch-Decodierung ist.
10. Verfahren nach Anspruch 1, bei dem das beschädigte Codewort von einem linearen Blockcode erzeugt wird.
11. Verfahren nach Anspruch 1, bei dem dann, wenn die Ermittelung feststellt, daß die Decodierung mit dem Decoder, der ein gemeinsames Zuverlässigkeitsmaß verwen­ det, ein brauchbares Ergebnis liefert, das Ergebnis der Decodierung mit dem De­ coder, der das gemeinsame Zuverlässigkeitsmaß verwendet, als Decodierung des beschädigten Codeworts verwendet wird.
12. System zum Decodieren eines beschädigten Worts für einen linearen Block-Fehler-Korrekturcode, das folgende Bestandteile umfaßt:
einen "harten" Decodierer, der ein gemeinsames Zuverlässigkeitsmaß für jedes Symbol eines beschädigten Codewortes besitzt,
eine Logik, die ermittelt, ob ein brauchbares Ergebnis von dem "harten" Decodierer erhalten werden kann, und
einen "Soft Decision" Decoder, der spezielle Zuverlässigkeitswerte für jedes Symbol des beschädigten Codewortes verwendet.
13. System nach Anspruch 12, bei dem die Logik, die die Ermittelung durchführt, weiter­ hin einen Prozessor zum Berechnen eines Zuverlässigkeits-Schwellenwertes ent­ sprechend einem Fehler in dem beschädigten Codewort umfaßt.
14. System nach Anspruch 12, bei dem die Ermittelungslogik weiterhin folgende Be­ standteile umfaßt:
eine Logik zum Ermitteln einer zusammengesetzten Zuverlässigkeit vom "harten" Decoder, und
eine Vergleichslogik zum Vergleichen der zusammengesetzten Zuverlässigkeit des "harten" Decoders mit dem Zuverlässigkeits-Schwellenwert um zu ermitteln, ob ein brauchbares Ergebnis von dem "harten" Decoder erhalten werden kann.
15. System nach Anspruch 12, bei dem die Ermittelungslogik weiterhin eine Logik zum Ermitteln eines Satzes von Zuverlässigkeits-Schwellenwerten umfaßt.
16. System nach Anspruch 15, bei dem die Ermittelungslogik weiterhin eine Logik zum Ermitteln einer zusammengesetzten Zuverlässigkeit vom "harten" Decoder umfaßt.
17. System nach Anspruch 16, das weiterhin folgende Bestandteile umfaßt:
eine Auswahleinrichtung zum Selektieren eines Fehlerschwellenwertes basierend auf der Anzahl von Fehlern in dem beschädigten Codewort, und
eine Logik zum Vergleichen der zusammengesetzten Zuverlässigkeit mit der Schwellenwert-Zuverlässigkeit, um zu ermitteln, ob der "harte" Decoder ein brauch­ bares Ergebnis liefern kann.
18. System nach Anspruch 12, bei dem der zweite Decoder ein "Soft Decision" Decoder ist.
19. System nach Anspruch 12, bei dem der zweite Decoder ein Fehler-und-Lösch-De­ coder ist.
20. System nach Anspruch 12, bei dem das beschädigte Codewort von einem linearen Blockcode erzeugt wird.
DE19963683A 1999-01-04 1999-12-29 Architektur zum Decodieren von linearen Blockfehler-Korrekturcodes mit Soft Decision Ceased DE19963683A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/225,260 US6381726B1 (en) 1999-01-04 1999-01-04 Architecture for soft decision decoding of linear block error correcting codes

Publications (1)

Publication Number Publication Date
DE19963683A1 true DE19963683A1 (de) 2000-10-05

Family

ID=22844197

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19963683A Ceased DE19963683A1 (de) 1999-01-04 1999-12-29 Architektur zum Decodieren von linearen Blockfehler-Korrekturcodes mit Soft Decision

Country Status (4)

Country Link
US (1) US6381726B1 (de)
JP (1) JP4486198B2 (de)
DE (1) DE19963683A1 (de)
GB (1) GB2348990A (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028243B2 (en) 2001-02-28 2006-04-11 Infineon Technologies Ag Method and device for error correction of data blocks
DE10233642B4 (de) * 2001-07-25 2010-11-11 Samsung Electronics Co., Ltd., Suwon Fehlerkorrektur-Kodierung und -Dekodierung in einer Festkörper-Speicherungsvorrichtung

Families Citing this family (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226318B1 (en) * 1998-03-31 2001-05-01 Zenith Electronics Corporation Detection of code vectors in single frequency, multiple transmitter networks
US7570576B2 (en) * 2001-06-08 2009-08-04 Broadcom Corporation Detection and mitigation of temporary (bursts) impairments in channels using SCDMA
US7236545B2 (en) * 2001-06-08 2007-06-26 Broadcom Corporation Chip blanking and processing in SCDMA to mitigate impulse and burst noise and/or distortion
US20030023922A1 (en) * 2001-07-25 2003-01-30 Davis James A. Fault tolerant magnetoresistive solid-state storage device
US20030172339A1 (en) * 2002-03-08 2003-09-11 Davis James Andrew Method for error correction decoding in a magnetoresistive solid-state storage device
JP2005528840A (ja) * 2002-05-31 2005-09-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 線形ブロック符号の軟復号化
AU2003259781A1 (en) * 2002-08-13 2004-02-25 Vanu, Inc. Convolutional decoding
US7353170B2 (en) * 2002-08-13 2008-04-01 Vanu, Inc. Noise-adaptive decoding
US7237180B1 (en) * 2002-10-07 2007-06-26 Maxtor Corporation Symbol-level soft output Viterbi algorithm (SOVA) and a simplification on SOVA
JP2006506911A (ja) * 2002-11-15 2006-02-23 ヴァヌ・インコーポレーテッド 通信システム
US7308057B1 (en) 2003-06-05 2007-12-11 Maxtor Corporation Baseline wander compensation for perpendicular recording
CA2557614A1 (en) 2004-03-05 2005-09-22 Vanu, Inc. Controlling jitter effects
JP4138700B2 (ja) * 2004-05-31 2008-08-27 株式会社東芝 復号装置および復号回路
US20060009236A1 (en) * 2004-06-09 2006-01-12 Vanu Bose Determining a location
EP1757033A4 (de) * 2004-06-09 2009-04-22 Vanu Inc Verringerung von backhaul-bandbreite
CA2568307A1 (en) * 2004-06-09 2005-12-29 Vanu, Inc. Reducing cost of cellular backhaul
US7646829B2 (en) * 2004-12-23 2010-01-12 Agere Systems, Inc. Composite data detector and a method for detecting data
WO2007044501A2 (en) * 2005-10-07 2007-04-19 Vanu, Inc. Decoding of walsh codes
KR100923915B1 (ko) * 2005-12-16 2009-10-28 삼성전자주식회사 다중 안테나 시스템에서 반복 검출 및 복호 수신 장치 및방법
EP1845660B1 (de) * 2006-04-12 2012-08-29 STMicroelectronics Srl Verfahren zur Zusammensetzung und zum Senden von Sensorsignalen
KR100826511B1 (ko) * 2006-06-27 2008-05-02 삼성전자주식회사 스터핑 바이트를 이용하여 에러정정 능력을 높일 수 있는장치와 방법
US20080076435A1 (en) * 2006-09-22 2008-03-27 Vanu, Inc. Wireless Backhaul
US20080076406A1 (en) * 2006-09-22 2008-03-27 Vanu, Inc. Wireless Backhaul
CN101162965B (zh) * 2006-10-09 2011-10-05 华为技术有限公司 一种ldpc码的纠删译码方法及系统
US7971125B2 (en) * 2007-01-08 2011-06-28 Agere Systems Inc. Systems and methods for prioritizing error correction data
US8359522B2 (en) 2007-05-01 2013-01-22 Texas A&M University System Low density parity check decoder for regular LDPC codes
JP4462342B2 (ja) * 2007-12-18 2010-05-12 ソニー株式会社 復号装置および復号方法
US8245104B2 (en) 2008-05-02 2012-08-14 Lsi Corporation Systems and methods for queue based data detection and decoding
WO2010059264A1 (en) * 2008-11-20 2010-05-27 Lsi Corporation Systems and methods for noise reduced data detection
US8413023B2 (en) * 2008-12-31 2013-04-02 Stmicroelectronics, Inc. Error-locator-polynomial generation with erasure support
US8407563B2 (en) * 2008-12-31 2013-03-26 Stmicroelectronics, Inc. Low-complexity soft-decision decoding of error-correction codes
WO2010126482A1 (en) 2009-04-28 2010-11-04 Lsi Corporation Systems and methods for dynamic scaling in a read data processing system
US8352841B2 (en) 2009-06-24 2013-01-08 Lsi Corporation Systems and methods for out of order Y-sample memory management
US8266505B2 (en) 2009-08-12 2012-09-11 Lsi Corporation Systems and methods for retimed virtual data processing
US8743936B2 (en) * 2010-01-05 2014-06-03 Lsi Corporation Systems and methods for determining noise components in a signal set
US9343082B2 (en) 2010-03-30 2016-05-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for detecting head contact
US8161351B2 (en) 2010-03-30 2012-04-17 Lsi Corporation Systems and methods for efficient data storage
US8418019B2 (en) 2010-04-19 2013-04-09 Lsi Corporation Systems and methods for dynamic scaling in a data decoding system
US8443249B2 (en) 2010-04-26 2013-05-14 Lsi Corporation Systems and methods for low density parity check data encoding
US8527831B2 (en) 2010-04-26 2013-09-03 Lsi Corporation Systems and methods for low density parity check data decoding
US8381071B1 (en) 2010-05-21 2013-02-19 Lsi Corporation Systems and methods for decoder sharing between data sets
US8381074B1 (en) 2010-05-21 2013-02-19 Lsi Corporation Systems and methods for utilizing a centralized queue based data processing circuit
US8208213B2 (en) 2010-06-02 2012-06-26 Lsi Corporation Systems and methods for hybrid algorithm gain adaptation
US8681439B2 (en) 2010-09-13 2014-03-25 Lsi Corporation Systems and methods for handling sector gaps in inter-track interference compensation
US8295001B2 (en) 2010-09-21 2012-10-23 Lsi Corporation Systems and methods for low latency noise cancellation
US9219469B2 (en) 2010-09-21 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for filter constraint estimation
US8385014B2 (en) 2010-10-11 2013-02-26 Lsi Corporation Systems and methods for identifying potential media failure
US8560930B2 (en) 2010-10-11 2013-10-15 Lsi Corporation Systems and methods for multi-level quasi-cyclic low density parity check codes
US8443250B2 (en) 2010-10-11 2013-05-14 Lsi Corporation Systems and methods for error correction using irregular low density parity check codes
US8661071B2 (en) 2010-10-11 2014-02-25 Lsi Corporation Systems and methods for partially conditioned noise predictive equalization
US8750447B2 (en) 2010-11-02 2014-06-10 Lsi Corporation Systems and methods for variable thresholding in a pattern detector
US8566379B2 (en) 2010-11-17 2013-10-22 Lsi Corporation Systems and methods for self tuning target adaptation
US8667039B2 (en) 2010-11-17 2014-03-04 Lsi Corporation Systems and methods for variance dependent normalization for branch metric calculation
US8810940B2 (en) 2011-02-07 2014-08-19 Lsi Corporation Systems and methods for off track error recovery
US8699167B2 (en) 2011-02-16 2014-04-15 Lsi Corporation Systems and methods for data detection using distance based tuning
US8446683B2 (en) 2011-02-22 2013-05-21 Lsi Corporation Systems and methods for data pre-coding calibration
US8854753B2 (en) 2011-03-17 2014-10-07 Lsi Corporation Systems and methods for auto scaling in a data processing system
US8693120B2 (en) 2011-03-17 2014-04-08 Lsi Corporation Systems and methods for sample averaging in data processing
US8611033B2 (en) 2011-04-15 2013-12-17 Lsi Corporation Systems and methods for selective decoder input data processing
US8887034B2 (en) 2011-04-15 2014-11-11 Lsi Corporation Systems and methods for short media defect detection
US8670955B2 (en) 2011-04-15 2014-03-11 Lsi Corporation Systems and methods for reliability assisted noise predictive filtering
US8566665B2 (en) 2011-06-24 2013-10-22 Lsi Corporation Systems and methods for error correction using low density parity check codes using multiple layer check equations
US8560929B2 (en) 2011-06-24 2013-10-15 Lsi Corporation Systems and methods for non-binary decoding
US8499231B2 (en) 2011-06-24 2013-07-30 Lsi Corporation Systems and methods for reduced format non-binary decoding
US8862972B2 (en) 2011-06-29 2014-10-14 Lsi Corporation Low latency multi-detector noise cancellation
US8650451B2 (en) 2011-06-30 2014-02-11 Lsi Corporation Stochastic stream decoding of binary LDPC codes
US8595576B2 (en) 2011-06-30 2013-11-26 Lsi Corporation Systems and methods for evaluating and debugging LDPC iterative decoders
US8566666B2 (en) 2011-07-11 2013-10-22 Lsi Corporation Min-sum based non-binary LDPC decoder
US8819527B2 (en) 2011-07-19 2014-08-26 Lsi Corporation Systems and methods for mitigating stubborn errors in a data processing system
US8879182B2 (en) 2011-07-19 2014-11-04 Lsi Corporation Storage media inter-track interference cancellation
US8830613B2 (en) 2011-07-19 2014-09-09 Lsi Corporation Storage media inter-track interference cancellation
US8539328B2 (en) 2011-08-19 2013-09-17 Lsi Corporation Systems and methods for noise injection driven parameter selection
US8854754B2 (en) 2011-08-19 2014-10-07 Lsi Corporation Systems and methods for local iteration adjustment
US9026572B2 (en) 2011-08-29 2015-05-05 Lsi Corporation Systems and methods for anti-causal noise predictive filtering in a data channel
US8656249B2 (en) 2011-09-07 2014-02-18 Lsi Corporation Multi-level LDPC layer decoder
US8756478B2 (en) 2011-09-07 2014-06-17 Lsi Corporation Multi-level LDPC layer decoder
US8661324B2 (en) 2011-09-08 2014-02-25 Lsi Corporation Systems and methods for non-binary decoding biasing control
US8681441B2 (en) 2011-09-08 2014-03-25 Lsi Corporation Systems and methods for generating predictable degradation bias
US8767333B2 (en) 2011-09-22 2014-07-01 Lsi Corporation Systems and methods for pattern dependent target adaptation
US8850276B2 (en) 2011-09-22 2014-09-30 Lsi Corporation Systems and methods for efficient data shuffling in a data processing system
US8689062B2 (en) 2011-10-03 2014-04-01 Lsi Corporation Systems and methods for parameter selection using reliability information
US8578241B2 (en) 2011-10-10 2013-11-05 Lsi Corporation Systems and methods for parity sharing data processing
US8479086B2 (en) 2011-10-03 2013-07-02 Lsi Corporation Systems and methods for efficient parameter modification
US8862960B2 (en) 2011-10-10 2014-10-14 Lsi Corporation Systems and methods for parity shared data encoding
US8996597B2 (en) 2011-10-12 2015-03-31 Lsi Corporation Nyquist constrained digital finite impulse response filter
US8707144B2 (en) 2011-10-17 2014-04-22 Lsi Corporation LDPC decoder with targeted symbol flipping
US8788921B2 (en) 2011-10-27 2014-07-22 Lsi Corporation Detector with soft pruning
US8443271B1 (en) 2011-10-28 2013-05-14 Lsi Corporation Systems and methods for dual process data decoding
US8604960B2 (en) 2011-10-28 2013-12-10 Lsi Corporation Oversampled data processing circuit with multiple detectors
US8683309B2 (en) 2011-10-28 2014-03-25 Lsi Corporation Systems and methods for ambiguity based decode algorithm modification
US8527858B2 (en) 2011-10-28 2013-09-03 Lsi Corporation Systems and methods for selective decode algorithm modification
US8531320B2 (en) 2011-11-14 2013-09-10 Lsi Corporation Systems and methods for memory efficient data decoding
US8751913B2 (en) 2011-11-14 2014-06-10 Lsi Corporation Systems and methods for reduced power multi-layer data decoding
US8700981B2 (en) 2011-11-14 2014-04-15 Lsi Corporation Low latency enumeration endec
US8760991B2 (en) 2011-11-14 2014-06-24 Lsi Corporation Systems and methods for post processing gain correction
US8719686B2 (en) 2011-11-22 2014-05-06 Lsi Corporation Probability-based multi-level LDPC decoder
US8631300B2 (en) 2011-12-12 2014-01-14 Lsi Corporation Systems and methods for scalable data processing shut down
US8625221B2 (en) 2011-12-15 2014-01-07 Lsi Corporation Detector pruning control system
US8707123B2 (en) 2011-12-30 2014-04-22 Lsi Corporation Variable barrel shifter
US8819515B2 (en) 2011-12-30 2014-08-26 Lsi Corporation Mixed domain FFT-based non-binary LDPC decoder
US8751889B2 (en) 2012-01-31 2014-06-10 Lsi Corporation Systems and methods for multi-pass alternate decoding
US8850295B2 (en) 2012-02-01 2014-09-30 Lsi Corporation Symbol flipping data processor
US8775896B2 (en) 2012-02-09 2014-07-08 Lsi Corporation Non-binary LDPC decoder with low latency scheduling
US8749907B2 (en) 2012-02-14 2014-06-10 Lsi Corporation Systems and methods for adaptive decoder message scaling
US8782486B2 (en) 2012-03-05 2014-07-15 Lsi Corporation Systems and methods for multi-matrix data processing
US8610608B2 (en) 2012-03-08 2013-12-17 Lsi Corporation Systems and methods for reduced latency loop correction
US8731115B2 (en) 2012-03-08 2014-05-20 Lsi Corporation Systems and methods for data processing including pre-equalizer noise suppression
US8873182B2 (en) 2012-03-09 2014-10-28 Lsi Corporation Multi-path data processing system
US8977937B2 (en) 2012-03-16 2015-03-10 Lsi Corporation Systems and methods for compression driven variable rate decoding in a data processing system
US9230596B2 (en) 2012-03-22 2016-01-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for variable rate coding in a data processing system
US9043684B2 (en) 2012-03-22 2015-05-26 Lsi Corporation Systems and methods for variable redundancy data protection
US8612826B2 (en) 2012-05-17 2013-12-17 Lsi Corporation Systems and methods for non-binary LDPC encoding
US8880986B2 (en) 2012-05-30 2014-11-04 Lsi Corporation Systems and methods for improved data detection processing
US9019647B2 (en) 2012-08-28 2015-04-28 Lsi Corporation Systems and methods for conditional positive feedback data decoding
US9324372B2 (en) 2012-08-28 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for local iteration randomization in a data decoder
US8930780B2 (en) 2012-08-28 2015-01-06 Lsi Corporation Systems and methods for non-zero syndrome based processing
US8751915B2 (en) 2012-08-28 2014-06-10 Lsi Corporation Systems and methods for selectable positive feedback data processing
US8949702B2 (en) 2012-09-14 2015-02-03 Lsi Corporation Systems and methods for detector side trapping set mitigation
US8634152B1 (en) 2012-10-15 2014-01-21 Lsi Corporation Systems and methods for throughput enhanced data detection in a data processing circuit
US9112531B2 (en) 2012-10-15 2015-08-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced local iteration randomization in a data decoder
US9048870B2 (en) 2012-11-19 2015-06-02 Lsi Corporation Low density parity check decoder with flexible saturation
US9130589B2 (en) 2012-12-19 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Low density parity check decoder with dynamic scaling
US8929009B2 (en) 2012-12-19 2015-01-06 Lsi Corporation Irregular low density parity check decoder with low syndrome error handling
US8773791B1 (en) 2013-01-14 2014-07-08 Lsi Corporation Systems and methods for X-sample based noise cancellation
US9003263B2 (en) 2013-01-15 2015-04-07 Lsi Corporation Encoder and decoder generation by state-splitting of directed graph
US9009557B2 (en) 2013-01-21 2015-04-14 Lsi Corporation Systems and methods for reusing a layered decoder to yield a non-layered result
US8930792B2 (en) 2013-02-14 2015-01-06 Lsi Corporation Systems and methods for distributed low density parity check decoding
US8885276B2 (en) 2013-02-14 2014-11-11 Lsi Corporation Systems and methods for shared layer data decoding
US9214959B2 (en) 2013-02-19 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for skip layer data decoding
US8797668B1 (en) 2013-03-13 2014-08-05 Lsi Corporation Systems and methods for penalty based multi-variant encoding
US9048873B2 (en) 2013-03-13 2015-06-02 Lsi Corporation Systems and methods for multi-stage encoding of concatenated low density parity check codes
US9048874B2 (en) 2013-03-15 2015-06-02 Lsi Corporation Min-sum based hybrid non-binary low density parity check decoder
US9281843B2 (en) 2013-03-22 2016-03-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for reduced constraint code data processing
US9048867B2 (en) 2013-05-21 2015-06-02 Lsi Corporation Shift register-based layered low density parity check decoder
US9274889B2 (en) 2013-05-29 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data processing using global iteration result reuse
US8959414B2 (en) 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
US8917466B1 (en) 2013-07-17 2014-12-23 Lsi Corporation Systems and methods for governing in-flight data sets in a data processing system
US8817404B1 (en) 2013-07-18 2014-08-26 Lsi Corporation Systems and methods for data processing control
US8908307B1 (en) 2013-08-23 2014-12-09 Lsi Corporation Systems and methods for hard disk drive region based data encoding
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US9047882B2 (en) 2013-08-30 2015-06-02 Lsi Corporation Systems and methods for multi-level encoding and decoding
US9129651B2 (en) 2013-08-30 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Array-reader based magnetic recording systems with quadrature amplitude modulation
US9298720B2 (en) 2013-09-17 2016-03-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for fragmented data recovery
CN104518801A (zh) 2013-09-29 2015-04-15 Lsi公司 非二进制的分层低密度奇偶校验解码器
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
US9130599B2 (en) 2013-12-24 2015-09-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods of converting detector output to multi-level soft information
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
RU2580797C1 (ru) * 2015-03-13 2016-04-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" Способ мягкого декодирования блоковых кодов
US9985653B2 (en) 2015-04-10 2018-05-29 Samsung Electronics Co., Ltd. Methods and systems for soft-decision decoding
US10263639B2 (en) 2017-02-07 2019-04-16 Alibaba Group Holding Limited Managing soft information in high-capacity solid state drive
US10579473B2 (en) * 2017-09-29 2020-03-03 Intel Corporation Mitigating silent data corruption in error control coding
KR102118899B1 (ko) 2019-03-07 2020-06-04 한양대학교 산학협력단 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
US12493514B2 (en) * 2023-09-22 2025-12-09 Qualcomm Incorporated Apparatus and methods for memory fault detection within die architectures

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4404674A (en) * 1981-07-10 1983-09-13 Communications Satellite Corporation Method and apparatus for weighted majority decoding of FEC codes using soft detection
US4821268A (en) * 1987-10-26 1989-04-11 Cyclotomics, Inc. Soft decision Reed-Solomon decoder
JPH0443721A (ja) * 1990-06-11 1992-02-13 Matsushita Electric Ind Co Ltd ディジタル信号復号装置
US5379305A (en) * 1992-07-20 1995-01-03 Digital Equipment Corporation Error correction system with selectable error correction capabilities
JPH0936755A (ja) * 1995-07-21 1997-02-07 Canon Inc 復号装置及びその方法
US5802116A (en) * 1996-04-04 1998-09-01 Lucent Technologies Inc. Soft decision Viterbi decoding with large constraint lengths
US5757821A (en) * 1996-07-22 1998-05-26 Telefonaktiebolaget Lm Ericsson Method and apparatus for detecting communication signals having unequal error protection
US5968198A (en) * 1996-08-16 1999-10-19 Ericsson, Inc. Decoder utilizing soft information output to minimize error rates
US5875199A (en) * 1996-08-22 1999-02-23 Lsi Logic Corporation Video device with reed-solomon erasure decoder and method thereof
US6009552A (en) * 1997-06-18 1999-12-28 Motorola, Inc. Soft-decision syndrome-based decoder for convolutional codes

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028243B2 (en) 2001-02-28 2006-04-11 Infineon Technologies Ag Method and device for error correction of data blocks
DE10233642B4 (de) * 2001-07-25 2010-11-11 Samsung Electronics Co., Ltd., Suwon Fehlerkorrektur-Kodierung und -Dekodierung in einer Festkörper-Speicherungsvorrichtung

Also Published As

Publication number Publication date
GB9930871D0 (en) 2000-02-23
US6381726B1 (en) 2002-04-30
GB2348990A (en) 2000-10-18
JP2000232379A (ja) 2000-08-22
JP4486198B2 (ja) 2010-06-23

Similar Documents

Publication Publication Date Title
DE19963683A1 (de) Architektur zum Decodieren von linearen Blockfehler-Korrekturcodes mit Soft Decision
DE69721076T2 (de) Verfahren und vorrichtung zur korrektur von mehrpegel-speicherzellenanordungen unter verwendung von verschachtelung
DE69121307T2 (de) Mehrfachpegel-Fehlerkorrektursystem
DE69932962T2 (de) Kodierungsverfahren und Speicheranordnung
DE112011100371B4 (de) Verfahren, Vorrichtung und Computerprogrammprodukt zum Decodieren eines Codeworts
DE69412570T2 (de) Iteratives Dekodierverfahren verketteter Blockkodes
DE69513720T2 (de) Codiereinrichtung für punktierten Faltungscode
DE3854393T2 (de) Verfahren und gerät zur fehlerkorrektur mit mehrfachdurchlauf für produktkode.
DE3852474T2 (de) Nachschlagetabellen verwendende Fehlerkorrektur.
DE102017103347B4 (de) Verarbeitung von daten in speicherzellen eines speichers
DE69722571T2 (de) System und Verfahren zur digitalen Übertragung mit einem Produktkode kombiniert mit multidimensionaler Modulation
EP0755122A2 (de) Verfahren und Anordnung zur Bestimmung eines adaptiven Abbruchkriteriums beim iterativen Decodieren multidimensional codierter Information
DE69925151T2 (de) Effiziente normalisierung vom trelliszustandsmetrischem wert
DE3910739A1 (de) Verfahren zur verallgemeinerung des viterbi-algorithmus
DE102010021516A1 (de) Fehlerkorrekturcodes für erhöhte Speicherkapazität in Mehrpegelspeichereinrichtungen
DE102017110389A1 (de) Verfahren und Decoder zur Softinput Decodierung von verallgemeinerten verketteten Codes
WO2004021630A1 (de) Parallelverarbeitung der decodierung und der zyklischen redundanzüberprüfung beim empfang von mobilfunksignalen
DE3882175T2 (de) Fehlerkorrektur-Kode für einen B-bit-pro-Chip-Speicher mit verminderten Redundanz.
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)
EP1236281A1 (de) Turbo-code-decoder und turbo-code-decodierverfahren mit iterativer kanalparameterschätzung
DE60104338T2 (de) Vorrichtung und verfahren zur turbo decodierung mit signaturdatenvergleich als abbruchkriterium
DE19539343C2 (de) Verfahren zur Fehlererkennung eines digitalen Bitdatenstroms, der von einem Sender zu einem Empfänger übertragen wird
EP0353694A2 (de) Verfahren zur redundanzsparenden, fehlerkorrigierenden Codierung in Digital-Richtfunksystemen mit mehrstufiger Modulation
DE3786853T2 (de) Gerät zur Erkennung und Klassifizierung von Steuerwortfehlern.
DE102013222136A1 (de) Schaltung und Verfahren für die Mehr-Bit-Korrektur

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection