FS-B5 — CCF 与 β 因子:为什么共因失效在数学上是"一阶项"、冗余系统的地板是 ,以及独立性为何最难证

更新

本质与导读

专家养成 · 模块一(功能安全B 阶第 5 讲。上一讲 FS-B4 拆了 :两个 B 能"加"成 D,是概率乘法在对数尺上的投影,合法性整个压在"两通道独立"这一个前提上;worked example 显示哪怕 10% 共因,红利就从 670 倍坍到接近单通道, 而非通道质量封顶了一切。但我们一直把 当成一个天上掉下来的数在用。今天把它落地: 在数学上意味着什么(为什么它让 CCF 变成一个一阶项、让冗余系统有一个 的硬地板)、 具体怎么从 7 类 DFI 与 IEC 61508-6 Annex D 评分里算出来、以及一个更深的问题——为什么"独立性"是整个功能安全体系里认识论上最难兑现的一件事

开篇:硬约束—— 是唯一杠杆,可它偏偏是最不可测的那个量

FS-B4 的结论逼出一个尖锐的处境:分解系统能拿到的最好结果被 封顶,而唯一能把 压下去的杠杆是"独立性"。于是整条 ASIL D 论证链的成败,collapse 到一个数字 上。

问题在于, 和它旁边那些量的性质完全不同。单通道失效率 可测的——有 FIT 手册、有加速老化试验、有大样本的统计收敛;诊断覆盖率 DC 是可测的——注入故障数它检出几个。唯独 不可测:它衡量的是"两条通道有多大比例的失效会同时发生",而共因失效本身是稀有事件,你没有足够的现场样本去统计估计它;更糟,它是关于设计结构的断言,而不是关于器件的物理量——你把两条一模一样的通道各测一万小时,也测不出它们的共模,因为测试恰好把共模施加给了两边。

所以本讲的硬约束是:功能安全里最关键的那个数,恰好是最不可测、最依赖工程判断的那个数。 这不是方法学的疏漏,是共因这件事的本质。下面分三层拆: 在数学上是什么(为什么它这么致命)、 在工程上怎么估出来(7 类 DFI + Annex D)、以及为什么这个估计在认识论上先天不可靠(独立性为何最难证)。


中段一:CCF 的第一性定义——一因多果"同步",与 cascading 是两种病

先把病名钉死,否则缓解措施全开错药。共因失效(CCF,Common Cause Failure):单一 root cause 在近乎同一时刻()打中多个本应独立的元件,让它们同步失效。它和另一种"两通道一起挂"——级联失效(CF,Cascading Failure)——是两种完全不同的病:CF 是一个 victim 把另一个拖下水(有因果链、、但没有共同的 root cause),CCF 是一个 root cause 同时撂倒两个 victim(有共因、无先后)。

这个区分不是术语洁癖,它决定了缓解手段选得对不对。Freedom From Interference(FFI)——分区、内存保护、看门狗——只挡 CF,完全不挡 CCF。 因为 FFI 的机理是"阻断一个元件对另一个元件的影响路径",而 CCF 根本不走元件间的路径:共电源跌落、共时钟漂移、共算法 bug 是从外部同时注入两条通道的,它们之间没有需要阻断的路径。这就是 OEM 评审反复退回的头号错误:声称 independent,却只证了 FFI。真正的 independence = FFI(治 CF)+ CCF 免疫,是两件必须分开论证的事。今天算的 ,量的正是 FFI 之外那一半——共因。


中段二:为什么 CCF 是"一阶项"——先减后乘,与 无关的地板

现在推本讲最核心的一步: 为什么这么致命。答案是它把冗余系统里本该"平方衰减"的失效概率,劈出一块线性的,而线性那块行为上等同一个单点故障。

模型把单通道的危险失效率 按比例劈成两份——共因部分与独立部分:

对一个 1oo2 冗余(两通道都失效才违背 SG),违背 SG 的概率来自两条互斥的路径:要么一次共因同时撂倒两条,要么两条各自独立地先后坏掉。关键是"先减后乘"——独立部分要先扣掉共因比例 ,再让两条相乘:

两项对 阶数根本不同,这是全部要害。独立项是 ——二阶,随通道做好( 变小)而平方衰减,这是冗余的全部好处。共因项是 ——一阶,只随 线性衰减,和"有没有第二条通道"毫无关系:它描述的事件本来就是"一击两杀",第二条通道对它不构成任何保护。换句话说, 这一份失效,在数学上和一个失效率为 的单点故障不可区分。 冗余对它的增益严格等于零。

把它换算成平均失效率,会得到一个极干净、也极冷酷的结论。共因项的寿命概率是 ,除以暴露时间 得平均率:

共因失效对 PMHF 的平均贡献 ,和寿命 、和你堆几条通道,统统无关。 这就是任何冗余系统的地板:无论把每条通道的 压到多低、无论 1oo2 还是 1oo3,系统的危险失效率都下不去 。要击穿这个地板,唯一的物理杠杆是把 本身按下去——而 是独立性,是架构和流程,不是算法精度。这条"地板 = "就是 FS-B4 那句" 封顶红利"的数学根。


中段三:worked example——反解 的上限,看清地板卡在哪

FS-B4 是给定 正着算出 10 FIT;今天反着问一个工程上更有用的问题:要守住 ASIL D 的 PMHF 预算, 最大能松到多少? 这决定了架构选型。

设两条通道,各自经诊断后的残余危险失效率 ,整车寿命 。把两项分别换算成平均失效率(单位 FIT):

独立(二阶)项的平均率:

共因(一阶)项的平均率,正是上一节的地板:

合计并要求守住 ASIL D 的 门槛:

独立项最大也就 FIT( 时),几乎不吃预算;主导整条不等式的是一阶的 。近似解 ,即:

(与 FS-B4 对得上:那里取 正好压出 FIT、刚刚越界,印证 上限就卡在 稍下。)读这个数要读出两层。第一层:天花板是约 10%——比这松,两条 100 FIT 的通道加起来也过不了 ASIL D。第二层、也是更重要的:注意天花板几乎只由一阶项 决定,二阶项那 FIT 基本是零头。这意味着——你把每条通道从 100 FIT 优化到 50 FIT,二阶项掉 4 倍(到 FIT),可总预算几乎不动,因为地板 只随 走。 想真正拿到余量,必须把 从约 10% 这条红线往下压到 1–2%(良好工程实践,见下节),而那要的是异构架构:不同 vendor 的 PMIC、不同型号 + 不同 OS 的 MCU、diverse 的软件算法——不是把代码写得更漂亮。这就是"CCF 治理是架构问题、不是实现问题"的定量证据。


中段四: 从哪来——7 类 DFI 定性、Annex D 评分定量,且诚实说它主观

地板 里的 不能拍脑袋。工程上分两步落地,一定性一定量,两套都进 DFA Report。

定性:ISO 26262-9 §7 + Annex C 的 7 类 DFI(Dependent Failure Initiator)。 它是一张共因起因清单,逼你逐类对照排查,而不是"凭感觉查了电源就完事"。7 类覆盖 system / hardware / software 各层,工程上最易漏的是后三类:共享资源(5 大物理源:电源 / 时钟 / 复位 / 内存 / 总线——查了电源常忘时钟和复位)、系统性耦合(同一软件库 / 同一 OS / 同一算法——"软件 copy 不算冗余"的根因)、环境耦合(同腔体的温度 / 振动 / EMI / 湿度)。这张清单的价值在于把"证明独立"变成"逐类排除共因"——你没法证明一个正面的"独立",但可以一类一类地否掉已知的耦合路径(这个认识论要点下一节展开)。全表与 5 大物理源的芯片级对策见 共因失效深度

定量:IEC 61508-6 Annex D 的评分清单。 俗称 "beauty contest":把物理隔离 / 功能独立 / 多样性 / 维护测试 / 人员培训几个维度拆成数十项打分题(如"两通道是否物理分离""是否用 diverse compiler""维护是否独立两班"),每项工程对策计分,累计分越高、 越小,再查表反查出一个 。标准给的典型范围:可编程电子 ,现场设备 ,差工程实践可达 0.25(据 IEC 61508-6 Annex D)。Annex D 还把评分分成"能被诊断削弱的共因"与"不能被诊断削弱的共因"两栏区别加权——诊断跑得越勤,前一栏对 的贡献越小(此加权细节以标准原文为准)。

但必须诚实标注这套定量的强度:ISO 26262 并不强制用 评分,因为它主观性强——同一系统不同评审给的累计分能差出几十分,反查出的 差好几倍。所以 ISO 的立场是"用 Annex C 列 DFI + 监测共享资源"作为主证据,把 Annex D 的 当参考:哪怕 估错了,只要有 runtime 监测能在共因真发生时报警进安全态,残余风险仍可控。这是一种典型的"别赌一个不可靠的数,加一层防御"的工程智慧——而它的深层理由,正是下一节。


中段五:为什么独立性最难证——你在证一个否定命题,而它不可测

回到开篇的硬约束,现在能讲透它的认识论根子了。DC 好证,(独立性)难证,差别不在工程量,在命题的逻辑类型

是证一个存在/测量命题:器件的失效率是多少,拿大样本一测就统计收敛,数据越多越可信。证独立性是证一个全称否定命题:"不存在任何共同的 root cause 能同时撂倒两条通道"。全称否定命题的死穴是——你只能逐一否掉你想到的耦合路径(这正是 7 类 DFI 清单在干的事),但永远无法证明清单完备:漏掉的那类共因,恰恰因为你没想到,所以查不到。 的证据随数据单调变强,独立性的证据却卡在"我还没想到的那一类"上,不随努力收敛。

三重不可测叠加,让这件事雪上加霜。其一,共因是稀有事件,现场没有足够样本去统计估计 ——你不能像测 那样等它多发生几次。其二、也是最反直觉的:同构测试原理上暴露不了共模。你把两条一模一样的通道并排测,施加的每一个应力(温度、电压、辐照)都同时打在两边——测试本身就是一次受控的共因,它让两边一起动、一起停,恰好把你想抓的共模藏了起来。这就是为什么"测了很久都没事"对独立性没有证据价值:测试的结构性盲区正好和共因的机理重合。其三, 是关于设计结构的断言,不是器件属性,所以任何"把器件做得更好"的努力都不改变它。

这三条合起来,解释了功能安全体系一个乍看奇怪的选择:为什么标准不信任 这个数,反而要求"监测共享资源 + 架构多样化"。 因为当一个量既最关键、又不可测、还不可穷举地证明时,理性的应对不是把它算得更精,而是从物理上让它变小(异构架构把共因路径直接拆掉)+ 从运行时兜底(监测让漏网的共因发生时能被抓住进安全态) 治理的终局,是承认它证不干净,于是用架构和监测把"证不干净"的代价降到可接受——这正是 FS-B4 结尾那句"DFA 才是兑现支票的审计"的认识论落点。


落到工程结论: 治理的执行流程 + 三条准则

把方法拼成可执行流程。给定一条做了 分解的 SG:

  1. 先算地板:用 估系统的失效率地板,反解守住 PMHF 预算所需的 上限(本讲 worked example)。若上限低于架构现实可达的 ,当场判定分解不成立,回去改架构而非优化算法。
  2. 定性列 DFI:按 ISO 26262-9 Annex C 7 类逐项排查,重点盯共享资源(电源/时钟/复位/内存/总线全查,别只查电源)、系统性耦合(diverse software 证据)、环境耦合(共腔体)。
  3. 定量估 :用 IEC 61508-6 Annex D 评分反查 ,但把它当参考而非定论,记录评分假设。
  4. 架构压 :对每个查出的耦合点,优先物理消除(不同 vendor / 不同 OS / diverse 算法 / 独立供电与时钟),消不掉的才量化进
  5. 监测兜底 + 闭环:对残余共因加 runtime 监测(共享资源报警进安全态),并把每条独立性论证 cross-ref 到 verification plan 的具体 test case——没有这条交叉引用,DFA Report 评审必退。

带走三条准则:

  1. CCF 是一阶项,冗余对它零增益。 独立项 二阶、随通道质量平方衰减;共因项 一阶、等同一个单点故障。系统失效率有个 的硬地板,和堆几条通道无关。
  2. 是唯一杠杆,而它治的是架构不是实现。 优化一半,总预算几乎不动;只有把 从红线(本例 10%)压到 1–2%(异构架构)才拿得回红利。
  3. 独立性是全称否定命题,证不干净是常态。 不可测、清单不可证完备、同构测试暴露不了共模——所以标准的答案是"物理消除 + 运行时监测",而不是把 算得更准。

承上启下:今天把 FS-B4 那张"…

承上启下:今天把 FS-B4 那张"未兑付的支票"逐项算成了钱—— 让 CCF 成为一个一阶项,给冗余系统钉了个 的地板,而这个 偏偏最不可测、独立性偏偏最难证。注意那个"行为等同单点故障"的共因项 :它该进 FMEDA 的哪一栏?它算单点故障还是潜伏故障、怎么进 SPFM 的分子?下一讲 FS-B6 拆硬件架构度量 SPFM/LFM 与单点 / 潜伏故障的物理对应——把今天的 、FS-B2 的 DC、FS-B1 的失效率分配,全部归位到那两个百分比里。预热可读 FMEDA 深度


延伸阅读