Scheduling method and related device

CN119130023APending Publication Date: 2024-12-13BEIJING NAURA MICROELECTRONICS EQUIP CO LTD
View PDF 0 Cites 4 Cited by

Patent Information

Application Number
CN202411170717.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-23
Publication Date
2024-12-13

Smart Images

  • Figure CN119130023A_ABST
    Figure CN119130023A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a scheduling method, which comprises the following steps of: in a process of determining a target scheduling action, traversing by taking an action module as a unit based on a current state and an action priority list corresponding to the action module, and outputting by taking the target scheduling action as granularity, the optimal scheduling sequence does not need to be output after all possible scheduling sequences are traversed and compared, the traversing and searching depth is greatly reduced, the time consumption of the determining process of the target scheduling action is reduced, the timeliness of the scheduling method is improved, and the problem that the scheduling efficiency is low due to long time consumption is solved. The matching degree between the scheduling instruction output by the scheduling method and the actual state of the semiconductor process equipment is poor; besides, in the scheduling method, traversal is carried out by taking the action module as a unit to determine the target scheduling action, so that the scheduling method can be suitable for scheduling of the action module such as a manipulator for transmission and also can be suitable for scheduling of the action module such as a spraying mechanism, and the applicability of the scheduling method is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present specification relates to the field of semiconductor technology, specifically, to scheduling technology in the field of semiconductor technology, and more specifically, to a scheduling method and related devices. Background Art

[0002] Semiconductor process equipment is a type of equipment used in semiconductor wafer manufacturing. Taking cleaning equipment as an example, it can include modules such as a robot, a wafer loading and unloading position (LoadPort) and multiple process chambers (Process Chamber). Cleaning equipment can be used to achieve automatic cleaning and circulation of wafers.

[0003] In order to improve the working efficiency of semiconductor process equipment such as cleaning equipment, semiconductor process equipment can be used to process multiple wafers in parallel. However, in the current scheduling technology for wafers in semiconductor process equipment, there is a problem that the scheduling algorithm takes a long time. Summary of the invention

[0004] The embodiments of this specification provide a scheduling method and related devices to achieve the purpose of reducing the time consumption of the scheduling method.

[0005] To achieve the above technical objectives, the embodiments of this specification provide the following technical solutions:

[0006] In a first aspect, an embodiment of the present specification provides a scheduling method, which is applied to a host computer, and the scheduling method is used to schedule multiple equipment modules of a semiconductor process equipment, wherein the multiple equipment modules include multiple action modules, and the scheduling method includes:

[0007] Based on the current state of the action module and the action priority list corresponding to the action module, traverse multiple action modules to obtain the target scheduling action corresponding to the action module; the action priority list corresponding to the action module includes the corresponding relationship between the scheduling actions that can be executed by the action module and the priority; the target scheduling action includes the scheduling action with the highest priority that can be executed by the action module under the current state; the current state is used to describe the position state and process state of the wafer in the equipment module;

[0008] Based on the scheduling action to be executed, a scheduling instruction is generated, where the scheduling instruction is used to instruct the semiconductor process equipment to control the equipment module to execute the scheduling action to be executed, where the scheduling action to be executed includes the target scheduling action.

[0009] In a second aspect, an embodiment of the present specification provides a scheduling method, which is applied to a lower computer, wherein the lower computer is used to receive a scheduling instruction from a host computer and schedule multiple equipment modules in a semiconductor process equipment, wherein the multiple equipment modules include multiple action modules, and the scheduling method includes:

[0010] In response to the scheduling instruction, controlling the device module to execute a to-be-executed scheduling action, wherein the to-be-executed scheduling action includes a target scheduling action;

[0011] The scheduling instruction is generated by the upper computer based on the current state and the action priority list corresponding to the action module, traversing multiple action modules, obtaining the target scheduling action corresponding to the action module, and based on the scheduling action to be executed; the action priority list corresponding to the action module includes the correspondence between the scheduling actions that can be executed by the action module and the priority; the target scheduling action includes the scheduling action with the highest priority that can be executed by the action module under the current state; the current state is used to describe the position state and process state of the wafer in the equipment module.

[0012] In a third aspect, an embodiment of the present specification further provides a scheduling system, including: a host computer, a slave computer and a plurality of device modules, wherein the plurality of device modules include a plurality of action modules; wherein:

[0013] The host computer is configured to: based on the current state and the action priority list corresponding to the action module, traverse multiple action modules to obtain the target scheduling action corresponding to the action module; the action priority list corresponding to the action module includes the corresponding relationship between the scheduling actions that can be executed by the action module and the priority; the target scheduling action includes the highest priority scheduling action that can be executed by the action module under the current state; the current state is used to describe the position state and process state of the wafer in the equipment module;

[0014] Generate a scheduling instruction based on a scheduling action to be executed, wherein the scheduling action to be executed includes the target scheduling action;

[0015] The lower computer is configured to: in response to the scheduling instruction, control the device module to execute the to-be-executed scheduling action.

[0016] In a fourth aspect, an embodiment of the present specification further provides a computing device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the scheduling method as described above when executing the computer program.

[0017] In a fifth aspect, an embodiment of the present specification further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the scheduling method as described above is implemented.

[0018] In a sixth aspect, an embodiment of the present specification provides a computer program product or a computer program, wherein the computer program product includes a computer program, and the computer program is stored in a computer-readable storage medium; the processor of the computer device reads the computer program from the computer-readable storage medium, and the processor implements the steps of the above-mentioned scheduling method when executing the computer program.

[0019] It can be seen from the above technical scheme that the embodiment of this specification provides a scheduling method and related devices, wherein the scheduling method traverses multiple action modules based on the action priority list corresponding to the action module and the current state to obtain the target scheduling action corresponding to the action module, and generates a scheduling instruction for instructing the lower computer control device module to execute the scheduling action to be executed based on the scheduling action to be executed including the target scheduling action. In this way, in the process of determining the target scheduling action, based on the current state and the action priority list corresponding to the action module, the action module is traversed as a unit, and the highest priority scheduling action that the action module can execute in the current state is used as the granularity for output, rather than the overall scheduling. The output is performed based on the sequence granularity, which reduces the granularity of the output. There is no need to traverse all possible scheduling sequences and output the optimal scheduling sequence after comparison, which greatly reduces the traversal and search depth, is conducive to reducing the time-consuming process of determining the target scheduling action, and improves the timeliness of the scheduling method. The problem of poor matching between the scheduling instructions output by the scheduling method and the actual state of the semiconductor process equipment due to the long scheduling method is improved; in addition, in the scheduling method, the target scheduling action is determined by traversing in units of action modules. In addition to being applicable to the scheduling of action modules used for transmission such as robots, it can also be applicable to the scheduling of action modules such as spraying mechanisms, which is conducive to improving the applicability of the scheduling method. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the embodiments of this specification or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this specification. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0021] Figure 1 It is a structural schematic diagram of a semiconductor process equipment;

[0022] Figure 2 Schematic diagram of the search process of the deep search algorithm;

[0023] Figure 3 A comparison diagram of the deep search algorithm after searching for branches;

[0024] Figure 4 A flowchart of a scheduling method provided for one embodiment of this specification;

[0025] Figure 5 A schematic diagram of a path of a wafer in a semiconductor process equipment provided for one embodiment of the present specification;

[0026] Figure 6 A schematic diagram of a process of traversal based on a target thread provided for one embodiment of this specification;

[0027] Figure 7 A schematic diagram of an action priority list provided for one embodiment of this specification;

[0028] Figure 8 A schematic diagram of a film taking rule provided for one embodiment of this specification;

[0029] Fig. 9 A schematic diagram of a generation condition rule (Move generation condition) provided for one embodiment of this specification;

[0030] Fig.10 A schematic diagram of the structure of a computing device provided for one embodiment of the present specification. DETAILED DESCRIPTION

[0031] Unless otherwise defined, the technical terms or scientific terms used in the embodiments of this specification shall have the common meanings understood by persons with ordinary skills in the field to which this specification belongs. The words "first", "second" and similar words used in the embodiments of this specification do not indicate any order, quantity or importance, but are only used to avoid confusion of constituent elements.

[0032] Unless the context requires otherwise, throughout the specification, "plurality" means "at least two", and "including" is interpreted as an open, inclusive meaning, that is, "including, but not limited to". In the description of the specification, the terms "one embodiment", "some embodiments", "exemplary embodiments", "examples", "specific examples" or "some examples" are intended to indicate that a particular feature, structure, material or characteristic associated with the embodiment or example is included in at least one embodiment or example of the specification. The schematic representation of the above terms does not necessarily refer to the same embodiment or example.

[0033] The technical solutions in the embodiments of this specification will be described below in conjunction with the drawings in the embodiments of this specification. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this specification.

[0034] Overview

[0035] refer to Figure 1 , taking cleaning equipment as an example, Figure 1 The structure diagram of a semiconductor process equipment is shown, and the semiconductor process equipment may include a rear robot 10, a front robot 20, a wafer loading and unloading position 21, a wafer placement position 31 and a plurality of process chambers 11; wherein,

[0036] Each wafer loading and unloading position 21 can hold a wafer box, and each wafer box can hold multiple wafers.

[0037] Processing chamber 11 (Processing Module, PM, or Chamber), each process chamber 11 may have a slot, which can hold a wafer for processing. In the cleaning device, the process chamber can perform a cleaning process on the wafer. In some embodiments, a spraying mechanism may be provided in the process chamber of the cleaning device.

[0038] The front robot 20 (or front arm) can be responsible for transporting wafers between the wafer loading and unloading position 21 and the wafer placement position 31; the front robot 20 can also be a double-arm robot, and the front robot 20 can have two slots, each of which can hold a wafer.

[0039] The rear robot 10 (or rear hand) can be a double-arm robot. The two arms of the double-arm robot can be 180° and fixed. Each arm has a slot, and each slot can hold a wafer. The rear robot 10 is responsible for transporting wafers between the wafer placement position 31 and multiple process chambers 11.

[0040] Understandably, Figure 1 Taking a cleaning device as an example, a schematic diagram of the structure of a semiconductor process device is shown. The scheduling method provided in the embodiments of this specification can be applied to Figure 1 In addition to the cleaning equipment shown, the present invention can also be applied to other types of semiconductor process equipment.

[0041] In some types of semiconductor process equipment, for example, in cleaning equipment, the semiconductor process equipment may also include a spraying mechanism (Nozzle) located in the process chamber. The spraying mechanism can be used to spray liquid or gas (collectively referred to as liquid medicine) to achieve cleaning of wafers or process chambers, etc. The action of spraying liquid or gas by the spraying mechanism can be called a flushing action. According to the timing of implementing the flushing action, it can be divided into: idle flushing (IdleFlush) action, acid change flushing (ChangeFlush) action and chuck flushing (ExhaustClean) action; wherein, the idle flushing action refers to the liquid medicine spraying action performed at intervals in the process chamber without executing the process; the acid change flushing action may refer to a liquid medicine spraying action performed after the liquid medicine completes the acid change action; the chuck flushing action may refer to the liquid medicine spraying action for cleaning the wafer carrier / wafer clamp (Chuck) performed at intervals in the process chamber without executing the process. When semiconductor process equipment performs wafer scheduling tasks, the process of taking the wafer out of the process chamber to complete the process and returning it to the wafer loading and unloading position is called a job.

[0042] In this manual, Figure 1 and Figure 2 The modules constituting the semiconductor process equipment are called equipment modules. The system consisting of the upper computer, the lower computer and the above-mentioned equipment modules is called a scheduling system. The equipment modules in the equipment modules used to perform scheduling actions are called action modules. For example, the rear robot, the front robot and the spraying mechanism can all be called action modules.

[0043] In order to improve the production efficiency of semiconductor process equipment and reduce the probability of deadlock in the scheduling work, in the related technology, the upper computer of the scheduling system can generate a scheduling sequence based on the current status of each equipment module in the semiconductor process equipment using a scheduling algorithm, and generate scheduling instructions based on each scheduling action in the scheduling sequence and send them to the lower computer in turn. The lower computer controls each equipment module to perform the scheduling action based on the scheduling instruction. When an abnormal error occurs in a certain device, the upper computer will recalculate the scheduling sequence based on the current status at the time of the error, and perform scheduling work based on the new scheduling sequence. Figure 2 and Figure 3 ,The scheduling algorithms currently used are mostly deep search algorithms, Figure 2The figure shows the deep search process. During the search process, the current state of the equipment (which may include material information, such as material location information, process path information corresponding to the material, and scheduling action moving time, etc.) is used as the calculation starting point. If a material (such as Material1) is allowed to move in the next step (the next moving position of the process path of the material is not occupied), a scheduling action (Move) will be calculated, and the material will be moved to the new position through the scheduling action. In this way, a branch is obtained by the first step calculation so far, and the calculation result of the branch is defined as the simulation state (ToolState). Other materials (such as Material2) can also be selected in the first step calculation. terial2) is used as the calculation starting point, and a dispatching action for calculating the material to be moved is defined as a branch. By analogy, the calculation with a depth (SearchDepth) of 1 can define an initial branch for all materials. When entering the next depth calculation, the calculation result of the previous branch is required as the initial state (because there is already a Material move that causes the information of the Wafer occupied module to change). The next depth calculation is consistent with the calculation principle of depth 1. In theory, n materials can generate n new branches. By analogy, the branches finally calculated will form a tree structure. The number of starting nodes of the tree is n, and the total number of branches calculated in theory is n. 1 +n 2 +…+n n , so the final theoretical number of branches is determined by the number of materials and the depth of the search. Each branch corresponds to a theoretically feasible scheduling sequence. In the actual search process, some branches cannot calculate the next step because their positions are occupied by other materials. These branches no longer participate in the subsequent search process. Some branches are not related to the machine movement requirements and will be deleted. Therefore, the number of branches actually calculated is less than the theoretical value. Each step of calculation will accumulate the time cost generated by the step. After calculating all the theoretical branches, refer to Figure 3 , it will traverse all theoretical branches, select the branch with the smallest time cost as the optimal branch, and use the scheduling sequence corresponding to the optimal branch as the calculation result for device scheduling.

[0044] In the above process, as the number of wafers to be scheduled and the number of equipment modules in the semiconductor process equipment increase, the increase in search depth will cause the number of branches of the calculation to increase exponentially, resulting in a longer calculation time. The increase in calculation time will affect the system transmission connection, resulting in a time difference between the scheduling output result and the actual machine operation, resulting in a poor match between the scheduling sequence and the actual state of the semiconductor process equipment (for example, at the beginning of the algorithm, a certain robot is performing the action of placing the grasped wafer into the process chamber. At this time, in the initial state input to the algorithm, the wafer is in the robot. When the algorithm outputs the result, the wafer may have been placed in the process chamber, resulting in the phenomenon that the actual state of the wafer is inconsistent with the scheduling algorithm calculation based on the wafer state).

[0045] In addition, the deep search algorithm can only generate transmission-type scheduling actions for the robot, and cannot output special spraying scheduling actions for the spraying mechanism, which makes the algorithm unsuitable for special types of semiconductor process equipment including spraying mechanisms, making the algorithm less applicable.

[0046] In order to solve this problem, the inventors have found through research that multiple action modules can be traversed based on the action priority list and current state corresponding to the action module to obtain the target scheduling action corresponding to the action module, and based on the to-be-executed scheduling action including the target scheduling action, a scheduling instruction for instructing the lower computer control device module to execute the to-be-executed scheduling action is generated. In this way, in the process of determining the target scheduling action, based on the current state and the action priority list corresponding to the action module, the action module is traversed as a unit, and the target scheduling action is output as the granularity. There is no need to traverse all possible scheduling sequences and output the optimal scheduling sequence after comparison, which greatly reduces the traversal and search depth, is conducive to reducing the time consumption of the determination process of the target scheduling action, improves the timeliness of the scheduling method, and improves the problem of poor matching between the scheduling instruction output by the scheduling method and the actual state of the semiconductor process equipment due to the long time consumption of the scheduling method; in addition, in the scheduling method, the target scheduling action is determined by traversing the action module as a unit. In addition to being applicable to the scheduling of action modules used for transmission such as manipulators, it can also be applicable to the scheduling of action modules such as spraying mechanisms, which is conducive to improving the applicability of the scheduling method.

[0047] Based on the above concept, an implementation manner of this specification provides a scheduling method. The scheduling method provided in the implementation manner of this specification will be exemplarily described below in conjunction with the accompanying drawings.

[0048] Exemplary Methods

[0049] To be applied to Figure 4Taking the host computer of the scheduling system in as an example, the present specification provides a scheduling method, wherein the scheduling system also includes a lower computer and semiconductor process equipment, the semiconductor process equipment includes multiple equipment modules, the multiple equipment modules include multiple action modules, and the scheduling method includes:

[0050] S401: Based on the current state and the action priority list corresponding to the action module, traverse multiple action modules to obtain the target scheduling action corresponding to the action module; the action priority list corresponding to the action module includes the corresponding relationship between the scheduling actions that can be executed by the action module and the priority; the target scheduling action includes the scheduling action with the highest priority that can be executed by the action module under the current state; the current state is used to describe the position state and process state of the wafer in the equipment module;

[0051] In this embodiment, the action module may include an equipment module for transporting wafers in a semiconductor process equipment. The equipment module for transporting wafers includes but is not limited to a robot. Figure 2 In the equipment structure shown, the equipment module for transporting wafers may include a rear robot and a front robot. In some embodiments, the action module may also include an equipment module for spraying, flipping, etc. on the wafer in the semiconductor process equipment, and these equipment modules include but are not limited to a spraying mechanism and a flipping mechanism (Flipper).

[0052] In this embodiment, an action priority list corresponding to the action module can be set, and multiple action modules can be traversed in sequence according to the action priority list to obtain the target scheduling action corresponding to the action module in the current state. During the traversal process, since the action priority list predefines the correspondence between the scheduling actions that can be executed by the action module and the priority, the determined target scheduling action is the scheduling action with the highest priority that can be executed by the action module in the current state. In this way, there is no need to search for all feasible branches from the current state to the completion of the task for each wafer, which is conducive to greatly reducing the amount of calculation of the traversal process and reducing the time required for the traversal process.

[0053] The current status may include relevant information of the wafer, which describes the position status and process status of the wafer in the equipment module. For example, the position status may include which equipment module the wafer is in at the current moment, the process status may include which node in the process path the wafer is at the current moment, the total process time and remaining process time of the wafer in the process chamber, and other information.

[0054] In the current state, when traversing multiple action modules based on the action priority list corresponding to the action module, it is possible to judge in turn whether each scheduling action meets the action generation condition in the current state according to the priority order from high to low of the scheduling actions that the action module can execute. If the action generation condition is met, the target scheduling action corresponding to the action module can be output, and the next action module can be traversed until the traversal of multiple action modules is completed.

[0055] S402: Generate a scheduling instruction based on the scheduling action to be executed, where the scheduling instruction is used to instruct the device module to execute the scheduling action to be executed, where the scheduling action to be executed includes the target scheduling action.

[0056] After obtaining the target scheduling action, the target scheduling action can be used as the scheduling action to be executed, and a scheduling instruction corresponding to the scheduling action to be executed is generated, and automatic scheduling of wafers is achieved based on the scheduling instruction.

[0057] It can be understood that the scheduling action to be executed may include one target scheduling action or multiple target scheduling actions. This is because in most cases, multiple action modules of semiconductor process equipment can execute their own scheduling actions in parallel without interfering with each other. Therefore, when there are multiple action modules corresponding to their own target scheduling actions, these target scheduling actions can be placed in the scheduling action to be executed to achieve parallel control of multiple action modules, thereby improving the production efficiency of semiconductor process equipment.

[0058] In some embodiments, step S401 and step S402 are steps for cyclic execution, that is, after step S402 is executed, it will return to step S401 for the next round of traversal. After the previously obtained scheduling instruction is executed, the current state will be updated accordingly. When step S401 is re-executed, the traversal process will be performed based on the new current state to obtain the scheduling action to be executed under the new current state, so as to ensure the continuous advancement of the scheduling process and complete the scheduling task for the wafer. In some embodiments, in order to avoid repeatedly generating the target scheduling task generated in the previous round of traversal when traversing step S401, corresponding restriction conditions can be added to the action generation conditions. For example, the target module can be added to the action generation conditions that it is not occupied by other scheduling actions that have not been executed. The target module can include the equipment module targeted by the target scheduling action. In this way, the target scheduling action generated in the previous round of traversal is avoided from being repeatedly generated.

[0059] In general, the scheduling method traverses multiple action modules based on the action priority list and current state corresponding to the action module to obtain the target scheduling action corresponding to the action module, and generates a scheduling instruction for instructing the lower computer control device module to execute the scheduling action to be executed based on the to-be-executed scheduling action including the target scheduling action. In this way, in the process of determining the target scheduling action, based on the current state and the action priority list corresponding to the action module, the action module is traversed as a unit, and the target scheduling action is output as the granularity. There is no need to traverse all possible scheduling sequences and output the optimal scheduling sequence after comparison, which greatly reduces the traversal and search depth, is conducive to reducing the time consumption of the determination process of the target scheduling action, improves the timeliness of the scheduling method, and improves the problem of poor matching between the scheduling instruction output by the scheduling method and the actual state of the semiconductor process equipment due to the long time consumption of the scheduling method; in addition, in the scheduling method, the target scheduling action is determined by traversing the action module as a unit. In addition to being applicable to the scheduling of action modules used for transmission such as manipulators, it can also be applicable to the scheduling of action modules such as spraying mechanisms, which is conducive to improving the applicability of the scheduling method.

[0060] In one embodiment, in order to ensure the real-time performance of the traversal process, the action priority list corresponding to the action module based on the current state and the action module, traversing multiple action modules, and obtaining the target scheduling action corresponding to the action module includes:

[0061] The target thread is called, and based on the current state and the action priority list corresponding to the action module, a plurality of the action modules are traversed to obtain the target scheduling action corresponding to the action module.

[0062] That is, in this embodiment, an independent target thread is allocated for the traversal process, and the target thread is dedicated to the traversal process, avoiding the problem of poor real-time performance of the traversal process caused by thread polling to execute multiple tasks. The independent target thread can be used exclusively to execute the traversal process, avoiding delays caused by waiting for thread allocation, which is conducive to ensuring the real-time performance of the traversal process.

[0063] In an optional implementation, in order to improve the execution efficiency of the scheduling method, the action priority list corresponding to the action module further includes: a correspondence between the scheduling actions and the coordinated actions that can be executed by the action module;

[0064] After obtaining the target scheduling action corresponding to the action module, the method further includes:

[0065] The action priority list is queried based on the target scheduling action, and if the target scheduling action corresponds to a coordinated action, the coordinated action corresponding to the target scheduling action is added to the scheduling action to be executed.

[0066] In this embodiment, the action priority list may include a correspondence between scheduling actions that can be executed by the action module and collaborative actions. The collaborative action may refer to an action that can be associated with the scheduling action and needs to be generated together with the scheduling action to be executed in coordination with it. The collaborative action can be determined based on factors such as production efficiency requirements or time constraints. For example, in some embodiments, a Q-time constraint is set for a certain equipment module (the Q-time constraint refers to the maximum process interval between two equipment modules of the wafer, which may specifically refer to the maximum time between the completion of the process in the previous equipment module and the start of the process in the next equipment module. The Q-time constraint is to avoid quality problems that may be caused by the wafer being exposed to the outside of the process chamber for a long time or being clamped by a robot for a long time). After the wafer is grabbed in the equipment module, it is necessary to place the wafer in the next equipment module as soon as possible to avoid violating the Q-time constraint. For example, in some embodiments, in order to improve the utilization rate of the equipment module of the process chamber, the action of placing the wafer into the process chamber can correspond to the action of starting the process in the process chamber. In this way, it is avoided that after the wafer is placed in the process chamber, the wafer waits in the process chamber due to the execution of other actions, which leads to an increase in the idle time of the process chamber, thereby improving the utilization rate of the process chamber.

[0067] In general, in this embodiment, after the target scheduling action is generated, the collaborative action corresponding to the target scheduling action can be added to the scheduling action to be executed. In this way, the target scheduling action and the corresponding collaborative action can be obtained during the traversal process. On the one hand, multiple actions can be obtained during the traversal process for an action module, thereby improving the execution efficiency of the method. On the other hand, as mentioned above, the design of collaborative actions is conducive to improving equipment utilization, thereby improving the production efficiency of the equipment.

[0068] In a specific embodiment, the equipment module is a front robot, a rear robot, a buffer module, a flip mechanism or a process chamber;

[0069] The scheduling action includes a first grabbing action, a first placing action, a second placing action and a third placing action; the first grabbing action includes the action of grabbing a wafer processed in a process chamber, the first placing action includes the action of placing a wafer in a process chamber, the second placing action includes the action of a front robot placing a wafer in a buffer module, and the third placing action includes the action of a rear robot placing a wafer in a buffer module;

[0070] If the rear robot grasps a wafer to be processed to be placed in the process chamber, the coordinated action corresponding to the first grasping action includes: placing the wafer to be processed in the process chamber;

[0071] The coordinated actions corresponding to the first placement action include: starting a process in the process chamber;

[0072] The coordinated action corresponding to the second placement action includes: a flipping action of the flipping mechanism flipping the wafer placed in the buffer module;

[0073] The coordinated action corresponding to the third placement action includes: a flipping action of the flipping mechanism flipping the wafer placed in the buffer module.

[0074] As described above, the coordinated actions corresponding to the first placement action include: the process chamber starts the process so that the process chamber can process the wafer after the wafer is placed in the process chamber, thereby avoiding long-term idleness of the process chamber.

[0075] In some embodiments, for example, when the semiconductor process equipment is a cleaning equipment and there is a need to flip the wafer, after the wafer is placed on the buffer module, if the back of the wafer needs to be cleaned, it needs to be flipped by the flipping mechanism before the rear robot takes the wafer, and the wafer changes from the front to the back. Therefore, after the second placement action places the wafer on the buffer module, an overturn move (Overturn Move) of the wafer placed on the buffer module will be automatically generated by the flipping mechanism. Similarly, after the wafer is cleaned and placed in the buffer module, since the wafer is in a back-facing state at this time, it needs to be switched to the front-facing state before it can be put back into the wafer box. Therefore, the coordinated action corresponding to the third placement action may also include the flipping action of the flipping mechanism flipping the wafer placed in the buffer module.

[0076] After the rear robot performs the first grabbing action, a slot of the rear robot grabs a wafer. If another slot of the rear robot grabs a wafer to be placed in the process chamber, then the priority generation of the coordinated action of placing the wafer to be processed in the process chamber is conducive to improving the utilization rate of the process chamber and improving production efficiency. Specifically, if after the first grabbing action is performed, the coordinated action of placing the wafer to be processed in the process chamber is not performed, but other actions are performed (for example, placing the wafer taken by the first grabbing action into other equipment modules), then during the time when other actions are performed, the process chamber corresponding to the wafer to be processed is in an idle state, which reduces the utilization efficiency of the process chamber. Therefore, the swap placement action (SwapPlaceMove) (i.e., the action of taking a wafer in the process chamber and placing it into another slot of the robot) can improve the continuity of equipment actions and improve production efficiency better than other actions.

[0077] In one embodiment, in order to make the determined target scheduling action a scheduling action executable in the current state, optionally, the scheduling action executable by the action module corresponds to a generation condition rule;

[0078] The target scheduling action includes a scheduling action with the highest priority among the first scheduling actions, and a generation condition rule corresponding to the first scheduling action matches the current state.

[0079] In this embodiment, by setting corresponding generation condition rules for scheduling actions, a judgment basis is implemented when determining the target scheduling action, so that the determined target scheduling action includes the scheduling action with the highest priority in the first scheduling action, and the generation condition rules corresponding to the first scheduling action match the current state, thereby implementing restrictions on the determination rules of the target scheduling action and ensuring that the determined target scheduling action is the scheduling action with the highest priority that can be executed in the current state.

[0080] In an optional implementation, the generation condition rule corresponding to the scheduling action includes a general rule;

[0081] The general rules include: the state of the target module is normal and the target module is not occupied by other unfinished scheduling actions; the target module includes the device module targeted by the scheduling action;

[0082] The target module includes a source module and a destination module; the source module includes a starting device module for executing the scheduling action, and the destination module includes a destination device module for executing the scheduling action;

[0083] When the scheduling action includes a wafer grabbing action, the general rule further includes: there is a wafer in the source module, and there is no wafer in the destination module;

[0084] When the scheduling action includes a wafer placement action, the general rule further includes: there is a wafer in the source module, and there is no wafer in the destination module.

[0085] The target module may include the equipment module targeted by the scheduling action, or in other words, the target module may include the equipment module that needs to be operated by the scheduling action. Taking the grabbing action as an example, the target module may include a source module and a destination module, wherein the source module is the equipment module where the wafer to be grabbed is located, and the destination module is the robot; taking the placement action as an example, the source module may be the robot that grabs the wafer, and the destination module is the equipment module where the wafer grabbed by the robot needs to be placed.

[0086] The normal status of the target module may include that the device module has the conditions for taking or placing the film, the hardware status and communication status are normal, and the interlock alarm is not triggered.

[0087] The target module is not occupied by other unfinished scheduling actions, which may mean that the target module is not occupied by unfinished scheduling actions generated during the current round or historical round traversal. For example, in one embodiment, if the wafer placement action of the front robot to the buffer module 1 has been generated and the action has not been completed, the buffer module 1 is deemed to be occupied by this action. At this time, the action of the rear robot grabbing the wafer from the buffer module 1 cannot be generated. Only after the wafer placement action of the front robot to the buffer module 1 is completed, the buffer module 1 is considered to be released.

[0088] In an optional implementation, in addition to the general rules, the scheduling action may also correspond to a specific detection condition according to the action type, and the specific detection condition may be determined based on factors such as business characteristics.

[0089] For example, in some cases, for a cleaning device, the action module includes: a spraying mechanism located in a process chamber, and when the scheduling action includes a flushing action of the spraying mechanism, the generation condition rule corresponding to the scheduling action also includes:

[0090] The flushing condition of the spraying mechanism is triggered, and the process chamber corresponding to the spraying mechanism is not occupied by other scheduling actions.

[0091] Accordingly, in some embodiments, the action module includes: a spraying mechanism located in the process chamber, the scheduling action includes a flushing action of the spraying mechanism; the flushing action includes an idle flushing action, an acid change flushing action, and a chuck flushing action. In different application scenarios, priorities can be set for different types of flushing actions as needed, which is not specifically limited here.

[0092] In some cases, there may be multiple wafers in a certain equipment module at the same time (for example, there may be multiple wafers waiting to be discharged in the wafer loading and unloading position). In order to ensure that the wafers are scheduled in the semiconductor process equipment according to the priority, in one embodiment, the target scheduling action includes a wafer grabbing action. When there are multiple wafers in the source module of the wafer grabbing action;

[0093] The step of traversing the plurality of action modules based on the current state and the action priority list corresponding to the action module to obtain the target scheduling action corresponding to the action module includes:

[0094] Based on the current state and the action priority list corresponding to the action module, multiple action modules are traversed to obtain a target scheduling action for a target wafer corresponding to the action module, wherein the target wafer includes a wafer with the highest priority among multiple wafers in the source module.

[0095] The priority of the wafer can correspond to the number of the wafer (Slot ID). For example, the smaller the number of the wafer, the higher the priority of the wafer. In this way, wafer scheduling based on this principle can ensure that the wafer is scheduled in each equipment module according to the first-in-first-out principle, thereby achieving orderly scheduling of each wafer.

[0096] The following is an exemplary description of the scheduling method provided in the embodiments of this specification using a specific implementation method. Figure 5 As shown, Figure 5 The wafer is shown in a cleaning device (the structure of the cleaning device can be referred to Figure 1 ) is a schematic diagram of the transmission path in FIG. 1 , and the following Table 1 shows the number and slots of each type of device module.

[0097] exist Figure 5 In the figure, LoadPort represents the wafer loading and unloading position, ITP represents the front robot, Buffer1 and Buffer2 represent two buffer modules, PTR represents the rear robot, and PM1 to PM8 represent 8 process chambers.

[0098] Table 1 Equipment module list

[0099]

[0100]

[0101] refer to Figure 5 , assuming that the process path (or transmission path) of the wafer is: LoadPort->ITR->Buffer1->PTR->PM->PTR->Buffer2->ITR->LoadPort; when there is a need to clean the back side of the wafer, the equipment module can also add a flipping mechanism.

[0102] Assume that the scheduling requirements are as follows:

[0103] 1. Wafers that have completed the process are returned to the wafer box (Foup) first;

[0104] 2. Allow the wafer to be transferred to the front robot, buffer module and rear robot in advance (that is, allow the wafer to stay in these equipment modules);

[0105] 3. The robot's lower hand Hand 1 is only allowed to pick or place unprocessed wafers;

[0106] 4. The upper hand Hand 1 of the robot is only allowed to pick up or place the processed wafer.

[0107] 5. Buffer 1 only allows unprocessed wafers to be placed;

[0108] 6. Buffer 2 only allows the placement of processed wafers;

[0109] 7. Support wafer exchange action: for example, after Hand2 takes out wafer 1 from the process chamber, Hand1 directly puts wafer 2 in;

[0110] 8. Control strategies that support parallel computing of multiple tasks.

[0111] In the scheduling method provided in the implementation mode of this specification, the core strategy may include two contents: scheduling action priority planning and scheduling action generation condition detection. According to the action priority list set in advance, according to the priority order of the scheduling action, the scheduling actions of each action module in the action priority list are traversed and detected in turn. When the current state meets the generation condition rule of the scheduling action, the scheduling action is output as the target scheduling action. In addition, in this implementation mode, reference Figure 6 , traversal and condition judgment are performed through a dedicated target thread (MoveCalculateThread, action calculation thread), which is conducive to improving the real-time performance of the method.

[0112] exist Figure 6 In the figure, the action module including the front robot (FrontRobot), the rear robot (RearRobot) and the spraying mechanism (Nozzle) is taken as an example for explanation, Move1~N represent the scheduling actions corresponding to the front robot and the rear robot in the action priority list, FlushMove1~N represent the scheduling actions corresponding to the spraying mechanism in the action priority list, and BestMove represents the target scheduling action with the highest priority that meets the generation judgment conditions determined by traversal / polling.

[0113] Action priority list (Move priority setting) can be referred to Figure 7 , Figure 7 The example of the action module including the front robot (FrontRobot) and the rear robot (RearRobot) is still used for explanation. SrcModule represents the source module, DestModule represents the destination module, PlaceMove and PickMove represent the placement action and the grabbing action respectively, BUF1, BUF2, and Chamber represent buffer module 1, buffer module 2, and process chamber respectively; CleanWafer represents wafer cleaning. Collaborative Move represents collaborative action, Fliper Overturn Move represents the action of flipping the wafer by the flipping mechanism, and SwapPlaceMove represents the action of swapping wafers. ProcessMove represents the action of starting the process.

[0114] The action priority list can be as follows Figure 7 The table shown contains sub-tables corresponding to each action module, or multiple tables corresponding to each action module. This specification does not limit the specific form of the action priority list, which depends on the actual situation.

[0115] exist Figure 7 In the example, the priority of each scheduling action decreases from top to bottom, and the order of traversing the action modules can also be based on Figure 7 The order of the action modules in the table is consistent.

[0116] The following describes the priority design principle of each scheduling action in the action priority list. The priority strategy of each scheduling action is determined by the transmission characteristics of the device. The specific reasons may include:

[0117] If wafer 1 can be taken away by the rear robot in buffer module 1 and wafer 2 can be taken out from process chamber 1, then according to the priority, the priority of taking wafers from buffer module BUF1 is higher than the priority of taking wafers from process chamber. When the conditions for generating two scheduling actions are met, the wafer grabbing scheduling action of wafer 1 will be selected as the target scheduling action output. The equipment operation meets the following priorities to ensure the output of the target scheduling action sequence:

[0118] 1. The front robot has a high priority in placing wafers into buffer module 1. The reason is to ensure that wafers that have not been processed are transferred to the equipment in advance;

[0119] 2. The front robot has a high priority to take wafers from buffer module 2. The reason is: after the rear robot completes taking wafers from the process chamber, it needs to take the wafers from buffer module 2 in time to avoid buffer module 2 being occupied, which will cause the rear robot to be unable to put the processed wafers into buffer module 2 in time;

[0120] 3. The front robot takes the wafer from the wafer loading and unloading position with a higher priority than placing the wafer into the wafer loading and unloading position. The reason is to ensure that the wafers that have not been processed are transferred to the equipment in advance;

[0121] 4. The rear robot has a high priority to take the wafer from buffer module 1. The reason is to ensure that the rear robot Hand1 takes the wafer in advance so that it can directly exchange and place the wafer after taking it out from the process chamber. If the robot directly puts the wafer in other positions after taking it out from the process chamber, the moving time of this process will not perform any effective action for the uncleaned wafer on Hand1. If the wafer is directly placed in the process chamber, the wafer will also start to execute the process in the process chamber during the subsequent transmission and movement, thereby improving the efficiency of parallel action execution;

[0122] 5. The priority of the rear robot to put the processed wafer into the process chamber is high. The reason is: there are wafers that need to go through two process chambers to complete the process. After the first process chamber is taken out after the process is completed, the next process chamber process needs to be carried out in a short time to meet the process generation requirements;

[0123] 6. The rear robot has a high priority in taking wafers from the process chamber. The reason is that the wafers that have completed the process are taken out first, meeting the first-in-first-out principle;

[0124] 7. The priority of the rear robot to put wafers into buffer module 2 is higher than that to put wafers into process chamber. The reason is that the wafers that have completed the process are taken out and placed into buffer module 2 before the next wafer removal from process chamber can be carried out, thereby improving the replacement rate of wafers.

[0125] 8. The priority of the rear robot to place wafers in the process chamber is low. The reason is: it can reduce the number of chambers occupied by the completed process. The actual machine test proves that if the number of process chambers used is small, it will help improve the transmission efficiency. Therefore, when there are wafers that have completed the process, the wafers are taken first. The priority of placing wafers is increased by exchanging the wafer placing action, so that the two hands of the robot can take and place wafers in front of the process chamber with the highest efficiency.

[0126] 9. The priorities of the three scheduling actions performed by the spraying mechanism can be customized according to needs.

[0127] For the design principles of collaborative actions in the action priority list, please refer to the relevant description in the previous article.

[0128] refer to Figure 8 When there are multiple wafers in the source module of the wafer grabbing action, the following design can be used: Figure 8 The wafer retrieval rules shown meet the first-in-first-out principle, that is, when the wafer is transferred from the wafer loading and unloading position to the system, it is processed in the order of the Slot ID from small to large (the order of wafer transmission into the system). When the wafer is taken from the process chamber, assuming that there are wafers to be taken in multiple process chambers, it is processed in the order of the Slot ID from small to large (the order of chamber wafer retrieval judgment).

[0129] For more information about the generation conditions of each scheduling action, please refer to Fig. 9 , the general rules include: the state of the target module is normal (the source module and the destination module of the Move are in normal state) and the target module is not occupied by other unfinished scheduling actions (the source module and the destination module of the Move are not occupied by other Moves); the target module includes the device module targeted by the scheduling action;

[0130] The target module includes a source module and a destination module; the source module includes a starting device module for executing the scheduling action, and the destination module includes a destination device module for executing the scheduling action;

[0131] When the scheduling action includes a wafer grabbing action, the general rule further includes: there is a wafer in the source module, and there is no wafer in the destination module (the source module and the destination module Wafer of Move have states that match the Move type);

[0132] When the scheduling action includes a wafer placement action, the general rule also includes: there is a wafer in the source module and there is no wafer in the destination module (the source module and destination module Wafer of Move have states that match the Move type).

[0133] In addition to the general rules, Fig. 9 It also shows that the scheduling action corresponds to a specific detection condition according to the action type, and the specific detection condition can be determined based on factors such as business characteristics.

[0134] Specifically, taking cleaning equipment as an example, specific detection conditions may include:

[0135] 1. When the rear robot takes out the wafer from the process chamber, it first needs to detect that the current wafer has completed the process and the wafer ID corresponding to the process chamber is the minimum value of the task to which it belongs, to ensure the first-in-first-out principle of the wafer; because the software design distinguishes different scheduling modes, if the priority capacity is considered, the wafer taking action is allowed to be executed; if the priority is given to filling the process chamber, even if the process has been completed but there are no wafers in other process chambers, the wafers with completed processes will not be taken out in advance, and the wafers will not be allowed to be taken until all the process chambers have wafers;

[0136] 2. After the robot puts the wafer into the process chamber, it needs to detect whether the process chamber exists in the process path of the wafer (the wafer transmission path set by the user) and meet the business characteristics of the equipment (the Reclaim (recovery) and ToDrain (drainage) modes of the liquid in the process formula used in the process chamber are consistent, and the medium (Medium) used in the process formula does not perform the acid exchange action);

[0137] The process recipe of the single-chip equipment allows setting a variety of different liquids for spraying. Each liquid can choose one of the Reclaim or ToDrain modes. Reclaim means that the liquid can be recycled to the Tank for reuse after use. ToDrain means that the liquid is directly discharged after use without recycling. Since the process will start after the wafer is placed in the process chamber, it is necessary to judge before placing the wafer that the liquid used in the process recipe of the upcoming process is consistent with the selection mode of other process recipes in the process to meet the conditions. If a liquid is sprayed, Reclaim is executed in the process chamber L1 and ToDrain is executed in the process chamber L2. Due to hardware limitations, this operation is not allowed. Otherwise, it will cause confusion in the control logic of the recycled liquid Tank. Therefore, judgment is required before placing the wafer;

[0138] If the chemical solution in the process recipe is in the process of acid replacement, placing the wafer into the process chamber to start the process will result in insufficient chemical solution flow, generating an alarm and automatically terminating the process. This situation needs to be avoided in advance.

[0139] 3. The front robot needs to detect that the target slot of the wafer is consistent with the slot of the wafer loading and unloading position when placing the wafer to the wafer loading and unloading position, ensuring that the position of the wafer returned before and after the process is the same;

[0140] 4. The front robot needs to meet the parallel task conditions to take the wafer from the wafer loading and unloading position. The parallel task conditions mainly refer to the situation when multiple tasks are allowed to start execution at the same time. For example, Task 1 uses process chamber L1 and process chamber L2, the process time is 50 seconds, and wafer loading and unloading position 1 is used; Task 2 uses process chamber R1 and process chamber R2, the process time is 100 seconds, and wafer loading and unloading position 2 is used; if process chamber L1 and process chamber L2 have completed the process, taking out a wafer from wafer loading and unloading position 2 at this time will cause the wafer to occupy robot Hand1 all the time. After taking out the wafer from process chamber L1 and process chamber L2, robot Hand2 cannot perform the wafer placement action. It needs to wait for the process chamber R1 with a long process time to complete before it can continue to transfer. Therefore, judging the remaining time of the system process in advance and planning in advance which wafer loading and unloading position to take the wafer from can make the parallel tasks run more efficiently;

[0141] 5. Before the spraying mechanism executes the spraying action, it needs to detect that the spraying condition of the lower computer has been triggered and the process chamber corresponding to the spraying mechanism is not occupied by other scheduling actions. If the process chamber where the spraying mechanism is located is occupied by the scheduling action of the robot or the current spraying mechanism is executing the spraying action, the spraying action of the spraying mechanism will not be output. For example, during the operation of the task, only process chambers L1, L2, L3, and L4 are used. Since process chamber R1 does not execute the process, when the set IdleFlush interval time is reached, the lower computer triggers the Flush condition. After the real-time scheduling detection meets the generation condition, the IdleFlushMove of process chamber R1 will be output; when the liquid acid is replaced, the Flush condition of the lower computer is satisfied. If process chamber R2 does not execute the process and is not occupied by the Robot, a ChangeFlush action will be output if the condition is met.

[0142] If the generation condition of the detected scheduling action is not met, the generation condition rule of the next scheduling action is detected in the order of the action priority list. If the detection passes, a target scheduling action is output; if the detection fails, the generation condition rule of the next scheduling action in the priority list is continued to be detected, and the independent target thread is continuously polled and detected until the condition is met and the appropriate target scheduling action is output. Due to the fast polling speed of real-time scheduling, the appropriate target scheduling action will better match the operating status of the device, thereby achieving the effect of efficient output of scheduling actions.

[0143] Correspondingly, taking the lower computer applied to the scheduling system as an example, the implementation mode of this specification also provides a scheduling method, and the scheduling method includes:

[0144] In response to the scheduling instruction, controlling the device module to execute a to-be-executed scheduling action, wherein the to-be-executed scheduling action includes a target scheduling action;

[0145] The scheduling instruction is generated by the upper computer based on the current state and the action priority list corresponding to the action module, traversing multiple action modules, obtaining the target scheduling action corresponding to the action module, and based on the scheduling action to be executed; the action priority list corresponding to the action module includes the correspondence between the scheduling actions that can be executed by the action module and the priority; the target scheduling action includes the scheduling action with the highest priority that can be executed by the action module under the current state; the current state is used to describe the position state and process state of the wafer in the equipment module.

[0146] Exemplary Systems

[0147] Another embodiment of the present specification also provides a scheduling system, including: a host computer, a slave computer and a plurality of equipment modules, wherein the plurality of equipment modules include a plurality of action modules; wherein:

[0148] The host computer is configured to: based on the current state and the action priority list corresponding to the action module, traverse multiple action modules to obtain the target scheduling action corresponding to the action module; the action priority list corresponding to the action module includes the corresponding relationship between the scheduling actions that can be executed by the action module and the priority; the target scheduling action includes the highest priority scheduling action that can be executed by the action module under the current state; the current state is used to describe the position state and process state of the wafer in the equipment module;

[0149] Generate a scheduling instruction based on a scheduling action to be executed, wherein the scheduling action to be executed includes the target scheduling action;

[0150] The lower computer is configured to: in response to the scheduling instruction, control the device module to execute the to-be-executed scheduling action.

[0151] Regarding the relevant limitations on the scheduling method executed by the upper computer and the lower computer in the scheduling system, please refer to the relevant description above, and this manual will not elaborate on it here.

[0152] Another embodiment of this specification also provides a computing device, see Fig.10 As shown, an exemplary embodiment of the present specification also provides a computing device, including: a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the scheduling method according to various embodiments of the present specification described in the above embodiments of the present specification are executed.

[0153] The internal structure of the computing device can be as follows Fig.10 As shown, the computing device includes a processor, a memory, a network interface and an input device connected through a system bus. Among them, the processor of the computing device is used to provide computing and control capabilities. The memory of the computing device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the computing device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, the steps of the scheduling method according to various embodiments of the present specification described in the above embodiments of the present specification are performed.

[0154] The processor may include a main processor and may also include a baseband chip, a modem, etc.

[0155] The memory stores a program for executing the technical solution of the present invention, and may also store an operating system and other key services. Specifically, the program may include a program code, and the program code includes computer operation instructions. More specifically, the memory may include a read-only memory (ROM), other types of static storage devices that can store static information and instructions, a random access memory (RAM), other types of dynamic storage devices that can store information and instructions, a disk storage, a flash, and the like.

[0156] The processor may be a general-purpose processor, such as a general-purpose central processing unit (CPU), a microprocessor, etc., or an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the scheme of the present invention. It may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component.

[0157] The input device may include a device for receiving data and information input by a user, such as a keyboard, a mouse, a camera, a scanner, a light pen, a voice input device, a touch screen, a pedometer, or a gravity sensor.

[0158] Output devices may include means that allow information to be output to a user, such as display screens, printers, speakers, etc.

[0159] The communication interface may include using any transceiver or the like to communicate with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Network (WLAN), etc.

[0160] The processor executes the program stored in the memory and calls other devices, which can be used to implement each step of any scheduling method provided in the above embodiments of this specification.

[0161] The computing device may also include a display component and a voice component. The display component may be a liquid crystal display or an electronic ink display. The input device of the computing device may be a touch layer covered on the display component, or a button, trackball or touchpad provided on the housing of the computing device, or an external keyboard, touchpad or mouse.

[0162] Those skilled in the art will understand that Fig.10 The structure shown in the figure is only a block diagram of a part of the structure related to the scheme of this specification, and does not constitute a limitation on the computing device to which the scheme of this specification is applied. The specific computing device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.

[0163] Exemplary computer program products and storage media

[0164] In addition to the above-mentioned methods and devices, the scheduling method provided in the embodiments of this specification may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps of the scheduling method according to various embodiments of this specification described in the above "Exemplary Method" section of this specification.

[0165] The computer program product may be implemented in hardware, software or a combination thereof. In one optional embodiment, the computer program product is implemented as a computer storage medium. In another optional embodiment, the computer program product is implemented as a software product, such as a software development kit (SDK).

[0166] The computer program product may be written in any combination of one or more programming languages ​​to write program code for performing the operations of the embodiments of the present specification, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0167] In addition, an embodiment of the present specification also provides a computer-readable storage medium on which a computer program is stored, and the computer program is executed by a processor to execute the steps of the scheduling method according to various embodiments of the present specification described in the above "Exemplary Method" section of the present specification.

[0168] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this specification can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0169] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0170] The above-mentioned embodiments only express several implementation methods of this specification, and the descriptions are relatively specific and detailed, but they cannot be understood as limiting the scope of the solutions provided by the embodiments of this specification. It should be pointed out that for ordinary technicians in this field, several modifications and improvements can be made without departing from the concept of this specification, which all belong to the protection scope of this specification. Therefore, the protection scope of the patent of this specification shall be based on the attached claims.

Claims

1. A scheduling method, characterized in that: Applied to a host computer, the scheduling method is used to schedule multiple equipment modules of a semiconductor process equipment, the multiple equipment modules include multiple action modules, and the scheduling method includes: Based on the current state of the action module and the action priority list corresponding to the action module, traverse multiple action modules to obtain the target scheduling action corresponding to the action module; the action priority list corresponding to the action module includes the corresponding relationship between the scheduling actions that can be executed by the action module and the priority; the target scheduling action includes the scheduling action with the highest priority that can be executed by the action module under the current state; the current state is used to describe the position state and process state of the wafer in the equipment module; Based on the to-be-executed scheduling action, a scheduling instruction is generated, where the scheduling instruction is used to instruct the device module to execute the to-be-executed scheduling action, where the to-be-executed scheduling action includes the target scheduling action.

2. The method according to claim 1, characterized in that The step of traversing the plurality of action modules based on the current state and the action priority list corresponding to the action module to obtain the target scheduling action corresponding to the action module includes: The target thread is called, and based on the current state and the action priority list corresponding to the action module, a plurality of the action modules are traversed to obtain the target scheduling action corresponding to the action module.

3. The method according to claim 1, characterized in that The action priority list corresponding to the action module also includes: the correspondence between the scheduling actions and the coordinated actions that can be executed by the action module; After obtaining the target scheduling action corresponding to the action module, the method further includes: The action priority list is queried based on the target scheduling action, and if the target scheduling action corresponds to a coordinated action, the coordinated action corresponding to the target scheduling action is added to the scheduling action to be executed.

4. The method according to claim 3, characterized in that The equipment module is a front manipulator, a rear manipulator, a buffer module, a flip mechanism or a process chamber; The scheduling action includes a first grabbing action, a first placing action, a second placing action and a third placing action; the first grabbing action includes the action of grabbing a wafer processed in a process chamber, the first placing action includes the action of placing a wafer in a process chamber, the second placing action includes the action of a front robot placing a wafer in a buffer module, and the third placing action includes the action of a rear robot placing a wafer in a buffer module; If the rear robot grasps a wafer to be processed to be placed in the process chamber, the coordinated action corresponding to the first grasping action includes: placing the wafer to be processed in the process chamber; The coordinated actions corresponding to the first placement action include: starting a process in the process chamber; The coordinated action corresponding to the second placement action includes: a flipping action of the flipping mechanism flipping the wafer placed in the buffer module; The coordinated action corresponding to the third placement action includes: a flipping action of the flipping mechanism flipping the wafer placed in the buffer module.

5. The method according to claim 1, characterized in that The scheduling actions that the action module can execute correspond to generation condition rules; The target scheduling action includes a scheduling action with the highest priority among the first scheduling actions, and a generation condition rule corresponding to the first scheduling action matches the current state.

6. The method according to claim 5, characterized in that The generation condition rules corresponding to the scheduling action include general rules; The general rules include: the state of the target module is normal and the target module is not occupied by other unfinished scheduling actions; the target module includes the device module targeted by the scheduling action; The target module includes a source module and a destination module; the source module includes a starting device module for executing the scheduling action, and the destination module includes a destination device module for executing the scheduling action; When the scheduling action includes a wafer grabbing action, the general rule further includes: there is a wafer in the source module, and there is no wafer in the destination module; When the scheduling action includes a wafer placement action, the general rule further includes: there is a wafer in the source module, and there is no wafer in the destination module.

7. The method according to claim 6, characterized in that The action module includes: a spraying mechanism located in the process chamber. When the scheduling action includes a flushing action of the spraying mechanism, the generation condition rule corresponding to the scheduling action also includes: The flushing condition of the spraying mechanism is triggered, and the process chamber corresponding to the spraying mechanism is not occupied by other scheduling actions.

8. The method according to claim 1, characterized in that The action module comprises: a spraying mechanism located in the process chamber, the scheduling action comprises a flushing action of the spraying mechanism; the flushing action comprises an idle flushing action, an acid-changing flushing action and a chuck flushing action.

9. The method according to claim 1, characterized in that: The target scheduling action includes a wafer grabbing action, when there are multiple wafers in the source module of the wafer grabbing action; The step of traversing the plurality of action modules based on the current state and the action priority list corresponding to the action module to obtain the target scheduling action corresponding to the action module includes: Based on the current state and the action priority list corresponding to the action module, multiple action modules are traversed to obtain a target scheduling action for a target wafer corresponding to the action module, wherein the target wafer includes a wafer with the highest priority among multiple wafers in the source module.

10. A scheduling system, comprising: A host computer, a slave computer and a plurality of equipment modules, wherein the plurality of equipment modules include a plurality of action modules; wherein, The host computer is configured to: based on the current state and the action priority list corresponding to the action module, traverse multiple action modules to obtain the target scheduling action corresponding to the action module; the action priority list corresponding to the action module includes the corresponding relationship between the scheduling actions that can be executed by the action module and the priority; the target scheduling action includes the highest priority scheduling action that can be executed by the action module under the current state; the current state is used to describe the position state and process state of the wafer in the equipment module; Generate a scheduling instruction based on a to-be-executed scheduling action, wherein the to-be-executed scheduling action includes the target scheduling action; The lower computer is configured to: in response to the scheduling instruction, control the device module to execute the to-be-executed scheduling action.

11. A computing device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the scheduling method according to any one of claims 1 to 9 when executing the computer program.

12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the scheduling method according to any one of claims 1 to 9 is implemented.

Citation Information

Cited By

  • Wafer cassette scheduling method, wafer cassette scheduling device and electronic equipment

    CN119764225A

  • Scheduling method and related device

    CN119786390A

  • A scheduling method and related apparatus

    CN119786390B

  • Scheduling method and related apparatus

    WO2026040858A1