Information processing device, machine learning device, information processing method, and machine learning method
The information processing apparatus optimizes the substrate processing schedule by determining process start times based on recipe and transport information, using mathematical optimization to minimize completion time and uniformity in post-polishing start times, addressing efficiency challenges in substrate processing apparatuses.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-08-17
- Publication Date
- 2026-04-10
AI Technical Summary
Existing substrate processing apparatuses face challenges in optimizing the operation order and timing of multiple units to minimize the time required to complete processing of substrates, necessitating an efficient substrate processing schedule.
An information processing apparatus that creates a substrate processing schedule by determining the start timing of each process based on recipe information and transport time information, using a scheduling unit to minimize the final processing completion time, incorporating a mathematical optimization unit to optimize the schedule.
The apparatus effectively creates an appropriate substrate processing schedule that minimizes the final processing completion time and ensures uniformity in post-polishing start times, enhancing processing efficiency.
Smart Images

Figure 0007843664000001 
Figure 0007843664000002 
Figure 0007843664000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, a machine learning apparatus, an information processing method, and a machine learning method.
Background Art
[0002] As one of the substrate processing apparatuses that perform various processes on a substrate such as a semiconductor wafer, a substrate processing apparatus that performs chemical mechanical polishing (CMP) processing is known. Such a substrate processing apparatus includes, for example, a polishing unit that performs a polishing process on a substrate, a finishing unit that performs a finishing process (for example, a cleaning process or a drying process) on the substrate after the polishing process, and a transfer unit that performs a transfer process for transferring the substrate between the units, and is configured to execute a series of processes by operating each unit sequentially (see, for example, Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In order to improve processing efficiency, the substrate processing apparatus is configured to include a plurality of polishing units, a plurality of finishing units, and a plurality of transfer units. Therefore, in the substrate processing apparatus, when operating each unit sequentially with a predetermined number of substrates as processing targets, it is required to create a substrate processing schedule for each process by appropriately determining the operation order and operation timing of each unit so that the time for completing each process for all substrates is minimized.
[0005] In view of the above-mentioned problems, the present invention aims to provide an information processing apparatus, a machine learning apparatus, an information processing method, and a machine learning method that enable the appropriate creation of a substrate processing schedule. [Means for solving the problem]
[0006] To achieve the above objective, an information processing apparatus according to one aspect of the present invention is: A substrate processing apparatus comprising a plurality of polishing units that perform a parallel polishing process on substrates, a plurality of finishing units that perform a finishing process on the substrates after the polishing process in the order of the finishing processes, and a plurality of transport units that perform a transport process for transporting the substrates, wherein an information processing apparatus creates a substrate processing schedule when each process is performed sequentially on a predetermined number of substrates, An information acquisition unit acquires recipe information indicating the processing details of the polishing process and the finishing process, and transport time information indicating the transport time required for each of the transport processes, which include: an input process in which the substrate is transported from the substrate input position to the first substrate transfer position; a pre-polishing transport process in which the substrate is transported from the first substrate transfer position to a plurality of polishing units; a post-polishing transport process in which the substrate after the polishing process is transported from the plurality of polishing units to the second substrate transfer position; a pre-finish transport process in which the substrate after the polishing process is transported from the second substrate transfer position to the upstream finishing unit; an intermediate finishing transport process in which the substrate undergoing the finishing process is transported between the plurality of finishing units in the order of the finishing processes; and an output process in which the substrate after the finishing process is output from the downstream finishing unit to the substrate output position. Based on the recipe information and transport time information acquired by the information acquisition unit, the start timing of each process is determined so that the final processing completion time, when the last substrate after the finishing process is transported to the substrate transport position, is minimized, thereby structuring the substrate processing schedule. It includes a scheduling unit that generates joules. [Effects of the Invention]
[0007] According to an information processing apparatus according to one aspect of the present invention, the schedule creation unit creates a substrate processing schedule by determining the start timing of each process based on recipe information and transport time information so that the final processing completion time is minimized. Therefore, the substrate processing schedule reflects the processing content and the time required for each process, making it possible to create an appropriate substrate processing schedule.
[0008] Other issues, configurations, and effects will be clarified in the embodiments for carrying out the invention described later. [Brief explanation of the drawing]
[0009] [Figure 1] This is an overall configuration diagram showing an example of substrate processing system 1. [Figure 2] This is a schematic plan view showing an example of a substrate processing apparatus 2. [Figure 3] This is a perspective view showing examples of the first and second polishing units 22A and 22B. [Figure 4] This is a perspective view showing an example of a first finishing unit 23A that performs roll sponge cleaning. [Figure 5] This is a perspective view showing an example of a second finishing unit 23B that performs pen sponge cleaning. [Figure 6] This is a perspective view showing an example of a third finishing unit 23C that performs drying. [Figure 7] This is a list of examples of substrate processing equipment 2. [Figure 8] This is a hardware configuration diagram showing an example of the Computer 900. [Figure 9] This is a block diagram showing an example of an information processing device 3A according to the first embodiment. [Figure 10] This is a functional diagram showing an example of an information processing device 3A according to the first embodiment. [Figure 11] This figure shows an example of a substrate processing schedule 13A before mathematical optimization. [Figure 12] This figure shows an example of the post-polishing finishing start time TW and its range TWR. [Figure 13] It is a diagram showing an example of the substrate processing schedule 13B after mathematical optimization. [Figure 14] It is a diagram showing an example of the evaluation index 14 for the substrate processing schedules 13A and 13B. [Figure 15] It is a flowchart showing an example of the information processing method by the information processing apparatus 3A according to the first embodiment. [Figure 16] It is a block diagram showing an example of the information processing apparatus 3B according to the second embodiment. [Figure 17] It is a functional explanatory diagram showing an example of the information processing apparatus 3B according to the second embodiment. [Figure 18] It is a diagram showing an example of the learning data 15A and the learning model 16A according to the second embodiment. [Figure 19] It is a flowchart showing an example of the machine learning method by the machine learning apparatus 5A. [Figure 20] It is a flowchart showing an example of the information processing method by the information processing apparatus 3B according to the second embodiment. [Figure 21] It is a block diagram showing an example of the information processing apparatus 3C according to the third embodiment. [Figure 22] It is a functional explanatory diagram showing an example of the information processing apparatus 3C according to the third embodiment. [Figure 23] It is a diagram showing an example of the learning data 15B and the learning model 16B according to the third embodiment. [Figure 24] It is a flowchart showing an example of the information processing method by the information processing apparatus 3C according to the third embodiment.
Embodiments for Carrying Out the Invention
[0010] Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. In the following, the scope necessary for the description for achieving the object of the present invention is schematically shown, and the description will mainly focus on the scope necessary for the description of the relevant part of the present invention, and the parts where the description is omitted are assumed to be based on known techniques. For the parts where the description is omitted, it is assumed to be based on known techniques.
[0011] (First embodiment) Figure 1 is an overall configuration diagram showing an example of a substrate processing system 1. The substrate processing system 1 according to this embodiment mainly comprises a substrate processing device 2 and an information processing device 3A, and is connected to a wired or wireless network 4 to enable the mutual transmission and reception of various types of data. Note that the number of substrate processing devices 2 and information processing devices 3A and the connection configuration of the network 4 are not limited to the example in Figure 1 and may be changed as appropriate.
[0012] The substrate processing apparatus 2 is equipped with multiple processing units (details described later) that perform various processes on a substrate (hereinafter referred to as "wafer") W such as a semiconductor wafer, and by operating each processing unit, it performs chemical mechanical polishing (hereinafter referred to as "polishing"), finishing, transport, etc. on the wafer W. In doing so, the substrate processing apparatus 2 controls the operation of each processing unit while referring to device setting information 10 consisting of multiple device parameters set for each processing unit, and substrate recipe information 11 that defines the operation of polishing and finishing processes.
[0013] The information processing device 3A is a terminal device used by the user and consists of stationary and portable devices. The information processing device 3A accepts various input operations via a display screen such as an application program or a web browser, and displays various information via the display screen.
[0014] The information processing device 3A is a device that supports the simulation of automated operation of the substrate processing device 2 and the formulation of production plans by creating a substrate processing schedule 13 when each process is performed sequentially on a predetermined number of wafers W in the substrate processing device 2, based on substrate recipe information 11 and transport time information 12 indicating the time required for transport processing, and by calculating an evaluation index 14 of the substrate processing schedule 13. The information processing device 3A may be configured as a server-type or cloud-type device, in which case it should be configured to operate in cooperation with a client-side user terminal device (not shown).
[0015] (Substrate processing equipment) Figure 2 is a schematic plan view showing an example of a substrate processing apparatus 2. The substrate processing apparatus 2 is configured to include a load / unload section 21, a polishing section 22, a finishing section 23, a substrate transport section 24, and a control unit 25, all housed inside a housing 20 that is roughly rectangular in plan view.
[0016] (Load / Unload section) The load / unload unit 21 includes first and second front load units 210A and 210B on which wafer cassettes (FOUP, etc.) capable of storing a large number of wafers W in the vertical direction are placed, and a loading / unloading robot 211 as a transport unit that can move along the storage direction (vertical direction) of the wafers W stored in the wafer cassette and along the alignment direction of the first and second front load units 210A and 210B (short side direction of the housing 20).
[0017] The loading / unloading robot 211 is configured to access the substrate loading position PS, the first substrate transfer position PD1, the finishing section 23 (specifically, the downstream finishing unit 23C described later), and the substrate unloading position PE. The loading / unloading robot 211 is equipped with two upper and lower hands (not shown) for transferring wafers W. The lower hand is used when transferring wafers W before processing, and the upper hand is used when transferring wafers W after processing.
[0018] The substrate loading position PS and the substrate unloading position PE are located in the first and second front load sections 210A. These are the positions of the wafer cassettes placed on each of the 210B. The loading / unloading robot 211 performs two processes for transporting the wafer W: loading from the wafer cassette designated as the substrate loading position PS to the first substrate transfer position PD1, and unloading from the finishing unit 23 to the wafer cassette designated as the substrate unloading position PE. The substrate loading position PS and the substrate unloading position PE may be the same or different.
[0019] (polishing section) The polishing section 22 comprises a plurality of polishing units 22A and 22B (two in this embodiment) that perform polishing on the wafer W. In this embodiment, the first and second polishing units 22A and 22B are arranged side by side along the longitudinal direction of the housing 20 and perform the polishing process in parallel.
[0020] Figure 3 is a perspective view showing an example of the first and second polishing units 22A and 22B. In this embodiment, the basic configuration and functions of the first and second polishing units 22A and 22B are described as being common to both.
[0021] Each of the first and second polishing units 22A and 22B includes a polishing table 220 that rotatably supports a polishing pad 2200 having a polishing surface, a top ring (substrate holding part) 221 that rotatably holds a wafer W and polishes the wafer W while pressing it against the polishing pad 2200 on the polishing table 220, a polishing fluid supply part 222 that supplies polishing fluid to the polishing pad 2200, a dresser 223 that rotatably supports a dresser disc 2230 and dresses the polishing pad 2200 by bringing the dresser disc 2230 into contact with the polishing surface of the polishing pad 2200, and an atomizer 224 that sprays cleaning fluid onto the polishing pad 2200.
[0022] The polishing table 220 is supported by a polishing table shaft 220a and includes a rotational movement mechanism 220b that rotates the polishing table 220 around its axis, and a temperature control mechanism 220c that adjusts the surface temperature of the polishing pad 2200.
[0023] The top ring 221 is supported by a top ring shaft 221a that is movable in the vertical direction and comprises a rotational movement mechanism 221c that rotates the top ring 221 around its axis, a vertical movement mechanism 221d that moves the top ring 221 in the vertical direction, and a oscillating movement mechanism 221e that oscillates (oscillates) the top ring 221 around the support shaft 221b as the pivot point. The rotational movement mechanism 221c, the vertical movement mechanism 221d, and the oscillating movement mechanism 221e function as a substrate movement mechanism that moves the relative position between the polishing pad 2200 and the surface of the wafer W to be polished.
[0024] The polishing fluid supply unit 222 includes a polishing fluid supply nozzle 222a that supplies polishing fluid to the polishing surface of the polishing pad 2200, a swinging movement mechanism 222c supported by a support shaft 222b that pivots the polishing fluid supply nozzle 222a around the support shaft 222b, a flow rate adjustment unit 222d that adjusts the flow rate of the polishing fluid, and a temperature control mechanism 222e that adjusts the temperature of the polishing fluid. The polishing fluid is a polishing liquid (slurry) or pure water, and may also contain a chemical solution, or a polishing liquid with a dispersant added.
[0025] The dresser 223 is supported by a dresser shaft 223a that is movable in the vertical direction and includes a rotational movement mechanism 223c that rotates the dresser 223 around its axis, a vertical movement mechanism 223d that moves the dresser 223 in the vertical direction, and a swinging movement mechanism 223e that pivots the dresser 223 around the support shaft 223b as the pivot point.
[0026] The atomizer 224 is supported by a support shaft 224a and includes a swinging mechanism 224b that rotates the atomizer 224 around the support shaft 224a as the pivot point, and a flow rate adjustment unit 224c that adjusts the flow rate of the cleaning fluid. The cleaning fluid is a mixed fluid of liquid (e.g., pure water) and gas (e.g., nitrogen gas) or liquid (e.g., pure water).
[0027] The wafer W is held by suction on the lower surface of the top ring 221 and moved to predetermined polishing positions PP1 and PP2 on the polishing table 220. After that, it is polished by being pressed by the top ring 221 against the polishing surface of the polishing pad 2200, which is supplied with polishing fluid from the polishing fluid supply nozzle 222a.
[0028] (Finishing section) The finishing section 23 comprises a plurality of finishing units 23A to 23C (three in this embodiment) that each perform a finishing process on the wafer W, and a wafer station 23D on which the polished wafer W can wait. The first to third finishing units 23A to 23C and the wafer station 23D are arranged in a line along the longitudinal direction of the housing 20, and the first to third finishing units 23A to 23C each perform the finishing process in the order they are arranged (finishing process order).
[0029] In this embodiment, the first finishing unit 23A performs a roll sponge cleaning process using a roll sponge 2300 to clean the wafer W after polishing as the upstream finishing process. The second finishing unit 23B performs a pen sponge cleaning process using a pen sponge 2301 to clean the wafer W after the roll sponge cleaning process. The third finishing unit 23C performs a drying process to dry the wafer W after the pen sponge cleaning process as the downstream finishing process. The wafer station 23D holds the wafer W after polishing, which has been handed over from the polishing transporter 240 (details described later), and performs a waiting process to wait until the polished wafer W is handed over to the finishing transporter 241 (details described later). Note that the finishing process may, for example, start with the pen sponge cleaning process, omitting the roll sponge cleaning process.
[0030] The finishing unit 23 may be equipped with a finishing unit (not shown) that performs a buffing cleaning process for cleaning the wafer W using a buff, in place of or in addition to either the first or second finishing units 23A or 23B, or either the first or second finishing units 23A or 23B may be omitted. In this embodiment, the first to third finishing units 23A to 23C are described as holding the wafer W in a horizontal position (horizontal holding), but they may also hold the wafer W vertically or at an angle.
[0031] Figure 4 is a perspective view showing an example of a first finishing unit 23A that performs roll sponge cleaning. The first finishing unit 23A includes a substrate holding section 231 that holds a wafer W, a cleaning fluid supply section 232 that supplies substrate cleaning fluid to the wafer W, a substrate cleaning section 230 that rotatably supports a roll sponge 2300 and cleans the wafer W by bringing the roll sponge 2300 into contact with the wafer W, and a cleaning tool cleaning section 233 that cleans (self-cleans) the roll sponge 2300 with cleaning tool cleaning fluid. The substrate cleaning fluid may be pure water (rinse solution) or a chemical solution, may be a liquid, may be a two-fluid mixture of liquid and gas, or may contain a solid such as dry ice. The cleaning tool cleaning fluid may be pure water (rinse solution) or a chemical solution.
[0032] In the roll sponge cleaning process by the first finishing unit 23A, the wafer W is rotated while being held in the first finishing position PC1 by the substrate holding unit 231. Then, with substrate cleaning fluid supplied from the cleaning fluid supply unit 232 to the surface of the wafer W to be cleaned, the roll sponge 2300, which has been rotated around its axis by the substrate cleaning unit 230, rubs against the surface of the wafer W to be cleaned. The wafer W is cleaned by contact.
[0033] Figure 5 is a perspective view showing an example of a second finishing unit 23B that performs pen sponge cleaning. The second finishing unit 23B includes a substrate holding section 231 that holds the wafer W, a cleaning fluid supply section 232 that supplies substrate cleaning fluid to the wafer W, a substrate cleaning section 230 that rotatably supports the pen sponge 2301 and cleans the wafer W by bringing the pen sponge 2301 into contact with the wafer W, and a cleaning tool cleaning section 233 that cleans (self-cleans) the pen sponge 2301 with cleaning tool cleaning fluid.
[0034] In the pen sponge cleaning process by the second finishing unit 23B, the wafer W is rotated while being held in the second finishing position PC2 by the substrate holding unit 231. Then, with substrate cleaning fluid supplied from the cleaning fluid supply unit 232 to the surface of the wafer W to be cleaned, the wafer W is cleaned by the pen sponge 2301, which is rotated around its axis by the substrate cleaning unit 230, sliding into contact with the surface of the wafer W to be cleaned.
[0035] Figure 6 is a perspective view showing an example of a third finishing unit 23C that performs drying. The third finishing unit 23C includes a substrate holding section 231 that holds the wafer W and a drying fluid supply section 235 that supplies a substrate drying fluid to the wafer W. The substrate drying fluid is, for example, IPA vapor and pure water (rinsing fluid), and may be a liquid, a two-fluid mixture of liquid and gas, or may contain a solid such as dry ice.
[0036] In the drying process by the third finishing unit 23C, the wafer W is rotated while being held in the third finishing position PC3 by the substrate holding unit 231. Then, with substrate drying fluid supplied from the drying fluid supply unit 235 to the surface of the wafer W to be cleaned, the drying fluid supply unit 235 is moved toward the side edge (radially outward) of the wafer W. After that, the wafer W is dried by high-speed rotation.
[0037] (Circuit board transport section) As shown in Figure 2, the substrate transport unit 24 includes a polishing transporter 240, which is a transport unit that can move along the alignment direction of the first and second polishing units 22A and 22B (the longitudinal direction of the housing 20) and also move to the wafer station 23D, which is the second substrate transfer position PD2, and a finishing transporter 241, which is a transport unit that can move along the alignment direction of the wafer station 23D and the first to third finishing units 23A to 23C (the longitudinal direction of the housing 20).
[0038] The polishing transporter 240 is configured to access the first substrate transfer position PD1, the first and second transport positions PT1 and PT2, and the second substrate transfer position PD2. Therefore, the polishing transporter 240 performs a pre-polishing transport process in which the wafer W is transported from the first substrate transfer position PD1 to the first and second polishing units 22A and 22B (in this embodiment, the first and second transport positions PT1 and PT2), and a post-polishing transport process in which the polished wafer W is transported from the first and second polishing units 22A and 22B (in this embodiment, the first and second transport positions PT1 and PT2) to the second substrate transfer position PD2.
[0039] The first substrate transfer position PD1 is the position where the wafer W is transferred between the loading / unloading robot 211 and the polishing transporter 240. The first substrate transfer position PD1 is a position set on the loading / unloading robot 211 side within the movement range of the polishing transporter 240, and is accessed by the movement of the loading / unloading robot 211.
[0040] The first and second transport positions PT1 and TP2 are the first and second polishing units 22A and 22 These are the positions where wafer W is transferred between B and the polishing transporter 240. The first and second transfer positions PT1 and TP2 are set up at predetermined intervals within the movement range of the polishing transporter 240 and are accessed by the swinging movement of the top rings 221 of the first and second polishing units 22A and 22B.
[0041] The finishing transporter 241 is configured to have access to the second substrate transfer position PD2 and the first to third finishing units 23A to 23C. Therefore, the finishing transporter 241 performs a pre-finishing transport process in which the polished wafer W is transported from the second substrate transfer position PD2 to the upstream finishing unit 23A, and an intermediate finishing transport process in which the wafer W undergoing finishing is transported between the first to third finishing units 23A to 23C in the order of the finishing processes. In this embodiment, the finishing transporter 241 performs a first intermediate finishing transport process in which the wafer W undergoing finishing is transported from the first finishing unit 23A to the second finishing unit 23B, and a second intermediate finishing transport process in which the wafer W undergoing finishing is transported from the second finishing unit 23B to the second finishing unit 23C.
[0042] The second substrate transfer position PD2 is the position where the wafer W is transferred between the polishing transporter 240 and the finishing transporter 241. The second substrate transfer position PD2 is a position set inside the wafer station 23D and is accessed by the movement of the polishing transporter 240 and the finishing transporter 241, respectively.
[0043] (Control unit) Figure 7 is a block diagram showing an example of a substrate processing apparatus 2. The control unit 25 is electrically connected to each section 21-24 and functions as a control unit that comprehensively controls each section 21-24. In the following explanation, the control system (module, sensor, sequencer) of the substrate transport section 24 will be used as an example, but the load / unload section 21, polishing section 22, and finishing section 23 have similar basic configurations and functions, so their explanation will be omitted.
[0044] The substrate transport unit 24 includes a plurality of modules 247 to be controlled, each of which is arranged in each transport unit (e.g., polishing transporter 240, finishing transporter 241) of the substrate transport unit 24; a plurality of sensors 248 arranged in each of the plurality of modules 247 to detect data (detected values) necessary for controlling each module 247; and a sequencer 249 that controls the operation of each module 247 based on the detected values of each sensor 248. The modules 247 of the substrate transport unit 24 include rotary motors, linear motors, air actuators, hydraulic actuators, etc., provided in each transport unit. The sensors 248 of the substrate transport unit 24 include, for example, encoder sensors, linear sensors, limit sensors, non-contact sensors that detect the presence or absence of wafers W, etc.
[0045] The control unit 25 comprises a control unit 250, a communication unit 251, an input unit 252, an output unit 253, and a storage unit 254. The control unit 25 is composed of, for example, a general-purpose or dedicated computer (see Figure 8, described later).
[0046] The communication unit 251 is connected to the network 4 and functions as a communication interface for sending and receiving various types of data. The input unit 252 accepts various input operations, and the output unit 253 functions as a user interface by outputting various types of information via a display screen, signal tower illumination, and buzzer sound.
[0047] The memory unit 254 stores various programs (operating system (OS), application programs, web browser, etc.) and data (devices) used in the operation of the substrate processing device 2. It stores device setting information 10, board recipe information 11, etc. The device setting information 10 and board recipe information 11 are editable data by the user via the display screen.
[0048] The control unit 250 acquires detection values from multiple sensors 218, 228, 238, 248 (hereinafter referred to as the "sensor group") via multiple sequencers 219, 229, 239, 249 (hereinafter referred to as the "sequencer group"), and operates multiple modules 217, 227, 237, 247 (hereinafter referred to as the "module group") in coordination. The substrate processing apparatus 2 then controls each part 21 to 24 by the control unit 250 and performs polishing, finishing, transporting, etc. sequentially on multiple wafers W in the wafer cassette, thereby executing automatic operation.
[0049] (Hardware configuration of each device) Figure 8 is a hardware configuration diagram showing an example of a computer 900. The control unit 25 of the board processing device 2 and the information processing device 3A are each composed of a general-purpose or dedicated computer 900.
[0050] As shown in Figure 8, the computer 900 comprises, as its main components, a bus 910, a processor 912, memory 914, an input device 916, an output device 917, a display device 918, a storage device 920, a communication interface unit 922, an external device interface unit 924, an I / O device interface unit 926, and a media input / output unit 928. Note that the above components may be omitted as appropriate depending on the intended use of the computer 900.
[0051] The processor 912 consists of one or more arithmetic processing units (CPU (Central Processing Unit), MPU (Micro-processing unit), DSP (digital signal processor), GPU (Graphics Processing Unit), etc.) and operates as a control unit that oversees the entire computer 900. The memory 914 stores various data and programs 930 and consists of volatile memory (DRAM, SRAM, etc.) that functions as main memory, and non-volatile memory (ROM), flash memory, etc.
[0052] The input device 916 consists of, for example, a keyboard, mouse, numeric keypad, or electronic pen, and functions as an input unit. The output device 917 consists of, for example, a sound (voice) output device or a vibration device, and functions as an output unit. The display device 918 consists of, for example, a liquid crystal display, an organic EL display, electronic paper, or a projector, and functions as an output unit. The input device 916 and the display device 918 may be configured as an integrated unit, such as a touch panel display. The storage device 920 consists of, for example, an HDD or SSD (Solid State Drive), and functions as a storage unit. The storage device 920 stores various data necessary for the execution of the operating system and program 930.
[0053] The communication I / F unit 922 is connected by wire or wireless to a network 940 such as the Internet or an intranet (which may be the same as network 4 in Figure 1) and functions as a communication unit that sends and receives data with other computers according to a predetermined communication standard. The external device I / F unit 924 is connected by wire or wireless to an external device 950 such as a camera, printer, scanner, or reader / writer and functions as a communication unit that sends and receives data with the external device 950 according to a predetermined communication standard. The I / O device I / F unit 926 is connected to an I / O device 960 such as various sensors and actuators and functions as a communication unit that sends and receives various signals and data with the I / O device 960, such as detection signals from sensors and control signals to actuators. The media input / output unit 928 is composed of a drive device such as a DVD drive or CD drive and receives media such as DVDs and CDs (non-temporary media). It reads and writes data to the storage medium (970).
[0054] In the computer 900 having the above configuration, the processor 912 calls and executes the program 930 stored in the storage device 920 in the memory 914, and controls various parts of the computer 900 via the bus 910. The program 930 may also be stored in the memory 914 instead of the storage device 920. The program 930 may be recorded on the media 970 in an installable or executable file format and provided to the computer 900 via the media input / output unit 928. The program 930 may also be provided to the computer 900 by downloading it via the network 940 through the communication interface unit 922. Furthermore, the computer 900 may implement the various functions realized by the processor 912 executing the program 930 using hardware such as an FPGA or ASIC.
[0055] The computer 900 is an electronic device of any form, consisting of, for example, a stationary computer or a portable computer. The computer 900 may be a client computer, a server computer, or a cloud computer. The computer 900 may also be applied to devices other than the board processing device 2 and the information processing device 3A.
[0056] (Information processing device) Figure 9 is a block diagram showing an example of the information processing device 3A according to the first embodiment. Figure 10 is a functional diagram showing an example of the information processing device 3A according to the first embodiment.
[0057] The information processing device 3A comprises a control unit 30, a communication unit 31, a storage unit 32, an input unit 33, and an output unit 34. The specific hardware configuration of each unit 30 to 34 shown in Figure 9 is configured with the general-purpose or dedicated computer 900 shown in Figure 8, so a detailed explanation is omitted.
[0058] The control unit 30 functions as an information acquisition unit 300, a schedule creation unit 301, a schedule evaluation unit 302, and an output processing unit 303. The communication unit 31 is connected to an external device (e.g., a substrate processing device 2) via the network 4 and functions as a communication interface for sending and receiving various types of data. The storage unit 32 stores various programs (such as operating systems and information processing programs) and data (device setting information 10, substrate recipe information 11, transport time information 12, substrate processing schedule 13, evaluation index 14) used in the operation of the information processing device 3A. The input unit 33 accepts various input operations, and the output unit 34 functions as a user interface by outputting various types of information via a display screen and sound.
[0059] The information acquisition unit 300 acquires substrate recipe information 11 and transport time information 12, for example, by sending and receiving data to and from the substrate processing device 2 via the communication unit 31, or by referring to the storage unit 32. The substrate recipe information 11 and transport time information 12 may be based on user input operations or may be acquired from an external production management device (not shown).
[0060] The substrate recipe information 11 is information indicating the processing details of the polishing and finishing processes. The polishing process details include, for example, the table rotation speed by the polishing table 220, the top ring pressing time by the top ring 221, the wafer pressing load, the wafer rotation speed, the amount of polishing fluid supplied by the polishing fluid supply unit 222, the supply timing, the dresser operation time by the dresser 223, and the atomizer operation time by the atomizer 224. The finishing process details include, for example, the roll sponge operation time, roll sponge rotation speed, wafer rotation speed, the amount of substrate cleaning fluid supplied, the supply timing, the pen sponge operation time, pen sponge rotation speed, wafer rotation speed, the amount of substrate cleaning fluid supplied, the supply timing, the wafer rotation speed, the drying operation time, and the wafer rotation speed during the drying process. This includes the turning speed, the amount of substrate drying fluid supplied, and the supply timing. Note that the substrate recipe information 11 may be set for each individual wafer W, or it may be set for multiple wafers that make up a lot.
[0061] The transport time information 12 is information indicating the transport time TT1 to TT7 required for each of the transport processes: loading, pre-polishing transport, post-polishing transport, pre-finishing transport, finishing transport (in this embodiment, the first and second finishing transport processes), and unloading. The transport times TT1 to TT7 may be, for example, measured values obtained by measuring the time when the transport unit (e.g., loading / unloading robot 211, polishing transporter 240, finishing transporter 241) is actually operating. For example, if the measured transport time is stored in the substrate processing device 2 or an external production management device, the transport times may be obtained from the substrate processing device 2 or an external production management device. Alternatively, the transport times TT1 to TT7 may be theoretical values calculated from the specifications of the transport unit. If the device setting information 10 includes the movement speed of the transport unit, the device setting information 10 may be obtained from the substrate processing device 2 or the storage unit 32, and the transport times TT1 to TT7 may be calculated based on the device setting information 10. Furthermore, the transport times TT1 to TT7 may be inferred values that take into account the error (actual error) between the theoretical values mentioned above and the measured values when the transport unit is actually operating. For example, the actual error may be calculated using an estimation model such as machine learning. Note that the transport time information 12 may be set for each individual wafer W, or it may be set for multiple wafers that make up a lot.
[0062] The schedule creation unit 301 creates a substrate processing schedule 13 for sequentially performing each process on a predetermined number of wafers W in the substrate processing apparatus 2. Specifically, the schedule creation unit 301 creates the substrate processing schedule 13 by determining the start timing of each process based on the substrate recipe information 11 and transport time information 12 acquired by the information acquisition unit 300, so that the final processing completion time, when the last wafer W after finishing processing is transported to the substrate transport position PE, is minimized. Alternatively, the schedule creation unit 301 may create the substrate processing schedule 13 by determining the start timing of each process so that the post-polishing start time, from the end of the polishing process to the start of the upstream finishing process, is uniform and minimized, in addition to minimizing the final processing completion time.
[0063] The schedule creation unit 301 according to this embodiment comprises a processing time calculation unit 301A and a mathematical optimization unit 301B.
[0064] The processing time calculation unit 301A calculates the polishing time required for the polishing process and the finishing time required for the finishing process based on the substrate recipe information 11. For example, the processing time calculation unit 301A calculates the polishing time TP required for the polishing process based on the setting value related to polishing time among the processing contents of the polishing process indicated by the substrate recipe information 11. The processing time calculation unit 301A also calculates the finishing time required for the finishing process based on the setting value related to finishing time among the processing contents of the finishing process indicated by the substrate recipe information 11. In this embodiment, the finishing times calculated are the finishing time TC1 required for the roll sponge cleaning process, the finishing time TC2 required for the pen sponge cleaning process, and the finishing time TC3 required for the drying process. Note that the polishing time TP and finishing times TC1 to TC3 may also take into account measured values obtained by measuring the time when the polishing units 22A, 22B and finishing units 23A to 23C actually operated. In this case, for example, if the measured values are stored in the substrate processing device 2 or an external production management device, the processing time calculation unit 301A may acquire those measured values from the substrate processing device 2 or the external production management device as polishing time TP and finishing time TC1 to TC3, or it may correct the polishing time TP and finishing time TC1 to TC3 calculated from the substrate recipe information 11 based on those measured values.
[0065] The mathematical optimization unit 301B formulates the substrate processing schedule 13 as an optimization problem using mathematical optimization and creates the substrate processing schedule 13 by searching for its optimal solution. The mathematical optimization method can be, for example, mixed-integer linear programming (MIP), or other methods may be used. Furthermore, any search algorithm such as exact methods, approximate methods, or heuristic methods can be used to search for the optimal solution.
[0066] Figure 11 shows an example of a substrate processing schedule 13A before mathematical optimization. The substrate processing schedule 13A shown in Figure 11 was created, for example, as a default before (or during) optimization by the mathematical optimization unit 301B. In Figure 11, for simplification, the substrate processing schedule 13A for four wafers W is shown, but the number of wafers W in the substrate processing schedule 13A may be changed as appropriate. Alternatively, the substrate processing schedule 13A may be actual values recorded in time series for each process when automatic operation was performed by the substrate processing device 2 before optimization by the mathematical optimization unit 301B.
[0067] In the automated operation of the substrate processing apparatus 2, each process is performed while maintaining the order in which each process is performed. Simultaneous processes that can be performed at the same time are performed in parallel, and processes that cannot be performed at the same time are performed in series. The mathematical optimization unit 301B uses the processing order conditions that define the order in which each process is performed and the simultaneous processing conditions that define which processes can and cannot be performed at the same time as constraints for mathematical optimization. The objective function of mathematical optimization is to minimize the final processing completion time TF, which includes the polishing time TP and finishing times TC1 to TC3 calculated by the processing time calculation unit 301A and the transport times TT1 to TT7 indicated by the transport time information 12 as variables. The mathematical optimization unit 301B then creates the substrate processing schedule 13 by performing mathematical optimization, which determines the start timing of each process as a decision variable for mathematical optimization.
[0068] In the substrate processing apparatus 2 according to this embodiment, the processing sequence conditions are defined as follows: loading process (TT1), pre-polishing transport process (TT2), polishing process (TP), post-polishing transport process (TT3), waiting process (WS), pre-finishing transport process (TT4), roll sponge cleaning process (TC1), first intermediate finishing transport process (TT5), pen sponge cleaning process (TC2), second intermediate finishing transport process (TT7), drying process (TC3), and unloading process (TT7). Furthermore, as simultaneous processing conditions, the polishing process by the first polishing unit 22A (TP_A) and the polishing process by the second polishing unit 22B (TP_B) are defined as processes that can be performed simultaneously, while the pre-finishing transport process (TT5), the first intermediate finishing transport process (TT6), and the second intermediate finishing transport process (TT7) are defined as processes that cannot be performed simultaneously.
[0069] In this case, the mathematical optimization unit 301B may perform mathematical optimization by taking into account the post-polishing finishing start time TW, which is the time from the end of the polishing process (TP_A, TP_B) to the start of the upstream finishing process (TC1).
[0070] Figure 12 shows an example of the post-polishing start time TW and its range TWR. In substrate processing schedule 13A, post-polishing start times TW1 to TW4 are set for each of the four wafers W, as shown in Figure 12. The range TWR for post-polishing start times TW1 to TW4 is determined as the difference between the minimum value TW3 and the maximum value TW2 among the post-polishing start times TW1 to TW4.
[0071] For example, the mathematical optimization unit 301B may perform mathematical optimization by further restricting the post-polishing start range condition that defines the post-polishing start time TW range TWR. If the post-polishing start time TW range TWR is defined as, for example, within 1 second, the substrate processing schedule 13 is created so that the difference between the minimum and maximum values is within 1 second. This suppresses variations in the post-polishing start time TW among multiple wafers W when automatic operation is performed on multiple wafers W, and aims to equalize the post-polishing start time TW. It is possible.
[0072] Furthermore, the mathematical optimization unit 301B may perform mathematical optimization with the objective function being to minimize the sum, mean, or maximum value of the post-polishing finish start time TW. In this case, for example, the objective function can be defined by combining the minimization of the final processing completion time TF and the minimization of the post-polishing finish start time TW using weight coefficients or the like. This makes it possible to reduce the waiting time from when the polishing process (TP_A, TP_B) is performed until the finishing process (TC1) is performed when automatic operation is performed on multiple wafers W. Furthermore, the mathematical optimization unit 301B may perform mathematical optimization with the objective function being to minimize the degree of variation in the post-polishing finish start time TW (for example, standard deviation, variance, difference between the maximum and minimum values, etc.).
[0073] Figure 13 shows an example of a substrate processing schedule 13B after mathematical optimization, created by the schedule creation unit 301. The substrate processing schedule 13B shown in Figure 13 was created by mathematical optimization by the schedule creation unit 301. Compared with the substrate processing schedule 13A shown in Figure 11 before mathematical optimization, the start order and start timing of each process have been changed in the substrate processing schedule 13B after mathematical optimization.
[0074] The schedule evaluation unit 302 evaluates the substrate processing schedule 13 created by the schedule creation unit 301 and calculates an evaluation index 14 for the substrate processing schedule 13 as an evaluation result. The evaluation index 14 for the substrate processing schedule 13 includes at least one of the following: the number of wafers W processed per unit time (WPH), the cycle time for each process, the rate-limiting process that requires the most processing time among the processes, and the degree of variation of the start time TW for polishing and finishing.
[0075] Figure 14 shows an example of an evaluation index 14 for substrate processing schedules 13A and 13B. WPH is calculated by dividing the final processing completion time TF by the number of processed boards. The cycle times for each process are calculated as the cycle times for polishing and finishing. The degree of variation in the start time TW of finishing after polishing is calculated as, for example, the standard deviation, variance, and the difference between the maximum and minimum values. In the example in Figure 14, the cycle times for polishing (TP_A, TP_B) in substrate processing schedule 13B after mathematical optimization are shorter than those in substrate processing schedule 13A before mathematical optimization. Also, polishing (TP_A, TP_B) is identified as the rate-limiting process.
[0076] The output processing unit 303 performs output processing to output the board processing schedule 13 created by the schedule creation unit 301 and the evaluation index 14 calculated by the schedule evaluation unit 302. For example, the output processing unit 303 may display the board processing schedule 13 and the evaluation index 14 using the output unit 34, or store them in the storage unit 32. Alternatively, the output processing unit 303 may transmit the board processing schedule 13 to the board processing device 2 using the communication unit 31, so that the board processing device 2 can perform automatic operation according to the board processing schedule 13.
[0077] (Information processing methods) Figure 15 is a flowchart showing an example of an information processing method by the information processing device 3A according to the first embodiment.
[0078] First, in step S100, the user instructs the information processing device 3A, for example, on the substrate processing optimization screen displayed on the information processing device 3A, on the conditions for creating the substrate processing schedule 13 (for example, the lot number of wafers W to be subject to automatic operation, the model number of the substrate processing device 2 that performs automatic operation, the number of wafers to be processed, etc.), and also instructs the information processing device 3A to start creating the substrate processing schedule 13, thereby accepting the input operation.
[0079] Next, in step S110, the information acquisition unit 300 acquires substrate recipe information 11 and transport time information 12 based on the input operation received in step S100. For example, if a lot number is specified, the unit acquires substrate recipe information 11 associated with that lot number, and if the model number of the substrate processing device 2 is specified, the unit acquires transport time information 12 associated with that model number.
[0080] Next, in step S120, the processing time calculation unit 301A calculates the polishing time required for the polishing process and the finishing time required for the finishing process based on the substrate recipe information 11 acquired in step S110.
[0081] Next, in step S130, the mathematical optimization unit 301B uses the processing order conditions, simultaneous processing conditions, and post-polishing finishing start range conditions as constraints for mathematical optimization. It sets the minimization of the final processing completion time TF and the post-polishing finishing start time TW as objective functions for mathematical optimization, with the polishing time and finishing time calculated in step S120 and the transport time indicated by the transport time information 12 acquired in step S110 as variables. By performing mathematical optimization, it creates a substrate processing schedule 13.
[0082] Next, in step S140, the schedule evaluation unit 302 calculates an evaluation index 14 for the substrate processing schedule 13 based on the substrate processing schedule 13 created in step S130.
[0083] Then, in step S150, the output processing unit 303 performs output processing to output the substrate processing schedule 13 created in step S130 and the evaluation index 14 calculated in step S140, and ends the series of information processing learning methods shown in Figure 15. In the above information processing method, step S110 corresponds to the information acquisition step, steps S120 and S130 to the schedule creation step, step S140 to the schedule evaluation step, and step S150 to the output processing step.
[0084] As described above, according to the information processing device 3A and information processing method of this embodiment, the schedule creation unit 301 creates a substrate processing schedule 13 by determining the start timing of each process based on the substrate recipe information 11 and the transport time information 12 so that the final processing completion time TF is minimized. Therefore, the substrate processing schedule 13 reflects the processing content and the time required for each process, so that the substrate processing schedule 13 can be created appropriately.
[0085] (Second embodiment) Figure 16 is a block diagram showing an example of the information processing device 3B according to the second embodiment. Figure 17 is a functional diagram showing an example of the information processing device 3B according to the second embodiment.
[0086] The information processing device 3B according to the second embodiment operates as a machine learning device 5A that generates a learning model 16A by machine learning using the training data 15A, and differs from the information processing device 3A according to the first embodiment in that the schedule inference unit 301C of the schedule creation unit 301 creates a board processing schedule 13 using the learning model 16A generated by the machine learning device 5A, as shown in Figure 17. The configuration and operation of the other components of the board processing device 2 and the information processing device 3B are the same as in the first embodiment, so the same reference numerals are used and detailed explanations are omitted.
[0087] The control unit 30 further functions as a training data acquisition unit 304A and a machine learning unit 305A. In this embodiment, the machine learning device 5A is incorporated into the information processing device 3B. Although this explanation assumes the above configuration, the machine learning device 5A and the information processing device 3B may be configured as separate devices. In that case, the trained learning model 16A can be provided to the information processing device 3B via the network 4 or any storage medium.
[0088] The first storage unit 32A stores various programs and data, similar to the storage unit 32 in the first embodiment, while the second storage unit 32B stores training data 15A and a training model 16A. The second storage unit 32B functions as a training data storage unit for storing training data 15A and a trained model storage unit for storing the trained training model. The first and second storage units 32A and 32B may be composed of a single storage unit or may be external storage devices.
[0089] Figure 18 shows an example of training data 15A and training model 16A according to the second embodiment. The training data 15A used for machine learning of the training model 16A is configured with substrate recipe information 11 and transport time information 12 as input data, and a substrate processing schedule 13 as output data. The transport time information 12 may be an actual value, a theoretical value, or an inferred value.
[0090] The learning data acquisition unit 304A, for example, works in conjunction with the mathematical optimization unit 301B to create a board processing schedule 13 for each combination of multiple board recipe information 11 with different processing contents and multiple transport time information 12 with different transport times. The learning data acquisition unit 304A then acquires multiple sets of learning data 15A for each combination by associating the board recipe information 11 and board transport information with the board processing schedule 13 created from the board recipe information 11 and board transport information, and stores these multiple sets of learning data 15A in the second storage unit 32B.
[0091] The learning model 16A employs, for example, a neural network structure and comprises an input layer 160, a hidden layer 161, and an output layer 162. Synapses (not shown) connect each neuron between each layer, and each synapse is associated with a weight. The weight parameter set, consisting of the weights of each synapse, is adjusted by machine learning. The input layer 160 has a number of neurons corresponding to the substrate recipe information 11 and transport time information 12 as input data, and the values of the substrate recipe information 11 and transport time information 12 are input to each neuron. The output layer 162 has a number of neurons corresponding to the substrate processing schedule 13 as output data, and the prediction result (inference result) of the substrate processing schedule 13 for the substrate recipe information 11 and transport time information 12 is output as output data.
[0092] The machine learning unit 305A performs machine learning using multiple sets of training data 15A stored in the second memory unit 32B. Specifically, the machine learning unit 305A inputs multiple sets of training data 15A into the learning model 16A, and generates a trained learning model 16A by having the learning model 16A learn the correlation between the input data and output data contained in the training data 15A, and stores the trained learning model 16A (specifically, the adjusted weight parameter set) in the second memory unit 32B.
[0093] The schedule inference unit 301C inputs the substrate recipe information 11 and transport time information 12 acquired by the information acquisition unit 300 into the learning model 16A, thereby creating a substrate processing schedule 13 for the substrate recipe information 11 and the transport time information 12.
[0094] (Machine learning methods) Figure 19 is a flowchart showing an example of a machine learning method using machine learning device 5A.
[0095] First, in step S200, the training data acquisition unit 304A, in cooperation with the mathematical optimization unit 301B, acquires a desired number of training data 15A as a preliminary step to start machine learning, and stores the acquired training data 15A in the second storage unit 32B.
[0096] Next, in step S210, the machine learning unit 305A prepares a pre-training model 16A in which the weights of each synapse are set to their initial values, in order to start machine learning.
[0097] Next, in step S220, the machine learning unit 305A randomly selects, for example, one set of training data 15A from the multiple sets of training data 15A stored in the second memory unit 32B.
[0098] Next, in step S230, the machine learning unit 305A inputs the fluid supply information (input data) contained in a set of training data 15A to the input layer 160 of the prepared pre-training (or training) learning model 16A. As a result, output data is output as an inference result from the output layer 162 of the learning model 16A, but this output data is generated by the pre-training (or training) learning model 16A. Therefore, in the pre-training (or training) state, the output data output as an inference result shows different information from the output data (ground truth labels) contained in the training data 15A.
[0099] Next, in step S240, the machine learning unit 305A compares the output data (ground truth labels) included in the set of training data 15A acquired in step S220 with the output data (inference results) output from the output layer as inference results in step S230, and performs machine learning by adjusting the weights of each synapse (backpropagation).
[0100] Next, in step S250, the machine learning unit 305A determines whether predetermined learning termination conditions have been met, for example, based on the evaluation value of the error function, which is based on the output data (correct labels) included in the training data 15A and the output data as an inference result, or on the remaining number of untrained training data 15A stored in the second storage unit 32B.
[0101] In step S250, if the machine learning unit 305A determines that the learning termination condition has not been met and that machine learning should continue (No in step S250), it returns to step S220 and performs steps S220 to S240 multiple times on the learning model 16A that is currently being learned, using the untrained training data 15A. On the other hand, in step S250, if the machine learning unit 305A determines that the learning termination condition has been met and that machine learning should be terminated (Yes in step S250), it proceeds to step S260.
[0102] Then, in step S260, the machine learning unit 305A stores the trained model 16A (set weight parameter group) generated by adjusting the weights associated with each synapse in the second memory unit 32B, and the series of machine learning methods shown in Figure 19 is completed. In the above machine learning method, step S200 corresponds to the training data storage step, steps S210 to S250 are the machine learning steps, and step S260 is the trained model storage step.
[0103] (Information processing methods) Figure 20 is a flowchart showing an example of an information processing method by the information processing device 3B according to the second embodiment.
[0104] First, in step S300, if the user instructs the conditions for creating the substrate processing schedule 13 and the start of creating the substrate processing schedule 13, similar to the first embodiment, In step S310, the information acquisition unit 300 acquires substrate recipe information 11 and transport time information 12.
[0105] Next, in step S320, the schedule inference unit 301C inputs the substrate recipe information 11 and transport time information 12 acquired in step S310 as input data to the learning model 16A, and based on the output data output from the learning model 16A, creates a substrate processing schedule 13 for the substrate recipe information 11 and the transport time information 12.
[0106] Next, in step S330, the schedule evaluation unit 302 calculates an evaluation index 14 for the substrate processing schedule 13 based on the substrate processing schedule 13 created in step S320. Then, in step S340, the output processing unit 303 performs output processing to output the substrate processing schedule 13 created in step S320 and the evaluation index 14 calculated in step S330, thus ending the series of information processing learning methods shown in Figure 20. In the above information processing method, step S310 corresponds to the information acquisition step, steps S320 and S320 correspond to the schedule creation step, step S330 corresponds to the schedule evaluation step, and step S340 corresponds to the output processing step.
[0107] As described above, according to the information processing device 3B and information processing method of this embodiment, the schedule inference unit 301C can create a substrate processing schedule 13 by inputting the substrate recipe information 11 and the transport time information 12 to the learning model 12A.
[0108] (Third embodiment) Figure 21 is a block diagram showing an example of an information processing device 3C according to the third embodiment. Figure 22 is a functional diagram showing an example of an information processing device 3C according to the third embodiment.
[0109] The information processing device 3C according to the third embodiment differs from the information processing device 3A according to the first embodiment in that it operates as a machine learning device 5B that generates a learning model 16B by machine learning using training data 15B, and the evaluation index inference unit 306 infers evaluation index 14 for the substrate processing schedule 13 using the learning model 16B generated by the machine learning device 5B. The configuration and operation of the other substrate processing device 2 and information processing device 3C are the same as in the first embodiment, so the same reference numerals are used and detailed explanations are omitted.
[0110] The control unit 30 further functions as a training data acquisition unit 304B, a machine learning unit 305B, and an evaluation index inference unit 306. In this embodiment, the machine learning device 5B is described as being incorporated into the information processing device 3C, as in the second embodiment. However, the machine learning device 5B and the information processing device 3C may be configured as separate devices. In that case, the trained learning model 16B can be provided to the information processing device 3C via the network 4 or any storage medium.
[0111] The first storage unit 32A stores various programs and data, similar to the storage unit 32 in the first embodiment, while the second storage unit 32B stores training data 15B and training model 16B. The second storage unit 32B functions as a training data storage unit that stores training data 15B, and a trained model storage unit that stores trained training models.
[0112] Figure 23 shows an example of training data 15B and training model 16B according to the third embodiment. The training data 15B used for machine learning of the training model 16B is configured with substrate recipe information 11 and transport time information 12 as input data, and evaluation indicators 14 of the substrate processing schedule 13 as output data.
[0113] The learning data acquisition unit 304B, for example, works in conjunction with the mathematical optimization unit 301B and the schedule evaluation unit 302 to calculate an evaluation index 14 for the board processing schedule 13 for each combination of multiple board recipe information 11 with different processing contents and multiple transport time information 12 with different transport times. The learning data acquisition unit 304B then acquires multiple sets of learning data 15B for each combination by associating the board recipe information 11 and board transport information with the evaluation index 14 for the board processing schedule 13 calculated from the board recipe information 11 and board transport information, and stores these multiple sets of learning data 15B in the second storage unit 32B.
[0114] The learning model 16B, like the second embodiment, employs, for example, a neural network structure and comprises an input layer 160, an intermediate layer 161, and an output layer 162. The input layer 160 has a number of neurons corresponding to the substrate recipe information 11 and transport time information 12 as input data, and each value of the substrate recipe information 11 and transport time information 12 is input to each neuron. The output layer 162 has a number of neurons corresponding to the evaluation index 14 of the substrate processing schedule 13 as output data, and the prediction result (inference result) of the evaluation index 14 of the substrate processing schedule 13 for the substrate recipe information 11 and transport time information 12 is output as output data.
[0115] The machine learning unit 305B performs machine learning using multiple sets of training data 15B stored in the second memory unit 32B. Specifically, the machine learning unit 305B inputs multiple sets of training data 15B into the training model 16B, and generates a trained training model 16B by having the training model 16B learn the correlation between the input data and output data contained in the training data 15B. This trained training model 16B (specifically, the adjusted weight parameter group) is then stored in the second memory unit 32B. The machine learning method by the machine learning device 5B is the same as in the second embodiment (Figure 19), so its explanation is omitted.
[0116] The evaluation index inference unit 306 inputs the substrate recipe information 11 and transport time information 12 acquired by the information acquisition unit 300 into the learning model 16B, and infers evaluation index 14 for the substrate processing schedule 13 based on the substrate recipe information 11 and the transport time information 12.
[0117] (Information processing methods) Figure 24 is a flowchart showing an example of an information processing method by the information processing device 3C according to the third embodiment.
[0118] First, in step S400, when the user instructs the start of evaluation of the substrate processing schedule 13, in step S410, the information acquisition unit 300 acquires substrate recipe information 11 and transport time information 12.
[0119] Next, in step S420, the evaluation index inference unit 306 inputs the substrate recipe information 11 and transport time information 12 acquired in step S410 as input data to the learning model 16B, and infers evaluation index 14 for the substrate processing schedule 13 for the substrate recipe information 11 and transport time information 12 based on the output data output from the learning model 16B.
[0120] Next, in step S430, the output processing unit 303 performs output processing to output the evaluation index 14 of the substrate processing schedule 13 inferred in step S420, and terminates the series of information processing learning methods shown in Figure 24. In the above information processing method, step S410 corresponds to the information acquisition step, step S420 to the evaluation index inference step, and step S430 to the output processing step.
[0121] As described above, according to the information processing device 3C and information processing method of this embodiment, the evaluation index inference unit 306 can calculate the evaluation index 14 of the substrate processing schedule 13 by inputting the substrate recipe information 11 and the transport time information 12 to the learning model 12B.
[0122] (Other embodiments) The present invention is not limited to the embodiments described above, and can be implemented with various modifications without departing from the spirit of the invention. All such modifications are included in the technical concept of the present invention.
[0123] In the above embodiment, the substrate processing apparatus 2 and the information processing apparatuses 3A to 3C were described as being composed of separate devices, but they may also be composed of a single device. For example, the information processing apparatuses 3A to 3C may be incorporated into the control unit 25 of the substrate processing apparatus 2. Also, the machine learning apparatuses 5A and 5B may be incorporated into the control unit 25 of the substrate processing apparatus 2.
[0124] In the above embodiment, the substrate processing apparatus 2 was described as performing chemical mechanical polishing as the polishing process, but the substrate processing apparatus 2 may also perform physical mechanical polishing instead of chemical mechanical polishing.
[0125] In the above embodiment, the substrate processing apparatus 2 was described as having processing units (polishing unit, finishing unit, transport unit) as shown in Figure 2. However, the configuration of each processing unit, including the number of processes, arrangement, upstream / downstream relationship, parallel relationship, and series relationship, is not limited to the example in Figure 2 and may be changed as appropriate. For example, the number of polishing units may be three or more, or the transport unit may be configured to perform transport processing in parallel by providing multiple polishing transporters 240 or multiple finishing transporters 241, or the finishing processing unit may be configured to perform finishing processing in parallel by providing multiple sets of first to third finishing units 23A to 23C as one set. Furthermore, the positions for transferring wafer W between each processing unit, the positions for temporarily holding wafer W, etc., may be changed as appropriate, or the number of such positions may be increased as appropriate. In such cases, the constraints, objective function, and decision variables for mathematical optimization in the mathematical optimization unit 301B should be changed to match the configuration of each processing unit. Furthermore, the data structure of the input and output data in the training data 15A and 15B, and the training models 16A and 16B can be changed to match the configuration of each processing unit.
[0126] In the above embodiment, a case in which a neural network is used as the learning model for realizing machine learning by the machine learning units 305A and 305B was described, but other machine learning models may also be used. Other machine learning models include, for example, tree-type models such as decision trees and regression trees, ensemble learning such as bagging and boosting, recurrent neural networks, convolutional neural networks, and neural network-type (deep neural) models such as LSTM. (including clustering), hierarchical clustering, non-hierarchical clustering, k-nearest neighbors, k-means Examples include clustering methods such as algorithms, principal component analysis, factor analysis, multivariate analysis such as logistic regression, and support vector machines. Furthermore, the machine learning algorithms provided by machine learning units 305A and 305B may employ reinforcement learning instead of supervised learning.
[0127] (Machine learning programs and information processing programs) The present invention can also be provided in the form of a program (information processing program) for causing the computer 900 to function as each part of the information processing devices 3A to 3C, or a program (information processing program) for causing the computer 900 to execute each step of the information processing method according to the above embodiment. Furthermore, the present invention can also be provided in the form of a program (machine learning program) for causing the computer 900 to function as each part of the machine learning devices 5A and 5B, or a machine The learning method can also be provided in the form of a program (machine learning program) that causes the computer 900 to execute each step of the learning method. [Explanation of symbols]
[0128] 1...Substrate processing system, 2...Substrate processing device, 3A~3C...Information processing device, 4…Network, 5A, 5B…Machine learning equipment, 10...Device setting information, 11...Substrate recipe information, 12...Transportation time information, 13, 13A, 13B... PCB processing schedule, 14... Evaluation indicators, 15A, 15B…Training data, 16A, 16B…Training model 20...Housing, 21...Load / Unload section, 22... Polishing section, 22A, 22B... Polishing unit, 23...Finishing section, 23A~23C...Finishing unit, 23D...Wafer station, 24...Substrate transport unit, 25...Control unit, 30...Control unit, 31...Communication unit, 32, 32A, 32B...Storage unit, 33...Input section, 34...Output section, 210A, 210B…Front loading section, 211…Discharge robot (transport unit) 220... Polishing table, 221... Top ring, 222... Polishing fluid supply unit, 223... Dresser, 224... Atomizer 230...Substrate cleaning unit, 231...Substrate holding unit, 232...Cleaning fluid supply unit, 233...Cleaning tool cleaning unit, 235...Drying fluid supply unit, 240... Polishing transporter (conveyor unit), 241... Finishing process transporter (conveyor unit), 250...Control unit, 251...Communication unit, 252...Input unit, 253...Output unit, 254...Storage unit, 300...Information acquisition unit, 301...Schedule creation unit, 301A... Processing time calculation unit, 301B... Mathematical optimization unit, 301C... Schedule inference unit, 302... Schedule evaluation unit, 303... Output processing unit, 304A, 304B...Training data acquisition unit, 305A, 305B...Machine learning unit, 306...Evaluation metric inference unit, PS...Substrate loading position, PE...Substrate unloading position, PP1, PP2...Polishing position, PC1...First finishing position, PC2...Second finishing position, PC3...Third finishing position PT1...Second transport position, PT2...Second transport position, PD1...First board transfer position, PD2...Second board transfer position, TP... Polishing time, TC1~TC3... Finishing time, TT1~TT7... Conveying time, TF... Final processing completion time, TW, TW1~TW4... Post-polishing finishing start time
Claims
1. A substrate processing apparatus comprising a plurality of polishing units that perform a parallel polishing process on substrates, a plurality of finishing units that perform a finishing process on the substrates after the polishing process in the order of the finishing processes, and a plurality of transport units that perform a transport process for transporting the substrates, wherein an information processing apparatus creates a substrate processing schedule when each process is performed sequentially on a predetermined number of substrates, An information acquisition unit acquires recipe information indicating the processing details of the polishing process and the finishing process, and transport time information indicating the transport time required for each of the transport processes, which include: a transport process in which the substrate is transported from the substrate transport position to the first substrate transfer position; a pre-polishing transport process in which the substrate is transported from the first substrate transfer position to a plurality of polishing units; a post-polishing transport process in which the substrate after the polishing process is transported from the plurality of polishing units to the second substrate transfer position; a pre-finish transport process in which the substrate after the polishing process is transported from the second substrate transfer position to the upstream finishing unit; an intermediate finishing transport process in which the substrate undergoing the finishing process is transported between the plurality of finishing units in the order of the finishing processes; and an unloading process in which the substrate after the finishing process is unloaded from the downstream finishing unit to the substrate unloading position. The system includes a schedule creation unit that creates a substrate processing schedule by determining the start timing of each process based on the recipe information and transport time information acquired by the information acquisition unit, so as to minimize the time required for the final processing to be completed when the last substrate after the finishing process is transported to the substrate transport position. Information processing device.
2. The aforementioned schedule creation unit, A processing time calculation unit calculates the polishing time required for the polishing process and the finishing time required for the finishing process based on the aforementioned recipe information. The system includes a mathematical optimization unit that creates a substrate processing schedule by performing mathematical optimization, where processing order conditions that define the order in which each of the aforementioned processing is performed, and simultaneous processing conditions that define which of the aforementioned processing can or cannot be performed simultaneously, are used as constraints for mathematical optimization, and the objective function of the mathematical optimization is to minimize the final processing completion time, which includes the polishing time and finishing time calculated by the processing time calculation unit and the transport time indicated by the transport time information as variables, and determining the start timing of each of the aforementioned processing. The information processing apparatus according to claim 1.
3. The mathematical optimization unit described above is: The mathematical optimization is performed by further defining the post-polishing finish start range condition, which defines the range of the post-polishing finish start time from the end of the polishing process to the start of the finishing process in the upstream process, as a constraint condition. The information processing apparatus according to claim 2.
4. The mathematical optimization unit described above is: The mathematical optimization is performed with the objective function being to minimize the total, average, or maximum value of the post-polishing start time. The information processing apparatus according to claim 3.
5. The aforementioned schedule creation unit, The system includes a schedule inference unit that creates a substrate processing schedule for the recipe information and transport time information by inputting the recipe information and transport time information acquired by the information acquisition unit into a learning model that has been trained by machine learning to determine the correlation between the recipe information and the transport time information and the substrate processing schedule when the polishing process and finishing process based on the recipe information and the transport process requiring the transport time indicated by the transport time information are sequentially performed on the aforementioned number of substrates. The information processing apparatus according to claim 1.
6. The system further includes a schedule evaluation unit that evaluates the substrate processing schedule created by the schedule creation unit and calculates an evaluation index for the substrate processing schedule as a result of the evaluation. The aforementioned evaluation indicators are: The number of substrates processed per unit time, The cycle time for each of the above processes, Of the above processes, the rate-limiting process that requires the longest processing time, and This includes at least one of the degrees of variation in the post-polishing finish start time, from the end of the polishing process to the start of the finishing process in the upstream process, The information processing apparatus according to any one of claims 1 to 5.
7. A substrate processing apparatus comprising a plurality of polishing units that perform a parallel polishing process on substrates, a plurality of finishing units that perform a finishing process on the substrates after the polishing process in the order of the finishing process, and a plurality of transport units that perform a transport process for transporting the substrates, wherein the substrate processing schedule is evaluated when each process is performed sequentially on a predetermined number of substrates, An information acquisition unit acquires recipe information indicating the processing details of the polishing process and the finishing process, and transport time information indicating the transport time required for each of the transport processes, which include: a transport process in which the substrate is transported from the substrate transport position to the first substrate transfer position; a pre-polishing transport process in which the substrate is transported from the first substrate transfer position to a plurality of polishing units; a post-polishing transport process in which the substrate after the polishing process is transported from the plurality of polishing units to the second substrate transfer position; a pre-finish transport process in which the substrate after the polishing process is transported from the second substrate transfer position to the upstream finishing unit; an intermediate finishing transport process in which the substrate undergoing the finishing process is transported between the plurality of finishing units in the order of the finishing processes; and an unloading process in which the substrate after the finishing process is unloaded from the downstream finishing unit to the substrate unloading position. The system includes an evaluation index inference unit that infers the evaluation index for the recipe information and transport time information by inputting the recipe information and transport time information acquired by the information acquisition unit into a learning model that has been trained by machine learning to determine the correlation between the recipe information and the transport time information, and an evaluation index when evaluating the substrate processing schedule when the polishing process and the finishing process based on the recipe information and the transport process requiring the transport time indicated by the transport time information are sequentially performed on the aforementioned number of substrates. Information processing device.
8. A substrate processing apparatus comprising a plurality of polishing units that perform a parallel polishing process on substrates, a plurality of finishing units that perform a finishing process on the substrates after the polishing process in the order of the finishing process, and a plurality of transport units that perform a transport process for transporting the substrates, wherein a machine learning apparatus generates a learning model for creating a substrate processing schedule when each process is performed sequentially on a predetermined number of substrates, The input data includes recipe information indicating the processing details of the polishing process and the finishing process, and transport time information indicating the transport time required for each of the transport processes, which include: an input process in which the substrate is transported from the substrate input position to the first substrate delivery position; a pre-polishing transport process in which the substrate is transported from the first substrate delivery position to a plurality of polishing units; a post-polishing transport process in which the substrate after the polishing process is transported from the plurality of polishing units to the second substrate delivery position; a pre-finish transport process in which the substrate after the polishing process is transported from the second substrate delivery position to the upstream finishing unit; an intermediate finishing transport process in which the substrate undergoing the finishing process is transported between the plurality of finishing units in the order of the finishing processes; and an output process in which the substrate after the finishing process is output from the downstream finishing unit to the substrate output position. The input data includes recipe information indicating the processing details of the polishing process and the finishing process based on the recipe information, and the transport process requiring the transport time indicated by the transport time information, when the substrate processing is performed sequentially for the specified number of substrates. A learning data storage unit that stores multiple sets of learning data, which are configured with a learning schedule as output data, A machine learning unit that inputs multiple sets of the aforementioned training data into the learning model to train the learning model on the correlation between the input data and the output data, The system includes a trained model storage unit that stores the trained model in which the correlation has been learned by the machine learning unit, Machine learning device.
9. A substrate processing apparatus comprising a plurality of polishing units that perform polishing processes on substrates in parallel, a plurality of finishing units that perform finishing processes on the substrates after the polishing process in the order of the finishing processes, and a plurality of transport units that perform transport processes for transporting the substrates, wherein a machine learning apparatus generates a learning model for evaluating the substrate processing schedule when each process is performed sequentially on a predetermined number of substrates, Recipe information indicating the processing details of the polishing process and the finishing process, and the transport process, which includes a transport process of transporting the substrate from the substrate transport position to the first substrate transfer position, a pre-polishing transport process of transporting the substrate from the first substrate transfer position to a plurality of polishing units, a post-polishing transport process of transporting the substrate after the polishing process from the plurality of polishing units to the second substrate transfer position, a pre-finish transport process of transporting the substrate after the polishing process from the second substrate transfer position to the upstream finishing unit, and the process of transporting the substrate during the finishing process between the plurality of finishing units. A learning data storage unit stores multiple sets of learning data, each set comprising: transport time information indicating the transport time required for a transport process in the order of the finishing processes in which the substrates are transported in the order of the finishing processes, and a transport process in which the substrates after the finishing process are transported from the finishing unit at the downstream end to the substrate transport position as input data; and evaluation index when evaluating the substrate processing schedule when the polishing process and the finishing process based on the recipe information, and the transport process requiring the transport time indicated by the transport time information are sequentially performed on the aforementioned number of substrates, as well as evaluation index when evaluating the substrate processing schedule, as output data; A machine learning unit that inputs multiple sets of the aforementioned training data into the learning model to train the learning model on the correlation between the input data and the output data, The system includes a trained model storage unit that stores the trained model in which the correlation has been learned by the machine learning unit, Machine learning device.
10. A substrate processing apparatus comprising a plurality of polishing units that perform a parallel polishing process on substrates, a plurality of finishing units that perform a finishing process on the substrates after the polishing process in the order of the finishing processes, and a plurality of transport units that perform a transport process for transporting the substrates, wherein a computer creates a substrate processing schedule when each process is performed sequentially on a predetermined number of substrates, Information acquisition step: Acquires recipe information indicating the processing details of the polishing process and the finishing process, and transport time information indicating the transport time required for each of the transport processes, which include: a transport process in which the substrate is transported from the substrate transport position to the first substrate transfer position; a pre-polishing transport process in which the substrate is transported from the first substrate transfer position to a plurality of polishing units; a post-polishing transport process in which the substrate after the polishing process is transported from the plurality of polishing units to the second substrate transfer position; a pre-finish transport process in which the substrate after the polishing process is transported from the second substrate transfer position to the upstream finishing unit; an intermediate finishing transport process in which the substrate undergoing the finishing process is transported between the plurality of finishing units in the order of the finishing processes; and an unloading process in which the substrate after the finishing process is unloaded from the downstream finishing unit to the substrate unloading position. The system includes a scheduling step, which determines the start timing of each process to create a substrate processing schedule based on the recipe information and transport time information obtained in the information acquisition step, so as to minimize the time required for the final processing to be completed when the last substrate after the finishing process is transported to the substrate transport position. Information processing methods.
11. A machine learning method for generating a learning model by a computer for creating a substrate processing schedule when each process is performed sequentially on a predetermined number of substrates in a substrate processing apparatus comprising: a plurality of polishing units that perform a parallel polishing process on substrates; a plurality of finishing units that perform a finishing process on the substrates after the polishing process in the order of the finishing process; and a plurality of transport units that perform a transport process for transporting the substrates, wherein Recipe information indicating the processing details of the polishing process and the finishing process, and the transport process, which includes a transport process of transporting the substrate from the substrate transport position to the first substrate transfer position, a pre-polishing transport process of transporting the substrate from the first substrate transfer position to a plurality of polishing units, a post-polishing transport process of transporting the substrate after the polishing process from the plurality of polishing units to the second substrate transfer position, a pre-finish transport process of transporting the substrate after the polishing process from the second substrate transfer position to the upstream finishing unit, and the process of transporting the substrate during the finishing process between the plurality of finishing units. A learning data storage step involves storing multiple sets of learning data in a learning data storage unit, each set of learning data consisting of input data, transport time information indicating the transport time required for each of the intermediate transport process for transporting the substrates in the order of the finishing processes, and the unloading process for unloading the substrates after the finishing process from the finishing unit at the downstream process to the substrate unloading position, and output data, which is a substrate processing schedule when the polishing process and the finishing process based on the recipe information, and the transport process requiring the transport time indicated by the transport time information are performed sequentially for the number of substrates, and learning data storage step involves storing multiple sets of learning data in a learning data storage unit, A machine learning process in which multiple sets of the aforementioned training data are input into the learning model, thereby training the learning model to learn the correlation between the input data and the output data, The system includes a trained model storage step, which stores the trained model, which has learned the correlation relationship through the machine learning step, in a trained model storage unit. Machine learning methods.
12. A machine learning method for generating a learning model by computer for evaluating a substrate processing schedule when each process is performed sequentially on a predetermined number of substrates in a substrate processing apparatus comprising: a plurality of polishing units that perform a parallel polishing process on substrates; a plurality of finishing units that perform a finishing process on the substrates after the polishing process in the order of the finishing process; and a plurality of transport units that perform a transport process for transporting the substrates, wherein Recipe information indicating the processing details of the polishing process and the finishing process, and the transport process, which includes a transport process of transporting the substrate from the substrate transport position to the first substrate transfer position, a pre-polishing transport process of transporting the substrate from the first substrate transfer position to a plurality of polishing units, a post-polishing transport process of transporting the substrate after the polishing process from the plurality of polishing units to the second substrate transfer position, a pre-finish transport process of transporting the substrate after the polishing process from the second substrate transfer position to the upstream finishing unit, and transporting the substrate during the finishing process between the plurality of finishing units A learning data storage step involves storing multiple sets of learning data in a learning data storage unit, each set of learning data consisting of input data including transport time information indicating the transport time required for a transport process during finishing in the order of the finishing processes, and a transport process for transporting the substrate after the finishing process from the downstream finishing unit to the substrate transport position, and output data including evaluation indicators when evaluating the substrate processing schedule when the polishing process and the finishing process based on the recipe information, and the transport process requiring the transport time indicated by the transport time information, are sequentially performed for the aforementioned number of substrates; A machine learning process in which multiple sets of the aforementioned training data are input into the learning model, thereby training the learning model to learn the correlation between the input data and the output data, The system includes a trained model storage step, which stores the trained model, which has learned the correlation relationship through the machine learning step, in a trained model storage unit. Machine learning methods.
Citation Information
Patent Citations
Substrate processing device, simulation device therefor and computer readable recording media of simulation program thereof
JP2000277401A
Method of manufacturing semiconductor wafer
JP2004265906A
Vacuum processing apparatus
JP2010093227A
Machine learning device, substrate processing apparatus, learned model, machine learning method, and machine learning program
JP2021048213A
Substrate processing apparatus, substrate processing method, substrate processing system, and learning data generation method
JP2021108367A