Piecewise function fitting of substrate profiles for process learning

By fitting the measurement data of the substrate profile in segments, the problem of inaccurate substrate profile description in the prior art is solved, more efficient process control and prediction is achieved, and experimental costs are reduced.

CN119631093APending Publication Date: 2025-03-14APPLIED MATERIALS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380055643.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-08-09
Filing Date
2023-08-07
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

The prior art is difficult to effectively describe and analyze substrate profiles, especially when dealing with complex shapes and nonlinear relationships, resulting in limited process control and prediction functions.

Method used

By segmenting the measurement data of the substrate profile and fitting into segmented functions, using functions in the function library for fitting, constraints such as continuity and smoothness are applied to obtain a more accurate and complete substrate profile description.

Benefits of technology

The accurate and complete description of the substrate profile is achieved, the number of parameters is reduced, the accuracy of process control and prediction is improved, and the experimental cost and time is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119631093A_ABST
    Figure CN119631093A_ABST
Patent Text Reader

Abstract

A method includes receiving, by a processing device, data indicative of a plurality of measurements of a contour of a substrate. The method further includes dividing the data into a plurality of data sets, a first set of the plurality of sets being associated with a first region of the contour, and a second set of the plurality of sets being associated with a second region of the contour. The method further includes fitting the first set of data to a first function to produce a first fitted function. The first function is selected from a function library. The method further includes fitting the second set of data to a second function to produce a second fitted function. The method further includes generating a piecewise function fit of the substrate profile. The piecewise function fitting comprises a first fitting function and a second fitting function.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to methods associated with machine learning models for evaluating manufactured devices, such as semiconductor devices. More particularly, the present disclosure relates to methods for generating and utilizing piecewise function fitting of substrate profiles for process characterization and process learning. Background Art

[0002] Products can be produced by performing one or more manufacturing processes using manufacturing equipment. For example, semiconductor manufacturing equipment can be used to produce substrates via semiconductor manufacturing processes. Products with specific properties suitable for target applications should be produced. Machine learning models are used in various process control and prediction functions associated with manufacturing equipment. Machine learning models are trained using data associated with manufacturing equipment. Products (e.g., manufactured components) can be measured, which can enhance the understanding of component function, failure, performance, and can be used for metrology or inspection or the like. Summary of the invention

[0003] The following is a brief summary of the disclosure in order to provide a basic understanding of some aspects of the disclosure. This summary is not an exhaustive review of the disclosure. It is neither intended to identify important or critical elements of the disclosure, nor to delineate any scope of a particular embodiment of the disclosure or any scope of the claims. Its sole purpose is to present some concepts of the disclosure in a concise form as a prelude to a more detailed description presented later.

[0004] In one aspect of the present disclosure, a method includes receiving, by a processing device, data indicating a plurality of measurements of a substrate profile. The method further includes dividing the data into a plurality of sets of data, a first set of the plurality of sets being associated with a first region of the profile, and a second set of the plurality of sets being associated with a second region of the profile. The method further includes fitting the data of the first set to a first function to produce a first fitted function. The first function is selected from a library of functions. The method further includes fitting the data of the second set to a second function to produce a second fitted function. The method further includes generating a piecewise function fit of the substrate profile. The piecewise function fit includes a first fit function and a second fit function.

[0005] In another aspect of the present disclosure, a non-transitory machine-readable storage medium stores instructions that, when executed, cause a processing device to perform operations. The operations include receiving data indicating a plurality of measurements of a substrate profile. The operations further include dividing the data indicating the plurality of measurements into a plurality of sets of data. A first set of the plurality of sets is associated with a first region of the profile. A second set of the plurality of sets is associated with a second region of the profile. The operations further include fitting the data of the first set to a first function to generate a first fitting function. The first function is selected from a function library. The operations further include fitting the data of the second set to a second function to generate a second fitting function. The second function is selected from a function library. The second function is different from the first function. The operations further include generating a piecewise function fit of the substrate profile. The piecewise function fit includes a first fitting function and a second fitting function.

[0006] In another aspect of the present disclosure, a system includes a memory and a processing device coupled to the memory. The processing device is configured to perform operations. The operations include receiving data indicating multiple measurements of a substrate profile. The operations further include dividing the data indicating the multiple measurements into multiple sets of data. A first set of the multiple sets is associated with a first area of ​​the profile. A second set of the multiple sets is associated with a second area of ​​the profile. The operations further include fitting the data of the first set to a first function to generate a first fitting function. The first function is selected from a function library. The operations further include fitting the data of the second set to a second function to generate a second fitting function. The second function is selected from a function library. The second function is different from the first function. The operations further include generating a piecewise function fit of the substrate profile. The piecewise function fit includes a first fitting function and a second fitting function.

[0007] BRIEF DESCRIPTION OF THE DRAWINGS

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

[0009] Figure 1 is a block diagram illustrating an exemplary system architecture, according to some implementations.

[0010] Figure 2A Depicted is a block diagram of a system including an example dataset generator for generating a dataset for one or more supervised models, according to some implementations.

[0011] Figure 2B Depicted is a block diagram of an example dataset generator for generating a dataset for one or more unsupervised models, according to some embodiments.

[0012] Figure 3is a block diagram illustrating a system for generating output data, according to some implementations.

[0013] Figure 4A is a flowchart of a method for generating a data set for a machine learning model according to some embodiments.

[0014] Figure 4B is a flow chart of a method for generating a contour piecewise function fit according to some embodiments.

[0015] Figure 5A is a block diagram of a substrate measurement generation system according to some embodiments.

[0016] Figure 5B Depicted are example substrates and example function fits of substrate profiles according to some embodiments.

[0017] Figure 5C is a flow chart of system components of a system for generating and utilizing piecewise function fitting of a substrate profile, according to some embodiments.

[0018] Figure 6 is a block diagram illustrating a computer system according to some implementations. DETAILED DESCRIPTION

[0019] Techniques for generating functional descriptions of substrate profiles are described herein. In some embodiments, the techniques described herein are for generating piecewise functional descriptions of fabricated or simulated substrates. The substrate profile may be related to the shape of one or more features of the substrate. For example, the substrate may include one or more critical dimensions, such as the width of a hole, groove, or trench in the substrate. The substrate profile may represent the shape of the substrate, such as a critical dimension as a function of depth. The techniques described herein may allow for the generation of piecewise functions that succinctly and accurately describe the shape of a feature, the profile of a substrate, and the like.

[0020] Manufacturing equipment is used to produce products, such as substrates (e.g., wafers, semiconductors). Manufacturing equipment may include manufacturing or processing chambers to separate (e.g., isolate) the substrate from the surrounding environment for processing. The properties of the produced substrates must meet target values ​​to promote specific functionality. Manufacturing parameters are selected to produce substrates that meet target property values. Many manufacturing parameters (e.g., hardware parameters, processing parameters, etc.) contribute to the properties of the processed substrates. The manufacturing system can control parameters by specifying set points for property values ​​and receiving data from sensors set in the manufacturing chamber, and adjusting the manufacturing equipment until the sensor readings match the set points. The manufacturing system can generate, produce, process or manufacture substrates. The substrate can be analyzed (e.g., measured, tested, etc.) to predict the performance (e.g., quality) of the substrate, evaluate the quality of the manufacturing system / process, etc. One or more profiles of the substrate can be measured (e.g., a cross section of the structure / feature of the substrate). For holes in the substrate (e.g., holes etched in the substrate), one or more critical dimensions can be measured. As used herein, a critical dimension may relate to the width of a hole (e.g., the width as measured perpendicular to the centerline of the hole), often as a function of depth (e.g., the depth where the width measurement line intersects the centerline). Many measurements of the critical dimension may be made at various depths of the hole. Measurements as a function of depth may describe the substrate profile.

[0021] A physics-based model may be used to generate a simulated substrate (e.g., a data set that predicts properties, geometry, etc. of a substrate manufactured based on parameters provided to the physics-based model). Inputs to the physics-based model may be different from inputs to the manufacturing system. For example, the manufacturing system may include set points for power supplied to various components, frequencies of one or more radio frequency components, gas flow settings, etc. The physics-based model inputs may include etching rates, deposition rates, gas compositions, energy transfer, etc. The physics-based model may be configured to receive one or more simulated inputs as input and generate a simulated substrate as output (e.g., predicted data indicating the geometry and / or properties of a substrate processed based on the simulated inputs). The simulated substrate data may include data indicating one or more profiles of the simulated substrate. The simulated substrate data may include one or more measurements of critical dimensions.

[0022] A simulated substrate may be generated using a machine learning model. Inputs to the machine learning model may be different or the same as (or include one or more of) inputs to a physics-based model and / or inputs to a manufacturing system. The machine learning model may receive as inputs manufacturing parameters (e.g., set points, inputs to a manufacturing system), conditions (e.g., physics-based simulation inputs), sensor data (e.g., received by a sensor associated with a manufacturing system), combinations thereof, or the like. The machine learning model may be configured to generate simulated substrates, e.g., predicted data indicative of substrate properties. The simulated substrate data may include data indicative of one or more profiles of the simulated substrate. The simulated substrate data may include one or more measurements of a critical dimension.

[0023] A profile of a substrate (e.g., a manufacturing substrate, a simulation substrate, etc.) may be extracted. The profile may be expressed as a series of data points, a series of measurements, etc. For example, a critical dimension may be expressed as a number of points, each corresponding to a measurement at an associated depth. This may be used to generate a curve of critical dimension versus depth. Other dimensions, geometries, profiles, etc. of the substrate may be expressed.

[0024] In conventional systems, several indicators can be extracted from the measurements of the profile to describe the profile. For example, the profile can be associated with a critical dimension of the substrate. Several measurements can be extracted from the profile, for example, as an approximation of the profile. The extracted values ​​can include, for example, a maximum value, a minimum value, the location of the maximum or minimum value (e.g., the depth at which the maximum critical dimension occurs), a value at the lowest or highest value of a domain, a slope between two points of the profile, or the like.

[0025] Point representations of substrate profiles (e.g., critical dimensions versus depth) may have several disadvantages. Inputs to a substrate generation system (e.g., processing knobs of a substrate manufacturing system, simulation knobs of a physics-based model, inputs to a machine learning model, etc.) may affect many points of the profile. It may be difficult to separate the physical (e.g., geometric) effects provided by any changes in the inputs in a point-by-point description. It may be more difficult to generate a target profile, e.g., many points may be assigned target values, which may be related in non-linear, non-obvious ways, etc.

[0026] The indicator representation of the substrate contour may have several disadvantages. The indicator representation may not fully represent the contour, may not accurately represent the contour, may not represent all portions of the contour, etc. The indicator representation may be blind to one or more portions of the contour, for example, a contour that is different in certain areas of the contour, different in certain geometric ways, different in certain values, etc. may be similarly represented in the indicator representation.

[0027] Aspects of the present disclosure may address one or more of these deficiencies of conventional techniques. Aspects of the present disclosure may allow for the generation of a functional description of important features of one or more profiles of a substrate (e.g., a manufacturing substrate, a simulation substrate, etc.). Measurements of the substrate profile may be provided to a fitting tool (e.g., fitting software of a general purpose computer, dedicated hardware, etc.). For example, a series of data points may be provided to the fitting tool, each data point corresponding to a critical dimension measurement and an associated depth. The fitting tool may generate a piecewise function describing the profile, for example, a piecewise function describing a critical dimension as a function of depth.

[0028] In some embodiments, a processing device (e.g., configured to perform operations of a profile fitting tool) may receive a measurement of a substrate profile. The data may be divided into a plurality of portions (e.g., each portion may correspond to a solid area of ​​the substrate profile). Each portion may be described by a function (e.g., fitted to a function). The entire profile may be described as a segmented collection of functions describing the portions.

[0029] In some embodiments, one or more constraints may be applied to the fitting functions of these regions, to the piecewise fitting functions, etc. For example, the boundaries between the multiple parts of the profile data corresponding to the boundaries between the regions of the substrate may have forced conditions. The forced boundary conditions may include continuity (e.g., forcing the functions describing adjacent parts of the profile data to take the same value within a threshold error at the boundary). The forced boundary conditions may include smoothness (e.g., forcing the first-order derivatives of the functions describing adjacent parts of the profile data to take the same value within a threshold error at the boundary). The forced boundary conditions may include higher-order conditions (e.g., forcing the higher-order derivatives of the functions describing adjacent parts of the profile data to take the same value within a threshold error at the boundary), etc.

[0030] The function for fitting each portion of the profile may be selected from a library. The selection may be made by a processing device (e.g., by a fitting tool). The selection may be made by a user. In some embodiments, the substrate may include a semiconductor element. In some embodiments, the substrate may include a semiconductor memory element.

[0031] Aspects of the present disclosure may provide technical advantages over conventional techniques. In some embodiments, a complete, accurate (e.g., error such as sum of squared error within target value / threshold) description of a substrate profile may be generated using a small number of parameters (e.g., fewer than the number of data points describing the profile). In some embodiments, the fitted parameters may have physical meaning, for example, the concavity of a portion of a profile (e.g., coefficients of a quadratic polynomial term) may have physical meaning because of the effective radius of curvature describing a portion of the profile. Adjustments to various inputs to a substrate generation system (e.g., a manufacturing system, a model, etc.) may result in profile changes that may be easily parsed, easily associated from parameters to geometry, etc. Fitting a profile to a piecewise fitting function may smooth and / or denoise the profile measurement data.

[0032] In some embodiments, parameters (e.g., fitting coefficients) of multiple profiles can be provided to a model (e.g., a statistical model, a clustering model, a machine learning model) to generate additional information about the substrate profile space. In some embodiments, the model can generate data indicating correlations between parameters, which can be easily correlated with correlations between physical changes in substrate profiles.

[0033] In some embodiments, the profile parameters may be associated with inputs to a substrate production system (eg, by providing the inputs and parameters to train a machine learning model). In some embodiments, a model may be developed that associates input parameters to a substrate production system with profile parameters of a substrate.

[0034] In some embodiments, a profile (e.g., a profile of a specific shape) can be targeted. The substrate generation system can be operated to obtain the target profile. The technology of the present disclosure can simplify this process, for example, by associating fitting parameters with geometric characteristics of the substrate profile, by associating input conditions with profile parameters, by providing verification of experimental design, etc.

[0035] The technology of the present disclosure provides advantages over conventional methods of operating substrate production systems. Designing a processing program to produce a target profile can be an expensive process in terms of time, energy, experimental material costs, disposal of defective products, costs of developing experimental design expertise, etc. Designing a program to target a profile described by parameters (e.g., parameters with physical meaning) can reduce these costs.

[0036] Performing clustering on the parameters of the profile fit can allow for a more thorough understanding of the available output space of the substrate production system. For example, the target profile may be outside the output space available to the substrate production system according to one or more constraints. Easily obtaining information indicating such constraints can reduce the time, material, energy, etc. spent in experimental design, testing, or the like.

[0037] In one aspect of the present disclosure, a method includes receiving, by a processing device, data of a measurement set indicating a profile of a substrate. The method further includes, by the processing device, dividing the data indicating the measurement set into a series of data sets. A first set in the series of sets is associated with a first region of the profile. A second set in the series of sets is associated with a second region of the profile. The method further includes fitting the data of the first set to a first function to generate a first fitting function. The first fitting function is selected from a function library. The method further includes fitting the data of the second set to a second function to generate a second fitting function. The second function is selected from a function library. The second function is different from the first function. The method further includes generating a piecewise function fit of the substrate profile. The piecewise function fit includes a first fitting function and a second fitting function.

[0038] In another aspect of the present disclosure, a non-transitory machine-readable storage medium stores instructions. When executed, the instructions cause a processing device to perform operations. The operations include receiving, by the processing device, data indicating a set of measurements of a substrate profile. The operations further include, by the processing device, dividing the data indicating the set of measurements into a series of data sets. A first set in the series of sets is associated with a first region of the profile. A second set in the series of sets is associated with a second region of the profile. The operations further include fitting the data of the first set to a first function to generate a first fitting function. The first fitting function is selected from a function library. The operations further include fitting the data of the second set to a second function to generate a second fitting function. The second function is selected from a function library. The second function is different from the first function. The operations further include generating a piecewise function fit of the substrate profile. The piecewise function fit includes a first fitting function and a second fitting function.

[0039] In another aspect of the present disclosure, a system includes a memory and a processing device coupled to the memory. The processing device is configured to receive data indicating a measurement set of a substrate profile. The processing device is further configured to divide the data indicating the measurement set into a series of sets of data. A first set in the series of sets is associated with a first region of the profile. A second set in the series of sets is associated with a second region of the profile. The processing device is further configured to fit the data of the first set to a first function to generate a first fitting function. The first fitting function is selected from a function library. The processing device is further configured to fit the data of the second set to a second function to generate a second fitting function. The second function is selected from a function library. The second function is different from the first function. The processing device is further configured to generate a piecewise function fit of the substrate profile. The piecewise function fit includes a first fitting function and a second fitting function.

[0040] Figure 11 is a block diagram illustrating an exemplary system 100 (exemplary system architecture) according to some embodiments. System 100 includes client device 120, manufacturing equipment 124, sensor 126, metrology equipment 128, prediction server 112, and data storage 140. Prediction server 112 may be part of prediction system 110. Prediction system 110 may further include server machines 170 and 180.

[0041] The sensor 126 may provide sensor data 142 associated with the manufacturing equipment 124 (e.g., associated with the production of a corresponding product (such as a substrate) by the manufacturing equipment 124). The sensor data 142 may be used to determine equipment health and / or product health (e.g., product quality). The manufacturing equipment 124 may produce a product according to a recipe or execution run over a period of time. In some embodiments, the sensor data 142 may include values ​​of one or more of the following: optical sensor data, spectral data, temperature (e.g., heater temperature), spacing (SP), pressure, high frequency radio frequency (HFRF), radio frequency (RF) matching voltage, RF matching current, RF matching capacitor position, voltage of an electrostatic chuck (ESC), actuator position, current, flow rate, power, voltage, etc. The sensor data 142 may include historical sensor data 144 and current sensor data 146. The current sensor data 146 may be associated with a product currently being processed, a recently processed product, a number of recently processed products, etc. The current sensor data 146 may be used as an input to a model, such as a trained machine learning model, for example, to generate prediction data 168. The historical sensor data 144 may include stored data associated with previously produced products. The historical sensor data 144 may be used to train a model, such as a machine learning model, for example, model 190. The current sensor data 146 may be provided to the model, and the model may generate one or more predictions of properties of a substrate processed under the conditions described by the current sensor data 146 as output. The predictions of properties may include predictions of critical dimensions (CDs), including substrate profiles. The historical sensor data 144 and / or the current sensor data 146 may include attribute data, such as a manufacturing equipment ID or a label of the design, a sensor ID, type and / or location, a label of the status of the manufacturing equipment, such as the presence of faults, service life, etc.

[0042] The sensor data 142 may be associated with or indicate manufacturing parameters, such as hardware parameters of the manufacturing equipment 124 (e.g., hardware settings or installed components, such as size, type, etc.) or process parameters of the manufacturing equipment 124 (e.g., heater settings, gas flow rates, etc.). Data associated with some hardware parameters and / or process parameters may alternatively or additionally be stored as manufacturing parameters 150, which may include historical manufacturing parameters 152 (e.g., associated with historical process runs) and current manufacturing parameters 154. The manufacturing parameters 150 may indicate input settings of the manufacturing device (e.g., heater power, gas flow rates, etc.). The manufacturing parameters 150 may be provided to a model (such as a physics-based model or a machine learning model) as model input. The model output may include simulated substrates, for example, data representing one or more properties of the predicted substrate that will be obtained by the process via the input parameters. The historical parameters 152 may be provided to train the model (e.g., a physics-based model, a machine learning model, etc.). The current parameters 154 may be provided to the model in order to obtain predicted properties of a substrate manufactured according to the provided parameters. Predicting properties may include modeling the profile of a substrate, for example, CD as a function of the depth of a substrate hole.

[0043] The sensor data 142 and / or manufacturing parameters 150 (e.g., equipment readings when processing a product) may be provided when the manufacturing equipment 124 performs a manufacturing process. The sensor data 142 may be different for each product (e.g., each substrate). The substrate (e.g., produced according to current parameters 154, processed under conditions with respect to current sensor data 146, etc.) may have a property value (film thickness, film strain, critical dimension, etc.) measured by the metrology equipment 128 (e.g., measured at a stand-alone metrology facility). The metrology data 160 may be a component of the data storage 140. The metrology data 160 may include historical metrology data 164 (e.g., metrology data associated with previously processed products). The metrology data 160 may include current metrology data 166 (e.g., associated with one or more current products). The metrology data may include one or more measurements of the CD of the substrate. The metrology data may include a point-by-point representation of the profile of the substrate (e.g., CD profile).

[0044] In some embodiments, metrology data 160 may be provided without the use of a stand-alone metrology facility, such as in-situ metrology data (e.g., metrology or metrology metrics collected during processing), integrated metrology data (e.g., metrology or metrology metrics collected while the product is within a chamber or under vacuum but not during processing operations), online metrology data (e.g., data collected after the substrate is removed from the vacuum), etc. The metrology data 160 may include current metrology data 166 (e.g., metrology data associated with a currently or recently processed product).

[0045] In some embodiments, the sensor data 142, the metrology data 160, or the manufacturing parameters 150 may be processed (e.g., by the client device 120 and / or by the prediction server 112). Processing the sensor data 142 may include generating features. In some embodiments, the features are patterns in the sensor data 142, the metrology data 160, and / or the manufacturing parameters 150 (e.g., slope, width, height, peak, substrate profile, etc.) or combinations of values ​​from the sensor data 142, the metrology data, and / or the manufacturing parameters (e.g., power derived from voltage and current, etc.). The sensor data 142 may include features and the features may be used by the prediction component 114 for performing signal processing and / or for obtaining prediction data 168 for performing corrective actions.

[0046] Each instance (e.g., set) of sensor data 142 may correspond to a product (e.g., a substrate), a set of manufacturing equipment, a type of substrate produced by a manufacturing equipment, and / or a design, or the like. Each instance of metrology data 160 and manufacturing parameters 150 may likewise correspond to a product, a set of manufacturing equipment, a type of substrate produced by a manufacturing equipment, or the like. The data store may further store information associating sets of different data types, for example, information indicating that a set of sensor data, a set of metrology data, and a set of manufacturing parameters are all associated with the same product, manufacturing equipment, type of substrate, etc.

[0047] In some embodiments, a substrate is generated by one or more components of the system 100. A physical substrate may be generated by a manufacturing device 124. Properties of the physical substrate may be measured, quantified, etc. by a metrology device 128, stored as metrology data 160, etc. A simulated substrate may be generated, for example, by a prediction system 110. The simulated substrate may be generated using sensor data 142, for example, current sensor data 146 may be provided to a model, and an output obtained from the model may indicate one or more properties of a substrate predicted to be generated based on input conditions. A simulated substrate may be generated using manufacturing parameters 150, for example, current parameters 154 may be provided to a model, and an output obtained from the model may indicate one or more properties of a substrate predicted to be generated based on input parameters. A simulated substrate may be generated based on simulated inputs, such as inputs describing processing parameters experienced by the substrate. The simulated inputs may include inputs that are not directly measured or controlled in a physical system, such as an etch rate, a deposition rate, a rate taper, etc. The simulated inputs may include one or more parameters, for example, some inputs may not have a clear physical meaning. The properties of the simulated substrate may be stored, for example, as metrology data 160. The simulated substrate may be generated by one or more physics-based models, one or more machine learning models, and the like.

[0048] In some embodiments, the prediction system 110 may generate the prediction data 168 using supervised machine learning (e.g., the prediction data 168 includes output from a machine learning model trained using labeled data, such as sensor data labeled with metrology data (e.g., the metrology data may include synthetic microscopic images generated according to embodiments of the present invention, etc.)). In some embodiments, the prediction system 110 may generate the prediction data 168 using unsupervised machine learning (e.g., the prediction data 168 includes output from a machine learning model trained using unlabeled data, and the output may include clustering results, principal component analysis, anomaly detection, etc.). In some embodiments, the prediction system 110 may generate the prediction data 168 using semi-supervised learning (e.g., the training data may include a mixture of labeled and unlabeled data, etc.). In some embodiments, the prediction system 110 may generate the prediction data 168 using a physics-based model.

[0049] The prediction data 168 may include data associated with the simulated substrate, for example, predicted properties of the substrate processed under the processing conditions associated with the simulation inputs. The prediction data 168 may include data associated with the substrate profile. The prediction data 168 may include function parameters describing the substrate profile. The prediction data 168 may include the output of a model that predicts the function parameters describing the substrate profile. The prediction data 168 may include the output of a model that receives as input one or more parameters of the function description of the substrate profile and outputs predictions as one or more conditions (e.g., process conditions, process recipe operations, manufacturing equipment sensor measurements, etc.) associated with producing a substrate having the input profile.

[0050] Client devices 120, manufacturing equipment 124, sensors 126, metrology equipment 128, prediction server 112, data storage 140, server machine 170, and server machine 180 may be coupled to each other via network 130 for generating prediction data 168 to perform corrective actions. In some embodiments, network 130 may provide access to cloud-based services. Operations performed by client devices 120, prediction system 110, data storage 140, etc. may be performed by virtual cloud-based devices.

[0051] In some embodiments, the network 130 is a public network that provides the client device 120 with access to the prediction server 112, the data storage 140, and other publicly available computing devices. In some embodiments, the network 130 is a private network that provides the client device 120 with access to the manufacturing equipment 124, the sensor 126, the metering equipment 128, the data storage 140, and other privately available computing devices. The network 130 may include one or more wide area networks (WAN), local area networks (LAN), 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.

[0052] The client device 120 may include a computing device such as a personal computer (PC), a laptop, a mobile phone, a smart phone, a tablet, a netbook computer, a network-connected television ("smart TV"), a network-connected media player (e.g., a Blu-ray player), a set-top box, an over-the-top (OTT) streaming device, an operator box, etc. The client device 120 may include a corrective action component 122. The corrective action component 122 may receive user input of an indication associated with the manufacturing equipment 124 (e.g., via a graphical user interface (GUI) that is displayed via the client device 120). In some embodiments, the corrective action component 122 sends the indication to the prediction system 110, receives output (e.g., prediction data 168) from the prediction system 110, determines a corrective action based on the output, and causes the corrective action to be implemented. In some embodiments, the corrective action component 122 obtains sensor data 142 (e.g., current sensor data 146 ) associated with the manufacturing equipment 124 (e.g., from a data storage 140 , etc.) and provides the sensor data 142 (e.g., current sensor data 146 ) associated with the manufacturing equipment 124 to the prediction system 110 .

[0053] In some embodiments, the prediction component 114 may facilitate generating prediction data 168 (e.g., by providing input to one or more models 190). The corrective action component 122 may retrieve data from the data storage 140 and provide the data to the prediction system 110 to generate the prediction data 168. The sensor data 142 may be provided to the prediction system 110 to generate one or more simulated substrates as output. The manufacturing parameters 150 may be provided to the prediction system 110 to generate one or more simulated substrates as output. The substrate profile data 162 may be provided to the prediction system 110 to generate a functional description of the profile (e.g., a piecewise functional fit of the profile). The profile fitting parameters may be provided to the prediction system 110 to generate a prediction program for generating a substrate having an input profile. The profile fitting parameters may be provided to the prediction system 110 for analysis, such as cluster analysis, parameter space analysis, etc.

[0054] In some embodiments, the corrective action component 122 receives output from the model 190, from the prediction component 114, from the prediction system 110, etc. The corrective action component 122 may store the output data in the data storage 140, for example, as the prediction data 168, the profile data 162, etc. The data output by the prediction system 110 may be used as input for another component of the prediction system 110. The client device 120 may store data used as input to one or more models 190. The client device 120 may store output data from one or more models 190. A component of the prediction system 110 (e.g., the prediction server 112, the server machine 170, etc.) may retrieve the data (e.g., from the data storage 140, from the client device 120, etc.). The prediction server 112 may store the output of the one or more models 190 in, for example, the data storage 140, and the client device 120 may retrieve the output data. Corrective action component 122 may perform one or more corrective actions based on data (eg, retrieved from data storage 140 , received from prediction system 110 , etc.).

[0055] In some implementations, the corrective action component 122 receives an indication of a corrective action from the prediction system 110 and causes the corrective action to be implemented. Each client device 120 may include an operating system that allows a user to do one or more of the following: generate, view, or edit data (e.g., indications associated with the manufacturing equipment 124, corrective actions associated with the manufacturing equipment 124, etc.).

[0056] In some embodiments, metrology data 160 (e.g., historical metrology data 164) corresponds to historical property data of a product (e.g., a product processed using manufacturing parameters associated with historical sensor data 144 and historical manufacturing parameters of manufacturing parameters 150), and prediction data 168 is associated with predicted property data of a product (e.g., that will or has been produced under the conditions recorded by current sensor data 146 and / or current manufacturing parameters). In some embodiments, prediction data 168 is or includes predicted metrology data (e.g., virtual metrology data, simulated substrate data) of a product that will or has been produced under the conditions recorded as current sensor data 146, current measurement data, current metrology data 166, and / or current parameters 154. In some embodiments, prediction data 168 is or includes an indication of any anomalies (e.g., an abnormal product, an abnormal component, an abnormal manufacturing equipment 124, abnormal energy usage, etc.) and optionally one or more causes of the anomaly. In some embodiments, prediction data 168 is an indication of changes or drifts over time in some components of manufacturing equipment 124, sensors 126, metrology equipment 128, and the like. In some embodiments, the predictive data 168 is an indication of the end of life of a component of the manufacturing equipment 124, sensor 126, metrology equipment 128, or the like. In some embodiments, the predictive data 168 is an indication of the progress of a processing operation being performed, for example, to be used for process control.

[0057] Performing a manufacturing process that results in a defective product can be expensive in terms of time, energy, product, parts, manufacturing equipment 124, costs of identifying defects and discarding defective products, etc. By inputting sensor data 142 (e.g., manufacturing parameters that are being used or will be used to manufacture a product) into the prediction system 110, receiving output of prediction data 168, and performing corrective actions based on the prediction data 168, the system 100 can have a technical advantage of avoiding the costs of producing, identifying, and discarding defective products. Products that are not predicted to meet performance thresholds can be identified and production can be halted, corrective actions performed, alerts sent to users, recipes updated, etc.

[0058] Performing a manufacturing process that results in a failure of a component of the manufacturing equipment 124 may be costly in terms of downtime, damage to the product, damage to the equipment, quickly ordering a replacement component, etc. By inputting sensor data 142 (e.g., manufacturing parameters being used or to be used to manufacture the product), metrology data, measurement data, etc. into the prediction system 110, receiving output of prediction data 168, and performing corrective actions (e.g., predicted operational maintenance, such as replacement, treatment, cleaning, etc. of a component) based on the prediction data 168, the system 100 may have a technical advantage of avoiding the cost of one or more of an unexpected component failure, unscheduled downtime, loss of productivity, unexpected equipment failure, product scrap, or the like. Monitoring the performance of components (e.g., manufacturing equipment 124, sensors 126, metrology equipment 128, and the like) over time may provide an indication of degraded components.

[0059] The manufacturing parameters may be non-optimal for producing the product, which may result in costly consequences of increased consumption of resources (e.g., energy, coolant, gas, etc.), increased amount of time to produce the product, increased component failures, increased amount of defective product, etc. By inputting indications of metrology into the prediction system 110, receiving output of the prediction data 168, and performing corrective actions (e.g., setting optimal manufacturing parameters) to update the manufacturing parameters (e.g., based on the prediction data 168), the system 100 may have the technical advantage of using optimal manufacturing parameters (e.g., hardware parameters, process parameters, optimal design) to avoid the costly consequences of non-optimal manufacturing parameters.

[0060] Recipe design and / or updating can be an expensive process, including experimental design operations, manufacturing operations, and metrology operations, each of which is repeatedly iterated until a target result is achieved. The target output can be a substrate including a target profile. By inputting metrology data 160 into the prediction system 110, a piecewise function fit of the substrate profile can be generated. The parameters of the fit can have physical meaning, for example, the coefficients of the quadratic polynomial terms can indicate the sharpness of curvature of a portion of the substrate profile. The fitting parameters can be adjusted to produce an updated target profile. By providing the updated fitting parameters to the prediction system 110, and receiving prediction data 168 corresponding to the predicted processing conditions, predicted manufacturing parameters, predicted simulation parameters, etc. that can lead to the input profile as output, the system 100 can reduce the costs associated with recipe design and updating; the costs associated with the experimental procedures, including material costs, energy costs, equipment usage, etc.; the costs associated with handling experimental products; or the like.

[0061] The corrective action may be associated with one or more of: Computational Process Control (CPC), Statistical Process Control (SPC) (e.g., SPC on electronic components used to determine the process under control, SPC used to predict the useful life of components, SPC used to compare with 3-sigma charts, etc.), Advanced Process Control (APC), model-based process control, preventive operational maintenance, design optimization, updating manufacturing parameters, updating manufacturing recipes, feedback control, machine learning modifications, or the like.

[0062] In some embodiments, the corrective action includes providing an alert (e.g., if the prediction data 168 indicates a predicted anomaly, such as an anomaly of a product, component, or manufacturing equipment 124, then a warning is issued to stop or not perform the manufacturing process). In some embodiments, a machine learning model is trained to monitor the progress of a processing run (e.g., in-situ monitoring of sensor data to predict whether a manufacturing process is complete). In some embodiments, when the model determines that the process is complete, the machine learning model may send an instruction to end the processing run. In some embodiments, the corrective action includes providing feedback control (e.g., modifying a manufacturing parameter in response to the prediction data 168 indicating a predicted anomaly). In some embodiments, performing the corrective action includes causing an update to one or more manufacturing parameters. In some embodiments, performing the corrective action may include retraining a machine learning model associated with the manufacturing equipment 124. In some embodiments, performing the corrective action may include training a new model (e.g., a machine learning model) associated with the manufacturing equipment 124.

[0063] The manufacturing parameters 150 may include hardware parameters (e.g., information indicating which components are installed in the manufacturing equipment 124, indicating component replacement, indicating component age, indicating software versions or updates, etc.) and / or process parameters (e.g., temperature, pressure, flow, rate, current, voltage, gas flow, lifting speed, etc.). In some embodiments, the corrective action includes causing preventive operational maintenance (e.g., replacing, treating, cleaning, etc. components of the manufacturing equipment 124). In some embodiments, the corrective action includes causing design optimization (e.g., updating manufacturing parameters, manufacturing processes, manufacturing equipment 124, etc. to obtain optimized products). In some embodiments, the corrective action includes updating recipes (e.g., changing the timing of manufacturing subsystems entering idle or active modes, changing set points for various property values, etc.).

[0064] The prediction server 112, the server machine 170, and the server machine 180 may each include one or more computing devices, such as a rack server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a desktop computer, a graphics processing unit (GPU), an accelerator application-specific integrated circuit (ASIC) (e.g., a tensor processing unit (TPU)), etc. The operations of the prediction server 112, the server machine 170, the server machine 180, the data storage 140, etc. may be performed through a cloud computing service, a cloud data storage service, etc.

[0065] The prediction server 112 may include a prediction component 114. In some embodiments, the prediction component 114 may receive current sensor data 146 and / or current manufacturing parameters (e.g., received from the client device 120, retrieved from the data storage 140) and generate outputs (e.g., prediction data 168) for performing corrective actions associated with the manufacturing equipment 124 based on the current data. The prediction component 114 may receive current data (e.g., current metrology data 166) and generate as output a piecewise function fit of a substrate profile. The prediction component 114 may receive a piecewise function fit of a target profile for a substrate and generate as output an indication of conditions for producing a substrate having the target profile. In some embodiments, the prediction data 168 may include one or more predicted dimensional measurements of a processed product. In some embodiments, the prediction component 114 may use one or more trained models 190 to determine outputs based on the current data. The models 190 may include machine learning models, physics-based models, statistical models, and the like.

[0066] The manufacturing equipment 124 can be associated with one or more machine learning models (e.g., model 190). The machine learning models associated with the manufacturing equipment 124 can perform a number of tasks, including process control, classification, performance prediction, etc. The model 190 can be trained using data associated with the manufacturing equipment 124 or products processed by the manufacturing equipment 124, such as sensor data 142 (e.g., collected by sensor 126), manufacturing parameters 150 (e.g., associated with process control of the manufacturing equipment 124), metrology data 160 (e.g., generated by metrology equipment 128), etc.

[0067] 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 typically includes a feature representation component with a classifier or regression layer that maps features to a desired output space. For example, a convolutional neural network (CNN) hosts multiple layers of convolutional filters. Pooling is performed at the lower layers, and nonlinearities can be resolved, with a multilayer perceptron typically attached on top of the lower layers to map the top features extracted by the convolutional layers to decisions (e.g., classification outputs).

[0068] Recurrent neural network (RNN) is another type of machine learning model. Recurrent neural network models are designed to interpret a series of inputs, where the inputs are inherently related to each other, such as time trace data, sequential data, etc. The output of the perceptron of the RNN is fed back into the perceptron as input to produce the next output.

[0069] Deep learning is a type of machine learning algorithm 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 learn in a supervised (e.g., classification) and / or unsupervised (e.g., pattern analysis) manner. A deep neural network includes a hierarchy of layers, where different layers learn different levels of representation corresponding to different levels of abstraction. In deep learning, each layer learns to transform its input data into a slightly more abstract and complex representation. In an image recognition application, for example, the original input may be a matrix of pixels; the first representation layer may abstract the pixels and encode the edges; the second layer may layout and encode the arrangement of the edges; the third layer may encode higher-level shapes (e.g., teeth, lips, gums, etc.); and the fourth layer may recognize the scanned character. Notably, the deep learning process can learn by itself which features are best placed in which layer. The "depth" in "deep learning" refers to the number of layers through which the data is transformed. More precisely, a deep learning system has a significant credit assignment path (CAP) depth. CAP is a chain of transformations from input to output. CAP describes the potential causal relationship between input and output. For a feed-forward neural network, the depth of the CAP may be the depth of the network and may be the number of hidden layers plus 1. For a recurrent neural network where a signal may propagate through the layers more than once, the CAP depth is potentially unlimited.

[0070] In some embodiments, the prediction component 114 receives current sensor data 146, current metrology data 166, and / or current manufacturing parameters 154, performs signal processing to decompose the current data into a current data set, provides the current data set as an input to the trained model 190, and obtains an output indicating predicted data 168 from the trained model 190. In some embodiments, the prediction component 114 receives metrology data of the substrate (e.g., metrology data predicted based on the sensor data) and provides the metrology data to the trained model 190. For example, the current sensor data 146 may include sensor data indicating metrology (e.g., geometry, profile, etc.) of the substrate. In some embodiments, the predicted data indicates metrology data (e.g., a prediction of substrate quality). In some embodiments, the predicted data indicates component health. In some embodiments, the predicted data indicates process progress (e.g., for ending a process operation). In some embodiments, the predicted data indicates a substrate generation procedure predicted to produce a substrate having target properties. The predicted data may indicate a procedure for producing a physical or simulated substrate having a target profile.

[0071] In some embodiments, the various models discussed in conjunction with model 190 (e.g., supervised machine learning models, unsupervised machine learning models, physics-based models, etc.) may be combined in one model (e.g., an integrated model) or may be separate models.

[0072] Data may be passed back and forth between several different models included in model 190 and prediction component 114. In some embodiments, some or all of these operations may alternatively be performed by different devices, e.g., client device 120, server machine 170, server machine 180, etc. One of ordinary skill in the art will appreciate that variations in data flows, which components perform which processes, which models are provided which data, and the like are within the scope of the present disclosure.

[0073] The data storage 140 may be a memory (e.g., random access memory), a drive (e.g., a hard drive, a flash drive), a database system, a cloud-accessible memory system, or another type of component or device capable of storing data. The data storage 140 may include multiple storage components (e.g., multiple drives or multiple databases) that may span multiple computing devices (e.g., multiple server computers). The data storage 140 may store sensor data 142, manufacturing parameters 150, metrology data 160, synthetic data 162, and predicted data 168.

[0074] The sensor data 142 may include historical sensor data 144 and current sensor data 146. The sensor data may include a time trace of sensor data over the duration of a manufacturing process, association of data with physical sensors, pre-processed data (such as averages and composite data), and data indicating sensor performance over time (i.e., during many manufacturing processes). The manufacturing parameters 150 and metrology data 160 may contain similar features, for example, historical metrology data 164 and current metrology data 166. The historical sensor data 144, historical metrology data 166, and historical manufacturing parameters may be historical data (e.g., at least a portion of these data may be used to train one or more models 190). The current sensor data 146, current metrology data 166 may be current data (e.g., after the historical data, at least a portion will be input into the learning model 190), for which prediction data 168 will be generated (e.g., for performing corrective actions). The profile data 162 may include measurements of the profile of a physical substrate, fit parameters of the physical substrate, profile data of a simulated substrate, fit parameters of a simulated substrate, a target profile, etc.

[0075] In some embodiments, the prediction system 110 further includes a server machine 170 and a server machine 180. The server machine 170 includes a data set generator 172 that is capable of generating a data set (e.g., a data input set and a target output set) to train, validate, and / or test a model 190, including one or more machine learning models. Some operations of the data set generator 172 are described below with respect to FIG. 2A to FIG. 2B and Figure 4A In some embodiments, the data set generator 172 may divide the historical data (e.g., historical sensor data 144, historical manufacturing parameters, historical metrology data 164) into a training set (e.g., 60% of the historical data), a validation set (e.g., 20% of the historical data), and a test set (e.g., 20% of the historical data).

[0076] In some implementations, the prediction system 110 (e.g., via the prediction component 114) generates multiple sets of features. For example, a first set of features may correspond to a first set of sensor data types (e.g., from a first set of sensors, a first combination of values ​​from the first set of sensors, a first pattern in values ​​from the first set of sensors), the first set of sensor data types corresponding to each of the data sets (e.g., a training set, a validation set, and a test set), and a second set of features may correspond to a second set of sensor data types (e.g., from a second set of sensors different from the first set of sensors, a second combination of values ​​different from the first combination, a second pattern different from the first pattern), the second set of sensor data types corresponding to each of the data sets.

[0077] In some embodiments, historical data is provided as training data to the machine learning model 190. In some embodiments, the historical sensor data may be or include microscopic image data. The type of data provided will vary depending on the intended use of the machine learning model. For example, a machine learning model may be trained by providing the model with historical sensor data 144 as training input and corresponding metrology data 160 as target output. In some embodiments, a large amount of data is used to train the model 190, for example, sensor and metrology data for hundreds of substrates may be used.

[0078] The server machine 180 includes a training engine 182, a validation engine 184, a selection engine 185, and / or a test engine 186. An engine (e.g., a training engine 182, a validation engine 184, a selection engine 185, and a test engine 186) may refer to hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, a processing device, etc.), software (such as instructions running on a processing device, a general purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. The training engine 182 may be capable of training the model 190 and / or the synthetic data generator 174 using one or more feature sets associated with a training set from the data set generator 172. The training engine 182 may generate a plurality of trained models 190, wherein each trained model 190 corresponds to a distinct feature set of the training set (e.g., sensor data from a distinct sensor set). For example, a first trained model may have been trained using all features (e.g., X1-X5), a second trained model may have been trained using a first subset of features (e.g., X1, X2, X4), and a third trained model may have been trained using a second subset of features (e.g., X1, X3, X4, and X5), which may partially overlap with the first subset of features. Dataset generator 172 may receive the output of the trained models (e.g., prediction data 168, profile data 162, etc.), collect the data into training, validation, and test data sets, and use these data sets to train a second model (e.g., a machine learning model configured to output prediction data, corrective actions, etc.).

[0079] The validation engine 184 may be capable of validating the trained models 190 using a corresponding feature set of a validation set from the dataset generator 172. For example, a first trained machine learning model 190 trained using a first feature set of a training set may be validated using a first feature set of a validation set. The validation engine 184 may determine the accuracy of each of the trained models 190 based on the corresponding feature set of the validation set. The validation engine 184 may discard trained models 190 whose accuracy does not meet a threshold accuracy. In some embodiments, the selection engine 185 may be capable of selecting one or more trained models 190 whose accuracy meets a threshold accuracy. In some embodiments, the selection engine 185 may be capable of selecting a trained model 190 with the highest accuracy of the trained models 190.

[0080] The testing engine 186 may be able to test the trained model 190 using a corresponding feature set of a test set from the dataset generator 172. For example, a first trained machine learning model 190 trained using a first feature set of a training set may be tested using a first feature set of a test set. The testing engine 186 may determine the trained model 190 having the highest accuracy of all trained models based on the test set.

[0081] In the case of a machine learning model, the model 190 may refer to a model artifact created by the training engine 182 using a training set that includes data inputs and corresponding target outputs (correct answers for the corresponding training inputs). Patterns that map data inputs to target outputs (correct answers) can be found in the data set and the machine learning model 190 is provided with a mapping that captures these patterns. The machine learning model 190 may use one or more of the following: Support Vector Machine (SVM), Radial Basis Function (RBF), clustering, supervised machine learning, semi-supervised machine learning, unsupervised machine learning, k-Nearest Neighbor algorithm (k-NN), linear regression, random forest, neural network (e.g., artificial neural network, recurrent neural network), etc.

[0082] The prediction component 114 may provide current data to the model 190 and may run the model 190 on the inputs to obtain one or more outputs. For example, the prediction component 114 may provide current sensor data 146 to the model 190 and may run the model 190 on the inputs to obtain one or more outputs. The prediction component 114 may be capable of determining (e.g., extracting) prediction data 168 from the outputs of the model 190. The prediction component 114 may determine (e.g., extract) confidence data from the outputs indicating a confidence level that the prediction data 168 is an accurate predictor of a process associated with the input data for a product that is being produced or to be produced using the manufacturing equipment 124 under the current sensor data 146 and / or current manufacturing parameters. The prediction component 114 or the corrective action component 122 may use the confidence data to decide whether to induce a corrective action associated with the manufacturing equipment 124 based on the prediction data 168.

[0083] The confidence data may include or indicate a confidence level that the prediction data 168 is an accurate prediction of a product or component associated with at least a portion of the input data. In one example, the confidence level is a real number between 0 and 1 (inclusive), where 0 indicates that the prediction data 168 is not trusted to be an accurate prediction of the component health of the product processed according to the input data or the component of the manufacturing equipment 124, and 1 indicates absolute trust that the prediction data 168 accurately predicts the properties of the product processed according to the input data or the component health of the component of the manufacturing equipment 124. In response to the confidence data indicating that the confidence level is below a threshold level for a predetermined number of instances (e.g., a percentage of instances, a frequency of instances, a total number of instances, etc.), the prediction component 114 may cause the trained model 190 to be retrained (e.g., based on current sensor data 146, current manufacturing parameters, etc.). In some embodiments, the retraining may include generating one or more data sets (e.g., via the data set generator 172) using historical data and / or simulated data.

[0084] For purposes of illustration and not limitation, aspects of the present disclosure describe using historical data (e.g., historical sensor data 144, historical manufacturing parameters) and synthetic data 162 to train one or more machine learning models 190 and inputting current data (e.g., current sensor data 146, current manufacturing parameters, and current metrology data) into the one or more trained machine learning models to determine prediction data 168. In other embodiments, prediction data 168 is determined using a heuristic model, a physics-based model, or a rule-based model (e.g., without using a trained machine learning model). In some embodiments, such models may be trained using historical and / or simulated data. In some embodiments, these models may be retrained using a combination of real historical data and simulated data. The prediction component 114 may monitor historical sensor data 144, historical manufacturing parameters, and metrology data 160. Information about the predicted product 168 may be monitored or otherwise used in a heuristic, physics-based, or rule-based model. FIG. 2A to FIG. 2B Any information described in data input 210A-B.

[0085] In some embodiments, the functionality of client device 120, prediction server 112, server machine 170, and server machine 180 may be provided by a smaller number of machines. For example, in some embodiments, server machines 170 and 180 may be integrated into a single machine, while in some other embodiments, server machine 170, server machine 180, and prediction server 112 may be integrated into a single machine. In some embodiments, client device 120 and prediction server 112 may be integrated into a single machine. In some embodiments, the functionality of client device 120, prediction server 112, server machine 170, server machine 180, and data storage 140 may be performed by a cloud-based service.

[0086] In general, functions described in one embodiment as being performed by client device 120, prediction server 112, server machine 170, and server machine 180 may also be performed on prediction server 112 in other embodiments, where appropriate. In addition, functionality attributed to a particular component may be performed by different or multiple components operating together. For example, in some embodiments, prediction server 112 may determine a corrective action based on prediction data 168. In another example, client device 120 may determine prediction data 168 based on output from a trained machine learning model.

[0087] Furthermore, the functionality of a particular component may be performed by different or multiple components operating together.One or more of prediction server 112, server machine 170, or server machine 180 may be accessed as a service provided to other systems or devices via an appropriate application programming interface (API).

[0088] In embodiments, a "user" may be represented as a single individual. However, other embodiments of the present disclosure encompass a "user" that is an entity controlled by multiple users and / or automation sources. For example, a collection of independent users united into a group of administrators may be considered a "user."

[0089] Embodiments of the present disclosure may be applied to data quality assessment, feature enhancement, model assessment, virtual metrology (VM), predictive maintenance (PdM), constraint optimization, process control, or the like.

[0090] FIG. 2A to FIG. 2B Depicted is a method for generating a pair of models (e.g., Figure 1 An example dataset generator 272A-B (e.g., Figure 1 Each data set generator 272 may be Figure 1 In some embodiments, several models associated with manufacturing equipment 124 may be trained, used, and maintained (e.g., within a manufacturing facility). Each model may be associated with a dataset generator 272, multiple models may share a dataset generator 272, etc. The dataset generators 272A-B may be used to generate datasets for machine learning models, statistical models, physics-based models, etc.

[0091] Figure 2A Depicted are methods including methods for creating a method for one or more models (e.g., Figure 1 The system 200A may include a data set generator 272A for a data set of a model 190 (e.g., a target output 220A). The data set generator 272A may create a data set (e.g., data input 210A, target output 220A) using historical data. The historical data may include simulated data, such as metrology data of a simulated substrate. In some embodiments, an unsupervised machine learning model may be trained using a data set generator similar to the data set generator 272A, for example, the target output 220A may not be generated by the data set generator 272A.

[0092] The data set generator 272A may generate a data set to train, test, and validate a model. In some embodiments, the data set generator 272A may generate a data set for a machine learning model. In some embodiments, the data set generator 272A may generate a data set for training, testing, and / or validating a model configured to generate a synthetic (e.g., digital or virtual) substrate. The data set generator 272A may generate a historical sensor data set 244A-244Z as a data input 210A for the machine learning model. The machine learning model may be provided with a historical sensor data set 244A-244Z as a data input 210A. The machine learning model may be configured to receive sensor data as a data input and generate profile parameters indicating the properties of the simulated substrate as a model output.

[0093] In some embodiments, the data set generator 272A may generate a set of target outputs 220A for a machine learning model. The target outputs 220A may include output substrate profile parameter data 268. The set of target outputs 220A may be associated with a set of data inputs 210A. For example, the set of target outputs 220A may describe the profile of a substrate processed under the conditions described by the corresponding set of data inputs 210A. The machine learning model may be provided with target outputs 220A for training, validating, testing, etc. the machine learning model.

[0094] A dataset generator similar to the dataset generator 272A may be used to generate a dataset for a model having a range of functions. The dataset generator may generate a dataset for a model that is configured to generate a simulated substrate (e.g., configured to generate data indicative of properties of the simulated substrate). The dataset generator may generate a set of data (including sensor data, manufacturing parameters, simulation parameters, etc.) as data input 210A and a set of data describing substrate properties as a target output 220A for such a model.

[0095] The data set generator may generate a data set for a model configured to generate a profile function fit from substrate profile data. The data set generator may generate a data set including a substrate profile as data input 210A, for example, a set of data points / measurements describing the substrate profile. The data set generator may generate a data set including a classification of functions (e.g., selected from a library of functions) for fitting one or more portions of the profile, fitting parameters, boundaries between regions described by different fitting parameters, boundary conditions between regions, etc. as target output 220A. The target output 220A may include manually labeled data, machine labeled data (e.g., the best fit found by a processing device by searching an available data space of fitting functions, parameters, boundary locations, boundary conditions, etc.), or the like.

[0096] The data set generator may generate a data set for a model configured to generate profile function fitting parameters from substrate generation data. The data set generator may generate a data set including data associated with substrate generation as data input 210A. The substrate generation data may include data associated with generating a physical substrate and / or a simulated substrate. The substrate generation data may include sensor data associated with substrate manufacturing, substrate manufacturing parameters, simulation inputs, etc. The data set generator may generate a data set as a target output 220A, including function fitting parameters of the substrate profile. The target output 220A may include a classification of functions used in fitting (e.g., selected from a function library), fitting parameters, boundary locations between fitting regions, boundary constraints / conditions, etc.

[0097] The data set generator may generate a data set for a model configured to generate a substrate generation input from a substrate profile. The substrate profile may include data points, measurements, profile function fitting parameters, etc. The data set generator may generate a data set including a set of substrate profile data as a data input 210A. The data set generator may generate a data set including substrate generation data as a target output 220A. The substrate generation data may include data associated with the generation of a simulated or physical substrate. The substrate generation data may include sensor data, manufacturing parameters, simulation inputs, etc.

[0098] In some embodiments, the dataset generator 272A generates a dataset (e.g., a training set, a validation set, a test set) including one or more data inputs 210A (e.g., a training input, a validation input, a test input). The data inputs 210A may be provided to the training engine 182, the validation engine 184, or the test engine 186. The dataset may be used to train, validate, or test a model (e.g., Figure 1 Model 190).

[0099] In some embodiments, data input 210A may include one or more data sets. As an example, system 200A may generate sensor data sets that may include one or more sensor data from one or more types of sensors, combinations of sensor data from one or more types of sensors, patterns of sensor data from one or more types of sensors, and / or synthesized versions thereof. Similar data subsets may be generated for machine learning models configured to receive different data as input.

[0100] In some embodiments, the data set generator 272A may generate a first data input corresponding to the first historical sensor data set 244A to train, validate, or test the first machine learning model. The data set generator 272A may generate a second data input corresponding to the second historical sensor data set 244B to train, validate, or test the second machine learning model.

[0101] In some embodiments, the data set generator 272A generates a data set (e.g., a training set, a validation set, a test set) that includes one or more data inputs 210A (e.g., a training input, a validation input, a test input) and may include one or more target outputs 220A corresponding to the data inputs 210. The data set may also include mapping data that maps the data inputs 210A to the target outputs 220A. The data inputs 210A may also be referred to as "features," "attributes," or "information." In some embodiments, the data set generator 272A may provide the data set to the training engine 182, the validation engine 184, or the testing engine 186, where the data set is used to train, validate, or test a machine learning model (e.g., one or more of a machine learning model included in the model 190, an integrated model 190, etc.).

[0102] In some embodiments, a data set generator (such as data set generator 272A) can be used to generate data sets for one or more models that are not machine learning models. For example, a data set generator can be used to generate data sets for a physics-based model. The data set generator can generate data sets for a physics-based model configured to generate a simulated substrate. The data set generator can generate data inputs 210A and / or target outputs 220A for a model that is not a machine learning model. The physics-based model can use the data set generated by the data set generator to assign and / or adjust the value of one or more parameters that define the relationship between the input to the physics-based model and the output from the physics-based model.

[0103] Figure 2B A block diagram of an example dataset generator 272B for creating a dataset for an unsupervised model configured to analyze clusters of input data is depicted according to some embodiments. Figure 1 The system 200B of the dataset generator 172 creates a dataset for one or more machine learning models (e.g., Figure 1The dataset generator 272B may create a dataset using historical data (e.g., data input 210B). The example dataset generator 272B is configured to generate a dataset for a machine learning model that is configured to take function profile fit parameters as input and generate data indicating clusters of fit parameters as output. Similar dataset generators (or similar operations of the dataset generator 272B) may be used for machine learning models that are configured to perform different functions, such as a machine learning model that is configured to receive sensor data and predicted metrology data as input, a machine learning model that is configured to receive target metrology data (e.g., target microscopic images) as input and generate estimated conditions or processing operation recipes (these processing operation recipes can generate elements that match the input target data) as output, etc. The dataset generator 272B may share one or more features and / or functions with the dataset generator 272A.

[0104] The data set generator 272B can generate data sets to train, test and validate the model. The model can be a machine learning model, a physics-based model, a statistical model, etc. The model can be provided with a profile fitting data set 262A-262Z (e.g., output from a model trained using a data set (from the data set generator 272A), etc.) as data input 210B. The machine learning model may include two or more separate models (e.g., the machine learning model may be an integrated model). The machine learning model may be configured to generate output data indicating patterns, clusters, correlations, outlier data, abnormal data detection, etc. in the profile fitting parameters.

[0105] In some embodiments, the data set generator 272B generates a data set (e.g., a training set, a validation set, a test set) that includes one or more data inputs 210B (e.g., a training input, a validation input, a test input). The data inputs 210B may also be referred to as “features,” “attributes,” or “information.” In some embodiments, the data set generator 272B may provide the data set to the training engine 182, the validation engine 184, or the testing engine 186, where the data set is used to train, validate, or test a machine learning model (e.g., Figure 1 Model 190). Further information Figure 4A Some implementations of generating a training set are described.

[0106] In some embodiments, the dataset generator 272B may generate a first data input corresponding to the first profile fitting dataset 262A to train, validate, or test a first machine learning model, and the dataset generator 272B may generate a second data input corresponding to the second profile fitting dataset 262B to train, validate, or test a second machine learning model.

[0107] Data input 210B for training, validating, or testing a machine learning model may include information about a particular manufacturing chamber (e.g., about a particular substrate manufacturing device). In some embodiments, data input 210B may include information about a specific type of manufacturing device (e.g., manufacturing devices that share specific characteristics). Data input 210B may include data associated with a certain type of component, e.g., having an intended function, design, produced with a specific recipe, etc. Training a machine learning model based on the type of equipment, component, recipe, etc. may allow the trained model to generate clustered data that can be used for several substrates (e.g., for several different facilities, products, etc.).

[0108] In some embodiments, after a data set is generated and a machine learning model is trained, validated, or tested using the data set, the model may be further trained, validated, or tested or adjusted (e.g., adjusting weights or parameters associated with the model's input data, such as connection weights in a neural network).

[0109] Figure 3 is a diagram for generating output data (e.g., Figure 1 168). In some embodiments, the system 300 may be associated with the generation and use of a model. The system 300 may be associated with the generation and use of a machine learning model. The system 300 may be associated with the generation and use of a physics-based model, a statistical model, etc. Figure 3 The description of relates to machine learning models, but similar techniques can be applied to other types of models. System 300 can be used in conjunction with one or more additional models. In some embodiments, system 300 can be used in conjunction with a machine learning model to generate simulated substrates. System 300 can be used to determine a piecewise fitting function of a substrate profile. System 300 can be used to analyze fitting parameters, such as clustering, outlier analysis, etc. System 300 can be used to predict substrate generation operations that can result in a target substrate profile. System 300 can be used in conjunction with a machine learning model associated with a manufacturing system, the machine learning model having different functions than those listed.

[0110] At block 310, the system 300 (e.g., Figure 1 ) performs data partitioning of the data to be used in training, validating, and / or testing the machine learning model (e.g., via Figure 1The training data 364 may be a data set generator 172 of a server machine 170 of the embodiment of the present invention. In some embodiments, the training data 364 includes historical data, such as historical metrology data, historical design rule data, historical classification data (e.g., classification of whether a product meets a performance threshold), historical substrate profile data, etc. The training data 364 may include historical sensor data. In some embodiments, the training data 364 may include synthetic data, such as data associated with a simulated substrate. At block 310, the training data 364 may undergo data partitioning to generate a training set 302, a validation set 304, and a test set 306. For example, the training set may be 60% of the training data, the validation set may be 20% of the training data, and the test set may be 20% of the training data.

[0111] The generation of training set 302, validation set 304, and test set 306 may be customized for a particular application. For example, the training set may be 60% of the training data, the validation set may be 20% of the training data, and the test set may be 20% of the training data. System 300 may generate multiple feature sets for each of the training set, validation set, and test set. For example, if training data 364 includes sensor data and manufacturing parameters, including data from 20 sensors (e.g., Figure 1 For example, if features are derived from sensor data of sensor 126 of the same sensor and 10 manufacturing parameters (for example, manufacturing parameters corresponding to the same processing run as sensor data from 20 sensors), the sensor data can be divided into a first feature set including sensors 1-10 and a second feature set including sensors 11-20. The manufacturing parameters can also be divided into multiple sets, for example, a first manufacturing parameter set including parameters 1-5 and a second manufacturing parameter set including parameters 6-10. Either the target input or the target output can be divided into multiple sets, both can be divided into multiple sets, or neither can be divided into multiple sets. Multiple models can be trained based on different data sets.

[0112] At block 312, system 300 performs model training using training set 302 (e.g., via Figure 1Training engine 182). Training of machine learning models and / or physics-based models (e.g., digital twins) can be implemented in a supervised learning manner, which involves providing a training data set including labeled inputs in the model, observing its output, defining an error (by measuring the difference between the output and the labeled value), and adjusting the weights of the model using techniques such as deep gradient descent and backpropagation to minimize the error. In many applications, repeating this process across many labeled inputs in the training data set produces a model that can produce correct outputs when presented with inputs that are different from those present in the training data set. In some embodiments, training of machine learning models can be implemented in an unsupervised manner, for example, no labels or classifications may be supplied during training. Unsupervised models can be configured to perform anomaly detection, result clustering, outlier analysis, etc.

[0113] For each training data item in the training data set, the training data item may be input into a model (e.g., a machine learning model). The model may then process the input training data item (e.g., sensor data associated with a processing procedure for a substrate, etc.) to produce an output. For example, the output may include parameters associated with a fit parameter to a substrate profile. The output may be compared to a label of the training data item (e.g., a fit to a substrate profile not generated by the model, a fit generated by a subject matter expert, etc.).

[0114] The processing logic may then compare the generated output (e.g., profile fit parameters) to the labels (e.g., manually generated fit parameters) included in the training data items. The processing logic determines an error (i.e., classification error) based on the difference between the output and the labels. The processing logic adjusts one or more weights, biases, and / or other values ​​of the model based on the error.

[0115] In the case of training a neural network, an error term or increment may be determined for each node in the artificial neural network. Based on this error, the artificial neural network adjusts one or more of its parameters (weights for one or more inputs to the node) for one or more of its nodes. The parameters may be updated in a back-propagation manner, so that the nodes at the highest layer are updated first, followed by the nodes at the next layer, and so on. Artificial neural networks contain multiple layers of "neurons", where each layer receives values ​​as inputs from neurons at the previous layer. The parameters for each neuron include weights associated with the values ​​received from each of the neurons at the previous layer. Thus, adjusting the parameters may include adjusting the weights assigned to each of the inputs for one or more neurons at one or more layers in the artificial neural network.

[0116] The system 300 can train multiple models using multiple feature sets of the training set 302 (e.g., a first feature set of the training set 302, a second feature set of the training set 302, etc.). For example, the system 300 can train a model using a first feature set in the training set (e.g., sensor data from sensors 1-10, metrology measurements 1-10, etc.) to produce a first trained model, and train a model using a second feature set in the training set (e.g., sensor data from sensors 11-20, metrology measurements 11-20, etc.) to produce a second trained model. In some embodiments, the first trained model and the second trained model can be combined to produce a third trained model (e.g., which may be a better predictor or synthetic data generator than the first or second trained model itself). In some embodiments, the feature sets used when comparing models can overlap (e.g., the first feature set is sensor data from sensors 1-15 and the second feature set is from sensors 5-20). In some embodiments, hundreds of models can be generated, including models with various arrangements of features and combinations of models.

[0117] At block 314, the system 300 performs model validation using the validation set 304 (e.g., via Figure 1 304). The system 300 may validate each of the trained models using a corresponding feature set of the validation set 304. For example, the system 300 may validate a first trained model using a first feature set in the validation set (e.g., sensor data from sensors 1-10 or metrology measurements 1-10), and validate a second trained model using a second feature set in the validation set (e.g., sensor data from sensors 11-20 or metrology measurements 11-20). In some embodiments, the system 300 may validate hundreds of models generated in block 312 (e.g., models with various arrangements of features, combinations of models, etc.). In block 314, the system 300 may determine the accuracy of each of the one or more trained models (e.g., via model validation) and may determine whether the one or more trained models have an accuracy that satisfies a threshold accuracy. In response to determining that none of the trained models have an accuracy that satisfies the threshold accuracy, the process returns to block 312, where the system 300 performs model training using a different feature set of the training set. In response to determining that one or more trained models have an accuracy that satisfies a threshold accuracy, flow continues to block 316. The system 300 may discard trained models (eg, based on a validation set) having an accuracy below a threshold accuracy.

[0118] At block 316, the system 300 performs model selection (e.g., via Figure 1The system 300 may then select the model that meets the threshold accuracy and determine which of the one or more trained models that meet the threshold accuracy has the highest accuracy (e.g., the selected model 308, based on the verification of block 314). In response to determining that two or more trained models that meet the threshold accuracy have the same accuracy, the process may return to block 312, where the system 300 performs model training using a further refined training set corresponding to the further refined feature set to determine the trained model with the highest accuracy.

[0119] At block 318, system 300 performs model testing using test set 306 (e.g., via Figure 1 306) to test the selected model 308. The system 300 may test the first trained model using a first feature set in a test set (e.g., sensor data from sensors 1-10) to determine whether the first trained model meets a threshold accuracy (e.g., based on the first feature set of the test set 306). In response to the accuracy of the selected model 308 not meeting the threshold accuracy (e.g., the selected model 308 overfits the training set 302 and / or the validation set 304 and is not applicable to other data sets, such as the test set 306), the process continues to block 312, where the system 300 performs model training (e.g., retraining) using a different training set corresponding to a different feature set (e.g., sensor data from a different sensor). In response to determining that the selected model 308 has an accuracy that meets the threshold accuracy based on the test set 306, the process continues to block 320. In at least block 312 , the model may learn patterns in the training data to make predictions or generate synthetic data, and in block 318 , the system 300 may apply the model to the remaining data (eg, the test set 306 ) to test the predictions or synthetic data generation.

[0120] At block 320, the system 300 receives current data 322 (e.g., Figure 1 146) and determining (e.g., extracting) output profile data 324 (e.g., Figure 1 The output contour data 324 may be considered to be executed with Figure 1 The current data 322 may correspond to the same type of features in the historical data used to train the machine learning model. In some embodiments, the current data 322 may correspond to a subset of the type of features in the historical data used to train the selected model 308 (e.g., a machine learning model may be trained using a number of sensor measurements and configured to generate outputs based on a subset of the sensor measurements).

[0121] In some embodiments, different data may be provided as current data 322 as model input, and different data than output profile data 324 may be received as model output. Models that perform other functions (e.g., in conjunction with FIG. 2A to FIG. 2B The model described herein may be used with systems similar to system 300 .

[0122] In some embodiments, the performance of the machine learning model trained, validated, and tested by the system 300 may degrade. For example, a manufacturing system associated with the trained machine learning model may undergo gradual changes or sudden changes. Changes in the manufacturing system may cause the performance of the trained machine learning model to degrade. A new model may be generated to replace the machine learning model with degraded performance. The new model may be generated by retraining to modify the old model, by generating a new model, etc. Retraining may be performed by introducing additional training data 346, for example, performing additional model training including the retraining data at block 312.

[0123] In some embodiments, one or more of actions 310-320 may occur in various orders and / or with other actions not presented and described herein. In some embodiments, one or more of actions 310-320 may not be performed. For example, in some embodiments, one or more of the data partitioning of block 310, the model validation of block 314, the model selection of block 316, or the model testing of block 318 may not be performed.

[0124] Figure 3 A system configured for training, validating, testing, and using one or more machine learning models is depicted. The machine learning model is configured to accept data as input (e.g., set points provided to manufacturing equipment, sensor data, metrology data, etc.) and provide data as output (e.g., prediction data, corrective action data, classification data, etc.). The blocks of the partitioning, training, validating, selecting, testing, and using system 300 may be similarly performed to train a second model using a different type of data. Retraining may also be performed using current data 322 and / or additional training data 346.

[0125] FIG. 4A to FIG. 4B is a flow chart of methods 400A-B associated with training and utilizing a machine learning model according to certain embodiments. Methods 400A-B may be performed by processing logic, which may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing devices, etc.), software (such as instructions running on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. In some embodiments, methods 400A-B may be performed in part by prediction system 110. Method 400A may be performed in part by prediction system 110 (e.g., Figure 1 The server machine 170 and the data set generator 172, FIG. 2A to FIG. 2B According to an embodiment of the present disclosure, the prediction system 110 may use method 400A to generate a data set to perform at least one of training, validation, or testing on a machine learning model. Method 400B may be performed by a prediction server 112 (e.g., prediction component 114) and / or a server machine 180 (e.g., training, validation, and testing operations may be performed by the server machine 180). In some embodiments, a non-transitory machine-readable storage medium stores instructions that, when executed by a processing device (e.g., prediction system 110, server machine 180, prediction server 112, etc.), cause the processing device to perform one or more of methods 400A-B.

[0126] For simplicity of explanation, methods 400A-B are depicted and described as a series of operations. However, operations according to the present disclosure may occur in various orders and / or simultaneously, and may occur with other operations not presented and described herein. In addition, implementations of methods 400A-B according to the disclosed subject matter may not perform all of the operations shown. Furthermore, those skilled in the art will understand and appreciate that methods 400A-B may alternatively be represented as a series of interrelated states via state diagrams or events.

[0127] Figure 4A is a flow chart of a method 400A for generating a data set for a model according to some embodiments. The method 400A can be used to generate a data set for a machine learning model, a physics-based model, etc. Figure 4A In some embodiments, at block 401 , the processing logic implementing method 400A initializes a data set T (eg, a data set used to train, validate, or test a model) to an empty set.

[0128] At block 402, processing logic generates a first data input (e.g., a first training input, a first validation input), which may include one or more of a sensor, a manufacturing parameter, a metrology data, a substrate profile data, etc. In some embodiments, the first data input may include a first set of features regarding a data type, and the second data input may include a second set of features regarding a data type (e.g., a second set of features regarding a data type). Figure 3 In some embodiments, the input data may include historical data and / or synthetic data.

[0129] In some embodiments, at block 403, processing logic generates a first target output for one or more data inputs (e.g., a first data input), as appropriate. In some embodiments, the inputs include one or more indications of substrate processing (e.g., sensor data, manufacturing parameter data), and the target output includes properties of the simulated substrate. In some embodiments, the inputs include data of a substrate profile and the output includes a profile fit, such as a piecewise function fit. In some embodiments, the inputs include profile fit parameters and the output includes substrate generation conditions for generating a substrate matching the provided profile. In some embodiments, no target output is generated (e.g., an unsupervised machine learning model capable of grouping, clustering, or finding correlations in input data without providing a target output).

[0130] At block 404, processing logic optionally generates mapping data indicating an input / output mapping. The input / output mapping (or mapping data) may refer to a data input (e.g., one or more data inputs described herein), a target output for the data input, and an association between the data input and the target output. In some embodiments, such as embodiments associated with a machine learning model in which a target output is not provided, block 404 may not be performed.

[0131] At block 405 , in some embodiments, processing logic adds the mapping data generated at block 404 to the data set T.

[0132] At block 406, processing logic determines whether the dataset T is sufficient for a machine learning model (such as Figure 1 If yes, execution proceeds to block 407, otherwise, execution returns to block 402 to continue. It should be noted that in some embodiments, the sufficiency of the dataset T may be determined based on the number of inputs (in some embodiments mapped to outputs) in the dataset, while in some other embodiments, in addition to or instead of the number of inputs, the sufficiency of the dataset T may be determined based on one or more other criteria (e.g., a measure of diversity of data instances, accuracy, etc.).

[0133] At block 407, processing logic provides a dataset T (e.g., to a server machine 180) to train, validate, and / or test the machine learning model 190. In some embodiments, the dataset T is a training set and is provided to the training engine 182 of the server machine 180 to perform training. In some embodiments, the dataset T is a validation set and is provided to the validation engine 184 of the server machine 180 to perform validation. In some embodiments, the dataset T is a test set and is provided to the testing engine 186 of the server machine 180 to perform testing. In the case of a neural network, for example, the input values ​​of a given input / output mapping (e.g., the values ​​associated with the data input 210A) are input to the neural network, and the output values ​​of the input / output mapping (e.g., the values ​​associated with the target output 220A) are stored in the output nodes of the neural network. The connection weights in the neural network are then adjusted according to a learning algorithm (e.g., back propagation, etc.), and the process is repeated for other input / output mappings in the dataset T. After block 407, the model (e.g., model 190) may be at least one of trained using the training engine 182 of the server machine 180, validated using the validation engine 184 of the server machine 180, or tested using the testing engine 186 of the server machine 180. The trained model may be implemented by the prediction component 114 (of the prediction server 112) to generate prediction data 168, for performing signal processing, for generating profile data 162, or for performing corrective actions associated with the manufacturing equipment 124.

[0134] Figure 4B is a flow chart of a method 400B for generating a piecewise function fit of a profile according to some embodiments. At block 410 of method 400B, processing logic receives data indicating a plurality of measurements of a substrate profile. For example, the substrate may be formed by Figure 1 The physical substrate is manufactured by the manufacturing equipment 124 of the embodiment of the present invention, and the profile is measured by the metrology equipment 128, etc. The substrate can be a simulated substrate, for example, the measurement can be generated by a machine learning model, a physics-based model, etc. The substrate can be a semiconductor component. The substrate can be a memory component, for example, a semiconductor memory component.

[0135] Generating a simulated substrate may include providing an input to a model. Generating a simulated substrate may include providing one or more machine learning inputs to a machine learning model. Generating a simulated substrate may include providing one or more simulation inputs to a physics-based model. Generating a simulated substrate may include obtaining one or more indications of properties of the simulated substrate as outputs from the model. The indications of properties of the simulated substrate may include values ​​associated with a substrate profile, for example, measurements of a geometry of the simulated substrate. Based on the indications of properties of the substrate, for example, in a format associated with measuring a profile of a physical substrate, in a format accepted as input by a model, etc., the processing logic may perform data processing to determine a measurement of the substrate profile.

[0136] At block 412, processing logic divides the data indicating the plurality of measurements into a plurality of data sets. A first set in the plurality of sets is associated with a first region of the contour. A second set in the plurality of sets is associated with a second region of the contour. In some embodiments, the boundaries between the sets may be boundaries between regions of the contour described by different fitting functions.

[0137] At block 414, processing logic fits the data of the first set to a first function to generate a first fitting function. The first function may be selected from a function library. Generating the first fitting function may include determining one or more parameters of the fitting function. A program may be used to generate the fitting function, for example, to minimize the error function between the fit and the measurement of the contour area. The function library may include polynomial functions (e.g., zero-order polynomials or constants, first-order linear polynomials, second-order quadratic polynomials, higher-order polynomials, etc.), exponential functions, logarithmic functions, and / or any other type of function applicable to the substrate profile. The function library may include a combination of functions, for example, an additive combination of functions, a multiplicative combination of functions, etc. The fitting program may select values ​​of coefficients and / or other parameters, for example, to minimize the error function between the fit and the data points associated with the substrate profile. In some embodiments, a user selects the first function from the function library. In some embodiments, processing logic selects the first function from the function library.

[0138] At block 416, processing logic fits the data of the second set to a second function to generate a second fitted function. The second function may be selected from a library of functions (e.g., the same library from which the first function was selected). In some embodiments, the first region of the contour is adjacent to the second region of the contour. Generating the first and second fitted functions may include considering one or more boundary conditions, such as constraints enforced at the boundary between the two regions. For example, a continuity constraint may be enforced (the value of the first fitted function when the function approaches the boundary is equal to the value of the second fitted function when the function approaches the boundary from the second region). A smoothness constraint may be enforced (the value of the first derivative of the first fitted function is equal to the value of the first derivative of the second fitted function when the function approaches the boundary). Higher order constraints may be enforced, such as concavity constraints associated with the second derivatives of the first and second fitted functions. Enforcing constraints may produce a more realistic (e.g., physically reasonable) fitting model. Enforcing constraints may produce a better statistical fit by removing free variables (e.g., degrees of freedom) from the fitting procedure.

[0139] At block 418, the processing logic generates a piecewise function fit of the substrate profile. The piecewise function fit includes a first fit function and a second fit function.

[0140] In some embodiments, further operations may be performed. For example, a plurality of piecewise function fits (e.g., fitted parameters) may be obtained by processing logic. The processing logic may provide the plurality of piecewise function fits to a machine learning model. The processing logic may receive data indicating an analysis of the parameters from the model as output. For example, the model may be configured to perform cluster analysis, outlier analysis, etc. on the supplied fit parameters.

[0141] In some embodiments, the piecewise profile fitting can be used to further learn. For example, the parameters of the fit can be used to generate an understanding of the impact of the substrate generation input (e.g., processing conditions, simulation conditions, etc.) on the profile shape. The parameters of the piecewise profile fitting function can have physical meaning. The relationship between the input parameters and the entity results can improve system learning, improve recipe generation, improve anomaly detection, improve corrective action recommendations, etc. For example, the processing logic can provide one or more input conditions associated with the generation of the substrate to the model. The processing logic can provide the piecewise function fitting to the model. The processing logic can obtain from the model an indication of the impact of the first input condition in the one or more input conditions on the first parameter of the piecewise function fitting.

[0142] Figure 5A A substrate measurement generation system 500A according to some embodiments is depicted. The substrate generation system 500A includes generating physical and simulated substrates. The physical and simulated substrates can be used together, for example, to increase the accuracy of the substrate generation system compared to using simulated substrates alone, to reduce the cost of the substrate generation system compared to using physical substrates alone, etc.

[0143] When the physical substrate is generated, processing parameters 520 are generated. The processing parameters 520 may be provided to a processing device (e.g., a controller of a substrate manufacturing system). The processing parameters 520 may be input by a user, may be generated by a model, etc. The processing parameters 520 may be related to manufacturing parameters, such as Figure 1 The manufacturing parameters are stored in the data storage 140.

[0144] The processing parameters are provided to a processing tool 522. The processing tool 522 may be or include Figure 1 The processing tool 522 may include one or more processing chambers. The processing tool 522 may be configured to perform processing operations on one or more substrates. The processing operations may include etching operations, deposition operations, annealing operations, etc. The processing tool 522 may produce a physical substrate, substrate 524.

[0145] When generating a simulated substrate, model input 528 is obtained by the processing device. Model input 528 may include any input provided to a model configured to generate a simulated substrate as an output. Model input 528 may include sensor data. Model input 528 may include manufacturing parameters. Model input 528 may include other simulation inputs.

[0146] Model inputs are provided to model 530. Model 530 may be a physics-based model, a machine learning model, a combination thereof, etc. Based on the model inputs, model 530 may generate a simulated substrate, substrate 524. The simulated substrate may include data indicating properties of the substrate (e.g., the geometry of the substrate).

[0147] The substrate 524 is provided to a system for generating substrate measurements 526. The substrate 524 may be provided to a system for generating measurements of a substrate profile (e.g., a critical dimension (CD) profile of the substrate). The physical substrate 524 may be provided to a metrology tool to perform the substrate measurements. A simulated substrate may be provided to a digital tool to have relevant measurements (e.g., a CD profile of the substrate) extracted from the data provided by the model 530.

[0148] Figure 5B Depicted is a substrate 540 and a piecewise function fit 560 of a substrate profile according to some embodiments. The substrate 540 includes a recess 542, such as a hole, a valley, etc. The profile of the substrate 540 may describe the shape of the recess, such as the shape created when one or more etching operations are performed on the substrate. The profile of the substrate 540 may describe the CD of the substrate 540. The profile of the substrate 540 may be a measure of how wide the recess 542 is as a function of depth, such as the profile may be an indication of the distance from sidewall to sidewall perpendicular to the centerline 544. The profile may include several measurements of the width of the recess 542 at various depths of the recess 542, various locations perpendicular to the centerline 544, etc.

[0149] The profile of substrate 540 can be considered to be composed of several regions (e.g., regions 546-552). Some regions of the profile can be curved (e.g., regions 546 and 550), some regions can be substantially straight (e.g., regions 548 and 552), etc. Generating a fitting function that describes the substrate profile can be improved by generating a piecewise function, for example, including different fitting functions intended to fit multiple portions that are shaped so that these portions of the profile can be accurately described by the function.

[0150] Function fit 560 depicts a fit of the profile of substrate 540. Function fit 560 depicts a piecewise profile function fit (e.g., CD as a function of depth). The fit is shown as profile fit 570. The curve of function fit 560 includes boundaries 562, 564, and 568. Boundaries 562-568 are associated with boundaries between regions 546-552 of substrate 540.

[0151] In some embodiments, a user may select a function with respect to the region to which the function is fitted. For example, a profile (e.g., data points representing the profile of substrate 540) may be presented to the user, and the user may select a series of functions that may be used to fit the profile. For example, the user may select a quadratic function for the region before boundary 562, a linear function for the region before boundary 564, a quadratic function for the region before boundary 568, and a linear function for the remainder of the profile. The processing device may determine the placement of boundaries 562-568 (e.g., to minimize an error function), parameters of the fitting function, etc.

[0152] In some embodiments, a user may select constraints (e.g., boundary conditions) to be followed by the piecewise function fit. In some embodiments, a user may select a set of constraints to be used for each boundary (e.g., boundaries 562-568). In some embodiments, a user selects constraint sets independently for each boundary (e.g., the boundary condition associated with boundary 562 may be different from the boundary condition associated with boundary 564).

[0153] In some embodiments, the processing device may select functions for fitting regions of a contour. The processing device may utilize a machine learning model to select functions for fitting a contour (e.g., configured to divide the contour into fitting regions). The processing device may utilize a physics-based model to select functions for fitting a contour. The processing device may utilize a fitting model (e.g., functions may be selected for fitting that produce a fit with a minimized error function, a minimized cost function, etc.). In some embodiments, a hybrid system may be utilized, e.g., a user may select a subset of a library of functions to consider, and the processing device may determine which of the subset to use in the fit.

[0154] In some embodiments, the processing device selects boundary constraints to be followed by the piecewise function fit. The processing device can select boundary conditions to minimize an error function, achieve a target number of free variables, minimize another cost function, etc. In some embodiments, a hybrid system can be utilized, for example, a user can select a subset of a list of boundary conditions that can be enforced, and the processing device can further refine the selection of boundary conditions to be applied at each boundary.

[0155] Figure 5C is a flow chart of system components of a system 500C for generating and utilizing piecewise function fitting of a substrate profile, according to some embodiments.

[0156] The system 500C includes a function library 502. The function library 502 may include a set of functions that may be fitted to various portions of the substrate profile data corresponding to the physical region of the substrate profile. The function library 502 may include, for example, polynomial functions (e.g., constant or zero-order polynomials, linear or first-order polynomials, quadratic or second-order polynomials, cubic or third-order polynomials, higher-order polynomials, etc.), exponential functions (e.g., y=A Bx Function library 502 may include functions of the form of a contour), logarithmic functions, distribution functions (e.g., Gaussian, Lorentzian, Voigt, etc.), trigonometric functions (e.g., sine, cosine, hyperbolic sine, etc.), logical functions, etc. Function library 502 may allow and / or include combinations of functions, such as additive combinations (e.g., polynomial added to an exponential), multiplicative combinations (e.g., exponential multiplied by a logarithm), etc. In some embodiments, a subset of library 502 may be utilized, such as a user selection may limit the number and / or type of functions that may be used to fit a contour, that may be used to fit one or more portions of a contour, etc. In some embodiments, a user may select one or more functions from function library 502 for use in fitting a contour.

[0157] System 500C further includes a set of constraints 504. Constraint set 504 may include one or more constraints, for example, for fitting a piecewise function fit (e.g., used by fitting tool 506). Constraints may include conditions enforced at the boundaries of the piecewise function fit (e.g., boundaries between regions fitted by different functions, boundaries between regions with different shapes, etc.). Constraints may include continuity of functions on both sides of the boundary and / or derivatives of functions within a threshold. For example, a constraint may enforce continuity of the piecewise function fit across the boundary, a second constraint may enforce smoothness of the fit across the boundary (e.g., continuity of first-order derivatives), a third constraint may enforce smooth curvature of the fit across the boundary (e.g., continuity of second-order derivatives), etc. Constraints may be different for different boundaries of the piecewise function fit. Constraints may be selected by a user or by a processing device (e.g., optimization). Constraints may be used to reduce the fitting space (e.g., reduce the number of floating parameters, the number of free variables, etc.).

[0158] In some embodiments, the elements of group 512 may be selected by the user. For example, the user may select functions from a library of functions to represent various portions of the contour, and select boundary conditions to be enforced at each boundary. The user selections may be passed to fitting tool 506.

[0159] The fitting tool 506 can generate a piecewise function fit of the substrate profile. The fitting tool 506 can be configured to reduce an error function, such as a least squares error, an error function that penalizes non-zero coefficients to reduce the number of terms, etc. In some embodiments, the elements of group 514 can be executed by a processing device, such as a processing device that can select boundary points between regions of the profile, functions for fitting regions, and constraints to be utilized (possibly subject to one or more user selections). The processing device can select functions, boundaries, parameter values, etc. to minimize the error of the fit.

[0160] The piecewise function fit may be provided to a contour representation tool 508. The contour representation tool may be used to visualize, analyze, etc. the piecewise function fit of the substrate contour. The piecewise function fit may be further provided to a synthesis and analysis tool 510. The synthesis and analysis tool may help the user design experiments to match the contour; design experiments to change one or more features of the contour; mine clusters of parameter values, selected functions, or other aspects of one or more piecewise function fits; associate substrate generation inputs with function fit outputs; associate parameters of piecewise function fits, etc. The synthesis and analysis tool 510 may be used to extract various relationships between data associated with the piecewise function fit. For example, the synthesis and analysis tool 510 may be used to generate a curve combining input and output parameters (e.g., a scatter plot of one parameter relative to a model input).

[0161] Figure 6 6 is a block diagram illustrating a computer system 600 according to some embodiments. In some embodiments, the computer system 600 may be connected (e.g., via a network, such as a local area network (LAN), an intranet, an extranet, or the Internet) to other computer systems. The computer system 600 may operate as a server or client computer in a client-server environment, or as a peer computer in a peer-to-peer or distributed network environment. The computer system 600 may be provided by a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular phone, a network appliance, a server, a network router, a switch or a bridge, or any device capable of executing a set of instructions (continuously or otherwise) that specify actions to be taken by the device. In addition, the term "computer" shall include any collection of computers that independently or jointly execute a set of instructions (or multiple sets of instructions) to perform any one or more of the methods described herein.

[0162] In a further aspect, the computer system 600 may include a processing device 602, a volatile memory 604 (e.g., a random access memory (RAM)), a non-volatile memory 606 (e.g., a read-only memory (ROM) or an electrically erasable programmable ROM (EEPROM)), and a data storage device 618 that can communicate with each other via a bus 608.

[0163] The processing device 602 may be provided by one or more processors, such as a general-purpose processor (such as, for example, a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a microprocessor that implements other types of instruction sets, or a microprocessor that implements a combination of various types of instruction sets) or a special-purpose processor (such as, for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), or a network processor).

[0164] The computer system 600 may further include a network interface device 622 (e.g., coupled to the network 674). The computer system 600 may also include a video display unit 610 (e.g., LCD), an alphanumeric input device 612 (e.g., keyboard), a cursor control device 614 (e.g., mouse), and a signal generating device 620.

[0165] In some embodiments, the data storage device 618 may include a non-transitory computer-readable storage medium 624 (e.g., a non-transitory machine-readable medium) on which instructions 626 encoding any one or more of the methods or functions described herein and used to implement the methods described herein may be stored, including Figure 1 instruction encoding components (e.g., prediction component 114, corrective action component 122, model 190, etc.).

[0166] The instructions 626 may also reside, completely or partially, within the volatile memory 604 and / or within the processing device 602 during execution thereof by the computer system 600; thus, the volatile memory 604 and the processing device 602 may also constitute machine-readable storage media.

[0167] Although the computer-readable storage medium 624 is illustrated as a single medium in the illustrative example, the term "computer-readable storage medium" shall include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) storing one or more executable instruction sets. The term "computer-readable storage medium" shall also include any tangible medium that can store or encode an instruction set for execution by a computer, the instruction set causing the computer to perform any one or more of the methods described herein. The term "computer-readable storage medium" shall include, but is not limited to, solid-state memories, optical media, and magnetic media.

[0168] 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). In addition, the methods, components, and features may be implemented by firmware modules or functional circuitry within hardware devices. In addition, the methods, components, and features may be implemented in any combination of hardware devices and computer program components, or in a computer program.

[0169] Unless specifically stated otherwise, terms such as "receiving," "performing," "providing," "obtaining," "causing," "accessing," "determining," "adding," "using," "training," "reducing," "generating," "correcting," or the like refer to actions and processes performed or implemented by a computer system that manipulates and transforms data represented as physical (electronic) quantities within registers and memories of a computer system into other data similarly represented as physical quantities within the computer system's memories or registers or other such information storage, transmission, or display devices. In addition, as used herein, the terms "first," "second," "third," "fourth," etc., mean markings for distinguishing among different elements and may not have an ordinal meaning according to their numerical designations.

[0170] The examples described herein also relate to an apparatus for performing the methods described herein. This apparatus may be specially constructed for performing 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.

[0171] The methods and illustrative examples 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 equipment to perform the methods described herein and / or each of their individual functions, routines, subroutines, or operations. Examples of structures for various such systems are set forth in the description above.

[0172] The above description is intended to be illustrative rather than restrictive. Although the present disclosure has been described with reference to specific illustrative examples and implementations, it will be appreciated that the present disclosure is not limited to the described examples and implementations. The scope of the present disclosure should be determined with reference to the appended claims together with the full scope of equivalents to which such claims are entitled.

Claims

1. A method comprising: receiving, by a processing device, data indicative of a plurality of measurements of a profile of a substrate; dividing, by the processing device, the data indicative of the plurality of measurements into a plurality of sets of data, wherein a first set of the plurality of sets is associated with a first region of the contour, and wherein a second set of the plurality of sets is associated with a second region of the contour; fitting the first set of data to a first function to produce a first fitted function, wherein the first function is selected from a library of functions; fitting the second set of data to a second function to produce a second fitted function, wherein the second function is selected from the library of functions, and wherein the second function is different from the first function; as well as A piecewise function fit of the profile of the substrate is generated, wherein the piecewise function fit includes the first fit function and the second fit function.

2. The method of claim 1, wherein the step of generating the piecewise function fit of the profile comprises: One or more constraints are applied to data points associated with a boundary between the first region and the second region.

3. The method of claim 2, wherein the constraint is selected from a group consisting of: The piecewise function fits continuity across the boundary; continuity of the first derivative of the piecewise function fit across the boundary; as well as Continuity of the second derivative of the piecewise function fit across boundaries.

4. The method of claim 1, wherein the function library comprises at least one of the following: Zero-order polynomial; First order polynomial; Second order polynomial; exponential function; or Logarithmic function.

5. The method of claim 1 , wherein the plurality of measurements of the profile of the substrate are associated with a simulated substrate, and wherein the step of generating the simulated substrate comprises: providing one or more simulation inputs to the physics-based model; receiving data indicative of the simulated substrate from the physics-based model; and The plurality of measurements of the profile of the substrate are extracted from the data indicative of the simulated substrate.

6. The method of claim 1 , wherein the plurality of measurements of the profile of the substrate are associated with a simulated substrate, wherein the step of generating the simulated substrate comprises: providing one or more machine learning inputs to the machine learning model; receiving data indicative of a geometry of the simulated substrate from the machine learning model; and The plurality of measurements of the profile of the substrate are extracted from the data indicative of a geometry of the simulated substrate.

7. The method of claim 1, wherein the substrate comprises a semiconductor memory device.

8. The method of claim 1, further comprising: receiving a plurality of piecewise function fits, wherein the plurality of piecewise function fits are associated with a plurality of profiles of a plurality of substrates; providing the plurality of piecewise function fits and the piecewise function fit to a machine learning model; and Data indicative of the plurality of piecewise function fits and clustering of fit parameters for the piecewise function fits is received from the machine learning model.

9. The method of claim 1, further comprising: receiving a user selection of the first function; and A user selection of the second function is received.

10. The method of claim 1, further comprising: selecting, by the processing device, the first function from the function library; and The second function is selected by the processing device from the function library.

11. The method of claim 1, further comprising: providing to the model one or more input conditions associated with generating the substrate; providing the piecewise function fit to the model; An indication is received from the model indicating an effect of a first input condition of the one or more input conditions on a first parameter of the piecewise function fit.

12. A non-transitory machine-readable storage medium storing instructions that, when executed, cause a processing device to perform operations comprising: receiving data indicative of a plurality of measurements of a profile of a substrate; dividing the data indicative of the plurality of measurements into a plurality of sets of data, wherein a first set of the plurality of sets is associated with a first region of the contour, and wherein a second set of the plurality of sets is associated with a second region of the contour; fitting the first set of data to a first function to produce a first fitted function, wherein the first function is selected from a library of functions; fitting the second set of data to a second function to produce a second fitted function, wherein the second function is selected from the library of functions, and wherein the second function is different from the first function; as well as A piecewise function fit of the profile of the substrate is generated, wherein the piecewise function fit includes the first fit function and the second fit function.

13. The non-transitory machine-readable storage medium of claim 12, wherein generating the piecewise function fit of the contour comprises applying one or more constraints to data points associated with a boundary between the first region and the second region.

14. The non-transitory machine-readable storage medium of claim 12, wherein the function library comprises at least one of the following: Zero-order polynomial; First order polynomial; Second order polynomial; exponential function; or Logarithmic function.

15. The non-transitory machine-readable storage medium of claim 12, wherein the substrate comprises a semiconductor memory element.

16. The non-transitory machine-readable storage medium of claim 12, wherein the operations further comprise: providing to the model one or more input conditions associated with generating the substrate; providing the piecewise function fit to the model; An indication is received from the model indicating an effect of a first input condition of the one or more input conditions on a first parameter of the piecewise function fit.

17. A system comprising a memory and a processing device coupled to the memory, wherein the processing device is configured to: receiving data indicative of a plurality of measurements of a profile of a substrate; dividing the data indicative of the plurality of measurements into a plurality of sets of data, wherein a first set of the plurality of sets is associated with a first region of the contour, and wherein a second set of the plurality of sets is associated with a second region of the contour; fitting the first set of data to a first function to produce a first fitted function, wherein the first function is selected from a library of functions; fitting the second set of data to a second function to produce a second fitted function, wherein the second function is selected from the library of functions, and wherein the second function is different from the first function; as well as A piecewise function fit of the profile of the substrate is generated, wherein the piecewise function fit includes the first fit function and the second fit function.

18. The system of claim 17, wherein the piecewise function fit that generates the contour includes applying one or more constraints to data points associated with a boundary between the first region and the second region.

19. The system of claim 18, wherein the constraint is selected from a group consisting of: The piecewise function fits continuity across the boundary; continuity of the first derivative of the piecewise function fit across the boundary; as well as Continuity of the second derivative of the piecewise function fit across boundaries.

20. The system of claim 17, wherein the processing device is further configured to: Selecting the first function from the function library; and The second function is selected from the function library.