COMMUNICATIONS NODE FOR INTERFACE BETWEEN AN EVALUATION SYSTEM AND A MANUFACTURING SYSTEM - Patent application

The communication node facilitates the integration of machine learning models with manufacturing systems by generating monitoring devices and collecting specific data, addressing the complexity and time-consuming issues of current systems, and enhancing manufacturing efficiency and corrective actions.

JP7675944B2Active Publication Date: 2025-05-13APPLIED MATERIALS INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024548565
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-03-15
Filing Date
2023-03-15
Publication Date
2025-05-13
Estimated Expiration
2043-03-15

AI Technical Summary

Technical Problem

Current systems face challenges in efficiently integrating machine learning models with manufacturing systems, requiring custom data collection plans and software deployment, which is time-consuming and complex.

Method used

The implementation of a communication node that interfaces evaluation systems with manufacturing systems by retrieving attributes, generating monitoring devices, and registering them with the process tool to collect specific data, allowing for real-time data transmission and feedback-based corrective actions.

Benefits of technology

This solution enables seamless integration of evaluation systems with manufacturing systems, reducing data acquisition and processing time, improving manufacturing efficiency, and enabling timely corrective actions, thus enhancing overall system performance and reducing downtime.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007675944000001
    Figure 0007675944000001
  • Figure 0007675944000002
    Figure 0007675944000002
  • Figure 0007675944000003
    Figure 0007675944000003
Patent Text Reader

Abstract

An electronic device manufacturing system including a process tool and a tool server coupled to the process tool and including 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 process tool. The communication node is further configured to receive data from the process tool based on the data collection plan and transmit the received data to the evaluation system.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to electrical components, and more particularly to a communications node for interfacing one or more evaluation systems with a manufacturing system. [Background technology]

[0002] A product may be produced by performing one or more manufacturing processes using manufacturing equipment. For example, semiconductor manufacturing equipment (e.g., process tools) may be used to produce semiconductor devices (e.g., substrates, wafers, etc.) through a semiconductor manufacturing process. The process tools may deposit a film on a surface of the substrate and may perform an etching process to form an intricate pattern in the deposited film. For example, the process tools may perform a chemical vapor deposition (CVD) process to deposit a film on the substrate. Sensors may be used to determine manufacturing parameters of the process tools during the manufacturing process, a system controller may use a controller to adjust these parameters to affect the process results, and metrology devices may be used to determine characteristic data of the products produced by the process tools.

[0003] Tool data can be collected through a Data Collection Plan (DCP). In current systems, different algorithms and machine learning models may require different types of tool data for specific purposes, and each algorithm and machine learning model may have a custom DCP. However, deploying or integrating different algorithms and machine learning models into a manufacturing system to execute a DCP can be a difficult and time-consuming process. Therefore, a system that can interface machine learning models with the manufacturing system is desirable. Summary of the Invention

[0004] The following is a simplified summary of the disclosure to provide a basic understanding of some aspects of the disclosure. This summary is not an extensive overview of the disclosure. It is not intended to identify key or critical elements of the disclosure, nor to delineate the scope or claims of particular embodiments of the disclosure. Its sole purpose is to present some concepts of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.

[0005] In one aspect of the disclosure, an electronic device manufacturing system includes a process tool and a tool server coupled to the process tool and comprising 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 process tool. The communication node is further configured to receive data from the process tool based on the data collection plan and transmit the received data to the evaluation system.

[0006] Further aspects of the present disclosure include methods according to any aspect or embodiment described herein.

[0007] A further aspect of the present disclosure includes a non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device operably coupled to a memory, perform operations according to any aspect or embodiment described herein.

[0008] A further aspect of the disclosure includes an electronic device manufacturing system having a process tool and a tool server coupled to the process tool and including a communication node and an evaluation system. The communication node is configured to receive data from monitoring devices registered with the process 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 process tool to perform corrective action based on the feedback data.

[0009] The present disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a block diagram illustrating an exemplary system architecture, in accordance with certain embodiments. [Diagram 2] 1 is a top schematic diagram of an exemplary manufacturing system, in accordance with certain embodiments. [Diagram 3] FIG. 1 illustrates an exemplary tool server in accordance with aspects of the present disclosure in accordance with certain embodiments. [Figure 4] FIG. 13 is an interaction diagram illustrating processing data received from a monitoring device to generate and send feedback to a process tool according to certain embodiments. [Diagram 5] FIG. 1 is an interaction diagram illustrating processing of data received from a monitoring device to generate and send feedback to a client device according to certain embodiments. [Figure 6] 1 is a flow diagram of a method for generating a monitoring device, according to certain embodiments. [Figure 7] FIG. 1 depicts an exemplary forecasting system, in accordance with certain embodiments. [Figure 8] FIG. 1 is a block diagram illustrating a computer system in accordance with certain embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Described herein is technology directed to a configurable data collection interface for an evaluation system. A Data Collection Plan (DCP) is a procedure for collecting system data, such as sensor data, event data, constant data, and configuration data, from a manufacturing system using a combination of pre-configured settings, configuration files generated by analysis tools, and information collected through communication with the manufacturing system.

[0012] A manufacturing system may include multiple process chambers. A process chamber may have multiple subsystems that operate during each substrate manufacturing process (e.g., deposition process, etch process, polishing process, etc.). A subsystem may be characterized as a set of sensors and controllers associated with an operational parameter of the process chamber. The operational parameter may be temperature, flow rate, pressure, etc. In one example, a pressure subsystem may be characterized by one or more sensors that measure gas flow, chamber pressure, control valve angle, foreline (vacuum line between pumps) pressure, pump speed, etc. Thus, a process chamber may include a pressure subsystem, a flow rate subsystem, a temperature subsystem, etc.

[0013] A manufacturing system can collect system data for maintenance, analysis, and predictive techniques performed by one or more assessment systems (e.g., machine learning models, inference engines, heuristic models, algorithms, physics-based engines, etc.). For example, each subsystem can suffer degradation and deviation from optimal performance conditions, e.g., a pressure subsystem can experience a pressure drop due to one or more of a pump issue, a control valve issue, etc. If these degradation conditions are not overlooked and repaired, defects can occur in the substrate, leading to inferior products, reduced manufacturing yields, and significant downtime and increased repair times.

[0014] In the current environment, many different evaluation systems may need to be deployed to collect data from a single manufacturing system. Each evaluation system may have different required attributes (e.g., the type of system data desired by the evaluation system) and different design parameters (e.g., written in a different programming language, using a different communication interface, etc.). In addition, some evaluation systems may require the deployment of custom software to and / or integration with the manufacturing system, which may cause the evaluation system to dedicate computing resources to the evaluation system. Thus, deploying or integrating an evaluation system into a manufacturing system may be a difficult and time-consuming process, consuming computing resources of the manufacturing system and thus causing production delays and problems.

[0015] Aspects and embodiments of the present disclosure address these and other shortcomings of existing technology by implementing a communication node for interfacing one or more evaluation systems with a manufacturing system. In particular, 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. The attributes can include any recordable data stored in or generated by the manufacturing system. For example, the attributes can include inputs used by process tools of the manufacturing system, outputs generated from the process tools (e.g., metrology data, sensor data, metadata, time data, etc.), control modes, recipe set points being monitored (e.g., one or more processes in the recipe that trigger the process of data acquisition or recording by the tool server), equipment constants being monitored, observable data about other tool subsystems being monitored, etc.

[0016] The communication node can then provide (e.g., create, define, etc.) the monitoring device. The monitoring device can be any software program capable of acquiring or intercepting data from the manufacturing system. In some embodiments, the monitoring device can include device drivers, application programming interfaces (APIs), software applications, virtual devices (e.g., virtual peripheral devices), image files, firmware, etc. Based on the received attributes, the communication node can configure the monitoring device with the DCP to collect specific system data from the manufacturing system, such as sensor data, event data, constant data, and configuration data.

[0017] The communication node can then register the monitoring device with the manufacturing system. In some embodiments, the communication tool can register the monitoring device with a front-end server software (FES) of the manufacturing system rather than with a real-time control system (e.g., a back-end server) of the manufacturing system. The FES can be an extension of the back-end server of the manufacturing system and can be used to convey requests received from other clients (e.g., the communication node). The monitoring device can be registered to collect only system data intended for the evaluation system as indicated by the DCP. Using the monitoring device, the communication node can obtain or receive the desired system data directly from the process tool. Furthermore, by registering the monitoring device with the FES, the communication node can connect to the process tool without making software changes to the process tool. The communication node can receive the collected data in real time or near real time and transmit the collected data to the appropriate evaluation system. The evaluation system can process the collected data and generate feedback that is transmitted to the process tool and / or an external system (e.g., a client device, an external server, etc.). The feedback data can include meaningful findings resulting from analyzing the data. For example, the feedback data may include predictive data, diagnostic data (e.g., data indicative of problems associated with a manufacturing equipment), corrective actions (recommended or actionable actions for adjusting recipe parameters, adjusting process chamber parameters, etc.), optimization data (data indicative of 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 indicative of the health of a subsystem of a process chamber, warnings, etc.

[0018] In some embodiments, the communication nodes may communicate with the evaluation system and the manufacturing system using remote procedure calls (RPC), a communications protocol that one computer program (e.g., software) in one system can use to request a service from another computer program in another system on the network, without understanding the details of the network or the other computer programs.

[0019] Using the monitoring device and the DCP, the communication node can receive targeted data from the manufacturing system. By receiving only the targeted data, the communication node can transmit only the desired data to the evaluation system and / or external system, rather than the entire collection of raw data generated by the manufacturing system. This allows the evaluation system and / or external system to immediately process the received data, rather than first performing an extraction function to obtain the desired data from the collection of data. Additionally, the DCP used by the monitoring device can be modified or updated by the communication node, allowing the communication node to dynamically change the type of data it obtains from the manufacturing system.

[0020] Thus, aspects of the present disclosure provide the technical advantage of allowing various evaluation systems to easily interface with manufacturing systems without the need for custom software deployment and / or back-end integration. Additionally, aspects of the present disclosure provide the technical advantage of significantly reducing the time it takes to acquire and process specific data and perform parameter optimization of the process recipe. The disclosed configuration allows the manufacturing system to receive corrective actions with relatively low latency. Aspects of the present disclosure further provide technical advantages such as significantly reducing the time to detect issues or failures experienced by a substrate during the manufacturing process, as well as improved energy consumption. The present disclosure also allows diagnostic data to be generated and corrective actions to be taken to avoid inconsistent, abnormal products, and unscheduled user time or downtime.

[0021] FIG. 1 illustrates an exemplary computer system architecture 100 according to aspects of the disclosure. In some embodiments, the computer system architecture 100 may be included as part of a manufacturing system for processing substrates, such as the manufacturing system 200 of FIG. 2. The computer system architecture 100 includes a client device 120, a manufacturing tool 124, a metrology tool 128, and a data store 140. The manufacturing tool 124 may include a sensor 126 configured to capture data of the substrates being processed in the manufacturing system. In some embodiments, the manufacturing tool 124 and the sensor 126 may be part of a sensor system including a sensor server (e.g., a field service server (FSS) at the manufacturing facility) and a sensor identifier reader (e.g., a front opening unified pod (FOUP) radio frequency identification (RFID) reader for the sensor system). In some embodiments, the metrology tool 128 may be part of a metrology system including a metrology server (e.g., a metrology database, metrology folder, etc.) and a metrology identifier reader (e.g., a FOUP RFID reader for the metrology system).

[0022] The manufacturing tool 124 may operate according to a recipe or over a period of time to produce products such as electronic devices. The manufacturing tool 124 may include a process chamber. The manufacturing tool 124 may perform a process on a substrate (e.g., a wafer, etc.) in the process chamber. Examples of substrate processes include a deposition process to deposit one or more layers on a surface of the substrate, an etch process to form a pattern on a surface of the substrate, etc. The manufacturing tool 124 may perform each process according to a process recipe. A process recipe defines a particular sequence of operations to be performed on the substrate during the process and may include one or more settings associated with each operation. For example, a deposition process recipe may include a temperature setting for the process chamber, a pressure setting for the process chamber, flow settings for precursors of materials included in the film to be deposited on the substrate surface, etc.

[0023] In some embodiments, the manufacturing tools 124 include sensors 126 configured to generate data associated with a substrate processed in the manufacturing system 100. For example, a process chamber may include one or more sensors configured to generate spectral or non-spectral data associated with a substrate before, during, and / or after a process (e.g., a deposition process) is performed on the substrate. In some embodiments, the spectral data generated by the sensors 126 may indicate a concentration of one or more materials deposited on a surface of the substrate. The sensors 126 configured to generate spectral data associated with the substrate may include reflectance sensors, ellipsometric sensors, thermal spectral sensors, capacitive sensors, etc. The sensors 126 configured to generate non-spectral data associated with the substrate may include temperature sensors, pressure sensors, flow sensors, voltage sensors, etc. Further details regarding the manufacturing tools 124 are provided with respect to FIG. 2.

[0024] In some embodiments, the sensors 126 provide sensor data (e.g., sensor values, characteristics, trace data) associated with the manufacturing equipment 124 (e.g., associated with the manufacturing equipment 124 producing a corresponding product, such as a wafer). The manufacturing equipment 124 can produce a product by performing an operation according to a recipe or over a period of time. The sensor data received over a period of time (e.g., corresponding to at least a portion of a recipe or operation) can be referred to as trace data received from different sensors 126 over time (e.g., historical trace data, current trace data, etc.). The sensor data can include one or more values ​​of temperature (e.g., heater temperature), spacing (SP), pressure, high frequency radio frequency (HFRF), electrostatic chuck (ESC) voltage, current, material flow, power, voltage, etc. The sensor data can be associated with or indicative of hardware parameters, such as settings or components (e.g., size, type, etc.) of the manufacturing equipment 124, or manufacturing parameters, such as process parameters of the manufacturing equipment 124. The sensor data can be provided while the manufacturing equipment 124 is performing a manufacturing process (e.g., equipment readings as the product is processed). The sensor data may vary from board to board.

[0025] In some embodiments, the manufacturing tool 124 can include a controller 125. The controller 125 can include one or more components or subsystems configured to enable and / or control one or more processes of the manufacturing tool 124. For example, the subsystems can include a pressure subsystem, a flow subsystem, a temperature subsystem, etc., with each subsystem having one or more components. The components can include, for example, pressure pumps, vacuum, gas supply lines, plasma etchers, actuators, etc. In some embodiments, the controller 125 can be managed based on data from sensors 126, input from the control device 120, etc.

[0026] In some embodiments, the manufacturing equipment 124 can include a tool server 127. The tool server 127 can include a communication node 132 configured to interface with the sensors 126 and the controllers 125, and one or more evaluation systems 134. The evaluation system 134 can include any system capable of receiving input data and generating predictive data. For example, the evaluation system 134 can include machine learning models, inference engines, heuristic models, algorithms, physics-based engines, etc. Further details regarding the tool server 127 are provided with respect to FIG. 2.

[0027] The metrology tool 128 can provide metrology data associated with substrates processed by the fabrication tool 124. The metrology data can include values ​​of film property data (e.g., wafer spatial film properties), dimensions (e.g., thickness, height, etc.), dielectric constant, dopant concentration, density, defects, etc. In some embodiments, the metrology data can further include values ​​of one or more surface profile property data (e.g., etch rate, etch rate uniformity, critical dimension of one or more features included in the surface of the substrate, critical dimension uniformity across the surface of the substrate, edge placement error, etc.). The metrology data can be of finished or semi-finished products. The metrology data can vary from substrate to substrate. The metrology data can be generated using, for example, reflectometry techniques, ellipsometry techniques, TEM techniques, etc.

[0028] The metrology tool 128 may be included as part of the fabrication tool 124. For example, the metrology tool 128 may be included within or coupled to a process chamber and configured to generate metrology data of the substrate before, during, and / or after a process (e.g., a deposition process, an etch process, etc.) while the substrate remains in the process chamber. In some examples, the metrology tool 128 may be referred to as an in-situ metrology tool. In another example, the metrology tool 128 may be coupled to another station of the fabrication tool 124. For example, the metrology tool may be coupled to a transfer chamber, such as the transfer chamber 210 of FIG. 2, a load lock, such as the load lock 220, or a factory interface, such as the factory interface 206.

[0029] The client device 120 may include computing devices such as a personal computer (PC), a laptop, a mobile phone, a smart phone, a tablet computer, a netbook computer, a network-connected television ("smart TV"), a network-connected media player (e.g., Blu-ray player), a set-top box, an over-the-top (OTT) streaming device, an operator box, etc. In some embodiments, metrology data may be received from the client device 120. The client device 120 may display a graphical user interface (GUI) through which a user may provide as input metrology measurements of substrates processed in the manufacturing system. The client device 120 may include a corrective action component 122. The corrective action component 122 may receive user input of instructions associated with the manufacturing equipment 124 (e.g., via a graphical user interface (GUI) displayed via the client device 120). In some embodiments, the corrective action component 122 may send instructions to a prediction system 710 (as seen in FIG. 7), receive output (e.g., prediction data) from the prediction system 710, determine a corrective action based on the output, and cause the corrective action to be implemented. In some embodiments, the corrective action component 122 receives corrective action instructions from the predictive system 710 and causes the corrective action to be implemented. Each client device 120 may include an operating system that enables a user to perform one or more of creating, viewing, or editing data (e.g., instructions associated with a manufacturing equipment 124, corrective actions associated with a manufacturing equipment 124, etc.).

[0030] The data store 140 can be a memory (e.g., random access memory), a drive (e.g., hard drive, flash drive), a database system, or another type of component or device capable of storing data. The data store 140 can include multiple storage components (e.g., multiple drives or multiple databases) that can span multiple computing devices (e.g., multiple server computers). The data store 140 can store data associated with processing of substrates on the manufacturing tool 124. For example, the data store 140 can store data (referred to as process data) collected by the sensors 126 of the manufacturing tool 124 before, during, or after the substrate process. Process data can refer to historical process data (e.g., process data generated for a previous substrate processed on the manufacturing system) and / or current process data (e.g., process data generated for a current substrate processed on the manufacturing system). The data store can also store spectral or non-spectral data associated with a portion of the substrate processed on the manufacturing tool 124. The spectral data can include historical spectral data and / or current spectral data.

[0031] The data store 140 may also store context data associated with one or more substrates processed in the manufacturing system. The context data may include recipe name, recipe step number, preventive maintenance indicator, operator, etc. The 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 process data (e.g., context data associated with a current or future process performed on a previous substrate). The context data may further include identifying a sensor associated with a particular subsystem of a process chamber.

[0032] The data store 140 may also store task data. The task data may include one or more sets of operations to be performed on a substrate during a deposition process and may include one or more settings associated with each operation. For example, task data for a deposition process may include a temperature setting for a process chamber, a pressure setting for the process chamber, a flow rate setting for a precursor of a material of a film to be deposited on a substrate, and the like. In another example, the task data may include controlling a pressure at a pressure point defined relative to a flow rate value. The task data may refer to past 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 a current or future process to be performed on a substrate).

[0033] In some embodiments, the data store 140 can store an expected profile, a thickness profile, and a correction profile. The expected profile can include one or more data points associated with a desired film profile expected to be produced by a particular process recipe. In some embodiments, the expected profile can include a desired thickness of the film. The thickness profile can include one or more data points associated with a current film profile produced by the fabrication tool 124. The thickness profile can be measured using the metrology tool 128. The correction profile can include one or more adjustments or offsets applied to parameters of the process chamber or process recipe. For example, the correction profile can include adjustments to a temperature setting of the process chamber, a pressure setting of the process chamber, a flow rate setting of a precursor of a material included in the film deposited on the substrate surface, a power supplied to the process chamber, a ratio of two or more settings, etc. The correction profile can be generated by comparing an expected profile (e.g., a thickness profile expected to be produced by the process recipe) and using a library of known failure patterns and / or algorithms to determine adjustments to be applied to parameters of the process recipe to achieve the expected profile. The correction profile can be generated as an output from the characterization system 134. The correction profile can be applied to a step associated with a deposition process, an etch process, etc.

[0034] In some embodiments, data store 140 can be configured to store data that is not accessible to users of the manufacturing system. For example, process data, spectral data, contextual data, etc. acquired for a substrate being processed in the manufacturing system are not accessible to users (e.g., operators) of the manufacturing system. In some embodiments, all data stored in data store 140 can be made inaccessible to users of the manufacturing system. In other or similar embodiments, some of the data stored in data store 140 can be made inaccessible to users, while other portions of the data stored in data store 140 can be made accessible to users. In some embodiments, one or more portions of the data stored in data store 140 can be encrypted using an encryption mechanism not known to the user (e.g., the data is encrypted using a private encryption key). In other or similar embodiments, data store 140 can include multiple data stores, where data that is not accessible to users is stored in one or more first data stores and data that is accessible to users is stored in one or more second data stores.

[0035] In some embodiments, the data store 140 may be configured to store data associated with known failure patterns. A failure pattern may be one or more values ​​(e.g., vectors, scalars, etc.) associated with one or more problems or faults associated with the process chamber subsystem. In some embodiments, a failure pattern may be associated with a corrective action. For example, a failure pattern may include parameter adjustment steps to correct the problem or fault indicated by the failure pattern. For example, the predictive system may compare the determined failure pattern to a library of known failure patterns to determine the type of failure that occurred in the subsystem, the cause of the failure, the recommended corrective action to correct the failure, etc.

[0036] The client devices 120, the manufacturing equipment 124, the sensors 126, the metrology equipment 128, the tool server 127, and the data store 140 can be coupled to one another via a network 130. In some embodiments, the network 130 is a public network that provides the client devices 120 with access to the manufacturing equipment 124, the data store 140, and other publicly available computing devices. In some embodiments, the network 130 is a private network that provides the client devices 120 with access to the manufacturing equipment 124, the metrology equipment 128, the data store 140, and other privately available computing devices. The network 130 can 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., Long Term Evolution (LTE) networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.

[0037] In an embodiment, a "user" may be represented as a single individual. However, other embodiments of the present disclosure encompass a "user" being an entity controlled by multiple users and / or automated sources. For example, a collection of individual users federated as a group of administrators may be considered a "user."

[0038] 2 is a top schematic view of an exemplary manufacturing system 200 according to an embodiment of the present disclosure. The manufacturing system 200 is capable of performing one or more processes on a substrate 202. The substrate 202 can be any suitably rigid, planar article of fixed dimensions, such as, for example, a silicon-containing disk or wafer, a patterned wafer, a glass plate, etc., suitable for manufacturing electronic devices or circuit components.

[0039] The manufacturing system 200 can include a process tool 204 and a factory interface 206 coupled to the process tool 204. The process tool 204 can include a housing 208 having a transfer chamber 210 therein. The transfer chamber 210 can include one or more process chambers (also referred to as processing chambers) 214, 216, 218 arranged around and coupled to the transfer chamber 210. The process chambers 214, 216, 218 can be coupled to the transfer chamber 210 through respective ports, such as slit valves. The transfer chamber 210 can also include a transfer chamber robot 212 configured to transfer the substrate 202 between the process chambers 214, 216, 218, the load lock 220, and the like. The transfer chamber robot 212 can include one or more arms, each arm including one or more end effectors at the end of each arm. The end effectors can be configured to handle a particular object, such as a wafer, a sensor disk, a sensor tool, and the like.

[0040] The process chambers 214, 216, 218 can be adapted to perform any number of processes on the substrate 202. The same or different substrate processes can be performed in each process chamber 214, 216, 218. The substrate processes can include atomic layer deposition (ALD), physical vapor deposition (PVD), chemical vapor deposition (CVD), etching, annealing, curing, pre-cleaning, metal or metal oxide removal, and the like. Other processes can be performed on the substrate in the process chamber. The process chambers 214, 216, 218 can each include one or more sensors configured to capture data of the substrate 202 before, after, or during the substrate process. For example, the one or more sensors can be configured to capture spectral and / or non-spectral data about a portion of the substrate 202 during the substrate process. In other or similar embodiments, the one or more sensors can be configured to capture data associated with the environment in the process chambers 214, 216, 218 before, after, or during the substrate process. For example, the one or more sensors may be configured to capture data associated with the temperature, pressure, gas concentrations, etc. of the environment within the process chambers 214, 216, 218 during substrate processing. In some embodiments, the process chambers 214, 216, 218 may include a metrology device 240.

[0041] A load lock 220 may also be coupled to the housing 208 and the transfer chamber 210. The load lock 220 may be configured to interface and be coupled to the transfer chamber 210 on one side and to the factory interface 206. The load lock 220 may have an environmentally controlled atmosphere that may be changed from a vacuum environment (where substrates may be transferred to and from the transfer chamber 210) to an inert gas environment at or near atmospheric pressure (where substrates may be transferred to and from the factory interface 206). The factory interface 206 may be any suitable enclosure, such as, for example, a Front End Equipment Module (EFEM). The factory interface 206 may be configured to receive substrates 202 from substrate carriers 222 (e.g., Front Opening Unified Pods (FOUPs)) docked to various load ports 224 of the factory interface 206. A factory interface robot 226 (shown in dotted lines) may be configured to transfer substrates 202 between the carriers (also called containers) 222 and the load lock 220. Carrier 222 may be a substrate storage carrier or a replacement part storage carrier.

[0042] The manufacturing system 200 may also be connected to client devices (not shown) configured to provide information regarding the manufacturing system 200 to a user (e.g., an operator). In some embodiments, the client devices may provide information to a user of the manufacturing system 200 via one or more graphical user interfaces (GUIs). For example, the client devices may provide information via the GUI regarding a target thickness profile of a film to be deposited on the surface of the substrate 202 during a deposition process performed in the process chambers 214, 216, 218. The client devices may also provide information regarding modifications to the process recipe given a respective set of deposition settings that are predicted to correspond to the target profile in accordance with embodiments described herein.

[0043] The manufacturing system 200 may also include a system controller 228. The system controller 228 may be and / or may include a computing device such as a personal computer, a server computer, a programmable logic controller (PLC), a microcontroller, etc. The system controller 228 may include one or more processing devices, which may be a general-purpose processing device such as a microprocessor, a central processing unit, etc. 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 implementing other instruction sets or a combination of instruction sets. The processing device may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, etc. The system controller 228 may include a data storage device (e.g., one or more disk drives and / or solid state drives), a main memory, a static memory, a network interface, and / or other components. The system controller 228 may execute instructions to perform any one or more of the methods and / or embodiments described herein. In some embodiments, the system controller 228 may execute instructions to perform one or more operations in the manufacturing system 200 in accordance with the process recipe. The instructions may be stored in a computer-readable storage medium, which may include a main memory, a static memory, a secondary storage device, and / or a processor (during execution of the instructions).

[0044] The system controller 228 may receive data from sensors included on or within various portions of the manufacturing system 200 (e.g., processing chambers 214, 216, 218, transfer chamber 210, load lock 220, etc.). The system controller 228 may interface with controllers included on or within various portions of the manufacturing system 200 (e.g., processing chambers 214, 216, 218, transfer chamber 210, load lock 220, etc.). In some embodiments, the data received by the system controller 228 may include spectral and / or non-spectral data for a portion of the substrate 202. In other or similar embodiments, the data received by the system controller 228 may include data associated with processing the substrate 202 in the processing chambers 214, 216, 218, as previously described. For purposes of this description, the system controller 228 is described as receiving data from sensors included within the process chambers 214, 216, 218. However, the system controller 228 may receive data from any portion of the manufacturing system 200 and use the data received from that portion in accordance with the embodiments described herein. In an illustrative example, the system controller 228 may receive data from one or more sensors in the process chambers 214, 216, 218 before, after, or during substrate processing in the process chambers 214, 216, 218. The data received from the sensors in the various portions of the manufacturing system 200 may be stored in a data store 250. The data store 250 may be included as a component within the system controller 228 or may be a separate component from the system controller 228. In some embodiments, the data store 250 may be the data store 140 described with respect to FIG. 1.

[0045] The manufacturing system 200 may also include a tool server 227. The tool server 227 may include one or more computing devices, such as a rack mount server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a desktop computer, a GPU, an ASIC, and the like. The tool server 227 may include a data storage device (e.g., one or more disk drives and / or solid state drives), a main memory, a static memory, a network interface, and / or other components. The tool server 227 may execute instructions to perform any one or more of the methods and / or embodiments described herein. In some embodiments, the tool server 227 may execute instructions to perform one or more data collection operations in the manufacturing system 200 according to a request from the evaluation system. The instructions may be stored in a computer readable storage medium, which may include a main memory, a static memory, a secondary storage device, and / or a processing device (during execution of the instructions). In some embodiments, the tool server 227 may be similar or the same as the tool server 127.

[0046] In some embodiments, tool server 227 can store one or more rating systems. The rating systems can include machine learning models (e.g., model 790 and / or prediction server 712 of FIG. 7), inference engines, heuristic models, algorithms, physics-based models, etc. In some embodiments, one or more rating systems can be trained and / or stored on tool server 227. In some embodiments, one or more rating systems can be trained and / or stored on an external server (not shown) in communication with server 227.

[0047] The tool server 227 may include a communications node 232 configured to interface with one or more evaluation systems 234 and the process tools 204. In particular, the communications node 232 may be configured to bridge data from the process tools 204 (e.g., from a tool data bus) to the evaluation systems 234 with low latency (e.g., on the order of 1 millisecond). In some embodiments, the communications node 232 may communicate with the evaluation systems 234 and the process tools 204 using remote procedure calls (RPCs).

[0048] RPC is a communications protocol that one program can use to request services from a program on another computer on a network without understanding the details of the network or the details of the other computer programs. In particular, RPC is used to call other processes on remote systems as if they were on a local system. In some embodiments, RPC can include Google® Remote Procedure Call (GRPC), JavaScript Object Notation RPC (JSON-RPC), Extensible Markup Language RPC (XML-RPC), and the like. In some embodiments, communication node 232 can communicate with evaluation system 234 using other software communications protocols (e.g., remote method invocation (RMI), inter-process communication (IPC), and the like).

[0049] In some embodiments, the communication node 232 may receive from the evaluation system 234 one or more desired attributes that the evaluation system desires for the process tool 204. The attributes may include any recordable data desired by the evaluation system, such as, but not limited to, inputs used by the process tool, outputs generated from the process tool (e.g., metrology data, sensor data, metadata, time data, etc.), control modes, recipe set points being monitored (e.g., one or more processes in the recipe that trigger a process of data acquisition or recording by the communication node 232), equipment constants being monitored, observable data about other tool subsystems being monitored, etc.

[0050] The communication node 232 can generate a monitoring device, which is any software program capable of acquiring data from the process tool 204. In some embodiments, the monitoring device can include a device driver, an application programming interface (API), a software application, a virtual device (e.g., a virtual peripheral device), an image file, firmware, etc. The communication node 232 can configure the monitoring device to acquire data from the process tool 204 based on the received attributes. In some embodiments, the monitoring device can be configured to acquire external sensor data from one or more sensors interfaced with the process tool. The external sensors can be operated by an evaluation system, by the monitoring device, or by any other system independent of the system controller 228.

[0051] In some embodiments, the communication node 232 can register the monitoring device with the front-end server software (FES) of the process tool rather than the real-time control system (e.g., back-end) of the process tool. The monitoring device can be registered to collect only data intended for the characterization system as indicated by the DCP. Using the monitoring device, the communication node can obtain or receive desired data directly from the process tool. Furthermore, by registering the monitoring device with the FES, the communication node can connect to the process tool without modifying the software of the process tool.

[0052] In some embodiments, the communication node 232 may include multiple components for bridging data between the process tool 204 and the evaluation system. In one such embodiment, the tool server 227 may include an edge node and a gateway node. The edge node may perform interrogation functions, data collection functions, and monitoring device related functions as described above. The gateway node may perform multiplexing functions between the edge node and multiple evaluation systems. In particular, the gateway node may facilitate managing the complexity of multiple process chambers running different evaluation algorithms. Multiplexing may be a method in which multiple signals are combined into one signal over a shared medium (e.g., a communication channel).

[0053] FIG. 3 is a block diagram 300 illustrating an example tool server 305 according to aspects of the disclosure. The tool server 305 can include an edge node 310, a gateway node 315, and one or more rating systems, such as one or more machine learning models 320, one or more inference engines 325, and one or more physics-based engines 330. The tool server 305 can communicate with the process tools 204, for example, via a process tool bus 340. In some embodiments, the edge node 310 can request the gateway node 315 to query each rating system (e.g., the machine learning models 320, the inference engines 325, the physics-based engines 330, etc.) for attributes. The gateway node 315 can receive attributes from each rating system and send the attributes to the edge node 310. In some embodiments, each set of attributes for each rating system can include one or more tags (e.g., metadata, headers, etc.) that indicate the corresponding rating system. The tags can be used to identify which rating system data from the process tool should be sent to. The edge node 310 can then generate a monitoring device for each evaluation system based on the corresponding set of received attributes and register each monitoring device with the process tool bus 340. Each monitoring device can include a DCP (Data Collection Plan) according to the respective attributes. Each monitoring device can be maintained by and / or reside on the edge node.

[0054] The process tool bus 340 may be a system bus connecting components of a process tool and / or manufacturing system. In some embodiments, the process tool bus 340 may communicate with one or more sensors (e.g., sensors 126), data systems, control systems (e.g., system controller 228), system controllers, etc. During execution of a strategy by a process tool, each monitoring device may obtain data from the process tool 204 as indicated by the respective DCP, and the edge node 310 may then transmit the data to the gateway node 315. The gateway node 315 may then sort the data and transmit the corresponding data to the respective evaluation system. For example, according to the DCP generated for the machine learning model 320, the monitoring device may receive the corresponding data (e.g., system data) from the process tool bus 340, and the edge node 310 may transmit the corresponding data to the gateway node 315. The gateway node 315 may determine, for example, using tags, which evaluation system should receive the data and forward the data to the appropriate evaluation system (e.g., machine learning model 320).

[0055] In some embodiments, the evaluation system can process the received system data and generate feedback data. The feedback data can include meaningful findings resulting from analyzing the data. For example, the feedback data can include predictive data, diagnostic data (e.g., data indicative of problems associated with the manufacturing equipment), corrective actions, optimization data (e.g., data indicative of how to optimize one or more parameters or components of the manufacturing equipment), efficiency data (e.g., how efficient the components of the manufacturing equipment are), health data indicative of the health of a subsystem of the process chamber, and the like. The health of a subsystem can be characterized as the current behavior (current sensor value) of the subsystem compared to the expected behavior (expected sensor value) of the subsystem. A subsystem can be characterized as a set of attributes related to the operating parameters of the process chamber, such as temperature, flow rate, pressure, and the like.

[0056] The feedback data may then be transmitted to the process tool via the gateway node 315 and / or the edge node 310. In some embodiments, the process tool 204 may perform one or more actions based on the feedback data. For example, the process tool 204 may adjust recipe parameters, adjust process chamber parameters, generate an alert, etc. based on the feedback. In some embodiments, the tool server 305 may transmit the feedback data to an external system. In some embodiments, the external system includes the client device 120, an external server, an external computer system, etc.

[0057] In some embodiments, each component of diagram 300 may communicate with other components using RPC messages. For example, the evaluation system may communicate with gateway node 315 (e.g., send attribute data, send feedback data, receive sensor data, etc.) using RPC messages. In another example, gateway node 315 may communicate with edge node 310 using RPC messages. In yet another example, process tool 204 may communicate with edge node 310 using RPC messages. In other embodiments, the evaluation system may send feedback data using wireless communication or other means of wired communication.

[0058] 4 is an interaction diagram 400 illustrating processing data received from a monitoring device to generate and send feedback to a process tool according to an embodiment of the disclosure. The interaction diagram 400 includes blocks that may be understood to be similar to blocks of a flow diagram of a method. Thus, when performed as a method, the blocks illustrated in the interaction diagram 400 (blocks that perform operations), the method, and each of its individual functions, routines, subroutines, or operations, may be executed by one or more processors of a computing device that executes the method.

[0059] The blocks illustrated in diagram 400 may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a general-purpose computer system or a dedicated machine), firmware, or some combination thereof. In one implementation, the blocks illustrated in diagram 400 may be performed by a computer system, such as computer system architecture 100 of FIG. 1 or manufacturing system 200 of FIG. 2. In other or similar implementations, one or more operations of the blocks illustrated in diagram 400 may be performed by one or more other machines not shown in the diagram. In some aspects, one or more operations of the blocks illustrated in diagram 400 may be performed by system controller 228, communication node 232, and evaluation system 234 of FIG. 2.

[0060] In operation 410, the communication node 232 may query the rating system 234 for one or more attributes. In one example, the communication node 232 may send a request to one or more rating systems (e.g., the rating system 234) for a list of attributes that each rating system desires for the process tool (or manufacturing system).

[0061] In operation 415, the evaluation system 234 may send a list of attributes to the communication node 232. The attributes may include inputs used by the process tool, outputs generated from the process tool (e.g., metrology data, sensor data, metadata, time data, etc.), control modes, recipe set points being monitored, equipment constants being monitored, observable data about other tool subsystems being monitored, etc.

[0062] In operation 420, the communications node 220 can generate or otherwise provide a monitoring device. The monitoring device can be any software program capable of acquiring or intercepting data from a process tool. The communications node can then configure the monitoring device with the DCP to collect specific sensor data, event data, constant data, and settings data from the process tool based on the received attributes. The monitoring device can be executed from and maintained by the communications node 232.

[0063] In operation 425, the communication node 232 may register the monitoring device with the system controller 228. For example, the communication node 232 may register the monitoring device with the FES of the system controller 228. In some embodiments, once registered, the monitoring device first transmits pre-execution data to the communication node. The pre-execution data may include configuration parameters, tool data, or any other data required by the DCP that may be transmitted prior to execution of the strategy.

[0064] In operation 430, the system controller 228 can execute a process recipe. The process recipe defines a particular set of operations to be performed on the substrate during the process and can include one or more settings associated with each operation. For example, a deposition process recipe can include a temperature setting for the process chamber, a pressure setting for the process chamber, flow settings for precursors of materials included in the film deposited on the substrate surface, etc. In some embodiments, in response to executing the process recipe, the communication node 232 can send an indication to the evaluation system 234 that execution has commenced. The evaluation system 234 can then execute one or more sensor drivers to receive data from the monitoring devices.

[0065] In operation 435, the monitoring device (registered with the system controller 228) can obtain and collect the manufacturing data as indicated by the DCP. The monitoring device can obtain the manufacturing data from, for example, a process tool bus, as the manufacturing data is generated by the process tool. The monitoring device can monitor a particular type of data based on the DCP. In some embodiments, the data can be transmitted in response to a trigger. For example, the monitoring device can monitor the process tool bus for one or more steps of a specified process recipe starting from a specified process chamber. When one or more steps are detected, the monitoring device (via the communication node 232) can trigger the evaluation system 234 with a signal to transmit the data defined by the DCP. The trigger can be defined by a list of attributes and / or the DCP. The trigger can include a trigger function, such as a special type of stored procedure that is automatically executed when an event occurs. In another example, a trigger can be assigned to a process recipe (e.g., installed or set up in the system controller 228), and the trigger indicates one or more process recipe steps for initiating the monitoring device. In response to a trigger being activated (e.g., a process recipe set being initiated by the system controller 228) or in response to receiving an instruction associated with the output of a trigger, a signal may be sent from the system controller 228 to the communications node 232 instructing the monitoring device to activate and / or begin a data collection operation. In some embodiments, multiple triggers may be generated by the monitoring device.

[0066] In operation 440, the communications node 232 may transmit the received data to the rating system 234. Note that only one rating system is discussed with respect to diagram 400. However, one or more of the operations of the blocks illustrated in diagram 400 may be performed using multiple rating systems, as described with respect to FIG.

[0067] In operation 445, the evaluation system 234 can process the received data to generate feedback data (e.g., prediction data, corrective actions, etc.). For example, the 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) indicative of the prediction data and / or the type of corrective action to be taken to correct the suspected problem or fault indicated by the prediction data. The corrective action can modify and / or update one or more parameters of the process recipe or process chamber. For example, the correction profile can include adjustments to a temperature setting of the process chamber, a pressure setting of the process chamber, a flow rate setting of a precursor of a material included in the film deposited on the substrate surface, power supplied to the process chamber, a ratio of two or more settings, etc.

[0068] In operation 450, the evaluation system 234 can transmit the feedback data to the communication node 232. In operation 455, the evaluation system 234 can transmit the feedback data to the system controller 228. In some embodiments, the system controller 228 can execute (or suggest) a corrective action referenced by the feedback data. In some embodiments, the corrective action can be determined based on data obtained from a fault library. In some embodiments, the corrective action can include generating a warning or indication of the determined problem. In some embodiments, the corrective action can include processing logic adjusting one or more parameters of the deposition process recipe, the etch process recipe, or any other process recipe (e.g., temperature settings of a process chamber, pressure settings of a process chamber, flow settings of a precursor of a material included in the film deposited on the substrate surface, etc.) based on the desired properties of the film. In some embodiments, the process recipe can be adjusted before, during (e.g., in real time), or after completion of the process recipe.

[0069] 5 is an interaction diagram 500 illustrating processing data received from a monitoring device to generate and transmit feedback to a client device according to an embodiment of the disclosure. The interaction diagram 500 includes blocks that may be understood to be similar to blocks of a flow diagram of a method. Thus, when performed as a method, the blocks illustrated in the interaction diagram 500 (blocks that perform operations), the method, and each of its individual functions, routines, subroutines, or operations, may be executed by one or more processors of a computing device that executes the method.

[0070] The blocks illustrated in diagram 500 may be performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a general-purpose computer system or a dedicated machine), firmware, or some combination thereof. In one implementation, the blocks illustrated in diagram 500 may be performed by a computer system, such as computer system architecture 100 of FIG. 1 or manufacturing system 200 of FIG. 2. In other or similar implementations, one or more operations of the blocks illustrated in diagram 500 may be performed by one or more other machines not shown in the diagram. In some aspects, one or more operations of the blocks illustrated in diagram 500 may be performed by system controller 228, communication node 232, and evaluation system 234 of FIG. 2. In some embodiments, operations 510-540 of FIG. 5 may be similar to operations 410-440 of FIG. 4.

[0071] In operation 510, the communication node 232 may query the rating system 234 for one or more attributes. In one example, the communication node 232 may send a request to one or more rating systems (e.g., the rating system 234) for a list of attributes that each rating system desires for the process tool (or manufacturing system).

[0072] In block 515, the evaluation system 234 may send a list of attributes to the communication node 232. The attributes may include inputs used by the process tool, outputs generated from the process tool (e.g., metrology data, sensor data, metadata, time data, etc.), control modes, recipe set points being monitored, equipment constants being monitored, observable data about other tool subsystems being monitored, etc.

[0073] In block 520, the communications node 220 can generate or otherwise provide a monitoring device. The monitoring device can be any software program that can obtain or intercept data from a process tool. The communications node can then configure the monitoring device with the DCP to collect specific sensor data, event data, constant data, and settings data from the process tool based on the received attributes.

[0074] At block 525, the communication node 232 may register the monitoring device with the system controller 228. For example, the communication node 232 may register the monitoring device with the FES of the system controller 228. In some embodiments, once registered, the monitoring device first transmits pre-execution data to the communication node. The pre-execution data may include configuration parameters, tool data, or any other data required by the DCP that may be transmitted prior to execution of the strategy.

[0075] In block 530, the system controller 228 can execute a process recipe. The process recipe defines a particular set of operations to be performed on the substrate during the process and can include one or more settings associated with each operation. For example, a deposition process recipe can include a temperature setting for the process chamber, a pressure setting for the process chamber, flow settings for precursors of materials included in the film deposited on the substrate surface, etc. In some embodiments, in response to executing the process recipe, the communication node 232 can send an indication to the evaluation system 234 that execution has commenced. The evaluation system 234 can then execute one or more sensor drivers to receive data from the monitoring devices.

[0076] In block 535, the monitoring device (registered with the system controller 228) can transmit data to the communication node 232 associated with the DCP. As data is generated by the process tool, the monitoring device can retrieve the data, for example, from the process tool bus. The monitoring device can listen for a particular type of data based on the DCP. In some embodiments, the data can be transmitted in response to a trigger. For example, the monitoring device can monitor the process tool bus for one or more steps of a specified process recipe starting with a specified process chamber. When one or more steps are detected, the monitoring device (via the communication node 232) can trigger the evaluation system 234 with a signal to transmit data defined by the DCP. The trigger can be defined by a list of attributes and / or the DCP.

[0077] At block 540, the communications node 232 may transmit the received data to the rating system 234. Note that only one rating system is discussed with respect to diagram 400. However, one or more of the operations of the blocks illustrated in diagram 400 may be performed using multiple rating systems, as described with respect to FIG.

[0078] At block 545, the evaluation system 234 may process the received data to generate feedback data. For example, the processing logic may apply a machine learning model or a physics-based engine to the input data. The machine learning model or physics-based engine may then generate output data (e.g., one or more output values) indicative of predictive, diagnostic, optimization, efficiency, and / or health data associated with the manufacturing equipment (e.g., the manufacturing equipment 126). In another embodiment, the feedback data may include recommended corrective actions indicating actions to be taken to correct a suspected problem or failure.

[0079] At block 550, the evaluation system 234 may send the feedback to the client device 120. At block 555, the client device 120 may perform a function using and / or based on the feedback data. For example, the client device 120 may display the feedback data (e.g., display diagnostic data, display recommended corrective actions, etc.), execute the feedback data (e.g., execute corrective actions, update process recipes, etc.), or perform any other function associated with the feedback data. In some embodiments, the client device may use the corrective action component 122 to execute the function.

[0080] 6 is a flow diagram of a method 600 for generating a monitoring device according to an embodiment of the present disclosure. The method 600 is performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software (such as running on a general-purpose computer system or a dedicated machine), firmware, or any combination thereof. In one embodiment, the method 600 may be performed by a computer system such as the computer system architecture 100 of FIG. 1. In other or similar embodiments, one or more operations of the method 600 may be performed by one or more other machines not shown in the figure. In some embodiments, one or more operations of the method 600 may be performed by the manufacturing equipment 124 and / or the tool server 227.

[0081] At operation 610, processing logic queries one or more rating systems for one or more attributes. For example, processing logic may send a request to one or more rating systems for a list of attributes that each rating system desires for the process tool. Each set of attributes for each rating system may include one or more tags (e.g., metadata, headers, etc.) that indicate the corresponding rating system.

[0082] In operation 620, the processing logic provides a monitoring device based on one or more attributes. The monitoring device may be any software program capable of acquiring or intercepting data from the process tool. The processing logic may configure the monitoring device with the DCP to collect specific sensor data, event data, alert data, and configuration data from the process tool. The DCP may be based on the received attributes.

[0083] In operation 630, processing logic registers the monitoring device with a system controller of the process tool. For example, processing logic can install the monitoring device in the FES of the manufacturing system and / or the process tool. The monitoring device can listen for a particular type of data based on the DCP.

[0084] In operation 640, processing logic may receive data from a monitoring device. For example, the monitoring device may monitor process tool bus-specific types of data associated with a DCP for a particular trigger (e.g., the start of a process recipe step), etc. Data corresponding to the trigger and / or the DCP may be received by processing logic.

[0085] At operation 650, processing logic may transmit the received data to a rating system. The rating system may then process the received data to generate feedback data, such as predictive data and / or corrective actions.

[0086] 7 illustrates an exemplary prediction system 700 according to aspects of the disclosure. The prediction system 700 can be used to generate predictive data, provide model adaptation, use a knowledge base, etc. A prediction server 712 can be part of the prediction system 710 and can be an embodiment of a rating system (e.g., rating system 234). The prediction system 710 can further include server machines 770 and 780.

[0087] Prediction server 712, server machine 770, and server machine 780 may each include one or more computing devices, such as a rack mount server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a desktop computer, a graphic processing unit (GPU), an accelerator application specific integrated circuit (ASIC) (e.g., a tensor processing unit (TPU)), etc.

[0088] The server machine 770 includes a training set generator 772 that can generate training datasets (e.g., a set of data inputs and a set of target outputs) for training, validating, and / or testing the machine learning model 790. The machine learning model 790 can be any algorithmic model capable of learning from data. In some embodiments, the dataset generator 772 can divide the training data into a training set, a validation set, and a test set. In some embodiments, the prediction system 710 generates multiple training datasets.

[0089] The server machine 780 may include a training engine 782, a validation engine 784, a selection engine 785, and / or a test engine 786. An engine may refer to hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing unit, etc.), software (e.g., instructions executed on a processing unit, general-purpose computer system, or dedicated machine), firmware, microcode, or a combination thereof. The training engine 782 may train one or more machine learning models 790. The machine learning models 790 may refer to model artifacts created by the training engine 782 using training data (also referred to herein as a training set) that includes training inputs and corresponding target outputs (correct answers for each training input). The training engine 782 may find patterns in the training data that map the training inputs to the target outputs (predicted answers) and provide the machine learning models 790 that capture these patterns. The machine learning model 790 may use one or more of statistical modeling, support vector machines (SVM), radial basis functions (RBF), clustering, supervised machine learning, semi-supervised machine learning, unsupervised machine learning, k-nearest neighbor algorithms (k-NN), linear regression, random forests, neural networks (e.g., artificial neural networks), and the like.

[0090] One type of machine learning model that can be used to perform some or all of the above tasks is an artificial neural network, such as a deep neural network. An artificial neural network generally includes a feature representation component with a classifier or regression layer that maps features to a desired output space. A convolutional neural network (CNN), for example, hosts multiple layers of convolutional filters. Pooling may be performed and nonlinearities may be addressed in lower layers, on top of which a multi-layer perceptron is typically added to map the top layer features extracted by the convolutional layers to a decision (e.g., classification output). Deep learning is a class of machine learning algorithms that uses a cascade of multiple layers of nonlinear processing units for feature extraction and transformation. Each successive layer uses the output from the previous layer as input. Deep neural networks can be trained in a supervised (e.g., classification) and / or unsupervised (e.g., pattern analysis) manner. Deep neural networks include a hierarchy of layers, with different layers learning different levels of representations corresponding to different levels of abstraction. In deep learning, each level learns to transform its input data into a slightly more abstract and complex representation. In plasma process tuning, for example, the raw input can be a process result profile (e.g., a thickness profile showing one or more thickness values ​​across the surface of a substrate), a second layer can constitute feature data associated with the state of one or more zones of a control element of a plasma processing system (e.g., zone orientation, plasma exposure time, etc.), and a third layer can include a starting recipe (e.g., a recipe used as a starting point to determine an updated process recipe for processing a substrate to produce a process result that meets a threshold criterion). Notably, a deep learning process can learn itself which features to optimally place at which level. The "deep" in "deep learning" refers to the number of layers through which data is transformed. More precisely, deep learning systems have a significant confidence assignment path (CAP) depth. A CAP is a chain of transformations from input to output.CAP describes the potential causal relationships between inputs and outputs. For feedforward neural networks, the depth of the CAP can be the depth of the network, which can be the number of hidden layers + 1. For recurrent neural networks, where signals can propagate through layers more than once, the depth of the CAP is potentially unlimited.

[0091] In one embodiment, the one or more machine learning models are recurrent neural networks (RNNs). RNNs are a type of neural network that includes memory that allows the neural network to capture temporal dependencies. RNNs can learn input-output mappings that depend on both current and past inputs. RNNs handle past and future flow measurements and make predictions based on this continuous measurement information. RNNs can be trained using a training data set to generate a fixed number of outputs (e.g., determining a set of substrate processing rates, determining modifications to a substrate process recipe). One type of RNN that can be used is a long short-term memory (LSTM) neural network.

[0092] Training of a neural network may be accomplished in a supervised learning fashion, which involves feeding a training dataset made up of labeled inputs through the network, observing its output, defining an error (by measuring the difference between the output and the label value), and using techniques such as deep gradient descent and backpropagation to adjust the network weights across all layers and nodes of the network so that the error is minimized. In many applications, repeating this process across many labeled inputs of the training dataset results in a network that can generate correct outputs even when presented with inputs that differ from those present in the training dataset.

[0093] A training data set including hundreds, thousands, tens of thousands, hundreds of thousands, or more sensor data and / or process result data (e.g., metrology data such as one or more thickness profiles associated with the sensor data) can be used to form the training data set.

[0094] To accomplish the training, the processing logic may input the training data set to one or more untrained machine learning models. Prior to inputting the first input to the machine learning models, the machine learning models may be initialized. The processing logic trains the untrained machine learning models based on the training data set to generate one or more trained machine learning models that perform various operations as described above. The training may be performed by inputting one or more of the sensor data to the machine learning models one at a time.

[0095] Machine learning models process inputs to generate outputs. An artificial neural network includes an input layer made up of values ​​of data points. The next layer is called a hidden layer, where each node in the hidden layer receives one or more input values. Each node includes parameters (e.g., weights) that it applies to the input values. Thus, each node essentially inputs the input values ​​into a multivariate function (e.g., a nonlinear mathematical transformation) to generate an output value. The next layer can be another hidden layer or an output layer. In either case, the nodes in the next layer receive output values ​​from the nodes in the previous layer, and each node applies weights to these values ​​and then generates its own output value. This can be done at each layer. The final layer is the output layer, where there is one node for each class, prediction, and / or output that the machine learning model can generate.

[0096] Thus, the output may include one or more predictions or inferences. For example, the output predictions or inferences may include one or more predictions of film build-up on the chamber parts, corrosion of the chamber parts, predicted failure of the chamber parts, etc. The processing logic determines an error (i.e., classification error) based on a difference between the output (e.g., prediction or inference) of the machine learning model and a target label associated with the input training data. The processing logic adjusts weights of one or more nodes of the machine learning model based on the error. An error term or delta may be determined for each node of the artificial neural network. Based on this error, the artificial neural network adjusts one or more of its parameters (weights of one or more inputs of the node) of one or more of its nodes. The parameters may be updated in a back-propagation fashion, with the nodes in the top layer updated first, followed by the nodes in the next layer, and so on. The artificial neural network includes multiple layers of "neurons," each layer receiving as inputs values ​​from the neurons in the previous layer. The parameters of each neuron include weights associated with values ​​received from each of the neurons in the previous layer. Thus, adjusting the parameters may include adjusting weights assigned to each of the inputs of one or more neurons in one or more layers within the artificial neural network.

[0097] After one or more training rounds, 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 to a parameter over one or more previous data points, combinations thereof, and / or other criteria. In one embodiment, 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 embodiment, the stopping criterion is met when the accuracy of the machine learning model stops improving. If the stopping criterion is not met, further training is performed. If the stopping criterion is met, the training can be completed. Once the machine learning model is trained, the model can be tested using a reserved portion of the training dataset.

[0098] Once one or more trained machine learning models 790 are generated, these models may be stored in the prediction server 712 as a prediction component 714 or as components of the prediction component 714.

[0099] The validation engine 784 may be capable of validating the machine learning model 790 using the corresponding set of features of the validation set from the training set generator 772. Once the model parameters are optimized, model validation may be performed to determine if the model has been improved and to determine the current accuracy of the deep learning model. The validation engine 784 may determine the accuracy of the machine learning model 790 based on the corresponding set of features of the validation set. The validation engine 784 may discard trained machine learning models 790 that have an accuracy that does not meet the threshold accuracy. In some embodiments, the selection engine 785 may be capable of selecting a trained machine learning model 790 that has an accuracy that meets the threshold accuracy. In some embodiments, the selection engine 785 may be capable of selecting a trained machine learning model 790 that has the highest accuracy among the trained machine learning models 790.

[0100] The testing engine 786 may be able to test the trained machine learning models 790 using a corresponding set of features of a test set from the dataset generator 772. For example, a first trained machine learning model 790 trained using a first set of features of the training set may be tested using a first set of features of the test set. The testing engine 786 may determine the trained machine learning model 790 that has the highest accuracy of all the trained machine learning models based on the test set.

[0101] As described in more detail below, the prediction server 712 provides data indicative of the expected behavior of each subsystem of the process chamber and includes a prediction component 714 that can execute the trained machine learning models 790 against current sensor data inputs to obtain one or more outputs. The prediction server 712 can further provide data indicative of the health and diagnostics of the process chamber subsystems, as described in more detail below.

[0102] Prediction server 112, server machine 170, and server machine 180 may be coupled to one another (or to client devices 120, manufacturing tools 124, metrology tools 128, and / or data store 140) via a network (e.g., network 130). In some embodiments, network 130 provides client devices 120 and / or tool server 127 with access to prediction server 112.

[0103] It should be noted that in some other implementations, the functionality of server machines 770 and 780 and prediction server 712 may be provided by a fewer number of machines. For example, in some embodiments, server machines 770 and 780 may be combined into a single machine, while in some other or similar embodiments, server machines 770 and 780 and prediction server 712 may be combined into a single machine.

[0104] In general, functionality described in one embodiment as being performed by server machine 770, server machine 780, and / or prediction server 712 may also be performed on client device 120. Additionally, functionality attributed to a particular component may be performed by different components or multiple components working together.

[0105] FIG. 8 is a block diagram illustrating a computer system 800 according to certain embodiments. In some embodiments, computer system 800 may be connected to other computer systems (e.g., via a network such as a local area network (LAN), an intranet, an extranet, or the Internet). Computer system 800 may operate in the capacity of a server or a client computer in a client-server environment, or as a peer computer in a peer-to-peer or distributed network environment. Computer system 800 may be provided by a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a web appliance, a server, a network router, a switch or bridge, or any device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that device. Additionally, the term "computer" is intended to include any collection of computers that individually or jointly execute a set (or sets) of instructions to perform any one or more of the methods described herein.

[0106] In a further aspect, the computer system 800 may include a processing unit 802, a volatile memory 804 (e.g., random access memory (RAM)), a non-volatile memory 806 (e.g., read only memory (ROM) or electrically erasable programmable ROM (EEPROM)), and a data storage device 816, which may communicate with each other via a bus 808.

[0107] The processing unit 802 may be provided by one or more processors, such as a general-purpose processor (e.g., a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a microprocessor implementing other types of instruction sets, or a combination of multiple types of instruction sets, etc.) or a special-purpose processor (e.g., an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), or a network processor, etc.).

[0108] Computer system 800 may further include a network interface device 822 (e.g., coupled to a network 884). Computer system 800 may also include a video display unit 810 (e.g., 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.

[0109] In some implementations, the data storage device 816 may include a non-transitory computer-readable storage medium 824 capable of storing instructions 826 encoding any one or more of the methods or functions described herein, including instructions for encoding the components of FIG. 1 (e.g., communication node 232, etc.) and implementing the methods described herein.

[0110] The instructions 826 may also reside, completely or partially, within the volatile memory 804 and / or within the processing unit 802 during execution thereof by the computer system 800; and thus, the volatile memory 804 and the processing unit 802 may also constitute machine-readable storage media.

[0111] Although the computer-readable storage medium 824 is shown as a single medium in the illustrative example, the term "computer-readable storage medium" is intended to include a single medium or multiple media (e.g., centralized or distributed databases and / or associated caches and servers) that store one or more sets of executable instructions. The term "computer-readable storage medium" is also intended to include any tangible medium capable of storing or encoding a set of instructions for execution by a computer that causes the computer to perform any one or more of the methods described herein. The term "computer-readable storage medium" is intended to include, but is not limited to, solid-state memory, optical media, and magnetic media.

[0112] The methods, components, and features described herein may be implemented by discrete hardware components or may be integrated into the functionality of other hardware components, such as ASICs, FPGAs, DSPs, or similar devices. Additionally, the methods, components, and features may be implemented by firmware modules or functional circuits within a hardware device. Additionally, the methods, components, and features may be implemented in any combination of hardware devices and computer program components, or in a computer program.

[0113] Unless otherwise indicated, terms such as "receive," "perform," "provide," "obtain," "cause," "access," "determine," "add," "use," "train," and the like refer to computer system-performed or implemented actions and processes that manipulate and transform data represented as physical (electronic) quantities in the computer system's registers and memory into other data similarly represented as physical quantities in the computer system's memory or registers, or other such information storage, transmission, or display devices. Also, terms such as "first," "second," "third," "fourth," and the like, as used herein, are intended as labels to distinguish between different elements and cannot have a sequential meaning due to their numerical designations.

[0114] The examples described herein also relate to an apparatus for carrying out the methods described herein. The apparatus may be specially constructed to carry out the methods described herein, or may include a general-purpose computer system selectively programmed by a computer program stored in the computer system. Such a computer program may be stored in a computer-readable tangible storage medium.

[0115] The methods and illustrative embodiments described herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used in accordance with the teachings described herein, or it may prove convenient to construct more specialized apparatus to perform the methods described herein and / or each of their individual functions, routines, subroutines, or operations. Examples of structures for a variety of these systems are set forth in the description above.

[0116] The above description is intended to be illustrative and not limiting. Although the present disclosure has been described with reference to certain exemplary examples and embodiments, it will be recognized that the present disclosure is not limited to the described examples and embodiments. The scope of the present disclosure should be determined with reference to the following claims, along with the full scope of equivalents to which such claims are entitled.

Claims

1. Process tools and a tool server coupled to the process tool and comprising a communication node and an evaluation system, the communication node comprising: obtaining one or more attributes from the rating system; providing a monitoring device including a data collection plan based on said one or more attributes; registering the monitoring device with the process tool; receiving data from the process tool based on the data collection plan; transmitting the received data to the evaluation system; It is configured as follows: Electronic device manufacturing systems.

2. The electronic device manufacturing system of claim 1 , wherein the communication node communicates with the evaluation system and the process tool using remote procedure calls.

3. The communication node, receiving feedback data from the evaluation system that is generated based on the received data; causing the process tool to perform corrective action based on the feedback data; [0023] The electronic device manufacturing system of claim 1 .

4. The electronic device manufacturing system of claim 3 , wherein the feedback data comprises at least one of predictive data, diagnostic data, correction data, optimization data, efficiency data, or health data.

5. The communication node, receiving feedback data from the evaluation system that is generated based on the received data; transmitting the feedback data to a client device; [0023] The electronic device manufacturing system of claim 1 .

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 (API), a software application, a virtual device, an image file, or firmware.

7. 2. The electronic device manufacturing system of claim 1 , wherein the one or more attributes include at least one of an input used by the process tool, an output produced from the process tool, a control mode, a recipe set point being monitored, or an equipment constant being monitored.

8. The electronic device manufacturing system of claim 1 , wherein the evaluation system 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 of claim 1 , wherein the monitoring device is registered with a front-end server of the process tool.

10. The electronic device manufacturing system of claim 1 , wherein the monitoring device is configured to obtain the received data from a system bus of the process tool.

11. The electronic device manufacturing system of claim 1 , wherein the communication nodes comprise: a gateway node configured to generate the monitoring device; and a gateway node configured to communicate with a plurality of evaluation systems.

12. The communication node, registering the monitoring device with the process tool without causing software changes to the process tool; The electronic device manufacturing system of claim 1 , further configured to:

13. The communication node, assigning a trigger function to a process strategy step of a process strategy; initiating a data collection operation via the monitoring device in response to receiving an indication associated with an output of the trigger function. The electronic device manufacturing system of claim 1 , further configured to:

14. obtaining, by a processing device, one or more attributes from a rating system; providing a monitoring device including a data collection plan based on the one or more attributes; registering the monitoring device with a process tool; receiving data from the process tool based on the data collection plan; transmitting the received data to the evaluation system; A method comprising:

15. receiving feedback data from the evaluation system generated based on the received data; causing the process tool to perform corrective action based on the feedback data; The method of claim 14 further comprising:

16. receiving feedback data from the evaluation system generated based on the received data; transmitting said feedback data to a client device; The method of claim 14 further comprising:

17. The method of claim 14 , wherein the monitoring device comprises at least one of a device driver, an application programming interface (API), a software application, a virtual device, an image file, or firmware.

18. The method of claim 14 , wherein the monitoring device is registered with a front-end server of the process tool.

19. The method of claim 14 , wherein the monitoring device is configured to obtain the received data from a system bus of the process tool.

Citation Information

Patent Citations

  • Dynamic metrology method, system, and computer program for high performance process control in semiconductor processing

    JP2005505124A

  • WAFER CHARACTERISTICS CONTROL METHOD AND CONTROL SYSTEM THEREOF

    JP2005518654A

  • Method and system for analyzing quality of circuit board

    JP2006277370A

  • Techniques for Evaluating Semiconductor Component and Wafer Manufacturing

    JP2007504654A

  • Pattern placement and pattern size measurement device and method, and computer program therefor

    JP2019522362A