27.01.2013 Aufrufe

[Geben Sie hier die Überschrift ein] - MPC

[Geben Sie hier die Überschrift ein] - MPC

[Geben Sie hier die Überschrift ein] - MPC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

tung zwischen den Generatorpolynomen geschieht<br />

durch Multiplexer, <strong>die</strong> für jede Fehlerkorrekturfähigkeit<br />

<strong>die</strong> entsprechenden Logikelemente in der Rückkopplung<br />

dazuschalten.<br />

V. ALGEBRAISCHE-DECODIERUNG<br />

Im Folgenden wird der in Abbildung 5 dargestellte<br />

Ablauf bestehend aus der Syndromberechnung, der<br />

Lösung der Schlüsselgleichung mithilfe des BMA und<br />

der Bestimmung der Fehlerstellen durch <strong>die</strong> Chien-<br />

Search beschrieben.<br />

A. Syndromberechnung<br />

Die Syndromberechnung kann als <strong>ein</strong>e diskrete Fouriertransformation<br />

(DFT) über dem GF verstanden<br />

2 2t<br />

werden. Durch das Einsetzen der Werte α , α ,..., α<br />

i<br />

in Si = r(<br />

α ) , werden <strong>die</strong> <strong>ein</strong>zelnen Syndrome S i<br />

ermittelt. In Matrixform kann <strong>die</strong> parallele Implementierung<br />

veranschaulicht werden. <strong>Sie</strong> lautet<br />

T<br />

S = r ⋅ H<br />

mit<br />

⎡ 1 1 L 1 ⎤<br />

⎢<br />

2<br />

2t<br />

⎥<br />

T<br />

= ⎢<br />

α α L α<br />

H<br />

⎥ .<br />

⎢ M M O M ⎥<br />

⎢ n−<br />

1 2⋅(<br />

n−1)<br />

2t⋅(<br />

n−1)<br />

⎥<br />

⎣α<br />

α L α ⎦<br />

In <strong>die</strong>sem Fall werden alle Syndromwerte parallel berechnet.<br />

Die Hardwareimplementierung verknüpft je<br />

Zyklus <strong>ein</strong> Empfangsbit mit <strong>ein</strong>er vollständigen Zeile<br />

und benötigt durch <strong>die</strong>se Methode genau n Iterationen.<br />

Je Zyklus können auch mehrere Zeilen gleichzeitig<br />

berechnet werden, üblich sind z.B. 8-Bit. Die An-<br />

⎡n<br />

⎤<br />

zahl der Zyklen reduziert sich dadurch auf ⎢ ⎥ . Das t<br />

⎢8<br />

⎥<br />

richtet sich nach der maximalen Fehlerkorrekturfähigkeit.<br />

Eine Berücksichtigung der tatsächlichen Anzahl<br />

von korrigierbaren Fehlern findet nicht im Modul der<br />

36<br />

r(x) Syndrome S(x) σ(x)<br />

BMA<br />

computer<br />

Abbildung 5: Deco<strong>die</strong>rschema <strong>ein</strong>es BCH-Codes.<br />

Buffer<br />

HARDWARE-ENTWURF EINER FLEXIBLEN<br />

FEHLERKORREKTUREINHEIT FÜR FLASHSPEICHER<br />

Syndromwertberechnung sondern im BMA und in der<br />

Chien-Search statt.<br />

B. Zweistufiger BMA<br />

Die Grundidee des zweistufigen BMA ist <strong>die</strong> Implementierung<br />

<strong>ein</strong>es parallelen BMA der bis t 1 < t<br />

Fehler korrigiert. Für den parallelen BMA werden lediglich<br />

<strong>die</strong> ersten 2t 1 Koeffizienten des Syndroms benötigt.<br />

Ist <strong>die</strong> Anzahl der Fehler e kl<strong>ein</strong>er oder gleich<br />

t 1 , so liefert <strong>die</strong>se erste Stufe <strong>ein</strong> gültiges Codewort<br />

v ( x)<br />

. Ist t1 < e ≤ t , wird der parallele BMA üblicherweise<br />

k<strong>ein</strong>e Lösung finden, und <strong>die</strong> Berechnung<br />

des Fehlerstellenpolynoms wird in <strong>ein</strong>er seriellen Implementierung<br />

fortgeführt. In <strong>die</strong>sem Fall muss der parallele<br />

BMA um <strong>ein</strong>e Prüfung erweitert werden, <strong>die</strong><br />

erkennt, ob <strong>ein</strong> gültiges Codewort gefunden wurde. In<br />

Abbildung 6 ist <strong>die</strong> Architektur <strong>ein</strong>es zweistufigen<br />

BMA dargestellt.<br />

Findet der parallele BMA <strong>ein</strong>e Lösung für <strong>die</strong><br />

Schlüsselgleichung, so ist <strong>die</strong> Bedingung<br />

i+<br />

1<br />

Si<br />

= v(<br />

α ) = 0,<br />

i = 0,...,<br />

2t1<br />

−1<br />

erfüllt. Die gemischte Implementierung benötigt zusätzliche<br />

Informationen, um sicherzustellen, dass<br />

vˆ ( x)<br />

<strong>ein</strong> gültiges Codewort ist. Im Folgenden werden<br />

wir <strong>hier</strong>für zwei Verfahren vorstellen.<br />

Eine <strong>ein</strong>fache Methode ist <strong>die</strong> Implementierung <strong>ein</strong>er<br />

Syndromberechnung für <strong>die</strong> verbleibenden Syndrome.<br />

Die Syndromberechnung prüft<br />

i+<br />

1<br />

Si<br />

= vˆ<br />

( α ) = 0,<br />

i = 2t1,...,<br />

2t<br />

−1<br />

.<br />

Ist <strong>die</strong>se Bedingung erfüllt, so ist v ˆ( x)<br />

<strong>ein</strong> korrektes<br />

Codewort. Wenn nicht, wird der serielle BMA hinzugezogen,<br />

um das komplette Syndrom zu lösen.<br />

Die zweite Methode ist <strong>ein</strong>e Modifizierung des<br />

BMA. Während jeder Iteration wird im BMA <strong>die</strong> sogenannte<br />

Diskrepanz<br />

Δ<br />

( j)<br />

=<br />

( j )<br />

L<br />

∑<br />

i=<br />

0<br />

Chien<br />

search<br />

S σ<br />

j −i<br />

i<br />

e(x)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!