Electronic device manufacturing system and method for interconnecting between an evaluation system and a manufacturing system
By introducing a communication node between the evaluation system and the manufacturing system, the problem of integrating the evaluation system and the manufacturing system is solved, enabling efficient data collection and real-time optimization, and improving the fault detection and optimization capabilities of the manufacturing system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- APPLIED MATERIALS INC
- Filing Date
- 2023-03-15
- Publication Date
- 2026-06-09
Smart Images

Figure CN118633065B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to electrical components, and more specifically, to communication nodes used for interconnecting one or more evaluation systems with manufacturing systems. Background Technology
[0002] Products can be manufactured by performing one or more manufacturing processes using manufacturing equipment. For example, semiconductor manufacturing equipment (such as processing tools) can be used to produce semiconductor components (e.g., substrates, wafers, etc.) via semiconductor manufacturing processes. Processing tools can deposit films on the surface of a substrate and can perform etching processes to form complex patterns in the deposited film. For example, processing tools can perform chemical vapor deposition (CVD) processes to deposit thin films on the substrate. During the manufacturing processes, sensors can be used to determine the manufacturing parameters of the processing tools, system controllers can use controls to adjust these parameters to influence the processing results, and metrology equipment can be used to determine the property data of the products produced by the processing tools.
[0003] Tool data can be collected via a Data Collection Plan (DCP). In current systems, multiple different algorithms and machine learning models may require different types of tool data for specific purposes, and each algorithm and model may have a customized DCP. However, deploying or integrating different algorithms and machine learning models with the manufacturing system to perform DCPs can be a difficult and time-consuming process. Therefore, a system capable of interconnecting machine learning models with the manufacturing system is needed. Summary of the Invention
[0004] The following is a simplified summary of this disclosure to provide a basic understanding of some aspects of it. This summary is not a comprehensive overview of this disclosure. It is not intended to identify key or essential elements of this disclosure, nor is it intended to define any scope of any particular implementation of this disclosure or any scope of the claims. Its sole purpose is to present some concepts of this disclosure in a simplified form as a prelude to the more detailed description that follows.
[0005] In one aspect of this disclosure, an electronic device manufacturing system includes a processing tool and a tool server coupled to the processing tool, and includes a communication node and an evaluation system. The communication node is configured to: obtain one or more attributes from the evaluation system, and provide a monitoring device including a data collection plan based on the one or more attributes. The communication node is further configured to: register the monitoring device with the processing tool. The communication node is further configured to: receive data from the processing tool based on the data collection plan, and transmit the received data to the evaluation system.
[0006] Another aspect of this disclosure includes a method according to any aspect or implementation described herein.
[0007] Another aspect of this disclosure includes a non-transitory computer-readable storage medium comprising instructions that, when executed by a processing means operatively coupled to a memory, perform operations according to any aspect or embodiment described herein.
[0008] Another aspect of this disclosure includes an electronic device manufacturing system having a processing tool and a tool server coupled to the processing tool, the tool server including a communication node and an evaluation system. The communication node is configured to: receive data from monitoring devices registered on the processing tool based on a data collection plan, and transmit the received data to the evaluation system. The communication node is further configured to: receive feedback data from the evaluation system based on the received data, and cause the processing tool to perform corrective actions based on the feedback data. Attached Figure Description
[0009] This disclosure is illustrated in the accompanying drawings by way of example rather than limitation.
[0010] Figure 1 It is a block diagram illustrating an example system architecture based on certain implementation methods.
[0011] Figure 2 This is a top view schematic diagram of an example manufacturing system according to certain implementation methods.
[0012] Figure 3 This is an illustration of an example tool server based on certain implementations, showing various aspects of this disclosure.
[0013] Figure 4 It is an interactive diagram illustrating how data received from a monitoring device is processed to generate feedback and sent to a processing tool, based on descriptions of certain implementation methods.
[0014] Figure 5It is an interactive diagram that, according to the description of certain implementation methods, processes data received from a monitoring device to generate feedback and sends the feedback to a client device.
[0015] Figure 6 This is a flowchart of a method for generating a monitoring device according to certain embodiments.
[0016] Figure 7 Describes an illustrative prediction system based on certain implementations.
[0017] Figure 8 It is a block diagram illustrating a computer system according to certain implementation methods. Detailed Implementation
[0018] This article describes a technique for a configurable data collection interface used to evaluate systems. A Data Collection Plan (DCP) is a procedure for collecting system data (such as sensor data, event data, constant data, and setting data) from a manufacturing system using a combination of pre-configured settings, configuration files generated by parsing tools, and information collected via communication with the manufacturing system.
[0019] A manufacturing system may include multiple processing chambers. Each processing chamber may have multiple subsystems operating during each substrate manufacturing process (e.g., deposition, etching, polishing, etc.). A subsystem can be characterized as a set of sensors and controls related to the operating parameters of the processing chamber. Operating parameters may include temperature, flow rate, pressure, etc. In one example, a pressure subsystem may be characterized by one or more sensors measuring gas flow rate, chamber pressure, control valve angle, foreground piping (vacuum piping between pumps) pressure, pump speed, etc. Therefore, a processing chamber may include a pressure subsystem, a flow rate subsystem, a temperature subsystem, etc.
[0020] Manufacturing systems can collect system data for maintenance, analysis, and predictive techniques performed by one or more evaluation systems (e.g., machine learning models, inference engines, heuristic models, algorithms, physics-based engines, etc.). For example, each subsystem may experience degradation and deviate from optimal performance conditions; a pressure subsystem might experience reduced pressure due to one or more issues such as pump problems, control valve problems, etc. Failure to detect and repair these deteriorating conditions can lead to defects in the substrate, resulting in substandard products, reduced manufacturing yields, and significant downtime and repair time.
[0021] In the current environment, it may be necessary to deploy many different evaluation systems to collect data from a single manufacturing system. Each evaluation system may require different attributes (e.g., the type of data the evaluation system expects) and have different design parameters (e.g., written in different programming languages, using different communication interfaces, etc.). Furthermore, some evaluation systems may require custom software deployment on and / or integration with the manufacturing system, which could lead to the evaluation system dedicating its computational resources to the evaluation system itself. Therefore, deploying or integrating evaluation systems with manufacturing systems can be a difficult and time-consuming process, potentially consuming the manufacturing system's computational resources and causing manufacturing delays or problems.
[0022] The aspects and implementations of this disclosure address these and other drawbacks of the prior art by implementing a communication node to interconnect one or more evaluation systems with a manufacturing system. Specifically, the communication node can query one or more evaluation systems for one or more attributes that each evaluation system needs to obtain from the manufacturing system. These attributes can include any recordable data stored on or generated by the manufacturing system. For example, these attributes can include inputs used by the manufacturing system's processing tools, outputs generated from the processing tools (e.g., measurement data, sensor data, metadata, time data, etc.), control modes, recipe setpoints to be monitored (e.g., one or more processes triggered during recipe preparation for data retrieval or recording by a tool server), equipment constants to be monitored, observable data on other tool subsystems to be monitored, and so on.
[0023] The communication node can then provide (e.g., generate, define, etc.) monitoring devices. These monitoring devices can be any software program capable of retrieving or intercepting data from the manufacturing system. In some implementations, the monitoring devices may include device drivers, application programming interfaces (APIs), software applications, virtual devices (e.g., virtual peripherals), image files, firmware, etc. The communication node can configure the monitoring devices using DCP based on received attributes to collect certain system data from the manufacturing system, such as sensor data, event data, constant data, and setting data.
[0024] The communication node can then register the monitoring device on the manufacturing system. In some implementations, the communication tool can register the monitoring device on the frontend server software (FES) of the manufacturing system, rather than on the real-time control system (e.g., a backend server) of the manufacturing system. The FES can be an extension of the backend server of the manufacturing system and can be used to transmit requests received from other clients (such as the communication node). The monitoring device can be registered to collect only the system data to be used for system evaluation, as indicated by the DCP. By using the monitoring device, the communication node can retrieve or receive the desired system data directly from the processing tool. Further, registering the monitoring device with the FES enables the communication node to connect to the processing tool without causing any software changes to the processing tool. The communication node can receive the collected data in real-time or near real-time and send the collected data to the appropriate evaluation system. The evaluation system can process the collected data and generate feedback to be sent to the processing tool and / or external systems (e.g., client devices, external servers, etc.). The feedback data can include any meaningful findings derived from analyzing the data. For example, feedback data may include predictive data, diagnostic data (e.g., data indicating problems associated with manufacturing equipment), corrective actions (suggested or actionable actions to adjust formula parameters, process chamber parameters, etc.), optimization data (data indicating how to optimize one or more parameters or components of the manufacturing equipment), efficiency data (e.g., how efficient a component of the manufacturing equipment is), health data indicating the health status of a subsystem of the process chamber, alarms, etc.
[0025] In some implementations, communication nodes can use Remote Procedure Calls (RPCs) to communicate with the evaluation and manufacturing systems. An RPC is a communication protocol that allows a computer program (e.g., software) located in one system to request services from another computer program located in a different system on a network, without needing to know the details of the network or the specifics of the other computer program.
[0026] The use of monitoring devices and DCPs enables communication nodes to receive target data from the manufacturing system. By receiving only target data, communication nodes can send only the desired data to the evaluation system and / or external systems, rather than the entire set of raw data generated by the manufacturing system. This allows the evaluation system and / or external systems to process the received data immediately, rather than first performing an extraction function to retrieve the desired data from the dataset. Furthermore, the DCPs used by the monitoring devices can be modified or updated by the communication nodes, enabling them to dynamically change the type of data retrieved from the manufacturing system.
[0027] Therefore, the technical advantages of the various aspects of this disclosure include enabling easy interconnection of various evaluation systems with manufacturing systems without requiring custom software deployment and / or backend integration. Furthermore, the various aspects of this disclosure also offer the technical advantage of significantly reducing the time required to acquire and process specific data and to optimize parameters for processing formulations. The disclosed configuration allows manufacturing systems to receive correction actions with relatively low latency. Further technical advantages of the various aspects of this disclosure include significantly reducing the time spent testing substrates for problems or failures during manufacturing processes, and improving energy consumption, etc. This disclosure can also facilitate the generation of diagnostic data and the execution of correction actions to avoid inconsistent and abnormal products, as well as unplanned user time or downtime.
[0028] Figure 1 An illustrative computer system architecture 100 according to aspects of this disclosure is described. In some embodiments, the computer system architecture 100 may include a manufacturing system for processing a substrate (e.g., Figure 2 This is part of a manufacturing system 200. The computer system architecture 100 includes a client device 120, manufacturing equipment 124, metrology equipment 128, and data storage 140. Manufacturing equipment 124 may include sensors 126 configured to acquire data from substrates being processed within the manufacturing system. In some embodiments, manufacturing equipment 124 and sensors 126 may be part of a sensor system, including a sensor server (e.g., a field service server (FSS) at the manufacturing facility) and sensor identification code readers (e.g., front-opening standard compartment (FOUP) radio frequency identification (RFID) readers for the sensor system). In some embodiments, metrology equipment 128 may be part of a metrology system, including a metrology server (e.g., a metrology database, metrology folders, etc.) and metrology identification code readers (e.g., FOUP RFID readers for the metrology system).
[0029] Manufacturing equipment 124 can produce products, such as electronic devices, according to a formula or by performing operations over a period of time. Manufacturing equipment 124 may include a processing chamber. Manufacturing equipment 124 can perform processes on a substrate (e.g., a wafer) at the processing chamber. Examples of substrate processing include deposition processes to deposit one or more layers of film on the surface of the substrate, etching processes to form patterns on the surface of the substrate, and so on. Manufacturing equipment 124 can perform each process according to a processing formula. The processing formula defines a specific set of operations to be performed on the substrate during processing and may include one or more settings associated with each operation. For example, a deposition processing formula may include temperature settings for the processing chamber, pressure settings for the processing chamber, flow rate settings for precursors of materials included in the film deposited on the substrate surface, and so on.
[0030] In some embodiments, manufacturing equipment 124 includes sensors 126 configured to generate data associated with a substrate processed at manufacturing system 100. For example, a processing chamber may include one or more sensors configured to generate spectral or non-spectral data associated with the substrate before, during, and / or after processing (e.g., deposition) of the substrate. In some embodiments, the spectral data generated by sensor 126 may indicate the concentration of one or more materials deposited on the surface of the substrate. Sensors 126 configured to generate spectral data associated with the substrate may include reflectance measurement sensors, ellipticity measurement sensors, thermal spectroscopy sensors, capacitive sensors, etc. Sensors 126 configured to generate non-spectral data associated with the substrate may include temperature sensors, pressure sensors, flow rate sensors, voltage sensors, etc. (See also...) Figure 2 Further details regarding manufacturing equipment 124 are provided.
[0031] In some implementations, sensor 126 provides sensor data (e.g., sensor values, features, tracking data) associated with manufacturing equipment 124 (e.g., associated with the production of a corresponding product (e.g., a wafer) by manufacturing equipment 124). Manufacturing equipment 124 may produce a product according to a recipe or by performing a run over a period of time. Sensor data received over a period of time (e.g., corresponding to at least a portion of a recipe or run) may be referred to as tracking data received from different sensors 126 over time (e.g., historical tracking data, current tracking data, etc.). Sensor data may include values of one or more of the following: temperature (e.g., heater temperature), interval (SP), pressure, high-frequency radio frequency (HFRF), voltage of an electrostatic chuck (ESC), current, material flow rate, power, voltage, etc. Sensor data may be associated with or indicate manufacturing parameters, such as hardware parameters, such as settings or components of manufacturing equipment 124 (e.g., size, type, etc.), or processing parameters of manufacturing equipment 124. Sensor data may be provided while manufacturing equipment 124 is performing a manufacturing process (e.g., equipment readings while processing a product). Sensor data may be different for each substrate.
[0032] In some embodiments, manufacturing equipment 124 may include control unit 125. Control unit 125 may include one or more components or subsystems configured to perform and / or control one or more processes of manufacturing equipment 124. For example, subsystems may include pressure subsystems, flow subsystems, temperature subsystems, etc., each subsystem having one or more components. Components may include, for example, pressure pumps, vacuum devices, gas delivery lines, plasma etchers, actuators, etc. In some embodiments, control unit 125 may be managed based on data from sensor 126, inputs from control device 120, etc.
[0033] In some embodiments, manufacturing equipment 124 may include a tool server 127. Tool server 127 may include a communication node 132 and one or more evaluation systems 134, the communication node 127 being configured to interconnect with sensors 126 and controls 125. Evaluation system 134 may include any system capable of receiving input data and generating predictive data. For example, evaluation system 134 may include machine learning models, inference engines, heuristic models, algorithms, physics-based engines, etc. (About...) Figure 2 Further details about tool server 127 are provided.
[0034] The metrology equipment 128 can provide metrology data associated with the substrate processed by the manufacturing equipment 124. The metrology data may include values for film properties (e.g., wafer-space film properties), dimensions (e.g., thickness, height, etc.), dielectric constant, dopant concentration, density, defects, etc. In some embodiments, the metrology data may further include values for one or more surface profile properties (e.g., etching rate, etching rate uniformity, critical dimensions of one or more features included on the surface of the substrate, critical dimension uniformity across the entire substrate surface, edge placement error, etc.). The metrology data can be data for finished or semi-finished products. The metrology data may differ for each substrate. The metrology data can be generated using techniques such as reflectance measurement, elliptic measurement, and TEM.
[0035] Metrology equipment 128 may be included as part of manufacturing equipment 124. For example, metrology equipment 128 may be located within or coupled to a processing chamber and configured to generate metrology data of the substrate before, during, and / or after a process (e.g., deposition, etching, etc.) while the substrate is held in the processing chamber. In some cases, metrology equipment 128 may be referred to as in-situ metrology equipment. In another example, metrology equipment 128 may be coupled to another site of manufacturing equipment 124. For example, metrology equipment may be coupled to a transfer chamber (such as...) Figure 2 The transmission chamber 210), load lock (such as load lock 220) or factory interface (such as factory interface 206) are coupled.
[0036] Client device 120 may include computing devices such as personal computers (PCs), laptops, mobile phones, smartphones, tablets, netbooks, network-connected televisions (“smart TVs”), network-connected media players (e.g., Blu-ray players), set-top boxes, over-the-top (OTT) streaming devices, operator boxes, etc. In some embodiments, metering data may be received from client device 120. Client device 120 may display a graphical user interface (GUI) that allows a user to provide metering measurements of a substrate processed at the manufacturing system as input. Client device 120 may include a calibration action component 122. Calibration action component 122 may receive user input (e.g., via the graphical user interface (GUI) displayed on client device 120) indicating a direction associated with manufacturing equipment 124. In some embodiments, calibration action component 122 transmits instructions to prediction system 710 and receives outputs (e.g., prediction data) from prediction system 710. Figure 7 As shown, the system determines a correction action based on the output and causes the correction action to be performed. In some embodiments, the correction action component 122 receives an instruction for a correction action from the prediction system 710 and causes the correction action to be performed. Each client device 120 includes an operating system that allows a user to perform one or more operations of generating, viewing, or editing data, such as instructions associated with manufacturing equipment 124, correction actions associated with manufacturing equipment 124, etc.
[0037] Data storage 140 may be a memory (e.g., random access memory), a drive (e.g., a hard disk drive, flash drive), a database system, or another type of component or device capable of storing data. Data storage 140 may include multiple storage components (e.g., multiple drives or multiple databases) that can span multiple computing devices (e.g., multiple server computers). Data storage 140 may store data associated with processing a substrate at manufacturing equipment 124. For example, data storage 140 may store data (referred to as processing data) collected by sensors 126 at manufacturing equipment 124 before, during, or after substrate processing. Processing data may refer to historical processing data (e.g., processing data generated for a previous substrate processed at the manufacturing system) and / or current processing data (e.g., processing data generated for the current substrate processed at the manufacturing system). The data storage may also store spectral or non-spectral data associated with a portion of the substrate processed at manufacturing equipment 124. Spectral data may include historical spectral data and / or current spectral data.
[0038] Data storage 140 may also store context data associated with one or more substrates processed at the manufacturing system. Context data may include recipe names, recipe step numbers, preventative maintenance instructions, operators, etc. Context data may refer to historical context data (e.g., context data associated with a previous process performed on a previous substrate) and / or current processing data (e.g., context data associated with the current process or a future process to be performed on a previous substrate). Context data may also include identification sensors associated with specific subsystems of the processing chamber.
[0039] Data storage 140 may also store task data. Task data may include a set of one or more operations performed on the substrate during the deposition process, and may include one or more settings associated with each operation. For example, task data for the deposition process may include temperature settings for the processing chamber, pressure settings for the processing chamber, flow rate settings for precursors of the film material deposited on the substrate, etc. In another example, task data may include controlling the pressure at a pressure point defined for the flow rate value. Task data may refer to historical task data (e.g., task data associated with a previous process performed on a previous substrate) and / or current task data (e.g., task data associated with the current process or a future process to be performed on the substrate).
[0040] In some embodiments, data storage 140 may store expected curves, thickness curves, and calibration curves. Expected curves may include one or more data points associated with a desired film curve expected to be produced by a particular processing formulation. In some embodiments, expected curves may include the desired thickness of the film. Thickness curves may include one or more data points associated with the current film curve produced by manufacturing equipment 124. Thickness curves may be measured using metrology equipment 128. Calibration curves may include one or more adjustments or offsets to parameters to be applied to the processing chamber or processing formulation. For example, calibration curves may include adjustments to temperature settings for the processing chamber, pressure settings for the processing chamber, flow rate settings for precursors of materials included in the film deposited on the substrate surface, power supplied to the processing chamber, ratios of two or more settings, etc. Calibration curves may be generated by comparing expected curves (e.g., thickness curves expected to be produced by the processing formulation) and using a known failure mode library and / or algorithm to determine parameters to be applied to the processing formulation to achieve adjustments to the expected curves. Calibration curves may be generated as output from evaluation system 134. Calibration curves may be applied to steps associated with deposition processes, etching processes, etc.
[0041] In some embodiments, data storage 140 may be configured to store data inaccessible to users of the manufacturing system. For example, processing data, spectral data, context data, etc., obtained for a substrate being processed at the manufacturing system are inaccessible to users of the manufacturing system (e.g., operators). In some embodiments, all data stored in data storage 140 may be inaccessible to users of the manufacturing system. In other or similar embodiments, a portion of the data stored in data storage 140 may be inaccessible to users, while another portion may be accessible to users. In some embodiments, one or more portions of the data stored in data storage 140 may be encrypted using an encryption mechanism unknown to the user (e.g., the data is encrypted using a private encryption key). In other or similar embodiments, data storage 140 may include multiple data storage units, wherein inaccessible data is stored in one or more first data storage units, while accessible data is stored in one or more second data storage units.
[0042] In some implementations, data storage 140 may be configured to store data associated with known failure modes. A failure mode may be one or more values (e.g., vectors, scalars, etc.) associated with one or more problems or failures related to the processing chamber subsystem. In some implementations, a failure mode may be associated with corrective actions. For example, a failure mode may include parameter adjustment steps to correct the problem or failure indicated by the failure mode. For example, a predictive system may compare the identified failure mode with a known library of failure modes to determine the type of failure experienced by the subsystem, the cause of the failure, recommended corrective actions for correcting the failure, etc.
[0043] Client device 120, manufacturing equipment 124, sensor 126, metering equipment 128, tool server 127, and data storage 140 may be coupled to each other via network 130. In some embodiments, network 130 is a public network that provides client device 120 with access to manufacturing equipment 124, data storage 140, and other publicly accessible computing devices. In some embodiments, network 130 is a private network that provides client device 120 with access to manufacturing equipment 124, metering equipment 128, data storage 140, and other privately accessible computing devices. Network 130 may include one or more wide area networks (WANs), local area networks (LANs), wired networks (e.g., Ethernet networks), wireless networks (e.g., 802.11 networks or Wi-Fi networks), cellular networks (e.g., LTE networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.
[0044] In this implementation, a "user" may be referred to as a single individual. However, other implementations of this disclosure include "users" as entities controlled by multiple users and / or automated sources. For example, a group of individual users collectively acting as a group of administrators can be considered "users".
[0045] Figure 2 This is a top view schematic diagram of an example manufacturing system 200 according to various aspects of this disclosure. The manufacturing system 200 can perform one or more processes on a substrate 202. The substrate 202 can be any planar article with suitable rigidity, fixed size, such as a silicon-containing disk or wafer, a patterned wafer, a glass plate, or the like, which is suitable for manufacturing electronic devices or circuit components thereon.
[0046] Manufacturing system 200 may include a processing tool 204 and a factory interface 206 coupled to the processing tool 204. The processing tool 204 may include a housing 208 having a transfer chamber 210. The transfer chamber 210 may include one or more processing chambers (also called process chambers) 214, 216, 218 disposed around and coupled to the transfer chamber 210. Processing chambers 214, 216, 218 may be coupled to the transfer chamber 210 via corresponding ports (e.g., slit valves, etc.). The transfer chamber 210 may also include a transfer chamber robot 212 configured to transfer substrate 202 between processing chambers 214, 216, 218, loading lock 220, etc. The transfer chamber robot 212 may include one or more arms, each arm including one or more end effectors at its end. The end effectors may be configured to handle specific objects, such as wafers, sensor disks, sensor tools, etc.
[0047] Processing chambers 214, 216, and 218 can be adapted to perform any number of processes on substrate 202. The same or different substrate processes can be performed in each processing chamber 214, 216, and 218. Substrate processes can include atomic layer deposition (ALD), physical vapor deposition (PVD), chemical vapor deposition (CVD), etching, annealing, curing, pre-cleaning, removal of metals or metal oxides, etc. Other processes can be performed on the substrate within these chambers. Processing chambers 214, 216, and 218 can each include one or more sensors configured to acquire data about substrate 202 before, after, or during substrate processing. For example, the one or more sensors can be configured to acquire spectral and / or non-spectral data of a portion of substrate 202 during substrate processing. In other or similar embodiments, the one or more sensors can be configured to acquire data associated with the environment within processing chambers 214, 216, and 218 before, after, or during substrate processing. For example, the one or more sensors may be configured to acquire data related to temperature, pressure, gas concentration, etc., of the environment within the processing chambers 214, 216, 218 during substrate processing. In some embodiments, the processing chambers 214, 216, 218 may include metering equipment 240.
[0048] Loading lock 220 can also be coupled to housing 208 and transfer chamber 210. Loading lock 220 can be configured to dock and couple to transfer chamber 210 on one side and to factory interface 206. In some embodiments, loading lock 220 can have an environmentally controlled atmosphere that can change from a vacuum environment (where substrates can be transferred to or from transfer chamber 210) to atmospheric pressure or a near-atmospheric pressure inert gas environment (where substrates can be transferred to and from factory interface 206). Factory interface 206 can be any suitable housing, such as a device front-end module (EFEM). Factory interface 206 can be configured to receive substrate 202 from substrate carrier 222 (e.g., front-opening standard compartment (FOUP)) docked at various loading ports 224 of factory interface 206. Factory interface robot 226 (shown in dashed lines) can be configured to transfer substrate 202 between carrier (also called container) 222 and loading lock 220. The carrier 222 can be a substrate storage carrier or a replacement part storage carrier.
[0049] Manufacturing system 200 may also connect to a client device (not shown) configured to provide information about manufacturing system 200 to a user (e.g., an operator). In some embodiments, the client device may provide information to the user of manufacturing system 200 via one or more graphical user interfaces (GUIs). For example, the client device may provide information via the GUI about a target thickness profile of a film to be deposited on the surface of substrate 202 during deposition processes performed in processing chambers 214, 216, 218. According to the embodiments described herein, the client device may also provide information about modifications to the processing formulation based on a corresponding set of deposition settings predicted to correspond to the target distribution.
[0050] Manufacturing system 200 may also include system controller 228. System controller 228 may be and / or may include computing devices such as personal computers, server computers, programmable logic controllers (PLCs), microcontrollers, etc. System controller 228 may include one or more processing devices, which may be general-purpose processing devices such as microprocessors, central processing units, or the like. More specifically, the processing device may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor that implements other instruction sets or a combination of instruction sets. The processing device may also be one or more special-purpose processing devices, such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), network processors, or the like. System controller 228 may include data storage devices (e.g., one or more disk drives and / or solid-state drives), main memory, static memory, network interfaces, and / or other components. System controller 228 may execute instructions to perform any one or more methodologies and / or implementations described herein. In some implementations, system controller 228 may execute instructions to perform one or more operations at manufacturing system 200 according to a processing recipe. The instructions may be stored on a computer-readable storage medium, which may include main memory, static memory, auxiliary storage, and / or processing means (during execution of the instructions).
[0051] System controller 228 may receive data from sensors included on or within various parts of manufacturing system 200, such as processing chambers 214, 216, 218, transfer chamber 210, loading lock 220, etc. System controller 228 may be interconnected with controls included on or within various parts of manufacturing system 200, such as processing chambers 214, 216, 218, transfer chamber 210, loading lock 220, etc. In some embodiments, the data received by system controller 228 may include spectral and non-spectral data of a portion of substrate 202. In other or similar embodiments, the data received by system controller 228 may include data associated with processing substrate 202 at processing chambers 214, 216, 218, as previously described. For the purposes of this description, system controller 228 is described as receiving data from sensors included within processing chambers 214, 216, 218. However, system controller 228 may also receive data from any part of manufacturing system 200 and may use the data received from that part according to the embodiments described herein. In an illustrative example, system controller 228 may receive data from one or more sensors in processing chambers 214, 216, 218 before, after, or during substrate processing in processing chambers 214, 216, 218. Data received from sensors in various parts of manufacturing system 200 may be stored in data storage 250. Data storage 250 may be included as a component within system controller 228 or may be a component separate from system controller 228. In some embodiments, data storage 250 may be related to Figure 1 The data storage device 140 is described.
[0052] Manufacturing system 200 may also include tool server 227. Tool server 227 may include one or more computing devices, such as rack servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, GPUs, ASICs, etc. Tool server 227 may include data storage devices (e.g., one or more disk drives and / or solid-state drives), main memory, static memory, network interfaces, and / or other components. Tool server 227 may execute instructions to perform any one or more methods and / or implementations described herein. In some implementations, tool server 227 may execute instructions to perform one or more data collection operations at manufacturing system 200 upon request from an evaluation system. Instructions may be stored on a computer-readable storage medium, which may include main memory, static memory, secondary storage, and / or processing devices (during execution of instructions). In some implementations, tool server 227 may be similar to or the same as tool server 127.
[0053] In some implementations, tool server 227 may store one or more evaluation systems. Evaluation systems may include machine learning models (e.g., Figure 7 The model 790 and / or prediction server 712), inference engine, heuristic model, algorithm, physics-based model, etc. In some embodiments, one or more evaluation systems can be trained and / or stored on tool server 227. In some embodiments, one or more evaluation systems can be trained and / or stored on an external server (not shown) that communicates with server 227.
[0054] Tool server 227 may include communication node 232, which is configured to interconnect one or more evaluation systems 234 with processing tool 204. Specifically, communication node 232 may be configured to bridge data from processing tool 204 (e.g., from tool data bus) to evaluation system 234 with low latency (e.g., about one millisecond). In some embodiments, communication node 232 may communicate with evaluation system 234 and processing tool 204 using remote procedure calls (RPC).
[0055] RPC is a communication protocol that allows a program to request services from a program on another computer on a network, without needing to know the details of the network or the specifics of the other computer program. Specifically, RPC is used to invoke other processes on remote systems, such as the local system. In some implementations, RPC may include gRPC (Google's proprietary protocol). ® Remote procedure calls (RPC), JSON-RPC (JavaScript Object Notation RPC), XML-RPC (Extensible Markup Language RPC), etc. In some implementations, communication node 232 may use other software communication protocols (e.g., Remote Method Invocation (RMI), Inter-Process Communication (IPC), etc.) to communicate with evaluation system 234.
[0056] In some implementations, communication node 232 may receive from evaluation system 234 one or more desired attributes that the evaluation system expects to obtain from processing tool 204. These attributes may include any recordable data that the evaluation system expects, such as, but not limited to, inputs used by the processing tool, outputs generated from the processing tool (e.g., measurement data, sensor data, metadata, time data, etc.), control modes, recipe setpoints to be monitored (e.g., one or more processes that trigger data retrieval or recording processing by communication node 232 during recipe preparation), equipment constants to be monitored, observable data on other tool subsystems to be monitored, and so on.
[0057] Communication node 232 can generate a monitoring device, which is any software program capable of retrieving data from processing tool 204. In some embodiments, the monitoring device may include a device driver, application programming interface (API), software application, virtual device (e.g., virtual peripheral device), image file, firmware, etc. Communication node 232 can configure the monitoring device based on received attributes to retrieve data from processing tool 204. In some embodiments, the monitoring device may be configured to retrieve external sensor data from one or more sensors interconnected with the processing tool. The external sensors may be operated by the evaluation system, the monitoring device, or any other system independent of system controller 228.
[0058] In some implementations, communication node 232 may register a monitoring device on the front-end server software (FES) of the processing tool, rather than on the real-time control system (e.g., back-end) of the processing tool. The monitoring device may be registered to collect only the data indicated by the DCP for system evaluation. By using the monitoring device, the communication node can retrieve or receive desired data directly from the processing tool. Furthermore, registering the monitoring device with the FES enables the communication node to connect to the processing tool without causing changes to the processing tool's software.
[0059] In some implementations, communication node 232 may include multiple components to bridge data between processing tool 204 and evaluation systems. In one such implementation, tool server 227 may include edge nodes and gateway nodes. Edge nodes may perform query functions, data collection functions, and monitoring device-related functions as described above. Gateway nodes may perform multiplexing functions between edge nodes and multiple evaluation systems. In particular, gateway nodes may facilitate complexity management with multiple processing chambers running differential evaluation algorithms. Multiplexing may be a method in which multiple signals are combined into a single signal over a common medium (e.g., a communication channel).
[0060] Figure 3This is a block diagram 300 illustrating an example tool server 305 according to aspects of this disclosure. Tool server 305 may include an edge node 310, a gateway node 315, and one or more evaluation systems, such as one or more machine learning models 320, one or more inference engines 325, and one or more physics-based engines 330. Tool server 305 may communicate with processing tool 204 via, for example, a processing tool bus 340. In some embodiments, edge node 310 may request gateway node 315 to query attributes of each evaluation system (e.g., machine learning model 320, inference engine 325, physics-based engine 330, etc.). Gateway node 315 may receive attributes from each evaluation system and send these attributes to edge node 310. In some embodiments, each set of attributes for each evaluation system may include one or more tags (e.g., metadata, headers, etc.) indicating the corresponding evaluation system. Tags may be used to identify which evaluation system data from the processing tool is to be sent to. Edge node 310 may then generate monitoring devices for each evaluation system based on the corresponding set of received attributes and register each monitoring device on processing tool bus 340. Each monitoring device may include a Data Collection Plan (DCP) based on relevant attributes. Each monitoring device may be maintained by an edge node and / or reside on an edge node.
[0061] The processing tool bus 340 may be a system bus connecting multiple components of the processing tool and / or manufacturing system. In some embodiments, the processing tool bus 340 may communicate with one or more sensors (e.g., sensor 126), data systems, control systems (e.g., system controller 228), system controls, etc. During the execution of a recipe by the processing tool, each monitoring device may retrieve data indicated by its corresponding DCP from the processing tool 204, and the edge node 310 may then transmit the data to the gateway node 315. The gateway node 315 may then classify the data and send the corresponding data to each appropriate evaluation system. For example, based on the DCP generated for the machine learning model 320, the monitoring device may receive corresponding data (e.g., system data) from the processing tool bus 340, and the edge node 310 may send the corresponding data to the gateway node 315. The gateway node 315 may use, for example, tags to determine which evaluation system should receive the data and forward the data to the appropriate evaluation system (e.g., machine learning model 320).
[0062] In some implementations, the evaluation system can process the received system data and generate feedback data. Feedback data can include any meaningful findings derived from analyzing the data. For example, feedback data can include predictive data, diagnostic data (e.g., data indicating problems associated with manufacturing equipment), corrective actions, optimization data (data indicating how to optimize one or more parameters or components of the manufacturing equipment), efficiency data (e.g., how efficient a component of the manufacturing equipment is), health data indicating the health status of a subsystem of the processing chamber, etc. The health status of a subsystem can be characterized as a comparison of the subsystem's current behavior (current sensor values) with its expected behavior (expected sensor values). A subsystem can be characterized as a set of attributes related to the operating parameters of the processing chamber, such as temperature, flow rate, pressure, etc.
[0063] The feedback data can then be sent to the processing tool via gateway node 315 and / or edge node 310. In some embodiments, the processing tool 204 can perform one or more actions based on the feedback data. For example, the processing tool 204 can adjust recipe parameters, adjust processing chamber parameters, generate alarms, etc., based on the feedback. In some embodiments, the tool server 305 can send the feedback data to an external system. In some embodiments, the external system includes client device 120, an external server, an external computer system, etc.
[0064] In some implementations, each component of block diagram 300 can communicate with other components using RPC information. For example, the evaluation system uses RPC information to communicate with gateway node 315 (e.g., to send attribute data, send feedback data, receive sensor data, etc.). In another example, gateway node 315 can use RPC information to communicate with edge node 310. In yet another example, processing tool 204 can use RPC information to communicate with edge node 310. In other implementations, the evaluation system can use other wireless or wired communication methods to send feedback data.
[0065] Figure 4 Interactive diagram 400 describes how data received from a monitoring device is processed to generate feedback and sent to a processing tool, based on aspects of this disclosure. Interactive diagram 400 includes blocks that can be understood as blocks similar to a flowchart of a method. Therefore, if executed as a method, the blocks shown in interactive diagram 400 (blocks of operations), the method, and each of its individual functions, routines, subroutines, or operations can be executed by one or more processors of a computer device executing the method.
[0066] The block shown in Figure 400 can be executed by processing logic, which may include hardware (circuit systems, dedicated logic, etc.), software (e.g., running on a general-purpose computer system or a dedicated machine), firmware, or some combination of the above. In one embodiment, the block shown in Figure 400 can be executed by a computer system (e.g., Figure 1 Computer system architecture 100 or Figure 2 The manufacturing system 200) performs the operation. In other or similar embodiments, one or more operations of the block shown in FIG400 may be performed by one or more other machines not depicted in the figure. In some aspects, one or more operations of the block shown in FIG400 may be performed by... Figure 2 The system controller 228, communication node 232, and evaluation system 234 are executed.
[0067] In operation 410, communication node 232 may query evaluation system 234 for one or more attributes. In one example, communication node 232 may send a request to one or more evaluation systems (e.g., evaluation system 234) to obtain a list of attributes that each evaluation system expects to obtain from the processing tool (or manufacturing system).
[0068] In operation 415, the evaluation system 234 may send a list of attributes to the communication node 232. These attributes may include inputs used by the processing tool, outputs generated by the processing tool (e.g., measurement data, sensor data, metadata, time data, etc.), control modes, recipe setpoints to be monitored, equipment constants to be monitored, observable data on other tool subsystems to be monitored, and so on.
[0069] In operation 420, communication node 232 may generate or otherwise provide a monitoring device. The monitoring device may be any software program capable of retrieving or intercepting data from the processing tool. The communication node can then configure the monitoring device using DCP based on received attributes to collect certain sensor data, event data, constant data, and setting data from the processing tool. The monitoring device can be executed from and maintained by communication node 232.
[0070] In operation 425, communication node 232 may register the monitoring device on system controller 228. For example, communication node 232 may register the monitoring device on the FES of system controller 228. In some embodiments, once registered, the monitoring device initially sends pre-run data to the communication node. The pre-run data may include configuration parameters, tool data, or any other data required by DCP, which may be sent before the recipe is executed.
[0071] In operation 430, system controller 228 may run a processing recipe. The processing recipe defines a specific set of operations to be performed on the substrate during processing and may include one or more settings associated with each operation. For example, a deposition processing recipe may include temperature settings for the processing chamber, pressure settings for the processing chamber, flow rate settings for precursors of materials included in the film deposited on the substrate surface, etc. In some embodiments, in response to the execution of the processing recipe, communication node 232 may send an indication to evaluation system 234 that execution has begun. Evaluation system 234 may then execute one or more sensor drivers to receive data from monitoring devices.
[0072] In operation 435, the monitoring device (registered on system controller 228) can retrieve and collect manufacturing data indicated by the DCP. Because the manufacturing data is generated by the processing tool, the monitoring device can obtain the manufacturing data from, for example, the processing tool bus. The monitoring device can monitor specific types of data based on the DCP. In some embodiments, data can be sent in response to a trigger. For example, the monitoring device can monitor the processing tool bus for one or more steps of a specified processing recipe that begin at a specified processing chamber. Once the one or more steps are detected, the monitoring device (via communication node 232) can trigger the evaluation system 234 with a signal and send data defined by the DCP. The trigger can be defined by an attribute list and / or the DCP. The trigger can include a triggering function, such as a special type of stored procedure that runs automatically when an event occurs. In another example, a trigger can be assigned to a processing recipe (e.g., installed or configured on system controller 228) where the trigger indicates one or more processing recipe steps to initiate the monitoring device. In response to the activation of a trigger (e.g., the processing recipe set is initiated by system controller 228), or in response to receiving an indication associated with the output of the trigger, a signal can be sent from system controller 228 to communication node 232, instructing the monitoring device to initiate and / or trigger data collection operations. In some embodiments, multiple triggers may be generated by the monitoring device.
[0073] In operation 440, communication node 232 can send received data to evaluation system 234. It should be noted that only one evaluation system is discussed with respect to Figure 400. However, multiple evaluation systems can be used to perform one or more operations of the blocks shown in Figure 400, as per [the previous sentence]. Figure 3 As discussed.
[0074] In operation 445, evaluation system 234 can process the received data to generate feedback data (e.g., predicted data, corrective actions, etc.). For example, processing logic can apply a machine learning model to the input data. The machine learning model can then generate output data (e.g., one or more output values) that indicate the predicted data and / or indicate the type of corrective action to be performed to correct a suspected problem or fault indicated by the predicted data. The corrective action can change and / or update one or more parameters of the processing formulation or processing chamber. For example, the correction profile may include adjustments to the temperature setting of the processing chamber, the pressure setting of the processing chamber, the flow rate setting for the precursor of the material included in the film deposited on the substrate surface, the power supplied to the processing chamber, the ratio of two or more settings, etc.
[0075] In operation 450, evaluation system 234 may send feedback data to communication node 232. In operation 455, evaluation system 234 may send feedback data to system controller 228. In some embodiments, system controller 228 may perform (or recommend) corrective actions referenced by the feedback data. In some embodiments, corrective actions may be determined based on data obtained from a fault database. In some embodiments, corrective actions may include generating an alarm or indication of the identified problem. In some embodiments, corrective actions may include processing logic adjusting one or more parameters of a deposition process formulation, etching process formulation, or any other processing formulation (e.g., temperature setting of the processing chamber, pressure setting of the processing chamber, flow rate setting of precursors of materials included in the film deposited on the substrate surface, etc.) based on the desired properties of the film. In some embodiments, the processing formulation may be adjusted before, during (e.g., in real time), or after the deposition process.
[0076] Figure 5 Interactive diagram 500 describes how data received from a monitoring device is processed to generate feedback and sent to a client device, based on aspects of this disclosure. Interactive diagram 500 includes blocks that can be understood as blocks similar to those in a flowchart of a method. Therefore, if executed as a method, the blocks shown in interactive diagram 500 (blocks of operations), the method, and each of its individual functions, routines, subroutines, or operations can be executed by one or more processors of a computer device executing the method.
[0077] The block shown in Figure 500 can be executed by processing logic, which may include hardware (circuit systems, special-purpose logic, etc.), software (e.g., running on a general-purpose computer system or a special-purpose machine), firmware, or some combination of the above. In one embodiment, the block shown in Figure 500 can be executed by a computer system (e.g., Figure 1 Computer system architecture 100 or Figure 2The manufacturing system 200) performs the operation. In other or similar embodiments, one or more operations of the block shown in FIG. 500 may be performed by one or more other machines not depicted in the figures. In some aspects, one or more operations of the block shown in FIG. 500 may be performed by... Figure 2 The system controller 228, communication node 232, and evaluation system 234 perform this. In some embodiments, Figure 5 Operations from 510 to 540 can be combined with Figure 4 The operation is similar to 410 to 440.
[0078] In operation 510, communication node 232 may query evaluation system 234 for one or more attributes. In one example, communication node 232 may send a request to one or more evaluation systems (e.g., evaluation system 234) to obtain a list of attributes that each evaluation system expects to obtain from the processing tool (or manufacturing system).
[0079] At block 515, the evaluation system 234 can send a list of attributes to the communication node 232. These attributes may include inputs used by the processing tool, outputs generated by the processing tool (e.g., measurement data, sensor data, metadata, time data, etc.), control modes, recipe setpoints to be monitored, equipment constants to be monitored, observable data on other tool subsystems to be monitored, and so on.
[0080] At block 520, communication node 220 can generate or otherwise provide a monitoring device. The monitoring device can be any software program capable of retrieving or intercepting data from the processing tool. The communication node can then configure the monitoring device using DCP based on received attributes to collect certain sensor data, event data, constant data, and setting data from the processing tool.
[0081] At block 525, communication node 232 can register a monitoring device on system controller 228. For example, communication node 232 can register a monitoring device on the FES of system controller 228. In some implementations, once registered, the monitoring device initially sends pre-run data to the communication node. The pre-run data may include configuration parameters, tool data, or any other data required by DCP, which may be sent before executing the recipe.
[0082] At block 530, system controller 228 can execute a processing recipe. The processing recipe defines a specific set of operations to be performed on the substrate during processing and may include one or more settings associated with each operation. For example, a deposition processing recipe may include temperature settings for the processing chamber, pressure settings for the processing chamber, flow rate settings for precursors of materials included in the film deposited on the substrate surface, etc. In some embodiments, in response to the execution of the processing recipe, communication node 232 may send an indication to evaluation system 234 that execution has begun. Evaluation system 234 may then execute one or more sensor drivers to receive data from monitoring devices.
[0083] At block 535, the monitoring device (registered on system controller 228) can send data to communication node 232 associated with the DCP. Because the data is generated by the processing tool, the monitoring device can obtain the data from, for example, the processing tool bus. The monitoring device can listen for specific types of data based on the DCP. In some implementations, data can be sent in response to a trigger. For example, the monitoring device can monitor the processing tool bus for one or more steps of a specified processing recipe that begin at a specified processing chamber. Once the one or more steps are detected, the monitoring device (via communication node 232) can trigger evaluation system 234 with a signal and send data defined by the DCP. The trigger can be defined by an attribute list and / or the DCP.
[0084] At block 540, communication node 232 can send received data to evaluation system 234. It should be noted that, for the purposes of Figure 500, only one evaluation system is discussed. However, multiple evaluation systems can be used to perform one or more operations of the blocks shown in Figure 500, as in... Figure 3 As discussed.
[0085] At block 545, the evaluation system 234 can process the received data to generate feedback data. For example, the processing logic can apply a machine learning model or a physics-based engine to the input data. The machine learning model or physics-based engine can then generate output data (e.g., one or more output values) indicating predictive data, diagnostic data, optimization data, efficiency data, and / or health data associated with the manufacturing equipment (e.g., manufacturing equipment 126). In another embodiment, the feedback data may include suggested corrective actions indicating actions to be performed to correct suspected problems or malfunctions.
[0086] At block 550, the evaluation system 234 can send feedback to the client device 120. At block 555, the client device 120 can use and / or perform functions based on the feedback data. For example, the client device 120 can display the feedback data (e.g., display diagnostic data, display suggested corrective actions, etc.), execute the feedback data (e.g., execute corrective actions, update the treatment formula, etc.), or perform any other function associated with the feedback data. In some embodiments, the client device can use the corrective action component 122 to perform functions.
[0087] Figure 6 This is a flowchart of a method 600 for generating a monitoring device according to aspects of this disclosure. Method 600 is executed by processing logic, which may include hardware (circuit systems, dedicated logic, etc.), software (e.g., running on a general-purpose computer system or a dedicated machine), firmware, or some combination thereof. In one embodiment, method 600 may be performed by a computer system (e.g., Figure 1 The operation of method 600 is performed by computer system architecture 100. In other or similar embodiments, one or more operations of method 600 may be performed by one or more other machines not shown in the figures. In some aspects, one or more operations of method 600 may be performed by manufacturing equipment 124 and / or tool server 227.
[0088] In operation 610, the processing logic queries one or more evaluation systems for one or more attributes. For example, the processing logic may send a request to one or more evaluation systems, requesting a list of attributes that each evaluation system expects to obtain from the processing tool. Each set of attributes for each evaluation system may include one or more labels (e.g., metadata, headers, etc.) indicating the corresponding evaluation system.
[0089] In operation 620, the processing logic provides the monitoring device based on one or more attributes. The monitoring device can be any software program capable of retrieving or intercepting data from the processing tool. The processing logic can configure the monitoring device using a DCP to collect certain sensor data, event data, alarm data, and setting data from the processing tool. The DCP can be based on the received attributes.
[0090] In operation 630, the processing logic registers a monitoring device on the system controller of the processing tool. For example, the processing logic may install a monitoring device on the manufacturing system and / or the FES of the processing tool. The monitoring device may listen for specific types of data based on DCP.
[0091] In operation 640, the processing logic can receive data from the monitoring device. For example, the monitoring device can monitor the processing tool bus for specific types of data associated with the DCP, specific triggers (e.g., the initiation of a processing recipe step), etc. Data corresponding to the triggers and / or the DCP can be received by the processing logic.
[0092] In operation 650, the processing logic can send the received data to the evaluation system. The evaluation system can then process the received data to generate feedback data, such as predicted data and / or correction actions.
[0093] Figure 7 An illustrative prediction system 700 is described based on aspects of this disclosure. Prediction system 700 can be used to generate prediction data, provide model adaptations, utilize knowledge bases, etc. Prediction server 712 can be part of prediction system 710 and can be an implementation of an evaluation system (e.g., evaluation system 234). Prediction system 710 may further include server machines 770 and 780.
[0094] Predictive server 712, server machine 770 and server machine 780 may each include one or more computing devices, such as rack server, router computer, server computer, personal computer, mainframe computer, laptop computer, tablet computer, desktop computer, graphics processing unit (GPU), accelerator application-specific integrated circuit (ASIC) (e.g., tensor processing unit (TPU)), etc.
[0095] Server machine 770 includes a training set generator 772 capable of generating training datasets (e.g., a set of data inputs and a set of target outputs) to train, validate, and / or test machine learning model 790. Machine learning model 790 can be any algorithmic model capable of learning from data. In some embodiments, dataset generator 772 can partition training data into training, validation, and test sets. In some embodiments, prediction system 710 generates multiple sets of training data.
[0096] Server machine 780 may include training engine 782, validation engine 784, selection engine 785, and / or testing engine 786. An engine may refer to hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing device, etc.), software (e.g., instructions running on a processing device, general-purpose computer system, or dedicated machine), firmware, microcode, or a combination of the above. Training engine 782 may be capable of training one or more machine learning models 790. Machine learning model 790 may refer to a model artifact produced by training engine 782 using training data (also referred to herein as a training set), which includes data inputs and corresponding target outputs (the correct answers to the corresponding training inputs). Training engine 782 may search for patterns in the training data that map training inputs to target outputs (the answers to be predicted) and provide machine learning models 790 that capture these patterns. Machine learning models 790 can use one or more of the following: statistical modeling, support vector machine (SVM), radial basis function (RBF), clustering, supervised machine learning, semi-supervised machine learning, unsupervised machine learning, k nearest neighbor algorithm (k-NN), linear regression, random forest, neural network (e.g., artificial neural network), etc.
[0097] One type of machine learning model that can be used to perform some or all of the tasks described above is an artificial neural network, such as a deep neural network. Artificial neural networks typically include feature representation components with classifier or regression layers that map features to a desired output space. For example, a convolutional neural network (CNN) contains multiple layers of convolutional filters. Pooling is performed at lower layers and can solve non-linear problems; on top of these lower layers, multiple perceptrons are typically attached, mapping the top-level features extracted by the convolutional layers to a decision (e.g., a classification output). Deep learning is a class of machine learning algorithms that use a cascade of multiple layers of non-linear processing units for feature extraction and transformation. Each successive layer uses the output from the previous layer as input. Deep neural networks can learn in a supervised (e.g., classification) and / or unsupervised (e.g., pattern analysis) manner. Deep neural networks consist of a hierarchical structure of layers, with different layers learning different levels of representation corresponding to different levels of abstraction. In deep learning, each layer learns to transform its input data into a slightly more abstract and complex representation. For example, in plasma processing tuning, the initial input might be a distribution of the processing results (e.g., a thickness curve indicating one or more thickness values across the entire substrate surface); the second layer might consist of feature data associated with the state of one or more zones of the control elements of the plasma processing system (e.g., zone orientation, plasma exposure duration, etc.); and the third layer might include a starting recipe (e.g., a recipe used as a starting point for determining an updated processing recipe to process the substrate to produce a processing result that meets threshold criteria). It is noteworthy that deep learning processing can learn on its own which features should be optimally placed in which layers. The "depth" in "deep learning" refers to the number of layers through which the data is transformed. More precisely, deep learning systems have a considerable credit allocation path (CAP) depth. A CAP is a transformation chain from input to output. CAP describes the underlying causal relationship between the input and output. For feedforward neural networks, the CAP depth can be the depth of the network and can be the number of hidden layers plus one. For recurrent neural networks where a signal can propagate through a single layer more than once, the CAP depth can be infinite.
[0098] In one implementation, one or more machine learning models are recurrent neural networks (RNNs). An RNN is a type of neural network that includes memory, enabling the network to capture temporal dependencies. An RNN is able to learn an input-output mapping that depends on both current and past inputs. The RNN will process past and future flow measurements and make predictions based on this continuous measurement information. An RNN can be trained using a training dataset to produce a fixed number of outputs (e.g., determining a set of substrate processing rates, determining modifications to a substrate processing recipe). One type of RNN that can be used is a long short-term memory (LSTM) neural network.
[0099] Training a neural network can be done in a supervised learning manner. This involves feeding the network a training dataset consisting of labeled inputs, observing its outputs, defining the error (by measuring the difference between the output and the label values), and using techniques such as deep gradient descent and backpropagation to adjust the weights of all layers and nodes of the network to minimize the error. In many applications, repeating this process with many labeled inputs in the training dataset produces a network that can also produce correct outputs when given inputs that differ from those present in the training dataset.
[0100] Training datasets containing hundreds, thousands, tens of thousands, hundreds of thousands or more sensor data and / or processing result data (e.g., metrological data, such as one or more thickness curves associated with sensor data) can be used to form training datasets.
[0101] To perform training, the processing logic can input a training dataset into one or more untrained machine learning models. The machine learning models can be initialized before the first input is fed into them. The processing logic trains the untrained machine learning models based on the training dataset to produce one or more trained machine learning models that perform the various operations described above. Training can be performed by feeding one or more sensor data points into the machine learning models one at a time.
[0102] Machine learning models process inputs to produce outputs. Artificial neural networks consist of an input layer, which comprises multiple values from data points. The next layer, called a hidden layer, has nodes that each receive one or more input values. Each node contains parameters (e.g., weights) applied to the input values. Therefore, each node essentially feeds the input values into a multivariable function (e.g., a nonlinear mathematical transformation) to produce an output value. The next layer might be another hidden layer or an output layer. In either case, nodes in the next layer receive output values from nodes in the previous layer, each applying weights to those values and then producing its own output value. This can be done at each layer. The final layer is the output layer, where there is a node for each category, prediction, and / or output that the machine learning model can produce.
[0103] Therefore, the output can include one or more predictions or inferences. For example, the output predictions or inferences can include one or more predictions about membrane buildup on a chamber component, erosion of a chamber component, predicted failure of a chamber component, etc. The processing logic determines the error (i.e., classification error) based on the difference between the output (e.g., prediction or inference) of the machine learning model and the target label associated with the input training data. The processing logic adjusts the weights of one or more nodes in the machine learning model based on the error. An error term or delta can be determined for each node in the artificial neural network. Based on this error, the artificial neural network adjusts one or more parameters (weights of one or more inputs of the node) of one or more of its nodes. The parameters can be updated in a backpropagation manner, such that the nodes at the highest layer are updated first, then the nodes at the next layer, and so on. An artificial neural network contains multiple layers of "neurons," where each layer receives input values from the neurons in the layer above it. The parameters of each neuron include weights associated with the values received from each neuron in the layer above it. Therefore, adjusting the parameters can include adjusting the weights assigned to each input of one or more neurons in one or more layers of the artificial neural network.
[0104] After one or more rounds of training, the processing logic can determine whether a stopping criterion has been met. The stopping criterion can be a target level of accuracy, a target number of processed images from the training dataset, a target amount of change in parameters relative to one or more previous data points, a combination of the above, and / or other criteria. In one implementation, the stopping criterion is met when at least a minimum number of data points have been processed and at least a threshold accuracy has been achieved. The threshold accuracy can be, for example, 70%, 80%, or 90% accuracy. In one implementation, the stopping criterion is met if the accuracy of the machine learning model has stopped improving. If the stopping criterion is not met, further training is performed. If the stopping criterion is met, training is complete. Once the machine learning model has been trained, a retained portion of the training dataset can be used to test the model.
[0105] Once one or more trained machine learning models 790 are generated, they can be stored in the prediction server 712 as prediction components 714 or components of prediction components 714.
[0106] The validation engine 784 can validate the machine learning model 790 using the corresponding feature set of the validation set from the training set generator 772. Once the model parameters are optimized, model validation can be performed to determine whether the model has improved and to determine the current accuracy of the deep learning model. The validation engine 784 can determine the accuracy of the machine learning model 790 based on the corresponding feature set of the validation set. The validation engine 784 can discard trained machine learning models 790 whose accuracy does not meet a threshold accuracy. In some embodiments, the selection engine 785 can select trained machine learning models 790 whose accuracy meets the threshold accuracy. In some embodiments, the selection engine 785 can select the trained machine learning model 790 with the highest accuracy among the trained machine learning models 790.
[0107] The testing engine 786 can test the trained machine learning model 790 using the corresponding feature set from the test set provided by the dataset generator 772. For example, a first trained machine learning model 790 trained using the first feature set of the training set can be tested using the first feature set of the test set. The testing engine 786 can then determine the trained machine learning model 790 with the highest accuracy among all trained machine learning models based on the test set.
[0108] As detailed below, the prediction server 712 includes a prediction component 714 capable of providing data indicative of the expected behavior of each subsystem of the processing chamber and running a trained machine learning model 790 on current sensor data input to obtain one or more outputs. The prediction server 712 can further provide data and diagnostics indicative of the health status of the processing chamber subsystems. This will be explained in further detail below.
[0109] Prediction server 112, server machine 170, and server machine 180 may be coupled to each other (or to client device 120, manufacturing equipment 124, metrology equipment 128, and / or data storage 140) via a network (e.g., network 130). In some embodiments, network 130 provides access to prediction server 112 to client device 120 and / or tool server 127.
[0110] It should be noted that in some other implementations, the functionality of server machines 770 and 780, as well as prediction server 712, can be provided by a smaller number of machines. For example, in some implementations, server machines 770 and 780 can be consolidated into a single machine, while in some other or similar implementations, server machines 770 and 780, as well as prediction server 712, can be consolidated into a single machine.
[0111] Generally, functions described in one embodiment as being performed by server machine 770, server machine 780, and / or prediction server 712 can also be performed on client device 120. Furthermore, functionality belonging to a particular component can also be performed by different components or multiple components operating together.
[0112] Figure 8 This is a block diagram illustrating a computer system 800 according to certain embodiments. In some embodiments, the computer system 800 may be connected to other computer systems (e.g., via a network connection, such as a local area network (LAN), internal network, external network, or internetwork). The computer system 800 may operate as a server or client computer in a client-server environment, or as a peer point computer in a peer or distributed network environment. The computer system 800 may be provided by a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), cellular phone, web appliance, server, network router, switch, or bridge, or any device capable of executing a set of instructions (executed sequentially or otherwise) specifying the actions to be taken by that device. Further, the term "computer" should include any collection of computers that individually or jointly execute a set (or more) of instructions to perform any one or more methods described herein.
[0113] In another aspect, the computer system 800 may include a processing device 802, volatile memory 804 (e.g., random access memory (RAM)), non-volatile memory 806 (e.g., read-only memory (ROM) or electrically erasable programmable ROM (EEPROM)), and data storage device 816, which may communicate with each other via a bus 808.
[0114] The processing device 802 may be provided by one or more processors such as a general-purpose processor (for example, a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a microprocessor that implements other types of instruction sets, or a microprocessor that implements a combination of multiple types of instruction sets) or a special-purpose processor (for example, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), or a network processor).
[0115] The computer system 800 may further include a network interface device 822 (which is coupled to, for example, a network 884). The computer system 800 may also include a video display unit 810 (e.g., an LCD), an alphanumeric input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), and a signal generating device 820.
[0116] In some embodiments, the data storage device 816 may include a non-transitory computer-readable storage medium 824 on which instructions 826 may be stored, which encode any or more of the methods or functions described herein, including... Figure 1 The components (such as communication node 232, etc.) are encoded and instructions are used to implement the methods described herein.
[0117] Instruction 826 may also reside wholly or partially in volatile memory 804 and / or processing device 802 during its execution by computer system 800, thus volatile memory 804 and processing device 802 may also constitute machine-readable storage media.
[0118] Although computer-readable storage medium 824 is shown as a single medium in the illustrative examples, the term "computer-readable storage medium" should also include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store the set or more sets of executable instructions. The term "computer-readable storage medium" should also include any tangible medium capable of storing or encoding a set of instructions for execution by a computer, causing the computer to perform any or more of the methods described herein. The term "computer-readable storage medium" should include, but is not limited to, solid-state memory, optical media, and magnetic media.
[0119] The methods, components, and features described herein can be implemented by discrete hardware components or integrated into the functionality of other hardware components such as ASICs, FPGAs, DSPs, or similar devices. Furthermore, the methods, components, and features can also be implemented by firmware modules or functional circuitry systems within a hardware device. Further, the methods, components, and features can be implemented as any combination of hardware devices and computer program components or as a computer program.
[0120] Unless otherwise specifically stated, terms such as “receive,” “execute,” “provide,” “obtain,” “cause,” “access,” “determine,” “add,” “use,” and “train” refer to actions and processes performed or implemented by a computer system that manipulate and transform data represented as physical (electronic) quantities in computer system registers and memories into other data similarly represented as physical quantities in computer system memory or registers or other such information storage, transmission, or display devices. Furthermore, the terms “first,” “second,” “third,” “fourth,” etc., as used herein are labels to distinguish different elements and may not have a sequential meaning based on their numerical designation.
[0121] The examples described herein also relate to an apparatus for performing the methods described herein. This apparatus may be specifically configured to perform the methods described herein, or may comprise a general-purpose computer system selectively programmed by a computer program stored in a computer system. Such a computer program may be stored in a computer-readable tangible storage medium.
[0122] The methods and illustrative examples described herein are not inherently related to any particular computer or other device. Various general-purpose systems can be used in accordance with the teachings described herein, or it may prove appropriate to construct more specialized devices to perform each of the individual functions, routines, subroutines, or operations of the methods described herein. Examples of structures for various such systems are illustrated in the above description.
[0123] The above description is intended to be illustrative and not restrictive. While this disclosure has been described with reference to specific illustrative examples and embodiments, it will be understood that this disclosure is not limited to the examples and embodiments described. The scope of this disclosure should be determined by referring to the appended claims and the full scope of the equivalents conferred by those claims.
Claims
1. An electronic device manufacturing system, comprising: Processing tools; as well as A tool server, coupled to the processing tool, includes a communication node and a plurality of evaluation systems, wherein the communication node is configured to interconnect the plurality of evaluation systems with the processing tool, and is configured to interconnect each of the plurality of evaluation systems with the processing tool by: Obtain one or more attributes from one of the multiple evaluation systems; A monitoring device is generated, which is capable of retrieving data from the processing tool and is configured based on one or more attributes obtained from the evaluation system, such that the configured monitoring device includes a data collection plan based on the one or more attributes; Register the monitoring device with the processing tool; Data is received from the processing tool based on the data collection plan; and The received data is sent to the evaluation system.
2. The electronic device manufacturing system of claim 1, wherein the communication node communicates with the evaluation system and the processing tool using remote procedure calls.
3. The electronic device manufacturing system of claim 1, wherein the communication node is further configured to interconnect each of the plurality of evaluation systems with the processing tool by means of: Receive feedback data from the evaluation system, wherein the feedback data is generated based on the received data; and This prompts the processing tool to perform a correction action based on the feedback data.
4. The electronic device manufacturing system according to claim 3, wherein the feedback data includes at least one of predictive data, diagnostic data, correction data, optimization data, efficiency data, or health data.
5. The electronic device manufacturing system of claim 1, wherein the communication node is further configured to interconnect each of the plurality of evaluation systems with the processing tool by means of: Receive feedback data from the evaluation system, wherein the feedback data is generated based on the received data; and The feedback data is sent to the client device.
6. The electronic device manufacturing system of claim 1, wherein the monitoring device comprises at least one of a device driver, an application programming interface, a software application, a virtual device, an image file, or firmware.
7. The electronic device manufacturing system of claim 1, wherein the one or more attributes include at least one of the following: inputs used by the processing tool, outputs generated from the processing tool, a control mode, a recipe setpoint to be monitored, or an equipment constant to be monitored.
8. The electronic device manufacturing system of claim 1, wherein each of the plurality of evaluation systems comprises at least one of a machine learning model, an inference engine, a heuristic model, a physics-based engine, or an algorithm.
9. The electronic device manufacturing system according to claim 1, wherein the monitoring device is registered with the front-end server of the processing tool.
10. The electronic device manufacturing system of claim 1, wherein the monitoring device is configured to receive the data from the system bus of the processing tool.
11. The electronic device manufacturing system of claim 1, wherein the communication node includes a gateway node configured to generate the monitoring device and a gateway node configured to communicate with the plurality of evaluation systems.
12. The electronic device manufacturing system of claim 1, wherein the communication node is further configured to interconnect each of the plurality of evaluation systems with the processing tool by means of: The monitoring device is registered with the processing tool without causing any software changes to the processing tool.
13. The electronic device manufacturing system of claim 1, wherein the communication node is further configured to interconnect each of the plurality of evaluation systems with the processing tool by means of: Assign the trigger function to the processing recipe step; and In response to receiving an indication associated with the output of the trigger function, a data collection operation is initiated via the monitoring device.
14. A method for interconnecting an evaluation system and a manufacturing system, comprising the following steps: The processing device interconnects each of the multiple evaluation systems and the processing tool through the following operations: The processing device obtains one or more attributes from one of the plurality of evaluation systems; A monitoring device is generated, which is capable of retrieving data from the processing tool and is configured based on one or more attributes obtained from the evaluation system, such that the configured monitoring device includes a data collection plan based on the one or more attributes; Register the monitoring device with the processing tool; Data is received from the processing tool based on the data collection plan; as well as The received data is sent to the evaluation system.
15. The method of claim 14, wherein the step of interconnecting each of the plurality of evaluation systems with the processing tool further comprises the following steps: Receive feedback data from the evaluation system, wherein the feedback data is generated based on the received data; and This prompts the processing tool to perform a correction action based on the feedback data.
16. The method of claim 14, wherein the step of interconnecting each of the plurality of evaluation systems with the processing tool further comprises the following steps: The evaluation system receives feedback data, wherein the feedback data is generated based on the received data; as well as The feedback data is sent to the client device.
17. The method of claim 14, wherein the monitoring device comprises at least one of a device driver, an application programming interface, a software application, a virtual device, an image file, or firmware.
18. The method of claim 14, wherein the monitoring device registers with the front-end server of the processing tool.
19. The method of claim 14, wherein the monitoring device is configured to receive the data from the system bus of the processing tool.