Sequencer time jump execution

By using a virtual timeline to simulate operations in the substrate processing system and optimizing the operation sequence, the problems of stagnation and resource consumption in the substrate processing system are solved, resulting in more efficient substrate processing and less resource consumption.

CN115702397BActive Publication Date: 2026-04-14APPLIED MATERIALS INC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
APPLIED MATERIALS INC
Filing Date
2021-06-23
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing substrate processing systems suffer from problems such as equipment stagnation, random delays, reduced yield, and substrate inhomogeneity. Existing simulation methods are time-consuming and resource-intensive.

Method used

By setting up a virtual timeline to simulate operations and using time jump technology to generate a schedule, the operation sequence of the substrate processing system can be optimized, reducing downtime and resource consumption.

Benefits of technology

It improves substrate processing efficiency, reduces equipment damage and resource consumption, increases output, and reduces substrate non-uniformity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115702397B_ABST
    Figure CN115702397B_ABST
Patent Text Reader

Abstract

A method includes receiving a plurality of operations in a sequence recipe. The plurality of operations is associated with processing a plurality of substrates in a substrate processing system. The method further includes identifying a plurality of completion times corresponding to the plurality of operations. Each completion time of the plurality of completion times corresponds to completion of a respective operation of the plurality of operations. The method further includes simulating the plurality of operations by setting a virtual timeline for each of the plurality of completion times to generate a schedule for the sequence recipe. The method further includes causing the plurality of substrates to be processed or performing a corrective action based on the schedule.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to time jumps in manufacturing systems such as substrate processing systems, and more particularly to sequencer time jumps in manufacturing systems. Background Technology

[0002] Products are manufactured by performing one or more manufacturing processes using manufacturing equipment. For example, a substrate processing apparatus is used to process a substrate by conveying the substrate to a processing chamber and performing processing on the substrate in the processing chamber. Summary of the Invention

[0003] The following is a brief overview of this disclosure, providing a basic understanding of some aspects of it. This overview is not a comprehensive summary of this disclosure. It is not intended to identify any essential or key elements of this disclosure, nor does it describe any scope of any particular implementation of this disclosure or any scope of the claims. Its sole purpose is to present some concepts of this disclosure in a simple form as a prelude to the more detailed description that follows.

[0004] In one aspect of this disclosure, the method includes receiving a plurality of operations in a sequence recipe. The plurality of operations are associated with processing a plurality of substrates in a substrate processing system. The method further includes identifying a plurality of completion times corresponding to the plurality of operations. Each of the plurality of completion times corresponds to the completion of a corresponding operation within the plurality of operations. The method further includes simulating the plurality of operations by setting a virtual timeline for each of the plurality of completion times to generate a schedule for the sequence recipe. The method further includes processing the plurality of substrates or performing correction actions based on the schedule.

[0005] In another aspect of this disclosure, a non-transitory machine-readable storage medium stores instructions that, when executed, cause a processing device to receive multiple operations in a sequence recipe. The multiple operations are associated with processing multiple substrates in a substrate processing system. The processing device further identifies multiple completion times corresponding to the multiple operations. Each of the multiple completion times corresponds to the completion of a corresponding operation within the multiple operations. The processing device further simulates the multiple operations by setting a virtual timeline for each of the multiple completion times to generate a schedule for the sequence recipe. Based on the schedule, the processing device further processes the multiple substrates or performs correction actions.

[0006] In another aspect of this disclosure, the system includes a memory and a processing device coupled to the memory. The processing device receives multiple operations in a sequence recipe. The multiple operations are associated with processing multiple substrates in a substrate processing system. The processing device further identifies multiple completion times corresponding to the multiple operations. Each of the multiple completion times corresponds to the completion of a corresponding operation among the multiple operations. The processing device further simulates the multiple operations by setting a virtual timeline for each of the multiple completion times to generate a schedule for the sequence recipe. The processing device further processes the multiple substrates or performs correction actions based on the schedule. Attached Figure Description

[0007] This disclosure is illustrated by way of example and is not limited to the figures in the accompanying drawings.

[0008] Figure 1A A block diagram illustrating a system architecture according to certain implementations.

[0009] Figure 1B This refers to a processing system according to certain implementations.

[0010] Figures 2A to 2B This is a flowchart of a method associated with time jump according to certain implementations.

[0011] Figure 3 The diagram illustrates a time jump diagram according to certain implementation methods.

[0012] Figure 4 This is a block diagram illustrating a computer system according to certain embodiments. Detailed Implementation

[0013] The content described in this article relates to the technique of time-skip execution of sequencers.

[0014] Products are manufactured by performing one or more manufacturing processes using manufacturing equipment. For example, substrate processing equipment is used to process substrates (e.g., wafers, semiconductors, displays, etc.). A substrate processing system processes substrates based on a sequence of recipes, which includes different operations such as transfer operations (e.g., robots transferring substrates to different locations), processing operations (e.g., processing substrates in processing chambers), cleaning operations (e.g., cleaning processing chambers after processing operations), and / or the like. For example, in semiconductor processing, a specific process program with multiple processing operations is used to fabricate multilayer features on a substrate. A substrate processing system (e.g., a cluster tool) includes multiple processing chambers to perform a sequence of processing operations of the recipe without removing the substrate from the processing environment (e.g., the substrate processing system). The substrate processing system has a limited number of robots to perform transfer operations and a limited number of processing chambers to perform processing operations. For a substrate moving to the next operation, the substrate must have completed the previous operation; the corresponding type of processing chamber and the corresponding robot are available.

[0015] In known systems, substrate transfer and processing operations are controlled based on the system's current state. Considering the different possible routes by which substrates are moved to different processing chambers via different possible robots, in known systems, wafers are routed in many different random sequences with inconsistent timing. This randomness of routes and inconsistent timing leads to equipment deadlocks, random delays, reduced yield, and substrate non-uniformity due to different substrates being delayed by varying amounts of time within the processing chambers, and / or similar issues, all within the substrate processing system.

[0016] In some known systems, a batch of test substrates is processed in a substrate processing system based on a formulation in an attempt to identify stalls, delays, and / or similar issues. Performing the formulation process on a batch of test substrates is time-consuming, increases the amount of resources used (e.g., substrates, substrate processing materials, energy, etc.), and causes damage to the substrate processing system (e.g., wear and tear).

[0017] In some known systems, real-time simulations of substrate processing are performed within a computer system. These real-time simulations are considered equivalent to the actual processing of the substrate. For example, if processing a certain amount of substrate takes ten hours, then real-time processing also takes ten hours. Performing real-time simulations of substrate processing is time-consuming and increases the amount of resources used (e.g., energy, processor load, etc.).

[0018] Considering the amount of time and resources used by known systems (e.g., processing a batch of test substrates, real-time simulation of substrate processing), a subset of different possible random sequences is tested. Completing the testing of these test cases can take weeks. Even if some random sequences (e.g., test cases) are tested without causing stagnation, different random sequences (e.g., untested test cases) may occur in actual use, leading to stagnation, damage, delays, reduced yield, substrate inhomogeneity, and / or similar issues.

[0019] The apparatus, system, and method disclosed herein provide scheduler time-skip execution. The processing apparatus receives operations related to a sequence recipe. These operations include transfer operations, processing operations, and cleaning operations associated with processing a substrate in a substrate processing system.

[0020] The processing device identifies the completion time of operations related to the sequence recipe. For example, the processing device identifies the completion time of each of the following operations: a transfer operation (e.g., a robot has placed a substrate and is ready to pick up the next substrate), a processing operation (e.g., a processing chamber has finished processing a substrate and is ready to remove a substrate from the processing chamber), and a cleaning operation (e.g., a processing chamber has finished cleaning and is ready to receive the next substrate).

[0021] The processing device simulates operations by setting a virtual timeline for each completion time, thereby generating a schedule (e.g., a timetable). The processing device simulates operations by setting the virtual timeline to jump to each completion time. In some implementations, by using a virtual timeline, each operation takes one cycle of the processing device's central processing unit (CPU) instead of actual real-time execution.

[0022] Time jump refers to jumping from a first time point to a second time point (e.g., skipping an intermediate time point). Using a real timeline means that every amount of time in the actual scenario occupies the same amount of time in the simulation. For example, for a 1-minute transmission operation and a 30-minute processing operation on an actual substrate, using a real timeline would take 31 minutes to simulate. Using a virtual timeline means jumping time to a point in the real scenario (e.g., simultaneously skipping intermediate time points). For example, a transmission operation terminating at 1 minute and a processing operation terminating at 31 minutes would require two CPU cycles (e.g., approximately 1 nanosecond) to simulate using a virtual timeline (e.g., by jumping time to the end of the transmission operation in one CPU cycle and then jumping time to the end of the processing operation in another CPU cycle).

[0023] By simulating operations using a virtual timeline, the processing device generates a schedule for the sequence of operations. The schedule includes information about which operations will be performed by the corresponding components (e.g., robots, processing chambers, etc.) and when each component will terminate its operation (e.g., prepare for a new operation).

[0024] The processing apparatus uses a timetable to perform corrective actions or to process the substrate. In some examples, if the timetable indicates a standstill, a corrective action to update the timetable is performed. Taking advantage of the speed of simulation using a virtual timeline, different updates to the sequence recipe can be made and tested. Different random sequences of operations in the sequence recipe can be tested. Once the timetable is ready (e.g., there are no more standstills), the substrate is processed in the substrate processing system using the timetable.

[0025] The aspects of this disclosure offer technical advantages. By setting a virtual timeline to simulate the operation's completion time, compared to known systems, the processing time for substrates is reduced, requiring less energy, less processor load, fewer substrates, and less material. By setting a virtual timeline to simulate the operation's completion time, the substrate processing equipment experiences less damage compared to known systems. By setting a virtual timeline to simulate the operation's completion time, more operation sequences and more updates to the sequence formulation can be tested compared to known systems. This results in less substrate stalling, less damage, less delay, increased yield, and less inhomogeneity compared to known systems.

[0026] While some embodiments of this disclosure describe the transfer and processing of substrates in a substrate processing system, in some embodiments, this disclosure is applicable to other systems that perform operations over time, such as manufacturing systems.

[0027] Figure 1A This is a block diagram of a system 100A (e.g., an exemplary system architecture, computing environment) according to certain embodiments. System 100A includes a client device 192, manufacturing equipment 184 (e.g., clustering tools, substrate processing equipment), sensors 186, measuring equipment 188, controller device 190 (e.g., a controller, a server), and data storage 140.

[0028] Client device 192, manufacturing equipment 184, sensor 186, metering device 188, and controller device 190 are interconnected via network 180 for simulating operations using a virtual timeline to generate schedule 176. In some embodiments, network 180 is a public network that provides client device 192 with access to controller device 190, data storage 140, and other public computing devices. In some embodiments, network 180 is a private network that provides client device 192 with access to manufacturing equipment 184, sensor 186, metering device 188, data storage 140, and other private computing devices. Network 180 includes one or more wide area networks (WANs), local area networks (LANs), wired networks (e.g., Ethernet networks), wireless networks (e.g., 802.11 networks or Wi-Fi networks), cellular networks (e.g., Long Term Evolution (LTE) networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.

[0029] Controller device 190 (e.g., controller, server) includes one or more computing devices, such as rack servers, router computers, server computers, personal computers, host computers, laptop computers, tablet computers, desktop computers, graphics processing units (GPUs), and application-specific integrated circuits (ASICs) (e.g., tensor processing units (TPUs)). In some embodiments, controller device 190 includes a time jump component 194 for simulating operations using a virtual timeline to generate time schedule 176. In some embodiments, the time jump component 194 is used to perform... Figures 2A to 2B One or more operations of methods 200A to 200B. In some embodiments, the controller device 190 is a controller for a semiconductor processing system and is used to control the manufacturing equipment 184.

[0030] Client device 192 includes computing devices such as personal computers (PCs), laptops, mobile phones, smartphones, tablets, netbooks, network-connected televisions (“smart TVs”), network-connected media players (e.g., Blu-ray players), set-top boxes, over-the-top (OTT) streaming devices, operator boxes, etc. In some embodiments, client device 192 displays a graphical user interface (GUI) that receives input and displays output. In some embodiments, client device 192 includes a time-jumping component 194 for simulating operations using a virtual timeline to generate a timetable 176. In some embodiments, the time-jumping component 194 is used to perform... Figures 2A to 2B One or more operations of methods 200A to 200B.

[0031] In some implementations, a sequence recipe 150 is provided to client device 192 (e.g., via user input). Sequence recipe 150 describes which possible processing chambers the substrate will arrive at at different stages and the processing to be performed in each chamber. Client device 192 then generates a schedule 176 (e.g., by using a virtual timeline to jump to different completion times 174 to simulate the operation 152 of sequence recipe 150) and provides schedule 176 to controller device 190, enabling the substrate to be processed by manufacturing equipment 184 (e.g., in a cluster tool) without interruption and with increased throughput.

[0032] In some embodiments, manufacturing equipment 184 (e.g., cluster tool) is part of a substrate processing system (e.g., an integrated processing system). Manufacturing equipment 184 includes a housing system (e.g., a substrate carrier, a front-opening unified pod (FOUP), an automated teach FOUP, a processing kit housing system, a substrate housing system, a cassette, etc.), a side storage pod (SSP), an alignment device (e.g., an alignment chamber), a factory interface (e.g., an equipment front end module (EFEM)), a loading lock, a transfer chamber, one or more processing chambers, a robotic arm (e.g., disposed in the transfer chamber, mounted on the front interface, etc.), and / or the like. The housing system, SSP, and loading lock mounted to the factory interface, and the robotic arm disposed in the factory interface, transfer contents (e.g., substrates, processing kit rings, carriers, verification wafers, etc.) between the housing system, SSP, loading lock, and factory interface. The alignment device is disposed in the factory interface to align the contents. The loading locking and processing chamber is installed into the transfer chamber. The robotic arm located in the transfer chamber will transfer the contents (such as substrates, processing kit rings, carriers, verification wafers, etc.) between the loading locking, processing chamber and the transfer chamber.

[0033] Manufacturing equipment 184 includes one or more processing chambers for producing a substrate based on a schedule 176 generated according to a sequence recipe 150. The sequence recipe 150 includes a set of operations 152 to create features (e.g., deposit layers, fabricate multilayer features) on the substrate.

[0034] Sensor 186 provides sensor data (e.g., sensor values, tracking data) associated with manufacturing equipment 184 (e.g., associated with the production of substrates using manufacturing equipment 184). In some embodiments, sensor data is used to determine manufacturing parameters of manufacturing equipment 184. In some embodiments, sensor data is used for equipment health and / or product health (e.g., substrate quality). Manufacturing equipment 184 produces substrates based on schedule 176 over a period of time. Sensor data (e.g., tracking data) is received from different sensors 186 over a period of time (e.g., corresponding to sequence recipe 150 or at least a portion of the operation).

[0035] Metrology equipment 188 is used to determine metrological data corresponding to the product of manufacturing equipment 184. In some embodiments, after manufacturing equipment 184 has deposited one or more layers on a substrate, metrology equipment 188 is used to determine one or more of the following: layer thickness, layer uniformity, interlayer spacing, or the like. In some embodiments, metrology equipment 188 includes an imaging device.

[0036] Data storage 140 is a memory (e.g., random access memory), a drive (e.g., a hard disk drive, flash drive), a database system, or another type of component or device capable of storing data. Data storage 140 includes multiple storage components (e.g., multiple drives or multiple databases) spanning multiple computing devices (e.g., multiple server systems). Data storage 140 stores sequence recipes 150, historical information 160, start time 170, total time 172, completion time 174, schedule 176 (e.g., a schedule in a document), and a wake-up queue 178.

[0037] Sequence formulation 150 includes operation 152. Operation 152 includes transfer operation 154 (e.g., robotic operation), processing operation 156 (e.g., chamber operation), and cleaning operation 158.

[0038] Historical information 160 includes timing 162. Timing 162 includes historical transmission timing 164, historical processing timing 166, and historical cleaning timing 168. In some embodiments, timing 162 is an average of historical timings.

[0039] Start time 170 is the time when each of operations 152 begins. In some embodiments, start time 170 is specified by sequence recipe 150. In some embodiments, start time 170 is determined based on the completion time 174 of the component (e.g., robot, processing chamber) used by operation 152 associated with the start time.

[0040] The total time 172 is the total time taken to complete operation 152. In some implementations, the total time 172 is based on historical information 160 (e.g., the average amount of time spent processing operations historically). In some implementations, the total time 172 is based on sequence recipe 150 (e.g., the predetermined amount of time spent processing operation 156).

[0041] Completion time 174 is the time point at which operation 152 is completed and / or the time point at which the component performing operation 152 is ready to perform the next operation.

[0042] The timetable 176 (e.g., a schedule) includes information about which operations 152 will be performed by corresponding components (e.g., robots, processing chambers, etc.) and when each component terminates operation 152 (e.g., prepares for a new operation). The controller device 190 uses the timetable 176 to control the manufacturing equipment 184 to transfer and process substrates. The timetable is used to determine whether to perform corrective actions (e.g., timetable 176 indicates that a stagnation occurs when a component is instructed to perform two different operations simultaneously). In some embodiments, the timetable 176 is a timetable that includes timestamps (e.g., virtual timestamps, future timestamps) of when operations begin and / or terminate.

[0043] The wake-up queue 178 is based on the start time 170 and the total time 172 for each of the operations 152. Operations 152 in the wake-up queue 178 are sorted based on their completion time 174. During the simulation of operations using a virtual timeline, for each operation 152, the next operation in the wake-up queue 178 is retrieved, and the virtual timeline is set to jump to the completion time 174 of that next operation, until each operation 152 in the wake-up queue is completed.

[0044] In some embodiments, data storage 140 stores sensor data (e.g., historical information 160) from sensor 186. Sensor data includes temperature (e.g., heater temperature), spacing (SP), pressure, high-frequency radio frequency (HFRF), low-frequency radio frequency (LFRF), radio frequency (RF) power, electrostatic chuck (ESC) voltage, current, flow, power, voltage, etc. In some embodiments, the sensors indicate, or are associated with, manufacturing parameters of the manufacturing equipment, such as hardware parameters (e.g., settings of manufacturing equipment 184 or component (e.g., size, type, etc.)). Sensor data is provided concurrently with manufacturing processes performed by manufacturing equipment 184 (e.g., equipment readings during product processing). In some embodiments, sensor data differs for each substrate and / or layer.

[0045] In some embodiments, data storage 140 stores metrological data (e.g., historical information 160) from metrology device 188. The metrological data includes image data, thickness values, interlayer spacing values, uniformity values, performance values, whether substrate layers meet thresholds, indications of substrate layer differences, substrate characteristic data, yield, substrate space film characteristics, dimensions (e.g., thickness, height, etc.), dielectric constant, doping concentration, density, defects (e.g., whether the substrate and / or layer meet specific thresholds, why the substrate and / or layer does not meet specific thresholds) and / or the like. In some embodiments, the metrological data is used for finished or semi-finished substrate products. In some embodiments, the metrological data is different for each substrate and / or layer.

[0046] In some implementations, sensor data and / or measurement data are used to determine whether to update the sequence recipe 150, completion time 174, and / or schedule 176 (e.g., to improve substrate quality, the health of manufacturing equipment 184, energy usage, etc.).

[0047] For illustrative purposes and not for limitation, aspects of this disclosure describe the use of a virtual timeline to simulate operations to generate timetable 176. In some implementations, heuristic or rule-based models are used to simulate operations using a virtual timeline to generate timetable 176. A time jump component 194 monitors historical information 160 to simulate operations using a virtual timeline to generate timetable 176. In some implementations, a trained machine learning model is used to determine completion time 174 and / or timetable 176. Historical sequence recipes and historical information are used as data inputs, and historical completion times 174 and / or historical timetables 176 are used as target outputs to train the machine learning model. Sequence recipes 150 and historical information 160 are used as inputs to train the machine learning model, and completion time 174 and / or timetable 176 are determined from the output of the trained machine learning model.

[0048] In some implementations, the functionality of client device 192 and controller device 190 is provided by a smaller number of machines. In some implementations, client device 192 and controller device 190 are integrated into a single machine.

[0049] In some embodiments, one or more functions described as being performed by client device 192 may also be performed on controller device 190, where appropriate. Additionally, different or multiple elements operating together may perform functions belonging to a particular element. For example, in some embodiments, controller device 190 uses a virtual timeline to simulate operation to generate timetable 176, and in some embodiments, client device 192 uses a virtual timeline to simulate operation to generate timetable 176.

[0050] Furthermore, different or multiple components operating together can perform the functions of a specific component. In some embodiments, the controller device 190 is accessed as a service provided to other systems or devices through a suitable application programming interface (API).

[0051] In this implementation, a "user" is referred to as a single individual. However, other implementations of this disclosure cover an entity controlled by multiple users and / or automated sources. For example, a group of individual users combined into a group of managers may be considered a "user".

[0052] While many parts of this disclosure refer to using a virtual timeline to simulate operations to generate a timeline 176 for transferring and processing substrates in a substrate processing system, in some embodiments, this disclosure is generally applied to using a virtual timeline to simulate other processes (e.g., for performing other processes via a manufacturing system).

[0053] Figure 1B This refers to a processing system 100B (e.g., manufacturing equipment 184, cluster tool for substrate processing) according to certain embodiments. The processing system 100B is configured to execute a sequence recipe 150 (e.g., a processing sequence).

[0054] Processing system 100B includes a transfer chamber 101 and a factory interface 102 (e.g., Equipment Front-End Module (EFEM)). One or more front-opening standard upholstery units (FOUPs) 128A to 128D (e.g., boxes, housing systems, substrate carriers, etc.), a cooling chamber 110 (e.g., side storage compartments (SSPs)), and one or more loading locks 112 are mounted to the factory interface 102. One or more robots 138A to 138B are disposed in the factory interface 102 to transfer contents 120 (e.g., substrates, wafers, semiconductors, displays, processing kit rings, carriers, verification wafers, etc.) between the FOUP 128, the cooling chamber 110, the loading locks 112, and the factory interface 102. An alignment device 129 is disposed in the factory interface to align the contents 120. One or more loading locks 112 and one or more processing chambers 114 are mounted to the transfer chamber 101. One or more robots 104A to 104B are located in transfer chamber 101 to transfer content 120 between loading lock 112, processing chamber 114 and transfer chamber 101. A local center finding (LCF) device (not shown) is located in transfer chamber 101 for aligning content 120.

[0055] The sequential recipe operation is simulated by setting a virtual timeline for the completion time of the operation to generate time schedule 176. The sequential recipe operation includes the transfer operation of robots 138A to 138B and 104A to 104B, the processing operation of processing chamber 114, and the cleaning operation of processing chamber 114. Time schedule 176 is used to cause the components of processing system 100B to perform the sequential recipe operation.

[0056] Processing system 100B communicates with controller device 190. Controller device 190 is a controller that controls components (e.g., robots, processing chambers, etc.) in processing system 100B. In some embodiments, controller device 190 provides sequence recipe 150 to client device 192, and the client device provides timetable 176 to controller device 190 (e.g., generated based on simulating the operation of sequence recipe 150 by setting a virtual timeline for completion times). Controller device 190 causes substrates to be transmitted and processed based on timetable 176.

[0057] Figures 2A to 2B This is a flowchart of methods 200A to 200B associated with time jumps according to certain embodiments. Methods 200A to 200B are executed using processing logic including hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing device, etc.), software (e.g., instructions running on a processing device, a general-purpose computer system, or a special-purpose machine), firmware, microcode, or combinations thereof. In some embodiments, methods 200A to 200B are partially executed by a controller device 190 (e.g., time jump component 194). In some embodiments, methods 200A to 200B are partially executed by a client device 192 (e.g., time jump component 194). In some embodiments, instructions are stored in a non-transitory storage medium, which, when executed by a processing device (e.g., a processing device such as controller device 190, client device 192, etc.), causes the processing device to execute one or more of methods 200A to 200B.

[0058] For the sake of brevity, methods 200A to 200B are depicted and described as a series of operations. However, the operations according to this disclosure may occur in various orders and / or simultaneously, and may occur together with other operations not presented and described herein. Additionally, in some embodiments, not all illustrated operations are performed to implement methods 200A to 200B according to the disclosed subject matter. Furthermore, those skilled in the art will understand and appreciate that methods 200A to 200B may alternatively be represented as a series of interrelated states via state diagrams or events.

[0059] Figure 2A For substrate processing apparatus (e.g., integrated cluster tool) according to certain embodiments Figure 1A Manufacturing equipment 124 Figure 1B A flowchart of a method 200A (e.g., a processing sequence for processing a substrate) of a processing system 100B.

[0060] At block 202 of method 200A, the processing logic will handle the box (e.g.) Figure 1B FOUP 128) is mounted in a substrate processing system (e.g. Figure 1A Manufacturing equipment 184 Figure 1BThe loading port of the processing system 100B, etc. In some embodiments, a carrier robot loads the cassette onto the loading port, which is connected to the factory interface of the substrate processing system.

[0061] At block 204, the processing logic retrieves the substrate from the box (e.g., via a robot located in the factory interface) and places the substrate in the alignment device (e.g. Figure 1B (The alignment device 129, alignment chamber, etc.).

[0062] At block 206, the processing logic aligns the substrate in the aligner device.

[0063] At block 208, the processing logic retrieves the substrate from the alignment chamber (e.g., via a robot located in the factory interface) and places the substrate in the loading lock (e.g. Figure 1B Loading lock 112).

[0064] At block 210, processing logic (e.g., via a robot positioned in the transfer chamber) retrieves the substrate and places it in the processing chamber (e.g., Figure 1B The processing chamber 114 in the middle.

[0065] At block 212, the processing logic processes the substrate within a processing chamber. In some embodiments, the processing chamber performs electroplating (e.g., with copper, nickel (Ni), tin-silver alloy (SnAG)), rotating ring maintenance, vacuum pre-humidification, addition or removal of protective components (e.g., protective caps, safety seals), rotation and / or drying, heating, etching, and / or the like.

[0066] At block 214, the processing logic determines whether to perform additional processing operations on the substrate. If it is determined that additional processing operations should be performed, the process continues to block 210 to perform further processing on the substrate. If it is determined that no additional processing operations should be performed, the process continues to block 216.

[0067] At block 216, the processing logic (e.g., via a robot located in the transfer chamber) retrieves the substrate and places it in the loading lock.

[0068] At block 218, the processing logic retrieves the substrate from the loading lock (e.g., via a robot located in the factory interface) and places the substrate into the cooling chamber (e.g., Figure 1B (cooling chamber 110 in the middle).

[0069] At block 220, the processing logic retrieves the substrate from the cooling chamber (e.g., via a robot located in the factory interface) and places the substrate in a box (e.g. Figure 1B FOUP 128 in the middle.

[0070] At block 222, the processing logic removes the cassette from the substrate processing system. In some implementations, once the substrate in the cassette has been processed (e.g., and the cassette has been sealed), the carrier robot removes the cassette from the loading port.

[0071] After removing the box containing the processed substrate from the loading port, method 200A is repeated with a box containing an unprocessed substrate (e.g., a carrier robot places a box containing an unprocessed substrate onto the loading port).

[0072] In some embodiments, one or more operations of method 200A are sequential formulation operations. In some embodiments, one or more operations of method 200A are simulated by setting a virtual timeline (e.g., time jump to each completion time) for each of the completion times to generate a schedule for detecting stalls, pre-positioning robots, preparing processing chambers, increasing throughput, and improving consistency between substrates. In some embodiments, robots for executing blocks 202, 204, 208, 210, 216, 218, 220, and 222 are pre-positioned (e.g., before completing a previous operation) to perform the operation. This increases throughput compared to known systems that begin moving robots after completing a previous operation. In some embodiments, each of the following is prepared (e.g., before completing a previous operation): the alignment device in block 206, the loading lock in blocks 208, 216, and 218, the processing chamber in block 212, and / or the cooling chamber in blocks 218 to 220, to perform the operation. This increases throughput compared to known systems that begin preparing components after completing the previous operation.

[0073] In some implementations, one or more operations of method 200A are performed in a schedule, based on which the substrate is corrected or processed.

[0074] refer to Figure 2B Method 200B is associated with simulation operations (e.g., block 200A) to generate data for use in a substrate processing system (e.g., cluster tooling, etc.). Figure 1A Manufacturing equipment 184 Figure 1B The timeline for processing substrates in the processing system 100B, etc.

[0075] At block 240 of method 200B, the processing logic receives the operation in the sequence recipe. The operation is associated with processing a substrate in a substrate processing system. The operation includes a substrate transfer operation (e.g., via a robot), one or more substrate processing operations (e.g., via a processing chamber), and one or more cleaning operations (e.g., within a processing chamber).

[0076] At block 242, the processing logic identifies the completion time corresponding to the operation. In some implementations, block 242 includes determining the corresponding start time and corresponding total time for each operation based on the sequence recipe and historical timing. The sum of the corresponding start time and corresponding total time for each operation generates the completion time.

[0077] At block 244, the processing logic simulates the operation by setting a virtual timeline for each of the completion times to generate a schedule.

[0078] In some implementations, block 244 includes generating a wake-up queue based on the corresponding start time and corresponding total time of each operation. The operations in the wake-up queue are ordered based on multiple completion times. For each operation in the wake-up queue, the processing logic obtains the next operation in the wake-up queue and sets a virtual timeline to jump to the corresponding completion time of the next operation, until each operation in the wake-up queue is completed.

[0079] In some embodiments, at block 240, sequencer code (e.g., including heuristic logic and a sequence recipe of operations) is received, and at block 244, processing logic runs the sequencer code to produce output and stores the output in the format of a timetable of the sequence recipe. In some embodiments, the heuristic logic is rule-based logic. In some embodiments, the rule-based logic indicates that the substrate will be transferred after the following conditions are met: (1) the substrate has completed an operation at the current position (e.g., the current processing operation in the current processing chamber); (2) the next position for the next operation is available (e.g., the next processing chamber for the next processing operation is available); and (3) a robot can transfer the substrate from the current position to the next position.

[0080] At block 246, based on a schedule, the processing logic causes a correction action to be performed. In some implementations, at block 246, based on a schedule, the processing logic predicts one or more stalls in the substrate processing system and updates the sequence recipe to prevent one or more stalls.

[0081] At block 248, the processing logic, based on the schedule, enables the substrate to be processed.

[0082] In some implementations, at block 248, based on a schedule, the processing logic pre-positions one or more robots within the substrate processing system for one or more corresponding transfer operations.

[0083] In some implementations, at block 248, based on a schedule, the processing logic prepares one or more processing chambers within the substrate processing system for one or more corresponding processing operations.

[0084] In some implementations, at block 248, the processing logic predicts the completion time of the first substrate box based on a time schedule, and pre-positions one or more carrier robots based on the completion time, unloads the first substrate box from the substrate processing system, and loads the second substrate box into the substrate processing system.

[0085] In some implementations, the processing logic uses the same code (e.g., a timeline) implemented in parallel threads, which runs in a time-skip mode (e.g., by setting a virtual timeline to simulate the operation's completion time) for robot optimization, processing chamber preparation, box completion time prediction, and / or the like. In some implementations, the processing logic (e.g., by executing code via a first thread using a real timeline) causes the substrate to be transferred and processed based on a timeline, and (e.g., by executing the same code via a second thread running a virtual timeline) causes the components (e.g., the robot, the new box) to be pre-positioned (e.g., processed chamber) and prepared (e.g., processed chamber) for the next operation based on a timeline.

[0086] In some implementations, completion time, topology information, historical timing information, and / or sequence recipes change over time. In some implementations, one or more components are added to or removed from the substrate processing system, which alters the topology information. In some implementations, one or more transfer operations, processing operations, and / or cleaning operations speed up or slow down over time, which alters the completion time and / or historical timing information. In some implementations, the process is repeated with updated completion time, updated topology information, updated historical timing information, and / or updated sequence recipes. Figure 2B Method 200B generates an updated schedule for performing correction operations and / or processing the substrate in the substrate processing system.

[0087] Figure 3 The illustration shows a time jump according to certain implementations, as shown in Figure 300. Figure 3 As shown, in one example, the sequence recipe includes eight operations, each with a start time (e.g., start of transfer operation, start of processing operation, start of cleaning operation), total time (total time to complete the operation), and completion time. Each of the operations has a different start time and completion time. Some operations have different total times. Completion times are shown as numbers in circles. Some operations have completion times that occurred before the previous operation. Typically, to simulate operations 1 through 8, a real timeline is used, making the simulation time as long as the actual time (e.g., several hours) spent processing the substrate based on operations 1 through 8. To troubleshoot operational failures, the operations are repeatedly updated and resimulated, which takes a very long time (e.g., several weeks).

[0088] As disclosed herein, to simulate operations 1 through 8, virtual timeline time jumps to completion times 1 through 8 are used (e.g., as an alternative to the transfer and processing of a real-time running substrate), which in some examples takes 8 CPU cycles. In some implementations, the CPU undergoes 2,000,000,000 cycles per second, so 8 CPU cycles take 4 nanoseconds. To troubleshoot operational failures, the operations are repeatedly updated and resimulated. Considering that each simulation of this disclosure takes several nanoseconds compared to each simulation of known solutions takes several hours, the time of this disclosure can be used to perform more simulations with less time, energy, and processor load, resulting in improved schedules, increased yield, and reduced stalling. In some implementations, the same sequencer code of the sequence recipe input to a known real-time simulation system is input to the system disclosed herein (e.g., virtual timeline time jump to completion time simulation), and the system disclosed herein is faster and uses less energy and processor load than known real-time simulation systems.

[0089] Using this disclosure (e.g., time-skip execution) also enables faster computation of one or more batches of substrates (e.g., boxes, FOUPs). Using this disclosure, the computation time is T*N*M, where T is the average sequencer computation time at each wake-up (e.g., one CPU cycle), N is the number of substrates, and M is the number of sequential operations assigned to the substrates. This disclosure provides fast execution independent of the real-time (e.g., real transfer time, real processing time, real cleaning time) of the sequence recipe.

[0090] In some implementations, this disclosure (e.g., time-jump execution of simulated operations by using a virtual timeline to jump to completion time) is applied to sequencer release testing, yield verification, sequencer self-prediction, generation of time-based schedules, and / or the like. Sequencer release testing using time-jump execution takes significantly less time compared to current real-time testing that depends on actual recipe times and actual delivery times. Yield verification using time-jump execution provides rapid answers to the feasibility verification phase of product development. Sequencer self-prediction using time-jump execution allows processing devices (e.g., sequencers) to implement parallel threads (e.g., using the same code) running in time-jump mode, and the prediction results can be used for robot optimization (e.g., knowing the robot's next action, thus pre-positioning the robot for the next operation) and box completion time prediction (e.g., knowing the box completion time for more efficient use of the substrate processing system). Schedules generated using time-jump execution are time-based schedules used to process substrates defined in a sequence recipe.

[0091] Figure 4This is a block diagram illustrating a computer system 400 according to certain embodiments. In some embodiments, the computer system 400 is a client device 192. In some embodiments, the computer system 400 is a controller device 190 (e.g., a server).

[0092] In some implementations, computer system 400 (e.g., via a network, such as a local area network (LAN), internal network, external network, or the Internet) is connected to other computer systems. The computer system operates as a server or client computer in a client-server environment, or as a peer-to-peer computer in a peer-to-peer or distributed network environment. In some implementations, computer system 400 is provided by a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), cellular phone, web application, server, network router, switch, or bridge, or any device capable of executing a set of instructions (sequentially or otherwise) specifying actions to be performed by the device. Additionally, the term "computer" should include any collection of computers that individually or collectively execute a set (or more) of instructions to perform any one or more of the methods disclosed herein.

[0093] In some embodiments, the computer system 400 includes a processing device 402, a volatile memory 404 (e.g., random access memory (RAM)), a non-volatile memory 406 (e.g., read-only memory (ROM) or electrically erasable programmable ROM (EEPROM)), and / or a data storage device 416, which communicate with each other via a bus 408.

[0094] In some embodiments, the processing device 402 is provided by one or more processors, such as general-purpose processors (e.g., for example, complex instruction set computing (CISC) microprocessors, reduced instruction set computing (RISC) microprocessors, very long instruction word (VLIM) microprocessors, microprocessors implementing other types of instruction sets, or microprocessors implementing combined types of instruction sets) or special-purpose processors (e.g., for example, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), or network processors). In some embodiments, the processing device 402 is provided by one or more of a single processor, multiple processors, a single processor having multiple processing cores, and / or the like.

[0095] In some embodiments, computer system 400 further includes a network interface device 422 (e.g., coupled to network 474). In some embodiments, computer system 400 includes one or more input / output (I / O) devices. In some embodiments, computer system 400 also includes a video display unit 410 (e.g., LCD), an alphanumeric input device 412 (e.g., keyboard), a cursor control device 414 (e.g., mouse), and / or a signal generation device 420.

[0096] In some implementations, data storage device 416 (e.g., disk drive storage, fixed and / or removable storage, fixed disk drive, removable memory card, optical storage, network attached storage (NAS), and / or storage local area network (SAN)) includes a non-transitory computer-readable storage medium 424 on which instructions 426 are stored, encoding any one or more of the methods or functions described herein. These instructions 426 include instructions encoding components of FIG. 1 (e.g., time jump component 194, etc.) and for implementing the methods described herein. In some implementations, processor 402 includes time jump component 194. In some implementations, the generated time schedule is stored in data storage device 418.

[0097] In some embodiments, instruction 426 also resides wholly or partially in volatile memory 404 and / or processing device 402 during execution by computer system 400, and thus in some embodiments, volatile memory 404 and processing device 402 also constitute machine-readable storage media.

[0098] Although computer-readable storage medium 424 is shown as a single medium in the illustrative example, the term "computer-readable storage medium" should include a single medium or multiple media (e.g., a centralized or distributed database and / or associated cache and server) that store one or more sets of executable instructions. The term "computer-readable storage medium" should also include tangible media capable of storing or encoding a set of instructions that, when executed by a computer, cause the computer to perform any or more of the methods described herein. The term "computer-readable storage medium" should include, but is not limited to, solid-state memory, optical media, and magnetic media.

[0099] In some embodiments, the methods, components, and features described herein are implemented by separate hardware components or integrated into the functionality of other hardware components such as ASICs, FPGAs, DSPs, or similar devices. In some embodiments, the methods, components, and features are implemented by functional circuitry within firmware modules or hardware devices. Additionally, the methods, components, and features are implemented by any combination of hardware devices and computer program components, or by a computer program.

[0100] Unless otherwise specified, terms such as “receive,” “identify,” “simulate,” “set,” “generate,” “make,” “determine,” “calculate,” “sort,” “acquire,” “pre-position,” “predict,” “run,” “store,” or similar terms refer to actions or processes performed or implemented by computer systems that manipulate and convert data represented as physical (electronic) quantities in computer system registers and memories into other data similarly represented as physical quantities in computer system memory or registers or other such information storage, transmission, or display devices. Furthermore, the terms “first,” “second,” “third,” “fourth,” etc., used herein are used as labels to distinguish different elements and do not have an sequential meaning associated with their numerical symbols.

[0101] The examples described herein also relate to apparatus for performing the methods described herein. In some embodiments, this apparatus is specifically configured to perform the methods described herein, or the apparatus includes a general-purpose computer system selectively programmed by a computer program stored in a computer system. Such computer programs are stored in a computer-readable tangible storage medium.

[0102] The methods and illustrative examples described herein are not fixedly related to any particular computer or other device. It has proven convenient to construct more specialized devices to perform the methods described herein and / or their individual functions, routines, subroutines, or operations, using various general-purpose systems or in some implementations, based on the teachings described herein. The foregoing description illustrates examples of structures used in various such systems.

[0103] The above description is intended to be illustrative and not restrictive. While this disclosure has been described with reference to specific illustrative examples and embodiments, it should be understood that this disclosure is not limited to the described examples and embodiments. The scope of this disclosure should be determined by referring to the appended claims and the full scope of the equivalents claimed.

Claims

1. A substrate processing method, comprising the following steps: Receive a sequence of operations in the recipe, wherein the multiple operations are associated with processing multiple substrates in a substrate processing system; Identify multiple completion times corresponding to the plurality of operations, wherein each of the plurality of completion times corresponds to the completion of a corresponding operation among the plurality of operations; The plurality of operations are simulated by setting a virtual timeline for each of the plurality of completion times to generate a timeline for the sequence recipe, wherein the step of simulating the plurality of operations includes the following steps: A wake-up queue is generated based on the corresponding start time and corresponding total time of each of the plurality of operations; The multiple operations in the wake-up queue are sorted based on the multiple completion times; and For each of the plurality of operations in the wake-up queue, obtain the next operation in the wake-up queue, and set the virtual timeline to jump to the corresponding completion time of the next operation, until each of the plurality of operations in the wake-up queue is completed; and Based on the aforementioned schedule, the plurality of substrates are processed or calibration actions are performed.

2. The method of claim 1, wherein the plurality of operations includes a substrate transfer operation, one or more substrate processing operations, and one or more cleaning operations.

3. The method of claim 1, wherein the step of identifying the plurality of completion times comprises the following steps: Based on the sequence formula and historical timeline, determine the corresponding start time and total time for each of the plurality of operations; and The plurality of completion times are generated by calculating the sum of the corresponding start time and the corresponding total time for each of the plurality of operations.

4. The method of claim 1, wherein the step of receiving the plurality of operations comprises the steps of: receiving sequencer code containing heuristic logic, and wherein the step of simulating the plurality of operations to generate the time schedule comprises the steps of: running the sequencer code to generate output, and storing the output in the format of the time schedule of the sequence recipe.

5. The method of claim 1, wherein the step of processing the plurality of substrates based on the schedule comprises the following steps: Based on the aforementioned schedule, one or more robots within the substrate processing system are pre-positioned for one or more corresponding transfer operations.

6. The method of claim 1, wherein the step of processing the plurality of substrates based on the schedule comprises the following steps: Based on the aforementioned schedule, one or more processing chambers within the substrate processing system are prepared for one or more corresponding processing operations.

7. The method of claim 1, further comprising the following steps: The completion time of the first substrate box is predicted based on the aforementioned timetable; and Based on the completion time, one or more carrier robots are pre-positioned to unload the first box of substrates from the substrate processing system and load the second box of substrates into the substrate processing system.

8. The method of claim 1, wherein the step of performing the correction action comprises the following steps: Based on the timetable, one or more shutdowns in the substrate processing system are predicted; and The sequence recipe is updated to prevent one or more stagnations.

9. A non-transitory machine-readable storage medium storing instructions that, when executed, cause a processing apparatus to: Receive a sequence of operations in the recipe, wherein the multiple operations are associated with processing multiple substrates in a substrate processing system; Identify multiple completion times corresponding to the plurality of operations, wherein each of the plurality of completion times corresponds to the completion of a corresponding operation among the plurality of operations; The plurality of operations are simulated by setting a virtual timeline for each of the plurality of completion times to generate a timetable for the sequence recipe, wherein, in order to simulate the plurality of operations, the processing device: A wake-up queue is generated based on the corresponding start time and corresponding total time of each of the plurality of operations; The multiple operations in the wake-up queue are sorted based on the multiple completion times; and For each of the plurality of operations in the wake-up queue, obtain the next operation in the wake-up queue, and set the virtual timeline to jump to the corresponding completion time of the next operation, until each of the plurality of operations in the wake-up queue is completed; and Based on the aforementioned schedule, the plurality of substrates are processed or calibration actions are performed.

10. The non-transitory machine-readable storage medium of claim 9, wherein the plurality of operations includes a substrate transfer operation, one or more substrate processing operations, and one or more cleaning operations.

11. The non-transitory machine-readable storage medium of claim 9, wherein, in order to identify the plurality of completion times, the processing apparatus: Based on the sequence formula and historical timeline, determine the corresponding start time and total time for each of the plurality of operations; and The plurality of completion times are generated by calculating the sum of the corresponding start time and the corresponding total time for each of the plurality of operations.

12. The non-transitory machine-readable storage medium of claim 9, wherein, in order to receive the plurality of operations, the processing means receives sequencer code comprising heuristic logic, and wherein, in order to simulate the plurality of operations to generate the time schedule, the processing means runs the sequencer code to generate output and stores the output in the format of the time schedule of the sequence recipe.

13. The non-transitory machine-readable storage medium of claim 9, wherein in order to process the plurality of substrates based on the schedule, the processing apparatus performs at least one of the following actions: Based on the aforementioned schedule, one or more robots within the substrate processing system are pre-positioned for one or more corresponding transfer operations; Based on the aforementioned schedule, prepare one or more processing chambers within the substrate processing system for one or more corresponding processing operations; or The completion time of the first substrate box is predicted based on the timetable. One or more carrier robots are pre-positioned based on the completion time to unload the first substrate box from the substrate processing system and load the second substrate box into the substrate processing system.

14. A substrate processing system comprising: Memory; and Processing device, the processing device being coupled to the memory, the processing device: Receive a sequence of operations in the recipe, wherein the multiple operations are associated with processing multiple substrates in a substrate processing system; Identify multiple completion times corresponding to the plurality of operations, wherein each of the plurality of completion times corresponds to the completion of a corresponding operation among the plurality of operations; The plurality of operations are simulated by setting a virtual timeline for each of the plurality of completion times to generate a timetable for the sequence recipe, wherein, in order to simulate the plurality of operations, the processing device: A wake-up queue is generated based on the corresponding start time and corresponding total time of each of the plurality of operations; The multiple operations in the wake-up queue are sorted based on the multiple completion times; and For each of the plurality of operations in the wake-up queue, obtain the next operation in the wake-up queue, and set the virtual timeline to jump to the corresponding completion time of the next operation, until each of the plurality of operations in the wake-up queue is completed; and Based on the aforementioned schedule, the plurality of substrates are processed or a calibration operation is performed.

15. The system of claim 14, wherein the plurality of operations includes a substrate transfer operation, one or more substrate processing operations, and one or more cleaning operations.

16. The system of claim 14, wherein, in order to identify the plurality of completion times, the processing device: Based on the sequence formula and historical timeline, determine the corresponding start time and total time for each of the plurality of operations; and The plurality of completion times are generated by calculating the sum of the corresponding start time and the corresponding total time for each of the plurality of operations.

17. The system of claim 14, wherein in order to process the plurality of substrates based on the schedule, the processing apparatus performs at least one of the following actions: Based on the aforementioned schedule, one or more robots within the substrate processing system are pre-positioned for one or more corresponding transfer operations; Based on the aforementioned schedule, prepare one or more processing chambers within the substrate processing system for one or more corresponding processing operations; or The completion time of the first substrate box is predicted based on the timetable. One or more carrier robots are pre-positioned based on the completion time to unload the first substrate box from the substrate processing system and load the second substrate box into the substrate processing system.

Citation Information

Patent Citations

  • Processing schedule creaitng method, coating and developing apparatus, pattern forming apparatus and processing system

    US20070004052A1

  • Scheduler, substrate processing apparatus, and method of transferring substrates in substrate processing apparatus

    US20110172800A1