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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>MPC</strong>-WORKSHOP JULI 2012<br />

r(x)<br />

berechnet. j = 0,<br />

1 ... ist <strong>ein</strong> Iterationszähler und<br />

L ( j)<br />

ist der Grad des Fehlerstellenpolynoms in der jten<br />

Iteration. Ist <strong>die</strong> Anzahl der Fehler kl<strong>ein</strong>er oder<br />

gleich t 1 , wird <strong>die</strong> Diskrepanz Null für alle Iterationen<br />

j ≤ 2t1 1.<br />

Ist <strong>die</strong> Diskrepanz Δ ( j)<br />

Null für alle Iterationen<br />

j = 2t1-1,..., 2t-1<br />

so haben wir <strong>ein</strong> gültiges Codewort<br />

vˆ (x) ∈ C .<br />

Da <strong>die</strong> Berechnung der Diskrepanz Teil des BMA<br />

ist, kann <strong>die</strong> parallele Implementierung auch für <strong>die</strong><br />

Prüfung in den Iterationen j ≥ 2t1 -1<br />

verwendet werden.<br />

Die parallele Implementierung des BMA benötigt<br />

daher lediglich 2t 1 Multiplikationen, <strong>die</strong> bei <strong>ein</strong>em<br />

GF(2 )<br />

14 jedoch <strong>ein</strong>e sehr hohe Komplexität besitzen.<br />

C. Durchschnittliche Anzahl von Iterationen<br />

Die Anzahl der Iterationen <strong>ein</strong>es parallelen oder seriellen<br />

BMA ist konstant und wird durch <strong>die</strong> Fehlerkorrekturfähigkeit<br />

festgelegt. Bei der gemischten parallelen<br />

und seriellen Implementierung hängt <strong>die</strong> Anzahl<br />

der Iterationen von der tatsächlichen Anzahl der<br />

Fehler ab. In <strong>die</strong>sem Abschnitt beschreiben wir, wie<br />

<strong>die</strong> durchschnittliche Anzahl von Iterationen bestimmt<br />

werden kann. Des Weiteren zeigen wir, wie man <strong>ein</strong><br />

optimales t 1 bestimmt.<br />

Sei p( t1<br />

, ε ) <strong>die</strong> bedingte Wahrsch<strong>ein</strong>lichkeit, dass<br />

<strong>die</strong> Anzahl der aufgetretenen Fehler größer als t 1 ist,<br />

gegeben dass mindestens <strong>ein</strong> Fehler auftrat. Die bedingte<br />

Wahrsch<strong>ein</strong>lichkeit hängt von t 1 und der Bitfehlerwahrsch<strong>ein</strong>lichkeit<br />

ε des BSC ab. Die durchschnittliche<br />

Anzahl der Iterationen ist dann<br />

⎢ t + t1<br />

⎥<br />

2<br />

N = ⎢ + p(<br />

t1,<br />

ε ) t<br />

2<br />

⎥<br />

⎣ ⎦<br />

für den binären BCH-Code und<br />

2<br />

N = t + t + 2 p(<br />

t , ε ) t<br />

1<br />

für den nicht binären Code. Für den BSC kann ( t , ε )<br />

angenähert werden durch<br />

Syndrome<br />

parallel<br />

computer BMA<br />

1<br />

S(x)<br />

Abbildung 6: Decoder Architektur für zweistufigen BMA.<br />

p 1<br />

serial<br />

BMA<br />

Buffer<br />

sel<br />

σ(x)<br />

Chien<br />

search<br />

e(x)<br />

n ⎛n<br />

⎞ i 2<br />

∑ ( 1 ) t<br />

i t 1 ⎜<br />

i ⎟<br />

⎟ε<br />

− ε<br />

= 1+<br />

p(<br />

t1,<br />

ε ) ≈<br />

⎝ ⎠<br />

n<br />

1−<br />

( 1−<br />

ε )<br />

wobei der Zähler <strong>die</strong> Wahrsch<strong>ein</strong>lichkeit ist, dass <strong>die</strong><br />

Anzahl der Fehler größer t 1 ist. Der Nenner ist <strong>die</strong><br />

Wahrsch<strong>ein</strong>lichkeit, dass mindestens <strong>ein</strong> Fehler auftritt.<br />

Die mittlere Anzahl von Iterationen sollte <strong>die</strong> Bedingung<br />

N ≤ 2t<br />

erfüllen, um zu gewährleisten, dass<br />

der mittlere Durchsatz nicht reduziert wird.<br />

Um <strong>die</strong> Performanz <strong>ein</strong>er parallel/seriellen BMA<br />

Implementierung darzustellen, betrachten wir <strong>ein</strong> typisches<br />

Beispiel für Flashspeicher. Um <strong>ein</strong>e Sektorgröße<br />

von 1kByte zur Verfügung zu stellen, benötigen wir<br />

<strong>ein</strong>e Codedimension k = 8288 . Dies b<strong>ein</strong>haltet <strong>die</strong><br />

Datenbits sowie zusätzliche Bits, <strong>die</strong> vom Flash-<br />

Controller benötigt werden. Für <strong>die</strong> Zuverlässigkeit<br />

gilt <strong>die</strong> Anforderung, dass <strong>ein</strong> Sektor mit <strong>ein</strong>er Wahr-<br />

-16<br />

sch<strong>ein</strong>lichkeit von höchstens pblock<br />

≤ 10 fehlerhaft<br />

s<strong>ein</strong> darf. In <strong>die</strong>sem Beispiel betrachten wir nun<br />

drei verschiedene BCH-Codes mit unterschiedlichen<br />

Fehlerkorrekturfähigkeiten. Die Parameter sind in<br />

Tabelle 1 zusammengefasst. Da <strong>die</strong> Bitfehlerwahrsch<strong>ein</strong>lichkeit<br />

mit zunehmender Anzahl der Schreibund<br />

Löschzyklen zunimmt, betrachten wir <strong>die</strong> höchste<br />

tolerierbare Bitfehlerwahrsch<strong>ein</strong>lichkeit. In Tabelle I<br />

ist der Wert ε t <strong>die</strong> maximale Bitfehlerwahrsch<strong>ein</strong>lichkeit,<br />

bei der <strong>die</strong> Blockfehlerwahrsch<strong>ein</strong>lichkeit<br />

16<br />

von 10 -<br />

<strong>ein</strong>gehalten werden kann. Der Wert t1 ,opt<br />

ist der optimale Wert für t 1 , bei dem <strong>die</strong> mittlere Iterationsanzahl<br />

minimal ist. Die Verbesserung im Vergleich<br />

zu <strong>ein</strong>er parallelen Implementierung ist in<br />

Abbildung 7 dargestellt. Diese zeigt <strong>die</strong> Reduktion der<br />

Iterationsanzahl t- N für verschiedene Werte von t 1<br />

und t .<br />

37

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!