核心要点:

芯片可以通过ATPG、转换故障、固定故障以及高速结构测试,却仍然产生错误的算术运算结果,并且这种错误会一直传播下去,直到最终输出出现异常。

在系统级和现场进行有针对性的功能测试,能够捕获更多这类隐蔽缺陷。广泛而深入的功能测试内容以及压力测试,有助于识别商用处理器中的静默数据错误。

在服务器集群层面,现场硬件测试与应用测试能够降低静默数据错误逃逸带来的运营影响。

测试与服务器缓解策略正努力跟上静默数据错误(SDE,也称静默数据损坏,SDC)造成的损害。这种隐蔽缺陷会对AI训练等长时间运行的程序造成严重破坏。设计规则的不断缩小、复杂性的增加,以及基于小芯片的封装方式,都为本已愈演愈烈的静默数据错误问题火上浇油。

尽管从技术角度看SDE发生率较低,但在运行高利用率、采用先进制程处理器的大型服务器集群中,数据损坏造成的破坏却很常见。谷歌和Meta早期的分析显示,每一千台服务器中就有一台会出现SDE问题,这相当于百万分之一百到一千的高缺陷率(DPPM)。数据中心工程师通常用"故障时间率"(FIT)来描述故障率,1个FIT相当于设备每运行十亿小时出现一次故障。但即便故障率仅为10个FIT,如果服务器集群规模扩大到1000万台设备,也意味着每4天就会发生一次SDE故障,这是难以承受的。

"从历史上看,商用电子产品中可靠性要求较高的领域,其现场使用第一年的缺陷率大约在百万分之一百到三百之间。这是针对全掩模版SoC而言的,这类芯片通常是单芯片或数量相对较少的芯片组合,预计运行工作负载的时间为数小时到数周,"Advantest创新中心战略合作发展总监John Carulli表示。"现在,我们需要调整能力,以满足汽车级质量标准,即针对采用最新硅工艺节点和封装技术、最新设计架构、最新EDA工具、且缺乏历史数据积累的芯片,将缺陷率控制在百万分之一以下。"

静默数据错误的高昂代价主要源于细微的制造缺陷,这些缺陷可能在芯片生命周期的任何阶段演变为故障。"与SDC相关的故障可能导致数据丢失、无法访问或服务中断,迫使运营数据中心的系统公司不得不转移工作负载、关闭系统,甚至面临失去用户信任的风险。这会带来重大的商业影响,损失往往高达数十亿美元,"西门子EDA公司Tessent工程副总裁Nilanja Mukherjee在近期一次演讲中表示。"随着芯片小型化以及环绕栅极和纳米片晶体管等新技术的引入,硅制造过程中物理缺陷可能暴露出的细微问题不容忽视。我们不仅需要提高测试质量以减少测试漏检,还需要片上测试和监控能力来持续评估硅片的运行表现,从而预防故障发生。"

随着AI需求的变化,硅片测试要求也在随之演变。"在智能体AI场景下,CPU的角色正从传统的加速器活动协调者,转变为持续进行规划、推理、调用工具、管理并发起新操作的主动执行者,"proteanTecs解决方案工程副总裁Noam Brouchard解释道。"再加上快速且不可预测的工作负载切换,了解硅片在这些工作负载下的实际运行状态就变得愈发重要。这正是为什么对这类新型CPU而言,对时序裕量、电压、工作负载压力、温度和老化情况进行深度监控至关重要。"

SDE问题日益严重,部分原因在于SDE故障更容易在先进制程节点上发生,因为这些节点的工艺裕量更小,材料之间的连接更容易出现变异,互连线也更细,因而电阻更大。

基于以上种种原因,从设计、测试到系统集成各环节的工程师都在呼吁采取"全员协作"的方式来解决静默数据损坏问题——事实证明,这一问题比最初设想的更加棘手。据估计,约80%的这类计算错误可归因于时间零点(出厂时)的测试漏检,因此更好的筛查方式现在包括更多的关键路径监控以及系统和集群层面的扩展功能测试。对于剩余20%表现为间歇性和老化相关的SDE问题,晶体管级可靠性故障机制(如栅氧化层击穿或随机电报噪声)的物理模型,或许有助于识别与计算错误相关的特征信号。

与此同时,SDE正在重新定义"已知良品芯片"的含义。"测试的传统目标是识别出会发生故障的器件。而新的目标越来越倾向于识别那些能通过常规测试、但计算结果可能出错的器件,"恩智浦半导体汽车微控制器和微处理器部门院士兼高级总监Chen He表示。"因此,许多机构正在增加专门用于验证计算正确性、而非仅仅检查结构性缺陷的深度功能测试。与此同时,业界正日益从晶圆测试和最终测试,转向更广泛的系统级测试,以及任务模式和工作负载感知测试。"

换句话说,按照旧的定义,测试覆盖率是指能够检测到的已建模制造故障的百分比。而按照新的定义,测试覆盖率还包括在真实运行条件和工作负载下,检测出器件计算结果错误的概率。

但即便有先进的筛查手段和系统内的扩展测试,也并非所有电阻性开路、桥接缺陷或小延迟缺陷(这些正是SDE的常见表现形式)都能被捕获。事实上,由于静默数据损坏故障可能取决于电压、频率、温度、老化程度和工作负载等多重因素,穷举式测试并不现实。基于这些原因,在集群层面持续进行系统检查现已成为必要举措。

"在制造测试以及数据中心定期原位筛查过程中,高效检测SDE对于保持大规模计算不间断和可靠运行至关重要,"英特尔的Manu Shamsa在最近一篇论文中指出。

谷歌、Meta、AWS等公司正在实施集群范围内的筛查、冗余计算、应用层SDE检测以及基于软件的检测方法,以识别并隔离受损核心。

SDE成因何在

自谷歌和Meta在2021年首次就SDE问题发出警示以来,业界一直在通过改进测试方法、优化DFT(可测试性设计)、扩展系统级功能测试以及系统内测试等手段来寻求解决方案。"或许其中最深刻的变化理念在于,测试不应止步于产品出厂,"Chen He表示。"多项行业倡议正聚焦于系统内测试和硅片生命周期管理方法,即在部署后定期评估硅片的健康状态。其中的逻辑很简单:部分SDE源于老化、磨损机制或现场诱发的性能退化,而这些问题是制造环节无法检测到的。因此,工程师们如今不再局限于出厂前测试,而是在产品整个生命周期内持续验证其质量。"

SDC问题源于细微的时序违规、老化效应,或是能够逃过标准半导体测试和数据中心监控的边界缺陷。"SDC错误的来源包括永久性、间歇性、瞬态性和退化性故障,"新思科技硅片生命周期管理与RAS架构总监Jyotika Athavale表示。"其根本原因可能是外部制造缺陷、内在硅片老化,或是瞬态错误。严重的缺陷在制造测试阶段很容易被检测到。但如果缺陷较为轻微,就可能导致电路出现边界状态,仅在特定运行条件下才会发生故障。潜在缺陷在元件投入运行一段时间之前不会显现出任何症状。通过监控硅片中的环境变化,以及应用压力情况,并追踪内存和逻辑路径随时间推移的时序裕量变化,就有可能在SDC错误显现之前对其进行预测。"

静默数据错误会导致算术运算出现错误结果,比如10÷2=4这样的情况。

这类故障之所以被称为"静默",是因为它们不会在系统日志中留下任何记录或痕迹。它们可能导致数值计算错误,或产生"非数字"(一种未定义的数学结果)。这种损坏的数值随后会在大型数据中心中层层传播,通常只有在训练运行返回与预期不符的结果后,问题才会被发现。

一旦在系统层面发现错误,要将故障追溯到器件的具体缺陷是极其困难的。"系统与ATE(自动测试设备)之间的关联性问题一直都是个挑战,这个问题在芯片调试阶段始终存在,"Carulli表示。"在系统层面,工程师们用固件语言进行沟通,比如寄存器加载、寄存器写入、寄存器读取,也许由此可以了解到某个设计模块出现了故障。但要把这种理解映射回结构测试的世界就非常困难——在结构测试中,我们对扫描链加载有更细粒度的理解,能够了解正在与哪个逻辑锥交互、有多少组测试图案可能出现故障,一直到通过失效分析定位到具体缺陷所在的位置,即那个'X标记的地方'。这种分析可能需要耗费数周时间,涉及来自EDA、测试、失效分析以及系统层面等不同学科的团队,而这些团队往往各说各的'语言'。"

截至目前,业界已经识别出导致SDE的最常见物理原因,包括:

电阻性开路:金属或过孔互连部分连接的情况。这类节点或许仍能正常工作,但常常表现出RC延迟增加或电压下降的问题。

电阻性短路/桥接缺陷:网络之间产生意料之外的微弱连接,在特定电压、温度或开关条件下会产生错误的逻辑结果。

除了这类外部制造缺陷之外,SDE还可能由电气边界状态、辐射以及内在可靠性机制引发的故障所导致。

另一种理解方式是,将这些故障映射到芯片生命周期所遵循的"浴盆曲线"上(见图1)。在生产初期,会出现早期失效,许多SDE问题就属于这一阶段。经过一定时间后,芯片进入使用寿命期,这一阶段的特征是故障率低且恒定,属于随机故障。最终,器件会进入磨损失效阶段,此时芯片会因内在的负偏压温度不稳定性(NBTI)、热载流子注入(HCI)以及时间相关介质击穿(TDDB)等机制而发生故障。

图1:半导体器件全生命周期内的故障率曲线。来源:西门子EDA

服务器集群如何应对SDC问题

超大规模数据中心运营商采用分层软件方法来检测由静默数据损坏引起的运行异常,隔离出问题服务器或设备,运行诊断程序以确认错误(通常局限于单个核心),然后将受影响的芯片隔离,直到其被更换。

Meta已公布了其在服务器集群中控制SDC问题的三种方法。首先,其Fleetscanner工具会将服务器从生产环境中移出,并运行有针对性的计算测试,这通常是在预防性维护流程中进行的。测试会选用已知结果的输入数据,如果CPU产生了错误的结果,该设备就会被隔离并接受调查。该公司近期已提高了测试频率,以更积极地覆盖整个服务器集群。

其次,在常规生产运行期间,Meta的Ripple程序会运行简短的测试图案和操作(耗时从毫秒到秒不等),并对结果进行核查。第三种方法称为Hardware Sentinel,它通过分析应用程序异常和系统行为来识别核心层面的异常情况,而无需分配专门的测试工作负载。Meta将这种方法描述为一种不依赖特定测试方法和架构的方案,相比基于测试的方法,其在不同架构、应用程序和数据中心中的检测能力提升了40%。

谷歌会同时监控其硬件是否存在导致数据损坏的CPU或核心问题,也会监控其软件是否出现数据损坏的迹象。谷歌应对SDC的多层软件防御策略包括:

执行端到端校验和检查;

进行复制计算;

比较副本结果;

不变量/断言检查;

对系统中流转的数据进行校验和检查;以及

定期验证静态数据。

该公司的Spanner应用层遥测技术方法能够检测数据损坏问题,并将存在故障的设备从服务器集群中移除。对于现场返厂的设备,谷歌会调整其筛查方法,从而能够在故障发生之前主动识别出存在问题的核心。

大量测试能捕获大量SDE问题

如果说SDE问题还有什么一线希望的话,那就是它们并非与任何新的器件故障模式相关联。SDE问题也不会因器件类型不同而有所区别,它们同样可能出现在逻辑电路和存储电路中,也可能出现在时钟分配硬件中。在芯片上,SDE问题同样可能发生在数据通路和控制通路中。

尽管如此,对于逻辑硬件而言,目前还没有类似纠错码这样对存储硬件极为有效的解决方案。"ECC(纠错码)及类似技术对于保护存储和传输中的数据非常有价值,但它们无法保护处理器中的每一条逻辑路径,"proteanTecs的Bouchard表示。"SDC问题可能源于某条指令被错误执行,但却产生了一个看似完全合理的输出结果。这正是根本原因分析异常困难的原因所在。"

在一个案例中,英特尔工程师将一个SDE问题追溯到晶体管层面栅极功函数金属台阶覆盖不良的问题。台阶覆盖良好的晶体管表现出正常的工作特性,但当栅极金属覆盖不佳时,探测显示其阈值电压高出30%,源漏驱动电流则降低了30%。同一项研究还发现,典型的SDE缺陷是电阻性开路,这种缺陷通过系统级功能测试在写入操作期间最容易被检测出来。

为了充分筛查表现为SDE的缺陷,英特尔开发了一套大型功能测试集,旨在验证每一项运算和计算都能交付正确结果。这套测试套件包括检查核心间和插槽间的通信;测试各种片上缓存;以及执行几乎所有浮点、整数和数据处理指令,这些都是该公司数据中心诊断(DCDiag)测试套件的组成部分。

在为跨越五代CPU的120万个处理器开发测试方案的过程中,英特尔确定需要DCDiag套件中超过1000项功能测试,以及5000项合成压力测试,才能捕获所有SDE问题。"对英特尔至强处理器五个代次的测试结果表明,要筛查出表现为SDE的缺陷,需要一套庞大而多样化的系统级功能测试。我们评估过的每一款产品,都需要一套独特的测试组合才能实现有效筛查,这就需要对数千个单独的SoC进行表征分析,才能构建出最优的测试方案,"英特尔的David Lerner在报告中指出。

"虽然大约50%的缺陷部件仅需5%的测试就能被识别出来,但要筛查出90%的SDE问题,则需要用到(1000项测试中的)半数以上,"如图2所示。令人遗憾的是,英特尔发现,为某一代产品定制开发的测试套件,对开发下一代产品的测试套件并无帮助,因此现有的产品数据并不能为新设计的测试项目选择提供良好的参考依据。

图2:对120万个处理器进行1000项测试后发现,超过70%的缺陷只能被单一测试项目检测出来。来源:英特尔

与此类似,英特尔还采用了约5000项合成压力测试,旨在暴露最坏情况下的时序路径,同时对每一个计算结果进行核查。同样地,许多故障仅能被单一压力测试项目检测出来,因此需要大量测试才能全面捕获SDE问题。这些测试具备架构感知能力,专门针对DCDiag测试套件遗漏的故障机制。

SDE之所以能逃过传统测试,原因之一在于用于捕获小延迟缺陷的测试方法。"大多数公司仍严重依赖传统的转换故障模型,"Mukherjee表示。"尽管时序感知和单元感知时序等缺陷模型正逐渐受到重视,但它们依赖于单输入开关(SIS)方式,即只允许一个输入端的转换信号传播,而其他输入端则保持恒定路径。然而我们知道,SIS并不能真实模拟集成电路在功能模式下的实际运行情况。此外,相关文献显示,与SIS相比,多输入开关(MIS)会导致更大的传播延迟。换句话说,阻止多输入开关意味着对路径延迟的测试不够充分,这就为小延迟缺陷的逃逸留下了空间。"

Mukherjee还进一步强调了扩展传统压力测试方法的必要性。"另一个被严重忽视的因素是,现有测试方法未能恰当地融入多角、多模式的设计范式中——在这种范式下,延迟缺陷必须在不同的PVT(工艺、电压、温度)角下加以针对,测试图案也需要经过优化,才能在所有这些角下都有效发挥作用,"他表示。"只有这样,我们才能弥合与集成电路在系统内运行时所面临的实际工况之间的差距。"

业界还需要智能化的基于电压和电流的压力测试。"依赖老化测试或电压相关测试的传统压力测试方法,正逐渐无法消除那些表现为早期失效的潜在影响,"Mukherjee继续说道。"对于HTOL(高温工作寿命)测试而言,目前大多数公司要么依赖翻转覆盖率,要么采用临时性方法来生成测试图案,却没有办法衡量这些图案对整体测试质量的影响。我们坚信,智能化的基于电压和电流的压力测试解决方案是必要的。一旦我们具备了衡量压力测试覆盖率的能力,就可以开发出智能ATPG(自动测试图案生成)技术来填补这些空白,从而保证对整个设计实现更全面的覆盖。"Mukherjee还特别提到了基于活动和基于缺陷的压力测试模型方面的进展,这类模型能够模拟器件在压力条件下的行为,并生成能够激活此类条件的测试图案。"最后,我们需要提供一套DFT基础设施,以便能够针对现场的系统内测试应用相应的制造测试图案。"

AI技术同样能提供帮助。"识别数据集中的异常值,并诊断出时间延迟或电压下降等症状的能力,有助于暴露即将发生SDC错误的早期迹象,"新思科技的Athavale表示。"AI/机器学习算法能够在满足某些特定条件时发出警示,这些条件往往是SDC问题的早期征兆。硅片生命周期管理是一种解决方案,它使芯片设计者能够在半导体器件的整个生命周期内对其进行监控、分析和优化。这样一来,设计者就更容易实时追踪其器件并获得可执行的洞察,最终在为时过晚之前检测出静默数据损坏问题。"

改进的异常值检测提供了另一种检测静默缺陷的方式。"在生产过程中,我们的异常值检测方法将参数测量与机器学习相结合,用于建模器件的预期特性曲线,然后标记出偏离该曲线的器件,从而提供额外一层的缺陷筛查,"proteanTecs的Brouchard表示。"这种方法包括基于时序裕量和基于IDDQ(静态电流)的方法。分析平台会训练这些模型,并将其部署到ATE(自动测试设备)上,用于在线决策。在系统级测试中,时间序列分析能够揭示出在功能性工作负载下出现的间歇性裕量下降情况,而较短的测试往往会遗漏这类问题。"

结语

尽管半导体行业在理解静默数据损坏及其表现形式方面已经取得了长足进步,但开发最有效的测试策略仍是一项进行中的工作。"我们已经认识到,SDE并非单一问题,而是一系列能够逃避传统检测方法、且往往以意想不到的方式显现出来的故障机制的集合,"恩智浦的Chen He表示。"工程师们现在意识到,静默数据损坏可能源于制造缺陷、工艺偏差、时序边界状态、老化机制、电压波动、热效应,以及能够逃过常规验证和生产测试的设计交互作用。SDE调试过程中最具挑战性的方面之一在于,问题症状可能与底层硬件缺陷看似毫无关联。"

通常情况下,处理器本身并不会报告任何故障。"相反,工程师们观察到的可能是数据库损坏、AI模型行为异常、分析结果错误、软件崩溃,或是应用程序输出结果不一致等现象,"Chen He表示。由于没有任何单一方法能够捕获所有SDE问题,He建议业界应转向综合运用以下多种手段:

进程内监控器或片上传感器,用于揭示时序裕量情况;

DFT增强手段,例如任务模式测试和路径延迟测试;

深度功能测试,包括随机数据流测试;

集群层面的异常行为监控;

多样化的指令组合、跨核心比较以及冗余执行测试;以及

系统级测试和系统内测试,以提升SDE检测能力。

总体而言,半导体测试正在从一次性的出厂测试模式,转变为持续性的质量监控模式。"测试越来越不能被视为芯片出厂后就宣告结束的一件事,"Bouchard表示。"一款器件在生产阶段可能拥有健康的裕量,但后续可能因老化、工作负载压力、环境条件,或是电力、时钟供给等外部问题而失去这种裕量。业界需要在这些不同阶段都具备可见性,而不能仅仅依赖孤立的快照式检查。例如,在现场应用中,实时健康监控能够持续追踪时序裕量,提供一个反映器件距离故障发生程度的性能指标,从而实现更主动的维护。"

但更广泛的数据共享,对于实现质量的阶跃式提升将是必不可少的。"尽管工程团队都明白协作的必要性,但我们各自的业务和法务团队都需要权衡其中的财务影响,"Advantest的Carulli表示。"因此,对于跨业务、跨领域的问题,如果不对现有方法进行一些变革,进展将会较为缓慢。我们需要在生态系统内的各公司之间、以及与高校之间做好数据共享工作,这样才能在这一重要课题上取得领先。"

Q&A

Q1:什么是静默数据错误(SDE)?

A:静默数据错误(SDE),也称静默数据损坏(SDC),是指芯片通过了所有常规测试,却仍然产生错误计算结果的一种隐蔽缺陷。这类故障不会在系统日志中留下任何痕迹,错误结果会一直传播下去,直到最终输出出现异常时才会被发现,因此被称为"静默"错误。

Q2:为什么静默数据错误在先进制程芯片中更容易发生?

A:这是因为先进制程节点的工艺裕量更小,材料之间连接更容易出现变异,互连线也更细因而电阻更大。这些因素共同导致芯片更容易出现电阻性开路、桥接缺陷等问题,进而演变为静默数据错误。

Q3:企业该如何应对和检测静默数据错误?

A:目前业界普遍采用多层次方法,包括扩展系统级功能测试、增强DFT可测试性设计、部署片上监控传感器、进行集群层面的持续筛查,以及利用AI/机器学习算法识别异常数据。谷歌、Meta、英特尔等公司均已建立起专门的检测和隔离机制来应对这一问题。

Semiconductor Engineering