Posts Issued on July 8, 2019

あるWebの記事について (2)

posted by sakurai on July 8, 2019 #125

同じ記事のPMHFについても怪しいところがあります。

まずPMHFそのものは単純で故障する頻度そのものである。ただ実際には1億回あたり1回未満というのはかなり難しい。一般にエレクトロニクス業界で使われている故障頻度には「FIT」(Failure in Time:10億時間あたりに発生する故障回数)と呼ばれるものがあるが、自動車向けのMCUなどではどんなに少ないものでも20FIT(10億時間あたり20回)といわれており、このままでは10^-8/hを満たせない。 ただ、PMHFは、ある特定の回路そのものの故障頻度ではなく、システム全体の故障頻度と見なすこともできる。例えば全ての部品を二重化しておき、片方が壊れてももう片方がそれを引き継ぐことができるとすれば、トータルとしての故障頻度は10FITに減る計算になり、これでASIL DのPFHFの目標をクリアできることになるからだ。

要約すれば、主系とバックアップ系が、それぞれ20FITの故障率を持つ2重化システムがあるとき、「トータルとしての故障頻度」が10FITになるということのようです。

実際には「トータルとしての故障頻度」はDPF(Dual Point Failure)の時であるから、車両寿命を$T_\text{lifetime}$として単純な確率計算では、 $$ \Pr\{\text{DPF}\}=\Pr\{\text{Channel 1 failed}\cap\text{Channel 2 failed}\} =\Pr\{\text{Channel 1 failed}\}\Pr\{\text{Channel 2 failed}\}\\ =(\lambda_\text{IF}T_\text{lifetime})(\lambda_\text{SM}T_\text{lifetime}) =(10\times 10^{-9})^2{T_\text{lifetime}}^2=1\times 10^{-16}{T_\text{lifetime}}^2 $$ となります。

この確率には主系⇒バックアップ系のフェイルオーバーだけでなく、その逆の場合も含まれるので、フェイルオーバーの場合のPMHF、すなわち平均PUDを求めると、この1/2を$T_\text{lifetime}$で割った値となります。 $$ M_\text{PMHF}=\overline{PUD}=\frac{1}{2}\lambda_\text{IF}\lambda_\text{SM}T_\text{lifetime} $$

この値は、車両寿命がいくら大きくても10FITにはなりません。例えば車両寿命が10万時間の場合のPMHF、すなわち平均PUDは、 $$ M_\text{PMHF}=\overline{PUD}=\frac{1}{2}\lambda_\text{IF}\lambda_\text{SM}T_\text{lifetime}=0.5\times 10^{-16}\cdot 1\times 10^{5}=0.005[FIT] $$ となります。逆にこれが10FITだとすると、車両寿命は5,708年というあり得ない値となってしまいます。

誤りの原因は2重化の場合の確率計算を1/2にしてしまったところにあります。本来は2重化システムにおいては、主系に故障があっても、バックアップ系が動作するフォールトトレラント性があるため、引き続いてバックアップ系にもフォールトが起きないとシステムの故障とはなりません。従って、確率計算としては両方にフォールトが起こる場合の、確率の掛け算になります。

以前の記事のように、レアイベント近似を用いれば、直列系は確率の足し算、並列系は確率の掛け算となります。表記の記事は、並列系で確率の掛け算をするところを、2冗長だから単純に1/2をかけたのかもしれませんが、正しくは10[FIT]ではなく0.005[FIT]のような、非常に低い数字になります。

いずれにせよ、故障頻度は故障確率として計算することを理解していないと、このような誤りを引き起こします。


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