Normative analysis in highly collinear response space

By conducting normative analysis in a highly collinear response space, the processing device determines the update of manufacturing equipment parameters, solving the problem of time-consuming and relying on professional knowledge during the manufacturing process, and achieving more efficient and accurate product properties data adjustment.

CN120068655APending Publication Date: 2025-05-30APPLIED MATERIALS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510236342.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2019-10-11
Filing Date
2019-12-11
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

During the manufacturing process, determining the update of manufacturing equipment parameters to meet product target properties can be time-consuming and depends on the expertise of the administrator, especially in multi-parameter, multi-objective optimization, it is difficult to meet all properties simultaneously.

Method used

By using normative analysis in a highly collinear response space, the processing device receives membrane properties data, determines its orthogonal data points with the target data, performs feature extraction, and determines updates of manufacturing parameters based on this.

Benefits of technology

It reduces energy consumption, bandwidth usage and processor management burden, and can more accurately adjust product-based data to meet target data, avoiding the limitation of relying on administrators to temporary trial and error.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120068655A_ABST
    Figure CN120068655A_ABST
Patent Text Reader

Abstract

Methods, systems, and non-transitory computer-readable media for normative analysis in highly collinear response spaces are described. The method includes receiving film property data related to manufacturing parameters of a manufacturing apparatus. The method further includes determining that the membrane property data is related and different from the target data. The method further includes selecting a set of data points of the membrane property data orthogonal to the target data. The method further includes performing feature extraction on the set of data points. The method further includes determining an update to the one or more manufacturing parameters to meet the target data based on the feature extraction.
Need to check novelty before this filing date? Find Prior Art

Description

This application is a divisional application of the patent application for "Normative Analysis in a Highly Collinear Response Space" with an application date of December 11, 2019, an application number of "201980082795.6". Technical Field

[0001] This disclosure relates to normative analysis, and more particularly, to normative analysis in a highly collinear response space. Background Art

[0002] The manufacturing processes and manufacturing equipment for producing products (e.g., in the semiconductor and display industries) can be complex. Determining updates to the parameters of the manufacturing processes and manufacturing equipment to meet the target properties of the products can be time-consuming and may depend on the domain expertise of the administrator of the manufacturing facility. Summary of the Invention

[0003] The following is a simplified summary of the present disclosure to provide a basic understanding of some aspects of the present disclosure. This summary is not an extensive overview of the present disclosure. This summary neither aims to identify the key or important elements of the present disclosure nor aims to depict the scope of any specific embodiment of the present disclosure or the scope of any claims. The sole purpose of this summary is to present some concepts of the present disclosure in a simplified form as a prelude to the more detailed description presented later.

[0004] In one aspect of the present disclosure, a method may include: receiving film property data related to manufacturing parameters of a manufacturing device. The method further includes: determining that the film property data is relevant and different from target data. The method further includes: selecting, by a processing device, a set of data points of the film property data that is orthogonal to the target data. The method further includes: performing, by the processing device, feature extraction on this set of data points. The method further includes: determining, based on the feature extraction, updates to one or more manufacturing parameters to meet the target data.

[0005] In another aspect of the present disclosure, a system includes a memory and a processing device coupled to the memory. The processing device receives film property data associated with manufacturing parameters of a manufacturing device and determines that the film property data is relevant and different from target data. The processing device further selects a set of data points of the film property data that is orthogonal to the target data and performs feature extraction on this set of data points. The processing device further determines, based on the feature extraction, updates to one or more manufacturing parameters to meet the target data.

[0006] In another aspect of the present disclosure, a non-transitory computer-readable medium stores instructions that, when executed by a processing device, cause the processing device to: receive film property data associated with manufacturing parameters of a manufacturing device and determine that the film property data is relevant and different from target data. The processing device further selects a set of data points of the film property data that are orthogonal to the target data and performs feature extraction on this set of data points. The processing device further determines updates to one or more manufacturing parameters based on the feature extraction to meet the target data. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] In the figures of the drawings, the present disclosure is illustrated by way of example and not limitation.

[0008] Figure 1 is a block diagram illustrating an exemplary system architecture in accordance with certain embodiments.

[0009] Figure 2 is an example data group generator for creating a data group for a machine learning model in accordance with certain embodiments.

[0010] Figure 3 is a block diagram illustrating the determination of updates to manufacturing parameters to meet target data in accordance with certain embodiments.

[0011] Figures 4 to 6 is a flowchart illustrating an example method of determining updates to manufacturing parameters to meet target data in accordance with certain embodiments.

[0012] Figures 7A to 7B is a graph illustrating the determination of updates to manufacturing parameters to meet target data in accordance with certain embodiments.

[0013] Figure 8 is a block diagram illustrating a computer system in accordance with certain embodiments. DETAILED DESCRIPTION

[0014] The present disclosure relates to techniques for canonical analysis in a highly collinear response space. A manufacturing apparatus (e.g., a semiconductor or display processing tool) performs a manufacturing process to produce a product (e.g., a semiconductor wafer, a semiconductor display, etc.) having final property data (e.g., film property data). The resulting property data can be compared with target data (e.g., target property data, specifications). In response to the resulting property data not meeting the target data, the manufacturing parameters (e.g., hardware parameters, process parameters) of the manufacturing apparatus can be updated to attempt to meet the target data. Conventionally, updating the manufacturing parameters to attempt to meet the target data can depend on the administrator's domain expertise, can be ad hoc, and can be limited. By updating the manufacturing parameters through trial and error, the administrator can decide how to update the manufacturing parameters to attempt to meet the target data. The administrator may not be able to update the manufacturing parameters to meet the target data. The target data can include two or more properties. For example, the target data can be one or more of multi-parameter, multi-objective optimization, constrained optimization problems, unconstrained optimization problems, etc. Conventionally, the administrator may be limited to selecting one property of the target data and then updating the manufacturing parameters to attempt to meet that one property of the target data. When attempting to make one property of the resulting property data meet the target data, other properties of the resulting property data may not meet the target data and the deviation from the target data may increase. Conventionally, the administrator can be limited by the number or type of manufacturing parameters that can be updated (e.g., the manufacturing parameters that can be considered for update simultaneously). The administrator may not be able to update the manufacturing parameters to meet the target data that is one or more of multi-parameter, multi-objective optimization, constrained optimization problems, unconstrained optimization problems, etc.

[0015] The property data of the product can be related (e.g., collinear film property data). For example, in a graph where the first axis is a first property and the second axis is a second property, the property data can form a line. This line can be substantially parallel to the target data (e.g., offset from the target data). Conventionally, the administrator cannot adjust the manufacturing parameters to make the related property data (e.g., collinear film property data) meet the target data.

[0016] The apparatuses, systems, and methods disclosed herein use canonical analysis in a highly collinear response space to determine updates to one or more manufacturing parameters (e.g., process parameters, equipment parameters, hardware design changes, etc.) to meet the target data. A processing device receives film property data associated with the manufacturing parameters of a manufacturing apparatus and determines that the film property data is related and different from the target data (e.g., does not meet the target data, cannot meet the target data, deviates from the target data, etc.). The processing device selects a set of data points of the film property data that are orthogonal to the target data and performs feature extraction on this set of data points. The processing device determines updates to one or more manufacturing parameters to meet the target data based on the feature extraction.

[0017] In some embodiments, data inputs (e.g., historical or experimental manufacturing parameters) and corresponding target outputs (e.g., historical or experimental membrane property data) can be used to train a machine learning model. An inverted solution can be obtained from the trained machine learning model based on the target data. The inverted solution can include updates to the manufacturing parameters. In some embodiments, to obtain the inverted solution, the trained machine learning model can be inverted, the target data can be input into the inverted trained machine learning model, and the updates to the manufacturing parameters to satisfy the target data can be output by the inverted machine learning model.

[0018] In some embodiments, the updates to the manufacturing parameters can be displayed via a graphical user interface. In some embodiments, the updates to the manufacturing parameters can be implemented to satisfy the target data.

[0019] Technical advantages of aspects of the present disclosure result in significant reduction in energy consumption (e.g., battery consumption), required bandwidth, processor management burden, etc. In some embodiments, the technical advantages arise from determining updates to manufacturing parameters to satisfy target data without performing ad-hoc trial and error using an administrator's domain expertise. Compared to ad-hoc trial and error that relies on a user's domain expertise, fewer energy, less bandwidth, and less processor management burden can be used to determine updates to manufacturing parameters to satisfy target data. Updates to manufacturing parameters determined via the present disclosure can result in products having property data that is closer to the target data compared to conventional practices. Conventionally, an administrator may not be able to determine updates to manufacturing parameters to satisfy target data, which may result in products not meeting specifications. Updates to manufacturing parameters determined by the embodiments described herein can result in products having property data with different properties (e.g., meeting specifications, rather than just attempting to approach one property of the target data) that satisfy the target data.

[0020] Figure 1 is a block diagram illustrating an exemplary system architecture 100 according to certain embodiments. System architecture 100 includes a client device 120, a manufacturing device 124, a measurement device 126, a normative analysis server 130, and a data memory 140. The normative analysis server 130 can be part of a normative analysis system 110. The normative analysis system 110 can further include server machines 170 and 180.

[0021] The measurement device 126 may include one or more of a metrology system 127 or a sensor 128. The measurement device 126 may determine (e.g., via the metrology device 127) film property data (e.g., historical or experimental film property data 144, film property data 150, tested film property data 156) of a product (e.g., a wafer) produced by the manufacturing device 124. The measurement device 126 may determine (e.g., via the sensor 128) manufacturing parameters (e.g., historical or experimental manufacturing parameters 146, etc.) associated with the manufacturing device 124.

[0022] The client device 120, the manufacturing device 124, the measurement device 126, the compliance analysis server 130, the data storage 140, the server machine 170, and the server machine 180 may be coupled to each other via the network 160 to determine an update 154 to the manufacturing parameters to meet the target data 152. In some embodiments, the network 160 is a public network that provides the client device 120 access to the compliance analysis server 130, the data storage 140, and other commercially available computing devices. In some embodiments, the network 160 is a private network that provides the client device 120 access to the compliance analysis server 130, the data storage 140, and other private computing devices. The network 160 may include one or more wide area networks (WANs), local area networks (LANs), wired networks (e.g., Ethernet networks), wireless networks (e.g., 802.11 networks or Wi-Fi networks), cellular networks (e.g., Long Term Evolution (LTE) networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.

[0023] The client device 120 may include computing devices such as a personal computer (PC), laptop computer, mobile phone, smartphone, tablet computer, netbook computer, network-connected television (“smart TV”), network-connected media player (e.g., Blu-ray player), set-top box, over-the-top (OTT) streaming media device, operator box, and the like. The client device 120 may be capable of receiving film property data (e.g., historical or experimental data 142, film property data 150, tested film property data 156) from the measurement device 126 via the network 160, receiving updates 154 to the manufacturing parameters from the normative analysis system 110, and so on. The client device 120 may be capable of sending film property data (e.g., historical or experimental data 142, film property data 150, target data 152, tested film property data 156) to the normative analysis system 110 via the network 160, sending updates 154 to the manufacturing parameters to the manufacturing device 124, and so on. In some embodiments, the client device 120 may modify the manufacturing parameters (e.g., process parameters, hardware parameters, etc.) of the manufacturing device 124 based on the updates 154 to the manufacturing parameters. Each client device 120 may include an operating system that allows a user to perform one or more of the following: generate, view, or edit data (e.g., target data 152, updates 154 to the manufacturing parameters, tested film property data 156, etc.).

[0024] The client device 120 may include a manufacturing parameter modification component 122. The manufacturing parameter modification component 122 may receive user input of the target data 152 (e.g., via a graphical user interface displayed on the client device 120). The target data 152 may include property data (e.g., film property data). In some embodiments, the client device 120 sends the target data 152 to the normative analysis server 130, and the client device 120 receives updates 154 to the manufacturing parameters from the normative analysis server 130 to meet the target data 152. The client device 120 may update the manufacturing parameters of the manufacturing device 124 based on the updates 154 to the manufacturing parameters (e.g., send the updates 154 to the manufacturing parameters to the manufacturing device 124, implement the updates 154 to the manufacturing parameters). The client device 120 may receive the tested film property data 156 in response to the implementation of the updates to the manufacturing parameters by the manufacturing device 124. The client device 120 may send the tested film property data 156 to the normative analysis system 110 (e.g., the normative analysis server 130) to update the trained machine learning model 190.

[0025] The Canonical Analysis Server 130 may include one or more computing devices, such as rack servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, Graphics Processing Units (GPUs), Application Specific Integrated Circuits (ASICs) for accelerators (e.g., Tensor Processing Units (TPUs)), etc. The Canonical Analysis Server 130 may include a Canonical Analysis Component 132. In some embodiments, the Canonical Analysis Component 132 may use historical or experimental data 142 to determine updates 154 to manufacturing parameters to meet target data 152. The historical or experimental data 142 may include historical data, experimental data, or a combination thereof. The experimental data may include Design of Experiments (DOE) data. In some embodiments, the Canonical Analysis Component 132 may use a trained machine learning model 190 to determine updates 154 to manufacturing parameters to meet target data 152. The trained machine learning model 190 may learn critical process and hardware parameters. Determining the updates 154 to manufacturing parameters by the trained machine learning model 190 may include the trained machine learning model 190 prescribing optimal operating conditions (e.g., process parameters) and / or space (e.g., hardware parameters).

[0026] The normative analysis component 132 may receive (e.g., retrieve from the data store 140) film property data 150 associated with the manufacturing parameters of the manufacturing device 124, determine that the film property data 150 is relevant and different from the target data 152, and determine an update 154 to the manufacturing parameters to meet the target data 152. In some embodiments, the normative analysis component 132 determines the update 154 to the manufacturing parameters by selecting a set of data points of the film property data 150 that are orthogonal to the target data 152 and performing feature extraction on this set of data points, where the update 154 to the manufacturing parameters is based on the feature extraction. In some embodiments, an inversion solution (e.g., an update to the manufacturing parameters) may be obtained from a trained machine learning model based on the target data. The inversion solution may include an update to the manufacturing parameters. In some embodiments, to obtain the inversion solution, the normative analysis component 132 determines the update 154 to the manufacturing parameters by providing the target data 152 to a trained machine learning model. For example, an inversion solution (e.g., an update 154 to the manufacturing parameters) may be obtained from a trained machine learning model based on the target data 152. In some embodiments, the normative analysis component 132 determines the update 154 to the manufacturing parameters by providing the target data 152 to an inverted trained machine learning model (e.g., the model 190 that has been trained and inverted), obtaining an output from the inverted trained machine learning model, and extracting the update 154 to the manufacturing parameters from the output. The inverted trained machine learning model may select a set of data points of the film property data 150 that are orthogonal to the target data 152 and perform feature extraction on this set of data points, where the output of the inverted trained machine learning model (e.g., the update 154 to the manufacturing parameters) is based on the feature extraction.

[0027] The data storage 140 can be a memory (such as a random access memory), a drive (such as a hard disk drive, a flash drive), a database system, or another type of component or device capable of storing data. The data storage 140 can include multiple storage components (such as multiple drives or multiple databases) that can span multiple computing devices (such as multiple server computers). The data storage 140 can store one or more of historical or experimental data 142, film property data 150, target data 152, updates 154 to manufacturing parameters, or tested film property data 156. The historical or experimental data 142 can include historical or experimental film property data 144 and historical or experimental manufacturing parameters 146 over a period of time or multiple runs of the manufacturing equipment 124. Each example of the historical or experimental film property data 144 can correspond to a corresponding example of the historical or experimental manufacturing parameters 146 (such as an example of the historical or experimental manufacturing parameters 146 used by the manufacturing equipment 124 to produce a product with the historical or experimental film property data 144). Each instance of the tested film property data 156 can correspond to respective instances of the updates 154 to the manufacturing parameters (such as an example of the updates 154 to the manufacturing parameters used by the manufacturing equipment 124 to produce a product with the tested film property data 156).

[0028] In some embodiments, the manufacturing parameters include one or more of the settings or components (such as dimensions, types, etc.) of the manufacturing equipment 124. The manufacturing parameters can include one or more of temperature (such as heater temperature), pitch (SP), pressure, high frequency radio frequency (HFRF), voltage of the electrostatic chuck (ESC), current, first precursor, first diluent, second diluent, first reactant, second reactant, second precursor, etc.

[0029] In some embodiments, the film property data includes wafer spatial film properties based on measurement device data (such as retrieved from the measurement device 126 coupled to the manufacturing equipment 124). The film property data can include one or more of dielectric constant, dopant concentration, growth rate, density, and the like.

[0030] In some embodiments, the client device 120 can store the target data 152 and the tested film property data 156 in the data storage 140, and the compliance analysis server 130 can retrieve the target data 152 and the tested film property data 156 from the data storage 140. In some embodiments, the compliance analysis server 130 can store the updates 154 to the manufacturing parameters in the data storage 140, and the client device 120 can retrieve the updates 154 to the manufacturing parameters from the data storage 140.

[0031] In some embodiments, the normative analysis system 110 further includes server machines 170 and 180. The server machines 170 and 180 may be one or more computing devices (such as rack servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, etc.), GPUs, ASICs (e.g., TPUs), data memories (such as hard disks, memory databases), networks, software components, or hardware components.

[0032] The server machine 170 includes a data set generator 172 that is capable of generating data sets (such as a set of data inputs and a set of target outputs) to train, validate, or test the machine learning model 190. Some operations of the data set generator 172 are described below with reference to Figure 2 and Figure 6 for a detailed description. In some embodiments, the data set generator 172 may divide the historical or experimental data 142 into a training set (such as sixty percent of the historical or experimental data 142), a validation set (such as twenty percent of the historical or experimental data 142), and a test set (such as twenty percent of the historical or experimental data 142). In some embodiments, the normative analysis component 132 generates multiple sets of features. For example, the first set of features may be a first set of manufacturing parameters corresponding to each data set (such as the training set, validation set, and test set), while the second set of features may be a second set of manufacturing parameters corresponding to each data set (e.g., different from the first set of manufacturing parameters).

[0033] The server machine 180 includes a training engine 182, a validation engine 184, a selection engine, and a test engine 186. The engines (such as the training engine 182, the validation engine 184, the selection engine, and the test engine 186) may refer to hardware (such as circuitry, dedicated logic, programmable logic, microcode, processing devices, etc.), software (such as instructions running on a processing device, a general computer system, or a dedicated machine), firmware, microcode, or a combination thereof. The training engine 182 may be capable of training the machine learning model 190 using one or more sets of features associated with the training set from the data set generator 172. The training engine 182 may generate multiple trained machine learning models 190, where each trained machine learning model 190 corresponds to a different set of features of the training set. For example, the first trained machine learning model may be trained using all features (such as X1 - X5), the second trained machine learning model may be trained using a first subset of features (such as X1, X2, X4), and the third trained machine learning model may be trained using a second subset of features that may partially overlap with the first subset of features (such as X1, X3, X4, and X5).

[0034] The verification engine 184 may be able to use the corresponding feature set of the verification set from the data set generator 172 to verify the trained machine learning model 190. For example, the first set of features of the verification set may be used to verify the first trained machine learning model 190 trained using the first set of features of the training set. The verification engine 184 may determine the accuracy of each trained machine learning model 190 based on the corresponding feature set of the verification set. The verification engine 184 may discard the trained machine learning models 190 with an accuracy that does not meet the threshold accuracy. In some embodiments, the selection engine 185 may be able to select one or more trained machine learning models 190 with an accuracy that meets the threshold accuracy. In some embodiments, the selection engine 185 may be able to select the trained machine learning model 190 with the highest accuracy among the trained machine learning models 190.

[0035] The test engine 186 may be able to use the corresponding feature set of the test set from the data set generator 172 to test the trained machine learning model 190. For example, the first set of features of the test set may be used to test the first trained machine learning model 190 trained using the first set of features of the training set. The test engine 186 may determine the trained machine learning model 190 with the highest accuracy among all the trained machine learning models based on the test set.

[0036] The machine learning model 190 may refer to a model artifact created by the training engine 182 using the training set, where the training set includes data inputs and corresponding target outputs (the correct answers for each training input). Patterns in the data set can be found that map the data inputs to the target outputs (correct answers), and these patterns provide the mapping for the machine learning model 190 to capture. The machine learning model 190 can use one or more of linear regression, random forests, neural networks (such as artificial neural networks), and so on.

[0037] The trained machine learning model 190 can be inverted (e.g., by the normalization analysis component 132, etc.). The normalization analysis component 132 can provide the target data 152 (e.g., target membrane property data) as an input to the inverted trained machine learning model 190, and can run the inverted trained machine learning model 190 on the input to obtain one or more outputs. As described below with respect to Figure 5As described in detail, the canonical analysis component 132 may be able to extract updates 154 to the manufacturing parameters from the output of the trained machine learning model 190 to meet the target data 152, and may extract confidence data indicating a confidence level from the output, the confidence level indicating whether one or more products produced using the updates 154 to the manufacturing parameters meet the target data 152 (e.g., will be within specifications). The canonical analysis component 132 may use the confidence data to decide whether to cause the manufacturing device 124 to implement the updates 154 to the manufacturing parameters.

[0038] The confidence data may include or indicate a confidence level that a product produced using the updates 154 to the manufacturing parameters meets the target data 152. In one example, the confidence level is a real number between 0 and 1 (inclusive), where 0 indicates no confidence that a product meets the target data 152 and 1 indicates absolute confidence that a product meets the target data 152.

[0039] For purposes of illustration and not limitation, aspects of the present disclosure describe training a machine learning model using historical or experimental data 142, inverting the trained machine learning model, and inputting the target data 152 into the inverted trained machine learning model to determine updates 154 to the manufacturing parameters. In other embodiments, a heuristic model or rule-based model is used to determine updates 154 to the manufacturing parameters (e.g., without using a trained machine learning model). The canonical analysis component 132 may monitor the historical or experimental data 142. Any information described with respect to Figure 2 the data input 210 may be monitored or otherwise used in the heuristic or rule-based model.

[0040] In some embodiments, the functionality of the client device 120, the canonical analysis server 130, the server machines 170, and 180 may be provided by a smaller number of machines. For example, in some embodiments, the server machines 170 and 180 may be integrated into a single machine, and in some other embodiments, the server machine 170, the server machine 180, and the canonical analysis server 130 may be integrated into a single machine.

[0041] Typically, in appropriate circumstances, functions described in one embodiment as being performed by client device 120, canonical analysis server 130, server machine 170, and server machine 180 may also be performed on canonical analysis server 130 in other embodiments. Additionally, functionality attributed to a particular component may be performed by different or multiple components operating together. For example, in some embodiments, canonical analysis server 130 may send an update 154 of manufacturing parameters to manufacturing device 124. In another example, client device 120 may determine an update 154 of manufacturing parameters based on the output from an inverted trained machine learning model.

[0042] Additionally, the functionality of a particular component may be performed by different or multiple components operating together. One or more of canonical analysis server 130, server machine 170, or server machine 180 may be accessed as a service provided to other systems or devices through an appropriate application programming interface (API).

[0043] In an embodiment, a "user" may be represented as a single individual. However, the "users" included in other embodiments of the present disclosure are entities controlled by multiple users and / or automated sources. For example, a group of individual users united as a group of administrators may be considered a "user".

[0044] Although embodiments of the present disclosure have been described in terms of updating 154 manufacturing parameters of manufacturing device 124 in a manufacturing facility (such as a semiconductor manufacturing facility) to meet target data 152, the embodiments may generally also be applied to meet target data. The embodiments may generally be applied to optimizing property data of a product (such as collinear property data).

[0045] Figure 2 is an example data group generator 272 according to certain embodiments (such as Figure 1 data group generator 172), to create a data group for a machine learning model (such as Figure 1 model 190) using historical or experimental data 242 (such as Figure 1 historical or experimental data 142). Figure 2 System 200 of

[0046] In some embodiments, the data group generator 272 generates data groups (e.g., training groups, validation groups, test groups), which include one or more data inputs 210 (e.g., training inputs, validation inputs, test inputs) and one or more target outputs 220 corresponding to the data inputs 210. The data groups may also include mapping data that maps the data inputs 210 to the target outputs 220. The data inputs 210 may also be referred to as "features", "attributes", or "information". In some embodiments, the data group generator 272 may provide the data groups to the training engine 182, the validation engine 184, or the test engine 186, where the data groups are used to train, validate, or test the machine learning model 190. Some embodiments for generating the training group may be further described with respect to Figure 6 Further described are some embodiments for generating the training group.

[0047] In some embodiments, the data input 210 may include one or more sets of features 212A for historical or experimental manufacturing parameters 246 (e.g., Figure 1 historical or experimental manufacturing parameters 146). Each example of the historical or experimental manufacturing parameters 246 may include one or more process parameters 214 or hardware parameters 216. The target output 220 may include historical or experimental membrane property data 244 (e.g., Figure 1 historical or experimental membrane property data 144).

[0048] In some embodiments, the data group generator 272 may generate a first data input corresponding to the first set of features 212A to train, validate, or test a first machine learning model, and the data group generator 272 may generate a second data input corresponding to the second set of features 212B to train, validate, or test a second machine learning model.

[0049] In some embodiments, the data group generator 272 may discretize one or more of the data inputs 210 or the target outputs 220 (e.g., for classification algorithms in regression problems). The discretization of the data inputs 210 or the target outputs 220 may convert the continuous values of the variables into discrete values. In some embodiments, the discrete values of the data inputs 210 indicate discrete manufacturing parameters to obtain the target output 220.

[0050] The data inputs 210 and the target outputs 220 for training, validating, or testing the machine learning model may include information for a specific facility (e.g., for a specific semiconductor manufacturing facility). For example, the historical or experimental manufacturing parameters 246 and the historical or experimental membrane property data 244 may be for the same manufacturing facility as the membrane property data 150, the target data 152, the updates 154 to the manufacturing parameters, and the tested membrane property data 156.

[0051] In some embodiments, the information for training a machine learning model can come from a specific type of manufacturing equipment 124 in a manufacturing facility having specific properties, and the trained machine learning model is allowed to determine the results of the manufacturing equipment 124 of a specific group based on the input of a certain target data 152 associated with one or more components sharing specific group properties. In some embodiments, the information for training a machine learning model can be used for components from two or more manufacturing facilities, and the trained machine learning model can be allowed to determine the results of the components based on the input from one manufacturing facility.

[0052] In some embodiments, after generating a data set and using this data set to train, validate, or test a machine learning model 190, the machine learning model 190 can be further trained, validated, or tested (e.g., using Figure 1 the update 154 of manufacturing parameters and the tested film property data 156) or adjusted (e.g., adjusting the weights associated with the input data of the machine learning model 190, such as the connection weights in a neural network).

[0053] Figure 3 is a block diagram of a system 300 for generating an update 354 (e.g., Figure 1 the update 154 of manufacturing parameters) to manufacturing parameters according to certain embodiments. The system 300 can be a feedback system for determining an update 354 to manufacturing parameters based on historical or experimental data 342 (e.g., Figure 1 the historical or experimental data 142) to meet target data 352 (e.g., Figure 1 the target data 152).

[0054] At block 310, the system 300 (e.g., Figure 1 the normalization analysis system 110) performs data partitioning of the historical or experimental data 342 (e.g., Figure 1 the historical or experimental data 142) (e.g., via Figure 1of the data set generator 172 of the server machine 170) to generate a training set 302, a validation set 304, and a test set 306. For example, the training set can be 60% of the historical or experimental data 342, the validation set can be 20% of the historical or experimental data 342, and the test set can be 20% of the historical or experimental data 342. The system 300 can generate multiple feature sets for each of the training set, the validation set, and the test set. For example, if the historical or experimental data 342 has 20 manufacturing parameters (e.g., process parameters, hardware parameters) and runs 100 times for each manufacturing parameter, the first set of features can be manufacturing parameters 1-10, the second set of features can be manufacturing parameters 11-20, the training set can be runs 1-60, the validation set can be runs 61-80, and the test set can be runs 81-100. In this example, the first set of features of the training set will be manufacturing parameters 1-10 for runs 1-60.

[0055] At block 312, the system 300 performs model training using the training set 302 (e.g., via Figure 1 of the training engine 182). The system 300 can use multiple sets of features of the training set 302 (e.g., the first set of features of the training set 302, the second set of features of the training set 302, etc.) to train multiple models. For example, the system 300 can train a machine learning model to generate a first trained machine learning model using the first set of features in the training set (e.g., manufacturing parameters 1-10 for runs 1-60) and generate a second trained machine learning model using the second set of features in the training set (e.g., manufacturing parameters 11-20 for runs 1-60). In some embodiments, the first trained machine learning model and the second trained machine learning model can be combined to generate a third trained machine learning model (e.g., the third trained machine learning model can be a better predictor than the first or second trained machine learning model itself). In some embodiments, the feature sets used in the comparison models can overlap (e.g., the first set of features is manufacturing parameters 1-15 and the second set of features is manufacturing parameters 5-20). In some embodiments, hundreds of models can be generated, including models with various permutations of features and combinations of models.

[0056] At block 314, the system 300 performs model validation using the validation set 304 (e.g., via Figure 1The verification engine 184). The system 300 can use a corresponding set of features of the verification group 304 to verify each trained model. For example, the system 300 can use the first set of features in the verification group (e.g., manufacturing parameters 1-10 for runs 61-80) to verify the first trained machine learning model, and use the second set of features in the verification group (e.g., manufacturing parameters 11-20 for runs 61-80) to verify the second trained machine learning model. In some embodiments, the system 300 can verify hundreds of models generated at block 312 (e.g., models with various permutations of features, combinations of models, etc.). At block 314, the system 300 can determine the accuracy of each of the one or more trained models (e.g., via model verification), and can determine whether the one or more trained models have an accuracy that meets a threshold accuracy. In response to determining that none of the trained models have an accuracy that meets the threshold accuracy, the process returns to block 312, where the system 300 performs model training using a different set of features of the training group. In response to determining that one or more of the trained models have an accuracy that meets the threshold accuracy, the process continues to block 316. The system 300 can discard the trained machine learning models that have an accuracy below the threshold accuracy (e.g., based on the verification group).

[0057] At block 316, the system 300 performs model selection (e.g., via the selection engine 315) to 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 of the trained models that meet the threshold accuracy have the same accuracy, the process can return to block 312, where the system 300 performs model training using a further improved training group that corresponds to a further improved set of features to determine the trained model with the highest accuracy.

[0058] At block 318, the system 300 performs model testing using the test group 306 (e.g., via Figure 1The test engine 186) tests the selected model 308. The system 300 can test the first trained machine learning model using the first set of features in the test group (e.g., manufacturing parameters 1-10 for runs 81-100) to determine whether the first trained machine learning model meets a threshold accuracy (e.g., based on the first set of features of the test group 306). In response to the accuracy of the selected model 308 not meeting the threshold accuracy (e.g., the selected model 308 is overfitted to the training group 302 and / or the validation group 304 and is not applicable to other data groups, such as the test group 306), the process continues to block 312, where the system 300 performs model training (e.g., retraining) using a different training group corresponding to a different set of features (e.g., different manufacturing parameters). In response to determining that the selected model 308 has an accuracy that meets the threshold accuracy based on the test group 306, the process continues to block 320. In at least block 312, the model can learn patterns in the historical or experimental data 342 for prediction, and in block 318, the system 300 can apply the model to the remaining data (e.g., the test group 306) to test the prediction.

[0059] At block 320, the system 300 inverses the trained model (e.g., the selected model 308). For the trained model, in response to the input of manufacturing parameters, the predicted film property data can be extracted from the output of the trained model. For the inversed trained model, in response to the input of the target data 352 (e.g., the target film property data), the update 354 to the manufacturing parameters can be extracted from the output of the inversed trained model.

[0060] At block 322, the system 300 uses the inversed trained model (e.g., the selected model 308) to receive the target data 352 (e.g., the target film property data, Figure 1 the target data 152) and extracts the update 354 to the manufacturing parameters (e.g., Figure 1 the update 154 to the manufacturing parameters) from the output of the inversed trained model.

[0061] In response to the manufacturing device 124 using the update 354 to the manufacturing parameters to produce a product (e.g., a semiconductor, a wafer, etc.), the product can be tested (e.g., via the measuring device 126) to determine the tested film property data 356 (e.g., Figure 1 the tested film property data 156). In response to receiving the tested film property data 356, the process can continue to block 312 (e.g., via a feedback loop), where the update 354 to the manufacturing parameters and the tested film property data 356 are compared to update the trained model (e.g., model retraining) via model training.

[0062] In some embodiments, one or more of acts 310-322 may occur in various orders and / or in conjunction with other acts not presented and described herein. In some embodiments, one or more of acts 310-322 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.

[0063] Figures 4 to 6 FIG. 400-600 are flowcharts of example methods 400-600 associated with determining updates to manufacturing parameters (e.g., Figure 1 update 154 to manufacturing parameters) in accordance with certain embodiments. Methods 400-600 may be performed by processing logic that may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing device, etc.), software (such as executing on a processing device, general purpose computer system, or dedicated machine), firmware, microcode, or any combination thereof. In one embodiment, methods 400-600 may be performed in part by compliance analysis system 110. In some embodiments, methods 400-600 may be performed by compliance analysis server 130. In some embodiments, a non-transitory storage medium stores instructions that, when executed by a processing device (e.g., the processing device of compliance analysis system 110), cause the processing device to perform methods 400-600.

[0064] For simplicity of illustration, methods 400-600 are depicted and described as a series of acts. However, acts in accordance with the present disclosure may occur in various orders and / or concurrently and in conjunction with other acts not presented and described herein. Additionally, not all acts shown need to be performed to implement methods 400-600 in accordance with the disclosed subject matter. Further, those of ordinary skill in the art of the present invention will understand and recognize that methods 400-600 may alternatively be represented as a series of interrelated states via a state diagram or events.

[0065] Figure 4 FIG. 400 is a flowchart of method 400 for determining updates to manufacturing parameters (e.g., Figure 1 update 154 to manufacturing parameters) to meet target data (e.g., Figure 1 target data 152) in accordance with certain embodiments.

[0066] Refer to Figure 4, at block 402, the processing logic receives film property data 150 associated with the manufacturing parameters of manufacturing equipment 124. In some embodiments, the client device 120 receives the film property data 150 from a measurement device 126 (such as metrology system 127). In some embodiments, while the manufacturing equipment 124 is processing or producing a product (such as a semiconductor wafer), the film property data 150 is measured via the measurement device 126. In some embodiments, after the manufacturing equipment 124 has processed a product (such as a completed semiconductor wafer, a semiconductor wafer that has gone through a processing stage), the film property data 150 is measured via the measurement device 126. The film property data 150 can correspond to multiple types of measurements via multiple types of measurement devices 126. The canonical analysis component 132 can receive the film property data 150 from one or more of the client device 120, the measurement device 126, or the data memory 140.

[0067] At block 404, the processing logic determines that the film property data 150 is relevant and different from the target data 152 (e.g., does not meet the target data 152). In some embodiments, the processing logic determines that the film property data 150 does not intersect the target data 152 (e.g., the film property data 150 is substantially parallel to the target data 152).

[0068] At block 406, the processing logic selects a set of data points of the film property data 150 that are orthogonal to the target data 152 (see Figure 7A ).

[0069] At block 408, the processing logic performs feature extraction on the data point set. The feature extraction can be performed via one or more of the following: principal component analysis (PCA), clustering (such as k-means clustering, hierarchical clustering), factor analysis (FA), discriminant analysis, or correlation matrix.

[0070] At block 410, the processing logic determines an update to one or more manufacturing parameters (such as update 154 to the manufacturing parameters) to meet the target data 152 based on the feature extraction. The processing logic can filter solutions based on the feasibility or cost of the update 154 to the manufacturing parameters to meet the target data 152. For example, the first update or the second update to the manufacturing parameters can make the film property data meet the target data 152. The first update can include changing process parameters (such as feasibility, low cost), while the second update includes updating hardware parameters (such as ordering new manufacturing equipment, high cost). Due to higher feasibility and lower cost, the first update can be used instead of the second update.

[0071] At block 412, the processing logic displays, via a graphical user interface (GUI), an update 154 to one or more manufacturing parameters. The GUI may be displayed via the client device 120. The GUI may display two or more different options for the update 154 to the manufacturing parameters such that the film property data meets the target data 152. The GUI may indicate the cost associated with the update 154 to the manufacturing parameters (such as equipment upgrades, processing costs, time required, etc.) compared to the current cost (such as cost increase, cost decrease, etc.). The GUI may display GUI elements that can be selected to select and implement the update 154 to the manufacturing parameters.

[0072] At block 414, the processing logic implements an update to one or more manufacturing parameters of the manufacturing device 124 to meet the target data 152. In some embodiments, block 414 responds to receiving user input to select a GUI element to implement the update 154 to the manufacturing parameters. In some embodiments, when user input selecting a GUI element is received, the process parameters of the manufacturing device 124 may be updated (such as via the client device 120, via the canonical analysis component 132, etc.). In some embodiments, when user input selecting a GUI element is received, the hardware parameters of the manufacturing device 124 may be updated (such as by changing components of the manufacturing device 124, by changing settings of the manufacturing device 124, etc.).

[0073] Figure 5 is a flowchart of a method 500 for determining an update (such as update 154 to manufacturing parameters) to manufacturing parameters using an inverse machine learning model to meet target data 152 according to certain embodiments.

[0074] Referring Figure 5 , at block 502, the processing logic receives film property data 150 associated with the manufacturing parameters of the manufacturing device 124.

[0075] At block 504, the processing logic determines that the film property data 150 is relevant and different from the target data 152 (such as does not meet the target data 152). The film property data 150 may be correlated between two or more variables (such as multi-dimensional correlation). In some embodiments, the desired output target (such as target data 152, such as a film property including one or more of refractive index (RI), stress, uniformity, etc.) is highly collinear (such as substantially parallel to the film property data 150) and seems to be unachievable or unreasonable based on the existing experimental data set used for learning / training (such as historical or experimental data 142). This may be due to one or more of the following reasons: narrow process space explored, hardware design limitations, correct chemistry (such as reactants / precursors), etc.

[0076] In some embodiments, at block 506, the processing logic inverses the trained machine learning model to generate an inverse machine learning model. In some embodiments, at block 506, the processing logic generates a cost function similar to the trained machine learning model, and the processing logic generates an inverse solution to the cost function. As described with respect to Figures 1 to 3 The data input 210 (e.g., training data) may include historical or experimental data 142. The historical or experimental data 142 (e.g., historical or experimental film property data 144 and historical or experimental manufacturing parameters 146) may include process parameters, hardware parameters, selected pasted excel files, experimental schemes of classical designs, hardware component information, radio frequency (RF) hours, coordinate measuring machine (CMM) data, infrared (IR) data, color array (COA) data, status data, design of experiments (DOE) data, and so on. The data input 210 can be used as a training set for a statistical and / or machine learning model (e.g., a set of statistical and / or machine learning algorithms) to learn an approximate function (G) of the transfer function (F) that correlates manufacturing parameters (S) (e.g., hardware and / or process parameters) with film properties (P).

[0077] At block 506, an inverse operator can be used for function G for a regression-based method. When a closed-form solution for G does not exist, simulation and optimization methods (e.g., neural networks, random forests, etc.) can be employed. At block 508, the processing logic provides the target data 152 to the (inverse) trained machine learning model. The machine learning model may have been inverted or may have been pseudo-inverted (e.g., along with an inverse solution of a cost function similar to the machine learning model). The (inverse) trained machine learning model can select a group of data points of film property data that are orthogonal to the target data, and can perform feature extraction on this group of data points (see Figure 4 blocks 406 - 408). In some embodiments, the (inverse) trained machine learning model can use principal component analysis (PCA) based on orthogonal vectors to specify directions for process space exploration or hardware modification and design improvement.

[0078] As Figure 7A shown, there may be high collinearity between property Y2 and Y1. As shown in chart 700B of Figure 7B , the orthogonal line can pass through the points (Y 1 0 = D1, Y 2 0 = D2), which form a set (Y 1 0 , Y 2 0 ) defined by a distance metric d (e.g., the distance from the target data 152).

[0079] Thereafter, predictors / input vectors {X 1 0 , Y 2 0} corresponding to the analog output parameters including (e.g., consisting of) {Y o} can be identified. Feature extraction (e.g., PCA) can be performed on the identified desired predictors / input vectors {X o} to identify the principal components that account for the variations (e.g., 90% of the variations, most of the variations) in the vector space {X o}.

[0080] At block 510, the processing logic obtains an inverse solution, including one or more outputs from the (inverted) trained machine learning model. In some embodiments, the inverse solution is obtained by inverting the trained machine learning model. In some embodiments, the inverse solution is obtained by pseudo-inversion (e.g., in response to inability to invert the trained machine learning model). Pseudo-inversion may include generating a cost function similar to the trained machine learning model (e.g., via non-linear optimization techniques), and determining the inverse solution of the cost function to obtain one or more outputs.

[0081] At block 512, the processing logic extracts updates 154 (e.g., countermeasures, inverse predictions) for one or more manufacturing parameters from the one or more outputs to satisfy the target data 152. In some embodiments, the processing logic extracts a confidence level from the one or more outputs, and the confidence level indicates whether the product produced using the one or more updates 154 to the manufacturing parameters satisfies the target data 152. The processing device can determine whether the confidence level meets a threshold confidence level. In response to the confidence level meeting the threshold confidence level, the process can continue to one or more of blocks 514 or 516.

[0082] At block 514, the processing logic displays the updates to the one or more manufacturing parameters via a graphical user interface (see Figure 4 's block 412).

[0083] At block 516, the processing logic implements the updates to the one or more manufacturing parameters of the manufacturing device 124 to satisfy the target data 152 (see Figure 4 's block 414).

[0084] At block 518, the processing logic receives tested membrane property data associated with the updates 154 to the one or more manufacturing parameters (e.g., Figure 1 's tested membrane property data 156). The tested membrane property data 156 may indicate the actual membrane property data of the product produced using the updates 154 to the manufacturing parameters.

[0085] At block 520, the processing logic updates the trained machine learning model based on the tested membrane property data 156 and the updates 154 to one or more manufacturing parameters. In some embodiments, in response to the tested membrane property data 156 being different from the target data 152 (e.g., the product produced using the updates 154 to the manufacturing parameters does not meet the target data 152), the processing logic may utilize the tested membrane property data 156 and the updates 154 to one or more manufacturing parameters to update the trained machine learning data (e.g., by storing the tested membrane property data 156 in the historical or experimental membrane property data 144 and storing the updates 154 to the manufacturing parameters in the historical or experimental manufacturing parameters 146 to update the historical or experimental data 142). The processing logic may update the trained machine learning model (e.g., retrain, revalidate, and / or retest) based on the updated historical or experimental data.

[0086] Figure 6 is a flowchart of a method 600 for generating a data set for a machine learning model to determine updates to manufacturing parameters to meet target data. According to embodiments of the present disclosure, the normalization analysis system 110 may use the method 600 to perform at least one of training, validating, or testing a machine learning model. In some embodiments, one or more operations of the method 600 may be performed by the data set generator 172 of the server machine 170, as described with respect to Figure 1 and Figure 2 It may be noted that the components described with respect to Figure 1 and Figure 2 may be used to illustrate aspects of Figure 6 .

[0087] Referring to Figure 6 , in some embodiments, at block 602, the processing logic implementing the method 600 initializes the training set T to an empty set.

[0088] At block 604, the processing logic generates a first data input (e.g., a first training input, a first validation input) including historical or experimental manufacturing parameters (e.g., the historical or experimental manufacturing parameters 146 of Figure 1 , the historical or experimental manufacturing parameters 246 of Figure 2 ). In some embodiments, the first data input may include a first set of features for the historical or experimental manufacturing parameters, and the second data input may include a second set of features for the historical or experimental manufacturing parameters (e.g., as described with respect to Figure 2 ). In some embodiments, the third data input may include updates to the manufacturing parameters (e.g., the update 154 to the manufacturing parameters of Figure 1 , the update 354 to the manufacturing parameters of Figure 3 ).

[0089] At block 606, the processing logic generates a first target output for one or more data inputs (e.g., a first data input). The first target output provides an indication of membrane property data (e.g., Figure 1 historical or experimental membrane property data 144 of Figure 2 historical or experimental membrane property data 244 of Figure 1 tested membrane property data 156 of Figure 3 tested membrane property data 356 of).

[0090] At block 608, the processing logic optionally generates mapping data indicating an input / output mapping. The input / output mapping (or mapping data) can refer to a data input (e.g., one or more of the data inputs described herein), the target output of the data input (e.g., where the target output identifies membrane property data), and the association between the (multiple) data inputs and the target output.

[0091] At block 610, the processing logic adds the mapping data generated at block 610 to data set T.

[0092] At block 612, based on whether data set T is sufficient for at least one of training, validating, or testing machine learning model 190, the processing logic branches. If so, it proceeds to block 614; otherwise, it returns to block 604. It should be noted that in some embodiments, the sufficiency of data set T can be determined simply based on the number of input / output mappings in the data set, while in some other implementations, in addition to or instead of the number of input / output mappings, the sufficiency of data set T can be determined based on one or more other criteria (e.g., measures of diversity, accuracy, etc. of the data examples).

[0093] At block 614, processing logic provides data set T to train, validate, or test machine learning model 190. In some embodiments, data set T is a training set and is provided to training engine 182 of server machine 180 to perform training. In some embodiments, data set T is a validation set and is provided to validation engine 184 of server machine 180 to perform validation. In some embodiments, data set T is a test set and is provided to test engine 184 of server machine 180 to perform testing. In the case of a neural network, for example, input values of a given input / output mapping (e.g., numerical values associated with data input 210) are input into the neural network, and output values of the input / output mapping (e.g., numerical values associated with target output 220) are stored in the output nodes of the neural network. Then, the connection weights in the neural network are adjusted according to a learning algorithm (e.g., backpropagation, etc.), and the procedure is repeated for other input / output mappings in data set T. After block 614, the machine learning model (e.g., machine learning model 190) can be at least one of the following: trained using training engine 182 of server machine 180, validated using validation engine 184 of server machine 180, or tested using test engine 186 of server machine 180. The trained machine learning model can be inverted and implemented by normalization component 132 (of normalization analysis server 130) to determine updates to manufacturing parameters to meet target data.

[0094] Figures 7A to 7B Charts 700A - B illustrate determining updates to manufacturing parameters to meet target data according to certain embodiments.

[0095] Figure 7A Chart 700A shows a high collinearity between properties Y2 and Y1. Client device 120 can receive film property data from measurement device 126 (e.g., metrology system 127) coupled to manufacturing device 124. Client device 120 can receive first film property data corresponding to a first property from a first portion of measurement device 126A, and second film property data corresponding to a second property from a second portion of measurement device 126B. In some embodiments, the first film property data and the second film property data can be different types of properties. In some embodiments, the first film property data and the second film property data are the same type of property measured at different locations on a semiconductor wafer (e.g., one measured on a first surface and the other measured on a second surface).

[0096] The client device 120 may plot the first property data and the second property data in the graph 700A. Each point on the graph 700A may correspond to a value of the first property (Y1) and a value of the second property (Y2) measured simultaneously on the same product (e.g., semiconductor wafer). As shown in the graph 700A, the film property data plotted for the first property and the second property may be correlated (e.g., linear, collinear, Y1 and Y2 may at least partially explain each other). The correlated film property data may substantially form a film property data line on the graph 700A. The correlated film property data may satisfy a threshold coefficient (R 2 or Rsq) (e.g., Rsq > 0.8). The correlated film property data may satisfy a threshold Spearman's rank correlation coefficient value. The Spearman's rank correlation coefficient may be a non-parametric measure of rank correlation (e.g., the statistical dependence between the ranks of the first property (Y1) and the second property (Y2)). The correlated film property data may satisfy a threshold P-value. The P-value may be the probability of a given statistical model (the line fit between Y1 and Y2), and when the null hypothesis is true, the statistical summary (e.g., no linear dependence between Y1 and Y2) will be greater than or equal to the actually observed result. In some embodiments, the target data 152 plotted for the first property (Y1) and the second property (Y2) may be substantially parallel to the film property data 150 plotted for Y1 and Y2.

[0097] The graph 700B of FIG. 7 shows orthogonal lines that pass through points that make up a set defined by a distance metric. As shown in the graph 700B of FIG. 7, a line orthogonal (e.g., perpendicular, orthogonal) to the line formed by plotting the target data 152 may intersect a set of points of the film property data. One or more first points in this set of points may be closer to the plot of the target data 152 than one or more second points in this set of points. One or more first points may correspond to a first manufacturing parameter, and one or more second points may correspond to a second manufacturing parameter different from the first manufacturing parameter. Feature extraction may be performed on a set of data points to determine one or more manufacturing parameters that make the first points of the set of points closer to the target data 152 than the second points. Updates 154 to one or more manufacturing parameters may be determined based on the feature extraction to cause the set of points to satisfy the target data 152.

[0098] In some embodiments, selecting a set of data points orthogonal to the target data 152 and performing feature extraction on this set of data points is performed by an inverted trained machine learning model. In some embodiments, selecting a set of data points orthogonal to the target data 152 and performing feature extraction on this set of data points is performed via a normative analysis (e.g., statistical model, clustering, etc.) that does not use a machine learning model.

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

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

[0101] The processing device 802 may be provided by one or more processors such as general - purpose processors (such as, for example, complex instruction set computing (CISC) microprocessors, reduced instruction set computing (RISC) microprocessors, very long instruction word (VLIW) microprocessors, microprocessors implementing other types of instruction sets, or microprocessors implementing a combination of multiple types of instruction sets) or special - purpose processors (such as, for example, application - specific integrated circuits (ASICs), field - programmable gate arrays (FPGAs), digital signal processors (DSPs), or network processors).

[0102] Computer system 800 may further include a network interface device 822. Computer system 800 may also include a video display unit 810 (e.g., LCD), an alphanumeric input device 812 (e.g., keyboard), a cursor control device 814 (e.g., mouse), and a signal generation device 820.

[0103] In some embodiments, data storage device 816 may include a non - transient computer - readable storage medium 824, on which instructions 826 encoding any one or more of the methods or functions described herein may be stored, including instructions for Figure 1 encoding a manufacturing parameter modification component 122 or a normative analysis component 132 and for implementing the methods described herein.

[0104] During execution of instructions by computer system 800, instruction 826 may also reside, in whole or in part, within volatile memory 804 and / or within processing device 802. As such, volatile memory 804 and processing device 802 may also constitute machine-readable storage media.

[0105] Although computer-readable medium 824 is shown as a single medium in the illustrative examples, 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) that store one or more sets of executable instructions. The term "computer-readable storage medium" shall also include any tangible medium that is capable of storing or encoding a set of instructions for execution by a computer and that cause 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 memory, optical media, and magnetic media.

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

[0107] Unless otherwise expressly stated, terms such as "receive", "determine", "select", "execute", "train", "generate", "provide", "invert", "acquire", "implement", "display", "optimize", "nonlinear optimize", etc., refer to actions and processes performed or implemented by a computer system that manipulates and transforms data represented as physical (electronic) quantities within the registers and memories of the computer system into other data similarly represented as physical quantities within the memories or registers or other such information storage, transmission, or display devices of the computer system. Additionally, as used herein, the terms "first", "second", "third", "fourth", etc. are intended as labels to distinguish different elements and may not have an ordinal meaning in accordance with their numerical names.

[0108] The examples described herein also relate to apparatuses for performing the methods described herein. Such apparatuses 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 tangible computer-readable storage medium.

[0109] The methods and illustrative examples described herein are not inherently related to any particular computer or other device. Various general-purpose systems can be used in accordance with the teachings described herein, or it may prove convenient to construct more specialized devices to perform each of the methods and / or their respective functions, routines, subroutines, or operations described herein. Examples of the structures of various such systems are set forth in the foregoing description.

[0110] The foregoing description is intended to be illustrative, not limiting. Although the present disclosure has been described with reference to specific illustrative examples and embodiments, it will be recognized that the present disclosure is not limited to the examples and embodiments described. The scope of the present disclosure should be determined with reference to the appended claims and the full scope of equivalents thereof that cover such claims.

Claims

1. A method, comprising: identifying target film property data; performing principal component analysis (PCA) based on orthogonal vectors based on the target film property data to obtain an output; and processing a substrate based on the output to satisfy the target film property data.

2. The method according to claim 1, wherein performing PCA based on the orthogonal vectors comprises: obtaining an inversion solution of a trained machine learning model based on the target film property data, the output being associated with the inversion solution, the trained machine learning model being trained based on data inputs of historical manufacturing parameters and target outputs of historical film property data.

3. The method according to claim 2, wherein: the historical manufacturing parameters are associated with processing a historical substrate; and the historical film property data is associated with the historical substrate processed based on the historical manufacturing parameters.

4. The method according to claim 1, wherein performing PCA based on the orthogonal vectors comprises: selecting data points associated with a first line that is substantially orthogonal to a second line associated with the target film property data, the data points being data points of film property data of a first substrate processed based on manufacturing parameters, the output being associated with the data points.

5. The method according to claim 1, wherein the processing of the substrate comprises: generating updated manufacturing parameters, wherein the substrate will be processed based on the updated manufacturing parameters to satisfy the target film property data.

6. The method according to claim 1, wherein the processing of the substrate comprises: causing a hardware modification, wherein the substrate will be processed after the hardware modification to satisfy the target film property data.

7. The method according to claim 1, wherein performing PCA based on the orthogonal vectors in response to determining that the film property data of a first substrate processed based on manufacturing parameters does not satisfy the film property data.

8. A non-transitory computer-readable medium having instructions stored thereon, which when executed by a processing device, cause the processing device to perform operations comprising: identifying target film property data; performing principal component analysis (PCA) based on orthogonal vectors based on the target film property data to obtain an output; and performing one or more corrective actions based on the output to cause a substrate to satisfy the target film property data.

9. The non-transitory computer-readable medium having instructions according to claim 8, wherein performing PCA based on the orthogonal vectors comprises: obtaining an inversion solution of a trained machine learning model based on the target film property data, the output being associated with the inversion solution, the trained machine learning model being trained based on data inputs of historical manufacturing parameters and target outputs of historical film property data.

10. The non-transitory computer-readable medium having instructions according to claim 9, wherein: the historical manufacturing parameters are associated with processing a historical substrate; and the historical film property data is associated with the historical substrate processed based on the historical manufacturing parameters.

11. The non-transitory computer-readable medium having instructions as recited in claim 8, wherein causing the PCA based on the orthogonal vectors to be performed comprises: selecting data points associated with a first line that is substantially orthogonal to a second line associated with target film property data, the data points being data points of film property data of a first substrate processed based on manufacturing parameters, and the output being associated with the data points.

12. The non-transitory computer-readable medium having instructions as recited in claim 8, wherein the processing of the substrate comprises: generating updated manufacturing parameters, wherein the substrate is to be processed based on the updated manufacturing parameters to meet the target film property data.

13. The non-transitory computer-readable medium having instructions as recited in claim 8, wherein the processing of the substrate comprises: causing a hardware modification, wherein the substrate is to be processed after the hardware modification to meet the target film property data.

14. The non-transitory computer-readable medium having instructions as recited in claim 8, wherein causing the PCA based on the orthogonal vectors in response to determining that the film property data of a first substrate processed based on manufacturing parameters does not meet the film property data.

15. A system, comprises: a memory; and a processing device coupled to the memory to: identify target film property data; cause a principal component analysis (PCA) based on orthogonal vectors to be performed based on the target film property data to obtain an output; and perform one or more corrective actions based on the output to cause a substrate to meet the target film property data.

16. The system as recited in claim 15, wherein in order to cause the PCA based on the orthogonal vectors to be performed, the processing device is configured to obtain an inversion solution of a trained machine learning model based on the target film property data, the output being associated with the inversion solution, and the trained machine learning model being trained based on data inputs of historical manufacturing parameters and target outputs of historical film property data.

17. The system as recited in claim 16, wherein: the historical manufacturing parameters are associated with processing historical substrates; and the historical film property data is associated with the historical substrates processed based on the historical manufacturing parameters.

18. The system as recited in claim 15, wherein in order to cause the PCA based on the orthogonal vectors to be performed, the processing device is configured to select data points associated with a first line that is substantially orthogonal to a second line associated with target film property data, the data points being data points of film property data of a first substrate processed based on manufacturing parameters, and the output being associated with the data points.

19. The system as recited in claim 15, wherein for the processing of the substrate, the processing device is configured to perform one or more of the following: generate updated manufacturing parameters, wherein the substrate is to be processed based on the updated manufacturing parameters to meet the target film property data; or cause a hardware modification, wherein the substrate is to be processed after the hardware modification to meet the target film property data.

20. The system according to claim 15, wherein in order to make the PCA based on the orthogonal vectors respond to determining that the film property data of the first substrate processed based on the manufacturing parameters does not satisfy the film property data.