Definition

Parität

Was ist Parität in Computing?

In der Informatik ist die Parität (vom lateinischen paritas, was gleich oder gleichwertig bedeutet) eine Technik, mit der überprüft wird, ob Datenvlust vorliegt oder ob sie von einem Speicherort zu einem anderen verschoben oder zwischen Computern übertragen wurden.

Parität bezieht sich im Allgemeinen auf den Zustand der Gleichheit oder Gleichwertigkeit zwischen zwei oder mehreren Dingen: Menschen, Preise, Kaufkraft und mathematische Funktionen. In der Informatik ist die Parität die Eigenschaft eines Bytes von Daten – gespeichert im Arbeitsspeicher eines Computers –, gerade oder ungerade zu sein. Aus diesem Grund wird sie auch als RAM-Parität bezeichnet.

Dieser Begriff wird gewöhnlich im Zusammenhang mit einem Paritätsbit verwendet, das ein redundantes Prüfbit ist und zur Validierung von Daten und zum Auffinden von Fehlern bei der Datenübertragung dient. Die Aufgabe des Paritätsbits besteht darin, dem Datenempfänger zu helfen, Fehler zu erkennen, die bei der Übertragung dieser Daten aufgetreten sein könnten. Die Paritätsprüfung wird auch als vertikale Redundanzprüfung oder VRC (Vertical Redundancy Check) bezeichnet.

Die Funktionsweise der Parität 

Da die Datenübertragung nicht völlig fehlerfrei ist, werden die Daten nicht immer so empfangen, wie sie gesendet wurden. Ein Paritätsbit fügt Prüfsummen in die Daten ein, mit deren Hilfe das Zielgerät feststellen kann, ob die Daten korrekt empfangen wurden.

Eine zusätzliche Binärziffer, das Paritätsbit, wird zu einer Gruppe von Bits hinzugefügt, die zusammen verschoben werden. Dieses Bit, das manchmal auch als Prüfbit bezeichnet wird, wird nur verwendet, um festzustellen, ob die verschobenen Bits erfolgreich angekommen sind.

Was ist ein Paritätsbit?

Ein Paritätsbit ist ein einzelnes Datenbit, das an eine binäre Zeichenfolge angehängt wird. Sein Wert kann entweder 0 oder 1 sein. Je nachdem, welchen Wert es hat, ist die Summe aller Datenbits gerade oder ungerade.

Wenn das Paritätsbit ungerade ist und der Bitstrom eine gerade Anzahl von 1en enthält, ist die Gesamtzahl ungerade, so dass der Computer einen Fehler produziert. Wenn das Paritätsbit gerade ist und der Bitstrom eine ungerade Anzahl von 1en enthält, wird ebenfalls ein Fehler erzeugt, was eine gerade Zahl ergibt.

Für jeweils acht Bits der eigentlichen Daten wird die Länge der Datenkette durch Hinzufügen eines Paritätsbits auf neun Bits erweitert. Dieses zusätzliche Bit wird in einem zusätzlichen individuellen Speicherchip gespeichert.

Die Bedeutung von Parität und Paritätsbits

Eine Paritätsprüfung mit Hilfe eines Paritätsbits ist besonders dann sinnvoll, wenn bei der Übertragung oder beim Lesen von Daten aus einem Speichergerät auf Fehler geprüft werden muss. Solche Fehler treten häufig auf, weil Datenbits von einer 1 zu einer 0 oder umgekehrt wechseln können und dies auch tun. Dies wird als Bitflipping bezeichnet.

Das Paritätsbit kann solche Fehler erkennen, indem es Unstimmigkeiten bei der Übertragung identifiziert und prüft, ob die Anzahl der empfangenen Datenbits mit der erwarteten Parität übereinstimmt. Gibt es keine Übereinstimmung, wird ein Fehler erzeugt. Wenn zum Beispiel eine Binärsequenz eine gerade Parität hat, aber die Gesamtzahl der Einsen nicht gerade ist, könnte dies auf einen Fehler hindeuten.

Gerades Paritätsbit und ungerades Paritätsbit im Vergleich

Es gibt zwei Arten von Paritätsbits.

Bei gerader Parität wird die Anzahl der Bits mit einem Wert von 1 gezählt. Wenn diese Zahl ungerade ist, wird der Wert des Paritätsbits auf 1 gesetzt, damit die Gesamtzahl der Einsen im Satz, einschließlich des Paritätsbits, eine gerade Zahl ist. Ist die Anzahl der Bits mit einem Wert von 1 gerade, wird der Wert des Paritätsbits auf 0 gesetzt, so dass die Gesamtzahl der Einsen in der Menge, einschließlich des Paritätsbits, eine gerade Zahl bleibt.

Abbildung 1: Um festzustellen, ob bei der Datenübertragung ein Fehler aufgetreten ist, kann mit Hilfe eines Paritätsbits - einer zusätzlichen Binärziffer, die zu den Bits in einer Datenübertragung hinzugefügt wird - überprüft werden, ob die empfangenen Daten mit den ursprünglichen Daten übereinstimmen. Paritätsbits können für gerade oder ungerade Parität eingestellt werden.
Abbildung 1: Um festzustellen, ob bei der Datenübertragung ein Fehler aufgetreten ist, kann mit Hilfe eines Paritätsbits - einer zusätzlichen Binärziffer, die zu den Bits in einer Datenübertragung hinzugefügt wird - überprüft werden, ob die empfangenen Daten mit den ursprünglichen Daten übereinstimmen. Paritätsbits können für gerade oder ungerade Parität eingestellt werden.

Bei ungerader Parität wird, wenn die Anzahl der Bits mit dem Wert 1 eine gerade Zahl ist, der Wert des Paritätsbits auf 1 gesetzt, damit die Gesamtzahl der Einsen in der Menge, einschließlich des Paritätsbits, eine ungerade Zahl ist. Wenn die Anzahl der Bits mit dem Wert 1 ungerade ist, wird der Wert des Paritätsbits auf 0 gesetzt, so dass die Gesamtzahl der Einsen in der Menge, einschließlich des Paritätsbits, eine ungerade Zahl bleibt.

In beiden Fällen wird jede Gruppe eingehender Bits auf der Empfängerseite geprüft, um festzustellen, ob die Gruppe insgesamt eine gerade oder ungerade Zahl ergibt. Tritt ein Übertragungsfehler auf, wird die Übertragung wiederholt, oder das System hält an und sendet eine Fehlermeldung an den Benutzer.

Bei der Wahl des Paritätsbits gibt es keinen richtigen oder falschen Wert. Die Wahl hängt vom System oder der Anwendung und den spezifischen Anforderungen ab.

Anwendungen der Paritätsfehlererkennung

In der vorangegangenen Beschreibung wurde erläutert, wie die Paritätsprüfung in einem Computer funktioniert. Insbesondere der Peripherie-Bus und der I/O-Bus-Controller verwenden die Methode der ungeraden Parität zur Fehlerprüfung.

Die Paritätsbitprüfung ist keine unfehlbare Fehlerprüfungsmethode, da es möglich ist, dass zwei Bits in einer Übertragung fehlerhaft sind und sich gegenseitig ausgleichen. Bei Übertragungen innerhalb eines PCs wird diese Möglichkeit als äußerst unwahrscheinlich angesehen. In einigen großen Computersystemen, in denen die Datenintegrität extrem wichtig ist, werden drei Bits für die Paritätsprüfung verwendet.

Die Paritätsprüfung wird auch bei der Kommunikation zwischen Modems verwendet. Hier kann die Paritätsprüfung als gerade – eine erfolgreiche Übertragung ergibt eine gerade Zahl – oder ungerade gewählt werden. Der Benutzer kann auch keine Parität wählen, was bedeutet, dass die Modems kein Paritätsbit übertragen oder prüfen. Wenn keine Parität ausgewählt oder voreingestellt ist, wird davon ausgegangen, dass es andere Formen der Überprüfung gibt, die eventuelle Fehler bei der Übertragung erkennen. Keine Parität bedeutet normalerweise auch, dass das Paritätsbit für Daten verwendet werden kann, was die Übertragung beschleunigt. Bei der Modem-zu-Modem-Kommunikation wird die Art der Parität von dem sendenden und dem empfangenden Modem vor der Übertragung koordiniert.

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 zum Beispiel RAID 4 oder RAID 5, verfügen über ein oder mehrere Laufwerke, die Paritätsinformationen enthalten, mit denen sie bei einem Laufwerksausfall Daten wiederherstellen können.

Bei RAID mit doppelter Parität, auch bekannt als RAID 6, werden die Daten wie bei RAID 5 auf Blockebene über mindestens vier Laufwerke verteilt, wobei jedoch ein zweiter Satz von Paritätsdaten auf alle Laufwerke geschrieben wird. Dieser Ansatz schützt vor Datenverlusten 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 Schreibtransaktionen aufgrund des zusätzlichen Paritätssatzes.

Abbildung 2: Es gibt verschiedene RAID-Levels. Einer dieser Level ist RAID 6, auch bekannt als Double-Parity-RAID. Bei RAID 6 werden die Daten auf mindestens vier und maximal 32 Festplatten verteilt. Datenstriping mit doppelter Parität bedeutet, dass es zwei gleichzeitige Festplattenausfälle bewältigen kann.
Abbildung 2: Es gibt verschiedene RAID-Levels. Einer dieser Level ist RAID 6, auch bekannt als Double-Parity-RAID. Bei RAID 6 werden die Daten auf mindestens vier und maximal 32 Festplatten verteilt. Datenstriping mit doppelter Parität bedeutet, dass es zwei gleichzeitige Festplattenausfälle bewältigen kann.

Wenn Daten in eine RAID-Gruppe geschrieben werden, haben sie immer die richtige Parität, da sie verschiedene Algorithmen zur Fehlerprüfung durchlaufen haben. Wenn also ein Laufwerk im RAID-Verbund ausfällt, verwendet das System die Informationen auf den verbleibenden Festplatten zusammen mit den Paritätsinformationen, um die Daten auf dem ausgefallenen Laufwerk auf einem Ersatzlaufwerk wiederherzustellen.

Wie wird dies erreicht? Wenn die RAID-Gruppe eine gerade Parität verwendet, kann sie durch Addition der Bits auf den verbleibenden Laufwerken herausfinden, was auf dem ausgefallenen Laufwerk war. Wenn die Daten auf den verbleibenden Laufwerken eine ungerade Zahl ergeben, muss die Information auf dem ausgefallenen Laufwerk eine Eins gewesen sein, um eine gerade Parität zu erhalten. Ergeben die Daten auf den verbleibenden Laufwerken eine gerade Zahl, müssen die Daten auf dem ausgefallenen Laufwerk eine Null gewesen sein.

Paritätsprüfung vs. Fehlerkorrekturcode und zyklische Redundanzprüfung

Die Paritätsprüfung ist nicht die einzige Methode zur Fehlererkennung in der Datenverarbeitung.

Abbildung 3: Die Funktionsweise von Error Correction schematisch erklärt.
Abbildung 3: Die Funktionsweise von Error Correction schematisch erklärt.

Auf der 64-Bit-Wortebene benötigen die Paritätsprüfung und der Fehlerkorrekturcode (Error Correction Code, ECC) die gleiche Anzahl zusätzlicher Bits. Während bei der Paritätsprüfung lediglich ein Fehler erkannt wird – sie verfügt nicht über Korrekturmöglichkeiten –, ermöglicht die ECC-Technologie die Erkennung und Korrektur von Fehlern. Das bedeutet, dass ein System weiterarbeiten kann, ohne dass die Daten beschädigt werden. Im Allgemeinen bietet ECC eine größere Zuverlässigkeit für jedes Computer- oder Telekommunikationssystem, ohne dass dies mit zusätzlichen Kosten verbunden ist.

Eine weitere Alternative zu Paritätsbits sind zyklische Redundanzprüfungen oder Prüfsummen, eine Methode, die bei der Erkennung von Mehrfachfehlern helfen kann, insbesondere bei Speichermedien. Bei dieser Methode wird ein Wert oder eine Prüfsumme auf der Grundlage der übertragenen Daten generiert. Die Prüfsumme hat einen festen Wert, wird an die Daten angehängt und dann zusammen mit den Daten verschickt. Beim Empfang der Daten mit der Prüfsumme berechnet der Empfänger den Prüfsummenwert neu und überprüft, ob er mit dem angehängten Wert übereinstimmt. Wenn die berechnete und die empfangene Prüfsumme übereinstimmen, wurden die Daten korrekt übertragen. Eine Nichtübereinstimmung weist auf einen Fehler bei der Datenübertragung hin.

Wenn sowohl Fehlererkennung als auch Fehlerkorrektur erforderlich sind, werden Techniken wie die Forward Error Correction (FEC) anstelle von Paritätsbits verwendet. Ein FEC-Code fügt den übertragenen Daten Redundanz hinzu, so dass der Datenempfänger die ursprüngliche Nachricht auch bei Fehlern rekonstruieren kann. Es ist nicht notwendig, die gesamten Daten erneut zu übertragen, um die Fehler zu korrigieren.

Diese Definition wurde zuletzt im Oktober 2024 aktualisiert

Erfahren Sie mehr über Disk-Systeme