Parität
Bei Computern ist die Parität (vom lateinischen paritas, gleich oder gleichwertig) eine Technik, die prüft, ob Daten verloren gegangen sind oder überschrieben wurden, wenn sie von einem Speicherort zu einem anderen bewegt oder zwischen Computern übertragen werden.
So funktioniert Parität
Da die Datenübertragung nicht völlig fehlerfrei ist, werden die Daten nicht immer auf die gleiche Weise empfangen, wie sie übertragen wurden. Ein Paritätsbit fügt den Daten Prüfsummen hinzu, die es dem Zielgerät ermöglichen festzustellen, ob die Daten korrekt empfangen wurden.
Eine zusätzliche Binärziffer, das Paritätsbit, wird einer Gruppe von Bits hinzugefügt, die zusammen verschoben werden. Dieses Bit, manchmal auch als Prüfbit bezeichnet, wird nur dazu verwendet, um festzustellen, ob die verschobenen Bits erfolgreich angekommen sind.
Gerades Paritätsbit vs. ungerades Paritätsbit
Es gibt zwei Arten von Paritätsbits:
- Bei der geraden Parität wird die Anzahl der Bits mit dem Wert Eins gezählt. Wenn diese Zahl ungerade ist, wird der Wert des Paritätsbits auf Eins gesetzt, um die Gesamtzahl der Einsen im Satz (einschließlich des Paritätsbits) zu einer geraden Zahl zu machen. Wenn die Anzahl der Bits mit dem Wert Eins gerade ist, wird der Wert des Paritätsbits auf Null gesetzt, so dass die Gesamtzahl der Einsen im Satz (einschließlich des Paritätsbits) eine gerade Zahl bleibt.
- Bei ungerader Parität wird, wenn die Anzahl der Bits mit dem Wert Eins eine gerade Zahl ist, der Wert des Paritätsbits auf Eins gesetzt, so dass die Gesamtzahl der Einsen im Satz (einschließlich des Paritätsbits) eine ungerade Zahl bleibt. Wenn die Anzahl der Bits mit dem Wert Eins ungerade ist, wird der Wert des Paritätsbits auf Null gesetzt, so dass die Gesamtzahl der Einsen im Satz (einschließlich des Paritätsbits) eine ungerade Zahl bleibt.
Auf der Empfangsseite wird jede Gruppe eingehender Bits geprüft, um festzustellen, ob die Summe der Gruppe eine gerade oder ungerade Zahl ergibt. Wenn ein Übertragungsfehler auftritt, wird die Übertragung erneut versucht oder das System wird angehalten und eine Fehlermeldung an den Benutzer gesendet.
Paritätsfehler-Erkennung
Die obige Beschreibung erklärt, wie die Paritätsprüfung innerhalb eines Computers funktioniert. Insbesondere der PCI-Bus und der I/O-Bus-Controller verwenden die ungerade Paritätsmethode der Fehlerprüfung. Die Paritätsbitprüfung ist keine unfehlbare Fehlerprüfmethode, da es möglich ist, dass zwei Bits in einer Übertragung fehlerhaft sind und sich gegenseitig ausgleichen. Bei Übertragungen innerhalb eines Computers wird diese Möglichkeit als äußerst unwahrscheinlich angesehen. In einigen großen Computersystemen, in denen die Datenintegrität als äußerst wichtig angesehen wird, werden drei Bits für die Paritätsprüfung zugewiesen.
Die Paritätsprüfung wird auch bei der Kommunikation zwischen Modems verwendet. Hier kann die Paritätsprüfung gerade (eine erfolgreiche Übertragung bildet eine gerade Zahl) oder ungerade gewählt werden. Benutzer können auch keine Parität wählen, d.h. die Modems übertragen oder prüfen kein Paritätsbit. Wenn keine Parität ausgewählt (oder voreingestellt) ist, wird davon ausgegangen, dass es andere Formen der Prüfung gibt, die etwaige Übertragungsfehler erkennen. Keine Parität bedeutet in der Regel auch, dass das Paritätsbit für Daten verwendet werden kann, wodurch die Übertragung beschleunigt wird. Bei der Modem-zu-Modem-Kommunikation wird die Art der Parität von den sendenden und empfangenden Modems koordiniert, bevor die Übertragung stattfindet.
Paritätsprüfung vs. Error Correction Code (ECC)
Auf der 64-Bit-Wortebene erfordern Paritätsprüfung und Error Correction Code (ECC) die gleiche Anzahl von zusätzlichen Bits. Während die Paritätsprüfung lediglich einen Fehler erkennt - sie hat keine Korrekturmöglichkeiten -, ermöglicht die ECC-Technologie, Fehler nicht nur zu erkennen, sondern auch zu korrigieren. Das bedeutet, dass ein System weiterarbeiten kann, ohne dass Daten beschädigt werden. Im Allgemeinen bietet ECC eine größere Zuverlässigkeit für jedes Computer- oder Telekommunikationssystem, ohne dass dadurch hohe Kosten entstehen.
Parität und RAID
Das Konzept der Parität wird auch beim RAID-Schutz verwendet. RAID-Geräte verwenden erweiterte Formen der Paritätsprüfung wie vertikale und horizontale Parität. Einige RAID-Gruppen - wie RAID 4 oder RAID 5 - haben ein oder mehrere Plattenlaufwerke, die Paritätsinformationen enthalten, die es ihnen ermöglichen, Daten bei einem Laufwerksausfall wiederherzustellen. Beispielsweise streifen Daten bei einem RAID mit doppelter Parität (auch als RAID 6 bekannt) über einen Satz von mindestens vier Laufwerken auf Blockebene, wie bei RAID 5, und schreiben dann einen zweiten Satz von Paritätsdaten über alle Laufwerke.
Dieser Ansatz schützt vor Datenverlust bei bis zu zwei ausgefallenen Laufwerken. Zu den Nachteilen von RAID mit doppelter Parität gehören die Verwendung eines komplexen Controllers, die Kosten für zwei zusätzliche Laufwerke für die Implementierung und langsamere Schreibvorgänge aufgrund des zusätzlichen Paritätssatzes.
Wenn Daten in eine RAID-Gruppe geschrieben werden, haben sie immer die richtige Parität, da sie verschiedene Fehlerprüfungsalgorithmen durchlaufen haben. Auf diese Weise verwendet das System bei Ausfall eines Laufwerks in der RAID-Gruppe die Informationen über die verbleibenden Festplatten zusammen mit den Paritätsinformationen, um die Daten auf der ausgefallenen Festplatte auf einer Ersatzplatte wiederherzustellen.
Wie geschieht dies? Wenn die RAID-Gruppe eine gerade Parität verwendet, kann sie herausfinden, was sich auf der ausgefallenen Festplatte befand, indem sie die Bits auf den verbleibenden Festplatten addiert. Wenn sich die Daten auf den verbleibenden Laufwerken zu einer ungeraden Zahl addieren, müssen die Informationen auf dem ausgefallenen Laufwerk eine Eins gewesen sein, um die gerade Parität aufrechtzuerhalten. Wenn sich die Daten auf den verbleibenden Laufwerken zu einer geraden Zahl addieren, müssen die Daten auf dem ausgefallenen Laufwerk eine Null gewesen sein, um eine gerade Parität zu erhalten.