CN111475308B - 半导体设备多线程并发调度重算方法、系统及控制系统 - Google Patents
半导体设备多线程并发调度重算方法、系统及控制系统 Download PDFInfo
- Publication number
- CN111475308B CN111475308B CN202010274767.9A CN202010274767A CN111475308B CN 111475308 B CN111475308 B CN 111475308B CN 202010274767 A CN202010274767 A CN 202010274767A CN 111475308 B CN111475308 B CN 111475308B
- Authority
- CN
- China
- Prior art keywords
- recalculation
- scheduling
- event
- rescheduling
- identifier
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Factory Administration (AREA)
Abstract
本发明公开了一种半导体设备多线程并发调度重算方法、系统及控制系统,方法包括:接收重新调度操作指令,创建重算事件,为重算事件设置调度标识;将重算事件的调度标识设置为与当前的全局调度标识相等;对重算事件进行重新调度计算并输出对应的机台动作序列,同时判断调度标识是否与当前的全局调度标识相等,若是则修改全局调度标识并将机台动作序列下发到半导体设备执行,否则将机台动作序列抛弃;将多个并发的重算事件分别在不同的线程进行重新调度计算,首先判断最先完成重新调度计算的重算事件的调度标识是否与当前的全局调度标识相等。实现避免多线程并发调度重算锁死问题。
Description
技术领域
本发明涉及半导体设备技术领域,更具体地,涉及一种半导体设备多线程并发调度重算方法、系统及半导体设备。
背景技术
在半导体设备中进行的工艺通常以硅片(晶圆)作为产品载体,在硅片进行一系列的工艺加工形成工艺半成品或者成品。通常情况下进行硅片工艺加工是通过工业机械手传入和传出设备的。例如300mm立式氧化炉设备,其为半导体生产线上的重要设备,主要用于半导体生产线的氧化和淀积工艺。
如图1所示,该设备的结构包括:
两个LoadPort(晶圆盒开合及晶圆位置扫描装置):LoadPort是外部和设备间的桥梁,LoadPort A与LoadPort B上可放置FOUP(前开式标准晶圆盒),FOUP内有25个用于存放晶圆的插槽(slot)。LoadPort上具有开门机构,可以打开FOUP的门。
一个Foup机械手(STR):负责对FOUP的传送,同时包含Mapping(扫描)的功能。在Mapping过程中,FOUP门必须打开并且保持不动,STR的机械臂上安装有红外探头,通过机械臂的上下移动,来获知FOUP中晶圆的存放信息。
一个Stocker(存储柜):Stocker用于放置FOUP,一个Stocker上最多可以放置16个Foup,Stocker上放置Foup的部件称为Shelf(架子)。
两个Loadlock(装卸载位):LoadLock上可以放置FOUP,具有开门机构,可以打开FOUP门。Loadlock是晶圆进入工艺腔室的桥梁。Foup机械手(STR)可以将FOUP从LoadPortA/LoadPort B、LoadlockC/D和Stocker的Shelf中进行传送。
一个PM(工艺腔室):用于进行相应的工艺操作。工艺腔室中有一个晶舟(Boat),用以放置晶圆。工艺腔室中参加工艺的晶圆数量由工艺腔室中Boat的slot(插槽)数量决定,目前有Slot125和Slot141两种Boat。
一个WTR(晶圆机械手):负责晶圆的传送,同时包含Mapping的功能,可以对LoadLock上的FOUP以及工艺腔室中的Boat进行Mapping,Mapping过程中LoadLock上的FOUP处于开门静止的状态,Boat处于Home位,WTR机械手的Arm(机械臂)上有红外探头,通过Arm的上下移动来获取FOUP中晶圆的存放信息以及Boat上晶圆的信息。WTR可以将晶圆从Loadlock的FOUP上和PM的Boat上进行传输。WTR分为1指和5指,每次可以取放1片晶圆或者5片晶圆。
参考图2,300mm立式炉首先将Foup中装载的晶圆通过STR传送至LoadLockC或者LoadLockD,由WTR进行Mapping,Mapping完成之后再由STR传到Stocker中对应的Shelf上,工艺开始后由STR将Stocker中Shelf上的Foup传送至LoadLockC和LoadLockD,再由WTR从LoadLockC和LoadLockD口取Wafer放到PM的Boat上进行工艺。具体工艺流程如下:
(1)STR将Foup从Shelf传送至LoadLockC/LoadLockD;
(2)WTR将LoadLockC/LoadLockD上Foup中的晶圆传送至PM上的Boat中;
(3)WTR对PM上的Boat中的所有晶圆进行Mapping;
(4)STR将LoadLockC/LoadLockD上Foup放回Stocker对应的Shelf上;
(5)所有晶圆在PM的Boat上完成工艺;
(6)工艺结束后,WTR首先到PM的Boat上对所有的晶圆进行DisCharge(载出)前的Mapping;
(7)STR从Stocker对应Shelf取参加工艺的Foup并放到LoadLockC/LoadLockD;
(8)WTR从PM的Boat上取完成工艺的晶圆并放到LoadLockC/LoadLockD上对应的Foup的slot上;
(9)STR将LoadLockC/LoadLockD上Foup放回Stocker对应的Shelf上。
同现有的上位机软件Fab Auto1.0模式下发机台物料指令不同,该立式炉设备在目前上位机软件为Fab Auto1.5(工厂自动化1.5)模式下,除了wafer(晶圆),Foup也参与传输,同时CarrierIn(搬入)、CarrierOut(搬出)、Charge(载入)、DisCharge(载出)和job(工艺)等操作在Fab Auto1.5模式操作下可以随时在机台进行操作。由于工厂端(Fab端)随时都可以下发指令,会造成设备中存在明显的瓶颈资源,特别是CarrierIn和job抢占LoadLockC或LoadLockD,设备通常在接受到工厂端下发的指令后都会传送CTC(集束型控制器)进行调度重算,因此如何根据当前物料的状态以及机台的设备进行短时间并发调度重算是不可以避免的,而现有CTC平台在并发调度重算的过程中特别容易出现调度死锁情况。
因此需要提出一种能够防止半导体设备多线程并发调度重算死锁情况发生的方法。
发明内容
本发明的目的是提出一种半导体设备多线程并发调度重算方法、系统及半导体设备,实现在上位机软件Fab Auto1.5模式下防止并发调度重算死锁情况发生的方法。
为实现上述目的,本发明提出了一种半导体设备多线程并发调度重算方法,包括:
接收重新调度操作指令,创建重算事件,为所述重算事件设置调度标识;
将所述重算事件的所述调度标识设置为与当前的全局调度标识相等;
对所述重算事件进行重新调度计算并输出对应的机台动作序列,同时判断该重算事件的所述调度标识是否与当前的全局调度标识相等,若是则修改所述全局调度标识并将所述机台动作序列下发到所述半导体设备执行,否则将所述机台动作序列抛弃;
其中,对于并发的多个重算事件,将所述多个重算事件分别在不同的线程进行重新调度计算,所述多个重算事件的调度标识均设置为与当前的全局调度标识相等,且首先判断最先完成重新调度计算的重算事件的调度标识是否与当前的全局调度标识相等。
可选地,所述全局调度标识位包括至少一位数字。
可选地,修改所述全局调度标识包括:将所述全局调度标识加1。
可选地,所述对所述重算事件重新调度计算,包括:
向所述半导体设备发送暂停指令;
所述半导体设备执行所述暂停指令后,返回暂停结束事件,将所述半导体设备的物料状态设置为空闲状态;
对所述重算事件进行重新调度计算。
可选地,所述并发的多个重算事件为:
在同时接收到多个重新调度操作指令时,创建的多个重算事件。
本发明还提出一种半导体设备多线程并发调度重算系统,包括:
调度标识模块,用于接收重新调度操作指令,创建重算事件,为所述重算事件设置调度标识,将所述重算事件的所述调度标识设置为与当前的全局调度标识相等;
重新调度计算模块,用于对所述重算事件进行重新调度计算并输出对应的机台动作序列,同时判断该重算事件的所述调度标识是否与当前的全局调度标识相等,若是则修改所述全局调度标识并将所述机台动作序列下发到所述半导体设备执行,否则将所述机台动作序列抛弃;
其中,对于并发的多个重算事件,所述重新调度计算模块将所述多个重算事件分别在不同的线程进行重新调度计算,所述多个重算事件的调度标识均设置为与当前的全局调度标识相等,且首先判断最先完成重新调度计算的重算事件的调度标识是否与当前的全局调度标识相等。
可选地,所述全局调度标识位包括至少一位数字;
所述重新调度计算模块还用于在所述重算事件的所述调度标识与当前的全局调度标识相等时,将所述全局调度标识加1。
可选地,所述重新调度计算模块还用于向所述半导体设备发送暂停指令;在接收到所述半导体设备执行所述暂停指令后返回的暂停结束事件后,将所述半导体设备的物料状态设置为空闲状态;对所述重算事件进行重新调度计算。
可选地,所述并发的多个重算事件为:所述调度标识模块同时接收到多个重新调度操作指令时,创建的多个重算事件。
本发明还提出一种半导体设备控制系统,包括上位控制设备和下位控制设备,所述上位控制设备与所述下位控制设备通信连接,所述下位控制设备与所述半导体设备通信连接,所述上位控制设备包括上述的半导体设备多线程并发调度重算系统。
本发明的有益效果在于:
通过在每个重算事件的调度信息中设置调度标识,并将每个重算事件的调度标识设置为与当前的全局调度标识相等,对重算事件进行重新调度计算并输出对应的机台动作序列,同时判断存储的该重算事件的调度标识是否与当前的全局调度标识相等,若是则修改全局调度标识并将机台动作序列下发到下位机执行,完成半导体设备的重新调度过程,否则将机台动作序列抛弃;由于并发抛的多个重算事件的调度标识均相等,且首先判断最先完成重新调度计算的重算事件的调度标识是否与当前的全局调度标识相等,因此在第一个将计算结果输出的重新调度计算线程之后,其余计算完之后的线程所存储的调度标识必然与全局调度标识已经不同,后续完成计算的线程输出的机台动作序列将被抛弃,因此对于短时间内并发的多个重算事件,机台只执行第一个调度计算结束接收到的机台动作序列,因此从根本上解决了短时间多线程并发调度重算死锁的问题。
本发明的装置具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施方式中将是显而易见的,或者将在并入本文中的附图和随后的具体实施方式中进行详细陈述,这些附图和具体实施方式共同用于解释本发明的特定原理。
附图说明
通过结合附图对本发明示例性实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,在本发明示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了现有的立式炉设备示意图;
图2示出了现有立式炉机台中物料的执行流程图;
图3示出了现有CTC平台调度重算流程图;
图4示出了现有CTC平台两个操作并发调度重算死锁流程图;
图5示出了根据本发明的一个实施例的一种半导体设备多线程并发调度重算方法流程图。
具体实施方式
现有的一种CTC调度重算方法为:CTC根据收到的Fab下发的指令进行执行调度重算的整个流程,用先进先出的事件处理机制来重新调度物料的路径。
如图3所示,该CTC调度重算流程如下:
(1)工厂端Fab Auto1.5下发指令(例如:Job、OnceCarrierIn、CarrierOut等),CTC接到指令,就会重算事件;
(2)执行重算事件,将设置机台物料状态置为Clearing(清除),并向下位机发Halt(暂停)指令,这时会新起线程S1丢到模块的线程池中;
(3)CTC接到S1线程返回Halt结束的机台暂停结束事件后,设置机台物料状态为Idle(空闲);
(4)重新调度计算,完成计算后会输出Move(移动交换)序列;
(5)检查机台物料状态是否为Idle,如果不是就重复检测机台状态,如果是则向机台下发执行Move序列指令,这时会新起线程S2丢到模块的线程池中;
(6)设置机台物料状态为Busy(忙态)。
上述方法采用的是先发生先解决的事件驱动系统,或者称为反应式系统,其行为并非自行产生,而是主要通过对外部事件产生特定反应的系统。这里主要区别于时间驱动系统,CTC需要响应无法预知的外部事件,包括下位机、界面、Fab等的事件消息。目前对于具有存放Foup的Stocker的清洗机和立式炉设备,增加了许多新操作,比如CarrierIn(载入)、CarrierOut(载出)、HoldCarrierIn(保持载入)等,加上Fab Auto1.5模式下的随时指令下发,加大了CTC平台短时间并发调度重算现象。CTC现有的调度重算的事件没有任何参数信息,无法区分和处理多线程并发调度重算问题,容易造成调度死锁和模块操作重复执行死锁,造成瓶颈资源的浪费,降低了设备产能。
其中,CTC在机台物料状态为Idle时,就可以向下位机发送执行Move序列执行指令,因此机台物料状态的变化是现有Fab Auto1.5平台中并发线程中最难控制的节点。机台物料状态为Clearing或Busy状态时,需要等待机台状态变为Idle状态时才能向下位机发送执行Move序列指令。
参考图4,现有CTC平台同时下发两个操作的并发调度重算死锁流程如下:
(1)Fab Auto1.5同时下发两个操作命令:命令1和命令2;
(2)CTC接到命令1重算事件,设置机台物料状态为Clearing;
(3)CTC接到命令2重算事件,设置机台物料状态为Clearing;
(4)重算事件1序列向下位机发送Halt,重启新的S1线程放进线程池;
(5)线程S1返回机台Halt完后的机台暂停结束事件;
(6)重算事件1序列设置机台物料状态为Idle;
(7)重算事件2序列向下位机发送Halt,重启新的S2线程放进线程池;
(8)重算事件1序列进行重新调度计算;
(9)线程S2返回机台Halt完成后的机台暂停结束事件;
(10)重算事件2序列设置机台物料状态为Idle;
(11)重算事件1调度计算完毕,输出用于控制机械手抓取动作,放置动作,工艺动作等的Move1序列(PickMove1,PlaceMove1,Process1…);
(12)重算事件2序列进行重新调度计算,机台此时的状态被重算事件2序列置为Idle,重算事件1就可向下位机发送Move1序列执行指令,重启新的S3线程放进线程池;
(13)重算事件2调度计算完毕,输出Move2序列(PickMove2,PlaceMove2,Process2…);
(14)机台此时的状态为Busy,重算事件2会等待重算事件1的第一个PickMove1(抓取动作序列)指令执行结束后,机台状态暂停结束为Idle时,向下位机下发Move2序列执行指令,重启新的S4线程放进线程池;
(15)此时由于Move1序列执行完了PickMove1指令,而Move2序列中的第一条指令即为PickMove2指令,这时其实机械手上已经有物料,重新再去Pick就会出现死锁。
造成死锁问题的原因是短时间并发调度重算时,并不知道是工厂Fab端哪个操作进行的调度,即无法确定并发调度计算出来的Move序列哪些要下发给机台进行执行,哪些是重复计算出来的Move序列需要进行抛弃,而下发重复的Move序列给机台就会导致机台执行死锁。本发明的目的即是要解决此问题,降低Fab Auto1.5模式下多线程并发调度重算问题,提高机台产能和运行的正确性。
下面将参照附图更详细地描述本发明。虽然附图中显示了本发明的优选实施例,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
根据本发明的一种半导体设备多线程并发调度重算方法,方法包括:
接收重新调度操作指令,创建重算事件,为重算事件设置调度标识;
将重算事件的调度标识设置为与当前的全局调度标识相等;
对重算事件进行重新调度计算并输出对应的机台动作序列,同时判断存储的该重算事件的调度标识是否与当前的全局调度标识相等,若是则修改全局调度标识并将机台动作序列下发到半导体设备执行,否则将机台动作序列抛弃;
其中,对于并发的多个重算事件,将多个重算事件分别在不同的线程进行重新调度计算,多个重算事件的调度标识均设置为与当前的全局调度标识相等,且首先判断最先完成重新调度计算的重算事件的调度标识是否与当前的全局调度标识相等。
具体地,通过设置全局调度标识,并在每个重算事件中设置调度标识,并将每个重算事件的调度标识设置为与当前的全局调度标识相等;根据半导体设备的物料状态,对重算事件进行重新调度计算并输出对应的机台动作序列,同时判断存储的该重算事件的调度标识是否与当前的全局调度标识相等,若是则修改全局调度标识并将机台动作序列下发到下位机执行,完成半导体设备的重新调度过程,否则将机台动作序列抛弃;由于并发抛的多个重算事件的抛出调度标识均相等,且首先判断最先完成重新调度计算的重算事件的调度标识是否与当前的全局调度标识相等,因此在第一个将计算结果输出的重新调度计算线程之后,其余计算完之后的线程所存储的调度标识必然与全局调度标识已经不同,后续完成计算的线程输出的机台动作序列将被抛弃,因此对于短时间内并发的多个重算事件,机台只执行第一个调度计算结束接收到的机台动作序列,因此从根本上解决了短时间多线程并发调度重算死锁的问题。
如图5所示,在一个示例中,根据现有CTC平台和机台设备,预先设置全局调度标识(Global_ScheduleFlag),接收重新调度操作指令,创建重算事件并记录当前重算事件的详细信息,对于每次创建的重算事件(reschedulerequire事件),为其设置一个调度标识(MScheduleFlag),并使重算事件的调度标识与全局调度标识相等,即MScheduleFlag=Global_ScheduleFlag,全局调度标识位包括至少一位数字。
具体实施方式如下:
在CTC平台系统中增加新类PostRescheduleRequireEventArgs(抛出重算事件参数),用来记录哪个Fab端操作创建了reschedulerequire事件;
对每个创建并抛出重算的操作,记录当前调度操作的重算事件的详细信息,其中该重算事件的当前MScheduleFlag为当前系统记录的Global_ScheduleFlag;
对于全局调度标识(Global_ScheduleFlag),在前一个调度还没有修改全局调度标识的时间段内,对应多个调度操作创建的多个重算事件的的MScheduleFlag都为相同的Global_ScheduleFlag。
本实施例中的多线程读写操作处理机台多线程的原理为:
并发创建多个重算事件的操作都会获得相同的Global_ScheduleFlag,接着基于CTC平台进行调度计算。任意一个线程先计算完成,如果要下发动作序列(Move序列)到机台进行物料的实际运行,都会将其存储的MScheduleFlag与Global_ScheduleFlag进行比对,如果相等就将Global_ScheduleFlag增加1,并将计算结果输出。第一个线程将计算结果输出之后,其余后续的线程在计算完成之后,对应存储的MScheduleFlag与Global_ScheduleFlag已经不同,这些基于CTC平台架构计算的Move序列将被抛弃,机台只执行第一个重新调度计算结束下发给机台的Move序列。修改后的全局变量作为下一次完成半导体设备重新调度过程的全局调度标识。全局调度标识位包括至少一位数字,本实施例中选择用一位数字作为全局调度标识位,并且全局调度标识的每一次修改都加1。
参考图5,在一个示例中,半导体设备多线程并发调度重算流程如下:
(1)Fab Auto1.5(工厂端)同时下发两个调度操作命令:命令1和命令2;
(2)CTC接到调度操作指令1创建重算事件1,设置重算事件1的MScheduleFlag为当前机台的Global_ScheduleFlag(1)、机台物料状态为Clearing(清除);
(3)CTC接到调度操作指令2创建的重算事件2,设置重算事件2的MScheduleFlag为当前机台的Global_ScheduleFlag(1)、设置机台物料状态为Clearing;
(4)重算事件1序列向下位机发送Halt(停止指令),重启新的S1线程放进线程池;
(5)线程S1返回机台Halt完后的机台暂停结束事件;
(6)重算事件1序列设置机台物料状态为Idle(空闲);
(7)重算事件2序列向下位机发送Halt,重启新的S2线程放进线程池;
(8)重算事件1序列进行调度重新计算;
(9)线程S2返回机台Halt完成后的机台暂停结束事件;
(10)重算事件2序列设置机台物料状态为Idle;
(11)重算事件1调度计算完毕,比较重算事件1的MScheduleFlag与当前机台的Global_ScheduleFlag(1)相等,将Global_ScheduleFlag(1)增加1变为Global_ScheduleFlag(2),并输出Move1序列(PickMove1,PlaceMove1,Process1…);
(12)重算事件2序列进行调度重新计算,机台此时的状态被重算事件2序列置为Idle,重算事件1就可向下位机发送Move1序列执行指令,重启新的S3线程放进线程池;
(13)重算事件2调度计算完毕,比较重算事件2的MScheduleFlag与当前机台的Global_ScheduleFlag(2)不相等,抛弃计算出的Move2序列(PickMove2,PlaceMove2,Process2…);
(14)Fab Auto1.5下发一个操作命令:命令3;
(15)CTC接到命令3创建重算事件,设置重算3的MScheduleFlag为当前机台的Global_ScheduleFlag(2)、机台物料状态为Clearing;
(16)重算3序列向下位机发送Halt,重启新的S4线程放进线程池,进入下一个调度重算过程。
可以看出,上述多线程并发调度重算流程由于机台只执行了Move1序列,从而从根本上解决了短时间多线程并发调度重算死锁问题。
本发明实施例还提出一种半导体设备多线程并发调度重算系统,包括:
调度标识模块,用于接收重新调度操作指令,创建重算事件,为重算事件设置调度标识,将重算事件的调度标识设置为与当前的全局调度标识相等;
重新调度计算模块,用于对重算事件进行重新调度计算并输出对应的机台动作序列,同时判断存储的该重算事件的调度标识是否与当前的全局调度标识相等,若是则修改全局调度标识并将机台动作序列下发到半导体设备执行,否则将机台动作序列抛弃;
其中,对于并发的多个重算事件,重新调度计算模块将多个重算事件分别在不同的线程进行重新调度计算,多个重算事件的调度标识均设置为与当前的全局调度标识相等,且首先判断最先完成重新调度计算的重算事件的调度标识是否与当前的全局调度标识相等。
在一个示例中,全局调度标识位包括至少一位数字;
重新调度计算模块还用于在重算事件的调度标识与当前的全局调度标识相等时,将全局调度标识加1。
在一个示例中,重新调度计算模块还用于向半导体设备发送暂停指令;在接收到半导体设备执行暂停指令后返回的暂停结束事件后,将半导体设备的物料状态设置为空闲状态;对重算事件进行重新调度计算。调度标识模块同时接收到多个重新调度操作指令时,创建的多个重算事件。
本发明实施例还提出一种半导体设备控制系统,包括上位控制设备和下位控制设备,所述上位控制设备与所述下位控制设备通信连接,所述下位控制设备与所述半导体设备通信连接,上位控制设备包括以上的半导体设备多线程并发调度重算系统。
综上,本发明的实施例能够避免Fab Auto1.5模式下多线程并发调度重算锁死问题,提高机台产能以及机台运行的正确性。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
Claims (10)
1.一种半导体设备多线程并发调度重算方法,其特征在于,包括:
接收重新调度操作指令,创建重算事件,为所述重算事件设置调度标识;
将所述重算事件的所述调度标识设置为与当前的全局调度标识相等;
对所述重算事件进行重新调度计算并输出对应的机台动作序列,同时判断该重算事件的所述调度标识是否与当前的全局调度标识相等,若是则修改所述全局调度标识并将所述机台动作序列下发到所述半导体设备执行,否则将所述机台动作序列抛弃;
其中,对于并发的多个重算事件,将所述多个重算事件分别在不同的线程进行重新调度计算,所述多个重算事件的调度标识均设置为与当前的全局调度标识相等,且首先判断最先完成重新调度计算的重算事件的调度标识是否与当前的全局调度标识相等。
2.根据权利要求1所述的半导体设备多线程并发调度重算方法,其特征在于,所述全局调度标识包括至少一位数字。
3.根据权利要求2所述的半导体设备多线程并发调度重算方法,其特征在于,修改所述全局调度标识包括:将所述全局调度标识加1。
4.根据权利要求1-3任一项所述的半导体设备多线程并发调度重算方法,其特征在于,所述对所述重算事件重新调度计算,包括:
向所述半导体设备发送暂停指令;
所述半导体设备执行所述暂停指令后,返回暂停结束事件,将所述半导体设备的物料状态设置为空闲状态;
对所述重算事件进行重新调度计算。
5.根据权利要求1-3任一项所述的半导体设备多线程并发调度重算方法,其特征在于,所述并发的多个重算事件为:
在同时接收到多个重新调度操作指令时,创建的多个重算事件。
6.一种半导体设备多线程并发调度重算系统,其特征在于,包括:
调度标识模块,用于接收重新调度操作指令,创建重算事件,为所述重算事件设置调度标识,将所述重算事件的所述调度标识设置为与当前的全局调度标识相等;
重新调度计算模块,用于对所述重算事件进行重新调度计算并输出对应的机台动作序列,同时判断该重算事件的所述调度标识是否与当前的全局调度标识相等,若是则修改所述全局调度标识并将所述机台动作序列下发到所述半导体设备执行,否则将所述机台动作序列抛弃;
其中,对于并发的多个重算事件,所述重新调度计算模块将所述多个重算事件分别在不同的线程进行重新调度计算,所述多个重算事件的调度标识均设置为与当前的全局调度标识相等,且首先判断最先完成重新调度计算的重算事件的调度标识是否与当前的全局调度标识相等。
7.根据权利要求6所述的半导体设备多线程并发调度重算系统,其特征在于,所述全局调度标识包括至少一位数字;
所述重新调度计算模块还用于在所述重算事件的所述调度标识与当前的全局调度标识相等时,将所述全局调度标识加1。
8.根据权利要求6或7所述的半导体设备多线程并发调度重算系统,其特征在于,
所述重新调度计算模块还用于向所述半导体设备发送暂停指令;在接收到所述半导体设备执行所述暂停指令后返回的暂停结束事件后,将所述半导体设备的物料状态设置为空闲状态;对所述重算事件进行重新调度计算。
9.根据权利要求6或7所述的半导体设备多线程并发调度重算系统,其特征在于,所述并发的多个重算事件为:
所述调度标识模块同时接收到多个重新调度操作指令时,创建的多个重算事件。
10.一种半导体设备控制系统,包括上位控制设备和下位控制设备,所述上位控制设备与所述下位控制设备通信连接,所述下位控制设备与所述半导体设备通信连接,其特征在于,所述上位控制设备包括权利要求6-9任一项所述的半导体设备多线程并发调度重算系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010274767.9A CN111475308B (zh) | 2020-04-09 | 2020-04-09 | 半导体设备多线程并发调度重算方法、系统及控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010274767.9A CN111475308B (zh) | 2020-04-09 | 2020-04-09 | 半导体设备多线程并发调度重算方法、系统及控制系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111475308A CN111475308A (zh) | 2020-07-31 |
CN111475308B true CN111475308B (zh) | 2023-09-08 |
Family
ID=71751614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010274767.9A Active CN111475308B (zh) | 2020-04-09 | 2020-04-09 | 半导体设备多线程并发调度重算方法、系统及控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475308B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111933517A (zh) * | 2020-08-14 | 2020-11-13 | 北京北方华创微电子装备有限公司 | 一种半导体工艺设备中工艺任务的启动方法、装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558249A (zh) * | 2017-09-27 | 2019-04-02 | 北京国双科技有限公司 | 一种并发操作的控制方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7080375B2 (en) * | 2000-12-30 | 2006-07-18 | Emc Corporation/Data General | Parallel dispatch wait signaling method, method for reducing contention of highly contended dispatcher lock, and related operating systems, multiprocessor computer systems and products |
KR101322401B1 (ko) * | 2012-01-31 | 2013-10-28 | 주식회사 알티베이스 | 동기적 이중화를 위한 데이터베이스 관리 시스템의 병렬 처리 장치 및 방법 |
-
2020
- 2020-04-09 CN CN202010274767.9A patent/CN111475308B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558249A (zh) * | 2017-09-27 | 2019-04-02 | 北京国双科技有限公司 | 一种并发操作的控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111475308A (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9748088B2 (en) | Method, storage medium and system for controlling the processing of lots of workpieces | |
US7603195B2 (en) | Methods and apparatus for integrating large and small lot electronic device fabrication facilities | |
US7221993B2 (en) | Systems and methods for transferring small lot size substrate carriers between processing tools | |
US7177716B2 (en) | Methods and apparatus for material control system interface | |
US5801945A (en) | Scheduling method for robotic manufacturing processes | |
US7085614B1 (en) | Method, system, and computer program product for optimizing throughput of lots | |
JP5449310B2 (ja) | ウェーハ処理ツール内のウェーハの移動をスケジューリングするシステムと方法 | |
US7024275B2 (en) | Control method and system for an automated material handling system | |
US8205558B2 (en) | System and method of improving throughput and vehicle utilization of monorail factory transport systems | |
WO1998000765A9 (en) | Scheduling method for robotic manufacturing processes | |
US8160736B2 (en) | Methods and apparatus for white space reduction in a production facility | |
CN105575853B (zh) | 基板处理系统和基板处理装置的时效方法 | |
TWI815378B (zh) | 半導體加工設備的物料調度方法和裝置 | |
CN111475308B (zh) | 半导体设备多线程并发调度重算方法、系统及控制系统 | |
US7890202B2 (en) | Method for creating wafer batches in an automated batch process tool | |
CN112106175B (zh) | 衬底处理方法、衬底处理装置及记录媒介 | |
US20020164242A1 (en) | Control system for transfer and buffering | |
CN116053175B (zh) | 一种晶圆调度方法、装置及半导体设备 | |
US6889110B1 (en) | Operational lists for simultaneous wafer scheduling and system event scheduling | |
US8356968B2 (en) | Methods and apparatus for an efficient handshake between material handling and material processing devices for safe material transfer | |
KR20240013806A (ko) | 반도체 공정 디바이스 및 이의 운동 부재의 제어 방법과 장치 | |
Wu et al. | Schedulability and scheduling of dual-arm cluster tools with residency time constraints based on Petri net | |
Wiethoff et al. | AMHS software solutions to increase manufacturing system performance | |
CN111446181A (zh) | 一种机械手调度方法 | |
CN114373699A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |