Paritätsbit

Ein Paritätsbit (Parity Bit) wird an die eigentliche Information (Informationswort) angehängt und dient der Fehlerkontrolle bzw. Fehlerkorrektur.

Parität 
Bei der Parität handelt es sich um die Anzahl der mit einer 'Eins' belegten Bits im Informationswort. Ist diese Anzahl gerade, so bezeichnet man die Parität als 'Even', bei einer ungeraden Anzahl von Einsen im Informationswort  wird die Parität als 'Odd' (Odd Parity) oder Ungerade Parität bezeichnet. 

Even-Parity-Protokoll, Odd-Parity-Protokoll
Man unterscheidet zwei Paritäts-Protokolle: Even-Parity und Odd-Parity.  Bei Even-Parity wird bei einer geraden Zahl von Einsen im Informationswort (z.B. 00110110) als Paritätsbit eine 'Null' angehängt, so dass das Codewort dann 00110110 0 ist. 

Bei Odd-Parity wird bei einer geraden Zahl von Einsen im Informationswort (wieder 00110110) eine 'Eins' als Paritätsbit angehängt, das Codewort ist dann folglich 00110110 1. Dieser Sachverhalt ist für ungerade Informationswörter (Datenpakete)  also analog: bei einer Paritätssumme mit ungerader Anzahl Einsen wird bei Even-Parity eine 'Eins' angehängt so daß als Codewort dann eine Even-Parity resultiert und entsprechend bei Odd-Parity eine 'Null'.  Mit Even-Parity (Odd Parity) ist eine gerade (ungerade) Anzahl Einsen innerhalb des aus Informationswort und Paritätsbit zusammengesetzten Codewortes gemeint. 

Codewort
Ein Codewort entsteht bei der Paritätskontrollcodierung, indem an das Informationswort ein Paritätsbit angehängt wird.  Beim Übermittler werden alle Bits der Informationswörter modulo N addiert, so dass man bis zu N Bitfehler erkennen kann. Diese Methode der Fehlererkennung wird Paritätsprüfung genannt. Sie beinhaltet noch keine Fehlerkorrektur.  Der Empfänger berechnet ebenfalls die Parität und kann Abweichungen anhand der Codewörter (Parity-Check-Code) feststellen.  Wenn das Paritätsbit immer eine Eins ist, so bezeichnet man die Parität als 'Mark-Parity', ist es immer eine Null, so bezeichnet man die Parität als 'Space-Parity'. 

Fehlerkorrektur, Blockcodes
Um eine Fehlerkorrektur einzuführen werden verschiedene Blockcodes (Low-Density-Parity-Check-Code, Hamming-Code) verwendet. Dazu werden dem Informationswort mehrere Paritätsbits angehängt, aus dem dann das Codewort  erzeugt wird. Damit nicht nur eine Fehlererkennung sondern auch eine Fehlerkorrektur möglich ist, werden den einzelnen Parity-Bits pro Datenblock einzelne unterschiedliche Teile des Nutzdatenblocks eingerechnet.  Die Auswahl der einzurechnenden Bits des Nutzdatenblocks erfolgt nach verschiedenen Kriterien welche die linearen Unabhängigkeiten der Paritybits sicherstellen.                             
Siehe auch:    RAID   Front-Side-Bus   Debugging   Bit   Hamming-Code   Exklusives-ODER   

  Exklusives-ODER
 Logische-Grundschaltungen: EXclusives ODER  (EXOR)  Logische-Grundschaltungen: EXclusives ODER  (EXOR)
Exklusives ODER bedeutet: Entweder A oder B. (Boolesche Algebra XOR, EOR, Antivalenz oder Kontravalenz). XOR-Verknüpfung zweier Bits: 0 XOR 0 = 0, 0 XOR 1 = 1, 1 XOR 0 = 1, 1 XOR 1 = 0.  Das Besondere an dem XOR Operator ist, dass das Ergebnis symmetrisch (umkehrbar) ist. Dieser Umstand wird z. B. in der Kryptografie ausgenutzt: beim Verschlüsseln und Entschlüsseln kann die gleiche Funktion verwendet werden. Eine weitere Anwendung  sind RAID-Systeme. Verknüpfungstabelle (Beispiel:) 101 XOR 011 = 110 → 110 XOR 011 = 101 → 110 XOR 101 = 011.  Kryptografie: Der Klartext 101 wird mit dem Schlüssel 011 XOR-verknüpft. Ergebnis ist 110. Zum Entschlüsseln wird 110 mit dem Schlüssel 011 XOR-verknüpft. Ergebnis ist Klartext 101.  Anwendung bei RAID-Systemen:  2 Bitfolgen 101 und 011, aus denen mit einer XOR-Verknüpfung die Parität gebildet wird: 110. Falls die erste Bitfolge (101) verloren geht, kann sie wiederhergestellt werden, indem die zweite Bitfolge (011) mit der Parität XOR-verknüpft wird.                                               
Siehe auch:    ODER-Verknüpfung   UND-Verknüpfung   Boolesche-Algebra   NAND-Gatter   Zahlensysteme   Kryptografie   RAID   Paritätsbit   

  RAID
RAID Level 5 mit verteilten Parity-Blöcken RAID Level 5 mit verteilten Parity-Blöcken
Redundant Array of Inexpensive (oder Independent) Disks (entwickelt in Berkeley 1987): durch Zusammenschluss mehrerer physikalischer Festplatten wird ein stabileres Logisches Laufwerk erreicht. Ergebnis: Erhöhung der Datensicherheit durch  Redundanz, Steigerung der Transferraten und der Aufbau grosser logischer Laufwerke. Zu diesem Zweck teilen sich mehrere Festplatten Daten (so dass sie gleichzeitig von mehreren Festplatten geliefert werden können → Performance)  oder sie speichern sie doppelt (Sicherheit, Redundanz). Realisiert wird dies durch Hardware- oder Software-RAID-Controller.

RAID-Level 0-2:
RAID 0:  2 oder mehr Festplatten werden zu einer logischen Platte verbunden. RAID 0 ist eigentlich kein RAID, fällt eine Platte aus, so sind alle Daten weg. Vorteil: bessere Verteilung, schneller.  RAID 1 (Mirroring/Duplexing): Parallele Speicherung aller Daten auf 2 Platten. RAID 2: Verwendung von Hamming Codes (Fehlerkorrekturcode durch den Hamming-Algorithmus: Error Correction Code (ECC))  zur Steigerung der Fehlertoleranz.

RAID-Level 3 und 4:
RAID 3: Speicherung von Prüfsummen unter Verwendung  von XOR-Operationen (Paritäten). Die Prüfsummen (Parity) werden für jede Datenreihe angelegt: ein Parity Byte (Prüfbyte) wird auf einer weiteren Festplatte, der Parity-Platte im Disk Array abgelegt.  Die Parity oder Fehlerkorrektur wird durch eine XOR Verknüpfung erstellt. Nachdem die Nutzdaten auf mindestens 2 Laufwerke verteilt wurden (Stripping) werden diese mit dem XOR-Operator verknüpft. Die XOR-Operation ist ein Bit-weiser  Vergleich der Daten: wenn in einer Reihe eine ungerade Anzahl von Einsen steht, so ist das Ergebnis eine 1, ansonsten eine 0. Beispiel: Platte 1: 1001010 Platte 2: 0011011 Parity: 1010001. Wenn eine  der beiden Platten P1 oder P2 ausfällt ist eine Rekonstruktion mit Hilfe der Parity Platte möglich. Auch die Parity Platte kann rekonstruiert werden, falls sie ausfällt. Fallen jedoch 2 Platten aus, so ist keine Rekonstruktion mehr möglich. 

RAID 4: mehrere READ/WRITE Operationen gleichzeitig möglich. Die Daten werden nicht in Bytes sondern in Blöcke aufgeteilt (8, 16, 32, 64 oder 128 KB). RAID 4 eignet sich nur bei grossen, zusammenhängenden Datenmengen, da sonst zu oft auf den  Parity Block zugegriffen werden muss.

RAID-Level 5:
RAID 5 benötigt mindestens 3 Festplatten.  Jeder Sektor wird um eine Prüfsumme erweitert und auf alle Platten verteilt. Bei Ausfall ist eine Platte rekonstruierbar. Die Parity-Daten werden also nicht auf einer separaten Parity Platte gespeichert, sondern auf alle  Festplatten mit Nutzdaten verteilt und in ein Array (Parity Block) geschrieben. Da das Parity Laufwerk entfällt, wird es auch nicht ständig kontaktiert. RAID 5 bietet sowohl bessere Performance als auch Redundanz und ist die am weitesten  verbreitete Variante. Beim Lesen sind die Parity-Informationen nicht notwendig, alle Platten stehen also parallel zur Verfügung. Die nutzbare Gesamtkapazität errechnet sich aus: Kapazität der kleinsten Platte im Array * (Anzahl der Platten -1).  Der Ausfall einer Platte wird bei RAID 5 immer abgefangen. Bei der Rekonstruktion (Rebuild) der Daten auf der Hotspare-Platte (Ersatzfestplatte die bei Ausfall automatisch eingebunden wird) bzw. nach Austausch der defekten Platte lässt die Leistung  jedoch zunächst deutlich nach, da viele zusätzliche Zugriffe notwendig werden (Rekonstruktion beim Lesen und Schreiben und zusätzliche Zugriffe des Rebuild-Vorganges).  Eine Verbesserung ist daher präemptives RAID 5: mit Hilfe von internen Fehlerkorrekturstatistiken, z. B. mit S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology), wird versucht, die Ausfallwahrscheinlichkeit einer  Platte zu berechnen. Die Daten derjenigen Platte, die am wahrscheinlichsten ausfallen wird, werden dann vorsorglich auf der Hotspare-Platte synchronisiert.

RAID-Level 6 und 7 
RAID 6: funktioniert ähnlich wie RAID 5. Es werden mind. 4 Platten benötigt. Es kann jedoch der Ausfall von 2 Festplatten abgefangen werden. Es werden nicht ein, sondern zwei Fehlerkorrekturwerte berechnet. Diese werde über alle Platten verteilt.  Der Rechenaufwand bei den XOR-Operationen und einer eventuellen Resynchronisation ist jedoch höher als bei RAID 5. Die Paritätsbits müssen über mehrere Daten-Zeilen berechnet werden. Die Berechnungen der Resynchronisation erfolgen über Matrizen und  Untermatrizen.
RAID 7: Wie RAID 5, nur läuft im Controller ein lokales Echtzeitbetriebssystem, das Lese- und Schreiboperationen steuert. RAID 7 wird selten verwendet. 

Kombinations-RAIDs:
Kombinations-RAIDs sind Zusammenfassungen von RAID-Systemen zu einem weiteren RAID.  Beispielsweise können mehrere RAID 0 Systeme zu einem RAID 0 Array zusammengefasst werden, und mehrere RAID 0 Arrays zu einem RAID 5 Array.           
Siehe auch:    Exklusives-ODER   Festplatte   ATA   S-ATA-II   SCSI   Datensicherung   Jumper   NCQ   Hamming-Code   Paritätsbit