作者:Laura Peters
文章来源:https://semiengineering.com/identifying-sources-of-silent-data-corruption/
在大型数据中心,静默数据错误(SDE,Silent Data Errors)正引发广泛担忧 —— 这类错误会在系统内传播,对 AI 训练任务等长时间运行的程序造成严重影响。
从技术角度看,静默数据错误(又称静默数据损坏-SDC,Silent Data Corruption)本身并不常见。但在由数千台服务器组成的集群中(这些服务器搭载数百万台高利用率运行的处理器芯片),这类破坏性事件却变得十分普遍。尽管任务模式测试正捕获更多静默数据错误,但事实证明,要检测出所有数据损坏错误,其复杂程度远超预期 ——这需要对设计、制造、可测试性设计(DFT)、测试流程,以及软硬件运维环节进行针对性调整。
新思科技(Synopsys)工程架构总监 Jyotika Athavale指出:“当受影响的器件处理数据时,若无意中导致所处理数据出现未被察觉的错误,便会引发静默数据损坏。例如,受影响的中央处理器(CPU)可能在完全没有数据损坏提示的情况下,对数据进行错误计算。如今,计算密集型机器学习算法需在数万个节点上执行,这类数据损坏可能在不触发任何警报的情况下破坏整个数据集,而解决此类问题往往需要数月时间,进而带来巨额成本损失。此外,该问题的复杂性与规模也使其难以通过主动措施防范;更关键的是,芯片生产周期较长,针对静默数据损坏(SDC)的修复方案可能需要数年时间才能在新硬件中落地。”
静默数据错误的棘手之处在于,其并非源于单一来源或单一机制。普迪飞(PDF Solutions )首席技术官 Andrzej Strojwas 表示:“静默数据损坏(SDC)的潜在根本原因繁多。有人认为最可能的诱因是测试疏漏,但许多此类故障只有在实际应用环境中被触发后才会显现。例如,由于严苛的容差要求和形形色色的布局模式,晶体管层面可能存在漏电这类系统性缺陷。测试过程中可能遗漏对特定模式的敏感性检测,进而演变为可靠性问题。此外,器件老化也是重要因素,会导致阈值电压发生变化。不过,通过适当的测试结构设计,这些问题都可得到有效应对。”
静默数据损坏(SDC)可能发生在硅片全生命周期的任何阶段,这也是业界采用多种硅生命周期管理方法应对此类错误的核心原因。
西门子 EDA(Siemens)旗下 Tessent 部门工程副总裁Janusz Rajski解释道:“要消除早期失效现象,必须通过压力测试加速器件老化。生产阶段则需采用高质量、确定性的测试方法,同时在系统内也需执行相同的测试流程。部分企业会在核心闲置时开展测试,也有企业将其作为预防性维护措施,按周或按月定期执行,但无论哪种方式,系统内的测试都会非常全面 —— 这无疑是一项重大变革。”

(图 1:器件全生命周期内的半导体故障率。来源:西门子EDA )
Janusz Rajski补充道:“静默数据损坏(SDC)是个亟待解决的严重问题。多家企业发布的数据显示,每 1000 台服务器中,约有 1 台可能受到此类问题影响。显然,在任务关键型或安全关键型应用中,其影响会更为严重。超大规模数据中心最先发现这一问题,正是因为其处理器数量庞大,但实际上其他领域也存在类似情况。”
在测试层面,工程师们也在深入研究芯片架构优化方向。爱德万测试(Advantest)应用研究与技术副总裁Ira Leventhal表示:“我们需要一种我称之为‘架构感知测试’的方法 —— 因为在逻辑芯片中,只有特定的计算单元才有可能将故障传播至整个网络。因此,核心思路也就变成了‘将特定测试向量聚焦于核心的这些关键区域’—— 不仅要采用传统扫描测试并核验结果,还需将部分功能测试整合到自动测试设备(ATE)的测试环节中。”
测试越接近任务模式,就越容易捕获静默数据错误导致的故障结果。
Ira Leventhal指出:“我们可在 93k 测试工具上使用 LinkScale 卡,通过高速接口开展扫描测试,本质上是让器件按照实际任务模式的运行逻辑工作。这种情况下,无需像系统级测试那样运行全套测试场景,只需聚焦核心的特定区域,通过特定方式驱动器件运行,即可触发静默数据损坏(SDC)问题。这在异构集成场景中尤为重要 —— 我们需在芯片级发现所有潜在问题,确保芯片具备抵御静默数据损坏的能力。这类措施能帮助我们在问题管控中占据主动。”
然而,即便在测试环节占据主动,企业也逐渐意识到,解决静默数据损坏(SDC)问题真正需要的是整个供应链的协同。尽管器件制造商、测试企业与可测试性设计(DFT)提供商之间的合作已催生出更完善的筛选与缓解方案,但随着器件和系统复杂度不断提升,静默数据错误问题只会愈发严峻,因此行业仍需长期策略支撑。例如,Meta 正探索如何提升应用对静默数据损坏的容错能力。Meta 工程总监斯里Sriram Sankar表示:“我们正在推进一项长期工作,旨在改进并推广具备内在抗静默数据损坏(SDC)能力的架构解决方案与设计模式。”
鉴于整个供应链解决静默数据损坏(SDC)问题的紧迫性,OCP启动了 “服务器组件弹性工作流” 项目,参与者包括AMD、安谋Arm、谷歌Google、英特尔Intel、微软Microsoft、Meta 和英伟达NVIDIA等多家企业。去年 6 月,该项目为六个以解决静默数据错误(SDE)为目标的研究项目提供了资金支持。
其他企业也认为,这一领域需要研究界的深度参与。谷歌工程总监Rama Govindaraju在近期的小组讨论中表示:“仅依靠过往的方法,无法显著推动问题的解决进程。 这一领域需要更多创新性研究,因为它需要更全面的解决方案,且必须引入新想法、创新性思路。静默数据损坏(SDC)是个极其复杂的问题,需要开发大量研究成果和端到端解决方案。”
追溯静默数据损坏(SDC)的根源,需从设计阶段着手。新思科技杰出架构师Adam Cron指出:“我们曾交流过的一家芯片设计企业表示,即便是设计错误,也可能成为静默数据错误(SDE)的来源。硅后验证工具可为多线程应用生成边界情况工作负载;随后,在制造测试和现场测试阶段,借助硅后激励器可在硅片层面发现设计错误。这些测试也可用于仿真和验证环节,以判断设计逻辑是否存在问题。但有时,只有借助实际流片的硅片,才能发现这些特殊错误。”
Adam Cron特别强调,流片制造的实际硅片对于识别新故障(尤其是新工艺节点下的故障)至关重要:“内存有时需要针对新工艺的内建自测试(BiST)算法,以发现这些新的缺陷特征。通过流片制造实际硅片,是防范特定设计风格或物理布局方案日后演变为静默数据错误(SDE)的有效保障。”
目前,半导体行业在两方面取得了显著进展:一是通过测试更有效地筛选缺陷,二是通过软件管控静默数据错误(SDE)造成的损害。然而,设计中的 “边际性”(marginality)和工艺中的变异性,可能是静默数据损坏(SDC)的核心诱因,且这类诱因极难察觉。有些潜伏性缺陷能通过所有测试和检查,但一旦处于实际应用环境中,就可能在现场发生故障。
泰瑞达(Teradyne)技术与营销总监Nitza Basoco解释道:“就静默数据错误(SDE)而言,某些知识产权(IP)模块可能存在边际性问题,但在‘零时刻’(time zero,即出厂时)仍可通过测试。然而,当信号路径与环境条件呈现特定组合时,这类边际性缺陷可能演变为关键性缺陷。而且,由于缺陷对多种因素的组合敏感,其是否会导致故障具有不确定性。”
尽管传统测试是在故障发生后进行检测,但部分策略已转向预防导向。proteanTecs 联合创始人兼首席技术官 Evelyn Landman表示:“我们专注于预测这些故障 —— 如今,一个主要问题是,这些故障会反馈给设备供应商,而供应商需投入巨额资源进行故障分析。在很多情况下,他们无法复现故障,导致‘未发现故障’(no trouble found,简称 NTF)率居高不下。我们的核心目标是从源头避免故障发生。我们发现,在未采用我们方法的案例里,部分退回的故障芯片存在缺陷,而通过我们的方法本可提前发现这些问题。”
例如,借助对漏电流敏感的专用工艺监视器,结合模型可预测每颗芯片的预期漏电流。若实际漏电流超过预期值,即表明可能存在导致静默数据错误的缺陷。
第二种方法是通过遥测监视器追踪时序余量 —— 时序余量的变化是预测故障的关键指标。时序余量变化可能由多种因素引起,例如连接松动导致金属线电阻升高,或特征粗糙度导致晶体管计算速度变慢。
时序延迟还与故障传播路径密切相关:若时序延迟沿短路径传播,微小延迟可能不会被察觉;若沿较长的关键路径传播,即便微小延迟也可能导致故障。然而,所有这些监视器都会占用硅片面积,产生成本开销。尤其是在先进工艺节点下,器件可集成的传感器数量有限,一旦空间耗尽便无法再增加。因此,遥测传感器的部署必须经过周密规划,优先部署在最关键的位置。
静默数据错误发生率上升的部分原因,可能与芯片处于高压力运行模式的时间增加有关。
Nitza Basoco指出:“系统级芯片(SoC)的设计初衷并非使其以最高电压、最高频率、高功耗状态 24 小时不间断运行 —— 原本设计的高负载运行时长本就较短。但如今,芯片大部分时间都处于高压力环境中,因此故障风险显著升高。我们需要明确芯片的实际运行工况,并调整相关设计或运行参数,以确保这些器件在与认证环境差异极大的工况下,仍能保持较长的使用寿命。”
Ira Leventhal提出了静默数据损坏的三大管控方法:“在静默数据损坏问题的管控方面,我们有三种核心手段 —— 检测错误、降低错误发生率、构建缺陷容错系统。这三种手段必须同时采用。我把它比作通信领域的问题应对逻辑:我们从不期望通信链路绝对可靠,因此始终会执行错误检查。若系统检测到错误,便会启动重试机制 —— 这是预期的运行模式。”
此外,针对静默数据损坏(SDC)的测试并非孤立进行。Adam Cron补充道:“任何用于检测缺陷组件的设计结构,都有助于发现那些故障时会‘静默失效’的器件。目前尚无专门针对静默数据错误的工具,但任何可反映硅片整体质量状况的特征都十分有用。例如,将工艺监视器与异常值检测分析技术相结合,可帮助筛选出可能在现场出现问题的芯片。”
由于 Meta、谷歌等企业已找到通过软件管控静默数据错误的方法,行业对这类错误的警报声已有所缓和。Nitza Basoco 提醒道:“目前,问题已得到初步控制,但如果静默数据错误(SDE)的发生率上升到现有管控措施或临时应对方案无法应对的程度,行业必须提前做好准备。”
行业也在积极针对多芯片组件采取预防措施。Janusz Rajski表示:“适用于 3D 集成电路(3D-IC)的可测试性设计(DFT)架构正逐步形成,该架构会将静默数据损坏错误和设计规模不断扩大的问题纳入考量。测试压缩并非新技术,但在这些核心中的应用已非常普遍。其次,流扫描网络(可实现打包数据在不同核心间的传输)已应用于大多数大型设计,能以极高速度传输数据。我们还在开发 iJTAG 技术,以支持对大量仪器进行并行编程。在去年的国际测试会议(ITC)上,我们推出了在线测试(in-system test)技术,该技术可提供确定性测试能力,尤其适用于关注静默数据错误或有特定可靠性、可用性与可维护性(RAS)需求的客户。最后,还需借助监视器掌握工艺边界(如工艺 - 电压 - 温度(PVT)边界),部署时序裕量传感器、路径传感器等结构传感器,同时将传感器读数与测试结果进行关联分析。”
结语
尽管通过可测试性设计(DFT)、工艺监视器和更全面的测试流程,制造和测试阶段捕获的静默数据错误数量不断增加,但在识别静默数据错误(SDE)的所有根本原因、降低其造成的影响,以及防止其在数据中心内部传播方面,行业仍有很长的路要走。
尽管如此,领先企业已积极采取行动:他们不仅采用更全面的基于任务模式的测试方法,还引入了系统内测试技术。超大规模数据中心运营商、集成电路(IC)制造商、测试企业、可测试性设计(DFT)提供商和 EDA 企业之间加强数据共享与协作,将有助于形成更全面的解决方案,同时避免供应链内部出现劳动重复的情况。
