SUBSTRATE PROCESSING APPARATUS AND SUBSTRATE PROCESSING METHOD
The substrate processing method enhances production efficiency by rearranging process jobs with common attributes and using interrupt scheduling to minimize preparation steps, addressing inefficiencies in existing apparatuses and ensuring high-quality substrate processing.
Patent Information
- Application Number
- JP2023177145
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-10-13
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2037-05-18
AI Technical Summary
Existing substrate processing apparatuses face productivity limitations due to the need for multiple preparation steps when switching between process jobs with different recipe categories, leading to inefficiencies in production efficiency.
A substrate processing method that allows for the rearrangement of process jobs beyond the scope of control jobs, prioritizing the execution of jobs with common attributes and implementing interrupt scheduling based on predefined conditions to minimize preparation steps and maintain high efficiency.
This approach reduces the number of preparation steps and switches, enabling high-production efficiency by ensuring continuous processing of substrates with common attributes and addressing potential quality issues, such as chemical deterioration, thereby improving overall processing quality and speed.
Smart Images

Figure 0007603769000001 
Figure 0007603769000002 
Figure 0007603769000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a substrate processing apparatus and a substrate processing method for processing a substrate. [Background technology]
[0002] Patent Document 1 discloses a method for creating a schedule that defines the operation of a substrate processing apparatus having a single-wafer processing unit that processes substrates one by one. Process job information that defines the processing of substrates is input from a host computer, and a schedule corresponding to the process job information is created in the input order. According to the created schedule, substrates are transported to the processing units, processing is performed on the substrates in the processing units, and the processed substrates are unloaded from the processing units. A process job is processing of one or more substrates.
[0003] Patent Document 1 further discloses a configuration for scheduling the execution order of process jobs so that process jobs of a common category, such as substrate type or chemical temperature, are executed consecutively. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2016-139667 A Summary of the Invention [Problem to be solved by the invention]
[0005] A substrate container that contains substrates is set in the substrate processing apparatus. The substrate processing apparatus operates to remove substrates from the substrate container, process them, and store the processed substrates back into the substrate container. The substrate container can contain multiple substrates (e.g., 25 substrates). One or more substrates contained in one substrate container constitute a processing lot. Information that specifies the processing for this processing lot is called, for example, control job information. This control job information includes one or more process job information. In other words, the processing for a processing lot is a control job, and one control job includes one or more process jobs.
[0006] The substrate processing apparatus may include a plurality of container holders, each capable of holding a plurality of substrate containers. In this case, processing of a plurality of processing lots can be reserved for the substrate processing apparatus. More specifically, a plurality of pieces of control job information corresponding to a plurality of processing lots are input from a host computer to the substrate processing apparatus. Even if the order of process jobs is changed according to Patent Document 1, the order of process jobs is not changed beyond the range of the control job. This ensures that the processing lots are processed sequentially, and that the time from the start to the end of processing of one processing lot does not exceed a certain limit.
[0007] However, such limitations may hinder productivity improvement. For example, assume that a first control job includes a first process job of a first category and a second process job of a second category, and a second control job includes a third process job of the first category. If the order of the process jobs can be changed only within the range of the control jobs, the first process job, the second process job, and the third process job are processed in this order. Then, a preparation step for changing from the first category to the second category is performed between the first and second process jobs, and a preparation step for changing from the second category to the first category is performed between the second and third process jobs. Therefore, a process of changing from the first category to the second category and then returning to the first category is performed, and therefore two preparation steps are required. In this way, the number of preparation steps increases, which hinders improvement in the production efficiency of the substrate processing apparatus.
[0008] SUMMARY OF THE PRESENTLY PREFERRED EMBODIMENTS Accordingly, an object of the present invention is to provide a substrate processing apparatus and a substrate processing method which can contribute to improving the production efficiency of the substrate processing apparatus. [Means for solving the problem]
[0009] The present invention provides a substrate processing method for processing a substrate by a substrate processing apparatus having a processing unit that performs processing on the substrate. According to one embodiment of the invention The method includes a step of the substrate processing apparatus receiving first control job information defining a first control job which is a process for a first lot, and a step of the substrate processing apparatus receiving, after the first control job information, second control job information defining a second control job which is a process for a second lot, the first control job information including first process job information defining a first process job which is a process for one or more substrates included in the first lot according to a first recipe, and second control job information defining a second control job which is a process for one or more substrates included in the first lot according to a first recipe. 3 The first step is to process the recipe. 3 The process job definition3 and process job information for one or more substrates included in the second lot. 2 The first step is to process the recipe. 2 The process job definition 2 The substrate processing method includes the first recipe and the process job information. 2 The recipes include common attributes, 3 If the recipe does not include the attribute, the first process job and the 3 During the process job 2 The method further includes a scheduling step of formulating an execution plan for the first, second and third process jobs in a sequence in which the process jobs are to be executed, and a processing execution step of processing the substrate by the processing unit according to the formulated execution plan. It's okay .
[0010] A lot is a processing unit consisting of one or more substrates, for which a processing command or reservation is issued to a substrate processing apparatus. When substrates to be processed are introduced to a substrate processing apparatus using a substrate container capable of accommodating a predetermined number of substrates, one or more substrates accommodated in the substrate container may constitute one lot. A control job is a process that the substrate processing apparatus should perform on a lot. Control job information is information that defines the contents of a control job. Therefore, it can be said that the control job information defines a lot and also defines the processing contents for that lot. One control job includes one or a plurality of process jobs. Accordingly, the control job information includes one or a plurality of process job information.
[0011] A process job is the processing of one or more substrates according to a common recipe. Process job information is information that defines the contents of a process job. Process job information includes information that specifies a recipe. A recipe is information that defines the processing conditions for a substrate. The processing conditions may include conditions related to a fluid (liquid or gas) supplied to the substrate. The conditions related to the fluid may be the type of fluid, the temperature of the fluid, the supply flow rate, the supply time, etc.
[0012] The attributes of a recipe can be rephrased as recipe categories. For example, the attributes of a recipe may be classified based on whether or not the processes can be executed continuously. More specifically, the attributes of a recipe that are considered when formulating an execution plan for a process job may be the type of fluid (e.g., the type of chemical) or the temperature of the fluid supplied to the substrate. The substrate processing apparatus may include a plurality of processing units, in which case the recipe may include processing unit designation information for designating one or a plurality of processing units in which processing should be performed.
[0013] The substrate processing apparatus may include a substrate transport means for transporting a substrate from a substrate waiting location for waiting the substrate to be processed to the processing unit. In this case, the execution plan of the process job preferably includes a plan for transporting the substrate. In response to the plan, the substrate is transported and the substrate is processed in the processing unit in the processing execution step. This invention One embodiment of the present invention In this case, a process job included in a second control job may be executed before all process jobs included in a first control job are completed. More specifically, when a process job that has a recipe with common attributes to a process job included in a first control job is included in a second control job, the order of the process jobs is changed beyond the scope of the control job. In other words, when a first control job is executed in a first process job and a second process job that have recipes with different attributes, the order of the process jobs is changed beyond the scope of the control job. 3A first process job is included, and a second control job is specified with a recipe having common attributes with the recipe of the first process job. 2 Consider the case where we have process jobs. In this case, the first process job, 2 Process Job, Part 3 A plan is formulated to execute the process jobs in the order of the process jobs. In other words, the process job of the second control job is interrupted before the completion of the first control job. This allows the order of the process jobs to be changed beyond the scope of the control jobs, and allows process jobs with recipes with common attributes to be executed together (successively). This reduces the number of times the recipe attributes are switched, thereby achieving substrate processing with high productivity.
[0014] In one embodiment of the present invention, the attribute is an attribute that requires a preparatory step before starting processing in the processing unit, and the scheduling step includes: 2 After the process job 3 A plan is developed to execute preparation steps that correspond to the attributes contained in the recipe. In this method, recipes are classified based on attributes that require preparatory steps, and process jobs that specify recipes with common attributes can be executed together (successively). This reduces the number of preparatory steps required when switching recipes, enabling substrate processing with high productivity.
[0015] In one embodiment of the present invention, the scheduling process includes an interrupt scheduling process for, when a predetermined interrupt execution condition is satisfied, changing the plan of an unexecuted process job to plan the interrupt execution of a process job selected based on the interrupt execution condition. "Planning an interrupt execution" refers to changing the plan so that a certain process job is moved up in the execution order and interrupts the other process job.
[0016] For example, the interrupt execution condition may be a condition that takes precedence over collectively executing process jobs that specify recipes with common attributes. By setting such an interrupt execution condition, in the case where a problem occurs due to the replacement of process jobs beyond the scope of a control job, such a problem can be avoided or eliminated. As a result, production efficiency can be improved while ensuring appropriate substrate processing.
[0017] In one embodiment of the present invention, the substrate processing method further includes a step of measuring a control job life that represents the progress from the start of execution of the first control job, and the scheduling step includes an interrupt scheduling step of planning an interrupt execution of an unprocessed process job included in the first control job when an interrupt execution condition is satisfied, including the control job life reaching a predetermined threshold.
[0018] In this method, when the control job life, which indicates the time since the start of execution of a control job, reaches a predetermined threshold, the execution order of unprocessed (unstarted) process jobs included in the control job is moved up. For example, the execution order is changed so that the process job is executed next to the process job that was started immediately before (or in the earliest possible order). This makes it possible to impose a substantial time limit on the time from the start to the end of execution of one control job. Therefore, it is possible to improve production efficiency by switching process jobs beyond the scope of control jobs, and at the same time, to complete the processing of one control job within a reasonable time.
[0019] In one embodiment of the present invention, the substrate processing method further comprises the steps of: 2 The method further includes a step of determining an attribute life that indicates a continuing status of processing using a common attribute common to the recipes, and includes an interrupt scheduling step of interrupting the processing using the common attribute and planning the interrupt execution of a process job of a recipe having a different attribute when an interrupt execution condition is satisfied, including the attribute life reaching a predetermined threshold value.
[0020] It may be preferable to limit the continuation of processing using a recipe with one attribute. For example, continuing processing using a common chemical for a long period of time may cause the performance (quality) of the chemical to deteriorate, which may result in a deterioration in the quality of the substrate processing. In such a case, the quality of the substrate processing can be maintained by switching the attribute rather than continuing processing using a recipe with a common attribute.
[0021] Therefore, by setting the interrupt execution condition as the attribute life, which indicates the continuing status of processing using one attribute, reaching a threshold value, and planning the interrupt execution of a process job that specifies a recipe having a different attribute, it is possible to achieve substrate processing that combines high quality and high efficiency. The continuation status of the process may be the duration of the process of one attribute, the number of times the process is repeated, etc. The number of times the process is repeated may be the number of substrates on which the process of one attribute is continuously performed, the number of process jobs, or the number of control jobs.
[0022] In one embodiment of the present invention, the scheduling step plans execution of a process job having an attribute in common with a recipe of the process job, subsequent to the process job whose interrupt execution has been planned by the interrupt scheduling step. In this method, following a process job scheduled by interrupt scheduling, a process job is scheduled to be executed that specifies the recipe of the process job and a recipe with common attributes. This allows interrupt execution of the process job while suppressing attribute switching. Therefore, it is possible to improve processing efficiency while ensuring proper substrate processing by interrupt scheduling.
[0023] In one embodiment of the present invention, the method further includes a step of accepting input of interrupt execution conditions by a user for the substrate processing apparatus, and the accepted interrupt execution conditions are applied in the interrupt scheduling step. Since the interrupt execution conditions can be specified by the user, the method can improve processing efficiency while responding to user requests. In one embodiment of the present invention, the substrate processing apparatus includes a processing liquid supply unit that supplies a processing liquid to the processing unit, the attributes include a condition related to the processing liquid supplied from the processing liquid supply unit, and the first recipe and the second recipe are 2 The recipe specifies the first processing liquid conditions in common, and 3 The recipe specifies second processing liquid conditions that are different from the first processing liquid conditions.
[0024] This method allows process jobs with common processing liquid conditions to be executed collectively (successively), reducing the number of times the processing liquid conditions are changed. This enables efficient substrate processing. In particular, when a preparation step is required in response to a change in processing liquid conditions, the number of preparation steps can be reduced, improving processing efficiency. The treatment liquid conditions may include one or both of the type of treatment liquid and the temperature of the treatment liquid.
[0025] The present invention also provides a substrate processing method for processing a substrate by a substrate processing apparatus having a processing unit that performs processing on a substrate, the substrate processing method including: a first processing step in which the substrate processing apparatus performs processing on one or more substrates included in a first lot; a second processing step in which the substrate processing apparatus performs processing on one or more substrates included in a second lot different from the first lot after the first processing step; and a third processing step in which the substrate processing apparatus performs processing on one or more substrates included in the first lot after the second processing step.
[0026] In one embodiment of the present invention, the first lot includes one or more substrates to be processed by a first recipe and a second lot including one or more substrates having different attributes from the first recipe. 3 and one or more substrates to be processed by a recipe, the second lot being a second lot having attributes in common with the first recipe. 2 The method includes the steps of: (a) preparing a substrate for processing by a recipe; (b) preparing a substrate for processing by a recipe; 2The third processing step includes a process according to a recipe. 3 Includes recipe-based processing.
[0027] In one embodiment of the present invention, the attribute is an attribute that requires a preparatory process before processing begins in the processing unit, and the substrate processing apparatus performs a preparatory process to switch the attribute between the second processing process and the third processing process. In one embodiment of the present invention, when a continuation status according to a recipe with a common attribute reaches a predetermined threshold, the substrate processing apparatus executes processing on a substrate to be processed according to a recipe with a different attribute.
[0028] In one embodiment of the present invention, when the time elapsed since the substrate processing apparatus started processing the first lot reaches a predetermined threshold, the substrate processing apparatus preferentially processes unprocessed substrates of the first lot. In one embodiment of the present invention, when the elapsed time since the substrate processing apparatus started processing the first lot, or the number of substrates or lots that have started processing since starting processing the first lot, reaches a predetermined threshold, the substrate processing apparatus interrupts processing of the second lot and prioritizes processing of unprocessed substrates of the first lot. The present invention also provides a program executed by a computer provided in a substrate processing apparatus, the computer program including steps for executing the substrate processing method having the above-mentioned characteristics in the substrate processing apparatus. By causing the computer provided in the substrate processing apparatus to execute the computer program, the substrate processing method having the above-mentioned high processing efficiency can be realized.
[0029] This invention One embodiment of the present inventionalso provides a substrate processing apparatus including a processing unit which performs processing on a substrate, and a control job information receiving means which receives input of control job information which defines a control job which is processing for a lot. The control job information includes process job information which defines a process job which is processing for one or more substrates included in the lot. The substrate processing apparatus further includes a scheduling means which formulates a processing plan for the substrate based on the process job information, and a processing execution control means which causes the processing unit to execute substrate processing in accordance with the processing plan formulated by the scheduling means. The control job information receiving means receives first control job information which defines a first control job which is processing for a first lot, and after receiving the first control job information, receives second control job information which defines a second control job which is processing for a second lot. The first control job information includes first process job information which defines a first process job which is processing for one or more substrates included in the first lot according to a first recipe, and a second control job information which defines a second control job which is processing for one or more substrates included in the first lot. 3 The first step is to process the recipe. 3 The process job definition 3 and process job information for one or more substrates included in the second lot. 2 The first step is to process the recipe. 2 The process job definition 2 The scheduling means includes process job information. 2 The recipes include common attributes, 3 If the recipe does not include the attribute, the first process job and the 3 During the process job 2 Develop an execution plan for the first, second and third process jobs in an order in which the process jobs are to be executed.
[0030] In one embodiment of the present invention, the attribute is an attribute that requires a preparatory process before starting processing in the processing unit, and the scheduling means 2 After the process job 3 A plan is developed to execute preparation steps that correspond to the attributes contained in the recipe. In one embodiment of the present invention, the scheduling means performs interrupt scheduling, when a predetermined interrupt execution condition is satisfied, by changing the plan of an unexecuted process job and planning the interrupt execution of a process job selected based on the interrupt execution condition.
[0031] In one embodiment of the present invention, the substrate processing apparatus further includes a means for measuring a control job life that indicates the progress since the start of execution of the first control job, and the scheduling means performs interrupt scheduling to plan interrupt execution of an unprocessed process job included in the first control job when an interrupt execution condition is satisfied, including the control job life reaching a predetermined threshold.
[0032] In one embodiment of the present invention, the substrate processing apparatus is 2 The system further includes a means for calculating an attribute life that indicates the continuation status of processing using a common attribute common to the recipes, and when an interrupt execution condition is satisfied, including the attribute life reaching a predetermined threshold, the scheduling means performs interrupt scheduling that interrupts the processing using the common attribute and plans the interrupt execution of a process job of a recipe having a different attribute.
[0033] In one embodiment of the present invention, the scheduling means plans execution of a process job having an attribute in common with a recipe of the process job, following the process job for which interrupt execution has been planned by the interrupt scheduling. In one embodiment of the present invention, the substrate processing apparatus further includes a means for accepting an input of an interrupt execution condition by a user, and the scheduling means applies the accepted interrupt execution condition in the interrupt scheduling.
[0034] In one embodiment of the present invention, the substrate processing apparatus further includes a processing liquid supply unit that supplies a processing liquid to the processing unit, the attributes include a condition related to the processing liquid supplied from the processing liquid supply unit, and the first recipe and the second recipe are 2 The recipe specifies the first processing liquid conditions in common, and 3 The recipe specifies second processing liquid conditions that are different from the first processing liquid conditions.
[0035] The present invention also provides a substrate processing apparatus including a processing unit that performs processing on a substrate, a substrate transport means that transports the substrate to the processing unit, and a control unit that controls the processing unit and the substrate transport means, wherein the control unit executes a first processing step of transporting one or more substrates included in a first lot to the processing unit by the substrate transport means for processing, a second processing step of transporting one or more substrates included in a second lot different from the first lot to the processing unit by the substrate transport means for processing after the first processing step, and a third processing step of transporting one or more substrates included in the first lot to the processing unit by the substrate transport means for processing after the second processing step.
[0036] In one embodiment of the present invention, the first lot includes one or more substrates to be processed by a first recipe and a second lot including one or more substrates having different attributes from the first recipe. 3 and one or more substrates to be processed by a recipe, the second lot being a second lot having attributes in common with the first recipe. 2 The method includes the steps of: (a) preparing a substrate for processing by a recipe; (b) preparing a substrate for processing by a recipe; 2 The third processing step includes a process according to a recipe. 3 Includes recipe-based processing.
[0037] In one embodiment of the present invention, the attribute is an attribute that requires a preparatory step before processing begins in the processing unit, and the control unit executes a preparatory step to switch the attribute between the second processing step and the third processing step. In one embodiment of the present invention, when the continuation status according to a recipe with a common attribute reaches a predetermined threshold, the control unit causes the substrate transport means to transport a substrate to be processed according to a recipe with a different attribute to the processing unit for processing.
[0038] In one embodiment of the present invention, the elapsed time from the start of processing the first lot is a predetermined When the threshold value is reached, the control unit prioritizes unprocessed substrates of the first lot. The substrate is transported by a substrate transport means to the processing unit for processing. In one embodiment of the present invention, when the elapsed time since processing of the first lot began, or the number of substrates or lots that have begun processing since processing of the first lot began, reaches a predetermined threshold value, the control unit interrupts the processing of the second lot and causes the substrate transport means to preferentially transport unprocessed substrates of the first lot to the processing unit for processing. [Brief description of the drawings]
[0039] [Figure 1] FIG. 1 is a schematic plan view showing a layout of a substrate processing apparatus according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a schematic side view of the substrate processing apparatus. [Diagram 3] FIG. 3 is a block diagram for explaining an electrical configuration of the substrate processing apparatus. [Figure 4] FIG. 4 is a flow chart for explaining an example of processing by a scheduling function unit provided in the substrate processing apparatus. [Diagram 5] FIG. 5 is a flowchart for explaining the details of the overall scheduling. [Figure 6]FIG. 6 is a flowchart for explaining an example of a process for generating an interrupt. [Figure 7] FIG. 7 is a flowchart for explaining another example of a process for generating an interrupt. [Figure 8] FIG. 8 shows an example of a provisional timetable corresponding to a path passing through one processing unit. [Figure 9] FIG. 9 is a diagram for explaining an example of control job data input from the host computer to the substrate processing apparatus. [Figure 10] 10A and 10B show an example of a provisional timetable created in response to the control job data of FIG. [Figure 11] FIG. 11 shows an example of the arrangement of all blocks constituting a tentative timetable corresponding to one substrate of the first process job PJ11 of the first received control job CJ1. [Figure 12] FIG. 12 shows a state in which the second process job PJ12 of the control job CJ1 is put on hold and the third process job PJ13 is scheduled. [Figure 13] FIG. 13 shows a scheduling example (first comparative example) in which process jobs are interchanged within the frame of a control job. [Figure 14] FIG. 14 shows an example of scheduling according to the order of control jobs and the order of process jobs (second comparative example). [Figure 15] FIG. 15 shows an example (embodiment) of scheduling in which process jobs are replaced beyond the scope of control jobs. [Figure 16] Figures 16A to 16D show examples (embodiments) of applying interrupt scheduling, where Figure 16A shows an example of scheduling immediately after acceptance of control job CJ1, Figure 16B shows an example of scheduling immediately after acceptance of control job CJ2, Figure 16C shows an example of interrupt scheduling immediately after the life of control job CJ1 reaches a threshold, and Figure 16D shows an example of scheduling immediately after acceptance of control job CJ3. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0040] Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. FIG. 1 is a schematic plan view showing a layout of a substrate processing apparatus according to an embodiment of the present invention, and FIG. 2 is a schematic side view thereof. This substrate processing apparatus includes an indexer section 1, a processing section 2, and a chemical cabinet CC1. The processing section 2 is provided with a transfer unit PASS for transferring a substrate W to and from the indexer section 1. The indexer section 1 transfers an unprocessed substrate W to the transfer unit PASS and receives a processed substrate W from the transfer unit PASS. The processing section 2 receives the unprocessed substrate W from the transfer unit PASS and performs various processes on the substrate W, such as a process using a processing agent (processing liquid or processing gas), a process using electromagnetic waves such as ultraviolet light, and a physical cleaning process (brush cleaning, spray nozzle cleaning, etc.). Then, the processing section 2 transfers the processed substrate W to the transfer unit PASS.
[0041] The indexer section 1 includes a plurality of stages ST1 to ST4 and an indexer robot IR. The stages ST1 to ST4 are substrate container holders capable of holding substrate containers C that house a plurality of substrates W (e.g., semiconductor wafers) in a stacked state, and provide substrate waiting locations. The substrate containers C may be FOUPs (Front Opening Unified Pods) that house the substrates W in a sealed state, or SMIF (Standard Mechanical Interface) pods, OCs (Open Cassettes), etc. For example, when the substrate containers C are placed on the stages ST1 to ST4, the substrate containers C contain a plurality of horizontally oriented substrates W stacked vertically with gaps between them.
[0042] The indexer robot IR includes, for example, a base unit 6, a multi-joint arm 7, and a pair of hands 8A and 8B. The base unit 6 is fixed to, for example, a frame of the substrate processing apparatus. The multi-joint arm 7 is configured by connecting a plurality of arms that can rotate along a horizontal plane to each other so as to be rotatable, and is configured to bend and extend by changing the angle between the arm units at a joint that is the connecting point of the arm units. The base end of the multi-joint arm 7 is connected to the base unit 6 so as to be rotatable around a vertical axis. Furthermore, the multi-joint arm 7 is connected to the base unit 6 so as to be able to rise and fall. In other words, the base unit 6 includes a lifting drive mechanism for lifting and lowering the multi-joint arm 7 and a rotation drive mechanism for rotating the multi-joint arm 7 around the vertical axis. Furthermore, the multi-joint arm 7 includes an individual rotation drive mechanism for independently rotating each arm unit. The hands 8A and 8B are coupled to the tip of the articulated arm 7 so that they can rotate about a vertical axis and advance and retreat individually in the horizontal direction. The articulated arm 7 is provided with a hand rotation drive mechanism for rotating the hands 8A and 8B about a vertical axis and a hand advance and retreat mechanism for advancing and retreating the hands 8A and 8B individually in the horizontal direction. The hands 8A and 8B are configured to be able to hold, for example, one substrate W each. The hands 8A and 8B may be arranged in a vertically overlapping state, but in FIG. 1, the hands 8A and 8B are drawn shifted in a direction parallel to the paper surface (horizontal direction) for clarity.
[0043] With this configuration, the indexer robot IR operates to take out one unprocessed substrate W from a substrate container C held on any of the stages ST1 to ST4 with the hand 8A and deliver it to the transfer unit PASS. Furthermore, the indexer robot IR operates to receive one processed substrate W from the transfer unit PASS with the hand 8B and accommodate it in a substrate container C held on any of the stages ST1 to ST4.
[0044] The processing section 2 includes a plurality of (12 in this embodiment) processing units MPC1 to MPC12, a main transport robot CR, and the aforementioned transfer unit PASS. In this embodiment, the processing units MPC1 to MPC12 are arranged three-dimensionally. More specifically, the processing units MPC1 to MPC12 are arranged to form a three-layer structure, with four processing units arranged in each layer. That is, four processing units MPC1, MPC4, MPC7, and MPC10 are arranged in the first layer, another four processing units MPC2, MPC5, MPC8, and MPC11 are arranged in the second layer, and further processing units MPC3, MPC6, MPC9, and MPC12 are arranged in the third layer.
[0045] More specifically, the main transport robot CR is disposed in the center of the processing section 2 in a plan view, and a transfer unit PASS is disposed between the main transport robot CR and the indexer robot IR. A first processing unit group G1, which is made up of three processing units MPC1 to MPC3 stacked, and a second processing unit group G2, which is made up of another three processing units MPC4 to MPC6 stacked, are disposed so as to face each other across the transfer unit PASS. A third processing unit group G3, which is made up of three processing units MPC7 to MPC9 stacked, is disposed so as to be adjacent to the first processing unit group G1 on the side farther from the indexer robot IR. Similarly, a fourth processing unit group G4, which is made up of three processing units MPC10 to MPC12 stacked, is disposed so as to be adjacent to the second processing unit group G2 on the side farther from the indexer robot IR. The main transport robot CR is surrounded by the first to fourth processing unit groups G1 to G4.
[0046] The main transport robot CR includes, for example, a base unit 11, an articulated arm 12, and a pair of hands 13A and 13B. The base unit 11 is fixed, for example, to a frame of the substrate processing apparatus. The articulated arm 12 is configured by connecting a plurality of arms extending along a horizontal plane to each other so as to be rotatable, and is configured to bend and extend by changing the angle between the arms at a joint, which is the connecting point of the arms. The base end of the articulated arm 12 is connected to the base unit 11 so as to be rotatable about a vertical axis. Furthermore, the articulated arm 12 is connected to the base unit 11 so as to be movable up and down. In other words, the base unit 11 includes a lifting drive mechanism for lifting and lowering the articulated arm 12 and a rotation drive mechanism for rotating the articulated arm 12 about a vertical axis. The articulated arm 12 is also provided with an individual rotation drive mechanism for independently rotating each arm. The hands 13A and 13B are coupled to the tip of the articulated arm 12 so that they can rotate about a vertical axis and advance and retreat in the horizontal direction. The articulated arm 12 is provided with a hand rotation drive mechanism for rotating the hands 13A and 13B about a vertical axis and a hand advance and retreat mechanism for advancing and retreating the hands 13A and 13B in the horizontal direction. The hands 13A and 13B are configured to be able to hold, for example, one substrate W each. The hands 13A and 13B may be arranged in a vertically overlapping state, but in FIG. 1, the hands 13A and 13B are drawn shifted in a direction parallel to the paper surface (horizontal direction) for clarity.
[0047] With this configuration, the main transport robot CR receives one unprocessed substrate W from the transfer unit PASS with the hand 13A, and carries the unprocessed substrate W into any one of the processing units MPC1 to MPC12. The main transport robot CR also receives a processed substrate W that has been processed in the processing units MPC1 to MPC12 with the hand 13B, and passes the substrate W to the transfer unit PASS.
[0048] The processing units MPC1 to MPC12 are single-wafer processing units that process one substrate W at a time. The processing units MPC1 to MPC12 may be, for example, a rotating liquid processing unit that includes, in a processing chamber 17 (chamber), a spin chuck 15 that holds and rotates one substrate W in a horizontal position, and a processing liquid nozzle 16 that supplies a processing liquid (chemical liquid or rinsing liquid) to the spin chuck 15. In Fig. 2, the internal configuration of only the processing unit MPC3 is shown, and the internal configurations of the other processing units are not shown.
[0049] The chemical liquid cabinet CC1 is an example of a processing liquid supply unit that supplies a chemical liquid as a processing liquid to the processing units MPC1 to MPC12. In this embodiment, the chemical liquid cabinet CC1 is configured to supply a common chemical liquid to all the processing units MPC1 to MPC12. However, a configuration may be adopted in which a plurality of chemical liquid cabinets are provided and each of the chemical liquid cabinets supplies a chemical liquid to one or a plurality of other processing units. The chemical liquid cabinet CC1 includes a tank 3 that stores the chemical liquid, a temperature adjustment unit 4 that adjusts the temperature of the chemical liquid in the tank 3, and a pump 5 that sends the chemical liquid in the tank 3 to the processing units MPC1 to MPC12.
[0050] FIG. 3 is a block diagram for explaining an electrical configuration of the substrate processing apparatus. The substrate processing apparatus includes a computer 20 as a control unit. The computer 20 controls the processing units MPC1 to MPC12, the chemical cabinet CC1, the main transport robot CR, and the indexer robot. The computer 20 may be in the form of a personal computer (FA personal computer). The computer 20 includes a control unit 21, an input / output unit 22, and a storage unit 23. The control unit 21 includes a calculation unit such as a CPU. The input / output unit 22 includes an output device such as a display unit, and an input device such as a keyboard, a pointing device, and a touch panel. Furthermore, the input / output unit 22 includes a communication module for communication with a host computer 24, which is an external computer. The storage unit 23 includes a storage device such as a solid-state memory device, a hard disk drive, etc.
[0051] The control unit 21 includes a scheduling function unit 25 (scheduling means) and a processing execution instruction unit 26 (processing execution control means). The scheduling function unit 25 creates a plan (schedule) for operating resources of the substrate processing apparatus in a time series in order to unload the substrate W from the substrate container C, process the substrate W in one or more of the processing units MPC1 to MPC12, and then store the substrate W in the substrate container C. The processing execution instruction unit 26 operates the resources of the substrate processing apparatus in accordance with the schedule created by the scheduling function unit 25. The resources are various units provided in the substrate processing apparatus and used for processing the substrate W, and specifically include the processing units MPC1 to MPC12, the indexer robot IR, the main transport robot CR, the chemical cabinet CC1, and their components. The indexer robot IR and the main transport robot CR are examples of substrate transport means.
[0052] The storage unit 23 is configured to store various data including the program 30 executed by the control unit 21, control job data (control job information) 40 received from the host computer 24, and schedule data 50 created by the scheduling function unit 25. The control job data 40 includes process job data (process job information) 41.
[0053] The programs 30 stored in the memory unit 23 include a schedule creation program 31 for operating the control unit 21 as the scheduling function unit 25, and a process execution program 32 for operating the control unit 21 as the process execution instruction unit 26. And include. The control job data 40 includes a control job (CJ) code assigned to a processing lot defined by one or more substrates accommodated in one substrate container C, and one or more process job data 41. The process job data 41 includes a process job (PJ) code assigned to each substrate W, and a recipe associated with the process job code.
[0054] The recipe is data that defines the substrate processing contents, and includes substrate processing conditions and substrate processing procedures. More specifically, it includes substrate type information, parallel processing unit information, processing liquid information, processing time information, and the like. The substrate type information is information that indicates the type of substrate to be processed. Specific examples of the substrate type include product substrates used to fabricate products, and non-product substrates that are used for maintenance of processing units and are not used in the manufacture of products. The parallel processing unit information is processing unit designation information that designates available processing units, and indicates that parallel processing is possible using the designated processing units. In other words, when one of the designated processing units is unavailable, it indicates that the other designated processing units can be substituted. "When unavailable" refers to when the processing unit is being used to process another substrate W, when the processing unit is out of order, when the operator does not want the processing unit to process the substrate W, and the like. The processing liquid information is information that designates the type of processing liquid to be used for substrate processing. Specific examples include information that designates the type of chemical liquid and the temperature of the chemical liquid. The processing time information is, for example, the duration for which the processing liquid is supplied. The processing liquid information and the processing time information are examples of processing condition information.
[0055] A process job (PJ) refers to a common process performed on one or more substrates W. A process job code is identification information (substrate group identification information) for identifying a process job. In other words, a common process is performed on multiple substrates W assigned a common process job code according to a recipe associated with the process job code. However, there may be cases where the substrate processing content (recipe) corresponding to different process job codes is the same. For example, when a common process is performed on multiple substrates W that are in a consecutive processing order (order of removal from a substrate container C), a common process job code is assigned to the multiple substrates W.
[0056] A control job (CJ) is a process for one processing lot. A control job includes one or more process jobs. The control unit 21 acquires control job data corresponding to each substrate container C (lot) from the host computer 24 via the input / output unit 22, and stores the data in the storage unit 23. The control unit 21 thereby acquires process job data included in the control job data, and stores the data in the storage unit 23. The acquisition and storage of the process job data may be performed before the scheduling for each substrate W is performed. For example, the control job data corresponding to the substrate container C may be provided from the host computer 24 to the control unit 21 immediately after the substrate container C is held on the stage ST1 to ST4. The scheduling function unit 25 plans each process job based on the process job data included in the control job data 40 stored in the storage unit 23, and stores schedule data 50 representing the plan in the storage unit 23. The processing execution instruction unit 26 controls the indexer robot IR, the main transport robot CR, the processing units MPC1 to MPC12, and the chemical cabinet CC1 based on the schedule data 50 stored in the storage unit 23, thereby causing the substrate processing apparatus to execute the process job.
[0057] 4 to 7 are flow charts for explaining examples of processing by the scheduling function unit 25. More specifically, the flow charts show processing that is repeatedly performed at a predetermined control period by the control unit 21 (computer 20) executing the schedule creation program 31. In other words, the schedule creation program 31 includes a set of steps that cause the computer to execute the processing shown in FIGS.
[0058] The host computer 24 provides control job data to the control unit 21 to instruct the start of a process job defined by the process job data (PJ) included in the control job data (CJ). The control unit 21 receives the control job data (step S1, control job information receiving means) and stores the process job data included therein in the memory unit 23 (step S2). Using the process job data, the scheduling function unit 25 performs scheduling for executing the process job.
[0059] The scheduling function unit 25 first creates a provisional time table for processing each substrate to be processed in the process job (step S3). For example, it is assumed that a recipe associated with a certain process job code in the process job data specifies parallel processing of the processing units MPC1 to MPC12. That is, it is assumed that the substrate processing according to the recipe can be performed in any of the 12 processing units MPC1 to MPC12. In this case, there are 12 routes through which the substrate W to which the process job code is assigned passes when being processed. That is, the routes that can be selected for processing the substrate W are the 12 routes that pass through any of the processing units MPC1 to MPC12. The scheduling function unit 25 then creates a provisional time table for each substrate corresponding to the 12 routes.
[0060] 8 shows a provisional timetable corresponding to the path passing through the processing unit MPC1. This provisional timetable includes a block representing the removal (Get) of the substrate W from the substrate container C by the indexer robot IR, a block representing the loading (Put) of the substrate W into the transfer unit PASS by the indexer robot IR, a block representing the removal (Get) of the substrate W from the transfer unit PASS by the main transport robot CR, a block representing the loading (Put) of the substrate W into the processing unit MPC1 by the main transport robot CR, a processing block representing the processing of the substrate W by the processing unit MPC1, a block representing the removal (Get) of the processed substrate W from the processing unit MPC1 by the main transport robot CR, a block representing the loading (Put) of the substrate W into the transfer unit PASS by the main transport robot CR, a block representing the removal (Get) of the substrate W from the transfer unit PASS by the indexer robot IR, and a block representing the loading (Put) of the substrate W into the substrate container C by the indexer robot IR. The scheduling function unit 25 creates a provisional timetable by arranging these blocks in order on the time axis so that they do not overlap. Furthermore, the provisional timetable in Fig. 8 includes a chemical supply block representing the supply of chemical from the chemical cabinet CC1 during the period in which the processing blocks are arranged.
[0061] The scheduling function unit 25 creates similar provisional timetables (provisional timetables in which processing blocks are arranged in the processing units MPC2 to MPC12, respectively) corresponding to the paths passing through each of the processing units MPC2 to MPC12 for the same substrate W. In this manner, provisional timetables for a total of 12 paths are created for one substrate W. On the other hand, as shown in FIG. 4, the scheduling function unit 25 determines the attributes of the process job based on the process job data, and stores attribute data representing the attributes in the storage unit 23 (step S4). An attribute is a type of processing. More specifically, the type of substrate to be processed is one example of an attribute. Another example of an attribute is the processing conditions of the substrate. More specifically, the type of processing liquid (particularly chemical liquid) and the temperature of the processing liquid specified in the recipe in the process job data are examples of the processing conditions of the substrate. In the example of the provisional timetable shown in FIG. 8, a case is shown in which the supply of a chemical liquid adjusted to a temperature of 60° C. from the chemical liquid cabinet CC1 is specified in the recipe. Therefore, in this example, the attribute data representing the supply of the chemical liquid at 60° C. is stored in the storage unit 23.
[0062] In the case where the chemical cabinet CC1 is configured such that it is not possible to simultaneously supply chemicals at two or more different temperatures, only one type of chemical supply can be planned at the same time. In order to supply chemicals at different temperatures, adjustment is required to change the temperature of the chemicals in the tank 3 (see FIG. 2). Therefore, chemical supplies at different temperatures need to be planned at different times. More specifically, they need to be planned in different periods with a sufficient time required for a preparation process for changing the chemical temperature. Therefore, during a period in which the use of a chemical at a certain temperature is planned, the planning of a process job using a chemical at another temperature is prohibited. In this embodiment, the chemicals are configured to be supplied from one chemical cabinet CC1 to all of the processing units MPC1 to MPC12, and the chemical cabinet CC1 can simultaneously supply chemicals at only one temperature. Therefore, when the use of a chemical at a certain temperature is planned for any of the processing units, the planning of the use of a chemical at another temperature is prohibited in any of the processing units.
[0063] The chemical cabinet CC1 may be configured to supply chemicals to a number of predetermined processing units simultaneously, allowing for scheduling the use of the same type of chemical at the same temperature in different processing units during overlapping periods. The created temporary timetable is stored in the storage unit 23 as a part of the schedule data 50 (step S5 in FIG. 4). Similar temporary timetables are created for all substrates W to which the same process job code has been assigned. At the stage of creating the temporary timetable, interference with blocks relating to other substrates W (overlap on the time axis) is not taken into consideration.
[0064] When the creation of the tentative timetable for all the received process jobs is completed (step S6: YES), the scheduling function unit 25 executes the overall scheduling (step S7). The overall scheduling means arranging the blocks of the created tentative timetable on the time axis so that they do not overlap with other blocks of each resource. The schedule data created by the overall scheduling is stored in the memory unit 23 (step S8).
[0065] When new control job data is received (step S1: YES), it may be possible that there are process jobs that have already been scheduled but not yet executed. In such a case, in the overall scheduling (step S7), scheduling is performed again for all unexecuted process jobs, including those unexecuted process jobs.
[0066] If no new control job data is received (step S1: NO), the scheduling function unit 25 judges whether an interrupt for rescheduling has occurred (step S9). If no interrupt has occurred (step S9: NO), the processing of the current control cycle is terminated. If an interrupt has occurred (step S9: YES), scheduling is performed again for all unexecuted process jobs (step S7, interrupt scheduling step). An interrupt for rescheduling occurs when necessary through an interrupt determination process, which will be described later with reference to Figures 6 and 7. The interrupt determination process generates an interrupt when an interrupt execution condition is met that requires the execution order of unexecuted process jobs to be changed from the planned order.
[0067] 5 is a flow chart for explaining details of the overall scheduling (step S7 in FIG. 4). The scheduling function unit 25 reads out the tentative timetable for the substrate W from the storage unit 23, and arranges the blocks constituting the tentative timetable on the time axis. More specifically, the scheduling function unit 25 judges whether an interruption has occurred (step S21), and if no interruption has occurred, judges whether there is an unplanned process job (step S22). An "unplanned process job" includes not only a process job that has never been planned, but also a process job that is unplanned in the rescheduling in the case where an interruption for rescheduling has occurred. In other words, it is an unplanned process job among the process jobs to be scheduled.
[0068] If all process jobs have been scheduled (step S22: NO), the processing of the current control cycle is terminated. If there is an unscheduled process job (step S22: YES), the scheduling function unit 25 reads out a tentative timetable corresponding to one substrate W of the unscheduled process job having the earliest reception time (step S23). The scheduling function unit 25 judges whether the attribute corresponding to the read tentative timetable is common to the attribute of the process job currently being processed (step S24). More specifically, it judges whether the temperature of the chemical liquid (an attribute, an example of a processing liquid condition) used in the process job currently being executed in the substrate processing apparatus is common to the attribute specified in the recipe of the process job corresponding to the tentative timetable. This judgment can be made by using the attribute data stored in the storage unit 23 for each tentative timetable (or each process job). If there is no process job currently being executed, the judgment in step S24 is negative.
[0069] If the attributes are the same as those of the currently executing process job (step S24: YES), the scheduling function unit 25 places each block constituting the provisional timetable in the corresponding resource forward on the time axis (step S27). That is, each block is placed in the earliest position on the time axis while preventing the same resource from being used twice at the same time. The same process is performed for the provisional timetables of all substrates of the same process job.
[0070] Then, the same process is repeated for the unplanned process job data stored in the storage unit 23 (step S22). If the attributes of the process job for which the tentative timetable has been read are different from the attributes of the currently executing process job (step S24: NO), it is determined whether there is an unplanned process job that has the same attributes as the currently executing process job (step S25). If there is a corresponding process job, the tentative timetable of the process job with the common attributes that was received first is read (step S26). Then, the process of step S27 is executed for this tentative timetable.
[0071] On the other hand, if there is no unplanned process job with a common attribute (step S25: NO), the scheduling function unit 25 judges whether or not a preparatory step is necessary based on the attributes of the process job in the read out tentative timetable (step S28). For example, when the temperature of the chemical liquid to be supplied from the chemical liquid cabinet CC1 is to be changed, a preparatory step is necessary to adjust the temperature of the chemical liquid in the chemical liquid cabinet CC1. When such a preparatory step is necessary (step S28: YES), the scheduling function unit 25 arranges a preparatory step block representing the preparatory step for the chemical liquid cabinet CC1 (step S29), and then executes the process of step S27. At this time, the arrangement of the processing block on the time axis is adjusted so that the processing block is not arranged before the preparatory step, that is, for example, before the temperature adjustment of the chemical liquid is completed. When the preparatory step is not necessary (step S28: NO), the arrangement of the preparatory step block is omitted.
[0072] When an interrupt occurs (step S21: YES), the scheduling function unit 25 reads out a provisional time table of a process job that should be preferentially processed by the interrupt from the storage unit 23. The processes of steps S28, S29, and S27 are executed for the provisional time table (interrupt scheduling). When an interrupt occurs, all unexecuted process jobs are rescheduled. Therefore, after planning (step S27) for a process job that should be preferentially processed by an interrupt (a process job selected according to the interrupt execution condition that has been established), the other unexecuted process jobs are treated as unscheduled process jobs (step S22: YES), and their scheduling is executed.
[0073] 6 is a flow chart for explaining an example of the interruption determination process. When the control unit 21 instructs execution of the first process job included in the control job (step S41: YES), it starts measuring the life of the control job (control job life) (step S42). In this example, the control job life is a quantity that indicates the elapsed time from the start of the control job. One specific example of the control job life is the elapsed time from the start of the control job. Other examples of the control job life are the number of process jobs that have been started (or finished) by the substrate processing apparatus since the start of the control job, the number of substrates W that have been started (or finished) by the substrate processing apparatus since the start of the control job, the number of control jobs that have been started (or finished) by the substrate processing apparatus since the start of the control job, etc.
[0074] The control job life is measured for each individual control job. That is, the control unit 21 measures the control job life of each of all control jobs being executed. When a new control job is started, the control unit 21 starts measuring the control job life of the control job (step S42). When any control job ends, the control unit 21 ends measuring the control job life of the control job (steps S43 and S44).
[0075] The scheduling function unit 25 refers to all the control job lives being measured and judges whether any of the control job lives has reached a predetermined threshold (interrupt execution condition) (step S45). If none of the control job lives have reached the threshold (step S45: NO), the processing ends without generating an interrupt. If any of the control job lives has reached the threshold, the scheduling function unit 25 generates an interrupt (step S46). More specifically, the scheduling function unit 25 generates an interrupt to cause an unexecuted process job in a control job whose control job life has reached the threshold to be executed in priority to other process jobs.
[0076] In order to execute the process job with priority, the scheduling function unit 25 executes rescheduling to interrupt the created schedule for the process job (step S9 in FIG. 4: YES, step S21 in FIG. 5: YES). In this rescheduling, the scheduling function unit 25 discards the existing schedule and executes the schedule again so that the process job to be interrupted is executed next after the process job that has already started execution.
[0077] By such interrupt rescheduling, a substantial time limit can be set from the start to the end of processing of one control job. This makes it possible to avoid having the first substrate of a certain control job wait in the substrate container C for a long time after processing is completed. For example, when the substrate container C is a container with an openable / closable lid (FOUP, etc.), it is possible to prevent the openable / closable lid from remaining in an open state for a long time. This makes it possible to suppress adverse effects on the surface of the processed substrate, such as the growth of a natural oxide film and effects of the surrounding atmosphere. Furthermore, it is possible to prevent the stage ST that holds the substrate container C from being occupied by one substrate container C for a long time, thereby shortening the time until the next substrate container C can be loaded.
[0078] 7 is a flow chart for explaining another example of the interruption determination process. In this example, when a process job having a recipe specifying a new attribute starts to be executed (step S51: YES), the control unit 21 measures the life of the attribute (attribute life). In this example, the attribute life is a quantity that indicates the elapsed time from the start of processing with a certain attribute (in other words, attribute switching). One specific example of the attribute life is the elapsed time from the start of processing with a new attribute. Other examples of the attribute life are the number of process jobs that have started (or ended) processing by the substrate processing apparatus after starting processing with the new attribute, the number of substrates W that have started (or ended) processing by the substrate processing apparatus after starting processing with the new attribute, the number of control jobs that have started (or ended) processing by the substrate processing apparatus after starting processing with the new attribute, etc.
[0079] When multiple attributes are defined, the measurement of attribute life is performed for each attribute. That is, the control unit 21 measures the attribute life of each attribute currently applied for substrate processing. When processing with a new attribute is started, the control unit 21 starts measuring the attribute (step S52). Furthermore, when application of any attribute is finished, the control unit 21 ends measuring the attribute life of that attribute (steps S53, S54).
[0080] The scheduling function unit 25 refers to all attribute lives being measured and determines whether any of the attribute lives has reached a predetermined threshold (interrupt execution condition) (step S55). If none of the attribute lives have reached the threshold (step S55: NO), the processing ends without generating an interrupt. If any of the attribute lives has reached the threshold, the scheduling function unit 25 generates an interrupt (step S56). More specifically, the scheduling function unit 25 generates an interrupt to give priority to and execute an unexecuted process job that has a specified attribute different from the attribute whose attribute life has reached the threshold.
[0081] In order to execute the process job with priority, the scheduling function unit 25 executes rescheduling to interrupt the created schedule for the process job (step S9 in FIG. 4: YES, step S21 in FIG. 5: YES). In this rescheduling, the scheduling function unit 25 discards the existing schedule and executes the schedule again so that the process job to be interrupted is executed next after the process job that has already started execution.
[0082] For example, when the type of chemical is one of the attributes, repeated cyclic use of the same chemical may deteriorate the quality of the chemical, which may affect substrate processing. Therefore, the life of a certain type of chemical from the start of use (e.g., the number of substrates processed) may be measured, and when the life reaches a threshold, a process job that specifies a different type of chemical may be executed with priority, while measures may be taken to replace the chemical whose life has reached the threshold.
[0083] Only one of the interrupt determination processes in Fig. 6 and Fig. 7 may be performed, or both may be performed. Furthermore, an interrupt determination process that provides an opportunity for rescheduling from a different perspective may be performed. 9 shows an example of control job data input from the host computer 24 to the computer 20. In this example, it is assumed that control job data corresponding to three control jobs CJ1, CJ2, and CJ3 are given to the computer 20 in this order.
[0084] When the computer 20 receives the control job data from the host computer 24, the computer 20 manages the control jobs by assigning codes CJ1, CJ2, and CJ3 to them in the order of reception. In this example, the control job CJ1 includes a plurality of process jobs PJ11, PJ12, and PJ13, which are ordered in the control job data. That is, the data (control job data) of the control job CJ1 includes process job data representing a plurality of process jobs PJ11 to PJ13. Also, the control job CJ2 includes a plurality of process jobs PJ21, PJ22, and PJ23, which are ordered in the control job data. That is, the data (control job data) of the control job CJ2 includes process job data representing a plurality of process jobs PJ21 to PJ23. The control job CJ3 includes a plurality of process jobs PJ31, PJ32, and PJ33, which are ordered in the control job data. That is, the data of the control job CJ3 (control job data) includes process job data representing a plurality of process jobs PJ31 to PJ33. The computer 20 manages the process jobs included in the received control job by assigning codes PJ11, PJ12, PJ13; PJ21, PJ22, PJ23; PJ31, PJ32, PJ33 to avoid duplication.
[0085] The process job data representing each process job includes recipe data that specifies a recipe representing substrate processing conditions. The recipe data includes available processing units, specific processing procedures in the processing units, and instructions (processing liquid conditions) regarding processing liquids (particularly chemical liquids) used in each processing procedure. In this embodiment, the instructions regarding processing liquids include chemical liquid recipe data that specifies the type and / or temperature of the chemical liquid. The process job data may further include transport option data. The transport option data includes, for example, hand setting data for setting the hand of the robot used during substrate transport. The process job data may further include setting data for pre- and post-processing skip. Pre- and post-processing skip refers to omitting pre- and post-processing when the same recipe as that of the process job executed immediately before is specified in the process job data. Pre- and post-processing refers to preparatory processing that is executed as necessary between process jobs with different recipes.
[0086] In the example of FIG. 9, a liquid chemical recipe C1 (first processing liquid condition) is specified for process jobs PJ11, PJ13; PJ21, PJ22, PJ23; PJ32, and PJ33, and a liquid chemical recipe C2 (second processing liquid condition) is specified for process jobs PJ12 and PJ31. For example, the liquid chemical recipe C1 specifies the use of a liquid chemical at a first temperature (e.g., 60° C.), and accordingly, the liquid chemical cabinet CC1 is controlled to supply a liquid chemical at the first temperature. Also, the liquid chemical recipe C2 specifies the use of a liquid chemical at a second temperature (e.g., 80° C.) different from the first temperature, and accordingly, the liquid chemical cabinet CC1 is controlled to supply a liquid chemical at the second temperature. The temperature of the liquid chemical supplied from the liquid chemical cabinet CC1 cannot be switched instantly. That is, a preparation process for adjusting the temperature is required in the liquid chemical cabinet CC1, and it takes a certain amount of time to change the liquid chemical temperature and supply a stable liquid chemical at the changed temperature.
[0087] For ease of explanation, it is assumed that the recipe data of the process jobs PJ11, PJ12, PJ13; PJ21, PJ22, PJ23; and PJ31, PJ32, PJ33 all specify processing in one processing unit MPC1. Figure 10A shows a provisional timetable created for each substrate of process jobs PJ11, PJ13; PJ21, PJ22, PJ23; PJ32, PJ33 for which chemical recipe C1 is specified, and Figure 10B shows a provisional timetable created for each substrate of process jobs PJ12; PJ31 for which chemical recipe C2 is specified.
[0088] The scheduling function unit 25 creates tentative timetables corresponding to all the process jobs PJ11, PJ12, PJ13; PJ21, PJ22, PJ23; and PJ31, PJ32, PJ33. In the assumed example, the recipe data of process jobs PJ11, PJ12, PJ13; PJ21, PJ22, PJ23; PJ31, PJ32, PJ33 all specify processing in one processing unit MPC1, so a provisional timetable is created for processing substrates by specifying processing in one processing unit MPC1. That is, a provisional timetable is created in which processing blocks are allocated to the processing units MPC1. A processing block indicates that the processing unit is occupied for substrate processing. If the recipe of a certain process job allows parallel processing in multiple processing units, multiple provisional timetables are created in which processing blocks are allocated to the multiple processing units allowed.
[0089] During the period of the processing block arranged in the processing unit MPC1, a chemical supplying block is arranged corresponding to the chemical cabinet CC1 during the period when the chemical is to be supplied from the chemical cabinet CC1. The chemical supplying block indicates that the chemical cabinet CC1 is used for supplying chemical. In the tentative timetable of Fig. 10A, a chemical supplying block that specifies a chemical supply at a first temperature (e.g., 60°C) according to the chemical recipe C1 is arranged, and in the tentative timetable of Fig. 10B, a chemical supplying block that specifies a chemical supply at a second temperature (e.g., 80°C) according to the chemical recipe C2 is arranged.
[0090] FIG. 11 shows an example of the arrangement of all blocks constituting a tentative timetable corresponding to the first substrate of the first process job PJ11 of the first received control job CJ1. The scheduling function unit 25 first arranges the blocks obtained from the tentative timetable of the process job PJ11 in the space of the corresponding resource in the earliest position on the time axis (i.e., from the front). At this time, the scheduling function unit 25 arranges each block so that the blocks do not overlap in the space of the same resource. The process job PJ11 is a process that specifies that the processing of one substrate should be performed by the processing unit MPC1, for example. Therefore, the scheduling function unit 25 arranges the processing blocks so as to correspond to the processing unit MPC1.
[0091] Furthermore, since the chemical recipe C1 of the process job PJ11 specifies the use of a chemical at a first temperature (for example, 60°C), a chemical supplying block (60°C) is placed in correspondence with the chemical cabinet CC1 during the period in which the chemical is used within the period in which the processing blocks are placed. If another process job specifying the chemical recipe C1 is not being executed or planned immediately before the process job PJ11, a preparation process block for adjusting the chemical temperature corresponding to the chemical recipe C1 is placed before the chemical supplying block (60°C). In this way, the scheduling for the process job PJ11 is completed.
[0092] If the process job PJ11 is for processing two or more substrates, the processing is repeated in the same manner for the second and subsequent substrates in the processing unit MPC1. If the process job PJ11 allows parallel processing in multiple processing units, a tentative timetable that uses one of the multiple allowed processing units is selected so that the processing block can be placed at an earlier time.
[0093] Next, the scheduling function unit 25 starts scheduling for the process job PJ12 described next to the process job PJ11 in the data of the control job CJ1. However, the recipe data of the process job PJ12 includes a chemical recipe C2 that specifies the use of a chemical at a second temperature (e.g., 80°C), and this chemical recipe C1 is different from the chemical recipe C1 of the process job PJ11 that was planned immediately before. Therefore, the scheduling function unit 25 suspends the planning of the process job PJ12.
[0094] 12, the scheduling function unit 25 holds the processing schedule of the process job PJ12 and schedules the process job PJ13, whose information (process job data) is described next to the process job PJ12 in the control job CJ1. The recipe of the process job PJ13 specifies the same chemical recipe C1 as the process job PJ11, so the processing conditions (chemical temperature) of the previously planned process job PJ11 and the processing conditions (chemical temperature) of the planned process job PJ13 are the same.
[0095] Therefore, the scheduling function unit 25 places the blocks that make up the tentative timetable for process job PJ13 front-loaded on the time axis so as not to overlap with other blocks of the same resource. As a result, the processing blocks are placed in processing unit MPC1. Furthermore, since process job PJ13 specifies the use of a 60°C chemical, a chemical supply block is placed in correspondence with chemical cabinet CC1 during the period in which the processing blocks are placed and the chemical is used. In this way, the scheduling for process job PJ13 is completed.
[0096] If the process job PJ13 is for processing two or more substrates, the processing in the processing unit MPC1 is scheduled to be repeated in the same manner for the second and subsequent substrates. Thereafter, process jobs are scheduled in a similar manner. FIG. 13 shows a schedule according to a first comparative example. For ease of explanation, FIG. 13 shows only a processing block, a chemical supply block, and a preparation step block. The preparation step block is a block for instructing a preparation step required for executing a chemical recipe. More specifically, prior to the execution of chemical recipe C1, a preparation step is performed in chemical cabinet CC1 to adjust the chemical to a first temperature (e.g., 60°C). Similarly, prior to the execution of chemical recipe C2, a preparation step is performed in chemical cabinet CC1 to adjust the chemical to a second temperature (e.g., 80°C). If the temperature of the chemical has already been adjusted, there is no need to plan a preparation step.
[0097] Since the recipe of the first process job PJ11 specifies the chemical liquid recipe C1, a preparation step block is placed before the corresponding processing block (more precisely, before the chemical liquid supply block). This preparation step block instructs a preparation step for executing the chemical liquid recipe C1 (supply of chemical liquid at a first temperature). Since the execution of process job PJ13, which specifies the same chemical liquid recipe C1, is planned after process job PJ11, there is no need to execute a preparation step prior to the corresponding processing block, and therefore a preparation step block is not placed.
[0098] In this comparative example, the order of process jobs is only allowed to be changed within the scope of one control job. Therefore, process job PJ12 is scheduled to be executed after process job PJ13. The recipe for process job PJ12 specifies chemical recipe C2 (supply of chemical at a second temperature), so a preparation process block is placed before the corresponding processing block. This preparation process block is a block for adjusting the temperature of the chemical to the second temperature in chemical cabinet CC1.
[0099] In this way, when planning of all process jobs PJ11 to PJ13 of control job CJ1 is completed, the next control job CJ2 is planned. Since the recipes of process jobs PJ21 to PJ23 included in control job CJ2 all specify chemical liquid recipe C1 (supply of chemical liquid at a first temperature), a preparation step block is placed before the processing block corresponding to the first process job PJ21. This preparation step block is a block for adjusting the temperature of the chemical liquid to the first temperature in chemical liquid cabinet CC1. Since the recipes of other process jobs PJ22 and PJ23 constituting control job CJ1 all specify chemical liquid recipe C1, these processing blocks are placed in order with respect to processing unit MPC1, and no preparation step block is placed between these processing blocks and the preceding processing block.
[0100] In this way, when planning of all process jobs PJ21 to PJ23 of control job CJ2 is completed, the next control job CJ3 is planned. Control job CJ3 is not scheduled after control job CJ1, with control job CJ2 being postponed. Control job CJ3 includes process jobs PJ32 and PJ33 that specify the same chemical recipe C1 as the recipe of the immediately preceding scheduled process job PJ23. Therefore, process jobs PJ32 and PJ33 are scheduled in order before process job PJ31, and then process job PJ31 that specifies chemical recipe C2 (chemical at a second temperature) is scheduled. This eliminates the need to place a preparation step block between the processing blocks of process jobs PJ23 and PJ32. A preparation step block is placed between process jobs PJ33 and PJ31. This preparation step block is a block that instructs a preparation step for adjusting the temperature of the chemical to the second temperature in chemical cabinet CC1.
[0101] FIG. 14 shows a schedule according to the second comparative example. In this second comparative example, the control jobs CJ1, CJ2, and CJ3 are scheduled in this order, and the process jobs included in each control job are scheduled in the order in which they are written. As a result, preparatory process blocks are arranged before the processing block of the process job PJ11, between the processing blocks of the process jobs PJ11 and PJ12, between the processing blocks of the process jobs PJ12 and PJ13, between the processing blocks of the process jobs PJ23 and PJ31, and between the processing blocks of the process jobs PJ31 and PJ32. Therefore, a total of five preparatory processes are performed. In contrast, in the first comparative example shown in FIG. 13, a total of four preparatory processes are performed. Therefore, the number of preparatory processes is smaller in the first comparative example, so that the total substrate processing time is shorter and the productivity is higher.
[0102] 15 shows an example (embodiment) of a schedule in one embodiment of the present invention. In this embodiment, the control jobs CJ1, CJ2, and CJ3 do not need to be executed in the order in which they were received, and the execution order of the process jobs is allowed to be changed beyond the scope of the control jobs. In other words, the received process jobs are planned in a changed order so that a process job that specifies the same liquid recipe as the liquid recipe specified by the process job scheduled immediately before is consecutive.
[0103] That is, the process jobs are planned in the following order: PJ11, PJ13, PJ21, PJ22, PJ23, PJ32, PJ33, PJ12, PJ31. As a result, a preparatory process block is placed before the processing block of process job PJ11 and between the processing blocks of process jobs PJ33 and PJ12. Therefore, the preparatory process is executed only twice, so that the total substrate processing time is shorter and the productivity is higher than in the first and second comparative examples.
[0104] 16A to 16D show another example (embodiment) of scheduling in an embodiment of the present invention. In this scheduling example, interrupt scheduling is performed based on the elapsed time from the start of execution of a control job (an example of a control job life). In the scheduling example of Fig. 15, it takes a long time from the start of execution of process job PJ11, which is executed first among control job CJ1, to the start of process job PJ12, which is executed last, and there is a risk that the elapsed time (control job life) will reach a threshold value by then. As a result, after the substrate corresponding to process job PJ11 has been processed and accommodated in a substrate container C, it will be in a standby state for a long time until all substrates of the last process job PJ12 are accommodated in the substrate container C. For example, if the substrate container C has an opening / closing lid, the opening / closing lid will be in an open state for a long time, and the substrates in the substrate container C will be exposed to the surrounding atmosphere for a long time. The scheduling examples of Figs. 16A to 16D solve such a problem.
[0105] This scheduling example assumes that control jobs CJ1, CJ2, and CJ3 are received at times t1, t2, and t3, respectively. When the control job CJ1 is received at time t1, the scheduling function unit 25 plans the execution of the process jobs PJ11, PJ12, and PJ13, and the process execution instruction unit 26 immediately executes the plan. At this point, the control jobs CJ2 and CJ3 have not been received. If no process job has been planned immediately before, the scheduling function unit 25 plans the first process job PJ11 of the control job CJ1. As shown in FIG. 16A, the scheduling function unit 25 places a preparation step block for the liquid recipe C1 before the processing block of the process job PJ11 (more precisely, before the liquid supply block). The scheduling function unit 25 plans the execution of the process job PJ13, which specifies the common liquid recipe C1, after the process job PJ11, and then plans the execution of the process job PJ12. A preparation step block for the liquid recipe C2 is placed between the processing block of the process job PJ13 and the processing block of the process job PJ12.
[0106] When another control job CJ2 is received at time t2 after the process job PJ11 has started to be executed and before the process job PJ13 has started to be executed, the scheduling function unit 25 executes the scheduling for the process jobs PJ13, PJ12, PJ21, PJ22, and PJ23 that have not been executed at that time, and the process execution instruction unit 26 immediately executes the plan. In other words, rescheduling is performed, and the process according to the rescheduling is executed.
[0107] As shown in FIG. 16B, the scheduling function unit 25 schedules the execution of process jobs PJ13, PJ21, PJ22, and PJ23 in sequence, which specify a common liquid recipe C1 with the currently executing process job PJ11, and then the execution of process job PJ12 after going through a preparation process for the liquid recipe C2. 16C, while processing is being performed according to this plan, the process job PJ22 starts to be executed, and at time t11 before the process job PJ23 starts to be executed, the elapsed time from the start of execution of the control job CJ1 (control job life) reaches a threshold value. Then, the scheduling function unit 25 plans an interrupt execution of the unexecuted process job PJ12 of the control job CJ1.
[0108] More specifically, the scheduling function unit 25 reschedules the process job PJ12 so that it is executed following the process job PJ22 that has just started execution. Since the process job PJ12 specifies the liquid recipe C2, a preparation step block for the liquid recipe C2 is placed before the processing block of the process job PJ2. Since no process job specifying the liquid recipe C2 has been received other than the process job PJ12 at time t11, the scheduling function unit 25 plans to execute the remaining process job PJ23 after the process job PJ12. Before the processing block of the process job PJ23, a preparation step block for the liquid recipe C1 is placed.
[0109] After the rescheduling is performed in this manner, as shown in Fig. 16D, at time t3 after the process job PJ12 starts to be executed and before the preparatory step starts to be executed, the control job CJ3 is received. Then, the scheduling function unit 25 reschedules the process jobs PJ23, PJ31, PJ32, and PJ33 that have not yet started as of time t3. As a result, the execution of the process job PJ31 that specifies the liquid recipe C2 common to the process job PJ12 being executed is planned, followed by the preparatory step for switching to the liquid recipe C1, and further, a plan is formulated for sequentially executing the process jobs PJ23, PJ32, and PJ33 that specify the liquid recipe C1.
[0110] In this way, the scheduling function unit 25 performs rescheduling every time control job data is received to minimize the number of preparation steps. Furthermore, the scheduling function unit 25 measures the life of each control job, such as the elapsed time from the execution of the first process job, and when the life reaches a threshold, performs rescheduling to interrupt and execute the unexecuted process job of the control job.
[0111] As described above, according to this embodiment, before all process jobs PJ11 to PJ13 included in a control job CJ1 are completed, a process job PJ21 etc. included in another control job CJ2 is executed. That is, since the process jobs PJ11, PJ13 included in the control job CJ1 and the process jobs PJ21 to PJ23 specifying the chemical recipe C1 of a common attribute are included in the control job CJ2, the order of the process jobs is changed beyond the scope of the control job. As a result, the process jobs specifying the chemical recipe C1 of a common attribute can be executed collectively (successively), so that the number of times the chemical recipe is switched can be reduced, and the number of preparatory steps can be reduced accordingly. As a result, substrate processing with high productivity can be realized.
[0112] On the other hand, when a predetermined interrupt execution condition is satisfied (step S45 in FIG. 6, step S55 in FIG. 7), the plan of the unexecuted process job is changed to execute the process job corresponding to the interrupt execution condition with priority. This makes it possible to avoid or eliminate any inconvenience that may arise due to the replacement of process jobs beyond the scope of the control job. This makes it possible to improve production efficiency while ensuring appropriate substrate processing. Specifically, a substantial time limit can be set from the start to the end of processing of one control job (see FIG. 6). This can prevent the first substrate of a certain control job from waiting in the substrate container C for a long time after processing is completed. For example, when the substrate container C is a container with an openable / closable lid (FOUP, etc.), the openable / closable lid can be prevented from remaining open for a long time. This can suppress adverse effects on the surface of the processed substrate, such as the growth of a natural oxide film and effects from the surrounding atmosphere. Furthermore, it can prevent the stage ST that holds the substrate container C from being occupied by one substrate container C for a long time, and the time until the next substrate container C can be loaded can be shortened. Also, a limit can be set for the continuous use of the chemical liquid (see FIG. 7). If the same chemical liquid is repeatedly circulated and used, the quality of the chemical liquid may deteriorate, which may affect the substrate processing. Therefore, the life of a certain type of chemical liquid from the start of use (for example, the number of substrates processed) can be measured, and when the life of the chemical liquid reaches a threshold value, a process job that specifies a different type of chemical liquid is preferentially executed, while a measure to replace the chemical liquid that has reached the threshold value can be taken.
[0113] Furthermore, when such interrupt scheduling is performed, a process job having attributes common to the recipe of the process job is scheduled to be executed following the process job for which interrupt execution is scheduled, thereby suppressing attribute switching while allowing the interrupt execution to be scheduled, thereby improving processing efficiency while ensuring proper substrate processing through interrupt execution.
[0114] The interrupt execution conditions may be input and specified by a user using an operation device, which is an example of the input / output unit 22 (see FIG. 3). The computer 20 receives such input, monitors the interrupt execution conditions, and executes interrupt scheduling when the conditions are satisfied. This makes it possible to improve the processing efficiency of the substrate processing apparatus while responding to user requests. Although one embodiment of the present invention has been described above, the present invention can be embodied in other forms. For example, in the above embodiment, the temperature of the processing liquid has been mainly described as an example of an attribute defined by a recipe, but as described above, the type of processing liquid is also an example of an attribute that requires a preparation process when changing it. In addition to these examples, when an attribute that requires preparation when starting or changing is specified in a recipe, the production efficiency of the substrate processing apparatus can be improved by changing the execution order of process jobs beyond the frame of control jobs so that the attribute is as continuous as possible.
[0115] Further, in the above embodiment, a configuration in which one liquid medicine cabinet CC1 is provided has been described, but two or more liquid medicine cabinets may be provided. In the above embodiment, the processing section 2 is provided with one main transport robot CR, but two or more main transport robots may be provided. Each of the two or more main transport robots may be arranged to transfer the substrate W directly to and from the indexer robot IR (without going through another main transport robot). At least one of the two or more main transport robots may be arranged to transfer the substrate W to and from the indexer robot IR via the other main transport robot.
[0116] In addition, the arrangement and number of the processing units MPC1 to MPC12 in the above embodiment are merely examples, and it goes without saying that the arrangement and number can be changed. Of course, the multiple processing units may be the same type of processing units, or may include different types of processing units. In addition, in the above-described embodiment, the case where the control job data is provided from the host computer 24 has been mainly described, but the control job data may be provided to the control unit 21 in response to an instruction from an operating device (an example of the input / output unit 22) operated by a user.
[0117] In addition, various design modifications can be made within the scope of the claims. [Explanation of symbols]
[0118] 1: Indexer section 2: Processing section 3: Tank 4: Temperature control unit 5: Pump 15: Spin chuck 16: Processing liquid nozzle 17: Processing room 20: Computer 21: Control section 22: Input / Output section 23: Storage section 24: Host computer 25: Scheduling function unit 26: Processing execution instruction section 30: Program 31: Schedule creation program 32: Processing execution program 40: Control job data 41: Process job data 50: Schedule data C: Substrate container C1, C2: Chemical solution recipe CC1: Chemical Cabinet CJ1~CJ3: Control Job CR: Main transport robot G1~G4: Processing unit group IR: Indexer robot MPC1~MPC12: Processing units PASS: Delivery unit PJ11~PJ13: Process jobs PJ21~PJ23: Process jobs PJ31~PJ33: Process jobs ST1~ST4: Stage W: Substrate
Claims
1. A substrate processing method for processing a substrate by a substrate processing apparatus having a processing unit that performs processing on the substrate, comprising: receiving first control job information defining a first control job which is a process for a first lot, by the substrate processing apparatus; receiving, by the substrate processing apparatus, second control job information defining a second control job which is a process for a second lot after receiving the first control job information; the first control job information includes first process job information that defines a first process job, which is a processing of one or more substrates included in the first lot according to a first recipe, and third process job information that defines a third process job, which is a processing of one or more substrates included in the first lot according to a third recipe; the second control job information includes second process job information that defines a second process job that is a process according to a second recipe for one or more substrates included in the second lot; The substrate processing apparatus executes the first process job; executing the second process job by the substrate processing apparatus after the first process job; executing the third process job by the substrate processing apparatus after the second process job; A substrate processing method, in which, when the elapsed time since the substrate processing apparatus started processing the first lot, or the number of substrates or lots that have started processing since the substrate processing apparatus started processing the first lot, reaches a predetermined threshold, the substrate processing apparatus interrupts the processing of the second process job for the second lot and prioritizes processing the third process job for the first lot.
2. The first recipe and the third recipe have different attributes, The method of claim 1 , wherein the first recipe and the second recipe have common attributes.
3. the attribute is an attribute that requires a preparatory step before starting processing in the processing unit, The substrate processing method according to claim 2 , further comprising the step of: executing a preparation process in which the substrate processing apparatus switches attributes between the second process job and the third process job.
4. 4. The substrate processing method according to claim 2, wherein when a continuation status according to a recipe having a common attribute reaches a predetermined threshold, the substrate processing apparatus executes processing on a substrate to be processed according to a recipe having a different attribute.
5. A program executed by a computer provided in a substrate processing apparatus, the computer program including steps for executing the method according to any one of claims 1 to 4 in the substrate processing apparatus.
6. a processing unit for performing processing on the substrate; a substrate transport means for transporting a substrate to the processing unit; a control unit for controlling the processing unit and the substrate transport means; the control unit executes a step of receiving first control job information defining a first control job which is a process for a first lot, and a step of receiving, after receiving the first control job information, second control job information defining a second control job which is a process for a second lot; the first control job information includes first process job information that defines a first process job, which is a processing of one or more substrates included in the first lot according to a first recipe, and third process job information that defines a third process job, which is a processing of one or more substrates included in the first lot according to a third recipe; the second control job information includes second process job information that defines a second process job that is a process according to a second recipe for one or more substrates included in the second lot; The control unit: a step of transporting one or more substrates included in a first lot to the processing unit by the substrate transport means to execute the first process job; After the first process job, one or more substrates included in the second lot are transported by the substrate transport means to the processing unit to execute the second process job; After the second process job, one or more substrates included in the first lot are transported by the substrate transport means to the processing unit to execute the third process job; Run A substrate processing apparatus wherein, when the elapsed time since processing of the first lot began, or the number of substrates or lots which have begun processing since processing of the first lot began, reaches a predetermined threshold, the control unit interrupts the processing of the second process job for the second lot and executes the third process job for the first lot with priority.
7. The first recipe and the third recipe have different attributes, The substrate processing apparatus of claim 6 , wherein the first recipe and the second recipe have a common attribute.
8. the attribute is an attribute that requires a preparatory step before starting processing in the processing unit, The substrate processing apparatus of claim 7 , wherein the control unit executes a preparation step for switching attributes between the second process job and the third process job.
9. 9. The substrate processing apparatus according to claim 7, wherein when a continuation status according to a recipe having a common attribute reaches a predetermined threshold, the control unit causes the substrate transport means to transport a substrate to be processed according to a recipe having a different attribute to the processing unit for processing.
Citation Information
Patent Citations
Method for creating schedule of substrate processing apparatus and program therefor
JP2003086481A
Production management method and system
JP2009037406A
Method of controlling substrate processing apparatus, and storage medium
JP2011009342A
Substrate processing method and substrate processing device
JP2016139667A
