在PCBA失效分析里面,笔者观察到的一个现象是,针对涉及元器件的规格,往往是最少人(SQE)去先行了解。有一种可能是,大家都认为,反正选料的过程和验证已经被研发通过,基本上问题不在元器件,导致觉得没有必要去翻阅规格书。
从失效分析来说,预设立场,比如”这个是不可能会发生的“,就会形成一个盲点,让我们略过去。笔者经历过许多这样的场景,结果是耗费了大量的时间精力物料去验证其他方向,直到没有其它方向的时候,才回来看规格书。
规格书在失效分析里的重点是什么呢?如果一开始就参考规格书,我们至少可以排除一些规格书上要求的物理条件或者环境条件造成的问题。规格书的作用是,告诉用户使用的规范,什么条件下它能保持正常的运作。
笔者遇到市场的一个客诉,起因是过电流引起导致烧机。市场用户投诉是非常严重的事情,客户是拿起显微镜来检视所有的可能性,这个分析非常的折腾。从方向上来说,我们又是掉入一个思维陷阱,就是研发方面没有错,都已经量产了。往往因为量产,就是一个责任交接,分析方向因此从物料批次、制程等方向进行。
肯定的,我们是陷入了瓶颈,因为所有列出的可能,都不是根因。最终,需要回到研发一起检讨设计是否有缺失,结果发现的是,研发选择的电源控制芯片,是双轨道供电。也就是说,是能同时供电给两条线路。而研发不知道为何,选择这个料却只用了一边的供电。
也许,在”逻辑“上这个思维也没有什么错,我只用一边供电不行吗?遗憾的是,我们不能忘记芯片的晶体是整体,就算是有所谓的绝缘隔离两边,它们还是会有电压差和有机会的通电。根据后来和芯片供应商的沟通,他们发现如果单用一边的话,他们的线路设计有一些缺陷,就是另外没有供电的一边,会因为这边供电的负荷低阻抗,也会逆向导电,无形中加大了电流。可以想象长期下,有些零部件是超额负载操作下最终导致烧毁。
正确的鱼骨图分析失效,是需要把可能造成的原因都放上去,然后一个个的通过排查、试验验证排除。特别是汽车电子或者医疗器械的失效分析,客户都会要求你能复制问题,才肯定你的8D的报告是正确的方向。着也包含了规格书所提及的操作规范、条件必须符合。
笔者认为,如果一个工厂的流程是通过FMEA建立,在遇到需要失效分析的时候,就必须从FMEA作为蓝图制作鱼骨图。对笔者来说,FMEA的功用,是产品生产或者设计过程的风险分析蓝图。如果失效发生了,就必须回到蓝图里检视。笔者发现的是,我们虽然有FMEA在手,在失效分析的鱼骨图的制作上,完全和FMEA的潜在风险不搭边。而且,既然能够写出来其他的可能,就很纳闷为何FMEA当时没有考虑进去,玄乎?
此外交换机、网通产品的客户来说,他们大概认为时间是金钱,因此有客户要求什么24487的规矩。24小时内围堵、48小时内找到根因,7个工作日完成8D。这个要求可以理解,但是必须说,它违反了芯片行业的失效分析标准。
以最复杂的BGA来说,拆出来的芯片交给供应商分析,对方需要重新植球、扫描(水平面),外观,CSAM一些非破坏性分析,然后测试,然后是打开封装。如果需要用到墨水,甚至需要一层层的针对die的侵蚀一层层检验和让墨水显影等等。。这些工作,最少需要20个工作日。
所以对那些大客户的这样要求来说,笔者要求声明是芯片失效分析除外。国内很多高端的芯片,都是外国进口,要弄回到供应商还要“退返”通过海关等手续。当然,我们必须习惯大客户的工程师在那里“投诉”为什么那么慢、然后又问为什么自己没有本事去作芯片分析(初哥客户工程师)等等嘲讽;直到笔者拿出JEDEC的标准。大家可以拜托芯片厂商提供一份关于递交失效分析到失效分析过程的工业标准,这是一个芯片行业被规范起来保证分析到位(专业),不会出现彼此间的差异(分析报告)。
对于高端复杂的芯片分析问题,笔者还真经历了一个,耗时几个月。
一款量产的大型网通设备经过NPI后,开始投入量产。随着时间推移,我们发现开始出现了良率问题一直无法攀升,其中一个问题点是:芯片的误码率Bit Error Rate。产品工程师的分析是看到了误码率在10^-4,5等满足不了测试规格10^-7。
误码率和客户签订的质量协议是零错误率,也就是说在信号传输过程中没有任何的误码。要满足这样的条件的话,从设计上来说,芯片本身必须测试到1 X 10^15位数Bits没有错误,才能满足这个要求。从测试时间(经济和效率)来说,要测到这个程度基本上是无法及时供货,而且非常昂贵。因此,供应商本身利用一些条件,比如以前笔者在硬盘制造磁头的时候,我们都会有利用所谓的worst case code, 最能引起线路错误读取信号的最糟糕(差)信号串(这个解释起来对笔者有些难度,就不多说了);供应商一般都会在封装测试ATE设定能满足要求(利用extrapolation)的规格来测试(最经济的原则 - 用户不投诉)。
由于失败在10^-3, -4,这意味着芯片很糟糕,来料有大问题。开始了失效分析的长征,就是和供应商、研发之间的拉扯争论。研发的立场永远是,我已经在NPI前期鉴定过,所以,工厂需要先自清,是否有焊接问题等等。
每次的开会都是争论,然后反复的试验验证,甚至换芯片(那是几千颗锡球的BGA)然后还是失败。各种交叉验证,测试条件、配置等等都是依照每一台的不良分析。可以想象是非常的耗精神、体力、精力、生产工时、资源等等。。
更离谱的是,换了芯片好了。搁置几天后重测,结果又是failed。
在这当中,工厂的分析报告是利用了良率、柏拉图外,就是每台测试的报告结论:哪个芯片报不合格,以及多少(误码率)。
其实在产品不良表现的分析上,特别是功能方面,我们不能只停留在报告哪些不达标。因为规范标准的来源可以是:客户、自定义、业界协议标准等几方面。对于研发来说,他们首先要遵守的是,业界协议最低标准。客户的要求一般都是相对的严苛,因为是有针对性的产品价值体现。
报了不达标后,也要看达标的分布。说白了,看图画不能只看那细微的不达标的部分,我们需要的是最底层数据的对比,达标的是怎样达标,不达标的又是多少、怎样的不达标。我们来看下面的截图:
这是一枚芯片的BER表现。笔者一直都想要得到更细的细节,这个是测试数据里面许多数据中需要花时间捞出来。所以笔者一直遇到抗拒,包括自己的质量工程经理,他反正就是被工程经理带节奏,认为是研发的问题,我们不需要浪费时间。而工程经理和研发的扯皮,其实不利于公司和客户。
在笔者穷追猛打后,终于得到这组数据。是一枚芯片,一共32个轨道的BER误码率。笔者上文有说到,要误码率等于零,就必须要做到10^15(左右)没有错误。这里笔者征求意见,设定为10^13。因为有这张图片,就非常有意思了。
最低我们看到10^3/4 就会出现一个误码,这是不能接受的。而且,这是同一枚芯片,同一颗die!为什么会出现如此的差异?
当笔者发现这个到时候,要求联系上供应商,对方看到笔者的邮件后马上邀请客户、笔者等人一起开会,研发也进来了。(遗憾的是,之前厂内的态度,都因为觉得数据捞很麻烦,不看细节,就从表面定论是研发问题。只想撇清责任,而不是真正解决问题)
结果是,在前期产品开发的时候,因为这是一款新的芯片,在和研发一起试产的时候,供应商选择了节省测试时间(成本),采用了10^6的测试规格,然后发现我们研发也没有投诉。笔者后来查询研发,才发现对方只用了5台设备(每台4枚芯片)测试,认为没有问题。
这是第一个错误,就是在通过芯片的时候的样品不足。(它的确很贵)
第二个是供应商采用的测试规格,这个规格只属于供应商定义,据说是口头上和研发沟通,但不会体现在规格书里。而研发犯了一个错误,就是在我们的内部测试加严了!他设置了规格是 10^7!! 笔者后来找他私聊,想明白这个逻辑,他说,内部更严不是更好的保证产品吗?
(血压升高中)笔者回答他说,我们买进来的材料都是10^6,我们要怎样去海底捞针那样去凭自己本事找出10^7?怪不得我们有许多的PCBA一直在维修到修坏了(同一个地方不能超过三次),而且芯片测试了以下通过,隔天不通过。
最终,供应商同意提高了测试的规格,如果我们要做10^7,他们必须做10^8才行。这样,我们总算是彻底的解决了持久悬而未决的良率因为功能失效问题。
这篇篇幅有些长,非常抱歉了。待续。