Loading [MathJax]/jax/output/CommonHTML/jax.js

Posts Tagged with "failure rate"

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

プレスリリースで案内のとおり、去る1月27日から4日間、米国カリフォルニア州パームスプリングスで開催された、RAMS 20201において、PMHF2に関する論文を発表しました。論文の題名は"Generic Equations for a Probabilistic Metric for Random Hardware Failures According to ISO 26262"です。邦題は「ISO 26262に準拠したランダムハードウェア故障の確率的メトリクスの一般式」であり、PMHFを正確に評価することを可能にするものです。RAMS 2020は、IEEE RS3が主催する、信頼性工学に関する世界最高レベルの国際学会です。

発表の内容は、IF4及びSM5から構成されるサブシステムにおいて、IFがISO 26262第1版に対応する修理不能なモデルと、第2版に対応する修理可能なモデルの2つを考案し、それに基づいたPMHF式を導出し、第1版とは一致、第2版とは不一致となることを示しました。次に第2版との不一致について、規格第2版のPMHFの過小評価と、EOTTI6の過大評価を計算し、規格第2版は31倍もの過剰な設計制約となっていることを明らかにしたものです。

下の写真の向かって右はRAMS 2020のGeneral ChairであるDr. Julio Pulidoです。

図%%.1
図199.1 RAMS 2020にて

下の写真の左上はColloquim Session ChairであるJess Leszczynskiと、右上はPaper Session ChairであるDongmei Chenと、右下はProgram Committee ChairであるOm Yadavとの写真です。

図%%.2
図199.2 RAMS 2020にて

[追記]
論文の公開場所は、以下のIEEE Xploreです。
https://ieeexplore.ieee.org/document/9153704


1RAMS 2020: The 66th Annual Reliability & Maintainability Symposium
2PMHF: Probabilistic Metric for random Hardware Failures ⇒用語集
3RS: Reliability Society
4IF: Intended Functionarity ⇒用語集
5SM: Safety Mechanism ⇒用語集
6EOTTI: Emergency Operation Tolerance Time Interval⇒用語集


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

posted by sakurai on October 25, 2019 #173

ニュースリリースでも明らかにしたように、このブログで研究してきたPMHFの一般式が、RAMS 2020に採択されました。ブログにおいて機能安全の知識は前提として良いので、注釈を取り除き、逆にブログとの関連の注釈☆をつけて再掲します。リリース文を茶色、注釈を青色で表示します。

なお、RAMS 2020に投稿中だったため、最新の研究#103~108を非開示としていましたが、今回採択が決定したので、RAMS 2020終了後(2020年2月頃)に公開予定です。


図%%.1

ISO 26262機能安全コンサルティングを提供するFSマイクロ株式会社(本社:名古屋市)代表取締役社長 桜井 厚の論文が、2019年10月19日、IEEE Reliability Society主催の国際学会である第66回RAMS(RAMS 2020)に採択されました。RAMS 2020は、2020年1月27日から30日まで、アメリカ・カリフォルニア州パームスプリングスのマリオット・ルネッサンスにて開催予定です。(☆1月30日最終日の12:15~14:15に開催されるコロキアムセッションにて発表します。)

図%%.2

論文の題名は「Generic Equations for a Probabilistic Metric for Random Hardware Failures According to ISO 26262」です。邦題は「ISO 26262に準拠したランダムハードウェア故障の確率的メトリクスの一般式」であり、ランダムハードウェア故障の確率的メトリクス(PMHF)を正確に評価することを可能にするものです。(☆上記にもあるように、本ブログでは#103~108で書きましたが、暫定非公開中です。⇒RAMS 2020が終了したので、当該記事を公開に変更しました。)

2011年に車載電子機器における機能安全の国際規格であるISO 26262の初版が、また、2018年には改訂版が発効されました。この規格改訂版においてはPMHF式が変更されていますが、PMHF値の数学的な定義や、エレメントの前提条件が明確ではありませんでした。(☆エレメントの前提条件とは具体的には修理可能性のことです。規格初版と規格改定版で、この修理可能性の前提を変えていると推測します。) 本論文ではこれらの点を明確にし、さらに規格に準拠した周期的な検査が行われるエレメントの不稼働確率式を初めて明らかにしました。 (☆不稼働確率については前記事に記載しています。)

これに基づき、一般的なサブシステムに関するPMHF式を新たに導出しました。本論文によりPMHF値を正確に評価できるため、広範な車載ECUにおいて、適正な安全設計を実施することが可能となります。また、緊急操作許容時間間隔(EOTTI)に関する過剰な設計制約を軽減できるため、自動運転システムに代表される耐故障システムにおいて、設計工期の短縮や製品コストの低減が可能となります。 (☆EOTTIの31倍の過剰見積もりについては前記事に記載しています。)

商号      FSマイクロ株式会社
代表者     桜井 厚
設立年月日   2013年8月21日
資本金     3,200万円
事業内容    ISO 26262車載電子機器の機能安全のコンサルティング及びセミナー
本店所在地   〒460-0011
        愛知県名古屋市中区大須4-1-57
電話      052-263-3099
メールアドレス info@fs-micro.com
URL      http://fs-micro.com


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

2nd EditionのPMHF方程式

posted by sakurai on July 17, 2019 #130

2nd EditionのPMHF方程式は前稿のように、

図109.3
図109.3 2nd Editionの規格式

となっており、Pattern 2及び4に関して、0.5がどこにいったかが謎でした。

ところが、2018年にヨーロッパで実施された機能安全ワークショップでのインテルの資料(恐らくDr. Riccard Marianiの資料)に

図%%.1
図130.1 Intelによる2nd Editionの規格式

という式が出ており、無くなったことが謎だった0.5が戻っています。どちらかと言えば、こちらのほうが(少しだけ)正しい式です。

結論としては両者とも誤っているのには違いないのですが、謎の部分が無くなったことで、規格式の誤りが明確になりました。誤りの原因は、初期状態において、IFまたはSMのいずれかがアンリペアラブルと固定している点です。実際にこの条件で計算すると、図130.1の式と一致します。

本来は初期状態においてIF、SMの両方ともリペアラブルとしなければなりません。つまり、図109.3の2nd Editionの規格式の誤りは以下の2か所あると思われます。

  • パターン2, 4で0.5が消えている件
  • こちらのほうが重大ですが、

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

posted by sakurai on July 9, 2019 #126

さて、前稿平均PUD計算は簡易的に、冗長システムの確率の1/2として求めましたが、厳密には、

例えば全ての部品を二重化しておき、片方が壊れてももう片方がそれを引き継ぐことができる

という、スタンバイシステムについて平均PUD計算する必要があります。常に両方が稼働する冗長(2重化)と異なり、主系がフォールトしたときに初めて従系が稼働するものです。

IF、SM1からなるサブシステムがあり、IF、SM1の両方ともアンリペアラブルだとします。それぞれの故障率は、λIF及びλSMとします。上記のように、IFもSM1もt=0から同時に動作している冗長系ではなく、時刻tにおいて主系であるIFがダウンし、即座にスタンバイ系であるSM1が引き続いて動作するものとします。

すると、車両寿命Tlifetimeにおける稼働度(Availability)は、IFがTlifetimeまでにダウンしないか、あるいは、途中の時刻tでダウンしたとしても、そこからSM1がTlifetimeまでダウンせずに稼働する確率なので、

Asubsystem(Tlifetime)=Pr{IF not failed at Tlifetime}+Tlifetime0Pr{IF fails in (t+dt]IF not failed at tSM not failed in (Tlifetimet]}=RIF(Tlifetime)+Tlifetime0RSM(Tlifetimet)FIF(t)dt=RIF(Tlifetime)+Tlifetime0eλSM(Tlifetimet)λIFeλIFtdt=RIF(Tlifetime)+λIFeλSMTlifetimeTlifetime0e(λIFλSM)tdt=RIF(Tlifetime)+λIFeλSMTlifetime[e(λIFλSM)t(λIFλSM)]Tlifetime0=RIF(Tlifetime)+λIFeλSMTlifetime[1e(λIFλSM)TlifetimeλIFλSM]=RIF(Tlifetime)+λIFλIFλSM(eλSMTlifetimeeλIFTlifetime)=,ただし、λIFλSM

平均PUDを求めるには不稼働度(Unavailability)の時間平均が知りたいので、λt1の前提でR(t)=eλt1λt+12λ2t2と、2次項までMaclaurin展開し、平均PUDを求めると、 ¯PUD=1TlifetimeQsubsystem(Tlifetime)=1Tlifetime[1Asubsystem(Tlifetime)]1Tlifetime[1(1λIFTlifetime+12λIF2Tlifetime2)]1TlifetimeλIFλIFλSM[(1λSMTlifetime+12λSM2Tlifetime2)(1λIFTlifetime+12λIF2Tlifetime2)]=(λIF12λIF2Tlifetime)λIFλIFλSM[(λIFλSM)12Tlifetime(λIFλSM)(λIF+λSM)]=(λIF12λIF2Tlifetime)λIF[112Tlifetime(λIF+λSM)]= 以上から、前稿の2重化での簡易計算と完全一致します。


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

ある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)の時であるから、車両寿命をTlifetimeとして単純な確率計算では、 Pr{DPF}=Pr{Channel 1 failedChannel 2 failed}=Pr{Channel 1 failed}Pr{Channel 2 failed}=(λIFTlifetime)(λSMTlifetime)=(10×109)2Tlifetime2=1×1016Tlifetime2 となります。

この確率には主系⇒バックアップ系のフェイルオーバーだけでなく、その逆の場合も含まれるので、フェイルオーバーの場合のPMHF、すなわち平均PUDを求めると、この1/2をTlifetimeで割った値となります。 MPMHF=¯PUD=12λIFλSMTlifetime

この値は、車両寿命がいくら大きくても10FITにはなりません。例えば車両寿命が10万時間の場合のPMHF、すなわち平均PUDは、 MPMHF=¯PUD=12λIFλSMTlifetime=0.5×10161×105=0.005[FIT] となります。逆にこれが10FITだとすると、車両寿命は5,708年というあり得ない値となってしまいます。

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

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

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


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

LFMの導出

posted by sakurai on July 4, 2019 #123

LFMの導出

LFM、MLFMに関する規格式を引用し、これを導出します。

図%%.1
図123.1 LFM規格式

前稿と同様な論証を行います。まずレイテントフォールト(LF)の故障率の計算式を見てみます。

故障分類フローで説明したように、レイテントフォールトとなるのは2とおり存在します。

  • 主機能のフォールトのSG侵害が1st SMにより抑止されている場合に、2nd SMで検出できない場合
  • SMのフォールト(これはSG侵害が起こらない)が2nd SMで検出できない場合

よって、安全関連に関する故障モードがn個ある場合に、i番目のLFの故障率λLF,iの定義式は、存在しないλiに対しては0を返すものとすれば、

λLF,i:=DCiλIF,i(1DC2i)+λSM,i(1DC2i)={DCiλIF,i+λSM,i}(1DC2i),i=1,2,...,n と表せます。このDC2iはKパラメータで書けば、 DC2i=KIF,FMC,MPF,i,KSM,FMC,MPF,i で、2nd SMがIFもしくはSMに対して、故障検出する割合を表します。(123.1)の両辺の総和を取れば、 ni=1λLF,i=ni=1(DCiλIF,i+λSM,i)(1DC2i)=ni=1(DCiλIF,i+λSM,i)ni=1(DCiλIF,i+λSM,i)DC2i よって、ni=1(DCiλIF,i+λSM,i)及びni=1(DCiλIF,i+λSM,i)DC2iを移項し、 ni=1(DCiλIF,i+λSM,i)DC2i=ni=1(DCiλIF,i+λSM,i)ni=1λLF,i ここで、DC2の、各々の故障率による加重平均を(123.4)のように定義し、(123.3)を(123.4)の分子に代入すれば、 ¯DC2:=ni=1(DCiλIF,i+λSM,i)DC2ini=1(DCiλIF,i+λSM,i)=ni=1(DCiλIF,i+λSM,i)ni=1λLF,ini=1(DCiλIF,i+λSM,i)=1ni=1λLF,ini=1(DCiλIF,i+λSM,i) ここで、DCiλIF,i=λIF,iλRF,iを代入すれば、(123.4)は (123.4)=1ni=1λLF,ini=1(λIF,iλRF,i+λSM,i)=1ni=1λLF,ini=1(λiλRF,i)

これと(C.8)を比較すれば、


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

SPFMとLFMの導出

posted by sakurai on July 2, 2019 #122

SPFMの導出

SPFM、MSPFMに関する規格式を引用し、これを導出します。

図%%.1
図122.1 SPFM規格式

まずレシデュアルフォールト(RF)の故障率の計算式を見てみます。ここでシングルポイントフォールト(SPF)を狭義に使えば、RFのうち、ダイアグノスティックカバレージ(DC)がゼロの時にSPFと等価であるため、SPFもRFも(広義の)RFとして表せることになります。つまり上式分子のλSPF+λRFは、DC=0の場合を含み、λRFと簡単化できます。

さて、安全関連に関する故障モードがn個ある場合に、i番目の(広義の)RFの故障率λRF,i式は、 λRF,i:=λIF,i(1DCi) と定義されます。このDCiはKパラメータで書けば、 DCi=KIF,FMC,RF,i となり、1st SMがIFに対して、IFがSG侵害を抑止する割合を表します。(122.1)の両辺の総和を取れば、 ni=1λRF,i=ni=1λIF,i(1DCi)=ni=1λIF,ini=1λIF,iDCi よって、 ni=1λIF,iDCi=ni=1λIF,ini=1λRF,i ここで、各々のSMにより防御される、IFの故障率によるDCの加重平均を次のように定義し、 ¯DC:=ni=1λIF,iDCini=1λi (122.3)を(122.4)の分子に代入すれば、 (122.4)=ni=1λIF,ini=1λRF,ini=1λIF,i=1ni=1λRF,ini=1λi これと(C.7)を比較すれば、 MSPFM=¯DC となるため、SPFMは


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

8.3.1 マイコンの取り扱い他

posted by sakurai on June 28, 2019 #120

8.3.1 マイコンの取り扱い

1st EditionではPart 10が主にISO 26262を半導体に適用する場合のガイドラインであったため、マイコンの取り扱いはPart 10に存在しましたが、2nd Editionになって、Part 10は全般的なガイドラインとなり、Part 11としてISO 26262を半導体に適用する場合のガイドラインが新設されたため、ISO 26262をマイコンに適用する場合の話題がPart 11に移動しました。

8.3.2 PMHF式

PMHF式については説明が追加されました。しかしながら、導出過程や導出前提を明らかにしたものではありません。また、式自体にも疑義があります。弊社ではPMHFを1st Edition発効から8年間に渡って研究しており、その結果としてIEEE最優秀論文賞を得ることができました。この論文は1st Editionの式を対象としていますが、新たに2nd Editonで式が変更されたため、それに基づく論文をIEEEに投稿中です。

弊社ではPMHFに関する論文をRAMS 2020に投稿中であり、そのため、最新の研究#103~108を一旦非開示としました。⇒RAMS 2020においてPMHF式の論文発表が終了したため、本記事を開示します。

12 システム開発のガイダンス

1st Editionの思想から拡張されているフォールトトレランス(耐故障性)についてまとめられた節が新設されました。1st Editionの思想は、とにかくフォールトが発生した場合にはFTTI中にシステムを安全状態に持っていけば、それでハザードが回避できるため、OKでした。

ところが、例えば高速道路の追い越し車線を120Km/hで走行中にフォールトを検出し、いくら安全状態だからといって、その場(追い越し車線内)で車両を停止させてしまうと、これはかなり危険な状態であることが容易に想像できます。このような場合は可能な限り左端の路側帯に寄せて停車するか、もしくは次の出口や安全な場所まで走行したいはずです。

本節ではこのような要求に対して解答を与えるものとなっており、基本的なアーキテクチャはIFに対するSM1としてバックアップ系を想定しています。例えば、IFについてASIL-Dを割り当てている時に、当然その平均PUD(=PMHF)は10[FIT]未満となりますが、故障したときには安全状態で停止するのではなく、動作し続けることがフォールトトレラントのために必要です。しかしながら、その場合にもASIL-Dを要求するものではありません。例えば、バックアップ系の時速が一定速度より遅ければASIL-Bとすることができます。その場合、速度は遅くても修理工場まで走行することが可能です。

本節には2とおり例示されており、緊急動作時間(EOTTI)以内に修理するか、上記のようにバックアップ系に切り替われば良いことになります。問題はEOTTIがあまりにも短い場合(例えば1sec未満)は修理工場に行くことができないので、その計算が必要となります。それが12.3.1.1に示されています。

次の図120.1の(2)は前記事にも掲載されている、2nd EditionのPMHF式(図109.3)のTserviceTeottiと置き、Teottiについて解いた式となっています。

図%%.1
図120.1 PMHF式に基づくEOTTIの導出

一方、次の図120.2の(3)は、ワースト時を想定しているようです。バックアップ系がEOTTI時間走行する状態での故障確率式です。

図%%.2
図120.2 車両寿命間の故障に基づくEOTTIの導出

いずれの式にも問題がありそうなので、次項で説明します。


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

PMHFのバジェッティング

posted by sakurai on June 22, 2019 #116

Annex G

これも2nd Editionで新設されたAnnexですが、PMHFのバジェッティングについて記述されています。といっても従来からバジェッティングは現場では実施されていました。それと規格の意図するところは若干異なるようです。

従来のバジェッティング

まず1st Editionで実施されていたバジェッティングは、Part5 9.4.2.2 表6で規定される、PMHF目標値を分割するものでした。例えば、あるアイテムがASIL-Dの要求に基づき、アイテムにASIL-Dを割り当てます。ここで注意すべきは、エレメントには当初はASILは存在せず、あくまで要求の属性としてのASILが存在することです。エレメントには様々な安全目標によって、様々な要求が割り当てられますが、その中の最高レベルのASILにより、エレメントのASILが規定されます。

例えば、アイテムが3つのエレメントに分割され、それぞれ別のサプライヤによって開発される場合には、それぞれのサプライヤに対して、PMHF目標値を設定する必要があります。これを従来はバジェッティングと呼んでいました。アイテムで10FITの予算(バジェット)があり、それを配分するイメージとなります。例えば3つであれば、3.3FITずつ割り当てることができます。

図%%.1
図116.1 1st EditionのPMHFバジェッティング

2nd Editionのバジェッティング

規格でバジェットの単語が出てくるのはPart5 9.4.2.3の中です。9.4.2.3は上記の予算配分(分割)と言うよりも、多重割り当てと言ったほうがふさわしい節です。その理由は9.4.2.3は、上記のようにASIL-Dの目標をエレメントの数で分割するのではなく、比較的大きなシステム、例えばADASのように、物標認識システム、ブレーキ制御システム、エンジン制御システム等のように、それだけで従来はアイテムレベルであったシステムを複数組み合わせた場合のPMHFの考え方を表すものだからです。そしてその場合は、それぞれのシステムにASILを割り当て、10個までは組み合わせて良いと規定しています。例えばASIL-Dのシステムを10個までならぎりぎり目標が10倍となり10倍を超えませんが、10倍を超える目標値を設定することは許されていません。

図%%.2
図116.2 2nd EditionのPMHFバジェッティング

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

posted by sakurai on June 20, 2019 #115

2nd Edition Annex F.3,4,5

次にF.3を見てみます。F.3は「評価対象のフォールト又は故障モードの選択基準の決定」となっています。本来はFMEDAのフォールトイベントの評価として全ての故障モードを評価すべきでしょうが、それだと数千件も評価しなければならないため、本節で故障モードの絞り込みを行うのだと思われます。

ちなみに、PMHFへの寄与率を厳密に考えると、PMHFのSPF部分とDPF部分がありますが、DPF部分は故障モードの組み合わせであるため、以下は全てPMHFの値(SPF+DPF)への、故障モードのSPF部分の寄与率と言う意味となります。

  1. SPFまたはRFに関して、DCが90%以下の全てのフォールト又は故障モード
  2. PMHFの寄与率が2%以上の全てのフォールト又は故障モード
  3. PMHFの寄与率が上位20位以内の全てのフォールト又は故障モード

この選択基準で絞り込むと、本例ではたまたま以下の値になります。

  1. 2件の故障モード⇒PMHFへの寄与率は95.68%
  2. 2件の故障モード(上記と同じ)⇒PMHFへの寄与率は95.68%
  3. 20件の故障モード⇒PMHFへの寄与率は99.89%

F.5では、これらは全てPMHFへの寄与率が95%以上であるから問題無しとしています。逆にそうであるなら、直接的に

  1. PMHFへの寄与率が95%を超えるまでの上位からの全てのフォールト又は故障モード

とするほうが自然ではないでしょうか。ちなみにこのような絞り込み条件を設定すると、2件の故障モード⇒PMHFへの寄与率は95.68%となり、上記1.及び2.と同様2件の故障モードを分析すれば良いことになります。以下に故障モードに関してPMHFへの寄与率が大きい順にリストします。

コンポーネント名 故障率
[FIT]
SR? 故障モード 分布[%] SM DC[%] λRF PMHFへの
寄与率[%]
PMHFへの
寄与率累積[%]
1 μC 100 Yes all 50 SM4 90 5.000 91.13 91.13
2 T61 5 Yes short 50 SM2 90 0.250 4.56 95.68

従って、分析方法をまとめれば、「 PMHFへの寄与率が95%を超えるまでの上位からの全てのフォールト又は故障モード」について絞り込みを実施し、それぞれに故障モードについて、安全方策がとられているかどうかを確認することになります。このときなぜ95%以上としたのかを問われたら、2nd Edition規格Annex F.3を参照したとなります。


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


ページ: