ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

JESD89A软错误测试实战:α粒子与中子束流评估方法

JESD89A软错误测试实战:α粒子与中子束流评估方法 简介JESD89A标准文件是由JEDEC固态技术协会于2006年10月发布的正式规范面向半导体器件可靠性、软错误评估及高性能计算/存储系统设计人员用于统一α粒子和地球宇宙射线诱发软错误的测量、加速试验与报告流程。资源包共1个文件为733KB的PDF完整标准文本内含JEDEC标准通知、适用范围、术语定义及详细测量方法等章节适合作为器件级抗辐射设计与失效分析时的权威参考。已有131人学习下载。通过研读该标准可明确软错误率测试的环境条件、试验装置、数据统计与上报要求理解JESD89A相对JESD89的修订要点并为ANSIEIA标准转化及产品一致性评估提供依据有助于在芯片设计、封装测试和系统集成环节更科学地识别与缓解粒子引起的瞬态故障。1. 软错误与 JESD89A从一粒 α 粒子到系统故障一粒能量不到 5 MeV 的 α 粒子在硅里的穿透距离不过 20 μm 左右却能在打穿存储单元耗尽区时留下足够多的电荷把一位数据从 1 翻成 0。数据中心里那些每周出现几次、方向随机、无法稳定复现的内存 ECC 告警相当一部分就是这类软错误。JESD89A 是 JEDEC 在 2006 年 10 月发布的修订版标准把 α 粒子和陆地宇宙射线中子引起的软错误测量与报告流程固定成了行业参考基线。它把 SER 拆成 α 分量、高能中子分量和必要时的热中子分量分别测试再外推到真实使用环境并同时定义了实时测试和加速测试两条路径。这份标准适合可靠性工程师做产品评估也适合存储类芯片设计人员和板级设计者用来理解失效率预算。2. SEE 事件分类与实时/加速测试的选型逻辑2.1 JESD89A 对 SEE 事件的分类口径标准在引言部分把软错误定义为非破坏性、由高能粒子打击引起的功能错误并划出了 SEU、MBU、SEFI、SET 和 SEL 五个边界条件。分类口径直接决定测试结果怎么汇总SEU 是单粒子翻转是真正要计数的基本事件MBU 是一个粒子同时打翻相邻多位SEFI 是控制逻辑被扰动导致器件级功能中断SET 是组合逻辑上的瞬态脉冲被时钟采到之后才变成 SEUSEL 则是 CMOS 阱里寄生双极结构被触发形成电源到地之间的低阻通路电流骤增可能发展成硬错误。事件类型物理表现系统层影响测试计入口径SEU存储单元数据翻转读回数据错误计入软错误统计MBU多个存储单元同时翻转ECC 可能无法纠正按事件数和翻转位数分别记录SEFI控制逻辑扰动器件功能中断需复位恢复单独记录并评估恢复时间SET组合逻辑瞬态脉冲被锁存后变成 SEU视捕获条件转化计数SEL寄生可控硅导通大电流可能永久损伤单独报告不计入软错误这套分类对测试结果的影响在于如果把 SEL 和 SEU 混在一起报 FIT客户会得到一个对可靠性完全错误的预期。SEL 的频率和温升、电压强相关而 SEU 主要和粒子通量相关两者的加速因子完全不同。2.2 实时测试与加速测试的取舍实时测试把生产批器件放在真实使用环境里跑几周甚至几个月直接统计软错误数不需要任何外推但它要求系统能并行监控数百到上千颗器件设备投入和维护成本很高。加速测试只需要几颗样品用放射源或粒子束流把辐射强度提升几个数量级几个小时内就能积累足够统计量代价是结果必须外推到使用条件。选型逻辑通常这样定新工艺平台的第一版可靠性评估优先用加速测试把 α、高能中子、热中子三条物理路径分别摸清已量产器件做改版验证时用实时测试锚定一个本底数据再针对改动区域做加速对比。标准的前言里也明确了这一点一个完整的 SER 评估必须等到 α 分量、高能宇宙射线分量以及必要时的热中子分量都被测量并外推到使用条件之后才算完成。2.3 测试计划的结构化设计动手之前先把测试参数结构化避免不同测试批次之间的口径漂移。一份典型的测试计划至少要有器件信息、辐射源参数、统计目标和通过判据。下面是一个简化的计划示例{ device: SRAM-4Mbit, package: BGA-256, test_type: accelerated, alpha_source: { nuclide: Am-241, source_to_die_mm: 2, shielding: none }, neutron_beam: { energy_range: thermal_to_200MeV, target_fluence_per_cm2: 1e10, beam_angle_deg: 0 }, acceptance: { confidence: 0.90, max_fit: 50 } }这里的source_to_die_mm直接决定了到达器件表面的 α 通量源越近立体角越大但太近会引入源自身不均匀性的误差。target_fluence_per_cm2是期望累积的中子注量它和束流流强的比值就是照射时间。acceptance.max_fit是产品规格书里承诺的软错误率上限统计置信度取 90% 是行业内比较常见的口径和 JESD89A Annex C 的计数统计思路一致。3. 实时 SER 测试的器件小时预算与泊松计数统计3.1 实时测试的硬件约束实时测试的难点不在算法而在工程。几百颗器件同时上电每一颗都要有独立的电源监控和读写回读通路任何一颗掉电或通信超时都会污染整个测试批次。日志系统必须带毫秒级时间戳因为后续做错误定位时需要把软错误和温度、电源噪声、系统复位事件在时间线上对齐。测试地点的选择同样关键。标准 Annex A 给出了陆地中子通量的确定方法通量随海拔升高而显著增加。海平面和高原城市的快中子通量可能相差数倍如果测试点海拔比设备实际部署地高测出来的 SER 数字要按通量比折算回去不能直接抄进报告。3.2 零错误不代表零失效率反直觉的结论先放在前面实时测试跑了三个月、一颗错误都没有恰恰说明这次测试的信息量非常有限。软错误在时间轴上服从泊松过程零事件的 90% 置信上限是 2.3 次。如果总器件小时数是 1e690% 置信上限折算下来是约 2300 FIT。也就是说一次零错误的测试只能证明器件的真实 SER 大概率低于 2300 FIT距离消费级 50 FIT 的要求还差着两个数量级。这就是为什么实时测试报告里必须写明观测错误数和总器件小时数而不是只给一个“0”或“0.1 FIT”的结论。没有置信区间的 FIT 数字在统计上没有意义。3.3 泊松计数统计的查表法JESD89A Annex C 规范了实时测试的数据统计方法。小样本量下直接用泊松分布查表即可观测错误数90% 置信上限因子95% 置信上限因子02.302.9913.894.7425.326.3036.687.7547.999.1559.2710.51使用方法是把因子除以总器件小时数再乘以 1e9 得到 FIT 上限。举例5000 颗器件跑了 1000 小时总器件小时为 5e6发现 3 个错误90% 上限因子 6.68则 FIT 上限为 6.68 / 5e6 × 1e9约 1336 FIT。这个数字远高于很多商业芯片的宣称值原因就是样本量不够。3.4 测试时长预算的 Python 计算测试前先用脚本估算预算避免测试跑完才发现统计量不足。下面的函数根据目标 FIT、期望观测到的错误数和器件数量反推需要的墙钟时间def realtime_plan(target_fit): # target_fit: 目标软错误率单位 FIT每 1e9 器件小时 # 期望至少观测到 k 个错误k 太小则统计置信区间过宽 k 8 fit_per_device_hour target_fit * 1e-9 total_device_hours k / fit_per_device_hour for n_devices in (1000, 5000, 10000, 50000): wall_hours total_device_hours / n_devices print(fdevices{n_devices:6d} fdevice_hours{total_device_hours:.2e} fwall_days{wall_hours / 24:.1f}) realtime_plan(target_fit50)逻辑说明k是期望在测试期内观测到的错误总数。取 8 而不是 1是因为只有几个错误时相对误差接近 ±60%数据根本没法定量。total_device_hours是用目标 FIT 换算出的总工作时长再除以器件数量得到墙钟时间。以 50 FIT 为目标、观测 8 个错误为例需要 1.6e8 器件小时5000 颗器件也要跑 1333 天显然不可行。所以当目标 FIT 在两位数以下时实时测试的样本量需求会迅速超出工程可承受范围这也是加速测试存在的根本原因。3.5 地形与建筑物屏蔽修正选择测试地点时要记录海拔、纬度和建筑结构。混凝土楼板和钢结构对高能中子有不同程度的衰减地下室和海平面办公室的实测通量可能差出 20% 到 40%。更稳妥的做法是在测试现场放一枚慢中子探测片或参考器件用同一批参考数据修正不同批次之间的环境差异这样报告里的海拔修正系数才有依据。4. α 粒子加速测试放射源标定与截面外推4.1 α 通量的真实来源器件周围几乎处处都有 α 发射体。塑封料里的铀和钍杂质、焊料里的放射性同位素、芯片钝化层和金属化层里的微量放射性元素都会发射能量在 36 MeV 的 α 粒子。标准 Annex D 对 α 环境做了背景说明工程实践中低 α 封装材料的发射率可以做到每平方厘米每小时 0.0010.01 个 α 粒子的量级但普通材料可能高出两个数量级以上。α 粒子在封装材料里的止程很短几微米厚的遮挡就能大幅衰减。所以 α 加速测试有一个基本前提被测器件必须开盖或裸片否则封装本身就屏蔽掉了测试源测出来的数据没有意义。4.2 放射源与夹具的典型配置常见做法是使用 Am-241 作为 α 源因为它的 α 能量约 5.4 MeV与封装材料中铀系和钍系核素发射的粒子能量处于同一量级。源到芯片的距离控制在 13 mm距离越近通量越大、测试时间越短但对夹具的平整度要求也越高。参数典型值说明源核素Am-2415.4 MeV α半衰期长源强稳定源到芯片距离13 mm距离越短通量越大立体角修正越敏感到达芯片通量1e31e5 α/cm²/hr取决于源活度和几何位置需实测标定测试环境干燥空气或真空空气对低能 α 有衰减真空更可控本底控制铅屏蔽舱抑制宇宙射线中子和环境本底辐射源的使用涉及法律法规和操作资质实验室需要具备相应许可源必须存储在合规屏蔽容器里测试区域要做剂量监测。这不是走形式α 源虽然穿透力弱但一旦摄入体内伤害很大。4.3 从错误计数到截面加速测试得到的是原始错误数必须先折算成截面 σ再乘回真实环境的 α 通量才能得到可用的 FIT 值。截面 σ 表示每个 α 粒子穿过单位面积时引发软错误的概率面积单位是 cm²。计算公式为def alpha_fit(errors, source_flux, die_area_mm2, mission_flux): # errors: 加速测试中观测到的软错误总数 # source_flux: 到达芯片表面的 α 通量单位 alpha/cm2/hr # die_area_mm2: 芯片核心敏感区面积单位 mm2 # mission_flux: 真实使用环境的 α 通量单位 alpha/cm2/hr area_cm2 die_area_mm2 * 0.01 sigma errors / (source_flux * area_cm2) ser_per_hour sigma * mission_flux fit ser_per_hour * 1e9 return fit, sigma fit, sigma alpha_fit( errors120, source_flux5e4, die_area_mm225, mission_flux0.005 ) print(sigma, fit)逻辑说明sigma是按测试条件下的错误数归一化出来的单位面积截面。mission_flux要根据产品实际用的封装材料类型来定如果封装是低 α 材料就取 0.005 这个量级普通材料要取更大值。单位换算的关键是面积die_area_mm2 * 0.01是把 mm² 转成 cm²因为截面和通量的惯用单位都基于厘米。最后乘 1e9 折算成 FIT即每 10 亿器件小时内的错误数。4.4 干扰排除与对照实验α 加速测试最容易被质疑的点是测出来的错误到底是不是 α 引起的。标准做法是在同样条件下做两组对照——一组用铝箔或聚酰亚胺薄膜盖住源和芯片之间把 α 粒子全部挡住另一组保持原样。如果遮挡组的错误数没有显著下降说明测到的大部分是本底干扰要么是中子贡献要么是测试系统自身噪声。另一个干扰源是源里的低能组分。Am-241 源表面如果氧化或镀层污染发射谱会向低能端漂移低能 α 粒子在空气中就损失掉了实际到达芯片的通量远小于标示值。因此建议测试前用硅面垒探测器实测源的能谱和通量而不是直接信源标签上的活度。5. 中子束流测试与 SEU 截面从加速环境折算到海平面5.1 高能中子与热中子必须分别处理陆地宇宙射线与大气原子核作用产生的次级粒子中真正对芯片有威胁的是中子。高能中子通常指 1 MeV 以上尤其是 10200 MeV 能段与硅原子核发生核反应产生重离子反冲直接在敏感体积内沉积电荷。热中子则走的是另一条路径热中子与材料中的硼-10 发生核反应产生 α 粒子和锂-7 离子这同样能造成软错误。JESD89A 把高能中子测试和热中子测试分成两章就是因为它们物理机制完全不同。高能中子需要粒子加速器产生宽谱束流热中子可以用反应堆热柱或同位素中子源。两者对器件的敏感性也截然不同含硼磷硅玻璃的老工艺对热中子极其敏感而先进工艺更多关注高能中子能段的响应。5.2 束流参数与加速倍数中子束流测试的核心指标是注量fluence即单位面积累积的中子数通常记为 n/cm²。束流流强越高加速倍数越大测试时间越短。典型设施能提供的加速倍数在 1e5 到 1e9 之间海平面大气中子通量约 13 n/cm²/hr1 MeV 以上束流里等效通量达到 1e6 n/cm²/hr 时几分钟就相当于自然环境下几年的累积量。参数典型范围对测试的影响能谱范围热中子到 200 MeV宽谱更接近真实环境单能点做能量响应束流通量1e51e9 n/cm²/hr通量越高加速倍数越大统计涨落越小累积注量1e81e12 n/cm²直接决定截面计算的分辨率束流均匀性±10% 以内不均匀会造成不同器件间的计数差异本底热中子占比需要测量热中子成分会污染高能中子截面选束流设施的时候能谱匹配比流强更重要。散裂中子源能谱和大气中子谱形状接近给出的数据外推误差小反应堆谱则以热中子和慢中子为主只适合做热中子专项测试。5.3 SEU 截面与 SEU 率的计算加速测试的原始数据是束流照射期间观测到的错误数。截面 σ(E) 的定义是单位注量下的错误概率面积def seu_cross_section(errors, fluence, area_cm2): # errors: 束流测试期间的总错误数 # fluence: 累积中子注量单位 n/cm2 # area_cm2: 器件测试面积单位 cm2 sigma errors / (fluence * area_cm2) return sigma # 示例1e10 n/cm2 注量1 cm2 器件面积测到 500 个错误 sigma seu_cross_section(errors500, fluence1e10, area_cm21.0) print(sigma)得到的是裸截面单位 cm²数量级通常在 1e-14 到 1e-12。要换算成 SER还需要把截面和真实环境的中子能谱做卷积def ser_from_spectrum(sigma_list, energy_bins, flux_density_list): # sigma_list: 每个能段对应的截面单位 cm2 # energy_bins: 能段边界单位 MeV # flux_density_list: 真实环境每个能段的中子通量密度单位 n/cm2/s ser 0.0 for sigma, flux in zip(sigma_list, flux_density_list): ser sigma * flux return ser * 3600 * 1e9逻辑说明真实的 SER 是截面和通量密度在各能段上的乘积积分单独用一个等效通量乘总截面会损失能谱信息。如果测试时用的是宽谱束流且束流谱形和大气中子谱形接近可以直接用总注量和总截面近似计算如果用单能点数据必须做谱加权。输出里乘 3600 是每秒折算成每小时再乘 1e9 换算成 FIT。5.4 热中子专项测试的识别方法热中子贡献的识别方法很直接在器件表面覆盖一层含硼-10 的屏蔽片或镉片。镉对热中子的吸收截面极大热中子被挡掉后如果错误数显著下降说明热中子路径确实存在贡献。反之如果错误数基本不变说明器件对热中子不敏感可以在报告里写明“热中子贡献可忽略”而不用跑完整套热中子测试。热中子的另一个特征是它的空间分布非常均匀海绵状弥漫在建筑环境里不像高能中子那样有明显的方向性。所以热中子测试里夹具的角度敏感性很低重点是保证器件周围没有大型含氢材料因为这些材料会慢化高能中子人为抬高热中子通量。5.5 束流测试的干扰项束流环境里最常见的干扰有三个一是束流中的热中子成分污染高能中子数据需要对比加镉和无镉两次测试二是束流失束或打火造成的剂量率突变会在日志里表现为同一秒内出现大量错误这类数据要剔除重测三是测试板自身在束流下的噪声尤其是电源管理芯片在辐射下产生的复位信号会被误判成被测器件的软错误。解决方法是测试前先跑一轮空板照射确认测试板自身的单粒子事件率比被测器件低两个数量级以上。6. SER 报告合成多分量加权与统计可信度反推6.1 三路分量的合成方式完整报告里的总 SER 是三个独立分量的线性相加total_fit alpha_fit cosmic_neutron_fit thermal_neutron_fit如果热中子专项测试证明贡献可忽略第三项可以写 0但要在报告里说明判断依据。每个分量都要标注测量条件、外推模型和置信区间。α 分量按真实封装材料通量外推中子分量按使用地海拔和纬度折算不同城市之间的通量差异可能有一倍以上报告里的 FIT 数字必须和地理条件绑定。6.2 用泊松上限校验报告的 FIT 数字拿到一份外部测试报告时先别急着看结论用泊松上限反向校验一次。方法是把报告的观测错误数和器件小时数代回来算一个 90% 置信上限如果报告里宣称的 FIT 比这个上限低一个数量级以上说明那个数字来自模型外推而不是实测它的可信度完全取决于外推模型的假设是否成立。from scipy.stats import chi2 def fit_upper_bound(errors, device_hours, conf0.90): # errors: 实测观测到的软错误数 # device_hours: 总器件小时数 # 泊松分布置信上限用卡方分布自由度 2*(errors1) 计算 lam chi2.ppf(conf, 2 * (errors 1)) / 2 return lam / device_hours * 1e9 # 某报告1000 颗器件跑 1000 小时测到 1 个错误 ub fit_upper_bound(errors1, device_hours1e6, conf0.90) print(ub)逻辑说明chi2.ppf取卡方分布分位数自由度取2 * (errors 1)是泊松均值的标准置信区间公式。lam是错误数的置信上限除以总器件小时数再乘 1e9 得到 FIT 上限。这个例子里 1e6 器件小时测到 1 个错误90% 上限约 3890 FIT因此报告若宣称 10 FIT唯一可能成立的解释是它用了 α 源和中子束流的加速数据做外推而不是靠实时测试直接测出来的。用这个校验方法可以把那些“只测了几小时就敢写个位数 FIT”的报告快速滤掉。本文还有配套的精品资源点击获取
返回列表