Scheduling method, scheduling device and semiconductor process equipment
By releasing process chamber resources during wafer ejection in semiconductor process equipment and optimizing the scheduling algorithm, the problem of low chamber resource utilization is solved, thereby improving the utilization rate of chamber resources and fabrication efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-23
- Publication Date
- 2026-03-20
AI Technical Summary
In existing scheduling methods, the utilization rate of chamber resources in semiconductor process equipment is low, which cannot meet the capacity demand. In particular, it is easy to waste chamber resources and leave them idle during task switching.
By releasing process chamber resources when the last wafer of the current production task is produced, pre-released process chambers are acquired, and resource allocation is performed based on the process path of the production task to be assigned and the available process chamber resources. A scheduling sequence is generated, and the scheduling algorithm is optimized to improve chamber utilization.
It effectively reduces the time from wafer ejection to transfer to the process chamber, improves the utilization rate of chamber resources, and enhances semiconductor fabrication efficiency.
Smart Images

Figure CN119400730B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of semiconductor manufacturing, in particular to a scheduling method, a scheduling device and a semiconductor process equipment. BACKGROUND
[0002] With the continuous progress of scientific and technological productivity, the degree of informatization and intelligentization of the whole society is getting higher and higher, and the demand for semiconductors is getting stronger and stronger. In the process of semiconductor manufacturing, how to improve the utilization rate of chamber resources is of great significance to improve the manufacturing efficiency of semiconductors. SUMMARY
[0003] Therefore, the present application aims to provide a scheduling method, a scheduling device and a semiconductor process equipment, which can improve the utilization rate of chamber resources and thus improve the manufacturing efficiency of semiconductors.
[0004] The first aspect of the present application provides a scheduling method applied to a semiconductor process equipment, wherein the semiconductor process equipment is configured with at least one process chamber; the method comprises:
[0005] obtaining available process chamber resources; the available process chamber resources include a pre-release process chamber; the obtaining process of the pre-release process chamber comprises: if it is detected that the last wafer of a current production task is out, releasing the process chamber occupied by the current production task to obtain the pre-release process chamber;
[0006] based on the process path of a target process task in a to-be-allocated production task and the available process chamber resources, performing resource allocation for the target process task;
[0007] based on the target process task obtained by resource allocation, generating a corresponding scheduling sequence; the scheduling sequence is used to schedule wafers and allocated chamber resources.
[0008] Optionally, the obtaining process of the pre-release process chamber further comprises:
[0009] if it is detected that there are multiple parallel process chambers occupied, and the number of parallel process chambers used by wafers participating in scheduling in a current process task is less than the number of the multiple parallel process chambers, the remaining process time of the multiple parallel process chambers is calculated respectively, the parallel process chambers used by the wafers participating in scheduling are determined in ascending order of the remaining process time, and the remaining parallel process chambers are released to obtain the pre-release process chamber.
[0010] Optionally, before the resource allocation for the target process task based on the process path of the target process task in the to-be-allocated production task and the available process chamber resources, the method further comprises:
[0011] If a production task is received, each process task in the received production task is sequentially added to the task queue in the order of receiving.
[0012] Optionally, the resource allocation for the target process task based on the process path of the target process task in the production task to be allocated and the available process chamber resources comprises:
[0013] The process tasks are sequentially fetched from the task queue in the order of adding, and the fetched process tasks are determined as the target process tasks;
[0014] The resource allocation for the target process task based on the process path of the target process task in the production task to be allocated and the available process chamber resources.
[0015] Optionally, the number of target process tasks comprises a plurality.
[0016] The resource allocation for the target process task based on the process path of the target process task in the production task to be allocated and the available process chamber resources comprises:
[0017] After the resource allocation for the target process task in the production task to be allocated based on the process path of the target process task and the available process chamber resources, the available process chamber resources are occupied by the production task to be allocated;
[0018] Based on the occupied available process chamber resources, the remaining target process tasks in the production task to be allocated are sequentially allocated resources according to the corresponding process paths and the order of fetching.
[0019] Optionally, the method further comprises:
[0020] If it is detected that the resource usage mode of the process path of the process task in the production task to be allocated is the same as the resource usage mode of the corresponding process path in the pre-released process chamber resources, the resource allocation for the process task with the same resource usage mode in the production task to be allocated can be prioritized based on the pre-released process chamber resources.
[0021] Optionally, the resource usage mode comprises a process mode and a process recipe.
[0022] The resource usage mode of the process path of the process task is the same as the resource usage mode of the corresponding process path in the pre-released process chamber resources, which comprises that the process mode and the process recipe of the process path of the process task are both the same as the process mode and the process recipe of the corresponding process path in the pre-released process chamber resources.
[0023] Optionally, further comprising:
[0024] If the available process chamber resources do not meet the resource allocation requirement of the current target process task, the allocation of the available process chamber resources is suspended until the available process chamber resources meet the resource allocation requirement of the current target process task.
[0025] The second aspect of the present application provides a scheduling device, comprising:
[0026] a processor, and a memory connected to the processor;
[0027] The memory is configured to store a computer program.
[0028] The processor is configured to invoke and execute the computer program in the memory to perform the scheduling method as described in the first aspect of the present application.
[0029] The third aspect of the present application provides a semiconductor process equipment comprising at least one process chamber and the scheduling device as described in the second aspect of the present application.
[0030] In the solution of the present application, the scheduling method can be applied to a semiconductor process equipment, and the semiconductor process equipment is configured with at least one process chamber. In implementation, available process chamber resources can be acquired; the available process chamber resources include a pre-released process chamber; the acquisition process of the pre-released process chamber includes: if the last wafer of a current production task is detected to be out, a process chamber occupied by the current production task is released to obtain a pre-released process chamber; then, based on a process path of a target process task in a production task to be allocated and the available process chamber resources, resource allocation is performed for the target process task; finally, based on the target process task with the resource allocation, a corresponding scheduling sequence is generated; the scheduling sequence is used to schedule wafers and allocated chamber resources. In this way, when the last wafer of a production task is out, the process chamber occupied by the production task is released, which, compared with the traditional release after the process chamber resources are used by the wafer, can ensure that the process chamber resources can be continuously used, reduce the time from the wafer out to the wafer into the process chamber in the next production task, and effectively improve the utilization rate of the chamber resources, thereby providing a guarantee for improving the preparation efficiency of the semiconductor. BRIEF DESCRIPTION OF DRAWINGS
[0031] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor based on these drawings.
[0032] Figure 1 is a structural schematic diagram of a semiconductor process equipment.
[0033] Figure 2 is a flowchart of a scheduling method according to an embodiment of the present application.
[0034] Figure 3 is a structural schematic diagram of a semiconductor process equipment according to an embodiment of the present application.
[0035] Figure 4 is a structural schematic diagram of a computing device according to an embodiment of the present application. DETAILED DESCRIPTION
[0036] Unless otherwise defined, technical terms or scientific terms used in the embodiments of the present application shall have the ordinary meaning understood by a person of ordinary skill in the art to which the embodiments of the present application belong. The terms “first”, “second” and similar words used in the embodiments of the present application do not represent any order, number or importance, but are only set to avoid confusion of the constituent elements.
[0037] Unless otherwise required by the context, throughout the specification, “a plurality” means “at least two”, “comprising” is interpreted to be open, inclusive meaning, i.e. “including, but not limited to”. In the description of the specification, the terms “one embodiment”, “some embodiments”, “exemplary embodiments”, “example”, “specific example” or “some examples” are intended to mean that the specific features, structures, materials or characteristics related to the embodiment or example are included in at least one embodiment or example of the specification. The illustrative representation of the above terms does not necessarily mean the same embodiment or example.
[0038] The technical solutions in the embodiments of the present application will be described clearly and completely in the embodiments of the present application in combination with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative labor are within the scope of protection of the present application.
[0039] Reference Figure 1 Taking a cluster-type equipment as an example, Figure 1 a structural schematic diagram of a semiconductor process equipment is shown, which can include a first robot 10, a second robot 20, wafer loading and unloading sites 21, a calibration module 22, a cooling disc 23, a buffer module 24, a vacuum lock 25 and a plurality of process chambers 11; wherein,
[0040] Each wafer loading and unloading site 21 can place a wafer box, and each wafer box can place a plurality of wafers.
[0041] The calibration module 22 can include a slot, and the calibration module 22 can calibrate a wafer placed in the slot.
[0042] The processing module 11 (Processing Module) can include at least one slot (for example, four slots in each processing module 11) for placing a wafer. Figure 1 The processing module 11 (Processing Module) can include at least one slot (for example, four slots in each processing module 11) for placing a wafer.
[0043] The cooler 23 (Cooler) can be used to cool the wafer after processing.
[0044] The first robot 10 can be a double-arm robot, and the two arms of the double-arm robot can be fixed at 180°. Each arm can include a slot for placing a wafer. Generally, the two arms cannot simultaneously perform the wafer loading and unloading operation. The first robot 10 can be responsible for transporting wafers between the load lock 25 and the multiple processing modules 11.
[0045] The load lock 25 (LoadLock) can include two slots for placing a wafer. The load lock 25 can switch between an atmospheric state and a vacuum state. When the load lock 25 is switched from the vacuum state to the atmospheric state, the wafer on the second robot 20 side can be loaded into the load lock 25. When the load lock 25 is switched from the atmospheric state to the vacuum state, the wafer on the first robot 10 side can be loaded into the load lock 25. The second robot 20 can be a single-arm robot, and the second robot 20 can include a slot for placing a wafer. The second robot 20 can be responsible for transporting wafers between the wafer loading and unloading station 21, the calibration module 22, and the load lock 25.
[0046] The buffer module 24 (Buffer) can also be referred to as a material buffer, and the buffer module 24 can load multiple wafers. The buffer module 24 can be used to prevent the wafer loading and unloading station 21 from simultaneously storing wafers that have undergone processing and wafers that have not undergone processing.
[0047] It can be understood that, Figure 1 The above description is only used to illustrate a possible structure of a semiconductor processing equipment. In other embodiments, the semiconductor processing equipment can include more or fewer types of equipment modules. For example, some semiconductor processing equipment can include at least some of the first robot 10, the second robot 20, the wafer loading and unloading station 21, the calibration module 22, the cooler 23, the buffer module 24, the load lock 25, and the multiple processing modules 11. The number of equipment modules of the same type included in the semiconductor processing equipment can also be different. For example, in some embodiments, the semiconductor processing equipment can include two first robots 10, and in other embodiments, the semiconductor processing equipment can include one first robot 10. Figure 1The semiconductor processing equipment shown has 3 wafer loading and unloading sites 21, 4 buffer modules 24, 2 vacuum locks 25, and 4 process chambers 11, each of which has 4 slots. In other embodiments, the semiconductor processing equipment can have 2 or 4 wafer loading and unloading sites 21, 6 or 8 buffer modules 24, 3 or 4 vacuum locks 25, 1 or 2 slots in each process chamber 11, and 6 or 8 process chambers 11. The number of wafer loading and unloading sites 21, buffer modules 24, vacuum locks 25, slots in each process chamber 11, and process chambers 11 can be determined according to actual conditions.
[0048] A process route of a wafer refers to a path and time required for the wafer in the semiconductor processing equipment based on process requirements such as a process recipe of the wafer. For example, the process route can include a plurality of equipment modules through which the wafer passes in the semiconductor processing equipment and process time required for the wafer to pass through each equipment module. The process route can be generated by a scheduling algorithm based on the process recipe. For example, the process route of the wafer can include: wafer loading and unloading site -> second robot (3 seconds) -> calibration module (1 second) -> second robot (3 seconds) -> vacuum lock (3 seconds) -> first robot (3 seconds) -> first process chamber (60 seconds) -> first robot (3 seconds) -> second process chamber (120 seconds) -> first robot (3 seconds) -> third process chamber (60 seconds) -> first robot (3 seconds) -> fourth process chamber (60 seconds) -> first robot (3 seconds) -> vacuum lock (3 seconds) -> second robot (3 seconds) -> cooling plate (1 second) -> second robot (3 seconds) -> wafer loading and unloading site. Each step through an equipment module can be referred to as a process node. The wafer has time consumption in each process node. The time in the brackets can be the time required for the process node. The wafer can be processed in parallel or in series among the process chambers 11. In the above process route example, if the first to fourth process chambers are different process chambers, the process route can be referred to as a serial process route. If at least two of the first to fourth process chambers are the same process chamber 11, the process route can be referred to as a reentrant process route. In addition to the serial process route and the reentrant process route, if a process chamber 11 can be selected for a process node, the process route can be referred to as a parallel process route.
[0049] When the process time of a wafer in a process chamber is long (for example, in the example provided above, the process time of the wafer in the process chamber is significantly longer than the time required for the wafer handling steps (for example, the steps of the robot grabbing the wafer from each equipment module)), the process path corresponding to the wafer can be referred to as a long process time path, and when the process time of the wafer in the process chamber is short (for example, when the process time of the wafer in the process chamber is close to the time of the handling steps, for example, in the example above, when the process time of the wafer in the process chamber is 10 seconds or less, the process time of the wafer in the process chamber is not significantly or much longer than the time required for wafer handling steps), the process path corresponding to the wafer can be referred to as a short process time path.
[0050] In the scheduling process of the wafer, the host computer of the semiconductor process equipment can generate a corresponding process path for each wafer using a scheduling algorithm, and send an execution action to the lower computer based on the process path and the state of the wafer in the semiconductor process equipment. The lower computer can execute the corresponding action of the wafer based on the execution action.
[0051] With the increasing scale of the semiconductor industry, people's demand for production capacity is also increasing. In the design of semiconductor process equipment, the platform architecture of the equipment can have 6K, 8K, and 12K cascade platforms, which can improve the process production capacity of the semiconductor process equipment by mounting a larger number of process chambers. Inside the process chamber, the production capacity of the process chamber is improved by expanding the number of wafers carried inside the same process chamber. Similarly, software control improves process chamber utilization through iterative optimization algorithms to improve production capacity. Therefore, how to improve the optimal ratio of the algorithm in the automatic task to further improve the process chamber utilization and improve the production capacity has always been the focus of attention.
[0052] The inventors have found that in the existing scheduling method, scheduling is based on different scheduling modes of tasks to control wafers to participate in scheduling calculation. The scheduling modes mainly include pipeline mode, concurrent mode, and serial mode. When the task is in pipeline mode, the task starts to participate in scheduling calculation after the last wafer of the previous task leaves the Foup and enters the next chamber; when the task is in concurrent mode, the task and other running tasks immediately participate in scheduling calculation; when the task is in serial mode, the task starts and participates in scheduling calculation after all wafers of the previous task return to the Foup. However, the scheduling mode of the task is a global variable, and it is relatively inconvenient to switch the scheduling mode of the task, which can easily cause long-term idle state of the parallel chamber, cannot fully utilize each chamber resource, and cannot meet the demand of production capacity.
[0053] To this end, embodiments of the present application provide a scheduling method which can be applied to a semiconductor process equipment configured with at least one process chamber; as shown in the accompanying drawings, the scheduling method can at least include the following steps: Figure 2
[0054] S201, acquiring available process chamber resources; the available process chamber resources include a pre-release process chamber; the acquisition process of the pre-release process chamber includes: if the last wafer of the current production task is detected to be unloaded, releasing the process chamber occupied by the current production task to obtain the pre-release process chamber.
[0055] Wherein, wafer unloading refers to the wafer leaving the Foup, and the Foup is located at the wafer loading and unloading site. The last wafer unloading marks the last wafer in the Foup starting to enter the process chamber.
[0056] In the related art, the process chamber resources are released to other process tasks again after the resources are used by the wafer. However, for a semiconductor process equipment with multiple process chambers, if only one wafer is left in the current production task to enter the multiple process chambers, and the multiple process chambers are released after the wafer completes the process, it will often cause resource waste. Taking four chambers and four slots in each chamber as an example, if only one wafer is left to enter the chamber and is released after completing the process, then three slots of the chamber will be wasted, and the production capacity is reduced by 3. According to 25 wafers per box, the production capacity is reduced by 3 per box, and if the process time is calculated as 2 hours, the full production capacity should be 24 / 2*4 = 48 wafers per 24 hours. However, due to the late release of resources, only 45 wafers can be produced. In order to improve the utilization rate of the chamber and release the resources in advance, the resource allocation efficiency can be significantly improved.
[0057] Pre-release refers to re-allocating to subsequent production tasks while ensuring that the resource continues to be occupied by the current production task. Early release can ensure the continuity of wafer unloading. That is, after the wafer that uses the resource is unloaded from the Foup, the chamber is released.
[0058] The production task is a task set. During the dispatching process of the semiconductor process equipment by the user end (such as the factory end), one or more process tasks are combined into a production task. The production task focuses on the control of the total production plan, and can specify the calling sequence between the included process tasks.
[0059] The process task refers to the task that the wafer needs to perform in the semiconductor process equipment, which can also be understood as the task (job) of the wafer with the same process flow.
[0060] The available chamber resources can also include process chambers in an idle state, which refers to process chambers that are not currently performing a process task.
[0061] Correspondingly, obtaining the available process chamber resources can include obtaining the pre-release process chambers and the process chambers in the idle state. In this way, the chamber utilization rate is improved for subsequent utilization of the available process chamber resources.
[0062] In addition, in the process of obtaining the pre-release process chambers, the process chamber occupied by the current production task is released after the last wafer of the current production task is out, which can effectively save the time for waiting for the wafers of the process task in the new production task to be sequentially transferred from the Foup to the process chamber, ensure the Foup to continuously out, and thus improve the chamber resource utilization rate.
[0063] S202, based on the process path of the target process task in the production task to be allocated and the available process chamber resources, performing resource allocation for the target process task.
[0064] The target process task refers to the process task in the production task to be allocated, which should be sequentially allocated resources.
[0065] For example, the production task Cjob has three process tasks, one of which is Pjob1. When the resource allocation for Pjob1 is to be performed, Pjob1 is the target process task, and the process path of Pjob1 is Ch1->Ch2. Therefore, the resources of Ch1 and Ch2 can be allocated to Pjob1 based on the process path Ch1->Ch2 and the available process chamber resources.
[0066] In implementation, after obtaining the available process chamber resources, the available process chamber resources can be cached in a resource list (ResouceList), and the resources are allocated according to the process path of the target process task.
[0067] S203, based on the target process task to which the resources are allocated, generating a corresponding scheduling sequence; the scheduling sequence is used to schedule the wafers and the allocated chamber resources.
[0068] In implementation, the state of the target process task allocated to the resource becomes a running state, the process path thereof is adjusted according to the actually allocated resource, the process chamber not allocated to the resource in the parallel process chamber is removed from the process path, and a corresponding scheduling sequence can be generated based on the adjusted process path and the allocated resource. The wafer and the allocated chamber resource can be scheduled by using the scheduling sequence to achieve the target process task. In this way, the optimization of the scheduling algorithm is realized from the software aspect, and the utilization rate of the chamber resource is improved.
[0069] In the embodiment, available process chamber resources can be acquired first; the available process chamber resources include pre-released process chambers; the acquisition process of the pre-released process chambers includes: if it is detected that the last wafer of the current production task is out, the process chamber occupied by the current production task is released to obtain the pre-released process chamber; then, based on the process path of the target process task in the production task to be allocated and the available process chamber resources, resource allocation is performed for the target process task; finally, based on the target process task to which the resource is allocated, a corresponding scheduling sequence is generated; the scheduling sequence is used to schedule the wafer and the allocated chamber resource. In this way, the process chamber occupied by the production task is released when the last wafer of the production task is out, which can ensure that the process chamber resource can be continuously used, reduce the time from the wafer of the process task in the next production task being out to being transferred into the process chamber, and effectively improve the utilization rate of the chamber resource, thereby providing a guarantee for improving the preparation efficiency of the semiconductor.
[0070] In a feasible implementation, the acquisition process of the pre-released process chamber can further include: if it is detected that there are multiple parallel process chambers occupied, and the number of parallel process chambers used by the wafer participating in scheduling in the current process task is less than the number of the multiple parallel process chambers, the remaining process time of the multiple parallel process chambers is calculated respectively, the parallel process chambers used by the wafer participating in scheduling are determined in the order of the remaining process time from short to long, and the remaining parallel process chambers are released to obtain the pre-released process chamber.
[0071] In the calculation of the remaining process time of the parallel process chamber, the available state, the available idle space, whether the cleaning is triggered, the average time of executing the process, the current position of the robot, and the like can be determined, which are not limited here.
[0072] In implementation, by calculating the residual process time of each parallel process chamber respectively, it can be determined which parallel process chamber consumes less time, which helps to select the process chamber with higher efficiency, and assign the parallel process chamber consuming less time to the wafer participating in scheduling in the current production task, compared with randomly assigning the parallel process chamber, it can not only meet the resource allocation demand of the current production task, but also improve the production efficiency of the current production task. Moreover, releasing the resources of the remaining unused parallel process chamber can avoid the idle of the remaining unused parallel process chamber due to the occupied state, and further improve the chamber utilization rate.
[0073] For example, the process path of the process task Pjob is Ch1||Ch2||Ch3 (i.e. Ch1, Ch2 and Ch3 are parallel process chambers), and the wafer quantity is 1, wherein Ch1 needs to do switchClean (cleaning) before wafer loading, and the process time is about 200s; Ch2 is currently doing IdlePurge (purging), and the remaining time is 500s; Ch3 needs to do coating (warm chamber), and the process time is about 100s, and the parallel process chambers are arranged in the order of residual process time from short to long: Ch3<Ch1<Ch2, and the wafer quantity is only 1, therefore, Pjob only needs to use one process chamber, then Ch3 can be selected as the process chamber of the wafer, and the unused process chambers Ch1 and Ch2 are released, and the pre-released process chambers Ch1 and Ch2 are obtained.
[0074] In a feasible implementation, before the resource allocation for the target process task based on the process path of the target process task in the production task to be allocated and the available process chamber resources, the scheduling method further comprises: if a production task is received, sequentially adding each process task in the received production task to the task queue in the order of reception.
[0075] In actual application, after receiving the production task dispatched by the user end, each process task in the production task can be added to the task queue in the order of reception. The arrangement order of each process task in the task queue represents the order of allocating chamber resources to each process task.
[0076] In this way, each process task is added to the task queue, which provides guarantee for the resource allocation of each process task in the production task in turn, avoids the situation that the process task is delayed and cannot be allocated to the chamber resource, improves the chamber resource allocation efficiency of the production task, and lays a foundation for improving the production capacity.
[0077] Correspondingly, when allocating resources for the process tasks in the production tasks to be allocated based on the process paths of the target process tasks and the available process chamber resources, the process tasks can be sequentially called from the task queue according to the joining order, and the called process tasks are determined as the target process tasks; and then the resources are allocated for the target process tasks based on the process paths of the target process tasks and the available process chamber resources.
[0078] The process tasks are sequentially called from the task queue according to the joining order, which can ensure that the tasks coming first can obtain the chamber resources preferentially, and ensure the orderly allocation of the chamber resources.
[0079] In a feasible implementation, the number of target process tasks can include multiple.
[0080] Correspondingly, when allocating resources for the target process tasks based on the process paths of the target process tasks and the available process chamber resources, the available process chamber resources can be occupied by the production tasks to be allocated after the target process tasks are allocated resources based on the process paths of the target process tasks; and the remaining target process tasks in the production tasks to be allocated are sequentially allocated resources according to the corresponding process paths and calling orders based on the occupied available process chamber resources.
[0081] Specifically, after a process task is allocated an available process chamber resource, the production task in which the process task is located immediately occupies the available process chamber resource, and the process tasks of other production tasks need to wait until the production task releases the resource before obtaining the available process chamber resource. In this way, it can be effectively ensured that the production tasks with higher ranking can start to be allocated chamber resources preferentially and end preferentially, thereby improving the efficiency of resource allocation completion. If the production tasks with higher ranking are not allocated preferentially, some process tasks in the production tasks may be completed, but the remaining process tasks cannot obtain resources for a long time, resulting in that the production tasks cannot end and the efficiency of resource allocation completion is low.
[0082] For example, production task CJobl has process tasks PJobl and Pjob2, and production task CJob2 has process task PJob3. The process paths of the process tasks are as follows: PJobl: Chl; PJob2: Chl->Ch2; PJob3: Chl->Ch3. Chl resource is allocated to PJobl. At this time, PJob2 cannot start because it needs to wait for Chl resource of PJobl. CJob2 needs to wait for Chl resources of PJobl and PJob2 in CJobl. When PJobl in CJobl releases Chl, PJob2 in CJobl occupies Chl resource in priority, and Chl needs to wait for use of all PJobs in CJobl before being released by CJobl. After Chl is released by CJobl, Chl can be allocated to PJob3 of CJob2 behind CJobl.
[0083] In a feasible implementation, the scheduling method can further include: if it is detected that, in the production task to be allocated, there is a process task whose resource usage mode of the process path is the same as the corresponding resource usage mode of the process path in the pre-released process chamber resource, the process task with the same resource usage mode in the production task to be allocated can be allocated with the resource based on the pre-released process chamber resource.
[0084] In implementation, the resource allocation can be recorded by using a resource mapping table (ResourceMap). For the available process chamber resource, when the resource is allocated to process task PJobl of production task CJobl, if process task PJob2 of production task CJob2 has different resource usage mode from process task PJobl, process chamber sharing cannot be performed; but if process task PJob2 has the same resource usage mode as process task PJobl, process chamber sharing can be performed, and is added to the resource mapping table.
[0085] Process chamber sharing refers to that the same process chamber can be used, but not simultaneously. Two process tasks capable of process chamber sharing have priority to the process chamber with each other.
[0086] Specifically, for two process tasks belonging to different production tasks, when the resource usage modes are the same, the process task allocated to the process chamber in the first time can be allocated with the pre-released process chamber after releasing the process chamber and making the process chamber become the pre-released process chamber.
[0087] The resource usage mode can include process mode and process recipe.
[0088] Correspondingly, the resource usage mode of the process path of the process job is the same as the resource usage mode of the corresponding process path in the pre-released process chamber resource, including that the process mode and the process recipe of the process path of the process job are the same as the process mode and the process recipe of the corresponding process path in the pre-released process chamber resource.
[0089] Wherein, the process mode refers to the configuration or operation mode of the equipment, for example, the process mode is 1*4 mode, which means that the equipment can process 4 wafers at the same time, and the wafers are arranged in a process chamber to perform the same process step. In implementation, the process mode can also include 2*2 mode, and / or single side mode, etc. Similarly, the process recipe can include residence constraint, and / or queue time (Qtime) constraint, etc.
[0090] For example, the production task CJob1 has the process task PJob1, which has the parallel process path Ch1||Ch2, uses the mode of 1*4 mode, and the process recipe is rcp1; the production task CJob2 has the process task PJob2, which has the parallel process path Ch2||Ch3, uses the mode of 1*4 mode, and the process recipe is rcp1. The process task PJob1 of the production task CJob1 and the process task PJob2 of the production task CJob2 can share Ch2. When the resource allocation sequence is to produce the production task CJob1 first and then the production task CJob2, Ch2 is allocated to the process task PJob1 of the production task CJob1 first, and Ch2 is released after the last wafer corresponding to Ch2 of the production task CJob1 is out, so that Ch2 can be preferentially allocated to the process task PJob2 of the production task CJob2 after Ch2 becomes a pre-released process chamber.
[0091] In a feasible implementation, the scheduling method can further include: if the available process chamber resource does not meet the resource allocation requirement of the current target process task, suspending allocation of the available process chamber resource until the available process chamber resource meets the resource allocation requirement of the current target process task.
[0092] For example, the process path of the process task Pjob1 is a serial path of LA->Ch1->Ch2->LB. When the resource of the process task Pjob1 is not satisfied, if only one Ch1 belongs to the available process chamber resource, no resource is allocated to the subsequent PJob2, otherwise a resource allocation deadlock will be caused.
[0093] As another optional implementation of the disclosure, the embodiments of the present application also provide a scheduling device, which can be applied to a semiconductor process equipment configured with at least one process chamber. Specifically, the scheduling device can include: an acquisition module configured to acquire available process chamber resources; the available process chamber resources include a pre-release process chamber; the acquisition process of the pre-release process chamber includes: if it is detected that the last wafer of a current production task is out, releasing the process chamber occupied by the current production task to obtain the pre-release process chamber; a resource allocation module configured to allocate resources for a target process task based on a process path of the target process task in a production task to be allocated and the available process chamber resources; and a generation module configured to generate a corresponding scheduling sequence based on the target process task to which the resources are allocated; and the scheduling sequence is used to schedule wafers and allocated chamber resources.
[0094] Optionally, the acquisition module can be further configured to: if it is detected that there are multiple parallel process chambers occupied, and the number of parallel process chambers used by wafers participating in scheduling in a current process task is less than the number of the multiple parallel process chambers, calculate the remaining process time of the multiple parallel process chambers respectively, determine the parallel process chambers used by the wafers participating in scheduling in the order from short to long according to the remaining process time, and release resources of the remaining parallel process chambers to obtain the pre-release process chamber.
[0095] Optionally, the scheduling device can further include a receiving module configured to: if a production task is received, sequentially add each process task in the received production task to a task queue in the order of reception.
[0096] Optionally, the resource allocation module can be specifically configured to: sequentially call process tasks from the task queue in the order of addition, and determine the called process tasks as target process tasks; and allocate resources for the target process tasks based on the process path of the target process tasks in the production task to be allocated and the available process chamber resources.
[0097] Optionally, the number of target process tasks can include multiple; and when the resources are allocated for the target process tasks based on the process path of the target process tasks in the production task to be allocated and the available process chamber resources, the resource allocation module can be specifically configured to: based on the available process chamber resources, allocate resources for the target process tasks by using the process path of the target process tasks in the production task to be allocated, and then occupy the available process chamber resources by using the production task to be allocated; and based on the occupied available process chamber resources, sequentially allocate resources for the remaining target process tasks in the production task to be allocated according to the corresponding process path and the calling order.
[0098] Optionally, the resource allocation module can be further configured to: if it is detected that the resource usage mode of the process path of the process task in the production task to be allocated is the same as the resource usage mode of the corresponding process path in the pre-released process chamber resource, the resource allocation module can allocate the resource to the process task with the same resource usage mode in the production task to be allocated based on the pre-released process chamber resource.
[0099] Optionally, the resource usage mode can include a process mode and a process recipe; and the resource usage mode of the process path of the process task is the same as the resource usage mode of the corresponding process path in the pre-released process chamber resource, including that the process mode and the process recipe of the process path of the process task are both the same as the process mode and the process recipe of the corresponding process path in the pre-released process chamber resource.
[0100] Optionally, the resource allocation module can be further configured to: if the available process chamber resource does not meet the resource allocation requirement of the current target process task, the resource allocation of the available process chamber resource is suspended until the available process chamber resource meets the resource allocation requirement of the current target process task.
[0101] The specific limitations of the scheduling device can be referred to the limitations of the scheduling method in the above, which will not be repeated here. Each module in the above scheduling device can be realized by software, hardware, and combinations thereof, in whole or in part. The above modules can be embedded in or independent of the processor in the computer device in hardware form, or can be stored in the memory in the computer device in software form, so as to be called and executed by the processor to perform the operations corresponding to the above modules.
[0102] Another embodiment of the present application also provides a scheduling device, comprising: a processor and a memory;
[0103] The memory is connected with the processor, and the memory is configured to store a computer program;
[0104] The processor is configured to realize the scheduling method according to any one of the above embodiments by running the computer program stored in the memory.
[0105] Embodiments of the present application also provide a semiconductor process device, as shown in Figure 3 The semiconductor process device 100 can include the scheduling device 1001 and the controlled module 1002 according to any one of the above embodiments.
[0106] The controlled module 1002 can include: a first robot 10, a second robot 20, a wafer loading and unloading site 21, a calibration module 22, a cooling disc 23, a buffer module 24, a vacuum lock 25, and a plurality of process chambers 11.
[0107] Another embodiment of the present application also provides a computing device, as shown inFigure 4 As shown, one of the example embodiments of the present specification also provides a computing device, comprising: a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the steps in the scheduling method according to various embodiments of the present specification described in the above embodiments of the present specification.
[0108] The internal structure of the computing device can be as shown in Figure 4 As shown, the computing device comprises 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 comprises 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 operating system and the computer program in the non-volatile storage medium to run. The network interface of the computing device is used to communicate with the external terminal through the network connection. The computer program is executed by the processor to perform the steps in the scheduling method according to various embodiments of the present application described in the above embodiments of the present specification.
[0109] The processor can include a main processor, and can also include a baseband chip, a modem, etc.
[0110] The memory stores programs for executing the technical solutions of the present application, and can also store operating systems and other key services. Specifically, the program can include program code, and the program code includes computer operation instructions. More specifically, the memory can include read-only memory (ROM), other types of static storage devices that can store static information and instructions, random access memory (RAM), other types of dynamic storage devices that can store information and instructions, disk storage, flash, etc.
[0111] The processor can 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 programs of the present application. It can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a ready-to-use programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component.
[0112] The input device can include devices that receive data and information input by the 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, etc.
[0113] The output device can include a device that allows output of information to a user, such as a display screen, a printer, a speaker, etc.
[0114] The communication interface can include a device using any transceiver to communicate with other devices or communication networks, such as an Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc.
[0115] The processor executes the program stored in the memory and invokes other devices, which can be used to implement each step of any one of the scheduling methods provided by the embodiments of the present application.
[0116] The computing device can also include a display component and a voice component, the display component can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computing device can be a touch layer overlaid on the display component, or can be a key, a trackball or a touchpad arranged on the housing of the computing device, or can be an external keyboard, a touchpad or a mouse, etc.
[0117] Those skilled in the art can understand that, Figure 4 The structure shown in the figure is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the computing device to which the scheme of the present application is applied. The specific computing device can include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0118] Exemplary computer program product and storage medium
[0119] In addition to the above method and device, the scheduling method provided by the embodiments of the present application can also be a computer program product, which includes computer program instructions, and the computer program instructions make the processor execute the steps in the scheduling method according to various embodiments of the present application described in the above "Exemplary Method" part of the specification when the processor runs.
[0120] The above computer program product can be specifically implemented by hardware, software or a combination thereof. In one optional embodiment, the computer program product is specifically embodied as a computer storage medium, and in another optional embodiment, the computer program product is specifically embodied as a software product, such as a software development kit (SDK) and the like.
[0121] The computer program product can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device or entirely on the remote computing device or server. The embodiments of the present disclosure can be a method, an apparatus, system, and computer program product.
[0122] The computer program product can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device or entirely on the remote computing device or server. The embodiments of the present disclosure can be a method, an apparatus, system, and computer program product.
[0123] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer readable storage medium, and when executed, can include the processes of the above-mentioned embodiments. Any reference to memory, storage, databases, or other media in this specification shall 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 but not limitation, RAM is available in many forms such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), Rambus DRAM (RDRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM), etc.
[0124] The technical features of the above embodiments can be combined in any manner. To make the description concise, not all possible combinations of the technical features in the above embodiments are described, but as long as the combinations of the technical features do not contradict, they should be considered within the scope of the present disclosure.
[0125] The above embodiments only express several implementation manners of the present specification, which are described in a more specific and detailed manner, but cannot be understood as a limitation on the scope of the solutions provided by the embodiments of the present specification. It should be noted that, for those skilled in the art, without departing from the concept of the present specification, a number of modifications and improvements can be made, which all belong to the protection scope of the present specification. Therefore, the protection scope of the patent of the present specification should be subject to the appended claims.
Claims
1. A scheduling method, characterized in that, The method is applied to semiconductor process equipment, the semiconductor process equipment being configured with at least one process chamber; the method includes: Acquire available process chamber resources; the available process chamber resources include pre-released process chambers; the process of acquiring the pre-released process chambers includes: if the last wafer of the current production task is detected to be delivered, the process chamber occupied by the current production task is released to obtain the pre-released process chamber; Based on the process path of the target process task in the production tasks to be assigned and the available process chamber resources, resources are allocated for the target process task. Based on the target process task for which resources are allocated, a corresponding scheduling sequence is generated; the scheduling sequence is used to schedule the wafer and the allocated chamber resources.
2. The method according to claim 1, characterized in that, The process of obtaining the pre-release process chamber also includes: If multiple parallel process chambers are detected to be occupied, and the number of parallel process chambers used by the wafers participating in the scheduling of the current process task is less than the number of the multiple parallel process chambers, then the remaining process time of the multiple parallel process chambers is calculated respectively. The parallel process chambers used by the wafers participating in the scheduling are determined according to the remaining process time from shortest to longest, and the resources of the remaining parallel process chambers are released to obtain the pre-released process chambers.
3. The method according to claim 1, characterized in that, Before allocating resources for the target process task based on the process path of the target process task in the production tasks to be allocated and the available process chamber resources, the method further includes: If a production task is received, each process task in the received production task will be added to the task queue in the order of receipt.
4. The method according to claim 3, characterized in that, The allocation of resources for the process task based on the process path of the target process task in the production task to be allocated and the available process chamber resources includes: According to the order of addition, the process tasks are retrieved sequentially from the task queue, and the retrieved process tasks are determined as the target process tasks. Based on the process path of the target process task in the production tasks to be assigned and the available process chamber resources, resources are allocated for the target process task.
5. The method according to any one of claims 1-4, characterized in that, The number of the target process tasks includes multiple; The allocation of resources for the target process task based on the process path of the target process task in the production tasks to be allocated and the available process chamber resources includes: Based on available process chamber resources, the target process task is allocated resources using the process path of the target process task in the production task to be allocated, and then the available process chamber resources are occupied by the production task to be allocated. Based on the occupied available process chamber resources, the remaining target process tasks in the production tasks to be allocated are allocated resources sequentially according to the corresponding process paths and retrieval order.
6. The method according to claim 1, characterized in that, Also includes: If it is detected that among the production tasks to be assigned, there is a process path whose resource usage method is the same as that of the corresponding process path in the pre-released process chamber resources, then based on the pre-released process chamber resources, the process tasks with the same resource usage method among the production tasks to be assigned can be allocated resources first.
7. The method according to claim 6, characterized in that, The resource utilization methods include process modes and process formulations; The resource usage method of the process path of the process task is the same as the resource usage method of the corresponding process path in the pre-release process chamber resources, including: the process mode and process formula of the process path of the process task are the same as the process mode and process formula of the corresponding process path in the pre-release process chamber resources.
8. The method according to claim 1, characterized in that, Also includes: If the available process chamber resources do not meet the resource allocation requirements of the current target process task, the allocation of the available process chamber resources will be suspended until the available process chamber resources meet the resource allocation requirements of the current target process task.
9. A scheduling device, characterized in that, include: A processor, and a memory connected to the processor; The memory is used to store computer programs; The processor is used to call and execute the computer program in the memory to perform the scheduling method as described in any one of claims 1-8.
10. A semiconductor process apparatus, characterized in that, It includes at least one process chamber and the scheduling device as described in claim 9.
Citation Information
Patent Citations
Scheduling method of silicon slice transmission course
CN101226870A
Production scheduling method and device, semiconductor processing equipment and storage medium
CN110895733A