Belastet Sie das Leben? Stehen Sie vor zwei möglichen Ausfallursachen und sind sich unsicher, wie Sie Zuverlässigkeitsprognosen erstellen sollen? Es gibt einen Weg zum Erfolg! Mit einer einfachen Methode wird ein Arrhenius-Datensatz für Transistorlebensdauern mit zwei unabhängigen, lognormalverteilten Ausfallmechanismen in JMP modelliert. Die obere Konfidenzgrenze für die Ausfallwahrscheinlichkeit unter Betriebsbedingungen wird ebenfalls abgeschätzt.
Doch wie sieht es mit zukünftigen Tests aus? Möglicherweise müssen Sie ähnliche Bauteile in der nächsten Qualifizierung prüfen. Wie gestalten Sie Ihre Lebensdauertests, wenn mehrere Ausfallmodi auftreten? Auch hierfür gibt es eine Lösung! Es wird eine grafische Methode zur Planung von Lebensdauertests mit zwei unabhängigen, logarithmisch-normalverteilten Ausfallmechanismen vorgestellt. Zuverlässigkeitsschätzungen aus simulierten bimodalen Daten werden mithilfe des Konturprofilers dargestellt und helfen Ihnen, diese Herausforderung zu meistern. Dieser einfache grafische Ansatz ermöglicht es dem Anwender, Testbedingungen auszuwählen, die die besten Chancen bieten, das gewünschte Zuverlässigkeitsziel zu erreichen.
Hallo, mein Name ist Charlie Whitman. Ich bin JMP-Systemingenieur für die Regionen New York und New Jersey. Die meiste Zeit meiner beruflichen Laufbahn war ich als Zuverlässigkeitsingenieur in der Halbleiterindustrie tätig. Heute möchte ich mit Ihnen über ein Thema sprechen, das mir sehr am Herzen liegt: Zuverlässigkeit. Wir werden uns mit der Zuverlässigkeitsprognose unter Berücksichtigung zweier Ausfallmechanismen beschäftigen.
Ich möchte mit der Frage beginnen, wohin wir gehen. In meiner Studienzeit hatte ich einen Professor für mechanisches Verhalten. Eines Tages zeigte er uns vor der Vorlesung ein Bauteil, das im Test gebrochen war. Er fragte die Klasse: „Warum ist das kaputtgegangen?“ Er beantwortete seine Frage selbst: „Zu viel Belastung.“ Genau darum wird es heute gehen. Wir werden über verschiedene Arten von Belastung sprechen und wie sie zu Schäden führen können.
Wie wir wissen, können an unseren Bauteilen verschiedene Fehlerquellen auftreten, die zum Ausfall führen. Ich selbst komme aus der Halbleiterbranche. Hier sehen wir beispielsweise einige integrierte Schaltungen (ICs) auf einer Leiterplatte, die zu heiß wurden und dadurch ausfielen. Ein weiteres Beispiel ist Korrosion. Beispielsweise könnte etwas Wasser in das Gehäuse eingedrungen sein, was Korrosion und schließlich zum Ausfall der Bauteile führte. Auch elektrostatische Entladung (ESD) ist eine mögliche Fehlerquelle. Vielleicht hat jemand die Leiterplatte berührt, ohne dass diese geerdet war, und dadurch eine ESD-Entladung verursacht. Zusammenfassend lässt sich sagen, dass es zahlreiche Mechanismen gibt, die zu Ausfällen führen können. Wir benötigen daher Methoden, um diese zu analysieren und zu modellieren, damit wir Vorhersagen treffen können.
Wie gehen wir damit um? Die Fachliteratur bietet zahlreiche Beispiele für die Modellierung dieses Phänomens. Üblicherweise gehen wir davon aus, dass diese Ausfallmechanismen unabhängig voneinander agieren. Man kann sich die Mechanismen als miteinander konkurrierend vorstellen, die alle den Ausfall verursachen. Wenn sie unabhängig agieren, bedeutet das, dass sie nicht beobachten, was die anderen Mechanismen tun, um sich entsprechend anzupassen. Sie bleiben einfach in ihrer jeweiligen Bahn und versuchen, als Erste den Ausfall herbeizuführen.
Wie führen wir die Analyse dann durch? Wir führen die Analyse durch... Wenn wir die Ergebnisse beispielsweise eines bestimmten Ausfallmodus analysieren wollen, können wir, wenn wir Unabhängigkeit annehmen, alle anderen Ausfallzeiten für andere Modi als zensiert behandeln.
Was bedeutet „zensiert“, wenn ich von Zensierung spreche? Hier ist ein Ereignisdiagramm, das dies veranschaulicht. Angenommen, ich teste drei Teile. Teil eins läuft beispielsweise 10 Stunden lang und fällt dann aus. Teil zwei läuft anschließend noch eine Weile problemlos, fällt aber nach 15 Stunden ebenfalls aus. Dann ist da noch Teil drei. Bei Teil drei erreichen wir 20 Stunden, und möglicherweise müssen wir den Test abbrechen, aber er schlägt nicht aus. Er wäre ausgefallen, wenn wir den Test fortgesetzt hätten, aber wir mussten ihn abbrechen. Es stellt sich heraus, dass diese Information relevant ist. Wir wollen diesen Datenpunkt nicht einfach ausschließen oder so tun, als wäre der Ausfall zu einem anderen Zeitpunkt erfolgt. Dahinter steckt etwas Mathematik, aber JMP übernimmt die komplexe Arbeit für Sie. Wenn Sie einen zensierten Datenpunkt haben, sollten Sie ihn verwenden; er kann Ihnen bei Ihren Schätzungen helfen.
In meinem heutigen Vortrag gehe ich davon aus, dass wir zwei aktive Ausfallmodi haben, die beide unabhängig voneinander sind und logarithmisch-normale Ausfallzeiten aufweisen. Als Zuverlässigkeitsingenieur müssen wir eine Kennzahl festlegen, die für uns relevant ist. In meiner Zeit in der Branche war die mittlere Ausfallzeit eine gängige Kennzahl. Das ist die Zeit, die vergeht, bis 50 % der Systeme ausfallen.
Ich war nie ein großer Fan davon, die mittlere Ausfallzeit zu verwenden. Stellen Sie sich vor, Sie haben Bauteile im Einsatz und eine Ausfallrate von 50 % – das ist ziemlich schlecht. Man möchte die Zeit bis zu einem viel geringeren Wert wissen, beispielsweise bis zu einer Ausfallrate von 10 % oder 1 %. Meiner Meinung nach ist die Ausfallwahrscheinlichkeit eine noch bessere Kennzahl. Ich möchte eine Aussage treffen können wie: „Ich gehe davon aus, dass die Ausfallrate im Einsatz in fünf Jahren bei einem halben Prozent liegen wird.“
Es gibt in der Statistik den alten Spruch: „Nichts lügt so sehr wie der Durchschnitt.“ Wenn ich den Durchschnitt einer Stichprobe bilde, muss ich mir der Unsicherheit dieser Schätzung bewusst sein und berücksichtige diese mithilfe von Konfidenzintervallen. Dasselbe gilt für die Vorhersage der Ausfallrate im Feld. Wenn ich beispielsweise sage, die Ausfallrate beträgt 0,5 %, was bedeutet dann 0,5 % plus/minus was? Hier kommen die Konfidenzintervalle ins Spiel. Ich verwende die obere Konfidenzgrenze der Ausfallwahrscheinlichkeit als Messgröße, da sie mir eine Schätzung liefert. Sie ist zwar etwas konservativer, aber auf rationale Weise. Ich treffe keine willkürliche Wahl hinsichtlich der oberen Grenze oder der Messgröße. Ich verwende die obere 95%-Konfidenzgrenze der Ausfallwahrscheinlichkeit.
Ich möchte hier kurz den Hintergrund erläutern, damit wir alle auf dem gleichen Stand sind. Ich möchte ein paar Dinge definieren. Ich werde über F sprechen, die Ausfallwahrscheinlichkeit, und R ist ihr Komplement. R ist 1 minus F und entspricht der Zuverlässigkeit. Ich werde außerdem zwei Ausfallmodi, A und B, besprechen. Diese sind willkürlich gewählt, daher verwende ich einfach die Bezeichnungen A und B. Was sie genau bedeuten, ist unerheblich. Wenn beide Modi aktiv sind und beide zum Ausfall führen können, ergibt sich eine Gesamtausfallwahrscheinlichkeit. Diese nenne ich Ftot. Sie gilt für den Fall, dass beide Mechanismen aktiv sind. Daher gibt es natürlich auch eine Gesamtausfallwahrscheinlichkeit Rtot, nämlich 1 minus Ftot.
Der Schlüssel zur Datenanalyse liegt darin, dass wir einen Ansatz verwenden, der dem von zwei unabhängigen, in Reihe geschalteten Komponenten ähnelt. Nehmen wir an, wir haben zwei Komponenten – beispielsweise zwei Schaltkreise, zwei Motoren oder Ähnliches –, die in Reihe geschaltet sind. Das bedeutet: Fällt eine Komponente aus, fällt das gesamte System aus. Unter der Annahme der Unabhängigkeit entspricht die Gesamtzuverlässigkeit des Systems dem Produkt der Einzelzuverlässigkeiten. Da bekannt ist, dass R = 1 - F gilt, lässt sich die Gesamtausfallwahrscheinlichkeit beider Mechanismen berechnen. Diese wird durch den folgenden Ausdruck beschrieben.
Ich werde hier das Arrhenius-Modell intensiv nutzen, und zwar dieses. Im Prinzip ist die mittlere Ausfallzeit proportional zum Exponenten der inversen Temperatur. Wenn man sich das ansieht, kann ich die Logarithmen beider Seiten dieses Ausdrucks bilden, und das sieht verdächtig nach einer Punkt-Steigungs-Gleichung aus. Hier ist eine Konstante, hier die Steigung und hier mein Y-Wert. Würde ich den Logarithmus der mittleren Ausfallzeit gegen 1/kT auftragen, wäre die Steigung dieser Geraden die Aktivierungsenergie, und der Achsenabschnitt wäre log C.
Ich werde über einen realen Datensatz mit Lebensdauerdaten für sogenannte GaN-FETs sprechen. GaN steht für Galliumnitrid und FET für Feldeffekttransistor. Konkret wurden einige Feldeffekttransistoren (FETs) einem Lebensdauertest bei hohen Temperaturen unterzogen. Ich habe die Ausfallzeiten dieser Transistoren erfasst und eine Analyse für zwei Ausfallarten durchgeführt. Ich möchte Ihnen kurz erläutern, wie das Ganze funktioniert.
Das funktioniert so: Ich lege eine Spannung zwischen Source und Drain an. Dann fließt ein Strom zwischen Source und Drain, der vom Gate gesteuert wird. Ich kann eine Spannung an das Gate anlegen und den Stromfluss entweder unterbrechen oder zulassen. Wie wir wissen, ist nichts von Dauer. Das bedeutet, dass ich zwar eine Spannung zwischen Source und Drain und eine konstante Spannung am Gate anlegen kann, der Stromfluss aber mit der Zeit abnehmen kann. Er ändert sich, und das möchte ich nicht. Ich möchte, dass er konstant bleibt, aber er beginnt zu schwanken.
Eine weitere Möglichkeit ist, dass der Strom nicht wie gewünscht von der Quelle zum Stromkreis fließt, sondern von der Quelle zum Gate. Dadurch entsteht ein Gate-Leckstrom, den ich unbedingt vermeiden möchte. Außerdem könnte die Spannung, die den Stromfluss hier unterbricht – also die benötigte Gate-Spannung –, instabil werden und schwanken. Das würde wiederum die korrekte Funktion meines Bauelements beeinträchtigen. Ich gehe von zwei möglichen Fehlerursachen aus und bezeichne sie hier mit A und B.
Ich möchte kurz auf beschleunigte Lebensdauertests eingehen. Wir haben Produkte im Einsatz, die natürlich lange halten sollen – idealerweise jahrelang. Um die Zuverlässigkeit eines neuen Produkts nachzuweisen, kann man aber nicht jahrelang mit den Tests warten. Die Tests müssen deutlich schneller durchgeführt werden. Deshalb setzen wir beschleunigte Tests ein. Dabei erhöhen wir die Belastung. Wir setzen das Bauteil hohen Belastungen aus, wodurch die Lebensdauer beschleunigt wird. So bleiben die Ausfallmechanismen unverändert. Es wird nichts Neues eingeführt, sondern alles läuft einfach schneller ab.
Es gibt verschiedene Stressfaktoren, die wir einsetzen können. Wir können die Temperatur nutzen. In meiner Zeit in der Halbleiterindustrie haben wir häufig mit Spannung gearbeitet. Man kann die Umgebung verändern. Ich kann eine feuchte oder trockene Umgebung schaffen. Wir konzentrieren uns aber auf die Temperatur. Ich möchte Ihnen hier ein Arrhenius-Diagramm zeigen. Dies ist die Ausfallzeit. Die Skala ist logarithmisch, und ich habe meine Ausfallzeiten gegen 1/kT aufgetragen. Denken Sie daran, dies ist der Kehrwert der Temperatur. Links im Diagramm steht die hohe Temperatur, rechts die niedrige. Ich führe meine Lebensdauertests bei verschiedenen hohen Temperaturen durch und erhalte die Ausfallzeiten. Daran kann ich eine Gerade anpassen. Die Steigung dieser Geraden entspricht meiner Aktivierungsenergie.
Ich werde diese Daten verwenden und dann etwas Schreckliches tun müssen: Ich muss extrapolieren. Uns wurde immer gesagt, wir sollten nicht extrapolieren. Aber bei beschleunigten Tests gibt es keine Wahl. Wir müssen extrapolieren, denn sehen Sie sich diese Ausfallzeiten an. Sie könnten in der Größenordnung von einer Million Stunden oder mehr liegen, und so lange können wir nicht warten. Wir führen diese Extrapolation durch, und sobald wir die extrapolierten Werte haben, können wir beispielsweise die mittlere Ausfallzeit ermitteln oder auch die Verteilung der Ausfallzeiten unter den gegebenen Nutzungsbedingungen bestimmen. Wenn wir das wissen, können wir Dinge wie die Zeit bis zum 1%igen Ausfall oder die Ausfallwahrscheinlichkeit und so weiter berechnen.
Ich möchte Ihnen einen kurzen Überblick geben und Ihnen zeigen, wohin die Reise geht. Hier sind einige Ergebnisse einer Fallstudie. Ich habe diese Daten von einem Kunden erhalten und die beiden Modi, Modus A und Modus B, analysiert. Hier betrachte ich lediglich das Profil. Hier sehen Sie das Verteilungsprofil für Modus A. Ich habe dieses Profil erstellt, indem ich alle Ausfallzeiten von Modus B als zensiert behandelt habe. Dadurch analysiere ich ausschließlich Modus A.
Im Profiler habe ich zwei Einflussfaktoren: die Gerätetemperatur und den betrachteten Zeitraum. Angenommen, es gibt einen Industriestandard, der die Zuverlässigkeit bei 150 °C vorschreibt. Außerdem möchten wir wissen, wie lange das Gerät nach 5 Jahren noch hält bzw. wie hoch die Ausfallwahrscheinlichkeit nach 5 Jahren ist. 43.830 Stunden entsprechen 5 Jahren. Mit dem Profiler sehe ich, dass die Ausfallwahrscheinlichkeit etwa 5 × 10⁻²² beträgt, mit einer Obergrenze von etwa 0,001. Dasselbe kann ich für Modus B durchführen. Hier behandle ich alle Ausfälle aus Modus A als zensiert, sodass nur noch Ausfälle aus Modus B vorliegen.
Wenn ich das unter denselben Bedingungen wiederhole, ist meine Ausfallwahrscheinlichkeit sehr gering (4 × 10⁻⁸⁹), und meine obere Grenze liegt bei etwa 1 × 10⁻¹⁷. Im Vergleich dazu hatte Modus A eine obere Grenze von eher 1 × 10⁻³. Modus B erscheint zwar sehr klein, aber die Ausfallwahrscheinlichkeit aufgrund von Modus B ist viel, viel geringer als bei Modus A. Es scheint, als ob Modus A bei niedrigeren Temperaturen oder unter Betriebsbedingungen deutlich dominiert. Ich werde das gleich noch genauer erläutern.
Nachdem ich diese Fallstudie vorgestellt habe, möchte ich das Thema wechseln. Ich werde darüber sprechen, wie wir einen Lebensdauertest planen. Angenommen, Sie haben ein Bauteil, das Sie testen möchten, und wissen, dass es mehrere Ausfallmodi gibt. Sie möchten dies bei Ihrer Planung berücksichtigen. Welche Temperaturen verwende ich? Und was passiert, wenn die Aktivierungsbereiche dieser Modi stark voneinander abweichen? Wie viele Temperaturen benötige ich? Letztendlich reduziere ich das auf ein Konturdiagramm.
In diesem Konturdiagramm sind alle Eingangsfaktoren dargestellt. Das sind meine Planungswerte. Ich habe z_A und z_B. Das sind die Z-Werte für meine zwei verschiedenen Ausfallarten. Die Berechnung erkläre ich später. Ich habe weitere Planungswerte, wie zum Beispiel die Anzahl der Teile pro Temperatur und die Anzahl der verwendeten Temperaturen. Das Ergebnis ist dieses Konturdiagramm, das im Prinzip eine Antwortfläche darstellt.
Ich habe meine beiden Faktoren, z_A und z_B, und mit deren Anstieg steigt auch die obere Konfidenzgrenze für die Ausfallwahrscheinlichkeit. Auf dieser Kontur liegt die obere Konfidenzgrenze für alle Werte von z_A und z_B bei 10⁻². Hier liegt sie für alle Werte von z_A und z_B bei 10⁻³ usw. Wir werden dieses Konturdiagramm gleich verwenden und ich zeige Ihnen noch weitere Beispiele.
Kommen wir nun zur Fallstudie. Die Daten stammen von einem Kunden. Es wurden 48 GaN-FETs bei drei Temperaturen getestet: 320 °C, 337 °C und 355 °C. Der Test lief über einen längeren Zeitraum, wurde aber nach etwa 2100 Stunden abgebrochen. Die folgende Tabelle fasst die durchgeführten Tests zusammen. Das Prüfobjekt (DUT) ist das zu testende Bauteil. Die angegebenen Temperaturen zeigen, dass bei jeder Temperatur unterschiedliche Bauteilnummern bzw. Bauteilanzahlen verwendet wurden. Die Verteilung ist ungleichmäßig: Bei der höchsten Temperatur wurden weniger Bauteile getestet als bei den niedrigeren Temperaturen.
Das ist tatsächlich eine gute Idee, denn wir werden ja extrapolieren. Und zwar auf niedrigere Testbedingungen. Dabei ist es wichtig, dass die Konfidenzintervalle unserer Schätzungen so eng wie möglich sind. Es hat sich gezeigt, dass sich die Konfidenzintervalle verkleinern, wenn man die Anzahl der Teile erhöht und sie bei niedrigeren Temperaturen testet – und das ist gut so. Deshalb wurde es so gemacht.
Betrachtet man die Ausfälle genauer, fällt auf, dass wir deutlich mehr Ausfälle des Modus A als des Modus B hatten. Allerdings steigt die Anzahl der Ausfälle des Modus B mit zunehmender Temperatur deutlich an. Bei Modus A ist dieser Trend möglicherweise nicht ganz so ausgeprägt, aber bei Modus B ist eindeutig zu erkennen, dass wir bei höheren Temperaturen mehr Ausfälle als bei Modus B verzeichnen.
Ich habe die Lebensdauerdaten analysiert und die Aktivierungsenergien ermittelt. Daraus konnte ich dieses Arrhenius-Diagramm erstellen. Die Ausfallzeit ist logarithmisch gegen 1/kT aufgetragen. Die Steigung der roten Linie entspricht der Aktivierungsenergie für Modus B, die der blauen Linie der Aktivierungsenergie für Modus A.
Betrachtet man dies, kann man sich vorstellen, diese Kurven zu verlängern. Würde man beispielsweise Modus B betrachten und die Kurven auf immer höhere Temperaturen verlängern, wären die Ausfallzeiten für Modus A erwartungsgemäß länger als die für Modus B. Das bedeutet, dass Modus B bei höheren Temperaturen dominieren würde, und genau das beobachten wir. Modus B wird mit steigender Temperatur immer stärker. Würde man hingegen versuchen, Modus B auf niedrigere Temperaturen zu extrapolieren, wären die Ausfallzeiten für Modus B sehr hoch, deutlich höher als für Modus A. Die Bauteile würden zunächst im Modus A ausfallen, und Modus A würde bei niedrigeren Temperaturen dominieren. Auch dies ist unsere Beobachtung.
Ich habe die Lebensdauerdaten verwendet... Dies ist nur ein Beispiel. So sehen die Daten aus. Ich hatte beispielsweise ein Bauteil, das bei 320 °C betrieben wurde. Es fiel nach etwa 261 Stunden aus, und zwar aufgrund des Fehlers vom Typ A. Außerdem gibt es hier eine Spalte, eine Zensierungsspalte, die JMP mitteilt, ob es sich um einen Ausfall oder eine Zensierung handelt. JMP übernimmt die eigentliche Analyse im Hintergrund. Wir müssen lediglich angeben, welche Daten ausgefallen und welche zensiert sind.
Ich habe die Daten geprüft. Zur Erstellung von Vorhersagen nutzte ich die Plattform Fit Life by X und ging dabei Schritt für Schritt vor. Mir liegen nur Daten für Modus A vor, und die Ausfallzeiten für Modus B wurden nicht berücksichtigt. Die resultierenden Ausfallzeiten sind hier dargestellt. Die Verteilung bei den drei verschiedenen Temperaturen wird von JMP generiert.
Man sieht, dass der Abstand zwischen beispielsweise 190 und 170 (20 Grad) anders ist als der Abstand zwischen beispielsweise 290 und 270. Das liegt an der Transformation. Diese Transformation basiert auf 1/kT. Die Steigung dieser Geraden entspricht also weiterhin meiner Aktivierungsenergie, und ich kann die Extrapolation auf die Anwendungsbedingungen durchführen. Meine Anwendungsbedingungen liegen beispielsweise bei 150 °C. Dabei ergibt sich eine mittlere Ausfallzeit von etwas über 1 × 10⁻¹¹ Stunden. Außerdem sehe ich eine Verteilung. Da ich die Verteilung der Ausfallzeiten kenne, kann ich Berechnungen wie die Zeit bis zum 1%igen Ausfall oder die Ausfallwahrscheinlichkeit in 5 Jahren durchführen.
Wir haben also wieder unseren Verteilungsprofiler, und ich kann bei Bedarf verschiedene Werte eingeben. Ich kann diese Parameter verändern, um die Ausfallwahrscheinlichkeit unter verschiedenen Testbedingungen zu ermitteln. Außerdem erhalte ich hier meine Arrhenius-Parameter. JMP bezeichnet β₀ als Achsenabschnitt. Das war mein log C in meiner Präsentation. Hier liegt der Achsenabschnitt bei etwa -40. JMP nennt die Aktivierungsenergie β₁, und das sind ungefähr 2,4 eV. Dann gibt es noch den Formfaktor, der hier etwa 1,6 beträgt.
Im Prinzip kann man aus diesen Arrhenius-Parametern den Logarithmus des Mittelwerts vorhersagen, und der Logarithmus des Mittelwerts ist hier eine Funktion der Temperatur T. Wenn man dann den Formfaktor kennt, kann man diese Verteilung vollständig beschreiben, deshalb können wir vorhersagen, wie hoch die Ausfallwahrscheinlichkeit unter diesen Bedingungen oder bei jeder beliebigen Temperatur ist.
Nun kann ich dasselbe für Modus B tun. Ich analysiere die Daten für Modus B. Auch hier habe ich alle Ausfälle von Modus A als zensiert behandelt. Wie Sie sich erinnern, hatte ich deutlich weniger Ausfälle aufgrund von Modus B. Die Legende zeigt, dass das Dreieck zensierte Datenpunkte kennzeichnet, und ich habe hier viele zensierte Datenpunkte. Ich kann also, wie bereits erwähnt, trotz der Zensierung der Ausfälle eine Extrapolation durchführen und die Bedingungen entsprechend anpassen. Die mittlere Ausfallzeit liegt hier eher bei 10 hoch 25 Stunden. Das ist deutlich höher als bei Modus A. Wir würden erwarten, dass Modus A bei niedrigeren Temperaturen dominiert.
Dann haben wir noch unseren Verteilungsprofiler. Auch dieser liefert uns wichtige Erkenntnisse. Wir analysieren diese beiden Ausfallarten separat. Das bedeutet auch: Wenn Modus A vollständig eliminiert wäre – ich habe also mein Design und meine Verarbeitungsprozesse angepasst und kann Modus A eliminieren –, bliebe nur noch Modus B übrig, und Modus B würde deutlich mehr Fehler verursachen. Wäre nur Modus B aktiv, wären die Bauteile wesentlich zuverlässiger. Jetzt kann ich verschiedene Szenarien durchspielen. Ich könnte beispielsweise eine Spezifikation festlegen, die besagt, dass der obere Grenzwert in fünf Jahren nicht schlechter als 10⁻³ sein darf. Aktuell liegt er bei 10⁻¹⁷. Mit dem Profiler könnte ich dann prüfen, ob die Bauteile Temperaturen von 200 Grad standhalten.
Nun liegt die Obergrenze bei 4 × 10⁻⁸. Ich könnte noch etwas höher gehen, vielleicht auf 225. Jetzt bin ich etwas höher, eher bei 3 × 10⁻⁵. Ich könnte sogar noch etwas höher gehen, auf 240. Damit nähern wir uns unserem Sollwert von 0,001. Das ist eine gute Nachricht. Es hilft uns, die Richtung für unser Zuverlässigkeitsprogramm festzulegen und den optimalen Nutzen aus unseren Investitionen zu ziehen. Außerdem können wir so den Sollwert erweitern.
Vielleicht möchte der Kunde das Bauteil bei einer höheren Temperatur betreiben. Dann können wir sagen: „Ja, klar, nur zu. Sie müssen es nicht bei 150 Grad halten. Sie können es viel höher betreiben, wenn Sie wollen, und es ist immer noch in Ordnung.“
JMP liefert mir auch meine Arrhenius-Parameter. Mein Achsenabschnitt war deutlich anders, etwa minus 100. Die Aktivierungsenergie liegt hier, wie Sie sehen, nahe bei 6 ED, während sie für Modus A, glaube ich, bei etwa 2,4 ED lag. Das ist ein erheblicher Unterschied. Daher ist die Steigung in meinem Arrhenius-Diagramm für Modus B auch deutlich steiler. Außerdem erhalte ich den Formfaktor. Dieser war größer. Mit diesen Parametern kann ich die Ausfallwahrscheinlichkeit zum gewünschten Zeitpunkt und bei der gewünschten Temperatur vorhersagen.
Fassen wir zusammen, was wir besprochen haben. Dies ist eine Übersichtstabelle. Ich habe die Daten für Modus A und Modus B analysiert und obere Konfidenzgrenzen dafür ermittelt. JMP liefert jedoch keine obere Konfidenzgrenze für die Gesamtwahrscheinlichkeit, was ich eigentlich erwartet hatte. Es verwendet eine Methode mit begrenzten Grenzen, um die obere Konfidenzgrenze für jeden Modus zu bestimmen. Da diese Methode bei zwei aktiven Modi aber schwer anzuwenden ist, habe ich eine andere Methode gewählt und ein leicht abweichendes Ergebnis erhalten. Es entspricht in etwa unseren Erwartungen.
Da Modus A dominiert, ist zu erwarten, dass, wenn beide Modi aktiv sind, immer noch hauptsächlich Modus A aktiv ist. Die obere Grenze dürfte bei etwa 1 mal 10 hoch minus 3 liegen, und wir erhalten einen Wert in dieser Größenordnung, daher scheint alles korrekt zu funktionieren.
Kommen wir nun zum nächsten Thema: der Planung eines Lebensdauertests. Wir wechseln hier das Thema. Seit vielen Jahren gibt es zahlreiche Veröffentlichungen und Lehrbücher zur Planung von Lebensdauertests im Arrhenius-Fall, bei denen ich Tests über die Temperatur durchführe. Weniger bekannt ist jedoch die Planung von Lebensdauertests mit mehreren Einflussfaktoren. Die meisten dieser Veröffentlichungen sind meines Erachtens sehr mathematisch. Das ist zwar in Ordnung, aber ich bevorzuge einen grafischen Ansatz. Ich halte ihn für intuitiver.
Ich habe eine Vielzahl von Ausfallzeiten unter verschiedenen Testbedingungen simuliert, die Ergebnisse ausgewertet und anschließend die obere Konfidenzgrenze für die Ausfallwahrscheinlichkeit berechnet. Diese habe ich dann modelliert, um die obere Konfidenzgrenze für gegebene Testbedingungen oder unterschiedliche Annahmen zu Planungswerten, Anzahl der Temperaturen usw. vorherzusagen. Ich möchte hier kurz den Hintergrund erläutern, damit Sie alle verstehen, worüber wir sprechen.
Ich gehe also davon aus, dass ich zwei Fehlermodi habe, A und B. Da diese generisch sind, nenne ich sie einfach A und B. Jeder Modus hat seinen eigenen Z-Wert, z_A und z_B. Ich zeige Ihnen gleich, wie man den Z-Wert berechnet. Ich habe das so gemacht, um mir die Sache zu vereinfachen. Ich wollte nicht so viele freie Parameter wie Aktivierungsenergien, Formfaktoren usw. haben. Ich habe festgestellt, dass ich, wenn ich alles auf einen Z-Wert reduzieren kann, nicht so viele Variablen variieren muss, aber trotzdem die Aktivierungsenergie usw. bestimmen kann. Das ist sehr hilfreich, wenn ich nicht so viele verschiedene Werte simulieren muss.
Es gab auch weitere Eingangsgrößen, wie die Anzahl der Teile pro Temperatur, die Anzahl der Belastungstemperaturen usw. So berechnen wir den Z-Score: Üblicherweise verwenden wir einen Industriestandard. Uns interessiert die Zeit bis zum Ausfall nach 5 oder 10 Jahren. Auch für die Einsatzbedingungen gibt es einen Industriestandard. Wir möchten dem Kunden beispielsweise mitteilen können, dass er das Produkt bei 150 °C oder 100 °C einsetzen kann. Diese Werte sind bekannt. Zusätzlich müssen wir einige Planungswerte eingeben.
Wir müssen schätzen, wir müssen mit Fachexperten sprechen oder Ähnliches, um Schätzwerte oder eine Vorstellung von unseren Arrhenius-Parametern zu erhalten. Dann setzen wir diese Werte in unsere Formel ein und erhalten einen Z-Wert, unseren Z-Score. Da wir zwei Ausfallmodi haben und jeder seine eigenen Arrhenius-Parameter besitzt, berechne ich zwei Z-Scores, einen für Modus A und einen für Modus B.
Dies ist lediglich eine Übersichtstabelle, die zeigt, dass ich all diese Parameter in einem sehr großen Bereich variiert habe. Ich habe z_A und z_B in einem großen Bereich variiert. Auch für die Anwendungstemperatur, die Anzahl der Temperaturen usw. habe ich einen großen Bereich gewählt. Außerdem wollte ich die Sache vereinfachen. Ich wollte keine riesige Matrix mit vielen verschiedenen möglichen Spannungstemperaturen. Ich habe es mir leicht gemacht, indem ich mich auf nur drei Kennzahlen beschränkt habe. Wenn ich Ihnen beispielsweise die niedrigste Spannungstemperatur T1 nenne, Ihnen mitteile, dass ich vier Temperaturen hatte und wie groß der Abstand zwischen diesen Temperaturen war, dann wissen Sie alles. Dann können Sie die vier Spannungstemperaturen berechnen.
Anstatt eine riesige Matrix mit all diesen möglicherweise unterschiedlichen Spannungstemperaturen zu verwenden, habe ich sie auf nur drei Parameter reduziert: die niedrigste Spannungstemperatur, die Anzahl der Temperaturen und den Abstand zwischen diesen Temperaturen. Auch hier würde ich die Stichprobengröße, die Aktivierungsenergie und die Formfaktoren usw. variieren.
Ich habe aus allen möglichen Testbedingungen 1.900 eindeutige Planungswerte ausgewählt und für jeden dieser 1.900 Werte 500 Datentabellen erstellt. Dabei habe ich zufällig generierte logarithmische Normalverteilungen für die Ausfallzeiten verwendet. Ich habe eine Spalte für Ausfälle im Modus A und eine weitere für Ausfälle im Modus B angelegt und jeweils den Minimalwert ermittelt. Das entspricht dem Prinzip konkurrierender Risiken. Zwei verschiedene Ausfallmodi konkurrieren um den Ausfall des Bauteils; der Modus mit der kürzeren Ausfallzeit setzt sich durch und bestimmt die Ausfallzeit des Bauteils. Da ich 500 Datentabellen hatte, konnte ich für jede Tabelle die Gesamtausfallwahrscheinlichkeit (F-tot) berechnen, da ich die Ausfallwahrscheinlichkeit (FA) und die Ausfallwahrscheinlichkeit (FB) kenne. Diese Werte konnte ich in meine Formel einsetzen und die Gesamtausfallwahrscheinlichkeit berechnen.
Da ich 500 Werte hatte, konnte ich die Verteilung des F-Gesamtwerts für jede Testbedingung abschätzen. Ich konnte die Quantile verwenden. Ich konnte das 97,5-Quantil der 500 Werte als obere Konfidenzgrenze verwenden. Damit hätte ich 1900 verschiedene obere Konfidenzgrenzen für jede dieser Testbedingungen. Anschließend konnte ich all diese Daten in ein neuronales Netzwerk einspeisen und eine Vorhersage treffen. Ich konnte sehen, welchen Einfluss meine Testbedingungen oder Annahmen für die Testplanungswerte auf die obere Konfidenzgrenze hatten. Eine Frage war nach dieser Analyse: Welche Faktoren waren am wichtigsten?
Ich habe dafür die Plattform zur Vorhersage von Prädiktoren verwendet. Ich zeige sie hier. Da haben wir sie. Ich habe meine Prädiktoren z_A und z_B, und ich sehe, dass sie in etwa 80 % der Fälle eine wichtige Rolle bei der Vorhersage der oberen Konfidenzgrenze spielen. Auch N, die Anzahl der Teile pro Temperatur, war in etwa 15 % der Fälle relevant. Zusammen mit diesen drei Faktoren waren sie in 95 % der Fälle relevant. Es gab auch noch andere Faktoren, die jedoch nicht so häufig auftraten. Ihre prozentualen Anteile sind hier viel geringer. Ich habe sie aber trotzdem in mein Modell aufgenommen, da ich festgestellt habe, dass ihre Variation einen Einfluss auf die Konturen haben kann, wenn auch einen kleineren. Sie hatten einen Einfluss, und ich wollte dies berücksichtigen können.
Die Zensierungszeit habe ich letztendlich gar nicht berücksichtigt. Denn bei den Simulationen ging ich davon aus, dass die Anwender Temperaturen und Zeiten wählen würden, bei denen eine angemessene Anzahl von Ausfällen zu erwarten wäre. Sie würden keine extrem niedrige Temperatur oder eine extrem kurze Zensierungszeit wählen, da dies zu 100 % zensierten Daten führen würde, mit denen man kaum etwas anfangen könnte. Da ich erwartungsgemäß moderate bis mittlere Zensierungszeiten gewählt hatte, spielte die Zensierungszeit keine wesentliche Rolle und wurde daher in meiner Analyse nicht berücksichtigt.
Ich habe ein neuronales Netzwerk trainiert, und wer sich mit neuronalen Netzen auskennt, weiß, dass sie zu Überanpassung neigen. Um dem entgegenzuwirken, habe ich die in solchen Fällen üblicherweise angewandte Methode verwendet: das Training, die Validierung und der Test. Was bedeutet das genau?
Ich habe zufällig 50 % meiner Daten ausgewählt. Von den 1.900 Zeilen kamen 50 % in den Trainingsdatensatz, 25 % in den Validierungsdatensatz und die restlichen 25 % in den Testdatensatz. JMP hat das intern erledigt: Es hat ein neuronales Netzwerk mit diesen Trainingsdaten trainiert und es anschließend anhand von Validierungsdaten getestet, die nicht Teil der Trainingsdaten waren. Das Modell hat diese Daten also noch nicht gesehen. Anschließend hat es die Parameter für die Trainingsdaten so lange angepasst, bis es die Validierung immer besser vorhergesagt hat. Außerdem gibt es intern einen Mechanismus, um Über- und Unteranpassung zu vermeiden. Man sollte die Daten genau richtig anpassen, sodass der Algorithmus stoppt, sobald Überanpassung droht.
Schließlich testet man das finale Modell anhand der Testdaten, dem sogenannten „Lacktest“. Das Modell hat diese Daten noch nie gesehen, und es ist wichtig sicherzustellen, dass es auch dort gut funktioniert, denn nur so kann man dem Modell vertrauen. Genau das habe ich getan. Hier sind die Ergebnisse für die Trainingsdaten. Ich hatte einen erfreulich hohen R²-Wert von 0,99, was gut ist. Die entscheidende Frage ist jedoch: Wie gut funktioniert das Modell mit Daten, die es noch nicht kennt? In diesem Fall habe ich für die Validierungsdaten einen R²-Wert von etwa 98 % erzielt, und selbst für die Testdaten erreichte ich noch 96 %. Das ist also wirklich ein sehr gutes Ergebnis.
Ich wäre besorgt gewesen, wenn einer dieser beiden Werte sehr, sehr niedrig gewesen wäre, also deutlich unter 99 %, denn das hätte bedeutet, dass ich die Daten überangepasst hätte. Das ist aber nicht der Fall. Ich habe eine sehr gute Anpassung erzielt, bin damit zufrieden und werde die Daten nun für Vorhersagen verwenden.
Schauen wir uns nun an, wie wir damit einen Testplan erstellen würden. Nehmen wir an, wir haben einen Unternehmensstandard und unser Ziel ist es, sicherzustellen, dass die obere Konfidenzgrenze für die Ausfallwahrscheinlichkeit nach 5 Jahren bei 125 °C nicht schlechter als 1 × 10⁻⁴ ist. Wir wollen die richtigen Temperaturen, die richtige Anzahl an Temperaturzyklen und die richtige Stichprobengröße wählen, um letztendlich eine hohe Wahrscheinlichkeit zu haben, dieses Ziel zu erreichen. Wir verwenden historische Werte für die Arrhenius-Parameter, um uns dabei zu unterstützen. Wie gehen wir vor?
Nun, vielleicht haben Sie bereits Erfahrung damit und wir haben die Bauteile schon einmal getestet. Wir wissen beispielsweise, dass Modus A bei niedrigen Temperaturen dominiert, und wir haben eine Vorstellung von der Aktivierungsenergie und dem Formfaktor. Da wir hier schon einmal getestet haben, können wir die Werte zurückrechnen und kennen auch den Achsenabschnitt. Dann setzen wir die Werte einfach ein und berechnen sie. Wir wissen, dass der betrachtete Zeitraum 5 Jahre beträgt. Wir wissen, dass die betrachtete Temperatur 125 °C beträgt, und wir kennen unsere Arrhenius-Parameter – oder zumindest sind wir bereit, sie zu schätzen. Wir setzen die Werte ein und berechnen sie.
In diesem Fall sehen wir, dass z_A minus sieben ist. Wir werden für Modus B ähnlich vorgehen, nicht exakt gleich. Wir haben eine Vorstellung, wir bestimmen die Aktivierungsenergie und den Formfaktor. Um die Berechnung zu vereinfachen, habe ich eine Nebenbedingung eingeführt. Wenn hier Lebensdauertests durchgeführt werden und beide Modi vorhanden sind, gehe ich davon aus, dass die mittlere Ausfallzeit bei der mittleren Temperatur für beide Modi gleich ist. Denn wenn wir beispielsweise mehrere Temperaturen testen würden und Modus B nicht oder nur bei der letzten Temperatur auftreten würde, würde ich diese Daten wahrscheinlich verwerfen und nur den Ausfall von Modus A berücksichtigen.
Ich gehe hier davon aus, dass Modus A und Modus B die gleiche mittlere Ausfallzeit aufweisen. Das erscheint auch plausibel. Wenn Modus B dominieren würde, wäre kein abrupter Wechsel der mittleren Ausfallzeit von Modus B zu Modus A bei einer bestimmten Temperatur zu erwarten. Es dürfte sich eher um einen sanften Übergang handeln.
Wenn ich annehme, dass ich den Vorgang bei Modus A kenne und die Aktivierungsenergie für Modus B kenne (oder sie zumindest annehme, falls diese festgelegt ist), dann kann ich daraus extrapolieren, um den Achsenabschnitt zu erhalten, an dem die Funktion die Y-Achse schneidet. Unter dieser Bedingung kann ich also den Achsenabschnitt für Modus B berechnen. Ich werde genauso vorgehen. Ich setze die Werte für z_B ein und erhalte ungefähr -6.
Mal sehen, wie das aussieht. Ich kann meine Kontur generieren. Los geht's. Geben wir also unsere Werte ein. Z_A war -7 und z_B war -7. Ich habe also das Fadenkreuz hier. Mein Ziel war es, den Bereich von 10 bis -4 zu erreichen. Ich bin noch nicht ganz da. Es zeigt mir -3,x an, und deshalb liegt das Fadenkreuz irgendwo zwischen der -3- und der -4-Kontur. Wir sind noch nicht ganz da. Das bedeutet, wir müssen eine Anpassung vornehmen. Vielleicht waren unsere Werte oder die Auswahl für z_A falsch. Vielleicht können wir diese anpassen und den Bereich nach unten ziehen, sodass er die -4-Kontur schneidet. Oder vielleicht können wir einfach die Stichprobengröße erhöhen. Im Moment beträgt meine Stichprobengröße 20. Ich kann sie auf 40 erhöhen. Schau, jetzt bin ich über dieser -4-Kontur, -4,1. Wenn ich also eine Stichprobengröße von 40 verwende, kann ich das Ziel erreichen.
Ich muss das kurz zurückstellen.
Aus diesem Konturdiagramm lassen sich zwei weitere Erkenntnisse gewinnen. Zum einen dient es als grober Anhaltspunkt für die Sensitivität. Wir möchten wissen, was passiert, wenn sich z_A ändert oder beispielsweise meine Aktivierungsenergie, mein Formfaktor usw. variiert. Aktuell befinde ich mich bei -7, und die Kontur liegt bei -3,1. Wenn ich sie beispielsweise auf -5 setze, erhalte ich etwa -2,1. Ändert sich z_A um 2, also verringert oder erhöht sich um 2, verschiebt sich meine obere Konfidenzgrenze um eine Größenordnung auf Meta 2. Das könnte eine nützliche Information sein.
Eine weitere Möglichkeit besteht darin… Ich wende dies auf zwei Fehlermodi an, kann dieses Diagramm aber auch für einen einzelnen Fehlermodus verwenden. Dazu nehme ich beispielsweise an, dass z_B praktisch nicht auftritt. Die Ausfallwahrscheinlichkeit aufgrund von z_B ist extrem gering. Das bedeutet, dass z_B, also die Ausfallwahrscheinlichkeit aufgrund von Modus B, sehr klein ist. Ich kann beispielsweise einen Wert von -10 für z_B verwenden. Ich trage einfach -10 ein. Nun können wir einen anderen Wert verwenden, beispielsweise -7. Jetzt kann ich mich nur noch auf diese Achse konzentrieren und beobachten, wo die Konturen diese Achse schneiden. Ich habe etwas Spielraum. Vielleicht kann ich meine Stichprobengröße verringern oder Ähnliches.
Ich kann auf 10 Teile reduzieren, anstatt 20 zu verwenden, da mein Ziel -4 ist, und ich liege, wenn nur Modus A aktiv ist, schon ziemlich genau bei -4. Das ist einfach eine weitere Möglichkeit, diese Diagramme zu nutzen. Ja, und das hatte ich ja gerade schon erwähnt.
Zum Schluss möchte ich noch zusammenfassen, dass wir heute viele Themen behandelt haben. Ich habe die Lebensdauertestdaten für GaN-FETs analysiert und wir haben die Methode der konkurrierenden Risiken verwendet, um die Ausfallwahrscheinlichkeit für die beiden verschiedenen Ausfallarten zu ermitteln. Ich habe auch gezeigt, was passieren würde, wenn wir eine Ausfallart eliminieren könnten. Wenn wir beispielsweise Ausfallart A eliminieren und nur noch Ausfallart B übrig bleibt, würde sich die Zuverlässigkeit deutlich verbessern, und wir könnten beispielsweise unsere Spezifikationen anheben.
Ich habe auch erläutert, wie man einen Lebensdauertest, genauer gesagt einen beschleunigten Lebensdauertest, plant, wenn zwei Ausfallarten vorliegen. Dazu verwendete ich ein Konturdiagramm, das auf einer Anpassung durch ein neuronales Netzwerk basiert. Die Anpassung war sehr gut. Ich zeigte, wie man Konturdiagramme verwendet und dass sie sich auch für eine einfache Sensitivitätsanalyse eignen. Schauen wir uns an, welchen Einfluss die Planungswerte auf die obere Konfidenzgrenze haben. Ich zeigte, dass wir dasselbe Diagramm auch für einzelne Ausfallarten verwenden können. Es ist nicht auf Ausfälle mit zwei Ausfallarten beschränkt. Das war's. Vielen Dank.