Performance prediction method and device for memory, electronic equipment and storage medium

By combining multiple prediction models, a vector is generated using the process parameter set of the memory, and linear regression, random forest regression, and gradient boosting regression tree models are used to predict memory performance. This solves the problem of long Monte Carlo simulation time and achieves efficient performance prediction.

CN119358217BActive Publication Date: 2025-11-18SUZHOU KUANWEN ELECTRONICS SCI & TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411358898.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2025-11-18
Estimated Expiration
2044-09-27

AI Technical Summary

Technical Problem

Existing Monte Carlo simulations of memory performance are too time-consuming and difficult to perform efficient memory performance simulations.

Method used

A multi-prediction model combination method is adopted. By obtaining the process parameter set of the memory to generate vectors, linear regression, random forest regression and gradient boosting regression tree models are used for performance prediction. Combined with Gaussian process model for combined prediction, the amount of data is reduced and the prediction efficiency is improved.

Benefits of technology

It significantly improves the efficiency of memory performance prediction, saves time, and eliminates the need for transistor-level simulation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119358217B_ABST
    Figure CN119358217B_ABST
Patent Text Reader

Abstract

The application provides a performance prediction method and device for a memory, electronic equipment and a storage medium, the method comprising: generating a first vector by taking at least part of process parameters in a process parameter set as vector elements; inputting the first vector into a first prediction model to obtain a first prediction value of a performance index of the memory; deleting, according to an input variable with a zero coefficient in the first prediction model, a vector element in the first vector as the input variable to obtain a second vector; inputting the second vector into a second prediction model to obtain a second prediction value of the performance index, and inputting the second vector into a third prediction model to obtain a third prediction value of the performance index; the fitting variance of the second prediction model is smaller than that of the third prediction model, and the fitting deviation of the third prediction model is smaller than that of the second prediction model; inputting the first prediction value, the second prediction value and the third prediction value into a combined prediction model to obtain a fourth prediction value of the performance index, the fourth prediction value being used to indicate the value of the performance index.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of performance prediction technology for electronic devices, and more particularly to a method, apparatus, electronic device, and storage medium for predicting the performance of a memory. Background Technology

[0002] With advancements in integrated circuit technology, the area of ​​memory cells is shrinking, while the amount of memory integrated on a single chip is increasing, making it increasingly difficult to improve yield. To design highly reliable memories, it is necessary to simulate memory performance. Current technology typically uses Monte Carlo (MC) simulation to model memory performance; however, since memories consist of millions of transistor circuits, and Monte Carlo simulation requires transistor-level simulation, the simulation calculations for memory performance using Monte Carlo simulation are very time-consuming. Summary of the Invention

[0003] In view of the above, embodiments of this application provide a method, apparatus, electronic device, and storage medium for predicting the performance of a memory, in order to at least partially solve the above-mentioned problems.

[0004] According to a first aspect of the embodiments of this application, a method for predicting the performance of a memory is provided, comprising: acquiring a set of process parameters of the memory; generating a first vector by using at least a portion of the process parameters in the set of process parameters as vector elements of a first vector; wherein the process parameters in the set of process parameters include at least one of the following: the threshold voltage of a MOS transistor included in the memory and the electron mobility of the MOS transistor included in the memory; inputting the first vector into a first prediction model to obtain a first predicted value of the performance index of the memory output by the first prediction model; and inputting the first vector as the input variable of the first prediction model based on the input variable with a coefficient of zero in the first prediction model. The vector elements of the prediction model are deleted to obtain a second vector; the second vector is input into a second prediction model to obtain a second predicted value of the performance index output by the second prediction model, and the second vector is input into a third prediction model to obtain a third predicted value of the performance index output by the third prediction model; wherein the fitting variance of the second prediction model is smaller than that of the third prediction model, and the fitting bias of the third prediction model is smaller than that of the second prediction model; the first predicted value, the second predicted value, and the third predicted value are input into a combined prediction model to obtain a fourth predicted value of the performance index output by the combined prediction model, and the fourth predicted value is used to indicate the value of the performance index.

[0005] In one possible implementation, generating a first vector by using at least a portion of the process parameters in the process parameter set as vector elements of a first vector includes: sampling the process parameters in the process parameter set multiple times, using the sampled process parameters as vector elements of the first vector to generate multiple first vectors; the method further includes: determining the yield prediction value of the memory based on the fourth prediction value corresponding to each first vector.

[0006] In one possible implementation, determining the yield of the memory based on the fourth predicted value corresponding to each of the first vectors includes:

[0007] Input the fourth predicted value corresponding to each of the first vectors into the yield prediction model to obtain the yield prediction value output by the yield prediction model;

[0008] The yield prediction model is as follows:

[0009]

[0010] in,

[0011]

[0012] N is used to indicate the number of the first vector, x i Meta(x) is used to indicate the i-th first vector. i ) is used to indicate the output of the combined prediction model and the first vector x of the i-th generation. i The corresponding fourth predicted value, Y, is used to indicate the predicted value range for the performance index to be met.

[0013] In one possible implementation, the first prediction model is a linear regression model, the second prediction model is a random forest regression model, and the third prediction model is a gradient boosting regression tree model.

[0014] In one possible implementation, the method further includes a training method for the first prediction model, the second prediction model, and the third prediction model; the training method for the first prediction model, the second prediction model, and the third prediction model includes: uniformly sampling the process parameters in the process parameter set to generate multiple first parameter vectors; performing circuit simulation based on each first parameter vector to obtain a first simulation value of the performance index corresponding to each first parameter vector; establishing a first training set based on the first parameter vectors and the first simulation values ​​corresponding to the first parameter vectors; training an initial model of the first prediction model based on the first training set to obtain the first prediction model; deleting vector elements in the first parameter vectors that are input to the first prediction model as input variables based on input variables with zero coefficients in the first prediction model to obtain a second parameter vector and a second training set including the second parameter vector and the first simulation values; and training the initial model of the second prediction model and the initial model of the third prediction model based on the second training set to obtain the second prediction model and the third prediction model.

[0015] In one possible implementation, training the initial model of the second prediction model and the initial model of the third prediction model based on the second training set includes: obtaining a third training set by sampling the second training set with replacement to extract the second parameter vector and the corresponding first simulation value from the second training set; training the initial model of the second prediction model based on the third training set; and / or, obtaining a fourth training set by sampling the second training set with weighted sampling to extract the second parameter vector and the corresponding first simulation value from the second training set; and training the initial model of the third prediction model based on the fourth training set.

[0016] In one possible implementation, the method further includes a training method for the combined prediction model; the training method for the combined prediction model includes: performing Monte Carlo simulation on the process parameters to obtain multiple third parameter vectors and second simulation values ​​corresponding to each third parameter vector; establishing a fifth training set based on the third parameter vectors and the second simulation values ​​corresponding to the third parameter vectors; inputting the third parameter vectors included in the fifth training set into the first prediction model to obtain first predicted sample values ​​corresponding to each third parameter vector; deleting vector elements in the third parameter vectors that are input into the first prediction model as input variables with zero coefficients, to obtain sub-vectors of the third parameter vectors; inputting the sub-vectors of the third parameter vectors into the second prediction model and the third prediction model respectively to obtain second predicted sample values ​​and third predicted sample values ​​corresponding to each third parameter vector; establishing a sixth training set based on the second simulation values, first predicted sample values, second predicted sample values, and third predicted sample values ​​corresponding to each third parameter vector; and training the initial model of the combined prediction model based on the sixth training set to obtain the combined prediction model.

[0017] According to a second aspect of the embodiments of this application, a performance prediction apparatus for a memory is provided, comprising: a vector generation module, configured to acquire a set of process parameters of the memory, and generate a first vector using at least a portion of the process parameters in the set as vector elements of a first vector; wherein the process parameters in the set include at least one of the following: the threshold voltage of a MOS transistor included in the memory and the electron mobility of the MOS transistor included in the memory; a first prediction module, configured to input the first vector into a first prediction model to obtain a first predicted value of the performance index of the memory output by the first prediction model; and an intermediate processing module, configured to take the first vector as an input variable based on an input variable with a coefficient of zero in the first prediction model. The first prediction model's vector elements are deleted to obtain a second vector; the second prediction module inputs the second vector into the second prediction model to obtain a second predicted value of the performance index output by the second prediction model, and inputs the second vector into the third prediction model to obtain a third predicted value of the performance index output by the third prediction model; wherein, the fitting variance of the second prediction model is less than that of the third prediction model, and the fitting bias of the third prediction model is less than that of the second prediction model; the combined prediction module is used to input the first predicted value, the second predicted value, and the third predicted value into the combined prediction model to obtain a fourth predicted value of the performance index output by the combined prediction model, the fourth predicted value being used to indicate the value of the performance index.

[0018] According to a third aspect of the present application, an electronic device is provided, including: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other through the communication bus; the memory is used to store at least one executable instruction, which causes the processor to perform an operation corresponding to the memory performance prediction method provided in any of the above method embodiments.

[0019] According to a fourth aspect of the embodiments of this application, a computer storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the performance prediction method for a memory as provided in any of the above method embodiments.

[0020] In this embodiment, a set of process parameters for the memory can be obtained. At least a portion of the process parameters in the set are used as vector elements to generate a first vector. The first vector is input into a first prediction model to obtain a first predicted value of the memory's performance index output by the first prediction model. Based on input variables with zero coefficients in the first prediction model, vector elements in the first vector that were input as input variables are deleted to obtain a second vector, thereby effectively reducing the amount of data involved in subsequent calculations. The second vector is input into a second prediction model to obtain a second predicted value of the performance index output by the second prediction model, and the second vector is input into a third prediction model to obtain a third predicted value of the performance index output by the third prediction model. After inputting the first, second, and third predicted values ​​into a combined prediction model, a fourth predicted value of the performance index can be determined through the combined prediction model. This embodiment can obtain a fourth predicted value of the memory's performance index by using a simple model operation at the overall memory level, based on a first vector generated from the memory's process parameters, employing the first, second, and third prediction models and the combined prediction model, without requiring transistor-level simulation. This significantly improves the efficiency of memory performance prediction and saves time consumed in memory performance prediction. Attached Figure Description

[0021] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings.

[0022] Figure 1 This is a flowchart of the steps of a performance prediction method for memory provided in an optional embodiment of this application;

[0023] Figure 2This is a flowchart of the steps of a training method provided in an optional embodiment of this application;

[0024] Figure 3 This is a flowchart of another training method provided in an optional embodiment of this application;

[0025] Figure 4 This is a structural block diagram of a memory performance prediction device provided in an optional embodiment of this application;

[0026] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0027] To enable those skilled in the art to better understand the technical solutions in the embodiments of this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art should fall within the protection scope of the embodiments of this application.

[0028] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items.

[0029] It should be understood that although the terms first, second, third, etc., may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."

[0030] A first aspect of this application provides a method for predicting the performance of a memory to solve the above-mentioned problems. The method for predicting the performance of a memory provided by this application will now be described in detail with reference to the accompanying drawings.

[0031] like Figure 1 As shown, the performance prediction method for memory provided in this application includes:

[0032] S110. Obtain the process parameter set of the memory, and generate a first vector using at least some of the process parameters in the process parameter set as vector elements of a first vector; wherein the process parameters in the process parameter set include at least one of the following: the threshold voltage of the MOS transistor included in the memory and the electron mobility of the MOS transistor included in the memory.

[0033] The process parameters are the process parameters of the circuit units that constitute the memory. The memory that applies the method of the embodiments of this application can be SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory), etc., which can store data based on circuit units composed of MOS transistors (Metal-Oxide-Semiconductor Field-Effect Transistors, also known as MOSFETs).

[0034] As a feasible implementation, process parameters can include the threshold voltages of the individual MOSFETs constituting the memory circuit cells, as well as parameters such as electron mobility. It should be understood that the threshold voltage of a MOSFET is the minimum gate-source voltage required for the MOSFET to transition from the off state (i.e., the channel is not conductive) to the on state (i.e., the channel begins to conduct electricity). Electron mobility is a physical quantity describing the speed at which electrons move within a MOSFET under the influence of an electric field; the higher the electron mobility, the better the MOSFET's current conduction performance. The threshold voltages and electron mobility of the MOSFETs in a memory can affect the memory's performance; therefore, based on these process parameters, the memory's performance indicators can be predicted.

[0035] A process parameter set is a collection of known process parameters that can be obtained from relevant process documents. The number of process parameters in a memory system can be on the order of tens of thousands or hundreds of thousands, and these parameters can form a high-dimensional process parameter vector.

[0036] The process parameter set of the memory can be pre-stored in a specific storage device so that the process parameter set of the memory can be directly obtained from that storage device.

[0037] S120. Input the first vector into the first prediction model to obtain the first predicted value of the memory performance index output by the first prediction model.

[0038] "Performance index" refers to an indicator of memory performance. In this application embodiment, the performance index can be the memory access latency, etc. The memory performance indicated by the access latency is the memory's response speed to access. The first prediction model is a model that can predict the performance index based on m process parameters, where m is a positive integer, and the number of vector elements in the first vector is m.

[0039] The first vector can be a 1×m or m×1 dimensional vector. For example, m can be 400, 600, 800, 1000, or 2000, etc., and can be set as needed. Depending on the size of m, samples can be taken from the acquired memory process parameter set. After collecting m process parameters, the sampled process parameters are used as vector elements in the vector to generate the first vector.

[0040] The first predicted value and the subsequent second, third, and fourth predicted values ​​are all predictions of the same performance metric. Optionally, the first predicted value and the subsequent second, third, and fourth predicted values ​​can be predictions of memory access latency.

[0041] S130. Based on the input variable with a coefficient of zero in the first prediction model, delete the vector element in the first vector that was used as the input variable in the first prediction model to obtain the second vector.

[0042] When the first vector is input into the first prediction model, its elements are used as input variables. If the coefficient of an input variable in the first prediction model is 0, it indicates that the corresponding element in the first vector has little correlation with memory performance, or that the element is unrelated to memory performance. There can be at least one input variable with a coefficient of zero in the first prediction model.

[0043] As a feasible implementation, during the training of the first prediction model, the objective function of the first prediction model can be constructed based on the L1 penalty term (L1-norm). This allows for the selection of variables in the first prediction model based on the L1 penalty term, resetting the coefficients / weights of input variables with low correlation to memory performance to 0. This enables the first prediction model to filter / remove elements in the first vector that are low in correlation with or unrelated to memory performance. Specific implementation methods for training the model based on the L1 penalty term can be found in relevant technologies and will not be elaborated upon here.

[0044] In this embodiment of the application, the elements in the first vector can be filtered by the first prediction model to obtain a second vector with reduced data volume, thereby reducing the computational load of subsequent operations based on the second vector.

[0045] S140. Input the second vector into the second prediction model to obtain the second predicted value of the performance index output by the second prediction model, and input the second vector into the third prediction model to obtain the third predicted value of the performance index output by the third prediction model; wherein, the fitting variance of the second prediction model is less than that of the third prediction model, and the fitting deviation of the third prediction model is less than that of the second prediction model.

[0046] The second and third prediction models can predict performance indicators based on n process parameters, where n is a positive integer less than m, and the number of vector elements in the second vector is n.

[0047] Since the vector elements in the second vector are still elements in the first vector, the second and third predicted values ​​can be obtained by using the second vector, which allows for the reuse of vector elements in the first vector, thereby maximizing the extraction of the information carried by the vector elements.

[0048] It should be understood that the fitting variance and fitting bias of the second and third prediction models are the variance and bias of the second and third prediction models relative to the data in the training set used in their respective training processes.

[0049] In the training process of the second and third prediction models, the fitting variance and fitting deviation of the second and third prediction models can be calculated. The fitting variance of the second prediction model is set to be less than that of the third prediction model, and the fitting deviation of the third prediction model is set to be less than that of the second prediction model, so that the fitting variance of the second prediction model is less than that of the third prediction model, and the fitting deviation of the third prediction model is less than that of the second prediction model.

[0050] In some alternative embodiments, the first prediction model may preferably be a linear regression model, the second prediction model may preferably be a random forest regression model, and the third prediction model may preferably be a gradient boosting regression tree model.

[0051] When the first prediction model is a linear regression model, during the training process of the first prediction model, an initial model can be constructed using the linear regression model, and an objective function can be constructed based on the L1 penalty term to obtain the corresponding first prediction model.

[0052] When the second prediction model is a random forest regression model, a bagging strategy can be used during the training process to reduce the variance of the second prediction model's fit to the training samples. When the third prediction model is a gradient boosting regression tree model, a boosting strategy can be used during the training process to reduce the bias of the third prediction model's fit to the training samples.

[0053] In this embodiment, the first prediction model is a linear regression model, the second prediction model is a random forest regression model, and the third prediction model is a gradient boosting regression tree model. The linear regression model allows the first prediction model to better fit the overall trend of its training samples; the random forest regression model reduces the variance of the second prediction model's fit to its training samples; and the gradient boosting regression tree model reduces the bias of the third prediction model's fit to its training samples.

[0054] This allows the first, second, and third prediction models to reduce the performance prediction error from different aspects, which is beneficial for reducing the error of the final fourth prediction value.

[0055] S150. Input the first predicted value, the second predicted value and the third predicted value into the combined prediction model to obtain the fourth predicted value of the performance index output by the combined prediction model. The fourth predicted value is used to indicate the value of the performance index.

[0056] The preferred combined prediction model is a Gaussian process model, which allows the fourth predicted value to be determined based on the first, second, and third predicted values. Of course, other suitable prediction models, such as neural network models, can also be used, as long as the prediction accuracy of the fourth predicted value can be guaranteed.

[0057] By inputting the first, second, and third predicted values ​​into the combined prediction model, the combined prediction model combines the first, second, and third predicted values ​​in a better combination manner to obtain a fourth predicted value of the memory performance index. This integrates the advantages of the first, second, and third prediction models, improving the accuracy of the fourth predicted value from multiple aspects, so that the fourth predicted value can more accurately indicate the memory performance.

[0058] In this embodiment, a set of process parameters for the memory can be obtained. At least a portion of the process parameters in the set are used as vector elements to generate a first vector. The first vector is input into a first prediction model to obtain a first predicted value of the memory's performance index output by the first prediction model. Based on input variables with zero coefficients in the first prediction model, vector elements in the first vector that were input as input variables are deleted to obtain a second vector, thereby effectively reducing the amount of data involved in subsequent calculations. The second vector is input into a second prediction model to obtain a second predicted value of the performance index output by the second prediction model, and the second vector is input into a third prediction model to obtain a third predicted value of the performance index output by the third prediction model. After inputting the first, second, and third predicted values ​​into a combined prediction model, a fourth predicted value of the performance index can be determined through the combined prediction model. This embodiment can obtain a fourth predicted value of the memory's performance index by using a simple model operation at the overall memory level, based on a first vector generated from the memory's process parameters, employing the first, second, and third prediction models and the combined prediction model, without requiring transistor-level simulation. This significantly improves the efficiency of memory performance prediction and saves time consumed in memory performance prediction.

[0059] In some optional embodiments, generating a first vector using at least a portion of the process parameters in the process parameter set as vector elements of a first vector includes: sampling the process parameters in the process parameter set multiple times, using the sampled process parameters as vector elements of the first vector to generate multiple first vectors. Then, through steps S120-S150, a fourth predicted value corresponding to each first vector can be determined.

[0060] The method provided in this application embodiment may further include: determining the memory yield prediction value based on the fourth prediction value corresponding to each first vector.

[0061] Since the fourth predicted value can indicate the value of the performance metric, the embodiments of this application can determine whether the performance metric of the memory meets the standard based on the fourth predicted value, and thus determine the yield of the memory based on whether the performance metric meets the standard. It should be noted that the method provided in the embodiments of this application can be applied to the verification stage after the memory design is completed.

[0062] In this embodiment, process parameters in the process parameter set can be sampled multiple times to generate multiple first vectors. Based on the fourth prediction value corresponding to each first vector, the predicted yield value of the memory is determined. The method provided in this embodiment allows for the prediction of the performance indicators and yield of the designed memory during the verification stage after the memory design is completed. By comparing the predicted yield value with the target yield value, it can be determined whether the designed memory meets the target, which is beneficial for identifying design defects in the memory.

[0063] In some optional embodiments, the yield of the memory is determined based on the fourth predicted value corresponding to each first vector, including:

[0064] Input the fourth predicted value corresponding to each first vector into the yield prediction model to obtain the yield prediction value output by the yield prediction model.

[0065] The yield prediction model is as follows:

[0066]

[0067] in,

[0068]

[0069] N is used to indicate the number of the first vector, x i Meta(x) is used to indicate the i-th first vector. i ) is used to indicate the output of the combined prediction model and the first vector x of the i-th generation. i The corresponding fourth predicted value, Y, is used to indicate the predicted range for when the performance metric is met. When the performance metric is the memory access latency, the predicted range for when the performance metric is met can be [0ns, 1ns). It should be understood that if the fourth predicted value falls within the predicted range for when the performance is met, it indicates that the memory performance is up to standard; conversely, if the fourth predicted value does not fall within the predicted range for when the performance is met, it indicates that the memory performance is not up to standard.

[0070] In this embodiment, the fourth predicted value corresponding to each first vector can be input into the yield prediction model. By performing a fixed calculation process through the yield prediction model, the yield prediction value output by the yield prediction model can be obtained. The process is simple and convenient, without the need for complex simulation calculations, which can effectively improve the efficiency of predicting memory yield and reduce the time consumed in predicting memory yield.

[0071] In some optional embodiments, the method provided in this application may further include training methods for a first prediction model, a second prediction model, and a third prediction model, such as... Figure 2 As shown, the training method may include:

[0072] S210. By uniformly sampling the process parameters in the process parameter set, multiple first parameter vectors are generated. Circuit simulation is performed based on each first parameter vector to obtain the first simulation value of the performance index corresponding to each first parameter vector. A first training set is established based on the first parameter vector and the first simulation value corresponding to the first parameter vector.

[0073] It should be understood that the dimension of the first parameter vector is the same as that of the first vector above. In this embodiment, the first parameter vector can be generated by uniformly sampling the process parameters in the process parameter set. Of course, when generating the first vector, the vector elements of the first vector can also be collected from the process parameters in the process parameter set using uniform sampling. Using uniform sampling can cover the entire fluctuation space of the process parameters, ensuring that sufficient parameters can be collected near the failure domain of the process parameters to train the model.

[0074] Circuit simulation allows us to simulate the performance of circuit cells in a memory during use, thereby obtaining simulated performance values ​​for the memory. The first simulated value is the performance value obtained based on a first parameter vector. It should be understood that simulating a circuit based on a single first parameter vector yields a single first simulated value. Simulating the circuit based on each first parameter vector separately yields multiple first simulated values, with each first parameter vector corresponding to a first simulated value generated from it. When performing circuit simulation, appropriate simulation programs can be used based on each first parameter vector. For example, SPICE (Simulation program with integrated circuit emphasis) can be used. Specific simulation procedures can be found in relevant technical documents and will not be elaborated upon here.

[0075] Each training sample in the first training set may include a first parameter vector and a first simulated value corresponding to the first parameter vector, wherein the vector elements in the first parameter vector serve as input variables of the first prediction model, and the first simulated value corresponding to the first parameter vector serves as output variables of the first prediction model.

[0076] S220. Train the initial model of the first prediction model based on the first training set to obtain the first prediction model. According to the input variable with zero coefficient in the first prediction model, delete the vector element in the first parameter vector that is used as the input variable to the first prediction model to obtain the second parameter vector and the second training set including the second parameter vector and the first simulation value.

[0077] The second parameter vector is obtained by deleting some vector elements from the first parameter vector, so the first simulation value corresponding to the first parameter vector also corresponds to the second parameter vector obtained based on the first parameter vector.

[0078] As a feasible implementation, the initial model of the first prediction model can be a linear regression model G. linear (x′), and,

[0079]

[0080] Among them, G linear (x′) is used to indicate the output variable of the model; x′ is used to indicate the input G. linear The vector consisting of the input variables (x′) can be the first parameter vector in the first training set. It should be understood that the first parameter vector has the same dimension as the first vector. The first parameter vector can be represented as x′=[x′1,x′2,…,x′ m ];;x′ l Used to indicate the l-th vector element in x′, 1≤l≤m; a l For x′ l The coefficients, b is the intercept coefficient, a l Both b and are coefficients to be determined.

[0081] The objective function used during the training of the first prediction model can be:

[0082]

[0083] Q(Ω) is used to indicate the value of the objective function. It can be considered that when Q(Ω) is minimized, the first prediction model training is complete; Ω is used to indicate the value of G. linear The coefficient a in the expression (x′) l The coefficient vector is composed of M, which indicates the number of first parameter vectors in the first training set used to train the first prediction model; Y is the first simulated value corresponding to the first input parameter vector x′; λ‖Ω‖1 is the L1 penalty term, 0≤λ≤1. The larger the value of λ, the more coefficients that are 0 in the first prediction model. The value of λ can be set as needed.

[0084] S230. Train the initial models of the second prediction model and the third prediction model based on the second training set to obtain the second prediction model and the third prediction model.

[0085] After obtaining the second training set, the initial models of the second and third prediction models can be trained based on the second training set. Specifically, the elements of the second parameter vector in the second training set can be used as the input variables of the initial model of the second prediction model, and the first simulated value corresponding to the second parameter vector can be used as the output variable corresponding to the input variable to train the initial model of the second prediction model. Similarly, the elements of the second parameter vector in the second training set can be used as the input variables of the initial model of the third prediction model, and the first simulated value corresponding to the second parameter vector can be used as the output variable corresponding to the input variable to train the initial model of the third prediction model.

[0086] The initial model of the first prediction model can be preset based on the number of elements in the first parameter vector and the model type of the first prediction model. The initial models of the second and third prediction models can be preset based on the number of elements in the second parameter vector and the model types of the first and second prediction models, respectively. The specific setting process for each initial model can be found in relevant technologies and will not be elaborated here.

[0087] In this embodiment, the training method for the first prediction model, the second prediction model, and the third prediction model may include: uniformly sampling the process parameters in the process parameter set to generate multiple first parameter vectors; performing circuit simulation based on each first parameter vector to obtain the first simulated value of the performance index corresponding to each first parameter vector; thereby, the vector elements of the first parameter vector can be used as input variables, and the corresponding first simulated values ​​can be used as output variables to establish a complete training set, i.e., the first training set. Furthermore, after obtaining the first prediction model, the vector elements in the first parameter vector that are input to the first prediction model based on the input variables with coefficients of zero can be deleted to obtain the second parameter vector and the second training set including the second parameter vector and the first simulated values. This effectively reduces the amount of data in the second training set, thereby improving the efficiency of model training during the training of the initial models of the second and third prediction models using the second training set.

[0088] In some optional embodiments, training the initial model of the second prediction model and the initial model of the third prediction model based on the second training set includes:

[0089] By sampling the second training set with replacement, the second parameter vector and the corresponding first simulation value are extracted from the second training set to obtain the third training set; the initial model of the second prediction model is trained based on the third training set.

[0090] And / or, by performing weighted sampling (also known as weighted random sampling) on ​​the second training set, the second parameter vector and the corresponding first simulation value are extracted from the second training set to obtain the fourth training set; the initial model of the third prediction model is trained based on the fourth training set.

[0091] The corresponding first simulation value is the first simulation value corresponding to the second parameter vector, that is, the first simulation value corresponding to the first parameter vector obtained after deleting vector elements.

[0092] The processes of sampling with replacement and weighted sampling can be referred to relevant technologies and will not be elaborated here. It should be noted that the embodiments of this application do not limit the sampling method. In addition to sampling with replacement and weighted sampling, other sampling methods can also be used to extract multiple second parameter vectors and the corresponding first simulation values ​​from the second training set, so as to construct a third training set or a fourth training set using the extracted second parameter vectors and the first simulation values.

[0093] In this embodiment, by sampling the second training set with replacement, multiple second parameter vectors and corresponding first simulated values ​​can be extracted from the second training set. Based on the extracted second parameter vectors and corresponding first simulated values, a third training set can be constructed, and the initial model of the second prediction model can be trained using the third training set. Furthermore, by weighted sampling the second training set, multiple second parameter vectors and corresponding first simulated values ​​can be extracted from the second training set. Based on the extracted second parameter vectors and corresponding first simulated values, a fourth training set can be constructed, and the initial model of the third prediction model can be trained using the fourth training set. This embodiment can construct the third and fourth training sets in different ways, allowing the initial models of the second and third prediction models to be trained on different training sets, which can help improve the robustness of memory performance indicator prediction.

[0094] In some optional embodiments, the method provided in this application further includes a training method for combining prediction models, such as... Figure 3 As shown, the training method includes:

[0095] S310. Perform Monte Carlo simulation on the process parameters to obtain multiple third parameter vectors and the second simulation values ​​corresponding to each third parameter vector. Establish a fifth training set based on the third parameter vectors and the second simulation values ​​corresponding to the third parameter vectors.

[0096] Monte Carlo simulation includes a sampling process and a circuit simulation process. Specifically, through Monte Carlo simulation, the process parameters can be resampled first, and multiple third parameter vectors can be generated based on the sampled parameters. Then, corresponding circuit simulations are performed based on the generated third parameter vectors to obtain the second simulation values ​​corresponding to each third parameter vector. The dimension of the third parameter vector is the same as that of the first parameter vector.

[0097] S320. Input the third parameter vectors included in the fifth training set into the first prediction model to obtain the first predicted sample values ​​corresponding to each third parameter vector; according to the input variables with zero coefficients in the first prediction model, delete the vector elements in the third parameter vector that are used as input variables into the first prediction model to obtain the sub-vectors of the third parameter vector; combine the sub-vectors of the third parameter vectors with the second and third prediction models to obtain the first, second, and third predicted sample values ​​corresponding to each third parameter vector.

[0098] After obtaining the fifth training set, the third parameter vectors included in the fifth training set can be input into the first prediction model to obtain the first predicted sample value corresponding to each third parameter vector. Based on the input variables with zero coefficients in the first prediction model, the vector elements in the third parameter vectors that were input into the first prediction model as those input variables are deleted to obtain sub-vectors of each third parameter vector. These sub-vectors are then input into the second prediction model to obtain the second predicted sample value corresponding to each third parameter vector. Finally, the sub-vectors of each third parameter vector are input into the third prediction model to obtain the third predicted sample value corresponding to each third parameter vector.

[0099] S330. Based on the second simulation value, first predicted sample value, second predicted sample value and third predicted sample value corresponding to each third parameter vector, establish the sixth training set.

[0100] The second simulated value corresponding to each third parameter vector can be used as the output variable of the combined prediction model, and the first, second, and third predicted sample values ​​corresponding to the third parameter vector can be used as the input variables of the combined prediction model, thus forming a training sample. Based on the second simulated values, first, second, and third predicted sample values ​​corresponding to multiple third parameter vectors, multiple training samples can be obtained, and a sixth training set can be established based on the obtained training samples.

[0101] S340. Based on the sixth training set, train the initial model of the combined prediction model to obtain the combined prediction model.

[0102] In this embodiment, multiple third parameter vectors and corresponding second simulation values ​​are obtained by performing Monte Carlo simulations on process parameters. A fifth training set is established based on the third parameter vectors and their corresponding second simulation values. The third parameter vectors included in the fifth training set are input into a first prediction model to obtain first predicted sample values ​​corresponding to each third parameter vector. Based on the input variables with zero coefficients in the first prediction model, vector elements in the third parameter vectors that are input into the first prediction model as input variables are deleted to obtain sub-vectors of the third parameter vectors. These sub-vectors are then input into the second and third prediction models respectively to obtain second and third predicted sample values ​​corresponding to each third parameter vector. A sixth training set is established based on the second simulation values, first predicted sample values, second predicted sample values, and third predicted sample values ​​corresponding to each third parameter vector. The initial model of the combined prediction model is then trained based on the sixth training set. This allows the obtained combined prediction model to obtain a fourth prediction value that is close to the simulation value obtained by Monte Carlo simulation, based on the first, second, and third prediction values ​​output by the first, second, and third prediction models. This enables the combined prediction model to combine the first, second, and third prediction values ​​output by the first, second, and third prediction models in a relatively perfect way, thereby ensuring the accuracy of memory performance prediction.

[0103] According to a second aspect of the embodiments of this application, such as Figure 4 As shown, a performance prediction device 400 for memory is provided, comprising:

[0104] The vector generation module 410 is used to obtain a set of process parameters of the memory and generate a first vector using at least a portion of the process parameters in the set as vector elements of a first vector; wherein the process parameters in the set include at least one of the following: the threshold voltage of the MOS transistor included in the memory and the electron mobility of the MOS transistor included in the memory.

[0105] The first prediction module 420 is used to input the first vector into the first prediction model to obtain the first predicted value of the memory performance index output by the first prediction model.

[0106] The intermediate processing module 430 is used to delete the vector elements in the first vector that are input to the first prediction model as input variables based on the input variables with zero coefficients in the first prediction model, and obtain the second vector.

[0107] The second prediction module 440 inputs the second vector into the second prediction model to obtain the second predicted value of the performance index output by the second prediction model, and inputs the second vector into the third prediction model to obtain the third predicted value of the performance index output by the third prediction model; wherein, the fitting variance of the second prediction model is less than that of the third prediction model, and the fitting deviation of the third prediction model is less than that of the second prediction model.

[0108] The combined prediction module 450 is used to input the first predicted value, the second predicted value and the third predicted value into the combined prediction model to obtain the fourth predicted value of the performance index output by the combined prediction model. The fourth predicted value is used to indicate the value of the performance index.

[0109] The memory performance prediction device provided in this application is based on the same inventive concept as the aforementioned memory performance prediction method and can achieve the same effect. For the specific implementation process and technical effects, please refer to the description in the aforementioned memory performance prediction method, which will not be repeated here.

[0110] This application provides an electronic device. Specifically, see the following: (Refer to...) Figure 5 This document illustrates a schematic diagram of an electronic device according to an embodiment of this application. The specific embodiments of this application do not limit the specific implementation of the electronic device.

[0111] like Figure 5 As shown, the electronic device may include: a processor 502, a communications interface 504, a memory 506, and a communications bus 508.

[0112] in:

[0113] The processor 502, communication interface 504, and memory 506 communicate with each other via communication bus 508.

[0114] Communication interface 504 is used to communicate with other electronic devices or servers.

[0115] The processor 502 is used to execute program 510, specifically to perform the relevant steps in the above embodiment of the memory performance prediction method.

[0116] Specifically, program 510 may include program code that includes computer operation instructions.

[0117] The processor 502 may be a CPU, an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application. The smart device may include one or more processors of the same type, such as one or more CPUs; or it may include processors of different types, such as one or more CPUs and one or more ASICs.

[0118] Memory 506 is used to store program 510. Memory 506 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.

[0119] Program 510 may include multiple computer instructions. Specifically, program 510 may use multiple computer instructions to cause processor 502 to perform the operation corresponding to the memory performance prediction method described in any of the foregoing multiple method embodiments.

[0120] The specific implementation of each step in program 510 can be found in the corresponding steps and units described in the above method embodiments, and has corresponding beneficial effects, which will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the devices and modules described above can be referred to the corresponding process descriptions in the foregoing method embodiments, and will not be repeated here.

[0121] This application also provides a computer storage medium storing a computer program thereon, which, when executed by a processor, implements the method described in any of the foregoing method embodiments. The computer storage medium includes, but is not limited to, compact disc read-only memory (CD-ROM), random access memory (RAM), floppy disk, hard disk, or magneto-optical disk.

[0122] It should be noted that, depending on the implementation needs, the various components / steps described in the embodiments of this application can be broken down into more components / steps, or two or more components / steps or parts of the operation of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of this application.

[0123] Those skilled in the art will recognize that the units and method steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this application.

[0124] The above embodiments are only used to illustrate the embodiments of this application, and are not intended to limit the embodiments of this application. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the embodiments of this application. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of this application, and the patent protection scope of the embodiments of this application should be defined by the claims.

Claims

1. A method for predicting the performance of a memory, characterized in that, include: Obtain a set of process parameters for the memory, and generate a first vector using at least a portion of the process parameters in the set as vector elements of a first vector; wherein the process parameters in the set include at least one of the following: the threshold voltage of the MOS transistor included in the memory and the electron mobility of the MOS transistor included in the memory; The first vector is input into the first prediction model to obtain the first predicted value of the memory performance index output by the first prediction model. Based on the input variable with a coefficient of zero in the first prediction model, delete the vector element in the first vector that was used as the input variable in the first prediction model to obtain the second vector; The second vector is input into the second prediction model to obtain the second predicted value of the performance index output by the second prediction model, and the second vector is input into the third prediction model to obtain the third predicted value of the performance index output by the third prediction model; wherein, the fitting variance of the second prediction model is smaller than that of the third prediction model, and the fitting bias of the third prediction model is smaller than that of the second prediction model. The first predicted value, the second predicted value, and the third predicted value are input into the combined prediction model to obtain the fourth predicted value of the performance index output by the combined prediction model. The fourth predicted value is used to indicate the value of the performance index.

2. The method according to claim 1, characterized in that, The step of generating a first vector by using at least a portion of the process parameters from the set of process parameters as vector elements of a first vector includes: The process parameters in the process parameter set are sampled multiple times, and the sampled process parameters are used as vector elements of the first vector to generate multiple first vectors; The method further includes: determining the yield prediction value of the memory based on the fourth prediction value corresponding to each of the first vectors.

3. The method according to claim 2, characterized in that, Determining the yield of the memory based on the fourth predicted value corresponding to each of the first vectors includes: Input the fourth predicted value corresponding to each of the first vectors into the yield prediction model to obtain the yield prediction value output by the yield prediction model; The yield prediction model is as follows: in, N is used to indicate the number of the first vector, x i Meta(x) is used to indicate the i-th first vector. i ) is used to indicate the output of the combined prediction model and the first vector x of the i-th generation. i The corresponding fourth predicted value, Y, is used to indicate the predicted value range for the performance index to be met.

4. The method according to claim 1, characterized in that, The first prediction model is a linear regression model, the second prediction model is a random forest regression model, and the third prediction model is a gradient boosting regression tree model.

5. The method according to claim 2, characterized in that, It also includes training methods for the first prediction model, the second prediction model, and the third prediction model; The training methods for the first prediction model, the second prediction model, and the third prediction model include: By uniformly sampling the process parameters in the process parameter set, multiple first parameter vectors are generated. Circuit simulation is performed based on each first parameter vector to obtain the first simulation value of the performance index corresponding to each first parameter vector. A first training set is established based on the first parameter vector and the first simulation value corresponding to the first parameter vector. The initial model of the first prediction model is trained based on the first training set to obtain the first prediction model. According to the input variable with zero coefficient in the first prediction model, the vector element in the first parameter vector that is used as the input variable to the first prediction model is deleted to obtain the second parameter vector and the second training set including the second parameter vector and the first simulation value. The initial models of the second prediction model and the third prediction model are trained based on the second training set to obtain the second prediction model and the third prediction model.

6. The method according to claim 5, characterized in that, The step of training the initial model of the second prediction model and the initial model of the third prediction model based on the second training set includes: By sampling the second training set with replacement, the second parameter vector and the corresponding first simulation value are extracted from the second training set to obtain a third training set; the initial model of the second prediction model is trained based on the third training set; and / or, By performing weighted sampling on the second training set, the second parameter vector and the corresponding first simulation value are extracted from the second training set to obtain the fourth training set; the initial model of the third prediction model is trained based on the fourth training set.

7. The method according to claim 5 or 6, characterized in that, It also includes the training method for the combined prediction model; The training method for the combined prediction model includes: Monte Carlo simulation is performed on the process parameters to obtain multiple third parameter vectors and the second simulation values ​​corresponding to each third parameter vector. A fifth training set is established based on the third parameter vectors and the second simulation values ​​corresponding to the third parameter vectors. The third parameter vector included in the fifth training set is input into the first prediction model to obtain the first predicted sample value corresponding to each third parameter vector; according to the input variable with a coefficient of zero in the first prediction model, the vector element in the third parameter vector that is used as the input variable input into the first prediction model is deleted to obtain the sub-vector of the third parameter vector; the sub-vector of the third parameter vector is input into the second prediction model and the third prediction model respectively to obtain the second predicted sample value and the third predicted sample value corresponding to each third parameter vector; A sixth training set is established based on the second simulation value, the first predicted sample value, the second predicted sample value, and the third predicted sample value corresponding to each of the third parameter vectors; The initial model of the combined prediction model is trained based on the sixth training set to obtain the combined prediction model.

8. A performance prediction device for a memory, characterized in that, include: A vector generation module is used to obtain a set of process parameters of the memory, and generate a first vector using at least a portion of the process parameters in the set as vector elements of a first vector; wherein the process parameters in the set include at least one of the following: the threshold voltage of the MOS transistor included in the memory and the electron mobility of the MOS transistor included in the memory; The first prediction module is used to input the first vector into the first prediction model to obtain a first predicted value of the performance index of the memory output by the first prediction model. The intermediate processing module is used to delete the vector elements in the first vector that are input to the first prediction model as input variables, based on the input variables with zero coefficients in the first prediction model, to obtain the second vector; The second prediction module inputs the second vector into the second prediction model to obtain a second predicted value of the performance index output by the second prediction model, and inputs the second vector into the third prediction model to obtain a third predicted value of the performance index output by the third prediction model; wherein, the fitting variance of the second prediction model is smaller than that of the third prediction model, and the fitting deviation of the third prediction model is smaller than that of the second prediction model. The combined prediction module is used to input the first predicted value, the second predicted value and the third predicted value into the combined prediction model to obtain a fourth predicted value of the performance index output by the combined prediction model, wherein the fourth predicted value is used to indicate the value of the performance index.

9. An electronic device, comprising: The processor, memory, communication interface, and communication bus are provided, wherein the processor, memory, and communication interface communicate with each other via the communication bus. The memory is used to store at least one executable instruction that causes the processor to perform the operation corresponding to the method as described in any one of claims 1-7.

10. A computer storage medium having a computer program stored thereon, which, when executed by a processor, implements the method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Method for modeling metal oxide semiconductor (MOS) device

    CN102708268A

  • Method and system of predicting electrical parameters of semiconductor device during manufacturing process

    CN105895563A