一种针对晶圆检测数据的处理方法、系统及存储介质与流程

专利2024-07-04  78



1.本发明涉及晶圆检测数据分析领域,尤其涉及一种针对晶圆检测数据的处理方法、系统及存储介质。


背景技术:

2.在半导体器件的生产过程中,为了保证晶圆最终的质量,需要在晶圆的加工过程中,对晶圆的各项测试数据进行及时的分析处理(如分析晶圆缺陷的类型等)。而对于一批次的晶圆或一条生产线上的晶圆而言,所产生的晶圆检测数据量是非常庞大的。但是为了保证对晶圆产线的及时监控,又需要工作人员快速地对所获取到的晶圆检测数据作出分析处理。若不能及时对晶圆检测数据进行分析处理,可能会造成较大的良率损失。
3.为提高晶圆检测数据的处理效率,申请号为cn202010955780.0的中国专利申请公开了一种超大规模晶圆缺陷数据的特征提取方法,该方法通过减小晶圆检测数据中的数据量,以便于后续的分析。该方法虽然能够在一定程度上保证后续处理分析的效率,但该特征提取方法并没有考虑到晶圆检测数据本身的数据特点。晶圆检测数据包括各种混淆在一起的原始缺陷数据,这种基于空间密度分布的特征提取并未考虑到晶圆领域的检测数据特性,因此难以对其中的关键数据进行有效提取。相反的是,这种方法所提取出的数据可能包含有无效数据,甚至可能会漏掉过多的有效数据。因此最终得到的分析结果的准确性或可靠性也较差,甚至有可能得出完全相反的错误结论。
4.并且,基于上述特征提取方法进行的数据处理,并没有对原始的检测数据进行全面分析,难以反应出检测数据的整体特征。而在晶圆的实际生产加工过程中,某些设备故障(如零部件的细微偏移)在生产初期对晶圆影响可能很小,在特征提取过程中可能会被忽略而难以发觉。但随着时间推移微小的设备故障所造成的不良影响可能将会逐渐扩大,如果不能及时捕捉到这些信息,长此以往可能造成更大的良率损失。


技术实现要素:

5.针对上述技术问题,本发明的目的在于提供一种晶圆检测数据的处理方法,包括步骤:
6.通过任务管理端获取待处理的晶圆检测数据;
7.基于所述晶圆检测数据的参数关系特征匹配到对应的拆分规则;
8.基于所述拆分规则对所述晶圆检测数据进行拆分,得到若干第一任务块;
9.基于所述第一任务块之间的关系特征对所述第一任务块进行编排,得到至少一个子任务以及所述子任务的优先级;
10.基于所述子任务的计算量以及所述优先级,将至少一个所述子任务分配到对应的计算节点上,且所述计算节点构建于计算端的预留资源处。
11.进一步地,在一些实施例中,所述任务管理端通过心跳检测监控所述计算节点的使用情况。
12.在一些实施例中,所述子任务包括:被标记为第一优先级的至少一个第一子任务,以及被标记为第二优先级的至少一个第二子任务,相应地,所述基于所述子任务的计算量以及所述优先级,将至少一个所述子任务分配到相应的计算节点上的步骤包括:
13.将所述第一子任务分配到相应的计算节点;
14.所述计算节点对所述第一子任务进行计算并得到第一计算结果,并将所述第一计算结果反馈到所述任务管理端;
15.所述任务管理端将所述第一计算结果添加至相应的所述第二子任务中,并将所述第二子任务分配到相应的所述计算节点。
16.在一些实施例中,所述预留资源包括:固定区域以及弹性区域,相应地,所述计算节点包括:预先构建在所述固定区域的固定节点,以及可在所述弹性区域内动态地构建与销毁的弹性节点,相应地,所述处理方法还包括步骤:
17.基于所述子任务的计算量与所述固定节点的使用情况判断当前是否需要构建所述弹性节点;
18.当判断出当前需要构建所述弹性节点时,基于所述子任务的计算量与所述固定节点的使用情况确定所述弹性节点的弹性构建方案,并基于所述弹性构建方案在所述弹性区域内构建所述弹性节点。
19.在一些实施例中,所述处理方法还包括步骤:当所述弹性节点完成相应的计算任务后,销毁所述弹性节点;
20.在一些实施例中,基于所述子任务的计算量与所述固定节点的使用情况确定所述弹性节点的弹性构建方案的步骤包括:
21.获取至少两个待分配的所述子任务的计算量的最大值,并基于所述最大值确定所述弹性节点的计算阈值大小;
22.或者,在另一些实施例中,基于待分配的所述子任务的计算量分别建立相应计算阈值大小的弹性节点。
23.在一些实施例中,所述将至少一个所述子任务分配到对应的计算节点上的步骤包括:
24.获取所述子任务的计算量;
25.获取所述计算节点的计算阈值;
26.基于所述子任务的计算量与各个所述计算节点的计算阈值将所述子任务分配到对应的所述计算节点上。
27.在一些实施例中,所述拆分规则包括以下一种或多种方法:单一拆解、声明式拆分、自定义拆分。
28.在一些实施例中,所述参数关系特征包括:独立关系,和/或依赖关系,和/或复杂关系,相应地,基于所述晶圆检测数据的参数关系特征匹配到对应的拆分规则的步骤包括:
29.当各个所述晶圆检测数据的参数关系特征为独立关系时,所匹配到的所述拆分规则为单一拆解;
30.当各个所述晶圆检测数据的参数关系特征为依赖关系时,所匹配到的所述拆分规则为声明式拆分;
31.当各个所述晶圆检测数据的参数关系特征为复杂关系时,所匹配到的所述拆分规
则为自定义拆分。
32.在一些实施例中,所述自定义拆分的拆分方式包括:由工作人员进行人工设定的拆分方式,相应地,还包括步骤:
33.当所述自定义拆分中所存储的拆分方式无法完成对当前的所述晶圆检测数据的拆解时,则由工作人员基于所述晶圆检测数据的参数关系特征设定新的拆分方式。
34.本发明第二方面在于,基于上述一种晶圆检测数据的处理方法,对应地还提供了一种晶圆检测数据的处理系统,包括:任务管理端,其中,所述任务管理端包括:
35.任务获取模块,被配置为用于获取待处理的晶圆检测数据,所述晶圆检测数据包括:晶圆检测数据;
36.拆分规则匹配模块,被配置为用于基于所述晶圆检测数据的参数关系特征匹配到对应的拆分规则;
37.任务拆分模块,被配置为用于基于所述拆分规则对所述晶圆检测数据进行拆分,得到若干第一任务块;
38.任务编排模块,被配置为用于基于所述第一任务块之间的关系特征对所述第一任务块进行编排,得到至少一个子任务以及所述子任务的优先级;
39.任务分配模块,被配置为用于基于所述子任务的计算量以及所述优先级,将至少一个所述子任务分配到对应的计算节点上,其中,所述计算节点构建于计算端的预留资源处。
40.进一步地,在一些实施例中,所述参数关系特征包括:独立关系,和/或依赖关系,和/或复杂关系,所述拆分规则包括:单一拆解,和/或声明式拆分,和/或自定义拆分;且当所述参数关系特征为独立关系时,所匹配到的所述拆分规则为单一拆解;当所述参数关系特征为依赖关系时,所匹配到的所述拆分规则为声明式拆分;当所述参数关系特征为复杂关系时,所匹配到的所述拆分规则为自定义拆分。
41.本发明第三方面在于,基于上述的一种晶圆检测数据处理方法,对应地还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项实施例中所述的方法。有益技术效果
42.本发明基于晶圆检测数据的参数关系特征可以为其匹配相应的拆分规则。也即能够基于晶圆检测数据的自身特点进行第一任务块的拆分,从而保证晶圆检测数据的各项信息能够准确、完整地拆分到不同的第一任务块中,避免在拆分过程中出现信息遗漏或不必要的信息重复的问题。同时选定对应的拆分规则也便于后续的任务编排。进一步地基于任务块之间的关系特征对任务块进行重组得到各个子任务,并基于子任务之间的逻辑关系对任务处理路径进行进一步地规划,使得任务管理端以及计算端可以利用多个计算节点对部分可同时运算的子任务进行同步处理,以提高处理效率。
43.同时,由于本发明是对晶圆检测数据中的原始数据进行拆分与编排,而未减小原始数据。因此,最终所得到的处理分析结果能够更加全面地展示原始数据的特点。相较于现有技术中的局部式分析(即基于特征提取后的晶圆检测数据处理分析方式),本发明的处理方法所得出处理结果能够以原始数据为依据,较为准确、全面体现数据的整体特性。
44.进一步地,基于任务管理端对计算端的使用情况的实时监控,任务管理端可以动
态地结合当前任务分配状态与计算节点的使用情况,对计算节点(也即计算资源)进行合理的管理规划,实现子任务分配与计算节点之间的协调性。由此进一步地提高了对晶圆检测数据的处理效率。
45.进一步地,本发明中所构建的计算节点包括预先设置的固定节点,以及动态设置弹性节点(或动态节点)。也即是说,计算节点对计算端的资源占用并不是长期固定的,在实际的应用过程中,可以基于当前的数据计算需求,利用弹性空间动态地建立计算节点以满足当前计算需求。而弹性节点完成相应的计算任务,且无新分配的子任务时,则销毁相应的弹性节点以释放计算空间,避免了对计算资源的长期占用。因此,在计算端未接收到相应的子任务时,预留资源还可以供给其他任务或需求使用,以保证晶圆生产或分析中的其他任务能够顺利进行,也即提高了对计算资源的利用率。
附图说明
46.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
47.图1为本发明一示例性实施例中的方法流程示意图;
48.图2为本发明一示例性实施例中的晶圆检测数据的拆分与编排方式示意图;
49.图3为本发明一示例性实施例中计算端上的计算节点的构建方案示意图;
50.图4为本发明一示例性实施例中处理系统的模块结构示意图;
51.图5为本发明一示例性实施例中的电子设备框图。
具体实施方式
52.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
53.本文中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
54.本文中,“die”指裸片,是硅片(或晶圆)中一个很小的单位,包括了设计完整的单个芯片以及芯片邻近水平和垂直方向上的部分划片槽区域。
55.本文中,“长连接”指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
56.本文中,“短连接”是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。实施例一
57.参见图1,为本发明一示例性实施例中的一种针对晶圆检测数据的处理方法,包括步骤:
58.s02:通过任务管理端获取待处理的晶圆检测数据;
59.s04:基于晶圆检测数据的参数关系特征匹配到对应的拆分规则;
60.s06:基于拆分规则对晶圆检测数据进行拆分,得到若干第一任务块;
61.s08:基于第一任务块之间的关系特征对第一任务块进行编排,得到至少一个子任务以及子任务的优先级;
62.s10:基于子任务的计算量以及优先级,将至少一个子任务分配到对应的计算节点上,且计算节点构建于计算端的预留资源处。
63.其中,晶圆检测数据的数据量繁多,但又需要在晶圆生产加工过程中快速分析,以便于实现对晶圆加工生产过程中的有效监控。
64.进一步地,在一些实施例中,所述任务管理端通过心跳检测监控所述计算节点的使用情况。本实施例,通过对计算端处的计算节点的实时监控,进一步地保证了任务分配管理的协调性。
65.进一步地,在一些实施例中,使用情况包括:所述计算节点的占用情况,以及所述计算节点的健康状况。其中,当所述计算节点被占用时,所述占用情况还包括:计算节点的计算进度(也即子任务的完成度)以及相应的计算结果。
66.具体地,在一些实施例中,任务管理端通过接收来自计算端(具体为各个计算节点)的心跳包来判断计算端的使用情况(也即工作状态)是否正常。
67.进一步地,在一些实施例中,心跳包包括计算节点的使用情况,且使用情况包括:计算节点的占用情况及健康状况,其中,健康状况包括:健康、异常。
68.例如,在一些实例中,任务管理端通过接收来自计算节点的心跳包判断计算节点的使用情况。具体地,若超过设定时间i未收到来自计算节点a的心跳包,则认为计算节点的工作状态不正常(即健康状况为异常)并从收到最后一个计算节点a的心跳包开始计时,若在设定时间ii内接收到来自计算节点a的心跳包,则认为计算节点a工作状态正常(或恢复正常),若从收到最后一个计算节点a的心跳包开始计时,若在设定时间iii内未接收到来自计算节点a的心跳包,则任务计算节点a异常并向计算端发送表示启用新的计算节点(如计算节点b)的指令。具体地,当计算端上存在空闲计算节点时,则启用其中一个空闲计算节点用于计算计算节点a的子任务,若计算端上不存在空闲计算节点时,则在弹性区域内建立弹性节点以完成计算节点a的子任务。
69.优选地,在一些实施例中,计算端(或计算端的各个计算节点)周期性地向任务管理端发送心跳包。
70.进一步地,在一些实施例中,心跳包的发送间隔时间为预设,例如3秒1次,当任务管理端超过设定时间i如6秒未收到来计算节点的心跳包则判断相应计算节点端异常,并从收到最后一个来自该计算节点的心跳包开始计时。当然实际上计算节点具体发生了什么问题任务下管理端可能无法及时得知的,因此,为了正常推进处理进程,只能做好几手准备。
71.如果计算节点只是短暂异常,在设定时间ii例如6s内重新登录,则将相应的子任务恢复到该计算节点处。
72.如果计算节点发生了短期无法修复的故障,在设定时间ii内由任务管理端将该计算节点处的子任务分配到其他可用的计算节点处。进一步地,为了保证处理效率,强制发生异常的计算节点下线,即强制停止该计算节点的计算进程。
73.优选地,在一些实施例中,任务管理端与计算端(具体为计算端的计算节点)实时通信连接,且任务管理端可以实时获取到计算节点的使用状况,使用状况包括:计算节点的健康状况以及占用情况。例如,任务管理端可以通过心跳检测对计算端的计算节点使用状况进行实时监测,以便于对任务管理端对子任务与计算节点进行合理的分配管理。
74.优选地,在一些实施例中,对准确性和实时性要求较高的信息(数据包或心跳包)可采用长连接传输,避免信息丢失。当然,对准确性和实时性要求相对不高的信息(如数据包或心跳包)也可以采用短连接传输,由此可以减少数据传输量,提高检测数据的处理效率。
75.在一些实施例中,当两个或多个第一任务块之间的关系特征为直接关联(例如需要基于两个或多个第一任务块组合以计算出一个结果数据时),则将两个或多个第一任务块编排为一个子任务。当任意两个第一任务块之间的关系特征为无直接关联时,则对应编排为两个子任务。
76.本实施例中,基于各个第一任务块之间的关系特征(或逻辑关系)对单个的第一任务块进行重新编排得到若干子任务,并对子任务的优先级进行编辑设定,重新建立了完整的任务分析路径(也即子任务的逻辑处理顺序)。基于新建立的任务分析路径,任务管理端可以基于计算端的计算节点使用情况对子任务进行合理分配,以提高任务处理的整体效率。并且,由于任务管理端与计算端的实时通信连接,任务管理端可以对计算节点处的子任务进行回收(如当计算节点出现故障时),或对计算结果进行收集,从而对子任务的分配状态进行实时管理更新,直至运行完所有子任务并输出最终的运算分析结果。
77.换句话说,本实施例中的处理方法基于对晶圆检测数据的拆分编排、以及对计算资源的管理规划,实现了对晶圆检测数据的高效处理。
78.进一步地,在一些实施例中,子任务可以包括一个或多个第一任务块。
79.进一步地,在一些实施例中,一个子任务可以对应分配到一个或多个计算节点上。例如,当一个子任务(即初级子任务)中包括多个第一任务块时,可以将多个第一任务块分别分配到多个计算节点(如第一计算节点)处,任务管理端收集(通过心跳检测)到多个计算节点(第一计算节点)处的计算结果,并将所收集到的计算结果编排为新的子任务(即次级子任务),并将新的子任务分配到相应计算节点(如第二计算节点),相应计算节点(第二计算节点)计算得到子任务的最终结果。又例如,当一个子任务中的第一任务块计算数据量较小时,为简化管理流程,可以将该子任务直接分配到一个计算节点处进行计算。
80.进一步地,在一些实施例中,当两个或多个子任务之间为并行关系(如两个或多个子任务之间的计算结果互不干扰)时,可将两个子任务标记为同一优先级。
81.进一步地,在一些实施例中,当两个子任务之间为串行关系时,基于子任务对应的逻辑顺序,将两个子任务标记为不同的优先级。
82.如图2所示,在一具体实施例中,首先对当前获取到晶圆检测数据进行拆分得到多个任务块:任务块a、任务块b、任务块c、任务块d。其中,由于任务块a与任务块b互为直接关联,则将任务块a、b编排为第一子任务,而任务块c、任务块d互为直接关联,则将任务块编排为第二子任务。进一步地,由于第一、二子任务之间为串行关系,也即第二子任务需要基于第一子任务的第一计算结果进行启动处理。因此本实施例中将第一子任务标记为第一优先级,将第二子任务标记为第二优先级。
83.优选地,在一些实施例中,所述子任务包括:被标记为第一优先级的至少一个第一子任务,以及被标记为第二优先级的至少一个第二子任务,相应地,所述基于所述子任务的计算量以及所述优先级,将至少一个所述子任务分配到相应的计算节点上的步骤包括:
84.将所述第一子任务分配到相应的计算节点;
85.所述计算节点对所述第一子任务进行计算并得到第一计算结果,并将所述第一计算结果反馈到所述任务管理端;
86.所述任务管理端将所述第一计算结果添加至相应的所述第二子任务中,并将所述第二子任务分配到相应的所述计算节点。
87.本实施例中,任务管理端与计算端可以通过实时的通信连接实现各个子任务的收发管理。具体地,任务管理端通过心跳检测对计算端上的计算节点使用情况进行实时监测,所述使用情况包括:计算节点的计算进度、相应计算结果、计算节点的健康状况。
88.进一步地,在一些实施例中,基于第一子任务之间的逻辑顺序,可对第一子任务进行进一步地优先级划分。
89.进一步地,在一些实施例中,基于第二子任务之间的逻辑顺序,可对第二子任务进行进一步地优先级划分。
90.在一些实施例中,第一任务块可以被编排到两个或多个不同的子任务中。为了提高各个子任务的计算效率,减少数据计算量,当其中一个第一任务块被编排到两个或两个以上的子任务中时,对于相应的第一任务块仅计算一次。进一步地,由于任务管理端与计算端实时通信连接,任务管理端可以获取到相应的第一任务块的计算结果,并将获取到的计算结果发送到其他有相同计算需求的子任务中,使得其他子任务可以基于当前的计算结果直接进行运算。
91.例如,在一些实施例中,该方法可用于cp(circuit probe,晶圆针测)数据分析。具体地,在cp数据分析时,cp测试中的每颗die本身就具有多种bin(测试项目)的类型,这些bin的值来源于一个或多个测试机台。而在任务分析过程中,需要根据die的多个参数值以及具体业务要求重新定义一颗或多颗die的bin(即define bin),如对具有一定关联性的不同的bin进行合并。而define bin在庞大的测试数据中,需要非常大的计算量,无法在一次请求中直接获取响应结果。因此,可将该业务接入本实施例中的任务管理端,通过任务管理端对所有的测试数据进行分组(依据test parameter(检测参数)的属性),这批拆分后的子任务至少包含两种类型的子任务——计算define bin的任务(也即第一子任务),汇总图表结果数据的任务(也即第二子任务),这两种类型的数据中,汇总图表结果数据的任务需要依赖计算define bin的任务(也即汇总图表结果数据的任务进程需要基于define bin的任务的计算结果进行)。因此,在一众任务类型中,多个第一子任务可以同时运算处理(或第一子任务中的多个次级任务可以同时运算),以提高运算效率,而汇总图表结果数据的任务会等待所有计算define bin的任务执行结束再进行执行。
92.当然,本实施例中的处理方法可以应用于其他多类型的晶圆检测数据,例如,晶圆允许测试(wafer acceptance test)等等。
93.在一些实施例中,所述预留资源包括:固定区域以及弹性区域,相应地,所述计算节点包括:预先构建在所述固定区域的固定节点,以及可在所述弹性区域内动态地构建与销毁的弹性节点,相应地,所述处理方法还包括步骤:
94.基于所述子任务的计算量与所述固定节点的使用情况判断当前是否需要构建所述弹性节点;
95.当判断出当前需要构建所述弹性节点时,基于所述子任务的计算量与所述固定节点的使用情况确定所述弹性节点的弹性构建方案(包括:弹性节点的数量,以及弹性节点的计算阈值),并基于所述弹性构建方案在所述弹性区域内构建所述弹性节点。
96.在一些实施例中,所述处理方法还包括步骤:当所述弹性节点完成相应的计算任务后,销毁所述弹性节点。
97.在一些实施例中,基于所述子任务的计算量与所述固定节点的使用情况确定所述弹性节点的弹性构建方案的步骤包括:
98.获取至少两个待分配的所述子任务的计算量的最大值,并基于所述最大值确定所述弹性节点的计算阈值大小。本实施例中的所选用弹性构建方案适应于预留资源空间相对充足时(或弹性区域的空间相对充足),此时优选地建立计算阈值大小相同的弹性节点,便于对进行预留资源的统筹管理。
99.具体地,在一些实施例中,为了保证各个计算节点能够顺利地计算处理相应的子任务,弹性节点的计算阈值的计算方式如下;
100.m1=m2·
x
101.其中,m1为弹性节点的计算阈值,m2为待分配的子任务的计算量的最大值,x为安全系数(可由工作人员基于实际需求自行设定,例如,设置为1.1、1.05等等)。
102.或者,在另一些实施例中,若对弹性区域的资源进行平均划分(也即建立计算阈值大小相同的弹性节点),所建立的弹性节点数目无法满足当前的运算需求时,则基于待分配的所述子任务的计算量分别建立相应计算阈值大小的弹性节点。
103.进一步地,在一些实施例中,各个弹性节点的计算阈值的计算方式如下:
104.m1=m3·
x
105.其中,m1为弹性节点的计算阈值,m3为各个子任务相应的计算量,x为安全系数。
106.当然,在另一些实施例中,弹性节点的计算阈值由工作人员进行预先设定,也即当确定待分配子任务的任务数量后,直接基于任务数量与预设计算阈值构建弹性节点。
107.优选地,本实施例中的针对晶圆检测数据的处理方法可基于微服务架构与容器化技术实施。
108.为了更清楚地说明本发明的技术方案,下面以某一具体服务器的资源配置为例进行说明。
109.为了保证处理系统的安全运行,一般都会存在一部分额外的预留资源。例如,服务器总memory资源为1024gb,服务器安全memory资源上限阈值为900gb,当前服务器已使用memory为700gb,每个计算节点(包括固定节点和弹性节点)所需的memory为4gb,晶圆检测数据可用计算节点总占用memory资源(也即预留资源的可使空间)上限阈值100gb。
110.任务管理端的工作流程包括以下步骤:
111.初始化时,任务管理端向计算端(或与计算端相连的计算节点管理模块)发送相应的信号,以启动计算端上的3个固定节点(固定节点的数量可以根据需要进行配置,固定节点的设置可以保证能随时有可用待命状态的计算节点,提高运行处理效率);
112.在弹性空间的上限阈值内,基于待分配的子任务数量(也即在固定节点占用完后,
剩余的待分配子任务数量)构建相应数量的弹性节点。当然,如果有足够数量的待分配子任务,计算端处可以弹性扩容(100-4*3)/4个弹性节点;
113.当固定节点与弹性节点处理完当前子任务(如第一子任务)时,将计算结果实时反馈(例如,通过心跳检测)到任务管理端,任务管理端基于相应的计算结果进一步地对下一批子任务(如第二子任务)进行分配;
114.在弹性节点处子任务执行完后,并且再无新的子任务列表存在(或剩余的子任务无需占用所有的弹性节点时),任务管理端会向计算端(或计算节点管理模块)发送相应的销毁指令,计算端基于相应的销毁指令对构建的弹性节点进行销毁,释放弹性资源,直至计算节点个数降至设定的初始个数(或者说,直至销毁完所有的弹性节点)。
115.在一些实施例中,任务管理端可以对计算端上的计算节点进行直接管理,也可以间接地通过计算节点管理模块实现对计算端上的计算节点进行管理。
116.在一些实施例中,所述将至少一个所述子任务分配到对应的计算节点上的步骤包括:
117.获取所述子任务的计算量;
118.获取所述计算节点的计算阈值;
119.基于所述子任务的计算量与各个所述计算节点的计算阈值将所述子任务分配到对应的所述计算节点上。
120.具体地,在一些实施例中,当子任务的计算量小于或等于所述计算节点的计算阈值时,将所述子任务分配至相应的计算节点。
121.例如,在一些具体实施例中,当某一个子任务的计算量较大时,预先构建的固定节点无法满足其计算需求时,则需要根据子任务的计算量构建相应计算阈值的弹性节点。
122.优选地,在一些实施例中,所述拆分规则包括如下的一种或多种:单一拆解、声明式拆分、自定义拆分。
123.在一些实施例中,所述参数关系特征包括以下的一种或多种:独立关系、依赖关系、复杂关系。
124.例如,在一些实施例中,当任务管理端获取到相应的待处理晶圆检测数据后,可以获取到晶圆检测数据的各个参数(或参数集合)之间的特征关系(也即参数关系特征),并基于晶圆检测数据的参数关系特征匹配特定的拆分规则。
125.例如,在一些实施例中,晶圆检测数据中的各个参数(或参数集合)之间相互独立(如各个参数之间不存在特定的映射规则),在具体地数据处理过程中需要单独进行计算,此时晶圆检测数据中的参数特征关系为独立关系。
126.又例如,在一些实施例中,晶圆检测数据中的两个或多个参数之间存在一定的联系(如两个或多个参数之间存在一定的映射规则,或者,其中一个或多个参数的计算过程需要考虑到另一个或多个参数的计算结果),此时晶圆检测数据的参数关系特征为依赖关系。
127.又例如,在一些实施例中,晶圆检测数据中各个参数的交叉性较强,且难以通过ai进行智能拆分。此类晶圆检测数据的参数关系特征为复杂关系。
128.本实施例中,基于晶圆检测数据的参数关系特征可以为其匹配相应的拆分规则。也即能够基于晶圆检测数据的自身特点进行第一任务块的拆分,保证晶圆检测数据的各项信息能够准确、完整地拆分到不同的第一任务块中,避免在拆分过程中出现信息遗漏或不
必要的信息重复的问题。同时选定对应的拆分规则也便于后续的任务编排。
129.在一些实施例中,基于所述晶圆检测数据的参数关系特征匹配到对应的拆分规则的步骤包括:
130.当各个所述晶圆检测数据的参数关系特征为独立关系时,所匹配到的所述拆分规则为单一拆解。
131.在一些实施例中,基于所述晶圆检测数据的参数关系特征匹配到对应的拆分规则的步骤包括:
132.当各个所述晶圆检测数据的参数关系特征为依赖关系时,所匹配到的所述拆分规则为声明式拆分。
133.具体地,在一些实施例中,当晶圆检测数据中所获取的数据源为一个集合时,任务管理端可以基于单一拆解将输入集合的每一个元素(或参数列)拆分为对应的第一任务块。当晶圆检测数据中所获取的数据源为多个集合或键值对的形式存在,则基于声明式拆分对数据进行分类,并将每种类型的数据划分为对应的第一任务块,以作为子任务的输入项。
134.在一些实施例中,基于所述晶圆检测数据的参数关系特征匹配到对应的拆分规则的步骤包括:
135.当各个所述晶圆检测数据的参数关系特征为复杂关系时,所匹配到的所述拆分规则为自定义拆分。
136.具体地,在一些实施例中,在任务管理端设有外部接口,用于输入自定义拆分规则。
137.进一步地,在一些实施例中,所述自定义拆分的拆分方式包括:由工作人员进行人工设定的拆分方式,相应地,还包括步骤:
138.当所述自定义拆分中所存储的拆分方式无法完成对当前的所述晶圆检测数据的拆解时,则由工作人员基于所述晶圆检测数据的参数关系特征设定新的拆分方式。
139.本实施例中处理方法可以基于特定的规则对晶圆检测数据进行拆分重组,使得多个计算量更小的子任务可以分别在多个计算节点上运行计算,对单个计算节点或计算机的配置要求相对较低,通过容器化技术即可实现。
140.进一步地,在一些实施例中,还包括步骤:当计算节点发生异常时(如计算出错),重试至少一次(如三次)后会生成并向任务管理端发送异常信号,所述任务管理端基于异常信号对相应的子任务进行重新分配。具体地,异常的单个运算不会回写状态,retry(重试)3次之后会生成异常数据和通知,同时销毁容器(如弹性节点),并将计算出错的子任务分配到其他计算节点重新进行计算。实施例二
141.基于上述实施例中的晶圆检测数据的处理方法,本发明对应地还提供了一种晶圆检测数据的处理系统,包括:任务管理端。
142.优选地,在一些实施例中,如图4所示,所述任务管理端包括:
143.任务获取模块01,被配置为用于获取待处理的晶圆检测数据;
144.拆分规则匹配模块03,被配置为用于基于所述晶圆检测数据的参数关系特征匹配到对应的拆分规则;
145.任务拆分模块05,被配置为用于基于所述拆分规则对所述晶圆检测数据进行拆
分,得到若干第一任务块;
146.任务编排模块07,被配置为用于基于所述第一任务块之间的关系特征对所述第一任务块进行编排,得到至少一个子任务以及所述子任务的优先级;
147.任务分配模块09,被配置为用于基于所述子任务的计算量以及所述优先级,将至少一个所述子任务分配到对应的计算节点上,其中,所述计算节点构建于计算端的预留资源处。
148.本实施例中通过特定的拆分规则对晶圆检测数据进行拆分,得到若干任务块,并基于任务块之间的关系特征对任务块进行重组得到各个子任务,从而可以利用多个计算节点对部分可同时运算的子任务进行同步处理。本实施例所提出的处理系统可以通过对子任务与计算节点进行合理管理分配,进而有效提高晶圆检测数据的处理效率。
149.进一步地,在一些实施例中,任务管理端还包括:
150.检测模块,被配置为用于通过心跳检测监控所述计算节点的使用情况。具体地,检测模块被配置为用于通过接收计算节点的心跳包确定所述计算节点的使用情况。
151.本实施例中的处理系统基于晶圆检测数据的参数关系特征可以为其匹配相应的拆分规则。也即能够基于晶圆检测数据的自身特点进行第一任务块的拆分,从而保证晶圆检测数据的各项信息能够准确、完整地拆分到不同的第一任务块中,避免在拆分过程中出现信息遗漏或不必要的信息重复的问题。同时选定对应的拆分规则也便于后续的任务编排。进一步地基于任务块之间的关系特征对任务块进行重组得到各个子任务,并基于子任务之间的逻辑关系对任务处理路径进行进一步地规划,使得任务管理端以及计算端可以利用多个计算节点对部分可同时运算的子任务进行同步处理,以提高处理效率。
152.也即是说,本实施例中的处理系统基于对晶圆检测数据的拆分编排、以及对计算资源(如计算节点)的管理规划,实现了对晶圆检测数据的高效处理。
153.进一步地,在一些实施例中,任务分配模块09进一步地包括:
154.第一任务分配单元,被配置为用于将第一子任务分配到相应的计算节点;
155.第一通信单元,被配置为用于与计算节点实时通信,且当所述计算节点对所述第一子任务进行计算并得到第一计算结果时,实时获取到对应的所述第一计算结果;
156.第二任务分配单元,被配置为用于将所述第一计算结果添加至相应的所述第二子任务中,并将所述第二子任务分配到相应的所述计算节点。
157.可以理解的是,上述第一任务分配单元与第二任务分配单元的功能可以通过一个单元或模块实现,也可以通过两个独立的单元或模块实现。
158.进一步地,在一些实施例中,如图3所示,该处理系统还包括:与任务管理端相连的计算端,且所述计算端上包括:可用于处理晶圆检测数据的预留资源。
159.进一步地,在一些实施例中,计算端还包括:心跳包发送模块,被配置为用于向任务管理端发送心跳包。
160.进一步地,在一些实施例中,心跳包包括:计算节点的使用情况。
161.进一步地,在一些实施例中,使用情况包括:计算节点的占用情况及健康状况,其中,健康状况包括:健康、异常。
162.进一步地,在一些实施例中,预留资源包括:固定区域以及弹性区域,相应地,所述计算节点包括:预先构建在所述固定区域的固定节点,以及可在所述弹性区域内动态地构
建与销毁的弹性节点。对应地,所述处理系统还包括:计算节点管理模块,被配置为用于管理计算节点的使用情况。
163.在一些实施例中,计算节点管理模块进一步地包括:
164.第一判断单元,被配置为用于基于所述子任务的计算量与所述固定节点的使用情况判断当前是否需要构建所述弹性节点;
165.节点构建单元,被配置为用于当判断出当前需要构建所述弹性节点时,基于所述子任务的计算量与所述固定节点的使用情况确定所述弹性节点的弹性构建方案,并基于所述弹性构建方案在所述弹性区域内构建所述弹性节点。具体地,基于剩余的待分配子任务确定弹性节点的构建方案。例如,基于剩余的待分配子任务的任务数量和计算量确定弹性构建方案。
166.其中,使用情况包括:计算节点的占用情况,以及计算节点的健康状况;进一步地包括:固定节点的占用数量或固定节点的空闲数量。
167.可以理解的是,在一些实施例中,检测模块与第一通信单元可以通过单个通信模块或通信元件实施。或者,在另一些实施例中,也可以通过不同的通行通信模块或通信元件实施。
168.在一些实施例中,计算节点管理模块进一步地还包括:
169.节点销毁单元,被配置为用于当所述弹性节点完成相应的计算任务后,销毁所述弹性节点。
170.在一些实施例中,节点构建单元进一步地包括:
171.第一子单元,被配置为用于获取至少两个待分配的所述子任务的计算量的最大值,并基于所述最大值确定所述弹性节点的计算阈值大小。
172.在一些实施例中,节点构建单元进一步地包括:
173.第二子单元,被配置为用于基于待分配的所述子任务的计算量分别建立相应计算阈值大小的弹性节点。
174.在一些实施例中,第一任务分配单元进一步地包括:
175.第一子任务管理子单元,被配置为用于获取所述子任务的计算量;
176.第一计算节点信息获取子单元,被配置为用于获取所述计算节点的计算阈值;
177.第一任务分配子单元,被配置为用于基于所述子任务的计算量与各个所述计算节点的计算阈值将所述子任务分配到对应的所述计算节点上。
178.在一些实施例中,第二任务分配单元的功能模块配置与第一任务分配单元相同,此处不再赘述。
179.在一些实施例中,晶圆检测数据的参数关系特征包括:独立关系,和/或依赖关系,和/或复杂关系,相应地,当各个晶圆检测数据的参数关系特征为独立关系时,所匹配到的拆分规则为单一拆解;当各个晶圆检测数据的参数关系特征为依赖关系时,所匹配到的拆分规则为声明式拆分;当各个晶圆检测数据的参数关系特征为复杂关系时,所匹配到的拆分规则为自定义拆分。
180.进一步地,在一些实施例中,所述自定义拆分的拆分方式包括:由工作人员进行人工设定的拆分方式,相应地,任务拆分模块进一步地包括:自定义拆分单元,被配置为用于当所述自定义拆分中所存储的拆分方式无法完成对当前的所述晶圆检测数据的拆解时,则
获取由工作人员基于所述晶圆检测数据的参数关系特征设定新的拆分方式,并基于相应的拆分方式对晶圆检测数据进行拆解。实施例三
181.本发明的第三方面在于,提供了一种电子设备,包括存储器502、处理器501及存储在存储器502上并可在处理器501上运行的计算机程序,所述处理器501执行所述程序时实现前文所述方法的步骤。为了便于说明,仅示出了与本说明书实施例相关的部分,具体技术细节未揭示的,请参照本说明书实施例方法部分。该电子设备,可以是包括各种电子设备,pc电脑、网络云服务器,甚至手机、平板电脑、pda(personal digital assistant,个人数字助理)、pos(point of sales,销售终端)、车载电脑、台式电脑等任意电子设备。
182.具体地,图5是本发明一示例性实施例的的电子设备组成结构框图。总线500可以包括任意数量的互联的总线500和桥,其将包括由处理器501代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线500还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。通信接口503在总线和接收器和/或发送器504之间提供接口,接收器和/或发送器504可以是分开独立的接收器或发送器504也可以是同一个元件如收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器501负责管理总线500和通常的处理,而存储器502可以被用于存储处理器501在执行操作时所使用的数据。
183.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
184.所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
185.可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
186.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读存储介质可以实现上述任一方法步骤。例如,使得该计算
机可读介质实现如下功能:通过任务管理端获取待处理的晶圆检测数;基于晶圆检测数据的参数关系特征匹配到对应的拆分规则;基于拆分规则对晶圆检测数据进行拆分,得到若干第一任务块;基于第一任务块之间的关系特征对第一任务块进行编排,得到至少一个子任务以及子任务的优先级;基于子任务的计算量以及优先级,将至少一个子任务分配到对应的计算节点上,且计算节点构建于计算端的预留资源处;其中,所述参数关系特征包括:独立关系,和/或依赖关系,和/或复杂关系,所述拆分规则包括:单一拆解,和/或声明式拆分,和/或自定义拆分,相应地,基于所述晶圆检测数据的参数关系特征匹配到对应的拆分规则的步骤包括:当所述晶圆检测数据的参数关系特征为独立关系时,所匹配到的所述拆分规则为单一拆解;当所述晶圆检测数据的参数关系特征为依赖关系时,所匹配到的所述拆分规则为声明式拆分;当所述晶圆检测数据的参数关系特征为复杂关系时,所匹配到的所述拆分规则为自定义拆分。
187.本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
188.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
189.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

技术特征:
1.一种针对晶圆检测数据的处理方法,其特征在于,包括步骤:通过任务管理端获取待处理的晶圆检测数据;基于所述晶圆检测数据的参数关系特征匹配到对应的拆分规则;基于所述拆分规则对所述晶圆检测数据进行拆分,得到若干第一任务块;基于所述第一任务块之间的关系特征对所述第一任务块进行编排,得到至少一个子任务以及所述子任务的优先级;基于所述子任务的计算量以及所述优先级,将至少一个所述子任务分配到对应的计算节点上,且所述计算节点构建于计算端的预留资源处;其中,所述参数关系特征包括:独立关系,和/或依赖关系,和/或复杂关系,所述拆分规则包括:单一拆解,和/或声明式拆分,和/或自定义拆分,相应地,基于所述晶圆检测数据的参数关系特征匹配到对应的拆分规则的步骤包括:当所述晶圆检测数据的参数关系特征为独立关系时,所匹配到的所述拆分规则为单一拆解;当所述晶圆检测数据的参数关系特征为依赖关系时,所匹配到的所述拆分规则为声明式拆分;当所述晶圆检测数据的参数关系特征为复杂关系时,所匹配到的所述拆分规则为自定义拆分。2.根据权利要求1所述的处理方法,其特征在于,所述任务管理端通过心跳检测监控所述计算节点的使用情况。3.根据权利要求1所述的处理方法,其特征在于,所述子任务包括:被标记为第一优先级的至少一个第一子任务,以及被标记为第二优先级的至少一个第二子任务,相应地,所述基于所述子任务的计算量以及所述优先级,将至少一个所述子任务分配到相应的计算节点上的步骤包括:将所述第一子任务分配到相应的所述计算节点;所述计算节点对所述第一子任务进行计算并得到第一计算结果,并将所述第一计算结果反馈到所述任务管理端;所述任务管理端将所述第一计算结果添加至相应的所述第二子任务中,并将所述第二子任务分配到相应的所述计算节点。4.根据权利要求1所述的处理方法,其特征在于,所述预留资源包括:固定区域以及弹性区域,相应地,所述计算节点包括:预先构建在所述固定区域的固定节点,以及可在所述弹性区域内动态地构建与销毁的弹性节点,相应地,所述处理方法还包括步骤:基于所述子任务的计算量与所述固定节点的使用情况判断当前是否需要构建所述弹性节点;当判断出当前需要构建所述弹性节点时,基于所述子任务的计算量与所述固定节点的使用情况确定所述弹性节点的弹性构建方案,并基于所述弹性构建方案在所述弹性区域内构建所述弹性节点。5.根据权利要求4所述的处理方法,其特征在于,所述处理方法还包括步骤:当所述弹性节点完成相应的计算任务后,销毁所述弹性节点。6.根据权利要求4所述的处理方法,其特征在于,基于所述子任务的计算量与所述固定节点的使用情况确定所述弹性节点的弹性构建方案的步骤包括:获取至少两个待分配的所述子任务的计算量的最大值,并基于所述最大值确定所述弹
性节点的计算阈值大小;或者,基于待分配的所述子任务的计算量分别建立相应计算阈值大小的弹性节点。7.根据权利要求1所述的处理方法,其特征在于,所述将至少一个所述子任务分配到对应的计算节点上的步骤包括:获取所述子任务的计算量;获取所述计算节点的计算阈值;基于所述子任务的计算量与各个所述计算节点的计算阈值将所述子任务分配到对应的所述计算节点上。8.根据权利要求1所述的处理方法,其特征在于,所述自定义拆分的拆分方式包括:由工作人员进行人工设定的拆分方式,相应地,还包括步骤:当所述自定义拆分中所存储的拆分方式无法完成对当前的所述晶圆检测数据的拆解时,则由工作人员基于所述晶圆检测数据的参数关系特征设定新的拆分方式。9.一种针对晶圆检测数据的处理系统,其特征在于,包括:任务管理端,其中,所述任务管理端包括:任务获取模块,被配置为用于获取待处理的晶圆检测数据,所述晶圆检测数据包括:晶圆检测数据;拆分规则匹配模块,被配置为用于基于所述晶圆检测数据的参数关系特征匹配到对应的拆分规则;其中,所述参数关系特征包括:独立关系,和/或依赖关系,和/或复杂关系,所述拆分规则包括:单一拆解,和/或声明式拆分,和/或自定义拆分;且当所述参数关系特征为独立关系时,所匹配到的所述拆分规则为单一拆解;当所述参数关系特征为依赖关系时,所匹配到的所述拆分规则为声明式拆分;当所述参数关系特征为复杂关系时,所匹配到的所述拆分规则为自定义拆分;任务拆分模块,被配置为用于基于所述拆分规则对所述晶圆检测数据进行拆分,得到若干第一任务块;任务编排模块,被配置为用于基于所述第一任务块之间的关系特征对所述第一任务块进行编排,得到至少一个子任务以及所述子任务的优先级;任务分配模块,被配置为用于基于所述子任务的计算量以及所述优先级,将至少一个所述子任务分配到对应的计算节点上,且所述计算节点构建于计算端的预留资源处。10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8中任一项所述的方法。

技术总结
本发明涉及一种针对晶圆检测数据的处理方法,包括步骤:通过任务管理端获取待处理的晶圆检测数据;基于晶圆检测数据的参数关系特征匹配到对应的拆分规则;基于拆分规则对晶圆检测数据进行拆分,得到若干第一任务块;基于第一任务块之间的关系特征对第一任务块进行编排,得到至少一个子任务以及子任务的优先级;基于子任务的计算量以及优先级,将至少一个子任务分配到对应的计算节点上,且计算节点构建于计算端的预留资源处。本发明对应地还提供了一种针对晶圆检测数据的处理系统以及计算可读存储介质。本发明所提供的方法、系统及存储介质可以高效地处理晶圆检测数据。存储介质可以高效地处理晶圆检测数据。存储介质可以高效地处理晶圆检测数据。


技术研发人员:陈建东 刘迪 徐高亮 熊茂
受保护的技术使用者:上海众壹云计算科技有限公司
技术研发日:2022.06.22
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-8510.html

最新回复(0)