Fehlererkennung und -korrektur

In der Informationstheorie und Codierungstheorie mit Anwendungen in der Informatik und Telekommunikation, Fehlererkennung und Korrektur oder Fehlerkontrolle sind Techniken, die zuverlässige Lieferung von digitalen Daten über unzuverlässige Kommunikationskanäle zu ermöglichen. Viele Kommunikationskanäle unterliegen Rauschkanal, und somit können Fehler während der Übertragung von der Quelle zu einem Empfänger eingeführt werden. Fehlererkennungstechniken erlauben Detektion solcher Fehler, während die Fehlerkorrektur ermöglicht die Rekonstruktion der ursprünglichen Daten in vielen Fällen.

Begriffsbestimmungen

Die allgemeinen Definitionen der Begriffe sind wie folgt:

  • Fehlererkennung ist die Erkennung von Fehlern, die durch Rauschen oder andere Beeinträchtigungen während der Übertragung vom Sender an den Empfänger verursacht.
  • Fehlerkorrektur ist die Erkennung von Fehlern und Rekonstruktion der ursprünglichen, fehlerfreie Daten.

Geschichte

Die berühmteste frühe systematische Einsatz von Fehlererkennung wurde von jüdischen Schriftgelehrten in der genauen Kopieren von der jüdischen Bibel, beginnend vor Christus. Eine Ausrichtung auf kleinste Details der Wörter und Schreibweisen entwickelte sich in der Vorstellung von einem perfekten Text in 135 CE und damit zunehmend gewaltsame Strikturen, die eine Abweichung auch nur einen einzigen Brief wäre eine Torarolle ungültig. Die Schriftgelehrten verwendeten Methoden wie Addition der Anzahl der Wörter pro Zeile und pro Seite, und die Kontrolle der Mittel Absatz, Wort und Buchstabe mit dem Original. Die Seite wurde ausgelöst, wenn ein einziger Fehler gefunden wurde, und drei Fehler auf einer einzelnen Seite würde das gesamte Manuskript zerstört führen. Die Wirksamkeit ihrer Methoden wurde durch die Genauigkeit der Kopiervorgang durch die Jahrhunderte durch die Entdeckung der Schriftrollen von Qumran in 1947-1956 gezeigt, überprüft, aus c.150 BCE-75 CE.

Einbringen

Die Grundidee für die Erreichung Fehlererkennung und -korrektur ist es, eine gewisse Redundanz auf eine Nachricht, die Empfänger verwenden können, um die Konsistenz der gelieferten Nachricht zu überprüfen und Daten bestimmt beschädigt zu sein erholen hinzuzufügen. Fehlererkennung und Korrekturverfahren kann entweder systematisch oder nicht-systematischen sein: In einem systematischen Schema sendet der Sender die ursprünglichen Daten und legt eine festgelegte Anzahl von Prüfbits, die aus den Datenbits von irgendeiner deterministischen Algorithmus ableiten. Wenn nur die Fehlererkennung erforderlich ist, kann ein Empfänger einfach anzuwenden denselben Algorithmus auf die empfangenen Datenbits mit den empfangenen Prüfbits vergleichen seinem Ausgang; wenn die Werte nicht übereinstimmen, ist ein Fehler an einem bestimmten Punkt während der Übertragung aufgetreten ist. In einem System, das einen nicht-systematischen Code verwendet, wird die ursprüngliche Nachricht in eine kodierte Nachricht, die mindestens so viele Bits wie die ursprüngliche Nachricht hat umgewandelt.

Gute Fehlersteuerleistung benötigt, das System auf der Basis der Eigenschaften des Kommunikationskanals ausgewählt werden. Zentralkanalmodelle umfassen speicherlosen Modelle, bei denen Fehler auftreten zufällig und mit einer gewissen Wahrscheinlichkeit, und dynamische Modelle, bei denen Fehler auftreten, vor allem in Bursts. Folglich Fehlererkennungs- und Korrektur-Codes können in der Regel unterschieden Zufallsfehler-Erfassungs sein / Korrektur und Burstfehler-Erfassungs / Korrektur. Einige Codes können auch für eine Mischung aus Zufallsfehler und Bündelfehler sein.

Wenn die Kanalkapazität kann nicht bestimmt werden, oder sehr variabel ist, kann ein Fehler-Detektionsschema mit einem System für die Weiterübertragung von fehlerhaften Daten kombiniert werden. Dies ist als automatische Wiederholungsanforderung bekannt und wird vor allem im Internet verwendet wird. Ein alternativer Ansatz zur Fehlerkontrolle ist hybride automatische Wiederholungsanforderung, die eine Kombination von ARQ und Fehlerkorrektur-Codierung ist.

Durchführung

Fehlerkorrektur grundsätzlich auf zwei verschiedene Arten realisiert werden:

  • Automatic Repeat Request: Dies ist eine Technik, bei der Fehlerkontrolle ein Fehlererkennungsschema wird bei der Reservierung von Neuübertragung von fehlerhaften Daten kombiniert. Jeder Block von empfangenen Daten unter Verwendung des Fehlererkennungscodes verwendet wird überprüft und, wenn die Überprüfung fehlschlägt, wird ein erneutes Senden der Daten angefordert hat - dies kann wiederholt durchgeführt werden, bis die Daten bestätigt werden.
  • Vorwärtsfehlerkorrektur: Der Absender verschlüsselt die Daten unter Verwendung eines Fehlerkorrekturcode vor der Übertragung. Die Zusatzinformation eingestellt vom Code wird von dem Empfänger verwendet, um die ursprünglichen Daten wiederherzustellen. In der Regel ist die rekonstruierten Daten Was ist die "wahrscheinlichste" Originaldaten gelten.

ARQ und FEC können kombiniert werden, so dass kleine Fehler werden ohne erneute Übertragung korrigiert, und größere Fehler über eine Anforderung für eine erneute Übertragung korrigiert: dies wird als hybride automatische Wiederholungsanforderung.

Fehlererkennungssysteme

Fehlererkennung wird üblicherweise unter Verwendung einer geeigneten Hash-Funktion realisiert. Eine Hash-Funktion fügt eine feste Länge-Tag auf eine Nachricht, die Empfängern ermöglicht, die zugestellte Nachricht durch Neuberechnung der Tag und der Vergleich mit dem einen zu überprüfen.

Es gibt eine Vielzahl von unterschiedlichen Hash-Funktion-Designs. Aber einige sind besonders weit verbreitet, weil entweder ihre Einfachheit und ihre Eignung zum Nachweis von bestimmten Arten von Fehlern.

Zufallsfehlerkorrekturcodes basierend auf minimalen Abstand Codierung kann eine geeignete Alternative zu Hash-Funktionen, wenn eine strikte Garantie für die minimale Anzahl von Fehlern zu erfassen ist, erwünscht ist. Wiederholungscodes, wie unten beschrieben, sind Spezialfälle von Fehlerkorrekturcodes: Obwohl ziemlich ineffizient, Anwendungen sowohl für Fehlerkorrektur und Erkennung finden sie wegen ihrer Einfachheit.

Wiederholungscodes

Ein Wiederholungscode ist ein Codierungsschema, das die Bits wiederholt über einen Kanal, um eine fehlerfreie Kommunikation zu erreichen. Bei einem Strom von zu übertragenden Daten, werden die Daten in Blöcke von Bits unterteilt. Jeder Block eine vorbestimmte Anzahl von Malen gesendet. Um zum Beispiel das Bit-Muster "1011" zu senden, kann das Vier-Bit-Block drei Mal wiederholt werden, wodurch die Herstellung von "1011 1011 1011". Wenn dies jedoch Zwölf-Bit-Muster als "1010 1011 1011" erhalten - wobei der erste Block ist im Gegensatz zu den beiden anderen - kann festgestellt, daß ein Fehler aufgetreten ist.

Wiederholung Codes sehr ineffizient und können störanfällig sein, wenn der Fehler in genau der gleichen Stelle für jede Gruppe auftritt. Der Vorteil der Wiederholung-Codes ist, dass sie extrem einfach, und sind in der Tat in einigen Übertragungen von Zahlen Stationen eingesetzt.

Paritätsbits

Ein Paritätsbit ist ein Bit, das einer Gruppe von Quellen Bits addiert wird, um sicherzustellen, daß die Anzahl der gesetzten Bits in dem Ergebnis gerade oder ungerade ist. Es ist ein sehr einfaches Schema, das verwendet werden kann, um zu detektieren einzelne oder eine andere ungerade Zahl von Fehlern in der Ausgabe. Eine gerade Anzahl von Bits gekippt machen das Paritätsbit korrekt, auch wenn die Daten fehlerhaft angezeigt.

Erweiterungen und Variationen der Paritätsbit Mechanismus horizontal Redundanzprüfungen, vertikalen Redundanzprüfungen und "Doppel", "Dual" oder "diagonalen" Parität.

Prüfsummen

Eine Prüfsumme der Nachricht ist eine modulare arithmetische Summe von Nachrichtencodewörter eine feste Wortlänge. Die Summe kann mit Hilfe eines ones'-Komplementoperation vor der Übertragung negiert werden, um Fehler in resultierenden All Zero-Nachrichten zu detektieren.

Checksum Regelungen gehören Paritätsbits, Prüfziffern und Längsredundanzprüfungen. Einige Prüfsumme Systeme wie der Damm-Algorithmus, der Luhn-Algorithmus und der Algorithmus Verhoeff, sind speziell für die Fehler häufig von Menschen eingeführt in aufzuschreiben oder sich erinnert, Identifikationsnummern zu erkennen.

Cyclic Redundancy Check

Eine zyklische Redundanzprüfung ist ein Single-Burstfehler-Erfassungs zyklischen Code und nicht-sichere Hash-Funktion entwickelt, um versehentliche Änderungen der digitalen Daten in Computernetzen zu erfassen. Es ist nicht geeignet zum Nachweis von böswillig eingeführten Fehler. Es wird durch Angabe eines sogenannten Generatorpolynom, das als Divisor in einer polynomdivision über einem endlichen Körper verwendet wird, wobei die Eingangsdaten als Dividend und wo der Rest wird das Ergebnis.

Zyklische Codes haben günstige Eigenschaften, dass sie zur Detektion von Burstfehlern eignen. CRCs lassen sich besonders leicht in Hardware zu implementieren, und werden daher häufig in digitalen Netzwerken und Speichergeräte wie Festplattenlaufwerke verwendet wird.

Gerade Parität ist ein Spezialfall einer zyklischen Redundanzprüfung, in dem die Ein-Bit-CRC wird mit dem Divisor x + 1 erzeugt wird.

Kryptografische Hash-Funktionen

Die Ausgabe einer kryptographischen Hash-Funktion, auch als Nachrichtenauswahl bekannt ist, können starke Sicherheit bezüglich der Datenintegrität bereitzustellen, ob Änderungen der Daten versehentlichen oder böswillig eingeführt sind. Jede Änderung der Daten wird wahrscheinlich durch eine Fehlanpassung Hash-Wert ermittelt werden. Außerdem wurde auf Grund einige Hash-Wert, ist es unmöglich, einige Eingabedaten, die den gleichen Hash-Wert zu erhalten finden. Wenn ein Angreifer nicht nur die Botschaft, sondern auch den Hash-Wert zu ändern, dann kann eine keyed Hash oder Message Authentication Code für die zusätzliche Sicherheit verwendet werden. Ohne Kenntnis des Schlüssels, ist es unmöglich für den Angreifer, um den korrekten verschlüsselten Hash-Wert für eine modifizierte Nachricht zu berechnen.

Fehlerkorrekturkodes

Jeder Fehlerkorrekturcode zur Fehlererkennung verwendet werden. 1 Fehler in einem Codewort - ein Code mit einer minimalen Hamming-Distanz d bis zu d zu erkennen. Verwendung Minimalabstandsbasierten Fehlerkorrekturcodes zur Fehlerdetektion kann geeignet sein, wenn eine strikte Begrenzung der minimalen Anzahl von Fehlern erkannt werden gewünscht wird.

Codes mit einer minimalen Hamming-Distanz d = 2 sind degenerierte Fälle von Fehlerkorrekturcodes, und kann verwendet werden, um einzelne Fehler zu erfassen. Das Paritätsbit ist ein Beispiel für einen Einzelfehler-Erfassungscodes.

Fehler Korrektur

Automatic Repeat Request

Automatic Repeat Request ist ein Fehlersteuerverfahren für die Datenübertragung, die Verwendung von Fehlererkennungscodes, Anerkennung und / oder negativen Bestätigungsnachrichten, und Timeouts macht, um eine sichere Datenübertragung zu erreichen. Eine Bestätigung ist eine Nachricht durch den Empfänger gesendet, um anzuzeigen, daß er einen Datenrahmen korrekt empfangen wird.

Normalerweise, wenn der Sender nicht empfängt die Bestätigung, bevor der Zeitablauf auftritt, sendet es den Rahmen, bis es entweder korrekt empfangen oder der Fehler weiterhin über eine vorgegebene Anzahl von Sendewiederholungen.

Drei Typen von ARQ-Protokolle sind Stop-and-Wait-ARQ, Go-Back-N ARQ und Selective Repeat ARQ.

ARQ ist geeignet, wenn der Kommunikationskanal hat unterschiedliche oder unbekannte Kapazität, wie zum Beispiel der Fall ist, über das Internet. ARQ erfordert jedoch die Verfügbarkeit einer Rückkanal, führt möglicherweise erhöhte Latenz durch Übertragungs und erfordert die Aufrechterhaltung von Puffern und Zeitgeber für die Weiterübertragung, die im Falle einer Netzwerküberlastung kann eine Belastung auf dem Server und Gesamtnetzkapazität gesetzt.

ARQ auf Kurzwelle Datenverbindungen in Form von ARQ-E oder in Kombination mit Multiplexen als ARQ-M.

Fehlerkorrekturcode

Ein Fehlerkorrekturcode oder eine Vorwärtsfehlerkorrekturcode ist ein System zum Hinzufügen redundanter Daten oder Paritätsdaten, einer Nachricht, so dass sie von einem Empfänger wiedergewonnen, selbst wenn eine Anzahl von Fehlern eingeführt werden, entweder während des Prozesses der Übertragung oder bei der Lagerung. Da der Empfänger nicht über den Absender für die erneute Übertragung der Daten fragen, wird ein Rückkanal nicht in eine Vorwärtsfehlerkorrektur erforderlich ist, und es ist daher für Einweg-Kommunikation, wie beispielsweise Rundfunk. Fehlerkorrekturcodes werden häufig in der unteren Schicht die Kommunikation für die zuverlässige Speicherung in Medien wie CDs, DVDs, Festplatten und RAM verwendet, sowie.

Fehlerkorrekturcodes werden in der Regel zwischen Faltungscodes und Blockcodes zu unterscheiden:

  • Faltungscodes sind auf einer Bit-für-Bit-Basis verarbeitet. Sie sind besonders geeignet für eine Implementierung in Hardware, und der Viterbi-Decoder erlaubt eine optimale Decodierung.
  • Blockcodes werden auf einer Block-für-Block-Basis verarbeitet. Frühe Beispiele von Blockcodes sind Wiederholungscodes, Hamming-Codes und mehrdimensionale Paritätsprüfung-Codes. Sie wurden durch eine Reihe von effizienten Codes gefolgt, Reed-Solomon-Codes als die bemerkenswerteste aufgrund ihrer derzeit weit verbreitete Anwendung. Turbo-Codes und Low-Density-Parity-Check-Codes sind relativ neue Konstruktionen, die fast optimale Effizienz bieten können.

Shannon-Theorem ist ein wichtiger Satz in eine Vorwärtsfehlerkorrektur, und beschreibt den maximalen Informationsrate, mit der eine zuverlässige Kommunikation möglich ist über einen Kanal, der eine bestimmte Fehlerwahrscheinlichkeit oder Signal-Rausch-Verhältnis aufweist. Diese strikte Obergrenze in Bezug auf die Kanalkapazität ausgedrückt. Genauer gesagt, spricht der Satz, daß existieren Codes derart, dass mit zunehmender Länge-Kodierung die Fehlerwahrscheinlichkeit auf einem diskreten gedächtnislosen Kanal kann beliebig klein gemacht werden, vorausgesetzt, dass die Coderate kleiner als die Kanalkapazität. Die Coderate wird als die Fraktion k / n von k Source-Symbole und n codierte Symbole definiert.

Die tatsächliche maximale Coderate erlaubt, hängt von der Fehlerkorrekturcode verwendet werden, und kann geringer sein. Dies liegt daran, Shannons Beweis war nur von existenzieller Natur und nicht zeigen, wie man Codes, die sowohl optimal sind bauen und haben effiziente Codierung und Decodierung Algorithmen.

Hybriden Systemen

Hybrid ARQ ist eine Kombination von ARQ und eine Vorwärtsfehlerkorrektur. Es gibt zwei grundlegende Ansätze:

  • Nachrichten werden immer mit FEC Paritätsdaten übertragen. Ein Empfänger decodiert eine Nachricht unter Verwendung der Paritätsinformationen, und fordert erneute Übertragung mit ARQ nur, wenn die Paritätsdaten war nicht ausreichend für eine erfolgreiche Decodierung.
  • Nachrichten werden ohne Paritätsdaten übertragen. Wenn ein Empfänger einen Fehler feststellt, fordert er FEC Informationen vom Sender mit ARQ, und verwendet sie, um die Originalnachricht zu rekonstruieren.

Der letztere Ansatz ist besonders auf einen Schreibkanal attraktiv, wenn mit Hilfe eines rateless Löschcode.

Anwendungen

Anwendungen, die geringe Latenzzeiten erfordern können keine Automatic Repeat Request; müssen sie verwenden Vorwärtsfehlerkorrektur. Zu der Zeit, ein ARQ-System einen Fehler erkennt und wieder überträgt sie, werden die neu gesendeten Daten zu spät, gut sein zu gelangen.

Anwendungen, bei denen der Sender sofort vergisst, die Informationen, sobald es gesendet wird, kann nicht mit ARQ; sie müssen FEC verwenden, weil, wenn ein Fehler auftritt, ist die Originaldaten nicht mehr zur Verfügung ..

Anwendungen, die ARQ verwenden muss einen Rückkanal haben; Anwendungen, die keinen Rückkanal nicht verwenden können, ARQ. Anwendungen, die extrem niedrige Fehlerraten benötigen, müssen ARQ verwenden. Zuverlässigkeit und Inspektionstechnik auch Gebrauch machen von der Theorie der Fehlerkorrekturcodes.

Internet

In einer typischen TCP / IP Stack, wird Fehlerkontrolle auf mehreren Ebenen durchgeführt:

  • Jede Ethernet-Rahmen trägt eine CRC-32-Prüfsumme. Frames mit falschen Prüfsummen erhalten werden durch die Empfängerhardware verworfen.
  • Die IPv4-Header enthält eine Prüfsumme zum Schutz der Inhalte des Headers. Pakete mit Fehlanpassung Prüfsummen im Netzwerk oder am Empfänger fallen gelassen.
  • Die Prüfsumme aus dem IPv6-Header, um die Verarbeitungskosten zu minimieren und die Netzwerk-Routing aufgrund Stromverbindungsschichttechnologie wird angenommen, ausreichende Fehlererfassung bereitzustellen weggelassen.
  • UDP verfügt über eine optionale Prüfsumme über die Nutzlast und Adressinformationen von den UDP- und IP-Header. Pakete mit falscher Prüfsummen werden von dem Betriebssystem-Netzwerkstapel verworfen. Die Prüfsumme ist optional unter IPv4 nur, weil der Datenverbindungsschicht-Prüfsumme bereits den gewünschten Grad des Fehlerschutzes.
  • TCP stellt eine Prüfsumme für den Schutz der Nutzlast und Adressinformationen von den TCP und IP-Header. Pakete mit falscher Prüfsumme werden in der Netzwerkstapel aufgrund einer Zeitüberschreitung verworfen und irgendwann mit ARQ erneut übertragen, entweder explizit oder implizit.

Deep-Space-Telekommunikations

Entwicklung der Fehlerkorrektur-Codes wurde eng mit der Geschichte des Tiefraummissionen durch die extreme Verdünnung der Signalleistung über interplanetare Entfernungen und der begrenzten Verfügbarkeit von Strom an Bord von Raumsonden gekoppelt. Wohingegen frühen Missionen geschickt ihre Daten unverschlüsselt, ab 1968 digitale Fehlerkorrektur wurde in Form von Faltungscodes und Reed-Muller-Codes implementiert. Der Reed-Muller-Code war gut geeignet, um den Lärm das Raumschiff war Gegenstand und wurde auf der Raumsonde Mariner für Dienstreisen zwischen 1969 und 1977 realisiert.

Die Voyager 1 und Voyager 2 Missionen, die im Jahr 1977 begann, wurden entwickelt, um Farbbild unter wissenschaftlichen Informationen von Jupiter und Saturn zu liefern. Dies führte zu einer erhöhten Codierungsanforderungen, und damit wurden die Sonde durch Faltungscodes, die mit einer äußeren Golay Code verkettet werden könnte unterstützt.

Die Voyager 2 Handwerk zusätzlich unterstützt eine Implementierung eines Reed-Solomon-Code: verketteten Reed-Solomon-Viterbi-Code für sehr leistungsfähige Fehlerkorrektur erlaubt, und aktiviert der Raumsonde ausgedehnte Reise zu Uranus und Neptun. Sowohl Handwerk Verwendung V2 RSV-Codierung durch ECC-System-Upgrades nach 1989.

Die CCSDS empfiehlt gegenwärtig Gebrauch von Fehlerkorrekturcodes mit der Leistung ähnlich dem Voyager 2 RSV-Code als ein Minimum. Verkettete Codes zunehmend fallen aus Bevorzugung mit Weltraummissionen und werden durch leistungsfähigere Codes wie Turbo-Codes oder LDPC-Codes ersetzt.

Die verschiedenen Arten von Weltraum und Weltraum-Missionen, die durchgeführt werden, legen nahe, dass versucht, einen zu finden "one size fits all" Fehlerkorrektur-System wird ein ständiges Problem für einige Zeit zu kommen. Für Einsätze in der Nähe der Erde die Natur der Kanalrauschen unterscheidet sich von dem, was ein Raumfahrzeug auf einem interplanetaren Mission Erfahrungen. Zusätzlich ist, wie ein Raumfahrzeug, erhöht seine Entfernung von der Erde, das Problem der Korrektur von Rauschen grßer wird.

Satellitenrundfunk

Die Nachfrage nach Satellitentransponderbandbreite weiter zu wachsen, von dem Wunsch, Fernsehen und IP-Daten liefern, angeheizt. Transponder Verfügbarkeit und Bandbreitenbeschränkungen haben dieses Wachstum begrenzt, da Transponderkapazität wird durch die gewählte Modulationsschema und Vorwärtsfehlerkorrektur Rate bestimmt.

Überblick

  • QPSK gepaart mit traditionellen Reed-Solomon und Viterbi-Codes haben seit fast 20 Jahren für die Lieferung von digitalen Satelliten-TV verwendet.
  • Höherwertige Modulationsarten wie 8PSK, 16QAM und 32QAM haben die Satelliten-Industrie ermöglicht, Transponder Effizienz um mehrere Größenordnungen zu erhöhen.
  • Diese Erhöhung der Informationsrate in einem Transponder nur auf Kosten eines Anstiegs in der Trägerleistung, um die Schwellenanforderung für bestehende Antennen erfüllen.
  • Tests durchgeführt, unter Verwendung der neuesten Chipsätze zeigen, dass die durch die Verwendung von Turbo-Codes erreicht Leistung kann sogar niedriger als die 0,8 dB Figur im frühen Entwürfe angenommen.

Datenspeicher

Fehlererkennungs- und Korrektur-Codes werden häufig verwendet, um die Zuverlässigkeit von Datenspeichermedien zu verbessern. A "Paritätsbahn" war auf der ersten Magnetbanddatenspeicher 1951. Die "Optimal Rechteckige Kodex" in der Gruppe Code-Aufzeichnungsbänder verwendet vorliegenden nicht nur erkennt, sondern auch korrigiert Einzelbit-Fehler. Einige Dateiformate, insbesondere Archiv-Formate, sind eine Prüfsumme, um Korruption und Abschneiden zu erkennen und kann Redundanz und / oder Parity-Dateien verwenden, um Teile der beschädigten Daten wiederherzustellen. Reed-Solomon-Codes sind in Compact Discs verwendet werden, um Fehler durch Kratzer verursacht werden.

Moderne Festplatten verwenden CRC-Codes zur Erkennung und Reed-Solomon-Codes, um kleinere Fehler zu korrigieren im Sektor liest und die Daten aus Sektoren, die "gone bad" haben und speichern Sie diese Daten in den Ersatzsektoren zu erholen. RAID-Systeme verwenden eine Vielzahl von Fehlerkorrekturtechniken, um Fehler zu korrigieren, wenn eine Festplatte komplett ausfällt. Dateisysteme, wie beispielsweise ZFS oder Btrfs, sowie einige RAID-Implementierungen, Unterstützung Datenbereinigung und Resilvering, die schlechte Blöcke erkannt und wiederhergestellt, bevor sie verwendet werden, ermöglicht. Die wiedergewonnenen Daten an exakt der gleichen physischen Standort neu geschrieben werden, um Blöcke anderswo ersparen auf demselben Stück Hardware, oder Ersatzteile.

Fehlerkorrekturspeicher

DRAM-Speicher kann erhöhten Schutz gegen weiche Fehler indem sie sich auf Fehlerkorrekturcodes zur Verfügung. Solche Fehlerkorrekturspeicher, wie ECC oder EDAC-geschützten Speicher genannt, ist für Hochfehlertolerante Applikationen, wie Server, sowie Deep-Space-Anwendungen aufgrund der erhöhten Strahlung besonders wünschenswert.

Fehlerkorrektur-Speicher-Controller verwenden traditionell Hamming-Codes, obwohl einige verwenden dreifache modulare Redundanz.

Interleaving ermöglicht die Verteilung der Wirkung einer einzigen kosmischen Strahlung potenziell stören mehrere physisch benachbarte Bits über mehrere Wörter durch Zuordnung benachbarten Bits auf verschiedene Wörter. Solange ein singulären Störung nicht die Fehlerschwelle in einem bestimmten Wort zwischen Zugriffen nicht übersteigt, kann er korrigiert werden und die Illusion von einem fehlerfreien Speichersystems aufrechterhalten werden kann.

Neben der Bereitstellung von Hardware-Funktionen für ECC-Speicher benötigt, um zu arbeiten, Betriebssysteme in der Regel enthalten bezogenen Berichtsmöglichkeiten, die verwendet werden, um Benachrichtigungen zu liefern, wenn Soft-Errors werden transparent erholt. Eine steigende Rate von weichen Fehlern könnte darauf hindeuten, dass ein DIMM-Modul ersetzt werden muss, und eine solche Rückkopplungsinformationen nicht leicht verfügbar sein, ohne die damit verbundenen Berichtsfunktionen. Ein Beispiel ist der Linux-Kernel die EDAC-Subsystem, das die Daten von Fehlerprüfung-fähigen Komponenten in einem Computer-System sammelt; neben Erfassung und Berichterstattung der Ereignisse, um ECC-Speicher verwandt, es unterstützt auch andere Prüfsummen Fehler, auch die auf dem PCI-Bus erkannt.

Einige Systeme unterstützen auch Memory Scrubbing.

  0   0
Vorherige Artikel Aunis
Nächster Artikel Edo-Clan

In Verbindung Stehende Artikel

Kommentare - 0

Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha