A material scheduling method and a semiconductor process apparatus
By identifying and adjusting the material selection method in the local optimum algorithm, materials that have not yet been processed and materials that need to be returned to the wafer cassette are treated as high-priority materials, which solves the problem of material transfer congestion in semiconductor process equipment and achieves a balance between the material scheduling order requirements of multiple tasks and the existing computing performance.
Patent Information
- Application Number
- CN202210403425.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-18
- Publication Date
- 2026-01-13
- Estimated Expiration
- 2042-04-18
AI Technical Summary
In existing semiconductor process equipment, when material transfer scheduling is based on local optimum algorithms, it is unable to effectively handle situations where materials for consecutive tasks appear simultaneously in the equipment chamber module, resulting in material congestion and untimely occupancy of loading and unloading ports, which affects the process flow sequence requirements.
In the local optimum algorithm, materials that have not been processed and materials that need to be returned to the wafer cassette are identified and added to the high-priority material temporary storage list. When non-exchangeable materials exist, they are treated as high-priority materials. The material selection method is adjusted to ensure the scheduling order and avoid TimeCost comparison from increasing the balance condition.
It effectively solves the problem of material transfer delays, ensures the material transfer sequence requirements between multiple tasks, and maintains good calculation results under the existing TimeCost comparison conditions.
Smart Images

Figure CN114927430B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of semiconductor manufacturing technology, and in particular to a material scheduling method and a semiconductor process equipment. Background Technology
[0002] In the field of integrated circuit manufacturing, a typical equipment structure integrates multiple process modules on a large transmission platform. The material transport paths are diverse and complex, requiring the equipment to effectively schedule material transport according to the application scenario to ensure the accuracy of the processing. Existing semiconductor process equipment uses local optimum algorithms to calculate material / wafer transport sequences, with the corresponding search depth remaining largely fixed without significant adjustments, to accommodate various transport paths during equipment operation.
[0003] The equipment allows multiple process tasks to be started simultaneously, with tasks queuing for execution. Typically, in mass production equipment, tasks are queued using a pipeline model. This can lead to scenarios where materials from consecutive tasks are present within the equipment's chamber modules at the same time. In such cases, the equipment needs to include related materials from both tasks in a joint material transfer sequence calculation. Based on a local optimum algorithm, and within a specified search depth, the equipment selects high-priority materials for movement based on user-edited transfer paths, process formulas, and material quantities, employing certain rules to calculate the current transfer sequence for movable materials. This material transfer sequence calculation method addresses both the accuracy requirements of the process flow and ensures sufficient equipment capacity.
[0004] The most typical characteristic of local optimum algorithms is recursive search and computation within a finite search depth. Starting from a specified search depth, high-priority materials are selected at each depth, and multiple branches are calculated for each selected material. Each branch is decremented to 0, and when searchDepth = 0, the time cost required for the distribution of tools and materials in the current branch is compared. The branch with the shortest time cost is the optimal branch. The search depth of each branch is decremented to 0, and then the process is recursively repeated upwards to other branches until all branches at each search depth have been recursively processed, returning to the top branch, thus selecting the optimal branch overall.
[0005] In practice, based on a specified search depth, a specific material distribution will repeatedly occur during the TimeCost comparison process, and each time the branch in question will be selected as the optimal branch. This results in actual material transfer only processing that specific branch. This specific material distribution includes the last piece of material from the previous task and the first piece of material from the next task simultaneously appearing in the loadlock module (hereinafter referred to as the LL module). Ultimately, this causes the last piece or two pieces from the previous task to remain in the LL module. Only when all materials from the next task exceed the LL module will the materials from the previous task be transferred. This situation does not conform to the process flow sequence requirements and also affects the occupancy of the loadport, preventing timely utilization. To address this, a balancing condition can be added to the TimeCost comparison to comprehensively compare multiple factors and select the actual optimal branch. However, this method will alter the good application results of existing mature scenarios under the current TimeCost comparison conditions. Summary of the Invention
[0006] In view of the above problems, embodiments of the present invention are proposed to provide a material scheduling method and a corresponding semiconductor process apparatus that overcome or at least partially solve the above problems.
[0007] To address the aforementioned problems, this invention discloses a material scheduling method applied to semiconductor process equipment. The semiconductor process equipment includes a chamber module for processing materials, the chamber module including a pre-filling chamber. The method includes:
[0008] In the process of selecting high-priority materials using the local optimum algorithm, if a pre-filling chamber contains both a first material that has not yet been processed from the cassette and a second material that has been processed and needs to be returned to the cassette, then the first material is added to the high-priority material temporary storage list.
[0009] If there is no best interchangeable material but there is a best non-interchangeable material, add the best non-interchangeable material to the high-priority material temporary list.
[0010] The materials currently in the high-priority material temporary storage list are identified as high-priority materials.
[0011] The scheduling action sequence for material scheduling is determined based on the high-priority materials.
[0012] Optionally, the step of adding the best non-interchangeable material to the high-priority material temporary storage list when there is no best interchangeable material but there is a best non-interchangeable material includes:
[0013] Determine whether the optimal interchangeable material exists, and determine whether the optimal non-interchangeable material exists;
[0014] If the best non-exchangeable material does not exist but the best non-exchangeable material does exist, determine whether the best non-exchangeable material is in the high-priority material temporary storage list; wherein, the step of determining whether the best non-exchangeable material exists and the step of determining whether the best non-exchangeable material is in the high-priority material temporary storage list are performed in layers;
[0015] If the best non-exchangeable material is not in the high-priority material temporary storage list, then the best non-exchangeable material is added to the high-priority material temporary storage list.
[0016] Optionally, the semiconductor process equipment includes a robotic arm for transferring materials, and adding the first material to a high-priority material temporary storage list includes:
[0017] Determine whether there is movable material in the robotic arm;
[0018] If there is no movable material in the robotic arm, the first material is added to the high-priority material temporary storage list.
[0019] Optionally, the exchangeable material is the material that can be exchanged with the material in the next step module of the transmission path after being taken out, and the non-exchangeable material is the material that cannot be exchanged with the material in the next step module of the transmission path after being taken out. The step of adding the best non-exchangeable material to the high-priority material temporary storage list when there is no optimal exchangeable material but there is an optimal non-exchangeable material includes:
[0020] The materials in the local optimal algorithm material list are traversed in a loop, and in each loop, it is determined whether there is a material in the next step module of the corresponding transmission path of the current material to exchange with the current material if the robot is used to take out the current material, and the order of the step module of the current material in the corresponding transmission path is determined.
[0021] If there is no material in the next step module to exchange with the current material, then it is determined that there is no optimal exchangeable material.
[0022] If the current material is in the first order in the corresponding transmission path of the step module, then it is determined that there is an optimal non-exchangeable material.
[0023] If the best interchangeable material does not exist but the best non-interchangeable material does exist, the best non-interchangeable material is added to the high-priority material temporary list.
[0024] Optionally, determining the sequence of scheduling actions for material scheduling based on the high-priority materials includes:
[0025] Determine whether the high-priority materials include the last piece of material from the previous process task;
[0026] If they exist, all materials in the high-priority materials except for the last piece of material in the previous process task will be removed from the high-priority material temporary storage list to obtain new high-priority materials in the high-priority material temporary storage list.
[0027] The scheduling action sequence for material scheduling is determined based on the new high-priority materials.
[0028] Optionally, determining the sequence of scheduling actions for material scheduling based on the new high-priority materials includes:
[0029] The executable action sequence of the new high-priority material is simulated and calculated. After each calculation, the search depth in the local optimum algorithm is reduced by a preset depth value, and it is determined whether the reduced search depth is not greater than zero.
[0030] If the reduced search depth is greater than zero, then select high-priority materials again, simulate and calculate the executable action sequence of the selected high-priority materials, and determine whether the reduced search depth is not greater than zero, until the reduced search depth is not greater than zero.
[0031] If the reduced search depth is not greater than zero, then the optimal branch is determined from the branches composed of the executable action sequence obtained from the simulation calculation, and the scheduling action sequence of material scheduling is determined based on the optimal branch.
[0032] Optionally, determining the optimal branch from the branches composed of the executable action sequence obtained from the simulation calculation includes:
[0033] Determine the material distribution state corresponding to the branch, and calculate the time required to reach the material distribution state;
[0034] The branch that takes the shortest amount of time is determined as the optimal branch.
[0035] This invention also discloses a semiconductor process apparatus, including a chamber module for processing materials, the chamber module including a pre-filled chamber, and the semiconductor process apparatus further including:
[0036] The controller is configured to, during the process of selecting high-priority materials using a local optimum algorithm, add the first material to a high-priority material temporary storage list if a pre-filling chamber simultaneously contains a first material that has not yet been processed from a wafer cassette and a second material that has completed processing and needs to be returned to the wafer cassette; add the best non-exchangeable material to the high-priority material temporary storage list if no best exchangeable material exists but a best non-exchangeable material does not exist; determine the materials currently in the high-priority material temporary storage list as high-priority materials; and determine a material scheduling action sequence based on the high-priority materials.
[0037] Optionally, the controller is configured to determine whether the optimal interchangeable material exists and whether the optimal non-interchangeable material exists; if the optimal interchangeable material does not exist but the optimal non-interchangeable material exists, the controller determines whether the optimal non-interchangeable material is in the high-priority material temporary storage list; wherein the steps of determining whether the optimal non-interchangeable material exists and determining whether the optimal non-interchangeable material is in the high-priority material temporary storage list are performed in a hierarchical manner; if the optimal non-interchangeable material is not in the high-priority material temporary storage list, the controller adds the optimal non-interchangeable material to the high-priority material temporary storage list.
[0038] Optionally, the semiconductor process equipment includes a robotic arm for transferring materials, and a controller for determining whether there is movable material in the robotic arm; if there is no movable material in the robotic arm, the first material is added to the high-priority material temporary storage list.
[0039] Optionally, the exchangeable material is a material that can be exchanged with the material in the next step module of the transmission path after being taken out, and the non-exchangeable material is a material that cannot be exchanged with the material in the next step module of the transmission path after being taken out. The controller is used to cyclically traverse the materials in the material list of the local optimal algorithm, and in each loop, determine whether there is a material in the next step module of the transmission path corresponding to the current material to exchange with the current material if the robot arm is used to take out the current material, and determine the order of the step module of the current material in the corresponding transmission path; if there is no material in the next step module to exchange with the current material, it is determined that there is no optimal exchangeable material; if the order of the step module of the current material in the corresponding transmission path is the first order, it is determined that there is an optimal non-exchangeable material; in the case that there is no optimal exchangeable material but there is an optimal non-exchangeable material, the optimal non-exchangeable material is added to the high-priority material temporary storage list.
[0040] Optionally, the controller is used to determine whether the last piece of material in the previous process task exists among the high-priority materials; if it does, the other materials in the high-priority materials, except for the last piece of material in the previous process task, are removed from the high-priority material temporary storage list to obtain new high-priority materials in the high-priority material temporary storage list; and the scheduling action sequence of material scheduling is determined based on the new high-priority materials.
[0041] Optionally, the controller is configured to simulate and calculate the executable action sequence of the new high-priority material, and after each calculation, decrement the search depth in the local optimum algorithm by a preset depth value, and determine whether the decremented search depth is not greater than zero; if the decremented search depth is greater than zero, then select high-priority material again, simulate and calculate the executable action sequence of the selected high-priority material, and determine whether the decremented search depth is not greater than zero, until the decremented search depth is not greater than zero; if the decremented search depth is not greater than zero, then determine the optimal branch from the branches composed of the executable action sequence obtained from the simulation calculation, and determine the scheduling action sequence of material scheduling based on the optimal branch.
[0042] Optionally, the controller is configured to determine the material distribution state corresponding to the branch and calculate the time required to reach the material distribution state; and determine the branch with the shortest required time as the optimal branch.
[0043] The embodiments of the present invention have the following advantages:
[0044] In this embodiment of the invention, during the selection of high-priority materials using a local optimum algorithm, the first material that has just been transferred from the wafer cassette but has not yet undergone processing can be identified as the second material that needs to be returned to the wafer cassette after the process has been completed. The first material is then added to the high-priority material temporary storage list. In the case where there is no best exchangeable material but there is a best non-exchangeable material, the best non-exchangeable material can be added to the high-priority material temporary storage list. The sequence of scheduling actions that the equipment needs to perform is determined based on the high-priority materials in the high-priority material temporary storage list. This method improves the local optimum algorithm for material scheduling. It eliminates the need to add balancing conditions for TimeCost comparison. Instead, it adjusts the way high-priority materials are selected in the original local optimum algorithm to correctly and effectively select the target material. That is, when the last piece of material in the previous task and the first piece of material in the next task appear in the same step module, only the last piece of material in the previous task can be selected as the high-priority material. The first piece of material in the next task cannot be selected as the high-priority material. Therefore, it is not necessary to compare the TimeCost of the two branches. This ensures that the branch containing the last piece of material in the previous task is the optimal branch. It can guarantee the material transmission scheduling order requirements between multiple tasks and maintain the good computation of existing mature scenarios under the current TimeCost comparison conditions. Attached Figure Description
[0045] Figure 1 This is a schematic diagram of a semiconductor process equipment.
[0046] Figure 2 This is a schematic diagram of the computational process of the local optimum algorithm;
[0047] Figure 3 This is a flowchart based on TimeCost comparison;
[0048] Figure 4 This is a schematic diagram showing that two adjacent tasks are associated with the same material in the equipment chamber module at the same time;
[0049] Figure 5 This is a flowchart illustrating the steps of a material scheduling method according to an embodiment of the present invention;
[0050] Figure 6 This is a flowchart illustrating the steps of another material scheduling method according to an embodiment of the present invention;
[0051] Figure 7 This is a flowchart of a material scheduling method according to an embodiment of the present invention;
[0052] Figure 8 This is a structural block diagram of a semiconductor process equipment according to an embodiment of the present invention. Detailed Implementation
[0053] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art are within the scope of protection of the present invention.
[0054] In the field of integrated circuit (IC) manufacturing, a typical semiconductor process equipment structure integrates multiple process modules on a large transport platform. The material transport paths are diverse and complex, requiring the equipment to effectively schedule the overall material transport according to the application scenario to ensure the accuracy of the processing and maintain equipment capacity. The equipment software controls the processing flow, requiring users to edit and set information such as transport paths, process formulas, and material quantities, and then compile this information into a task.
[0055] Reference Figure 1 The diagram shows a schematic of a semiconductor process equipment. Multiple process tasks can be started simultaneously within this equipment, and the transmission paths for these tasks can be the same. In one example, the transmission path could be:
[0056] Plate cassette (LP1 / LP2 / LP3) → Pre-fill chamber (LA, LB in parallel) → Degassing chamber (ChC, ChD in parallel) → Pre-cleaning chamber (ChE, ChF in parallel) → Transfer chamber (ChA) → PVD process chamber (Ch1~Ch6) → Transfer chamber (ChB) → Pre-fill chamber (LA, LB in parallel) → Plate cassette (LP1 / LP2 / LP3).
[0057] In the equipment, the user-executable unit is a process task (Job). A Job contains a group of materials that will follow the same transport path. The materials are based on the actual wafer placement sensor readings when the wafer cassette is loaded. For example, after wafer cassette LP1 is loaded, the materials in the system are named LP1.1 to LP1.25, representing wafers 1 to 25 in the cassette.
[0058] In pipeline mode, when tasks are queued, the next process task (Job2) begins outputting wafers only after all wafers from the previous process task (Job1) have been produced. Materials from both tasks are simultaneously transferred within modules such as the pre-filling chamber in the equipment, and these materials participate in the selection of high-priority movable materials.
[0059] Normally, materials within a Job are moved in order of priority. When selecting high-priority movable materials, and when it is necessary to maintain the connection between multiple materials within the same process task, the materials are moved in ascending order according to the material numbers 1 to 25 assigned when the cassette was loaded. The first cassette is moved first, then the second, and so on, until the 25th cassette is moved. Between tasks, the materials of the previous task are generally prioritized over the materials of the next task.
[0060] Currently, a local optimum algorithm is used to calculate the material scheduling and transmission sequence. The most typical characteristic of the local optimum algorithm is that it performs recursive search calculations within a finite search depth. Starting from a specified search depth, at each depth, it checks whether all materials have been transported back to the destination. If there are still materials that have not returned to the destination, it continues to select high-priority materials, calculating multiple branches for each selected material. Each branch is decremented to 0, and when searchDepth = 0, the time cost required for the material distribution state of the current branch is compared. The branch with the shortest time cost is the optimal branch. The search depth of each branch is decremented to 0, and then recursively applied to other branches until all branches at each search depth have been recursively completed and the top branch is returned, thus selecting the optimal branch overall.
[0061] For example, a job might be associated with 4 pieces of material, with a search depth of 9. The calculation starts at a search depth of 9, selecting high-priority materials from the 4 pieces (this might include one LP1.1 material or none). The executable action sequence for the selected material is then calculated. After one calculation, the search depth decreases to 8, checking if all materials have been successfully transferred back to their destination. If any materials haven't returned, high-priority materials are selected again, and the executable action sequence for those materials is calculated. When the search depth decreases to 0, the current simulated material distribution status of the entire machine is checked to determine if it should be recorded as the optimal state. This process is then recursively applied to other branches until all branches are completed and the top branch is selected, identifying the first optimal branch. The search depth then starts again from 9 for the second round of calculation. This process continues until all materials have been successfully transferred back to their destination. It's important to note that the search depth is a variable controlling the logic loop during the algorithm's calculation and does not directly correspond to the number of scheduling actions.
[0062] Reference Figure 2The diagram illustrates the computational flow of the local optimum algorithm. At each search depth, high-priority movable materials are selected, and the executable action sequence for these selected materials is calculated. This sequence simulates the forward movement of the materials and refreshes the overall material distribution within the machine. In the diagram, `ret` refers to the action type for material movement calculated in this iteration. As the search depth decreases from 9 to 0 in a round, the optimal branch is selected, resulting in the overall material distribution. Then, the next round of search depth calculation continues until the process ends.
[0063] When selecting the optimal branch, the current comparison condition is to compare the TimeCost of the current branch with the TimeCost of the previous optimal branch to measure whether the branch is optimal. However, the material distribution state to the current branch may vary because the number of transmission action sequences required is not necessarily the same, and the types of transmission actions within the transmission action sequences may not correspond one-to-one. Different transmission action types, such as wafer picking, wafer placement, and process execution, require different transmission times. Therefore, a small TimeCost does not necessarily indicate that the current branch is the optimal branch.
[0064] Reference Figure 3 The diagram shows a flowchart for selecting the optimal branch based on TimeCost comparison. The process includes:
[0065] The first step is to determine if the current recursive search depth has decreased to 0. If it has, then continue comparing the optimal branch. If it has not yet decreased to 0, then do not compare the optimal branch, and continue as follows. Figure 2 The recursive process.
[0066] The second step is to calculate the balance factor 1 and balance factor 2 when the search depth decreases to 0. Balance factor 1 is the difference between the idle time of the current branch and the previous optimal branch. Balance factor 2 is the difference between the transmission time of the current branch and the previous optimal branch TimeCost.
[0067] The third step involves summing the idle time difference and the transmission time difference to arrive at a balance factor. If the balance factor is less than 0, the optimal branch is compared again. If the balance factor is not less than 0, the optimal branch is not compared, and the process returns to the previous step. Figure 2 The recursive process.
[0068] Fourth, when the balance factor is less than 0, determine whether the following conditions are met simultaneously: either the transmission idle time difference is greater than 0, the transmission time difference is less than 0, or the transmission idle time difference is less than 0, the transmission time difference is greater than 0. If either condition is met, continue comparing the optimal branch. If neither condition is met, the optimal branch is refreshed, and the current branch becomes the optimal branch.
[0069] Step 5: If both the transmission idle time difference and the transmission idle time difference are greater than 0, or both are less than 0 and greater than 0, verify whether the current branch satisfies the optimal branch condition. If the verification is satisfied, the optimal branch is refreshed, and the current branch becomes the optimal branch. If the verification is not satisfied, the current branch is discarded, and the process returns to the previous step. Figure 2 The recursive process. The verification conditions here are treated as a separate sub-process and are not considered influencing factors, so they will not be discussed further.
[0070] The existing conditions for selecting the optimal branch are insufficient and lack refinement. In practice, based on a specified search depth, through the aforementioned TimeCost comparison process, a specific material distribution will repeatedly occur, and each time the branch it belongs to will be selected as the optimal branch. This results in actual material transfer only processing that specific branch situation. This specific material distribution includes the last piece of material from the previous task and the first piece of material from the next task simultaneously appearing in the loadlock module (hereinafter referred to as the LL module). Ultimately, this causes the last piece or two pieces from the previous task to remain in the LL module. Only when all materials from the next task exceed the LL module will the materials from the previous task that were retained be transferred. This situation does not conform to the process flow sequence requirements and also affects the occupancy of loading and unloading ports, preventing them from being utilized in a timely manner.
[0071] To enable those skilled in the art to better understand the improvements of this invention, the current material transport scheduling algorithm will be described below:
[0072] In scheduling algorithms, the priority of material movement refers to a comprehensive set of information based on the material's associated transport path, its current step, its numerical order, and the task number it belongs to. Specifically, this can include the material's job number, its own number, its current step within the transport path, the next step, and the exchangeability between the material and the next step. High-priority materials are those that require priority over other materials in the current calculation. The basic logic for selecting high-priority materials is as follows: First, based on the transport robot, high-priority movable materials are searched sequentially from the atmospheric end to the vacuum end near each robot, and added to a temporary high-priority material list. Then, the entire high-priority material list is filtered as needed.
[0073] During the operation of semiconductor process equipment software, a scheduling recalculation is triggered when the next process task begins wafer output. The calculation process may include:
[0074] 1) The search depth is calculated from high to low. When it decreases to a certain value, the simulated material distribution state is that the last piece of LP1.25 in the previous task Job1 and the first piece of LP2.1 in the next task Job2 appear simultaneously in two parallel pre-filling chamber modules.
[0075] 2) At a certain search depth, if these two materials can be simultaneously selected as high-priority movable materials, two branches will emerge. These branches will continue to decrease downwards until the search depth `searchDepth = 0`. The TimeCost required for each branch to reach the new material distribution state will be compared. For example... Figure 3 The comparison is based on TimeCost. Since the balance factor 1 is always consistent, the comparison result is that the branch with the smaller TimeCost will become the selected optimal branch, and the material distribution state corresponding to this branch is the optimal material distribution state.
[0076] 3) Based on this optimal material distribution, the scheduler continues to perform a round of search depth reduction calculations until all the materials involved in the calculation have returned to the destination and the movable action sequence has been calculated. The job may need multiple rounds of search depth calculations to obtain the action sequence that transfers all materials from the source to the destination.
[0077] Reference Figure 4 The diagram illustrates a scenario where two adjacent tasks simultaneously contain materials within a single equipment chamber module. In this diagram, the circular areas within each chamber module indicate the presence of material (wafer) in that module, with different grayscale values representing the material's processing status. Specifically, the first grayscale value (LP1.25, LP2.1) indicates initial material that has not yet undergone processing by any module; the second grayscale value (LP1.17, LP1.19, LP1.20, LP1.22, LP1.23) indicates material that has completed processing in the current module and is awaiting transfer to the next module according to the transmission path; the third grayscale value (LP1.16, LP1.18, LP1.21, LP1.24) indicates material currently undergoing processing in the current module; and the fourth grayscale value (LP1.15) indicates material that has completed all processing and needs to be returned to the wafer cassette. Figure 4 As shown, LP1.25 and LP2.1 represent the initial materials transferred from LP1 and LP2 respectively, which need to be transferred to the execution module for process processing; LP1.15 represents the materials that have completed all processes and need to be transferred back to LP1.
[0078] In the aforementioned application scenario, when materials LP1.25 and LP2.1 from Job1 and Job2 arrive simultaneously at the parallel LL module (LA and LB in parallel), the current TimeCost-based comparison process uses a single comparison condition, which cannot comprehensively evaluate whether the transmission effect between different branches is optimal. In fact, TimeCost-based comparison cannot guarantee the selection of the truly optimal branch. For example, in the current situation, LP1.25 and LP2.1 are always selected as high-priority materials, and the two branches (LP1.25 and LP2.1) are calculated separately. When selecting the optimal branch, the TimeCost of the LP2.1 branch is less than that of the LP1.25 branch. Therefore, under the current comparison conditions, the LP2.1 branch is ultimately selected as the optimal branch. Furthermore, this scenario repeats itself during the algorithm's recursive search, causing the LP2.1 branch to be selected each time until all materials of LP2 have passed through the LL module, at which point LP1.25 can finally be processed.
[0079] In this situation, one approach is to add balancing conditions to the TimeCost comparison to select the optimal path through a comprehensive comparison of multiple factors. However, the improved method of this invention adjusts the material selection of the scheduling algorithm at a higher level, thereby improving the current problem while maintaining the good computational performance of existing mature scenarios under the current TimeCost comparison conditions.
[0080] The present invention aims to provide a material scheduling method and a corresponding semiconductor process equipment to overcome or at least partially solve the above problems.
[0081] One of the core concepts of this invention is that, during the selection of high-priority materials using a local optimum algorithm, the first material that has just been transferred from the wafer cassette but has not yet undergone processing can be identified as the material that needs to be returned to the wafer cassette after the second material has completed the process. The first material is then added to the high-priority material temporary storage list. Furthermore, if there is no optimal exchangeable material but there is an optimal non-exchangeable material, the optimal non-exchangeable material can be added to the high-priority material temporary storage list. Based on the high-priority materials in the high-priority material temporary storage list, the sequence of scheduling actions that the equipment needs to execute can be determined. This method improves the local optimum algorithm for material scheduling. It eliminates the need to add balancing conditions for TimeCost comparison. Instead, it adjusts the way high-priority materials are selected in the original local optimum algorithm to correctly and effectively select the target material. That is, when the last piece of material in the previous task and the first piece of material in the next task appear in the same step module, only the last piece of material in the previous task can be selected as the high-priority material. The first piece of material in the next task cannot be selected as the high-priority material. Therefore, it is not necessary to compare the TimeCost of the two branches. This ensures that the branch containing the last piece of material in the previous task is the optimal branch. It can guarantee the material transmission scheduling order requirements between multiple tasks and maintain the good computation of existing mature scenarios under the current TimeCost comparison conditions.
[0082] Reference Figure 5 This diagram illustrates a flowchart of a material scheduling method according to an embodiment of the present invention, applied to semiconductor process equipment. The semiconductor process equipment includes a chamber module for processing materials, and the chamber module includes a pre-filling chamber. Specifically, the method may include the following steps:
[0083] Step 501: During the process of selecting high-priority materials using the local optimum algorithm, if a pre-filling chamber simultaneously contains a first material that has not yet been processed from the cassette and a second material that has completed the process and needs to be returned to the cassette, then the first material is added to the high-priority material temporary storage list.
[0084] Semiconductor process equipment can be multi-chamber cluster equipment. Materials can be processed sequentially in multiple chamber modules of this equipment.
[0085] In this embodiment of the invention, during the process of selecting high-priority materials using a local optimum algorithm, it is possible to check whether a pre-filling chamber simultaneously contains a first material that has been transferred from the wafer cassette but has not yet undergone processing and a second material that has completed its processing and needs to be transferred back to the wafer cassette. For example... Figure 4In the LA (Layer) system, both materials LP1.25 and LP1.15 exist simultaneously. LP1.15 is the second material that needs to be transferred back to the destination after completing the process, while LP1.25 is the first material that needs to be transferred beyond LP1.15 into the semiconductor process equipment to perform the process. At this point, the first material can be identified and added to the high-priority material temporary storage list. The high-priority material temporary storage list is used to store the selected high-priority materials.
[0086] Step 502: If there is no best interchangeable material but there is a best non-interchangeable material, add the best non-interchangeable material to the high-priority material temporary storage list.
[0087] In this embodiment of the invention, the search can continue to determine whether there is an optimal exchangeable material and whether there is an optimal non-exchangeable material. Exchangeable material refers to material that, after being removed, can be exchanged with material in the next step module of the transmission path; non-exchangeable material refers to material that, after being removed, cannot be exchanged with material in the next step module of the transmission path. The next step module is the next chamber module in the transmission step. The determination of non-exchangeable material is based on a comprehensive assessment of multiple factors, including module scheduling mode, the actual presence of material in the module, and the completion status of the material's processing, and will not be described in detail here.
[0088] If it is determined that there is no best interchangeable material but there is a best non-interchangeable material, the best non-interchangeable material can be added to the high-priority material temporary list.
[0089] Step 503: Determine the materials currently in the high-priority material temporary storage list as high-priority materials.
[0090] Materials in the high-priority material temporary storage list can be identified as high-priority materials, and high-priority materials are subsequently used to simulate and calculate executable action sequences.
[0091] Step 504: Determine the scheduling action sequence for material scheduling based on the high-priority materials.
[0092] In this embodiment of the invention, after selecting high-priority materials, the scheduling action sequence of material scheduling can be determined based on the high-priority materials and the steps of the local optimum algorithm.
[0093] In summary, in the embodiments of the present invention, during the selection of high-priority materials using a local optimum algorithm, the first material that has just been transferred from the wafer cassette but has not yet undergone processing can be identified as the second material that needs to be returned to the wafer cassette after the process has been completed. The first material is then added to the high-priority material temporary storage list. Furthermore, in the case where there is no optimal exchangeable material but there is an optimal non-exchangeable material, the optimal non-exchangeable material can be added to the high-priority material temporary storage list. The sequence of scheduling actions that the equipment needs to execute can be determined based on the high-priority materials in the high-priority material temporary storage list. This method improves the local optimum algorithm for material scheduling. It eliminates the need to add balancing conditions for TimeCost comparison. Instead, it adjusts the way high-priority materials are selected in the original local optimum algorithm to correctly and effectively select the target material. That is, when the last piece of material in the previous task and the first piece of material in the next task appear in the same step module, only the last piece of material in the previous task can be selected as the high-priority material. The first piece of material in the next task cannot be selected as the high-priority material. Therefore, it is not necessary to compare the TimeCost of the two branches. This ensures that the branch containing the last piece of material in the previous task is the optimal branch. It can guarantee the material transmission scheduling order requirements between multiple tasks and maintain the good computation of existing mature scenarios under the current TimeCost comparison conditions.
[0094] Reference Figure 6 This diagram illustrates a flowchart of another material scheduling method according to an embodiment of the present invention, applied to semiconductor process equipment. The semiconductor process equipment includes a chamber module for processing materials, and the chamber module includes a pre-filling chamber. Specifically, it may include the following steps:
[0095] Step 601: During the process of selecting high-priority materials using the local optimum algorithm, if a pre-filling chamber simultaneously contains a first material that has not yet been processed from the wafer cassette and a second material that has completed the process and needs to be returned to the wafer cassette, then the first material is added to the high-priority material temporary storage list.
[0096] In this embodiment of the invention, during the process of selecting high-priority materials using a local optimum algorithm, it can be checked whether a pre-filling chamber simultaneously contains a first material that has not yet undergone processing from the wafer cassette and a second material that has completed processing and needs to be returned to the wafer cassette. If both exist simultaneously, the first material can be identified and added to the high-priority material temporary storage list. The high-priority material temporary storage list is used to store the selected high-priority materials.
[0097] In an optional embodiment of the present invention, the semiconductor process equipment includes a robotic arm for transferring materials, and for step 601, the following steps can be performed:
[0098] Sub-step S11: Determine whether there is movable material in the robotic arm.
[0099] Sub-step S12: If there is no movable material in the robotic arm, then the first material is added to the high-priority material temporary storage list.
[0100] In one embodiment, after the first material is found, it is possible to continue searching for whether there is any movable material in the robotic arm. If the search result shows that there is no movable material in the robotic arm, the first material can be added to the high-priority material temporary storage list.
[0101] Step 602: Determine whether the optimal interchangeable material exists, and determine whether the optimal non-interchangeable material exists.
[0102] In this embodiment of the invention, when the movable material in the robotic arm is empty, the search can continue to determine if there is an optimal exchangeable material. Furthermore, if the optimal exchangeable material is found but is empty, the search can continue to determine if there is an optimal non-exchangeable material. Here, exchangeable material refers to material that, after being removed, can be exchanged with material in the next step module of the transmission path; non-exchangeable material refers to material that, after being removed, cannot be exchanged with material in the next step module of the transmission path.
[0103] Step 603: If the best exchangeable material does not exist but the best non-exchangeable material exists, determine whether the best non-exchangeable material is in the high-priority material temporary storage list.
[0104] The steps of determining whether an optimal non-interchangeable material exists and determining whether the optimal non-interchangeable material is in the high-priority material temporary list are performed hierarchically. In one example, this could be implemented as hierarchical judgment conditions rather than parallel judgment conditions in the code implementation.
[0105] In this embodiment of the invention, if an optimal non-exchangeable material is found, it can be further determined whether the optimal non-exchangeable material is already in the high-priority material temporary storage list.
[0106] Step 604: If the best non-exchangeable material is not in the high-priority material temporary storage list, then add the best non-exchangeable material to the high-priority material temporary storage list.
[0107] If the best non-exchangeable material is not in the high-priority material temporary list, then the best non-exchangeable material can be added to the high-priority material temporary list.
[0108] The following explains the criteria for determining whether an optimal exchangeable material exists, and the criteria for determining whether an optimal non-exchangeable material exists. In the case where an optimal exchangeable material does not exist but an optimal non-exchangeable material exists, adding the optimal non-exchangeable material to the high-priority material temporary storage list can be performed by following these steps:
[0109] The system iterates through the materials in the local optimum algorithm's material list, and in each iteration, it determines whether there is a material in the next step module of the corresponding transmission path that can be exchanged with the current material if the robotic arm is used to retrieve it, and determines the order of the current material's step module in the corresponding transmission path. If there is no material in the next step module that can be exchanged with the current material, it is determined that there is no optimal exchangeable material. If the current material's step module is in the first order in the corresponding transmission path, it is determined that there is an optimal non-exchangeable material. If there is no optimal exchangeable material but there is an optimal non-exchangeable material, the optimal non-exchangeable material is added to the high-priority material temporary storage list.
[0110] To determine whether an optimal exchangeable material exists, the material list (including materials already transferred to the various chamber modules of the machine and materials still in the cassette but not yet transferred to the machine) of the local optimum algorithm can be iterated through in a loop. In each loop, it is determined whether there is a material in the next step module of the corresponding transmission path of the current material that can be exchanged with the current material if the robot arm is used to remove the current material. If the exchange can be performed, it can be determined that an optimal exchangeable material exists, and the current material is the optimal exchangeable material. If the exchange cannot be performed, it can be determined that an optimal exchangeable material does not exist.
[0111] To determine whether an optimal non-interchangeable material exists, the materials in the material list input to the local optimum algorithm (including materials already transferred to the various chamber modules of the machine and materials still in the cassette but not yet transferred to the machine) can be iterated through in each iteration. In each iteration, the order of the current material in the corresponding transmission path within the step module is determined. If the current material's order in the corresponding transmission path within the step module is the first order, then an optimal non-interchangeable material exists, and the current material is considered the optimal non-interchangeable material. Figure 4 In this process, materials LP1.25 and LP2.1 are located in modules LA and LB, respectively, which are the first step modules of their respective transport paths. Since materials LP1.25 and LP2.1 are both located in the first step of their respective transport paths, they will both be identified under this condition.
[0112] Step 605: Determine the materials currently in the high-priority material temporary storage list as high-priority materials.
[0113] Materials in the high-priority material temporary storage list can be identified as high-priority materials, and high-priority materials are subsequently used to simulate and calculate executable action sequences.
[0114] Step 606: Determine the scheduling action sequence for material scheduling based on the high-priority materials.
[0115] For step 606, the following steps can be performed:
[0116] Sub-step S21: Determine whether the high-priority materials include the last piece of material from the previous process task.
[0117] Sub-step S22: If it exists, remove all materials in the high-priority materials except for the last piece of material in the previous process task from the high-priority material temporary storage list to obtain new high-priority materials in the high-priority material temporary storage list.
[0118] Sub-step S23: Determine the scheduling action sequence for material scheduling based on the new high-priority material.
[0119] In this embodiment of the invention, high-priority materials in the high-priority material temporary storage list can be further selected, that is, it can be determined whether the last piece of material from the previous process task exists in the high-priority material temporary storage list. Since the last piece of material from the previous process task has the highest priority, if it exists, all other materials in the high-priority material temporary storage list except for the last piece of material from the previous process task need to be removed from the high-priority material temporary storage list. After removal, only the last piece of material from the previous process task remains in the high-priority material temporary storage list, so that the last piece of material from the previous process task can be selected for priority processing.
[0120] For sub-step S23, the following steps can be performed:
[0121] The system simulates and calculates the executable action sequence for the new high-priority material, and after each calculation, decrements the search depth in the local optimum algorithm by one, and determines whether the decremented search depth is not greater than zero. If the decremented search depth is greater than zero, the system selects high-priority materials again, simulates and calculates the executable action sequence for the selected high-priority materials, and determines whether the decremented search depth is not greater than zero, until the decremented search depth is not greater than zero. If the decremented search depth is not greater than zero, the system determines the optimal branch from the branches composed of the executable action sequences obtained from the simulation calculation, and determines the scheduling action sequence for material scheduling based on the optimal branch.
[0122] The step of determining the optimal branch from the branches composed of the executable action sequence obtained from the simulation calculation includes:
[0123] Determine the material distribution state corresponding to the branch and calculate the time required to reach the material distribution state; determine the branch with the shortest required time as the optimal branch.
[0124] In this embodiment of the invention, after selecting the final high-priority materials, the calculation process of the original local optimum algorithm can be followed (e.g., Figure 2 As shown, the system simulates and calculates the executable action sequence for high-priority materials. After each calculation, the search depth in the local optimum algorithm is decreased by a preset depth value until the decreased search depth is no greater than zero. When the decreased search depth is no greater than zero, the optimal branch can be determined from the branches composed of executable action sequences obtained from the simulation, and the scheduling action sequence for material dispatching is determined based on the optimal branch. The optimal branch is still selected based on the branch with the shortest time (TimeCost) required to reach the corresponding material distribution state.
[0125] To enable those skilled in the art to better understand steps 601 to 606 of the embodiments of the present invention, an example is provided below:
[0126] Reference Figure 7 The diagram shown is a flowchart of a material scheduling method according to an embodiment of the present invention. The specific process includes:
[0127] 1. When starting to select high-priority materials, the first step is to check if there are any new materials that surpass the materials that will be returned to the destination. Figure 4 Based on the distribution status of materials on the machine, LP1.25 will be found and added to the new material list that goes beyond the material returning to the destination.
[0128] 2. Continue to check if there are any movable materials in the robotic arm.
[0129] 3. If the search result indicates that there are no movable materials in the robotic arm, the search result from the first step can be superseded and returned to the new material list of the destination material, and then added to the high-priority material temporary storage list in a loop.
[0130] 4. If there is no movable material in the robotic arm, continue searching for the best exchangeable material. Specifically, this involves cycling through the materials in the material list according to the material source module (LP), and in each cycle, determining whether there is material in the next step module that can be exchanged with the current material. When the condition is met, the currently cycled material is selected as the best exchangeable material. When the condition is not met, there is no best exchangeable material.
[0131] 5. If no optimal interchangeable material exists, continue searching for an optimal non-interchangeable material. Specifically, based on the material source module (LP) cycling through the materials in the material list, determine the order of the materials in the step module within the transport path; the material with the earlier order will be selected as the search result. For Figure 4 Based on the material distribution status of the machines, LP1.25 and LP2.1 will both be identified as the best non-exchangeable materials.
[0132] 6. After looping through all movable materials in a material source module, further filtering is performed based on the results of finding the best exchangeable material and the best non-exchangeable material. If a best non-exchangeable material is found, and it is determined that this best non-exchangeable material is not in the high-priority material temporary storage list, it is added to the high-priority material temporary storage list as a high-priority material. Subsequent special logic checks are then performed to select the last piece from the previous task for priority movement.
[0133] 7. After looping through all movable materials in all material source modules, check the high-priority material temporary storage list from step 6. Loop through the materials recorded in this list to determine if it includes the last piece from the previous task. The last piece from the previous task has the highest priority, and materials from other tasks need to be temporarily removed from the high-priority material temporary storage list. Finally, select the last piece from the previous task as the highest priority material, and the search ends.
[0134] In summary, in this embodiment of the invention, during the selection of high-priority materials using a local optimum algorithm, the first material that has just left the wafer cassette but has not yet undergone processing can be identified as the second material that needs to be returned to the wafer cassette after the process has been completed. The first material is then added to the high-priority material temporary storage list. Furthermore, in the case where there is no optimal exchangeable material but there is an optimal non-exchangeable material, the steps of determining whether there is an optimal non-exchangeable material and determining whether the optimal non-exchangeable material is in the high-priority material temporary storage list are performed hierarchically. The optimal non-exchangeable material can be added to the high-priority material temporary storage list, so as to determine the sequence of scheduling actions that the equipment needs to execute based on the high-priority materials in the high-priority material temporary storage list. This method improves the local optimum algorithm for material scheduling. It eliminates the need to add balancing conditions for TimeCost comparison. Instead, it adjusts the way high-priority materials are selected in the original local optimum algorithm to correctly and effectively select the target material. That is, when the last piece of material in the previous task and the first piece of material in the next task appear in the same step module, only the last piece of material in the previous task can be selected as the high-priority material. The first piece of material in the next task cannot be selected as the high-priority material. Therefore, it is not necessary to compare the TimeCost of the two branches. This ensures that the branch containing the last piece of material in the previous task is the optimal branch. It can guarantee the material transmission scheduling order requirements between multiple tasks and maintain the good computation of existing mature scenarios under the current TimeCost comparison conditions.
[0135] In the selection process of high-priority materials, the "finding the best non-exchangeable material && not in the high-priority material temporary list" is handled in layers. This layered approach determines whether the best non-exchangeable material exists and whether it is in the high-priority material temporary list. This avoids the recurring scenario in the original locally optimal algorithm where, at a certain search depth, the last piece of material from the previous task and the first piece from the next task appear simultaneously in the same parallel module, ultimately leading to the optimal branch being selected by TimeCost comparison. Compared to adding balancing conditions to TimeCost comparison, which requires extensive data validation before widespread application, the adjustment method provided in this solution is intuitive and clear, avoids introducing unpredictable impacts from complex judgments, and better aligns with the progressive nature of the judgment logic. By adjusting the judgment conditions, this solution can accurately and effectively select target materials, improve material transfer scheduling, ensure the material transfer order between multiple tasks, and improve the accuracy of process flow transfer.
[0136] Compared to existing technologies, which prevent timely return of retained materials and thus delay unloading of wafer cassettes, the improved technology allows for the timely return of retained materials to their corresponding wafer cassettes. This enhances the reuse efficiency of reloading new wafer cassettes and ultimately improves the overall equipment productivity efficiency lost due to retained materials occupying the LL module.
[0137] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.
[0138] Reference Figure 8 The diagram illustrates a structural block diagram of a semiconductor process apparatus according to an embodiment of the present invention. The semiconductor process apparatus 801 includes a chamber module for processing materials. The chamber module includes a pre-filled chamber and further comprises:
[0139] The controller 8011 is configured to, during the process of selecting high-priority materials using a local optimum algorithm, add the first material to a high-priority material temporary storage list if a pre-filling chamber simultaneously contains a first material that has not yet been processed from a wafer cassette and a second material that has completed processing and needs to be returned to the wafer cassette; add the best non-exchangeable material to the high-priority material temporary storage list if there is no best exchangeable material but there is a best non-exchangeable material; determine the materials currently in the high-priority material temporary storage list as high-priority materials; and determine a material scheduling action sequence based on the high-priority materials.
[0140] In an optional embodiment of the present invention, the controller is configured to determine whether the optimal exchangeable material exists and whether the optimal non-exchangeable material exists; if the optimal exchangeable material does not exist but the optimal non-exchangeable material exists, the controller determines whether the optimal non-exchangeable material is in the high-priority material temporary storage list; wherein the steps of determining whether the optimal non-exchangeable material exists and determining whether the optimal non-exchangeable material is in the high-priority material temporary storage list are performed in a layered manner; if the optimal non-exchangeable material is not in the high-priority material temporary storage list, the controller adds the optimal non-exchangeable material to the high-priority material temporary storage list.
[0141] In an optional embodiment of the present invention, the semiconductor process equipment includes a robotic arm for transferring materials, and a controller for determining whether there is movable material in the robotic arm; if there is no movable material in the robotic arm, the first material is added to the high-priority material temporary storage list.
[0142] In an optional embodiment of the present invention, the exchangeable material is a material that can be exchanged with the material in the next step module of the transmission path after being taken out, and the non-exchangeable material is a material that cannot be exchanged with the material in the next step module of the transmission path after being taken out. The controller is configured to cyclically traverse the materials in the material list of the local optimal algorithm, and in each loop determine whether there is a material in the next step module of the transmission path corresponding to the current material to exchange with the current material if the robot arm is used to take out the current material, and determine the order of the step module of the current material in the corresponding transmission path; if there is no material in the next step module to exchange with the current material, it is determined that there is no optimal exchangeable material; if the order of the step module of the current material in the corresponding transmission path is the first order, it is determined that there is an optimal non-exchangeable material; in the case where there is no optimal exchangeable material but there is an optimal non-exchangeable material, the optimal non-exchangeable material is added to the high-priority material temporary storage list.
[0143] In an optional embodiment of the present invention, the controller is configured to determine whether the last piece of material in the previous process task exists among the high-priority materials; if so, remove the other materials in the high-priority materials other than the last piece of material in the previous process task from the high-priority material temporary storage list to obtain new high-priority materials in the high-priority material temporary storage list; and determine the scheduling action sequence of material scheduling based on the new high-priority materials.
[0144] In an optional embodiment of the present invention, the controller is configured to simulate and calculate the executable action sequence of the new high-priority material, and after each calculation, decrement the search depth in the local optimum algorithm by a preset depth value, and determine whether the decremented search depth is not greater than zero; if the decremented search depth is greater than zero, then select high-priority material again, simulate and calculate the executable action sequence of the selected high-priority material, and determine whether the decremented search depth is not greater than zero, until the decremented search depth is not greater than zero; if the decremented search depth is not greater than zero, then determine the optimal branch from the branches composed of the executable action sequence obtained by simulation and calculate, and determine the scheduling action sequence of material scheduling based on the optimal branch.
[0145] In an optional embodiment of the present invention, the controller is configured to determine the material distribution state corresponding to the branch and calculate the time required to reach the material distribution state; and determine the branch with the shortest required time as the optimal branch.
[0146] In summary, this invention improves the local optimal algorithm for material scheduling. Instead of adding balancing conditions for TimeCost comparison, it adjusts the method of selecting high-priority materials in the original local optimal algorithm to correctly and effectively select the target material. Specifically, when the last piece of material in the previous task and the first piece of material in the next task appear in the same step module, only the last piece of material in the previous task is selected as the high-priority material, and the first piece of material in the next task cannot be selected as the high-priority material. Therefore, it eliminates the need to compare the TimeCost of the two branches, ensuring that the branch containing the last piece of material in the previous task is the optimal branch. This guarantees the material transmission scheduling order requirements between multiple tasks and maintains good computational performance in existing mature scenarios under the current TimeCost comparison conditions.
[0147] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.
[0148] This invention also provides an electronic device, including: a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, it implements the various processes of the above-described material scheduling method embodiment and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0149] This invention also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the various processes of the above-described material scheduling method embodiment and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0150] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.
[0151] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0152] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, apparatus, or computer program products. Therefore, embodiments of the present invention can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, embodiments of the present invention can take the form of computer program products implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0153] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0154] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0155] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0156] Although preferred embodiments of the present invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of the present invention.
[0157] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes said element.
[0158] The above provides a detailed description of a material scheduling method and a semiconductor process equipment provided by the present invention. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A material scheduling method, characterized in that, Applied to semiconductor process equipment, the semiconductor process equipment including a chamber module for processing materials, the chamber module including a pre-filled chamber, the method comprising: In the process of selecting high-priority materials using the local optimum algorithm, if a pre-filling chamber contains both a first material that has not yet been processed from the cassette and a second material that has been processed and needs to be returned to the cassette, then the first material is added to the high-priority material temporary storage list. If there is no best exchangeable material but there is a best non-exchangeable material, the best non-exchangeable material is added to the high-priority material temporary storage list. If there is a material in the next step module of the current material's transmission path that can be exchanged with the current material, then the current material is the best exchangeable material. If the current material's step module is in the first order in the corresponding transmission path, then it is determined that there is a best non-exchangeable material, and the current material is the best non-exchangeable material. The materials currently in the high-priority material temporary storage list are identified as high-priority materials. The sequence of scheduling actions for material scheduling is determined based on the high-priority materials. The process of determining the scheduling action sequence for material scheduling based on the high-priority materials includes: Determine whether the high-priority materials include the last piece of material from the previous process task; If they exist, all materials in the high-priority materials except for the last piece of material in the previous process task will be removed from the high-priority material temporary storage list to obtain new high-priority materials in the high-priority material temporary storage list. The scheduling action sequence for material scheduling is determined based on the new high-priority materials.
2. The method according to claim 1, characterized in that, The step of adding the best non-interchangeable material to the high-priority material temporary storage list when there is no best interchangeable material but there is a best non-interchangeable material includes: Determine whether the optimal interchangeable material exists, and determine whether the optimal non-interchangeable material exists; If the best non-exchangeable material does not exist but the best non-exchangeable material does exist, determine whether the best non-exchangeable material is in the high-priority material temporary storage list; wherein, the step of determining whether the best non-exchangeable material exists and the step of determining whether the best non-exchangeable material is in the high-priority material temporary storage list are performed in layers; If the best non-exchangeable material is not in the high-priority material temporary list, then the best non-exchangeable material is added to the high-priority material temporary list.
3. The method according to claim 1, characterized in that, The semiconductor process equipment includes a robotic arm for transferring materials, and adding the first material to a high-priority material temporary storage list includes: Determine whether there is movable material in the robotic arm; If there is no movable material in the robotic arm, the first material is added to the high-priority material temporary storage list.
4. The method according to claim 1 or 3, characterized in that, The exchangeable material is the material that can be exchanged with the material in the next step module of the transmission path after being taken out. The non-exchangeable material is the material that cannot be exchanged with the material in the next step module of the transmission path after being taken out. The step of adding the best non-exchangeable material to the high-priority material temporary storage list when there is no optimal exchangeable material but there is an optimal non-exchangeable material includes: The materials in the local optimal algorithm material list are traversed in a loop, and in each loop, it is determined whether there is a material in the next step module of the corresponding transmission path of the current material to exchange with the current material if the robot arm is used to take out the current material, and the order of the step module of the current material in the corresponding transmission path is determined. If there is no material in the next step module to exchange with the current material, then it is determined that there is no optimal exchangeable material. If the current material is in the first order in the corresponding transmission path of the step module, then it is determined that there is an optimal non-exchangeable material. If the best interchangeable material does not exist but the best non-interchangeable material does exist, the best non-interchangeable material is added to the high-priority material temporary list.
5. The method according to claim 1, characterized in that, The step of determining the scheduling action sequence for material scheduling based on the new high-priority materials includes: The executable action sequence of the new high-priority material is simulated and calculated. After each calculation, the search depth in the local optimum algorithm is reduced by a preset depth value, and it is determined whether the reduced search depth is not greater than zero. If the reduced search depth is greater than zero, then select high-priority materials again, simulate and calculate the executable action sequence of the selected high-priority materials, and determine whether the reduced search depth is not greater than zero, until the reduced search depth is not greater than zero. If the reduced search depth is not greater than zero, then the optimal branch is determined from the branches composed of the executable action sequence obtained from the simulation calculation, and the scheduling action sequence of material scheduling is determined based on the optimal branch.
6. The method according to claim 5, characterized in that, Determining the optimal branch from the branches composed of the executable action sequence obtained from the simulation calculation includes: Determine the material distribution state corresponding to the branch, and calculate the time required to reach the material distribution state; The branch that takes the shortest amount of time is determined as the optimal branch.
7. A semiconductor process apparatus, characterized in that, The semiconductor process equipment includes a chamber module for processing materials, the chamber module including a pre-filled chamber, and further includes: The controller is configured to, during the selection of high-priority materials using a local optimum algorithm, add the first material to a high-priority material temporary storage list if a pre-filling chamber simultaneously contains a first material that has not yet been processed from a wafer cassette and a second material that has completed processing and needs to be returned to the wafer cassette. If no optimal exchangeable material exists but an optimal non-exchangeable material does, the optimal non-exchangeable material is added to the high-priority material temporary storage list. If a material in the next step module of the current material's transmission path is available for exchange with the current material, then the current material is considered the optimal exchangeable material. If the current material's step module is in the first order of its corresponding transmission path, then the optimal material is determined to exist. Non-interchangeable materials, wherein the current material is the optimal non-interchangeable material; materials currently in the high-priority material temporary storage list are identified as high-priority materials; a material scheduling action sequence is determined based on the high-priority materials; the determination of the material scheduling action sequence based on the high-priority materials includes: determining whether the last piece of material in the previous process task exists among the high-priority materials; if so, removing all other materials except the last piece of material in the previous process task from the high-priority material temporary storage list to obtain new high-priority materials in the high-priority material temporary storage list; and determining the material scheduling action sequence based on the new high-priority materials.
8. The semiconductor process equipment according to claim 7, characterized in that, The controller is configured to determine whether the optimal interchangeable material exists and whether the optimal non-interchangeable material exists; if the optimal interchangeable material does not exist but the optimal non-interchangeable material exists, it determines whether the optimal non-interchangeable material is in the high-priority material temporary storage list; wherein the steps of determining whether the optimal non-interchangeable material exists and determining whether the optimal non-interchangeable material is in the high-priority material temporary storage list are performed in a hierarchical manner; if the optimal non-interchangeable material is not in the high-priority material temporary storage list, then the optimal non-interchangeable material is added to the high-priority material temporary storage list.
9. The semiconductor process equipment according to claim 7, characterized in that, The semiconductor process equipment includes a robotic arm for transferring materials, and a controller for determining whether there is movable material in the robotic arm; if there is no movable material in the robotic arm, the first material is added to the high-priority material temporary storage list.
Citation Information
Patent Citations
Production management system
US20020032495A1
Method and system for controlling process tools by interrupting process jobs depending on job priority
US20070282477A1