掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本公开涉及半导体技术领域,尤其涉及一种用于芯片修复的方法、装置、计算机设备及可读存储介质。

背景技术

随着存储芯片容量和密度的增加,存储芯片上发生故障的单元数也随之增多,为了保证存储芯片的良率,需要对存储芯片上的故障单元进行修复。然而,现有技术中的修复方法不能实现高效且准确地修复。

在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的相关技术的信息。

发明内容

本公开实施例提供了一种用于芯片修复的方法、装置、计算机设备及计算机可读存储介质,能够高效且准确地修复芯片中的故障单元。

本公开实施例提供一种用于芯片修复的方法,包括:确定待修复芯片中的目标故障组,每个目标故障组中包括至少一个故障单元;获得所述目标故障组的目标路径;根据所述目标路径获得所述目标故障组的目标修复方式;根据所述目标故障组的目标修复方式获得所述待修复芯片的目标修补方式。

根据本公开的示例性实施例,确定待修复芯片中的目标故障组,包括:获得所述待修复芯片中的故障单元;从所述故障单元中确定必修复故障单元;采用备用资源修复所述必修复故障单元,获得剩余备用资源;对除所述必修复故障单元以外的剩余故障单元进行分组,获得所述目标故障组。

根据本公开的示例性实施例,从所述故障单元中确定必修复故障单元,包括:获得所述备用资源中的备用行与备用列;若所述备用列的数量大于所述备用行的数量,则获取所述待修复芯片中的必修复故障列,所述必修复故障单元包括所述必修复故障列中的故障单元,且所述必修复故障列中的故障单元的数量大于所述备用行的数量;若所述备用行的数量大于所述备用列的数量,则获取所述待修复芯片中的必修复故障行,所述必修复故障单元包括所述必修复故障行中的故障单元,且所述必修复故障行中的故障单元的数量大于所述备用列的数量。

根据本公开的示例性实施例,对除所述必修复故障单元以外的剩余故障单元进行分组,获得所述目标故障组,包括:将具有相同行地址或相同列地址的所述剩余故障单元分为一组,获得非标准化故障组;对所述非标准化故障组进行标准化,以获得所述目标故障组。

根据本公开的示例性实施例,将具有相同行地址或相同列地址的所述剩余故障单元分为一组,获得非标准化故障组,包括:构建第一非标准化故障组,并确定所述第一非标准化故障组的第一分组信息列表;获取所述第一剩余故障单元的行地址和列地址;若所述第一分组信息列表为空或所述第一分组信息列表中已存在的第二剩余故障单元的行地址或列地址与所述第一剩余故障单元的行地址或列地址相同,则将所述第一剩余故障单元的行地址和列地址添加至所述第一分组信息列表中;若所述第二剩余故障单元的行地址和列地址与所述第一剩余故障单元的行地址和列地址均不同,则新建第二非标准化故障组,并确定所述第二非标准化故障组的第二分组信息列表;其中所述非标准化故障组包括所述第一非标准化故障组和所述第二非标准化故障组,所述剩余故障单元包括所述第一剩余故障单元和所述第二剩余故障单元。

根据本公开的示例性实施例,对所述非标准化故障组进行标准化,以获得所述目标故障组,包括:在所述目标故障组的行方向和列方向分别按照故障单元在所述非标准化故障组中的行地址和列地址进行升序排列,以生成所述目标故障组,其中所述目标故障组中用第一值表示故障单元,第二值表示正常单元。

根据本公开的示例性实施例,对所述非标准化故障组进行标准化,以获得所述目标故障组,包括:确定所述非标准化故障组的最少所需备用资源;若所述剩余备用资源大于或等于所述最少所需备用资源,则对所述非标准化故障组进行标准化以获得所述目标故障组。

根据本公开的示例性实施例,获得所述目标故障组的目标路径,包括:若所述目标故障组中的总故障单元数量大于1,则从所述目标故障单元中的起始故障单元开始,对所述目标故障组中的每个故障单元依序按照预设方向顺序搜索关联的故障单元,并计算从当前故障单元到关联的下一故障单元的步长,直至所述目标故障组中的所有的故障单元被遍历完全;根据从所述当前故障单元搜索到关联的所述下一故障单元的方向以及步长,获得所述目标故障组的所述目标路径。

根据本公开的示例性实施例,根据所述目标路径获得所述目标故障组的目标修复方式,包括:获得匹配库,所述匹配库包括候选路径及其对应的候选修复方式;根据所述目标路径搜索所述候选路径,从所述候选修复方式中确定所述目标修复方式。

根据本公开的示例性实施例,所述目标路径中包括与所述候选路径不匹配的第一目标路径,所述第一目标路径对应第一目标故障组,所述目标故障组包括所述第一目标故障组;其中,根据所述目标路径获得所述目标故障组的目标修复方式,还包括:获得所述第一目标故障组的故障行数量m’和故障列数量n’,其中,m’和n’均为正整数;若所述第一目标故障组的故障列数量大于所述故障行数量,则采用备用资源中的备用列对所述第一目标故障组中的故障列修复,且所述备用列的数量自n’至0依修复次数递减,在每次采用所述备用列修复后,采用所述备用资源中的备用行对未被所述备用列修复的所述第一目标故障组中的剩余故障单元修复。

根据本公开的示例性实施例,所述目标故障组包括第一目标故障组和第二目标故障组,所述第一目标故障组的目标修复方式包括第一级目标修复方式,所述第二目标故障组的修复方式包括第二级目标修复方式;所述第一级目标修复方式中的所需备用资源的数量相同,所述第二级目标修方式中的所需备用资源的数量相同;其中,根据所述目标故障组的目标修复方式获得所述待修复芯片的目标修补方式,包括:组合所述第一级目标修复方式和所述第二级目标修复方式,获得所述待修复芯片的第一所需备用行资源数量和第一所需备用列资源数量;获得所述剩余备用资源中的剩余备用行资源数量和剩余列资源数量;若所述第一所需备用行资源数量小于或等于所述剩余备用行资源数量,且所述第一所需备用列资源数量小于或等于所述剩余备用列资源数量,则确定所述目标修补方式包括所述第一级目标修复方式和所述第二级目标修复方式。

根据本公开的示例性实施例,所述第一目标故障组还包括第三级目标修复方式,所述第三级目标修复方式中的所需备用资源的数量相同,且所述第三级目标修复方式中的所需备用资源大于所述第一级目标修复方式中的所需备用资源;其中,根据所述目标故障组的目标修复方式获得所述待修复芯片的目标修补方式,还包括:若所述第一所需备用行资源数量大于所述剩余备用行资源数量,或者,所述第一所需备用列资源数量大于所述剩余备用列资源数量,则组合所述第三级目标修方式和所述第二级目标修复方式,获得所述待修复芯片的第二所需备用行资源数量和第二所需备用列资源数量;若所述第二所需备用行资源数量小于或等于所述剩余备用行资源数量,且所述第二所需备用列资源数量小于或等于所述剩余备用列资源数量,则确定所述目标修补方式包括所述第三级目标修复方式和所述第二级目标修复方式。

本公开实施例还提供了一种用于芯片修复的装置,包括确定模块和处理模块。其中,确定模块用于确定待修复芯片中的目标故障组,每个目标故障组中包括至少一个故障单元;处理模块用于获得所述目标故障组的目标路径;所述处理模块还用于根据所述目标路径获得所述目标故障组的目标修复方式;所述处理模块还用于根据所述目标故障组的目标修复方式获得所述待修复芯片的目标修补方式。

本公开实施例还提供了一种计算机设备,包括处理器、存储器、输入输出接口;所述处理器分别与所述存储器和所述输入输出接口相连,其中,所述输入输出接口用于接收数据及输出数据,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行上述任一实施例中所述的方法。

本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行上述任一实施例中所述的方法。

由上述技术方案可知,本公开实施例的用于芯片修复的方法具备以下优点和积极效果中的至少之一:

本公开实施例中,通过获得目标故障组的目标路径以及与目标路径匹配的目标修复方式,能够在有限的备用资源下,高效、准确地找出修补方案,减少分析的时间成本,提升产能。

附图说明

通过参照附图详细描述其示例实施方式,本公开的上述和其它特征及优点将变得更加明显。

图1为本公开一些实施例示出的用于芯片修复的方法的流程图;

图2为本公开一些实施例示出的确定目标故障组的流程图;

图3为本公开一些实施例示出的待修复芯片中的故障单元的示意图;

图4为本公开一些实施例示出的确定必修复故障单元的框架图;

图5为本公开一些实施例示出的确定必修故障单元的示意图;

图6为本公开一些实施例示出的对剩余故障单元进行分组的示意图;

图7为本公开一些实施例示出的获取各个标准化后的故障组的最小二维矩阵二值图的示意图;

图8为本公开一些实施例示出的确定剩余备用资源与所需备用资源的关系的框架图;

图9为本公开一些实施例示出的获得目标故障组的目标路径的示意图;

图10为本公开一些实施例示出的获得目标故障组的目标路径的流程图;

图11为本公开一些实施例示出的根据预设区域获取的匹配库中的候选路径和候选修复方式;

图12为本公开一些实施例示出的根据候选路径确定目标路径的目标修复方式的示意图;

图13为本公开一些实施例示出的获取候选修复方式的示意图;

图14为本公开一些实施例示出的不同的故障组对应的目标修复方式;

图15为本公开一些实施例示出的用于芯片修复的方法的流程图;

图16为本公开一些实施例示出的用于芯片修复的装置的框图;

图17为本公开一些实施例示出的计算机设备的示意图;

图18本公开一些实施例示出的计算机可读存储介质的示意图。

具体实施方式

现在将预设附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本公开将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。

在对本公开的不同示例性实施方式的下面描述中,参照附图进行,附图形成本公开的一部分,并且其中以示例方式显示了可实现本公开的多个方面的不同示例性结构。应理解的是,可以使用部件、结构、示例性装置、系统和步骤的其他特定方案,并且可在不偏离本公开范围的情况下进行结构和功能性修改。而且,虽然本说明书中可使用术语“之上”、“之间”、“之内”等来描述本公开的不同示例性特征和元件,但是这些术语用于本文中仅出于方便,例如根据附图中的示例的方向。本说明书中的任何内容都不应理解为需要结构的特定三维方向才落入本公开的范围内。此外,权利要求书中的术语“第一”、“第二”等仅作为标记使用,不是对其对象的数字限制。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

另外,在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

随着存储芯片容量和密度的增加,存储芯片上发生故障的单元数也随之增多,为了修复这些故障单元以提升芯片的良率,相关技术中使用备用电路架构和修复分析算法来进行修复。备用电路架构包括备用行和备用列,由于备用电路架构中的备用行和备用列的数量有限,因此可以通过RA(Redundancy Analysis,冗余分析)算法来实现,针对存在故障的行和列,分别统计故障单元的数量,并按降序分派备用电路架构中的备用行和备用列来进行修复。但在真实有解的情况下,其备用行和备用列的分派结果未能将所有的故障单元成功修补,芯片由于仍然存在故障而成为废品,造成良率降低。

基于此,本公开实施例提供了一种用于芯片修复的方法,如图1所示,本公开实施例的用于芯片修复的方法包括如下步骤:S110~S140。

S110:确定待修复芯片中的目标故障组,每个目标故障组中包括至少一个故障单元。

其中,待修复芯片是存在故障的芯片,该芯片可以是存储芯片,如动态随机存取存储器(Dynamic Random Access Memory,DRAM)芯片,此处不做特殊限定。目标故障组为将待修复芯片中的故障单元分组后,利用本公开实施例的方法进行修复的故障组。

在一些实施例中,如图2所示,S110中确定待修复芯片中的目标故障组包括如下步骤:S210~S240。

S210:获得待修复芯片中的故障单元。

在芯片中提前安装有故障计数器(col-error counter),故障计数器能够统计故障单元的数量与地址。如图3所示,示出了一些实施例中的待修复芯片中的故障单元。其中,实心圆代表故障单元。

S220:从故障单元中确定必修复故障单元。

图4示出了本公开一些实施例的确定必修复故障单元的框架图。在本公开实施例中,从故障单元中确定必修复故障单元,包括步骤:S410~S430。

S410:获得备用资源中的备用行与备用列。

如图3所示,备用资源为预先在芯片存储阵列区设置的预定数量的备用电路,包括备用行和备用列,用于修复芯片中的故障单元。其中,在本公开实施例中,备用行用ASR表示,备用列用ASC表示。

S420:若备用列ASC的数量大于备用行ASR的数量,则获取当前的待修复芯片中必修复故障列,必修复故障单元包括必修复故障列中的故障单元,且必修复故障列中的故障单元的数量大于备用行的数量。

S430:若备用行ASR的数量大于备用列ASC的数量,则获取当前的待修复芯片中必修复故障行,必修复故障单元包括必修复故障行中的故障单元,且必修复故障行中的故障单元的数量大于备用列的数量。

在S420中,获取当前的待修复芯片中的必修复故障列后,还可以包括S421:判断是否触发获取必修复故障行。也就是说,在S420中获取必修复故障列后,会对故障列以及备用列进行更新,更新后再判断ASR与ASC的数量关系,如果符合S430中备用行ASR的数量大于备用列ASC的数量,则执行S430。在执行S430后,还可以包括S431:判断是否触发获取必修复故障列。即在S430中获取必修复故障行后,会对故障行以及备用故障行进行更新,更新后再判断ASR与ASC的数量关系,如果又符合S420中备用列ASC的数量大于备用行ASR的数量,则执行S420,直至不符合上述条件后结束。

具体地,在一些实施例中,如图4和图5所示,在S420中,判断备用资源中的备用行ASR和备用列ASC的数量关系,如果备用列ASC的数量大于备用行ASR的数量,则先考虑按列对待修复芯片修复,也就是说,先获取必修复故障列,且必修复故障列中的故障单元的数量大于备用行ASR的数量。

确定了必修复故障列后,更新故障单元以及备用列ASC的数量,判断是否获取必修复故障行。在S430中,若当前备用行ASR的数量小于或等于当前的备用列ASC(更新后的备用列ASC)的数量,则结束;若当前备用行ASR的数量大于当前的备用列ASC(更新后的备用列ASC),则考虑按行对待修复芯片修复,也就是说,此时获取必修复故障行,且必修复故障行中的故障单元的数量大于当前的备用列ASC的数量。在确定了必修复故障行后,更新故障单元以及备用行ASR的数量,再次判断是否符合S420的条件,若是,继续执行上述S420步骤,若否,则结束。

举例说明,如图5所示,在待修复芯片的待修复区域具有8行和8列,备用行ASR为4个,备用列ASC为3个,备用行ASR的数量大于备用列ASC的数量,则先确定必修故障行,且必修故障行中的故障单元的数量需要大于备用列ASC的数量,从图5中可以得出,第一行(行地址为0)的故障单元的数量为4个,第六行(行地址为5)的故障单元的数量为5,均大于备用列ASC的数量3,因此,确定第一行和第六行为必修复故障行。更新故障单元的数量和备用行的数量,即去掉必修故障行中的故障单元,同时去掉两个备用行。此时,当前的备用行ASR的数量为2,备用列ASC的数量为3,判断得出当前的备用列ASC的数量大于备用行ASR的数量,则确定必修复故障列,发现第六列(列地址为5)中存在4个故障单元,大于当前的备用行ASR的数量2,则确定第六列为必修故障列,再更新故障单元的数量和备用列ASC的数量,此时,当前的备用列ASC的数量为2,当前的备用行ASR的数量为2。判断得出ASC和ASR的数量相等,则结束。通过上面的方法,确定出图5中的待修复芯片中的必修复故障行为第一行和第六行,必修复故障列为第六列。

S230:采用备用资源修复必修复故障单元,获得剩余备用资源。

确定了必修故障行和必修故障列之后,可以先利用备用行ASR和备用列ASC修复必修故障行和必修故障列,如图5中的虚线所示。如此减少了待修复芯片中的故障单元,为后续修复降低了复杂度。

S240:对除必修复故障单元以外的剩余故障单元进行分组,获得目标故障组。

去除必修复故障单元后,待修复芯片中还存在剩余故障单元,对剩余故障单元进行分组,可以包括:将具有相同行地址或相同列地址的剩余故障单元分为一组,获得非标准化故障组;对非标准化故障组进行标准化,以获得目标故障组。

具体地,将具有相同行地址或相同列地址的剩余故障单元分为一组,获得非标准化故障组,包括如下步骤:A1~A4。

其中非标准化故障组包括第一非标准化故障组和第二非标准化故障组,剩余故障单元包括第一剩余故障单元和第二剩余故障单元。

A1:构建第一非标准化故障组,并确定第一非标准化故障组的第一分组信息列表。

具体地,第一非标准化故障组可以为G0,第一分组信息列表用于存储划分至第一非标准故障组的剩余故障单元的行地址和列地址。

A2:获取第一剩余故障单元的行地址和列地址。

其中,剩余故障单元的地址包括行地址和列地址。

A3:若第一分组信息列表为空或第一分组信息列表中已存在的第二剩余故障单元的行地址或列地址与第一剩余故障单元的行地址或列地址相同,则将第一剩余故障单元的行地址和列地址添加至第一分组信息列表中。

在一种情况中,第一信息列表中还没有被划分的剩余故障单元时,该第一分组信息列表为空,则可以将第一剩余故障单元的行地址和列地址添加至第一分组信息列表中,若第二剩余故障单元与第一剩余故障单元具有相同的行地址或列地址,则第二剩余故障单元也可以被划分为第一信息列表中。在另一种情况中,第一分组信息列表不为空,第二剩余故障单元已经存在于该第一信息列表中,则与第二剩余故障单元具有相同的行地址或列地址的第一剩余故障单元划分至该第一信息列表中。

A4:若第二剩余故障单元的行地址和列地址与第一剩余故障单元的行地址和列地址均不同,则新建第二非标准化故障组,并确定第二非标准化故障组的第二分组信息列表。

当然,本公开实施例中非标准化故障组并不限制于仅具有第一非标准化故障组和第二非标准化故障组,还可以具有第三非标准化故障组、第四非标准化故障组等,上述仅以第一非标准化故障组、第二非标准化故障、第一剩余故障单元和第二剩余故障单元作为示例进行分组的说明,如具有其他非标准化故障组和剩余故障单元,分组方法与上述相同,此处不再赘述。

举例而言,获得非标准化故障组可以包括如下方法。根据起始的剩余故障单元的地址遍历剩余故障单元,将与起始的剩余故障单元具有相同行地址或列地址的剩余故障单元的地址填加至相同的分组信息列表中,并更新剩余故障单元。

具体地,初始化故障分组编号为零,如第一组为G0。初始化信息分组列表,信息分组列表用于存储每个非标准化故障组的剩余故障单元的地址,该地址包括行地址和列地址。其中,起始的剩余故障单元可以理解为第一个被填加至每个信息分组列表的剩余故障单元,在遍历剩余故障单元时,可以根据起始的剩余故障单元的地址,将与之具有相同行地址或相同列地址的剩余故障单元的地址填加至该信息分组列表中,将剩余故障单元的地址填加至信息分组列表中后,说明当前的剩余故障单元已经被分组,则进行更新,使得不会再遍历到该剩余故障单元,减小不必要的工作量。

若当前的剩余故障单元的地址存在于已有的分组信息列表中,则更新剩余故障单元。

若当前的剩余故障单元的地址存在于已有的分组信息列表中,说明当前的剩余故障单元已经被分组,即在其被分组时,更新没有成功,则此次遍历后将其更新。当然,还可以同时更新剩余故障单元的数量Nf,根据当前信息分组列表获得的当前的非标准化故障组中的故障行的数量Nfr和故障列的数量Nfc,以及当前的非标准化故障组中的多故障行的数量Nmr和多故障列的数量Nmc,以同步更新每个非标准化故障组的所有信息,便于后续分析及修复的进行。

若当前的剩余故障单元的地址不能填加至已有的分组信息列表中,则新建另一个分组信息列表,并将当前的剩余故障单元的地址填加至另一个分组信息列表中,将当前的剩余单元作为另一个分组信息列表的起始的剩余故障单元,并更新剩余故障单元。

具体地,若遍历到的当前的剩余故障单元的地址不能填加至已有的分组信息列表中,说明当前的剩余故障单元与已有的分组信息列表中的剩余故障单元并非具有相同的行地址或列地址,则当前的剩余故障单元需要划分至另一个新的故障组中。新建另一个分组信息列表,将当前的剩余故障单元的地址填加至该另一个分组信息列表中,并将当前的该剩余故障单元作为该另一个分组信息列表的起始的剩余故障单元,当遍历的剩余故障单元与当前的剩余故障单元具有相同的行地址或相同的列地址时,将其划分为一组。

在将所有的剩余故障单元遍历完全后,分组结束,根据分组信息列表的数量确定非标准化故障组的数量,且二者一一对应,每个分组信息列表中的剩余故障单元为该非标准化故障组中的剩余故障单元。

在获得非标准化故障组后,对非标准化故障组进行标准化,以获得目标故障组,包括:在目标故障组的行方向和列方向分别按照故障单元在非标准化故障组中的行地址和列地址进行升序排列,以生成目标故障组,其中目标故障组中用第一值表示故障单元,第二值表示正常单元。

也就是说,对非标准化故障组中的故障单元按照行地址和列地址升序排列,对非标准化故障组进行标准化,以获取目标故障组。

图6中示出的各个故障组为标准化后的故障组,为了能够显示更多的故障组,以便于描述本公开的实施例,图6中的剩余故障单元的数量与图5中所示的故障单元的数量并不相同,可以理解为图6为不同于图5的待修复芯片上的剩余故障单元。作为一个示例,图6中示出了三个目标故障组G0、G1、G2。标准化后,能够使各个故障组更加紧凑,解决了故障组中的故障单元的地址信息与空间位置关系不同而使后续操作产生差异化的问题,同时能够确保在后续操作中生成的每个目标路径的唯一性,方便后续目标路径的生成与匹配。

在一些实施例中,在对非标准化故障组进行标准化之后,还可以包括:对标准化后的故障组进行处理生成最小二维矩阵二值图,以获得目标故障组。

如图7所示,在最小二维矩阵二值图中,最上侧区域和最左侧区域的数字表示索引值,除索引值区域以外的区域为待修复区域,其中的1可以为第一值,表示故障单元,0可以为第二值,表示正常单元,最小二维矩阵二值图用B表示,对应三个目标故障组G0、G1、G2的三个最小二维矩阵二值图分别为B0、B1、B2。生成最小二维矩阵二值图,能够将标准化后的故障组中的故障行和故障列排列更加紧凑,便于后续分析。

在一些实施例中,如图8所示,对非标准化故障组进行标准化,以获得目标故障组,还包括:确定非标准化故障组的所需最少备用资源。若剩余备用资源大于或等于所需最少备用资源,则对非标准化故障组进行标准化以获得目标故障组。

也就是说,在获得目标故障组之前,先判断修复非标准化故障组的所需最少备用资源,如果剩余备用资源(即备用资源中修复必修复故障单元后剩余的备用资源)大于或等于所需最少备用资源,说明剩余备用资源足够修复待修复芯片中的非标准化故障组中的故障单元,则可以继续进行,从而获得目标故障组。若剩余备用资源小于所需最少备用资源,说明剩余备用资源不足以修复待修复芯片中的故障单元,停止对该待修复芯片的修复工作,以节省能耗。

作为一个示例,如图8所示,示出了获得所需最少备用资源Nmsc的框架图。可以包括如下步骤:S810~S8150。

S810:对于每个非标准故障组来说,判断当前非标准故障组的多故障行的数量Nmr

(即具有多个故障单元的故障行)或多故障列的数量Nmc(即具有多个故障单元的故障列)是否为零;若是,则执行S820;若否,则执行S830。

S820:输出所需最少备用资源数Nmsc为1。

当Nmr或Nmc为零时,所有的故障单元均在某一故障行或故障列上,此时,需要一条备用行或备用列即可修复,因此所最少需备用资源数Nmsc为1。

S830:判断多故障行的数量Nmr是否小于多故障列的数量Nmc的数量;若是,则执行S840;若否,则执行S870。

S840:继续判断当前非标准故障组的故障行数Nfr是否大于多故障行的数量Nmr;若是,则执行S850;若否,则执行S860。

S850:可以输出所需最少备用资源数Nmsc为多故障行的数量Nmr加1。

S860:输出所需最少备用资源数Nmsc为多故障行的数量Nmr。

S870:继续判断Nmr是否等于Nmc;若是,则执行S880;若否,则执行S890。

S880:继续判断当前非标准故障组的故障行的数量Nfr是否等于多故障行的数量Nmr或当前非标准故障组的故障列的数量Nfc是否等于多故障列的数量Nmc;若是,则执行S860;若否,则执行S850。

S890:判断当前的非标准故障组的故障列的数量Nfc是否大于多故障列的数量Nmc;若是,则执行S8100;若否,则执行S8110。

S8100:输出所需最少备用资源数Nmsc为多故障列的数量Nmc加1。

S8110:输出所需最少备用资源数Nmsc为多故障列的数量Nmc。

S8120:在得到每个非标准故障组的所需最少备用资源的数量Nmsc后,对所有的非标准故障组的所需最少备用资源的数量求和,如以下公式(1),

其中,M表示待修复芯片中的非标准故障组的数量,为正整数;C表示当前的非标准故障组的序数,为正整数。

根据该求和公式,得出整个待修复芯片所需的所需最少备用资源的总数量N。

S8130:所需最少备用资源的总数量N是否大于剩余备用资源的数量(ASR+ASC),若是,则执行步骤S8140;若否,则执行步骤8150。

S8140:输出不可修复,并结束。

S8150:输出可修复。

通过上述方法,能够得出修复待修复芯片的所有故障单元所需要的最少备用资源的数量,通过与剩余备用资源的数量进行比较,如果剩余备用资源的数量不足,则能够尽早停止修复,避免后续发生无效的修复工作,因而节省了能耗。

S120:获得目标故障组的目标路径。

在获得目标故障组后,可以进一步获得该目标故障组的目标路径。如图9和图10所示,示例性地示出了目标故障组G(G0、G1、G2)以及对应的最小二维矩阵二值图B(B0、B1、B2)、目标路径P(P0、P1、P2)。获得目标故障组的目标路径,包括如下步骤:S1010~S1020。

S1010:若目标故障组中的总故障单元数量大于1,则从目标故障单元中的起始故障单元开始,对目标故障组中的每个故障单元依序按照预设方向顺序搜索关联的故障单元,并计算从当前故障单元到关联的下一故障单元的步长,直至目标故障组中的所有的故障单元被遍历完全。

S1020:根据从当前故障单元搜索到关联的下一故障单元的方向以及步长,获得目标故障组的目标路径。

其中,在本公开实施例中,对故障单元进行遍历时,会对故障单元的上下左右四个方向遍历,以探寻当前目标故障组中的与当前故障单元关联的下一个故障单元。预设方向是指提前预设的按照四个方向的先后顺序对当前的故障单元进行遍历。在一些实施例中,自当前故障单元,先向上探寻,该路径可以用U表示,然后向右探寻,该路径可以用R表示,之后向左探寻,该路径可以用L表示,最后向下探寻,该路径可以用B表示。当然,还可以是其他的顺序,此处不做特殊限定。预设方向中的第一方向可以为四个方向中的任何一个。

遍历至下一个故障单元后,若下一个故障单元按照预设方向不能再遍历到故障单元,则返回当前故障单元;从当前故障单元按照预设方向中的第二方向继续遍历,直至目标故障组中的所有的故障单元被完全遍历,获得目标故障组的目标路径。

其中,当下一个故障单元按照预设方向不能再遍历到故障单元,可以理解为,从下一个故障单元按照上述四个方向遍历,均不能探寻到故障单元,此时的路径为从该下一个故障单元返回至当前故障单元,这种路径可以用N表示。也就是说,当任一个故障单元按照上述的四个方向遍历时,均不能探寻到下一个故障单元,则路径返回,或者当故障组中仅具有一个故障单元时,其路径也为N。另外,第二方向是指预设方向中,除了第一方向的其他任一方向。

如图9所示,在目标故障组中,从起始点(0,0)开始,对每个故障单元按照预设方向中的第一方向(可以为上述实施例中先向上U、再向右R,然后向左L,最后向下B)进行遍历,同时计算从当前故障单元到下一个故障单元的步长。然后对下一个故障单元重复上述步骤,即对下一个故障单元按照预设方向进行遍历,如果按照预设方向不能再探寻到其他故障单元,则返回(用N表示),然后继续沿着预设方向中的第二方向继续遍历,直至所有故障单元完全遍历,生成目标路径。如在图9中,目标故障组G0的目标路径为R2NB1R1,目标故障组G1的目标路径为R1B1L1NB1R1,目标故障组G2的目标路径为N。图中的G表示目标故障组,B表示最小二维矩阵二值图,P表示路径。

其中,步长可以理解为在标准化后的目标故障组的最小二维矩阵二值图中,当前故障单元与下一个故障单元在预设方向中的任一方向上的相对偏移位置,例如,在最小二维矩阵二值图中,一个故障单元的的二维地址为(0,0),另一个故障单元的二维地址为(2,0),则这两个故障单元的步长为2。其中,二维地址为如图9所示的最小二维矩阵二值图中的列地址与行地址。通过计算步长,能够保证每个目标故障组的目标路径的唯一性,提高修复的准确率。

S130:根据目标路径获得目标故障组的目标修复方式。

在一些实施例中,根据目标路径获得目标故障组的目标修复方式,包括:获得匹配库,匹配库包括候选路径及其对应的候选修复方式;根据目标路径搜索候选路径,从候选修复方式中确定目标修复方式。

其中,匹配库中具有预先获得的具有不同的候选路径及对应的候选修复方式。修复方式是指修复与之对应的路径所需的备用行的数量和备用列的数量。

如图11所示,选取预设区域,该预设区域例如可以为q*q的矩阵,其中,q可以为大于1的正整数。该预设区域中可以包括多个候选故障组(参考图9)。

获取任一候选故障组,该候选故障组的故障行数量为m,故障列数列为n,其中,m和n均为正整数。按照上述实施例中获取目标路径的方法获取该候选故障组的候选路径。

获取该候选故障组的候选修复方式。具体地,判断故障行数量m和故障列数量n的大小,对其中较小者进行修复。根据排列组合C

上述的获取该候选故障组的候选修复方式,还可以表述为:若候选故障组的故障列数量大于故障行数量,即m<n,则采用备用列对候选故障组中的故障列修复,且备用列的数量自n至0依修复次数递减,在每次采用备用列修复后,采用修复资源中的备用行对未被备用列修复的候选故障组中的剩余故障单元修复。每次修复该候选故障组后,能够获取候选修复方式,即获取所需的备用列的数量和备用行的数量。将获取到的候选修复方式和候选路径存放在匹配库中。

需说明的是,修复候选故障组中的故障行和故障列所使用的备用行和备用列并非是修复待修复芯片所使用的备用资源中的备用行和备用列,不占用备用资源。

作为一个示例性实施例,参考图12,设候选故障组的故障行数量m和故障列数量n均为3,可以先对故障行或故障列修复。根据其故障单元的分布情况,可以获取其候选路径P为R1B1L1NB1R1。其中,图12中的B

A:使用三个备用列修复该候选故障组,获取其修复方式为(Nsr:0,Nsc:3)。其中,Nsr为所需的备用行的数量,Nsc为所需的备用列的数量。该步骤相当于上述排列组合中的C

B:接着依次按故障列的顺序{0,1,2}取消一条备用列,取消备用列的故障单元使用备用行进行修复,获取所需要使用的备用列和备用行的数量。获取的候选修复方式为三个(Nsr:2,Nsc:2)。该步骤相当于上述排列组合中的C

C:再继续依次按顺序取消故障列(0,1)、(0,2)、(1,2)的两条备用列,取消备用列的故障单元使用备用行进行修复,获取所需要使用的备用列和备用行的数量,获取的候选修复方式为(Nsr:2,Nsc:1)(Nsr:3,Nsc:1)、(Nsr:3,Nsc:1)。

D:取消所有的备用列,仅用备用行修复,获取所需要使用的备用行的数量,获取候选修复方式为(Nsr:3,Nsc:0)。

E:对于上述候选修复方式中重复的修复方式和冗余的修复方式进行过滤,得到最终的该候选故障组的修复方式。

其中,重复的修复方式是指在至少两个修复方式中,所需备用行的数量完全相等,所需备用列的数量完全相等。为了简化处理该过程,故将重复的修复方式过滤掉,只保留一个即可。例如,在图12中,在重复的修复方式中,将三个(Nsr:2,Nsc:2)过滤,仅保留一个,将两个(Nsr:3,Nsc:1)过滤,也仅保留一个。冗余的修复方式是指在该修复方式中,所需备用行的数量或所需备用列的数量与另一修复方式中的所需备用行的数量或所需备用列的数量相等,且该冗余的修复方式中所需备用行的数量与备用列的数量之和大于另一修复方式中的所需备用行的数量与所需备用列的数量之和。例如,在图12中,冗余的修复方式为(Nsr:2,Nsc:2)和(Nsr:3,Nsc:1),将这两个修复方式过滤掉。过滤掉冗余的修复方式能够降低复杂度以及减小备用行和备用列的使用量。

图12中,该候选故障组的候选路径P为R1B1L1NB1R1,对应该候选路径的候选修复方式为{(Nsr:0,Nsc:3),(Nsr:2,Nsc:1),(Nsr:3,Nsc:0)}。将该候选路径和候选修复方式存放至匹配库中。

通过上述方法,能够获得预设区域中的每一个候选故障组的候选修复方式,该候选修复方式对应该候选故障组的候选路径。在预设区域中,如图11中的q*q矩阵中,其可以包括多个候选故障组,每个故障组具有一个候选路径,根据上述方法,得到与该候选路径对应的候选修复方式,将所有候选故障组的候选路径与候选修复方式存放至匹配库中,以便于在对待修复芯片进行修复时搜索获取。

如图13所示,在获取待修复芯片的目标故障组的目标路径P(P0、P1、P2)后,通过在匹配库中搜索与之对应的候选路径,与该候选路径对应的候选修复方式即为目标修复方式。因此,通过提前设置匹配库,在对待修复芯片修复时,能够根据目标路径与候选路径匹配直接获取目标修复方式,使得修复时间大幅缩减,提高分析效率,并节约功耗。

在一些实施例中,待修复芯片的目标路径中包括与候选路径不匹配的第一目标路径,第一目标路径对应第一目标故障组,目标故障组包括第一目标故障组。其中,根据目标路径获得目标故障组的目标修复方式,还包括:获得第一目标故障组的故障行数量m’和故障列数量n’,其中,m’和n’均为正整数;若第一目标故障组的故障列数量大于故障行数量,则采用备用资源中的备用列对第一目标故障组中的故障列修复,且备用列的数量自n’至0依修复次数递减,在每次采用备用列修复后,采用备用资源中的备用行对未被备用列修复的第一目标故障组中的剩余故障单元修复。

也就是说,当在匹配库中不能搜索到与目标路径匹配的候选路径,则不能直接获得目标修复方式,此时,需要单独获取该目标故障组的目标修复方式,以保证能够完全修复所有的故障单元。该目标故障的目标修复方式的获取方法与上述实施例中的候选故障组中的候选修复方式的获取方法相同,此处不再赘述。

在另一些实施例中,也可以不预设匹配库,在获得目标故障组的目标路径后,根据上述实施例中的获取候选修复方式的方法,获取目标故障组的目标修复方式,此处不再赘述。

S140:根据目标故障组的目标修复方式获得待修复芯片的目标修补方式。

在获取待修复芯片的每个目标故障组的目标修复方式后,将所有的目标故障组的修复方式进行组合,并填加至集合中,获得目标修复方式。也就是说,目标修补方式是整个待修复芯片的所有目标修复方式的集合。

结合图13和图14所示,在一些实施例中,为了使用最少的备用资源来修复待修复芯片中的故障单元,待修复芯片中的目标故障组包括第一目标故障组G0和第二目标故障组G1。第一目标故障组G0的目标修复方式包括第一级目标修复方式[(Nsr:0,Nsc:2)],第二目标故障组G1的修复方式包括第二级目标修复方式[(Nsr:0,Nsc:3)、(Nsr:2,Nsc:1)、(Nsr:3,Nsc:0)]。其中,第一级目标修复方式中的所需备用资源的数量相同(图14中的所需备用资源数为2),第二级目标修方式中的所需备用资源的数量相同(图14中的所需备用资源数为3),图中每个目标修复方式之前的数字代表所需备用资源数。备用资源的数量相同是指当该级目标修复方式中具有多个目标修复方式时,每个目标修复方式中的备用行和备用列的数量之和相等。

根据目标故障组的目标修复方式获得待修复芯片的目标修补方式,包括:组合第一级目标修复方式[(Nsr:0,Nsc:2)]和第二级目标修复方式[(Nsr:0,Nsc:3)、(Nsr:2,Nsc:1)、(Nsr:3,Nsc:0)],获得待修复芯片的第一所需备用行资源数量和第一所需备用列资源数量,该数量为5;获得剩余备用资源中的剩余备用行资源数量和剩余列资源数量;若第一所需备用行资源数量小于或等于剩余备用行资源数量,且第一所需备用列资源数量小于或等于剩余备用列资源数量,则确定目标修补方式包括第一级目标修复方式和第二级目标修复方式。也就是说,备用资源中的备用行足以修复待修复芯片中的故障行,备用列足以修复待修复芯片中的故障列,且此时的目标修补方式为使用最少备用资源的方式,将其确定为最终的待修复芯片的目标修补方式。

在一些实施例中,第一目标故障组还包括第三级目标修复方式[(Nsr:2,Nsc:1)、(Nsr:3,Nsc:0)],第三级目标修复方式中的所需备用资源的数量相同,该数量为3,且第三级目标修复方式中的所需备用资源大于第一级目标修复方式中的所需备用资源。也就说在,在每个目标故障组中,将其目标修复方式按照等级划分,等级数越大的,所需备用行和备用列的数量之和越大,即所需的备用资源的数量越大。

其中,根据目标故障组的目标修复方式获得待修复芯片的目标修补方式,还包括:若第一所需备用行资源数量大于剩余备用行资源数量,或者,第一所需备用列资源数量大于剩余备用列资源数量,也就是说,备用行或备用列不足以修复目标故障组中的故障行或故障列,则极有可能备用资源不足以修复目标故障组。则组合第三级目标修方式[(Nsr:2,Nsc:1)、(Nsr:3,Nsc:0)]和第二级目标修复方式[(Nsr:0,Nsc:3)、(Nsr:2,Nsc:1)、(Nsr:3,Nsc:0)],获得待修复芯片的第二所需备用行资源数量和第二所需备用列资源数量,该数量为6。

若第二所需备用行资源数量小于或等于剩余备用行资源数量,且第二所需备用列资源数量小于或等于剩余备用列资源数量,则确定目标修补方式包括第三级目标修复方式和第二级目标修复方式。否则,按照上述方法,继续按等级升序组合其他目标修复方式。若最终得到的目标修补方式中的所需备用资源的数量(即所需备用行和所需备用列的数量之和)大于备用资源的数量,则结束修复。通过上述方法,能够获得所需备用资源的数量最少,节省了备用资源的使用量。

上述实施例中仅结合了图14中的两个目标故障组进行说明,为了更加清楚地说明,下面结合图14中的三个目标故障组以及图15进行说明。

具体地,如图15所示,根据目标故障组的目标修复方式获得待修复芯片的目标修补方式,包括如下步骤:H1~H5。

待修复芯片包括第一目标故障组G0、第二目标故障组G1和第三目标故障组G2。该待修复芯片的目标修补方式的列表为Lcs=[x,y,z],其中,x,y,z表示每个目标故障组中所选择的目标修复方式的等级。

H1:对每个目标故障组,按所需备用资源的数量(Nsr+Nsc)进行升序排列,然后按所需备用资源的数量进行分级,将所需备用资源的数量相等的修复方式划分为同一等级。

其中,Nsr表示备用行的数量,Nsc表示备用列的数量。如图14所示,第一目标故障组G0的目标修复方式划分为两个等级,第二目标故障组G1的目标修复方式划分为两个等级,第三目标故障组G2的目标修复方式划分为一个等级。为了便于描述,每个目标故障组中目标修复方式的第一等级用0表示,第二等级用1表示,第三等级用2表示……,依此类推。

H2:初始化目标修补方案的列表Lcs=[0,0,0]。

初始化目标修补方案的列表是指初始化x,y,z均为0,即Lcs=[0,0,0],表示会先组合每个目标故障组的第一等级的目标修复方式。

H3:按照每个目标故障组中的目标修复方式的等级升序组合各个目标故障组中的目标修复方式,得到修补集合,并判断修补集合是否满足Nsr≤ASR且Nsc≤ASC,若是,则执行步骤H4,若否,则执行步骤H5。

H4:确定该修补集合为目标修补方式。

具体地,如图14所示,第一目标故障组G0的目标修复方式为:第一等级0:[(Nsr:0,Nsc:2)],第二等级1:[(Nsr:2,Nsc:1),(Nsr:3,Nsc:0]。其中,第一等级的所需备用资源的数量为2,第二等级的所需备用资源的数量为3。

第二目标故障组G1的目标修复方式为:第一等级0:[(Nsr:0,Nsc:3),(Nsr:2,Nsc:1),(Nsr:3,Nsc:0)],第二等级1:[(Nsr:2,Nsc:2),(Nsr:3,Nsc:1]。其中,第一等级的所需备用资源的数量为3,第二等级的所需备用资源的数量为4。

第三目标故障组G2的目标修复方式为:第一等级0:[(Nsr:1,Nsc:0),(Nsr:0,Nsc:1)]。其中,第一等级的所需备用资源的数量为1。

更新Lcs=[0,0,0],组合每个目标故障组中第一等级的目标修复方式,得到第一修补集合S1。

S

计算第一修补集合S1中的任一修复方式中的所需备用行的数量和所需备用列的数量。例如,在修复方式[(Nsr:0,Nsc:2),(Nsr:0,Nsc:3),(Nsr:1,Nsc:0)]中,最少所需备用行的数量为1,最少所需备用列的数量为5,若所需备用行的数量≤备用行的数量,且所需备用列的数量≤备用列的数量,则可以确定该第一修补集合S1为目标修补集合,且其所需备用资源的数量最少。

H5:更新目标修补方案的列表Lcs=[1,0,0],并按该列表组合目标故障组的目标修复方式。

具体地,将第一目标故障组G0中的第二等级的目标修复方式与第二目标故障组的G1中的第一等级的目标修复方式、第三目标故障组G2中的第二等级的目标修复方式组合,得到第二修补集合S2。

S

计算第二修补集合S2中的任一修复方式中的所需备用行的数量和所需备用列的数量。例如,在修复方式[(Nsr:2,Nsc:1),(Nsr:0,Nsc:3),(Nsr:1,Nsc:0)]中,最少所需备用行的数量为3,最少所需备用列的数量为4,若所需备用行的数量≤备用行的数量,且所需备用列的数量≤备用列的数量,则可以确定该第二修补集合S2为目标修补集合,且其所需备用资源的数量最少。

如果第二修补集合S2仍然不满足上述条件,则继续更新Lcs=[1,1,0],并按照上述步骤进行判断,直至得到符合条件的修补集合作为目标修补方式,如此得出的目标修补方式所需的备用资源数量最少。

在一些实施例中,在每次得到的修补集合如果不符合所需备用行的数量≤备用行的数量且所需备用列的数量≤备用列的数量的条件后,可以再判断所需备用行的数量与所需备用列的数量之和是否大于剩余备用资源的数量,如果是,则说明剩余备用资源不足以修复该待修复芯片中的故障单元,则停止修复。因此,无需再进行后续的处理,节省了时间已经功耗。

在一些实施例中,如图15所示,本公开实施例的用于芯片修复的方法包括步骤:S10~S101。

S10:确定和修复必修复故障单元。具体方法可参考上述实施例中的S230,此处不再赘述。

S20:修复必修复故障单元后,对剩余故障单元分组。具体方法可参考上述实施例中的S240。

S30:判断所需备用资源的数量是否大于剩余备用资源的数量,若是,则执行S40,若否,则执行S50。

S40:结束。

S50:生成目标故障组。具体方法参考上述实施例中S240,此处不再赘述。

S60:生成与目标故障组对应的目标路径。具体方法参考上述实施例中的S120,此处不再赘述。

S70:将目标路径与匹配库中的候选路径匹配,并获取目标修复方式。

S80:判断目标路径与候选路径是否匹配,若是,则执行S100,若否,则执行S90。

S90:对未匹配的目标路径获取目标修复方式,然后执行S100;

S100:判断所有的目标故障组是否获取目标修复方式,若是,则执行S101,若否,则执行S50。

S101:获取所需最少备用资源的目标修补方式。

如图15所示,本公开实施例的用于芯片修复的方法在备用资源不足以修复目标故障组中的故障单元时,能够及时停止,避免后续处理,节省能耗。在备用资源足够的情况下,能够获得所需最少备用资源的目标修补方式,节约备用资源,同时提高了修复的准确率。

本公开实施例的用于芯片修复的方法,通过获取目标故障组的目标路径,进而获取了故障单元的空间维度信息,能够提升故障分组的数量,例如在4*4的目标故障组内,可以生成的目标路径达到40000种,而且在理论上可以无限扩展,能够大大提升分析以及修复效率,节约时间成本,提升产能,同时基于目标路径,大大提升了修复的准确率。

综上所述,本公开实施例的用于芯片修复的方法,通过获得目标故障组的目标路径以及与目标路径匹配的目标修复方式,能够在有限的备用资源下,高效、准确地找出修补方案,减少分析的时间成本,提升产能。

本公开实施例还提供了一种用于芯片修复的装置1600,如图16所示,该装置包括确定模块1610和处理模块1620。

确定模块1610用于确定待修复芯片中的目标故障组,每个目标故障组中包括至少一个故障单元。

处理模块1620用于获得目标故障组的目标路径;处理模块1620还用于根据目标路径获得目标故障组的目标修复方式;处理模块1620还用于根据目标故障组的目标修复方式获得待修复芯片的目标修补方式。

在一些实施例中,确定模块1610还用于获得待修复芯片中的故障单元;从故障单元中确定必修复故障单元;采用备用资源修复必修复故障单元,获得剩余备用资源;对除必修复故障单元以外的剩余故障单元进行分组,获得目标故障组。如此减少了待修复芯片中的故障单元,为后续修复降低了复杂度。

在一些实施例中,确定模块1610还用于获得所述备用资源中的备用行与备用列;若所述备用列的数量大于所述备用行的数量,则获取所述待修复芯片中的必修复故障列,所述必修复故障单元包括所述必修复故障列中的故障单元,且所述必修复故障列中的故障单元的数量大于所述备用行的数量;若所述备用行的数量大于所述备用列的数量,则获取所述待修复芯片中的必修复故障行,所述必修复故障单元包括所述必修复故障行中的故障单元,且所述必修复故障行中的故障单元的数量大于所述备用列的数量。

在一些实施例中,确定模块1610还用于将具有相同行地址或相同列地址的所述剩余故障单元分为一组,获得非标准化故障组;对所述非标准化故障组进行标准化,以获得所述目标故障组。如此,降低分析以及修复的复杂度。

在一些实施例中,确定模块1610还用于构建第一非标准化故障组,并确定所述第一非标准化故障组的第一分组信息列表;获取所述第一剩余故障单元的行地址和列地址;若所述第一分组信息列表为空或所述第一分组信息列表中已存在的第二剩余故障单元的行地址或列地址与所述第一剩余故障单元的行地址或列地址相同,则将所述第一剩余故障单元的行地址和列地址添加至所述第一分组信息列表中;若所述第二剩余故障单元的行地址和列地址与所述第一剩余故障单元的行地址和列地址均不同,则新建第二非标准化故障组,并确定所述第二非标准化故障组的第二分组信息列表;其中所述非标准化故障组包括所述第一非标准化故障组和所述第二非标准化故障组,所述剩余故障单元包括所述第一剩余故障单元和所述第二剩余故障单元。

在一些实施例中,确定模块1610还用于在所述目标故障组的行方向和列方向分别按照故障单元在所述非标准化故障组中的行地址和列地址进行升序排列,以生成所述目标故障组,其中所述目标故障组中用第一值表示故障单元,第二值表示正常单元。

在一些实施例中,确定模块1610还用于确定所述非标准化故障组的最少所需备用资源;若所述剩余备用资源大于或等于所述最少所需备用资源,则对所述非标准化故障组进行标准化以获得所述目标故障组。若剩余备用资源小于所需最少备用资源,说明剩余备用资源不足以修复待修复芯片中的故障单元,停止对该待修复芯片的修复工作,以节省能耗。

在一些实施例中,处理模块1620还用于若所述目标故障组中的总故障单元数量大于1,则从所述目标故障单元中的起始故障单元开始,对所述目标故障组中的每个故障单元依序按照预设方向顺序搜索关联的故障单元,并计算从当前故障单元到关联的下一故障单元的步长,直至所述目标故障组中的所有的故障单元被遍历完全;根据从所述当前故障单元搜索到关联的所述下一故障单元的方向以及步长,获得所述目标故障组的所述目标路径。

在一些实施例中,处理模块1620还用于获得匹配库,所述匹配库包括候选路径及其对应的候选修复方式;根据所述目标路径搜索所述候选路径,从所述候选修复方式中确定所述目标修复方式。通过设置匹配库,在对待修复芯片修复时,能够根据目标路径与候选路径匹配直接获取目标修复方式,使得修复时间大幅缩减,提高分析效率,并节约功耗。

在一些实施例中,目标路径中包括与候选路径不匹配的第一目标路径,第一目标路径对应第一目标故障组,目标故障组包括第一目标故障组;处理模块1620还用于获得第一目标故障组的故障行数量m’和故障列数量n’,其中,m’和n’均为正整数;若第一目标故障组的故障列数量大于故障行数量,则采用备用资源中的备用列对第一目标故障组中的故障列修复,且备用列的数量自n’至0依修复次数递减,在每次采用备用列修复后,采用备用资源中的备用行对未被备用列修复的第一目标故障组中的剩余故障单元修复。保证能够完全修复所有的故障单元。

在一些实施例中,目标故障组包括第一目标故障组和第二目标故障组,第一目标故障组的目标修复方式包括第一级目标修复方式,第二目标故障组的修复方式包括第二级目标修复方式;第一级目标修复方式中的所需备用资源的数量相同,第二级目标修方式中的所需备用资源的数量相同。处理模块1620还用于,组合第一级目标修复方式和第二级目标修复方式,获得待修复芯片的第一所需备用行资源数量和第一所需备用列资源数量;获得剩余备用资源中的剩余备用行资源数量和剩余列资源数量;若第一所需备用行资源数量小于或等于剩余备用行资源数量,且第一所需备用列资源数量小于或等于剩余备用列资源数量,则确定目标修补方式包括第一级目标修复方式和第二级目标修复方式。能够获得所需备用资源的数量最少,节省了备用资源的使用量。

在一些实施例中,第一目标故障组还包括第三级目标修复方式,第三级目标修复方式中的所需备用资源的数量相同,且第三级目标修复方式中的所需备用资源大于第一级目标修复方式中的所需备用资源。处理模块1620还用于若第一所需备用行资源数量大于剩余备用行资源数量,或者,第一所需备用列资源数量大于剩余备用列资源数量,则组合第三级目标修方式和第二级目标修复方式,获得待修复芯片的第二所需备用行资源数量和第二所需备用列资源数量;若第二所需备用行资源数量小于或等于剩余备用行资源数量,且第二所需备用列资源数量小于或等于剩余备用列资源数量,则确定目标修补方式包括第三级目标修复方式和第二级目标修复方式。

综上所述,本公开实施例的用于芯片修复的装置,通过处理模块1620获得目标故障组的目标路径以及与目标路径匹配的目标修复方式,能够在有限的备用资源下,高效、准确地找出修补方案,减少分析的时间成本,提升产能。

本公开实施例还提供一种计算机设备。如图17所示,本公开实施例中的计算机设备可以包括一个或多个处理器1701、存储器1702和输入输出接口1703。处理器1701分别与存储器1702、输入输出接口1703连接,如图9所示,该处理器1701、存储器1702和输入输出接口1703通过总线1704连接。存储器1702用于存储计算机程序,该计算机程序包括程序指令,输入输出接口1703用于接收数据及输出数据,如用于宿主机与计算机设备之间进行数据交互,或者用于在宿主机中的各个虚拟机之间进行数据交互;处理器1701用于执行存储器1702存储的程序指令。

其中,该处理器1701可以执行如下操作:确定待修复芯片中的目标故障组,每个目标故障组中包括至少一个故障单元;获得目标故障组的目标路径;根据目标路径获得目标故障组的目标修复方式;根据目标故障组的目标修复方式获得待修复芯片的目标修补方式。

在一些可行的实施方式中,该处理器1701可以是中央处理模块1620(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器1702可以包括只读存储器和随机存取存储器,并向处理器1701和输入输出接口1703提供指令和数据。存储器1702的一部分还可以包括非易失性随机存取存储器。例如,存储器1702还可以存储设备类型的信息。

具体实现中,该计算机设备可通过其内置的各个功能模块执行如上述任一方法实施例中各个步骤所提供的实现方式,具体可参见上述方法实施例所示图中各个步骤所提供的实现方式,在此不再赘述。

本公开实施例通过提供一种计算机设备,包括处理器1701、输入输出接口1703和存储器1702,通过处理器1701获取存储器1702中的计算机程序,执行上述任一实施例中所示方法的各个步骤。

本公开实施例还提供一种计算机可读存储介质1800,如图18所示,该计算机可读存储介质1800存储有计算机程序,该计算机程序适于由该处理器1701加载并执行上述任一实施例中各个步骤所提供的用于芯片修复的方法,具体可参见该上述任一实施例中各个步骤所提供的实现方式,在此不再赘述。

另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本公开所涉及的计算机可读存储介质1800实施例中未披露的技术细节,请参照本公开方法实施例的描述。作为示例,计算机程序可被部署为在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。

该计算机可读存储介质1800可以是前述任一实施例提供的计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质1800也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart mediacard,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质1000还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质1800用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质1800还可以用于暂时地存储已经输出或者将要输出的数据。

本公开实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质1800中。计算机设备的处理器从计算机可读存储介质1800读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例中的各种可选方式中所提供的方法。

本公开实施例提供的计算机设备、计算机可读存储介质以及计算机程序产品或计算机程序,能够获得待修复芯片的目标故障组的目标路径以及与目标路径匹配的目标修复方式,能够在有限的备用资源下,高效、准确地找出修补方案,减少分析的时间成本,提升产能。

应可理解的是,本公开不将其应用限制到本说明书提出的部件的详细结构和布置方式。本公开能够具有其他实施方式,并且能够以多种方式实现并且执行。前述变形形式和修改形式落在本公开的范围内。应可理解的是,本说明书公开和限定的本公开延伸到文中和/或附图中提到或明显的两个或两个以上单独特征的所有可替代组合。所有这些不同的组合构成本公开的多个可替代方面。本说明书所述的实施方式说明了已知用于实现本公开的最佳方式,并且将使本领域技术人员能够利用本公开。

技术分类

06120115685885