Posts Tagged with "failure rate"

既に発行済みのブログであっても適宜修正・追加することがあります。
We may make changes and additions to blogs already published.
posted by sakurai on September 23, 2018 #62

主機能M及び安全機構SMのペアについて、マルコフ状態遷移図を書いていきます。 まず、Mはアンリペアラブルであることを前提とし、SMはリペアラブルであることを前提とします。 しかし、MがフォールトしてもSMがそれをVSG(安全目標侵害)抑止している場合には、次のSMのフォールトは直ちにSG侵害となるため、一旦Mがフォールトとなった時点でSMはアンリペアラブルとなります。

まず、時刻$t$において、$\lbrace \mathrm{OPR:\ M\ up\ at\ }t\cap \mathrm{SM\ up\ at\ }t\rbrace$, $\lbrace \mathrm{SPF:\ M\ down\ at\ }t\cap\mathrm{VSG\ of\ M\ not\ preventable}\cap\mathrm{SM\ up\ at\ }t\rbrace$, $\lbrace \mathrm{LAT1:\ M\ down\ at\ }t\cap\mathrm{VSG\ of\ M\ preventable}\cap\mathrm{SM\ up\ at\ }t\rbrace$, $\lbrace \mathrm{LAT2:\ M\ up\ at\ }t\cap\mathrm{SM\ down\ at\ }t\rbrace$, $\lbrace \mathrm{DPF:\ M\ down\ at\ }t\cap\mathrm{SM\ down\ at\ }t\rbrace$,の5状態があり、$t$から$t+dt$までの微小時間$dt$の間に遷移する微小確率PUDを求めます。

図のほうがわかりやすいので、以下にマルコフ状態遷移図を示します。

図%%.1
図62.1 M/SMモデルのマルコフ状態遷移図

マルコフ状態遷移図でのOPR→SPF

図より微小不稼働確率をPUDで表すと、 $$ q_{M,SPF}(t)dt=\Pr\{\mathrm{OPR\ at\ }t\cap\mathrm{M\ down\ in\ }(t, t+dt]\cap\mathrm{VSG\ of\ M\ not\ preventable}\} \\ =\Pr\{\mathrm{M\ up\ at\ }t\cap\text{SM up at }t\cap\mathrm{M\ down\ in\ }(t, t+dt]\cap\mathrm{VSG\ of\ M\ not\ preventable}\} \\ =\Pr\{\mathrm{VSG\ of\ M\ not\ preventable}\}\Pr\{\mathrm{M\ fails\ in}(t, t+dt]\ |\ \mathrm{M\ up\ at\ }t\}\Pr\{\mathrm{M\ up\ at\ }t\}\Pr\{\text{SM up at }t\}\\ =(1-K_{M,FMC,RF})A_{SM}(t)R_{M}(t)\lambda_{M}dt=(1-K_{M,FMC,RF})A_{SM}(t)f_{M}(t)dt\tag{62.1} $$

マルコフ状態遷移図でのLAT2→DPF

図より微小不稼働確率をPUDで表すと、 $$ q_{M,DPF}(t)dt=\Pr\{\mathrm{LAT2\ at\ }t\cap\mathrm{M\ down\ in\ }(t, t+dt]\}\\ =\Pr\{\mathrm{SM\ down\ at\ }t\cap\mathrm{M\ up\ at\ }t\cap\mathrm{M\ down\ in\ }(t, t+dt]\}\\ =\Pr\{\mathrm{SM\ down\ at\ }t\rbrace\Pr\{\mathrm{M\ fails\ in}(t, t+dt]\ |\ \mathrm{M\ up\ at\ }t\}\Pr\{\mathrm{M\ up\ at\ }t\}\\ =Q_{SM}(t)R_{M}(t)\lambda_{M}dt=Q_{SM}(t)f_{M}(t)dt\tag{62.2} $$

主機能フォールトによるVSG

以上から(62.1)と(62.2)を加えれば、MによりSPFもしくはDPFとなる場合の微小遷移確率が求められ、 $$ q_{M}(t)dt=q_{M,SPF}(t)dt+q_{M,DPF}(t)dt=\left[1-K_{M,FMC,RF}A_{SM}(t)\right]f_{M}(t)dt\\ =\img[-1.35em]{/images/withinseminar.png} ただしu\equiv t\bmod\tau_{SM}\tag{62.3}$$ となります。


左矢前のブログ 次のブログ右矢

posted by sakurai on September 18, 2018 #61

PUD(Point Unavailablity Density)の定義からご紹介します。とはいえ、これは弊社の造語であり本ブログと論文だけで通用するものです。このPUDは不稼働密度とでも訳すべきものであり、以下に定義を示します。

PUD:

PUD、すなわち不稼働密度$q_{item}(t)$は、前々回ご紹介したポイントアンナベイラビリティ(PUA)の時間微分で、以下の微小不稼働確率を$dt$で割ったものです。$q_{item}(t)$の式にすると$\lim_{dt \to 0}$が出てくるため、形式的に両辺に$dt$をかけ微小不稼働確率としています。 $$q_{item}(t)dt\equiv(\frac{dQ_{item}(t)}{dt})dt=\img[-1.35em]{/images/withinseminar.png}\tag{61.1}$$

PMHFは、修理系アイテムの車両寿命間のダウン確率の時間平均であることから、ここで示すアイテムの平均PUDと考えられます。このことは規格Part5には以下のように書かれています。

図%%.1
図61.1 Part5でのPMHFの意味

「アイテムの作動寿命間の毎時平均確率」とは舌足らずであり、何の確率かが書かれていません。その前に「ランダムハードウェア故障」とあるため文脈から故障確率であると読み取れますが、修理系の場合は厳密には故障確率ではなく、故障したものが修理される事象を含めたダウン確率です。

従って、PMHFを求めるにはまず微小不稼働確率に着目して確率微分方程式を立て、それを0から車両寿命$T_{lifetime}$まで積分し、$T_{lifetime}$で割って平均PUDを算出する流れで求めます。


左矢前のブログ 次のブログ右矢

posted by sakurai on September 10, 2018 #59

※この記事は2018年に書かれたものであり、基本的には変わりませんが最近の記事で詳細計算を行っています。

SMのアンナベイラビリティ(不稼働率、PUA)$Q_{SM}(t)$の導出

以前PMHF式を以下で導出しました。 https://fs-micro.com/post/show/id/10.html

ここでは再度PMHFの式を導出して行きますが、事前準備がいくつか必要になりますので、まず、修理系のアンナベイラビリティの公式を導きます。

まず、修理系とは何かを説明します。ISO 26262規格には修理の問題についてはっきり書いていませんが、1st SMが修理系となります。1st SMとは、1st order SMとも呼ばれ、主機能のSG侵害(安全目標侵害=VSG)を防止するためのSMです。一方で、主機能は非修理系です。

1st SMは、2nd SMにより定期的に検査され、故障だと判明した場合は直ちに修理されます。2nd SMとは2nd order SMとも呼ばれ、エレメントがレイテントフォールトとなるのを防止する安全機構です。規格にもあるとおり、修理周期は「検査周期($\tau_{SM}$)+ドライバーが修理工場へ運転して行く時間+修理にかかる時間」です。従って、修理周期=2nd SMの検査周期とみなせます。

規格にははっきり書かれていませんが、検査により故障と判明した部分については、修理され新品同様(as good as new)と見なされます。この検査による故障検出割合が重要であり、Part 10では定数値$K_{FMC,MPF}$で表されます。故障したうちの検出部分なので(59.1)のように条件付き確率と考えがちですが、 $$K_{FMC,MPF}=\Pr\lbrace \text{detectable}\ |\ \text{failed at }t \rbrace\tag{59.1}$$ 故障検出能力は確率的に決まるものではなく、アーキテクチャ的に決まるものだと考えるため、もともとの検出部分の故障について検出可能とします。 $$K_{FMC,MPF}=\Pr\lbrace \text{detectable} \rbrace\tag{59.2}$$ 検出された故障は全て修理されるものとします。 $$\Pr\lbrace \text{repaired}\ |\ \text{detected at }t\rbrace=1\tag{59.3}$$

次にアンナベイラビリティ$Q_{SM}(t)$とは、省略せずに言うとポイントアンナベイラビリティ(PUA)であり、修理系の不稼働率です。 確率の式で表せば、

PUA: $$Q_{SM}(t):=\Pr \lbrace \text{(repairable)SM down at }t \rbrace\tag{59.4}$$ のように、時刻$t$において不稼働である確率を意味します。

一方で、アベイラビリティの式は参考ページまたはBirolini教授の教科書を参照すれば、 $$ A(t):=R(t)+\int_0^t m(x)R(t-x)dx\tag{59.5} $$ であり、ここで、$A(t)$は時刻tにおけるポイントアベイラビリティ、$R(t)$は時刻tにおけるリライアビリティ(信頼度)、$m(t)$は時刻tにおけるリニューアル密度(修理密度)です。規格の特徴として、修理周期は教科書一般にあるように指数関数分布はとらず、定期的に$\tau_{SM}$毎に行われるため、以下の式が成立します。 $$A_{SM}(t)=R_{SM}(t)+K_{SM,FMC,MPF}F_{SM}(\tau_{SM})\sum_{i=0}^{n-1}R_{SM}(t-i\tau_{SM})\tag{59.6}$$

修理分$K_{SM,FMC,MPF}F_{SM}(\tau_{SM})$が時刻$t$の関数でないのは、検出能力$K_{FMC,MPF}$は一定で、かつ毎回の故障確率も一定で、検出した分は全て修理されるため、修理分が一定となるためです。 従って、SMのポイントアベイラビリティ式は以下のようになります。 $$A_{SM}(t)dt=\img[-1.35em]{/images/withinseminar.png}\tag{59.7}$$

これを1から引けば、SMのポイントアンアベイラビリティ(PUA)は以下のように求められます。

PUA: $$Q_{SM}(t)dt=\left[1-A_{SM}(t)\right]dt=\img[-1.35em]{/images/withinseminar.png}\tag{59.8}$$

(59.8)の両辺を時刻$t$で微分すれば、微分可能な$t$におけるPUD(Point Unavailability Density)が求められます。

PUD: $$q_{SM}(t)dt:=(\frac{dQ_{SM}(t)}{dt})dt=\img[-1.35em]{/images/withinseminar.png},\\ \ t\notin\{\tau_i=i\tau; i=1,2,...,n\}\tag{59.9}$$

※ここでの議論において、次に示すような形式的な記法を用いています。例えば、 $$f(t)=\lim_{dt\to +0}\frac{F(t+dt)-F(t)}{dt}=\frac{dF(t)}{dt}$$ と書くところを$dt$が無限小であることを前提として、 $$f(t)dt=dF(t)$$ としています。確率密度関数$f(t)$を求めるよりも、微小確率$f(t)dt$を求めるほうが、次での積分の記述が容易になるためです。

なお、本稿はRAMS 2025に投稿予定のため一部を秘匿しています。


左矢前のブログ 次のブログ右矢

FTA (11)

posted by sakurai on January 23, 2017 #30

共通原因故障(CCF)

前稿では冗長制御方式を取り上げて、メインマイコンとサブマイコンがお互いに主機能とSMの関係になっており、SPFを防止していることを説明しました。共通原因故障(Common Cause Failure, CCF)が無い理想的な場合にはこれが成立します。一方、メインマイコンとサブマイコンにCCFを持つ場合にはどうなるか、MCSを取得してみましょう。

CCFの例

メインマイコンとサブマイコンに共通の発振回路からクロックを供給している場合はどうでしょうか? メインマイコン発信回路の故障をBE028、サブマイコン発振回路の故障をBE031としていたもとのツリーを変更してBE031をBE028に置き換えてみます。こうすると冗長系の両側に共通の故障原因BE028を持つことになり、MCSを取得すると以下のようにANDの下だったものが上位のORに接続され、SPFの原因となります(図29.1)。

図29.1
図29.1 CCFのFT図

図29-2
図29.2 分配則

図29.2はブール代数の分配則であり、これにより上記論理変換が行われます。

これは何を意味するかというと、共通の電源、クロック源、あるいは共通の型番を持つと、単一のランダムハードウェア故障ないしはシステマティック故障により、メインマイコンとサブマイコンのお互いの安全機構の構造が崩れて、単一原因により安全目標が侵害されるとことになり、重要な故障となることを意味します。

ISO26262はこのCCFを定量的に計算する手段を規定していないため、ISO26262のベース規格であるIEC61508に記述されているCCFのβファクタを援用することになります。また、ISO26262の発展規格であるISO19451において、従属故障分析(DFA, Dependent Failure Analysis)として詳述されていますので、ご参照ください。


左矢前のブログ 次のブログ右矢

FTA (10)

posted by sakurai on January 20, 2017 #29

因数分解

前稿のMCSにおいて因数分解を行います。このステップは必須のステップではありません。論理的には前のツリーと等価なツリーなのですが、冗長構成となっていることをひとめで明らかにするために因数分解を行います。上記のMCS論理式を因数分解したものを以下のFTに示します。因数分解はAND-OR形式をOR-AND形式に変換するものですが、残念ながら自動的には困難であるため、人力で行います。

FTA-TEST1-MCS-FACT
図29.1 FTA例のMCSと等価のFT

論理等価なのでMCSは上記MCSと同じです。メインマイコン各部(8箇所)の故障とサブマイコン各部(8箇所)の故障が互いに主機能・安全機構の関係となりSPFを防止しており、共通部分の回路のみがSPFとなっていることがひとめでわかります。MCの数は前と同じく8×8+1=65項となります。

ISO26262の目的は安全に関する論証なので、このようにアセッサー等の第三者が見てわかりやすいドキュメントを生成することが重要です。マイコンやLSIのように比較的故障率の大な部品を使用する際に、マイコン単体でASIL-Dを達成するのは困難ですが、このような冗長構成をとればSPF/RFが冗長部分で微小となるため、ASIL-D対応が可能となります。


左矢前のブログ 次のブログ右矢

FTA (9)

posted by sakurai on January 10, 2017 #28

実際の例

システムFTAの実例をご紹介します。これはあるECUの安全分析を実施したもので、メインマイコンとサブマイコンによる冗長制御を行っているECUの例です。電源回路は共通で、共通の信号が両マイコンに入力され、両マイコンの出力が揃って初めて動作するという回路構成となっています。主機能としてはマイコンはひとつで成立するのですが、ECUがASIL-D対応をする必要があるため、冗長構成をとり故障率を低減しています。

システムFTAと称する理由は、基事象が部品の故障モードではなく、エレメントの故障モードとなっているためです。

トップ事象を侵害する分析は、このように一般的に非常に複雑になり、マイコンの故障が複数個所に出てくることになります。以下はFTの図です。

FTA-TEST1
図28.1 ECUのFTA例

MCSの導出

この例のMCSを取得したものが以下の図です。SAPHIREにより155個の積項(ミニマルカット=MC)が得られました。カラムは順番に、その事象の「連番」、「ケース」、「確率」、「確率のパーセント表記」、「ミニマルカット」です。

mcs1-1
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
mcs1-2
図28.2 FTA例のMCS

3次以上の次数項の省略

次にSAPHIREの分析の際に、3次以上の積項を省略したMCSを取得してみます。3次以上の積項を省略する理由は、ISO26262において3点故障はセーフフォルトとして良いとあるためであり、3次以上の積項は一般的に確率的に非常に小さいので省略可能なためです。

これを行うにはSAPHIREにおいて、Fault Treeを選択しSolveコマンドを実行する際に、Sizeに2を設定します。すると155個得られた積項が65個と減少します。以下のMCSの論理式を確認すると1次と2次の積項のみであることがわかります。今回はTOP事象の侵害確率は、155項の積算でも65項の積算でも2.218E-5と変わりませんでした。これからも3次以上の積項を省略することが可能と言えます。

mcs2-1
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
mcs2-2
図28.3 FTA例のMCS(2次以下)

これを論理式として出力し、FTL(Fault Tree Language)に(手で)変換してからSAPHIREに取り込むと、SAPHIREがツリーを構成してくれます。その図を以下に示します。

FTA-TEST1-MCS
図28.4 FTA例のMCSのFT

左矢前のブログ 次のブログ右矢

FTA (8)

posted by sakurai on December 20, 2016 #27

MCSのFault Tree

SAPHIREではMCSの論理式は出力してくれるのですが、残念ながらFault Tree図(FT図)は構成されません。そこで、論理式からのインポートを行います。まず論理式は図26.2のように出力されるので、それをFTL(Fault Tree Language)に変換しますが、変換したものを以下に示します。

WARWICKFTA, TOP-MCS =
TOP-MCS OR TOP0 TOP1
TOP0 AND E1 E3 E4
TOP1 AND E2 E3 E4

その後、SAPHIREのインポート機能により取り込み、FT図を作成したものが、図27.1となります。

図27.1
図27.1 MCSのFT図

左矢前のブログ 次のブログ右矢

FTA (7)

posted by sakurai on December 13, 2016 #26

論理圧縮の実際

前回ご紹介した、英国Warwick大学のFTに対して、SAPHIREでTOP事象侵害確率を求めてみます。 FTのイベントに対して、$A=e_1$、$B=e_2$、$C=e_3$、$D=e_4$と置き直して、FTA(5)の表24.1のイベントの故障率に基づけば、

表26.1
基事象ID 故障率[FIT]
e1 8.74
e2 1.80
e3 1.53
e4 5.08

これらに基づきSAPHIREでFTを構成すると図26-1のようになります。

図26-1
図26.1 FT図

SAPHIREによりMCSを求め、TOP事象侵害確率を求めると以下の表のようになります。車両寿命を$10^5$時間とすれば、平均的な故障率は$8.186\cdot 10^{-6}[FIT]$となります。

表26.2
表26-2

MCSは同じく{{A, C, D}, {B, C, D}}と求められます。


左矢前のブログ 次のブログ右矢

FTA (6)

posted by sakurai on December 4, 2016 #25

論理圧縮の実際

さらにツールを用いてやや複雑なFTに関して論理圧縮を実行してみましょう。英国Warwick大学のFTAの説明資料に以下のようなやや複雑なFTが例示されています。

図21-1
図25.1

これにFTA(4)のMCSアルゴリズムで示したブール代数により手作業で論理圧縮を実施すると、以下のようになります。

\[ (A\cup B)\cap((A\cap C)\cup(A\cap B))\cap(D\cap C) =(A+B)(AC+DB)DC\\ =AACDC+ADBDC+BACDC+BDBDC\\ =ACD+ABCD+ABCD+BCD\\ =ACD(1+B)+BCD(1+A)\\ =ACD+BCD \]

図25.2

MCSは{{A, C, D}, {B, C, D}}と求められます。一方、WinCUPLで論理圧縮を行うには、以下のようなファイルを用意します。

Name MinimalCutSet;
PartNo 00 ;
Date 2016/03/28 ;
Revision 01 ;
Designer Engineer ;
Company FS Micro Corporation;
Assembly None ;
Location ;
Device ;

Pin [1..4] = [A, B, C, D];
Pin 5 = Q;

/* EQUATIONS */
Q.t = (A # B) & ((A & C) # (D & B)) & (D & C);

図25.3

WinCUPLにより論理圧縮をかけた結果、以下のような出力が得られます。手作業で実施したのと同じ論理式が得られます。


*******************************************************************************
MinimalCutSet
*******************************************************************************

CUPL(WM) 5.0a Serial# 60008009
Device virtual Library DLIB-h-40-1
Created Tue Mar 29 09:37:27 2016
Name Minimal Cut Set
Partno 00
Revision 01
Date 2016/03/28
Designer Engineer
Company FS Micro Corporation
Assembly None
Location

===============================================================================
Expanded Product Terms
===============================================================================

Q.t =>
B & C & D
# A & C & D

図25.4

MCSは同じく{{A, C, D}, {B, C, D}}と求められます。


左矢前のブログ 次のブログ右矢

FTA (5)

posted by sakurai on November 19, 2016 #24

WinCUPL

前稿でMCSの導出はブール則による論理圧縮であることを説明しました。論理圧縮ツールの具体例として、WinCUPLというツールをご紹介します。これは大学で開発されたCUPLというPLDのプログラミングツールをAtmelがWindows用に移植したもので、無料で使用可能です。 PLDプログラミング機能のうちのlogic minimization(論理圧縮)機能を使用します。論理圧縮とは、入力された複雑なブール式をespresso法等で簡略化するもので、本稿ではFTAのMinimal Cut Setを導出するために流用します。

PMHF値の算出

実際にWinCUPLにより論理圧縮を実施し、MCSを求め、PMHF値を算出してみましょう。PMHFとは、車両寿命間での故障確率(正確には平均不稼働確率)を求め、車両寿命で割った平均故障率(正確には平均不稼働率)を意味します。ただしこの場合、DPFは小さいため無視するものとします。FTA(1)でご紹介したFTを対象とします。さらに基事象の故障確率は以下の表で与えられるものとし、車両寿命を$10^5$[H](10万時間)として確率を計算します。

表24.1
基事象ID 故障率[FIT]
e1 8.74
e2 1.80
e3 1.53
e4 5.08
e5 9.69
e6 5.36
e7 8.22
e8 6.23

手順としてはまず、このFTをWinCUPLにより簡単化します。

FTA(1)でご紹介したFTをCUPLの入力論理式で記述すると、以下のようになります。

Name MinimalCutSet;
PartNo 00 ;
Date 2016/03/28 ;
Revision 01 ;
Designer Engineer ;
Company FS Micro Corporation;
Assembly None ;
Location ;
Device ;

/* *************** INPUT PINS *********************/
Pin [10..18] = [e1..e8];

/* *************** OUTPUT PINS *********************/
Pin 1 = top;

top = (e1 # e2) # (e3 & e4 & e5) # (e6 # (e7 & e8));

図24.1

WinCUPLによる論理圧縮

前述の入力をWinCUPLで処理すると、以下のようなドキュメントが出力されます。


*******************************************************************************
MinimalCutSet
*******************************************************************************

CUPL(WM) 5.0a Serial# 60008009
Device virtual Library DLIB-h-40-1
Created Tue Mar 29 09:37:27 2016
Name Minimal Cut Set
Partno 00
Revision 01
Date 2016/03/28
Designer Engineer
Company FS Micro Corporation
Assembly None
Location

===============================================================================
Expanded Product Terms
===============================================================================

top =>
e3 & e4 & e5
# e7 & e8
# e6
# e2
# e1

(省略)

図24.2
ここで、上記論理式は、{{e1}, {e2}, {e6}, {e7, e8}, {e3, e4, e5}}というMCSを意味します。従って、TOP事象侵害確率をレアイベント近似で求める場合、FTA(2)で見たように(21.2)で求められます。 \[ P\{TOP\}\approx P\{e_1\}+P\{e_2\}+P\{e_3\}P\{e_4\}P\{e_5\}+P\{e_6\}+P\{e_7\}P\{e_8\}\tag{24.1} \]

これらの基事故障率に基づいて、車両寿命を$10^5$[H]とした場合の「Exponential1次近似」を用い、さらにレアイベント近似を用いた計算を行うと、

0.000874+0.00018+0.000153*0.000508*0.000969+0.000536+0.000822*0.000623=1.591e-03

図24.3

となります。PMHFは故障率の次元を持つので上記確率を車両寿命$10^5[H]$で割ると、PMHF=$1.591\cdot 10^{-8}=15.91$[FIT]と求められます。

SAPHIREによる計算

SAPHIREではMCS導出とTOP事象侵害確率計算まで自動で可能です。この結果を次図に示します。

図new ft cutset2
図24.4 MCS図

SAPHIREでも同じく{{e1}, {e2}, {e6}, {e7, e8}, {e3, e4, e5}}というMCSが取得できました。また、TOP事象確率は$1.590\cdot 10^{-3}$と手計算と比較して若干小さい結果となりました。同様に上記確率を車両寿命$10^5[H]$で割れば、PMHF=$1.590\cdot 10^{-8}=15.9$[FIT]となります。手計算の結果のほうが若干大きいのは、レアイベント近似によるダブルカウントのためと考えられます。


左矢前のブログ 次のブログ右矢


ページ: