Performance prediction method and device for memory, electronic equipment and storage medium
By generating and processing the process parameter vector of the memory, and using multiple prediction models to generate combined prediction values, the problem of long time-consuming memory performance prediction in the existing technology is solved, and efficient performance prediction is achieved.
Patent Information
- Application Number
- CN202411358898.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2044-09-27
AI Technical Summary
In the prior art, when using Monte Carlo simulation to simulate memory performance, it takes a long time and is difficult to meet the needs of designing high-reliability memory.
By obtaining the process parameters of the memory, generate the first vector, and enter the first predictive model to obtain the first predictive value of the performance indicator. Then, according to the input variables with zero coefficient in the first prediction model, delete irrelevant elements and generate a second vector. Enter the second and third forecast models in the second and third vectors, and obtain the second and third prediction values. In the end, the predictive input combination of the prediction model is generated to generate the fourth prediction value to indicate the memory performance.
This method significantly improves the efficiency of memory performance prediction, reduces the time required for prediction, and eliminates the need for transistor-level simulation.
Smart Images

Figure CN119358217A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the technical field of performance prediction of electronic devices, and in particular, to a performance prediction method, device, electronic device, and storage medium for a memory. Background Art
[0002] With the advancement of integrated circuit technology, the area of memory cells is getting smaller and smaller, and the memory integrated on a single chip is getting larger and larger, which makes it increasingly difficult to improve the yield rate. In order to design high-reliability memory, it is necessary to simulate the performance of the memory. In the prior art, Monte Carlo (MC) simulation is usually used to simulate the performance of the memory. However, since the memory is composed of millions of transistor circuits, and the Monte Carlo simulation requires the transistor-level simulation of the memory, it takes a long time to use Monte Carlo simulation to perform corresponding simulation operations on the performance of the memory. Summary of the invention
[0003] In view of this, embodiments of the present application provide a method, device, electronic device and storage medium for memory performance prediction to at least partially solve the above problems.
[0004] According to a first aspect of an embodiment of the present application, a performance prediction method for a memory is provided, comprising: obtaining a process parameter set of the memory, and generating a first vector using at least part 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: a threshold voltage of a MOS tube included in the memory and an electron mobility of the MOS tube included in the memory; inputting the first vector into a first prediction model to obtain a first prediction value of a performance indicator of the memory output by the first prediction model; according to an input variable with a coefficient of zero in the first prediction model, inputting the first vector as the input variable into the first prediction model; The vector elements of the prediction model are deleted to obtain a second vector; the second vector is input into the second prediction model to obtain a second prediction value of the performance indicator output by the second prediction model, and the second vector is input into the third prediction model to obtain a third prediction value of the performance indicator 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 first prediction value, the second prediction value and the third prediction value are input into the combined prediction model to obtain a fourth prediction value of the performance indicator output by the combined prediction model, and the fourth prediction value is used to indicate the value of the performance indicator.
[0005] In one possible implementation, the method of generating a first vector using at least part of the process parameters in the process parameter set as vector elements of the 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, and generating multiple first vectors; the method also includes: determining a yield prediction value of the memory based on the fourth prediction value corresponding to each of the first vectors.
[0006] In a possible implementation manner, determining the yield of the memory according to the fourth prediction value corresponding to each of the first vectors includes:
[0007] Inputting the fourth prediction value corresponding to each of the first vectors into a yield prediction model to obtain a yield prediction value output by the yield prediction model;
[0008] The yield prediction model is:
[0009]
[0010] in,
[0011]
[0012] N is used to indicate the number of the first vectors, x i It is used to indicate the first vector of the ith order, Meta(x i ) is used to indicate the output of the combined prediction model and the first vector x i Corresponding to the fourth prediction value, Y is used to indicate the prediction value interval for the performance indicator to meet the standard.
[0013] In a 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 a possible implementation, the method also 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: generating multiple first parameter vectors by uniformly sampling the process parameters in the process parameter set, performing circuit simulation based on each of the first parameter vectors, obtaining a first simulation value of the performance indicator corresponding to each of the first parameter vectors, and establishing a first training set based on the first parameter vector and the first simulation value corresponding to the first parameter vector; training an initial model of the first prediction model based on the first training set to obtain the first prediction model, deleting the vector elements in the first parameter vector that are input into the first prediction model as the input variable according to the input variable with a coefficient of zero in the first prediction model, obtaining a second parameter vector, and a second training set including the second parameter vector and the first simulation value; 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, the training of the initial model of the second prediction model and the initial model of the third prediction model based on the second training set includes: sampling the second training set with replacement, extracting the second parameter vector and the corresponding first simulation value from the second training set, to obtain a third training set; training the initial model of the second prediction model according to the third training set; and / or, extracting the second parameter vector and the corresponding first simulation value from the second training set by weighted sampling the second training set, to obtain a fourth training set; training the initial model of the third prediction model according to the fourth training set.
[0016] In a possible implementation, it also 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, and establishing a fifth training set according to the third parameter vector and the second simulation value corresponding to the third parameter vector; inputting the third parameter vector included in the fifth training set into the first prediction model to obtain the first prediction sample value corresponding to each third parameter vector; according to the input variable with a coefficient of zero in the first prediction model, deleting the vector element in the third parameter vector that is input into the first prediction model as the input variable to obtain a sub-vector of the third parameter vector, and inputting the sub-vector of the third parameter vector into the second prediction model and the third prediction model respectively to obtain the second prediction sample value and the third prediction sample value corresponding to each third parameter vector; establishing a sixth training set according to the second simulation value, the first prediction sample value, the second prediction sample value and the third prediction sample value corresponding to each third parameter vector; according to the sixth training set, training the initial model of the combined prediction model to obtain the combined prediction model.
[0017] According to a second aspect of an embodiment of the present application, a performance prediction device for a memory is provided, comprising: a vector generation module, used to obtain a process parameter set of the memory, and to generate a first vector using at least part of the process parameters in the process parameter set as vector elements of the first vector; wherein the process parameters in the process parameter set include at least one of the following: a threshold voltage of a MOS tube included in the memory and an electron mobility of the MOS tube included in the memory; a first prediction module, used to input the first vector into a first prediction model, and obtain a first prediction value of a performance indicator of the memory output by the first prediction model; an intermediate processing module, used to use the first vector as the input variable according to the input variable with a coefficient of zero in the first prediction model. The vector elements input into the first prediction model are deleted to obtain a second vector; a second prediction module is used to input the second vector into the second prediction model to obtain a second prediction value of the performance indicator output by the second prediction model, and the second vector is input into the third prediction model to obtain a third prediction value of the performance indicator 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; a combined prediction module is used to input 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 indicator output by the combined prediction model, wherein the fourth prediction value is used to indicate the value of the performance indicator.
[0018] According to the third aspect of the embodiments of the present application, there is provided an electronic device, comprising: 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, and the executable instruction enables the processor to perform operations corresponding to the performance prediction method for the memory provided in any of the above method embodiments.
[0019] According to a fourth aspect of an embodiment of the present application, a computer storage medium is provided, on which a computer program is stored. When the program is executed by a processor, a performance prediction method for a memory as provided in any of the above method embodiments is implemented.
[0020] In the embodiment of the present application, a process parameter set of a memory can be obtained, and a first vector can be generated by using at least part of the process parameters in the process parameter set as vector elements of the first vector; the first vector is input into the first prediction model to obtain a first prediction value of the performance index of the memory output by the first prediction model; according to the input variable with a coefficient of zero in the first prediction model, the vector element in the first vector that is input into the first prediction model as the input variable is deleted to obtain a second vector, thereby effectively reducing the amount of data involved in the subsequent operation process; the second vector is input into the second prediction model to obtain a second prediction value of the performance index output by the second prediction model, and the second vector is input into the third prediction model to obtain a third prediction value of the performance index output by the third prediction model. After the first prediction value, the second prediction value and the third prediction value are input into the combined prediction model, the fourth prediction value of the performance index can be determined by the combined prediction model. In the embodiment of the present application, based on the first vector generated by the process parameters of the memory, at the overall level of the memory, a simple model operation can be performed using the first prediction model, the second prediction model, the third prediction model and the combined prediction model, etc., to obtain a fourth prediction value indicating the performance index of the memory, without the need for transistor-level simulation, which can significantly improve the efficiency of the performance prediction of the memory and save the time consumed by the performance prediction of the memory. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.
[0022] Figure 1 is a flowchart of a method for predicting memory performance provided by an optional embodiment of the present application;
[0023] Figure 2is a flowchart of the steps of a training method provided by an optional embodiment of the present application;
[0024] Figure 3 is a flowchart of another training method provided by an optional embodiment of the present application;
[0025] Figure 4 is a structural block diagram of a performance prediction device for a memory provided by an optional embodiment of the present application;
[0026] Figure 5 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0027] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments in the embodiments of the present application should fall within the scope of protection of the embodiments of the present application.
[0028] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. The singular forms of "a", "said" and "the" used in this application and the appended claims are also intended to include plural forms unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0029] It should be understood that although the terms first, second, third, etc. may be used in the present application to describe various information, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0030] A first aspect of the embodiments of the present application provides a performance prediction method for a memory to solve the above problem. The performance prediction method for a memory provided by the embodiments of the present application is described in detail below with reference to the accompanying drawings.
[0031] like Figure 1 As shown, the performance prediction method for a memory provided in an embodiment of the present application includes:
[0032] S110. Obtain a process parameter set of the memory, and generate a first vector using at least part of the process parameters in the process parameter set as vector elements of the first vector; wherein the process parameters in the process parameter set include at least one of the following: a threshold voltage of a MOS tube included in the memory and an electron mobility of the MOS tube included in the memory.
[0033] The process parameters are process parameters of the circuit units that constitute the memory. The memory to which the method of the embodiment of the present application is applied may be a memory such as SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory) that can be used for data storage based on circuit units composed of MOS tubes (Metal-Oxide-Semiconductor Field-Effect Transistor, also known as MOSFET).
[0034] As a feasible implementation method, the process parameters may include the threshold voltage of each MOS tube constituting the memory circuit unit, and parameters such as electron mobility. It should be understood that the threshold voltage of the MOS tube is the minimum gate-source voltage required for the MOS tube to change from the cut-off state (i.e., the channel is not conductive) to the on state (i.e., the channel begins to conduct electricity). The electron mobility of the MOS tube is a physical quantity that describes the speed of the movement of electrons in the MOS tube under the action of the electric field. The higher the electron mobility of the MOS tube, the better the performance of the MOS tube in conducting current. The process parameters such as the threshold voltage and electron mobility of the MOS tube in the memory can affect the performance of the memory, so the performance indicators of the memory can be predicted based on the process parameters such as the threshold voltage and electron mobility of the MOS tube in the memory.
[0035] The process parameter set is a collection of process parameters, wherein the process parameters are known parameters and can be obtained from relevant process documents. The number of parameters included in the process parameters of the memory can be of a very high order of magnitude, such as ten thousand or one hundred thousand, and these parameters can form a high-dimensional process parameter vector.
[0036] The process parameter set of the memory may be pre-stored in a specific storage device, so that the process parameter set of the memory may be directly obtained from the storage device.
[0037] S120: Input the first vector into a first prediction model to obtain a first prediction value of a performance indicator of the memory output by the first prediction model.
[0038] The "performance index" is an index indicating the performance of the memory. The performance index of the embodiment of the present application may be the access delay time of the memory, etc. The performance of the memory indicated by the access delay time is the reaction speed of the memory in response to the access. The first prediction model is a model that can predict the performance index according to m process parameters, m is a positive integer, and the number of vector elements in the first vector is m.
[0039] The first vector may be a 1×m or m×1 dimensional vector, and m may be 400, 600, 800, 1000 or 2000, etc., and may be set as required. According to the size of m, sampling may be performed on the acquired process parameter set in the memory, and 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 prediction value and the following second prediction value, third prediction value, fourth prediction value, etc. are all prediction values of the same performance indicator. Optionally, the first prediction value and the following second prediction value, third prediction value, fourth prediction value can be prediction values of memory access delay time.
[0041] S130. According to an input variable having a coefficient of zero in the first prediction model, delete the vector elements in the first vector that are input into the first prediction model as the input variable, to obtain a second vector.
[0042] When the first vector is input into the first prediction model, the vector elements in the first vector are respectively input into the first prediction model as input variables in the first prediction model. If the coefficient of an input variable in the first prediction model is 0, it means that the vector element in the first vector corresponding to the variable has little correlation with the performance of the memory, or the vector element is an element in the first vector that is irrelevant to the performance of the memory. There can be at least one input variable with a coefficient of zero in the first prediction model.
[0043] As a feasible implementation method, during the training process of the first prediction model, the objective function of the first prediction model can be constructed according to the L1 penalty term (L1-norm), so that the variables of the first prediction model are selected based on the L1 penalty term, and the coefficients / weights of the input variables that are less correlated with the performance of the memory are reset to 0, so that the first prediction model can filter / delete the elements in the first vector that are less correlated with the performance of the memory / are irrelevant to the performance of the memory. The specific implementation method of the training model based on the L1 penalty term can refer to the relevant technology, which will not be repeated here.
[0044] In the embodiment of the present application, the elements in the first vector can be screened by the first prediction model to obtain a second vector with reduced data volume, so as to reduce the amount of subsequent operations based on the second vector.
[0045] S140. Input the second vector into the second prediction model to obtain a second prediction value of the performance indicator output by the second prediction model, and input the second vector into the third prediction model to obtain a third prediction value of the performance indicator 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.
[0046] The second prediction model and the third prediction model can predict the performance indicator based on n process parameters, 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 predicted value and the third predicted value are obtained by using the second vector, so that the vector elements in the first vector can be reused, thereby maximizing the mining of information carried by the vector elements.
[0048] It should be understood that the fitting variance and fitting deviation of the second prediction model and the third prediction model are the variance and deviation of the second prediction model and the third prediction model relative to the data in the training set adopted in the respective training processes.
[0049] In the embodiment of the present application, during the training process of the second prediction model and the third prediction model, the fitting variance and fitting deviation of the second prediction model and the third prediction model can be calculated, and the fitting variance of the second prediction model is set to be smaller than that of the third prediction model, and the fitting deviation of the third prediction model is set to be smaller than that of the second prediction model, so that 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.
[0050] In some optional 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 may be constructed using the linear regression model, and an objective function constructed based on the L1 penalty term may be used to obtain the corresponding first prediction model.
[0052] When the second prediction model is a random forest regression model, during the training process of the second prediction model, the Bagging strategy can be used to reduce the variance of the second prediction model fitting training samples. When the third prediction model is a gradient boosting regression tree model, during the training process of the third prediction model, the Boosting strategy can be used to reduce the deviation of the third prediction model fitting training samples.
[0053] In the embodiment of the present application, 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 can be used to make the first prediction model better fit the overall change trend of its training samples, the random forest regression model can be used to reduce the variance of the second prediction model fitting its training samples, and the gradient boosting regression tree model can be used to reduce the deviation of the third prediction model fitting its training samples.
[0054] The first prediction model, the second prediction model and the third prediction model can respectively reduce the error of performance prediction from different aspects, which is beneficial to reducing the error of the fourth prediction value finally obtained.
[0055] S150. Input the first prediction value, the second prediction value, and the third prediction value into the combined prediction model to obtain a fourth prediction value of the performance indicator output by the combined prediction model, where the fourth prediction value is used to indicate the value of the performance indicator.
[0056] The combined prediction model is preferably a Gaussian process model, so that the fourth prediction value can be determined based on the first prediction value, the second prediction value and the third prediction value using the Gaussian process model. Of course, the combined prediction model can also be other suitable types of prediction models, such as a neural network model, as long as the prediction accuracy of the fourth prediction value can be guaranteed.
[0057] By inputting the first prediction value, the second prediction value and the third prediction value into a combined prediction model, the combined prediction model combines the first prediction value, the second prediction value and the third prediction value in a more optimal combination manner to obtain a fourth prediction value of the performance indicator of the memory, thereby integrating the respective advantages of the first prediction model, the second prediction model and the third prediction model, and improving the accuracy of predicting the fourth prediction value from multiple aspects, so that the fourth prediction value can more accurately indicate the performance of the memory.
[0058] In the embodiment of the present application, a process parameter set of a memory can be obtained, and a first vector can be generated by using at least part of the process parameters in the process parameter set as vector elements of the first vector; the first vector is input into the first prediction model to obtain a first prediction value of the performance index of the memory output by the first prediction model; according to the input variable with a coefficient of zero in the first prediction model, the vector element in the first vector that is input into the first prediction model as the input variable is deleted to obtain a second vector, thereby effectively reducing the amount of data involved in the subsequent operation process; the second vector is input into the second prediction model to obtain a second prediction value of the performance index output by the second prediction model, and the second vector is input into the third prediction model to obtain a third prediction value of the performance index output by the third prediction model. After the first prediction value, the second prediction value and the third prediction value are input into the combined prediction model, the fourth prediction value of the performance index can be determined by the combined prediction model. In the embodiment of the present application, based on the first vector generated by the process parameters of the memory, at the overall level of the memory, a simple model operation can be performed using the first prediction model, the second prediction model, the third prediction model and the combined prediction model, etc., to obtain a fourth prediction value indicating the performance index of the memory, without the need for transistor-level simulation, which can significantly improve the efficiency of the performance prediction of the memory and save the time consumed by the performance prediction of the memory.
[0059] In some optional embodiments, using at least some of the process parameters in the process parameter set as vector elements of the first vector to generate the 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, and generating multiple first vectors. Then, through steps S120-S150, the fourth prediction value corresponding to each first vector can be determined.
[0060] The method provided by the embodiment of the present application may further include: determining a yield prediction value of the memory according to fourth prediction values corresponding to each first vector.
[0061] Since the fourth prediction value can indicate the value of the performance indicator, the embodiment of the present application can determine whether the performance indicator of the memory meets the standard based on the fourth prediction value, thereby determining the yield of the memory according to whether the performance indicator of the memory meets the standard. It should be noted that the method provided in the embodiment of the present application can be applied to the verification stage after the memory design is completed.
[0062] In the embodiment of the present application, the process parameters in the process parameter set can be sampled multiple times to generate multiple first vectors, and the yield prediction value of the memory can be determined according to the fourth prediction value corresponding to each first vector. The method provided in the embodiment of the present application can be used to predict the performance indicators and yield of the designed memory in the verification stage after the memory design is completed. By comparing the yield prediction value with the qualified yield value, it can be determined whether the designed memory meets the standard, which is conducive to discovering the design defects of the memory.
[0063] In some optional embodiments, determining the yield of the memory according to the fourth prediction value corresponding to each first vector includes:
[0064] Inputting the fourth prediction 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:
[0066]
[0067] in,
[0068]
[0069] N is used to indicate the number of the first vector, x i Used to indicate the first vector of the ith element, Meta(x i ) is used to indicate the output of the combined prediction model and the first vector x i The corresponding fourth prediction value, Y, is used to indicate the prediction value interval for the performance indicator to meet the standard. When the performance indicator is the access delay time of the memory, the prediction value interval for the performance indicator to meet the standard can be [0ns, 1ns). It should be understood that if the fourth prediction value belongs to the prediction value interval for meeting the performance standard, it can be explained that the performance of the memory meets the standard. Conversely, if the fourth prediction value does not belong to the prediction value interval for meeting the performance standard, it can be explained that the performance of the memory does not meet the standard.
[0070] In an embodiment of the present application, the fourth prediction value corresponding to each first vector can be input into the yield prediction model. By executing 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 operations, and can effectively improve the efficiency of predicting the memory yield and reduce the time consumed in predicting the memory yield.
[0071] In some optional embodiments, the method provided in the embodiment of the present application may also include a training method for the first prediction model, the second prediction model, and the third prediction model, such as Figure 2 As shown, the training method may include:
[0072] S210. Generate multiple first parameter vectors by uniformly sampling the process parameters in the process parameter set, perform circuit simulation based on each first parameter vector, obtain a first simulation value of a performance indicator corresponding to each first parameter vector, and establish a first training set 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 the first vector above. The embodiment of the present application can generate the first parameter vector by uniformly sampling the process parameters in the process parameter set and using the sampled process parameters. Of course, when generating the above-mentioned first vector, the vector elements of the first vector can also be collected from the process parameters in the process parameter set by uniform sampling. The use of 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] Through circuit simulation, the performance of the circuit unit in the memory during use can be simulated, so as to obtain the simulation value of the performance index of the memory. The first simulation value is the simulation value of the performance index obtained by circuit simulation based on the first parameter vector. It should be understood that a first simulation value can be obtained by performing circuit simulation based on a first parameter vector. By performing circuit simulation based on each first parameter vector respectively, a plurality of first simulation values can be obtained, wherein each first parameter vector corresponds to the first simulation value generated based thereon. When performing circuit simulation, a corresponding simulation program can be used to perform circuit simulation based on each first parameter vector, for example, a circuit simulation program such as SPICE (Simulation program with integrated circuit emphasis, a simulation program focusing on integrated circuits) can be used. The specific simulation process can refer to the relevant technology, which will not be described in detail here.
[0075] Each training sample in the first training set may include a first parameter vector and a first simulation 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 simulation value corresponding to the first parameter vector serves as an output variable 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, and according to the input variables with coefficients of zero in the first prediction model, delete the vector elements in the first parameter vector that are input into the first prediction model as the input variables, 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 based on 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 method, 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 output; x′ is used to indicate the input G linear The vector composed of the input variables of (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 expressed as x′=[x′1, x′2, …, x′ m ];;x′ l Used to indicate the lth vector element in x′, 1≤l≤m; a l is x′ l The coefficient of b is the intercept term coefficient, a is l and b are coefficients to be determined.
[0081] The objective function used in the training of the first prediction model can be:
[0082]
[0083] Q(Ω) is used to indicate the function value of the objective function. It can be considered that when the value of Q(Ω) is the smallest, the first prediction model training is completed; Ω is used to indicate G linear The coefficient a in the expression (x′) l The coefficient vector is composed of: M is used to indicate the number of first parameter vectors in the first training set used to train the first prediction model; Y is the first simulation value corresponding to the input first parameter vector x′; λ‖Ω‖1 is the L1 penalty term, 0≤λ≤1, the larger the value of λ, the more coefficients are 0 in the first prediction model, and the value of λ can be set as needed.
[0084] S230: Train an initial model of the second prediction model and an initial model of the third prediction model based on the second training set to obtain a second prediction model and a third prediction model.
[0085] After obtaining the second training set, the initial model of the second prediction model and the initial model of the third prediction model 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 simulation 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. 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 simulation 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 according to the number of elements in the first parameter vector and the model type of the first prediction model. The initial model of the second prediction model and the initial model of the third prediction model can be preset according to the number of elements in the second parameter vector and the model types of the first prediction model and the second prediction model. The specific setting process of each initial model can refer to the relevant technology and will not be repeated here.
[0087] In an embodiment of the present application, the training method of 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, and obtaining the first simulation value of the performance index corresponding to each first parameter vector, so that the vector elements of the first parameter vector can be used as input variables, and the corresponding first simulation values can be used as output variables to establish a complete training set, that is, the first training set. After obtaining the first prediction model, the vector elements in the first parameter vector that are input as the input variable to the first prediction model can be deleted according to the input variables with zero coefficients in 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, which can effectively reduce the amount of data in the second training set, thereby improving the efficiency of model training in the process of training the initial model of the second prediction model and the initial model of the third prediction model through 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] The second training set is sampled with replacement, and the second parameter vector and the corresponding first simulation value are extracted from the second training set to obtain a third training set; and the initial model of the second prediction model is trained according to the third training set.
[0090] And / or, by performing weighted sampling (also known as weighted random sampling, Weighted Random Sampling) on the second training set, extracting the second parameter vector and the corresponding first simulation value from the second training set to obtain a fourth training set; and training the initial model of the third prediction model according to 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 the vector elements to obtain the second parameter vector.
[0092] The process of performing sampling with replacement and weighted sampling can refer to the relevant technology and will not be described in detail here. It should be noted that the embodiment of the present application does 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 first simulation values corresponding to the second parameter vectors 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 the embodiment of the present application, by sampling with replacement on the second training set, a plurality of second parameter vectors and corresponding first simulation values can be extracted from the second training set, based on the extracted second parameter vectors and the corresponding first simulation values, a third training set can be constructed, and the initial model of the second prediction model can be trained according to the third training set. And by weighted sampling on the second training set, a plurality of second parameter vectors and corresponding first simulation values can be extracted from the second training set, based on the extracted second parameter vectors and the corresponding first simulation values, a fourth training set can be constructed, and the initial model of the third prediction model can be trained according to the fourth training set. The embodiment of the present application can construct the third training set and the fourth training set in different ways, so that the initial model of the second prediction model and the initial model of the third prediction model are trained based on different training sets, which can be beneficial to improving the robustness of the performance indicator prediction of the memory.
[0094] In some optional embodiments, the method provided in the embodiments of the present application also includes a training method for a combined prediction model, such as Figure 3 As shown, the training method includes:
[0095] S310, performing Monte Carlo simulation on the process parameters to obtain multiple third parameter vectors and second simulation values corresponding to each third parameter vector, and establishing a fifth training set according to 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, multiple third parameter vectors can be generated based on the sampled parameters, and then the corresponding circuit simulation can be performed according to the generated multiple third parameter vectors to obtain the second simulation value 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 prediction sample values corresponding to each third parameter vector; according to the input variable with a coefficient of zero in the first prediction model, delete the vector elements in the third parameter vector that are input into the first prediction model as the input variable to obtain a sub-vector of the third parameter vector, and input the sub-vector of the third parameter vector into the second prediction model and the third prediction model to obtain the first prediction sample value, the second prediction sample value and the third prediction sample value corresponding to each third parameter vector.
[0098] After obtaining the fifth training set, each third parameter vector included in the fifth training set can be input into the first prediction model to obtain the first prediction 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 input into the first prediction model as the input variable is deleted to obtain the sub-vector of each third parameter vector, and the sub-vector of each third parameter vector is input into the second prediction model to obtain the second prediction sample value corresponding to each third parameter vector. The sub-vector of each third parameter vector is input into the third prediction model to obtain the third prediction sample value corresponding to each third parameter vector.
[0099] S330. Establish a sixth training set according to the second simulation value, the first prediction sample value, the second prediction sample value and the third prediction sample value corresponding to each third parameter vector.
[0100] The second simulation value corresponding to each third parameter vector can be used as an output variable of the combined prediction model, and the first prediction sample value, the second prediction sample value, and the third prediction sample value corresponding to the third parameter vector can be used as input variables of the combined prediction model, thereby forming a training sample. According to the second simulation values, the first prediction sample value, the second prediction sample value, and the third prediction sample value corresponding to multiple third parameter vectors, multiple training samples can be obtained, and the sixth training set can be established based on the obtained training samples.
[0101] S340: Train the initial model of the combined prediction model according to the sixth training set to obtain the combined prediction model.
[0102] In the embodiment of the present application, a plurality of third parameter vectors and second simulation values corresponding to each third parameter vector are obtained by performing Monte Carlo simulation on the process parameters, and a fifth training set is established according to the third parameter vector and the second simulation value corresponding to the third parameter vector. The third parameter vector included in the fifth training set is input into the first prediction model to obtain the first prediction 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 input into the first prediction model as the input variable is deleted to obtain a sub-vector of the third parameter vector, and the sub-vector of the third parameter vector is respectively input into the second prediction model and the third prediction model to obtain the second prediction sample value and the third prediction sample value corresponding to each third parameter vector. A sixth training set is established according to the second simulation value, the first prediction sample value, the second prediction sample value and the third prediction sample value corresponding to each third parameter vector, so that the initial model of the combined prediction model is trained according to the sixth training set. The obtained combined prediction model can obtain a fourth prediction value close to the simulation value obtained by Monte Carlo simulation based on the first prediction value, the second prediction value and the third prediction value output by the first prediction model, the second prediction model and the third prediction model, so that the combined prediction model can make a relatively perfect combination of the first prediction value, the second prediction value and the third prediction value output by the first prediction model, the second prediction model and the third prediction model, thereby ensuring the accuracy of the memory performance prediction.
[0103] According to the second aspect of the embodiment of the present application, Figure 4 As shown, a performance prediction device 400 for a memory is provided, comprising:
[0104] The vector generation module 410 is used to obtain a process parameter set of the memory, and generate a first vector using at least part of the process parameters in the process parameter set as vector elements of the first vector; wherein the process parameters in the process parameter set include at least one of the following: a threshold voltage of a MOS tube included in the memory and an electron mobility of the MOS tube included in the memory.
[0105] The first prediction module 420 is used to input the first vector into a first prediction model to obtain a first prediction value of the performance indicator of the memory 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 into the first prediction model as the input variables with zero coefficients in the first prediction model, so as to obtain the second vector.
[0107] The second prediction module 440 inputs the second vector into the second prediction model to obtain a second prediction value of the performance indicator output by the second prediction model, and inputs the second vector into the third prediction model to obtain a third prediction value of the performance indicator 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.
[0108] The combined prediction module 450 is used to input the first prediction value, the second prediction value and the third prediction value into the combined prediction model to obtain a fourth prediction value of the performance indicator output by the combined prediction model, and the fourth prediction value is used to indicate the value of the performance indicator.
[0109] The performance prediction device for a memory provided in the embodiment of the present application and the embodiment of the aforementioned performance prediction method for a memory are based on the same inventive concept and can achieve the same effect. The specific implementation process and technical effects can be found in the description in the embodiment of the aforementioned performance prediction method for a memory, which will not be repeated here.
[0110] The present application embodiment provides an electronic device. The details are as follows: Figure 5 , shows a schematic diagram of the structure of an electronic device according to an embodiment of the present application. The specific embodiment of the present application does not limit the specific implementation of the electronic device.
[0111] like Figure 5 As shown, the electronic device may include: a processor (processor) 502 , a communication interface (Communications Interface) 504 , a memory (memory) 506 , and a communication bus 508 .
[0112] in:
[0113] The processor 502 , the communication interface 504 , and the memory 506 communicate with each other via a communication bus 508 .
[0114] The communication interface 504 is used to communicate with other electronic devices or servers.
[0115] The processor 502 is used to execute the program 510, and specifically can execute the relevant steps in the above embodiment of the method for predicting the performance of a memory.
[0116] Specifically, the program 510 may include program codes, which include computer operation instructions.
[0117] The processor 502 may be a CPU, or an application specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the smart device may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.
[0118] The memory 506 is used to store the program 510. The memory 506 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0119] The program 510 may include multiple computer instructions. Specifically, the program 510 may enable the processor 502 to execute operations corresponding to the method for predicting memory performance described in any of the aforementioned method embodiments through the multiple computer instructions.
[0120] The specific implementation of each step in program 510 can refer to the corresponding description of the corresponding steps and units in the above method embodiment, and has corresponding beneficial effects, which will not be repeated here. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described devices and modules can refer to the corresponding process description in the above method embodiment, which will not be repeated here.
[0121] The present application also provides a computer storage medium on which a computer program is stored, and when the program is executed by a processor, the method described in any of the above-mentioned multiple method embodiments is implemented. The computer storage medium includes but is not limited to: a compact disc read-only memory (CD-ROM), a random access memory (RAM), a floppy disk, a hard disk or a magneto-optical disk, etc.
[0122] It should be pointed out that, according to the needs of implementation, the various components / steps described in the embodiments of the present application can be split into more components / steps, or two or more components / steps or partial operations of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of the present application.
[0123] Those of ordinary skill in the art will appreciate that the units and method steps of each example 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 performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present application.
[0124] The above implementation methods are only used to illustrate the embodiments of the present application, and are not limitations on the embodiments of the present application. Ordinary technicians in the relevant technical field can make various changes and modifications without departing from the spirit and scope of the embodiments of the present application. Therefore, all equivalent technical solutions also belong to the scope of the embodiments of the present application. The scope of patent protection of the embodiments of the present application should be limited by the claims.
Claims
1. A method for predicting memory performance, characterized in that: include: Acquire a process parameter set of a memory, and generate a first vector using at least part 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: a threshold voltage of a MOS tube included in the memory and an electron mobility of the MOS tube included in the memory; Inputting the first vector into a first prediction model to obtain a first prediction value of the performance indicator of the memory output by the first prediction model; According to an input variable with a coefficient of zero in the first prediction model, the vector element in the first vector that is input into the first prediction model as the input variable is deleted to obtain a second vector; Inputting the second vector into a second prediction model to obtain a second prediction value of the performance indicator output by the second prediction model, and inputting the second vector into a third prediction model to obtain a third prediction value of the performance indicator 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 first prediction value, the second prediction value and the third prediction value are input into a combined prediction model to obtain a fourth prediction value of the performance indicator output by the combined prediction model, wherein the fourth prediction value is used to indicate the value of the performance indicator.
2. The method according to claim 1, characterized in that The step of generating the first vector by using at least part of the process parameters in the process parameter set as vector elements of the first vector comprises: Sampling the process parameters in the process parameter set multiple times, using the sampled process parameters as vector elements of a first vector, and generating a plurality of first vectors; The method further includes: determining a yield prediction value of the memory according to 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 according to the fourth prediction value corresponding to each of the first vectors includes: Inputting the fourth prediction value corresponding to each of the first vectors into a yield prediction model to obtain a yield prediction value output by the yield prediction model; The yield prediction model is: in, N is used to indicate the number of the first vectors, x i It is used to indicate the first vector of the ith order, Meta(x i ) is used to indicate the output of the combined prediction model and the first vector x i Corresponding to the fourth prediction value, Y is used to indicate the prediction value interval for the performance indicator to meet the standard.
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: Also included are training methods for the first prediction model, the second prediction model, and the third prediction model; The training methods of the first prediction model, the second prediction model, and the third prediction model include: Generate a plurality of first parameter vectors by uniformly sampling the process parameters in the process parameter set, perform circuit simulation based on each of the first parameter vectors, obtain a first simulation value of the performance indicator corresponding to each of the first parameter vectors, and establish a first training set according to the first parameter vectors and the first simulation value corresponding to the first parameter vector; 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 vector that are input into the first prediction model as input variables with zero coefficients in the first prediction model, and obtaining a second parameter vector and a second training set including the second parameter vector and the first simulation value; An initial model of the second prediction model and an initial model of 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 training of 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, extracting the second parameter vector and the corresponding first simulation value from the second training set to obtain a third training set; training the initial model of the second prediction model according to the third training set; and / or, The second parameter vector and the corresponding first simulation value are extracted from the second training set by weighted sampling of the second training set to obtain a fourth training set; and the initial model of the third prediction model is trained according to the fourth training set.
7. The method according to claim 5 or 6, characterized in that: Also included is a training method for the combined prediction model; The training method of the combined prediction model includes: Performing Monte Carlo simulation on the process parameters to obtain a plurality of third parameter vectors and a second simulation value corresponding to each third parameter vector, and establishing a fifth training set according to the third parameter vectors and the second simulation value corresponding to the third parameter vector; Input the third parameter vectors included in the fifth training set into the first prediction model to obtain first prediction sample values corresponding to each of the third parameter vectors; according to the input variables with coefficients of zero in the first prediction model, delete the vector elements in the third parameter vector that are input into the first prediction model as the input variables to obtain subvectors of the third parameter vectors, and input the subvectors of the third parameter vectors into the second prediction model and the third prediction model respectively to obtain second prediction sample values and third prediction sample values corresponding to each of the third parameter vectors; Establishing a sixth training set according to 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 according to 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, used for acquiring a process parameter set of a memory, and generating a first vector by using at least part 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: a threshold voltage of a MOS tube included in the memory and an electron mobility of the MOS tube included in the memory; A first prediction module, configured to input the first vector into a first prediction model to obtain a first prediction value of a performance indicator of the memory output by the first prediction model; an intermediate processing module, configured to delete, according to an input variable having a coefficient of zero in the first prediction model, a vector element in the first vector that is input into the first prediction model as the input variable, to obtain a second vector; A second prediction module, inputting the second vector into a second prediction model to obtain a second prediction value of the performance indicator output by the second prediction model, and inputting the second vector into a third prediction model to obtain a third prediction value of the performance indicator 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 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 indicator output by the combined prediction model, wherein the fourth prediction value is used to indicate the value of the performance indicator.
9. An electronic device, comprising: A processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform an operation corresponding to the method according to any one of claims 1 to 7.
10. A computer storage medium having a computer program stored thereon, wherein the program, when executed by a processor, implements the method according to any one of claims 1 to 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
Reading margin parameter extraction method and method and device for guiding optimization of memory
CN118466832A
Device performance prediction method and device structure optimization method
US20120290998A1
Production process data correlation analysis method, device, and storage medium
WO2023184252A1