DE19963683A1 - Architektur zum Decodieren von linearen Blockfehler-Korrekturcodes mit Soft Decision - Google Patents
Architektur zum Decodieren von linearen Blockfehler-Korrekturcodes mit Soft DecisionInfo
- 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
Links
- 238000012937 correction Methods 0.000 title claims description 18
- 238000000034 method Methods 0.000 claims abstract description 50
- 239000002131 composite material Substances 0.000 claims 8
- 238000010586 diagram Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3738—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/154—Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft 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
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
| 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)
| 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)
| 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 |
-
1999
- 1999-01-04 US US09/225,260 patent/US6381726B1/en not_active Expired - Lifetime
- 1999-12-24 GB GB9930871A patent/GB2348990A/en not_active Withdrawn
- 1999-12-29 DE DE19963683A patent/DE19963683A1/de not_active Ceased
-
2000
- 2000-01-04 JP JP2000000061A patent/JP4486198B2/ja not_active Expired - Fee Related
Cited By (2)
| 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 |