用于调度半导体加工的方法和系统转让专利
申请号 : CN202080000366.2
文献号 : CN111356988B
文献日 : 2021-03-12
发明人 : 郑炜融 , 王河清
申请人 : 长江存储科技有限责任公司
摘要 :
权利要求 :
1.一种半导体加工调度方法,所述方法包括:创建负载调度数据模式,所述负载调度数据模式包括将被分派到多个工作站的产品批次的设施数据;
使用负载平衡模型并且基于所述负载调度数据模式来生成负载调度简档,其中,所述负载平衡模型包括一个或多个目标函数,并且在目标函数中存在至少一个权重因子;
基于所述负载调度简档来生成当前负载调度;
使用所述当前负载调度将所述产品批次分派到所述多个工作站,以完成所述产品批次的加工;
获取所述产品批次的所完成的加工的当前关键性能指标KPI集合;以及基于所述当前KPI,使用大数据架构来自动地调整所述负载平衡模型的所述目标函数的所述权重因子,以生成用于下一个加工周期的下一负载调度。
2.根据权利要求1所述的方法,还包括:使用所述下一负载调度将所述下一加工周期的产品批次分派到所述多个工作站,以完成所述下一加工周期。
3.根据权利要求1所述的方法,其中,所述基于所述负载调度简档生成当前负载调度包括:
模拟和验证所述负载调度简档以生成所述当前负载调度。
4.根据权利要求1所述的方法,其中,所述基于所述当前KPI使用大数据架构来自动地调整所述负载平衡模型的所述目标函数的所述权重因子,以生成用于下一加工周期的下一负载调度还包括:
获得所述下一加工周期的目标KPI;
确定所述当前KPI是否高于所述目标KPI;以及当确定所述当前KPI高于所述目标KPI时,在不调整所述负载平衡模型的所述目标函数的所述权重因子的情况下,使用所述当前负载调度用于所述下一加工周期。
5.根据权利要求4所述的方法,还包括:获取用于优化的数据,包括历史负载调度和相应的KPI;
计算所述历史负载调度中的每个历史负载调度的分数;
使用预先确定的大数据算法来找到所述负载平衡模型的所述目标函数的所述权重因子的新的值的集合,以使得可以找到与所述新的值的集合相对应的负载调度的期望的分数;以及
自动地将所述负载平衡模型的所述目标函数的所述权重因子调整到所述新的值的集合。
6.根据权利要求5所述的方法,其中:所述负载平衡模型是混合整数规划MIP模型;以及所述预先确定的大数据算法是遗传算法或蒙特卡洛算法。
7.根据权利要求5所述的方法,其中,所述使用预先确定的大数据算法还包括:使用在所述历史负载调度的分数以及所述历史负载调度的所述权重因子的值与对应于所述历史负载调度的所述KPI之间的关系来训练神经网络深度学习模型;以及在所述神经网络深度学习模型被训练之后,以所述目标KPI作为输入,使用所述神经网络深度学习模型来确定所述负载平衡模型的所述目标函数的所述权重因子的所述新的值的集合。
8.根据权利要求5所述的方法,其中,所述计算所述历史负载调度中的每个历史负载调度的分数还包括:
对于每个历史负载调度中的具有相应权重因子的每个目标函数,计算每个目标函数的值,并且将所述值乘以所述相应的权重因子,以产生针对每个目标函数的结果;以及对每个目标函数的所述结果求和以生成所述分数。
9.根据权利要求1所述的方法,其中,所述目标函数至少包括负载平衡目标函数和分配任务目标函数。
10.一种半导体加工调度系统,所述系统包括:多个工作站;
服务器;以及
分派器,其由所述服务器控制,并且将待加工的产品批次分派到所述多个工作站,其中,所述服务器被配置为执行:创建负载调度数据模式,所述负载调度数据模式包括所述产品批次的设施数据;
使用负载平衡模型并且基于所述负载调度数据模式来生成负载调度简档,其中,所述负载平衡模型包括一个或多个目标函数,并且在目标函数中存在至少一个权重因子;
基于所述负载调度简档来生成当前负载调度;
控制所述分派器使用所述当前负载调度将所述产品批次分派到所述多个工作站,以完成所述产品批次的加工;
获取所述产品批次的所完成的加工的当前关键性能指标KPI集合;以及基于所述当前KPI,使用大数据架构来自动地调整所述负载平衡模型的所述目标函数的所述权重因子,以生成用于下一个加工周期的下一负载调度。
11.根据权利要求10所述的系统,其中,所述服务器还被配置为执行:控制所述分派器以使用所述下一负载调度将所述下一加工周期的产品批次分派到所述多个工作站,以完成所述下一加工周期。
12.根据权利要求10所述的系统,其中,所述基于所述负载调度简档生成当前负载调度包括:
模拟和验证所述负载调度简档以生成所述当前负载调度。
13.根据权利要求10所述的系统,其中,所述基于所述当前KPI使用大数据架构来自动地调整所述负载平衡模型的所述目标函数的所述权重因子,以生成用于下一加工周期的下一负载调度还包括:
获得所述下一加工周期的目标KPI;
确定所述当前KPI是否高于所述目标KPI;以及当确定所述当前KPI高于所述目标KPI时,在不调整所述负载平衡模型的所述目标函数的所述权重因子的情况下,使用所述当前负载调度用于所述下一加工周期。
14.根据权利要求13所述的系统,其中,所述自动地调整所述目标函数的所述权重因子还包括:
获取用于优化的数据,包括历史负载调度和相应的KPI;
计算所述历史负载调度中的每个历史负载调度的分数;
使用预先确定的大数据算法来找到所述负载平衡模型的所述目标函数的所述权重因子的新的值的集合,以使得可以找到与所述新的值的集合相对应的负载调度的期望的分数;以及
自动地将所述负载平衡模型的所述目标函数的所述权重因子调整到所述新的值的集合。
15.根据权利要求14所述的系统,其中:所述负载平衡模型是混合整数规划MIP模型;以及所述预先确定的大数据算法是遗传算法或蒙特卡洛算法。
16.根据权利要求14所述的系统,其中,所述使用预先确定的大数据算法还包括:使用在所述历史负载调度的分数以及所述历史负载调度的所述权重因子的值与对应于所述历史负载调度的所述KPI之间的关系来训练神经网络深度学习模型;以及在所述神经网络深度学习模型被训练之后,以所述目标KPI作为输入,使用所述神经网络深度学习模型来确定所述负载平衡模型的所述目标函数的所述权重因子的所述新的值的集合。
17.根据权利要求14所述的系统,其中,所述计算所述历史负载调度中的每个历史负载调度的分数还包括:
对于每个历史负载调度中的具有相应权重因子的每个目标函数,计算每个目标函数的值,并且将所述值乘以所述相应的权重因子,以产生针对每个目标函数的结果;以及对每个目标函数的所述结果求和以生成所述分数。
18.一种非暂时性计算机可读存储介质,其包含计算机可执行指令用于当由一个或多个处理器执行时,执行半导体加工调度方法,包括:创建负载调度数据模式,所述负载调度数据模式包括将被分派到多个工作站的产品批次的设施数据;
使用负载平衡模型并且基于所述负载调度数据模式来生成负载调度简档,其中,所述负载平衡模型包括一个或多个目标函数,并且在目标函数中存在至少一个权重因子;
基于所述负载调度简档来生成当前负载调度;
控制分派器使用所述当前负载调度将所述产品批次分派到所述多个工作站,以完成所述产品批次的加工;
获取所述产品批次的所完成的加工的当前关键性能指标KPI集合;以及基于所述当前KPI,使用大数据架构来自动地调整所述负载平衡模型的所述目标函数的所述权重因子,以生成用于下一个加工周期的下一负载调度。
19.根据权利要求18所述的非暂时性计算机可读存储介质,其中,所述基于所述当前KPI使用大数据架构来自动地调整所述负载平衡模型的所述目标函数的所述权重因子,以生成用于下一加工周期的下一负载调度还包括:获得所述下一加工周期的目标KPI;
确定所述当前KPI是否高于所述目标KPI;以及当确定所述当前KPI高于所述目标KPI时,在不调整所述负载平衡模型的所述目标函数的所述权重因子的情况下,使用所述当前负载调度用于所述下一加工周期。
20.根据权利要求19所述的非暂时性计算机可读存储介质,所述方法还包括:获取用于优化的数据,包括历史负载调度和相应的KPI;
计算所述历史负载调度中的每个历史负载调度的分数;
使用预先确定的大数据算法来找到所述负载平衡模型的所述目标函数的所述权重因子的新的值的集合,以使得可以找到与所述新的值的集合相对应的负载调度的期望的分数;以及
自动地将所述负载平衡模型的所述目标函数的所述权重因子调整到所述新的值的集合。
说明书 :
用于调度半导体加工的方法和系统
技术领域
背景技术
数千个加工步骤。为了从企业内的生产线提供产品批次的加工以满足承诺的调度表,各批
次必须被调度为迅速地分派到每个工具或每段制造设备。此外,为了避免长时间的等待或
排队时间以及有的制造设备段处于“饥饿”或没有队列,调度必须考虑要立即处理的产品数
量以及当前制造设备段之后的制造设备段的容量、能力和目前的队列长度。
理通常是手动执行的,这是冗长和耗时间的,并且效果通常是不理想的。
发明内容
及使用负载平衡模型并且基于负载调度数据模式来生成负载调度简档。负载平衡模型包括
一个或多个目标函数,并且在目标函数中至少有一个权重因子。该方法还包括基于负载调
度简档生成当前负载调度;使用当前负载调度将产品批次分派到多个工作站,以完成产品
批次的加工;获取产品批次的所完成的加工的当前关键性能指标(KPI)集合;以及基于使用
大数据架构的当前KPI,自动地调整负载平衡模型的目标函数的权重因子,以生成用于下一
制造周期的下一负载调度。
被配置为执行:创建负载调度数据模式,负载调度数据模式包括产品批次的设施数据;使用
负载平衡模型并且基于负载调度数据模式来生成负载调度简档,其中,负载平衡模型包括
一个或多个目标函数,并且在目标函数中存在至少一个权重因子;基于负载调度简档生成
当前负载调度;控制分派器以使用当前负载调度将产品批次分派到多个工作站,以完成产
品批次的加工;获取产品批次的所完成的加工的当前关键性能指标(KPI)集合;以及基于使
用大数据架构的当前KPI,自动地调整负载平衡模型的目标函数的权重因子,以生成用于下
一制造周期的下一负载调度。
工调度方法。该方法包括创建负载调度数据模式,该负载调度数据模式包括将被分派到多
个工作站的产品批次的设施数据;以及使用负载平衡模型并且基于负载调度数据模式来生
成负载调度简档。负载平衡模型包括一个或多个目标函数,并且在目标函数中至少有一个
权重因子。该方法还包括基于负载调度简档生成当前负载调度;使用当前负载调度将产品
批次分派到多个工作站,以完成产品批次的加工;获取产品批次的所完成的加工的当前关
键性能指标(KPI)集合;以及基于使用大数据架构的当前KPI,自动地调整负载平衡模型的
目标函数的权重因子,以生成用于下一制造周期的下一负载调度。
附图说明
具体实施方式
的一些实施例,而不是全部实施例。各种描述的实施例的特征可以被组合、交换、添加或移
除。由本领域技术人员基于本发明的实施例在没有创造性努力的情况下获得的其它实施例
将落入本公开内容的保护范围内。
总线114、数据库116、调度服务器120和大数据计算平台130,其中J是表示工作站总数的自
然数。可以省略某些组件,并且可以添加其它组件。
中,分派系统112可以是批次分派器。在另一个实施例中,分派系统112可以在控制分派机制
的计算系统上实现。
的晶圆加工中执行一种或多种工艺。一个或多个工作站可以被视为用于特定集成电路(IC)
加工的生产线,包括前端工序(FEOL)处理和/或后端工序(BEOL)处理。
(CVD)工作站、电化学沉积(ECD)工作站、分子束外延(MBE)工作站和原子层沉积(ALD)工作
站。工作站还可以包括湿法或干法蚀刻工艺工作站和/或化学机械平坦化(CMP)工作站。工
作站还可以包括光学光刻或UV光刻工作站。此外,工作站可以包括掺杂工作站和/或退火工
作站。其它类型的加工设备也可以被包括。
以通过工作站或制造阶段来生产部分产品或完整的产品(例如,加工的晶圆)。每个工作站
可以收集和报告产品批次的进度状态或在制品(WIP)状态,描述产品批次通过工作站的进
展。产品批次通过所有工作站后,还可以获得并且报告加工数据,如质量和性能数据。
度。调度方案可以考虑用于调度加工工艺的各种目标,包括负载平衡方案。在狭义上,负载
平衡方案可以指代有效地利用工作站和/或工作站的阶段,即,平衡工作站的负载。然而,从
广义上讲,负载平衡方案也可以指代针对平衡工作站调度的其它目标。因此,在某些实施例
中,术语“调度”可以与术语“负载平衡”互换使用。负载平衡可以包括各种因素和限制,并且
可以取决于具体的加工或应用。例如,那些具有高交货优先级的产品批次必须迅速处理,以
满足承诺的调度。同时,工作站的利用率以及加工的质量和性能可能仍然是理想的。
与数据库116通信,以获得在分派系统112的控制和调度中使用的各种数据,例如设施数据、
产品数据、工艺数据等。数据库116可以是独立的数据库系统或分布式数据库系统,并且可
以包括用于用户来查询数据库、输入数据和/或显示数据等的某些用户界面。
量加工数据,包括在各种负载情况下分派系统112和各种工作站的加工数据。大数据计算平
台130也可以从数据库116获得数据。
120被示出为两个分离的系统,但是大数据计算平台130和调度服务器120可以集成到一个
系统中或可以分布在多个系统中。
及大容量存储器,例如CD-ROM和硬盘等。当计算机程序由处理器202执行时,存储介质204可
以存储用于实现各种过程的计算机程序。
一个或多个数据库,用于存储某些数据和对存储的数据执行某些操作,例如数据库搜索。
工。这些指令可以包括正在加工的产品批次的列表、生产产品批次所必需的工艺的执行顺
序和/或用于执行这些工艺的制造设备(工作站)。
列级别。因此,可以创建平衡负载所必需的优先级的度量,以使得产品批次被迅速地处理,
以便准时交货。
构框图;
重因子文件生成模块318。其它组件也可以被包括。
工作,产品工艺步骤的优先级、持续时间和顺序)以及工艺的数据(例如规范、标准和性能)。
其它类型的数据也可以被包括。
306使用。调度模块306可以包括负载平衡模型,以基于由数据生成模块304输入的数据表来
生成负载调度。负载平衡模型可以包括一个或多个预先确定的负载平衡算法,以生成负载
调度简档。负载调度简档可以是为分派器创建最终负载调度310所需的信息,例如初始负载
调度、待验证的负载调度或最终负载调度的任何中间形式。
(例如,工作站)生成实际负载调度310。负载调度可以是文本文件,或可以是预先确定的格
式的文件,例如电子表格文件。
所有可接受的负载调度文件以及所有相应的数据,例如单个负载调度的加工场景和其它生
产数据。加工场景可以包括关于产品批次、工作站、加工要求和生产标准等的信息。
130可以获取执行大数据操作或机器学习操作等所需的所有数据,并且可以向权重因子文
件生成模块318提供结果。
程400。
数据表。这些数据表也可以被称为输入数据表。设施数据可以是针对地点特定的数据,即特
定于包括多个工作站的特定制造地点的数据。批次预测可以是数据模板和数据模型特定的
数据,例如解决方案模式数据。
平衡模型要使用的多个数据表。例如,调度模块306可以生成以下中的一个或多个:目标函
数权重表、参数表、资源表、任务表、任务能力表、任务设置表和/或时间桶(bucket)表等。
量),来找到任务到资源的最优分配。在某些实施例中,负载平衡模型可以是混合整数规划
(MIP)模型。尽管负载平衡模型可以被配置为对分配给工作站的批次步骤进行建模,但是需
要分配任务的其它应用也可以适用。
足指定的调度目标(如最小化工具设置更改,同时满足特定的移动型目标)。也就是说,负载
平衡模型可以具有一个或多个目标函数,用于描述在产生负载调度设置时优化的度量的相
对成本。
标函数、约束移动目标目标函数、处理早期目标函数、设置计数目标函数、设置时间目标函
数、每站早期处理目标函数、调度稳定性目标函数、标线计数目标函数、非优选资源目标函
数、小批次目标函数、分配任务目标函数、调和(Seasoning)目标函数、设置更改目标函数以
及设置限制目标函数。
数:该目标函数给出了对没有接近满的时间桶(主要时间间隔被分成一些时间桶)的成本。
目标是确保时间桶都接近满了,这有助于减少浪费资源时间。约束移动目标目标函数可以
指代这样的目标函数:该目标函数给出了针对不接近其移动目标的任务的成本。早期处理
目标函数可以指代这样的目标函数:该目标函数给出了针对稍后被调度的任务的成本,这
样可以确保所有任务都尽可能早地被调度。设置时间目标函数可以指代给出了针对使用的
设置次数(设置时间)的成本的目标函数。每站早期处理目标函数可以指代这样的目标函
数:当任务被调度在稍后时,该目标函数给出了针对被用户标记为“早期处理”的任务的成
本。调度稳定性目标函数可以指代给出了在一个优化场景中被调度但在另一个优化场景中
没有被调度的任务的成本的目标函数。这减少了场景之间的差异,并且使调度更加稳定。标
线计数目标函数可以指代给出了针对标线使用的成本的目标函数。它确保了标线上的负载
是平衡的,防止过度使用一些标线和使其它标线饥饿。非优选资源目标函数可以指代给出
了未在优选资源上处理的任务的成本的目标函数。小批次目标函数指代给出了当定义为小
批次的两个或多个任务在同一时间桶内在同一资源上进行处理时的成本的目标函数。分配
任务目标函数可以指代给出了分配给某个时间桶的两个或多个任务在同一资源上处理的
成本的目标函数。调和目标函数可以指代给出了当两个或多个需要不同PPID(处理程序ID)
的任务被分配给同一资源时的成本的目标函数。设置更改目标函数可以指代给出了当两个
需要不同设置的任务被分配给同一资源时的成本的目标函数。设置限制目标函数可以指代
这样的目标函数:该目标函数给出了当从第一个时间桶开始,在指定数量的时间桶内为资
源分配了太多特定类型的设置时的成本。
为多个工作站生成负载调度。在一个实施例中,负载调度可以包括批次分配表,该批次分配
表将特定批次分配给所调度的工作站进行处理。
工作站并且完成加工工艺。负载调度也可以存储在数据仓库中,以便稍后检索。
性能指标(KPI),并且可以确定KPI是否是当前加工所期望的,即,满足生产KPI的预设标准。
如果确定KPI符合当前加工的标准,则无需进行优化。
(例如,目标周期时间或晶圆移动)。所述确定可以基于在当前KPI和存储在服务器上的目标
KPI之间的比较来执行。可选地或另外地,所述确定也可以基于在当前KPI和历史KPI之间的
比较来执行。服务器可以存储各种目标KPI,并且每组KPI可以对应于特定的加工场景,从而
可以在相同或相似的加工场景下将当前KPI与目标KPI进行比较。
括一个或多个目标函数。对于每个目标函数,可以有一个或多个可以调整的辅助变量(或权
重因子)。也就是说,在当前加工周期之后和下一个加工周期之前,可以基于大数据机制自
动地调整负载平衡模型的某些或所有目标函数的权重因子。
各种数据(S502)。使用大数据架构的意义在于,所获取的数据是广泛的和大量的,因为所获
取的数据可以是历史的和当前的二者,落来自当前的加工场所和其它加工场所,并且在各
种加工场景下。因此,这样的大数据架构可以为调整负载平衡模型产生更准确的结果。
衡性能、子弹批次周期时间、热批次周期时间、实际周期时间、优选工具、实现移动目标、批
次步骤到期日期、调度稳定性以及减少设置更改等。
该批次是在加工(fab)获得优先处理的并且在加工工具中在队列前处理的批次。子弹批次
周期时间可以指代测量针对子弹批次的周期时间的KPI,该批次是在加工获得更优先处理
的并且在处理工具中在队列最前端进行处理的批次。实际周期时间可以指代测量周期时间
的KPI,即完成一个批次的天数。优选工具可以指代测量优选工具上的调度的KPI,这是一种
指示优先分配在加工中是可以增加还是应该减少的方法。实现移动目标可以指代测量在加
工生产线上实现的每日移动目标(生产能力)的KPI。批次步骤到期日期可以指代用于测量
批次处理是否在加工的每个步骤都符合到期日期的KPI。调度稳定性可以指代测量生产线
中由优化器生产的调度稳定性的KPI。理论调度和实际调度之间的差异是被监测的。设置更
改可以指代测量在工艺工具上执行的设置更改以应用调度的KPI。
取过去使用的负载调度及其相应的KPI。
模型生成的负载调度的分数。
即期望的KPI。分数可以通过任何适当的方法得出。在某些实施例中,可以基于负载调度的
适用目标函数来计算负载调度的分数。
因子,所以由负载平衡模型确定的负载调度的分数S可以计算为:
定,或可以由用户进行选择。
它类似的优化算法来执行优化。也就是说,大数据计算平台130可以使用遗传算法或蒙特卡
洛算法来确定负载平衡模型的最佳权重因子集合,以基于负载平衡模型上的当前约束来实
现由负载平衡模型生成的负载调度的最高分数。
一个或多个神经网络节点。神经网络层的数量用于说明的目的,可以使用任何数量的神经
网络层。
关系来训练深度学习模型600。
或可能来自相同的加工场景和相同的工作站,但是具有不同的产品批次。此外,如上所述,
可以获得或确定目标函数和目标函数权重因子,并且可以计算负载调度中的每个负载调度
的分数和/或权重因子。
分数和/或值被提供作为深度学习模型600的输出612。也就是说,在某些实施例中,深度学
习模型600的输出是分数,并且该分数可以用于导出权重因子的相应值。在某些其他实施例
中,权重因子的值可以直接是深度学习模型600的输出,并且分数可以基于权重因子的值来
计算。在某些其它实施例中,权重因子的分数和值都可以是深度学习模型600的输出。
因子的值可以基于深度学习模型600的输出来获得。可选地,为了验证由深度学习模型600
所执行的优化的结果,可以计算当前负载调度的分数,并且可以将其与从深度学习模型600
获得的分数进行比较。如果确定所获得的分数大于当前负载调度的分数,则从深度学习模
型600获得的权重因子的值可以用作权重因子的优化值。
始(S412)。此外,获得下一加工周期的生产KPI,并且确定生产KPI是否满足预设标准。然后
可以自动地重复上述优化周期,直到加工周期的生产KPI满足预设标准(S414)。
的任何误会或误解,以及可能是操作制造设备的操作人员的任何错误。此外,由于通过人类
试验进行权重调整的典型周期大约需要几天到一周,这是耗时的,并且在该调整期间会影
响生产线KPI(例如,周期时间和晶圆移动),因此可以极大地提高IC加工的制造成本、效率
和有效性。
术人员可以根据本公开内容的理念对特定实现和应用范围进行修改。总之,说明书的内容
不应被解释为对本公开内容的限制。