1
Zuverlässigkeit und Fehlertoleranz
Zuverlässigkeitsmodellierung
Einordnung
Verlässlichkeit
Attribute
Verbesserungsmethoden
Bedrohungen
Zuverlässigkeit (Reliability)
Sicherheit (Safety + Security)
Vertraulichkeit (Confidentiality)
Wartbarkeit (Maintainability)
Fehlerbeseitigung
Fehlervorhersage
Fehlervermeidung
Fehlertoleranz
Fehler (Fault)
Störung (Error)
Ausfall (Failure)
Verfügbarkeit (Availability)
Kontinuität der Funktion
Zuverlässigkeit (Reliability)
Empirische Ermittlung: N Systeme sind fehlerfrei bei t0 = 0
C(t) … Anzahl funktionierender Systeme zum
Zeitpunkt t
F(t) … Anzahl fehlerhafter Systeme zum Zeitpunkt t
N = C(t) + F(t) mit F(0) = 0 Gesamtanzahl der Systeme
Es gilt:
3
Die Zuverlässigkeit eines Systems ist eine Funktion der Zeit, R(t), mit R: , die
definiert ist als die bedingte Wahrscheinlichkeit, dass das System korrekt in dem Zeitintervall [0,t] gearbeitet hat, vorausgesetzt, es hat zum Zeitpunkt 0 korrekt gearbeitet.
( ) ( )( )
C t N F tR t
N N Zeit t
C(t)
1.0
00
.00
0
t1 9
99
.90
0
t2
99
9.8
00
t3
99
9.7
00
t4
99
9.6
00
t100
99
0.0
00
N
t5 t0
(1)
Mittlere Zeit bis zu einem Fehler (MTTF)
Empirische Ermittlung: N … Gesamtanzahl der betrachteten Systeme
ti … Zeit bis zum Ausfall von System i
TRTN … Total Run Time aller Systeme
4
MTTF ist die erwartete mittlere Zeit bis zum Ausfall eines Systems.
1
:N
N ii
TRT t1
:N
N iN
i
TRT tMTTF
N N(2) (3)
(4)
Zusammenhang R(t) und MTTF (1)
Annahme: t0 = 0
Ausfallzeitpunkte t1,…,tN sind aufsteigend sortiert; d.h.: ti < ti+1
Anzahl korrekt funktionierender Systeme im Zeitintervall [ti,ti+1) ist C(ti)
Gesamtlaufzeit der funktionierenden Systeme im Zeitintervall [ti,ti+1) ist (ti+1 – ti) C(ti)
TRTN kann damit auch definiert werden durch Summieren der Gesamtlaufzeiten in allen Zeitintervallen:
5
1
10
: ( ) ( )N
N i i ii
TRT t t C t
Umstellen von Formel (1) ergibt:
Einsetzen von (5) in Formel (4) ergibt:
Einsetzen von (6) in Formel (3):
Für sehr kleine Zeitintervalle (ti+1 – ti) und N folgt:
(5)
Zusammenhang R(t) und MTTF (2)
6
1 1
1 11 1
: ( ) ( ) ( ) ( )N N
N i i i i i ii i
TRT t t R t N N t t R t
( )( ) ( ) ( )
C tR t C t R t N
N
1
11
: ( ) ( )N
NN i i i
i
TRTMTTF t t R t
N
0
: ( )MTTF R t dt
(6)
(7)
(8)
Beispiel
7
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0 1 2 3 4 5 6 7 8 9
10
11
12
13
14
15
16
17
18
19
20
21
22
Rel
iabi
lity
R(t
)
Time t
RA(t)
RB(t)
System A System B
Zuverlässigkeit
MTTF
0.1( ) t
AR t e 2 0.1 3 0.1( ) 3 2t t
BR t e e
0.1
0
10t
AMTTF e dt 2 0.1 3 0.1
0
3 2 8,3t t
BMTTF e e dt
Reliability Improvement Factor (RIF)
RIF wird bestimmt für eine fest vorgegebene Missionszeit T
Verglichen werden zwei Systeme A und B RA(T) ist Zuverlässigkeit des Systems A zum Zeitpunkt T
RB(T) ist Zuverlässigkeit des Systems B zum Zeitpunkt T
RIF > 1, dann ist System B zum Zeitpunkt T zuverlässiger als System A
8
1 ( )
1 ( )A
B
R TRIF
R T
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0 1 2 3 4 5 6 7 8 9 1 0
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
2 0
2 1
2 2
R e l i a b i l i t y R
( t )
Time t
T
RA(T)
RB(T)
Mission Time Improvement Factor
MTIF wird bestimmt für eine fest vorgegebene Zuverlässigkeit R
Verglichen werden zwei Systeme A und B bzgl. der Zeit zu der sie die
Zuverlässigkeit R besitzen TA ist Zeitpunkt mit RA(TA) = R TB ist Zeitpunkt mit RB(TB) = R
MTIF > 1, dann sinkt Zuverlässigkeit von B später auf den Wert R ab, als die
Zuverlässigkeit von A
9
B
A
TMTIF
T
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Rel
iabi
lity
R(t
)
Time t
RA(t)
RB(t)
R
TA TB
Fehlerrate z(t)
Bisher: Zuverlässigkeit auf Basis empirischer Beobachtung definiert
Jetzt: Modellierung der Zuverlässigkeit mittels Fehlerrate
Bekannt:
Änderung der Anzahl fehlerhafter Systeme:
In Relation zur Anzahl funktionierender Systeme:
10
( ) ( ) ( ) ( )( ) 1
C t N F t N F t F tR t
N N N N N
0
( ) ( ) ( )limh
dF t F t h F t
dt h
1 ( )( )
( )
dF tz t
C t dtZeit
C(t)
1.0
00
.00
0
t1
99
9.9
00
t2 9
99
.80
0
t3 9
99
.70
0
t4
99
9.6
00
t100
99
0.0
00
Anzahl der Systeme, die im Zeitintervall [ti, ti+1) ausgefallen
sind.
t5 t6 t0
Zusammenhang Zuverlässigkeit und Fehlerrate
Differenzieren beider Seiten von
ergibt:
Ersetzen von dF(t)/dt in Funktion z(t) ergibt
Allgemeine Lösung der entstehenden Differenzialgleichung für R(0) = 1 ergibt:
11
( ) ( ) ( ) ( )( ) 1
C t N F t N F t F tR t
N N N N N
( )1
( ) 1 ( )
F td
NdR t dF t
dt dt N dt
( ) ( )·dR t dF t
Ndt dt
( )( )
( )
N dR tz t
C t dt
1
( ) ( )
N
R t C t
1 ( )( )
( ) ( )
dR tz t
R t d t
( )( ) ( )
( )
dR tR t z t
d t( )
( )z t dt
R t e
1 ( )( )
( )
dF tz t
C t dt
Zuverlässigkeit für typische Fehlerraten
Konstante Fehlerrate (Ausfallzeiten haben eine Exponentialverteilung):
Steigende ( > 1)/fallende Fehlerrate ( < 1) (mit Weibull-
Verteilung):
12
( ) tR t e
1MTTF
( ) tR t e
( )z t t
( ) , wobei z t
1
11
0
( ), wobei ( ) : x yMTTF x y e dy
Modellierung der Fehlerrate
Übliche Einheit der Ausfallrate ist FIT (Failure in Time): • 1 FIT = 1 Ausfall in 109 Betriebsstunden
Bestimmung der Ausfallrate mit dem Arrhenius-Modell (Modell für die chemische Reaktionsrate):
• mit • T ist Temperatur in Kelvin • k = 8,6 x 10-5
• Ea = 0,8 eV für Oxide/Dielectric Breakdown • Ea = 0,5 – 0,7 eV für Elektromigration • Ea = -0,2 eV für Hot-carrier Degradation
nicht alle Fehler lassen sich so modellieren: Fertigungsfehler, transiente
Fehler
1 AE
kTc eMTTF
Anwendung der Arrehnius-Gleichung
Beschleunigte Alterungsexperimente zur Bestimmung der Lebensdauer
Empirisch wird bei erhöhter Temperatur ein Alterungsexperiment durchgeführt
Beispiel • Beobachtung von 8 Ausfällen bei 900 Chips über 1000 Stunden bei T1 =
100°C = 373,15 K
• Ausfallrate 1: 8/(900 * 1000) = 8,9 x 10-6
• Bei T2 = 30 ° C = 303,15 K gilt dann für k = 8,6 x 10-5 und Ea = 1 eV
• Damit ist Ausfallrate 2 = 8,9 x 10-6 / 1333 = 6,67 x 10-9 = 6,67 FIT
1
2
1
2
A
A
E
kT
E
kT
c e
c e
1 21
2
1333A AE E
kT kTe
Bestimmung der Zuverlässigkeit fehlertoleranter Systeme
Annahme: Fehlertolerantes System s ist aus mehreren Komponenten c1,…,ck aufgebaut
Für jede Komponente ci ist Zuverlässigkeit Rci(t) bekannt
Ziel: Bestimmung der Zuverlässigkeit Rs(t)
Bestimmung durch Kombinatorische Modelle: (Systemzustände nur implizit vorhanden)
Zustandsbasierte Modelle: Modellieren Gesamtzustand des Systems explizit und leiten daraus Zuverlässigkeit ab
16
Seriensystem
Alle Komponenten c1,…,ck eines Systems müssen funktionieren
Rci(t) sei Wahrscheinlichkeit, dass Komponente ci zum Zeitpunkt t
funktioniert
Damit ergibt sich:
Beispiel: Eine Komponente s besteht aus 1000 gleichartigen Gattern, die alle funktionieren
müssen, damit s funktioniert
Für ein Gatter gilt: R(t) = e-t
Damit:
17
1
( ) ( )i
k
s ci
R t R t
1000 10001000
1
( ) t t t
si
R t e e e
Parallelsystem
Ein System mit den Komponenten c1,…,ck funktioniert, wenn mindestens eine dieser Komponenten funktioniert
Rci(t) sei Wahrscheinlichkeit, dass Komponente ci zum Zeitpunkt t
funktioniert
Damit ergibt sich:
18
1
( ) 1 (1 ( ))i
k
s ci
R t R t
Keine Komponente funktioniert zum Zeitpunkt t
Verallgemeinerung
System S mit den Komponenten S = {1,…,k} ist gegeben
Ri (t) sei Wahrscheinlichkeit, dass Komponente i zum Zeitpunkt t funktioniert
Ein Systemzustand z S beschreibt alle funktionierenden Komponenten in S
Außerdem sind die Systemzustände Z (S) bekannt, in denen das System
seine Funktion erfüllt
Wahrscheinlichkeit, dass das System zum Zeitpunkt t im Zustand z ist:
Wahrscheinlichkeit, dass S seine Funktion erfüllt:
19
( ) ( )Z z
z Z
R t R t
( )
( ) ( ) (1 ( ))z k k
k z k S z
R t R t R t
Beispiel: TMR ohne Voter
S = {1,2,3} mit R1(t) = R2(t) = R3(t) = e-t
Funktionierende Systemzustände
Es ergibt sich für Z = {{1,2,3}, {2,3}, {1,3}, {1,2}}
20
2 3
3 2 2 3 2 3( ) ( ( ) 3 ( ) (1 ( ))) 3 ( ) 2 ( )) 3 2 3 2t t t t
SR t R t R t R t R t R t e e e e
M1
M2 Eingabe Ausgabe
M3
1 2 3( ) ( ) ( )R t R t R t 1 2 3(1 ( )) ( ) ( )R t R t R t 1 2 3( ) (1 ( )) ( )R t R t R t 1 2 3( ) ( ) (1 ( ))R t R t R t
M1
M2
M3
M1
M2
M3
M1
M2
M3
M1
M2
M3
Einbeziehung des Voters
TMR mit Voter
Betrachtung als Seriensystem mit Komponenten a und b
Zuverlässigkeit von a:
Zuverlässigkeit des Voters b:
Zuverlässigkeit des TMR-Systems:
21
2 3( ) ( ) 3 2vt t t
TMR S VR R t R t e e e
b a
M1
M2 Eingabe Ausgabe
M3
Voter
2 3( ) 3 2t t
SR t e e
( ) vt
vR t e
M-aus-N System
M, N und M N
System S enthält N identische Komponenten
Mindestens M davon müssen funktionieren
Zuverlässigkeit einer Komponente ist gegeben durch R(t)
Zuverlässigkeit des M-aus-N Systems:
Dabei ist:
22
,( ) ( ) 1 ( )
N N ii
M Ni M
NR t R t R t
i
!
( )! !
N Ni N i i
Gespiegelte Festplatten Prozessor mit Speicher
Reliability Block Diagrams (RBD)
Ein RBD ist ein gerichteter Graph mit einer Quelle und einer Senke Jeder Knoten des RBD repräsentiert eine physische Komponenten des Systems
(dieselbe Komponente darf also nicht mehrfach im RBD vorkommen) Kanten beschreiben funktionale Abhängigkeiten der Komponenten (keine
physischen Verbindungen) Es gilt folgender Zusammenhang zwischen einem System und seinem RBD:
Das System funktioniert gdw. es im RBD einen Weg von der Quelle zur Senke gibt, der nur durch funktionierende Knoten führt.
Beispiel:
23
P1 M1 D11 D12
Gespiegelte Festplatten Prozessor mit Speicher
M2 D21 D22 P2
Bu
s
Physisches System RBD
Bus
P1 M1
D11
D12
P2 M2
D21
D22
Serien-/Parallel-Systeme
Modellierung mittels RBD durch serielle und parallele Komposition von RBDs
Jede elementare Komponente a eines Systems ist bereits ein RBD mit Zuverlässigkeit Ra(t)
Serielle Komposition des RBDs c aus RBDs a und b:
Parallele Komposition des RBDs c aus RBDs a und b:
24
c a b ( ) ( ) ( )
c a bR t R t R t
c
a
b
( ) 1 ((1 ( )) (1 ( )))c a bR t R t R t
RBDs
Problem: TMR System lässt sich mittels vorgestellter RBDs nicht modellieren
Erweiterung: Komponenten dürfen im RBD mehrfach verwendet werden
Beispiel TMR:
25
a
b
c
b
c
a
c
a
b
Voter
Nicht-Serien-/Nicht-Parallel-Systeme
Es gibt RBDs, die lassen sich nicht durch serielle/parallel Komposition erzeugen
Beispiel:
Funktionierende Systemzustände: a,c
b,c
b,d
26
a
b
c
d
Zuverlässigkeit bestimmen
Lösung durch Entfaltung einer Komponente x; d.h.: 1. Fall x funktioniert 2. Fall x funktioniert nicht x für beide Fälle aus dem ursprünglichen System eliminieren
27
a
b
c
d
d
a
b d b
c funktioniert nicht
c funktioniert
c'
mit Rc'(t) = 1
Zuverlässigkeit bestimmen
28
a
b c
d
a
b d b
c funktioniert nicht
c funktioniert
2( ) (1 ( )) ( ) ( )
g c b dR t R t R t R t
1( ) ( ) (1 (1 ( )) (1 ( )))
g c a bR t R t R t R t
( ) ( ) (1 (1 ( )) (1 ( ))) (1 ( )) ( ) ( )g c a b c b dR t R t R t R t R t R t R t
Fehlerbäume
Operationale Abhängigkeiten zwischen den Komponenten eines Systems werden durch einen Baum modelliert Wurzel ist Fehlerzustand des Gesamtsystems Blätter repräsentieren Fehlerzustand der Komponenten: 0 … Komponente hat keinen Fehler 1 … Komponente hat einen Fehler
Zwei innere Knotenarten: Konjunktion (= serielle Komposition):
Funktion ist gegeben, wenn alle Söhne keinen Fehler haben
Disjunktion (= parallel Komposition): Funktion ist gegeben, wenn mindestens eine Komponente keinen Fehler hat
Beispiel:
29
RBD
Bus
P1 M1
D11
D12
P2 M2
D21
D22
D11 D12 D21 D22
or
and
P1 M1 P2 M2 or
and
or Bus
and