用于调度半导体加工的方法和系统转让专利

申请号 : CN202080000366.2

文献号 : CN111356988B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑炜融王河清

申请人 : 长江存储科技有限责任公司

摘要 :

一种半导体加工调度方法,所述方法包括:创建负载调度数据模式,所述负载调度数据模式包括将被分派到多个工作站的产品批次的设施数据;使用负载平衡模型并且基于负载调度数据模式生成负载调度简档,其中负载平衡模型包括一个或多个目标函数,并且在目标函数中存在至少一个权重因子;基于负载调度简档生成当前负载调度;使用当前负载调度将产品批次分派到多个工作站,以完成产品批次的加工;获取产品批次的所完成的加工的当前关键性能指标(KPI)集合;以及基于使用大数据架构的当前KPI,自动地调整负载平衡模型的目标函数的权重因子,以生成下一加工周期的下一负载调度。

权利要求 :

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;

计算所述历史负载调度中的每个历史负载调度的分数;

使用预先确定的大数据算法来找到所述负载平衡模型的所述目标函数的所述权重因子的新的值的集合,以使得可以找到与所述新的值的集合相对应的负载调度的期望的分数;以及

自动地将所述负载平衡模型的所述目标函数的所述权重因子调整到所述新的值的集合。

说明书 :

用于调度半导体加工的方法和系统

技术领域

[0001] 本申请涉及半导体制造领域,更具体地,涉及半导体加工调度方法和系统。

背景技术

[0002] 随着半导体工艺技术的发展,半导体加工工艺的复杂性不断增加。集成电路(IC)芯片的现状通常需要通过不同和相同类型的加工机器在单个半导体晶圆上执行数百甚至
数千个加工步骤。为了从企业内的生产线提供产品批次的加工以满足承诺的调度表,各批
次必须被调度为迅速地分派到每个工具或每段制造设备。此外,为了避免长时间的等待或
排队时间以及有的制造设备段处于“饥饿”或没有队列,调度必须考虑要立即处理的产品数
量以及当前制造设备段之后的制造设备段的容量、能力和目前的队列长度。
[0003] 因此,调度问题,即产品批次应该如何被释放到加工过程中并且在制造设备段之间被分派用于处理,是制造商面临的主要制造控制问题之一。
[0004] 当前的调度优化通常使用一些算法,将自动生成的调度计划表和基于制造人员的经验对调度表进行的手动调整相结合,将批次分配给各种机器。因此,这样的调度优化的处
理通常是手动执行的,这是冗长和耗时间的,并且效果通常是不理想的。
[0005] 所公开的方法和系统旨在解决上述一个或多个问题以及其它问题。

发明内容

[0006] 本公开内容的一个方面包括一种半导体加工调度方法。该方法包括:创建负载调度数据模式,该负载调度数据模式包括将被分派到多个工作站的产品批次的设施数据;以
及使用负载平衡模型并且基于负载调度数据模式来生成负载调度简档。负载平衡模型包括
一个或多个目标函数,并且在目标函数中至少有一个权重因子。该方法还包括基于负载调
度简档生成当前负载调度;使用当前负载调度将产品批次分派到多个工作站,以完成产品
批次的加工;获取产品批次的所完成的加工的当前关键性能指标(KPI)集合;以及基于使用
大数据架构的当前KPI,自动地调整负载平衡模型的目标函数的权重因子,以生成用于下一
制造周期的下一负载调度。
[0007] 本公开内容的另一方面包括半导体加工调度系统。所述系统包括多个工作站;服务器;以及由服务器控制的分派器,其将待加工的产品批次分派到多个工作站。所述服务器
被配置为执行:创建负载调度数据模式,负载调度数据模式包括产品批次的设施数据;使用
负载平衡模型并且基于负载调度数据模式来生成负载调度简档,其中,负载平衡模型包括
一个或多个目标函数,并且在目标函数中存在至少一个权重因子;基于负载调度简档生成
当前负载调度;控制分派器以使用当前负载调度将产品批次分派到多个工作站,以完成产
品批次的加工;获取产品批次的所完成的加工的当前关键性能指标(KPI)集合;以及基于使
用大数据架构的当前KPI,自动地调整负载平衡模型的目标函数的权重因子,以生成用于下
一制造周期的下一负载调度。
[0008] 本公开内容的另一方面包括非暂时性计算机可读存储介质。所述非暂时性计算机可读存储介质包含计算机可执行指令,用于当由一个或多个处理器执行时,执行半导体加
工调度方法。该方法包括创建负载调度数据模式,该负载调度数据模式包括将被分派到多
个工作站的产品批次的设施数据;以及使用负载平衡模型并且基于负载调度数据模式来生
成负载调度简档。负载平衡模型包括一个或多个目标函数,并且在目标函数中至少有一个
权重因子。该方法还包括基于负载调度简档生成当前负载调度;使用当前负载调度将产品
批次分派到多个工作站,以完成产品批次的加工;获取产品批次的所完成的加工的当前关
键性能指标(KPI)集合;以及基于使用大数据架构的当前KPI,自动地调整负载平衡模型的
目标函数的权重因子,以生成用于下一制造周期的下一负载调度。
[0009] 根据本公开内容的描述、权利要求和附图,本领域技术人员可以理解本公开内容的其它方面。

附图说明

[0010] 图1示出了与本发明的公开的实施例一致的示例性半导体加工系统;
[0011] 图2示出了与所公开的实施例一致的示例性计算系统;
[0012] 图3示出了与所公开的实施例一致的示例性负载调度系统的功能/结构框图;
[0013] 图4示出了与所公开的实施例一致的示例性负载调度过程;
[0014] 图5示出了与所公开的实施例一致的基于大数据来调整负载平衡模型的权重因子的示例性优化过程;以及
[0015] 图6示出了与所公开的实施例一致的示例性机器学习算法。

具体实施方式

[0016] 下面参照附图描述本发明的实施例中的技术方案。在可能的情况下,在整个附图中将使用相同的附图标记来指代相同或相似的部分。显然,所描述的实施例仅仅是本发明
的一些实施例,而不是全部实施例。各种描述的实施例的特征可以被组合、交换、添加或移
除。由本领域技术人员基于本发明的实施例在没有创造性努力的情况下获得的其它实施例
将落入本公开内容的保护范围内。
[0017] 图1示出了与本发明的公开的实施例一致的示例性半导体加工系统100;如图1中所示,半导体制造系统100可以包括分派系统112、多个工作站110-1、110-2、...110-J、传送
总线114、数据库116、调度服务器120和大数据计算平台130,其中J是表示工作站总数的自
然数。可以省略某些组件,并且可以添加其它组件。
[0018] 分派系统112可以包括任何适当的半导体晶圆分派系统,其将原始或处理过的晶圆118(例如晶圆、晶圆批次或产品批次)分派到制造设备段(例如工作站)。在一个实施例
中,分派系统112可以是批次分派器。在另一个实施例中,分派系统112可以在控制分派机制
的计算系统上实现。
[0019] 多个工作站110-1、110-2、...110-J可以代表总共数量J个制造设备段,并且每个设备可以具有一个或多个制造阶段。每个制造设备或工作站和/或制造阶段可以在产品中
的晶圆加工中执行一种或多种工艺。一个或多个工作站可以被视为用于特定集成电路(IC)
加工的生产线,包括前端工序(FEOL)处理和/或后端工序(BEOL)处理。
[0020] 工作站110-1、110-2、...110-J可以包括任何合适的制造设备,具有相同类型或不同类型。例如,工作站可以包括沉积设备,例如物理气相沉积(PVD)工作站、化学气相沉积
(CVD)工作站、电化学沉积(ECD)工作站、分子束外延(MBE)工作站和原子层沉积(ALD)工作
站。工作站还可以包括湿法或干法蚀刻工艺工作站和/或化学机械平坦化(CMP)工作站。工
作站还可以包括光学光刻或UV光刻工作站。此外,工作站可以包括掺杂工作站和/或退火工
作站。其它类型的加工设备也可以被包括。
[0021] 传送总线114可以用于在多个工作站、多个制造阶段和/或不同生产线之间传送产品批次。特定产品批次的加工或制造处理可以从分派系统112开始,并且遵循相应的调度,
以通过工作站或制造阶段来生产部分产品或完整的产品(例如,加工的晶圆)。每个工作站
可以收集和报告产品批次的进度状态或在制品(WIP)状态,描述产品批次通过工作站的进
展。产品批次通过所有工作站后,还可以获得并且报告加工数据,如质量和性能数据。
[0022] 此外,这些工作站的负载和/或工作站的阶段可能需要被最大化或最优地调度。也就是说,工作站和/或工作站的阶段可以使用为优化加工过程而生成的负载调度来进行调
度。调度方案可以考虑用于调度加工工艺的各种目标,包括负载平衡方案。在狭义上,负载
平衡方案可以指代有效地利用工作站和/或工作站的阶段,即,平衡工作站的负载。然而,从
广义上讲,负载平衡方案也可以指代针对平衡工作站调度的其它目标。因此,在某些实施例
中,术语“调度”可以与术语“负载平衡”互换使用。负载平衡可以包括各种因素和限制,并且
可以取决于具体的加工或应用。例如,那些具有高交货优先级的产品批次必须迅速处理,以
满足承诺的调度。同时,工作站的利用率以及加工的质量和性能可能仍然是理想的。
[0023] 因此,调度服务器120可以使用基于预先确定的算法和当前加工周期的特定数据的负载平衡方案来控制和调度分派系统112的负载。调度服务器120可以包括数据库116或
与数据库116通信,以获得在分派系统112的控制和调度中使用的各种数据,例如设施数据、
产品数据、工艺数据等。数据库116可以是独立的数据库系统或分布式数据库系统,并且可
以包括用于用户来查询数据库、输入数据和/或显示数据等的某些用户界面。
[0024] 大数据计算平台130可以包括一个或多个计算机服务器,其具有被配置为执行数据挖掘、数据分析和人工智能功能的硬件和软件。具体地,大数据计算平台130可以收集大
量加工数据,包括在各种负载情况下分派系统112和各种工作站的加工数据。大数据计算平
台130也可以从数据库116获得数据。
[0025] 此外,调度服务器120可以与大数据计算平台130通信,以获得历史数据、模拟数据和/或实时数据,从而调整分派系统112的负载调度。尽管大数据计算平台130和调度服务器
120被示出为两个分离的系统,但是大数据计算平台130和调度服务器120可以集成到一个
系统中或可以分布在多个系统中。
[0026] 调度服务器120和/或大数据计算平台130可以由任何适当的计算系统实现。图2示出了与所公开的实施例一致的示例性计算系统200。
[0027] 如图2中所示,计算系统200可以包括处理器202、存储介质204、监视器206、通信模块208、数据库210和外围设备212。可以省略某些设备,并且可以包括其它设备。
[0028] 处理器202可以包括任何合适的硬件处理器。此外,处理器202可以包括用于多线程或并行处理的多个核心。存储介质204可以包括存储器模块,例如ROM、RAM、闪存模块,以
及大容量存储器,例如CD-ROM和硬盘等。当计算机程序由处理器202执行时,存储介质204可
以存储用于实现各种过程的计算机程序。
[0029] 此外,外围设备212可以包括各种传感器和其它I/O设备,例如键盘和鼠标,并且通信模块208可以包括用于通过通信网络建立连接的某些网络接口设备。数据库210可以包括
一个或多个数据库,用于存储某些数据和对存储的数据执行某些操作,例如数据库搜索。
[0030] 回到图1,在操作中,调度服务器120可以从数据库116和大数据计算平台130获得数据,以执行针对分派系统112的负载调度确定,并且可以向分派系统提供指令以开始加
工。这些指令可以包括正在加工的产品批次的列表、生产产品批次所必需的工艺的执行顺
序和/或用于执行这些工艺的制造设备(工作站)。
[0031] 可选地,还可以获得每个批次的状态、在每个产品批次的工艺中使用的每个制造设备段的关键因素、以及处理每个产品批次的当前制造设备段之后的每个制造设备段的队
列级别。因此,可以创建平衡负载所必需的优先级的度量,以使得产品批次被迅速地处理,
以便准时交货。
[0032] 更具体地,调度服务器120可以实现负载调度系统,用于为分派系统112提供增强的负载平衡/调度。图3示出了与所公开的实施例一致的示例性负载调度系统300的功能/结
构框图;
[0033] 如图3中所示,负载调度系统300包括设施数据302、数据生成模块304、调度模块306、批次排序模块308、负载调度310、数据仓库312、分派模块314、大数据计算平台130和权
重因子文件生成模块318。其它组件也可以被包括。
[0034] 设施数据302可以包括当前加工的任何可用的数据,例如每个可用的资源的数据(例如工作站容量、工作站的阶段和工艺的持续时间和顺序)、产品的数据(例如产品所需的
工作,产品工艺步骤的优先级、持续时间和顺序)以及工艺的数据(例如规范、标准和性能)。
其它类型的数据也可以被包括。
[0035] 数据生成模块304可以包括某些数据处理功能(例如,查询执行器或分派器),以将设施数据和其它类型的数据转换成一个或多个特定的数据模式或数据表,以供调度模块
306使用。调度模块306可以包括负载平衡模型,以基于由数据生成模块304输入的数据表来
生成负载调度。负载平衡模型可以包括一个或多个预先确定的负载平衡算法,以生成负载
调度简档。负载调度简档可以是为分派器创建最终负载调度310所需的信息,例如初始负载
调度、待验证的负载调度或最终负载调度的任何中间形式。
[0036] 此外,批次排序模块308可以包括模拟模型,用于基于负载调度简档来模拟实际加工工艺,以使得负载调度简档可以被验证。在所述验证之后,排序模块308可以为制造设备
(例如,工作站)生成实际负载调度310。负载调度可以是文本文件,或可以是预先确定的格
式的文件,例如电子表格文件。
[0037] 负载调度310可以被输入到数据仓库312中。数据仓库312可以指代用于托管大量数据以及分析工具以实现数据仓库功能的任何数据库或计算机服务器。数据仓库可以累积
所有可接受的负载调度文件以及所有相应的数据,例如单个负载调度的加工场景和其它生
产数据。加工场景可以包括关于产品批次、工作站、加工要求和生产标准等的信息。
[0038] 负载调度310可被提供给分派模块314(例如,分派系统120),用于将晶圆批次分派到工作站以完成加工工艺。
[0039] 分派模块314和/或工作站还可以向大数据计算平台130提供加工数据,例如生产关键性能指标(KPI)。负载调度310也可以被提供给大数据计算平台130。大数据计算平台
130可以获取执行大数据操作或机器学习操作等所需的所有数据,并且可以向权重因子文
件生成模块318提供结果。
[0040] 权重因子文件生成模块318可以包括任何适当的分析算法,以基于来自大数据计算平台130的结果来确定调度模块306的各种权重因子。
[0041] 在所述操作中,图3中所示的调度系统300可以执行负载调度过程,以创建用于完成加工工艺的优化的负载调度。图4中示出了与所公开的实施例一致的示例性负载调度过
程400。
[0042] 如图4中所示,在负载调度过程的开始处,创建负载调度数据模式(S402)。负载调度数据模式可以包括基于设施数据和其它类型的数据(例如批次预测)生成的一个或多个
数据表。这些数据表也可以被称为输入数据表。设施数据可以是针对地点特定的数据,即特
定于包括多个工作站的特定制造地点的数据。批次预测可以是数据模板和数据模型特定的
数据,例如解决方案模式数据。
[0043] 在生成数据表之后,基于输入数据表和负载平衡模型来生成负载调度简档(S404)。更具体地,输入数据表可以被提供给调度模块306,调度模块306可以首先生成负载
平衡模型要使用的多个数据表。例如,调度模块306可以生成以下中的一个或多个:目标函
数权重表、参数表、资源表、任务表、任务能力表、任务设置表和/或时间桶(bucket)表等。
[0044] 负载平衡模型可以使用生成的数据表中的数据,并且生成负载调度简档。负载调度简档可以在一个或多个输出表中,例如负载平衡表和批次分配表等。
[0045] 负载平衡模型可以包括被配置为解决分配问题的任何适当的数学模型,即,基于相关的目标函数,例如跨资源的工作的平衡,相对于所定义的约束(例如,资源的有限容
量),来找到任务到资源的最优分配。在某些实施例中,负载平衡模型可以是混合整数规划
(MIP)模型。尽管负载平衡模型可以被配置为对分配给工作站的批次步骤进行建模,但是需
要分配任务的其它应用也可以适用。
[0046] 也就是说,负载平衡模型(或调度模型)可以是MIP模型,其被配置为跨所调度的工具(即,资源或工作站)来找到期望的批次处理。负载平衡模型执行批次到工具的分配,以满
足指定的调度目标(如最小化工具设置更改,同时满足特定的移动型目标)。也就是说,负载
平衡模型可以具有一个或多个目标函数,用于描述在产生负载调度设置时优化的度量的相
对成本。
[0047] 例如,负载平衡模型可以包括负载平衡目标函数。目标函数是最小化针对每个资源(工作站)的绝对偏差:
[0048] min∑j|wj-AveWork|
[0049] 其中AveWork指代所有资源的平均工作,其可以通过将所有工作的和除以资源数量来计算
[0050]    所有的任务i都分配给了某个资源j
[0051]     针对每个资源j的总工作
[0052]          每个资源具有有限的容量
[0053] xij∈0,1         如果任务1分配给资源j,变量等于1
[0054] wj≥0            针对每个资源的总工作为非负
[0055] cij              是需要的工作量,在将任务i分配给资源j的情况下
[0056] Cj               是资源j的容量
[0057] 在某些实施例中,除了上述负载平衡目标函数之外,负载平衡模型可以包括另外的目标函数,这些目标函数可以由用户选择,并且可以包括以下中任何一项或多项:满桶目
标函数、约束移动目标目标函数、处理早期目标函数、设置计数目标函数、设置时间目标函
数、每站早期处理目标函数、调度稳定性目标函数、标线计数目标函数、非优选资源目标函
数、小批次目标函数、分配任务目标函数、调和(Seasoning)目标函数、设置更改目标函数以
及设置限制目标函数。
[0058] 如本文所使用的,负载平衡目标函数可以指代给不平衡负载带来成本的目标函数,即一些资源缺乏任务,而其它资源淹没在任务中。满桶目标函数可以指代这样的目标函
数:该目标函数给出了对没有接近满的时间桶(主要时间间隔被分成一些时间桶)的成本。
目标是确保时间桶都接近满了,这有助于减少浪费资源时间。约束移动目标目标函数可以
指代这样的目标函数:该目标函数给出了针对不接近其移动目标的任务的成本。早期处理
目标函数可以指代这样的目标函数:该目标函数给出了针对稍后被调度的任务的成本,这
样可以确保所有任务都尽可能早地被调度。设置时间目标函数可以指代给出了针对使用的
设置次数(设置时间)的成本的目标函数。每站早期处理目标函数可以指代这样的目标函
数:当任务被调度在稍后时,该目标函数给出了针对被用户标记为“早期处理”的任务的成
本。调度稳定性目标函数可以指代给出了在一个优化场景中被调度但在另一个优化场景中
没有被调度的任务的成本的目标函数。这减少了场景之间的差异,并且使调度更加稳定。标
线计数目标函数可以指代给出了针对标线使用的成本的目标函数。它确保了标线上的负载
是平衡的,防止过度使用一些标线和使其它标线饥饿。非优选资源目标函数可以指代给出
了未在优选资源上处理的任务的成本的目标函数。小批次目标函数指代给出了当定义为小
批次的两个或多个任务在同一时间桶内在同一资源上进行处理时的成本的目标函数。分配
任务目标函数可以指代给出了分配给某个时间桶的两个或多个任务在同一资源上处理的
成本的目标函数。调和目标函数可以指代给出了当两个或多个需要不同PPID(处理程序ID)
的任务被分配给同一资源时的成本的目标函数。设置更改目标函数可以指代给出了当两个
需要不同设置的任务被分配给同一资源时的成本的目标函数。设置限制目标函数可以指代
这样的目标函数:该目标函数给出了当从第一个时间桶开始,在指定数量的时间桶内为资
源分配了太多特定类型的设置时的成本。
[0059] 其它目标函数也可以被包括。用户可以为当前加工周期(即,从负载调度到加工工艺的完成)选择一组特定的目标函数。
[0060] 此外,可以基于负载调度简档(例如,输出数据表)生成负载调度(S406)。例如,批次排序模块308可以基于来自负载平衡模型的输出数据表使用AutoSched AP/融合引擎来
为多个工作站生成负载调度。在一个实施例中,负载调度可以包括批次分配表,该批次分配
表将特定批次分配给所调度的工作站进行处理。
[0061] 此外,分派器(分派系统112)可以基于负载调度将产品批次分派到多个工作站,并且开始加工生产(S408)。也就是说,分派器可以使用批次分配表将生产批次装载到调度的
工作站并且完成加工工艺。负载调度也可以存储在数据仓库中,以便稍后检索。
[0062] 在生产批次的加工完成之后,可以使用大数据架构为下一个加工周期自动地优化负载平衡模型(或调度模型)(S410)。具体地,在当前加工周期完成之后,可以获得生产关键
性能指标(KPI),并且可以确定KPI是否是当前加工所期望的,即,满足生产KPI的预设标准。
如果确定KPI符合当前加工的标准,则无需进行优化。
[0063] 另一方面,如果确定KPI不满足当前加工的标准,则负载平衡模型可以针对下一个加工周期自动地优化。在某些实施例中,所述标准可以包括针对当前加工的一组目标KPI
(例如,目标周期时间或晶圆移动)。所述确定可以基于在当前KPI和存储在服务器上的目标
KPI之间的比较来执行。可选地或另外地,所述确定也可以基于在当前KPI和历史KPI之间的
比较来执行。服务器可以存储各种目标KPI,并且每组KPI可以对应于特定的加工场景,从而
可以在相同或相似的加工场景下将当前KPI与目标KPI进行比较。
[0064] 在确定需要优化之后,可以调整负载平衡模型来执行优化。也就是说,优化可以包括调整负载平衡模型的参数以改进负载调度和加工性能。如上所述,负载平衡模型可以包
括一个或多个目标函数。对于每个目标函数,可以有一个或多个可以调整的辅助变量(或权
重因子)。也就是说,在当前加工周期之后和下一个加工周期之前,可以基于大数据机制自
动地调整负载平衡模型的某些或所有目标函数的权重因子。
[0065] 图5示出了与所公开的实施例一致的基于大数据来调整负载平衡模型的权重因子的示例性优化过程。如图5中所示,大数据计算平台130可以获取用于优化负载平衡模型的
各种数据(S502)。使用大数据架构的意义在于,所获取的数据是广泛的和大量的,因为所获
取的数据可以是历史的和当前的二者,落来自当前的加工场所和其它加工场所,并且在各
种加工场景下。因此,这样的大数据架构可以为调整负载平衡模型产生更准确的结果。
[0066] 例如,大数据计算平台130可以获取关于负载调度和生产KPI等的数据。生产KPI可以指示实际加工环境和生产性能的当前状态。例如,KPI可以包括以下一项或多项:负载平
衡性能、子弹批次周期时间、热批次周期时间、实际周期时间、优选工具、实现移动目标、批
次步骤到期日期、调度稳定性以及减少设置更改等。
[0067] 如本文所使用的,负载平衡性能可以指代测量针对每个资源的总工作时间或百分比的KPI。热批次周期时间可以指代这样的KPI:该KPI用于测量针对子弹批次的周期时间,
该批次是在加工(fab)获得优先处理的并且在加工工具中在队列前处理的批次。子弹批次
周期时间可以指代测量针对子弹批次的周期时间的KPI,该批次是在加工获得更优先处理
的并且在处理工具中在队列最前端进行处理的批次。实际周期时间可以指代测量周期时间
的KPI,即完成一个批次的天数。优选工具可以指代测量优选工具上的调度的KPI,这是一种
指示优先分配在加工中是可以增加还是应该减少的方法。实现移动目标可以指代测量在加
工生产线上实现的每日移动目标(生产能力)的KPI。批次步骤到期日期可以指代用于测量
批次处理是否在加工的每个步骤都符合到期日期的KPI。调度稳定性可以指代测量生产线
中由优化器生产的调度稳定性的KPI。理论调度和实际调度之间的差异是被监测的。设置更
改可以指代测量在工艺工具上执行的设置更改以应用调度的KPI。
[0068] 其它性能指标也可以被包括。此外,大数据计算平台130可以获取历史数据以及实时数据(即,当前加工周期的数据)。例如,大数据计算平台130可以在相同的加工场景下获
取过去使用的负载调度及其相应的KPI。
[0069] 在获取用于优化的数据之后,大数据计算平台130可以计算所获取的用于优化的数据中的负载调度的分数(S504)。具体地,负载平衡模型可以被优化以最大化由负载平衡
模型生成的负载调度的分数。
[0070] 也就是说,对于相应加工场景下的每个负载调度,可以为每个负载调度计算分数。分数可以反映基于负载调度的加工性能。例如,高的分数可以反映当前加工的期望的性能,
即期望的KPI。分数可以通过任何适当的方法得出。在某些实施例中,可以基于负载调度的
适用目标函数来计算负载调度的分数。
[0071] 分数可以基于目标函数的值和相应的辅助变量或目标函数的权重因子来计算。具体地,可以确定负载平衡模型的每个目标函数的值,并且由于每个目标函数可以具有权重
因子,所以由负载平衡模型确定的负载调度的分数S可以计算为:
[0072] S=总和(目标函数权重因子*目标函数值)
[0073] 因此,由于负载平衡模型的目标函数的权重因子可以被调整,调度优化的目的是找到权重因子的最佳组合以实现最高分数。所述权重因子集合可以基于变量列表预先确
定,或可以由用户进行选择。
[0074] 此外,大数据计算平台130可以使用预先确定的算法来优化负载平衡模型(S506)。大数据计算平台130可以应用遗传算法、蒙特卡洛(Monte Carlo)算法、机器学习算法或其
它类似的优化算法来执行优化。也就是说,大数据计算平台130可以使用遗传算法或蒙特卡
洛算法来确定负载平衡模型的最佳权重因子集合,以基于负载平衡模型上的当前约束来实
现由负载平衡模型生成的负载调度的最高分数。
[0075] 在某些实施例中,大数据计算平台130可以使用机器学习算法来执行优化。图6示出了与所公开的实施例一致的示例性机器学习算法(例如,深度学习神经网络模型)600。
[0076] 如图6中所示,深度学习模型600可以包括输入层604、中间层606和608(隐藏层)以及输出层610等。输入602被提供给输入层604,输出612由输出层610提供。每一层可以包括
一个或多个神经网络节点。神经网络层的数量用于说明的目的,可以使用任何数量的神经
网络层。
[0077] 神经网络深度学习模型600可以用作示例用于说明,其它架构也可以类似地进行使用。在某些实施例中,大数据计算平台130可以首先使用生产KPI和负载调度分数之间的
关系来训练深度学习模型600。
[0078] 使用所获取的历史数据作为训练数据,可以获得先前的负载调度和一组生产KPI(例如,周期时间、晶圆移动)相应值。先前的负载调度可能来自不同的加工场景和工作站,
或可能来自相同的加工场景和相同的工作站,但是具有不同的产品批次。此外,如上所述,
可以获得或确定目标函数和目标函数权重因子,并且可以计算负载调度中的每个负载调度
的分数和/或权重因子。
[0079] 此外,深度学习模型600可以基于历史生产KPI和相应的分数和/或权重因子的值来进行训练。也就是说,生产KPI被提供作为深度学习模型600的输入602,并且权重因子的
分数和/或值被提供作为深度学习模型600的输出612。也就是说,在某些实施例中,深度学
习模型600的输出是分数,并且该分数可以用于导出权重因子的相应值。在某些其他实施例
中,权重因子的值可以直接是深度学习模型600的输出,并且分数可以基于权重因子的值来
计算。在某些其它实施例中,权重因子的分数和值都可以是深度学习模型600的输出。
[0080] 在深度学习模型600被训练之后,基于当前生产KPI的值,当前生产KPI集合的目标值可以作为输入被提供给深度学习模型600,然后负载调度的分数和负载平衡模型的权重
因子的值可以基于深度学习模型600的输出来获得。可选地,为了验证由深度学习模型600
所执行的优化的结果,可以计算当前负载调度的分数,并且可以将其与从深度学习模型600
获得的分数进行比较。如果确定所获得的分数大于当前负载调度的分数,则从深度学习模
型600获得的权重因子的值可以用作权重因子的优化值。
[0081] 回到图4,在为下一个加工周期自动地调整负载平衡模型之后(S410),调整后的负载平衡模型用于生成改进的负载调度,并且下一个加工周期可以基于改进的负载调度来开
始(S412)。此外,获得下一加工周期的生产KPI,并且确定生产KPI是否满足预设标准。然后
可以自动地重复上述优化周期,直到加工周期的生产KPI满足预设标准(S414)。
[0082] 因此,通过使用所公开的方法和系统,权重调整不是基于人类试验和对目标函数的理解,并且可以避免手动调整负载平衡模型的权重因子。此外,还可以避免操作人员之间
的任何误会或误解,以及可能是操作制造设备的操作人员的任何错误。此外,由于通过人类
试验进行权重调整的典型周期大约需要几天到一周,这是耗时的,并且在该调整期间会影
响生产线KPI(例如,周期时间和晶圆移动),因此可以极大地提高IC加工的制造成本、效率
和有效性。
[0083] 尽管通过使用说明书中的特定实施例描述了本公开内容的原理和实现,但是实施例的前述描述仅旨在帮助理解本公开内容的方法和方法的核心理念。同时,本领域普通技
术人员可以根据本公开内容的理念对特定实现和应用范围进行修改。总之,说明书的内容
不应被解释为对本公开内容的限制。