How to change your schedule
By installing sensors in the processing unit to detect the processing end time and dynamically adjust the processing time and process, the problem of inaccurate processing time is solved, production efficiency and resource utilization are improved, and particle adhesion risks are reduced.
Patent Information
- Application Number
- JP2021088283
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-05-26
- Publication Date
- 2025-02-10
- Estimated Expiration
- 2041-05-26
AI Technical Summary
The prior art cannot effectively respond to individual differences between each processing unit and the processing time requirements that change over time, resulting in inaccurate processing time and affecting production efficiency and product quality.
By installing sensors in the processing unit to detect the processing end time, and dynamically adjust the processing time and flow according to the detection results, the processing order and time schedule are rearranged.
Dynamic adjustment of processing time is achieved, production efficiency is improved, waiting time is reduced, particle attachment risk is reduced, and resource use is optimized.
Smart Images

Figure 0007628467000001 
Figure 0007628467000002 
Figure 0007628467000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a method for rescheduling. [Background technology]
[0002] Conventionally, a substrate processing apparatus for processing a substrate has been proposed. This substrate processing apparatus includes a plurality of processing units for processing a substrate, a transport robot for transporting the substrate, and a control unit. The transport robot transports an unprocessed substrate to each processing unit and transports a processed substrate from each processing unit. The control unit controls the transport robot and the processing units.
[0003] The control unit creates a schedule that specifies the operations of the transport robot and the processing units, and controls the transport robot and the processing units according to this schedule (for example, Patent Document 1). In Patent Document 1, the control unit first creates a provisional timetable by combining blocks that specify the processing content for each substrate for each processing unit in chronological order. These blocks indicate the processing for the substrate in each processing unit and the transport processing by the transport robot, and the length of the block indicates the required processing time for each processing.
[0004] Next, the control unit obtains blocks from this tentative timetable and arranges them in chronological order to create a schedule that defines the time periods for processing in each unit in the entire substrate processing apparatus.
[0005] The control unit can cause the transport robot and the processing units to operate in accordance with the created schedule, thereby causing the substrates to be processed in each processing unit in sequence. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] JP 2013-77796 A Summary of the Invention [Problem to be solved by the invention]
[0007] The required processing time in each processing unit may differ due to, for example, individual differences in the processing units. The required processing time may also vary due to deterioration of the processing unit over time. The required processing time may also vary due to individual differences in the substrates. Therefore, it is desirable to correct the required processing time in each processing unit.
[0008] However, in Patent Document 1, a schedule is used that is created by determining in advance the processing time required for each processing unit, and therefore such fluctuations in processing time cannot be accommodated.
[0009] Therefore, an object of the present application is to provide a technique that can create a schedule in response to fluctuations in processing time. [Means for solving the problem]
[0010] A first aspect of the schedule change method is a schedule change method for changing a schedule that chronologically specifies the processing of a substrate by a plurality of processing units, and includes a start step in which each of the plurality of processing units starts substrate processing to process the substrate while sequentially transporting the substrate to the plurality of processing units in accordance with the schedule, a detection step in which a sensor in a first processing unit of the plurality of processing units detects an end time of a predetermined processing of the substrate, and a rescheduling step in which the schedule is re-created based on the end time.
[0011] A second aspect of the schedule change method is a schedule change method for changing a schedule that chronologically specifies the processing of a substrate by a plurality of processing units, and includes a start step of starting substrate processing in which each of the plurality of processing units processes the substrate while sequentially transporting the substrate to the plurality of processing units in accordance with the schedule, a detection step of detecting an end time of a predetermined processing for the substrate in a first processing unit of the plurality of processing units, a rescheduling step of recreating the schedule when a first time from detection of the end time to the start of unloading the substrate from the first processing unit specified in the schedule is equal to or longer than a specified second time required to re-create the schedule, and a processing time change step of increasing the processing time of post-processing after the predetermined processing in the first processing unit when the first time is less than the second time.
[0012] A third aspect of the schedule change method is a schedule change method according to the second aspect, further comprising a flow rate change step of reducing a flow rate of a rinsing liquid in the rinsing process, which is the post-processing, when the first time is less than the second time.
[0013] A fourth aspect of the schedule change method is a schedule change method for changing a schedule that specifies the processing of substrates by a plurality of processing units in a chronological order, and includes a start step of starting substrate processing in which each of the plurality of processing units processes the substrate while sequentially transporting the substrate to the plurality of processing units in accordance with the schedule, a storage step of storing information regarding the end time in a storage medium when a sensor in each of the plurality of processing units detects the end time of a predetermined processing for the substrate, and a display step of displaying on a display unit a first proposal of the schedule created based on the information stored in the storage medium and a second proposal in which the processing time of post-processing after the predetermined processing in each of the plurality of processing units is increased by a time based on the information stored in the storage medium.
[0014] A fifth aspect of the schedule change method is a schedule change method according to the fourth aspect, wherein in the second proposal, a flow rate of a rinse liquid in a rinse process, which is the post-processing in a first processing unit among the plurality of processing units, is smaller than the flow rate in the first processing unit in the first proposal. A sixth aspect of the schedule change method is a schedule change method according to the first aspect, wherein the specified process includes a plurality of chemical liquid processes which are executed sequentially, and in the detection step, the sensor detects the end time of the last chemical liquid process among the plurality of chemical liquid processes as the end time, and the rescheduling step is not performed based on the end time of any chemical liquid process other than the last chemical liquid process. Effect of the Invention
[0015] Rescheduling Method #1 and No. 6 According to this aspect, it is possible to create a schedule that reflects the end times of the processing units, that is, it is possible to create a schedule according to fluctuations in the required processing times of the processing units.
[0016] According to a second aspect of the schedule modification method, if the schedule can be re-created, the schedule is re-created in accordance with fluctuations in the processing time of the processing units.
[0017] If it is difficult to re-create the schedule, the processing time for post-processing is increased, which shortens the waiting time during which the substrate is not processed, thereby suppressing defects such as particle adhesion to the substrate that occur during the waiting time.
[0018] According to the third aspect of the schedule changing method, the amount of rinse liquid consumed can be reduced.
[0019] According to the fourth aspect of the schedule change method, the first and second proposals are displayed, so that the user can check the first and second proposals and select one of them, thereby improving usability.
[0020] According to the fifth aspect of the schedule changing method, it is possible to reduce the amount of rinsing liquid consumed in the second plan. [Brief description of the drawings]
[0021] [Figure 1] 1 is a plan view illustrating an example of a configuration of a substrate processing apparatus. [Diagram 2] 1 is a side view illustrating an example of a configuration of a substrate processing apparatus. [Diagram 3] 2 is a functional block diagram illustrating an example of an electrical configuration of the substrate processing apparatus; FIG. [Figure 4] FIG. 1 is a diagram illustrating an example of a recipe. [Diagram 5] FIG. 10 is a diagram illustrating an example of a schedule. [Figure 6] 5 is a flowchart showing an example of the operation of the substrate processing apparatus according to the first embodiment. [Figure 7] FIG. 13 is a diagram showing the status of the substrate processing apparatus according to the progress of a schedule. [Figure 8] FIG. 10 is a diagram illustrating an example of a re-created schedule. [Figure 9] 10 is a flowchart showing an example of an operation of the substrate processing apparatus. [Figure 10] FIG. 10 is a diagram illustrating an example of a provisional timetable. [Figure 11] 10 is a flowchart showing an example of the operation of the substrate processing apparatus according to the second embodiment. [Figure 12] FIG. 4 illustrates an example of a process executed by a processing unit. [Figure 13] 10 is a flowchart showing another example of the operation of the substrate processing apparatus according to the second embodiment. [Figure 14] FIG. 11 is a diagram illustrating another example of the process executed by the processing unit. [Figure 15] 13 is a flowchart showing an example of the operation of the substrate processing apparatus according to the third embodiment. [Figure 16] FIG. 13 is a diagram illustrating an example of a reduced time period. [Figure 17] FIG. 13 is a diagram showing an example in which the required processing time for a series of processes is commonly reduced in a plurality of processing units. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0022] Hereinafter, an embodiment will be described with reference to the attached drawings. Note that the drawings are schematic, and for the convenience of explanation, configurations are omitted or simplified as appropriate. Furthermore, the size and positional relationship of the configurations shown in the drawings are not necessarily accurately described, and may be changed as appropriate.
[0023] In the following description, the same components are denoted by the same reference numerals, and their names and functions are also the same. Therefore, detailed descriptions thereof may be omitted to avoid duplication.
[0024] <First embodiment> FIG. 1 is a plan view that shows a schematic example of the configuration of the substrate processing apparatus 100, and FIG. 2 is a side view that shows a schematic example of the configuration of the substrate processing apparatus 100. The substrate processing apparatus 100 includes an indexer section 1 and a processing section 2. The processing section 2 includes a delivery unit 31. The indexer section 1 delivers an unprocessed substrate W to the delivery unit 31 and receives a processed substrate W from the delivery unit 31. The processing section 2 receives the unprocessed substrate W from the delivery unit 31 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 delivers the processed substrate W to the delivery unit 31.
[0025] The indexer section 1 includes a plurality of stages ST1 to ST4 and an indexer robot IR, which is an example of a substrate transport unit. 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. 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 or OCs (Open Cassettes). For example, when the substrate containers C are placed on the stages ST1 to ST4, the substrate containers C have a plurality of substrates W in a horizontal position stacked vertically with a gap between them. The horizontal position here refers to a state in which the thickness direction of the substrates W is aligned vertically.
[0026] 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 100. 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. In addition, the multi-joint arm 7 is provided with 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 in the horizontal direction individually. 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.
[0027] With this configuration, the indexer robot IR operates to remove 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 delivery unit 31. Furthermore, the indexer robot IR operates to receive one processed substrate W from the delivery unit 31 with the hand 8B and deliver it to a substrate container C held on any of the stages ST1 to ST4.
[0028] The processing section 2 includes a plurality of processing units 30 (12 in this embodiment), a main transport robot CR which is an example of a substrate transport unit, and the aforementioned delivery unit 31. In the example of FIG. 1 and FIG. 2, 12 processing units 30A to 30L are shown as the plurality of processing units 30. In this embodiment, the processing units 30 are arranged three-dimensionally. More specifically, the plurality of processing units 30 are arranged to form a three-story structure, with four processing units 30 arranged on each floor. That is, four processing units 30A to 30D are arranged on the third floor, another four processing units 30E to 30H are arranged on the second floor, and further processing units 30I to 30L are arranged on the first floor. More specifically, the main transport robot CR is arranged in the center of the processing section 2 in a plan view, and the delivery unit 31 is arranged 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 30A, 30E, and 30I stacked together, and a second processing unit group G2, which is made up of another three processing units 30B, 30F, and 30J stacked together, are arranged to face each other with the delivery unit 31 in between. A third processing unit group G3, which is made up of three processing units 30C, 30G, and 30K stacked together, is arranged 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 30D, 30H, and 30L stacked together, is arranged adjacent to the second processing unit group G2 on the side farther from the indexer robot IR. The first to fourth processing unit groups G1 to G4 surround the main transport robot CR.
[0029] The main transport robot CR includes, for example, a base unit 11, a multi-joint arm 12, and a pair of hands 13A and 13B. The base unit 11 is fixed to, for example, a frame of the substrate processing apparatus 100. The multi-joint 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 arm units at a joint, which is the connecting point of the arm units. The base end of the multi-joint arm 12 is connected to the base unit 11 so as to be rotatable around a vertical axis. Furthermore, the multi-joint arm 12 is connected to the base unit 11 so as to be able to rise and fall. In other words, the base unit 11 includes a lifting drive mechanism for raising and lowering the multi-joint arm 12, and a rotation drive mechanism for rotating the multi-joint arm 12 around a vertical axis. In addition, the multi-joint arm 12 is provided with an individual rotation drive mechanism for independently rotating each arm unit. 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.
[0030] With this configuration, the main transport robot CR receives one unprocessed substrate W from the delivery unit 31 with the hand 13A, and carries the unprocessed substrate W into any one of the processing units 30. In addition, the main transport robot CR receives a processed substrate W that has been processed in each processing unit 30 with the hand 13B, and delivers the substrate W to the delivery unit 31.
[0031] The processing unit 30 is a single-wafer processing unit that processes the substrates W one by one. The processing unit 30 may be, for example, a rotating liquid processing unit including a spin chuck 15 that holds and rotates one substrate W in a horizontal position and a nozzle 16 that supplies a processing liquid (chemical liquid or rinse liquid) to the spin chuck 15 in a processing chamber 17 (chamber). As illustrated in FIG. 2, the processing unit 30 may further include a blocking plate 18. The blocking plate 18 is provided in the processing chamber 17 vertically above the spin chuck 15 and faces the spin chuck 15 in the vertical direction. The blocking plate 18 is provided so as to be movable up and down between a processing position close to the substrate W and a standby position away from the substrate W. A gas discharge port 18a is formed in the center of the horizontal lower surface of the blocking plate 18, and an inert gas (e.g., nitrogen gas) is discharged from the gas discharge port 18a toward the substrate W. 2, the internal configuration of only the processing units 30A and 30B is shown, and the internal configuration of the other processing units 30 is not shown.
[0032] 3 is a functional block diagram showing an example of an electrical configuration of the substrate processing apparatus 100. The substrate processing apparatus 100 includes a computer 20 that controls a plurality of processing units 30, a main transport robot CR, and an indexer robot IR. The computer 20 may have the form of a personal computer (FA personal computer), and includes a control unit (control circuit) 21, an input unit 22, a storage medium 23, and a display unit 24. The control unit 21 includes an arithmetic processing unit such as a CPU. The input unit 22 includes input devices such as a keyboard, a pointing device, and a touch panel. Furthermore, the input unit 22 includes a communication module for communication with a host computer. The storage medium 23 includes a storage device such as a solid-state memory device and a hard disk drive. The display unit 24 includes, for example, a liquid crystal display, and displays various information under the control of the control unit 21.
[0033] The control unit 21 includes a scheduling function unit (scheduler) 25 and a processing execution instruction unit 26. The scheduling function unit 25 creates a plan (schedule) for operating the resources of the substrate processing apparatus 100 in a chronological order in order to unload the substrate W from the substrate container C, process it in the processing unit 30, and then store it in the substrate container C. The schedule is a plan that specifies the operation of the substrate processing apparatus 100. The processing execution instruction unit 26 operates the resources of the substrate processing apparatus 100 in accordance with the schedule created by the scheduling function unit 25.
[0034] The storage medium 23 is configured to store various data including the program executed by the control unit 21, processing content data 40, and schedule data (data indicating a schedule) created by the scheduling function unit 25. The processing content data 40 indicates the content of processing for the substrate W and the time required for the processing. Specific examples of the processing content data 40 will be described later. This processing content data 40 may be input to the input unit 22 from a host computer, for example, or may be input by a user operating the input unit 22.
[0035] The programs stored in the storage medium 23 include a schedule creation program for causing the control unit 21 to operate as the scheduling function unit 25, and a process execution program for causing the control unit 21 to operate as the process execution instruction unit 26. Note that the control unit 21 does not necessarily need to operate based on a program, and may be configured, for example, by a dedicated hardware circuit such as a logic circuit.
[0036] The processing content data 40 includes a process job (PJ) code assigned to each substrate W and a recipe associated with the process job code. The recipe is data that defines the substrate processing content, and includes substrate processing conditions and substrate processing procedures. More specifically, the recipe includes information on the processing liquid used and processing time (required processing time) information, etc. A process job refers to one or more substrates W that are subjected to a common processing. A process job code is identification information (substrate group identification information) for identifying a process job. That is, a common processing is performed on a plurality of substrates W that are 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 processing is performed on a plurality of substrates W that are consecutive in processing order (order of removal from the substrate container C), a common process job code is assigned to the plurality of substrates W.
[0037] FIG. 4 is a diagram showing an example of a substrate processing procedure defined by a recipe. In FIG. 4, the item "Step" indicates the execution order of the item "Processing". That is, in the substrate processing procedure exemplified in FIG. 4, a first chemical liquid processing, a first rinse processing, a second chemical liquid processing, a second rinse processing, and a drying processing are executed in this order. The first chemical liquid processing is, for example, an etching processing. In the first chemical liquid processing, the processing unit 30 supplies a first etching liquid from the nozzle 16 to the rotating substrate W. In the example of FIG. 4, the required processing time (etching time) in the recipe for the first chemical liquid processing is 90 seconds. The first rinse processing is a processing for washing away the first etching liquid on the substrate W. In the first rinse processing, the processing unit 30 supplies a first rinse liquid (for example, pure water) from the nozzle 16 to the rotating substrate W. In the example of FIG. 4, the required processing time (rinse time) in the recipe for the first rinse processing is 30 seconds.
[0038] The second chemical liquid process is, for example, an etching process. In the second chemical liquid process, the processing unit 30 supplies a second etching liquid from the nozzle 16 to the rotating substrate W. In the example of FIG. 4, the etching time in the recipe for the second chemical liquid process is 60 seconds. The second rinse process is a process for rinsing the second etching liquid off the substrate W. In the second rinse process, the processing unit 30 supplies a second rinse liquid (e.g., pure water) from the nozzle 16 to the rotating substrate W. In the example of FIG. 4, the rinse time in the recipe for the second rinse process is 30 seconds.
[0039] The drying process is a process for drying the substrate W. In the drying process, the processing unit 30 rotates the substrate W at high speed by the spin chuck 15 (so-called spin drying) while stopping the discharge of the processing liquid from the nozzle 16. If the blocking plate 18 is provided, in the drying process, the processing unit 30 lowers the blocking plate 18 to the processing position and supplies an inert gas from the gas discharge port 18a toward the substrate W. In the example of Fig. 4, the required processing time (drying time) according to the recipe for the drying process is 20 seconds.
[0040] The control unit 21 acquires processing content data 40 for each substrate W and stores it in the storage medium 23. The acquisition and storage of the processing content data 40 may be performed before scheduling (i.e., creation of a schedule) is performed for each substrate W. For example, immediately after the substrate container C is held on one of the stages ST1 to ST4, the processing content data 40 corresponding to the substrate W accommodated in the substrate container C may be provided from the host computer to the control unit 21.
[0041] The scheduling function unit 25 creates a schedule based on the processing content data 40. FIG. 5 is a diagram showing an example of a schedule created by the scheduling function unit 25. In the example of FIG. 5, the schedule is represented by blocks and arrows. Note that, for ease of explanation, FIG. 5 shows a schedule using four processing units 30A to 30D as a representative example. For ease of explanation, processing of eight substrates W will be described. In reality, more substrates W are processed.
[0042] 5 indicates the contents of the processing in each unit (the indexer robot IR, the main transport robot CR, and the processing units 30A-30D). More specifically, the blocks indicated with the symbol G indicate the unloading processing of the substrate W by each substrate transport unit (the indexer robot IR and the main transport robot CR), the blocks indicated with the symbol P indicate the loading processing of the substrate W by each substrate transport unit, and the blank blocks indicate the processing in each processing unit 30A-30D. The length of each block indicates the required processing time for the corresponding processing. The contents and lengths of these blocks are specified by the processing content data 40.
[0043] 5 indicates the time period of the process corresponding to that block. That is, the positions of both ends of the block indicate the start time and end time of the process, respectively. Also, the arrows connecting the blocks indicate the destination of the substrate W.
[0044] Here, the schedule will be described focusing on the substrate W to be processed by the processing unit 30A as a representative example. In the example of FIG. 5, the blocks corresponding to the substrate W to be processed by the processing unit 30A are indicated by thick lines. Here, the substrates W1 and W2 are described as an example of two substrates W to be sequentially processed by the processing unit 30A. According to FIG. 5, the unprocessed substrate W1 is taken out of the substrate container C by the indexer robot IR (block A1) and transferred to the transfer unit 31 (block A2). Then, the substrate W1 is taken out of the transfer unit 31 by the main transport robot CR (block A3) and transferred to the processing unit 30A (block A4). The substrate W1 is subjected to processing in the processing unit 30A (block A5). As a more specific example, the processing unit 30A subjects the substrate W1 to a first chemical liquid processing, a first rinsing processing, a second chemical liquid processing, a second rinsing processing, and a drying processing in this order. Hereinafter, these processes performed by the processing unit 30 on the substrate W are also referred to as a series of processes.
[0045] 5, before the end of a series of processes (block A5) by the processing unit 30A, the next unprocessed substrate W2 is taken out of the substrate container C by the indexer robot IR (block B1) and delivered to the delivery unit 31 (block B2). Then, the substrate W2 is taken out of the delivery unit 31 by the main transport robot CR (block B3).
[0046] On the other hand, after the series of processes (block A5) by the processing unit 30A is completed, the processed substrate W1 is taken out of the processing unit 30A by the main transport robot CR (block A6), and the next unprocessed substrate W2 is then transferred to the processing unit 30A by the main transport robot CR (block B4). In this embodiment, since the main transport robot CR includes two hands 13A and 13B, for example, the processed substrate W1 can be taken out of the processing unit 30A by the hand 13A (block A6), and the unprocessed substrate W2 can be transferred to the processing unit 30A by the hand 13B (block B4). The processed substrate W1 is transferred from the main transport robot CR to the transfer unit 31 (block A7). The substrate W1 is taken out of the transfer unit 31 by the indexer robot IR (block A8) and transferred to the substrate container C (block A9).
[0047] Meanwhile, the unprocessed substrate W2 is subjected to a series of processes by the processing unit 30A (block B5). As a more specific example, the processing unit 30A performs a first chemical liquid process, a first rinse process, a second chemical liquid process, a second rinse process, and a drying process on the substrate W2 in this order. Then, when the series of processes on the substrate W2 by the processing unit 30A is completed, the processed substrate W2 is taken out of the processing unit 30A by the main transport robot CR (block B6) and transferred to the transfer unit 31 (block B7). Next, the processed substrate W2 is taken out of the transfer unit 31 by the indexer robot IR (block B8) and transferred to the substrate container C (block B9).
[0048] If the scheduling function unit 25 of the control unit 21 creates a schedule as shown in Fig. 5 and the process execution instruction unit 26 controls each part of the substrate processing apparatus 100 according to this schedule, the substrate processing apparatus 100 can be caused to operate according to the schedule. According to the schedule of Fig. 5, eight substrates W are processed by each of the processing units 30A to 30D performing a series of processes twice.
[0049] However, the processing time for each process in the processing units 30A-30D may differ from the predetermined time due to various factors. For example, the processing time may differ due to individual differences in the processing units 30, and may also differ due to changes over time in the processing units 30. Furthermore, the processing time may differ due to individual differences in the substrates W.
[0050] Therefore, in this embodiment, as shown in Fig. 3, each processing unit 30 includes a sensor SR. This sensor SR detects the end time of a predetermined process. In response to the detection by the sensor SR, the processing unit 30 notifies the control unit 21 of the end time of the predetermined process.
[0051] For example, when the processing unit 30 performs an etching process on a predetermined film on the surface of the substrate W, the thickness of the predetermined film decreases as the etching process progresses and eventually becomes zero. Therefore, the time when the thickness of the predetermined film substantially reaches zero corresponds to the end of the process. In this case, a film thickness meter that measures the thickness of the predetermined film can be used as the sensor SR. As the film thickness meter, for example, a displacement sensor of an optical system can be used. In this case, the time when the film thickness measured by the sensor SR reaches a specified film thickness reference value corresponds to the end of the process.
[0052] Alternatively, a camera that captures an image of the surface of the substrate W may be used as the sensor SR. Since the surface of the substrate W changes depending on the progress of the etching process, i.e., the thickness of the predetermined film, the image captured by the camera also changes depending on the thickness of the predetermined film. Therefore, based on the color information (including brightness) of each pixel in this image, it is possible to detect the time when the thickness of the predetermined film reaches zero. For example, the time when the value of the color information of a predetermined pixel becomes equal to or less than a specified color reference value may be detected as the end time of the process.
[0053] Such a sensor SR can be said to be a sensor that measures the progress of a process. The time at which the progress of the process measured by the sensor SR reaches a specified progress level corresponds to the end time of the process.
[0054] Each of the processing units 30 ends the processing when the degree of progress of the processing measured by the sensor SR reaches a specified degree of progress. As a more specific example, each of the processing units 30 stops supplying the etching liquid from the nozzle 16 to the substrate W and ends the etching process when the film thickness of the predetermined film measured by the sensor SR reaches zero. This makes it possible to appropriately etch the predetermined film by suppressing insufficient and excessive etching.
[0055] Furthermore, each of the processing units 30 notifies the control unit 21 of the end time of the processing detected by the sensor SR during the processing. Hereinafter, the end time detected by the sensor SR is referred to as the detected end time.
[0056] In the above recipe, the first chemical process and the second chemical process are etching processes. The sensor SR can detect the end time of both the first chemical process and the second chemical process. Of course, the sensor SR for the first chemical process and the sensor SR for the second chemical process may be provided separately.
[0057] Here, the processing unit 30 ends the first chemical liquid process and the second chemical liquid process based on the measurement result of the sensor SR as described above. Meanwhile, the processing unit 30 ends the first rinse process, the second rinse process, and the drying process based on the time elapsed from the start time of each process. That is, the processing unit 30 measures the time elapsed from the start time of the first rinse process, for example, using a known timer circuit, and ends the first rinse process when the elapsed time reaches the rinse time specified in the recipe. The same applies to the second rinse process and the drying process.
[0058] Now, the detected end time of the first chemical liquid processing detected by the sensor SR may differ from the end time of the first chemical liquid processing on the schedule created based on the recipe. For example, the detected end time may be earlier than the end time on the schedule. The same is true for the second chemical liquid processing. Therefore, the actual end time of the series of processes in each processing unit 30 may be earlier than the end time on the schedule.
[0059] Therefore, in this embodiment, the scheduling function unit 25 re-creates a schedule based on the detected end time of the process detected by the sensor SR.
[0060] In the above recipe, the processing unit 30 executes a first chemical liquid processing and a second chemical liquid processing. Therefore, even if the sensor SR detects the detected end time of the first chemical liquid processing, the end time of the series of processing of each processing unit 30 is not determined until the second chemical liquid processing is completed. Therefore, as an example, the scheduling function unit 25 re-creates the schedule based on the detected end time of the second chemical liquid processing.
[0061] <How to change schedule> 6 is a flow chart showing an example of the above-mentioned operation of the substrate processing apparatus 100. First, the control unit 21 starts substrate processing (step S1: start step). Specifically, the control unit 21 controls the operation of the substrate processing apparatus 100 according to a schedule (e.g., FIG. 4) created based on the processing content data 40, to start substrate processing on the substrate W. In other words, the substrate processing apparatus 100 starts substrate processing in which the substrate W is sequentially transported to the multiple processing units 30 according to the schedule, and the multiple processing units 30 perform a series of processes on the substrate W. A specific example of a method for creating a schedule will be described later.
[0062] Next, the control unit 21 determines whether or not the end time of the second chemical liquid treatment is detected by the sensor SR (step S2). That is, the control unit 21 determines whether or not a notification of the detected end time of the second chemical liquid treatment is received from any of the processing units 30.
[0063] Here, as an example, it is assumed that the sensor SR of the processing unit 30B (corresponding to the first processing unit) detects the detection end time of the second chemical liquid processing. That is, here, the processing unit 30B performs the processing up to the second chemical liquid processing in a shorter time than the other processing units 30. FIG. 7 is a diagram showing the situation in terms of the progress of the schedule. For simplicity, FIG. 7 shows four processing units 30A to 30D. In the example of FIG. 7, while the processing unit 30A has not yet finished the second chemical liquid processing, the processing unit 30B finishes the second chemical liquid processing and notifies the control unit 21 of the detection end time. In FIG. 7, the time period during which the second chemical liquid processing is performed in the processing unit 30B is typically shown by a shaded block.
[0064] When the control unit 21 receives the notification, it determines whether or not there is an unprocessed substrate W in the process job (step S3). As a specific example, the control unit 21 determines whether or not the notification is for the last substrate W in the process job. Here, it is assumed that there is an unprocessed substrate W. Since there is an unprocessed substrate W, the scheduling function unit 25 of the control unit 21 re-creates the schedule based on the detection end time (step S4: rescheduling process).
[0065] Fig. 8 is a diagram showing an example of a re-created schedule. In the example of Fig. 8, the changed blocks are shown in bold lines. Here, since the processing unit 30B performs the processing up to the second chemical liquid processing in a shorter time than the other processing units 30, the substrate W is removed from the processing unit 30B at an earlier timing than the unloading time of the substrate W from the processing unit 30A, and the next substrate W is transferred to the processing unit 30B at an earlier timing.
[0066] The process execution instructing unit 26 of the control unit 21 controls the operation of the substrate processing apparatus 100 according to the re-created schedule (substrate processing continuing step), so that the substrate processing apparatus 100 continues the substrate processing according to the re-created schedule.
[0067] The control unit 21 also executes step S2 again. Therefore, when the sensor SR of each processing unit 30 detects the detection end time (step S2: YES), the control unit 21 sequentially recreates the schedule based on the detection end time (step S4) only if there is an unprocessed substrate W in the process job (step S3: YES). On the other hand, when there is no unprocessed substrate W in the process job (step S3: NO), the control unit 21 does not recreate the schedule.
[0068] As described above, the control unit 21 recreates the schedule based on the detection end time every time the sensor SR in each processing unit 30 detects the detection end time. Therefore, the control unit 21 can create an appropriate schedule that reflects the detection end time, and can cause the substrate processing apparatus 100 to continue substrate processing according to the recreated schedule.
[0069] In the above example, since the processing unit 30B can perform processing in a shorter time, more substrates W are loaded into and processed in the processing unit 30B by sequentially recreating the schedule, thereby improving the throughput of the substrate processing apparatus 100.
[0070] Next, a specific example of a method for creating a schedule will be described, followed by a specific example of a method for changing a schedule. Here, the determination of the time period for processing each unit will be explained by arranging blocks corresponding to the processing, as described above. In other words, the time period for processing corresponding to each block is determined by virtually arranging the blocks on the time axis.
[0071] FIG. 9 is a flow chart showing an example of a specific operation of the substrate processing apparatus 100 (schedule creation apparatus). The process in FIG. 9 is executed repeatedly. First, the scheduling function unit 25 judges whether or not a substrate processing start instruction has been received (step S11). For example, the start instruction is input to the input unit 22 from a host computer or a user. In response to the input, the control unit 21 transitions, for example, the start instruction flag from L to H. Here, "L" and "H" indicate two values of information, and the start instruction flag being H indicates that a substrate processing start instruction has been input. This start instruction flag remains H until processing for all substrates W is completed.
[0072] The substrate processing start instruction may be issued as a single unit for all substrates W accommodated in a common substrate container C. The substrate processing start instruction may also be an instruction to start processing one or more substrates W that are less than the total number of substrates W accommodated in the common substrate container C, or an instruction to start processing multiple substrates W accommodated in separate substrate containers C.
[0073] When there is no substrate processing start instruction, that is, when the start instruction flag is L, the scheduling function unit 25 executes step S11 again. When there is a substrate processing start instruction, the scheduling function unit 25 creates a tentative time table (step S12).
[0074] For example, suppose that a recipe associated with a certain process job code in the processing content data 40 specifies parallel processing of the processing units 30. That is, consider a case where the substrate processing according to the recipe can be performed in any of the four processing units 30A to 30D. In this case, there are four routes through which the substrate W to which the process job code is assigned can be processed. That is, the routes that can be selected for processing the substrate W are the four routes that pass through any of the processing units 30A to 30D. Then, the scheduling function unit 25 creates a tentative timetable corresponding to the four routes.
[0075] Fig. 10 is a diagram showing an example of a provisional timetable corresponding to a route passing through the processing unit 30A. In the example of Fig. 10, a plurality of blocks are arranged in the provisional timetable for returning to the substrate container C from the substrate container C via the processing unit 30A. The scheduling function unit 25 creates the provisional timetable by arranging the plurality of blocks in order on the time axis without overlapping, as shown in Fig. 10.
[0076] The scheduling function unit 25 creates four similar provisional timetables (provisional timetables in which blocks are arranged in the processing units 30A-30D, respectively) corresponding to the four routes passing through the four processing units 30A-30D, respectively, for the same substrate W. In this way, provisional timetables for a total of four routes are created for one substrate W.
[0077] A similar provisional timetable is created for substrates W to which the same process job code is assigned (here, eight substrates W processed in the processing units 30A to 30D). The provisional timetable created in this manner is stored in the storage medium 23 as a part of the schedule data. At the stage of creating the provisional timetable, interference between blocks relating to multiple substrates W (overlap on the time axis) is not taken into consideration.
[0078] When a scheduling instruction is issued (step S13: YES), blocks are arranged for the substrates W of the process job (steps S14 to S16). In response to the issuance of a scheduling instruction, the control unit 21 transitions the scheduling instruction flag from L to H. The scheduling instruction flag being H indicates that a scheduling instruction has been issued. This scheduling instruction flag remains H until processing for all substrates W is completed.
[0079] The scheduling function unit 25 refers to the temporary timetable corresponding to the substrate W, and acquires one of the blocks constituting the temporary timetable (step S14). The block acquired at this time is the block that is arranged at the earliest position on the time axis of the temporary timetable among the blocks that have not been arranged. Furthermore, the scheduling function unit 25 searches for a position where the acquired block can be arranged (step S15), and arranges the block at the searched position (step S16). Each block is arranged at the earliest position on the time axis while preventing the same resource from being used twice at the same time. Note that the arrangement of blocks here does not actually mean arranging the blocks, but means tentatively determining the time period for each process.
[0080] Next, the scheduling function unit 25 judges whether the arrangement of all the blocks of the provisional timetable has been completed (step S17), and if not yet arranged (step S17: NO), repeats the same operation (steps S14 to S16). Then, when the arrangement of all the blocks of the provisional timetable has been completed (step S17: YES), the scheduling function unit 25 judges whether the creation of plans using all the provisional timetables has been completed (step S18). That is, it judges whether plans of all patterns using the four processing units 30A to 30D have been created (step S18). If all the patterns have not yet been created (step S18: NO), the scheduling function unit 25 executes step S13 again. If all the patterns have been created (step S18: YES), the scheduling function unit 25 judges to select one of the created plans as a schedule (step S19). For example, the scheduling function unit 25 identifies the plan with the highest throughput and selects that plan as a schedule. If there are multiple plans with the highest throughput, the scheduling function unit 25 selects, for example, the plan with the widest block interval (use interval) from among the plans. Also, if the use intervals are also the same, the scheduling function unit 25 selects, for example, from among the plans, the plan in which the processing units operate in order starting from the smallest identification number.
[0081] Through the above operations, a schedule as shown in Fig. 4 is created. The process execution instructing unit 26 of the control unit 21 causes the substrate processing apparatus 100 to perform operations in accordance with the schedule in Fig. 4 (step S1 in Fig. 6). Thus, the processing units 30A to 30D start a series of processes on the substrate W in accordance with the schedule in Fig. 4.
[0082] Then, when each of the processing units 30A to 30D starts a series of processes, during the process, each sensor SR detects the detection end time (detection step) and notifies the control unit 21 of the detection end time (step S2: YES). Explaining based on the example of FIG. 7, the processing unit 30B notifies the control unit 21 of the detection end time. This detection end time is earlier than the end time of the second chemical liquid process on the schedule. In other words, the etching time on the recipe can be set longer with a margin. The reduction time from the detection end time to the end time on the schedule is assumed to be, for example, 30 seconds.
[0083] The scheduling function unit 25 of the control unit 21 recreates the schedule based on the detection end time (step S4). This recreate procedure can also be performed, for example, according to the flowchart of Fig. 9. During the execution of the operation according to the schedule of the substrate processing apparatus 100, the flag of the substrate processing start instruction is always H, so that an affirmative determination (YES determination) is made in the process of step S11.
[0084] Next, the scheduling function unit 25 updates the provisional timetable based on the detection end time (step S12). Specifically, the scheduling function unit 25 modifies the required processing time for the series of processes of the notifying processing unit 30 in the provisional timetable. For example, the scheduling function unit 25 subtracts the reduction time (e.g., 30 seconds) from the required processing time for the series of processes of the processing unit 30B to update the required processing time for the series of processes. To explain this based on the example of Fig. 7, the scheduling function unit 25 sets the length of the block for the first substrate W of the processing unit 30B as the updated required processing time in the provisional timetable.
[0085] Next, the scheduling function unit 25 recreates the schedule based on the updated tentative time schedule. Specifically, the scheduling function unit 25 first leaves blank any blocks in the schedule that can be changed. In the example of FIG. 7, each of the processing units 30A-30D has already performed processing on the substrate W, so the blocks (transport blocks) before the block for the first substrate W of each of the processing units 30A-30D have already been performed. Therefore, these blocks cannot be changed. Furthermore, the start times of the blocks being performed by each of the processing units 30A-30D cannot be changed either. Therefore, the blocks after the block for processing the first substrate W of each of the processing units 30A-30D are left blank. Note that the length of the block for processing by the processing unit 30B is the length of the block in the updated tentative time table.
[0086] Then, the scheduling function unit 25 acquires a block corresponding to the changeable block from the updated provisional timetable (step S14), searches for a position where the block can be placed (step S15), and places the block at the searched position (step S16). The other blocks are sequentially placed by the same process (step S17: NO, steps S14 to S16). This allows the scheduling function unit 25 to create multiple plans that reflect the detection end times. When the control unit 21 has created a plan using all of the provisional timetables (step S18: YES), it adopts that one plan as the schedule (step S19).
[0087] This allows the scheduling function unit 25 to recreate an optimal schedule based on the detection end time. For example, the scheduling function unit 25 can recreate a schedule with the highest throughput. As can be understood from the above description, the recreation of a schedule here refers to a change in the schedule of the substrate processing apparatus 100, including a change in the transport schedule for the substrate W.
[0088] <Advantages of the First Embodiment> As described above, according to the first embodiment, the schedule is recreated based on the detection end time detected by the sensor SR of each of the processing units 30A to 30D. Therefore, the control unit 21 can recreate a schedule that reflects the actual processing time (real time), and can cause the substrate processing apparatus 100 to perform an operation according to the schedule.
[0089] In the above example, the control unit 21 recreates the schedule in response to detection of the detection end time of the second chemical liquid treatment, which is the last of the first and second chemical liquid treatments to be measured by the sensor SR. However, the control unit 21 may also recreate the schedule in response to detection of the detection end time of the first chemical liquid treatment. In other words, the control unit 21 may recreate the schedule every time the detection end time of the first and second chemical liquid treatments is detected.
[0090] <Second embodiment> The configuration of the substrate processing apparatus 100 according to the second embodiment is similar to that of the first embodiment, except for the operation of the control unit 21, which differs from that of the first embodiment.
[0091] 11 is a flow chart showing an example of the operation of the substrate processing apparatus 100 according to the second embodiment. In the second embodiment, steps S1 to S3 are executed as in the first embodiment. Then, when there is an unprocessed substrate W (step S3: YES), the control unit 21 judges whether the time from the current time to the end time of the drying process of the processing unit 30 that has notified the controller 21 on the schedule (hereinafter referred to as the remaining time) is equal to or longer than a predetermined reference time (step S5). The reference time is equal to or longer than the time required for the control unit 21 to re-create the schedule, and is set in advance, for example.
[0092] In short, the control unit 21 determines whether the first time from when the sensor SR detects the detection end time to when the substrate W starts to be unloaded from the processing unit 30 is equal to or longer than the specified second time required to re-create the schedule.
[0093] When the first time is equal to or longer than the second time, that is, when the remaining time is equal to or longer than the reference time, the control unit 21 re-creates the schedule since it is possible to re-create the schedule by the time the substrate W is removed from the processing unit 30 that sent the notification (step S4).
[0094] On the other hand, when the remaining time is less than the reference time, the re-creation of the schedule cannot be completed by the time the substrate W is unloaded from the notifying processing unit 30. Therefore, at this time, the control unit 21 does not re-create the schedule accompanied by a change in the transport schedule. Instead, the control unit 21 increases the processing time of at least one of the second rinsing process and the drying process that follow the second chemical liquid process in the notifying processing unit 30 (step S6: processing time change step).
[0095] FIG. 12 is a diagram showing an example of a process executed by the processing unit 30. FIG. 12 shows an example of a substrate processing procedure defined by a recipe and the required processing time for each process. FIG. 12 also shows an example of the actual times of the first chemical processing, the first rinse processing, and the second chemical processing. The actual time here means the actual processing time of the etching process performed based on the measurement result of the sensor SR. In FIG. 12, the actual time of the first chemical processing is 70 seconds, so the difference (reduced time) between the actual time and the etching time (required processing time) in the recipe is 20 seconds. In the example of FIG. 12, the actual time of the second chemical processing is 50 seconds, so the reduced time of the second chemical processing is 10 seconds. Since the reduced time of the first chemical processing is 20 seconds and the reduced time of the second chemical processing is 10 seconds, the detected end time of the second chemical processing is earlier than the end time of the second chemical processing on the schedule by a total of 30 seconds.
[0096] Therefore, the control unit 21 increases at least one of the rinsing time of the second rinsing process and the drying time of the drying process according to the reduction time. In the example of FIG. 12, the control unit 21 adds 30 seconds, which is the total reduction time, to the rinsing time of the second rinsing process to change the rinsing time from 30 seconds to 60 seconds, and does not change the drying time. The control unit 21 notifies the processing unit 30 that sent the notification of the changed rinsing time. The processing unit 30 that sent the notification performs the second rinsing process with the changed rinsing time, and then performs the drying process. As a result, the processing time required for the series of processes in the processing unit 30 that sent the notification is the same before and after the change. Therefore, the end time of the series of processes (i.e., the end time of the drying process) coincides with the end time of the series of processes on the schedule.
[0097] Such a process of changing the required processing time for post-processing (for example, rinsing time) does not require the complex calculation processes from steps S14 to S19, and can be performed even if the remaining time is shorter than the reference time.
[0098] Then, the control unit 21 executes step S2 again after step S4 (rescheduling step) or step S6 (processing time changing step).
[0099] As described above, when the remaining time is equal to or longer than the reference time (step S5: YES), the control unit 21 re-creates the schedule (step S4), thereby making it possible to improve the throughput of the substrate processing apparatus 100.
[0100] On the other hand, when the remaining time is shorter than the reference time (step S5: NO), the control unit 21 increases the required processing time for the post-processing (here, the second rinse process) subsequent to the second chemical liquid process in the notifying processing unit 30 (step S6). As a result, the end time at which the notifying processing unit 30 ends the series of processes becomes the same as the end time on the schedule. Therefore, the substrate processing apparatus 100 can proceed with the processing without recreating the schedule in FIG. 4. As a result, it is not necessary to perform the processes from step S14 to step S19, and the load on the control unit 21 can be reduced.
[0101] In addition, since the required processing time for the post-processing is increased, the processing unit 30 that sent the notification continues to perform either the second rinse process or the drying process on the substrate W from the end of the second chemical liquid process to the end of the series of processes. Therefore, in the processing unit 30 that sent the notification, there is almost no waiting time during which processing is not performed on the substrate W. During this waiting time, the substrate W is stationary in the processing unit, so that problems such as adhesion of particles to the surface of the substrate W may occur, but such problems can be suppressed.
[0102] <Flow rate of second rinse solution> Fig. 13 is a flowchart showing another example of the operation of the substrate processing apparatus 100 according to the second embodiment. The control unit 21 executes steps S1 to S6 in the same manner as in Fig. 11. Therefore, also in the example of Fig. 13, when the remaining time is less than the reference time (step S5: NO), the control unit 21 increases the rinsing time of the second rinsing process in the processing unit 30 that sent the notification (step S6).
[0103] 13, the control unit 21 reduces the flow rate of the second rinsing liquid in the second rinsing process in the processing unit 30 that sent the notification in response to an increase in the rinsing time of the second rinsing process (step S7: flow rate change process). That is, if the rinsing time of the second rinsing process is increased, the second rinsing process will be performed excessively, so even if the flow rate of the second rinsing liquid is reduced, the second etching liquid can be sufficiently washed away from the substrate W. Therefore, here, the flow rate of the second rinsing liquid is reduced. As a specific example, the control unit 21 may calculate the changed flow rate so that the product of the rinsing time and the flow rate is equal before and after the change.
[0104] The control unit 21 notifies the changed rinse time and the changed flow rate to the notification source processing unit 30. The notification source processing unit 30 performs a second rinse process with the changed rinse time and flow rate.
[0105] Then, the control unit 21 executes step S2 again after step S4 (rescheduling step) or step S6 (flow rate changing step).
[0106] 13, when the remaining time is less than the reference time, the control unit 21 increases the rinse time of the second rinse process and reduces the flow rate of the second rinse liquid. This makes it possible to reduce the consumption of the second rinse liquid while appropriately performing the second rinse process. This makes it possible to reduce the running cost.
[0107] In the above example, the control unit 21 increases the rinsing time of the second rinse process that is performed after the second chemical liquid process, but this is not necessarily limited to this. The control unit 21 may increase the processing times of both the second rinse process and the drying process. In short, the control unit 21 only needs to increase the required processing time of the post-processing (here, including the second rinse process and the drying process) that is performed after the second chemical liquid process by the reduction time (total).
[0108] FIG. 14 is a diagram showing another example of the process executed by the processing unit. In the example of FIG. 14, the actual times of the first chemical liquid process and the second chemical liquid process are shorter by 20 seconds and 10 seconds, respectively, and as a result, the detected end time of the second chemical liquid process is earlier than the end time on the schedule by a total of 30 seconds. In the example of FIG. 14, the control unit 21 increases both the rinsing time and the drying time. Specifically, the control unit 21 increases the rinsing time and the drying time by 20 seconds and 10 seconds, respectively, to change them to 50 seconds and 30 seconds, respectively. This also makes it possible to match the end time of the series of processes in the processing unit 30 that is the notification source with the end time on the schedule. Note that, if the total of the increase amount of the rinsing time and the increase amount of the drying time is equal to the total of the reduction time, the ratio of the increase amount can be appropriately changed.
[0109] Alternatively, control unit 21 may increase the drying time of the drying process without changing the rinsing time of the second rinsing process. For example, when the detected end time of the second chemical liquid process is shorter than the end time of the second chemical liquid process on the schedule by a reduction time (e.g., 30 seconds), control unit 21 may increase the drying time of the drying process by the reduction time.
[0110] This technique is particularly useful in the following situation. That is, this technique is particularly useful when a metal film is exposed on the surface of the substrate W after the second chemical liquid processing. This is because the metal film may be oxidized by reaction with the second rinse liquid (e.g., pure water). That is, if the rinsing time of the second rinse liquid is increased, there is a risk that the metal film will be oxidized, but since the rinsing time is not increased, such oxidation can be suppressed or avoided. Conversely, when a metal film is exposed on the surface of the substrate W by the second chemical liquid processing, the control unit 21 may increase the drying time of the drying process without increasing the rinsing time of the second rinsing process.
[0111] <Third embodiment> The configuration of the substrate processing apparatus 100 according to the third embodiment is similar to that of the first embodiment, except for the operation of the control unit 21, which differs from that of the first embodiment.
[0112] 15 is a flow chart showing an example of the operation of the substrate processing apparatus 100 according to the third embodiment. Steps S31 and S32 are similar to steps S1 and S2, respectively.
[0113] When the control unit 21 receives the notification of the detection end time (step S32: YES), it stores information about the detection end time in the storage medium 23 in association with the processing unit 30 that sent the notification (step S33: storage step). The information is, for example, the actual processing time, or the reduction time obtained by subtracting the actual time from the required processing time in the recipe. For example, when the control unit 21 receives the notification of the detection end time of the first chemical processing from the processing unit 30A, it calculates the actual time of the first chemical processing based on the detection end time, calculates the reduction time that is the difference between the etching time in the schedule of the first chemical processing and the actual time, and stores the reduction time in the storage medium 23 in association with the first chemical processing of the processing unit 30A. The same applies to the second chemical processing.
[0114] Next, similarly to step S3, the control unit 21 determines whether or not there is an unprocessed substrate W (step S34). If there is an unprocessed substrate W, the control unit 21 executes step S32 again. That is, step S3 is repeatedly executed until the detection end time for the last substrate W in the process job is detected. As a result, the reduced time of the first chemical liquid processing and the reduced time of the second chemical liquid processing corresponding to each processing unit 30 are stored in the storage medium 23 for all substrates W.
[0115] Fig. 16 is a diagram showing an example of the reduction time. In the example of Fig. 16, a reduction time Td1 of the first chemical liquid processing, a reduction time Td2 of the second chemical liquid processing, and a reduction time Td0 of the series of processing are shown in each processing unit 30. The reduction time Td0 of the series of processing is the sum of the reduction time Td1 and the reduction time Td2. Although not shown in Fig. 16, since each processing unit 30 processes substrates W sequentially, the reduction time for the number of substrates W processed in each processing unit 30 can be stored in the storage medium 23. The reduction time for each processing in each processing unit 30 may be an average time for the number of substrates W, or may be the minimum value of the reduction time for the multiple substrates W.
[0116] When there are no unprocessed substrates W (step S34: NO), the control unit 21 creates both a schedule proposal (corresponding to the first proposal) and a processing time increase proposal (corresponding to the second proposal) based on the reduction times Td1, Td2, and Td0 stored in the storage medium 23 (step S35).
[0117] The proposed schedule is a schedule involving a change in the transfer schedule, and is calculated by the same method as in FIG. 9. However, when creating the provisional timetable in step S14, the control unit 21 calculates the required processing time (length of a processing block) of a series of processing of each processing unit 30 based on the reduction time stored in the storage medium 23. As an example of a more specific procedure, the control unit 21 first subtracts the reduction time Td1 (20 seconds in the figure) of the first chemical processing recorded in the storage medium 23 from the etching time of the first chemical processing in the recipe to change the etching time. The same is true for the second chemical processing. That is, the control unit 21 adopts the actual time in the previous processing as the etching time of the first chemical processing and the second chemical processing. Then, the control unit 21 calculates the required processing time of the series of processing based on these etching times and the required processing time in the recipe of the other processing. This allows the control unit 21 to create a proposed schedule that reflects the actual etching time of each processing unit 30.
[0118] It is not necessary to use the actual etching time, but a time slightly longer than the actual etching time may be used.
[0119] The processing time increase plan is a schedule in which the processing time of the post-processing after the second chemical liquid processing in each processing unit 30 is increased by a time based on the information stored in the storage medium 23. For example, the control unit 21 may increase the required processing time of the post-processing in the processing unit 30A (e.g., the rinsing time of the second rinsing process) by the reduction time Td0 (30 seconds in the figure) of the series of processes in the processing unit 30A stored in the storage medium 23. The same applies to the other processing units 30. With this processing time increase plan, the required processing time of the series of processes in the processing unit 30 does not change, so the control unit 21 can create a schedule plan similar to that of FIG. 4.
[0120] Next, the control unit 21 causes the display unit 24 to display the proposed schedule and the proposed increase in processing time created in step S35 (step S36: display step).
[0121] The user checks the two proposals displayed on the display unit 24. The input unit 22 can accept input information indicating which proposal to adopt. When the user inputs the input information into the input unit 22, the control unit 21 controls the substrate processing apparatus 100 according to the proposal specified by the input information. This allows the substrate processing apparatus 100 to process the multiple substrates W of the next process job according to the specified proposal.
[0122] As described above, in the third embodiment, the schedule proposal and the processing time increase proposal are selected by the user, thereby improving usability.
[0123] <Other examples of proposals to increase processing time> Next, another example of the processing time increase plan will be described. Fig. 17 is a diagram for explaining another example of the processing time increase plan. The control unit 21 may reduce the required processing time for the series of processes of the multiple processing units 30 by the same reduction amount based on the reduction time Td0 stored in the storage medium 23.
[0124] Fig. 17 is a diagram showing an example in which the required processing time for a series of processes is reduced by the same reduction amount in the processing units 30A to 30D. In the example of Fig. 17, the upper part of the page shows the result of processing in each processing unit 30 when the substrate processing apparatus 100 processes a substrate W. Specifically, the upper part of Fig. 17 shows the etching time Te1, actual time Ta1, and reduced time Td1 in the recipe for the first chemical processing, and the etching time Te2, actual time Ta2, and reduced time Td2 in the recipe for the second chemical processing. The reduced times Td1 and Td2 in each processing unit 30 are as shown in Fig. 16.
[0125] 16, the minimum value Td0_min of the reduction time Td0 of the series of processes is 25 seconds in the multiple processing units 30. That is, in the substrate processing of the next and subsequent process jobs, the required processing time of the series of processes can be reduced by the minimum value Td0_min in all of the multiple processing units 30. Therefore, the control unit 21 may create a processing time increase plan by commonly reducing the required processing time of the series of processes of the processing units 30 by the minimum value Td0_min. An example when the required processing time of the series of processes of the processing units 30A to 30D is commonly reduced by the minimum value Td0_min is shown in the lower part of the page of FIG. 17.
[0126] Then, the control unit 21 increases the required processing time for post-processing in each processing unit 30 by the difference between the reduction time Td0 for the series of processes and the minimum value Td0_min. For example, in the example of FIG. 16, the reduction time Td0 for the series of processes in the processing unit 30A is 30 seconds, so the required processing time for post-processing in the processing unit 30A is increased by 5 seconds (=30 seconds-25 seconds). The same applies to the processing units 30B to 30D. This allows the required processing times for the series of processes to be consistent in multiple processing units 30. This makes it easy to create a tentative timetable.
[0127] 4, the control unit 21 creates a schedule proposal similar to that in Fig. 4, but the processing time (block length) required for a series of processes in each processing unit 30 is shorter by the minimum value Td0_min than before. In other words, the throughput of the substrate processing apparatus 100 can be improved.
[0128] <Flow rate> In the proposed process time increase, when the rinse time of the second rinse process is increased, the flow rate of the second rinse liquid may be decreased according to the increase in the rinse time, as in the second embodiment. Specifically, the flow rate of the second rinse liquid may be decreased according to the increase in the rinse time so that the product of the rinse time of the second rinse process and the flow rate of the second rinse liquid is the same before and after the change. In this case, the flow rate of the second rinse liquid in the proposed process time increase is smaller than the flow rate of the second rinse liquid in the proposed schedule. Therefore, the consumption of the second rinse liquid in the proposed process time increase can be reduced, and the running cost can be reduced.
[0129] Although the embodiment has been described above, the substrate processing apparatus 100 and the schedule change method can be modified in various ways other than those described above without departing from the spirit of the present invention. Within the scope of the disclosure, the present embodiment allows free combinations of the embodiments, modification of any of the components of the embodiments, or omission of any of the components of the embodiments.
[0130] Furthermore, the program may be provided in a state in which it is incorporated into computer 20, or may be provided in a state in which it is recorded on a storage medium (a computer-readable storage medium such as a CD-ROM or DVD-ROM) separate from computer 20.
[0131] In addition, various design modifications can be made within the scope of the claims. [Explanation of symbols]
[0132] 23 Storage medium 24 Display section 30,30A~30L Processing unit S1 Start process (step) S4 Rescheduling process (step) S6 Processing time change step S7 Flow rate change process (step) S36 Display process (step) SR Sensor W substrate
Claims
1. 1. A schedule change method for changing a schedule that chronologically defines processing of substrates by a plurality of processing units, comprising the steps of: a starting step of starting a substrate processing in which each of the processing units performs a process on the substrate while sequentially transporting the substrate to the processing units according to the schedule; a detection step of detecting an end time of a predetermined process on the substrate by a sensor in a first processing unit of the plurality of processing units; a rescheduling step of recreating the schedule based on the end time; The method for changing a schedule comprises:
2. 1. A schedule change method for changing a schedule that chronologically defines processing of substrates by a plurality of processing units, comprising the steps of: a starting step of starting a substrate processing in which each of the processing units performs a process on the substrate while sequentially transporting the substrate to the processing units according to the schedule; a detection step of detecting an end time of a predetermined process on the substrate in a first processing unit among the plurality of processing units; a rescheduling step of recreating the schedule when a first time from detection of the end time to start of unloading the substrate from the first processing unit defined in the schedule is equal to or longer than a second time required for recreating the schedule; a processing time changing step of increasing a processing time of a post-processing subsequent to the predetermined processing in the first processing unit when the first time is less than the second time; The method for changing a schedule comprises:
3. The schedule change method according to claim 2, further comprising the steps of: The schedule change method further comprises a flow rate changing step of reducing a flow rate of a rinsing liquid in a rinsing process which is the post-processing, when the first time is less than the second time.
4. 1. A schedule change method for changing a schedule that chronologically defines processing of substrates by a plurality of processing units, comprising the steps of: a starting step of starting a substrate processing in which each of the processing units performs a process on the substrate while sequentially transporting the substrate to the processing units according to the schedule; a storage step of storing information about an end time of a predetermined process for the substrate in a storage medium when the sensor detects the end time of the predetermined process for the substrate in each of the plurality of processing units; a display step of displaying, on a display unit, a first proposal of the schedule created based on the information stored in the storage medium and a second proposal in which a processing time of a post-processing subsequent to the predetermined processing in each of the plurality of processing units is increased by a time based on the information stored in the storage medium; The method for changing a schedule comprises:
5. The schedule change method according to claim 4, further comprising the steps of: The schedule change method, in the second plan, a flow rate of a rinsing liquid in a rinsing process, which is the post-processing, in a first processing unit among the plurality of processing units is smaller than the flow rate in the first processing unit in the first plan.
6. A schedule change method as claimed in claim 1, comprising: the predetermined treatment includes a plurality of chemical treatments that are performed sequentially; In the detection step, the sensor detects, as the end time, a time at which a last chemical liquid treatment is performed among the plurality of chemical liquid treatments; The schedule change method does not perform the rescheduling step based on the end time of a chemical solution treatment other than the last chemical solution treatment.
Citation Information
Patent Citations
Method and system for generating schedule for processing circuit board apparatus and program
JP2003288109A
Schedule generating method and schedule generating program for substrate processing apparatus
JP2013077796A
Substrate processing apparatus and substrate processing system
JP2020047865A
Schedule creation method and schedule creation device
JP2021036582A