WO2023124684A1 - 一种任务调度方法和半导体工艺设备 - Google Patents

一种任务调度方法和半导体工艺设备 Download PDF

Info

Publication number
WO2023124684A1
WO2023124684A1 PCT/CN2022/134416 CN2022134416W WO2023124684A1 WO 2023124684 A1 WO2023124684 A1 WO 2023124684A1 CN 2022134416 W CN2022134416 W CN 2022134416W WO 2023124684 A1 WO2023124684 A1 WO 2023124684A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
started
time
tasks
processing position
Prior art date
Application number
PCT/CN2022/134416
Other languages
English (en)
French (fr)
Inventor
杨光
Original Assignee
西安北方华创微电子装备有限公司
北京北方华创微电子装备有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 西安北方华创微电子装备有限公司, 北京北方华创微电子装备有限公司 filed Critical 西安北方华创微电子装备有限公司
Publication of WO2023124684A1 publication Critical patent/WO2023124684A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus 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/67005Apparatus not specifically provided for elsewhere
    • H01L21/67242Apparatus for monitoring, sorting or marking
    • H01L21/67276Production flow monitoring, e.g. for increasing throughput
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Definitions

  • the invention relates to the technical field of semiconductors, in particular to a task scheduling method and semiconductor process equipment.
  • the current task scheduling method cannot realize the real-time optimization of task scheduling, which will cause waste of resources, and further lead to low production capacity of equipment.
  • the technical problem to be solved by the embodiments of the present invention is low equipment productivity.
  • the embodiment of the present invention discloses a task scheduling method, which is applied to semiconductor process equipment.
  • the semiconductor process equipment processes multiple materials in the same batch process, and each material corresponds to a task to be started.
  • the task to be started Both include multiple processes, and task scheduling methods include:
  • the task data includes the process number, processing time, processing position and stagnation time of the processing position corresponding to all processes corresponding to the task to be started, where the process number is the process code, and the processing time is the completion of each process
  • the length of time required, the processing position is the position of the material in the semiconductor process equipment when each process is performed, and the stagnation time of the processing position is the stagnation time of the material at the corresponding processing position after completing each process;
  • the task scheduling model takes the shortest total time required to execute all tasks to be started as the goal function, the constraints of the task scheduling model are associated with the task data;
  • task scheduling is performed on the task to be started.
  • the embodiment of the present invention discloses a semiconductor process equipment.
  • the semiconductor process equipment processes multiple materials in the same batch process. Each material corresponds to a task to be started.
  • the tasks to be started include multiple processes.
  • the semiconductor process equipment includes:
  • the controller is used to obtain the task data of all tasks to be started;
  • the task data includes the process number, processing time, processing position and stagnation time of the processing position corresponding to all processes corresponding to the task to be started, wherein the process number is the process code, and the processing time is
  • the processing position is the position of the material in the semiconductor process equipment when each process is performed, and the stagnation time of the processing position is the stagnation time of the material at the corresponding processing position after completing each process;
  • the task scheduling model takes the shortest total time required to execute all tasks to be started as the goal function, the constraints of the task scheduling model are associated with the task data;
  • task scheduling is performed on the task to be started.
  • the task scheduling model with the shortest duration as the objective function and the constraints associated with the task data to obtain the start time of each task to be started output by the task scheduling model; here, with the goal of minimizing the total processing time for all tasks to be started
  • the start time of each task to be started can be obtained, and the start of the task can be planned efficiently and orderly.
  • the task scheduling of the task to be started can improve the efficiency of task completion, and then increase the equipment capacity.
  • FIG. 1 shows a schematic structural diagram of a semiconductor process equipment provided in this embodiment
  • Fig. 2 shows a flow chart of a task procedure provided by this embodiment
  • FIG. 3 shows a flow chart of a task scheduling method provided in this embodiment
  • FIG. 4 shows a schematic structural diagram of a semiconductor process equipment provided in this embodiment.
  • the semiconductor process equipment involved in the present invention can be divided into a storage (Station) module, a processing module (Tank), a cassette manipulator (FoupRobot, referred to as FR), a wafer grabbing manipulator (Wafer Handling Robot, WHR) 2, a Wafer Transferring Robot (WTR) 1, 4 dual lifting robots (DualLifterRobot).
  • a storage (Station) module a processing module (Tank)
  • FR cassette manipulator
  • WHR wafer grabbing manipulator
  • WTR Wafer Transferring Robot
  • DualLifterRobot dual lifting robots
  • the wafer rack (Shelf) is used for temporary storage of the cassette (Foup), and a set of Wafer (wafer or chip) can be stored in a Foup. A maximum of one Foup can be placed on each Shelf, and the sensor on the Shelf can detect the number of Foups (0 or 1). There are 16 Shelfs in the semiconductor process equipment, and up to 16 Foups can be stored.
  • PDO is a module that realizes the function of switching the Foup door and performing detection (Mapping).
  • Mapping When the material enters the machine and is placed on the PDO, the PDO executes the door opening operation to perform Mapping verification on the wafer in the Foup to avoid material residue and abnormal wafer placement.
  • the semiconductor process equipment may also include lower chambers 51 and 52 (Lower Plenum, LP) for loading and unloading wafers.
  • a Stocker can include 16 shelves: the Stocker is a buffer area for temporarily placing Foups, a maximum of 16 Foups can be placed on the Stocker, and a Front Opening Unified Pod (Front Opening Unified Pod, FOUP) is called a shelf, and there is a sensor on each shelf to detect whether there is currently a Foup.
  • This component is mainly used to support the function of running multiple tasks at the same time.
  • Front Opening Unified Pod This is a container used to protect, transport, and store wafers in semiconductor manufacturing processes, and its main components are a front-opening container that can accommodate wafers and a front-opening door frame dedicated to the container. Opening and closing is an important loading container of an automatic conveying system.
  • the semiconductor process equipment includes a plurality of processing modules (Tank) arranged in sequence, such as 12 processing modules (Tank), and the processing module (Tank) can be called a process tank in terms of semiconductor process equipment.
  • Tank ⁇ Tank1 (T1), Tank2 (T2), Tank3 (T3), Tank4 (T4), Tank5 (T5), Tank6 (T6), Tank7 (T7), Tank8 (T8), Dry, WTC, IOBuffer, EEWD ⁇ .
  • Dry is a drying process unit, which is used to perform a drying process operation on the material to ensure that the material is dry after the process task (ie job) is completed.
  • the calibration module (IOBuffer) 6 is used to perform the Align calibration operation on the material.
  • the Temporary Storage Module (WTC) 3 is used to combine and place the materials of the same task in one processing module (Tank) to perform process operations at the same time.
  • EEWD is used to perform hand washing operations on the manipulators that grab materials in different acid tanks to reduce the pollution of the manipulators to acids in different acid process units.
  • Tank1 including WTC, IOBuffer (Align calibration is required in IOBuffer), EEWD (washing sink) and processing modules (Tank) for corresponding process operations.
  • Tank1, Tank3, Tank5, and Tank7 are acid process tanks
  • Tank2, Tank4, Tank6, and Tank8 are water tanks
  • Dry is a drying process tank.
  • Tank1 and Tank2, Tank3 and Tank4, Tank5 and Tank6, Tank7 and Tank8 all have their own Dual hands, the transmission of wafers between Tanks with Dual hands can be transmitted through Dual hands, and the transmission of wafers in other Tanks is transmitted through WTR , and finally passed out of the machine after drying through the drying tank.
  • the semiconductor process equipment may include a FoupRobot manipulator, a WHR manipulator 2 , a WTR manipulator 1 , and multiple DualLifter manipulators 7 .
  • Foup manipulator hereinafter referred to as FR hand, responsible for the transmission of Foup.
  • the Foup manipulator can move bidirectionally between Shelf and PDO, grabbing one Foup at a time.
  • the main realization of the task After starting the task, transfer the Foup from the Stocker to PDO1 or PDO2 according to the process path of the wafer, and transfer the Foup to the buffer Stocker after the task is over.
  • the manipulator is only active in PDO1, PDO2, Stocker area.
  • Wafer Handling Robot (WHR) 2 is the manipulator responsible for the transfer of dry materials. WHR can move bidirectionally between PDO and WTC. WHR can grab a group of wafers at a time. Responsible for grabbing wafers from Foup on PDO into WTC. The manipulator only moves between the WTC and PDO areas.
  • Wafer Transferring Robot (WTR) 1 responsible for the transfer of wet materials between Tanks that do not use Duallifter. WTR can transfer between two processing modules (Tank) that do not use Duallifter. ) to move in both directions. Responsible for the transfer of wafers, mainly responsible for transferring wafers between Tank and Tank. The manipulator is only active in the processing module (Tank) area.
  • Dual Lifter Robot (DualLifter Robot) 7 hereinafter referred to as Dual Hand, the robot responsible for the transfer of wet materials, Dual Lifter Robot can move bidirectionally between the two fixed Tanks corresponding to it.
  • the semiconductor process equipment involved in the embodiment of the present invention processes multiple materials in the same batch process, and each material corresponds to a task to be started.
  • the material may be a wafer
  • one task to be started is used to process one wafer
  • the task to be started includes multiple processes in the process of processing a wafer.
  • the multiple procedures of the task to be started may be as follows:
  • Step S1 FR hand transfers the Foup from the Shelf to the PDO for scanning (Mapping), and opens the Foup door.
  • Step S2 the WHR hand transfers the wafer in the Foup on the PDO to the WTC.
  • the task to be started can specify a single PDO in PDO1 and PDO2 to scan.
  • Step S3 the FR puts the empty Foup on the PDO back on the Shelf corresponding to the Stocker.
  • Step S4 the WTR manually places the wafer in the WTC into the IOBuffer to perform a verification operation.
  • Step S5 all wafers are processed in the machine according to the recipe of the factory.
  • Step S6 sending to a drying tank for drying after finishing the process.
  • Step S7 finally pass through the drying tank and pass out the machine.
  • Step S8 the FR hand transmits the empty Foup on the Shelf to the PDO.
  • Step S9 after the process ends, the WHR moves the wafer on the WTC to the Foup on the PDO.
  • Step S10 the FR puts the Foup on the PDO back on the Shelf corresponding to the Stocker.
  • the task scheduling method provided by the embodiment of the present invention can be applied to at least the following application scenarios, which will be described below.
  • semiconductor process equipment needs to process multiple materials in the process of the same batch, and each material corresponds to a task to be started.
  • the tasks to be started include multiple processes in the process of processing materials. Since the process of the task that has been started is constantly being completed, it may appear that the task that has been started and the task to be started are incompatible at the first moment, but as the process progress of the task that has been started is updated, after the first moment At the second moment, the started task and the to-be-started task are compatible.
  • the task that is compatible with the tasks that have already been started and has the longest waiting time is usually selected from the list of tasks waiting to be started, and started. Based on this, on the one hand, with the progress of the started tasks, the process progress of the started tasks is updated in real time, but the process of judging compatibility is not updated, which will result in inaccurate compatibility judgments, which in turn will cause the tasks that could have been started to fail. start; on the other hand, the task to be started cannot be planned, and the exact start time of the task to be started cannot be obtained.
  • Fig. 3 is a flowchart of a task scheduling method provided by an embodiment of the present invention.
  • the task scheduling method may include steps 310-step 330, the semiconductor process equipment processes multiple materials in the same batch process, each material corresponds to a task to be started, and the tasks to be started include multiple processes , as follows:
  • Step 310 obtain the task data of all tasks to be started; the task data includes the process numbers, processing time, processing position and processing position stagnation time corresponding to all processes corresponding to the tasks to be started, wherein the process number is the process code, and the processing time is completed.
  • the length of time required for each process, the processing position is the position of the material in the semiconductor process equipment when each process is performed, and the stagnation time of the processing position is the stagnation time of the material at the corresponding processing position after completing each process.
  • Step 320 input the task data of each task to be started into the task scheduling model, so as to obtain the start time of each task to be started output by the task scheduling model;
  • the objective function, the constraints of the task scheduling model, is associated with the task data.
  • Step 330 perform task scheduling for each task to be started according to the start time of each task to be started.
  • the task scheduling method by obtaining the task data including the process number, processing time, processing position and stagnation time of the processing position corresponding to all processes corresponding to the tasks to be started;
  • a task scheduling model with the shortest total duration as the objective function and constraints associated with the task data is required to obtain the start time of each task to be started output by the task scheduling model; here, to minimize the total processing time as the goal for all pending tasks
  • the start-up task is planned, and the start-up time of each task to be started can be obtained by combining the task data, which can efficiently and orderly plan the start-up of the task.
  • the task scheduling of the start-up task can improve the efficiency of task completion, and then improve Equipment capacity.
  • step 310-step 330 the contents of step 310-step 330 are described respectively:
  • Step 310 is involved.
  • the task data includes the process numbers corresponding to all processes corresponding to the tasks to be started, the processing time, the processing position, and the stagnation time of the processing position.
  • the process number is the process code, such as: 1, 2, 3..., or a, b, c...;
  • the processing time is the time required to complete each process, and the processing time corresponding to different processes is different; the processing time of each processing position is a preset value.
  • the processing time of PDO is the preset time d elapsed from opening the Foup door, completing the scanning process, and closing the Foup door.
  • the processing time of the wafer rack is 0, and the processing time of WTC is 0.
  • the processing position is the position of the material in the semiconductor process equipment when each process is performed; the stagnation time of each processing position is a preset value.
  • the stagnation time of the processing position is the stagnation time of the material at the corresponding processing position after completing each process.
  • the semiconductor process equipment can be analyzed to clarify possible procedures and processes in the equipment.
  • the method further includes:
  • Equipment information includes at least: hardware information of semiconductor process equipment, materials processed by semiconductor equipment, and multiple processes included in the task to be started; equipment information is used to build a task scheduling model.
  • Hardware information of semiconductor process equipment hardware information can determine the setting of the process to a certain extent; materials processed by semiconductor equipment have different processing procedures for different materials, so it is necessary to clarify the materials processed by semiconductor equipment; multiple processes included in the task to be started , the multiple processes included in each task to be started may be different. In order to schedule accurately, it is necessary to clarify the multiple processes included in the task to be started.
  • the task scheduling model can be constructed more accurately.
  • the semiconductor process equipment may be a cleaning machine
  • the material is a wafer
  • the processing position includes a wafer rack, a scanning module, a temporary storage module, a verification module, a processing module, and a wafer transfer robot.
  • Wafer rack (Shelf), scanning module (PDO), temporary storage module (WTC), verification module (IOBuffer), processing module (Tank) and wafer transfer robot (WTR).
  • the modeling process plans the transportation (moving) resources, that is, adding the manipulators belonging to the transportation (moving) resources into the material (wafer) process route.
  • the task scheduling model can be established more accurately.
  • Step 320 is involved.
  • Step 320 input the task data into the task scheduling model, and output the starting time of each task to be started; the task scheduling model takes the shortest total time required to execute all the tasks to be started as the objective function, and the constraints of the task scheduling model are related to the task data couplet.
  • step 320 the following steps may also be included:
  • Construct a set of constraint conditions the set of constraint conditions includes constraints related to task data of all tasks to be started;
  • the above-mentioned construction of a task scheduling model based on the objective function and a set of constraint conditions may specifically include the following steps:
  • the objective function and the set of constraints are mathematically modeled, and the task scheduling model is obtained.
  • MIP Mixed integer programming
  • the process of mathematical modeling specifically includes: constructing variables, that is, task data, and generating constraints and objective functions based on variables. Then solve the constructed moral task scheduling model through the solver, and finally output the variable result to obtain the optimal solution of the variable satisfying the constraints.
  • constraints include:
  • the sum of the start time of each process of the material (that is, the value corresponding to the time), the processing time and the stagnation time of the processing position is equal to the end time of each process of the material (that is, the value corresponding to the time);
  • the difference between the end time of the i-th process of the material (that is, the value corresponding to this time) and the stagnation time of the processing position of the i-th process of the material is equal to the start time of the i+1-th process of the material (that is, the time corresponding value);
  • the difference between the end time of the i-th process of the material and the stagnation time of the processing position of the i-th process of the material is less than Or equal to the start time of the jth process of another material;
  • i and j are process numbers, both of which are positive integers; the start time, processing time, processing position stagnation time and end time are all greater than or equal to zero.
  • the stagnation time is added to the usual relationship that the sum of the start time and the processing time is equal to the end time. This is because the constraints of the manipulator must be considered. Since there is only one manipulator in the process area, when material A is processed in a Tank and taken away by the manipulator, the manipulator is transporting material A at this time, and this Tank cannot be put into the next one immediately. Material B, therefore, the actual release time of this Tank is not the time when it finishes processing and is taken away, but the time when material A is transported to its next processing location.
  • the process at the processing position can really end.
  • the first constraint condition the sum of the start time of each process of the material, the processing time and the stagnation time of the processing position is equal to the end time of each process of the material.
  • the end time of each process can be accurately calculated.
  • the first constraint condition can be specifically shown as follows:
  • ET hi the start time of the i-th process of material h
  • stop hi the stagnation time of the processing position after the i-th process of material h is completed
  • LT hi the end time of the i-th process of material h.
  • N ⁇ 1,2,...,n ⁇ : collection of materials
  • the above formula indicates that the start time of the i-th process of material h + the processing time + the stagnation time of the processing position after the i-th process of material h is completed is equal to the end time of the i-th process of material h.
  • the i-th process of the material is completed after the processing time of the i-th process of the material from the beginning moment, and the material can enter the state of the i+1
  • the actual completion time of the i-th process is equal to the sum of the start time of the i-th process of the material and the processing time of the i-th process of the material, that is, the actual completion time of the i-th process of the material is equal to the time of the i-th process of the material The difference between the end time and the stagnation time of the processing position of the i-th process of the material.
  • the start time of the i+1-th process of the material needs to be obtained by subtracting the stagnation time of the processing position of the i-th process of the material from the end time of the i-th process of the material.
  • the second constraint condition the difference between the end time of the i-th process of the material and the stagnation time of the processing position of the i-th process of the material is equal to the start time of the i+1-th process of the material.
  • the second constraint condition may specifically be as follows:
  • ET hi+1 LT hi -stop hi ,h ⁇ N,i ⁇ O n (3)
  • stop hi the stagnation time of the processing position after the i-th process of material h is completed
  • LT hi the end time of the i-th process of material h.
  • N ⁇ 1,2,...,n ⁇ : collection of materials
  • the above formula indicates that the difference between the end time of the i-th process of the material and the stagnation time of the processing position of the i-th process of the material is equal to the start time of the i+1-th process of the material.
  • the order of the two material processes can only have one situation, that is, for the target processing position k, or the process of material h is prior to The process of material l, or the process of material l is prior to the process of material h.
  • the third constraint condition for the same target processing position, only one material can be processed at the corresponding target processing position.
  • the third constraint condition can be specifically shown as follows:
  • N ⁇ 1,2,...,n ⁇ : collection of materials
  • K ⁇ 1,2,...,n ⁇ : set of material processing locations
  • x khilj means that the i-th process of material h is processed at processing position k before the j-th process of material l; x kljhi the j-th process of material l is processed at processing position k before the i-th process of material h , since the sum of the two is 1, one of them is 0 and the other is 1, so it can be seen that for the same target processing position, only one material can be processed at the corresponding target processing position.
  • the actual completion time of the i-th process of the material is less than or equal to the start of the j-th process of another material time.
  • the actual completion time of the i-th process of the material is equal to the difference between the end time of the i-th process of the material and the stagnation time of the processing position of the i-th process of the material. Therefore, one can get:
  • the fourth constraint condition if the i-th process of the material is processed at the target processing position before the j-th process of another material, the end time of the i-th process of the material and the processing position of the i-th process of the material stagnate The difference in duration is less than or equal to the start time of the jth process of another material.
  • the fourth constraint condition can be specifically shown as follows:
  • N ⁇ 1,2,...,n ⁇ : collection of materials
  • M A very large positive number, used to realize the linearization of the model. For example, it can be the total time to complete the processing of the preset quantity of materials.
  • the preset quantity is much larger than the actual quantity of materials to be processed.
  • the above inequality means that if the i-th process of material h is processed at the processing position k before the j-th process of material l, then the end time of the i-th process of material h is the same as the i-th process of material h.
  • the difference between the stagnation time of the post-processing position is less than or equal to the start time of the jth process of material l.
  • process number should be a positive integer, and the start time, processing time, processing position stagnation time and end time should be greater than or equal to zero.
  • the fifth constraint condition can be specifically shown as follows:
  • the wafer transfer manipulator considering the operation of the wafer transfer manipulator in the actual process, it is necessary to restrict the stagnation time of the process position before the wafer transfer manipulator. Since there is only one wafer transfer manipulator in the process area, when material A is in a After the processing in the Tank is completed and taken away by the wafer transfer hand, the wafer transfer robot is transporting material A at this time, and this Tank cannot immediately put the next material B. Therefore, the actual release time of this Tank is not when it finishes processing. The time when it is taken away, but the time when material A is transported to its next processing location.
  • constraints mentioned above may also include:
  • the sixth constraint condition is that if the processing position of the i+1th process of the material is the wafer transfer manipulator, then the stagnation time of the processing position of the i-th process of the material is the running time of the wafer transfer manipulator;
  • the stagnation time of the processing position after the processing of the i-th process of the material is the running time of the manipulator, otherwise the stagnation time is 0.
  • the actual release time of the processing position where the i-th process of the material is described can be accurately limited.
  • the sixth constraint condition can be specifically shown as follows:
  • step 320 may specifically include the following steps:
  • the running task in the machine is task 1, task 1 includes multiple processes, and at this time there is a task 2 that also includes multiple processes, the process of task 1 and the process of task 2 are partially overlapped, therefore, Task 1 is not compatible with task 2.
  • the start time of the first process of task 2 can be obtained, that is, the start time of task 2.
  • the start time of each task to be started can be obtained. Even if there is a conflict between the task in the machine and the task process path to enter the machine, a specific start time can still be given. And the start time will not cause deadlock problem, because the task scheduling model can obtain the movement of each task on the device, based on this given task start time will certainly not cause task deadlock.
  • the so-called deadlock refers to a deadlock caused by multiple processes competing for resources during operation. When the processes are in this deadlock state, they will not be able to move forward without external force. According to the embodiment of the present invention, the above-mentioned deadlock problem will not be caused.
  • Step 330 is involved.
  • Step 330 perform task scheduling for each task to be started according to the start time of each task to be started.
  • the start time of each to-be-started task can be obtained through the solution result model of the task scheduling model in the embodiment of the present invention, and the start time of the first process of the to-be-started task can be determined, that is, the start-up time of the to-be-started task.
  • the mixed integer programming model with the goal of minimizing the maximum material processing time efficiently solves the problem of finding the timing of task start-up, and plans all the tasks to be started with the goal of the highest production capacity.
  • the variable ET hi in the model represents is the start time of the i-th process of material h, then the start time of the 0th process for each material is its start-up time.
  • the variable ET hi is one of the output results after solving the model. Moreover, it can avoid the deadlock problem caused by task startup, and can also greatly improve production efficiency.
  • the task scheduling model with the shortest required total time as the objective function and the constraint conditions associated with the task data outputs the start time of each task to be started; here, all tasks to be started are planned with the goal of minimizing the total processing time, combined with
  • the task data can obtain the start time of each task to be started, which can efficiently and orderly plan the start of the task.
  • the task scheduling of the task to be started can improve the efficiency of task completion and thus increase the equipment capacity.
  • FIG. 4 it shows a structural block diagram of a semiconductor process equipment according to an embodiment of the present invention.
  • the semiconductor process equipment processes multiple materials in the same batch process. Each material corresponds to a task to be started, and the tasks to be started are all Including multiple processes, the semiconductor process equipment 410 includes,
  • the controller 411 is used to obtain the task data of all tasks to be started;
  • the task data includes the process numbers, processing duration, processing position and processing position stagnation time corresponding to all processes corresponding to the tasks to be started, wherein the process number is the process code, and the processing
  • the duration is the time required to complete each process
  • the processing position is the position of the material in the semiconductor process equipment when each process is performed
  • the stagnation time of the processing position is the stagnation time of the material at the corresponding processing position after completing each process
  • the task scheduling model takes the shortest total time required to execute all tasks to be started as the goal function, the constraints of the task scheduling model are associated with the task data;
  • task scheduling is performed on the task to be started.
  • controller 411 is also used to:
  • Construct a set of constraint conditions the set of constraint conditions includes constraints related to task data of all tasks to be started;
  • the constraints include:
  • the sum of the start time, processing time and processing position stagnation time of each process of the material is equal to the end time of each process of the material
  • the difference between the end time of the i-th process of the material and the stagnation time of the processing position of the i-th process of the material is equal to the start time of the i+1-th process of the material;
  • the difference between the end time of the i-th process of the material and the stagnation time of the processing position of the i-th process of the material is less than Or equal to the start time of the jth process of another material;
  • i and j are process numbers, both of which are positive integers; the start time, processing time, processing position stagnation time and end time are all greater than or equal to zero.
  • the semiconductor process equipment is a cleaning machine
  • the material is a wafer
  • the processing position includes a wafer rack, a scanning module, a temporary storage module, a verification module, a processing module, and a wafer transfer robot.
  • the constraints also include:
  • the stagnation time of the processing position of the i-th process of the material is the running time of the wafer transfer robot
  • the controller 411 is specifically configured to: input task data into the task scheduling model to obtain the start time of each task to be started calculated by the task scheduling model and execute all tasks to be started The minimum total time required for the task.
  • the controller 411 is also used to: analyze the semiconductor process equipment to obtain equipment information; the equipment information at least includes: hardware information of the semiconductor process equipment, materials processed by the semiconductor equipment, and A task includes multiple processes; equipment information is used to build a task scheduling model.
  • the controller 411 is specifically configured to: perform mathematical modeling on an objective function and a set of constraint conditions based on mixed integer programming to obtain a task scheduling model.
  • the semiconductor process equipment 410 further includes:
  • the solver is used for calculation based on the task scheduling model, and obtains the start time of each task to be started and the minimum total time required to execute all the tasks to be started.
  • the task scheduling model that requires the shortest total time as the objective function and the constraints are associated with the task data to obtain the start time of each task to be started output by the task scheduling model; here, the goal is to minimize the total processing time for all
  • the tasks to be started are planned, combined with the task data, the start time of each task to be started can be obtained, and the start of tasks can be planned efficiently and orderly.
  • the task scheduling of the tasks to be started can improve the efficiency of task completion, and then Improve equipment productivity.
  • the description is relatively simple, and for related parts, please refer to the part of the description of the method embodiment.
  • An embodiment of the present invention also provides an electronic device, including: a processor, a memory, and a computer program stored on the memory and capable of running on the processor, and the computer program is implemented when executed by the processor.
  • the embodiment of the present invention also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, each process of the above-mentioned task scheduling method embodiment is implemented, and can achieve The same technical effects are not repeated here to avoid repetition.
  • the description is relatively simple, and for related parts, please refer to the part of the description of the method embodiment.
  • embodiments of the present invention may be provided as methods, devices, or computer program products. Accordingly, embodiments of the invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of the invention may take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • Embodiments of the present invention are described with reference to flowcharts and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and/or block in the flowchart and/or block diagrams, and a combination of processes and/or blocks in the flowchart and/or block diagrams can be implemented by computer program instructions. These computer program instructions may be provided to a general purpose computer, special purpose computer, embedded processor or processor of other programmable data processing terminal equipment to produce a machine such that instructions executed by the computer or processor of other programmable data processing terminal equipment Produce means for realizing the functions specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means, the The instruction means implements the functions specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Manufacturing & Machinery (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Operations Research (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • General Factory Administration (AREA)

Abstract

本发明实施例提供了一种任务调度方法,该方法包括:获取所有待启动任务的任务数据;任务数据包括待启动任务对应的所有工序对应的工序号、加工时长、加工位置以及加工位置停滞时长;将每个待启动任务的任务数据均输入至任务调度模型,以获得任务调度模型输出的每个待启动任务的启动时刻;任务调度模型以执行所有待启动任务所需总时长最短为目标函数,任务调度模型的约束条件与任务数据相关联;根据每个待启动任务的启动时刻,对待启动任务进行任务调度。根据本发明的实施例,可以提升任务完成的效率,进而提升设备产能。

Description

一种任务调度方法和半导体工艺设备 技术领域
本发明涉及半导体技术领域,特别是涉及一种任务调度方法和半导体工艺设备。
背景技术
目前,随着自动化技术的发展,可以在半导体设备启动多个任务。基于现有技术方案,在设备中存在正在进行中的任务时,会在待启动任务中选择与正在进行中的任务能够兼容且等待时间最久的任务作为下一个启动的任务。但是,这样无法确定待启动任务的准确时间,也无法对多个待启动任务进行合理规划。
由此,目前的任务调度方法无法实现任务调度的实时最优化,会造成资源浪费,进而导致设备产能低下。
发明内容
本发明实施例所要解决的技术问题是设备产能低下。
为了解决上述问题,本发明实施例公开了一种任务调度方法,应用于半导体工艺设备,半导体工艺设备在同一批次工艺进程中加工多个物料,每一个物料对应一个待启动任务,待启动任务均包括多道工序,任务调度方法包括:
获取所有待启动任务的任务数据;任务数据包括待启动任务对应的所有工序对应的工序号、加工时长、加工位置以及加工位置停滞时长,其中,工序号为工序编码,加工时长为完成每道工序所需的时长,加工位置为进行每道工序时,物料在半导体工艺设备中的位置,加工位置停滞时长为物料在完 成每道工序后在对应加工位置的停滞时长;
将每个待启动任务的任务数据均输入至任务调度模型,以获得所述任务调度模型输出的每个待启动任务的启动时刻;任务调度模型以执行所有待启动任务所需总时长最短为目标函数,任务调度模型的约束条件与任务数据相关联;
根据每个待启动任务的启动时刻,对待启动任务进行任务调度。
本发明实施例公开了一种半导体工艺设备,半导体工艺设备在同一批次工艺进程中加工多个物料,每一个物料对应一个待启动任务,待启动任务均包括多道工序,半导体工艺设备包括:
控制器,用于获取所有待启动任务的任务数据;任务数据包括待启动任务对应的所有工序对应的工序号、加工时长、加工位置以及加工位置停滞时长,其中,工序号为工序编码,加工时长为完成每道工序所需的时长,加工位置为进行每道工序时,物料在半导体工艺设备中的位置,加工位置停滞时长为物料在完成每道工序后在对应加工位置的停滞时长;
将每个待启动任务的任务数据均输入至任务调度模型,以获得所述任务调度模型输出的每个待启动任务的启动时刻;任务调度模型以执行所有待启动任务所需总时长最短为目标函数,任务调度模型的约束条件与任务数据相关联;
根据每个待启动任务的启动时刻,对待启动任务进行任务调度。
根据本发明的实施例,通过获取包括待启动任务对应的所有工序对应的工序号、加工时长、加工位置以及加工位置停滞时长的任务数据;将任务数据输入至以执行所有待启动任务所需总时长最短为目标函数且约束条件与任务数据相关联的任务调度模型,以获得该任务调度模型输出的每个待启动任务的启动时刻;这里,以最小化总加工时长为目标对所有待启动任务进行规划,结合任务数据可以得到每一个待启动任务的启动时刻,可以高效有序的 规划任务的启动,最后,根据启动时刻,对待启动任务进行任务调度,可以提升任务完成效率,进而提升设备产能。
附图说明
图1示出了本实施例提供的一种半导体工艺设备的结构示意图;
图2示出了本实施例提供的一种任务工序的流程图;
图3示出了本实施例提供的一种任务调度方法的流程图;
图4示出了本实施例提供的一种半导体工艺设备结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
首先,结合图1对发明中涉及到的半导体工艺设备进行简要说明。
本发明中涉及到的半导体工艺设备可以划分为存放(Station)模块、加 工模块(Tank)、片盒机械手(FoupRobot,简称FR)、一个晶圆抓取机械手(Wafer Handling Robot,WHR)2、一个晶圆传输机械手(Wafer Transferring Robot,WTR)1、4个双起重机械手(DualLifterRobot)。具体机台结构图如图1所示。
其中,半导体工艺设备可以包括多个Station模块:半导体工艺设备可以包括18个Station模块,集合表示为ST={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,包括装载腔室(load lock,LL)41、42):PDO是实现开关Foup门并进行检测(Mapping)功能的模块。当物料进机台被放置在PDO上时,PDO执行开门操作对Foup中的晶圆做Mapping校验,避免物料残留,和晶圆放置异常。另外,半导体工艺设备还可以包括下腔室51、52(Lower Plenum,LP),用于晶圆的装卸载。
存储单元(Stocker),一个Stocker可以包括16个shelf:Stocker是用于临时放置Foup的缓存区,Stocker上最多可以放置16个Foup,Stocker上放置前开式晶圆传送盒(Front Opening Unified Pod,FOUP)的部件称为架子(shelf),每个shelf上有一个传感器可以检测当前是否有Foup存在。该部件主要是用来支持多任务同时运行的功能。
其中,前开式晶圆传送盒(Front Opening Unified Pod,FOUP)。这是半导体制程中被使用来保护、运送、并储存晶圆的一种容器,而其主要的组成元件为一个能容纳晶圆的前开式容器并有一个前开式的门框专司容器的开闭,是一种自动化传送系统重要的传载容器。
半导体工艺设备包括依次设置的多个加工模块(Tank),如12个加工模块(Tank),加工模块(Tank)就半导体工艺设备来说可以称之为工艺槽。表示为集合TK={Tank1(T1),Tank2(T2),Tank3(T3),Tank4(T4),Tank5(T5),Tank6(T6),Tank7(T7),Tank8(T8),Dry,WTC,IOBuffer,EEWD}。
其中,Dry为干燥工艺单元,用于对物料执行drying工艺操作,确保工艺任务(即job)完成后的物料是干燥的。
校验模块(IOBuffer)6用于对物料执行Align校准操作。
暂存模块(WTC)3用于将同一任务的物料合并放置在一个加工模块(Tank)中以同时进行工艺操作。
EEWD,用于对抓取不同酸槽中物料的机械手执行洗手操作,降低机械手对不同酸工艺单元中酸的污染。
12个加工模块(Tank):包含WTC、IOBuffer(在IOBuffer中需要做Align校准)、EEWD(洗手槽)及用于进行相应的工艺操作的加工模块(Tank)。示例性地,Tank1、Tank3、Tank5、Tank7分别是酸工艺槽,Tank2、Tank4、Tank6、Tank8则是水槽,Dry为干燥工艺槽。Tank1与Tank2,Tank3与Tank4、Tank5与Tank6、Tank7与Tank8之间均有各自的Dual手,存在Dual手的Tank之间wafer的传输可通过Dual手传输,其余Tank中wafer的传输均通过WTR传送,最后通过干燥槽干燥后传出机台。
半导体工艺设备可以包括一个FoupRobot机械手、一个WHR机械手2、一个WTR机械手1、多个DualLifter机械手7。
Foup机械手:下文中简称为FR手,负责对Foup的传送。Foup机械手可以在Shelf与PDO之间进行双向移动,一次抓取一个Foup。任务中主要实现:启动任务后,根据晶圆的工艺路径将Foup从Stocker传送至PDO1或PDO2,任务结束后,将Foup传送至缓冲区Stocker。该机械手仅仅在PDO1、PDO2、Stocker区域内活动。
晶圆抓取机械手(Wafer Handling Robot,WHR)2为负责干燥的物料的传送的机械手,WHR可以在PDO与WTC之间进行双向移动,WHR一次可以抓取一组wafer。负责将PDO上的Foup中的晶圆抓取到WTC中。该机械手仅仅在WTC与PDO区域之间活动。
晶圆传输机械手(Wafer Transferring Robot,WTR)1:负责不使用双槽机械手(Duallifter)的Tank之间的潮湿物料的传送,WTR可以在不使用双槽机械手(Duallifter)的两个加工模块(Tank)之间进行双向移动。负责晶圆的传送,主要负责在Tank和Tank之间传送晶圆。该机械手的仅仅在加工模块(Tank)区域活动。
双起重机械手(DualLifter Robot)7:下文简称Dual手,负责潮湿物料的传送的机械手,Dual手可以在与其对应的固定的两个Tank之间进行双向移动。
上述设备的4个Dual手分别存在Tank1与Tank2之间,只负责Tank1与Tank2之间物料的传输、Tank3与Tank4之间、只负责Tank3与Tank4之间物料的传输、Tank5与Tank6之间的Dual只负责Tank5与Tank6之间物料的传输、Tank7与Tank8之间的Dual只负责Tank7与Tank8之间物料的传输。
本发明实施例涉及的半导体工艺设备在同一批次工艺进程中加工多个物料,每一个物料对应一个待启动任务。比如,物料可以为晶圆,一个待启动任务用于加工一个晶圆,待启动任务在加工晶圆的过程中均包括多道工序。
示例性地,待启动任务的多道工序具体可以如下:
Shelf–PDO1/PDO2–WTC–IOBuffer–Tank3-Tank4-WTR–Tank5-Tank6-WTR–Tank1-Tank2-WTR–Tank7-Tank8-WTR–Dry-WTR–WTC–PDO1/PDO2–Shelf。
任务包括的多道具体工序流程,具体可以参照图2所示的流程图:
步骤S1、FR手将Foup从Shelf传送至PDO做扫描(Mapping),并打 开Foup门。
步骤S2、WHR手将PDO上Foup中的晶圆传送至WTC中。其中,待启动任务可以指定PDO1和PDO2中的单个PDO进行扫描。
步骤S3、FR手将PDO上的空Foup放回Stocker对应的Shelf上。
步骤S4、WTR手将WTC中晶圆放置到IOBuffer中进行校验操作。
步骤S5、所有晶圆在机台内按照工厂端的Recipe完成工艺。
步骤S6、完成工艺后送去干燥槽干燥。
步骤S7、最后通过干燥槽干燥后传出机台。
步骤S8、FR手将Shelf上的空Foup传送至PDO。
步骤S9、工艺结束后,WHR将WTC上的晶圆移至PDO上的Foup内。
步骤S10、FR手将PDO上的Foup放回Stocker对应的Shelf上。
本发明实施例提供的任务调度方法至少可以应用于下述应用场景中,下面进行说明。
目前,半导体工艺设备在同一批次的工艺进程中需要加工多个物料,每一个物料对应一个待启动任务。待启动任务在加工物料的过程中又都包括多道工序。由于已经启动任务的工序是在不断被完成的,所以可能出现已启动任务和待启动任务在第一时刻是不兼容的,但随着已启动任务的工序进度的更新,在第一时刻之后的第二时刻,已启动任务和待启动任务是可以兼容的。
基于现有技术方案,通常在等待启动的任务列表中挑选与已经启动的任务能够兼容且等待时间最久的任务,进行启动。基于此,一方面,随着已启动任务的进行,已启动任务的工序进度是在实时更新的,但是判断兼容的过程没有更新,这会造成兼容判断不准确,进而导致原本可以启动的任务无法启动;另一方面,无法对待启动任务进行规划,也就无法得到待启动任务的准确的启动时刻。
因此,基于现有技术方案,无法实现任务调度的实时最优化,会造成资 源浪费,进而导致设备产能低下。
基于上述应用场景,下面对本发明实施例提供的任务调度方法进行详细说明。
图3为本发明实施例提供的一种任务调度方法的流程图。
如图3所示,该任务调度方法可以包括步骤310-步骤330,半导体工艺设备在同一批次工艺进程中加工多个物料,每一个物料对应一个待启动任务,待启动任务均包括多道工序,具体如下所示:
步骤310,获取所有待启动任务的任务数据;任务数据包括待启动任务对应的所有工序对应的工序号、加工时长、加工位置以及加工位置停滞时长,其中,工序号为工序编码,加工时长为完成每道工序所需的时长,加工位置为进行每道工序时,物料在半导体工艺设备中的位置,加工位置停滞时长为物料在完成每道工序后在对应加工位置的停滞时长。
步骤320,将每个待启动任务的任务数据均输入至任务调度模型,以获得任务调度模型输出的每个待启动任务的启动时刻;任务调度模型以执行所有待启动任务所需总时长最短为目标函数,任务调度模型的约束条件与任务数据相关联。
步骤330,根据每个待启动任务的启动时刻,对待启动任务进行任务调度。
本发明提供的任务调度方法中,通过获取包括待启动任务对应的所有工序对应的工序号、加工时长、加工位置以及加工位置停滞时长的任务数据;将任务数据输入至以执行所有待启动任务所需总时长最短为目标函数且约束条件与任务数据相关联的任务调度模型,以获得该任务调度模型输出的每个待启动任务的启动时刻;这里,以最小化总加工时长为目标对所有待启动任务进行规划,结合任务数据可以得到每一个待启动任务的启动时刻,可以高效有序的规划任务的启动,最后,根据启动时刻,对待启动任务进行任务调 度,可以提升任务完成效率,进而提升设备产能。
下面,对步骤310-步骤330的内容分别进行描述:
涉及步骤310。
获取所有待启动任务的任务数据;任务数据包括待启动任务对应的所有工序对应的工序号、加工时长、加工位置以及加工位置停滞时长。
其中,工序号为工序编码,如:1、2、3……,或者a、b、c……;
加工时长为完成每道工序所需的时长,不同工序对应的加工时长不同;其中,各个加工位置的加工时长是预设值。如PDO的加工时长是从开Foup门开始,完成扫描过程,到关闭Foup门为止所经过的预设时长d,晶圆架的加工时长为0,WTC的加工时长为0。
加工位置为进行每道工序时,物料在半导体工艺设备中的位置;各个加工位置的停滞时长是预设值。
加工位置停滞时长为物料在完成每道工序后在对应加工位置的停滞时长。
以扫描模块为例,说明上述涉及到的任务数据。对于任务数据“2,5秒,PDO,10秒”,说明:工序号为2号的工序,加工时长为5秒,加工位置在扫描模块(PDO),加工位置停滞时长为10秒。
一种可能的实施例中,为了更准确地构建任务调度模型,可以对半导体工艺设备进行分析,明确该设备中可能出现的工序和流程,步骤310之前,方法还包括:
分析半导体工艺设备,得到设备信息;设备信息至少包括:半导体工艺设备的硬件信息,由半导体设备加工的物料,以及待启动任务包括的多道工序;设备信息用于构建任务调度模型。
半导体工艺设备的硬件信息,硬件信息可以一定程度的确定工序的设置情况;由半导体设备加工的物料,不同物料的加工工序不同,因此需要明确 半导体设备加工的物料;待启动任务包括的多道工序,每个待启动任务包括的多道工序可能各不相同,为了准确调度,所以需要明确待启动任务包括的多道工序。
由此,通过分析半导体工艺设备,得到设备信息,然后再根据设备信息以及待启动任务的工序,构建目标函数以及构建约束条件集合,可以更准确构建任务调度模型。
具体地,半导体工艺设备可以为清洗机设备,物料为晶圆,加工位置包括晶圆架、扫描模块、暂存模块、校验模块、加工模块以及晶圆传输机械手。
晶圆架(Shelf)、扫描模块(PDO)、暂存模块(WTC)、校验模块(IOBuffer)、加工模块(Tank)以及晶圆传输机械手(WTR)。
这里,本实施例中,建模过程将运输(移动)资源进行了规划,也即将属于运输(移动)资源的机械手,加入到了物料(晶圆)工序路径中。通过将机械手加入到物料的工序路径中,能够更加准确地建立任务调度模型。
涉及步骤320。
步骤320,将任务数据输入至任务调度模型,输出每个待启动任务的启动时刻;任务调度模型以执行所有待启动任务所需总时长最短为目标函数,任务调度模型的约束条件与任务数据相关联。
在一种可能的实施例中,在步骤320之前,还可以包括以下步骤:
构建目标函数,目标函数包括:与执行所有待启动任务所需时长相关的最小化函数;
构建约束条件集合,约束条件集合包括与所有待启动任务的任务数据相关的约束条件;
根据目标函数和约束条件集合构建任务调度模型。
具体地,上述涉及到的目标函数具体可以如下所示:
Figure PCTCN2022134416-appb-000001
其中,h是物料序号,O={O 1,O 2,…,O n}:各物料的工序集合;O h是物料h的工序数量;LT hi是物料h的第i道工序的结束时刻;
Figure PCTCN2022134416-appb-000002
表示在最晚一个完成的物料完成所有工序的结束时刻,min是最小值计算,即用于求解完成所有物料的所有工序的最早结束时刻,因此上述公式(1)用于表示所有待启动任务所需时长相关的最小化函数。
其中,上述涉及到的根据目标函数和约束条件集合构建任务调度模型,具体可以包括以下步骤:
基于混合整数规划对目标函数和约束条件集合进行数学建模,得到任务调度模型。
混合整数规划(mixed integer programming,MIP)指部分决策变量限制为整数的整数规划问题。
数学建模的过程具体包括:构建变量,即任务数据,基于变量生成约束条件和目标函数。然后通过求解器对构建的道德任务调度模型进行求解,最后输出的变量结果就是得到满足约束条件的变量最优解。
其中,约束条件包括:
物料的每道工序的开始时刻(即,该时刻对应的数值)、加工时长以及加工位置停滞时长之和,等于物料的每道工序的结束时刻(即,该时刻对应的数值);
物料的第i道工序的结束时刻(即,该时刻对应的数值)与物料的第i道工序的加工位置停滞时长之差,等于物料的第i+1道工序的开始时刻(即,该时刻对应的数值);
对于同一个目标加工位置,仅可实现一个物料在对应目标加工位置上加工;
若物料的第i道工序先于另一个物料的第j道工序在目标加工位置上加工,则物料的第i道工序的结束时刻与物料的第i道工序的加工位置停滞时长之差,小于或等于另一个物料的第j道工序的开始时刻;
其中,i,j为工序号,且均为正整数;开始时刻、加工时长,加工位置停滞时长以及结束时刻均大于或等于零。
下面分别对上述约束条件分别进行解释说明:
首先,为了准确计算每道工序的结束时刻,在通常的开始时刻与加工时长之和等于结束时刻的关系中,加入了停滞时长。这是因为要考虑机械手的约束,由于在工艺区只有一个机械手,当物料A在一个Tank中加工完成被机械手取走后,此时机械手正在运输物料A,这个Tank并不能马上再放入下一个物料B,因此,这个Tank的实际释放时间并不是它完成加工被取走的时间,而是当物料A被运输到其下一个加工位置时的时间。
以工序“Shelf–PDO1/PDO2–WTC–IOBuffer–Tank3-Tank4-WTR–Tank5-Tank6-WTR–Tank1-Tank2-WTR–Tank7-Tank8-WTR–Dry-WTR–WTC–PDO1/PDO2–Shelf”为例,当物料A在Tank4中加工完成被WTR机械手取走后,此时机械手正在运输物料A,这个Tank4并不能马上再放入下一个物料B。
也就是说,从工序的开始时刻开始,在经过了加工时长,以及经过了物料在完成工序后在对应加工位置的停滞时长之后,该加工位置的工序可以真正的结束。
因此,第一约束条件:物料的每道工序的开始时刻、加工时长以及加工位置停滞时长之和,等于物料的每道工序的结束时刻。由此,可以准确计算每道工序的结束时刻。第一约束条件具体可以如下所示:
ET hi+d hi+stop hi=LT hi,h∈N,i∈O n  (2)
ET hi:物料h的第i道工序的开始时刻;
d hi:物料h的第i道工序的加工时长;
stop hi:物料h的第i道工序加工完成后加工位置的停滞时长;
LT hi:物料h的第i道工序的结束时刻。
N={1,2,...,n}:物料集合;
上述公式表示物料h的第i道工序的开始时刻+加工时长+物料h的第i道工序加工完成后加工位置的停滞时长等于物料h的第i道工序的结束时刻。
其次,实际上物料的第i道工序在开始时刻起,经过物料的第i道工序的加工时长之后就完成了,此时物料是可以进入物料的第i+1道工序的状态,即物料的第i道工序的实际完成时刻等于物料的第i道工序的开始时刻与物料的第i道工序的加工时长之和,即物料的第i道工序的实际完成时刻等于物料的第i道工序的结束时刻与物料的第i道工序的加工位置停滞时长之差。
由于第i道工序的结束时刻等于物料的第i道工序的开始时刻、物料的第i道工序的加工时长以及物料的第i道工序的加工位置停滞时长之和。所以物料的第i+1道工序的开始时刻需要在物料的第i道工序的结束时刻减去物料的第i道工序的加工位置停滞时长得到。
因此,第二约束条件:物料的第i道工序的结束时刻与物料的第i道工序的加工位置停滞时长之差,等于物料的第i+1道工序的开始时刻。
第二约束条件具体可以如下所示:
ET hi+1=LT hi-stop hi,h∈N,i∈O n  (3)
E Thi+1:物料h的第i+1道工序的开始时刻;
stop hi:物料h的第i道工序加工完成后加工位置的停滞时长;
LT hi:物料h的第i道工序的结束时刻。
N={1,2,...,n}:物料集合;
上述公式表示物料的第i道工序的结束时刻与物料的第i道工序的加工位置停滞时长之差,等于物料的第i+1道工序的开始时刻。
以工序“Shelf–PDO1/PDO2–WTC–IOBuffer–Tank3-Tank4-WTR–Tank5-Tank6-WTR–Tank1-Tank2-WTR–Tank7-Tank8-WTR–Dry-WTR–WTC–PDO1/PDO2–Shelf”为例,物料的在Tank7加工的工序的结束时刻与物料的在Tank7加工的工序的加工位置停滞时长之差,等于物料的在Tank8加工的工序的开始时刻。
接着,为了保证各道工序之间是不互相冲突的,需要限制在一个加工位置上,两个物料工序的先后顺序只能有一种情况,即对于目标加工位置k,要么物料h的工序先于物料l的工序,要么物料l的工序先于物料h的工序。
因此,第三约束条件:对于同一个目标加工位置,仅可实现一个物料在对应目标加工位置上加工。
第三约束条件具体可以如下所示:
x khilj+x kljhi=1,h,l∈N,i,j∈O n,k∈K  (4)
其中,
Figure PCTCN2022134416-appb-000003
N={1,2,...,n}:物料集合;
K={1,2,...,n}:物料加工位置集合;
x khilj表示物料h的第i道工序先于物料l的第j道工序在加工位置k上加工;x kljhi物料l的第j道工序先于物料h的第i道工序在加工位置k上加工,由于两者之和为1,所以两者之间一个为0,一个为1,因此可知对于同一个目标加工位置,仅可实现一个物料在对应目标加工位置上加工。
接着,为了保证各个待启动任务之间是不互相冲突的,需要限制物料的后一道工序的开始时刻不能先于与之相邻的该物料的前一道工序的实际完成时刻。因此,若物料的第i道工序先于另一个物料的第j道工序在目标加工位置上加工,则物料的第i道工序的实际完成时刻小于或等于另一个物料的第j道工序的开始时刻。由于前述说明过物料的第i道工序的实际完成时刻 等于物料的第i道工序的结束时刻与物料的第i道工序的加工位置停滞时长之差。因此,可以得到:
第四约束条件:若物料的第i道工序先于另一个物料的第j道工序在目标加工位置上加工,则物料的第i道工序的结束时刻与物料的第i道工序的加工位置停滞时长之差,小于或等于另一个物料的第j道工序的开始时刻。第四约束条件,具体可以如下所示:
LT hi-stop hi≤ET lj+M(1-x khilj),h,l∈N,i,j∈O n,k∈K  (5)
N={1,2,...,n}:物料集合;
M:很大的正数,用于实现模型线性化,示例性地,可以为完成预设数量的物料加工的总时长,预设数量远大于实际需要加工的物料数量。
若物料h的第i道工序先于物料l的第j道工序在加工位置k上加工,则x khilj为1,那么第四约束条件的不等式右侧为ET ij
因此,上述不等式表示如果物料h的第i道工序先于物料l的第j道工序在加工位置k上加工,则物料h的第i道工序的结束时刻与物料h的第i道工序加工完成后加工位置的停滞时长之差小于或等于物料l的第j道工序的开始时刻。
若物料h的第i道工序不先于物料l的第j道工序在加工位置k上加工,则x khilj为0,那么第四约束条件的不等式右侧为很大的正数,不等式关系自然成立。
最后,工序号应为正整数,开始时刻、加工时长,加工位置停滞时长以及结束时刻应该是大于或等于零的。
因此,第五约束条件:其中,i,j为工序号,且均为正整数;开始时刻、加工时长,加工位置停滞时长以及结束时刻均大于或等于零。
第五约束条件,具体可以如下所示:
stop hi,d hi,ET hi,LT hi≥0  (6)
上述公式,表示变量取值约束,i,j、开始时刻、加工时长,停滞时长,以及结束时刻为正整数。
另外,考虑到晶圆传输机械手在实际的工艺过程中的运行情况,需要对晶圆传输机械手之前的工序位置的停滞时长进行约束,由于在工艺区只有一个晶圆传输机械手,当物料A在一个Tank中加工完成被晶圆传输手取走后,此时晶圆传输机械手正在运输物料A,这个Tank并不能马上再放入下一个物料B,因此,这个Tank的实际释放时间并不是它完成加工被取走的时间,而是当物料A被运输到其下一个加工位置时的时间。
因此上述涉及到的约束条件还可以包括:
第六约束条件,若物料的第i+1道工序的加工位置为晶圆传输机械手,则物料的第i道工序的加工位置停滞时长为晶圆传输机械手的运行时长;
否则物料的第i道工序的加工位置停滞时长为0。
如果物料的第i+1道工序位置为晶圆传输机械手,那么物料的第i道工序加工完成后加工位置的停滞时长为机械手的运行时长,否则停滞时长为0。
以工序流程“Shelf–PDO1/PDO2–WTC–IOBuffer–Tank3-Tank4-WTR–Tank5-Tank6-WTR–Tank1-Tank2-WTR–Tank7-Tank8-WTR–Dry-WTR–WTC–PDO1/PDO2–Shelf”为例,如果物料的第i+1道工序位置为晶圆传输机械手,那么物料的第i道工序加工完成后加工位置,即Tank4,Tank6,Tank2,Tank8的停滞时长为机械手的运行时长,否则停滞时长为0。
由此,通过控制停滞时长的值,来描述物料的第i道工序所在的加工位置实际被释放的时长,能够准确地限制的加工位置实际被释放的时长。
第六约束条件,具体可以如下所示:
stop hi=d hi+1ifi+1isWTR else 0  (7)
d hi:物料h的第i道工序的加工时长;
stop hi:物料h的第i道工序加工完成后加工位置的停滞时长
上述公式表示如果物料h的第i+1道工序位置为WTR机械手,那么物料h的第i道工序加工完成后加工位置的停滞时长为机械手的运行时长,否则停滞时长为0。
在一种可能的实施例中,步骤320中,具体可以包括以下步骤:
对任务调度模型进行计算,得到每个待启动任务的启动时刻以及执行所有待启动任务所需的最小总时长。
示例性地,机台中正在运行的任务为任务1,任务1包括多道工序,而此时有一个任务2也包括多道工序,任务1的工序和任务2的工序是部分重合的,因此,任务1与任务2不兼容,经过上述任务调度模型的求解结果模型得到变量ET hi的结果,就可以获得任务2的第1道工序的开始时间,也就是任务2的启动时刻。
由此,通过对任务调度模型进行计算,可以得到每个待启动任务的启动时刻,即便正在机台中的任务与待进入机台的任务工艺路径存在冲突,仍然可以给出一个具体的启动时刻,并且该启动时刻不会带来死锁问题,因为任务调度模型可以得到每一个任务在设备的移动情况,基于此给出的任务启动时刻必然不会使任务发生死锁。所谓死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。根据本发明实施例,不会带来上述死锁问题。
涉及步骤330。
步骤330,根据每个待启动任务的启动时刻,对待启动任务进行任务调度。
经过本发明实施例中任务调度模型的求解结果模型得到每个待启动任务的启动时刻,可以确定待启动任务的第一道工序的开始时刻,也就是待启动任务的启动时刻。
本发明实施例,以最小化最大物料加工时长为目标的混合整数规划模型 高效解决了寻找任务启动时机的问题,以产能最高为目标对所有待启动任务进行规划,模型中的变量ET hi表示的是物料h的第i道工序的开始时刻,那么对于每一个物料的第0道工序的开始时间,就是它的启动时刻。其中,变量ET hi是通过求解模型后输出的结果之一。而且可以避免任务启动而带来的死锁问题,还可以极大提升生产效率。
综上,在本发明实施例中,通过获取包括待启动任务对应的所有工序对应的工序号、加工时长、加工位置以及加工位置停滞时长的任务数据;将任务数据输入至以执行所有待启动任务所需总时长最短为目标函数且约束条件与任务数据相关联的任务调度模型,输出每个待启动任务的启动时刻;这里,以最小化总加工时长为目标对所有待启动任务进行规划,结合任务数据可以得到每一个待启动任务的启动时刻,可以高效有序的规划任务的启动,最后,根据启动时刻,对待启动任务进行任务调度,可以提升任务完成效率,进而提升设备产能。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明实施例的一种半导体工艺设备的结构框图,该半导体工艺设备在同一批次工艺进程中加工多个物料,每一个物料对应一个待启动任务,待启动任务均包括多道工序,该半导体工艺设备410,包括,
控制器411,用于获取所有待启动任务的任务数据;任务数据包括待启动任务对应的所有工序对应的工序号、加工时长、加工位置以及加工位置停滞时长,其中,工序号为工序编码,加工时长为完成每道工序所需的时长,加工位置为进行每道工序时,物料在半导体工艺设备中的位置,加工位置停 滞时长为物料在完成每道工序后在对应加工位置的停滞时长;
将每个待启动任务的任务数据均输入至任务调度模型,以获得所述任务调度模型输出的每个待启动任务的启动时刻;任务调度模型以执行所有待启动任务所需总时长最短为目标函数,任务调度模型的约束条件与任务数据相关联;
根据每个待启动任务的启动时刻,对待启动任务进行任务调度。
在本发明一个可选的实施例中,控制器411,还用于:
构建目标函数,目标函数包括:与执行所有待启动任务所需时长相关的最小化函数;
构建约束条件集合,约束条件集合包括与所有待启动任务的任务数据相关的约束条件;
根据目标函数和约束条件集合构建任务调度模型。
在本发明一个可选的实施例中,约束条件包括:
物料的每道工序的开始时刻、加工时长以及加工位置停滞时长之和,等于物料的每道工序的结束时刻;
物料的第i道工序的结束时刻与物料的第i道工序的加工位置停滞时长之差,等于物料的第i+1道工序的开始时刻;
对于同一个目标加工位置,仅可实现一个物料在对应目标加工位置上加工;
若物料的第i道工序先于另一个物料的第j道工序在目标加工位置上加工,则物料的第i道工序的结束时刻与物料的第i道工序的加工位置停滞时长之差,小于或等于另一个物料的第j道工序的开始时刻;
其中,i,j为工序号,且均为正整数;开始时刻、加工时长,加工位置停滞时长以及结束时刻均大于或等于零。
在本发明一个可选的实施例中,半导体工艺设备为清洗机设备,物料为 晶圆,加工位置包括晶圆架、扫描模块、暂存模块、校验模块、加工模块以及晶圆传输机械手。
在本发明一个可选的实施例中,约束条件还包括:
若物料的第i+1道工序的加工位置为晶圆传输机械手,则物料的第i道工序的加工位置停滞时长为晶圆传输机械手的运行时长;
否则物料的第i道工序的加工位置停滞时长为0。
在本发明一个可选的实施例中,控制器411,具体用于:将任务数据输入至任务调度模型,以获得经任务调度模型计算得到的每个待启动任务的启动时刻以及执行所有待启动任务所需的最小总时长。
在本发明一个可选的实施例中,控制器411,还用于:分析半导体工艺设备,得到设备信息;设备信息至少包括:半导体工艺设备的硬件信息,由半导体设备加工的物料,以及待启动任务包括的多道工序;设备信息用于构建任务调度模型。
在本发明一个可选的实施例中,控制器411,具体用于:基于混合整数规划对目标函数和约束条件集合进行数学建模,得到任务调度模型。
在本发明一个可选的实施例中,半导体工艺设备410还包括:
求解器,用于基于任务调度模型进行计算,得到每个待启动任务的启动时刻以及执行所有待启动任务所需的最小总时长。
综上,在本发明实施例中,通过获取包括待启动任务对应的所有工序对应的工序号、加工时长、加工位置以及加工位置停滞时长的任务数据;将任务数据输入至以执行所有待启动任务所需总时长最短为目标函数且约束条件与任务数据相关联的任务调度模型,以获得该任务调度模型输出的每个待启动任务的启动时刻;这里,以最小化总加工时长为目标对所有待启动任务进行规划,结合任务数据可以得到每一个待启动任务的启动时刻,可以高效有序的规划任务的启动,最后,根据启动时刻,对待启动任务进行任务调度, 可以提升任务完成效率,进而提升设备产能。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述一种任务调度方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述一种任务调度方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框 图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一 个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种任务调度方法和一种半导体工艺设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

  1. 一种任务调度方法,应用于半导体工艺设备,其特征在于,所述半导体工艺设备在同一批次工艺进程中加工多个物料,每一个所述物料对应一个待启动任务,所述待启动任务均包括多道工序,所述任务调度方法包括:
    获取所有所述待启动任务的任务数据;所述任务数据包括所述待启动任务对应的所有所述工序对应的工序号、加工时长、加工位置以及加工位置停滞时长,其中,所述工序号为工序编码,所述加工时长为完成每道所述工序所需的时长,所述加工位置为进行每道所述工序时,所述物料在所述半导体工艺设备中的位置,所述加工位置停滞时长为所述物料在完成每道所述工序后在对应所述加工位置的停滞时长;
    将每个所述待启动任务的所述任务数据均输入至任务调度模型,以获得所述任务调度模型输出的每个所述待启动任务的启动时刻;所述任务调度模型以执行所有所述待启动任务所需总时长最短为目标函数,所述任务调度模型的约束条件与所述任务数据相关联;
    根据每个所述待启动任务的所述启动时刻,对所述待启动任务进行任务调度。
  2. 根据权利要求1所述的方法,其特征在于,在所述将每个所述待启动任务的所述任务数据均输入至任务调度模型,以获得所述任务调度模型输出的每个所述待启动任务的启动时刻之前,所述方法还包括:
    构建目标函数,所述目标函数包括:与执行所有所述待启动任务所需时长相关的最小化函数;
    构建约束条件集合,所述约束条件集合包括与所有所述待启动任务的所述任务数据相关的约束条件;
    根据所述目标函数和所述约束条件集合构建所述任务调度模型。
  3. 根据权利要求2所述的方法,其特征在于,所述约束条件包括:
    所述物料的每道工序的开始时刻、所述加工时长以及所述加工位置停滞时长之和,等于所述物料的每道工序的结束时刻;
    所述物料的第i道工序的结束时刻与所述物料的第i道工序的所述加工位置停滞时长之差,等于所述物料的第i+1道工序的开始时刻;
    对于同一个目标加工位置,仅可实现一个所述物料在对应所述目标加工位置上加工;
    若所述物料的第i道工序先于另一个所述物料的第j道工序在所述目标加工位置上加工,则所述物料的第i道工序的结束时刻与所述物料的第i道工序的所述加工位置停滞时长之差,小于或等于另一个所述物料的第j道工序的开始时刻;
    其中,所述i,j为所述工序号,且均为正整数;所述开始时刻、所述加工时长,所述加工位置停滞时长以及所述结束时刻均大于或等于零。
  4. 根据权利要求1所述的方法,其特征在于,所述半导体工艺设备为清洗机设备,所述物料为晶圆,所述加工位置包括晶圆架、扫描模块、暂存模块、校验模块、加工模块以及晶圆传输机械手。
  5. 根据权利要求4所述的方法,其特征在于,所述约束条件还包括:
    若所述物料的第i+1道工序的加工位置为所述晶圆传输机械手,则所述物料的第i道工序的所述加工位置停滞时长为所述晶圆传输机械手的运行时长;
    否则所述物料的第i道工序的所述加工位置停滞时长为0。
  6. 根据权利要求1所述的方法,其特征在于,所述将所述任务数据输入至任务调度模型,以获得所述任务调度模型输出的每个所述待启动任务的启动时刻,包括:
    将所述任务数据输入至任务调度模型,以获得经所述任务调度模型计算得到的每个所述待启动任务的启动时刻以及执行所述所有待启动任务所需的最小总时长。
  7. 根据权利要求1或2所述的方法,其特征在于,在所述获取所有所述待启动任务的任务数据之前,所述方法还包括:
    分析所述半导体工艺设备,得到设备信息;所述设备信息至少包括:所述半导体工艺设备的硬件信息,由所述半导体设备加工的所述物料,以及所述待启动任务包括的多道所述工序;所述设备信息用于构建所述任务调度模型。
  8. 根据权利要求2所述的方法,其特征在于,所述根据所述目标函数和所述约束条件集合构建所述任务调度模型,包括:
    基于混合整数规划对所述目标函数和所述约束条件集合进行数学建模,得到所述任务调度模型。
  9. 一种半导体工艺设备,其特征在于,所述半导体工艺设备在同一批次工艺进程中加工多个物料,每一个所述物料对应一个待启动任务,所述待启动任务均包括多道工序,所述半导体工艺设备包括:
    控制器,用于获取所有所述待启动任务的任务数据;所述任务数据包括所述待启动任务对应的所有所述工序对应的工序号、加工时长、加工位置以及加工位置停滞时长,其中,所述工序号为工序编码,所述加工时长为完成每道所述工序所需的时长,所述加工位置为进行每道所述工序时,所述物料在所述半导体工艺设备中的位置,所述加工位置停滞时长为所述物料在完成每道所述工序后在对应所述加工位置的停滞时长;
    将每个所述待启动任务的所述任务数据均输入至任务调度模型,以获得所述任务调度模型输出的每个所述待启动任务的启动时刻;所述任务调度模 型以执行所有所述待启动任务所需总时长最短为目标函数,所述任务调度模型的约束条件与所述任务数据相关联;
    根据每个所述待启动任务的所述启动时刻,对所述待启动任务进行任务调度。
  10. 据权利要求9所述的半导体工艺设备,其特征在于,所述半导体工艺设备还包括:
    求解器,用于基于所述任务调度模型进行计算,得到每个所述待启动任务的启动时刻以及执行所述所有待启动任务所需的最小总时长。
PCT/CN2022/134416 2021-12-28 2022-11-25 一种任务调度方法和半导体工艺设备 WO2023124684A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111636432.8 2021-12-28
CN202111636432.8A CN114462781A (zh) 2021-12-28 2021-12-28 一种任务调度方法和半导体工艺设备

Publications (1)

Publication Number Publication Date
WO2023124684A1 true WO2023124684A1 (zh) 2023-07-06

Family

ID=81407095

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/134416 WO2023124684A1 (zh) 2021-12-28 2022-11-25 一种任务调度方法和半导体工艺设备

Country Status (2)

Country Link
CN (1) CN114462781A (zh)
WO (1) WO2023124684A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114462781A (zh) * 2021-12-28 2022-05-10 西安北方华创微电子装备有限公司 一种任务调度方法和半导体工艺设备
CN115169997B (zh) * 2022-09-06 2022-12-06 埃克斯工业(广东)有限公司 物料加工进出时机的规划方法、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170337492A1 (en) * 2016-05-20 2017-11-23 International Business Machines Corporation Workflow scheduling and optimization tools
CN111680877A (zh) * 2020-05-06 2020-09-18 杭州传化智能制造科技有限公司 产线调度方法、装置、计算机设备和计算机可读存储介质
CN112884321A (zh) * 2021-02-19 2021-06-01 同济大学 一种基于调度环境和任务的半导体生产线调度方法
CN112987674A (zh) * 2021-04-27 2021-06-18 北京北方华创微电子装备有限公司 半导体加工设备的物料调度方法和装置
CN114462781A (zh) * 2021-12-28 2022-05-10 西安北方华创微电子装备有限公司 一种任务调度方法和半导体工艺设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117522018A (zh) * 2018-07-19 2024-02-06 北京北方华创微电子装备有限公司 一种物料优化调度的方法和设备
KR20210008261A (ko) * 2019-07-12 2021-01-21 삼성전자주식회사 반도체 제조에서의 물류 자동화 시스템을 위한 동적 할당 장치, 및 그것을 이용하는 물류 자동화 시스템
CN111446186B (zh) * 2020-03-27 2023-02-14 北京北方华创微电子装备有限公司 一种防止调度死锁的物料分类调度方法
CN111933517A (zh) * 2020-08-14 2020-11-13 北京北方华创微电子装备有限公司 一种半导体工艺设备中工艺任务的启动方法、装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170337492A1 (en) * 2016-05-20 2017-11-23 International Business Machines Corporation Workflow scheduling and optimization tools
CN111680877A (zh) * 2020-05-06 2020-09-18 杭州传化智能制造科技有限公司 产线调度方法、装置、计算机设备和计算机可读存储介质
CN112884321A (zh) * 2021-02-19 2021-06-01 同济大学 一种基于调度环境和任务的半导体生产线调度方法
CN112987674A (zh) * 2021-04-27 2021-06-18 北京北方华创微电子装备有限公司 半导体加工设备的物料调度方法和装置
CN114462781A (zh) * 2021-12-28 2022-05-10 西安北方华创微电子装备有限公司 一种任务调度方法和半导体工艺设备

Also Published As

Publication number Publication date
CN114462781A (zh) 2022-05-10
TW202326508A (zh) 2023-07-01

Similar Documents

Publication Publication Date Title
WO2023124684A1 (zh) 一种任务调度方法和半导体工艺设备
US7974726B2 (en) Method and system for removing empty carriers from process tools by controlling an association between control jobs and carrier
US20150162180A1 (en) Method, storage medium and system for controlling the processing of lots of workpieces
Che et al. Cyclic hoist scheduling in large real-life electroplating lines
US10001772B2 (en) Optimally scheduling of close-down process for single-arm cluster tools with wafer residency time constraints
Kim et al. Closed-form expressions on lot completion time for dual-armed cluster tools with parallel processing modules
KR20110099628A (ko) 진공 처리 장치 및 기록 매체
US7024275B2 (en) Control method and system for an automated material handling system
US20230307272A1 (en) Processing task start method and device in semiconductor processing apparatus
TWI815378B (zh) 半導體加工設備的物料調度方法和裝置
Kim et al. Scheduling in-line multiple cluster tools
US20170080563A1 (en) Scheduling Start-up Process for Time-constrained Single-arm Cluster Tools
KR102168365B1 (ko) 스케줄러, 기판 처리 장치 및 기판 반송 방법
CN111446186B (zh) 一种防止调度死锁的物料分类调度方法
TWI841084B (zh) 一種任務調度方法和半導體製程設備
CN110223934B (zh) 调度器、衬底处理装置及衬底输送方法
CN110850819A (zh) 单臂组合设备调度方法、系统、移动终端及存储介质
JP6121832B2 (ja) 基板処理装置、基板処理方法、および基板処理システム
TW201703178A (zh) 控制傳送至半導體機台的方法、裝置及系統
CN110941250B (zh) 一种用于低压计量箱自动上下货的agv柔性物流控制方法
KR102243966B1 (ko) 도포, 현상 장치, 도포, 현상 장치의 운전 방법 및 기억 매체
CN115169997B (zh) 物料加工进出时机的规划方法、设备及可读存储介质
US11982705B2 (en) Substrate analysis apparatus and substrate analysis method
Lin et al. Dynamic vehicle allocation in automated material handling system
Li et al. A mixed integer linear programming approach for multi-degree cyclic multi-hoist scheduling problems without overlapping

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22913942

Country of ref document: EP

Kind code of ref document: A1