Apparatus for processing substrate, method of controlling apparatus for processing substrate, and storage medium with program stored therein

The substrate processing apparatus dynamically adjusts transport schedules with margin times to address processing delays, ensuring optimal idle time limits and preventing substrate corrosion.

KR103040705B1Active Publication Date: 2026-10-30EBARA CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
KR1020240189703
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Priority Date
2023-12-21
Filing Date
2024-12-18
Publication Date
2026-10-30
Estimated Expiration
2044-12-18

AI Technical Summary

Technical Problem

Conventional substrate processing systems fail to maintain the limit value of post-processing idle time due to variations in actual processing times, leading to potential substrate corrosion and inefficiencies.

Method used

A substrate processing apparatus with a control device that generates transport schedules by adding positive or negative margin times based on actual processing times, using learning networks or statistical calculations, and adjusts schedules dynamically to account for processing delays.

Benefits of technology

The solution effectively maintains the limit value of post-processing idle time, preventing substrate corrosion and optimizing system throughput by adapting to processing variations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure R1020240189703_ABST
    Figure R1020240189703_ABST
Patent Text Reader

Abstract

The objective of the present invention is to suppress or prevent a situation in which the limit value of the idle time after processing cannot be maintained even when the processing end time changes. A return schedule is generated by adding a positive or negative margin time, calculated by a learning network or a statistical calculation method using the actual processing time obtained by actually performing the first processing on a plurality of substrates in the first processing tank, to the processing time of the first processing set in the recipe. Alternatively, or in addition to this, a projected processing end time when all processing of one or more processes in the first processing tank is completed is estimated from a detection value acquired from a sensor, and if it is determined that the projected processing end time is delayed compared to the scheduled return start time set in the return schedule, the scheduled return start time is modified to the projected processing end time, and the return schedule is adjusted to match the modified scheduled return start time.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to a substrate processing device, a method for controlling the substrate processing device, and a storage medium storing a program for executing the method for controlling the substrate processing device on a computer. Background Technology

[0002] In electroplating equipment, as one of the measures to improve plating performance, it is becoming necessary to adjust the plating end timing based on the measured value of the plating film thickness in order to reduce variations in plating film thickness for each substrate (e.g., wafer). This is because even with the same plating setting current, the plating film formation rate differs due to individual differences between modules, individual differences between substrates, and differences in chemical composition.

[0003] Conventional substrate transfer schedulers generated a substrate transfer schedule in advance based on the plating processing time of a pre-specified recipe (recipe setting time) before performing substrate processing. This specification was based on the premise that the actual time required for the plating process would not vary. However, if the actual time required varies, the substrate cannot be transferred according to the pre-generated schedule; consequently, due to transfer disturbances, there is a possibility that the post-processing idle time in the processing module (the time the wafer remains submerged in the plating solution from the plating process until removal) may not meet the limit. This problem is not limited to plating but can occur in other substrate processing processes as well.

[0004] As a conventional method for adjusting return schedules, there are techniques such as those described in Patent Documents 1 to 3. Patent Document 1 describes a control that performs rescheduling when the processing end time of a processing unit is detected and the remaining time until return is greater than or equal to the rescheduling time required. Patent Document 2 describes storing the actual processing time of a lot processed immediately prior in a semiconductor manufacturing device by correlating it with a data tag (array of recipes), and predicting the processing time of the lot scheduled for processing next based on the stored actual processing time. Patent Document 3 describes first adjusting the time by blocking a temporary schedule in a rescheduling process, and then rewriting the entire schedule. Prior art literature

[0005] Japanese Patent Publication No. 2022-181368 Japanese Patent Publication No. 2011-018738 Japanese Patent Publication No. 2021-36582 The problem to be solved

[0006] In conventional methods for adjusting return schedules, the actual processing end time of the substrate is delayed compared to the processing end time set in the recipe, and the situation in which the limit value of the post-processing idle time in the processing module (the time the substrate is left in the processing solution or processing module from the completion of processing until release) cannot be maintained due to return disturbance is not taken into account.

[0007] The objective of the present invention is to solve at least some of the aforementioned problems. One objective of the present invention is to suppress or prevent a situation in which the limit value of the post-processing idle time cannot be maintained even when the processing end time changes. means of solving the problem

[0008] According to one aspect of the present invention, a substrate processing apparatus is provided, comprising a plurality of processing tanks for performing processing on a substrate, a carrier for transporting the substrate, and a control device for creating a transport schedule for transporting and processing the substrate between the plurality of processing tanks, and controlling the transport of the substrate by the carrier and the processing of the substrate in the plurality of processing tanks based on the transport schedule. The plurality of processing tanks includes a first processing tank that performs one or more processing including a first processing on a substrate. The control device generates a transport schedule by adding a positive or negative margin time, calculated by a learning network or a statistical calculation method using the actual processing time obtained by actually performing the first processing on the plurality of substrates in the first processing tank, to the processing time of the first processing set in the recipe.

[0009] According to one aspect of the present invention, a substrate processing device is provided, comprising a plurality of processing tanks for performing processing on a substrate, a carrier for transporting the substrate, and a control device for creating a transport schedule for transporting and processing the substrate between the plurality of processing tanks and controlling the transport of the substrate by the carrier and the processing of the substrate in the plurality of processing tanks based on the transport schedule. The plurality of processing tanks includes a first processing tank that performs one or more processing including a first processing on a substrate and has a sensor for detecting the progress of the first processing. The control device estimates a projected time for the end of processing when all processing of the one or more processing in the first processing tank is completed from a detection value obtained from the sensor, and if it is determined that the projected time for the end of processing is delayed compared to the scheduled time for the start of transport set in the transport schedule, the projected time for the start of transport is modified to the projected time for the end of processing, thereby adjusting the transport schedule. Brief explanation of the drawing

[0010] FIG. 1 is an overall layout diagram of a substrate processing apparatus according to one embodiment. Figure 2 is an explanatory diagram illustrating the control configuration of a substrate processing device. Figure 3 is an explanatory diagram that further explains the control configuration of the substrate processing device in more detail. Figure 4a is an example of a return schedule in a plating bath. Figure 4b is an example of a return schedule in a plating bath. Figure 5 is a flowchart showing the overall processing of return scheduling. Figure 6 is a flowchart of the process for generating an adjusted return schedule. FIG. 7 is a flowchart of a process for re-inserting a return schedule (first part) after the plating bath of a target substrate into the overall return schedule. FIG. 8 is a flowchart of a process for re-inserting the return schedule (second part) of the unreturned portion affected by the target substrate on the upstream side into the overall return schedule. FIG. 9a is a return timetable showing the return schedule created for the first time. FIG. 9b is a return timetable showing a return schedule after the target substrate is removed from the plating bath (part 1), a return schedule for the unreturned portion affected by the target substrate on the upstream side (part 2), and a return schedule for the subsequent unprocessed substrate (part 3). FIG. 9c is a return timetable showing a return schedule with the return schedule (first part) re-inserted after the target substrate is removed from the plating bath. FIG. 9d is a return timetable showing a return schedule in which the return schedule (second part) of the unreturned portion affected by the target substrate on the upstream side is also re-inserted. FIG. 9e is a return timetable showing a return schedule with the return schedule (part 3) of the subsequent unprocessed substrate also re-inserted. Specific details for implementing the invention

[0011] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In addition, in each of the following embodiments, the same or equivalent components are given the same reference numerals, and redundant descriptions are omitted. Furthermore, expressions such as "up," "down," "left," and "right" are used in this specification; these indicate the position and direction on the surface of the illustrative drawings for the sake of explanation, and may differ in actual arrangement, such as when using the device.

[0012] <Overall Composition>

[0013] FIG. 1 is an overall layout diagram of a substrate processing apparatus according to one embodiment of the present invention. In this example, the substrate processing apparatus (100) is an electrolytic plating apparatus. Here, a so-called dip-type electrolytic plating apparatus is used as an example, but the present invention is applicable to any plating apparatus (cup-type / face-down type plating apparatus, electroless plating apparatus, etc.) and is also applicable to any other substrate processing apparatus.

[0014] A substrate processing device (100) is broadly divided into a load / unload station (101A) that loads a substrate as a workpiece into a substrate holder (not shown) or unloads a substrate from the substrate holder, and a processing station (101B) that performs one or more processing on the substrate. The substrate includes a circular, rectangular (polygonal such as a square), or any other shape of substrate. Additionally, the substrate is any workpiece and includes a semiconductor wafer, a glass substrate, a liquid crystal substrate, a printed circuit board, and any other substrate.

[0015] The load / unload station (101A) has a plurality of cassettes (102) mounted on a plurality of cassette tables, an aligner (104), a substrate attachment / detachment station (105), and a spin rinse dryer (106). The cassette (102) is a substrate receiver (e.g., FOUP) that stores a substrate. The aligner (104) aligns a reference position, such as a reference plane or a notch of the substrate, in a predetermined direction. The substrate attachment / detachment station (105) is equipped with one or more substrate attachment / detachment devices (105a) configured to attach and detach a substrate to a substrate holder. The spin rinse dryer (106) dries the substrate by rotating it at high speed while supplying a rinse liquid to the substrate after plating treatment. A transport robot (103) for transporting substrates between these units is disposed in the center of these units.

[0016] The processing station (101B) has a stocker (107) for storing and temporarily arranging substrate holders, a pre-wet module (108), a pre-soak module (109), a pre-soak rinse module (110a), a rinse module (110b), a blow module (111), and a plating processing module (112). Additionally, any or all of the pre-wet module (108), the pre-soak module (109), the pre-soak rinse module (110a), the rinse module (110b), the blow module (111), and the plating processing module (112) may be referred to as a processing module. Some or all of the processing modules, including the pre-wet module (108), the pre-soak module (109), the pre-soak rinse module (110a), the rinse module (110b), the blow module (111), and the plating treatment module (112), are equipped with a processing tank that holds a predetermined treatment liquid.

[0017] In the pre-wet module (108), the substrate is immersed in a treatment solution (e.g., pure water), and the air in the openings on the surface of the substrate is replaced with pure water. In the pre-soak module (109), the oxide film on the surface of a conductive layer, such as a seed layer formed on the surface of the substrate, is etched away. In the pre-soak rinse module (110a), the substrate after pre-soaking is cleaned together with the substrate holder using a cleaning solution (pure water, etc.) as a treatment solution. In the rinse module (110b), the substrate after plating is cleaned together with the substrate holder using a cleaning solution as a treatment solution. In the blow module (111), the liquid is removed from the substrate after cleaning.

[0018] The plating processing module (112) has a plurality of cells (also referred to as plating tanks (112a)) equipped with an overflow tank. Each plating tank (112a) accommodates, for example, one substrate inside and immerses the substrate in a plating solution held inside to perform plating, such as copper plating, on the surface of the substrate. Here, the type of plating solution is not particularly limited, and various plating solutions are used depending on the application. When multiple different plating processes are performed on a single substrate, the plating processing module (112) has a plurality of plating tanks (112a) that accommodate different types of plating solutions. In one embodiment, a rinsing process (described later) after plating is performed in the plating tank (112a).

[0019] The substrate processing device (100) has a substrate holder transport device (113) that is positioned to the side of each of these devices and transports a substrate holder between each of these devices, for example, using a linear motor method. This substrate holder transport device (113) has a transporter (114) and a transporter (115). The transporter (114) and the transporter (115) travel on a rail (116). Additionally, only one of the transporters (114, 115) may be provided so that transport between each of the above parts is performed by a single transporter (114). Additionally, three or more transporters may be provided. Furthermore, the configuration of this substrate processing device (100) is an example, and other configurations may be adopted.

[0020] In the substrate processing device (100), the transport robot (103) takes an unprocessed substrate from the cassette (102), loads it onto the aligner (104), and the aligner (104) determines the position of the substrate based on a reference position such as a reference plane or a notch. Subsequently, the transport robot (103) transfers the substrate to the substrate attachment / detachment device (105a), where the substrate is mounted on the substrate holder taken from the stocker (107). In this example, the substrate is mounted on each substrate holder by two substrate attachment / detachment devices (105a), and the two substrate holders are transported as a set. The substrate mounted on the substrate holder is transferred by the carrier (114) to the pre-wet module (108), where it is fully washed, then transferred to the pre-soak module (109) for pre-processing, and then transferred to the pre-soak rinse module (110a) for washing.

[0021] A substrate that has been washed in the pre-soak rinse module (110a) is transported by a carrier (115) to a plating tank (112a) of a plating treatment module (112) and immersed in a plating solution. Here, a plating treatment is performed on the substrate to form a metal film. In addition, if multiple types of plating treatments are performed, the substrate is sequentially transported to multiple plating tanks (112a) and plating is performed. After plating, the substrate is transported by a carrier (115) to the rinse module (110b), washed, and then transported to a blow module (111) to perform a condition treatment. After that, it is transported by a carrier (114) to a substrate attachment / detachment station (105), where the substrate is detached from the substrate holder. The substrate removed from the substrate holder is transferred to a spin rinse dryer (106) by a return robot (103), and after cleaning and drying treatment is performed, it is stored in a cassette (102).

[0022] <Control Configuration>

[0023] FIG. 2 is an explanatory diagram illustrating the control configuration of a substrate processing device (100).

[0024] A substrate processing device (100) is equipped with a device computer (120) and a device controller (121) as controllers (800) that control each part of the device. The device computer (120) is connected to the device controller (121) via a wired or wireless network, cable, etc. Various operating devices (130) of the substrate processing device (100) are connected to the device controller (121) through a predetermined interface I / O. The device computer (120) and the device controller (121) cooperate to execute control of the various operating devices (130) of the substrate processing device (100). By sending a control signal from the device computer (120) to the device controller (121) through the network, the various operating devices (130) are controlled through the device controller (121). Additionally, the device computer (120) is configured to communicate via wired or wireless connection with an unillustrated upper controller (host computer) that controls the substrate processing device (100) and other related devices, and can exchange data with a database owned by the upper controller.

[0025] The device controller (121) is composed of, for example, a PLC, a sequencer, etc., and controls various operating devices (130) of the substrate processing device (100) based on control commands, setting parameters, a transport schedule (transport timetable), etc. supplied from the device computer (120). Here, the various operating devices of the substrate processing device (100) include a transport robot (103), a transporter (114, 115), and other devices.

[0026] A device computer (120) has a memory (120B) that stores various setting data and various programs, and a CPU (120A) that executes the programs in the memory (120B) (Fig. 1). Additionally, although not shown, the device computer (120) may be equipped with an input / output interface including an output device such as a display, and an input device including a keyboard, a mouse, etc. The storage medium constituting the memory (120B) may include any volatile storage medium and / or any non-volatile storage medium. The storage medium may include, for example, one or more of any storage medium such as ROM, RAM, hard disk, CD-ROM, DVD-ROM, flexible disk, etc.

[0027] The program stored in the memory (120B) includes software that constitutes the operation screen application (120C) and scheduling software that constitutes the module called the return scheduler (120D). The scheduling software is a scheduling software that calculates a board return schedule, and the return scheduler (120D) is configured by the scheduling software being executed on the CPU (120A). The return scheduler (120D) creates a return schedule to perform return control that results in maximum throughput from the operation time of each returner, etc. given in advance, and the processing conditions of the target board that received the processing instruction (process recipe, hereinafter simply referred to as recipe). As the scheduling software / return scheduler (120D), a graph network type scheduler, a simulation type scheduler, a machine learning type scheduler, or any other type of scheduler may be adopted. The operation screen application (120C) displays the recipe, the return schedule described later, etc. on the display. Input from the operator can be received by this operation screen application (120C).

[0028] In one example, the return scheduler (120D) receives input data including a recipe, parameters other than the recipe, a margin time described later, and constraints, and creates a return schedule / return timetable at maximum throughput while satisfying the constraints. The inputs of the recipe, parameters other than the recipe, and constraints can be stored in memory (120B). The recipe may be input by the user or selected by the user. Here, the constraints include an upper limit for the time left after processing in each processing tank (limit value for the time left after processing) and a buffer area to avoid conflicts in the return period. The upper limit for the time left after processing is a time constraint set to prevent corrosion of the substrate in each processing tank, and is defined as the time from when processing in the processing tank is completed until the substrate is removed from the processing tank. The buffer area is an area set in each transporter to prevent collisions between carriers (114, 115), and is set so that each transporter does not approach within a predetermined distance by prohibiting other transporters from moving into the buffer area.

[0029] The recipe includes, for example, the number of items processed, the processing sequence number, the processing time, etc., which are set for each board or for each task assigned to one or more boards. Parameters other than the recipe include, for example, "device setting parameters," "processing module / group setting parameters," and "conveyor setting parameters." Device setting parameters include, for example, parameters such as the usage / non-use of each group, the number of groups, and the number of board holders. Processing module / group setting parameters include, for example, the operating time of various mechanisms included in the processing module / group, pre-processing time / post-processing time, reset time, etc. Pre-processing time is the time taken from when a board is brought into the group until processing begins. Post-processing time is the time from when the board is processed in the group until the board can be removed. Reset time is the time from when a board is removed from the group until the group becomes available for use again. Conveyor setting parameters include, for example, movement time, extraction / retrieval time, etc. In addition, the configuration of the input parameters is an example and can be appropriately changed depending on the configuration of the device and process.

[0030] The return schedule / return timetable (output data) generated by the return scheduler (120D) includes a start time, a returner to be operated, a type of operation (extraction / retrieval), a unit processing module / group of the moving source, a processing module / group of the moving location, etc. The configuration of the return schedule / return timetable is an example and can be appropriately changed according to the configuration of the device and process.

[0031] In addition, the program stored in the memory (120B) also includes, for example, a program for controlling the attachment and detachment of a substrate to a substrate holder in a substrate attachment / detachment station (105), a program for controlling the processing of a substrate in each processing module / group (including a program for controlling the plating process in a plating processing module (112)), and other programs for controlling each part of the substrate processing device.

[0032] FIG. 3 is an explanatory diagram illustrating a more detailed control configuration of a substrate processing device (100).

[0033] As illustrated in FIG. 3, the device computer (120) is equipped with a return schedule generation unit (1201) as a return scheduler (120D), an HMI unit (1202), a margin time calculation unit (1203), a schedule adjustment judgment unit (1205), and a processing end forecast time calculation unit (1206).

[0034] In this embodiment, the return schedule generation unit (1201) (return scheduler (120D)) generates a return schedule based on a recipe, parameters other than the recipe, setting values ​​such as constraints, and margin time calculated by the margin time calculation unit (1203) (see FIG. 4a and FIG. 4b). Additionally, the return schedule generation unit (1201) adjusts the return schedule based on an adjustment request from the schedule adjustment judgment unit (1205). Additionally, whenever the return schedule generation unit (1201) generates a return schedule (including generating a return schedule after adjustment by adjustment), it notifies the device controller (121) of the return schedule.

[0035] The HMI unit (1202) receives the setting and selection of a recipe from a user through an input / output interface / human machine interface (HMI) and outputs the recipe used for processing the substrate to the return schedule generation unit (1201) and the margin time calculation unit (1203). In addition, the HMI unit (1202) collects the processing logs (measurement values ​​such as the recipe setting value used for processing, plating current, plating film thickness, actual plating processing time, and other various processing information) from the substrate processing device (100) and supplies them to the margin time calculation unit (1203).

[0036] The margin time calculation unit (1203) calculates the margin time based on the recipe and log from the HMI unit (1202) so that the actual plating processing time of most substrates (e.g., substrates within the range of ασ: σ is the standard deviation, α is the multiple) does not exceed the time (plating processing time after adjustment) by adding the plating processing time set in the recipe and the margin time.

[0037] The process end prediction time calculation unit (1206) calculates the “plating end prediction time” of the plating process based on the plating elapsed time obtained from the device controller (121) and the plating film thickness measurement value obtained from the plating film thickness measurement unit (1207) during the plating process of the substrate, and calculates the “process end prediction time” of the plating tank based on the “plating end prediction time”. Here, if only plating is performed in the plating tank (112a), the “plating end prediction time” = “process end prediction time”. If plating is performed and rinsing is performed after plating in the plating tank (112a) (see FIG. 4a and FIG. 4b), the “plating end prediction time” + “rinsing time” = “process end prediction time”.

[0038] The plating film thickness measuring unit (1207) is, for example, a film thickness measuring device placed in each plating tank (112a). The film thickness measuring device may employ, for example, a displacement sensor of an optical system (using reflected waves, etc.).

[0039] The schedule adjustment determination unit (1205) determines whether adjustment of the current return schedule is necessary based on the return schedule obtained from the return schedule generation unit (1201) and the processing end forecast time obtained from the processing end forecast time calculation unit (1206). When the schedule adjustment determination unit (1205) determines that adjustment of the return schedule is necessary, it outputs a request for adjustment of the return schedule to the return schedule generation unit (1201). Additionally, as shown in FIG. 4b, the schedule adjustment determination unit (1205) determines that adjustment of the current return schedule is necessary when the processing end forecast time exceeds the return start time in the current return schedule (the time when the return (exit) of the substrate from the plating tank (112a) begins). Additionally, the schedule adjustment judgment unit (1205) determines that when the processing (plating process, or plating process + rinse process) in the plating tank (112a) is finished, the actual processing end time has passed the scheduled return start time in the current return schedule, and determines that the current return schedule needs to be adjusted.

[0040] <Return Schedule>

[0041] FIGS. 4a and 4b are examples of a return schedule (return timetable) in a plating tank (112a). The return schedule in the plating tank (112a) includes, for example as shown in FIG. 4a, a plating processing time (recipe setting time), a margin time, a rinse time (recipe setting time), a return waiting time (recipe setting time), a processing start time, a processing end time, and a return start time. Here, an example is shown in which plating processing and rinsing processing are performed in the plating tank (112a), but rinsing processing may be omitted. Additionally, in part or all of the return schedule, a return waiting time may not be set.

[0042] Here, at the prediction time shown in FIG. 4b, if the processing end prediction time calculation unit (1206) receives notification of the film thickness measurement value from the plating film thickness measurement unit (1207), the processing end prediction time calculation unit (1206) calculates the plating end prediction time based on the plating elapsed time and the film thickness measurement value, based on a rule-based calculation formula, a learning network, etc. A rule-based calculation formula is a theoretical calculation formula and / or a calculation formula derived from experiments, etc. In addition, based on the plating end prediction time, the processing end prediction time (plating end prediction time + rinse time) is calculated. At this time, as shown in FIG. 4b, if the processing end prediction time passes the scheduled return start time, the schedule adjustment judgment unit (1205) determines that adjustment of the return schedule is necessary and outputs a request for adjustment of the return schedule to the return schedule generation unit (1201). The return schedule generation unit (1201), based on this adjustment request, performs processing such as modifying the scheduled time of return from the plating tank (112a) of the substrate (referred to as the target substrate) in the current return schedule to the expected time of completion of processing, thereby adjusting the current return schedule and generating a return schedule after adjustment.

[0043] In addition, as described below, even if the processing end time has passed the scheduled return start time after the processing is finished, the schedule adjustment judgment unit (1205) determines that adjustment of the return schedule is necessary and outputs a request for adjustment of the return schedule to the return schedule generation unit (1201). Based on this adjustment request, the return schedule generation unit (1201) performs a process such as modifying the scheduled return start time from the plating tank (112a) of the substrate (referred to as the target substrate) in the current return schedule to a time obtained by adding a predetermined time to the processing end time, thereby adjusting the current return schedule and generating the return schedule after adjustment.

[0044] <Flow of Return Scheduling>

[0045] FIG. 5 is a flowchart showing the overall processing of return scheduling. FIG. 9a to 9e are explanatory diagrams explaining the adjustment of the return schedule.

[0046] FIG. 9a is a return timetable showing the return schedule initially generated. FIG. 9b is a return timetable showing a return schedule with the return schedule after the plating bath removal of the target substrate exceeding the processing time (Part 1), the return schedule of the unreturned portion affected by the target substrate on the upstream side (Part 2), and the return schedule of the subsequent unprocessed substrate (Part 3) removed. FIG. 9c is a return timetable showing a return schedule with the return schedule after the plating bath removal of the target substrate (Part 1) reinserted. FIG. 9d is a return timetable showing a return schedule with the return schedule of the unreturned portion affected by the target substrate on the upstream side (Part 2) also reinserted. FIG. 9e is a return timetable showing a return schedule with the return schedule of the subsequent unprocessed substrate (Part 3) also reinserted.

[0047] In FIGS. 9a through 9e, the table number is a number assigned to each process (including the return process) and increases in response to the passage of time. Furthermore, since the table number is uniquely assigned to each return, even if multiple substrates in progress simultaneously are returned to separate carriers at perfectly simultaneous timing, the positions of the table numbers will differ. When the return start times of multiple carriers coincide, the returns of each table number are continuously started within an extremely short period of time, effectively starting simultaneously. In the figures, "in progress" refers to removing the first and second parts of the return schedule of a substrate after it has been ejected from the cassette. "Target of processing time exceeded" indicates the return schedule of the first part. "Processing upstream" indicates the return schedule of the second part. "Subsequent unprocessed" indicates the return schedule of the third part. Details will be described later.

[0048] In the following explanation, "return schedule" and "return timetable" are explained as agreements.

[0049] In the flowchart of FIG. 5, in step S11, a selected recipe operation is generated for a plurality of substrates (in the same or a plurality of cassettes).

[0050] In step S12, the margin time calculation unit (1203) calculates the margin time for the plating process time (recipe setting time). The margin time is calculated as the time during which most substrates (e.g., substrates within the range of 3σ) can complete the plating process within the plating process time (recipe setting time) + margin time. The estimated plating process time is calculated as the plating process time (recipe setting time) + margin time.

[0051] In step S13, the return schedule generation unit (1201) generates a return schedule based on a recipe, parameters other than the recipe, setting values ​​such as constraints, and margin time (see FIG. 9a).

[0052] In step S14, the operation of the substrate processing device (100) is started based on the generated return schedule.

[0053] In step S15, while plating a substrate in a plating tank (112a), a plating film thickness measuring unit (1207) measures the thickness of the plating film formed on the substrate and outputs the measured value of the plating film thickness to a processing end forecast time calculation unit (1206).

[0054] In Step S16, it is determined whether the treatment in the plating tank (112a) (in the example of FIG. 4a and 4b, plating treatment + rinsing treatment) has been completed. Additionally, if rinsing treatment is not performed in the plating tank (112a), the completion of treatment in the plating tank (112a) equals the completion of plating treatment. If it is determined in Step S16 that the treatment in the plating tank (112a) has not been completed ("No" in Step S16), the process proceeds to Step S17.

[0055] In step S17, the processing end prediction time calculation unit (1206) calculates the "plating end prediction time" of the plating process based on the plating elapsed time obtained from the device controller (121) and the plating film thickness measurement value obtained from the plating film thickness measurement unit (1207) during the plating process of the substrate, and calculates the "processing end prediction time" in the plating tank based on the "plating end prediction time".

[0056] Here, in the plating tank (112a), if only plating treatment is performed, "expected time to finish plating" = "expected time to finish treatment". In the plating tank (112a), if plating treatment and rinsing treatment after plating treatment are performed (see FIG. 4a and FIG. 4b), "expected time to finish plating" + "rinsing time" = "expected time to finish treatment".

[0057] In step S18, the schedule adjustment determination unit (1205) determines whether the expected time to finish processing has passed the scheduled time to start the return. If it is determined that the expected time to finish processing has not passed the scheduled time to start the return ("No" in S18), the process returns to step S15 and repeats the processing after step S15. On the other hand, if it is determined that the expected time to finish processing has passed the scheduled time to start the return ("Yes" in S18, see FIG. 4b), the process proceeds to step S19 to adjust the return schedule and generate the adjusted return schedule (Figs. 9b to 9e).

[0058] In step S16, if it is determined that the processing in the plating tank (112a) is finished ("Yes" in S16), proceed to step S20.

[0059] In step S20, the schedule adjustment determination unit (1205) determines whether the processing end time (the time when the processing actually ends) of the processing in the plating tank (112a) has passed the scheduled time for the return start. If it is determined that the processing end time of the processing in the plating tank (112a) has not passed the scheduled time for the return start ("No" in S20), the process proceeds to step S22 and removes the substrate from the plating tank (112a) at the scheduled time for the return start. On the other hand, if it is determined that the processing end time of the processing in the plating tank (112a) has passed the scheduled time for the return start ("Yes" in S20), the process proceeds to step S21 to adjust the return schedule and generate a return schedule after adjustment (Figs. 9b to 9e). The return schedule after adjustment is also referred to as the adjusted return schedule or the re-adjusted return schedule.

[0060] FIG. 6 is a flowchart of the process for generating an adjustment return schedule. This process is common to S19 and S21 of FIG. 5.

[0061] In step S31, the projected time of completion of processing (S18) or the time of completion of processing (S20) Return schedule (Part 1) after removal from the plating bath of a substrate (referred to as the target substrate or judgment substrate) that has passed / is determined to have passed the scheduled return start time.Remove from the current return schedule (overall return schedule) (Fig. 9b).

[0062] In step S32, compared to the plating bath processing the target substrate Return schedule of the non-return portion of the substrate affected by the return of the target substrate from the upstream side (Part 2) The return schedule is removed from the overall return schedule (Fig. 9b). That is, among one or more substrates after being removed from the cassette, the return schedule of the (adjustable) portion of the unreturned portion of one or more substrates (e.g., substrates scheduled to use the same plating bath) that are affected by the return of the target substrate upstream of the return order than the plating bath where the target substrate is being processed is deleted from the overall return schedule. Here, for a substrate being processed in a module / tank, the return schedule after being removed from the module / tank being processed is deleted. For a substrate being returned between modules / tank, the return schedule after being removed from the module / tank at the destination is deleted.

[0063] In this example, the return sequence is as described above: (cassette (102)) → aligner (104) → substrate removal device (105a) → pre-wet module (108) → pre-soak module (109) → pre-soak rinse module (110a) → plating tank (112a) → rinse module (110b) → blow module (111) → substrate removal station (105) → spin rinse dryer (106) → cassette (102). The upstream side of the target substrate in the plating tank (112a) corresponds to the part of the aligner (104) → substrate removal device (105a) → pre-wet module (108) → pre-soak module (109) → pre-soak rinse module (110a) (up to the front of the plating tank (112a) indicated by arrow A in FIG. 1).

[0064] A substrate that is affected by the return of the target substrate from the upstream side includes, for example, an upstream substrate that is scheduled to use the same plating tank (112a) as the target substrate. However, even if it is an upstream substrate that is not scheduled to use the same plating tank (112a) as the target substrate, depending on the configuration of the upstream side (for example, the number of pre-wet modules (108), etc.), it may be affected by the return of the target substrate from the upstream side, and such a substrate may be included.

[0065] In Step S33, Return schedule for subsequent unprocessed substrates (Part 3) Remove from the entire return schedule (Fig. 9b). A subsequent unprocessed substrate refers to a subsequent unprocessed substrate that has not yet been removed from the cassette (102) (that is in the cassette (102)).

[0066] In step S34, through the processing described later in FIG. 7, the return schedule (first part) after the plating bath of the target substrate is reinserted into the overall return schedule (Fig. 9c).

[0067] At this time, the return schedule (first part) after the target substrate is removed from the plating tank is filled again between the return schedules of other substrates in the overall return schedule, in accordance with the projected time (S18) for the end of processing in the plating tank (112a) of the target substrate, or in accordance with the time obtained by adding a predetermined time to the time for the end of processing (S20).

[0068] That is, as described later in FIG. 7, the scheduled time for the start of return from the plating tank (112a) of the target substrate is modified to the expected time for the end of processing (S18) or to the time obtained by adding a predetermined time to the time for the end of processing (S20), and based on the scheduled time for the start of return after modification, the entire return schedule is adjusted, and the return schedule (first part) after the removal of the target substrate from the plating tank is reinserted into the entire return schedule.

[0069] In step S35, through the processing described later in FIG. 8, the return schedule (second part) of the unreturned portion of the substrate affected by the return of the target substrate on the upstream side is reinserted into the overall return schedule (Fig. 9d).

[0070] At this time, the return schedule (second part) after the extraction of the upstream substrate / module is filled again between the return schedules of other substrates in the overall return schedule, in accordance with the projected time (S18) for the end of processing in the plating tank (112a) of the target substrate, or in accordance with the time obtained by adding a predetermined time to the time for the end of processing (S20).

[0071] That is, as described below in FIG. 8, the scheduled time for the start of return from the assembly / module containing the upstream substrate is modified to a time obtained by adding a predetermined time to the expected time for the end of processing (S18) or the time for the end of processing (S20), and based on the scheduled time for the start of return after modification, the entire return schedule (including the already re-inserted part) is adjusted, and the return schedule (second part) after the removal of the assembly / module of the upstream substrate is re-inserted into the entire return schedule.

[0072] In step S36, for the entire return schedule (Fig. 9d) after the first and second parts have been reinserted in steps S34 and S35, the return schedule for the subsequent unprocessed substrate (third part) is rescheduled in the same manner as the return schedule for the new task is created, and the return schedule for the subsequent unprocessed substrate (third part) is reinserted into the entire return schedule (Fig. 9e). Since the process of reinserting the return schedule for the subsequent unprocessed substrate (third part) into the entire return schedule is the creation of a return schedule for a substrate that has not been removed from the cassette, it is carried out in the same manner as the process of creating a return schedule for the new task (S13 in Fig. 5).

[0073] FIG. 7 is a flowchart of a process (S34) for re-inserting a return schedule (first part) after the plating bath of the target substrate into the overall return schedule.

[0074] In step S41, the scheduled time for the start of the return of the target substrate from the plating tank (112a) is set to the expected time for the end of processing (S18), or to the time obtained by adding a predetermined time to the time for the end of processing (S20). The predetermined time is set in advance, for example, by taking into account the time for adjusting the return schedule.

[0075] In step S42, the entire transfer schedule (Fig. 9b) is adjusted in accordance with / based on the scheduled time for the start of transfer after modification of the target substrate in the plating bath, and the transfer schedule (first part) after the target substrate is removed from the plating bath is reinserted into the entire transfer schedule (Fig. 9c). Additionally, "after removal from the plating bath" refers to the time after the start of transfer from the plating bath.

[0076] In step S43, for other substrates (other substrates in the overall return schedule, see FIG. 9b), it is determined whether the time left after processing (the time the substrate is immersed in the processing solution from processing until release) exceeds a limit value.

[0077] If it is determined that the time left after processing other substrates does not exceed the limit value, the insertion of the first part (the return schedule after the target substrate is removed from the plating bath) into the overall return schedule is completed (Fig. 9c). That is, the processing of this flow (step S34) is terminated.

[0078] Meanwhile, if it is determined that the time left after processing on another substrate exceeds the limit value, proceed to step S44.

[0079] In step S44, the entire return schedule is restored to the state before inserting the return schedule (first part) after the plating bath of the target substrate (state before step S42, see FIG. 9b), and the process proceeds to step S45.

[0080] In step S45, the scheduled start time for the return of the target substrate is reset by delaying it for a certain period of time, and the process is returned to step S42 and the processing after S42 is repeated. That is, in step S43, until it is determined that the time left after processing for other substrates does not exceed the limit value, the entire return schedule is returned to the state before the insertion of the first part (step S44), the scheduled start time for the return is delayed for a certain period of time (step S45), and the re-insertion of the first part (step S42) is repeated. The certain period of time can be a pre-set time.

[0081] In step S43, if it is determined that the time left after processing on other substrates does not exceed the limit value, the insertion of the first part (the return schedule after the target substrate is removed from the plating bath) into the overall return schedule is completed (Fig. 9c). That is, the processing of this flow (step S34) is terminated.

[0082] FIG. 8 is a flowchart of a process (S35) for reinserting the return schedule (second part) of the unreturned portion of the substrate affected by the return of the target substrate from the upstream side into the overall return schedule. If there are multiple substrates affected by the return of the target substrate from the upstream side, the processing of steps S52 to S55 (S57) of FIG. 8 is executed sequentially starting from the downstream substrate.

[0083] In Step S51, among the substrates affected by the return of the target substrate from the upstream side, the downstream substrate that has not undergone processing after Step S52 is selected.

[0084] In step S52, if the substrate selected in step S51 is being transported, the first transport to the processing tank of the transport location is completed.

[0085] In step S53, regarding the scheduled time for the start of the return of the substrate selected in step S51 from the current processing tank, a time is set by adding a predetermined time to the projected time for the end of processing of the target substrate (S17) or the time for the end of processing (S20). That is, the scheduled time for the start of the return of the substrate selected in step S51 from the current processing tank is updated to a time by adding a predetermined time to the projected time for the end of processing of the target substrate (S17) or the time for the end of processing (S20).

[0086] In step S54, the entire transfer schedule is adjusted based on the scheduled time for the start of transfer after modification in the current processing tank of the substrate selected in step S51, and the transfer schedule after removal from the current processing tank of the substrate selected in step S51 (the part of the second part corresponding to the substrate selected in step S51) is reinserted into the entire transfer schedule (Fig. 9d).

[0087] In Step S55, it is determined whether there are any other substrates (other substrates in the overall return schedule) whose post-processing idle time exceeds the limit value. If it is determined that there are no other normal substrates whose post-processing idle time exceeds the limit value, the process proceeds to Step S58. On the other hand, if it is determined that there are any other substrates whose post-processing idle time exceeds the limit value, the process proceeds to Step S56.

[0088] In step S56, the entire return schedule is restored to the state before inserting the return schedule of the substrate selected in step S51 (the part of the second part corresponding to the substrate selected in step S51) (the state before step S54), and the process proceeds to step S57.

[0089] In step S57, the scheduled start time for the return of the substrate selected in step S51 is reset by delaying it for a certain period of time, and the process returns to step S54 and repeats the processing after S54. That is, in step S55, until it is determined that the post-processing idle time for other substrates does not exceed a limit value, the entire return schedule is returned to the state before insertion in S54 (step S56), the scheduled start time for the return is delayed for a certain period of time (step S57), and the process of re-inserting the part of the second part corresponding to the substrate selected in step S51 (step S54) is repeated. The certain period of time may be a preset time.

[0090] In step S55, if it is determined that the time left after processing on other substrates does not exceed the limit value, proceed to step S58.

[0091] In step S58, it is determined whether there are any substrates (part 2) among the substrates affected by the return of the target substrate from the upstream side that have not undergone processing after step S52. If there are any, in step S51, the lowest downstream one among the remaining substrates is selected and processing after step S52 is performed. On the other hand, if there are no substrates, the insertion of the return schedule (part 2) of the unreturned portion of the substrates affected by the return of the target substrate from the upstream side into the overall return schedule is completed (Fig. 9d). That is, the processing of this flow (S35 in Fig. 6) is terminated.

[0092] In addition, after the processing of step S35 of FIG. 6 is completed, as described above, in step S36, for the entire schedule (Fig. 9d) after the first and second parts have been reinserted, the return schedule of the subsequent unprocessed substrate (third part) is rescheduled in the same way as the creation of the return schedule for the new work, and the return schedule of the subsequent unprocessed substrate (third part) is reinserted into the entire return schedule (Fig. 9e). By doing so, the adjustment of the return schedule, that is, the creation of the return schedule after adjustment (step S19 or step S21), is completed.

[0093] (Example of margin time calculation method)

[0094] An example of a method for calculating the margin time in step S12 of FIG. 5 is described. For calculating the margin time to be added to the plating processing time (recipe setting time) shown in FIG. 4a and FIG. 4b, statistical values ​​based on past plating data or a learning network may be used.

[0095] (1) Example of a method to calculate margin time using a learning network

[0096] The margin time can be calculated by a learning network (machine learning). For example, the margin time can be calculated using a fully trained network that has been machine-learned using past plating data as teacher data. The input and output parameters of the learning network can be set, for example, as follows.

[0097] Input) Plating processing time in recipe settings, plating current value in recipe settings, target film thickness value, chemical composition, chemical temperature, circulation flow rate, paddle speed, substrate information (aperture ratio, area)

[0098] Output) Margin Time (= Actual plating time - Plating processing time in recipe settings)

[0099] (Also, the actual plating time required is equal to the measured plating processing time.)

[0100] When plating a substrate, input values ​​tailored to the substrate to be plated are input to the learning network (learning completion network) to calculate the margin time.

[0101] The input to the learning network may include parameters other than those mentioned above, may omit some of the parameters, or may be a combination of the parameters other than those mentioned above.

[0102] Furthermore, the margin time is not limited to positive values; if it is a negative value, the plating process is set to be completed in a shorter time than the recipe setting time. Regardless of whether the margin time is positive or negative, the margin time is set so that the majority of substrates do not exceed the recipe setting time plus the margin time. The same applies to the following examples.

[0103] As past plating data, only data where the actual processing end time exceeds (or shortens) the processing end time of the recipe setting may be used. The same applies to (2) and (3) below.

[0104] (2) Example 1 of a method for calculating margin time from statistical values ​​based on plating data

[0105] Using mathematical formulas 1 to 3, statistical values ​​of the required plating time can be calculated, and margin time can be calculated based on the statistical values ​​of the required plating time. The left side of mathematical formula 1 is the average value of the plating time [min]( <tm>It is also denoted as ). The argument inside Σ on the right-hand side of Equation 1 is the measured plating time [min] (also denoted as Tm(n)). n represents the data number, and N represents the total number of data. In Equation 2, σ 2 represents the variance of the distribution of measured values ​​for the plating time of the substrate. In Equation 3, t margin is margin time [min], t recipe is the plating processing time [min] of the recipe settings, σ is the standard deviation (square root of the variance), and α is a multiple of σ. Adding ασ is done to adjust the margin time in the positive direction.

[0106] [Mathematical Formula 1]

[0107]

[0108] [Mathematical Formula 2]

[0109]

[0110] [Mathematical Formula 3]

[0111]

[0112] Equation 3 represents the calculation of the margin time during which substrates within the range of α times the standard deviation σ among the substrates included in the past plating data can complete the plating process within the plating process time (recipe setting) + margin time. For example, if α=3, the margin time during which substrates within the range of 3 times the standard deviation σ: 3σ can be calculated to complete the plating process within the plating process time (recipe setting) + margin time. If the distribution of the plating time measurements follows a normal distribution, the number of substrates within the range of 3σ is 99.7% of the total substrates. That is, the margin time during which 99.7% of the substrates can complete the plating process within the plating process time (recipe setting) + margin time can be calculated.

[0113] The above calculation formula is based on the premise that the target film thickness and plating rate for the substrate are constant values. Since the plating time varies depending on the plating rate and the target film thickness, for each combination of target film thickness and plating rate, the average plating time [min]( <tm>Collect the measured values ​​of ) and calculate the margin time.

[0114] There may be cases where the plating rate changes non-linearly depending on plating conditions such as plating film thickness or current density. In such cases, it is preferable to use a learning network instead of calculating the margin time in the theoretical formula above in terms of precision.

[0115] (3) Example 2 of a method for calculating margin time from statistical values ​​based on plating data

[0116] As shown in mathematical formulas 4 to 7, the plating rate is calculated from the measured plating film thickness and the required plating time (required plating processing time), and the statistical value is calculated to calculate the margin time.

[0117] The left side of Equation 4 is the measured plating rate [㎛ / min] (also denoted as Am(n)). The numerator of the right side of Equation 4 is the measured film thickness [㎛] (also denoted as Xm(n)). The denominator of the right side of Equation 4 is the measured plating treatment time [min] (also denoted as Tm(n)). The left side of Equation 5 is the average measured plating rate [㎛ / min] ( <am>Also denoted as ). n represents the data number, and N represents the total number of data. In mathematical formula 6, σ 2 represents the variance of the distribution of the measured plating rate values ​​of the substrate. In Equation 7, t margin is margin time[min], X target is the target film thickness [㎛], t recipe ε₀ represents the plating time [min] of the recipe settings, σ₀ represents the standard deviation (square root of the variance), and α represents a multiple of σ₀. The use of ασ in Equation 7 is to adjust the margin time in the positive direction.

[0118] In Equation 7, as described above in Equation 3, among the substrates included in the past plating data, the substrates within a range of α times the standard deviation σ are subject to the plating treatment time (recipe setting) t recipe +Margin time t margin This indicates calculating the margin time within which the plating process can be completed. For example, if α=3, the margin time can be calculated such that substrates within the range of 3 times the standard deviation σ: 3σ can complete the plating process within the plating process time (recipe setting) + margin time. If the distribution of the plating rate measurements was a normal distribution, the number of substrates within the range of 3σ would be 99.7% of the total substrates. That is, the margin time can be calculated such that 99.7% of the substrates can complete the plating process within the plating process time (recipe setting) + margin time.

[0119] [Mathematical Formula 4]

[0120]

[0121] [Mathematical Formula 5]

[0122]

[0123] [Mathematical Formula 6]

[0124]

[0125] [Mathematical Formula 7]

[0126]

[0127] The above calculation formula is based on the premise that the current density applied to the substrate is a constant value. Since the plating rate changes depending on the current density, the plating rate measurement value [㎛ / min] (Am(n)) for each current density is collected to calculate the margin time.

[0128] There may be cases where the theoretical plating deposition amount (γ) is not a constant value but changes (becomes non-linear) depending on current density or other plating conditions; in such cases, it is preferable to use a learning network instead of calculating the margin time in the theoretical formula above in terms of precision.

[0129] (Example of method for calculating the projected time of plating completion)

[0130] (1) Example of a method to calculate the expected time of plating end using a learning network

[0131] The projected time of plating completion can be calculated by a learning network (machine learning). For example, the projected time of plating completion (S17 in FIG. 5) can be calculated using a learning completed network that has been machine learned / trained using past plating data as teacher data. The input and output parameters of the learning network can be set as, for example, as follows.

[0132] Input) Plating elapsed time / measured current value, film thickness target value / current value, chemical composition, chemical temperature, circulation flow rate, paddle speed, substrate information

[0133] Output) Estimated remaining plating time

[0134] The expected time to finish plating can be calculated as: current time + expected remaining time to finish plating = expected time to finish plating. The current time may be calculated as: time to start plating + time elapsed for plating. Additionally, if rinsing is performed in the plating tank, the expected time to finish treatment in the plating tank can be calculated by adding the rinsing time to the expected time to finish plating.

[0135] The input to the learning network may include parameters other than those mentioned above, may omit some of the parameters, or may be a combination of the parameters other than those mentioned above.

[0136] (2) Example of a method for calculating the projected time of plating completion by a rule-based formula

[0137] The estimated time for the end of plating (S17 in FIG. 5) is calculated by a simplified calculation of the remaining film thickness from the difference between the target film thickness and the film thickness measurement value, and the estimated time for the remaining plating is calculated from the statistical value of the plating rate (e.g., the average value of the plating rate measurement value), and the estimated time for the end of plating is obtained by adding this to the current time (plating start time + plating elapsed time) (see Equation 1).

[0138] Projected plating completion time = (Target film thickness - Measured film thickness) / (Average measured plating rate) + (Plating start time + Elapsed plating time) … (Equation 1)

[0139] (Other embodiments)

[0140] (1) In the above-described adjustment scheduling of the return schedule, the purpose is to re-insert the return schedule after the target substrate is removed from the plating bath (first part), the return schedule of the un-returned portion of the substrate affected by the return of the target substrate from the upstream side (second part), and the return schedule of the subsequent unprocessed substrate (third part) between other substrate returns, and if the purpose is satisfied, a graph network method, a simulation method, machine learning, or any other scheduling method may be adopted.

[0141] (2) When the expected plating end time is slower than the plating end time (+margin time) set in the recipe, the rinsing time may be shortened within an adjustable range that does not affect the rinsing performance. Conversely, when the expected plating end time is faster than the plating end time (+margin time) set in the recipe, the rinsing time may be lengthened within an adjustable range that does not affect the rinsing performance.

[0142] (3) If the projected completion time of the plating process (+margin time) + rinse time does not exceed the scheduled return start time, there is no need to adjust the return schedule. However, it may be adjusted.

[0143] (4) Even if the actual processing time of most substrates is extended during the initial substrate input scheduling, it is not necessary to set a margin time. Even in that case, it is possible to measure the film thickness during the plating process, calculate the expected time of completion of the process, and schedule the adjustment of the return schedule. That is, in the above embodiment, the setting of the margin time may be omitted, and only the schedule adjustment of the return schedule based on the film thickness measurement value may be performed.

[0144] (5) In addition, since the margin time is set so that most substrates can finish the plating process within the plating process time (recipe setting time) + margin time, the adjustment scheduling of the return schedule during operation of the substrate processing device may be omitted as desired.

[0145] (6) In the above embodiment, the return schedule is adjusted when the expected time of processing completion (actual time of processing completion) has passed the scheduled time of return start. However, when the expected time of processing completion (actual time of processing completion) is earlier than the scheduled time of return start, the scheduled time of return start may be set to the expected time of processing completion (actual time of processing completion) and the return schedule may be adjusted.

[0146] From the above embodiments, at least the following technical ideas can be understood.

[0147] [1] According to one embodiment, the substrate processing device comprises a plurality of processing tanks for processing a substrate, a carrier for transporting the substrate, and a transport schedule for transporting and processing the substrate between the plurality of processing tanks, and a control device for controlling the transport of the substrate by the carrier and the processing of the substrate in the plurality of processing tanks based on the transport schedule. The plurality of processing tanks includes a first processing tank that performs one or more processing including a first processing on the substrate. The control device generates a transport schedule by adding a positive or negative margin time, calculated by a learning network or a statistical calculation method using the actual processing time obtained by actually performing the first processing on the plurality of substrates in the first processing tank, to the processing time of the first processing set in the recipe. The actual processing time indicates the time required for the first processing that has been actually measured.

[0148] According to this form, even if the processing end time of the first process varies, by adding the margin time calculated from past processing data by a learning network or a statistical calculation method to the processing time of the first process (recipe setting time), the possibility of completing the first process within the range of the processing time of the first process (recipe setting time) + margin time can be improved. By doing so, the possibility that the processing end time of the first process is delayed beyond the processing end time of the recipe setting, and that other substrates fail to meet the limit value of the post-processing idle time due to return disturbance, can be suppressed.

[0149] In addition, the actual processing time when the first processing is performed by setting a margin time can be added to the processing data for calculating the subsequent margin time, thereby updating the processing data. In this way, the precision of the margin time can be improved as the first processing is performed.

[0150] Negative margin time refers to cases where, in past processing data, there are many substrates where the actual processing time of the first processing is shorter than the processing time set in the recipe.

[0151] [2] According to the form of work, the margin time is calculated based on statistical calculation of the actual processing time of a plurality of substrates when the first processing is actually performed on a plurality of substrates in the first processing tank, such that the actual processing time of a substrate within the range of 3σ value, which is three times the standard deviation σ, among the plurality of substrates does not exceed the time of the first processing time set in the recipe plus the margin time.

[0152] The measured values ​​may include the measured values ​​of various physical quantities during the first treatment (in the case of plating treatment, for example, plating treatment time, film thickness, plating rate).

[0153] According to this form, for most substrates within the range of 3σ values ​​(99.7% in normal distribution), in other words, with high precision, the first processing can be completed within the range of the processing time (recipe setting) + margin time of the first processing.

[0154] [3] According to the method, the first processing unit includes a sensor that detects the progress of the first processing unit, and the control unit estimates the expected processing end time when all processing of one or more processing units in the first processing unit is completed from the detection value obtained from the sensor, and if it is determined that the expected processing end time is delayed compared to the scheduled time for the start of the return in the return schedule, the scheduled time for the start of the return is modified to the expected processing end time, thereby adjusting the return schedule.

[0155] According to this configuration, the possibility of completing the first processing within the range of processing time (recipe setting) + margin time is increased by the margin time, and additionally, by monitoring the projected processing end time in the first processing tank and adjusting the return schedule by modifying the projected return start time to the projected processing end time if the projected processing end time is delayed compared to the scheduled return start time, the possibility of other substrates failing to meet the limit value of the post-processing idle time due to return disturbance caused by fluctuations in the projected processing end time can be further suppressed.

[0156] In addition, if the system is configured to adjust the return schedule when the estimated processing completion time is delayed compared to the scheduled return start time, the load of return schedule adjustment can be minimized. Furthermore, the return schedule may also be adjusted even if the estimated processing completion time is earlier than the scheduled return start time.

[0157] [4] According to the form, the control device first removes from the return schedule a first part of the return schedule corresponding to the part of the substrate after it is removed from the first processing tank, which is determined to have a processing end time delayed compared to the return start time, a second part of the return schedule corresponding to the un-returned part of one or more substrates affected by the return of the substrate upstream, and a third part of the return schedule for one or more subsequent unprocessed substrates in the substrate receiver, and modifies the return start time to the processing end time, and then re-inserts the first to third parts into the return schedule to match the return start time after modification.

[0158] According to this form, only the parts of the return schedule that require adjustment are initially removed from the return schedule, and the removed parts are refilled into the return schedule in accordance with the scheduled return start time modified to the projected processing end time. Therefore, the return schedule can be adjusted with the minimum necessary processing to generate the adjusted return schedule.

[0159] [5] According to the method, the control device, when it is determined that the processing end time has passed the scheduled time for return start after the processing end time in which all one or more processing in the first processing tank is completed, modifies the scheduled time for return start to the time by adding a predetermined amount of time to the processing end time and adjusts the return schedule.

[0160] According to this configuration, even if the actual processing end time has passed the scheduled return start time after processing in the first processing tank is completed, the return schedule is adjusted. By doing so, the possibility that other substrates may fail to adhere to the limit value of the post-processing idle time due to return disturbances in the first processing can be further suppressed.

[0161] [6] According to the form, the control device first removes from the return schedule a first part of the return schedule corresponding to the part of the substrate after it has been removed from the first processing tank, which is determined to have passed the processing end time of the return start time, a second part of the return schedule corresponding to the un-returned part of one or more substrates affected by the return of the substrate on the upstream side, and a third part of the return schedule for one or more subsequent unprocessed substrates in the substrate receiver, and modifies the return start time to a time by adding a predetermined time to the processing end time, and then re-inserts the first to third parts into the return schedule to match the return start time after modification.

[0162] According to this form, only the parts of the return schedule that require adjustment are initially removed from the return schedule, and the removed parts are refilled into the return schedule in accordance with the scheduled return start time modified to "a time obtained by adding a predetermined time to the processing end time." Therefore, the return schedule can be adjusted with the minimum necessary processing to generate the adjusted return schedule.

[0163] [7] According to the method, the control device generates the return schedule using a graph network-based scheduler, a simulation-based scheduler, or a machine learning-based scheduler.

[0164] According to this form, the generation of the above return schedule can be performed using various schedulers.

[0165] [8] According to the form, the first treatment is a plating treatment, and the one or more treatments include only the plating treatment, or the plating treatment and the rinsing treatment.

[0166] According to this form, the possibility that other substrates may not be able to adhere to the limit value of the post-processing storage time due to return disturbances caused by variations in plating processing time can be suppressed.

[0167] [9] According to one form, the substrate processing device comprises a plurality of processing tanks that perform processing on a substrate, a carrier that transports the substrate, and a transport schedule that transports and processes the substrate between the plurality of processing tanks, and a control device that controls the transport of the substrate by the carrier and the processing of the substrate in the plurality of processing tanks based on the transport schedule. The plurality of processing tanks includes a first processing tank that performs one or more processing including a first processing on a substrate and has a sensor that detects the progress of the first processing. The control device estimates a projected time of completion of processing when all processing of the one or more processing in the first processing tank is finished from a detection value obtained from the sensor. When it is determined that the projected time of completion of processing is delayed compared to the scheduled time of start of transport set in the transport schedule, the projected time of start of transport is modified to the projected time of completion of processing, and the transport schedule is adjusted to the projected time of start of transport after modification.

[0168] According to this configuration, the projected time of processing completion is estimated based on the detection value of a sensor during substrate processing, and the projected time of processing completion in the first processing tank is monitored. If the projected time of processing completion is delayed compared to the scheduled time of return start, the scheduled time of return start is modified to the projected time of processing completion, thereby adjusting the return schedule. By doing so, the possibility that other substrates may fail to meet the limit value for the time left after processing due to return disturbances caused by fluctuations in the processing completion time can be suppressed.

[0169] In addition, if the system is configured to adjust the return schedule when the estimated processing completion time is delayed compared to the scheduled return start time, the load of return schedule adjustment can be minimized. Furthermore, the return schedule may also be adjusted even if the estimated processing completion time is earlier than the scheduled return start time.

[0170]

[10] According to the form, the control device first removes from the return schedule a first part of the return schedule corresponding to the part of the substrate after it is removed from the first processing tank, which is determined to have a processing end time delayed compared to the return start time, a second part of the return schedule corresponding to the un-returned part of one or more substrates affected by the return of the substrate upstream, and a third part of the return schedule for one or more subsequent unprocessed substrates in the substrate receiver, and modifies the return start time to the processing end time, and then re-inserts the first to third parts into the return schedule to match the return start time after modification.

[0171] According to this form, only the parts of the return schedule that require adjustment are initially removed from the return schedule, and the removed parts are refilled into the return schedule in accordance with the scheduled return start time modified to the projected processing end time. Therefore, the return schedule can be adjusted with the minimum necessary processing to generate the adjusted return schedule.

[0172]

[11] According to the form, the control device, when it is determined that the processing end time has passed the scheduled time for return start after the processing end time in which all one or more processing in the first processing tank has been completed, modifies the scheduled time for return start to the time by adding a predetermined time to the processing end time and adjusts the return schedule.

[0173] According to this configuration, even if the actual processing end time has passed the scheduled return start time after processing in the first processing tank is completed, the return schedule is adjusted. By doing so, the possibility that other substrates may fail to adhere to the limit value of the post-processing idle time due to return disturbances in the first processing can be further suppressed.

[0174]

[12] According to the form, the control device first removes from the return schedule a first part of the return schedule corresponding to the part of the substrate after it has been removed from the first processing tank, which is determined to have passed the processing end time of the return start time, a second part of the return schedule corresponding to the un-returned part of one or more substrates affected by the return of the substrate on the upstream side, and a third part of the return schedule for one or more subsequent unprocessed substrates in the substrate receiver, and modifies the return start time of the return schedule to a time that adds a predetermined time to the processing end time, and then re-inserts the first to third parts into the return schedule to match the return start time after modification.

[0175] According to this form, only the parts of the return schedule that require adjustment are initially removed from the return schedule, and the removed parts are refilled into the return schedule in accordance with the scheduled return start time modified to "a time obtained by adding a predetermined time to the processing end time." Therefore, the return schedule can be adjusted with the minimum necessary processing to generate the adjusted return schedule.

[0176]

[13] According to the form, the control device calculates the expected time of completion of processing using the detection value of the sensor from a rule-based calculation formula or a learning completion network.

[0177] According to this form, the processing end time can be easily calculated from a rule-based calculation formula using the sensor's detection value, the recipe setting parameter, etc., or a high-precision processing end time can be calculated using a learning completion network.

[0178]

[14] According to the form, the control device uses a graph network-based scheduler, a simulation-based scheduler, or a machine learning-based scheduler to generate and adjust the return schedule.

[0179] According to this form, the generation or adjustment of the above return schedule can be performed using various schedulers.

[0180]

[15] According to the form, the first treatment is a plating treatment, and the one or more treatments include only the plating treatment, or the plating treatment and the rinsing treatment.

[0181] According to this form, the possibility that other substrates may not be able to maintain the limit value of the post-processing storage time due to return disturbance caused by variations in plating processing time can be suppressed.

[0182]

[16] According to one form, a plurality of processing units that perform processing on a substrate, a carrier that returns the substrate, and a return schedule that returns the substrate between the plurality of processing units are created, and a control device that controls the return of the substrate by the carrier and the processing of the substrate in the plurality of processing units based on the return schedule are provided, and the plurality of processing units are a method of controlling a substrate processing device including one or more processing units that perform a first processing unit that performs a first processing unit, and the control device generates a return schedule by adding a positive or negative margin time calculated by a learning network or a statistical calculation method using the actual processing time obtained by actually performing the first processing on the plurality of substrates in the first processing unit to the processing time of the first processing unit set in the recipe.

[0183]

[17] According to one embodiment, a plurality of processing units that perform processing on a substrate, a carrier that returns the substrate, and a return schedule that returns the substrate between the plurality of processing units for processing are provided, and a control device that controls the return of the substrate by the carrier and the processing of the substrate in the plurality of processing units based on the return schedule, wherein the plurality of processing units is a storage medium that stores a program for a computer to execute a method of controlling a substrate processing device including one or more processing units that perform a first processing unit that performs a first processing unit, and the control device is provided with a storage medium that stores a program for a computer to execute a method of generating a return schedule by adding a positive or negative margin time calculated by a learning network or statistical calculation method using the actual processing time obtained by actually performing the first processing on the plurality of substrates in the first processing unit to the processing time of the first processing unit set in the recipe.

[0184]

[18] According to one form, a plurality of processing units that perform processing on a substrate, a carrier that returns the substrate, and a return schedule that returns the substrate between the plurality of processing units for processing are prepared, and a control device that controls the return of the substrate by the carrier and the processing of the substrate in the plurality of processing units based on the return schedule is provided, and the plurality of processing units are first processing units that perform one or more processing including a first processing on the substrate, and the first processing units have a sensor that detects the progress of the first processing, and a method for controlling a substrate processing unit including the first processing units is provided, and the method includes estimating the expected time of processing completion when all processing of the one or more processing in the first processing units is completed from the detection value obtained from the sensor, and when it is determined that the expected time of processing completion is delayed compared to the scheduled time of return start set in the return schedule, the scheduled time of return start is modified to the expected time of processing completion, thereby adjusting the return schedule.

[0185]

[19] According to one embodiment, a plurality of processing units that perform processing on a substrate, a carrier that transports the substrate, and a transport schedule that transports and processes the substrate between the plurality of processing units are provided, and a control device that controls the transport of the substrate by the carrier and the processing of the substrate in the plurality of processing units based on the transport schedule, wherein the plurality of processing units are first processing units that perform one or more processing including a first processing on the substrate, and the first processing units that have a sensor that detects the progress of the first processing are provided, and a storage medium that stores a program for the computer to execute a method of controlling a substrate processing device including the first processing units. The storage medium stores a program for the computer to execute an adjustment of the transport schedule by estimating the expected time of processing when all processing of the one or more processing in the first processing units is completed from the detection value obtained from the sensor, and when it is determined that the expected time of processing is delayed compared to the scheduled time of transport start set in the transport schedule, the scheduled time of transport start is modified to the expected time of processing end.

[0186] Although embodiments of the present invention have been described above based on several examples, the above-described embodiments are intended to facilitate understanding of the present invention and are not intended to limit the present invention. The present invention may be modified or improved without departing from its intent, and it is understood that the present invention includes equivalents. Furthermore, any combination or omission of each component described in the claims and specification is possible within the scope of solving at least a part of the above-described problem or within the scope of exhibiting at least a part of the effect.

[0187] The present application claims priority based on Japanese Patent Application No. 2023-215584 filed on December 21, 2023. All disclosures of Japanese Patent Application No. 2023-215584 filed on December 21, 2023, including the specification, claims, drawings, and abstract, are incorporated herein by reference in their entirety.

[0188] All disclosures, including the specifications, claims, drawings, and abstracts of Japanese Patent Publication No. 2022-181368 (Patent Document 1), Japanese Patent Publication No. 2011-018738 (Patent Document 2), and Japanese Patent Publication No. 2021-36582 (Patent Document 3), are incorporated herein by reference in their entirety. Explanation of the symbols

[0189] 100: Substrate processing unit 101A: Load / unload section 101B: Processing unit 102: Cassette table 103: Return robot 104: Aligner 105: Board removal station 105a: Board removal device 106: Spin Rinse Dryer 107: Stocker 108: Pre-wet Module 109: Pre-soak Module 110a: Pre-soak rinse module 111: Blow module 110b: Rinse Module 112: Plating Module 112a: Plating tank (cell) 113: Substrate holder return device 114: Transporter 115: Transporter 116: Rail 120: Device Computer 120A: CPU 120B: Memory 120C: Operation screen application 120D: Return scheduler 121: Device controller 130: Operating device 1201: Return Schedule Generation Unit 1202: HMI Unit 1203: Margin Time Calculation Unit 1205: Schedule Adjustment Decision Unit 1206: Calculation unit for projected processing completion time 1207: Plating film thickness measurement unit< / am> < / tm> < / tm>

Claims

Claim 1 A substrate processing device comprising a plurality of processing tanks for performing processing on a substrate, a carrier for transporting the substrate, and a control device for creating a transport schedule for transporting and processing the substrate between the plurality of processing tanks based on the transport schedule, wherein the plurality of processing tanks includes a first processing tank for performing one or more processing including a first processing on a substrate, and wherein the control device generates a transport schedule by adding a positive or negative margin time calculated by a learning network or a statistical calculation method using the actual processing time obtained by actually performing the first processing on a plurality of substrates in the first processing tank, to the processing time of the first processing set in the recipe. Claim 2 A substrate processing apparatus according to claim 1, wherein the margin time is calculated based on a statistical calculation of a measurement value including the actual processing time when the first processing is actually performed on a plurality of substrates in the first processing tank, such that the actual processing time of a substrate within the range of a 3σ value, which is three times the standard deviation σ among the plurality of substrates, does not exceed the time obtained by adding the margin time to the processing time of the first processing set in the recipe. Claim 3 A substrate processing device according to claim 1 or 2, wherein the first processing tank includes a sensor for detecting the progress of the first processing, and the control device estimates a projected processing end time when all processing of the one or a plurality of processes in the first processing tank is completed from a detection value obtained from the sensor, and if it is determined that the projected processing end time is delayed compared to the scheduled return start time set in the return schedule, the scheduled return start time is modified to the projected processing end time to perform adjustment of the return schedule. Claim 4 A substrate processing device according to paragraph 3, wherein the control device first removes from the return schedule a first part of the return schedule corresponding to the portion of the substrate after removal from the first processing tank where it is determined that the expected time of processing completion is delayed compared to the scheduled time of return start, a second part of the return schedule corresponding to the unreturned portion of one or more substrates affected by the return of said substrate on the upstream side, and a third part of the return schedule for one or more subsequent unprocessed substrates in the substrate receiver, modifies the scheduled time of return start to the expected time of processing completion, and re-inserts the first to third parts into the return schedule in accordance with the scheduled time of return start after modification. Claim 5 A substrate processing device according to paragraph 3, wherein the control device, when it is determined that the processing end time has passed the scheduled return start time after the processing end time in which all of the one or multiple processes in the first processing tank are completed, modifies the scheduled return start time to a time obtained by adding a predetermined time to the processing end time, thereby adjusting the return schedule. Claim 6 A substrate processing device according to claim 5, wherein the control device first removes from the return schedule a first part of the return schedule corresponding to the portion of the substrate after being removed from the first processing tank, where it is determined that the processing end time has passed the scheduled return start time, a second part of the return schedule corresponding to the unreturned portion of one or more substrates affected by the return of said substrate on the upstream side, and a third part of the return schedule for one or more subsequent unprocessed substrates in the substrate receiver, modifies the scheduled return start time to a time obtained by adding a predetermined time to the processing end time, and reinserts the first to third parts into the return schedule in accordance with the modified scheduled return start time. Claim 7 A substrate processing device according to claim 1 or 2, wherein the control device generates the return schedule using a graph network type scheduler, a simulation type scheduler, or a machine learning type scheduler. Claim 8 A substrate processing apparatus according to claim 1 or 2, wherein the first treatment is a plating treatment, and the one or more treatments include only a plating treatment, or a plating treatment and a rinsing treatment. Claim 9 A substrate processing device comprising a plurality of processing tanks for performing processing on a substrate, a carrier for transporting the substrate, and a transport schedule for transporting and processing the substrate between the plurality of processing tanks, and a control device for controlling the transport of the substrate by the carrier and the processing of the substrate in the plurality of processing tanks based on the transport schedule, wherein the plurality of processing tanks includes a first processing tank that performs one or more processing including a first processing on a substrate and has a sensor for detecting the progress of the first processing, and wherein the control device estimates a projected processing end time when all processing of the one or more processing in the first processing tank is completed from a detection value obtained from the sensor, and if it is determined that the projected processing end time is delayed compared to the scheduled transport start time set in the transport schedule, the scheduled transport start time is modified to the projected processing end time, and the transport schedule is adjusted to the projected processing end time. Claim 10 A substrate processing device according to claim 9, wherein the control device first removes from the return schedule a first part of the return schedule corresponding to the portion of the substrate after removal from the first processing tank where it is determined that the expected time of processing completion is delayed compared to the scheduled time of return start, a second part of the return schedule corresponding to the unreturned portion of one or more substrates affected by the return of said substrate on the upstream side, and a third part of the return schedule for one or more subsequent unprocessed substrates in the substrate receiver, modifies the scheduled time of return start to the expected time of processing completion, and re-inserts the first to third parts into the return schedule in accordance with the scheduled time of return start after modification. Claim 11 A substrate processing device according to claim 9 or 10, wherein the control device, when it is determined that the processing end time has passed the scheduled return start time after the processing end time in which all of the one or multiple processes in the first processing tank have been completed, modifies the scheduled return start time to a time obtained by adding a predetermined time to the processing end time to perform adjustment of the return schedule. Claim 12 A substrate processing device according to claim 11, wherein the control device first removes from the return schedule a first part of the return schedule corresponding to the portion of the substrate after being removed from the first processing tank, which is determined to have exceeded the scheduled return start time, a second part of the return schedule corresponding to the unreturned portion of one or more substrates affected by the return of said substrate on the upstream side, and a third part of the return schedule for one or more subsequent unprocessed substrates in the substrate receiver, modifies the scheduled return start time to a time obtained by adding a predetermined time to the scheduled processing end time, and reinserts the first to third parts into the return schedule in accordance with the modified scheduled return start time. Claim 13 A substrate processing device according to claim 9 or 10, wherein the control device calculates the processing end forecast time from a rule-based calculation formula or a learning completion network using the detection value of the sensor. Claim 14 A substrate processing device according to claim 9 or 10, wherein the control device performs the generation and adjustment of the return schedule using a graph network-based scheduler, a simulation-based scheduler, or a machine learning-based scheduler. Claim 15 A substrate processing apparatus according to claim 9 or 10, wherein the first treatment is a plating treatment, and the one or more treatments include only a plating treatment, or a plating treatment and a rinsing treatment. Claim 16 A method for controlling a substrate processing apparatus comprising a plurality of processing tanks for performing processing on a substrate, a carrier for transporting the substrate, and a transport schedule for transporting and processing the substrate between the plurality of processing tanks, and a control device for controlling the transport of the substrate by the carrier and the processing of the substrate in the plurality of processing tanks based on the transport schedule, wherein the plurality of processing tanks includes a first processing tank that performs one or more processing including a first processing on the substrate, and wherein the control device generates a transport schedule by adding a positive or negative margin time calculated by a learning network or a statistical calculation method using the actual processing time obtained by actually performing the first processing on the plurality of substrates in the first processing tank to the processing time of the first processing set in the recipe. Claim 17 A non-volatile storage medium storing a program for executing on a computer a method for controlling a substrate processing device, wherein the device comprises a plurality of processing tanks for performing processing on a substrate, a carrier for transporting the substrate, and a transport schedule for transporting and processing the substrate between the plurality of processing tanks, and a control device for controlling the transport of the substrate by the carrier and the processing of the substrate in the plurality of processing tanks based on the transport schedule, wherein the plurality of processing tanks include a first processing tank that performs one or more processing including a first processing on a substrate, and the control device stores a program for executing on a computer a method for generating a transport schedule by adding a positive or negative margin time calculated by a learning network or a statistical calculation method using the actual processing time obtained by actually performing the first processing on the plurality of substrates in the first processing tank to the processing time of the first processing set in the recipe. Claim 18 A method for controlling a substrate processing device comprising: a plurality of processing tanks for performing processing on a substrate; a carrier for transporting the substrate; a transport schedule for transporting and processing the substrate between the plurality of processing tanks; a control device for controlling the transport of the substrate by the carrier and the processing of the substrate in the plurality of processing tanks based on the transport schedule; wherein the plurality of processing tanks are first processing tanks for performing one or more processing including a first processing on a substrate, and the first processing tanks include a sensor for detecting the progress of the first processing; and, when it is determined that the expected processing end time is delayed compared to the scheduled transport start time set in the transport schedule, the scheduled transport start time is modified to the expected processing end time, thereby performing adjustment of the transport schedule. Claim 19 A non-volatile storage medium storing a program for executing on a computer a method for controlling a substrate processing device, wherein the method comprises a plurality of processing tanks for performing processing on a substrate, a carrier for transporting the substrate, and a transport schedule for transporting and processing the substrate between the plurality of processing tanks, and a control device for controlling the transport of the substrate by the carrier and the processing of the substrate in the plurality of processing tanks based on the transport schedule, wherein the plurality of processing tanks are first processing tanks that perform one or more processing including a first processing on the substrate, and the first processing tanks include a sensor for detecting the progress of the first processing, and the method comprises estimating a projected processing end time when all processing of the one or more processing in the first processing tanks is completed from a detection value obtained from the sensor, and if it is determined that the projected processing end time is delayed compared to the scheduled transport start time set in the transport schedule, the scheduled transport start time is modified to the projected processing end time, thereby performing adjustment of the transport schedule.

Citation Information

Patent Citations

  • Substrate processing apparatus, device and method for controlling the same, and storage medium with program stored therein

    JP2019133998A

  • Processing device group controller, manufacturing process system, processing device group control method, manufacturing optimization system, manufacturing optimization device, and manufacturing optimization method

    KR1020140094551A

  • Apparatus and method for managing yield based on machine learning

    KR102222125B1

  • Predictive wafer scheduling for multi-chamber semiconductor equipment

    US20210366749A1