Normative analysis in highly collinear response space
By using normative analysis in a highly collinear response space, the processing device automatically determines the update of manufacturing equipment parameters, solving the problem of administrators relying on professional knowledge and repeated trial and error, and achieving more efficient and accurate manufacturing parameter adjustments.
Patent Information
- Application Number
- CN202510234260.3
- 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
During the manufacturing process, determining the update of manufacturing equipment parameters to meet the target properties of the product can be time consuming and dependent on the expertise of the administrator, especially when dealing with complex semiconductor and display industries.
By using normative analysis in a highly collinear response space, the processing device receives membrane properties data related to the manufacturing equipment, determines orthogonal points of the data and the target data, performs feature extraction, and determines updates of manufacturing parameters based on this.
It reduces energy consumption, required bandwidth and processor management burden, and can more accurately adjust product properties data to meet target data, avoiding temporary trial and error relying on administrators.
Smart Images

Figure CN120068652A_ABST
Abstract
Description
This application is a divisional application of the patent application for invention titled "Canonical Analysis in a Highly Collinear Response Space" with the application date of December 11, 2019, and the application number "201980082795.6". Technical Field
[0001] This disclosure relates to canonical analysis, and more particularly, to canonical 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 is neither intended to identify key or important elements of the present disclosure nor to depict any scope of a particular embodiment of the present disclosure or any scope of the 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 are 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 are 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 data groups for a machine learning model in accordance with certain embodiments.
[0010] Figure 3 is a block diagram illustrating determining 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 determining 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 describes techniques related to 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, and the like. 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, and the like.
[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 the first property and the second axis is the 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 an update 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 an update to the manufacturing parameters to satisfy the target data can be output by the inverted machine learning model.
[0018] In some embodiments, the update to the manufacturing parameters can be displayed via a graphical user interface. In some embodiments, the update to the manufacturing parameters can be implemented to satisfy the target data.
[0019] Technical advantages of aspects of the present disclosure that result in significantly reduced energy consumption (e.g., battery consumption), required bandwidth, processor management burden, etc. In some embodiments, the technical advantages result from determining an update to the manufacturing parameters to satisfy the target data without performing ad-hoc trial and error using the administrator's domain expertise. Compared to ad-hoc trial and error that relies on the user's domain expertise, less energy, less bandwidth, and less processor management burden can be used to determine an update to the manufacturing parameters to satisfy the target data. The update to the manufacturing parameters determined via the present disclosure can result in a product having property data that is closer to the target data compared to conventional practices. Conventionally, an administrator may not be able to determine an update to the manufacturing parameters to satisfy the target data, which can result in a product not meeting specifications. The update to the manufacturing parameters determined by the embodiments described herein can result in a product 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 normative 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 of 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 with access to the normative 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 with access to the normative 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 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 key 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) the film property data 150 associated with the manufacturing parameters of the manufacturing equipment 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., the 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), spacing (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 so on.
[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. Server machines 170 and 180 can 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 (e.g., hard disks, memory databases), networks, software components, or hardware components.
[0032] Server machine 170 includes a data group generator 172 that is capable of generating data groups (e.g., 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 group generator 172 are described below with reference to Figure 2 and Figure 6 are described in detail. In some embodiments, the data group generator 172 may divide the historical or experimental data 142 into a training group (e.g., sixty percent of the historical or experimental data 142), a validation group (e.g., twenty percent of the historical or experimental data 142), and a test group (e.g., 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 group (e.g., the training group, the validation group, and the test group), and the second set of features may be a second set of manufacturing parameters corresponding to each data group (e.g., different from the first set of manufacturing parameters).
[0033] Server machine 180 includes a training engine 182, a validation engine 184, a selection engine, and a test engine 186. Engines (such as the training engine 182, the validation engine 184, the selection engine, and the test engine 186) can 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 group from the data group 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 group. For example, the first trained machine learning model may be trained using all features (e.g., X1 - X5), the second trained machine learning model may be trained using a first subset of features (e.g., 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 (e.g., X1, X3, X4, and X5).
[0034] The verification engine 184 may be able to use the corresponding feature groups of the verification groups from the data group generator 172 to verify the trained machine learning model 190. For example, the first group of features of the verification group may be used to verify the first trained machine learning model 190 trained using the first group of features of the training group. The verification engine 184 may determine the accuracy of each trained machine learning model 190 based on the corresponding feature groups of the verification groups. The verification engine 184 may discard the trained machine learning models 190 with accuracies that do 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 accuracies that meet 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 groups of the test groups from the data group generator 172 to test the trained machine learning model 190. For example, the first group of features of the test group may be used to test the first trained machine learning model 190 trained using the first group of features of the training group. 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 group.
[0036] The machine learning model 190 may refer to a model artifact created by the training engine 182 using the training group, where the training group includes data inputs and corresponding target outputs (the correct answers for each training input). Patterns in the data group may be found that map the data inputs to the target outputs (correct answers), and these patterns provide the mappings that the machine learning model 190 captures. The machine learning model 190 may 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 may be inverted (e.g., by the normalization analysis component 132, etc.). The normalization analysis component 132 may provide the target data 152 (e.g., target membrane property data) as an input to the inverted trained machine learning model 190, and may 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 an update 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 update 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 update 154 to the manufacturing parameters.
[0038] The confidence data may include or indicate a confidence level that a product produced using the update 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 the product meets the target data 152 and 1 indicates absolute confidence that the 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 an update 154 to the manufacturing parameters. In other embodiments, a heuristic model or a rule-based model is used to determine an update 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 "user" included in other embodiments of the present disclosure is an entity 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 the 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, a data set generator 272 generates data sets (e.g., training sets, validation sets, test sets), where a data set includes 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 set 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 set generator 272 may provide the data set to a training engine 182, a validation engine 184, or a test engine 186, where the data set is used to train, validate, or test a machine learning model 190. Some embodiments for generating a training set may be further described with respect to Figure 6 Further described are some embodiments for generating a training set.
[0047] In some embodiments, the data input 210 may include one or more sets of features 212A for historical or experimental fabrication parameters 246 (e.g., Figure 1 historical or experimental fabrication parameters 146). Each example of the historical or experimental fabrication 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 set generator 272 may generate a first data input corresponding to a first set of features 212A to train, validate, or test a first machine learning model, and the data set generator 272 may generate a second data input corresponding to a second set of features 212B to train, validate, or test a second machine learning model.
[0049] In some embodiments, the data set generator 272 may discretize one or more of the data inputs 210 or the target outputs 220 (e.g., for a classification algorithm in a regression problem). Discretization of the data inputs 210 or the target outputs 220 may convert continuous values of a variable into discrete values. In some embodiments, the discrete values of the data inputs 210 indicate discrete fabrication parameters to obtain the target output 220.
[0050] The data inputs 210 and the target outputs 220 for training, validating, or testing a machine learning model may include information for a specific facility (e.g., for a specific semiconductor fabrication facility). For example, the historical or experimental fabrication parameters 246 and the historical or experimental membrane property data 244 may be for the same fabrication facility as the membrane property data 150, the target data 152, the updates 154 to the fabrication parameters, and the tested membrane property data 156.
[0051] In some embodiments, the information for training a machine learning model can be from a specific type of manufacturing equipment 124 of 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 the 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 of manufacturing parameters (e.g., Figure 1 the update 154 of the manufacturing parameters) according to certain embodiments. The system 300 can be a feedback system for determining an update 354 of the manufacturing parameters based on historical or experimental data 342 (e.g., Figure 1 the historical or experimental data 142) to meet the target data 352 (e.g., Figure 1 the target data 152).
[0054] At block 310, the system 300 (e.g., Figure 1 the canonical 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 validation 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 100 runs are performed 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 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 1verification 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 one or more of the 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 at 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 refined training group that corresponds to a further refined 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 Flowcharts of example methods 400 - 600 associated with determining updates to manufacturing parameters (e.g., Figure 1 update 154 to manufacturing parameters) are shown in accordance with certain embodiments. Methods 400 - 600 may be executed by processing logic, which may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, processing devices, etc.), software (such as running on a processing device, a general - purpose computer system, or a dedicated machine), firmware, microcode, or a combination thereof. In one embodiment, methods 400 - 600 may be executed in part by the compliance analysis system 110. In some embodiments, methods 400 - 600 may be executed by the 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 the compliance analysis system 110), cause the processing device to execute 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 simultaneously and in conjunction with other acts not presented and described herein. Additionally, not all of the acts shown are required 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 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 the manufacturing device 124. In some embodiments, the client device 120 receives the film property data 150 from the measurement device 126 (such as the metrology system 127). In some embodiments, while the manufacturing device 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 device 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 various types of measurements via various 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 with 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 set of data points. 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 the 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 upgrade, processing cost, 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 to meet target data 152 using an inverse machine learning model according to certain embodiments.
[0074] Referring to 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 film properties 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 protocols 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 to the cost function similar to the machine learning model). The (inverse) trained machine learning model can select a set of data points of the film property data that are orthogonal to the target data, and can perform feature extraction on this set 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 being unable 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 for 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 for 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 for 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 the tested membrane property data associated with the updates 154 for 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 for 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 update 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 update 154 to the manufacturing parameters does not meet the target data 152), the processing logic can use the tested membrane property data 156 and the update 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 update 154 to the manufacturing parameters in the historical or experimental manufacturing parameters 146 to update the historical or experimental data 142). The processing logic can update the trained machine learning model based on the updated historical or experimental data (e.g., retraining, revalidating, and / or retesting).
[0086] Figure 6 is a flowchart of a method 600 for generating a data set for a machine learning model to determine an update to manufacturing parameters to meet target data. According to embodiments of the present disclosure, the normalization analysis system 110 can 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 can 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 can be used to illustrate aspects of Figure 6 .
[0087] Referring to Figure 6 , in some embodiments, at block 602, the processing logic implements the method 600 to initialize the training set T as 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) that includes 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 can include a first set of features for the historical or experimental manufacturing parameters, and the second data input can 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 can include an update 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 indicative of an input / output mapping. The input / output mapping (or mapping data) can refer to data inputs (e.g., one or more of the data inputs described herein), the target outputs of the data inputs (e.g., where the target output identifies membrane property data), and the association between the (multiple) data inputs and the target outputs.
[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 embodiments, 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, 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 may receive film property data from measurement device 126 (e.g., metrology system 127) coupled to manufacturing device 124. Client device 120 may 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 may 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 first property data and second property data in the graph 700A. Each point on the graph 700A may correspond to a value of a first property (Y1) and a value of a second property (Y2) measured simultaneously on the same product (e.g., a 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 make the set of points 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 canonical 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 illustrating a computer system 800 according to some embodiments. In some embodiments, the 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). The 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. The 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, the computer system 800 may include a processing device 802, volatile memory 804 (e.g., random access memory (RAM)), non-volatile memory 806 (e.g., read-only memory (ROM) or electronically 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 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 implementing other types of instruction sets, or a microprocessor implementing a combination of multiple types of instruction sets) or a dedicated 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)).
[0102] The computer system 800 may further include a network interface device 822. The computer system 800 may also include a video display unit 810 (e.g., an LCD), an alphanumeric input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), and a signal generation device 820.
[0103] In some implementations, the data storage device 816 may include a non-transitory 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 the manufacturing parameter modification component 122 or the normative analysis component 132 and for implementing the methods described herein.
[0104] During the 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. Thus, 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 causes 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.
[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 computer system registers and memory into other data similarly represented as physical quantities within the computer system memory or registers or other such information storage, transmission, or display devices. 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 an apparatus for performing the methods described herein. This apparatus may be specially constructed to perform the methods described herein or it 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 apparatus. Various general-purpose systems can be used in accordance with the teachings described herein, or it may prove convenient to construct more specialized apparatus to perform the methods and / or each of 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 restrictive. 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, as well as to the full scope of equivalents to which those claims are entitled.
Claims
1. A method, comprising: identifying first film property data of a first substrate produced by a manufacturing apparatus based on manufacturing parameters; selecting, by a processing device, a set of data points of the first film property data associated with a first line, the first line being substantially orthogonal to a second line associated with target film property data; determining updated manufacturing parameters based on the set of data points, wherein a second substrate is to be produced by the manufacturing apparatus based on the updated manufacturing parameters.
2. The method according to claim 1, wherein: the first film property data includes a first film property value of a first film property type and a second film property value of a second film property type, the second film property type being different from the first film property type; and the first film property data is substantially disposed along a third line plotted on a graph having a first axis corresponding to the first film property type and a second axis corresponding to the second film property type.
3. The method according to claim 2, wherein: the set of data points is disposed along the first line plotted on the graph; the target film property data is substantially disposed along the second line plotted on the graph; and the first line is substantially orthogonal to the second line on the graph.
4. The method according to claim 2, wherein the target film property data includes a first target film property value of the first film property type and a second target film property value of the second film property type.
5. The method according to claim 4, further comprising: determining that the first film property value and the second film property value are substantially related along the third line different from the second line, and the first target film property value and the second target film property value are substantially related along the second line.
6. The method according to claim 1, further comprising: providing the target property data to a trained machine learning model, the trained machine learning model being trained using input data including historical manufacturing parameters associated with production of historical substrates and target outputs including historical film property data of the historical substrates, wherein the selection of the set of data points is performed via the trained machine learning model; and obtaining an inversion solution including one or more outputs from the trained machine learning model, wherein the determination of the updated manufacturing parameters includes extracting the updated manufacturing parameters from the one or more outputs.
7. The method according to claim 1, further comprising: performing feature extraction on the set of data points, wherein the determination of the updated manufacturing parameters is further based on the feature extraction, and wherein the performing of the feature extraction is performed via one or more of principal component analysis (PCA), clustering, factor analysis (FA), discriminant analysis, or a correlation matrix.
8. A system, comprising: a memory; and a processing device coupled to the memory to: identify first film property data of a first substrate produced by a manufacturing apparatus based on manufacturing parameters; Select a set of data points of the first film property data associated with a first line, the first line being substantially orthogonal to a second line associated with target film property data; Determine updated manufacturing parameters based on the set of data points, wherein a second substrate will be produced by the manufacturing equipment based on the updated manufacturing parameters.
9. The system of claim 8, wherein: The first film property data includes a first film property value of a first film property type and a second film property value of a second film property type, the second film property type being different from the first film property type; and The first film property data is substantially arranged along a third line, the third line being plotted on a graph having a first axis corresponding to the first film property type and a second axis corresponding to the second film property type.
10. The system of claim 9, wherein: The set of data points is arranged along the first line plotted on the graph; The target film property data is substantially arranged along the second line plotted on the graph; and On the graph, the first line is substantially orthogonal to the second line.
11. The system of claim 9, wherein the target film property data includes a first target film property value of the first film property type and a second target film property value of the second film property type.
12. The system of claim 11, wherein the processing device is further configured to determine that the first film property value and the second film property value are substantially related along a third line different from the second line, and the first target film property value and the second target film property value are substantially related along the second line.
13. The system of claim 8, wherein the processing device is further configured to: Provide the target property data to a trained machine learning model, the trained machine learning model being trained using input data including historical manufacturing parameters associated with a production history substrate and a target output including historical film property data of the historical substrate, wherein the processing device is configured to select the set of data points via the trained machine learning model; and Obtain an inversion solution including one or more outputs from the trained machine learning model, wherein, in order to determine the updated manufacturing parameters, the processing device is configured to extract the updated manufacturing parameters from the one or more outputs.
14. The system of claim 8, further comprising: Perform feature extraction on the set of data points, wherein the determination of the updated manufacturing parameters is further based on the feature extraction, and wherein the execution of the feature extraction is performed via one or more of principal component analysis (PCA), clustering, factor analysis (FA), discriminant analysis, or a correlation matrix.
15. A non-transitory computer-readable medium having instructions stored thereon, which, when executed by a processing device, cause the processing device to: Identify first film property data of a first substrate produced by a manufacturing equipment based on manufacturing parameters; Select a set of data points of the first film property data associated with a first line, the first line being substantially orthogonal to a second line associated with target film property data; Determine updated manufacturing parameters based on the set of data points, wherein a second substrate will be produced by the manufacturing equipment based on the updated manufacturing parameters.
16. The non-transitory computer-readable medium according to claim 15, wherein: The first film property data includes a first film property value of a first film property type and a second film property value of a second film property type, the second film property type being different from the first film property type; and The first film property data is substantially arranged along a third line plotted on a graph having a first axis corresponding to the first film property type and a second axis corresponding to the second film property type.
17. The non-transitory computer-readable medium according to claim 16, wherein: The set of data points is arranged along the first line plotted on the graph; The target film property data is substantially arranged along the second line plotted on the graph; and The first line is substantially orthogonal to the second line on the graph.
18. The non-transitory computer-readable medium according to claim 16, wherein the target film property data includes a first target film property value of the first film property type and a second target film property value of the second film property type.
19. The non-transitory computer-readable medium according to claim 18, wherein the processing device is further configured to determine that the first film property value and the second film property value are substantially related along a third line different from the second line, and the first target film property value and the second target film property value are substantially related along the second line.
20. The non-transitory computer-readable medium according to claim 15, wherein the processing device is further configured to: Provide the target property data to a trained machine learning model, the trained machine learning model being trained using input data including historical manufacturing parameters associated with a production history substrate and a target output including historical film property data of the historical substrate, wherein the processing device is configured to select the set of data points via the trained machine learning model; and Obtain an inversion solution including one or more outputs from the trained machine learning model, wherein, to determine the updated manufacturing parameters, the processing device is configured to extract the updated manufacturing parameters from the one or more outputs.