Integrated hardware / software computer vision system for autonomous control and inspection of substrate processing system

The integrated computer vision system addresses the lack of real-time inspection and control in substrate processing systems by using camera imaging and data processing to provide feedback and control recommendations, thereby enhancing processing efficiency and quality.

JP2025060937AActive Publication Date: 2025-04-10LAM RES CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024231644
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-07-29
Filing Date
2024-12-27
Publication Date
2025-04-10
Estimated Expiration
2040-07-22

AI Technical Summary

Technical Problem

Substrate processing systems lack real-time, in-situ inspection and control capabilities, leading to inefficiencies and potential defects in substrate processing.

Method used

An integrated computer vision system that uses cameras to image substrates and components within the processing system, processing this data to provide real-time feedback and control recommendations, including scheduling for maintenance and recipe selection.

Benefits of technology

Enables real-time monitoring and control of substrate processing, improving throughput, yield, and on-wafer processing quality by identifying issues and adjusting processes accordingly.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025060937000001_ABST
    Figure 2025060937000001_ABST
Patent Text Reader

Abstract

To provide an integrated computer vision system for real-time, in-situ inspection and control of a substrate processing system.SOLUTION: A substrate processing system 1700 includes an edge computing device including a processor executing instructions stored in a memory to process images or videos captured by a camera, and components of the substrate processing system include a robot to transfer substrates between processing chambers 1702 of the substrate processing system or between the substrate processing system and a second substrate processing system. The camera is disposed along a path of substrate movement. The instructions cause the processor to transmit first data from the images over a network to a remote server and receive second data from the remote server over the network in response to transmitting the first data to the remote server. The instructions cause the processor to automatically or autonomously operate the substrate processing system according to the second data.SELECTED DRAWING: Figure 7A
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Application No. 62 / 879,741, filed July 29, 2019, which is incorporated herein by reference in its entirety.

[0002] The present disclosure relates generally to substrate processing systems, and more particularly to an integrated computer vision system for real-time, in-situ inspection and control of substrate processing systems. [Background technology]

[0003] The background description provided herein is intended to provide a general overview of the contents of the present disclosure. Work by the currently named inventors within the scope of what is described in this Background section, as well as aspects of the description that may not otherwise be regarded as prior art at the time of filing, are not admitted, expressly or impliedly, as prior art against the present disclosure.

[0004] A substrate processing system typically includes multiple processing chambers (also called processing modules) for performing deposition, etching, and other processing of a substrate, such as a semiconductor wafer. Examples of processes that may be performed on a substrate include, but are not limited to, plasma-enhanced chemical vapor deposition (PECVD) processes, chemical-enhanced plasma vapor deposition (CEPVD) processes, and sputtering physical vapor deposition (PVD) processes. Further examples of processes that may be performed on a substrate include, but are not limited to, etching (e.g., chemical etching, plasma etching, reactive ion etching, etc.), and cleaning processes.

[0005] During processing, a substrate is placed on a substrate support, such as a pedestal, electrostatic chuck (ESC), etc., in a processing chamber of a substrate processing system. During deposition, a gas mixture containing one or more precursors is introduced into the processing chamber and a plasma is struck to activate a chemical reaction. During etching, a gas mixture containing an etching gas is introduced into the processing chamber and a plasma is struck to activate a chemical reaction. A computer-controlled robot typically transports the substrates from one processing chamber to another according to the order in which they are to be processed. Summary of the Invention

[0006] The substrate processing system includes a processor and a memory, the memory storing instructions for execution by the processor to process images of at least one of a substrate and a component of the substrate processing system captured by a camera, the component being associated with transferring the substrate between processing chambers of the substrate processing system or between the substrate processing system and a second substrate processing system, the camera being disposed between the processing chambers along a path of movement of the substrate in the substrate processing system. The instructions also cause the processor to transmit first data from the images over a network to a remote server, and to receive second data from the remote server over the network in response to transmitting the first data to the remote server. The instructions further cause the processor to operate the substrate processing system based on the second data.

[0007] In other features, in response to the image being of the component, the component including a pad disposed in a load lock of the substrate processing system, and the pad being used to support the substrate, an edge bond ring associated with the substrate, or a robot to transfer the substrate, the second data includes one or more of the following: an indication of a condition of the pad, and recommendations for one or more of servicing and replacement of the pad. And, in response to the second data including recommendations for one or more of servicing and replacement of the pad, the instructions further cause the processor to generate one or more schedules for servicing and replacing the pad.

[0008] In other features, the image is of the substrate, and in response to the substrate being used during cleaning of one of the processing chambers of the substrate processing system, the second data includes one or more of the following: an indication that the substrate is of a type that will be used during cleaning of the one of the processing chambers of the substrate processing system, an indication of a condition of the substrate, a recommendation for replacing the substrate, and a recommendation for selecting a recipe for the one of the processing chambers. The instructions also cause the processor to select the recipe for the one of the processing chambers in response to the second data including the recommendation for selecting the recipe.

[0009] In other features, in response to the image being of the substrate, the second data includes one or more of the following: an indication of a type of the substrate, and an indication for selecting a recipe for processing the substrate, and the instructions further cause the processor to select the recipe for processing the substrate in response to the second data including the indication regarding the selection of the recipe.

[0010] In other features, responsive to the image being of the substrate, the second data includes one or more of the following: an indication of a type of the substrate, an indication of a process performed on the substrate in one of the process chambers, an indication of a status of the one of the process chambers that processed the substrate, and an indication for selection of a recipe for cleaning the one of the process chambers that processed the substrate. The instructions also cause the processor to schedule service to the one of the process chambers in response to the second data including the indication of the status of the one of the process chambers, and to select the recipe for cleaning the one of the process chambers that processed the substrate in response to the second data including the indication of the selection of the recipe.

[0011] In other features, corresponding to the image being the image of the substrate captured by the camera disposed in a load lock of the substrate processing system, the second data includes one or more of the following: an indication of drift in placing the substrate in the load lock by a robot transferring the substrate from one of the processing chambers that processed the substrate, and a recommendation for servicing the robot or the one of the processing chambers that processed the substrate. The instructions also further cause the processor to generate a schedule for servicing the robot in response to the second data including the recommendation for servicing the robot, and to adjust the one of the processing chambers for release of the substrate to the robot in response to the second data including the recommendation for servicing the one of the processing chambers that processed the substrate.

[0012] In other features, in response to the image being of the component and the component being an edge bond ring associated with the substrate received from one of the processing chambers, the second data includes one or more of the following: a serial number of the edge bond ring and a recommendation for replacing the edge bond ring with a second edge bond ring having the correct serial number for the one of the processing chambers. The instructions also cause the processor to generate a schedule for replacing the edge bond ring with the second edge bond ring having the correct serial number for the one of the processing chambers in response to the second data including the recommendation.

[0013] In other features, in response to the image being of the component and the component being an edge bond ring associated with the substrate received from one of the processing chambers, the second data includes one or more of the following: an indication that the edge bond ring is incorrect, an indication that a problem associated with processing the substrate is due to the edge bond ring being incorrect, and a recommendation to replace the edge bond ring with a correct edge bond ring appropriate for the one of the processing chambers. The instructions also cause the processor to generate a schedule for replacing the edge bond ring with the correct edge bond ring appropriate for the one of the processing chambers in response to the second data including the recommendation.

[0014] In other features, in response to the image being of the component, the component being an edge bond ring associated with the substrate received from one of the processing chambers, the second data includes one or more of the following: an indication of an etch rate in the one of the processing chambers, and an indication of an adjustment of a recipe used in the one of the processing chambers, and the instructions also cause the processor to adjust the recipe used in the one of the processing chambers in response to the second data including the indication of the adjustment.

[0015] In other features, in response to the image being of the component and the component being an edge bond ring associated with the substrate received from one of the processing chambers, the second data includes an indication that the edge bond ring is a correct edge bond ring for the one of the processing chambers, the processing chambers use the same recipe, and in response to the edge bond ring exhibiting a different change than edge bond rings of other processing chambers of the substrate processing system, for adjusting the edge bond ring and at least one of the recipes used in the one of the processing chambers. The instructions also cause the processor to further adjust the edge bond ring and at least one of the recipes used in the one of the processing chambers.

[0016] In yet another feature, the system includes a processor and a memory storing instructions that, when executed by the processor, cause the processor to receive, over a network, image data captured by a camera of at least one of a substrate and a component of a substrate processing system associated with transferring the substrate between processing chambers of the substrate processing system or between the substrate processing system and a second substrate processing system, the camera being disposed between the processing chambers along a path of movement of the substrate through the substrate processing system. The instructions also cause the processor to input a portion of the data into a model trained to provide output useful for operating the substrate processing system, and to transmit the output from the model over the network to the substrate processing system.

[0017] In other features, in response to the image being of the component, the component including a pad disposed in a load lock of the substrate processing system, the pad being used to support the substrate, an edge bond ring associated with the substrate, or a robot that transfers the substrate, the output of the model indicates a condition of the pad and includes recommendations regarding one or more of servicing and replacing the pad.

[0018] In other features, in response to the image being of the substrate and the substrate being used during cleaning of one of the processing chambers of the substrate processing system, the output of the model includes one or more of the following: an indication that the substrate is of a type that will be used during cleaning of the one of the processing chambers of the substrate processing system, an indication of the condition of the substrate, a recommendation for replacing the substrate, and a recommendation for selecting a recipe for the one of the processing chambers.

[0019] In other features, in response to the image being of the substrate, the output of the model includes one or more of the following: an indication of a type of the substrate, and an indication for selecting a recipe for processing the substrate.

[0020] In other features, in response to the image being of the substrate, the output of the model includes one or more of the following: an indication of the type of the substrate, an indication of the processing performed on the substrate in one of the processing chambers, an indication of the condition of the one of the processing chambers that processed the substrate, and an indication for selecting a recipe for cleaning the one of the processing chambers that processed the substrate.

[0021] In other features, corresponding to the image being an image of the substrate captured by the camera disposed in a load lock of the substrate processing system, the output of the model includes one or more of the following: an indication of drift in placing the substrate in the load lock by a robot transferring the substrate from one of the processing chambers that processed the substrate, and recommendations regarding servicing the robot or the one of the processing chambers that processed the substrate.

[0022] In other features, in response to the image being of the component and the component being an edge bond ring associated with the substrate received from one of the processing chambers, the output of the model includes one or more of the following: a serial number of the edge bond ring and a recommendation to replace the edge bond ring with a second edge bond ring having the correct serial number for the one of the processing chambers.

[0023] In other features, in response to the image being of the component and the component being an edge bond ring associated with the substrate received from one of the processing chambers, the output of the model includes one or more of the following: an indication that the edge bond ring is incorrect, an indication that a problem associated with processing of the substrate is due to the edge bond ring being incorrect, and a recommendation to replace the edge bond ring with a correct edge bond ring appropriate for the one of the processing chambers.

[0024] In other features, in response to the image being of the component and the component being an edge bond ring associated with the substrate received from one of the processing chambers, the output of the model includes one or more of the following: an indication of an etch rate in the one of the processing chambers, and an indication of an adjustment to a recipe used in the one of the processing chambers.

[0025] In other features, in response to the image being of the component and the component being an edge bond ring associated with the substrate received from one of the processing chambers, the output of the model includes indications for adjusting the edge bond ring and at least one of the recipes used in the one of the processing chambers in response to the edge bond ring being a correct edge bond ring appropriate for the one of the processing chambers, the processing chambers using the same recipe, and the edge bond ring having a larger variation than edge bond rings of other processing chambers in the substrate processing system.

[0026] In yet another feature, a system includes a processor and a memory storing instructions, when executed by the processor, for receiving data from one or more cameras disposed at a substrate processing system including a plurality of process modules and a robot configured to transfer substrates between the process modules and between the substrate processing system and a second substrate processing system. The instructions also cause the processor to automatically configure the substrate processing system based on the data received from the one or more cameras disposed at the substrate processing system.

[0027] In other features, the instructions cause the processor to automatically identify one or more subsystems installed in the substrate processing system based on the data received from the one or more cameras, and automatically configure the substrate processing system based on the identified subsystems.

[0028] In other features, the instructions cause the processor to automatically identify one or more subsystems installed in the substrate processing system based on the data received from the one or more cameras, and automatically configure a user interface of the substrate processing system based on the identified subsystems.

[0029] In other features, the instructions cause the processor to automatically configure the substrate processing system based on the data received from the one or more cameras in response to the substrate processing system being powered on.

[0030] In other features, the instructions cause the processor to automatically configure the substrate processing system based on the data received from the one or more cameras in response to the substrate processing system being serviced.

[0031] In other features, the instructions cause the processor to automatically identify added subsystems or components of the subsystems based on the data received from the one or more cameras and automatically configure the substrate processing system based on the identified added subsystems or components of the subsystems.

[0032] In other features, the instructions cause the processor to automatically identify removed subsystems or components of the subsystems based on the data received from the one or more cameras and automatically configure the substrate processing system based on the identified removed subsystems or components of the subsystems.

[0033] In yet other features, a system includes a processor and a memory storing instructions, when executed by the processor, for receiving data from one or more cameras disposed in a substrate processing system including a plurality of process modules and a robot configured to transfer substrates between the process modules and between the substrate processing system and a second substrate processing system. The instructions also cause the processor to automatically identify a state of one or more subsystems of the substrate processing system based on the data received from the one or more cameras disposed in the substrate processing system.

[0034] In other features, the data received from the one or more cameras includes video data, and the instructions cause the processor to process the video data in real time to automatically identify the status of one or more subsystems.

[0035] In other features, the instructions cause the processor to automatically identify and track a movement of an object of the substrate processing system based on the data received from the one or more cameras, and automatically identify the state of one or more subsystems of the substrate processing system based on the movement of the object of the substrate processing system, the object including the robot, one of the substrates, an edge bond ring used with the substrate, a door of one of the process modules, a door of a load lock module of the substrate processing system, or a door of a load port module of the substrate processing system.

[0036] In other features, in response to the condition being an error, the instructions cause the processor to automatically correct the error based on the data received from the one or more cameras.

[0037] In other features, the processor is configured to communicate with a remote computing device over a network, and in response to the condition being an error, the instructions cause the processor to automatically correct the error based on data received from the remote computing device over the network.

[0038] In other features, the processor is configured to communicate the data received from the one or more cameras over a network to a remote computing device, and the instructions cause the processor to permit the remote computing device to control the substrate processing system over the network based on the data received from the one or more cameras.

[0039] In other features, the processor is configured to communicate with a remote computing device over a network, and the instructions cause the processor to allow control of the substrate processing system by the remote computing device, while not allowing manual control of the substrate processing system while the remote computing device is controlling the substrate processing system over the network.

[0040] In other features, the processor is configured to communicate with a remote computing device over a network, and the instructions cause the processor to not allow the remote computing device to control the substrate processing system while the substrate processing system is being manually controlled.

[0041] In other features, in response to the status being erroneous associated with one of the subsystems, the instructions cause the processor to automatically disable the one of the subsystems.

[0042] In yet another feature, the system includes a processor and memory storing instructions that, when executed by the processor, receive data imaged from an edge-coupled ring with a single camera disposed in a substrate processing system, process the data using triangulation to generate a three-dimensional point cloud representative of a thickness profile of the edge-coupled ring, and determine an amount of erosion of the edge-coupled ring based on the thickness profile.

[0043] In other features, the instructions cause the processor to determine whether the amount of erosion is greater than or equal to a predetermined threshold and generate an indication of the amount of erosion.

[0044] In other features, the instructions cause the processor to determine the amount of erosion by comparing the thickness profile to a previous thickness profile generated from a previous three-dimensional point cloud created when the edge bond ring was initially installed in the substrate processing system.

[0045] Further scope of applicability of the present disclosure will become apparent from the detailed description, claims, and drawings. The detailed description and specific examples are for purposes of illustration only and are not intended to limit the scope of the present disclosure.

[0046] The present disclosure will become more clearly understood from the detailed description and the accompanying drawings set forth below. [Brief description of the drawings]

[0047] [Figure 1] FIG. 1 illustrates an example of a substrate processing tool.

[0048] [Diagram 2] FIG. 2 shows an example arrangement of substrate processing tools in a manufacturing facility.

[0049] [Figure 3A] FIG. 3A illustrates various example configurations of substrate processing tools. [Figure 3B] FIG. 3B illustrates various exemplary configurations of substrate processing tools. [Figure 3C] FIG. 3C illustrates various exemplary configurations of substrate processing tools. [Figure 3D] FIG. 3D illustrates various exemplary configurations of substrate processing tools. [Figure 3E] FIG. 3E illustrates various example configurations of substrate processing tools. [Figure 3F] FIG. 3F illustrates various example configurations of substrate processing tools. [Figure 3G] FIG. 3G illustrates various example configurations of substrate processing tools. [Figure 3H] FIG. 3H illustrates various exemplary configurations of substrate processing tools. [Figure 3I]FIG. 3I illustrates various example configurations of substrate processing tools.

[0050] [Figure 4] FIG. 4 illustrates an example of a substrate processing tool.

[0051] [Figure 5A] FIG. 5A illustrates plan views of various example configurations of substrate processing tools in accordance with certain aspects of the present disclosure. [Figure 5B] FIG. 5B illustrates plan views of various example configurations of substrate processing tools in accordance with certain aspects of the present disclosure. [Figure 5C] FIG. 5C illustrates plan views of various example configurations of substrate processing tools in accordance with certain aspects of the present disclosure. [Figure 5D] FIG. 5D illustrates plan views of various example configurations of substrate processing tools in accordance with certain aspects of the present disclosure.

[0052] [Figure 6A] FIG. 6A illustrates a plan view of an example configuration of a substrate processing tool in accordance with certain aspects of the present disclosure. [Figure 6B] FIG. 6B illustrates a top view of an example configuration of a substrate processing tool in accordance with certain aspects of the present disclosure. [Figure 6C] FIG. 6C illustrates a top view of an example configuration of a substrate processing tool in accordance with certain aspects of the present disclosure.

[0053] [Figure 7A] FIG. 7A illustrates a functional block diagram of a substrate processing system including various processing chambers in accordance with certain aspects of the present disclosure. [Figure 7B] FIG. 7B illustrates a functional block diagram of a substrate processing system including various processing chambers in accordance with certain aspects of the present disclosure. [Figure 7C] FIG. 7C illustrates a functional block diagram of a substrate processing system including various processing chambers in accordance with certain aspects of the present disclosure.

[0054] [Figure 7D]FIG. 7D illustrates an example of an edge bond ring in a processing chamber in accordance with certain aspects of the present disclosure.

[0055] [Figure 8A] FIG. 8A illustrates a high-level architecture of a computer vision system in accordance with certain aspects of the present disclosure.

[0056] [Figure 8B] FIG. 8B illustrates a client-server architecture for implementing systems and methods according to certain features of the present disclosure. [Figure 8C] FIG. 8C illustrates a client-server architecture for implementing systems and methods according to certain features of the present disclosure. [Figure 8D] FIG. 8D illustrates a client-server architecture for implementing systems and methods according to certain features of the present disclosure.

[0057] [Figure 9A] FIG. 9A illustrates an example of a placement location within a tool for a camera used in a computer vision system in accordance with certain features of the present disclosure. [Figure 9B] FIG. 9B illustrates an example of a placement location within a tool for a camera used in a computer vision system in accordance with certain features of the present disclosure. [Figure 9C] FIG. 9C illustrates an example of a placement location within a tool for a camera used in a computer vision system in accordance with certain features of the present disclosure. [Figure 9D] FIG. 9D illustrates an example of a placement location within a tool for a camera used in a computer vision system in accordance with certain features of the present disclosure. [Figure 9E] FIG. 9E illustrates an example of a placement location within a tool for a camera used in a computer vision system in accordance with certain features of the present disclosure. [Figure 9F] FIG. F illustrates an example of a placement location within a tool for a camera used in a computer vision system in accordance with certain features of the present disclosure.

[0058] [Figure 10A] FIG. 10A shows a schematic example of components located in a load lock in a tool as viewed by one of the cameras shown in FIGS. 9A-9F.

[0059] [Figure 10B] FIG. 10B illustrates a two camera arrangement for capturing a three-dimensional image in accordance with certain features of the present disclosure.

[0060] [Figure 11] FIG. 11 illustrates an example block diagram of a computer vision system implemented using the client-server architecture of FIGS. 8B-8D and using the camera arrangements shown in FIGS. 9A-9F.

[0061] [Figure 12A] FIG. 12A illustrates an example flowchart of a method for training various models using machine learning based on images captured by a computer vision system from various tools. [Figure 12B] FIG. 12B illustrates an example flowchart of a method for training various models using machine learning based on images captured by a computer vision system from various tools. [Figure 12C] FIG. 12C illustrates an example flowchart of a method for training various models using machine learning based on images captured by a computer vision system from various tools. [Figure 12D] FIG. 12D illustrates an example flowchart of a method for training various models using machine learning based on images captured by a computer vision system from various tools. [Figure 12E] FIG. 12E illustrates an example flowchart of a method for training various models using machine learning based on images captured by a computer vision system from various tools. [Figure 12F]FIG. 12F illustrates an example flowchart of a method for training various models using machine learning based on images captured by a computer vision system from various tools.

[0062] [Figure 13A] FIG. 13A illustrates an example flowchart of a method performed by a tool using a trained model based on images captured during manufacturing. [Figure 13B] FIG. 13B illustrates an example flowchart of a method performed by a tool using a trained model based on images captured during manufacturing. [Figure 13C] FIG. 13C illustrates an example flowchart of a method performed by a tool using a trained model based on images captured during manufacturing. [Figure 13D] FIG. 13D illustrates an example flowchart of a method performed by a tool using a trained model based on images captured during manufacturing. [Figure 13E] FIG. 13E illustrates an example flowchart of a method performed by a tool using a trained model based on images captured during manufacturing. [Figure 13F] FIG. 13F illustrates an example flowchart of a method performed by a tool using a trained model based on images captured during manufacturing.

[0063] [Figure 14A] FIG. 14A illustrates an example flowchart of an additional model-based method implemented for improving tool operation using a computer vision system according to certain aspects of the present disclosure. [Figure 14B] FIG. 14B illustrates an example flowchart of an additional model-based method implemented for improving tool operation using a computer vision system according to certain aspects of the present disclosure. [Figure 14C] FIG. 14C illustrates an example flowchart of an additional model-based method implemented for improving tool operation using a computer vision system according to certain aspects of the present disclosure. [Figure 14D]FIG. 14D illustrates an example flowchart of an additional model-based method implemented for improving tool operation using a computer vision system according to certain aspects of the present disclosure. [Figure 14E] FIG. 14E illustrates an example flowchart of an additional model-based method implemented to improve tool operation using a computer vision system according to certain aspects of the present disclosure. [Figure 14F] FIG. 14F illustrates an example flowchart of an additional model-based method implemented for improving tool operation using a computer vision system according to certain aspects of the present disclosure. [Figure 14G] FIG. 14G illustrates an example flowchart of an additional model-based method implemented for improving tool operation using a computer vision system according to certain aspects of the present disclosure. [Figure 14H] FIG. 14H illustrates an example flowchart of an additional model-based method implemented for improving tool operation using a computer vision system according to certain aspects of the present disclosure. [Figure 14I] FIG. 14I illustrates an example flowchart of an additional model-based method implemented for improving tool operation using a computer vision system according to certain aspects of the present disclosure.

[0064] [Figure 15A] FIG. 15A illustrates an example flowchart of a method for generating, training, and validating a model. [Figure 15B] FIG. 15B illustrates an example flowchart of a method for generating, training, and validating a model. [Figure 15C] FIG. 15C illustrates an example flowchart of a method for generating, training, and validating a model.

[0065] [Figure 16A] FIG. 16A is an illustration of an example recurrent neural network used to generate the model. [Figure 16B] FIG. 16B is an illustration of an example recurrent neural network used to generate the model.

[0066] [Figure 17A] FIG. 17A illustrates an example of a system configured to perform auto-configuration, auto-error detection, and error recovery in the substrate processing system illustrated in FIGS. 1-6C.

[0067] [Figure 17B] FIG. 17B is a diagram of an example tool that may be used in the substrate processing system of FIG. 17A, showing cameras positioned at various locations within the tool.

[0068] [Figure 17C] FIG. 17C illustrates a flow chart of an exemplary method for performing auto-configuration of a substrate processing system using the system of FIG. 17A.

[0069] [Figure 17D] FIG. 17D illustrates a flow chart of an exemplary method for performing automatic error recovery in a substrate processing system using the system of FIG. 17A.

[0070] [Figure 18A] FIG. 18A illustrates an example of a system for performing stereo image processing using a single camera in accordance with certain aspects of the present disclosure. [Figure 18B] FIG. 18B illustrates an example of a system for performing stereo image processing using a single camera in accordance with certain aspects of the present disclosure. [Figure 18C] FIG. 18C illustrates an example of a system for performing stereo image processing using a single camera in accordance with certain aspects of the present disclosure. [Figure 18D] FIG. 18D illustrates an example of a system for performing stereo image processing using a single camera in accordance with certain aspects of the present disclosure.

[0071] [Figure 18E]FIG. 18E illustrates a flow chart of an example method for performing stereo image processing using a single camera in accordance with certain aspects of the present disclosure.

[0072] In the drawings, reference numbers may be reused to represent similar and / or identical elements.

[0073] The present disclosure relates to systems and methods for capturing images of substrates, such as semiconductor wafers (hereafter wafers), and images of the surrounding equipment portions where the wafers are temporarily parked as they are transferred between process modules and / or tools (e.g., in an airlock). These images are processed for feature recognition and extraction. These images are captured and processed over a period of time to generate data that is used in training various models by machine learning. The trained models are then used to determine the health of process modules, tools, and their components, and to adapt process modules and tools in real time to improve throughput, yield, and on-wafer processing quality.

[0074] The system and method complement the various sensors, computer vision algorithms, and feedback mechanisms typically used to determine the health of process modules and tools and to recommend actions to improve tool control and throughput, yield, and on-wafer processing quality. The system and method continuously learns using continuously captured images. The system and method automates the performance of some of the preventative and corrective tasks that typically require human intervention. The system and method monitors tool operation across a fleet in a semiconductor manufacturing facility and provides feedback for the autonomous control of tools.

[0075] The computer vision system of the present disclosure comprises detectors and / or sensors, such as cameras, and further comprises image processing algorithms, perception algorithms, sensor fusion algorithms, models learned by machine learning, and closed-loop control algorithms. It is understood that throughout this disclosure, cameras are used only as an example of detectors / sensors, and any other detectors / sensors may be used instead. The computer vision system of the present disclosure can be used as a replacement system for expensive and time-consuming metrology equipment and processes typically used to inspect wafers and tools and diagnose problems in process modules and tools throughout the fleet. The computer vision system of the present disclosure uses closed-loop algorithms in automating tool control. Moreover, the computer vision system performs these processes and many of the tasks described below more effectively than humans and metrology systems. These and other features of the present disclosure are described in detail below. composition

[0076] This disclosure is organized as follows. First, numerous examples of substrate processing tools, their configurations, and processing chambers used therein are illustrated and described with reference to Figures 1-7D. These figures and corresponding descriptions are provided to illustrate the various processes that may be performed on different wafers and the various paths that the wafer travels between different chambers and tools. Additionally, these figures are provided to illustrate the complexity, variety, and extensibility of data that is typically collected from various sensors within the chambers and tools, and that is used to diagnose, correct, and prevent problems, as well as perform various adjustments, calibrations, and preventative maintenance procedures within the chambers and tools.

[0077] The systems and methods of the present disclosure can operate independently or in conjunction with these sensors and the data collected therefrom to significantly improve the diagnostic, corrective, and preventative procedures performed within the chambers and tools. These diagrams provide insight into the operation of the chambers and tools and facilitate understanding of the scope of operations performed by the systems and methods of the present disclosure.

[0078] FIG. 8A illustrates a high level architecture of a computer vision system in accordance with certain features of the present disclosure. FIGS. 8B-8D illustrate an example client-server architecture that may be used to implement the systems and methods of the present disclosure. FIGS. 9A-9F illustrate example locations where one or more detectors, such as cameras, in a computer vision system of the present disclosure may be located within a tool. FIG. 10A illustrates a schematic of a component located within a load lock within a tool that may be imaged by one of the cameras shown in FIGS. 9A-9F. FIG. 10B illustrates an arrangement of at least two cameras for capturing a three-dimensional image of the component shown in FIG. 10A. FIG. 11 illustrates an example of a computer vision system implemented using the client-server architecture of FIGS. 8A-8D and the camera arrangement shown in FIGS. 9A-9F.

[0079] 12A-12F show examples of methods for training various models using machine learning based on images captured by a computer vision system from various tools. FIGs. 13A-13F show examples of methods performed using trained models based on images captured in real time (i.e., on the fly or while the tool is being used for wafer processing during production). FIGs. 14A-14I show additional examples of model-based methods performed using a computer vision system for tool operation improvement. FIGs. 15A-16B show examples of methods for training models using machine learning.

[0080] Figures 17A-17D show an example system and method for performing auto-configuration, auto-error detection, and error recovery in the substrate processing system shown in Figures 1-6C. Figures 18A-18E show an example system and method for performing stereo image processing using a single camera. Tool examples

[0081] 1 is a top view of an example of a substrate processing tool 100. The substrate processing tool 100 includes multiple process modules 104. By way of example only, each of the process modules 104 may be configured to individually perform one or more processes on a substrate. A substrate to be processed is loaded into the substrate processing tool 100 via a port in a loading station of an Equipment Front End Module (EFEM) 108 and then transferred to one or more of the process modules 104. For example, a substrate may be loaded into each of the process modules 104 sequentially.

[0082] FIG. 2 illustrates an example configuration 200 of a fabrication room 204 that includes multiple substrate processing tools 208, such as substrate processing tool 100. FIGS. 3A-3I illustrate various example configurations in which multiple substrate processing tools 208, such as substrate processing tool 100, may be arranged. In these examples, the wafers move through various paths, and therefore the configurations and operation of the robots used to transport the wafers through these paths also vary. Additionally, in these examples, various sensors are used to sense various aspects of the robots and wafers. Additionally, in these examples, one or more detectors, such as cameras of a computer vision system, may be located anywhere, as will be described in more detail with reference to FIGS. 9A-11.

[0083] 3A illustrates a first example configuration 300 including a first substrate processing tool 304 and a second substrate processing tool 308, according to certain embodiments of the present disclosure. The first substrate processing tool 304 and the second substrate processing tool 308 are arranged consecutively and connected by a transfer stage 312 under vacuum. As shown, the transfer stage 312 includes a pivoting transfer mechanism configured to transfer substrates between a vacuum transfer module (VTM) 316 of the first substrate processing tool 304 and a VTM 320 of the second substrate processing tool 308. In other examples, the transfer stage 312 may include other suitable transfer mechanisms, such as a linear transfer mechanism.

[0084] By way of example only, a first robot (not shown) of the VTM 316 can place a substrate on the support 324 located at a first position, the support 324 is pivoted to a second position, and a second robot (not shown) of the VTM 320 retrieves the substrate from the support 324 at the second position. In some examples, the second substrate processing tool 308 may include a storage buffer 328 configured to store one or more substrates between the processing stages. The transport mechanism may also be stacked to provide two or more transport systems between the substrate processing tools 308 and 304. The transport stage 324 may also have multiple slots for transferring or buffering multiple substrates at once. In the configuration 300, the first substrate processing tool 304 and the second substrate processing tool 308 are configured to share a single front-end equipment module (EFEM) 332.

[0085] 3B illustrates a second example configuration 400 including a first substrate processing tool 404 and a second substrate processing tool 408 arranged consecutively and connected by a transfer stage 412. Configuration 400 is similar to configuration 300 of FIG. 3A, except that the EFEM is omitted. Thus, a substrate can be loaded (e.g., using a storage or transport carrier such as a vacuum wafer carrier, a Front Opening Unified Pod (FOUP), or the like, or other suitable mechanism) directly into the first substrate processing tool 408 via an airlock loading station 416. The placement of sensors and cameras in this configuration may correspondingly differ from configuration 300.

[0086] 3C illustrates a third example configuration 500 including a substrate processing tool 504. In configuration 500, the EFEM is eliminated and only a single loading station 508 is used, allowing for a larger number (e.g., seven) of process modules 512. At the loading station 508, substrates can be loaded (e.g., using a vacuum wafer carrier, a storage or transport pod such as a Front Opening Unified Pod (FOUP), or the like, or other suitable mechanism) directly into the second substrate processing tool 408 via an airlock loading station 416. Thus, the placement of sensors and cameras in this configuration may correspondingly differ from configurations 300 and 400.

[0087] 3D illustrates a fourth example configuration 600 including a first substrate processing tool 604 and a second substrate processing tool 608 sharing a single EFEM 612. More specifically, the first substrate processing tool 604 and the second substrate processing tool 608 are connected to respective ends of the EFEM 612 via respective loading stations 616 and 620. The loading stations 616 and 620 may each have a stacked configuration that may include suitable sensors and cameras.

[0088] 3E illustrates a fifth example configuration 700 including a first substrate processing tool 704 and a second substrate processing tool 708 sharing a single EFEM 712. The first substrate processing tool 704 and the second substrate processing tool 708 are connected to respective ends of the EFEM 712 via respective loading stations 716 and 720. The loading stations 716 and 720 may each have a stacked configuration that may include suitable sensors and cameras.

[0089] FIG. 3F illustrates a sixth example configuration 800 including one or more rows of substrate processing tools 804, 808, etc., arranged in series. In the configuration 800, each row may include three or more substrate processing tools connected via a respective transport stage 812. The transport stage 812 may include a pivoting transport mechanism, a linear transport mechanism, etc. A first EFEM 816 is provided at a first end of the row of substrate processing tools 804, 808, and a second EFEM 820 is provided at a second end of the row of substrate processing tools 804, 808. For example, a substrate may be loaded into the first EFEM 816, processed and transported sequentially through various process modules of the substrate processing tools 804, 808, and then unloaded / recovered from the second EFEM 820. In some examples, the transport mechanisms within the transport stage 812 may be stacked vertically to provide two or more transport systems between adjacent substrate processing tools. The transfer stage 812 may also have multiple slots for moving or buffering multiple substrates at once. As will be appreciated, the placement of sensors and cameras in configuration 800 may differ from the placement of sensors in other configurations.

[0090] 3G illustrates a seventh example configuration 900 including a substrate processing tool 904. In configuration 900, the substrate processing tool 904 includes, for example, eight process modules 908, and both the EFEM and any external loading station are omitted. Instead, one or more transfer carriers (e.g., vacuum wafer carriers) 912 are provided in an interior 916 of the substrate processing tool 904. For example, the carriers 912 may be transferred from above the substrate processing tool 904 using an automated transfer system, such as an Automated Material Handling System (AMHS). A robot 920 retrieves the substrate from the carrier 912 and transports it to the process module 908. As will be appreciated, the arrangement of sensors and cameras in configuration 900 may differ from that of other configurations.

[0091] 3H illustrates an eighth example configuration 1000 including a substrate processing tool 1004 having multiple process modules 1008. The substrate processing tool 1004 includes a linear VTM 1012 and a robot 1016 configured to transfer substrates between the EFEM 1020 and the process modules 1008. The VTM 1012 is configured to adjust the linear position of the robot 1016 relative to the process modules 1008 (i.e., the end-to-end position of the robot 1016 relative to the VTM 1012).

[0092] 3I illustrates a ninth example configuration 1100 that includes a substrate processing tool 1104. The substrate processing tool 1104 includes a cluster configuration of process modules 1108 and an optional end process module 1112. The process modules 1108 share a single EFEM 1116. Again, the placement of sensors and cameras in configurations 1000 and 1100 may differ from the other configurations.

[0093] In some examples, any of the processing tools described herein can implement a loading station having a stacked configuration, for example, loading stations 508, 716, 720, etc., shown in Figures 3C and 3E can implement a stacked configuration. In other words, in a stacked configuration, one loading station can include two or more loading stations stacked vertically. In some examples, the stacked configuration can also include a process module or chamber (such as an Integrated Critical Strip (ICS) chamber) stacked vertically with one or more loading stations. According to certain embodiments, additional sensors and cameras can be used in these stacked configurations. Adding a tool example

[0094] 4 is a top view of yet another example of a substrate processing tool 1150. The substrate processing tool 1150 includes multiple process modules 1154. For example, each of the process modules 1154 may be configured to individually perform one or more processes on a substrate. A substrate to be processed is loaded into the substrate processing tool 1150 via a port in a loading station of an Atmosphere-To-Vacuum (ATV) transfer module, such as an Equipment Front End Module (EFEM) 1158, and then transferred to one or more process modules 1154. For example, a transfer robot 1162 is arranged to transfer the substrate from the loading station 1166 to an airlock or loadlock 1170, and a vacuum transfer robot 1178 of a vacuum transfer module 1174 is arranged to transfer the substrate from the loadlock 1170 to the various process modules 1154.

[0095] For example, an equipment front-end module (EFEM) of a substrate processing tool may include one or more transfer robots for transferring substrates between the EFEM and a load lock located between the EFEM and a vacuum transfer module (VTM). The interior volume of the EFEM must be sufficient to accommodate the transfer robots. As such, the load lock is typically located outside the footprint of the equipment front-end module (EFEM) between the EFEM and the VTM. In some examples, the EFEM may include a transfer robot having a configuration that allows an airlock to be located at least partially within the EFEM. The fabrication chamber 204 shown in FIG. 2 may include multiple substrate processing tools 1150.

[0096] 5A-6C show various example configurations in which multiple substrate processing tools, such as substrate processing tool 1150, may be arranged. In these examples, the wafers move through various paths, and therefore the configurations and operation of the robots used to transport the wafers through these paths are also various. Additionally, in these examples, various sensors are used to sense various aspects of the robots and the wafers. Additionally, in these example configurations, one or more detectors, such as cameras of a computer vision system, may be located anywhere, as will be described in more detail with reference to FIGS. 9A-11.

[0097] 5A-5D show plan views of example configurations of a first substrate processing tool 1200-1, a second substrate processing tool 1200-2, and a third substrate processing tool 1200-3 (collectively referred to as substrate processing tools 1200). Each substrate processing tool 1200, similar to the substrate processing tool 1150, includes an enhanced front end equipment module (EFEM) 1204 configured to house at least a portion of a load lock 1208. In other words, the load lock 1208 extends into the interior of the EFEM 1204, rather than being located outside the EFEM 1204 in a gap between the EFEM 1204 and a vacuum transfer module (VTM) 1212.

[0098] Thus, the EFEM 1204 can be positioned closer to the VTM 1212, reducing the overall footprint and increasing the pitch of the substrate processing tool 1200. For example, the transfer robot 1216 of the EFEM 1204 can be positioned closer to the loading station 1220 on the front wall (e.g., a first side) than the back wall 1224 (e.g., a second side) of the EFEM 1204 to provide space for the load lock 1208 to extend into the interior of the EFEM 1204. In some examples, the load lock 1208 can be configured as shown in the alternative configuration of the substrate processing tool 1200-3 in FIG. 5D. By way of example only, the loading station 1220 can accommodate a front opening unified pod (FOUP).

[0099] As shown, the substrate processing tool 1200 includes six process modules 1228. However, other configurations of the substrate processing tool 1200 may include more than six process modules 1228. For example, the length of the VTM 1212 may be extended to accommodate the additional process modules 1228. Similarly, the VTM 1212 may include vacuum transfer robots 1232 having various configurations. For example, the substrate processing tool 1200-1 includes three vacuum transfer robots 1232 and the substrate processing tool 1200-2 includes two vacuum transfer robots 1232. In the substrate processing tools 1200-1 and 1200-2, the robots 1232 are aligned with the central longitudinal axis of the VTM 1212.

[0100] Conversely, the substrate processing tool 1200-3 includes a single vacuum transfer robot 1232 that is positioned off-center (i.e., shifted right or left toward the process module 1228) relative to the central longitudinal axis of the VTM 1212. In other words, the primary pivot point of the robot 1232 in the substrate processing tool 1200-3 is off-center. Although the robots 1216 and 1232 are illustrated as having one or two arms, respectively, the robots 1216 and 1232 may be configured to include one, two, or more arms. In some examples, the robot 1232 may include two end effectors 1234 on each arm, as shown in FIGS. 5C and 5D.

[0101] The substrate processing tool 1200 may include one or more storage buffers 1236 configured to store one or more substrates between processing stages. In some examples, one or more storage buffers 1240 may be located within the VTM 1212. In some examples, one or more of the storage buffers 1236 may be replaced by a process module or other component.

[0102] In some examples, one or more of the EFEM 1204, the load locks 1208, the VTMs 1212, and the process modules 1228 may have a stacked configuration. For example, an individual process module 1228 may correspond to two process modules 1228 in a vertically stacked configuration (i.e., one process module 1228 is disposed above / below the other), a VTM 1212 may correspond to two VTMs 1212 in a vertically stacked configuration, an individual load lock 1208 may correspond to two load locks 1208 in a vertically stacked configuration, and an individual loading station 1220 may correspond to two loading stations 1220 in a vertically stacked configuration. The height of the EFEM 1204 may be increased to allow the robot 1216 to rise and fall to different levels within the EFEM 1204 and access multiple levels of the loading stations 1220 and the load locks 1208. As will be appreciated, the placement of sensors and cameras in these configurations may vary depending on the configuration.

[0103] 6A-6C show plan views of an example configuration of another substrate processing tool 1600. The substrate processing tool 1600 includes an enhanced front end equipment module (EFEM) 1604 configured to house at least a portion of one or more load locks 1608. In other words, the load locks 1608 extend into the interior of the EFEM 1604, rather than being located completely outside the EFEM 1604 in a gap between the EFEM 1604 and a vacuum transfer module (VTM) 1612. Thus, the EFEM 1604 can be located closer to the VTM 1612, reducing the overall footprint and increasing the pitch of multiple substrate processing tools 1600.

[0104] As shown, the substrate processing tool 1600 includes ten process modules 1616. However, other configurations of the substrate processing tool 1600 may include more than ten process modules 1616. For example, the length of the VTM 1612 may be extended to accommodate the additional process modules 1616. Similarly, the VTM 1612 may include one or more vacuum transfer robots 1620 (e.g., transfer robots 1620-1, 1620-2, 1620-3, 1620-4, and 1620-5) having various configurations. As shown in FIG. 6A, the transfer robot 1620 includes one arm 1624 having three arm segments 1628 and one end effector 1632 in each configuration. In other configurations, the transfer robot 1620 may include one, two, or more arms 1624. In some examples, the robot 1620 may include two end effectors 1632 on each arm 1624.

[0105] 6A, the substrate processing tool 1600 includes a single vacuum transfer robot 1620-1 that is positioned off-center (i.e., shifted right or left toward the process module 1616) relative to the central longitudinal axis of the VTM 1612. In other words, the primary pivot point of the robot 1620-1 is off-center. The robot 1620-1 is positioned and configured to access each of the ten process modules 1616 and the load locks 1608. In a configuration in which the substrate processing tool 1600 includes a storage buffer 1636 and / or a storage buffer 1640, the robot 1620-1 is also configured to access the storage buffers 1636 / 1640.

[0106] 6B and 6C, the substrate processing tool 1600 includes two vacuum transfer robots 1620-2 and 1620-3, or 1620-4 and 1620-5, respectively, positioned off-center (i.e., shifted to the right or left toward the process modules 1616) relative to the central longitudinal axis of the VTM 1612. The robots 1620-2 and 1620-4 are positioned and configured to access selected ones of the ten process modules 1616 and load locks 1608. Conversely, the robots 1620-3 and 1620-5 are positioned and configured to access other ones of the ten process modules 1616. In a configuration in which the substrate processing tool 1600 includes storage buffer 1636 and / or storage buffer 1640, robots 1620-3 and 1620-5 may also be configured to access storage buffer 1636, while both robots 1620-2 and 1620-3 in FIG. 6B and both robots 1620-4 and 1620-5 in FIG. 6C are configured to access storage buffer 1640.

[0107] For example, as shown in Figure 6B, robot 1620-2 is aligned with each of the process modules 1616 (e.g., centered on its horizontal axis), while robot 1620-3 is centered between adjacent process modules 1616. Conversely, as shown in Figure 6C, individual robots 1620-4 and 1620-5 are aligned with each of the process modules 1616. As will be recognized, the placement of sensors and cameras in these configurations may vary depending on the configuration. Chamber Example

[0108] 7A-7C show different examples of process modules (PMs) that can be used in the tools shown in FIGS. 1-6C. These process chambers may also be equipped with a separate camera or cameras in addition to the computer vision system cameras. These cameras, installed outside the PM windows, are rather used for monitoring inside the PM. These cameras, not shown, are some of the sensors typically used to sense the various operations of the PM and the tool. The computer vision system works in conjunction with these sensors and cameras as described below with reference to FIGS. 9A-11. The controllers shown in FIGS. 7A-7C can communicate with the computer vision system and may operate the respective PMs based on the data received from the computer vision system as described below with reference to FIGS. 9A-11.

[0109] 7A illustrates an example of a substrate processing system 1700 that includes a process chamber 1702. Although the example is described in the context of plasma enhanced chemical vapor deposition (PECVD), the teachings of the present disclosure are applicable to other types of substrate processing, such as atomic layer deposition (ALD), plasma enhanced ALD (PEALD), CVD, or other processes including etch processes. The system 1700 includes a process chamber 1702 that surrounds other components of the system 1700 and has a radio frequency plasma (if used). The process chamber 1702 includes an upper electrode 1704 and an electrostatic chuck (ESC) 1706 or other substrate support. During operation, a substrate 1708 is positioned on the ESC 1706.

[0110] For example, the upper electrode 1704 may include a gas distribution device 1710, such as a showerhead, for introducing and distributing process gases. The gas distribution device 1710 may include a stem with one end connected to the top surface of the processing chamber 1702. The base portion of the showerhead is generally cylindrical and extends radially outward from the opposite end of the stem at a location spaced from the top surface of the processing chamber 1702. The surface of the showerhead base portion that faces the substrate, or faceplate, includes a number of holes through which vaporized precursors, process gases, or purge gases pass. Alternatively, the upper electrode 1704 may include a conductive plate, and the process gases may be introduced in another manner.

[0111] The ESC 1706 includes a base plate 1712 that acts as a bottom electrode. The base plate 1712 supports a heating plate 1714, which may correspond to a ceramic multi-zone heating plate. A thermally resistive layer 1716 may be disposed between the heating plate 1714 and the base plate 1712. The base plate 1712 may include one or more channels 1718 for flowing coolant through the base plate 1712.

[0112] If a plasma is used, an RF generating system 1720 generates and outputs an RF voltage to one of the upper electrode 1704 and the lower electrode (e.g., the base plate 1712 of the ESC 1706). The other of the upper electrode 1704 and the base plate 1712 may be DC grounded, AC grounded, or ungrounded. For example, the RF generating system 1720 may include an RF generator 1722 that generates RF power that is supplied to the upper electrode 1704 or the base plate 1712 by a match and distribution network 1724. In other examples, the plasma may be generated inductively or remotely.

[0113] Gas delivery system 1730 includes one or more gas sources 1732-1, 1732-2, ... 1732-N (collectively referred to as gas sources 1732, where N is an integer greater than 0). Gas sources 1732 are connected to manifold 1740 by valves 1734-1, 1734-2, ... 1734-N (collectively referred to as valves 1734), as well as mass flow controllers 1736-1, 1736-2, ... 1736-N (collectively referred to as mass flow controllers 1736). Vapor delivery system 1742 delivers vaporized precursors to manifold 1740, or to another manifold (not shown), connected to process chamber 1702. The output of manifold 1740 is provided to process chamber 1702.

[0114] The temperature controller 1750 can be connected to a number of thermal control elements (TCEs) 1752 disposed within the heating plate 1714. The temperature controller 1750 can be used to control the number of TCEs 1752 to control the temperature of the ESC 1706 and the substrate 1708. The temperature controller 1750 can be in communication with a coolant assembly 1754 to control the flow of coolant through the channels 1718. For example, the coolant assembly 1754 can include a coolant pump, a reservoir, and one or more temperature sensors (not shown). The temperature controller 1750 operates the coolant assembly 1754 to selectively flow coolant through the channels 1718 to cool the ESC 1706. The valves 1756 and pumps 1758 can be used to evacuate reactants from the processing chamber 1702. A system controller 1760 controls the components of the system 1700.

[0115] 7B illustrates another example of a substrate processing system 1800. The substrate processing system 1800 includes a coil driver circuit 1811. In some examples, the coil driver circuit 1811 includes an RF source 1812, a pulse circuit 1814, and a tuning circuit (i.e., matching circuit) 1813. The pulse circuit 1814 controls a transformer-coupled plasma (TCP) envelope of the RF signal generated by the RF source 1812, and varies the duty cycle of the TCP envelope between 1% and 99% during operation. As will be appreciated, the pulse circuit 1814 and the RF source 1812 may be combined or may be separate components.

[0116] The tuning circuitry 1813 may be directly connected to the induction coil 1816. The substrate processing system 1810 uses a single coil, although some substrate processing systems use multiple coils (e.g., an inner coil and an outer coil). The tuning circuitry 1813 tunes the output of the RF source 1812 to a desired frequency and / or a desired phase and matches the impedance of the coil 1816.

[0117] The dielectric window 1824 is disposed along an upper surface of the processing chamber 1828. The processing chamber 1828 includes a substrate support (or pedestal) 1832 for supporting a substrate 1834. The substrate support 1832 may include an electrostatic chuck (ESC), a mechanical chuck, or other types of chucks. A process gas is supplied to the processing chamber 1828 and a plasma 1840 is generated inside the processing chamber 1828. The plasma 1840 etches the exposed surface of the substrate 1834. In operation, an RF source 1850, a pulse circuit 1851, and a bias matching circuit 1852 can be used to bias the substrate support 1832 and control the ion energy.

[0118] A process gas mixture can be supplied to the processing chamber 1828 using a gas supply system 1856. The gas supply system 1856 can include a process inert gas source 1857, a gas metering system 1858 such as valves and mass flow controllers, and a manifold 1859. A gas injector 1863 can be positioned at the center of the dielectric window 1824 and is used to inject the gas mixture from the gas supply system 1856 into the processing chamber 1828. Additionally or alternatively, the gas mixture can be injected from the side of the processing chamber 1828.

[0119] A heater / chiller 1864 can be used to heat / cool the substrate support 1832 to a predetermined temperature. An exhaust system 1865 includes valves 1866 and pumps 1867 for controlling the pressure within the process chamber and / or for removing reactants from the process chamber 1828 by purging or vacuum degassing.

[0120] The etching process can be controlled using a controller 1854. The controller 1854 monitors system parameters and controls the delivery of gas mixture, plasma generation, maintenance, and extinguishing, reactant removal, cooling gas delivery, etc. The controller 1854 may also control various aspects of the coil driver 1810, the RF source 1850, the bias matching circuit 1852, etc., as described below.

[0121] 7C illustrates a processing chamber 1900 for etching a layer of a substrate. The processing chamber 1900 includes a lower chamber region 1902 and an upper chamber region 1904. The lower chamber region 1902 is defined by a chamber sidewall 1908, a chamber bottom 1910, and a lower surface of a gas distribution apparatus 1914.

[0122] The upper chamber region 1904 is defined by a top surface of the gas distributor 1914 and an inner surface of a dome 1918. In some examples, the dome 1918 rests on a first annular support 1921. In some examples, the first annular support 1921 includes one or more spaced apart holes 1923 for supplying process gas to the upper chamber region 1904. In some examples, the process gas is supplied by the one or more spaced apart holes 1923 in an upward direction that is at an acute angle to a plane that includes the gas distributor 1914, although other angles / directions are possible. In some examples, a gas flow channel 1934 in the first annular support 1921 supplies gas to the one or more spaced apart holes 1923.

[0123] The first annular support 1921 may rest on a second annular support 1925 that defines one or more spaced apart holes 1927 for supplying process gas from a gas flow channel 1929 to the lower chamber region 1902. In some examples, the holes 1931 of the gas distributor 1914 are aligned with the holes 1927. In other examples, the gas distributor 1914 has a smaller diameter and the holes 1931 are not needed. In some examples, the process gas is supplied by the one or more spaced apart holes 1927 in a downward direction toward the substrate 1926 at an acute angle to a plane containing the gas distributor 1914, although other angles / directions may be possible. In other examples, the upper chamber region 1904 is cylindrical with a flat top surface and one or more flat inductive coils may be used. In still other examples, a single chamber may be used with a spacer disposed between the showerhead and the substrate support.

[0124] A substrate support 1922 is disposed within the lower chamber region 1904. In some examples, the substrate support 1922 includes an electrostatic chuck (ESC), although other types of substrate supports may be used, and during etching, a substrate 1926 is disposed on an upper surface of the substrate support 1922. In some examples, the temperature of the substrate 1926 may be controlled by a heater plate 1930, an optional cooling plate with fluid channels, and one or more sensors (not shown), although any other suitable substrate support temperature control system may be used.

[0125] In some examples, the gas distribution apparatus 1914 includes a showerhead (e.g., a plate 1928 with a plurality of spaced apart holes 1927) that extend from an upper surface of the plate 1928 to a lower surface of the plate 1928. In some examples, the spaced apart holes 1927 have a diameter of 0.4 inches to 0.75 inches (1.016 cm to 1.905 cm) and the showerhead is made of a conductive material, such as aluminum, or a non-conductive material, such as ceramic, with embedded electrodes made of a conductive material.

[0126] One or more induction coils 1940 are disposed around the exterior of the dome 1918. When energized, the one or more induction coils 1940 generate an electromagnetic field inside the dome 1918. In some examples, an upper coil and a lower coil are used. A gas injector 1942 injects one or more gas mixtures from a gas supply system 1950-1.

[0127] In some examples, gas supply system 1950-1 includes one or more gas sources 1952, one or more valves 1954, one or more mass flow controllers (MFCs) 1956, and a mixing manifold 158, although other types of gas supply systems may be used. A gas splitter (not shown) may be used to vary the flow rate of the gas mixture. Another gas supply system 1950-2 may be used to supply an etching gas or etching gas mixture (in addition to or instead of the etching gas from gas injector 1942) to gas flow channels 1929 and / or 1934.

[0128] In some examples, the gas injector 1942 includes a central injection position that directs gas in a downward direction and one or more side injection positions that inject gas at an angle to the downward direction. In some examples, the gas supply system 1950-1 delivers a first portion of the gas mixture at a first flow rate to the central injection position of the gas injector 1942 and provides a second portion of the gas mixture at a second flow rate to the side injection position of the gas injector 1942. In other examples, a different gas mixture is provided by the gas injector 1942. In some examples, the gas supply system 1950-1 provides a regulated gas to the gas flow channels 1929 and 1934 and / or elsewhere in the processing chamber, as described below.

[0129] A plasma generator 1970 can be used to generate RF power that is output to the one or more inductive coils 1940. A plasma 1990 is generated in the upper chamber region 1904. In some examples, the plasma generator 1970 includes an RF generator 1972 and a matching network 1974. The matching network 1974 matches the impedance of the RF generator 1972 to the impedance of the one or more inductive coils 1940. In some examples, the gas distributor 1914 is connected to a reference potential, such as by ground. Valves 1978 and pumps 1980 can be used to control the pressure within the lower chamber region 1902 and the upper chamber region 1904 and to evacuate reactants.

[0130] A controller 1976 communicates with gas supply systems 1950-1 and 1950-2, valves 1978, pumps 1980, and plasma generator 1970 to control the flow of process gases, purge gases, radio frequency plasma, and chamber pressure. In some examples, the plasma is maintained within the dome 1918 by one or more inductive coils 1940. One or more gas mixtures are introduced from the top of the chamber by gas injectors 1942 (and / or holes 1923), and the plasma is confined within the dome 1918 by gas distributor 1914.

[0131] Confining the plasma within the dome 1918 allows for volume recombination of plasma species to bleed out the desired etchant species through the gas distributor 1914. In some instances, there is no RF bias applied to the substrate 1926, so that there is no active sheath above the substrate 1926 and ions do not bombard the substrate with finite energy. Some amount of ions diffuse out of the plasma region through the gas distributor 1914, but the amount of diffused plasma is an order of magnitude less than the plasma located inside the dome 1918. Most of the ions in the plasma are lost through volume recombination under high pressure. Surface recombination losses at the top surface of the gas distributor 1914 also reduce the ion density below the gas distributor 1914.

[0132] In another example, an RF bias generator 1984 is provided and includes an RF generator 1986 and a matching network 1988. The RF bias can be used to generate a plasma between the gas distribution system 1914 and the substrate support or to generate a self-bias on the substrate 1926 to attract ions. A controller 1976 can be used to control the RF bias.

[0133] The edge bond ring can be used to adjust the etch rate and / or etch profile of the plasma near the outer radial edge of the substrate. The edge bond ring is typically located on a pedestal around the outer radial edge of the substrate. The process conditions at the outer radial edge of the substrate can be modified by changing the position of the edge bond ring, the shape or profile of the inner edge of the edge bond ring, the height of the edge bond ring relative to the top surface of the substrate, the material of the edge bond ring, etc.

[0134] 7D shows an example of an edge bond ring 1870 surrounding a pedestal 1871. The edge bond ring 1870 may include a single portion or two or more portions. In the example shown, the edge bond ring 1870 includes a first annular portion 1872 disposed radially outward of a substrate 1873. A second annular portion 1874 is disposed radially inward from the first annular portion 1872 and below the substrate 1873. A third annular portion 1876 is disposed below the first annular portion 1872. In use, a plasma 1875 is directed toward the substrate 1873 to etch exposed portions of the substrate 1873. The edge bond ring 1870 is positioned such that a plasma can be formed such that uniform etching of the substrate 1873 can be achieved. After use of edge coupling ring 1870, the upper surface of the radially inner portion of edge coupling ring 1870 may be eroded (e.g., at 1878), which may result in plasma 1875 tending to etch the radially outer edge of substrate 1873 at a faster rate than it etches the radially inner portion, which may result in uneven etching of substrate 1873 near the radially outer edge of substrate 1873.

[0135] One or more portions of the edge bond ring 1870 can be moved vertically and / or horizontally relative to the substrate or pedestal 1871. This movement changes the edge coupling effect of the plasma 1875 on the substrate 1873 during etching or other substrate processing without opening the processing chamber. The actuator 1880 can be positioned at various locations to move one or more portions of the edge bond ring 1870 relative to the substrate 1873. By way of example only, the actuator 1880 can be positioned between the first annular portion 1872 and the third annular portion 1876 of the edge bond ring 1870. In some examples, the actuator 1880 can include a piezoelectric actuator, a stepper motor, a pneumatic drive, or other suitable actuator. In some examples, one, two, three, four or more actuators are used. In other examples, multiple actuators can be evenly distributed around the edge bond ring 1870. The actuator can be positioned inside or outside the processing chamber.

[0136] The actuator 1880 is used to move one or more portions of the edge bond ring 60 to change the position of one or more portions of the edge bond ring 1870. For example, the actuator 1880 can be used to move the first annular portion 1872 of the edge bond ring 1870. In this example, the actuator 1880 moves the first annular portion 1872 of the edge bond ring 1870 upward or vertically such that the edge of the first annular portion 1872 of the edge bond ring 1870 is higher than the outer radial edge of the substrate 1873. As a result, the etch uniformity near the outer radial edge of the substrate 1873 is improved.

[0137] The actuators 1880 may move in other directions, such as horizontally, diagonally, etc. Horizontal movement of a portion of the edge bond ring 1870 may be performed to center the edge bond effect relative to the substrate 1873. For example, the actuators 1880 may be positioned radially outward of the edge bond ring 1870. Additionally, the actuators 1880 may move vertically (or up and down) and horizontally (or left and right). Horizontal repositioning may be used if the etching of the substrate indicates a horizontal offset of the edge bond ring 1870 relative to the substrate. The horizontal offset can be corrected without opening the process chamber. Similarly, the edge bond ring 1870 may be tilted by actuating some of the actuators differently than the others to correct or create a left-right asymmetry. Computer Vision System

[0138] As will be appreciated from the above description, there are various types of processes performed on various types of wafers, and the wafers are processed in process modules that are populated with tools having different configurations. Depending on the process being performed and the configuration of the tools, the wafers are often moved (i.e., transferred) between chambers and tools. Various types of data are collected from the chambers and tools using sensors placed at various locations within the chambers and tools. In addition, one or more detectors, such as cameras, may be positioned around the processing chamber to observe and provide additional data regarding various components within the processing chamber.

[0139] A wide range of computer vision detector (sensor) hardware can be used that can operate at different wavelengths (e.g., optical camera, IR camera, X-ray imaging, etc.), with different configurations (resolution, depth of field, aperture size, etc.), different lens types (e.g., field of view, focal length, filters, etc.), and different communication protocols (USB, MIPI, etc.). Also, various types of light sources and illumination configurations with different wavelengths can be used. Various techniques can be used in in-situ calibration of the camera, including checkerboard or patterned wafers, to account for lens distortion, camera mounting variations, illumination variations, etc. Data collected from the detectors and sensors is used to verify whether the process is running correctly, whether the process and / or components in the chamber / tool ​​need to be modified, whether preventive maintenance needs to be performed, whether components need to be replaced, etc.

[0140] A computer vision system according to certain embodiments of the present disclosure comprises one or more detectors, such as cameras, located at one or more locations within the tool (e.g., at the top of the tool's airlock, on a robot arm, on an aligner, etc.). These cameras are separate and in addition to the cameras often used to view the interior of the process modules. Instead, these cameras capture images of the wafers within the platform as they are transferred between the tool's process modules or tools.

[0141] For example, these cameras capture images of incoming and outgoing wafers, edge bond rings located in the airlock, ATM and VTM robot end effectors, and airlock finger pads. This allows for in-situ inspection of wafer handling systems, enabling tool self-awareness and fleet identification, as well as providing features for tool fit. Images collected by these cameras are processed on an embedded processor or external printed circuit board for feature extraction. The extracted features are sent to and collected in a fleet-wide distributed computing and communication system that can store big data coming from various tools in the factory, and machine learning is used to build and train models to correlate the data and determine tool health, fleet identification, and real-time closed-loop control of tools across the fleet.

[0142] In this manner, models trained using image processing techniques enable in-situ tool inspection and health monitoring of semiconductor equipment, and further enable real-time adaptability. It can be appreciated that such computer vision systems can enable autonomous operation and control of fleet-wide semiconductor tools by automating various maintenance, troubleshooting, and tool control tasks.

[0143] The computer vision system can provide many benefits. Below are some example applications. For example, a computer vision system can be used to monitor the robot end effector and airlock finger pads in the airlock, detect pad wear over time (e.g., changes in shape, size, color, etc.), predict when to replace the pads, and alert the user to replace the pads. For example, a computer vision system can be used to monitor the wafer edge to determine wafer placement accuracy in the airlock and potential drift over time. The observed drift over time can be used to determine the health of the ATM / VTM robot and recommend preventive maintenance schedules. Different wafer placement drift patterns / profiles observed over time can be correlated with different robot subsystem malfunctions to provide guidance to maintenance staff, reducing troubleshooting costs and time. For example, different types of edge detection algorithms can be used for the robot end effector position in the system.

[0144] For example, a computer vision system can be used to identify the type of incoming wafer (e.g., logic, memory, 3D NAND, etc.) by determining the die pattern on the wafer and correlate the tool health with the type of incoming wafer and the type of recipe used in the process module. For example, object detection algorithms can be used to identify the die pattern and different wafer type categories can be identified by analyzing the gray value histograms in different RGB channels. For example, a computer vision system can be used to monitor the color change over time of CWAC wafers and predict CWAC wafer replacement based thereon.

[0145] For example, a computer vision system can be used to monitor the thickness and edge profile of the edge bond ring in the airlock to determine if the edge bond ring being loaded is new or used. For example, a computer vision system can be used to monitor the thickness and edge erosion profile of the edge bond ring in the airlock to determine the condition of the edge bond ring being loaded. For example, a computer vision system can be used to determine the etch rate of a process module based on the change between the edge erosion profile of the edge bond ring being loaded or loaded. This data can be used to automatically adjust the recipe of the process module or automatically adjust the height of the edge bond ring above the chuck via the lift pins to provide tool-to-tool process module matching. Many other use cases are envisioned. environment

[0146] The following is a simplified example of a distributed computing environment in which the disclosed systems and methods may be implemented. Throughout the description, terms such as server, client device, application, etc. are used for reference purposes only. The terms server and client device should be broadly understood to represent a computing device with one or more processors and memory configured to execute machine-readable instructions. The terms application and computer program should be broadly understood to represent machine-readable instructions that may be executed by a computing device.

[0147] 8A illustrates a high-level architecture of a computer vision system 1770 according to the present disclosure. The computer vision system 1770 includes a number of fleets 1772-1, 1772-2, ... 1772-N (collectively referred to as fleets 1772) communicatively connected to a distributed computing system 1774. For example, the fleet of tools may be similar to the arrangement of tools in a manufacturing facility illustrated in FIG. 2. Each fleet 1772 includes one or more detectors (e.g., cameras) 1780, image processors 1782, perception algorithms 1784, controllers 1786, robots 1788, actuators 1790, and recipes 1792. An overview of the computer vision system 1770 is provided below. More details about the computer vision system 1770 are provided below with reference to FIG. 9A et al.

[0148] Briefly, detector 1780 captures images of various components of the tools in fleet 1772. Image processor 1784 processes the images. For example, image processor 1784 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformations, feature detection, depth estimation, etc.

[0149] According to certain embodiments, the distributed computing system 1774 comprises multiple servers (see, e.g., FIGS. 8B-8D and 11). The distributed computing system 1774 trains various models that can be used to automatically perform certain tasks within the fleet 1772. The distributed computing system 1774 trains the various models based on data collected over time from images from the fleet 1172. The distributed computing system 1774 trains the various models using perception algorithms, sensor fusion algorithms, and machine learning algorithms.

[0150] In use, during operation of the fleet 1772, image data is transmitted to the trained model in the distributed computing system 1774. In response, a controller 1786 in the fleet 1772 receives as input the output of the trained model in real time and automatically performs actions such as adjusting, cleaning, servicing, etc., of components of the tools in the fleet 1772, as described in further detail below. In some implementations, the controller 1786 may include an edge computing device.

[0151] 8B illustrates a simplified example of a distributed computing system 2000. The distributed computing system 2000 includes a distributed communication system 2010, one or more client devices 2020-1, 2020-2, ... 2020-M (collectively referred to as client devices 2020), and one or more servers 2030-1, 2030-2, ... 2030-N (collectively referred to as servers 2030), where M and N are integers equal to or greater than 1. The distributed communication system 2010 may include a local area network (LAN), a wide area network (WAN) such as the Internet, or other types of networks. The client devices 2020 and the servers 2030 may be located in different geographic locations and communicate with each other via the distributed communication system 2010. The client devices 2020 and the servers 2030 connect to the distributed communication system 2010 via wireless and / or wired connections.

[0152] The client device 2020 may include one or more tools, a system computer that controls the tool, a PM, and a controller that controls the PM. The client device 2020 may also include a smartphone, a personal digital assistant (PDA), a tablet, a laptop computer, a personal computer (PC), etc., used by an operator of the tool. The server 2030 may provide multiple services to the client device 2020. For example, the server 2030 may run software and machine learning applications developed by one or more vendors. The server 2030 may host multiple databases that are relied upon by the software applications in providing services to the user of the client device 2020. The server 2030 and databases may be hosted in the cloud, on-premise, or both.

[0153] In some examples, one or more of the client devices 2020 or the server 2030 execute one or more applications that process images captured by cameras installed on the tool. The applications also use machine learning methods to train one or more models based on data collected from the images. Additionally, these applications receive and analyze data from various sensors on the tool and PM. The applications also use the models to analyze the data collected from the images and sensors and perform various functions such as diagnosing and troubleshooting root causes of problems in the tool and PM, adjusting processes performed in the PM, and the like. The applications may be implemented as Software-as-a-Service (SaaS).

[0154] 8C illustrates a simplified example of a client device 2120-1. Client device 2120-1 may typically include one or more central processing units (CPUs), one or more graphical processing units (GPUs), and one or more tensor processing units (TPUs) (collectively illustrated as processors 2150), one or more input devices 2152 (e.g., a keypad, touchpad, mouse, touch screen, detectors or sensors such as a camera, etc.), a display subsystem 2154 including a display 2156, a network interface 2158, memory 2160, and mass storage 2162.

[0155] The network interface 2158 connects the client device 2120-1 to the distributed computing system 2000 via the distributed communication system 2110. For example, the network interface 2158 may include a wired interface (e.g., an Ethernet, EtherCAT, or RS-485 interface) and / or a wireless interface (e.g., a Wi-Fi, Bluetooth, Near Field Communication (NFC), or other wireless interface). The memory 2160 may include volatile or non-volatile memory, cache, or other types of memory. The mass storage 2162 may include flash memory, magnetic hard disk drives (HDDs), and other mass storage devices.

[0156] The processor 2150 of the client device 2120-1 executes an operating system (OS) 2164 and one or more client applications 2166. The client applications 2166 include applications that access the server 2130 via the distributed communication system 2110. The client applications 2166 may include applications executed by a system computer that controls the tool. The client applications 2166 may also include applications that process images captured by a camera mounted on the tool and applications that execute the Perceptron algorithm, the simplest type of artificial neural network. The Perceptron algorithm is a model of a single neuron that can be used for two-class classification problems and provides data for large-scale machine learning algorithms.

[0157] 8D illustrates a simplified example of a server 2130-1. The server 2130-1 typically includes one or more CPU / GPUs or processors 2170, a network interface 2178, memory 2180, and mass storage 2182. In some implementations, the server 2130-1 may be a general-purpose server and may include one or more input devices 2172 (e.g., a keypad, touchpad, mouse, etc.) and a display subsystem 2174 including a display 2176.

[0158] The network interface 2178 connects the server 2130-1 to the distributed communications system 2110. For example, the network interface 2178 may include a wired interface (e.g., an Ethernet or EtherCAT interface) and / or a wireless interface (e.g., Wi-Fi, Bluetooth, Near Field Communication (NFC), or other wireless interface). The memory 2180 may include volatile or non-volatile memory, a cache, or other types of memory. The mass storage 2182 may include flash memory, one or more magnetic hard disk drives (HDDs), and other mass storage devices.

[0159] The processor 2170 of the server 2130-1 executes one or more operating systems (OS) 2184 and one or more server applications 2186, which may be housed in a virtual machine hypervisor or containerized architecture with shared memory. The mass storage 2182 may store one or more databases 188 that store data structures used by the server applications 2186 to perform their respective functions. The server applications 2186 may include applications that process images captured by cameras installed on the tool, applications that run perceptron algorithms, applications that use machine learning methods to train one or more models based on data collected from the images, and sensor fusion applications that receive and analyze data from various sensors in the tool and PM. As described below, the camera data alone may not be enough to identify a problem with the tool. The sensor fusion applications and data from other sensors in the tool may be used in conjunction with the camera data to determine more details about the source and root cause of the problem. Server applications 2186 may include applications that use models to analyze data collected from images and sensors, determine the root cause of problems within the tool and PM, and use these data as feedback for closed-loop autonomous control of the tool, adjust processing running within the PM, etc., as described in more detail below. Block Diagram

[0160] 9A-9F show examples of cameras installed at various locations within the tool. By way of example only, in FIG. 9A, camera 2200 is positioned (facing down) over viewport 2202 of airlock lid 2204, with cover 2206 surrounding camera 2200 to block outside light. FIG. 9B shows cover 2206 installed around camera 2200. Additionally, airlock lid 2204 is provided with a series of receptacles 2208 for receiving fasteners for stacking one lid on top of another during servicing. FIG. 9C shows another camera 2210 that can be positioned over viewport 2212 on the side of the load lock. A portion of camera 2210 is shown as 2214. FIG. 9D shows a mount assembly 2216 used to mount camera 2210. Camera 2210 can be used as a replacement for camera 2200 or in combination with camera 2200.

[0161] Figures 9E and 9F show a schematic of a camera 2220 mounted on a robot 2222 with an on-board aligner as another example of camera placement within a tool. Figure 9E shows a side view of a robot 2222 with an on-board aligner. The camera 2220 can be positioned facing downwards on the aligner head as shown in Figure 9F.

[0162] It should be understood that the camera or cameras can be located anywhere in the path of wafer movement within the tool, and it should be further understood that these cameras are not cameras typically located adjacent to the PM to monitor the interior of the PM, nor are they associated with metrology equipment integrated with or external to the tool.

[0163] 10A shows a schematic diagram of a component monitored by camera 2200 located in the load lock of the tool. The vertical dotted line indicates that only the right side of the component is shown, with a symmetrical image of the component to the left of the dotted line. Airlock fingers 2300, 2302 include finger pads 2304, 2306, respectively. A wafer 2308 is transferred into the load lock by the robot and placed on finger pad 2304. The robot's end effector 2310 has pads 2312, and an edge bond ring 2314 is placed on pads 2316 located on the fingers 2300.

[0164] A camera 2200 located on the airlock lid takes images (photos) of the wafer 2308 and edge bond ring 2314, and the camera 2200 also takes images of the pads 2304, 2306, 2312, 2316 when the wafer 2308 is not present in the loadlock. For example, in addition to taking images of the surfaces of the wafer 2308 and edge bond ring 2314, the camera 2200 takes images of the outer diameter (OD) of the wafer 2308, the inner diameter (ID) of the edge bond ring 2314, the robot end effector 2310, and the pads 2304, 2306, 2312, 2316.

[0165] FIG. 10B illustrates a camera configuration for capturing a three-dimensional image of the components shown in FIG. 10A. In stereo applications requiring a three-dimensional image (e.g., to obtain a complete three-dimensional image of the edge-coupled ring), one or more cameras are required to obtain depth information. An example arrangement including at least two cameras (e.g., cameras 2200 and 2201) as shown provides the depth information required to obtain a complete three-dimensional image for such stereo applications. In another implementation, stereo imaging using only one camera may be used to create a three-dimensional point cloud of the thickness profile of the edge-coupled ring, as described below with reference to FIG. 18.

[0166] FIG. 11 illustrates a computer vision system 2400 that processes images captured by one or more cameras 2402 (e.g., elements 2200, 2201, and 2210 shown in FIGS. 9A-10B) mounted on a tool 2404 (e.g., any of the tools shown in FIGS. 1-6C) according to certain embodiments. Although only one tool is shown by way of example only, the computer vision system 2400 includes multiple tools similar to the tool 2404. The camera 2402 captures images of one or more tool components 2406, such as those shown with reference to FIGS. 10A and 10B above. In dark areas, such as the load lock of the tool 2402, a light source 2407 is positioned to illuminate the tool components 2406 so that the camera 2402 can capture the images. Although only one light source 2407 is shown by way of example, various types of light sources and illumination configurations having different wavelengths can be used. Additionally, although not shown, the tool 2404 includes one or more sensors in the path along which the wafer moves during processing.

[0167] The image processor 2408 processes images captured by the camera 2402. For example, the image processor 2408 can clean and / or format the images. For example, the image processor 2408 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformations, feature detection, depth estimation, etc. The image processor 2408 may be located on the camera 2402 (e.g., embedded) or external to the camera 2402 (e.g., on a PCB).

[0168] The system computer 2410 controls the tool 2404. In one implementation, raw images may be sent to a remote data center 2412 for processing and / or analysis. Alternatively, in another implementation, the images are processed by an image processor 2408, which may be located in the camera 2402 or on a PCB outside the camera 2402, and only a portion of the analyzed data is sent to the system computer 2410 and / or the remote data center 2412. The system computer 2410 may send images to the remote data center 2412 in real time or in batches via the distributed communication system 2010 shown in FIGS. 8B-8D. In addition, the system computer 2410 may send data collected from other sensors in the tool 2404 and sensors in the PM of the tool 2404 to the remote data center 2412. In some implementations, the system computer 2410 may include an edge computing device.

[0169] For example, the remote data center 2412 may include multiple servers 2030 as shown in Figures 8B-8D. The remote data center 2412 uses machine learning to train several models based on data collected from multiple tools, such as tool 2404. The training and functioning of the models is described in more detail below. The system computer 2410 uses the trained models received from the remote data center 2412 to operate the tool 2404 based on data collected from new images, as described below.

[0170] In some embodiments, the system computer 2410 executes various actions on the tool 2404 that are recommended by the learned model. Such actions may include, for example, performing preventive maintenance (e.g., changing one or more of the pads described with reference to FIGS. 10A and 10B, changing CWAC wafers, performing robot maintenance, etc.). The system computer 2410 correlates the health of the tool 2404 with the type of wafer being loaded (logic / memory / 3D NAND, etc.) and the type of recipe used in PM of the tool 2404 by recognizing the die patterns on the wafer, as described in more detail below.

[0171] For example, this information can be used to determine the optimal length of time that wet clean, waferless automatic cleaning (WAC), and covered wafer area cleaning (CWAC) procedures can be performed based on the recipe used and the type of wafer being loaded. For example, this information can be used to fine-tune the height of the edge bond ring on the chuck by adjusting the lift pins depending on the type of wafer being loaded. For example, the change in the distribution of gray values ​​of different channels in an RGB camera for the loaded and unloaded wafers can be used to quantify the quality of the on-wafer processing results. Measuring these quantities and monitoring their drift over time allows for identifying the health of the tool and taking corrective measures to account for such drift and achieve PM alignment.

[0172] In some embodiments, the system computer 2410 performs various adaptations recommended by the learned model. For example, the system computer 2410 monitors the accuracy of wafer placement in the airlock and, if necessary, performs corrections in real time as the robot places a new wafer in the airlock. The system computer 2410 automatically adjusts the recipe used in PM based on the decrease in thickness of the edge bond ring loaded and unloaded. The system computer 2410 determines the etch rate in PM based on the detected change in inner diameter (i.e., change in edge erosion profile) or the thickness of the edge bond ring loaded and unloaded. The system computer 2410 uses this information to automatically adjust the recipe in PM for tool-to-tool PM matching or adjust the height of the edge bond ring above the chuck by adjusting the lift pins. These and other functions performed by the computer vision system 2400 based on images captured by the camera 2402 will be described in more detail.

[0173] Throughout this disclosure, wafers that have not yet been processed and are heading from the EFEM to the VTM are referred to as incoming wafers, and wafers that have already been processed in the PM and have left the VTM to the EFEM are referred to as outgoing wafers.

[0174] During use, the shape of the various pads shown and described with reference to Figures 10A and 10B above changes over time. Camera 2402 takes images of these pads for every wafer processed in tool 2404. Computer vision system 2400 (at camera 2402, image processor 2408 on a PCB near camera 2402, system computer 2410, or data center 2412) can detect if the pads are dirty, need cleaning, or need replacement by analysis (e.g., correlation) of these images taken over time. Computer vision system 2400 monitors the wear on these pads, learns from those images over time, and trains models (at data center 2412) to predict service and / or replacement of the pads. Computer vision system 2400 continues to learn more about the wear of these pads from each image and refines the models for better predictions. These predictions can improve service and / or replacement procedures for these pads, reducing costs and increasing tool efficiency.

[0175] For example, if the computer vision system 2400 identifies that the pad of the robot end effector needs cleaning, a procedure can be performed in which the end effector is automatically placed under a load lock purge port in the upper ceiling of the load lock. Gas (e.g., N2) is then blown at a high flow rate from the purge port toward the end effector to remove particles from the robot end effector and pad. It should be appreciated that this procedure completes the cleaning of the robot end effector in a closed loop manner.

[0176] CWAC wafers change color over time. In some embodiments, computer vision system 2400 is also configured to capture images of these wafers. Computer vision system 2400 monitors the color changes of these wafers, learns from the images over time, and trains (at data center 2412) a model to predict when to replace these wafers. Computer vision system 2400 continues to learn more about the color changes of these wafers with each image, refining the model to improve predictions. These predictions can improve replacement procedures for these wafers, thereby reducing costs and increasing tool efficiency.

[0177] In some embodiments, the computer vision system 2400 observes the outer edge of each incoming and outgoing wafer. Drifting of the wafer edge over time may indicate a problem with the ATM / VTM robot, but it may also be that the wafer is not properly picked up by the VTM robot from the PM due to issues with lift pins, clamping forces, etc. For example, in a tool with six PMs, a wafer picked by the VTM robot from five PMs may be properly placed in the loadlock as indicated by wafer edge monitoring, but a wafer picked by the same VTM from only one PM may be slightly misaligned when placed in the loadlock. This information gained from analysis of images captured by the computer vision system 2400 may help identify the source of the misalignment. It may be that the cause is a lift pin in one PM rather than an issue with the VTM robot.

[0178] Dynamic alignment sensors in tool 2404 also monitor wafer placement. Data about the wafer edge collected via camera 2402 can be combined with data from dynamic alignment (DA) sensors via sensor fusion algorithms to more accurately identify the source of the problem. Data from these sensors can also help troubleshoot problems in tool 2404. Several calibration procedures are also performed on such components of tool 2404 to allow for accurate troubleshooting based on sensor data and prevent false alarms. Data obtained from images can complement data from these and other sensors in tool 2404 and from calibration and troubleshooting procedures and can help identify the root cause of the problem. For example, many sensors and actuators in the path of the wafer travel from the PM to the load lock in tool 2404 can provide data that can be correlated with data obtained from images. Based on this correlation, the exact sensor or actuator causing the problem can be identified.

[0179] In some embodiments, the computer vision system 2400 can train a model to be able to identify the type of each wafer processed by the tool 2404. In a manufacturing facility (see, e.g., FIG. 2), several tools can be used to manufacture different devices (e.g., memory, processors, etc.) on different wafers. Knowing the type of wafer can help identify problems in the tool. The type of wafer can be identified by processing an image of the wafer (e.g., whether the wafer is a memory wafer or a processor wafer, etc.). For example, an image of a wafer may show die patterns with features such as different shapes (square, rectangle, etc.), different sizes, different colors, etc. The die patterns on the wafer can be discovered, monitored, and learned via object detection algorithms, and a model can be trained to identify the type of each wafer using images of the wafer taken over a period of time.

[0180] The learned model can then be used to detect deviations in the die patterns of wafers from one of the PMs or tools based on data collected from images of those wafers and correlate that data with the learned die patterns. Additionally, the learned patterns (i.e., the learned models) can be used in conjunction with other data collected from images of wafers and / or other (e.g., sensor-based) diagnostic systems to identify specific PM issues at a particular tool and / or specific component issues at a PM or tool.

[0181] For example, often a recipe is used to condition (e.g., clean) a PM and non-production wafers (e.g., dummy or conditioning wafers) are used while running the recipe. Dummy wafers do not have a die pattern and are sent through the same wafer flow and process recipe that production wafers go through. Existing systems cannot distinguish these dummy wafers from production wafers. The computer vision system 2400 can distinguish these dummy wafers from production wafers because it can identify the type of wafer based on the die pattern of the wafer, so the type of wafer is known before processing begins. Again, the same model used to identify the type of wafer can be further trained and used to identify dummy wafers as well.

[0182] In some tools, sensors may be used to determine whether a wafer has a die pattern, in which the sensor detects the die pattern at the end of processing. If the detected die pattern is different from that set in the recipe, a recipe failure is signaled and corrective steps are taken accordingly. However, such a failure may also be due to a dummy wafer being mistakenly identified as defective due to a non-existent die pattern, and no correction to the recipe being executed may be necessary. Wafer type and wafer category recognition provided by computer vision system 2400 can automatically prevent such failures.

[0183] For example, a model learned by computer vision system 2400 can be used to identify the type of wafer from an image of the incoming wafer, automatically informing a PM in tool 2404 of the type of wafer being loaded. The PM can then automatically select an appropriate recipe and / or adjustments thereto to process the incoming wafer. Once the wafer has been processed and leaves tool 2404, the outgoing wafer is again imaged and compared to a database of images of similarly processed wafers in the past to determine whether the outgoing wafer was processed correctly. For example, the database may be maintained in data center 2412, computer system 2410, or at least partially in both data center 2412 and computer system 2410.

[0184] For example, simple indicators such as the color of the incoming and outgoing wafers depending on the type and stage of processing can indicate the type of wafer being loaded, the type of recipe selected by the PM for processing the incoming wafer, and whether the processing was successful. As other examples, the grayscale values ​​(light intensity) of the wafer image at different pixels, features on the wafer, the size and color of a particular feature on the wafer, etc. can also be used as indicators to identify the type of wafer and determine if the wafer was processed successfully.

[0185] Based on a large number of wafer images taken over time, many categories of wafers can be observed and stored in a database. By comparing an image of a new wafer with images of wafers in multiple categories, detection of wafer type and minute variations in processed (and to be processed) wafers can be improved. By taking a large number of images of each type of wafer over time, features such as dimensions and color of specific areas of the wafer can be learned over time. The model used to classify the wafer type can be further trained to receive features extracted from incoming and outgoing wafers and output the wafer type based on a comparison of the received features to a database of features built over time by observing many wafers. The database may be kept in the data center 2412, the computer system 2410, or at least in part, both.

[0186] For example, the classification of a wafer may be based on the type of features observed on the wafer. When a wafer arrives within the field of view of the camera 2402, whether before or after processing, an image of the wafer is taken, one or more features are extracted from the image, and the features are compared and correlated with features stored in a database. This allows the type of wafer and / or the success or failure of the processing performed on the wafer to be determined. A similar methodology may also be used to select a recipe for processing an identified wafer. Notably, all of these operations may be performed automatically (i.e., without human intervention) using models learned by the computer vision system 2400.

[0187] It should be noted that the computer vision system 2400 not only uses the camera in the airlock to capture images of the wafer, but can also work in conjunction with other data collected by many other systems located in the tool 2404 (e.g., sensors, cameras associated with the PM, etc.). To ensure the reliability of the computer vision system 2400, many factors such as lighting, camera orientation, and leveling must be relatively constant. To allow for variations in these factors, which may be unavoidable, the data collected by the computer vision system 2400 may be normalized using data collected by these other systems to minimize or eliminate the effects of differences in these factors.

[0188] In this way, the computer vision system 2400 not only identifies the type of wafer being loaded, but also verifies whether the outgoing wafer was properly processed. Furthermore, if a fault occurs somewhere in the tool 2404 and the outgoing wafer is not properly processed, the computer vision system 2400 can identify the root cause of the fault using a model trained with the historically labeled data. Furthermore, the computer vision system 2400 can prevent the problem from occurring (e.g., by suggesting part replacement, preventative maintenance, etc.) (e.g., based on observations of pads, wafers, etc.) and can also suggest corrective actions by identifying the root cause of the problem.

[0189] Some tools include an integrated metrology module that analyzes the wafer before and after processing. In contrast, the computer vision system 2400 not only analyzes the wafer before and after processing (i.e., between the two processes) eliminating the need for metrology, but also performs performance analysis of the wafer transport mechanism (robot, pads, associated sensors, etc.) and the PM itself, which the metrology module cannot perform. The computer vision system 2400 uses data based on captured images of the wafer and other components such as various pads, as well as operational and diagnostic data from other mechanisms (e.g., sensors within the tool and PM) to perform these functions and improve the performance of the tool (e.g., transport mechanism within the tool) and the PM.

[0190] The cameras 2402 may be located elsewhere within the tool 2404. These cameras 2402 may be separate and in addition to any cameras located in proximity to the PM and cameras used by metrology equipment, and may be integrated with the tool 2404 or may be external to the tool 2404. Additionally, cameras 2402 may be located within the tool and throughout the fleet of tools. This may allow for an expanded database of captured images, improving the learning of models built in the data center 2412 based on image data, making the models more robust. A robust model may perform the functions of the computer vision system 2400 with a higher statistical confidence, improving the overall performance of the PM, the tool, and the fleet of tools.

[0191] The computer vision system 2400 can also assist with PM alignment. PMs are periodically cleaned after a certain number of wafers have been processed. However, different types of incoming wafers may release different materials into the PM. In addition, different processes performed on the wafers in the PM leave different by-products in the PM that need to be washed away. Thus, applying the same cleaning recipe to all types of wafers may not clean the PM sufficiently to process the next wafer. The computer vision system 2400 knows the process that is being performed in the PM based on the captured images of the outgoing wafer. The computer vision system 2400 can leverage historical data of cleaning processes performed on the PM and can therefore assist in selecting an appropriate recipe to clean the PM so that the PM is ready to process the next incoming wafer.

[0192] As every wafer is photographed in the tool 2404 and the model is continually refined in the data center 2412, the tool 2404 is optimized based on the data accumulated by the computer vision system 2400. For example, the number of cleaning cycles of the PMs in the tool 2404 can be optimized. For example, cleaning of a PM in the tool 2404 may be postponed or delayed based on images of an outgoing wafer processed in the PM, which is recommended by another mechanism in the tool 2404. Notably, these images are immediately available and are analyzed by the computer vision system 2400 in real time or near real time. Thus, optimization of the tool 2404 can be done on the fly. Such optimization cannot be done with traditional metrology, which may take hours or days to obtain results. Using the computer vision system 2400, a model can be trained in the data center 2412 to receive as input images of output wafers processed in the PM and provide an output that controls the execution of cleaning in the PM. This procedure can be realized to fully automate PM cleaning in a closed loop manner, via WAC or CWAC.

[0193] As another example, the speed of one or more robots in tool 2404 can be increased based on the image of the wafer until a slight degradation in performance is observed. In other words, the throughput of tool 2404 can be automatically increased in real time or near real time without performing metrology. Furthermore, the waiting time of the wafer between processes can be optimized based on the latest image data. Thus, computer vision system 2400 can perform better than metrology level performance using non-metrology optics (i.e., by performing optical analysis of an image of the wafer or a portion of the wafer instead of performing spectroscopic analysis of the wafer). In particular, computer vision system 2400 is not only faster than metrology, but also cheaper than metrology.

[0194] The computer vision system 2400 can also analyze the edge bond ring. The edge bond ring is typically transferred from the EFEM to the airlock to the PM where it is placed around the ESC. The edge bond ring has a particular thickness, inner diameter, and profile. These and other parameters of the edge bond ring are observed by taking an image of the edge bond ring before it is transferred to the PM where it is exposed to the processing performed on the wafer. As a result, one or more parameters of the edge bond ring may change. The edge bond ring is designed to be used for a particular number of radio frequency (RF) hours. A similar edge bond ring can be used in a PM that performs similar processing for a similar period of time (i.e., number of RF hours).

[0195] Then, once the edge bond ring is fully used, it is transported out of the tool via a load lock. Images of these edge bond rings transported out of the PM are taken and geometric parameters are measured and correlated by computer vision system 2400. For example, some edge bond rings may have more differences than others (e.g., different grey values ​​in the image indicating different surface roughness compared to others, etc.). Changes in one edge bond ring are analyzed, optionally together with other data (e.g., from other sensors in tool 2404), to identify the root cause of the change or to control PM operating conditions to achieve optimal on-wafer processing quality or PM matching.

[0196] For example, if the analysis of the changes indicates that one of the PMs is behaving differently (i.e., producing different effects on the edge coupling rings) despite the same process being performed in the same way as the other PMs over the same number of RF hours, the recipe of the process performed in that PM can be adjusted using the model learned by the computer vision system 2400. Alternatively, the positioning (height, tilt angle, etc.) of the edge coupling rings in that PM may be adjusted using the model learned by the computer vision system 2400. Furthermore, different PMs may use edge coupling rings with different parameters. Analysis of the imported edge coupling rings can also be used to verify whether the correct type of edge coupling ring is being used in that PM.

[0197] Using the computer vision system 2400, different models can be trained to perform these different functions. Once sufficiently trained, these models can receive as input images of the edge bond ring and provide outputs such as adjustments to be made to the recipe, adjustments to be made to the edge bond ring lift pin height, etc. With continued learning, the output of these models is refined (i.e., its accuracy improves). It can be appreciated that such a system enables autonomous control of the tool for PM alignment via edge bond ring height measurement and control.

[0198] The edge coupled rings can also be tracked by obtaining their serial numbers from the images. Typically, one edge coupled ring is used with one particular PM type, i.e., the edge coupled ring does not have to be moved across multiple PM types. Monitoring the serial numbers of the edge coupled rings can verify that the correct edge coupled ring is used with each PM. This determination can also help prevent some issues that may arise due to edge coupled ring replacement and also to ensure that the issues occurring are not due to a faulty sensor, improper recipe, etc. Tracking the serial numbers can also help to verify if the edge coupled ring was supplied by a third party, which can be the source of some issues. A model can be trained to receive an image of the edge coupled ring as input and output the edge coupled ring serial number, which can be used in troubleshooting.

[0199] Additionally, after cleaning in the PM, a witness wafer can be sent to the PM following the edge-coupled ring. The quality of the cleaning performed in the PM can be automatically inspected by taking images of the witness wafer before and after the wafer is processed. After the edge-coupled ring has been in use for some time, a similar inspection of the PM can be performed by analyzing images of the edge-coupled ring using the computer vision system 2400. Again, a model can be trained to recognize the effect of processing on the edge-coupled ring based on images of the edge-coupled ring as input to the model and provide an output indicative of the quality of cleaning performed in the PM, or an output suggesting when and what type of cleaning can be performed in the PM.

[0200] Additionally, as described in more detail below, the edge coupling ring in the PM can typically be adjusted in the period between two successive cleaning operations in the PM, as well as during processing of the wafer itself in the PM. Inspecting images of the edge coupling ring after the wafer has been processed can provide an indication of the health of the PM, along with data regarding adjustments made to the edge coupling ring during processing of the wafer in the PM. A model can be trained to receive images of the edge coupling ring as input and output an indication of the health of the PM.

[0201] This procedure is described in detail with reference to Figures 8A, 10B and 11. Several edge coupling rings allow better control of the plasma field in the etching PM to achieve optimized on-wafer processing results. These edge coupling rings can be automatically transferred from the EFEM to the PM via a transfer module (TM), allowing continuous production without opening the PM for long periods of time (e.g. up to a year). However, due to differences in PM conditions within a tool or between different tools, on-wafer results are not always similar.

[0202] To achieve PM-to-PM matching, a technique is needed to measure etch rates across different tools, monitor their drift over time, record their changes after maintenance (e.g., wet cleaning, CWAC), and create a procedure that can compensate for such changes by automatically adjusting the PM etch process parameters (e.g., recipe, ESC temperature, gas flow, duration, etc.). Here, we outline a new technique that enables automatic measurement of incoming / outgoing (new / used) edge-coupled ring parameters and a corresponding system for automated PM-to-PM matching (see Figures 8A, 10B, and 11). The system measures the thickness change of a new edge-coupled ring entering the PM and the same edge-coupled ring leaving the PM as used, and automatically adjusts the PM process parameters for PM-to-PM matching.

[0203] The system includes two cameras placed in the TM where new / used edge bond rings pass (e.g., airlock, aligner, robot arm, etc.). This allows accurate measurement of the thickness loss of used edge bond rings. Knowing the usage history of the edge bond ring (e.g., number of RF hours it has been used) and its thickness loss allows the erosion rate of the PM to be determined. Figure 10A shows a schematic of how the cameras can be placed in the airlock above the edge bond ring. Figures 8A and 11 show the overall data flow infrastructure used for automatic tuning of PM process parameters for PM-to-PM alignment.

[0204] According to a specific embodiment, the camera measures the change in thickness of the edge bond ring and transmits it to a system computer. The system computer stores the data for the last 1-3 months and transmits the data in real time to a host / cloud (e.g., data center). The host includes infrastructure (e.g., servers, storage, etc.) big data analytics to determine the etch rate of the PM based on the change in thickness of the edge bond rings coming in and going out. The host uses data from all similar PMs running the same recipe on a daily or weekly basis to train a machine learning (e.g., neural network, tensorflow, etc.) based model (data science infrastructure). The host uses the trained model and real time data to recommend adjustments to PM process parameters for PM-to-PM matching. The system computer takes the recommended action on the PM and auto-adjusts PM process parameters for PM-to-PM matching.

[0205] Typically, a tool includes a number of control parameters that can be monitored (observed) by the computer vision system 2400. Based on the observed data for these parameters, the computer vision system 2400 can train models to verify whether the automated process control loops employed by the tool 2404 are operating properly. Thus, the computer vision system 2400 can use the learned models to automate the management of a host of tool components in a fleet. For example, the computer vision system 2400 can use the learned models to automatically adjust the height of edge bond rings, the duration and interval of CWAC, cleaning of robot end effectors, etc., thereby improving the overall performance, efficiency, throughput, and lifespan of the tool. Flowcharts and Models

[0206] Figures 12A-13F show examples of various methods performed by the server 2030 and system computer 2410 shown in Figure 11. Figures 12A-12F show methods performed by the server 2030 to train various models using perception algorithms, sensor fusion algorithms, and machine learning algorithms based on images captured from various tools. Figures 13A-13F show methods performed by the server 2030 and system computer 2410 using trained models based on images captured in real time (i.e., on the fly or as the tool is being used during wafer manufacturing / processing).

[0207] FIG. 12A illustrates a method 2500 of taking images of a wafer, various pads, and edge bond rings from various tools and using perception, sensor fusion, and machine learning algorithms to train various models based on the taken images, according to some embodiments. At 2502, the method 2500 takes images of the wafer, the edge bond ring, and various pads at a location such as a load lock. At 2504, the method 2500 processes the images. For example, the images may be cleaned and formatted, and the image brightness, contrast, etc. may be adjusted. For example, the method 2500 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, etc. Additionally, features that can be used to determine the wafer type, determine the state of the edge bond ring, and determine the state of the various pads may be recognized and extracted from the taken images and stored in one or more databases.

[0208] At 2506, method 2500 trains various models to perform specific tasks based on data collected from images processed over time using perception, sensor fusion, and machine learning algorithms. For example, tasks may include, but are not limited to, determining wafer type, determining edge bond ring status, determining various pad status, determining preventive maintenance and cleaning schedules, determining replacement schedules for components such as pads and conditioning wafers, determining etch rates, adjusting PM recipes, etc. At 2508, method 2500 continues to further refine (i.e., further train) these models based on images captured and processed using the trained models.

[0209] 12B illustrates a method 2520 of training a model to detect pad wear and predict pad replacement in a load lock, according to certain embodiments. At 2522, the method 2520 captures images of the wafer pads, edge bond ring pads, and robot end effector pads in the load lock. At 2524, the method 2520 processes the images. For example, the images may be cleaned and formatted, and may further adjust image brightness, contrast, etc. For example, the method 2520 may adjust brightness, enhance contrast, perform image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, and other operations. Additionally, features that can be used to determine various pad conditions can be recognized and extracted from the captured images and stored in one or more databases.

[0210] At 2526, method 2520 trains the model to determine the condition of various pads, to determine preventive maintenance schedules, and to determine replacement or automatic cleaning schedules for various pads. For example, if method 2520 identifies that the pads of the robot end effector need cleaning, an automatic procedure is performed in which the end effector is placed under a load lock purge port in the upper ceiling of the load lock. Gas (e.g., N2) is then sprayed at a high flow rate from the purge port toward the end effector to remove particles from the robot end effector and pads. It should be appreciated that this procedure fully automates the cleaning of the robot end effector in a closed loop manner. At 2528, method 2520 continues to further refine (i.e., further train) the trained model based on images captured and processed using the model.

[0211] 12C illustrates a method 2540 of training a model to detect drift in wafer placement in a loadlock and predict robot health and preventative maintenance schedules, according to certain embodiments. At 2542, method 2540 takes an image of the wafer edge in the loadlock. At 2544, method 2540 processes the image. For example, the image may be cleaned and formatted, and the image brightness, contrast, etc. For example, method 2540 may adjust brightness, enhance contrast, perform image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformations, feature detection, depth estimation, etc.

[0212] Additionally, features can be recognized and extracted from the captured images that can be used to determine drift in wafer placement within the loadlock and stored in one or more databases. At 2546, the method 2540 trains a model to detect drift in wafer placement within the loadlock and predict the health and preventative maintenance schedule of the robot. At 2548, the method 2540 continues to further refine (i.e., further train) the model based on captured and processed images using the trained model.

[0213] 12B illustrates a method 2560 of training a model to detect die patterns on a wafer and determine the type of the wafer based thereon, according to certain embodiments. At 2562, method 2560 takes an image of the wafer in a load lock. At 2564, method 2560 processes the image. For example, the image may be cleaned and formatted, and may further adjust image brightness, contrast, etc. For example, method 2560 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformations, feature detection, depth estimation, etc.

[0214] Additionally, features can be recognized and extracted from the captured images that can be used to detect die patterns on the wafer and determine the type of the wafer based thereon, and stored in one or more databases. At 2566, the method 2560 trains a model to detect die patterns on the wafer and determine the type of the wafer based thereon. At 2568, the method 2560 continues to further refine (i.e., further train) the model based on captured and processed images using the trained model.

[0215] 12E illustrates a method 2570 for training a model to detect changes in color of a conditioned wafer and predict when to replace the conditioned wafer, according to certain embodiments. At 2572, method 2570 takes an image of the conditioned wafer in a load lock. At 2574, method 2570 processes the image. For example, the image may be cleaned and formatted, and the image may be adjusted for brightness, contrast, etc. For example, method 2570 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformations, feature detection, depth estimation, etc.

[0216] Additionally, features can be recognized and extracted from the captured images that can be used to detect color changes in the conditioned wafer and predict when to replace the conditioned wafer, and stored in one or more databases. At 2576, the method 2570 trains a model to detect color changes in the conditioned wafer and predict when to replace the conditioned wafer. At 2578, the method 2570 continues to refine (i.e., further train) the model based on captured and processed images using the trained model.

[0217] 12F illustrates a method 2580 of training a model to detect edge coupling ring status, determine PM etch rate, and adjust PM recipe for tool-to-tool matching, according to certain embodiments. At 2582, method 2580 takes an image of the edge coupling ring in the load lock. At 2584, method 2580 processes the image. For example, the image may be cleaned and formatted, and may further adjust image brightness, contrast, etc. For example, method 2580 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, etc.

[0218] Additionally, features can be recognized and extracted from the captured images that can be used to detect edge coupling ring conditions, determine PM etch rates, and adjust PM recipes for tool-to-tool matching, and stored in one or more databases. At 2586, method 2580 trains a model to detect edge coupling ring conditions, determine PM etch rates, and adjust PM recipes for tool-to-tool matching. At 2588, method 2580 continues to further refine (i.e., further train) the model based on captured and processed images using the trained model.

[0219] 13A illustrates an example method 2600 for taking images of the wafer, various pads, and edge bond ring from various tools and using learned models to determine wafer type, determine edge bond ring status, determine status of various pads, determine preventive maintenance schedules, determine replacement schedules for components such as pads and conditioning wafers, determine etch rates, adjust PM recipes, etc. At 2602, method 2600 takes images of the wafer, edge bond ring, and various pads at a location such as a load lock.

[0220] At 2604, method 2600 processes the image. For example, the image may be cleaned and formatted, and the image may be adjusted for brightness, contrast, etc. For example, method 2600 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformations, feature detection, depth estimation, etc. Additionally, features may be recognized and extracted from the captured image that can be used to determine the wafer type, determine the condition of the edge bond ring, and determine the condition of various pads.

[0221] At 2606, method 2600 uses the various trained models to perform various tasks based on data collected from the images. For example, the tasks may include, but are not limited to, determining wafer type, determining edge bond ring status, determining status of various pads, determining preventive maintenance schedules, determining replacement schedules for components such as pads and conditioning wafers, determining etch rates, adjusting PM recipes, etc. At 2608, method 2600 updates (i.e., further trains) these trained models based on data collected from captured images and processed using the trained models.

[0222] FIG. 13B illustrates an example method 2620 for detecting pad wear and predicting pad replacement in a loadlock using a learned model (as described with reference to FIG. 12B). At 2622, method 2620 takes images of the wafer pads, edge bond ring pads, and robot end effector pads in the loadlock. At 2624, method 2620 processes the images. For example, the images may be cleaned and formatted, and may further adjust image brightness, contrast, etc. For example, method 2620 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformations, feature detection, depth estimation, etc.

[0223] Additionally, features can be recognized and extracted from the captured images that can be used to determine the condition of the various pads. At 2626, the method 2620 uses the trained model to determine the condition of the various pads, determine a preventive maintenance schedule, and determine a replacement schedule for the various pads. At 2628, the method 2620 updates (i.e., further trains) the trained model based on data collected from the captured images and processed using the trained model.

[0224] FIG. 13C illustrates an example method 2640 for detecting drift in wafer placement in a loadlock and predicting robot health and preventative maintenance schedules using a learned model (as described with reference to FIG. 12C). At 2642, method 2640 captures an image of the wafer edge in the loadlock. At 2644, method 2640 processes the image. For example, the image may be cleaned and formatted, and may further adjust image brightness, contrast, etc. For example, method 2640 may adjust brightness, enhance contrast, perform image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformations, feature detection, depth estimation, etc.

[0225] Additionally, features can be recognized and extracted from the captured images that can be used to determine drift in wafer placement within the loadlock. At 2646, the method 2640 uses the trained model to detect drift in wafer placement within the loadlock and predict the robot's health and preventative maintenance schedule. At 2648, the method 2640 updates (i.e., further trains) the trained model based on data collected from captured images and processed using the trained model.

[0226] FIG. 13D illustrates an example method 2660 for detecting a die pattern on a wafer and determining a type of the wafer based thereon using a learned model (as described with reference to FIG. 12D). At 2662, method 2660 takes an image of the wafer in a load lock. At 2664, method 2660 processes the image. For example, the image may be cleaned and formatted, and may further adjust the image brightness, contrast, etc. For example, method 2660 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformations, feature detection, depth estimation, etc.

[0227] Additionally, features can be recognized and extracted from the captured images that can be used to detect die patterns on the wafer and determine the type of the wafer based thereon. At 2666, method 2560 uses the trained model to detect die patterns on the wafer and determine the type of the wafer based thereon. At 2668, method 2660 updates (i.e., further trains) the trained model based on data collected from the captured images and processed using the trained model.

[0228] FIG. 13E illustrates an example method 2670 for detecting changes in color of a conditioned wafer and predicting when to replace the conditioned wafer using a learned model (as described with reference to FIG. 12E). At 2672, method 2670 captures an image of the conditioned wafer in a load lock. At 2674, method 2670 processes the image. For example, the image may be cleaned and formatted, and may further adjust the image brightness, contrast, etc. For example, method 2670 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformations, feature detection, depth estimation, etc.

[0229] Additionally, features can be recognized and extracted from the captured images that can be used to detect changes in color of the conditioned wafer and predict when to replace the conditioned wafer. At 2676, the method 2670 uses the trained model to detect changes in color of the conditioned wafer and predict when to replace the conditioned wafer. At 2678, the method 2670 updates (i.e., further trains) the trained model based on data collected from the captured images and processed using the trained model.

[0230] FIG. 13F illustrates an example method 2680 for detecting edge coupling ring conditions, determining etch rates in PMs, and adjusting recipes in PMs for tool-to-tool matching using a learned model (as described with reference to FIG. 12F). At 2682, method 2680 takes an image of the edge coupling ring in a load lock. At 2684, method 2680 processes the image. For example, the image may be cleaned and formatted, and may further adjust image brightness, contrast, etc. For example, method 2680 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, etc.

[0231] Additionally, features can be recognized and extracted from the captured images that can be used to detect edge coupling ring conditions, determine etch rates in the PM, and adjust the PM's recipe for tool-to-tool matching. At 2686, method 2680 uses the trained model to detect edge coupling ring conditions, determine etch rates in the PM, and adjust the PM's recipe for tool-to-tool matching. At 2688, method 2680 updates (i.e., further trains) the trained model based on data collected from captured images and processed using the trained model. Additional Models

[0232] 14A-14I illustrate various additional examples of methods performed by server 2030 and system computer 2410 using models learned based on images captured in real time (i.e., on the fly or as the tool is being used during wafer manufacturing / processing). The models used by these methods can be learned using computer vision system 2400 and used to perform various operations. These are non-limiting examples. Additional use cases are also contemplated.

[0233] In these examples, the training of the respective models using perception algorithms, sensor fusion algorithms, and machine learning algorithms using data collected from images to perform the described functions, and further updating of the trained models, is similar to the training of the above models described above with reference to Figures 12A-12F. As such, the training of the models used in the following methods is assumed and is not described for simplicity. In use, these models receive data from images as input and output results such as scheduling services, exchanges, etc., similar to the models described with reference to Figures 13A-13F.

[0234] 14A illustrates a method 2700 for scheduling maintenance of various pads in a load lock using models learned by perception, sensor fusion, and machine learning algorithms, according to certain embodiments. At 2702, the method 2700 captures and processes images of a pad (e.g., a pad associated with a wafer, an edge bond ring, or an end effector of a robot that transports wafers in and out of the load lock). For example, the method 2700 may adjust brightness, enhance contrast, perform operations such as noise filtering of the image, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, etc. Data such as features useful for diagnosing pad health are extracted from the processed images and input into the learned model for diagnosing pad health.

[0235] At 2704, method 2700 uses the trained model to determine if the pad is soiled based on the data. At 2706, method 2700 uses the trained model to schedule cleaning of the pad if the pad is soiled. At 2708, method 2700 uses the trained model to determine if the pad is worn if the pad is not soiled. At 2710, method 2700 uses the trained model to schedule replacement of the pad if the pad is worn. At 2712, method 2700 uses the trained model to predict an automatic cleaning or replacement schedule for the pad if the pad is not soiled or worn.

[0236] For example, if method 2700 determines that the pad of the robot end effector needs cleaning, an automatic procedure is performed in which the end effector is placed under a load lock purge port in the upper ceiling of the load lock. Gas (e.g., N2) is then blown at a high flow rate from the purge port toward the end effector to remove particles from the robot end effector and pad. It should be appreciated that this procedure allows the cleaning of the robot end effector to be fully automated in a closed loop manner.

[0237] 14B illustrates a method 2720 for diagnosing the health of a conditioned wafer and scheduling replacement of the conditioned wafer using a model learned using perception algorithms, sensor fusion algorithms, and machine learning algorithms, according to certain embodiments. At 2722, the method 2720 captures and processes an image of the conditioned wafer as the conditioned wafer is transferred to a load lock. For example, the method 2720 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, etc. Data, such as features (e.g., color) useful for diagnosing the health of the conditioned wafer, is extracted from the processed image and input to the model learned to diagnose the health of the conditioned wafer.

[0238] At 2724, method 2720 uses the trained model to determine whether the color of the conditioned wafer has changed and the extent of the color change based on the data. At 2726, method 2720 uses the trained model to schedule replacement of the conditioned wafer if the color change exceeds a predetermined threshold. At 2728, method 2720 uses the trained model to predict a replacement schedule for the conditioned wafer if the color change does not exceed a predetermined threshold.

[0239] 14C illustrates a method 2730 for diagnosing the health of a robot transferring wafers in and out of a loadlock and scheduling service for the robot or PM using models learned using perception, sensor fusion, and machine learning algorithms, according to certain embodiments. At 2732, the method 2730 captures and processes images of the wafer edge as the wafer is transferred from the PM to the loadlock. For example, the method 2730 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, etc. Data such as features useful for detecting drift in the position of the wafer in the loadlock are extracted from the processed images and input to the learned models for detecting drift.

[0240] At 2734, method 2730 uses the learned model based on the data to determine if the wafer position has drifted over time. At 2736, if the wafer position has drifted over time, method 2730 uses the model learned using a sensor fusion algorithm to determine if the wafer position has drifted after being transferred from more than one PM or from only one PM. A dynamic alignment (DA) sensor can be used in the sensor fusion algorithm. The DA sensor indicates how far the wafer is located from the robot end effector center while the wafer is being removed from the PM.

[0241] At 2738, if the wafer position from only one PM is drifting over time, method 2730 uses the learned model to schedule servicing of that PM as if the wafer position from that PM is drifting due to a problem within that PM and not due to a problem with the robot. At 2740, if the wafer position from more than one PM is drifting, method 2730 uses the learned model to schedule servicing of the robot as if the wafer position from more than one PM is drifting due to a problem with the robot and not due to a problem within the PM. Method 2730 can also send commands to the robot to perform real-time corrections of wafer placement in a closed-loop manner.

[0242] 14D illustrates a method 2750 for identifying wafer type and selecting a PM recipe based on wafer type using models learned using perception, sensor fusion, and machine learning algorithms, according to certain embodiments. At 2752, method 2750 captures and processes an image of a wafer in a load lock to be transferred to PM. For example, method 2750 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, etc. Data such as features useful for identifying wafer type (e.g., color, shape, etc.) are extracted from the processed image and input into the learned model to detect wafer type.

[0243] At 2754, method 2750 uses the learned model based on the data to identify a die pattern on the wafer, including determining if the die pattern is present on the wafer. At 2756, method 2750 uses the learned model to determine a wafer type. For example, the learned model may determine that the wafer is a production wafer (e.g., a wafer for memory or processor manufacturing) or a non-production wafer (e.g., a conditioning wafer or a dummy wafer) used during PM cleaning. At 2758, method 2750 uses the learned model based on the detected wafer type to select a recipe to be used in the PM. For example, the selected recipe may be for further processing the wafer if the wafer is a production wafer, or may be a recipe for cleaning the PM if the wafer is a conditioning wafer.

[0244] 14E illustrates a method 2760 for determining whether a wafer was successfully processed in a PM and whether a service should be scheduled for the PM using a model trained using perception, sensor fusion, and machine learning algorithms, according to certain embodiments. At 2762, method 2760 captures and processes an image of a wafer transferred from a PM to a load lock. For example, method 2760 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, etc. At 2764, method 2760 identifies and extracts features from the processed image data (e.g., color of a portion of the wafer, light intensity, etc.) that are useful for determining whether the wafer was successfully processed in the PM (e.g., whether there is any deviation or variation in the processing of the wafer). Method 2760 inputs this data into the trained model to determine whether the wafer was successfully processed in the PM. At 2766, method 2760 uses the learned model based on the data to determine if the wafer was successfully processed at the PM. At 2768, if the wafer was not successfully processed at the PM, method 2760 uses the learned model to automatically schedule service of the PM.

[0245] 14D illustrates a method 2770 for identifying an incoming wafer category type and a process category from a process list to be performed in the PM using models learned using perception, sensor fusion, and machine learning algorithms, and selecting an appropriate cleaning recipe for the PM, according to certain embodiments. At 2772, the method 2770 captures and processes an image of the wafer transferred from the PM to a load lock. For example, the method 2770 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, etc.

[0246] At 2774, method 2770 extracts data from the processed image, such as features useful for identifying a category of a process from a list of processes performed on the PM. Method 2770 inputs this data into a model trained to identify a category of a process from a list of processes performed on the PM. From this data, the trained model identifies a process performed on the wafer at the PM. At 2776, method 2770 uses the trained model to automatically select a cleaning recipe for the PM based on the processes performed on the PM.

[0247] 14G illustrates a method 2780 for determining the quality of cleaning of a PM by observing edge bond rings and scheduling service for the PM using a model learned using perception, sensor fusion, and machine learning algorithms, according to certain embodiments. To quantify the quality of cleaning, a witness non-production wafer can be sent into the PM, processing performed, and then the wafer transferred to a load lock and an image taken. To this end, large data sets are collected and labeled across the fleet over time.

[0248] At 2782, method 2780 captures and processes an image of the edge bonded ring transferred from the PM to the load lock. For example, method 2780 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, etc. At 2784, method 2780 extracts data from the processed image, such as features useful for determining the quality of cleaning of the PM. Method 2780 inputs the data into a trained model for determining the quality of cleaning of the PM. Based on the data, the trained model determines the quality of cleaning performed on the PM. At 2786, method 2780 uses the trained model to automatically schedule when and what type of cleaning can be performed on the PM based on the determined quality, such that inspection of the PM is omitted.

[0249] In the method illustrated in FIGS. 14H and 14I described below, edge-coupled rings are inspected when removed from the PM after a full use to infer problems with the PM. Inspecting one edge-coupled ring on one tool is likely insufficient to achieve this goal. Thus, to achieve this goal, fleet-wide data is collected over an extended period of time. During this period, the collected data may be manually labeled, where a user assigns a label to the image signature of each edge-coupled ring. For example, the label may indicate which subsystem malfunction in the PM caused what type of signature for the edge-coupled ring from the PM, etc.

[0250] 14H illustrates a method 2790 for diagnosing various problems with edge coupled rings and recipes used in PM by observing the edge coupled rings using models learned using perception, sensor fusion, and machine learning algorithms, according to certain embodiments. At 2792, method 2790 captures and processes an image of an edge coupled ring transferred from a PM of a tool using the same recipe to a load lock of the tool. For example, method 2790 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, etc. At 2794, method 2790 extracts data from the processed images that are useful for diagnosing various problems with edge coupled rings and PM. Method 2790 inputs the data into the learned models to diagnose various problems.

[0251] At 2794, based on the data, the learned model determines whether an edge-coupled ring from one PM exhibits more variation than an edge-coupled ring from another PM, even though all PMs use the same recipe in wafer processing. If an edge-coupled ring exhibits more variation at 2796, method 2790 uses the learned model to determine whether a correct edge-coupled ring is being used at the PM (e.g., whether a ring from another PM or made by a different supplier is being used at the PM). If an incorrect or inappropriate edge-coupled ring is being used at the PM at 2798, method 2790 uses the learned model to schedule installation of a correct or new ring at the PM. If a correct or appropriate edge-coupled ring is being used at the PM at 2800, method 2790 uses the learned model to adjust the recipe being used at the PM.

[0252] FIG. 14I illustrates a method 2810 for diagnosing various problems with wafer processing in a PM by observing the edge-coupled ring using models learned using perception, sensor fusion, and machine learning algorithms, according to certain embodiments. The serial number of the edge-coupled ring is verified before the edge-coupled ring enters the PM to ensure that an incorrect edge-coupled ring is not loaded. This can be accomplished without using machine learning. Alternatively, the method 2810 may be performed as follows. At 2812, the method 2810 captures and processes an image of the edge-coupled ring transferred from the PM to a load lock. For example, the method 2810 may adjust brightness, enhance contrast, perform operations such as image noise filtering, histogram equalization, edge detection, object recognition and tracking, image segmentation, image deblurring, geometric transformation, feature detection, depth estimation, etc.

[0253] At 2814, method 2810 extracts from the processed image the serial number of the edge coupled ring and other data useful for diagnosing various problems with wafer processing at the PM. Method 2810 inputs the data into a trained model to diagnose various problems. Based on this data, method 2810 uses the trained model to determine if there is any problem with wafer processing at the PM. At 2816, if any problem is detected with wafer processing at the PM, method 2810 uses the trained model to determine if the serial number of the edge coupled ring is correct. At 2818, if the serial number is incorrect, method 2810 uses the trained model to schedule installation of a correct or new ring at the PM. At 2820, if the serial number is correct, method 2810 uses the trained model to schedule service of the PM.

[0254] In some implementations, the computer vision system 2400 can send raw images from the tool to a data center in the cloud, and all image processing and model training can be performed in the cloud. Additionally, image processing and recommendations from trained models during use of the tool can be performed in the cloud. In such implementations, the computer vision system 2400 can be deployed in the cloud as Software-as-a-Service (SaaS). Model training and validation

[0255] Figures 15A-15C show example methods for generating, training, and validating models etc. as described above with reference to Figures 12A-14I. These methods are performed by one or more applications executed by server 2030. These are referred to as controls in the method descriptions that follow.

[0256] FIG. 15A illustrates a method 2900 for generating a model, according to some embodiments. At 2902, the control selects a machine learning model (e.g., a supervised or unsupervised classification model, a deep neural network, tensorflow, etc.) and a network topology to define and build the model. The machine learning model does not have to be a neural network. Any classification method is acceptable. Machine learning algorithms that can be used include K-nearest neighbors, support vector machines, K-means, deep neural networks, etc. For example, the control can define the model by selecting a network topology of a recurrent neural network.

[0257] FIG. 16A illustrates an example of a recurrent neural network. For example, selecting a network topology includes selecting the number of inputs, the number of neurons, and the number of layers of the recurrent neural network. FIG. 16A and 16B and the following description of these figures provide further details on model generation. At 2904, the control trains the model. FIG. 15B and the following description of these figures provide further details on model training. At 2906, the control validates the model. At 2908, the control iteratively fine-tunes the model parameters in a closed-loop manner. FIG. 15C and the following description of these figures provide further details on model validation.

[0258] 15B illustrates a method 2950 for training a model, according to some embodiments. At 2952, control runs the model on training data (e.g., data from images collected over several months). At 2954, control checks the output predicted by the model against the labeled training data. At 2956, control adjusts the model's parameters and / or network topology to produce a better match between the model's predictions and the actual data (e.g., to minimize the error between the model predictions and the training data). At 1958, control determines whether the model meets some predetermined training criteria. If the model does not meet the predetermined training criteria, control returns to 2952. If the model meets the predetermined training criteria, control ends.

[0259] 15C illustrates a method 2970 for validating a model, according to some embodiments. The method 2970 is referred to as a K-fold validation method, and is provided by way of example only. Alternatively, other model validation methods can be used to validate the various models described above with reference to FIGS. 12A-14I.

[0260] At 2972, the control divides the data used for validation (e.g., a portion of the data not used for training) into K partitions (K is an integer greater than 1). At 2974, the control generates instances of multiple identical models. At 2976, for each instantiated model, the control trains the model on one partition and evaluates the model on the remaining partitions. The control assigns a validation score to each evaluation. At 2978, the control averages the K validation scores for the model to determine a validation score for the model. At 2980, the control selects one of the models with the highest validation score for use.

[0261] It is also possible to validate the models using other validation methods, for example N-fold cross-validation, where the dataset is split into one final test set and N other subsets, where N is an integer greater than 1. Each model is trained on all subsets except one to obtain N different estimates of the validation error rate. The model with the lowest validation error rate is selected for use.

[0262] Figures 16A and 16B show an example of a recurrent neural network used to generate models such as those described above with reference to Figures 12A-14I using machine learning techniques. Machine learning is a methodology used to devise complex models and algorithms suitable for prediction (e.g., prediction for scheduling service and component replacement as described above). Models generated using machine learning, such as those described above with reference to Figures 12A-14I, can produce reliable and repeatable decisions and outcomes and reveal hidden insights through learning from historical relationships and trends in the data.

[0263] Using a recurrent neural network type model as described above with reference to Figs. 12A-15B, the aim of learning the model using machine learning is to directly predict the dependent variables without mathematically formalizing the relationships between the variables. The neural network model includes a number of virtual neurons operating in parallel and arranged in layers. The first layer is the input layer, which receives the raw input data. Each successive layer modifies the output from the previous layer and transmits it to the next layer. The last layer is the output layer, which generates the output of the system.

[0264] Figure 16A shows a fully connected neural network. Each neuron in a given layer is connected to each neuron in the next layer. In the input layer, each input node is associated with a numerical value, which may be any real number. In each layer, each connection starting from an input node has an associated weight, which may also be any real number (see Figure 16B). In the input layer, the number of neurons is equal to the number of features (columns) in the dataset. The output layer may have multiple continuous outputs.

[0265] The layers between the input layer and the output layer are hidden layers, which can be one or more (for most applications, one hidden layer is sufficient). A neural network with no hidden layers can represent linearly separable functions or decisions, a neural network with one hidden layer can perform continuous mappings from one finite space to another, and a neural network with two hidden layers can approximate any smooth mapping to any accuracy.

[0266] The number of neurons can be optimized. At the beginning of training, the network configuration is likely to have extra nodes. Some of the nodes may be removed from the network during training without significantly affecting the network performance. For example, nodes with weights close to 0 after training may be removed (this process is called pruning). The number of neurons may lead to underfitting (not being able to adequately capture the signals in the data set) or overfitting (there is not enough information to train all the neurons and the network performs well on the training data set but poorly on the test data set).

[0267] The performance of a model can be measured using various methods and criteria. For example, the root mean square error (RMSE) measures the average distance between the observed values ​​and the model predictions. The coefficient of determination (R 2 ) measures the correlation (rather than accuracy) between observed and predicted outcomes. This method can be unreliable when there is a large variance in the data. Other performance indicators include unremovable noise, model bias, and model variance. High model bias for a model indicates that the model is unable to capture the true relationship between predictors and outcomes. Model variance indicates whether the model is unstable (even small perturbations in the data cause noticeable changes in the model fit).

[0268] The systems and methods of the present disclosure, described below, in addition to capturing and processing images of the substrate and portions of the peripherals in the tool for feature recognition and extraction, can automatically configure the tool and perform automatic detection and error recovery of certain errors (e.g., recoverable errors) that may occur in the tool during operation. In particular, a system according to the present disclosure may be implemented in a tool (e.g., the tool shown in Figs. 1-6C) and may include multiple cameras installed at various locations in the tool to capture images of various subsystems of the tool during tool setup (i.e., when the tool is installed and set up). The system can use computer vision algorithms to automatically identify the subsystems, determine the tool configuration based on the captured subsystem images, and then automatically configure the tool based on the identified subsystems. For example, the system can automatically identify tool configuration details, including, but not limited to, the number and type of buffers, load locks (LL) / load port modules (LPM), robots, end effectors (EE), equipment front-end modules (EFEM), buffer stations, etc., installed in the tool. This data can then be used to automatically configure the tool upon initial installation or setup, or after upgrades or service is performed on the tool where one or more subsystems are added, removed, replaced or upgraded.

[0269] According to certain embodiments, using real-time video processing (object tracking and localization performed using algorithms such as Region-Based Convolutional Neural Networks (R-CNN), Single Shot Detection (SSD), You Only Look Once (YOLO), etc.), the system can track the location and state of moving objects in the tool (e.g., robot position, robot end effector extension / retraction, LL / LPM door opening / closing, substrate / edge bond ring present on EE, etc.). If there is an error in the motion of an object (e.g., robot) and the tool stops operating (e.g., transporting a substrate), the system can identify the state of the tool and, if possible, automatically take corrective action to resume operation. Corrective action can be initiated remotely. Furthermore, if corrective action is taken manually at the tool, the system can identify the manual intervention and prevent the tool from being remotely controlled or coordinate manual intervention and remote control of the tool. These features of the system, as well as other additional features, are described in detail below.

[0270] Throughout the following description, one or more light sources are placed in dark areas of the tool to allow the camera to capture images and / or videos of the objects, as described below. For example, as shown with reference to FIG. 11 and described above, in dark areas in the tool, such as the load lock, light sources are placed to illuminate the components of the tool and allow the camera to capture images / videos of them. Also, various types of light sources and illumination configurations with different wavelengths can be used. For example, the tool can have one light source in the EFEM, one light source in each LL, and two light sources for the VTM. In the LL and VTM, the light sources are placed close to the camera. For substrates with photosensitive materials, light sources with appropriate wavelengths are used to avoid light from the light sources affecting the outer film layers of the substrate. Therefore, cameras with appropriate spectral responses (visible, near IR, IR) are used to capture high quality images and videos.

[0271] FIG. 17A illustrates a system according to certain embodiments of the present disclosure that can perform automatic configuration, automatic error detection, and error recovery on a tool 3000. For example, the system can be implemented on any of the tools illustrated in FIGS. 1-6C (i.e., the tool 3000 can include any of the tools illustrated in FIGS. 1-6C). The tool 3000 includes a number of subsystems 3002, a number of cameras 3004, a light source 3005 for illuminating objects of the subsystems 3002, an object detection module 3006, a configuration module 3008, an error detection module 3010, and an error recovery module 3012. The tool 3000 communicates with a remote computing device 3014 (e.g., element 2130 illustrated in FIGS. 8A-8C) via a distributed communication system 3016 (e.g., element 2010 illustrated in FIGS. 8A-8C).

[0272] Examples of subsystems 3002 include, but are not limited to, buffers, load locks (LL) / load port modules (LPM), robots, end effectors (EE), equipment front end modules (EFEM), etc. installed within the tool 3000. The cameras 3004 can be located at various locations within the tool 3000. The number and location of the cameras 3004 can depend on the configuration of the tool 3000. For example, in Figures 1-6C showing various tool configurations, each tool may require a different number of cameras and the cameras may be located at different locations depending on the tool configuration.

[0273] FIG. 17B shows an example of a tool 3000 for use in the system of FIG. 17A, with cameras located at various positions within the tool. Two types of cameras are shown, a first camera is an image processing camera and a second camera for video streaming and processing (called video camera). For example, a video camera 3030 is located in the load port module (LPM) of the tool. Three video cameras 3032, 3034, and 3036 are located in the equipment front end module (EFEM) of the tool. Two video cameras 3038 and 3040 are located in the airlock (AL) of the tool. Additionally, two image processing cameras 3042, 3044 are located in the airlock (AL) of the tool. Three video cameras 3046, 3048, and 3049 are located in the vacuum transport module (VTM) of the tool. Various other arrangements can be envisioned with different numbers of each type of camera and different locations depending on the tool configuration.

[0274] 17A, the object detection module 3006 uses various real-time video processing algorithms (described below) to detect the movement of objects (e.g., subsystems 3002 and their components) and their positions within the tool 3000 in real time. The quality of the object detection performed by the object detection module 3006 depends on many factors, including, for example, the type of algorithm used, which may include the capabilities (e.g., resolution) of the cameras 3004, and may also include the number and positions of the cameras 3004.

[0275] For example, the quality of object detection performed by the object detection module 3006 may be proportional to the number of cameras 3004. In some tool configurations, relatively high quality object detection may be performed with a small number of cameras if the cameras can be placed at strategic locations within the tool (e.g., if one or more cameras can view a relatively large portion of the tool). In some tool configurations, a relatively large number of cameras may be required if some of the cameras cannot be placed at strategic locations within the tool.

[0276] In some embodiments, the object detection module 3006 processes images of the subsystems 3002 and identifies the subsystems 3002. For example, the object detection module 3006 can identify the quantity of buffers, load locks (LL) / load port modules (LPM), robots, end effectors (EE), equipment front end modules (EFE), etc. installed in the tool 3000. The object detection module 3006 can also identify the types of these subsystems 3002.

[0277] According to some embodiments, based on these identifications, the configuration module 3008 can automatically configure the tool 3000. For example, the configuration module 3008 can load software modules for operating and controlling the identified subsystems 3002. For example, the configuration module 3008 can automatically configure the user interface (UI) 3018 of the tool 3000. For example, the configuration module 3008 can automatically make some functions available as drop-down menus in the UI 3018 for operating and controlling the identified subsystems 3002, while disabling other functions that are not applicable or compatible with the identified subsystems 3002. For example, depending on the identified subsystems 3002, the configuration module 3008 may automatically allow the execution of only some processes / operations (e.g., processes / operations that can be performed on or with the identified subsystems 3002), while prohibiting the execution of other processes (e.g., processes / operations that cannot be performed on or with the identified subsystems 3002).

[0278] According to some embodiments, the error detection module 3010 detects errors in the tool 3000 based on object detection performed by the object detection module 3006 by monitoring the movements and positions of objects (e.g., robots, substrates, edge bond rings, PM / LLS / LPM doors, etc.) in the tool 3000 (see examples below). The error recovery module 3012 automatically corrects some of the errors detected by the error detection module 3010. For example, the error recovery module 3012 automatically corrects only recoverable errors detected by the error detection module 3010.

[0279] In some implementations, the error recovery module 3012 can communicate with the remote computing device 3014 via the distributed communication system 3016. The remote computing device 3014 can remotely correct some of the errors by communicating with the tool 3000 via the error recovery module 3012. During remote control of the tool 3000 by the remote computing device 3014, manual intervention in the tool 3000 can be disabled by the configuration module 3008. Conversely, if an error requires manual intervention, remote control of the tool 3000 by the remote computing device 3014 can be disabled for the safety of the service person servicing the tool 3000. The camera 3004 can detect the presence or absence of manual intervention in the tool 3000 (e.g., on a body part of the service person), and the configuration module 3008 can disable remote control of the tool 3000 by the remote computing device 3014 to ensure the safety of the service person. In some implementations, a service person can use the UI 3018 to coordinate manual intervention as well as error correction with a remote computing device 3014.

[0280] The following are non-limiting examples of error detection and recovery performed by the error detection module 3010 and error recovery module 3012. For example, a failure to de-chuck a substrate in a process module (PM) of the tool 3000 or a malfunction of a lift pin in the PM may cause the substrate to become off-center on the substrate support (ESC) of the PM. When the VTM robot enters the PM to remove the substrate, a dynamic alignment (DA) sensor in the PM may detect an offset that is out of range. Accordingly, the tool 3000 may generate or indicate an error and the VTM robot may stop moving the substrate to avoid the substrate colliding with the wall / door of the PM.

[0281] In the above example, the object detection module 3006 identifies the tool state including the position of the robot, the position of the robot end effector (EE), and the state of the PM door (open or closed) based on the data received from the camera 3004 monitoring the VTM robot. If the camera 3004 identifies that the PM door is open and the substrate is still on the EE, the error detection module 3010 identifies the error and the error recovery module 312 causes the robot to re-enter the PM to place the substrate on the lift pins and pick up the substrate again with the new correct offset calculated by the DA sensor. This recovery procedure is currently performed manually, which requires the presence of a service person at the tool 3000. Furthermore, this procedure requires the VTM or PM to be opened in some cases, increasing the labor cost and downtime for tool operations. In contrast, the system shown in FIG. 17A can avoid the need to open the PM by automatically correcting the error, reducing the labor cost and downtime.

[0282] In another example, when the VTM robot places a processed substrate into the airlock of tool 3000, if the substrate is too hot and / or the EE pads are sticky, the substrate may not be properly placed on the airlock fingers, causing the substrate to slide and hang off the airlock fingers. When the airlock door closes, the substrate may get stuck between the airlock doors and be damaged. Or, when the ATM robot goes into the airlock to pick up the substrate, if the substrate is cross-slotted, the EE may damage the wafer.

[0283] In the above example, the object detection module 3006 can detect improper substrate placement and identify the center and face of the substrate based on data received from the camera 3004. The error detection module 3010 detects errors due to improper substrate placement. The error recovery module 3012 communicates the substrate center and face to the robot. The robot finds a path in X / Y / Z coordinates to pick up the substrate, if possible in a live closed-loop manner. Alternatively, this action can be performed remotely by using the remote computing device 3014 to slowly push the robot to the right while watching the live video stream received from the error recovery module 3012. This eliminates the need for service personnel to be present at the tool 3000 and to open the LL, reducing tool downtime and labor costs.

[0284] In some embodiments, the error detection module 3010, the error recovery module 3012, and the configuration module 3008 can respond to an error in other ways depending on the type of error. For example, if the error in the subsystem 3002 is unrecoverable (e.g., a replacement part is required and the part is not available), the configuration module 3008 can temporarily disable the subsystem 3002. For example, the configuration module 3008 can disable a menu selection for the subsystem 3002 in the UI 3018. For example, the configuration module 3008 can change the processing sequence of a substrate to avoid the subsystem 3002. For example, the configuration module 3008 can shut down the subsystem 3002 to prevent it from being accidentally used until service is performed.

[0285] FIG 17C illustrates a method 3050 for automatically configuring a tool, according to certain embodiments of the present disclosure. For example, the system illustrated in FIG 17A may perform the method 3050 as follows: At 3052, the method 3050 determines whether the tool 3000 is powered on. If the tool 3000 is powered on, at 3054, the method 3050 captures images of the subsystems 3002 of the tool 3000 using cameras 3004 installed at various locations within the tool 3000. At 3056, the method 3050 automatically configures the tool 3000 based on the subsystems 3002 detected by the cameras 3004, as described in detail above with reference to FIG 17A.

[0286] FIG 17D illustrates a method 3070 for automatically correcting errors detected in a tool, according to certain embodiments of the present disclosure. For example, the system illustrated in FIG 17A may perform the method 3070 as follows: At 3072, the method 3070 monitors the subsystems 3002 of the tool 3000 in real time using cameras 3004 installed at various locations within the tool 3000. At 3074, the method 3070 determines whether an error has been detected within the tool 3000 (e.g., using the cameras 3004, the object detection module 3006, and the error detection module 3010, as described in detail above with reference to FIG 17A). If no errors are detected, the method 3070 continues to monitor the subsystems 3002 of the tool 3000 in real time using the cameras 3004.

[0287] If an error is detected at 3076, method 3070 determines whether the error is automatically correctable without manual intervention. If the error is automatically correctable without manual intervention, then at 3078, method 3070 automatically corrects the error as detailed above with reference to Figure 17A. If the error cannot be automatically corrected without manual intervention, then at 3080, method 3070 schedules / requests service (e.g., notifies the tool operator via UI 3018).

[0288] FIG. 10B illustrates a stereo imaging system using at least two cameras 2200 and 2201. As described below with reference to FIGS. 18A-18E, in some implementations, a three-dimensional point cloud of a thickness profile of an edge-coupled ring can be created by stereo imaging using a single camera (e.g., 2200 or 2201). For example, a single camera (2200 or 2201) can be used to capture one or more images of edge-coupled ring 2314 (shown in FIG. 10B). Stereo imaging techniques can then be used to create a three-dimensional point cloud of a thickness profile of the edge-coupled ring from the images captured by the cameras.

[0289] A three-dimensional point cloud is a set of data points of an object (e.g., edge-coupled ring 2314 in FIG. 10B) or a portion thereof in space. According to some embodiments, the three-dimensional point cloud is generated by measuring many points on the outer surface of edge-coupled ring 2314. The three-dimensional point cloud may be analyzed directly or converted into a mesh, surface model, or 3D model. The three-dimensional point cloud may then be aligned and compared to a model of edge-coupled ring 2314 generated when edge-coupled ring 2314 was still new (i.e., no erosion) to determine the difference. Based on the difference, the amount of erosion of edge-coupled ring 2314 may then be determined. For example, the difference may indicate a change in a dimension, such as a decrease in thickness of edge-coupled ring 2314 due to erosion.

[0290] The three-dimensional point cloud can also be used to represent volumetric data of the edge-coupled ring 2314, which can then be used to determine the reduction in thickness of the edge-coupled ring 2314 due to erosion. The image processor 2408 of the computer vision system 2400 described with reference to Figure 11 can perform stereo image processing including generating the three-dimensional point cloud, generating a thickness profile based on the point cloud data, and analyzing the thickness profile of the edge-coupled ring to assess the amount of erosion of the edge-coupled ring 2314.

[0291] FIG. 18A illustrates an example of a system 3100 for performing stereo image processing using a single camera, according to certain embodiments. The system 3100 generates a three-dimensional point cloud of an edge bonded ring using only one camera. In some embodiments, a robot moves the edge bonded ring in a load lock, a single camera in the load lock takes one image of the edge bonded ring, then the robot moves the edge bonded ring a predetermined distance, the camera takes another image of the edge bonded ring, and then an image processor uses these two images to perform triangulation and calculate the three-dimensional point cloud. The robot can move the edge bond further a predetermined distance, and after each move the camera may take additional images for point cloud calculation. This can increase the accuracy of the measurements.

[0292] In the illustrated example, the system 3100 includes a system computer 3102 that controls a robot 3104. The robot 3104 moves an edge bonded ring 3106 in a load lock 3108. A light source 3110 illuminates the edge bonded ring 3106. A single camera 3112 captures an image of the edge bonded ring 3106 each time the robot 3104 moves the edge bonded ring 3106 a predetermined distance, as shown in FIG. 18B. An image processor 3114 coupled to the camera 3112 processes the images using triangulation and calculates a three-dimensional point cloud, as shown in FIG. 18C. The image processor 3114 generates a surface profile (i.e., a thickness profile) of the edge bonded ring 3106 based on the three-dimensional point cloud, as shown in FIG. 18D. The image processor 3114 can perform stereo image processing, including generating a 3D point cloud using triangulation, generating a thickness profile based on the 3D point cloud data, and analyzing the thickness profile of the edge-bound ring to assess the amount of erosion of the edge-bound ring 3106. In some embodiments, the image processor 3114 and the camera 3112 can be similar to the image processor 2408 and the camera 2402 of the computer vision system 2400 shown in Figure 11. In some implementations, the system computer 3102 can include an edge computing device.

[0293] FIG. 18D shows that the surface profile z of the edge coupled ring 3106 can be described as a function of the radius r of the edge coupled ring 3106 using the equation z=f(r). FIG. 18B shows the edge coupled ring 3106 moved a predetermined distance d1 along the x-axis from x1 to x2, where P1=(x1,z1) and P2=(x2,z2) respectively represent two points on the edge coupled ring 3106 imaged by the camera 3112. x1' and x2' are the projections of these points along the x-axis onto an image sensor in the camera 3112. The image sensor is generally indicated by the lines x1' and x2'. FIG. 18C shows the triangulation performed by the image processor 3114 using the data P1 and P2.

[0294] 18E illustrates a method 3200 for performing stereo image processing using a single camera (e.g., camera 3112 shown in FIG. 18A) according to some embodiments. Method 3200 can be used to create a three-dimensional point cloud of a thickness profile of an edge-coupled ring. For example, method 3200 can be performed by image processor 3114 and camera 3112 shown in FIG. 18A, or by image processor 2408 and camera 2402 of computer vision system 2400 shown in FIG.

[0295] At 3202, method 3200 has robot 3104 move edge bonded ring 3106 a predetermined distance and capture images of edge bonded ring 3106 using camera 3112, as shown in FIG. 18B and described above. At least two images are captured at different locations. At 3204, method 3200 generates a three-dimensional point cloud by triangulating data from the images captured by camera 3112, as shown in FIG. 18C and described above. At 3206, method 3200 generates a thickness profile of edge bonded ring 3106, as shown in FIG. 18D and described above.

[0296] At 3208, the method 3200 compares the generated thickness profile to a previous thickness profile generated using the same technique but at a new stage of the edge coupled ring 3106. At 3210, the method 3200 determines an amount of erosion of the edge coupled ring 3106 based on the comparison.

[0297] At 3212, the method 3200 determines whether the amount of erosion of the edge coupling ring 3106 is greater than or equal to the predetermined threshold. If the amount of erosion of the edge coupling ring 3106 is not greater than or equal to the predetermined threshold, then at 3214, the method 3200 continues to use the edge coupling ring 3106 and returns to 3102. If the amount of erosion of the edge coupling ring 3106 is greater than or equal to the predetermined threshold, then at 3216, the method 3200 determines that the edge coupling ring 3106 should be replaced with a new edge coupling ring and returns to 3202 after the replacement.

[0298] The foregoing description is merely exemplary in nature and is not intended to limit the disclosure, its application, or uses. The broad teachings of the disclosure can be implemented in various forms. Thus, other variations of the disclosure are apparent with reference to the drawings, specification, and claims below, and although the disclosure includes specific examples, the true scope of the disclosure is not limited to such specific examples. It should be understood that in a method, one or more steps can be performed in different orders (or simultaneously) without changing the principles of the disclosure.

[0299] Also, although each embodiment is described above as having its own particular features, any one or more of those features described with respect to each embodiment of the present disclosure can be implemented with and / or combined with the features of any other embodiment, even if that combination is not explicitly described. In other words, the above embodiments are not mutually exclusive, and each permutation of combining one or more of the embodiments with each other is within the scope of the present disclosure.

[0300] The spatial and functional relationships of each element (e.g., module, circuit element, semiconductor layer, etc.) are described using various terms such as "connected," "engaged," "coupled," "adjacent," "next to," "on top of," "above," "below," "disposed," etc. Also, when a relationship between a first and a second element is described in the above disclosure, unless expressly described as "direct," the relationship may be a direct relationship in which there are no other intervening elements between the first and second elements, but it may also be an indirect relationship in which there are one or more intervening elements (spatial or functional) between the first and second elements.

[0301] As used herein, the phrase at least one of A, B, and C should be interpreted to mean a non-exclusive logical OR (A OR B OR C), and not as "at least one of A, at least one of B, and at least one of C."

[0302] In some implementations, the controller is part of a system, which may be part of the examples described above. The system may include semiconductor processing equipment, including one or more processing tools, one or more chambers, one or more processing platforms, and / or specific processing components (wafer pedestals, gas flow systems, etc.). These systems may be integrated with electronics for controlling their operation before, during, and after processing of semiconductor wafers or substrates.

[0303] The electronics may also be referred to as a "controller" that allows for control of various components or subparts of one or more systems. The controller may be programmed to control any of the processes disclosed herein, including supply of process gases, temperature settings (e.g., heating and / or cooling), pressure settings, vacuum settings, power settings, radio frequency (RF) generator settings, RF matching circuit settings, frequency settings, flow settings, fluid supply settings, position and motion settings, wafer transport in and out of tools and other transport tools and / or load locks connected or interfaced to a particular system, depending on the processing requirements and / or type of system.

[0304] Generally, a controller can be defined as electronic equipment having various integrated circuits, logic, memory, and / or software to receive and issue instructions, control operations, enable cleaning operations, enable endpoint measurements, etc. Integrated circuits may include chips in firmware form that store program instructions, digital signal processors (DSPs), chips defined as application specific integrated circuits (ASICs), and / or one or more microprocessors or microcontrollers that execute program instructions (e.g., software).

[0305] The program instructions may be instructions communicated to the controller in the form of various individual settings (or program files) that define operational parameters for performing a particular process on, in relation to, or for a system using a semiconductor wafer. In some embodiments, the operational parameters may be part of a recipe defined by a process engineer to accomplish one or more processing steps during the manufacture of one or more layers, materials, metals, oxides, silicon, silicon dioxide, surfaces, circuits, and / or dies of a wafer.

[0306] In some implementations, the controller may be part of or coupled to a computer that is integrated or otherwise networked with the system, or a combination thereof. For example, the controller may process wafers in the "cloud" or remotely as all or part of a fab host computer system. The computer may provide remote access to the system to monitor the current progress of a manufacturing operation, examine the history of past manufacturing operations, examine trends or performance metrics from multiple manufacturing operations, change parameters of a current process, set processing steps to follow a current process, or start a new process.

[0307] In some examples, a remote computer (e.g., a server) can provide process recipes to the system over a network, which may include a local network or the Internet. The remote computer may include a user interface that allows for entry or programming of parameters and / or settings, which are then communicated from the remote computer to the system. In some examples, the controller receives instructions in the form of data, which specify parameters for each of the process steps to be performed during one or more operations. It should be understood that the parameters may be specific to the type of process to be performed and the type of tool the controller is configured to interface with or control.

[0308] Thus, as noted above, the controller may be distributed, such as using one or more discrete controllers that are networked together and operate for a common purpose, such as the processing and control described herein. One example of a distributed controller for such purposes is one or more integrated circuits on the chamber that communicate with one or more integrated circuits located remotely (such as at the platform level or as part of a remote computer) and coupled to control processing on the chamber.

[0309] Without being limited thereto, example systems may include a plasma etch chamber or module, a deposition chamber or module, a spin rinse chamber or module, a metal plating chamber or module, a clean chamber or module, a bevel edge etch chamber or module, a physical vapor deposition (PVD) chamber or module, a chemical vapor deposition (CVD) chamber or module, an atomic layer deposition (ALD) chamber or module, an atomic layer etch (ALE) chamber or module, an ion implantation chamber or module, a track chamber or module, and any other semiconductor processing system related to or usable in the fabrication and / or manufacturing of semiconductor semiconductor wafers.

[0310] As described above, depending on the processing step or steps performed by the tool, the controller may communicate with one or more other tool circuits or modules, other tool components, cluster tools, other tool interfaces, adjacent tools, neighboring tools, tools located throughout the factory, a main computer, another controller, or tools used in material transport to carry containers of wafers to or from tool locations and / or load ports in a semiconductor manufacturing factory.

Claims

1. 1. A substrate processing system, comprising: A processor; a memory for storing instructions to be executed by the processor; The memory is executable by the processor. processing images of at least one of a substrate and a component of the substrate processing system captured by a camera, the component being associated with transferring the substrate between processing chambers of the substrate processing system or between the substrate processing system and a second substrate processing system, the camera being positioned between the processing chambers along a path of movement of the substrate in the substrate processing system; transmitting first data from the image over a network to a remote server; receiving second data from the remote server over the network in response to transmitting the first data to the remote server; operating the substrate processing system based on the second data. The substrate processing system further comprising:

2. 2. The system of claim 1, In response to the image being of the component, the component including a pad disposed in a load lock of the substrate processing system, the pad being used to support the substrate, an edge bond ring associated with the substrate, or a robot that transfers the substrate, the second data comprising: An indicator indicating the state of the pad; Recommendations regarding one or more of servicing and replacing said pads; and and The system, wherein the instructions further cause the processor to generate one or more schedules for servicing and replacing the pad in response to the second data including recommendations regarding one or more of servicing and replacing the pad.

3. 2. The system of claim 1, In response to the image being of the substrate and the substrate being used during cleaning of one of the processing chambers of the substrate processing system, the second data comprises: an indication that the substrate is of a type that is to be used during cleaning of the one of the processing chambers of the substrate processing system; An indicator indicating a state of the substrate; Recommendations for replacing said substrate; and a recommendation regarding a selection of a recipe for said one of said processing chambers; [0033] The instructions further cause the processor to select the recipe for the one of the processing chambers in response to the second data including the recommendation regarding the selection of the recipe.

4. 2. The system of claim 1, In response to the image being of the substrate, the second data comprises: an indication of the type of the substrate; an indicator for selecting a recipe for processing the substrate; [0033] The instructions further cause the processor to select the recipe for processing the substrate in response to the second data including the indication regarding a selection of the recipe.

5. 2. The system of claim 1, In response to the image being of the substrate, the second data comprises: an indication of the type of the substrate; an indicia indicative of a process performed on the substrate in one of the process chambers; an indicator of the one state of the processing chamber in which the substrate was processed; an index for selection of a recipe for cleaning the one of the processing chambers that processed the substrate; and [0033] The instructions further cause the processor to: scheduling service to the one of the processing chambers in response to the second data including the indication of a condition of the one of the processing chambers; and A system for selecting the recipe for cleaning the one of the processing chambers that processed the substrate in response to the second data including the indication regarding a selection of the recipe.

6. 2. The system of claim 1, Correspondingly, the image is an image of the substrate captured by the camera disposed in a load lock of the substrate processing system, and the second data comprises: an indication of drift when the substrate is placed in the load lock by a robot transferring the substrate from one of the processing chambers in which the substrate was processed; and service recommendations for the robot or the one of the processing chambers that processed the substrate; [0033] The instructions further cause the processor to: generating a schedule for servicing the robot in response to the second data including the recommendations for servicing the robot; The system causes adjustment of the one of the processing chambers regarding release of the substrate to the robot in response to the second data including the recommendation regarding service of the one of the processing chambers that processed the substrate.

7. 2. The system of claim 1, In response to the image being of the component, the component being an edge bond ring associated with the substrate received from one of the processing chambers, the second data comprises: A serial number of the edge-coupled ring; and a recommendation to replace the edge coupling ring with a second edge coupling ring having the correct serial number for the one of the processing chambers; [0033] The instructions further cause the processor to generate a schedule for replacing the edge coupled ring with the second edge coupled ring having the correct serial number for the one of the processing chambers in response to the second data including the recommendation.

8. 2. The system of claim 1, In response to the image being of the component, the component being an edge bond ring associated with the substrate received from one of the processing chambers, the second data comprises: an indication that the edge coupling ring is incorrect; and an indication that a problem associated with processing the substrate is due to an incorrect edge bond ring; a recommendation to replace the edge bond ring with a correct edge bond ring appropriate for the one of the processing chambers; [0033] The instructions further cause the processor to generate a schedule for replacing the edge coupling ring with the correct edge coupling ring suitable for the one of the processing chambers in response to the second data including the recommendations.

9. 2. The system of claim 1, In response to the image being of the component, the component being an edge bond ring associated with the substrate received from one of the processing chambers, the second data comprises: an indication of an etch rate in said one of the processing chambers; and an indication of an adjustment of a recipe used in said one of said processing chambers; [0033] The instructions further cause the processor to adjust the recipe used in the one of the processing chambers in response to second data including the indication regarding the adjustment.

10. 2. The system of claim 1, In response to the image being of the component, the component being an edge bond ring associated with the substrate received from one of the processing chambers, the second data comprises: indicators for adjusting at least one of the edge bond ring and a recipe used in the one of the processing chambers in response to the edge bond ring being the correct edge bond ring for the one of the processing chambers, the processing chambers using the same recipe, and the edge bond ring exhibiting a different variation than edge bond rings of other processing chambers of the substrate processing system; The instructions further cause the processor to adjust at least one of the edge bond ring and the recipe used in the one of the processing chambers.

11. 1. A system comprising: A processor; a memory for storing instructions to be executed by the processor; The memory is executable by the processor. receiving, via a network, image data of at least one of a substrate and a component of a substrate processing system captured by a camera, the component being associated with transferring the substrate between processing chambers of the substrate processing system or between the substrate processing system and a second substrate processing system, the camera being disposed between the processing chambers along a path of movement of the substrate in the substrate processing system; inputting a portion of the data into a model trained to provide an output useful for operating the substrate processing system; Transmitting the output from the model to the substrate processing system via the network. and a system storing said instructions for:

12. 12. The system of claim 11, In response to the image being of the component, the component including a pad disposed in a load lock of the substrate processing system, and the pad being used to support the substrate, an edge bonding ring associated with the substrate, or a robot that transfers the substrate, the output of the model indicates a condition of the pad and includes recommendations regarding one or more of servicing and replacing the pad.

13. 12. The system of claim 11, In response to the image being of the substrate and the substrate being used during cleaning of one of the processing chambers of the substrate processing system, the output of the model is: an indication that the substrate is of a type that is to be used during cleaning of the one of the processing chambers of the substrate processing system; An indicator indicating a state of the substrate; Recommendations for replacing said substrate; and Recommendations regarding the selection of a recipe for said one of said processing chambers. A system including one or more of the following:

14. 12. The system of claim 11, In response to the image being of the substrate, the output of the model is: an indication of the type of the substrate; an indicator for selecting a recipe for processing the substrate; A system including one or more of the following:

15. 12. The system of claim 11, In response to the image being of the substrate, the output of the model is: an indication of the type of the substrate; an indicia indicative of a process performed on the substrate in one of the process chambers; an indicator of the one state of the processing chamber in which the substrate was processed; an indicator for selecting a recipe for cleaning the one of the processing chambers that processed the substrate; A system including one or more of the following:

16. 12. The system of claim 11, In response to the image being the image of the substrate captured by the camera located at a load lock of the substrate processing system, the output of the model may include: an indication of drift when the substrate is placed in the load lock by a robot transferring the substrate from one of the processing chambers in which the substrate was processed; and service recommendations for the robot or the one of the processing chambers that processed the substrate; A system including one or more of the following:

17. 12. The system of claim 11, In response to the image being of the component, the component being an edge bond ring associated with the substrate received from one of the processing chambers, the output of the model is: A serial number of the edge-coupled ring; and a recommendation to replace the edge coupling ring with a second edge coupling ring having the correct serial number for the one of the processing chambers; A system including one or more of the following:

18. 12. The system of claim 11, In response to the image being of the component, the component being an edge bond ring associated with the substrate received from one of the processing chambers, the output of the model is: an indication that the edge coupling ring is incorrect; and an indication that a problem associated with processing the substrate is due to an incorrect edge bond ring; a recommendation to replace the edge bond ring with a correct edge bond ring appropriate for the one of the processing chambers; A system including one or more of the following:

19. 12. The system of claim 11, In response to the image being of the component, the component being an edge bond ring associated with the substrate received from one of the processing chambers, the output of the model is: an indication of an etch rate in said one of the processing chambers; and an indication of an adjustment of a recipe used in said one of said processing chambers; A system including one or more of the following:

20. 12. The system of claim 11, In response to the image being of the component, the component being an edge bond ring associated with the substrate received from one of the processing chambers, the output of the model is: The system includes indicators for adjusting at least one of the edge bond ring and the recipe used in the one of the processing chambers in response to the edge bond ring being the correct edge bond ring for the one of the processing chambers, the processing chambers using the same recipe, and the edge bond ring having a larger variation than the edge bond rings of other processing chambers in the substrate processing system.

21. 1. A system comprising: A processor; a memory for storing instructions to be executed by the processor; The memory includes: receiving data from one or more cameras disposed in a substrate processing system, the substrate processing system including a plurality of process modules and a robot configured to transfer substrates between the process modules and between the substrate processing system and a second substrate processing system; Automatically configuring the substrate processing system based on the data received from the one or more cameras disposed on the substrate processing system. and a system storing said instructions for:

22. 22. The system of claim 21, The instructions cause the processor to automatically identify one or more subsystems installed in the substrate processing system based on the data received from the one or more cameras, and automatically configure the substrate processing system based on the identified subsystems.

23. 22. The system of claim 21, The instructions cause the processor to automatically identify one or more subsystems installed in the substrate processing system based on the data received from the one or more cameras, and automatically configure a user interface of the substrate processing system based on the identified subsystems.

24. 22. The system of claim 21, The instructions cause the processor to automatically configure the substrate processing system based on the data received from the one or more cameras in response to the substrate processing system being powered on.

25. 22. The system of claim 21, The instructions cause the processor to automatically configure the substrate processing system based on the data received from the one or more cameras in response to the substrate processing system being serviced.

26. 22. The system of claim 21, The instructions cause the processor to automatically identify added subsystems or components of the subsystems based on the data received from the one or more cameras, and to automatically configure the substrate processing system based on the identified added subsystems or components of the subsystems.

27. 22. The system of claim 21, The instructions cause the processor to automatically identify a removed subsystem or component of the subsystem based on the data received from the one or more cameras, and to automatically configure the substrate processing system based on the identified removed subsystem or component of the subsystem.

28. 1. A system comprising: A processor; a memory for storing instructions to be executed by the processor; The memory includes: receiving data from one or more cameras disposed in a substrate processing system, the substrate processing system including a plurality of process modules and a robot configured to transfer substrates between the process modules and between the substrate processing system and a second substrate processing system; automatically identifying a state of one or more subsystems of the substrate processing system based on the data received from the one or more cameras disposed in the substrate processing system; and a system storing said instructions for:

29. 29. The system of claim 28, The system, wherein the data received from the one or more cameras includes video data, and the instructions cause the processor to automatically identify the condition of one or more subsystems using real-time processing of the video data.

30. 29. The system of claim 28, The instructions cause the processor to automatically track movement of an object in the substrate processing system based on the data received from the one or more cameras, and to automatically identify the status of one or more subsystems of the substrate processing system based on the movement of the object in the substrate processing system.

31. 29. The system of claim 28, In response to the condition being erroneous, the instructions cause the processor to automatically correct the error based on the data received from the one or more cameras.

32. 29. The system of claim 28, The system, wherein the processor is configured to communicate with a remote computing device over a network, and in response to the condition being an error, the instructions cause the processor to automatically correct the error based on data received from the remote computing device over the network.

33. 29. The system of claim 28, The processor is configured to communicate the data received from the one or more cameras over a network to a remote computing device, and the instructions cause the processor to permit the remote computing device to control the substrate processing system over the network based on the data received from the one or more cameras.

34. 29. The system of claim 28, The system includes a processor configured to communicate with a remote computing device over a network, and the instructions cause the processor to allow control of the substrate processing system by the remote computing device, while not allowing manual control of the substrate processing system while the remote computing device is controlling the substrate processing system over the network.

35. 29. The system of claim 28, The system, wherein the processor is configured to communicate with a remote computing device over a network, and the instructions cause the processor to not allow the remote computing device to control the substrate processing system while the substrate processing system is being manually controlled.

36. 29. The system of claim 28, In response to said condition being erroneous associated with one of said subsystems, said instructions cause said processor to automatically disable said one of said subsystems.

37. 31. The system of claim 30, The system, wherein the object includes the robot, one of the substrates, an edge bonding ring used with the substrate, a door of one of the process modules, a door of a load lock module of the substrate processing system, or a door of a load port module of the substrate processing system.

38. 1. A system comprising: A processor; a memory for storing instructions to be executed by the processor; The memory includes: receiving imaged data from the edge coupled ring with a single camera disposed on the substrate processing system; processing the data using triangulation to generate a three-dimensional point cloud representing a thickness profile of the edge-bonded ring; determining an amount of erosion of the edge bond ring based on the thickness profile; and a system storing said instructions for:

39. 39. The system of claim 38, The instructions cause the processor to determine whether the amount of erosion is greater than or equal to a predetermined threshold and generate an indication of the amount of erosion.

40. 39. The system of claim 38, The instructions cause the processor to determine the amount of erosion by comparing the thickness profile to a previous thickness profile generated from a previous three-dimensional point cloud created when the edge bond ring was initially installed in the substrate processing system.

Citation Information

Patent Citations

  • Shape measurement apparatus and shape measurement method

    JP2006258516A

  • Estimation of lifetime remaining for consumable part in semiconductor manufacturing chamber

    JP2016154224A