CN111933517A - 一种半导体工艺设备中工艺任务的启动方法、装置 - Google Patents
一种半导体工艺设备中工艺任务的启动方法、装置 Download PDFInfo
- Publication number
- CN111933517A CN111933517A CN202010821443.2A CN202010821443A CN111933517A CN 111933517 A CN111933517 A CN 111933517A CN 202010821443 A CN202010821443 A CN 202010821443A CN 111933517 A CN111933517 A CN 111933517A
- Authority
- CN
- China
- Prior art keywords
- task
- started
- process area
- area
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 1550
- 239000004065 semiconductor Substances 0.000 title claims abstract description 79
- 238000012545 processing Methods 0.000 claims description 15
- 229910002056 binary alloy Inorganic materials 0.000 claims description 3
- 239000000463 material Substances 0.000 abstract description 71
- 238000004140 cleaning Methods 0.000 description 26
- 238000011112 process operation Methods 0.000 description 26
- 101100314150 Caenorhabditis elegans tank-1 gene Proteins 0.000 description 20
- 235000012431 wafers Nutrition 0.000 description 16
- 238000012546 transfer Methods 0.000 description 12
- 239000002253 acid Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 8
- 230000000977 initiatory effect Effects 0.000 description 5
- 101100251965 Arabidopsis thaliana RLP51 gene Proteins 0.000 description 3
- 238000001035 drying Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000006260 foam Substances 0.000 description 1
- 238000005187 foaming Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L21/00—Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
- H01L21/67—Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
- H01L21/67005—Apparatus not specifically provided for elsewhere
- H01L21/67242—Apparatus for monitoring, sorting or marking
- H01L21/67276—Production flow monitoring, e.g. for increasing throughput
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L21/00—Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
- H01L21/02—Manufacture or treatment of semiconductor devices or of parts thereof
- H01L21/02041—Cleaning
- H01L21/02057—Cleaning during device manufacture
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L21/00—Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
- H01L21/67—Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
- H01L21/67005—Apparatus not specifically provided for elsewhere
- H01L21/67011—Apparatus for manufacture or treatment
- H01L21/67017—Apparatus for fluid treatment
- H01L21/67028—Apparatus for fluid treatment for cleaning followed by drying, rinsing, stripping, blasting or the like
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L21/00—Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
- H01L21/67—Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
- H01L21/67005—Apparatus not specifically provided for elsewhere
- H01L21/67011—Apparatus for manufacture or treatment
- H01L21/67155—Apparatus for manufacturing or treating in a plurality of work-stations
- H01L21/67207—Apparatus for manufacturing or treating in a plurality of work-stations comprising a chamber adapted to a particular process
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L21/00—Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
- H01L21/67—Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
- H01L21/67005—Apparatus not specifically provided for elsewhere
- H01L21/67242—Apparatus for monitoring, sorting or marking
- H01L21/67253—Process monitoring, e.g. flow or thickness monitoring
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本申请提供了一种半导体工艺设备中工艺任务启动的方法、装置,该方法包括:生成半导体工艺设备当前工艺任务的工艺区域关系列表;确定所有待启动工艺任务,生成每一个待启动工艺任务的工艺区域关系列表;基于当前工艺任务的工艺区域关系列表和每一个待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有所述待启动工艺任务中是否包括可启动工艺任务;当所有待启动工艺任务中包括可启动工艺任务时,按第二预设规则从所有可启动工艺任务选择出目标可启动工艺任务,并启动目标可启动工艺任务。由此,在任意一个时刻均不会出现目标可启动工艺任务和当前工艺任务针对的物料出现在两个相同的工艺区域但出现顺序相反的情况,避免死锁发生,提升生产效率。
Description
技术领域
本申请涉及半导体设备技术领域,具体涉及一种半导体工艺设备中工艺任务的启动方法、装置。
背景技术
死锁情况是在诸如晶圆清洗设备的半导体工艺设备中执行多任务的情况下,对半导体工艺设备的工作效率影响最大的异常情况。出现死锁情况会导致半导体工艺设备宕机,影响半导体工艺设备的产出量,半导体工艺设备无法正常工作。
以晶圆清洗设备为例,对于启动时间邻近的第一任务和第二任务,第一任务的乱序RouteRecipe表示为:Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1-Tank2–Tank7-Tank8–Dry–WTC–PDO1/PDO2–Shelf。半导体工艺设备中的第二个的乱序RouteRecipe表示为:Shelf–PDO1/PDO2–WTC–IOBuffer–Tank7-Tank8–Tank1-Tank2–Dry–WTC–PDO1/PDO2–Shelf。由于酸水绑定规则,Tank1、Tank2属于一个工艺区域,Tank7、Tank8属于一个工艺区域,同一个工艺区域中只能存在一个物料,物料可以为至少一组晶圆(也可以称之为晶片)。在Tank2与Tank8中均存在相应的物料的情况下,对于第一个任务而言,需要将Tank2中的物料移动到Tank7中,对于第二个任务而言,需要将Tank8中的物料移动到Tank1中。
对于第一个任务而言,由于Tank8中的物料正在由Tank7、Tank8组成的绑定区域,Tank2中物料无法移动到由Tank7、Tank8组成的工艺区域中的Tank7中,同时,对于第二个任务而言,由于Tank2中的物料正在由Tank1、Tank2组成一个工艺区域中,Tank1、Tank2组成一个工艺区域正在被Tank2占用,Tank8中的物料移动到由Tank1、Tank2组成一个工艺区域中的Tank1中。导致出现死锁情况。
导致死锁情况的实质原因为两个启动时间邻近的任务各自针对物料出现在的两个相同的工艺区域中但出现顺序相反。如何在酸水绑定规则下,避免死锁情况成为一个亟待解决的问题。
发明内容
为克服相关技术中存在的问题,本申请提供一种半导体工艺设备中工艺任务的启动方法、装置。
根据本申请实施例的第一方面,提供一种半导体工艺设备中工艺任务的启动方法,包括:
生成所述半导体工艺设备当前工艺任务的工艺区域关系列表,其中,所述当前工艺任务的工艺区域关系列表中包括所述当前工艺任务涉及的所有工艺区域组的工艺区域组标识;
确定所有待启动工艺任务,生成每一个所述待启动工艺任务的工艺区域关系列表,其中,所述待启动工艺任务的工艺区域关系列表包括所述待启动工艺任务涉及的所有工艺区域组的工艺区域组标识;
基于所述当前工艺任务的工艺区域关系列表和每一个所述待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有所述待启动工艺任务中是否包括可启动工艺任务;
当所有所述待启动工艺任务中包括所述可启动工艺任务时,按第二预设规则从所有所述可启动工艺任务选择出目标可启动工艺任务,并启动所述目标可启动工艺任务。
根据本申请实施例的第二方面,提供一种半导体工艺设备中工艺任务的启动装置,包括:
生成单元,被配置为生成所述半导体工艺设备当前工艺任务的工艺区域关系列表,其中,所述当前工艺任务的工艺区域关系列表中包括所述当前工艺任务涉及的所有工艺区域组的工艺区域组标识;
第一确定单元,被配置为确定所有待启动工艺任务,生成每一个所述待启动工艺任务的工艺区域关系列表,其中,所述待启动工艺任务的工艺区域关系列表包括所述待启动工艺任务涉及的所有工艺区域组的工艺区域组标识;
第二确定单元,被配置为基于所述当前工艺任务的工艺区域关系列表和每一个所述待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有所述待启动工艺任务中是否包括可启动工艺任务;
启动单元,被配置为当所有所述待启动工艺任务中包括所述可启动工艺任务时,按第二预设规则从所有所述可启动工艺任务选择出目标可启动工艺任务,并启动所述目标可启动工艺任务。
本申请实施例提供的半导体工艺设备中工艺任务的启动方法、装置,实现了利用工艺区域组标识识别不同工艺任务中物料出现在相同的工艺区域但出现顺序相反的情况。考虑了在启动时刻相邻的目标可启动任务与当前工艺任务在半导体工艺设备中并行运行的过程中,所有可能出现的物料出现在两个相同的工艺区域但出现顺序相反的情况。
确保启动时刻相邻的目标可启动任务与当前工艺任务在半导体工艺设备中并行运行的过程中,在任意一个时刻,均不会出现死锁情况。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1示出了本申请实施例提供的半导体工艺设备中工艺任务的启动方法的第一实施例的流程图;
图2示出了第一清洗机的一个示例性结构图;
图3示出了第二清洗机的一个示例性结构图;
图4示出了本申请实施例提供的半导体工艺设备中工艺任务的启动方法的第二实施例的流程图;
图5示出了为当前工艺任务涉及的工艺区域组的工艺区域组标识进行赋值的一个流程示意图;
图6示出了启动第一清洗机中的目标可启动工艺任务的一个流程示意图;
图7示出了启动第二清洗机中的目标可启动工艺任务的一个流程示意图;
图8示出了本申请实施例提供的半导体工艺设备中工艺任务的启动装置的结构框图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本申请实施例提供的半导体工艺设备中工艺任务的启动方法的第一实施例的流程图,该方法包括:
步骤101,生成半导体工艺设备当前工艺任务的工艺区域关系列表。
以下首先简要说明可以应用本申请实施例提供的工艺任务启动方法的晶圆清洗设备或者说清洗机的示例结构:
清洗机可以包括Station模块集合,Station模块集合表示为{shelf1,shelf2,shelf3,shelf4,shelf5,shelf6,shelf7,shelf8,shelf9,shelf10,shelf11,shelf12,shelf13,shelf14,shelf15,shelf16,PDO1,PDO2}。
盒架(Shelf)用于临时存放片盒(Foup),一个Foup中可以存放一组Wafer(晶圆或者说晶片)。每一个Shelf上最多可以放置一个Foup,Shelf上有传感器可以检测Foup的个数(0或1)。清洗机中共有16个Shelf,至多可以存放16个Foup。
PDO用于实现开关Foup门并进行Mapping(扫描)功能。当物料例如一组晶片进入清洗机被放置在PDO上时,PDO执行开门操作对Foup中的晶片即wafer做Mapping校验,避免物料残留和Wafer放置异常。
清洗机包括多个Tank模块,Tank模块可以称之为工艺单元,就清洗机来说也可以称之为工艺槽。Tank模块集合可以表示为{Tank1(T1),Tank2(T2),Tank3(T3),Tank4(T4),Tank5(T5),Tank6(T6),Tank7(T7),Tank8(T8),Dry,WTC,IOBuffer,EEWD}。
Tank用于对作为物料的至少一组Wafer执行工艺操作,每一个Tank中最多可以放置两组Wafer,Tank的所有类型可以包括危险工艺单元(Critical Tank)和常规工艺单元(Rinse Tank)。Critical Tank中的物料工艺精度要求较高,Critical Tank可以为不允许过泡的酸工艺单元。允许过泡的酸工艺单元、水工艺单元、Dry、IOBuffer、WTC、EEWD等为Rinse Tank。
Dry为干燥工艺单元,用于对物料执行drying工艺操作,确保工艺任务即job完成后的物料是干燥的。IOBuffer用于对物料执行Align校准操作。WTC用于将同一任务的物料合并放置在一个Tank中以同时进行工艺操作。EEWD用于对抓取不同酸槽中物料的机械手执行洗手操作,降低对不同酸工艺单元中酸的污染。
清洗机可以包括一个FoupRobot机械手、一个WHR机械手、一个WTR机械手、多个DualLifter机械手。片盒机械手(Foup Robot,FR)负责Foup的传送的机械手,FR可以在Shelf与PDO之间进行双向移动,一次抓取一个Foup。晶片抓取机械手(Wafer HandlingRobot,WHR)为负责干燥的物料的传送的机械手,WHR可以在PDO与WTC之间进行双向移动,WHR一次可以抓取一组wafer。晶片传输机械手(Wafer Transferring Robot,WTR)负责不使用双槽机械手(Duallifter)的Tank之间的潮湿物料物料的传送,WTR可以在不使用双槽机械手(Duallifter)的两个Tank之间进行双向移动。WTR一次可以抓取两组wafer。Duallifter负责潮湿物料的传送的机械手,Duallifter可以在为与其对应的固定的两个Tank之间进行双向移动,Duallifter可以一次抓取两组wafer。
进一步地,本申请实施例提供的工艺任务启动方法可以应用在第一类型的清洗机或第二类型的清洗机上。第一类型的清洗机也可称之为第一清洗机。第二类型的清洗机也可称之为第二清洗机。
请参考图2,其示出了第一清洗机的一个示例性结构图。
在第一清洗机中,酸工艺单元集合包括:Tank1、Tank3、Tank4、Tank7,水工艺单元集合包括:Tank2、Tank5、Tank6、Tank8,Dry为干燥工艺单元。Tank1与Tank2之间的物料的传送、Tank7与Tank8之间的物料的传送均由相应的Duallifter负责。其余的Tank之间的物料的传送均由WTR负责。
第一清洗机中的Critical Tank集合可以表示为{T1,T3,T4,T7}。第一清洗机中的Rinse Tank集合可以表示为{T2,T5,T6,T8,Dry,IOBuffer,WTC,EEWD}。
第一清洗机可以包括5个机械手。第一清洗机的机械手集合可以表示为{FR,WTR,WHR,Duallifter12(D12),Duallifter78(D78)}。D12负责Tank1与Tank2之间的物料的传送,D78负责Tank7与Tank8之间的物料的传送。
第一清洗机的Job的工艺路径可以包括以下工艺路径,其中,并行可以利用“/”表示,表示路径中包括两者中的一个:
全Duallifter RouteRecipe:
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
单Duallifter RouteRecipe:
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Dry–WTC–PDO1/PDO2–Shelf;
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
串行全RouteRecipe:
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank3–Tank4–Tank5–Tank6-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank3–Tank5-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank4–Tank6-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
并行全RouteRecipe:
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank3/Tank4–Tank5/Tank6-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
Tank3Tank4串行,Tank5Tank6并行RouteRecipe:
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank3-Tank4–Tank5/Tank6-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank3–Tank5/Tank6-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank4–Tank5/Tank6-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
Tank3Tank4并行,Tank5Tank6串行RouteRecipe:
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank3/Tank4–Tank5-Tank6-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank3/Tank4–Tank5-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank3/Tank4–Tank6-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
指定PDO RouteRecipe:
Shelf–PDO1-…-PDO1–Shelf;
Shelf–PDO1-…-PDO2–Shelf;
乱序RouteRecipe,例如,Shelf–PDO1/PDO2–WTC–IOBuffer–A–C–B-Dry–WTC–PDO1/PDO2–Shelf,A、C、B表示执行的工艺操作发生在工艺单元所属的工艺区域的标识。
PDO组合方式:所有Job均指定单个PDO、所有Job均使用并行PDO(PDO1/PDO2)
请参考图3,其示出了第二清洗机的一个示例性结构图。
在第二清洗机中,Tank1、Tank3、Tank5、Tank7为酸工艺单元,Tank2、Tank4、Tank6、Tank8为水工艺单元。Tank1与Tank2之间的物料传送,Tank3与Tank4之间的物料传送、Tank5与Tank6之间的物料传送、Tank7与Tank8之间的物料传送均由相应的Duallifter负责。
第二清洗机的Critical Tank集合可以表示为{T1,T3,T5,T7}。第二预清洗机的Rinse Tank集合可以表示为{T2,T4,T6,T8,Dry,IOBuffer,WTC,EEWD}。第二清洗机可以包括7个机械手,第二清洗机的机械手集合可以表示为{FR,WTR,WHR,D12,Duallifter34(D34),Duallifter56(D56),D78}。D34负责Tank3与Tank4之间的物料传送。D56负责Tank5与Tank6之间物料传送。
第二清洗机的Job的工艺路径包括以下工艺路径:
全RouteRecipe:Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank3–Tank4–Tank5–Tank6–Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
单Duallifter RouteRecipe:
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Dry–WTC–PDO1/PDO2–Shelf;
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank3–Tank4–Dry–WTC–PDO1/PDO2–Shelf;
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank5–Tank6–Dry–WTC–PDO1/PDO2–Shelf;
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf;
指定PDO RouteRecipe:
Shelf–PDO1-…-PDO1–Shelf;
Shelf–PDO1-…-PDO2–Shelf;
乱序RouteRecipe,例如Shelf–PDO1/PDO2–WTC–IOBuffer–B–C–A-D-Dry–WTC–PDO1/PDO2–Shelf,B、C、A、D表示执行的工艺操作发生在工艺单元所属的工艺区域的标识。
PDO组合方式包括:所有Job均指定单个PDO、所有Job均使用并行PDO(PDO1/PDO2)
在本实施例中,可以将工艺任务称之为Job,当前Job可以是指已经启动的还没有完成的所有Job中的启动时间最晚的Job,当前Job也可称之为最近启动的Job。每一次确定一个目标可启动Job,启动该次确定的目标可启动Job,该次确定的目标可启动Job成为当前Job。
可以将半导体工艺设备中的当前Job的工艺区域关系列表称之为routeRegionSort。任务的工艺路径可以称之为RouteRecipe。
在一些实施例中,当前工艺任务为以下之一:半导体工艺设备正在执行的工艺任务、半导体工艺设备新启动的工艺任务。
在当前工艺任务为半导体工艺设备正在执行的工艺任务时,当前工艺任务可以是指针对的物料正在工艺单元中被进行工艺操作并且启动时间最晚的任务。在当前工艺任务为半导体工艺设备新启动的工艺任务时,当前工艺任务可以是指已经启动的任务中针对的物料还未离开盒架并且启动时间最晚的任务。
在确定目标可启动Job时,当前Job针对的物料可能已经离开盒架,当前Job针对的物料正在工艺单元中被进行工艺操作。此时,当前Job可以称之为正在Tank中工艺的当前Job。
在确定目标可启动Job时,当前Job针对的物料可能还未离开盒架,此时,当前Job可以称之为新启动的Job。
在本实施例中,以上述的清洗机为例,工艺区域可以是指包括至少一个酸工艺单元和至少一个水工艺单元的区域,工艺区域也可称之为酸-水工艺区域。
在本实施例中,每一个工艺单元各自属于一个工艺区域。多个工艺单元可以均属于同一个工艺区域。
例如,Tank1-Tank2属于工艺区域A,Tank3-Tank6属于工艺区域B,Tank7-Tank8属于工艺区域C。
当前Job的工艺区域关系列表routeRegionSort包括当前工艺任务涉及的所有工艺区域组的工艺区域组标识。
当前Job的工艺区域关系列表routeRegionSort工艺区域关系列表中的工艺区域组标识可以通过将当前工艺任务涉及的工艺区域的工艺区域标识进行组合而得到。
当前Job包括一系列按照执行顺序的针对物料的工艺操作。每一个工艺操作各自在一个工艺单元中被执行。
当前Job的工艺路径RouteRecipe描述当前Job中的执行工艺操作的工艺单元的顺序。
在本实施例中,在当前Job执行时,会针对物料执行工艺操作的工艺单元可以称之为当前Job涉及的工艺单元。
在本实施例中,当前Job涉及的工艺区域可以是指:在当前Job执行时,会针对物料执行工艺操作的工艺单元所属的工艺区域。
在本实施例中,可以对半导体工艺设备中的多个工艺区域进行组合,得到半导体工艺设备的多个工艺区域组。
当前Job涉及的工艺区域组可以是指:半导体工艺设备的多个工艺区域组中的、由当前Job涉及的两个工艺区域组成的工艺区域组。
在本实施例中,对于当前Job涉及的每一个工艺区域组,可以根据在当前Job被执行时,物料离开当前Job涉及的工艺区域的时刻的早晚关系,确定该工艺区域组中的、当前Job涉及的两个工艺区域的前后关系。
对于当前Job涉及的一个工艺区域组,在当前Job被执行时,物料离开该工艺区域组中的一个工艺区域的时刻早于的物料离开该工艺区域组中的另一个工艺区域的时刻,则该工艺区域组中的两个工艺区域的前后关系为:该一个工艺区域在前,该另一个工艺区域在后。
在本实施例中,对于当前Job涉及的每一个工艺区域,若该工艺区域组中的两个工艺区域在当前Job中的前后关系与该两个工艺区域的在半导体工艺设备中的前后关系一致,则可以称之为该工艺区域组在当前Job中的状态为正序状态。
应理解,工艺区域组的状态是相对于工艺任务而言。同一个工艺区域组在两个不同的工艺任务中的状态可能相同,也可能不同。
对于当前Job涉及的每一个工艺区域,若该工艺区域组中的两个工艺区域在当前Job中的前后关系与该两个工艺区域的在半导体工艺设备中的前后关系不一致,则可以称之为该工艺区域组在当前Job中的状态为逆序状态。
例如,当前Job的完整路径为Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank3–Tank4–Tank5–Tank6-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf。
按照对当前Job针对的物料进行工艺操作的时刻由早至晚的顺序为Tank1、Tank2、Tank3、Tank4、Tank5、Tank6、Tank7、Tank8,即首先在Tank1中对当前Job针对的物料进行工艺操作,然后,在Tank2中对当前Job针对的物料进行工艺操作,依次类推。
当前Job涉及的所有工艺单元包括Tank1、Tank2、Tank3、Tank4、Tank5、Tank6、Tank7、Tank8。
当前Job针对的物料进行工艺操作的时刻由早至晚的顺序为Tank1、Tank2、Tank3、Tank4、Tank5、Tank6、Tank7、Tank8。
Tank1-Tank2属于工艺区域A,Tank3-Tank6属于工艺区域B,Tank7-Tank8属于工艺区域C。
在半导体工艺设备中,工艺区域由前至后的顺序为工艺区域A、工艺区域B,工艺区域C。
当前Job涉及的所有工艺区域包括工艺区域A、工艺区域B、工艺区域C。
当前Job涉及的所有工艺区域按照物料离开的时刻由早至晚的顺序排序为:工艺区域A、工艺区域B、工艺区域C。
换言之,当前Job涉及的所有工艺区域依次为:工艺区域A、工艺区域B、工艺区域C。
当前Job涉及的所有工艺区域组包括:由工艺区域A与工艺区域B组成的工艺区域组、由工艺区域A与工艺区域C组成的工艺区域组、由工艺区域B与工艺区域C组成的工艺区域组。
在由工艺区域A与工艺区域B组成的工艺区域组中,在当前Job被执行时,物料离开工艺区域A的时刻早于物料离开工艺区域B的时刻,因此,工艺区域A与工艺区域B在当前Job中的前后关系为工艺区域A在工艺区域B之前,该工艺区域组中的工艺区域A和工艺区域B在当前Job中的前后关系与工艺区域A和工艺区域B在半导体工艺设备中的前后关系一致,因此,由工艺区域A与工艺区域B组成的工艺区域组在当前Job中的状态为正序状态。
在由工艺区域A与工艺区域C组成的工艺区域组中,工艺区域A与工艺区域C在当前Job中的前后关系为工艺区域A在工艺区域C之前,该工艺区域组中的工艺区域A和工艺区域C在当前Job中的前后关系与工艺区域A和工艺区域C在半导体工艺设备中的前后关系一致,因此,由工艺区域A与工艺区域C组成的工艺区域组在当前Job中的状态为正序状态。
在由工艺区域B与工艺区域C组成的工艺区域组中,工艺区域B与工艺区域C在当前Job中的前后关系为工艺区域B在工艺区域C之前,该工艺区域组中的工艺区域B和工艺区域C在当前Job中的前后关系与工艺区域B和工艺区域C在半导体工艺设备中的前后关系一致,因此,由工艺区域B与工艺区域C组成的工艺区域组在当前Job中的状态为正序状态。
例如,当前Job的完整路径为Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank7–Tank8-Tank3–Tank4–Tank5–Tank6–Dry–WTC–PDO1/PDO2–Shelf。
在半导体工艺设备中,所有工艺单元由前至后的顺序为Tank1、Tank2、Tank3、Tank4、Tank5、Tank6、Tank7、Tank8、。
当前Job涉及的所有工艺单元包括Tank1、Tank2、Tank3、Tank4、Tank5、Tank6、Tank7、Tank8。
当前Job针对的物料进行工艺操作的时刻由早至晚的顺序为Tank1、Tank2、Tank7、Tank8、Tank3、Tank4、Tank5、Tank6。
Tank1-Tank2属于工艺区域A,Tank3-Tank6属于工艺区域B,Tank7-Tank8属于工艺区域C。
当前Job涉及的所有工艺区域包括工艺区域A、工艺区域B、工艺区域C。
当前Job涉及的所有工艺区域按照物料离开工艺区域的时刻由早至晚的顺序排序为:工艺区域A、工艺区域C、工艺区域B。
换言之,当前Job涉及的所有工艺区域依次为工艺区域A、工艺区域C、工艺区域B。
当前Job涉及的所有工艺区域组包括:由工艺区域A与工艺区域B组成的工艺区域组、由工艺区域A与工艺区域C组成的工艺区域组、由工艺区域C与工艺区域B组成的工艺区域组。
在由工艺区域A与工艺区域B组成的工艺区域组中,工艺区域A与工艺区域B在当前Job中的前后关系为工艺区域A在工艺区域B之前,该工艺区域组中的工艺区域A和工艺区域B在当前Job中的前后关系与工艺区域A和工艺区域B在半导体工艺设备中的前后关系一致,因此,由工艺区域A与工艺区域B组成的工艺区域组在当前Job中的状态为正序状态。
在由工艺区域A与工艺区域C组成的工艺区域组中,工艺区域A与工艺区域C在当前Job中的前后关系为工艺区域A在工艺区域C之前,该工艺区域组中的工艺区域A和工艺区域C在当前Job中的前后关系与工艺区域A和工艺区域C在半导体工艺设备中的前后关系一致,因此,由工艺区域A与工艺区域C组成的工艺区域组在当前Job中的状态为正序状态。
在由工艺区域C与工艺区域B组成的工艺区域组中,在当前Job被执行时,物料离开工艺区域C的时刻早于物料离开工艺区域B的时刻,因此,工艺区域C与工艺区域B在当前Job中的前后关系为工艺区域C在工艺区域B之前,该工艺区域组中的工艺区域C和工艺区域B在当前Job中的前后关系与工艺区域B和工艺区域C在半导体工艺设备中的前后关系不一致,因此,由工艺区域C与工艺区域B组成的工艺区域组在当前Job中的状态为逆序状态。
在本实施例中,为生成半导体工艺设备中的当前工艺任务的工艺区域关系列表,可以首先生成当艺Job的工艺单元标识序列。
当前Job的工艺单元标识序列包括:当前Job涉及的每一个工艺单元的标识。
在当前Job的工艺单元标识序列中,工艺单元标识的顺序与当前Job的工艺路径描述的工艺单元执行工艺操作的顺序一致。
例如,当前Job的工艺路径为Tank3–Tank4–Tank5–Tank6-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf。当前Job涉及用于进行工艺操作的Tank3、用于进行工艺操作的Tank4、用于进行工艺操作的Tank5、用于进行工艺操作的Tank6、用于进行工艺操作的Tank7、用于进行工艺操作的Tank8等多个工艺单元。当前Job的工艺单元标识序列包括:Tank3的工艺单元标识T3、Tank4的工艺单元标识T4、Tank5的工艺单元标识T5、Tank6的工艺单元标识T6、Tank7的工艺单元标识T7、Tank8的工艺单元标识T8。Tank3的工艺单元标识T3为当前Job的工艺单元标识序列中的第1个工艺单元标识,Tank4的工艺单元标识T4为当前Job的工艺单元标识序列中的第2个工艺单元标识,依次类推。
在本实施例中,为生成半导体工艺设备中的当前Job的工艺区域关系列表,在生成当前Job的工艺单元标识序列之后,可以遍历当前Job的工艺单元标识序列,在遍历过程中,每一次访问一个工艺单元标识,以生成由当前Job涉及的多个工艺区域的工艺区域标识组成的、当前Job的工艺区域标识序列。当前Job的工艺区域标识序列中的所有工艺区域标识相当于通过对当前Job涉及的每一个工艺单元所属的工艺区域的标识进行进行聚合,然后进行去重之后得到。
首先访问当前Job的工艺单元标识序列中的第1个工艺单元标识,然后,访问当艺Job的工艺单元标识序列中的第2个工艺单元标识,以此类推。
当访问到一个工艺单元标识,并且具有该工艺单元标识的工艺单元与后一个工艺单元标识对应的工艺单元属于不同的工艺区域,则首先生成具有该工艺单元标识的工艺单元所属的工艺区域的工艺区域标识,然后,生成具有该后一个工艺单元标识对应的工艺单元所属的工艺区域的工艺区域标识。
每一个工艺区域各自具有一个工艺区域标识。例如工艺区域A的工艺区域标识为A,工艺区域B的工艺区域标识为B,工艺区域C的工艺区域标识为C。
当访问到的多个位置连续的工艺单元标识中的每一个工艺单元标识所属的工艺单元均属于同一个工艺区域时,则仅生成一个工艺区域标识即该同一个工艺区域的工艺区域标识。直至访问到所属的工艺区域与该多个位置连续的工艺单元标识中的每一个工艺单元标识所属的工艺区域不同的工艺单元标识,再生成该工艺单元标识所属的工艺区域的工艺区域标识。
生成的所有工艺区域标识可以构成当前Job的工艺区域标识序列,在当前Job工艺区域标识序列中,所有工艺区域标识的顺序为工艺区域标识的生成时刻由早至晚的顺序。
在当前Job的工艺区域标识序列中的所有工艺区域标识的顺序实际就是当前Job涉及的所有工艺区域按照物料离开工艺区域的时刻由早至晚进行排序得到的顺序。
在生成当前Job的工艺区域标识序列之后,可以以预设的正序组合方式对生成的工艺区域标识序列中的工艺区域标识进行组合,得到至少一个工艺区域组标识,这里正序可以为工艺单元的设置顺序。
对于工艺区域标识序列中的每一个工艺区域标识,若该工艺区域标识不是工艺区域标识序列中的最后一个工艺区域标识,将该工艺区域标识分别与位于该工艺区域标识之后的每一个工艺区域标识进行组合,得到该工艺区域标识对应的所有工艺区域组标识。
对于工艺区域标识序列中的每一个工艺区域标识,在该工艺区域标识对应的所有工艺区域组标识中,该工艺区域标识位于该工艺区域标识之后的一个工艺区域标识之前。
在得到工艺区域标识序列中的每一个工艺区域标识各自对应的所有工艺区域组标识之后,工艺区域标识序列中的每一个工艺区域标识各自对应的所有工艺区域组标识组合为当前工艺任务的工艺区域关系列表。
以第一清洗机为例,例如,当前Job的工艺单元标识序列包括:Tank3的工艺单元标识T3、Tank4的工艺单元标识T4、Tank5的工艺单元标识T5、Tank6的工艺单元标识T6、Tank7的工艺单元标识T7、Tank8的工艺单元标识T8。Tank3-Tank6均属于工艺区域B,Tank7-Tank8均属于工艺区域C。
依次访问Tank3的工艺单元标识T3、Tank4的工艺单元标识T4、Tank5的工艺单元标识T5、Tank6的工艺单元标识T6,T3、T4、T5、T6为多个位置连续的工艺单元标识,Tank3-Tank6均属于工艺区域B,因此,仅生成工艺区域B的标识B。
T6所属的工艺单元Tank6与Tank7不同,当访问到Tank7的工艺单元标识T7,生成工艺区域C的工艺区域标识C。依次访问Tank7的工艺单元标识、Tank8的工艺单元标识,T7、T8为多个位置连续的工艺单元标识,由于Tank7-Tank8均属于工艺区域C,因此,仅生成工艺区域C的工艺区域标识C。
生成的所有工艺区域标识包括B、C,所有工艺区域标识B、C可以组成当前Job的工艺区域标识序列。在当前Job的工艺区域标识序列中,B位于C之前。
在得到当前Job的工艺区域标识序列之后,以预设正序组合方式将工艺区域标识序列中的工艺区域标识进行组合,得到至少一个工艺区域组标识。对于工艺区域标识B而言,工艺区域标识C位于工艺区域标识B之后,可以将工艺区域标识B与工艺区域标识C组合,得到工艺区域标识B对应的工艺区域组标识BC。C之后没有其他工艺区域标识,因此,C不会与其他工艺标识进行组合。因此,当前工艺任务的工艺区域关系列表包括BC。
步骤102,确定所有待启动工艺任务,生成每一个待启动工艺任务的工艺区域关系列表。
生成任意一个待启动Job的工艺区域关系列表与上述生成半导体工艺设备中的当前工艺任务的工艺区域关系列表同理,可以参考上述生成当前工艺任务的工艺区域关系列表的过程。
例如,半导体工艺设备包括工艺区域A、工艺区域B、工艺区域C、工艺区域D等工艺区域,Tank1-Tank2属于工艺区域A、Tank3-Tank4属于工艺区域B、Tank5-Tank6属于工艺区域C、Tank7-Tank8属于工艺区域D。
一个待启动Job的完整路径为Shelf–PDO1/PDO2–WTC–IOBuffer–Tank1–Tank2–Tank3–Tank4–Tank5–Tank6-Tank7–Tank8–Dry–WTC–PDO1/PDO2–Shelf。
该待启动Job涉及的工艺单元按针对物料进行工艺操作的时刻由早至晚的顺序排序为为Tank1、Tank2、Tank3、Tank4、Tank5、Tank6、Tank7、Tank8,即首先在Tank1中对物料进行工艺操作,然后,再在Tank2中对物料进行工艺操作,依次类推。
该待启动Job涉及的多个工艺区域依次为工艺区域A,工艺区域B、工艺区域C、工艺区域D。该待启动Job涉及的多个工艺区域的工艺区域标识构成工艺区域标识序列。在工艺区域标识序列中,依次包括工艺区域A的工艺区域标识A,工艺区域B的工艺区域标识B、工艺区域C的工艺区域标识C、工艺区域D的工艺区域标识D。
A分别与位于A之后的B、C、D进行组合,得到工艺区域组标识AB、AC、AD,B分别与位于B之后的C、D进行组合,得到工艺区域组标识BC、BD。C与位于C之后的D进行组合,得到工艺区域组标识CD。
得到的所有工艺区域组标识可以构成该待启动Job的工艺区域关系列表,该待启动Job的工艺区域关系列表包括:AB、AC、AD、BC、BD、CD。
在本实施例的一些可选的实现方式中,确定所有待启动工艺任务,生成每一个待启动工艺任务的工艺区域关系列表,包括:当该当前工艺任务涉及多个工艺区域中的一个预设工艺区域时,确定当前工艺任务中预设工艺区域对应的串并类型;确定所有所述待启动工艺任务中涉及预设工艺区域的待启动工艺任务;确定每一个涉及预设工艺区域的所述待启动工艺任务中预设工艺区域对应的串并类型;将涉及预设工艺区域的且预设工艺区域对应的串并类型与当前工艺任务中所述预设工艺区域对应的串并类型相匹配的待启动工艺任务确定为目标待启动工艺任务;生成每一个所述目标待启动工艺任务的工艺区域关系列表。
在本实施例中,在当前工艺任务涉及多个工艺区域中的一个预设工艺区域时,所有待启动任务中涉及该预设工艺区域并且预设工艺区域对应的串并类型与当前工艺任务中预设工艺区域对应的串并类型相匹配的待启动工艺任务可以称之为目标待启动工艺任务。
在存在至少一个目标待启动工艺任务的情况下,则在生成每一个待启动工艺任务的工艺区域关系列表的过程中,可以优先生成每一个目标待启动工艺任务的工艺区域关系列表,以进行后续的步骤。
对于一个工艺任务例如当前工艺任务或任意一个待启动工艺任务,该工艺任务中预设工艺区域对应的串并类型可以是指该工艺任务的路径中的对应于预设工艺区域的子路径的串并类型。
对于一个工艺任务例如当前工艺任务或任意一个待启动工艺任务,该工艺任务的路径中的对应于预设工艺区域的子路径可以是指该工艺任务的路径中的、涉及属于预设工艺区域的工艺单元的子路径。
以上述的第一清洗机为例,预设工艺区域可以为工艺区域B。当一个待启动Job的路径为全Duallifter RouteRecipe时,则该待启动Job的工艺路径不包括对应于预设工艺区域即工艺区域B的子路径,该待启动Job的工艺路径中的对应于工艺区域B的子路径的串并类型为空。相应的,待启动Job中工艺区域B对应的串并类型为空。同理,当前Job的路径为全Duallifter RouteRecipe时,则该当前Job的工艺路径不包括对应于工艺区域B的子路径,当前Job的工艺路径中的对应于工艺区域B的子路径的串并类型为空。相应的,当前Job中工艺区域B对应的串并类型为空。
类似的,当一个待启动Job的路径为单Duallifter RouteRecipe时,则该待启动Job的工艺路径不包括对应于工艺区域B的子路径,该待启动Job的工艺路径中的对应于工艺区域B的子路径的串并类型为空。同理,当前Job为单Duallifter RouteRecipe时,则当前Job的工艺路径不包括对应于预设工艺区域的子路径,当前Job的工艺路径中的对应于工艺区域B的子路径的串并类型为空。
当待启动Job的路径为串行全RouteRecipe时,待启动Job的路径中的对应于工艺区域B的子路径的串并类型为Tank3和Tank4串行并且Tank5和Tank6串行。相应的,待启动Job中工艺区域B对应的串并类型为Tank3和Tank4串行并且Tank5和Tank6串行。同理,当前Job的路径为串行全RouteRecipe时,当前Job的路径中的对应于工艺区域B的子路径的串并类型为Tank3和Tank4串行并且Tank5和Tank6串行。相应的,当前Job中工艺区域B对应的串并类型为为Tank3和Tank4串行并且Tank5和Tank6串行。
当待启动Job的路径为Tank3和Tank4串行并且Tank5和Tank6并行的RouteRecipe时,待启动Job的路径中的对应于工艺区域B的子路径的串并类型为Tank3Tank4串行并且Tank5和Tank6并行。同理,当前Job的路径为Tank3和Tank4串行并且Tank5和Tank6并行的RouteRecipe时,当前Job的路径中的对应于工艺区域B的子路径的串并类型为Tank3和Tank4串行并且Tank5和Tank6并行。
步骤103,基于当前工艺任务的工艺区域关系列表和每一个待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有待启动工艺任务中是否包括可启动工艺任务。
在本实施例中,在基于当前工艺任务的工艺区域关系列表和每一个目标待启动工艺任务的工艺区域关系列表,确定所有待启动工艺任务是否包括至少一个可启动任务时,第一预设规则可以为:若一待启动工艺任务和当前工艺任务均涉及一工艺区域组,但该工艺区域组在该启动工艺任务和当前工艺任务中的状态不同时,该待启动工艺任务不属于可启动工艺任务,否则该待启动工艺任务属于可启动工艺任务。
假设当前工艺任务涉及一特定工作区域组,且该工作区域组的状态为正序,对于每一个待启动工艺任务,确定该待启动工艺任务的工艺区域关系列表是否包括该特定工作区域组且其状态为逆序,若否,确定该待启动工艺任务可以作为一个可启动任务,若是,确定该待启动工艺任务不可以作为一个可启动任务。
该特定工作区域组的工艺区域组标识中工艺区域标识的顺序与当前工艺任务中该特定工作区域组的工艺区域标识的顺序不同或者说顺序相反,即表明该工艺区域组在该启动工艺任务和当前工艺任务中的状态不同,否则即表明该工艺区域组在该启动工艺任务和当前工艺任务中的状态相同。
例如,当前工艺任务的工艺路径的多个工艺区域依次为A、B、C。在当前工艺任务被执行时,首先在工艺区域A中的至少一个工艺单元中对物料进行工艺,然后在工艺区域B中的至少一个工艺单元中对物料进行工艺,最后在工艺区域C中的至少一个工艺单元中对物料进行工艺。
在当前工艺任务的工艺区域标识列表中,工艺区域标识由前至后依次为A、B、C。以预设正序组合方式对工艺区域标识列表中的工艺区域标识进行组合,得到当前工艺任务的工艺区域关系列表,当前工艺任务的工艺区域关系列表包括:AB、AC、BC。
对于一个待启动工艺任务,该待启动工艺任务涉及的多个工艺区域依次为A、C、B。若启动该待启动工艺任务,首先在工艺区域A中的至少一个工艺单元中对物料进行工艺,然后在工艺区域C中的至少一个工艺单元中对物料进行工艺,最后在工艺区域B中的至少一个工艺单元中对物料进行工艺。
在该待启动工艺任务的工艺区域标识列表中,工艺区域标识由前至后依次为A、C、B。以预设正序组合方式工艺区域标识列表中的工艺区域标识进行组合,得到当前工艺任务的工艺区域关系列表,当前工艺任务的工艺区域关系列表包括:AC、AB、CB。
待启动工艺任务的工艺区域关系列表中的AB与当前工艺任务的工艺区域关系列表中的AB包括的工艺区域标识相同,当前工艺任务的工艺区域关系列表中的AB为对应于待启动工艺任务的工艺区域关系列表中的AB的工艺区域组标识。
待启动工艺任务的工艺区域关系列表中的AC与当前工艺任务的工艺区域关系列表中的AC包括的工艺区域标识相同,当前工艺任务的工艺区域关系列表中的AC为对应于待启动工艺任务的工艺区域关系列表中的AC的工艺区域组标识。
待启动工艺任务的工艺区域关系列表中的CB与当前工艺任务的工艺区域关系列表中的BC包括的工艺区域标识相同,当前工艺任务的工艺区域关系列表中的BC为对应于待启动工艺任务的工艺区域关系列表中的CB的工艺区域组标识。
待启动工艺任务的工艺区域关系列表中的AB与当前工艺任务的工艺区域关系列表中的AB顺序相同。待启动工艺任务的工艺区域关系列表中的AC与当前工艺任务的工艺区域关系列表中的AC中顺序相同。待启动工艺任务的工艺区域关系列表中的CB与当前工艺任务的工艺区域关系列表中的BC顺序不同。因此,该待启动工艺任务不可以作为一个可启动任务。
又例如,当前工艺任务的工艺区域关系列表包括:AB、AC、BC,一个待启动工艺任务的工艺区域关系列表包括:AB、AC、BC。
该当前工艺任务和待启动工艺任务的工艺区域关系列表中的AB、AC、BC的顺序均是相同的,因此,该待启动工艺任务可以作为一个可启动任务。
需要说明的是,上述一待启动工艺任务并不特指某一个待启动工艺任务,上述一待启动工艺任务和当前工艺任务均涉及的一工艺区域组也并不特指某一个工艺区域组。
在本实施例中,对于任意一个待启动工艺任务,可以将该待启动工艺任务与当前工艺任务共同涉及的一个工艺区域组称之为该待启动工艺任务和当前工艺任务均涉及的一工艺区域组。
对于任意一个待启动工艺任务,若该待启动工艺任务和当前工艺任务均涉及一个工艺区域组并且该工艺区域组在该待启动工艺任务中的状态和该工艺区域组在当前工艺任务中的状态不同时,可以确定该待启动工艺任务不属于可启动工艺任务。
对于一个待启动工艺任务,若对于该待启动工艺任务和当前工艺任务共同涉及的每一个工艺区域组,该工艺区域组在该待启动工艺任务中的状态和在该工艺区域组在当前工艺任务中的状态相同,则该待启动任务可以作为可启动任务。
在一些实施例中,基于当前工艺任务的工艺区域关系列表和每一个待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有待启动工艺任务中是否包括可启动工艺任务,包括:基于当前工艺任务的工艺区域关系列表和每一个目标待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有目标待启动工艺任务中是否包括可启动工艺任务。
在本申请中,在确定是否存在可启动工艺任务时,在所有待启动任务包括至少一个目标待启动的工艺任务的情况下,可以仅确定所有目标待启动工艺任务中是否包括可启动工艺任务。换言之,仅从所有目标待启动工艺任务中查找可启动工艺任务,可启动任务来自所有目标待启动工艺任务。当从所有目标待启动工艺任务中查找出至少一个可启动工艺任务时,则可以确定存在至少一个可启动工艺任务,相应的,可以确定所有待启动任务包括可启动任务。
在一些实施例中,将半导体工艺设备中的每一个工艺区域的工艺区域组标识对应于一二进制键值对,初始值为00,正序值为01,逆序值为10。基于这样的设定,基于当前工艺任务的工艺区域关系列表和每一个待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有待启动工艺任务中是否包括可启动工艺任务,包括:分别对每一个待启动工艺任务的工艺区域关系列表和当前工艺任务的工艺区域关系列表执行二进制或计算,得到每一个待启动工艺任务的计算结果:若一待启动工艺任务的计算结果中包括11时,确定该待启动工艺任务不属于可启动工艺任务;若一待启动工艺任务的计算结果中不包括11时,确定该待启动工艺任务为可启动工艺任务。
在本实施例中,在对一个待启动工艺任务的工艺区域关系列表和当前工艺任务的工艺区域关系列表执行二进制或计算时,对于该待启动工艺任务的工艺区域关系列表中的每一个工艺区域组标识,对该工艺区域组标识的取值和当前工艺任务的工艺区域关系列表中的该工艺区域组标识的取值进行二进制或计算。从而,得到该待启动工艺任务的多个计算结果。
例如,当前工艺任务的工艺区域关系列表表示为{{AB:01},{AC:01},{AD:00},{BC:01},{BD:00},{CD:00}}。
一个待启动工艺任务的工艺区域关系列表表示为{{AB:01},{AC:10},{AD:00},{BC:10},{BD:00},{CD:00}}。
对待启动工艺任务的工艺区域关系列表中的AB的取值即01和当前工艺任务的工艺区域关系列表中的AB的取值即01进行二进制或运算,得到二进制或运算结果01。
待启动工艺任务的工艺区域关系列表中的AC的取值即01和当前工艺任务的工艺区域关系列表中的AC的取值即10进行二进制或运算,得到二进制或运算结果11。
待启动工艺任务的工艺区域关系列表中的AD的取值即00和当前工艺任务的工艺区域关系列表中的AD的取值即00进行二进制或运算,得到二进制或运算结果00。对BD、CD的取值进行二进制或运算的过程同理,计算结果均为00。
待启动工艺任务的工艺区域关系列表中的BC的取值即10和当前工艺任务的工艺区域关系列表中的BC的取值即01进行二进制或运算,得到二进制或运算结果11。
得到的所有二进制或运算结果包括两个11,因此,确定该待启动工艺任务无法作为可启动任务。
步骤104,当所有待启动工艺任务中包括所述可启动工艺任务时,按第二预设规则从所有所述可启动工艺任务选择出目标可启动工艺任务,并启动目标可启动工艺任务。
在本实施例中,按第二预设规则可以为以随机方式从所有可启动任务选择出目标可启动。在启动目标可启动任务之后,目标可启动任务成为当前工艺任务。
在本实施例的一些可选的实现方式中,第二预设规则包括:从所有可启动任务中选择等待时间最长的可启动任务作为目标可启动任务。
在本实施例的一些可选的实现方式中,还包括:当不存在当前工艺任务时,启动所有待启动工艺任务中的等待时间最长的待启动工艺任务。例如,在确定需要启动的任务的时刻,所有已经启动的任务已经执行完成,则不存在当前工艺任务。可以启动所有待启动工艺任务中的等待时间最长的待启动工艺任务。
图4示出了本申请实施例提供的半导体工艺设备中工艺任务的启动方法的第二实施例的流程图,该方法包括:
步骤401,生成半导体工艺设备当前工艺任务的工艺区域关系列表,当前工艺任务的工艺区域关系列表包括当前工艺任务涉及的工艺区域组的工艺区域组标识和赋值。
在本实施例中,生成半导体工艺设备当前工艺任务的工艺区域关系列表,包括:为半导体工艺设备中的每个工艺区域设置工艺区域标识;依半导体工艺设备中的多个工艺单元的排列次序对工艺区域标识进行组合,得到每个工艺区域组的工艺区域组标识,并生成包含所有所述工艺区域组标识的工艺区域组标识列表;将每一工艺区域组标识赋值为初始值,其中,初始值用于指示该工艺区域组标识对应的工艺区域组不存在;根据当前工艺任务涉及的工艺区域组及其状态,将工艺区域组标识列表中对应的工艺区域组标识赋值为正序值或逆序值,得到当前工艺任务的工艺区域关系列表,其中,正序值用于指示工艺区域组标识对应的工艺区域组存在且处于正序状态,逆序值用于指示工艺区域组标识对应的工艺区域组存在且处于逆序状态。
在生成当前工艺任务的工艺区域关系列表时,可以首先为半导体工艺设备中的每一个工艺区域设置工艺区域标识。
例如,半导体工艺设备包括工艺区域A、工艺区域B、工艺区域C、工艺区域D。设置工艺区域A的工艺区域标识为A、设置工艺区域B的工艺区域标识为B、设置工艺区域C的工艺区域标识为C、设置工艺区域D的工艺区域标识为D。
在本实施例中,在依半导体工艺设备中的多个工艺单元的排列次序对工艺区域标识进行组合时,可以首先根据半导体工艺设备中的多个工艺单元的排列次序,确定半导体工艺设备中的多个工艺区域的排列次序即半导体工艺设备中的多个工艺区域在半导体工艺设备中的由前至后的顺序。工艺区域包括工艺单元的位置越靠前,工艺区域的位置越靠前。
以清洗机为例,所有工艺单元由前至后的顺序为Tank1、Tank2、Tank3、Tank4、Tank5、Tank6、Tank7、Tank8。
Tank1-Tank2属于工艺区域A,Tank3-Tank6属于工艺区域B,Tank7-Tank8属于工艺区域C。
多个工艺区域由前至后的顺序工艺区域A、工艺区域B、工艺区域C。
工艺区域由前至后的顺序与工艺区域标识由前至后的顺序一致。因此,在确定工艺区域的由前至后的顺序之后,即可确定工艺区域标识的由前至后的顺序。然后,可以以预设正序组合方式对工艺区域的工艺区域标识进行组合,得到每一个工艺区域组的工艺区域组标识。
预设正序组合方式为:对于每一个工艺区域标识,在该工艺区域标识之后存在至少一个其他的工艺区域标识的情况下,将该工艺区域标识分别与该工艺区域标识之后的每一个其他的工艺区域标识进行组合。
例如,第1个工艺区域标识为A,第2个工艺区域标识为B,第3个工艺区域标识为C,第4个工艺区域标识为D。即多个工艺区域由前至后的顺序为:A、B、C、D。
对于工艺区域标识A,B、C、D均为在该工艺区域标识之后的其他的工艺区域标识。将A分别与B、C、D组合,得到工艺区域组标识AB、AC、AD。
对于工艺区域标识B,C、D均为在该工艺区域标识之后的其他的工艺区域标识。将B分别与C、D组合,得到BC、BD。
对于工艺区域标识C,D为在该工艺区域标识之后的其他的工艺区域标识。将C与D组合,CD。
得到的所有工艺区域组的工艺区域组标识包括:AB、AC、AD、BC、BD、CD。
在得到每一个工艺区域组的工艺区域组标识之后,可以生成包含所有工艺区域组标识的工艺区域组标识列表。工艺区域组标识列表可以称之为combineRegionName。
工艺区域组标识列表combineRegionName的结构可以为数据结构中的List结构。
例如,得到的所有工艺区域组的工艺区域组标识包括:AB、AC、AD、BC、BD、CD,工艺区域组标识列表combineRegionName可以表示为:List<string>combineRegionName={AB,AC,AD,BC,BD,CD}。
在生成包含所有工艺区域组标识的工艺区域组标识列表之后,可以将每一个工艺区域组标识赋值为初始值,其中,初始值用于指示该工艺区域组标识对应的工艺区域组不存在。
例如,工艺区域组标识列表combineRegionName可以表示为:List<string>combineRegionName={AB,AC,AD,BC,BD,CD},将每一个工艺区域组标识赋值为初始值,初始值为00,得到的数据结构表示为{{AB:00},{AC:00},{AD:00},{BC:00},{BD:00},{CD:00}}。
然后,可以根据当前工艺任务涉及的工艺区域组及其状态,将工艺区域组标识列表中对应的工艺区域组标识赋值为正序值或逆序值,得到当前工艺任务的工艺区域关系列表。正序值用于指示工艺区域组标识对应的工艺区域组存在且处于正序状态,逆序值用于指示工艺区域组标识对应的工艺区域组存在且处于逆序状态。
在本实施例中,对于一个工艺区域组标识,若一个工艺区域组包括该工艺区域组标识中的两个工艺区域组标识中的每一个工艺区域标识各自所属的工艺区域,则该工艺区域可以称之为该工艺区域组标识对应的工艺区域组。
若该工艺区域组为当前工艺任务涉及的工艺区域组,则可以称之为该工艺区域组存在。若该工艺区域组不是当前工艺任务涉及的工艺区域组,则可以称之为该工艺区域组不存在。
当前工艺任务涉及的工艺区域组的状态可以是指当前工艺任务涉及的工艺区域组在当前工艺任务中的状态。
对于当前工艺任务的工艺区域关系列表中的每一个属于当前工艺任务涉及的工艺区域组的工艺区域组标识,若该工艺区域组标识所属的工艺区域组在当前工艺任务中的状态为正序状态,则将该工艺区域组标识赋值为正序值,若该工艺区域组标识所属的工艺区域组在当前工艺任务中的状态为逆序状态,则将该工艺区域组标识赋值为逆序值。
例如,将每一个工艺区域组标识赋值为初始值,初始值为00,得到的数据结构表示为{{AB:00},{AC:00},{AD:00},{BC:00},{BD:00},{CD:00}}。假设当前工艺任务涉及的所有工艺区域组的工艺区域组标识包括AB、AC,工艺区域标识AB所属的由工艺区域A和工艺区域B组成的工艺区域组在当前工艺任务中的状态为正序状态,工艺区域标识AC所属的由工艺区域A和工艺区域C组成的工艺区域组在当前工艺任务中的状态为逆序状态。则将AB赋值为正序值(例如可以为01),将AC赋值为逆序值(例如可以为10)。得到的当前工艺任务的工艺区域关系列表表示为{{AB:01},{AC:10},{AD:00},{BC:00},{BD:00},{CD:00}}。
请参考图5,其示出了为当前工艺任务涉及的工艺区域组的工艺区域组标识进行赋值的一个流程示意图。
获取半导体工艺设备的工艺区域标识序列listRegionName。根据listRegionName获取半导体工艺设备的工艺区域组标识列表combineRegionName。将每一个工艺区域组标识赋值为初始值。获取当前任务的工艺区域标识序列listrouteRegionSort。当前工艺任务的工艺区域标识序列listrouteRegionSort包括当前工艺任务涉及的每一个工艺区域的工艺区域标识。根据listrouteRegionSort获取当前工艺任务的工艺区域组标识列表currentregionname。当前工艺任务的工艺区域组标识列表currentregionname包括当前工艺任务涉及的每一个工艺区域组的工艺区域组标识。
可以遍历currentregionname中的工艺区域组标识。当访问到一个工艺区域组标识时,该工艺区域组标识为当前访问到的工艺区域组标识。
判断combineRegionName中是否包括当前访问到的currentregionname中的工艺区域组标识。若combineRegionName中是否包括当前访问到的currentregionname中的工艺区域组标识,判断当前访问到的currentregionname中的工艺区域组标识所属的工艺区域组在当前工艺任务中的状态是否处于正序状态。
若是,将当前访问到的currentregionname中的工艺区域组标识赋值为01。若否,将当前访问到的currentregionname中的工艺区域组标识赋值为10。
步骤402,确定所有待启动工艺任务,生成每一个待启动工艺任务的工艺区域关系列表,待启动工艺任务的工艺区域关系列表包括:待启动工艺任务涉及的工艺区域组的工艺区域组标识和赋值。
在本实施例中,生成每一个待启动工艺任务的工艺区域关系列表,包括:根据每一个待启动工艺任务涉及的工艺区域组及其状态,将工艺区域组标识列表中对应的工艺区域组标识赋值为正序值或逆序值,得到每一个待启动工艺任务的工艺区域关系列表。
根据待启动工艺任务涉及的工艺区域组及其正状态,得到待启动工艺任务的工艺区域关系列表的过程与上述根据当前工艺任务涉及的工艺区域组及其状态,得到当前工艺任务的工艺区域关系列表的过程同理。可以参考上述根据当前工艺任务涉及的工艺区域组及其状态,得到当前工艺任务的工艺区域关系列表的过程,分别根据每一个待启动工艺任务涉及的工艺区域组及其状态,将工艺区域组标识列表中对应的工艺区域组标识赋值为正序值或逆序值,得到每一个待启动工艺任务的工艺区域关系列表。
步骤403,基于当前工艺任务的工艺区域关系列表和每一个待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有待启动工艺任务中是否包括可启动工艺任务。
在本实施例中,可以将半导体工艺设备中的每一个工艺区域的工艺区域组标识对应于一二进制键值对,初始值为00,正序值为01,逆序值为10。基于这样的设定,基于当前工艺任务的工艺区域关系列表和每一个待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有待启动工艺任务中是否包括可启动工艺任务,包括:分别对每一个待启动工艺任务的工艺区域关系列表和当前工艺任务的工艺区域关系列表执行二进制或计算,得到每一个待启动工艺任务的计算结果:若一待启动工艺任务的计算结果中包括11时,确定该待启动工艺任务不属于可启动工艺任务;若一待启动工艺任务的计算结果中不包括11时,确定该待启动工艺任务为可启动工艺任务。
在本实施例中,在对一个待启动工艺任务的工艺区域关系列表和当前工艺任务的工艺区域关系列表执行二进制或计算时,对于该待启动工艺任务的工艺区域关系列表中的每一个工艺区域组标识,对该工艺区域组标识的取值和当前工艺任务的工艺区域关系列表中的该工艺区域组标识的取值进行二进制或计算。从而,得到该待启动工艺任务的多个计算结果。
例如,当前工艺任务的工艺区域关系列表表示为{{AB:01},{AC:01},{AD:00},{BC:01},{BD:00},{CD:00}}。
一个待启动工艺任务的工艺区域关系列表表示为{{AB:01},{AC:10},{AD:00},{BC:10},{BD:00},{CD:00}}。
对待启动工艺任务的工艺区域关系列表中的AB的取值即01和当前工艺任务的工艺区域关系列表中的AB的取值即01进行二进制或运算,得到二进制或运算结果01。
待启动工艺任务的工艺区域关系列表中的AC的取值即01和当前工艺任务的工艺区域关系列表中的AC的取值即10进行二进制或运算,得到二进制或运算结果11。
待启动工艺任务的工艺区域关系列表中的AD的取值即00和当前工艺任务的工艺区域关系列表中的AD的取值即00进行二进制或运算,得到二进制或运算结果00。对BD、CD的取值进行二进制或运算的过程同理,计算结果均为00。
待启动工艺任务的工艺区域关系列表中的BC的取值即10和当前工艺任务的工艺区域关系列表中的BC的取值即01进行二进制或运算,得到二进制或运算结果11。
得到的所有二进制或运算结果包括两个11,因此,确定该待启动工艺任务无法作为可启动任务。
步骤404,当所有待启动工艺任务中包括可启动工艺任务时,按第二预设规则从所有可启动工艺任务选择出目标可启动工艺任务,并启动目标可启动工艺任务。
步骤404的执行过程与上述描述的步骤104的执行过程同理,步骤404的执行过程可以参考上述描述的步骤104的执行过程。
请参考图6,其示出了启动第一清洗机中的目标可启动工艺任务的一个流程示意图。
判断是否存在正在执行的当前Job。判断是否存在正在执行的当前Job相当于判断是否存在处于执行状态的当前Job。正在执行的当前Job可以是指针对的物料正在工艺单元中被进行工艺操作并且启动时间最晚的任务。
若存在正在执行的当前Job,获取正在执行的当前Job在T3-T6工艺区域即B工艺区域的串并模式。
判断正在执行的当前Job在T3-T6工艺区域的串并模式是否为空。若正在执行的当前Job在T3-T6工艺区域的串并模式不为空,查找在T3-T6工艺区域的B工艺区域的串并模式与当前Job在T3-T6工艺区域的串并模式一致的待启动Job。生成串并模式一致的列Joblist1。若不存在在T3-T6工艺区域的B工艺区域的串并模式与当前Job在T3-T6工艺区域的串并模式一致的待启动Job,则Joblist1为空。若存在至少一个在T3-T6工艺区域的B工艺区域的串并模式与当前Job在T3-T6工艺区域的串并模式一致的待启动Job,则Joblist1不为空。若Joblist1不为空,则获取正在执行的当前Job的工艺区域关系列表。根据正在执行的当前Job的工艺区域关系列表和Joblist1中的待启动任务的工艺区域关系列表,查找可启动Job,换言之,从所有在T3-T6工艺区域的B工艺区域的串并模式与当前Job在T3-T6工艺区域的串并模式一致的待启动Job中,查找可启动Job。生成可启动工艺任务列表Joblist2。若没有查找出可启动Job,则Joblist2为空。若查找出至少一个可启动Job,则Joblist2不为空,Joblist2包括查找出的所有可启动可启动Job。若Joblist2不为空,选择Joblist2中的等待时间最长的可启动Job作为目标可启动任务,启动目标可启动任务。
若存在正在执行的当前Job并且正在执行的当前Job在T3-T6工艺区域即B工艺区域的串并模式串并模式为空,生成与在T3-T6工艺区域的串并模式为空的待启动job相关的列表Joblist3。若不存在在T3-T6工艺区域的串并模式为空的待启动job,则Joblist3为空。若存在至少一个在T3-T6工艺区域的串并模式为空的待启动job,则Joblist3不为空。若Joblist3不为空,获取正在执行的当前Job的工艺区域关系列表。根据正在执行的当前Job和Joblist3中的在T3-T6工艺区域的串并模式为空的待启动Job的工艺区域关系列表,查找可启动Job。生成可启动工艺任务列表Joblist4。若没有查找出在T3-T6工艺区域的串并模式为空的待启动Job的可启动Job,则Joblist4为空。若查找出至少一个在T3-T6工艺区域的串并模式为空的待启动Job的可启动Job,则Joblist4不为空。
若Joblist4不为空,选择Joblist4中的所有在T3-T6工艺区域的串并模式为空的待启动Job的可启动Job中的等待时间最长的可启动Job,以作为目标可启动任务,启动目标可启动任务。
若不存在正在执行的当前Job,判断是否存在NewJobID。NewJobID表示半导体工艺设备新启动的工艺任务。半导体工艺设备新启动的工艺任务可以是指是指已经启动的任务中针对的物料还未离开盒架并且启动时间最晚的任务。在不存在正在执行的当前Job并且存在NewJobID的情况下,NewJobID作为当前Job。
若存在NewJobID,获取NewJobID的工艺区域关系列表。根据NewJobID和每一个在T3-T6工艺区域的串并模式与NewJobID在T3-T6工艺区域的串并模式一致的待启动任务的工艺区域关系列表,查找可启动Job。生成可启动工艺任务列表Joblist5。若没有查找出可启动Job,则Joblist5为空。若查找出至少一个可启动Job,则Joblist5不为空。若Joblist5不为空,选择Joblist5中的等待时间最长的可启动Job作为目标可启动任务,启动目标可启动任务,以及更新NewJobID,启动的目标可启动任务由于还未离开盒架并且启动时间最晚,因此,启动的目标可启动任务成为新的NewJobID。
若不存NewJobID,判断是否存在等待时间最长的待启动Job。若存在等待时间最长的待启动Job。选择等待时间最长的可启动Job作为目标可启动任务,启动目标可启动任务,以及更新NewJobID。
请参考图7,其示出了启动第二清洗机中的目标可启动工艺任务的一个流程示意图。
判断是否存在正在执行的当前Job。判断是否存在正在执行的当前Job相当于判断是否存在处于执行状态的当前Job。正在执行的当前Job可以是指针对的物料正在工艺单元中被进行工艺操作并且启动时间最晚的任务。
若存在正在执行的当前Job,获取正在执行的当前Job的工艺区域关系列表。根据正在执行的当前Job的工艺区域关系列表和每一个待启动任务的工艺区域关系列表,查找可启动Job。生成可启动工艺任务列表。若没有查找出可启动Job,则为空。若查找出至少一个可启动Job,则可启动工艺任务列表不为空,包括查找出的所有可启动可启动Job。若可启动工艺任务列表不为空,选择可启动工艺任务列表中的等待时间最长的可启动Job作为目标可启动任务,启动目标可启动任务。
若不存在正在执行的当前Job,判断是否存在NewJobID。若存在NewJobID,获取NewJobID的工艺区域关系列表。根据NewJobID的工艺区域关系列表和每一个待启动任务的工艺区域关系列表,查找可启动Job。生成可启动工艺任务列表。若没有查找出可启动Job,则为空。若查找出至少一个可启动Job,则可启动工艺任务列表不为空,包括查找出的所有可启动可启动Job。若可启动工艺任务列表不为空,选择可启动工艺任务列表中的等待时间最长的可启动Job作为目标可启动任务,启动目标可启动任务,以及更新NewJobID。
若不存NewJobID,判断是否存在等待时间最长的待启动Job。若存在等待时间最长的待启动Job。选择等待时间最长的可启动Job作为目标可启动任务,启动目标可启动任务,以及更新NewJobID。
请参考图8,其示出了本申请实施例提供的半导体工艺设备中工艺任务的启动装置的结构框图。半导体工艺设备中工艺任务的启动装置包括:生成单元801,第一确定单元802,第二确定单元803,启动单元804。
生成单元801被配置为生成所述半导体工艺设备当前工艺任务的工艺区域关系列表,其中,所述当前工艺任务的工艺区域关系列表中包括所述当前工艺任务涉及的所有工艺区域组的工艺区域组标识;
第一确定单元802被配置为确定所有待启动工艺任务,生成每一个所述待启动工艺任务的工艺区域关系列表,其中,所述待启动工艺任务的工艺区域关系列表包括所述待启动工艺任务涉及的所有工艺区域组的工艺区域组标识;
第二确定单元803被配置为基于所述当前工艺任务的工艺区域关系列表和每一个所述待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有所述待启动工艺任务中是否包括可启动工艺任务;
启动单元804被配置为当所有所述待启动工艺任务中包括所述可启动工艺任务时,按第二预设规则从所有所述可启动工艺任务选择出目标可启动工艺任务,并启动所述目标可启动工艺任务。
在一些实施例中,第一确定单元802进一步被配置为:当所述当前工艺任务涉及所述多个工艺区域中的一个预设工艺区域时,确定所述当前工艺任务中所述预设工艺区域对应的串并类型;确定所有所述待启动工艺任务中涉及所述预设工艺区域的待启动工艺任务;确定每一个涉及所述预设工艺区域的所述待启动工艺任务中所述预设工艺区域对应的串并类型;将涉及所述预设工艺区域的且所述预设工艺区域对应的串并类型与所述当前工艺任务中所述预设工艺区域对应的串并类型相匹配的待启动工艺任务确定为目标待启动工艺任务;生成每一个所述目标待启动工艺任务的工艺区域关系列表。
在一些实施例中,第二确定单元803进一步被配置为
基于所述当前工艺任务的工艺区域关系列表和每一个所述目标待启动工艺任务的工艺区域关系列表,按所述第一预设规则确定所有所述目标待启动工艺任务中是否包括可启动工艺任务。
在一些实施例中,所述第二预设规则包括:从所有所述可启动任务中选择等待时间最长的可启动任务作为所述目标可启动任务。
在一些实施例中,所述当前工艺任务为以下之一:所述半导体工艺设备正在执行的工艺任务、所述半导体工艺设备新启动的工艺任务。
在一些实施例中,生成单元801进一步被配置为为每个所述工艺区域设置工艺区域标识;依所述多个工艺单元的排列次序对所述工艺区域标识进行组合,得到每个所述工艺区域组的工艺区域组标识,并生成包含所有所述工艺区域组标识的工艺区域组标识列表;将每一所述工艺区域组标识赋值为初始值,其中,所述初始值用于指示该工艺区域组标识对应的工艺区域组不存在;根据所述当前工艺任务涉及的工艺区域组及其正逆序状态,将所述工艺区域组标识列表中对应的工艺区域组标识赋值为正序值或逆序值,得到所述当前工艺任务的工艺区域关系列表,其中,所述正序值用于指示该工艺区域组标识对应的工艺区域组存在且处于正序状态,所述逆序值用于指示该工艺区域组标识对应的工艺区域组存在且处于逆序状态。
在一些实施例中,第一确定单元802进一步被配置为根据每一个所述待启动工艺任务涉及的工艺区域组及其状态,将所述工艺区域组标识列表中对应的工艺区域组标识赋值为正序值或逆序值,得到每一个所述待启动工艺任务的工艺区域关系列表。
在一些实施例中,所述第一预设规则包括:若一待启动工艺任务和所述当前工艺任务均涉及一工艺区域组,但该工艺区域组在该启动工艺任务和所述当前工艺任务中的状态不同时,该待启动工艺任务不属于可启动工艺任务,否则该待启动工艺任务属于可启动工艺任务。
在一些实施例中,每一所述工艺区域组标识对应于一二进制键值对,所述初始值为00,所述正序值为01,所述逆序值为10;第二确定单元803进一步被配置为分别对每一个所述待启动工艺任务的工艺区域关系列表和所述当前工艺任务的工艺区域关系列表执行二进制或计算,得到每一个所述待启动工艺任务的计算结果:若一待启动工艺任务的计算结果中包括11时,确定该待启动工艺任务不属于可启动工艺任务;若一待启动工艺任务的计算结果中不包括11时,确定该待启动工艺任务为可启动工艺任务。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种半导体工艺设备中工艺任务的启动方法,其特征在于,所述半导体工艺设备包括依次设置的多个工艺单元,所述多个工艺单元划分为多个工艺区域,所述多个工艺区域依所述多个工艺单元的排列次序组合成多个工艺区域组,所述方法包括:
生成所述半导体工艺设备当前工艺任务的工艺区域关系列表,其中,所述当前工艺任务的工艺区域关系列表中包括所述当前工艺任务涉及的所有工艺区域组的工艺区域组标识;
确定所有待启动工艺任务,生成每一个所述待启动工艺任务的工艺区域关系列表,其中,所述待启动工艺任务的工艺区域关系列表包括所述待启动工艺任务涉及的所有工艺区域组的工艺区域组标识;
基于所述当前工艺任务的工艺区域关系列表和每一个所述待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有所述待启动工艺任务中是否包括可启动工艺任务;
当所有所述待启动工艺任务中包括所述可启动工艺任务时,按第二预设规则从所有所述可启动工艺任务选择出目标可启动工艺任务,并启动所述目标可启动工艺任务。
2.根据权利要求1所述的方法,其特征在于,所述确定所有待启动工艺任务,生成每一个所述待启动工艺任务的工艺区域关系列表,包括:
当所述当前工艺任务涉及所述多个工艺区域中的一个预设工艺区域时,确定所述当前工艺任务中所述预设工艺区域对应的串并类型;
确定所有所述待启动工艺任务中涉及所述预设工艺区域的待启动工艺任务;
确定每一个涉及所述预设工艺区域的所述待启动工艺任务中所述预设工艺区域对应的串并类型;
将涉及所述预设工艺区域的且所述预设工艺区域对应的串并类型与所述当前工艺任务中所述预设工艺区域对应的串并类型相匹配的待启动工艺任务确定为目标待启动工艺任务;
生成每一个所述目标待启动工艺任务的工艺区域关系列表。
3.根据权利要求2所述的方法,其特征在于,所述基于所述当前工艺任务的工艺区域关系列表和每一个所述待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有所述待启动工艺任务中是否包括可启动工艺任务,包括:
基于所述当前工艺任务的工艺区域关系列表和每一个所述目标待启动工艺任务的工艺区域关系列表,按所述第一预设规则确定所有所述目标待启动工艺任务中是否包括可启动工艺任务。
4.根据权利要求1所述的方法,其特征在于,所述第二预设规则包括:
从所有所述可启动任务中选择等待时间最长的可启动任务作为所述目标可启动任务。
5.根据权利要求1所述的方法,其特征在于,所述当前工艺任务为以下之一:所述半导体工艺设备正在执行的工艺任务、所述半导体工艺设备新启动的工艺任务。
6.根据权利要求1-5之一所述的方法,其特征在于,所述生成所述半导体工艺设备当前工艺任务的工艺区域关系列表,包括:
为每个所述工艺区域设置工艺区域标识;
依所述多个工艺单元的排列次序对所述工艺区域标识进行组合,得到每个所述工艺区域组的工艺区域组标识,并生成包含所有所述工艺区域组标识的工艺区域组标识列表;
将每一所述工艺区域组标识赋值为初始值,其中,所述初始值用于指示该工艺区域组标识对应的工艺区域组不存在;
根据所述当前工艺任务涉及的工艺区域组及其状态,将所述工艺区域组标识列表中对应的工艺区域组标识赋值为正序值或逆序值,得到所述当前工艺任务的工艺区域关系列表,其中,所述正序值用于指示该工艺区域组标识对应的工艺区域组存在且处于正序状态,所述逆序值用于指示该工艺区域组标识对应的工艺区域组存在且处于逆序状态。
7.根据权利要求6所述的方法,其特征在于,所述生成每一个所述待启动工艺任务的工艺区域关系列表,包括:
根据每一个所述待启动工艺任务涉及的工艺区域组及其状态,将所述工艺区域组标识列表中对应的工艺区域组标识赋值为正序值或逆序值,得到每一个所述待启动工艺任务的工艺区域关系列表。
8.根据权利要求7所述的方法,其特征在于,所述第一预设规则包括:
若一待启动工艺任务和所述当前工艺任务均涉及一工艺区域组,但该工艺区域组在该启动工艺任务和所述当前工艺任务中的状态不同时,该待启动工艺任务不属于可启动工艺任务,否则该待启动工艺任务属于可启动工艺任务。
9.根据权利要求8所述的方法,其特征在于,将每一所述工艺区域组标识对应于一二进制键值对,所述初始值为00,所述正序值为01,所述逆序值为10;以及
所述基于所述当前工艺任务的工艺区域关系列表和每一个所述待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有所述待启动工艺任务中是否包括可启动工艺任务,包括:
分别对每一个所述待启动工艺任务的工艺区域关系列表和所述当前工艺任务的工艺区域关系列表执行二进制或计算,得到每一个所述待启动工艺任务的计算结果:
若一待启动工艺任务的计算结果中包括11时,确定该待启动工艺任务不属于可启动工艺任务;若一待启动工艺任务的计算结果中不包括11时,确定该待启动工艺任务为可启动工艺任务。
10.一种半导体工艺设备中工艺任务的启动装置,其特征在于,所述装置安装在半导体工艺设备上,所述半导体工艺设备包括依次设置的多个工艺单元,所述多个工艺单元划分为多个工艺区域,所述多个工艺区域依所述多个工艺单元的排列次序组合成多个工艺区域组,所述装置包括:
生成单元,被配置为生成所述半导体工艺设备当前工艺任务的工艺区域关系列表,其中,所述当前工艺任务的工艺区域关系列表中包括所述当前工艺任务涉及的所有工艺区域组的工艺区域组标识;
第一确定单元,被配置为确定所有待启动工艺任务,生成每一个所述待启动工艺任务的工艺区域关系列表,其中,所述待启动工艺任务的工艺区域关系列表包括所述待启动工艺任务涉及的所有工艺区域组的工艺区域组标识;
第二确定单元,被配置为基于所述当前工艺任务的工艺区域关系列表和每一个所述待启动工艺任务的工艺区域关系列表,按第一预设规则确定所有所述待启动工艺任务中是否包括可启动工艺任务;
启动单元,被配置为当所有所述待启动工艺任务中包括所述可启动工艺任务时,按第二预设规则从所有所述可启动工艺任务选择出目标可启动工艺任务,并启动所述目标可启动工艺任务。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010821443.2A CN111933517A (zh) | 2020-08-14 | 2020-08-14 | 一种半导体工艺设备中工艺任务的启动方法、装置 |
TW110127388A TWI786746B (zh) | 2020-08-14 | 2021-07-26 | 半導體製程設備中製程任務的啟動方法、裝置 |
US18/041,087 US20230307272A1 (en) | 2020-08-14 | 2021-07-26 | Processing task start method and device in semiconductor processing apparatus |
PCT/CN2021/108333 WO2022033292A1 (zh) | 2020-08-14 | 2021-07-26 | 一种半导体工艺设备中工艺任务的启动方法、装置 |
EP21855345.1A EP4199039A4 (en) | 2020-08-14 | 2021-07-26 | METHOD AND APPARATUS FOR STARTING A PROCESSING TASK IN A SEMICONDUCTOR PROCESSING DEVICE |
JP2023504644A JP7406044B2 (ja) | 2020-08-14 | 2021-07-26 | 半導体処理装置の処理ジョブの起動方法、及び装置 |
KR1020237000795A KR102522596B1 (ko) | 2020-08-14 | 2021-07-26 | 반도체 공정 디바이스에서 공정 작업의 가동 방법, 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010821443.2A CN111933517A (zh) | 2020-08-14 | 2020-08-14 | 一种半导体工艺设备中工艺任务的启动方法、装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111933517A true CN111933517A (zh) | 2020-11-13 |
Family
ID=73310414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010821443.2A Pending CN111933517A (zh) | 2020-08-14 | 2020-08-14 | 一种半导体工艺设备中工艺任务的启动方法、装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230307272A1 (zh) |
EP (1) | EP4199039A4 (zh) |
JP (1) | JP7406044B2 (zh) |
KR (1) | KR102522596B1 (zh) |
CN (1) | CN111933517A (zh) |
TW (1) | TWI786746B (zh) |
WO (1) | WO2022033292A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022033292A1 (zh) * | 2020-08-14 | 2022-02-17 | 北京北方华创微电子装备有限公司 | 一种半导体工艺设备中工艺任务的启动方法、装置 |
CN114462781A (zh) * | 2021-12-28 | 2022-05-10 | 西安北方华创微电子装备有限公司 | 一种任务调度方法和半导体工艺设备 |
CN114819778A (zh) * | 2022-07-01 | 2022-07-29 | 埃克斯工业(广东)有限公司 | 进入工艺流程时机生成方法、装置、设备及可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102595007B1 (ko) | 2023-03-24 | 2023-10-27 | 주식회사 아임토리 | 교착 지점의 딜레이 보상 기능을 갖는 로봇 공정 최적화 방법 및 장치 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050137734A1 (en) * | 2003-12-23 | 2005-06-23 | Asml Netherlands B.V. | Method of operating a lithographic apparatus or lithographic processsing cell, lithographic apparatus and lithographic processing cell |
JP2008192866A (ja) * | 2007-02-06 | 2008-08-21 | Hitachi Kokusai Electric Inc | 基板処理装置 |
CN103425533A (zh) * | 2012-05-09 | 2013-12-04 | 辉达公司 | 用于管理嵌套执行流的方法和系统 |
US20170185077A1 (en) * | 2015-12-24 | 2017-06-29 | Tokyo Electron Limited | Processing system and processing program |
CN111229679A (zh) * | 2020-01-21 | 2020-06-05 | 北京北方华创微电子装备有限公司 | 晶圆清洗设备的控制方法、控制装置及晶圆清洗设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5928389A (en) * | 1996-10-21 | 1999-07-27 | Applied Materials, Inc. | Method and apparatus for priority based scheduling of wafer processing within a multiple chamber semiconductor wafer processing tool |
JP3319993B2 (ja) * | 1997-09-10 | 2002-09-03 | 東京エレクトロン株式会社 | 被処理体のデッドロック判定方法、被処理体のデッドロック回避方法及び処理装置 |
US6122566A (en) * | 1998-03-03 | 2000-09-19 | Applied Materials Inc. | Method and apparatus for sequencing wafers in a multiple chamber, semiconductor wafer processing system |
US6336204B1 (en) * | 1998-05-07 | 2002-01-01 | Applied Materials, Inc. | Method and apparatus for handling deadlocks in multiple chamber cluster tools |
JP2003100585A (ja) * | 2001-09-20 | 2003-04-04 | Dainippon Screen Mfg Co Ltd | 基板処理装置および基板処理プログラム |
JP5987292B2 (ja) * | 2011-10-31 | 2016-09-07 | セイコーエプソン株式会社 | 半導体集積回路装置及びそれを用いた電子機器 |
JP6331698B2 (ja) * | 2014-05-28 | 2018-05-30 | 株式会社Screenホールディングス | 基板処理装置および基板搬入位置決定方法 |
CN107346750A (zh) * | 2016-05-04 | 2017-11-14 | 北京北方华创微电子装备有限公司 | 一种半导体工艺处理方法及装置 |
US11199506B2 (en) * | 2018-02-21 | 2021-12-14 | Applied Materials Israel Ltd. | Generating a training set usable for examination of a semiconductor specimen |
CN108762002B (zh) * | 2018-05-21 | 2021-06-15 | 郑君雄 | 一种晶圆片光刻方法 |
CN111475308B (zh) * | 2020-04-09 | 2023-09-08 | 北京北方华创微电子装备有限公司 | 半导体设备多线程并发调度重算方法、系统及控制系统 |
CN111933517A (zh) * | 2020-08-14 | 2020-11-13 | 北京北方华创微电子装备有限公司 | 一种半导体工艺设备中工艺任务的启动方法、装置 |
-
2020
- 2020-08-14 CN CN202010821443.2A patent/CN111933517A/zh active Pending
-
2021
- 2021-07-26 WO PCT/CN2021/108333 patent/WO2022033292A1/zh unknown
- 2021-07-26 JP JP2023504644A patent/JP7406044B2/ja active Active
- 2021-07-26 US US18/041,087 patent/US20230307272A1/en active Pending
- 2021-07-26 TW TW110127388A patent/TWI786746B/zh active
- 2021-07-26 KR KR1020237000795A patent/KR102522596B1/ko active IP Right Grant
- 2021-07-26 EP EP21855345.1A patent/EP4199039A4/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050137734A1 (en) * | 2003-12-23 | 2005-06-23 | Asml Netherlands B.V. | Method of operating a lithographic apparatus or lithographic processsing cell, lithographic apparatus and lithographic processing cell |
JP2008192866A (ja) * | 2007-02-06 | 2008-08-21 | Hitachi Kokusai Electric Inc | 基板処理装置 |
CN103425533A (zh) * | 2012-05-09 | 2013-12-04 | 辉达公司 | 用于管理嵌套执行流的方法和系统 |
US20170185077A1 (en) * | 2015-12-24 | 2017-06-29 | Tokyo Electron Limited | Processing system and processing program |
CN111229679A (zh) * | 2020-01-21 | 2020-06-05 | 北京北方华创微电子装备有限公司 | 晶圆清洗设备的控制方法、控制装置及晶圆清洗设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022033292A1 (zh) * | 2020-08-14 | 2022-02-17 | 北京北方华创微电子装备有限公司 | 一种半导体工艺设备中工艺任务的启动方法、装置 |
JP2023531320A (ja) * | 2020-08-14 | 2023-07-21 | 北京北方華創微電子装備有限公司 | 半導体処理装置の処理ジョブの起動方法、及び装置 |
JP7406044B2 (ja) | 2020-08-14 | 2023-12-26 | 北京北方華創微電子装備有限公司 | 半導体処理装置の処理ジョブの起動方法、及び装置 |
CN114462781A (zh) * | 2021-12-28 | 2022-05-10 | 西安北方华创微电子装备有限公司 | 一种任务调度方法和半导体工艺设备 |
CN114819778A (zh) * | 2022-07-01 | 2022-07-29 | 埃克斯工业(广东)有限公司 | 进入工艺流程时机生成方法、装置、设备及可读存储介质 |
CN114819778B (zh) * | 2022-07-01 | 2022-11-11 | 埃克斯工业(广东)有限公司 | 进入工艺流程时机生成方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4199039A1 (en) | 2023-06-21 |
KR102522596B1 (ko) | 2023-04-17 |
TWI786746B (zh) | 2022-12-11 |
EP4199039A4 (en) | 2024-04-10 |
US20230307272A1 (en) | 2023-09-28 |
KR20230014834A (ko) | 2023-01-30 |
JP2023531320A (ja) | 2023-07-21 |
JP7406044B2 (ja) | 2023-12-26 |
TW202207068A (zh) | 2022-02-16 |
WO2022033292A1 (zh) | 2022-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111933517A (zh) | 一种半导体工艺设备中工艺任务的启动方法、装置 | |
US11308453B2 (en) | Method and system for scheduling pieces of materials based on real-time device status | |
US9748088B2 (en) | Method, storage medium and system for controlling the processing of lots of workpieces | |
CN111923066B (zh) | 一种晶圆清洗设备中的工艺调度方法、装置 | |
KR101216836B1 (ko) | 진공 처리 장치 및 기록 매체 | |
US20110208344A1 (en) | Substrate processing system, substrate processing method and storage medium | |
TWI815378B (zh) | 半導體加工設備的物料調度方法和裝置 | |
TW523800B (en) | Method and apparatus for determining scheduling for wafer processing in cluster tools with integrated metrology and defect control | |
WO2023124684A1 (zh) | 一种任务调度方法和半导体工艺设备 | |
JPH04223847A (ja) | フレキシブル加工システムの管理装置 | |
CN116053175B (zh) | 一种晶圆调度方法、装置及半导体设备 | |
KR20140031949A (ko) | 기판 처리 시간 설정 방법 및 기억 매체 | |
CN115794506B (zh) | 一种晶片调度方法和一种电子设备 | |
JP2014072359A (ja) | 基板処理装置、基板搬送方法及び記憶媒体 | |
US20050096782A1 (en) | Automated sorter system and method thereof | |
CN100428438C (zh) | 在处理工具内交换传送盒的方法和系统 | |
JP2001296922A (ja) | 無人搬送車システム | |
CN106694443A (zh) | 硅片清洗的调度方法及调度系统 | |
US6194232B1 (en) | Multi-track wafer processing method | |
CN104064489B (zh) | 自动机械调度方法、装置及ela机台制备控制系统 | |
US20150077727A1 (en) | Coating and developing apparatus, method of operating the same and storage medium | |
JPH11214472A (ja) | ワーク搬送方法 | |
JP6697107B2 (ja) | スケジューラ、基板処理装置、及び基板搬送方法 | |
TWI841084B (zh) | 一種任務調度方法和半導體製程設備 | |
CN114029947B (zh) | 机器人拾物序列确定方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |