Process task starting control method and semiconductor cleaning equipment

By optimizing the start-up sequence and timing of process tasks in semiconductor cleaning equipment, and utilizing the insertion method and cycle time optimization method, the problem of long-term idleness of process chambers was solved, thereby improving the overall utilization rate and capacity of the equipment.

CN120821248APending Publication Date: 2025-10-21BEIJING NAURA MICROELECTRONICS EQUIP CO LTD

Patent Information

Application Number
CN202510926830.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-04
Publication Date
2025-10-21

AI Technical Summary

Technical Problem

In existing technologies, semiconductor cleaning equipment suffers from a situation where the start-up sequence of process chambers strictly follows the issuance time, resulting in some process chambers being idle for extended periods, which reduces the overall utilization rate and production capacity.

Method used

By obtaining the list of started and pending process tasks, the insertion method is used to determine whether there is a conflict between the pending and started tasks, and the non-conflicting tasks are started first. Combined with the cycle time optimization method, the residence time of the process chamber is adjusted to avoid over-bubbling and make reasonable use of the residence time of the process chamber.

Benefits of technology

This improved the overall utilization rate of semiconductor cleaning equipment, increased production capacity, and prevented the process chambers from being idle for extended periods. By making reasonable use of the residence time in the process chambers, the operating efficiency of the equipment was improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120821248A_ABST
    Figure CN120821248A_ABST
Patent Text Reader

Abstract

The invention discloses a process task starting control method and semiconductor cleaning equipment. The method comprises the steps that a started process task list and a to-be-started process task list are obtained, the started process task list comprises started process tasks which are started and still executed in a process area, and the to-be-started process task list comprises at least one to-be-started process task to be started; determining a to-be-started process task, which has no conflict with each started process task, in the to-be-started process task list as a target to-be-started process task according to the occupied time intervals of a manipulator and each process module in the process area; determining target starting time of the target to-be-started process task; and starting the target to-be-started process task according to the target starting time. According to the invention, some process chambers of the semiconductor cleaning equipment are prevented from being idle for a long time, so that the overall utilization rate of the semiconductor cleaning equipment is improved, and the productivity is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of semiconductor technology, and in particular relates to a method for starting and controlling a process task and semiconductor cleaning equipment. Background Art

[0002] Semiconductor cleaning equipment is an important cleaning equipment in the semiconductor field. Figure 1 As shown, the process area of ​​the semiconductor cleaning equipment includes multiple process modules: 7 process chambers (Processing Module, referred to as PM) 11 (corresponding to Figure 1 PM1~PM7 in), cleaning tank (Endoscope Washer-Disinfector, referred to as EWD) 12 and drying module (Dry) 13.

[0003] In the related art, the scheduling scheme for semiconductor cleaning equipment is as follows: a single Processing Transfer Robot (PTR) 14 is used to dispatch materials from the process area. To-be-started processes (jobs), also known as new jobs, are added to a list of pending jobs in ascending order of dispatch time: NewJobs = [Job1, Job2, Job3, …, Jobn]. Each recalculation selects the first job in the NewJobs list (Job1) and combines it with the already-started jobs for move sequence planning. The order in which new jobs are started (i.e., the order in which they enter the process area) is used as the dispatch order. The new job's start time is determined and the new job is started based on this dispatch order. In this scheme, the strict dispatch order of new job startups can easily cause certain process chambers in the semiconductor cleaning equipment to remain idle for extended periods of time, resulting in low overall utilization and reduced production capacity. Summary of the Invention

[0004] The purpose of the embodiments of the present application is to provide a method for starting and controlling a process task and a semiconductor cleaning device, so as to solve the problem in the related art that certain process chambers of the semiconductor cleaning device are easily idle for a long time, thereby resulting in low overall utilization of the semiconductor cleaning device and reduced production capacity.

[0005] To achieve the above objectives, the present invention adopts the following technical solutions: In the first aspect, an embodiment of the present application provides a method for controlling the start of a process task, the method comprising: obtaining a list of started process tasks and a list of process tasks to be started, the list of started process tasks including started process tasks that have been started and are still being executed in the process area, and the list of process tasks to be started including at least one process task to be started; according to the time intervals occupied by the manipulators and the process modules in the process area, determining the process tasks to be started in the list of process tasks to be started that have no conflict with the started process tasks as target process tasks to be started; determining a target start time for the target process task to be started; and starting the target process task to be started according to the target start time.

[0006] In a second aspect, an embodiment of the present application provides a semiconductor cleaning device, comprising: a controller, a manipulator, and multiple process modules, wherein the controller comprises at least one processor and at least one memory, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the steps of the method described in the first aspect are implemented.

[0007] At least one of the above technical solutions adopted in the embodiments of the present application can achieve the following beneficial effects: When determining the start order of the process tasks to be started (i.e., new jobs), the embodiment of the present application determines whether each new job in the new job list has no conflicts with each already started job based on the time intervals during which the manipulators and process modules in the process area are occupied, and determines the new jobs in the new job list that have no conflicts as the target new jobs to be started first. Compared with the related art in which the start order of new jobs strictly follows the order of issuance, the embodiment of the present application uses the interpolation method to detect whether each new job interferes with the already started job based on the current state of the semiconductor cleaning equipment, and gives priority to starting new jobs that do not interfere, thereby avoiding the long-term idleness of certain process chambers of the semiconductor cleaning equipment, thereby improving the overall utilization rate of the semiconductor cleaning equipment and further increasing production capacity. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings: Figure 1 This is a schematic diagram of the structure of the process area of ​​a typical semiconductor cleaning equipment; Figure 2 A schematic structural diagram of a semiconductor cleaning device provided in accordance with an embodiment of the present application; Figure 3 A schematic flow chart of a method for controlling the startup of a process task provided in one embodiment of the present application; Figure 4 A schematic diagram of an application scenario of a method for controlling the startup of a process task provided in one embodiment of the present application; Figure 5 A schematic diagram of process module conflict determination provided in one embodiment of the present application; Figure 6 A schematic diagram of determining the start time of a target new job provided in one embodiment of the present application; Figure 7 A schematic diagram of the overall flow of a method for controlling the startup of a process task provided in another embodiment of the present application; Figure 8 A schematic diagram of determining the start time of a target new job provided in another embodiment of the present application; Figure 9 A flowchart of determining a target new job is provided for one embodiment of the present application. DETAILED DESCRIPTION

[0009] To make the purpose, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the specific embodiments of this application and the corresponding drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0010] The terms "first", "second", etc. in this application are used to distinguish similar objects and are not used to describe a specific order or precedence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances so that the embodiments of the present application can be implemented in an order other than those illustrated or described here. In addition, "and / or" in this application represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship. It should be noted that the data involved in this application are all obtained under the premise of obtaining user authorization.

[0011] Semiconductor cleaning equipment is an important cleaning equipment in the semiconductor field. Figure 2 As shown, the semiconductor cleaning equipment generally includes: multiple sets of external loading ports (LoadPort, referred to as LP) 21 (corresponding to Figure 2 LP1~LP4 in the wafer box), wafer box temporary storage area (Stocker) 22, multi-degree-of-freedom transfer robot (Freedom Transfer Robot, referred to as FTR) 23, buffer robot (Buffer Robot, referred to as BFR) 24, double-station pre-scan module (Opener) 25 (corresponding to Figure 2Opener1, Opener2), Wafer Transfer Robot (WHR) 26, High Vaccum (HV) Robot 27, Wafer Pusher 28, Wafer Alignment Platform (Aligner) 29, Process Transfer Robot (PTR) 14, Multiple Process Chambers (PM) 11 (corresponding to Figure 2 PM1~PM7 in), cleaning tank (EWD) 12 and drying module (Dry) 13.

[0012] in, Figure 2 The structure and function of each module in the semiconductor cleaning equipment shown can be as follows: 1) Loading Port (LP) 21 Four symmetrically designed load ports (LPs) 21 are each capable of handling a single standard FOUP. They primarily handle the initial positioning of external FOUPs into the FOUP stocker 22. Each LP 21 has equivalent energy levels.

[0013] 2) Wafer box temporary storage area (Stocker) 22 Configure an array of buffer units {Buffer k} (k = 1, 2, ..., n), with a single storage location capable of holding one FOUP, for a total buffer size of n. This area serves as both the initial node for executing process instructions on the wafer cassette and the final storage space for returning materials after the process is complete.

[0014] 3) Dual-station pre-scan module (Opener) 25 Opener1: As the verification node of the material input channel, it performs FOUP access control and wafer mapping inspection to ensure that there is no residual material and the wafer arrangement meets the process specifications.

[0015] Opener2: Performs secondary verification during the process startup phase, confirming through 3D scanning that the wafer status meets the processing conditions.

[0016] 4) Multi-degree-of-freedom transfer manipulator (FTR) 23 Responsible for completing the wafer box transfer between LP21→Stocker22→Opener25, and capable of handing over materials with the buffer robot (BFR) 24.

[0017] 5) Cache Robot (BFR) 24 The maximum load capacity is 1 FOUP, and it mainly undertakes the transfer and transmission tasks between Opener2 and the multi-degree-of-freedom transfer robot (FTR) 23 to realize the relay control of material flow.

[0018] 6) Wafer transfer robot (WHR) 26 It is a bidirectional transmission device with a maximum single-time carrying capacity of 25 wafers. It builds a wafer transportation channel between Opener2 and vacuum (HV) robot 27. The transmission direction is controlled by the process timing.

[0019] 7) Vacuum (HV) manipulator 27 It is a high-cleanliness transmission device with a maximum carrying capacity of 25 wafers. It establishes a wafer conveying link between the wafer transfer robot (WHR) 26 and the wafer pusher (Pusher) 28, and the transmission path has a directional exclusive characteristic.

[0020] 8) Wafer pusher (Pusher) 28 It can hold up to two groups of 50 wafers at a time, serving as a wafer temporary storage hub at the entrance to the process area, responsible for pushing wafer batches to the processing area.

[0021] 9) Wafer calibration platform (Aligner) 29 Up to two groups of 50 wafers can be placed at a time, and wafer geometric positioning and orientation calibration are performed to ensure that the wafers entering the process area meet the spatial positioning accuracy requirements.

[0022] 10) Process Transfer Robot (PTR) 14 For a large-capacity transmission system (maximum load of 50 wafers), a two-way transmission channel is built between the wafer pusher (Pusher) 28 and the first process chamber PM1, and the equipment cleaning function is also provided.

[0023] 11) Processing area The system consists of a series of process chambers {PMi} (i = 1, 2, ..., n). Each PMi chamber is an acid and / or water tank. The first process step is the EWD (Exhaust Detection and Washing) tank 12, which performs both cleaning of the process transfer robot (PTR) 14 and wafer pretreatment. All wafers must complete pretreatment in the EWD 12 before entering the core process. After completing the process, all wafers are dried in the Drying Module (Dry) 13.

[0024] in, Figure 2 The wafer transfer process in the semiconductor cleaning equipment shown can be as follows: 1) After the external load port (LP) 21 receives the wafer cassette, the FTR 23 positions the cassette in the scanning module Opener 1 for verification. Once verification is successful, the FTR 23 transfers the cassette to a designated buffer in the wafer cassette stocker 22.

[0025] After the wafer box enters the machine process, the job process begins.

[0026] 2) The multi-degree-of-freedom transfer robot (FTR) 23 transfers the FOUP in the wafer box temporary storage area (Stocker) 22 to the scanning module Opener2 according to the process instructions and performs the door opening operation.

[0027] 3) The wafer transfer robot (WHR) 26 transfers the wafer group (maximum 25 pieces) in the FOUP in the scanning module Opener2 to the temporary storage platform of the wafer pusher (Pusher) 28 through the vacuum (HV) robot 27.

[0028] 4) After the wafer transfer robot (WHR) 26 completes the extraction of wafers from the FOUP in the scanning module Opener2, the multi-degree-of-freedom transfer robot (FTR) 23 returns the empty wafer cassette to its original cache position in the wafer cassette temporary storage area (Stocker) 22.

[0029] 5) The process transfer robot (PTR) 14 transports the wafer group to the process chamber (PM) 11 according to the preset process route (Route Recipe), and the first station is the cleaning tank (EWD) 12 to complete the pretreatment.

[0030] 6) The process transfer robot (PTR) 14 transfers the processed wafer group to the drying module (Dry) 13 to perform the wafer drying process.

[0031] 7) After the process cycle is completed, the multi-degree-of-freedom transfer robot (FTR) 23 extracts the empty wafer box from the wafer box temporary storage area (Stocker) 22 to the scanning module Opener2 and performs the door opening operation.

[0032] 8) The process transfer robot (PTR) 14 transfers the wafer from the process area to the wafer pusher 28.

[0033] 9) The vacuum (HV) robot 27 rotates to the wafer pusher 28 and transfers the wafer from the wafer pusher 28 to the wafer transfer robot (WHR) 26 .

[0034] 10) After the wafer transfer robot (WHR) 26 completes the precise positioning of the wafer group, it closes the wafer box door.

[0035] 11) The FTR 23 returns the wafer cassette containing the finished wafers to its original buffer position in the wafer cassette stocker 22 .

[0036] 12) Finally, the multi-degree-of-freedom transfer robot (FTR) 23 performs the outbound operation, transferring the finished wafer box to the external load port (LP) 21 to complete the outbound process.

[0037] The following describes in detail the technical solutions provided by various embodiments of the present application in conjunction with the accompanying drawings.

[0038] Figure 3 A flowchart of a method for controlling the start-up of a process task is provided in accordance with an embodiment of the present application. Figure 3 As shown, the startup control method of the process task in the embodiment of the present application may specifically include the following steps: S301, obtaining a list of started process tasks and a list of to-be-started process tasks, wherein the list of started process tasks includes started process tasks that are still being executed in the process area, and the list of to-be-started process tasks includes at least one to-be-started process task.

[0039] In an embodiment of the present application, the execution entity of the startup control method of the process task of the embodiment of the present application is a controller in a semiconductor cleaning device (such as a tank-type semiconductor cleaning device), and the controller can be set in the host computer and / or the slave computer of the semiconductor cleaning device.

[0040] The overall algorithm architecture used in the embodiment of this application is as follows Figure 4 As shown, the machine is divided into a transfer area (named module A) and a process area (named module B), and Move planning is performed for modules A and B separately. Module A includes the Job In process (material storage area → FTR robot → scanning module → WHR arm → wafer transfer area) for transferring materials from the material storage area (corresponding to the loading port (LP) 21) to the wafer transfer area (corresponding to the wafer pusher (Pusher) 28 temporary storage platform) and the Job Out process (wafer transfer area → WHR arm → scanning module → FTR arm → material storage area) for transferring materials from the wafer transfer area to the material storage area. The transfer and processing process in module B that transfers materials from the wafer transfer area to the process area and then back to the wafer transfer area is called the Job Mid process (wafer transfer area → wafer pre-storage area → processing area → wafer transfer area). The start-up control method for the process task in the embodiment of the present application belongs to the scheduling method for the process task (job) of module B.

[0041] The time interval between a wafer's completion of processing in a process module and its removal by the robot is called its dwell time. Each process module has an upper limit for this dwell time. If the dwell time exceeds this upper limit, it is considered over-bubbling. The algorithm's final move plan does not allow for over-bubbling. Process modules such as PM1-PM7 are referred to as either acid tanks or water tanks, depending on the type of liquid they hold. The permitted dwell times for acid tanks and water tanks are different, with acid tanks having a shorter permitted dwell time and water tanks having a longer permitted dwell time.

[0042] The purpose of each recalculation is to select a pending job (i.e., a new job) to start and determine the specific start time for the new job and the start and end times of all moves in the process area. Initialization information must first be obtained, including the list of already started jobs (Jobs) and the list of new jobs (NewJobs): NewJobs = [Job1, Job2, Job3, …, Jobn]. The list of already started jobs (Jobs) includes jobs that have already started and are still executing in the process area. The pending jobs in the list of new jobs (NewJobs) can be sorted in ascending order by their issuance time, with the first job in NewJobs having the earliest issuance time.

[0043] S302 , according to the time intervals in which the manipulators and process modules in the process area are occupied, determining the to-be-started process tasks in the to-be-started process task list that do not conflict with the already started process tasks as target to-be-started process tasks.

[0044] In the embodiments of this application, for example Figure 2 In the embodiment, the robot in the process area is a process transfer robot (PTR) 14 , and the process modules in the process area include at least one of the following modules: a process chamber (PM) 11 , an exhaust trough (EWD) 12 , and a drying module (Dry) 13 .

[0045] Based on the Move plan for each activated job (i.e., the plan from the last recalculation; each new job requires a recalculation by the algorithm, with the last recalculation referring to the recalculation for the last new job), the set of time intervals currently and in the future occupied by each activated job for the robot and each process module in the process area is determined. Based on the Move plan for each new job, the set of time intervals currently and in the future occupied by each new job for the robot and each process module in the process area is determined.

[0046] Based on the set of time intervals currently and in the future occupied by each started job of the robot and each process module in the process area, and the set of time intervals currently and in the future occupied by each new job, the insertion logic is used to determine whether there is a conflict between each new job and each started process task, and the new job without conflict is determined as the target job to be started (i.e., the target new job). The target new job is the next new job to be started, that is, the first new job to be started.

[0047] Furthermore, this step can be specifically implemented through the following steps: obtaining the first time interval occupied by the robot arm and each process module by each started process task and the second time interval occupied by the candidate process task to be started, where the candidate process task to be started is any process task to be started in the list of process tasks to be started; if the first time interval and the second time interval have no intersection, the candidate process task to be started is determined as the target process task to be started.

[0048] Specifically, conflict detection is divided into process module dimension conflict detection method and process transfer robot (PTR) dimension conflict detection method.

[0049] Process module dimension conflict detection method: For each process module i in the process path of new job j, job j needs to occupy a continuous time interval (i.e., the second time interval) of process module i to complete the process. Other started jobs may also occupy one or more continuous time intervals (i.e., the first time interval) of process module i. If the time intervals occupied by new job j and other jobs for process module i do not overlap (i.e., no intersection), there is no conflict. If the time intervals occupied by new job j and other jobs for process module i overlap (i.e., there is an intersection), there is a conflict.

[0050] For example: Figure 5 As shown, the first time interval occupied by the started job in process module i is [t1, t2] and [t3, t4]. The current idle time period of process module i is [0, t1] ∪ [t2, t3] ∪ [t4, ∞]. Assume that the time when the new job j arrives at process module i is t, and the process duration is p. If any of the following three conditions are met, then the new job j does not conflict with the started job in process module i: 1) t + p<t1;2) t> t2 and t + p<t3;3) t> t4.

[0051] Process transfer robot (PTR) dimensional conflict detection method: The movement of wafers between process modules is completed by the PTR, so the started job will occupy multiple time intervals of the PTR (i.e., the first time interval). The process path of the new jobj generally includes multiple process modules, so the new jobj will also occupy multiple time intervals of the PTR (i.e., the second time interval). Only when all second time intervals have no intersection with the originally planned interval (i.e., the first time interval) is it considered to be conflict-free.

[0052] It should be noted here that if there are multiple non-conflicting jobs to be started in the job list, the job with the highest non-conflicting order will be determined as the target job to be started, that is, the job with the smallest label j in the job list will be determined as the target job to be started.

[0053] In practice, you can traverse the jobs in NewJobs and perform a conflict check for any jobj based on the two dimensions described above. If new jobj does not conflict with other already started jobs in either the process module or PTR dimensions, then jobj is selected as the first new job to be started (i.e., the target new job), and the loop ends. If new jobj conflicts with other already started jobs in either the process module or PTR dimensions, then traversing other jobs in NewJobs continues until a non-conflicting jobk is found (in which case, jobk is selected as the first new job to be started), or until all jobs in NewJobs are traversed but no non-conflicting job is found (in which case, the first job in NewJobs is selected as the first new job to be started). Traversing NewJobs can be done sequentially in order of arrangement or by randomly selecting jobs.

[0054] Among them, when the list of started jobs is empty (that is, there is no started job in the process area), the above conflict detection is not required, and the first job in NewJobs is directly selected as the first new job to be started.

[0055] S303: Determine the target start time of the target process task to be started.

[0056] In the embodiment of the present application, a variety of methods can be used to determine the target start time of the target new job.

[0057] As a first feasible implementation method: according to the status of the PTR robot and the process chamber, determine the earliest available time t as the first alternative start time of the target new job. The target new job and the remaining Moves of the started job are planned according to the rule of taking them as early as possible (the priority of different process chambers must be strictly followed during the planning process, for example, the priority of the acid tank must be higher than that of the water tank). If all Moves can be successfully planned, t is used as the final start time of the target new job; if the residence time constraint (that is, the residence time is greater than 0) is violated during the planning process (that is, there is an over-bubble phenomenon), the value of t is increased according to the over-bubble duration, and the time for the target new job to enter (In) the process area is postponed, and then the above planning process is repeated until a t without over-bubble is found, and t is used as the final start time of the target new job. Figure 6 As shown in FIG, if over-bubbling occurs in PM2 or Dry, the time for the NewJob to enter (In) the process area is delayed through the Wafer Transfer System (WTS).

[0058] As a second feasible implementation, based on the status of the PTR robot and process chambers, the earliest available time t is determined as the first candidate start time for the target new job. The remaining moves of the target new job and already started jobs are planned according to the earliest possible start time rule (the planning process strictly adheres to the priorities of different process chambers, for example, the acid tank has a higher priority than the water tank). If all moves can be successfully planned, t is used as the final start time for the target new job. If the dwell time constraint (i.e., the dwell time is greater than 0) is violated during the planning process (i.e., there is overbubbling), the move sequence is internally adjusted using the dwell time of the water tank, using a beat optimization method. Only when internal adjustments cannot completely prevent overbubbling is the new job's start time postponed (postponing the new job's start time can prevent overbubbling because as the new job's start time is delayed, the number of already started jobs in the process area decreases. If the new job starts too late, all already started jobs will have already left the machine, leaving the machine idle and allowing the new job to enter the process area). This process continues until a suitable start time is found.

[0059] The first feasible implementation method mentioned above immediately delays the start time of the target new job if a residence constraint violation (i.e., overbubbling) is encountered. This fails to properly utilize the process chamber's permitted residence time, resulting in a late start time for the target new job and, in turn, low machine production capacity (even causing new jobs to enter and exit the process area in groups). Compared to the first feasible implementation method, the second feasible implementation method utilizes the water tank's residence time to internally adjust the Move sequence when a residence constraint violation (i.e., overbubbling) is encountered. This effectively utilizes the permitted residence time of the process chamber (primarily the water tank) and shifts as much acid tank overbubbling time as possible to the water tank, thereby advancing the start time of the target new job and improving machine production capacity.

[0060] Corresponding to the second feasible implementation method mentioned above, this step S303 "determine the target start time of the target process task to be started" may specifically include the following steps: initialize the start time of the target process task to be started as the earliest available time of the robot; plan the movement action sequence of all unfinished movement actions of the target process task to be started and each started process task in chronological order; if there is no situation in the planning process where the residence time in the process module exceeds the preset allowable residence time, the current start time is determined as the target start time.

[0061] Specifically, if there is no over-bubble phenomenon during the planning process, the current start time of the target new job is determined as the target start time.

[0062] Furthermore, this step S303 "determine the target start time of the target process task to be started" can also include the following steps: if there is a situation in the planning process where the residence time exceeds the allowed residence time, the time for the corresponding process task to leave the preceding water tank is delayed according to the time exceeding the allowed residence time, and all unfinished movement actions of the target process task to be started and each started process task are returned, and the movement action sequence planning step is performed in chronological order.

[0063] Specifically, if there is a bubble phenomenon during the planning process, the beat optimization method is adopted to utilize the sink's residence time. By delaying the time when the bubbled job leaves the previous sink, the internal adjustment of the Move sequence is achieved, and the Move sequence planning step is returned to re-plan the Move sequence.

[0064] Furthermore, this step S303 "determine the target start time of the target process task to be started" can also include the following steps: if there is no predecessor sink for the corresponding process task, the start time is delayed according to the time exceeding the allowed residence time, and all unfinished movement actions of the target process task to be started and each started process task are returned, and the movement action sequence planning step is performed in chronological order.

[0065] Specifically, if over-bubbling occurs during the planning process and there is no preceding sink in the process path of the job that delays over-bubbling, it means that over-bubbling cannot be avoided through internal adjustments of the Move sequence. The start time of the target new job needs to be delayed, and the Move sequence planning step needs to be returned to for re-planning the Move sequence.

[0066] S304: Start the target process task to be started according to the target start time.

[0067] To clearly illustrate the startup control method of the process task of the embodiment of the present application, the following is combined with Figure 7 The overall process of the startup control method of the process task of the embodiment of the present application is described. Figure 7 As shown, the startup control method of the process task in the embodiment of the present application may specifically include the following steps: S701 , obtaining a started job list and a to-be-started job list, wherein the started job list includes started jobs that have been started and are still being executed in the process area, and the to-be-started job list includes at least one to-be-started job.

[0068] S702 , based on the time intervals when the manipulators and process modules in the process area are occupied, an insertion logic is used to determine a job in the job list that has no conflict with any started job as a target new job.

[0069] S703: Initialize the start time t of the target new job to the earliest available time of the robot.

[0070] S704: Plan the Move sequence of the target new job and all unfinished Moves of each started job in chronological order.

[0071] S705: Determine whether there is an over-bubble situation during the planning process.

[0072] If not, go to step S706. If yes, go to step S707.

[0073] S706: Determine the current start time t as the target start time of the target new job.

[0074] S707: Determine whether the job corresponding to the bubble has a preceding sink.

[0075] If yes, go to step S708. If no, go to step S709.

[0076] S708: Delay the time for the job corresponding to the bubble to leave the previous tank according to the bubble duration, and return to step S704.

[0077] S709: Delay the start time t of the target new job according to the over-bubble time, and return to step S704.

[0078] like Figure 8 As shown, if over-bubbling occurs in PM2 or Dry, the wafer transport system WTS will delay the time for the job corresponding to the over-bubble to leave the preceding water tank PM1 or PM3.

[0079] The specific process of determining the target new job in step S702 can be as follows: Figure 9 As shown, the specific steps include: S901, obtain the started job set Jobs and the to-be-started job set NewJobs in the process area.

[0080] S902, determine whether Jobs is an empty set.

[0081] If yes, go to step S903. If no, go to step S904.

[0082] S903: Select the first job in NewJobs as the target new job.

[0083] S904: Obtain the first time intervals currently and in the future occupied by the started jobs in the PTR and each process module.

[0084] S905, copy the set NewJobs and record it as the set NewJobTem.

[0085] S906: Determine whether NewJobTem is an empty set.

[0086] If yes, go to step S907. If no, go to step S908.

[0087] S907: Select the first job in NewJobs as the target new job.

[0088] S908, randomly select a Jobj from NewJobTem.

[0089] S909 , determining whether the second time interval currently and in the future occupied by Jobj of the PTR and each process module intersects with the first time interval.

[0090] If yes, go to step S910. If no, go to step S911.

[0091] S910: Delete Jobj from NewJobTem. Return to step S906.

[0092] S911, determine Jobj as the target new job.

[0093] In summary, the startup control method for process tasks of the embodiment of the present application, when determining the startup sequence of the process tasks to be started (i.e., new jobs), judges whether each new job in the new job list has no conflict with each started job based on the time intervals during which the manipulators and each process module in the process area are occupied, and determines the new jobs in the new job list that have no conflict as the target new jobs to be started first. Compared with the related art in which the startup sequence of new jobs strictly follows the issuance sequence, the embodiment of the present application uses the idea of ​​the interpolation method to detect whether each new job interferes with the started job based on the current state of the semiconductor cleaning equipment, and gives priority to starting new jobs that do not interfere, thereby avoiding long-term idleness of certain process chambers of the semiconductor cleaning equipment, thereby improving the overall utilization rate of the semiconductor cleaning equipment, and further increasing production capacity. When determining the startup time of the target new job, the startup control method for process tasks of the embodiment of the present application adopts a beat optimization method, uses the residence time of the water tank to make internal adjustments to the Move sequence planning, and delays the startup time of the target new job only when the internal adjustment cannot completely avoid the over-bubble phenomenon. Instead of immediately postponing the start time of the target new job once a residence constraint violation occurs (i.e., overbubbling), the allowed residence time of the process chamber (mainly the water tank) can be reasonably utilized to transfer the acid tank overbubbling time to the water tank as much as possible, thereby advancing the start time of the target new job and thus improving the machine production capacity.

[0094] The present application also provides a semiconductor cleaning device. Figure 2As shown, the semiconductor cleaning equipment includes: a controller ( Figure 2 Not shown), manipulator (including Figure 2 The multi-degree-of-freedom transfer robot (FTR) 23, buffer robot (BFR) 24, wafer transfer robot (WHR) 26, vacuum (HV) robot 27 and process transfer robot (PTR) 14) and multiple process modules (including Figure 2 The controller is provided in a host computer and / or a slave computer. The controller includes at least one processor and at least one memory. The memory stores a computer program. When the computer program is executed by the processor, the steps of the embodiment of the startup control method of any of the above-mentioned process tasks are implemented.

[0095] The semiconductor cleaning equipment of the embodiment of the present application, when determining the start order of the process tasks to be started (i.e., new jobs), judges whether each new job in the new job list has no conflict with each started job based on the time intervals during which the manipulators and each process module in the process area are occupied, and determines the new jobs in the new job list that have no conflict as the target new jobs to be started first. Compared with the related art in which the start order of new jobs strictly follows the issuance order, the embodiment of the present application uses the idea of ​​the interpolation method to detect whether each new job interferes with the started job based on the current state of the semiconductor cleaning equipment, and gives priority to starting new jobs that do not interfere, thereby avoiding long-term idleness of certain process chambers of the semiconductor cleaning equipment, thereby improving the overall utilization rate of the semiconductor cleaning equipment and further increasing production capacity. When determining the start time of the target new job, the start control method of the process task of the embodiment of the present application adopts a beat optimization method, uses the residence time of the water tank to make internal adjustments to the Move sequence planning, and delays the start time of the target new job only when the internal adjustment cannot completely avoid the over-bubble phenomenon. Instead of immediately postponing the start time of the target new job once a residence constraint violation occurs (i.e., overbubbling), the allowed residence time of the process chamber (mainly the water tank) can be reasonably utilized to transfer the acid tank overbubbling time to the water tank as much as possible, thereby advancing the start time of the target new job and thus improving the machine production capacity.

[0096] An embodiment of the present application also proposes a readable storage medium, on which one or more computer programs are stored. The one or more computer programs include instructions. When the program or instructions are executed by a processor in a semiconductor cleaning device that includes multiple application programs, the processor in the semiconductor cleaning device can execute the various processes of the embodiment of the startup control method for the above-mentioned process tasks, and is specifically used to execute the steps of the embodiment of the startup control method for any of the above-mentioned process tasks.

[0097] The readable storage medium of the embodiment of the present application, when determining the start order of the process tasks to be started (i.e., new jobs), determines whether each new job in the new job list has no conflict with each started job based on the time intervals during which the manipulators and each process module in the process area are occupied, and determines the new jobs in the new job list that have no conflict as the target new jobs to be started first. Compared with the related art in which the start order of new jobs strictly follows the issuance order, the embodiment of the present application uses the idea of ​​the interpolation method to detect whether each new job interferes with the started job based on the current state of the semiconductor cleaning equipment, and gives priority to starting new jobs that do not interfere, thereby avoiding long-term idleness of certain process chambers of the semiconductor cleaning equipment, thereby improving the overall utilization rate of the semiconductor cleaning equipment and further increasing production capacity. When determining the start time of the target new job, the start control method of the process task of the embodiment of the present application adopts a beat optimization method, uses the residence time of the water tank to make internal adjustments to the Move sequence planning, and delays the start time of the target new job only when the internal adjustment cannot completely avoid the over-bubble phenomenon. Instead of immediately postponing the start time of the target new job once a residence constraint violation occurs (i.e., overbubbling), the allowed residence time of the process chamber (mainly the water tank) can be reasonably utilized to transfer the acid tank overbubbling time to the water tank as much as possible, thereby advancing the start time of the target new job and thus improving the machine production capacity.

[0098] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0099] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing this application, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0100] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0101] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0102] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0103] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of action steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0104] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0105] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0106] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can be implemented using any method or technology for information storage. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change RAM (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media such as modulated data signals and carrier waves.

[0107] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0108] The present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0109] The various embodiments in this specification are described in a progressive manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiments are generally similar to the method embodiments, so the description is relatively simple. For relevant parts, refer to the description of the method embodiments.

[0110] The above are merely embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. A method for starting a process task, characterized in that: include: Obtaining a list of started process tasks and a list of to-be-started process tasks, wherein the list of started process tasks includes started process tasks that have been started and are still being executed in the process area, and the list of to-be-started process tasks includes at least one to-be-started process task; According to the time intervals in which the manipulators and the process modules in the process area are occupied, the to-be-started process tasks in the to-be-started process task list that do not conflict with the already started process tasks are determined as target to-be-started process tasks; Determine the target start time of the target process task to be started; The target process task to be started is started according to the target start time.

2. The method according to claim 1, characterized in that The step of determining, based on the time intervals during which the manipulators and the process modules in the process area are occupied, a to-be-started process task in the to-be-started process task list that has no conflict with any of the already started process tasks as a target to-be-started process task comprises: Obtaining a first time interval occupied by each of the started process tasks and a second time interval occupied by a candidate process task to be started for the manipulator and each process module, wherein the candidate process task to be started is any process task to be started in the list of process tasks to be started; If the first time interval and the second time interval have no intersection, the candidate process task to be started is determined as the target process task to be started.

3. The method according to claim 1, characterized in that The step of determining the to-be-started process task in the to-be-started process task list that does not conflict with each of the started process tasks as the target to-be-started process task comprises: If there are multiple non-conflicting process tasks to be started in the list of process tasks to be started, the non-conflicting process task to be started that is ranked highest is determined as the target process task to be started.

4. The method according to claim 1, wherein The process tasks to be started in the list of process tasks to be started are arranged in ascending order according to the time of issuance.

5. The method according to claim 1, wherein Determining the target start time of the target process task to be started includes: Initialize the start time of the target process task to be started to the earliest available time of the manipulator; Planning a movement sequence for all unfinished movement actions of the target process task to be started and each of the started process tasks in chronological order; If, during the planning process, there is no situation where the residence time in the process module exceeds the preset allowable residence time, the current startup time is determined as the target startup time.

6. The method according to claim 5, characterized in that The determining of the target start time of the target process task to be started also includes: If the residence time exceeds the allowed residence time during the planning process, the time for the corresponding process task to leave the preceding water tank will be delayed according to the time exceeding the allowed residence time, and all unfinished movement actions of the target process task to be started and each of the started process tasks will be returned to perform the movement action sequence planning step in chronological order.

7. The method according to claim 6, characterized in that The determining of the target start time of the target process task to be started also includes: If there is no preceding water tank for the corresponding process task, the start time is delayed according to the time exceeding the allowed residence time, and all unfinished movement actions of the target process task to be started and each of the started process tasks are returned to perform the movement action sequence planning step in chronological order.

8. The method according to claim 1, characterized in that The process module includes at least one of the following modules: Process chambers, cleaning tanks and drying modules.

9. The method according to claim 8, characterized in that The process chamber includes an acid tank and / or a water tank.

10. A semiconductor cleaning device, characterized in that: include: A controller, a robot and multiple process modules, wherein the controller includes at least one processor and at least one memory, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 9 are implemented.

Citation Information

Patent Citations

  • Task scheduling method and semiconductor process equipment

    CN114462781A

  • Scheduling method, scheduling equipment and semiconductor process equipment

    CN119400730A

  • Visual identification algorithm container dynamic scheduling method, system, equipment and medium

    CN120107759A

  • Method and apparatus for starting process task in semiconductor process device

    WO2022033292A1

Cited By

  • Cleaning equipment scheduling method and device based on safety tank residence

    CN121075968A

  • A cleaning device scheduling method and device based on security slot residence

    CN121075968B