半导体加工设备的物料调度方法和装置转让专利

申请号 : CN202110457592.X

文献号 : CN112987674B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 崔琳史思雪刘慕雅

申请人 : 北京北方华创微电子装备有限公司

摘要 :

本发明实施例提供一种半导体加工设备的物料调度方法和装置,该方法包括以下步骤:S1、建立物料列表;S2、根据工艺配方和物料列表建立第一调度任务列表;S3、向求解器输入第一调度任务列表,利用求解器计算并输出执行第一调度任务列表中所有的物料调度任务花费时长最短的最优调度结果,并对最优调度结果解析获得所有物料的移动序列。本发明实施例提供一种半导体加工设备的物料调度方法和装置的技术方案,不仅可以得到全局最优调度结果,而且可以提高计算速度,从而可以实现实时得到最优调度结果。

权利要求 :

1.一种半导体加工设备的物料调度方法,其特征在于,包括以下步骤:S1、建立物料列表,所述物料列表包括多个不同的工艺配方对应的物料组,每个所述物料组包括多个物料,多个所述物料被划分成多个物料分组,每个所述物料分组包括至少一个所述物料;

S2、根据所述工艺配方和所述物料列表建立第一调度任务列表,所述第一调度任务列表包括多个物料调度任务组,所述物料组与所述物料调度任务组一一对应,每个所述物料调度任务组包括多个物料调度任务分组,所述物料分组与所述物料调度任务分组一一对应;每个所述物料调度任务分组包括至少一个物料调度任务;

S3、向求解器输入所述第一调度任务列表,利用所述求解器计算并输出执行所述第一调度任务列表中所有的所述物料调度任务花费时长最短的最优调度结果,并对所述最优调度结果解析获得所有物料的移动序列;

所述步骤S3,包括:

S31、按第一预设规则从所述第一调度任务列表中选取指定数量的所述物料调度任务分组,组成第二调度任务列表;

S32、从所述第一调度任务列表中删除已选取的所述物料调度任务分组;

S33、向所述求解器输入所述第二调度任务列表,利用所述求解器计算并输出所述第二调度任务列表中所有的所述物料调度任务花费时长最短的子最优调度结果,并对所述子最优调度结果解析获得所述第二调度任务列表中所有物料的子移动序列;

S34、将所述子最优调度结果中最早完成的物料调度任务分组对应的结束时间点设定为补料时间点,并从所述子移动序列中筛选出在所述补料时间点以前的部分作为输出序列,且存储该输出序列;

S35、判断所述第一调度任务列表中是否还有所述物料调度任务分组,若有,则执行所述步骤S36;若没有,则执行所述步骤S38;

S36、从所述第二调度任务列表中删除所述最早完成的物料调度任务分组;

S37、按第二预设规则,重新选取一所述物料调度任务分组,并将重新选取的所述物料调度任务分组插入所述第二调度任务列表,然后返回所述步骤S32;

S38、将当前的所述子移动序列和之前存储所有的所述输出序列拼接成所述移动序列。

2.根据权利要求1所述的物料调度方法,其特征在于,所述第一预设规则包括:从各个所述物料调度任务组中选取数量相同的所述物料调度任务分组;

其中,从各个所述物料调度任务组中选取的所述物料调度任务分组的数量等于所述指定数量与所述工艺配方的数量的比值。

3.根据权利要求2所述的物料调度方法,其特征在于,所述第二预设规则包括:从所述第一调度任务列表中所述最早完成的物料调度任务分组对应的物料调度任务组中选取一物料调度任务分组,将该物料调度任务分组插入在所述第二调度任务列表中与所述最早完成的物料调度任务分组属于同一物料调度任务组的物料调度任务分组的最后;

若所述第一调度任务列表中所述最早完成的物料调度任务分组对应的物料调度任务组中已没有物料调度任务分组,则从所述第二物料列表中其他物料调度任务分组对应的物料调度任务组中选取一物料调度任务分组,将该物料调度任务分组插入在所述第二物料列表中与之属于同一物料调度任务组的物料调度任务分组的最后。

4.根据权利要求1所述的物料调度方法,其特征在于,每个所述物料调度任务分组中的多个所述物料调度任务包括加工物料的加工任务和传输物料的传输任务;

在所述步骤S34中,在所述子最优调度结果中,对于所述最早完成的物料调度任务分组,在其结束时间点,若其他的物料调度任务分组中有未完成的所述传输任务,则将完成所有的所述传输任务的结束时间点设定为所述补料时间点;

若其他的物料调度任务分组中没有未完成的所述传输任务,则将所述最早完成的物料调度任务分组的结束时间点设定为所述补料时间点。

5.根据权利要求1所述的物料调度方法,其特征在于,所述物料调度方法还包括:累计各个工艺腔室执行同一物料调度任务组中各所述物料调度任务分组中为加工任务的物料调度任务的次数;

判断各个所述工艺腔室的所述次数是否达到该物料调度任务组对应的工艺配方中预设的最大次数;

若达到,则在该物料调度任务组中的对应位置处插入为腔室清洗任务的物料调度任务。

6.根据权利要求1所述的物料调度方法,其特征在于,所述物料调度任务分组中的多个所述物料调度任务包括加工物料的加工任务和传输物料的传输任务;

在所述步骤S3中,所述求解器计算所述最优调度结果所述采用的数学模型的约束条件包括:

每个所述加工任务的结束时间点等于该加工任务的开始时间点、物料加工时长和物料在工艺腔室中的驻留时长之和;

对于每个所述物料调度任务组中任意相邻的两个所述物料调度任务分组,排列在后面的所述物料调度任务分组的开始时间点即为排列在前面的所述物料调度任务分组的结束时间点;

每个所述工艺腔室在同一时间段内只能执行一个所述加工任务;

若每个所述物料调度任务分组中的多个所述加工任务对应的工艺腔室之间是并列执行的关系,则每个所述加工任务对应一个所述工艺腔室;

所述传输任务包括物料的取出任务和放入任务,同一所述物料调度任务分组的所述取出任务和所述放入任务由同一机械手执行;

对于同一工艺腔室,每个物料的所述放入任务的开始时间点晚于上一个所述物料的所述取出任务的结束时间点;

在同一时间段内,用于传输物料的传输装置中只有一个手臂在执行所述取出任务或所述放入任务。

7.根据权利要求1所述的物料调度方法,所述步骤S1,包括:S11,将多个物料按不同的片盒进行分配;

S12,将同一所述片盒中的物料按不同的所述工艺配方划分成多个所述物料组;

S13,将同一所述物料组中的多个所述物料按预设原则划分成多个所述物料分组。

8.根据权利要求7所述的物料调度方法,所述预设原则包括:根据各个工艺腔室之间是并行关系还是串行关系,以及各个工艺腔室是否开启禁用功能,将同一所述物料组中的多个所述物料划分成多个所述物料分组;

其中,所述并行关系是指多个工艺腔室同时进行加工;所述串行关系是指多个工艺腔室按指定顺序依次进行加工;所述禁用功能是指在一时间段内禁用所述工艺腔室中的至少一个工艺位。

9.一种半导体加工设备的物料调度装置,其特征在于,包括:物料列表模块,用于建立物料列表,所述物料列表包括多个不同的工艺配方对应的物料组,每个所述物料组包括多个物料,多个所述物料被划分成多个物料分组,每个所述物料分组包括至少一个所述物料;

调度列表模块,用于根据所述工艺配方和所述物料列表建立并输出第一调度任务列表,所述第一调度任务列表包括多个物料调度任务组,所述物料组与所述物料调度任务组一一对应,每个所述物料调度任务组包括多个物料调度任务分组,所述物料分组与所述物料调度任务分组一一对应;每个所述物料调度任务分组包括至少一个物料调度任务;以及求解器,用于接收所述第一调度任务列表,计算并输出执行所述第一调度任务列表中所有的所述物料调度任务花费时长最短的最优调度结果,并对所述最优调度结果解析获得所有物料的移动序列;

所述调度列表模块还用于:按第一预设规则从所述第一调度任务列表中选取指定数量的所述物料调度任务分组,组成第二调度任务列表;从所述第一调度任务列表中删除已选取的所述物料调度任务分组;

所述求解器还用于接收所述第二调度任务列表,计算并输出所述第二调度任务列表中所有的所述物料调度任务花费时长最短的子最优调度结果,并对所述子最优调度结果解析获得所述第二调度任务列表中所有物料的子移动序列;

所述调度列表模块还用于:将所述子最优调度结果中最早完成的物料调度任务分组对应的结束时间点设定为补料时间点,并从所述子移动序列中筛选出在所述补料时间点以前的部分作为输出序列,且存储该输出序列;判断所述第一调度任务列表中是否还有所述物料调度任务分组,若有,则从所述第二调度任务列表中删除所述最早完成的物料调度任务分组;按第二预设规则,重新选取一所述物料调度任务分组,并将重新选取的所述物料调度任务分组插入所述第二调度任务列表,然后返回所述从所述第一调度任务列表中删除已选取的所述物料调度任务分组的步骤;若没有,则将当前的所述子移动序列和之前存储所有的所述输出序列拼接成所述移动序列。

说明书 :

半导体加工设备的物料调度方法和装置

技术领域

[0001] 本发明涉及半导体制造领域,具体地,涉及一种半导体加工设备的物料调度方法和装置。

背景技术

[0002] 在使用半导体加工设备对多个物料(例如晶圆)进行加工的过程中,需要将每个物料从装卸载位按照指定路径传入工艺腔室进行加工,并在加工完成后返回装卸载位,而且
在同一时间内会存在多个物料同时调度的需求。
[0003] 为了实现物料调度的最优化,现有的物料调度方法是一种基于搜索树的枚举方法,具体是根据设定的物料传输路径以及设备中的各部件参数(例如,机械手传片时间),采
用搜索树的方式将物料可能的所有移动顺序穷举一遍,并从搜索结果中选择时间最短的分
支作为物料的移动顺序。但是,由于全局搜索会耗费大量时间,导致无法实时得到最优调度
结果。
[0004] 还有一种物料调度方法是采用N步分段调度策略,即:指定一个包含物料移动N步的搜索范围,采用指定算法模拟N步之内的物料调度结果,并对该物料调度结果进行评价,
然后根据评价结果选择最优的路径作为物料的移动顺序。但是,由于该方法不是全局搜索,
只能得到局部最优调度结果,无法保证是全局最优调度结果,在某些情况下可能会造成资
源浪费,降低了设备产能。

发明内容

[0005] 本发明旨在至少解决现有技术中存在的技术问题之一,提出了一种半导体加工设备的物料调度方法和装置,其不仅可以得到全局最优调度结果,而且可以提高计算速度,从
而可以实现实时得到最优调度结果。
[0006] 为实现本发明的目的而提供一种半导体加工设备的物料调度方法,包括以下步骤:
[0007] S1、建立物料列表,所述物料列表包括多个不同的工艺配方对应的物料组,每个所述物料组包括多个物料,多个所述物料被划分成多个物料分组,每个所述物料分组包括至
少一个所述物料;
[0008] S2、根据所述工艺配方和所述物料列表建立第一调度任务列表,所述第一调度任务列表包括多个物料调度任务组,所述物料组与所述物料调度任务组一一对应,每个所述
物料调度任务组包括多个物料调度任务分组,所述物料分组与所述物料调度任务分组一一
对应;每个所述物料调度任务分组包括至少一个物料调度任务;
[0009] S3、向求解器输入所述第一调度任务列表,利用所述求解器计算并输出执行所述第一调度任务列表中所有的所述物料调度任务花费时长最短的最优调度结果,并对所述最
优调度结果解析获得所有物料的移动序列。
[0010] 可选的,所述步骤S3,包括:
[0011] S31、按第一预设规则从所述第一调度任务列表中选取指定数量的所述物料调度任务分组,组成第二调度任务列表;
[0012] S32、从所述第一调度任务列表中删除已选取的所述物料调度任务分组;
[0013] S33、向所述求解器输入所述第二调度任务列表,利用所述求解器计算并输出所述第二调度任务列表中所有的所述物料调度任务花费时长最短的子最优调度结果,并对所述
子最优调度结果解析获得所述第二调度任务列表中所有物料的子移动序列;
[0014] S34、将所述子最优调度结果中最早完成的物料调度任务分组对应的结束时间点设定为补料时间点,并从所述子移动序列中筛选出在所述补料时间点以前的部分作为输出
序列,且存储该输出序列;
[0015] S35、判断所述第一调度任务列表中是否还有所述物料调度任务分组,若有,则执行所述步骤S36;若没有,则执行所述步骤S38;
[0016] S36、从所述第二调度任务列表中删除所述最早完成的物料调度任务分组;
[0017] S37、按第二预设规则,重新选取一所述物料调度任务分组,并将重新选取的所述物料调度任务分组插入所述第二调度任务列表,然后返回所述步骤S32;
[0018] S38、将当前的所述子移动序列和之前存储所有的所述输出序列拼接成所述移动序列。
[0019] 可选的,所述第一预设规则包括:
[0020] 从各个所述物料调度任务组中选取数量相同的所述物料调度任务分组;
[0021] 其中,从各个所述物料调度任务组中选取的所述物料调度任务分组的数量等于所述指定数量与所述工艺配方的数量的比值。
[0022] 可选的,所述第二预设规则包括:
[0023] 从所述第一调度任务列表中所述最早完成的物料调度任务分组对应的物料调度任务组中选取一物料调度任务分组,将该物料调度任务分组插入在所述第二调度任务列表
中与所述最早完成的物料调度任务分组属于同一物料调度任务组的物料调度任务分组的
最后;
[0024] 若所述第一调度任务列表中所述最早完成的物料调度任务分组对应的物料调度任务组中已没有物料调度任务分组,则从所述第二物料列表中其他物料调度任务分组对应
的物料调度任务组中选取一物料调度任务分组,将该物料调度任务分组插入在所述第二物
料列表中与之属于同一物料调度任务组的物料调度任务分组的最后。
[0025] 可选的,每个所述物料调度任务分组中的多个所述物料调度任务包括加工物料的加工任务和传输物料的传输任务;
[0026] 在所述步骤S34中,在所述子最优调度结果中,对于所述最早完成的物料调度任务分组,在其结束时间点,若其他的物料调度任务分组中有未完成的所述传输任务,则将完成
所有的所述传输任务的结束时间点设定为所述补料时间点;
[0027] 若其他的物料调度任务分组中没有未完成的所述传输任务,则将所述最早完成的物料调度任务分组的结束时间点设定为所述补料时间点。
[0028] 可选的,所述物料调度方法还包括:
[0029] 累计各个工艺腔室执行同一物料调度任务组中各所述物料调度任务分组中为加工任务的物料调度任务的次数;
[0030] 判断各个所述工艺腔室的所述次数是否达到该物料调度任务组对应的工艺配方中预设的最大次数;
[0031] 若达到,则在该物料调度任务组中的对应位置处插入为腔室清洗任务的物料调度任务。
[0032] 可选的,所述物料调度任务分组中的多个所述物料调度任务包括加工物料的加工任务和传输物料的传输任务;
[0033] 在所述步骤S3中,所述求解器计算所述最优调度结果所述采用的数学模型的约束条件包括:
[0034] 每个所述加工任务的结束时间点等于该加工任务的开始时间点、物料加工时长和物料在工艺腔室中的驻留时长之和;
[0035] 对于每个所述物料调度任务组中任意相邻的两个所述物料调度任务分组,排列在后面的所述物料调度任务分组的开始时间点即为排列在前面的所述物料调度任务分组的
结束时间点;
[0036] 每个所述工艺腔室在同一时间段内只能执行一个所述加工任务;
[0037] 若每个所述物料调度任务分组中的多个所述加工任务对应的工艺腔室之间是并列执行的关系,则每个所述加工任务对应一个所述工艺腔室;
[0038] 所述传输任务包括物料的取出任务和放入任务,同一所述物料调度任务分组的所述取出任务和所述放入任务由同一机械手执行;
[0039] 对于同一工艺腔室,每个物料的所述放入任务的开始时间点晚于上一个所述物料的所述取出任务的结束时间点;
[0040] 在同一时间段内,用于传输物料的传输装置中只有一个手臂在执行所述取出任务或所述放入任务。
[0041] 可选的,所述步骤S1,包括:
[0042] S11,将多个物料按不同的片盒进行分配;
[0043] S12,将同一所述片盒中的物料按不同的所述工艺配方划分成多个所述物料组;
[0044] S13,将同一所述物料组中的多个所述物料按预设原则划分成多个所述物料分组。
[0045] 可选的,所述预设原则包括:
[0046] 根据各个工艺腔室之间是并行关系还是串行关系,以及各个工艺腔室是否开启禁用功能,将同一所述物料组中的多个所述物料划分成多个所述物料分组;
[0047] 其中,所述并行关系是指多个工艺腔室同时进行加工;所述串行关系是指多个工艺腔室按指定顺序依次进行加工;所述禁用功能是指在一时间段内禁用所述工艺腔室中的
至少一个工艺位。
[0048] 作为另一个技术方案,本发明实施例还提供一种半导体加工设备的物料调度装置,包括:
[0049] 物料列表模块,用于建立物料列表,所述物料列表包括多个不同的工艺配方对应的物料组,每个所述物料组包括多个物料,多个所述物料被划分成多个物料分组,每个所述
物料分组包括至少一个所述物料;
[0050] 调度列表模块,用于根据所述工艺配方和所述物料列表建立并输出第一调度任务列表,所述第一调度任务列表包括多个物料调度任务组,所述物料组与所述物料调度任务
组一一对应,每个所述物料调度任务组包括多个物料调度任务分组,所述物料分组与所述
物料调度任务分组一一对应;每个所述物料调度任务分组包括至少一个物料调度任务;以

[0051] 求解器,用于接收所述第一调度任务列表,计算并输出执行所述第一调度任务列表中所有的所述物料调度任务花费时长最短的最优调度结果,并对所述最优调度结果解析
获得所有物料的移动序列。
[0052] 本发明具有以下有益效果:
[0053] 本发明实施例提供的半导体加工设备的物料调度方法和装置的技术方案,包括:S1、建立物料列表,该物料列表包括多个不同的工艺配方对应的物料组,每个物料组中的多
个物料被划分成多个物料分组,每个物料分组包括至少一个物料;S2、根据工艺配方和物料
列表建立第一调度任务列表,该第一调度任务列表包括多个物料调度任务组,物料组与物
料调度任务组一一对应,每个物料调度任务组包括多个物料调度任务,物料分组与物料调
度任务一一对应;S3、向求解器输入第一调度任务列表,利用该求解器计算并输出执行第一
调度任务列表中所有的物料调度任务花费时长最短的最优调度结果,并对最优调度结果解
析获得所有物料的移动序列。本发明实施例采用的上述物料调度方法基于上述求解器计算
最优调度结果,这与基于搜索树的枚举方法相比,不仅可以得到全局最优调度结果,而且由
于求解器只需输入相关参数就可以直接得到输出结果,省去了大量中间过程,从而可以提
高计算速度,进而可以实现实时得到最优调度结果。

附图说明

[0054] 图1为一种半导体加工设备的结构示意图;
[0055] 图2为半导体加工设备中的装卸载腔室的结构示意图;
[0056] 图3为本发明第一实施例提供的半导体加工设备的物料调度方法的流程框图;
[0057] 图4为本发明第一实施例中的步骤S1的流程框图;
[0058] 图5为本发明第一实施例中的步骤S3的流程框图;
[0059] 图6为本发明第二实施例提供的半导体加工设备的物料调度装置的原理框图。

具体实施方式

[0060] 为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图来对本发明实施例提供的半导体加工设备的物料调度方法和装置进行详细描述。
[0061] 半导体加工设备用于对物料(例如晶圆)进行加工,以图1和图2示出的一种应用于去胶工艺的半导体加工设备为例,该半导体加工设备为集簇型设备,具体地,该设备主要包
括传输腔室1、三个工艺腔室(21,22,23)、装卸载腔室(Load Lock)3、过渡腔室4和三个装卸
载位(51,52,53)。
[0062] 其中,三个工艺腔室(21,22,23)环绕在传输腔室1的周围,用于对物料进行工艺加工,每个工艺腔室中包括两个工艺位,这两个工艺位可以同时加工;或者,也可以在同一时
间段内禁用其中一个工艺位,而另一个工艺位单独进行工艺加工,这种禁用方式称为ST禁
用。在实际应用中,可以同时进行加工的多个工艺腔室之间的关系称为并行关系,此种情况
下,物料可以进入任意一个工艺腔室进行加工;按指定顺序依次加工的多个工艺腔室之间
的关系称为串行关系,此种情况下,物料需要按指定路径以上述指定顺序依次进入多个工
艺腔室进行加工。
[0063] 传输腔室1中设置有真空机械手(VTR),用以在各个工艺腔室与装卸载腔室3之间传输物料;该真空机械手具有两个机械手臂(Dirty手和Clean手),每个机械手臂均具有两
个取片位,共四个取片位。其中,Dirty手用于抓取未工艺的物料,Clean手用于抓取已工艺
的物料。
[0064] 如图2所示,装卸载腔室3中设置有两个冷却位(31,33)和两个校准位(32,34),其中,校准位(Aligner Station)用于在物料传入工艺腔室之前,对物料进行位置校准,每个
校准位能够放置一个物料。冷却位(Buffer Station)用于在工艺腔室中的物料完成工艺之
后,且在返回装卸载位之前,对该物料进行冷却。
[0065] 过渡腔室4中设置有大气机械手(ATR),用以在装卸载腔室3与各个装卸载位之间传输物料。
[0066] 三个装卸载位(51,52,53)用于放置片盒,每个片盒中放置有多个物料(例如最多25个)。
[0067] 在使用上述半导体加工设备对多个物料进行加工的过程中,需要将每个物料从装卸载位按照指定路径传入工艺腔室进行加工,并在加工完成后返回装卸载位,而且在同一
时间内会存在对多个物料同时调度的需求,在此前提下,需要实现物料调度的最优化,以能
够合理利用半导体加工设备中的各个部件,以达到单位时间内加工较多的物料的目的。
[0068] 为了达到上述目的,本发明第一实施例提供一种半导体加工设备的物料调度方法,如图3所示,该方法包括以下步骤:
[0069] S1、建立物料列表;
[0070] 上述物料列表包括多个不同的工艺配方对应的物料组,每个物料组包括多个物料,多个物料被划分成多个物料分组,每个物料分组包括至少一个物料。
[0071] 在一些实施例中,可选的,如图4所示,上述步骤S1,具体包括:
[0072] S11,将多个物料按不同的片盒进行分配;
[0073] 例如,如图1所示,三个装卸载位(51,52,53)可分别放置三个片盒,可向每个片盒中分配多个物料(例如最多25个),每个片盒中的各个物料均具有一个片盒编号。
[0074] S12,将同一片盒中的物料按不同的工艺配方划分成多个物料组;
[0075] 即,同一物料组中的多个物料均采用同一工艺配方,且各自具有一个物料组编号;不同物料组中的多个物料采用的工艺配方不同。
[0076] S13,将同一物料组中的多个物料按预设原则划分成多个物料分组。
[0077] 物料分组的上述预设原则可以根据具体情况而定,例如,该预设原则可以包括:
[0078] 根据各个工艺腔室之间是并行关系还是串行关系,以及各个工艺腔室是否开启禁用功能,将同一物料组中的多个物料划分成多个物料分组;
[0079] 其中,上述并行关系是指多个工艺腔室同时进行加工;上述串行关系是指多个工艺腔室按指定顺序依次进行加工;上述禁用功能是指在一时间段内禁用工艺腔室中的至少
一个工艺位,即,ST禁用。
[0080] 具体来说,以工艺腔室中包括两个工艺位为例,若某一工艺腔室的其中一个工艺位存在ST禁用的情况,则分配至该工艺腔室中进行加工的物料数量为1个;若某一工艺腔室
不存在ST禁用的情况,则分配至该工艺腔室中进行加工的物料数量为2个。
[0081] 以图1中示出的三个工艺腔室(21,22,23)为例,假设工艺腔室21和22不存在ST禁用的情况,工艺腔室23存在ST禁用的情况,若多个工艺腔室之间的关系为并行关系,则三个
工艺腔室(21,22,23)可以同时进行加工,此时每个物料分组中的物料可以进入任意一个工
艺腔室进行加工,在这种情况下,假设每个物料组中有10个物料(编号为1‑10),10个物料可
以平均分配为6个物料分组,分别为(1,2,PM21)(3,4,PM22)(5,PM23)(6,7,PM21)(8,9,
PM22)(10,PM23),其中,PM为工艺腔室。在进行工艺加工时,首先,编号为1和2的两个物料、
编号为3和4的两个物料、编号为5的一个物料分别进入三个工艺腔室(21,22,23)同时进行
加工;待加工完成之后,编号为6和7的两个物料、编号为8和9的两个物料、编号为10的一个
物料分别进入三个工艺腔室(21,22,23)同时进行加工。
[0082] 假设工艺腔室21和22存在ST禁用的情况,若多个工艺腔室之间的关系为串行关系,且两个工艺腔室(21,22)先后加工,在这种情况下,假设每个物料组中有6个物料(编号
为1‑6),6个物料平均分配为3个物料分组,分别为(1,2,PM21‑PM22)(3,4,PM21‑PM22)(5,6,
PM21‑PM22)。在进行工艺加工时,首先,编号为1和2的两个物料先进入工艺腔室21进行加
工,后进入工艺腔室22进行加工;待加工完成之后,编号为3和4的两个物料先进入工艺腔室
21进行加工,后进入工艺腔室22进行加工;待加工完成之后,编号为5和6的两个物料先进入
工艺腔室21进行加工,后进入工艺腔室22进行加工。
[0083] 假设工艺腔室21不存在ST禁用的情况,若多个工艺腔室之间的关系为串行关系,且只有工艺腔室21进行加工,在这种情况下,假设每个物料组中有6个物料(编号为1‑6),6
个物料平均分配为3个物料分组,分别为(1,2,PM21)(3,4,PM21)(5,6,PM21)。在进行工艺加
工时,首先,编号为1和2的两个物料进入工艺腔室21进行加工;待加工完成之后,编号为3和
4的两个物料进入工艺腔室21进行加工;待加工完成之后,编号为5和6的两个物料进入工艺
腔室21进行加工。
[0084] S2、根据上述工艺配方和上述物料列表建立第一调度任务列表;
[0085] 上述第一调度任务列表包括多个物料调度任务组,上述物料组与该物料调度任务组一一对应,每个物料调度任务组包括多个物料调度任务分组,上述物料分组与该物料调
度任务分组一一对应;每个物料调度任务分组包括至少一个物料调度任务。
[0086] 对于工艺配方(recipe),其包含多个步骤(step),每个步骤对应半导体加工设备中的一个部件(machine),且对应一个物料调度任务(task),该任务包含加工所使用的部件
(machine)和加工时长(包括开始时间点和结束时间点)等的信息。
[0087] 其中,与上述物料组对应的物料调度任务组称为PJob;每个PJob中的与每个物料分组对应的物料调度任务分组称为ScheduleJob,每个ScheduleJob中的各个物料调度任务
称为task,这些task包含同一物料分组中的物料依次使用某几个部件(machine)以及在各
个部件上的加工时长(包括开始时间点和结束时间点)等的信息。由此可知,每个PJob中有
多个ScheduleJob,每个ScheduleJob中有至少一个task。
[0088] 另外,同一片盒中的物料对应的片盒任务组称为CJob,同一CJob中按不同的工艺配方划分为多个PJob,其中,N个物料中的每个物料各自的片盒编号分别为CJob ID,其中,
ID=1,2,...,N;同一CJob 中的M个物料的物料组编号为PJob ID,其中,ID=1,2,...,M;同一
PJob 中的R个物料的物料分组编号为ScheduleJob ID,其中,ID=1,2,...,R;需要说明的
是,每个物料具有一个CJob ID和一个PJob ID,且同一PJob ID的物料来自同一个CJob ID,
且recipe相同。
[0089] 按ScheduleJob ID的编号顺序(例如从0开始)排列各个ScheduleJob,且编号连续,构成上述第一调度任务列表。
[0090] S3、向求解器输入上述第一调度任务列表,利用该求解器计算并输出最优调度结果,并对该最优调度结果解析获得所有物料的移动序列。
[0091] 上述求解器用于根据输入的相关参数建立数学模型,计算并输出最优调度结果,该最优调度结果可以实现执行第一调度任务列表中所有的物料调度任务花费时长最短。该
最优调度结果包含所有物料在指定时间依次经过指定machine进行加工的所有调度方案。
[0092] 需要说明的是,上述求解器是一种执行模型解算方法的装置,由于该装置属于公知技术,在此不再赘述。
[0093] 可选的,在向求解器输入上述第一调度任务列表之前,根据工艺配方对第一调度任务列表进行初始化,所谓初始化,是将上述第一调度任务列表中的各个物料调度任务
(task)所包含的部件(machine)以及在各个部件上的加工时长(包括开始时间点和结束时
间点)等的信息的存储结构转化为求解器中各个物料调度任务(task)的输入格式,格式转
换之后,每个task中包含machine ID,duration(加工时长)等信息,且以task为调度单位。
该输入格式例如为Json格式,转化方式例如采用相应json库的转化函数进行转化。
[0094] 本发明实施例采用的物料调度方法基于上述求解器计算最优调度结果,这与基于搜索树的枚举方法相比,不仅可以得到全局最优调度结果,而且由于求解器只需输入相关
参数就可以直接得到输出结果,省去了大量中间过程,从而可以提高计算速度,进而可以实
现实时得到最优调度结果。
[0095] 在一些实施例中,传输腔室1中的真空机械手具有两个机械手臂,当其中一个机械手臂出现故障时,还可以利用另一个机械手臂继续加工,从而保证生产线不停产,在这种情
况下,可以使用禁手功能,即,只有一个机械手臂工作。
[0096] 具体地,若过渡腔室4中的大气机械手(ATR)使用禁手功能,假设一个物料分组中的物料数量为2,则大气机械手需传递两次,每次传递一个物料,由此,大气机械手的传输时
间是一套传输动作(包括取片、旋转、放片)所花费时间的两倍。若传输腔室1中设置有真空
机械手(VTR)使用禁手功能,则只有Clean手工作,由于该Clean手具有两个取片位,只需要
传递一次,每次传递两个物料,由此,真空机械手的传输时间即为一套传输动作(包括取片、
旋转、放片)所花费时间。基于上述情况,可以根据机械手是否使用禁手功能,以相应的参数
格式(例如,task的加工时长(duaration)参数)输入至求解器中。
[0097] 在上述步骤S3中,在利用求解器获得上述最优调度结果之后,对该最优调度结果进行解析,以获得所有物料的移动序列。具体的解析方式例如可以根据接口规则,将求解器
输出的最优调度结果所包含的所有task的初始时间点和结束时间点解析成移动序列(又称
move列表)。由于移动序列中的物料移动动作分为取片移动(pick move)、放片移动(place 
move)和工艺加工(process move)移动等等,不同的物料移动动作,与诸如物料、机械手和
部件(machine)等的相关参数也不同,这些相关参数均属于上述接口规则。
[0098] 在一些实施例中,由于某些求解器的计算速度有限,如下述表1所示。
[0099] 表1、某些求解器计算不同数量的物料调度任务分组所花费的时间表。
[0100] 物料调度任务分组的数量 6 7 8 9 10 11 12计算时间(s) 1 2 3.5 8 7 11 156
[0101] 由上述表1可知,在计算速度满足实时得到最优调度结果要求的前提下,该求解器计算上述第一调度任务列表所包含的物料调度任务分组的数量往往存在少于物料调度任
务分组的实际数量,例如,在实际应用中,上述第一调度任务列表所包含的物料调度任务分
组的实际数量约为40个,而求解器的计算速度无法在较短的时间内完成这些物料调度任务
分组的计算,从而无法实现实时得到最优调度结果。
[0102] 为了解决上述问题,本发明实施例提供的物料调度方法,采用选取和计算循环进行的方式来控制求解器的求解规模,以保证求解器每次花费很短的时间进行计算,从而可
以缩短完成所有物料调度任务分组计算所花费的总时间,进而实现实时得到最优调度结
果。
[0103] 下面详细描述上述选取步骤和计算步骤循环进行的方式。具体地,如图5所示,上述步骤S3具体包括:
[0104] S31、按第一预设规则从上述第一调度任务列表中选取指定数量的物料调度任务分组,组成第二调度任务列表;
[0105] 上述指定数量(称为MaxJobNum)的设定应满足对求解器计算该指定数量的ScheduleJob所花费的时间的实际要求,例如上述指定数量为6个。
[0106] 由于上述第一调度任务列表满足:不同的工艺配方(recipe)之间在同一时间段内使用不同的工艺腔室,即,不同的工艺配方(recipe)对应的物料调度任务组可以并行,且每
个工艺腔室只能被一个物料调度任务组(PJob)占用。基于此,可选的,上述第一预设规则包
括:从各个物料调度任务组(PJob)中选取数量相同的物料调度任务分组(ScheduleJob),其
中,假设工艺配方(recipe)的数量为N,从各个工艺配方(recipe)对应的物料调度任务组
(PJob)中选取的物料调度任务分组(ScheduleJob)的数量等于上述指定数量(MaxJobNum)
与工艺配方(recipe)的数量N的比值,即,等于MaxJobNum/N。需要说明的是,在从各个工艺
配方(recipe)对应的物料调度任务组(PJob)中选取时,若某一工艺配方(recipe)对应的物
料调度任务组(PJob)中的物料调度任务分组(ScheduleJob)的当前数量少于需要选取的数
量(即,MaxJobNum/N),则选取当前数量的物料调度任务分组(ScheduleJob),即,将该物料
调度任务组(PJob)中的物料调度任务分组全部选取。
[0107] S32、从上述第一调度任务列表中删除已选取的物料调度任务分组;
[0108] S33、向上述求解器输入上述第二调度任务列表(包含MaxJobNum个ScheduleJob),利用该求解器计算并输出子最优调度结果,并对该子最优调度结果解析获得第二调度任务
列表中所有物料的子移动序列;
[0109] 上述子最优调度结果可以实现第二调度任务列表中所有的物料调度任务花费时长最短。
[0110] S34、将上述子最优调度结果中最早完成的物料调度任务分组(即,该物料调度任务分组中的全部物料调度任务均完成)对应的结束时间点设定为补料时间点,并从子移动
序列中筛选出在该补料时间点以前的部分作为输出序列,且存储该输出序列;
[0111] 由于求解器在上述步骤S33中只计算了MaxJobNum个schedulejob,而上述第一调度任务列表所包含的ScheduleJob的实际数量远大于MaxJobNum,在这种情况下,为了实现
产能最大化,不能等待上一轮次的MaxJobNum个schedulejob全部执行完毕之后才“补料”,
即,补入新的MaxJobNum个schedulejob,这就需要选择一个最佳的补料时间点及时进行“补
料”,基于此,在上述子最优调度结果中,选择一个合适的物料调度任务分组,将完成该物料
调度任务分组对应的结束时间点作为上述补料时间点。
[0112] 在上述补料时间点确定之后,从解析获得的上述子移动序列中筛选出在该补料时间点以前的部分作为输出序列,且存储该输出序列。该部分即为子移动序列中包含在该补
料时间点以前的所有的物料移动动作的一部分序列。
[0113] 在实际应用中,求解器在计算包含新一轮次选取的MaxJobNum个schedulejob的第二调度任务列表时,将在上述补料时间点时的半导体加工设备的状态用作初始状态对该第
二调度任务列表继续进行计算,以获得新的输出序列,新的输出序列与上一轮次的输出序
列可以以该补料时间点作为分界线拼接在一起,这样,所有轮次的输出序列可以组成一个
连续的序列,即为所有物料的移动序列。
[0114] 选择一个最佳的补料时间点的方式有多种,例如,可选的,每个物料调度任务分组(ScheduleJob)中的多个物料调度任务(task)中包括加工物料的加工任务和传输物料的传
输任务,也就是说,有的物料调度任务是加工任务,有的物料调度任务是传输任务。在这种
情况下,在上述步骤S34中,在子最优调度结果中,对于最早完成的物料调度任务分组
(ScheduleJob),在其结束时间点,若其他的物料调度任务分组中有未完成的传输任务,则
将完成所有的传输任务的结束时间点设定为上述补料时间点。也就是说,若有一个
ScheduleJob最早完成全部的task,且其他的ScheduleJob中的所有传输任务执行完毕,则
将该个ScheduleJob的结束时间点,设定为补料时间点。
[0115] 若其他的物料调度任务分组中没有未完成的传输任务,则将最早完成的物料调度任务分组(ScheduleJob)的结束时间点设定为上述补料时间点。
[0116] S35、判断上述第一调度任务列表中是否有物料调度任务分组,若有,则执行步骤S36;若没有,则执行步骤S38;
[0117] 上述第一调度任务列表中没有物料调度任务分组,即表示该第一调度任务列表为空。
[0118] S36、从上述第二调度任务列表中删除最早完成的物料调度任务分组;
[0119] S37、按第二预设规则,重新选取一物料调度任务分组,并将重新选取的物料调度任务分组插入在上述第二调度任务列表,然后返回上述步骤S32;
[0120] 上述步骤S37用于将新选取的schedulejob插入第二调度任务列表中的相应位置,以在循环进行至步骤S33时,向上述求解器输入包含新选取的schedulejob的第二调度任务
列表,以获得新的输出序列。
[0121] 将新选取的schedulejob插入至上一轮次对应的第二调度任务列表中的相应位置的方式有多种,例如,可选的,上述第二预设规则包括:
[0122] 从第一调度任务列表中最早完成的物料调度任务分组对应的物料调度任务组(PJob)中重新选取一物料调度任务分组(ScheduleJob)将该物料调度任务分组插入在上述
第二调度任务列表中与上述最早完成的物料调度任务分组属于同一物料调度任务组的物
料调度任务分组的最后。
[0123] 若上述第一调度任务列表中,上述最早完成的物料调度任务分组对应的物料调度任务组中已没有物料调度任务分组,则从上述第二物料列表中其他物料调度任务分组对应
的物料调度任务组中选取一物料调度任务分组,将该物料调度任务分组插入在上述第二物
料列表中与之属于同一物料调度任务组的物料调度任务分组的最后。
[0124] S38、将当前的子移动序列和之前存储所有的输出序列拼接成上述移动序列。
[0125] 如前述,所有的输出序列可以组成一个连续的序列,即为所有物料的移动序列。其中,相邻的两个轮次的输出序列例如可以以补料时间点作为分界线进行拼接。
[0126] 可选的,为了保证各个工艺腔室的清洁度满足要求,物料调度方法还包括:
[0127] 累计各个工艺腔室执行同一物料调度任务组中各物料调度任务分组中为加工任务的物料调度任务的次数;
[0128] 判断各个工艺腔室的上述次数是否达到该物料调度任务组对应的工艺配方中预设的最大次数;
[0129] 若达到,则在该物料调度任务组中的对应位置处插入为腔室清洗任务的物料调度任务。
[0130] 需要说明的是,物料调度任务有多种,如前述,例如有加工任务、传输任务和腔室清洗任务等等。基于此,上述为加工任务的物料调度任务的次数,即为执行的所有物料调度
任务中是加工任务的累计次数。
[0131] 为了保证物料调度的正常执行,可选的,在上述步骤S3中,求解器计算上述最优调度结果采用的数学模型的约束条件包括但不限于:
[0132] (1)每个加工任务的结束时间点等于该加工任务的开始时间点、物料加工时长和物料在工艺腔室中的驻留时长之和;
[0133] (2)对于每个物料调度任务组中任意相邻的两个物料调度任务,排列在后面的所述物料调度任务分组的开始时间点即为排列在前面的所述物料调度任务分组的结束时间
点;
[0134] (3)每个工艺腔室在同一时间段内只能执行一个加工任务;
[0135] (4)若每个物料调度任务分组中的多个加工任务对应的工艺腔室之间是并列执行的关系,则每个加工任务对应一个工艺腔室;
[0136] (5)传输任务为物料的取出任务或者放入任务;同一物料调度任务分组中的物料的取出任务和放入任务由同一机械手执行;
[0137] (6)对于同一工艺腔室,每个物料的放入任务的开始时间点晚于上一个物料的取出任务的结束时间点;
[0138] (7)在同一时间段内,用于传输物料的传输装置中只有一个手臂在执行上述取出任务或上述放入任务。
[0139] 需要说明的是,以上约束条件的实现形式为求解器采用的数学模型中的各种数学等式或者不等式,本实施例利用上述文字描述来表示其含义。
[0140] 本发明第二实施例提供一种物料调度装置,请参阅图6,该物料调度装置6包括物料列表模块61、调度列表模块62和求解器63,其中,物料列表模块61用于建立物料列表,该
物料列表包括多个不同的工艺配方对应的物料组,每个物料组包括多个物料,多个物料被
划分成多个物料分组,每个物料分组包括至少一个物料;调度列表模块62用于根据工艺配
方和物料列表建立并输出第一调度任务列表,该第一调度任务列表包括多个物料调度任务
组,该物料组与物料调度任务组一一对应,每个物料调度任务组包括多个物料调度任务分
组,物料分组与该物料调度任务分组一一对应;每个物料调度任务分组包括至少一个物料
调度任务;求解器63用于接收上述第一调度任务列表,计算并输出执行上述第一调度任务
列表中所有的物料调度任务花费时长最短的最优调度结果,并对该最优调度结果解析获得
所有物料的移动序列。
[0141] 需要说明的是,上述求解器63是一种执行模型解算方法的装置,由于该装置属于公知技术,在此不再赘述。
[0142] 综上所述,本发明上述各个实施例提供的半导体加工设备的物料调度方法和装置的技术方案,基于上述求解器计算最优调度结果,这与基于搜索树的枚举方法相比,不仅可
以得到全局最优调度结果,而且由于求解器只需输入相关参数就可以直接得到输出结果,
省去了大量中间过程,从而可以提高计算速度,进而可以实现实时得到最优调度结果。
[0143] 可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精
神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。