Was ist, wenn ein einzelner Transistor in einem Mikroprozessor ausfällt? [geschlossen]

7

Was ist, wenn ein einzelner Transistor in einem Mikroprozessor oder im RAM ausfällt?

Mit Fehler meine ich, dass es nicht mehr funktioniert (aufgrund von Überhitzung oder aus einem anderen Grund) oder eine falsche Ausgabe liefert.

Ein einzelner Fehler kann den angegebenen Opcode des Mikroprozessors so ändern, dass er als anderer Befehl gelesen wird, oder die beabsichtigte Speicheradresse im RAM beschädigen, und von dort aus kann es bergab gehen.

Welche Schutz- / Wiederherstellungsstrategie hat ein Computer dagegen?

Darshan Chaudhary
quelle
Bevor Prozesse in die "Wildnis" gelangen, gibt es sie schon seit Jahren. 14nm war vor 10 Jahren experimentell und es ist endlich Prime Time, da die Schwellenwerte konstant sind und kein Transistor ausfällt. Wir sind zu diesem Zeitpunkt wirklich gut darin, Transistoren herzustellen.
B Degnan
Ich würde erwarten, dass es während des POST einen Kernel von Selbsttestausführungen für Loopback auf dem Bus gibt und mit redundantem Op-Code verglichen wird. Aber nur Intel und AMD wissen nicht, wie hoch ihre Selbsttest-Fehlererkennungsstufen beim Einschalten sind. Es gibt wahrscheinlich Prüfsummen für Registeroperationen und FSM-Codes, die für den Selbsttest verwendet werden, zusätzlich zum illegalen Adressierungsbereich und natürlich Mehrkernvergleiche, die für den Selbsttest verwendet werden können.
Tony Stewart Sunnyskyguy EE75
Es ist weitaus unwahrscheinlicher, dass ein Nicht-E / A-Transistor im Betrieb ausfällt, wenn er zuvor funktioniert hat, als dass einer (oder wahrscheinlich mehrere) von Anfang an aufgrund eines Herstellungsfehlers schlecht oder zumindest geringfügig ist Die meiste Aufmerksamkeit geht. Bombardieren Sie den Chip mit energetischen Partikeln und die Dinge könnten anders werden. Die Stellen, an denen Sie Altersfehler einzelner Elemente in gewöhnlichen Geräten sehen, sind Dinge wie Flash-Speicherzellen, aber es ist nicht wirklich das Transistorverhalten, das ausfällt, sondern eher das Ladungs- / Nichtspeicherverhalten der einzigartigen Transistorstruktur.
Chris Stratton

Antworten:

13

In kommerziellen Verbraucherteilen? Keiner. Es wird im Werk getestet, möglicherweise mit einem kurzen Einbrennvorgang, um frühzeitige Ausfälle zu vermeiden. Von da an wird das Gerät durch einen dauerhaften Fehler getötet. Glücklicherweise geschieht dies normalerweise jahrelang nicht, wenn das Gerät innerhalb der Temperaturparameter gehalten wird.

Für Militär- / Luft- und Raumfahrtsysteme gibt es verschiedene Arten redundanter Systeme, die Fehler erkennen und beheben können. Entweder durch einen Prozess namens "Lockstep-Ausführung" oder einfach durch mehrere Computer wie die berühmten fünf Flugcomputer des Space Shuttles. (Das Apollo-Projekt ging mit einem einzigen nicht redundanten Computer zum Mond!)

Es gibt auch ECC-RAM, das für Systeme mit Serverqualität verfügbar ist und Einzelbitfehler erkennen und korrigieren kann.

pjc50
quelle
4
"Von da an wird ein dauerhafter Fehler das Gerät töten" sind Sie sicher? Was ist, wenn sich dieser einzelne Transistorfehler in einem nicht entscheidenden CPU-Teil wie dem Cache befindet? Würde die CPU nicht überleben und einige Anweisungen führen einfach zu falschen Ergebnissen?
Tigrou
2
Häufiger als das Versagen von Transistoren in Weltraumanwendungen ist das Problem der Wechselwirkung kosmischer Strahlung mit Siliziumgattern. "Strahlungshärten" ist ein Mittel zum Abschirmen einer Siliziumvorrichtung vor schädlicher einfallender Strahlung. Selbst mit dieser Rad Hard-Technologie werden Mehrfachredundanz und Mehrheitskonsens verwendet, um einen äußerst zuverlässigen Betrieb zu erzielen.
Wossname
1
@tigrou ja, ich nehme an, es hängt davon ab, wo der Fehler liegt; Der Cache würde wahrscheinlich nach dem POST fehlschlagen, während Dinge wie der FDIV-Fehler jahrelang herumstanden, bevor es jemand bemerkte. Dies hängt auch von Fail-Open und Fail-Closed ab. Wenn Sie einen Bereich des Chips kurzschließen, kann sich der Schaden ausbreiten.
pjc50
2
@ pjc50: Apollo hatte 3 redundante Computer, die als Menschen bekannt sind. Im Gegensatz zum Space Shuttle könnte es geflogen werden, wenn alle Computer ausgefallen wären. Mein Verständnis ist sogar während des Starts des Saturn V, wenn die Computer nach dem Starten des Motors ausfielen, könnte der Pilot einen Schalter betätigen und die Kontrolle übernehmen und eine vernünftige Chance haben, ihn in die Umlaufbahn zu bringen und den TLI zum Brennen zu bringen.
Joshua
1
@tigrou - hast du ernsthaft gesagt, dass der Cache ein unkritischer Teil ist?
iAdjunct
9

Viel zu allgemein

Der Transistor könnte sich in einem Abschnitt befinden, den Sie nicht verwenden, sodass Sie es nie erfahren werden.

Es könnte sich in einem Abschnitt befinden, den Sie verwenden, aber die Fehlerbedingung scheint immer noch zu funktionieren und benötigt dort immer nur eine Null. Sie ist auf Null fehlgeschlagen, und das ist in Ordnung. Ich habe es erst bemerkt, als möglicherweise ein Firmware-Upgrade durchgeführt wurde, bei dem dieser Transistor verwendet wurde anders.

Oder es könnte sich an einem Ort befinden, den Sie verwenden, und der Fehler kann zu einer beliebigen Anzahl möglicher Probleme führen, die sich auf vielfältige Weise zu manifestieren scheinen. Es ist hier sicherlich nicht möglich, zu expandieren, da wir nicht wissen, welchen Teil Sie verwenden und wie groß die fast nicht messbare Anzahl möglicher Ergebnisse ist, wenn ein Tropfen im Ozean die Anzahl der Hypothesen nicht abdeckt. Es lohnt sich nicht, allgemein darüber zu sprechen, auch nicht in der Luft- und Raumfahrt.

Für COTS- Systeme gibt es überhaupt nichts, was Sie schützen könnte. Möglicherweise haben Sie eine Software, die die dichten oder riskanten Dinge wie RAM abdeckt, eine Art POST- Speichertest. Aber wenn der ausgefallene Transistor so ist, wie Sie es im Prozessorkern vorschlagen, dann haben Sie einen Stein, der wieder in den Ozean fällt und nicht in der Lage ist, einen POST zu erstellen, der die Möglichkeiten abdeckt und richtig darüber berichtet, und der es nicht wert ist, überhaupt darüber zu sprechen es. Sie werfen das Ding und bekommen ein anderes. Wenn Sie Teile wie RAM mit höherem Risiko herstellen, befinden sich möglicherweise alternative Blöcke auf dem Chip, die mithilfe von BIST oder anderen Bildschirmtests zusammengeführt werden können. Ebenso sind einige Produkte von anderen Produkten abgeleitet, um auf den Tag eines 80486SX vs 80486DX zurückzugehen. Wenn die Gleitkommaeinheit während des Chipherstellungstests ausgefallen ist, blasen Sie die Sicherung (en) durch, um sie von einem potenziellen DX in einen SX umzuwandeln, und verkaufen sie auf diese Weise.

Der Chip-Bildschirm sucht und deckt mit Erfahrung mehr als 99,99% der Fehler ab. Je nach Produkt wird erwartet, dass es eines von Tausenden oder Zehntausenden gibt, die später versagen. So ist es eben.

Luft- und Raumfahrt, insbesondere strahlungsintensiv, Flip-Flops sind oder waren, als Sie noch Leute hatten, die wissen, wie man zuverlässige Sachen baut (sie sind jetzt größtenteils im Ruhestand), dreifach gewählt, drei Sätze Transistoren pro, wenn ein Bit ausfällt oder a Einzelereignis verärgert(was der Hauptgrund für die dreifache Abstimmung ist), dann dominieren die beiden anderen die Abstimmung. Sie könnten argumentieren, dass Sie das Was-wäre-wenn-eins-fehlgeschlagen-Argument erhalten. Aber Sie stimmen nicht dreifach ab, was nicht die kombinatorische Logik ist. Wenn es einen Treffer bekommt, sollte es sich beruhigen, bevor es in das nächste Flip Flop / Bit einrastet. Sie benötigen auch viel kräftigere Transistoren, um Störungen einzelner Ereignisse zu bewältigen, und Sie haben auch mehr anderes Material, um die Gesamtdosis zu bewältigen und die Lebensdauer des Teils zu verlängern, bevor das Ganze an der Exposition stirbt. Jahrzehntelange Erfahrung (alle verloren für die jungen Leute, die im verfügbaren Alter aufgewachsen sind, machen Weltraummüll, anstatt einen zu machen, der immer funktioniert). Ein Ausfall eines einzelnen Transistors ist kein Hauptanliegen, eine Störung durch ein einzelnes Ereignis und ein Latch-up sind (was zur Zerstörung führen könnte / würde, wenn es nicht gehandhabt wird) Gesamtdosis usw. Single Point of Failure zusammen mit MTBF sind sehr wichtig; Die MTBF sollte länger als die Missionslebensdauer sein, und kein einzelner Fehlerpunkt sollte ohne Erkennung und Lösung auskommen können. Zwei Fehler gleichzeitig sind normalerweise nicht lösbar (Tropfen auf den heißen Stein).

Mit COTS machen Sie sich keine Sorgen, dass ein einzelner Transistor ausfällt. Es dreht sich alles um Durchschnittswerte / Statistiken. Sie beginnen mit Erfahrung und es gibt sowieso nicht so viele Gießereien und sie wissen, was sie tun. Sie folgen der jahrzehntelangen Erfahrung in Design, Layout, Designverifizierung, Test usw. Und Sie erwarten definitiv eine Ausbeute von weniger als 100%, und dann erwarten Sie von den verpackten und gelieferten Teilen einen gewissen Prozentsatz derjenigen, die vor Ort versagen . Wenn Ihre Kunden COTS-Qualität und -Preise erwarten, aber fehlertolerante oder militärische oder Luft- und Raumfahrtteile, müssen Sie den Kunden lediglich darüber informieren, dass das, was sie verlangen, eine um eine Größenordnung höhere Preise und eine um eine Größenordnung langsamere Bandbreite ist. Rechenleistung. Sowie eine um eine Größenordnung längere Vorlaufzeit.

Der RAM, der dicht ist, ist ein Bereich, der sich auf viel konzentriert, nicht für einen einzelnen Transistorausfall, sondern eher für eine einzelne Ereignisstörung, ein Bit umgedreht. Daher werden ECC / EDAC verwendet, wie in der Fertigung erwähnt, kann es eine BIST und eine alternative Bank geben, die zusammengeschmolzen werden können. Bei Dingen wie Flash und / oder Festplatten sind sie fehleranfällig, sodass es außerhalb der Sicht des Benutzers möglicherweise zusätzliche gibt Banken / Sektoren, die als schlecht markiert und andere ausgetauscht werden können. Dies ist mit RAM möglich, aber normalerweise nicht, da Sie RAM nicht so verwenden, wie Sie nichtflüchtigen Speicher verwenden, sondern DIMMsZum Beispiel, und lassen Sie den Benutzer sie ersetzen, wenn sie fehlschlagen. Normalerweise wie der Prozessorsockel, der für Upgrades oder Konfigurationsoptionen vorgesehen ist, nicht weil der Arbeitsspeicher im Vergleich zu anderen Komponenten auf der Platine mit hoher Geschwindigkeit ausfällt.

Oldtimer
quelle
4

Dies ist ein Statistikspiel. Jeder einzelne Transistor kann einen kritischen Effekt (möglicherweise im Programmzähler-Inkrementor), einen Effekt auf die Leistung (z. B. eine Cache-Zeile trifft nie) oder eine Verschlechterung der Benutzererfahrung (steckengebliebene Pixel oder ähnliches) haben. Oder vielleicht liegt der Fehler in der Testlogik, sodass er für den normalen Betrieb unsichtbar ist.

Bei einigen Anwendungen tragen diese zufälligen Fehler nur zur Lebensdauer des Geräts bei (Batterieausfall oder perkussive Auswirkungen sind größere Risiken). Vorübergehende Fehler sind genauso wichtig wie permanente Hardwarefehler.

Serversysteme müssen in der Lage sein, das Ende der Lebensdauer einzelner Knoten zu erkennen. Sicherheitskritische Systeme verwenden mit größerer Wahrscheinlichkeit Erkennung und Redundanz. Es ist jedoch im Allgemeinen schwierig, die geringeren Terminalfehler zu beobachten. Vergleichen Sie dies mit einer magnetischen Festplatte, auf der Fehlerkorrekturraten (und andere Messwerte) häufig vor dem Zeitpunkt eines katastrophalen Ausfalls gemessen werden können.

Ein umfassender Selbsttest ist zeitaufwändig. Ein Beispiel für ein einfacheres Problem als das Testen eines Prozessors finden Sie unter http://www.memtest86.com/ .

Sean Houlihane
quelle