Simulation model parameter updating method, simulation method, electronic device and medium
By updating the etch rate-related parameters in the simulation model, the problem of the inability to accurately predict the metal layer thickness after CMP in the prior art is solved, and high-precision metal layer thickness prediction and adjustability of the simulation model are achieved.
Patent Information
- Application Number
- CN202510159488.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-13
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2045-02-13
AI Technical Summary
When the prior art predicts the thickness of the metal layer after the chemical mechanical polishing (CMP) process, it is impossible to accurately simulate the metal morphology at the bottom of the trench, resulting in large errors in the prediction of the metal layer thickness.
By a parameter update method of the simulation model, the simulation value of the final height of the bottom of the trench after etching is determined based on each time step and the corresponding etch rate, and the update value of the parameters related to the etch rate of the trench is determined by comparison with the target value to reduce the difference between the simulation value and the target value.
High-precision prediction of metal layer thickness is achieved, the accuracy and adjustability of the simulation model are improved, and the dependence on the CMP model is reduced.
Smart Images

Figure CN119623400B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure generally relate to integrated circuits, and more particularly, to a parameter updating method of a simulation model, a simulation method, an electronic device, and a storage medium. Background Art
[0002] The current prediction of metal thickness after the back-end process of chemical mechanical polishing (CMP) usually relies heavily on the CMP model, which can usually only simulate the metal topography of the non-trench bottom part, but in fact the trench bottom will also affect the final metal thickness. Usually this part of the value is directly identified as a fixed value, or simply uses some empirical values or mathematical formulas to make an etch table, which is obtained by looking up a limited number of values in the etch table. Both the accuracy and adjustability are very limited. Summary of the invention
[0003] According to an exemplary embodiment of the present disclosure, a simulation solution is provided to at least partially overcome the above or other potential drawbacks.
[0004] According to a first aspect of the present disclosure, a method for updating parameters of a simulation model is provided. The method comprises: determining a simulation value of a final height of a bottom of a groove after etching based on each time step and a corresponding etching rate; determining an updated value of a parameter related to the etching rate of the groove based on a comparison between the simulation value and a target value, so that the difference between the simulation value corresponding to the updated value of the parameter and the target value becomes smaller.
[0005] In a second aspect of the present disclosure, a simulation model generated by using the method of the first aspect of the present disclosure is provided.
[0006] In a third aspect of the present disclosure, a method for simulation using the simulation model of the first aspect of the present disclosure is provided.
[0007] In a fourth aspect of the present disclosure, an electronic device is provided. The electronic device includes a processor; and a memory coupled to the processor, the memory having instructions stored therein, and when the instructions are executed by the processor, the device performs an action, the action including: determining a simulation value of a final height of the bottom of the trench after etching based on each time step and the corresponding etching rate; determining an updated value of a parameter related to the etching rate of the trench based on a comparison between the simulation value and the target value, so that the difference between the simulation value corresponding to the updated value of the parameter and the target value becomes smaller.
[0008] In some embodiments, the etching rate is determined based on initial data and initial values of parameters related to the etching rate of the trenches, wherein the initial data indicates dimensional information of the wafer and the trenches to be etched.
[0009] In some embodiments, the size information includes at least the following characteristic size information: the density of patterns within the grid on the wafer; the width of the patterns; the interval between the patterns; and the initial height of the bottom of the groove.
[0010] In some embodiments, determining the etching rate in each time step based on initial data and initial values of parameters related to the etching rate of the trench includes: determining the etching rate in each time step based on the initial value, feature size information, and the height of the bottom of the trench in each time step.
[0011] In some embodiments, determining a simulation value of a final height of the bottom of a trench after etching based on each time step and a corresponding etching rate includes: determining the etching rate in a first time step and the etching depth in the first time step based on an initial value of a parameter and the initial height of the bottom of the trench; determining the etching rate in a corresponding time step and the etching depth in the corresponding time step in turn based on the initial value of the parameter and the etching depth in the corresponding time step; and determining a simulation value of the final height of the bottom of the trench based on the initial height of the bottom of the trench and the sum of the etching depths in each time step.
[0012] In some embodiments, the parameters include at least one of the following: a nominal etching rate of the material; an influencing factor of density; an etching solution concentration; an etching solution concentration adjustment factor; and an influencing factor of spacing.
[0013] In some embodiments, the etch rate is determined based on the following formula:
[0014] in, Where R_bottom represents the etching rate, R_bottom_cal represents the uncorrected etching rate, modify_factor represents the segmentation factor for segmenting the grid points on the wafer, R_material represents the nominal etching rate of the material, alpha and beta both represent the influencing factors of density, b represents the etching solution concentration, scale_factor represents the etching solution concentration adjustment factor, F is the influencing factor of the interval, density represents the density of the graphics in the grid area, and its range is between 0-1, width represents the average width of the graphics in the grid area, space represents the average interval between the graphics in the grid area, alpha ranges from 0 to positive infinity, beta ranges from negative infinity to positive infinity, b ranges from 0 to 100, scale_factor ranges from 0 to positive infinity, C is the influencing factor of width, H is the trench depth at the current moment, and the ranges of C and F are both positive infinity to negative infinity.
[0015] In some embodiments, the simulated value of the current height of the trench bottom is determined based on the following formula: Wherein TB_t represents the simulation value of the height of the bottom of the groove at the current moment, TB_t-1 represents the simulation value of the height of the bottom of the groove at the previous moment, and dt represents the time step.
[0016] In some embodiments, the method further includes: segmenting the grid points on the wafer based on the density of the pattern, the width of the pattern, and the interval between the patterns; and adjusting the etching rate of the grid points within the same segment interval using the same etching rate adjustment factor.
[0017] In some embodiments, determining the updated value of the parameter based on the comparison between the simulation value and the target value includes: determining the updated value of the parameter based on the initial data using a particle swarm algorithm, wherein a group of values corresponding to each parameter to be determined is regarded as a particle.
[0018] In some embodiments, determining the updated value of the parameter based on the initial data using the particle swarm algorithm includes: randomizing the initial position and velocity of each particle; iteratively determining the individual historical optimal fitness value of each particle and the group historical optimal fitness value of the group composed of each particle based on the initial position and velocity, wherein the fitness value represents the degree of proximity between the simulated value of the groove bottom height obtained under different parameter combinations and the measured value of the groove bottom height; and using the group historical optimal fitness value determined in each iteration as the updated value of the parameter.
[0019] In some embodiments, the adaptation value represents the inverse of the mean square error between the simulation value of the trench bottom height obtained under different parameter combinations and the measured value of the trench bottom height included in the size information.
[0020] In some embodiments, the method further includes: in response to the difference satisfying a predetermined condition, determining the parameter having the updated value as a model parameter of the etching rate of the model.
[0021] In some embodiments, the difference satisfies a predetermined condition including: the difference in the historical optimal fitness value of the group between two iterations is less than a first predetermined threshold; the ratio of the simulation values of the groove bottom height of the two iterations is less than a second predetermined threshold; or the number of iterations or the iteration time reaches a third predetermined threshold.
[0022] In a fifth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method according to the present disclosure is implemented.
[0023] It will be understood from the following description that the technical solution of the present disclosure provides a high-precision simulation model that can accurately simulate the etching process in the semiconductor process.
[0024] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the disclosure, nor is it intended to limit the scope of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 A schematic diagram showing an example environment in which embodiments of the present disclosure can be implemented;
[0026] Figure 2 A flowchart of a method for generating a semiconductor process device simulation model according to some embodiments of the present disclosure is shown;
[0027] Figure 3 shows a schematic cross-sectional view of a groove according to some embodiments of the present disclosure;
[0028] Figure 4 A schematic diagram of a process of a PSO algorithm according to some embodiments of the present disclosure is shown;
[0029] Figure 5 A schematic diagram showing the updating of the velocity direction of particles according to some embodiments of the present disclosure is shown;
[0030] Figure 6 A block diagram of a computing device according to some embodiments of the present disclosure is shown.
[0031] In the various drawings, the same or corresponding reference numerals represent the same or corresponding parts. DETAILED DESCRIPTION
[0032] The principles of the present disclosure will be described below with reference to the various exemplary embodiments shown in the accompanying drawings. It should be understood that the description of these embodiments is only to enable those skilled in the art to better understand and further implement the present disclosure, and is not intended to limit the scope of the present disclosure in any way. It should be noted that similar or identical reference numerals may be used in the figures where feasible, and similar or identical reference numerals may represent similar or identical functions. Those skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods described herein may be adopted without departing from the principles of the present invention described herein.
[0033] As used herein, the term "including" and its variations mean open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "based at least in part on". The terms "an example embodiment" and "an embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first", "second", etc. may refer to different or the same objects.
[0034] CMP is a method that combines chemical and physical methods to remove materials, and it has become an indispensable step in the modern IC industry. Specifically, CMP uses chemical corrosion and mechanical force to flatten silicon wafers or other substrate materials during processing. CMP can achieve nanometer-level material removal, making the wafer surface flat.
[0035] The CMP model, as the name implies, is a physical model for simulating the CMP process. The model outputs some important physical indicators of each grid point of the wafer after the CMP process, such as the thickness of the trench structure, the thickness of the non-trench structure, and the thickness of the metal material after CMP. In short, it is a physical model that predicts the surface morphology of the wafer after the CMP process. CMP is one of the eight major semiconductor processes. It connects the previous and the next. Other processes following CMP will be affected by the CMP process. In other words, when it is necessary to evaluate and control the process results after CMP, it is best to know the impact of the CMP process, which is of great significance to the full process control and yield improvement of the entire semiconductor manufacturing. In addition, the CMP process itself is an indispensable and necessary step, because if there is a CMP model, it can better adjust the CMP process. The results of the CMP model can be used to infer which process parameter settings need to be modified and adjusted, and whether there are some unreasonable aspects of the GDS design, which may produce hotspots, that is, defects.
[0036] The metal layer is deposited on the bottom of the groove. As the name implies, the bottom of the groove is the bottom of the groove. In fact, the process flow first goes through the etch step, which etches the wafer to produce grooves, or the bottom of the groove, and then the deposition process is carried out. Deposition will deposit various materials on the wafer. Naturally, because of the etching and the different GDS designs in different areas, the depth of the grooves produced is also different. Naturally, the stacking height of the materials in each area after deposition will also be different. For example, the most common metal deposition material for CMP is copper. Usually in the last step of deposition, that is, before entering CMP, the material on the top of the wafer is copper, that is, the first step of grinding is copper. As described before, due to the existence of etching, different areas have grooves of different depths and different deposition thicknesses. That is to say, for the surface of the wafer after the CMP process, it is necessary to evaluate the surface morphology. It is necessary to know how much changes have occurred in the CMP step, and it is also necessary to know the changes and fluctuations that already existed before CMP.
[0037] In the real world, CMP essentially refers to the use of a grinding head on a base to polish the surface of a wafer soaked in abrasive liquid. Simply put, GDS is a data format for the real entity of a wafer in a computer program. A wafer is entered into the program for observation, description, and analysis, and it needs to be abstracted into a computer data, that is, a gds file. The GDS file clearly describes the structure and design information of the wafer. The wafer in the real world is the GDS in the virtual computer. From a more professional perspective, the GDS layout is a layout file provided by the circuit designer, which contains a variety of graphics, that is, patterns, and semiconductor manufacturing is to carve a wafer into the appearance of the layout design through various processes.
[0038] As mentioned earlier, the value at the bottom of the groove is usually directly identified as a fixed value, or simply some empirical values or mathematical formulas are used to make an etching table, which is obtained by looking up a limited number of values in the etching table. Both the accuracy and adjustability are very limited. Sometimes the CMP model is changed in order to fit the value that meets the measured metal layer thickness, resulting in the CMP model sacrificing the fitting accuracy of the dishing defect (Dishing) and corrosion (Erosion) indicators. Here, Dishing refers to the difference between the height of the groove structure and the height of the non-groove structure, and Erosion refers to the difference between the height of the non-groove structure at each grid point relative to the baseline thickness.
[0039] In view of this, the present disclosure provides an improved solution for generating a simulation model of a semiconductor process device.
[0040] The embodiment of the present disclosure provides an improved method for generating a simulation model of a semiconductor process device. The method includes: determining a simulation value of a final height of a bottom of a trench after etching based on each time step and a corresponding etching rate; determining an updated value of a parameter related to the etching rate of the trench based on a comparison between the simulation value and a target value, so that the difference between the simulation value corresponding to the updated value of the parameter and the target value becomes smaller.
[0041] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0042] Figure 1 1 is a schematic diagram of an example environment 100 in which embodiments according to the present disclosure can be implemented. Figure 1 As shown, the example environment 100 includes a computing device 110 and a client 120 .
[0043] In some embodiments, the computing device 110 may interact with the client 120. For example, the computing device 110 may receive an input message from the client 120 and output a feedback message to the client 120. In some embodiments, the input message from the client 120 may be design layout data. The computing device 110 may perform corresponding mathematical operations on the design layout data and output corresponding operation results to the client 120.
[0044] In some embodiments, computing device 110 may include, but is not limited to, a personal computer, a server computer, a handheld or laptop device, a mobile device (such as a mobile phone, a personal digital assistant (PDA), a media player, etc.), consumer electronics, a minicomputer, a mainframe computer, cloud computing resources, etc.
[0045] It should be understood that the structure and function of the example environment 100 are described for exemplary purposes only and are not intended to limit the scope of the subject matter described herein. The subject matter described herein can be implemented in different structures and / or functions. The environment is merely illustrative and is not intended to limit the application environment of the embodiments of the present disclosure.
[0046] In order to explain the principle of the present disclosure more clearly, the following will refer to Figure 2 Let's describe it in more detail.
[0047] Figure 2 A flow chart of a method 200 for generating a semiconductor process device simulation model according to some embodiments of the present disclosure is shown.
[0048] At block 202 , a simulated value of a final height of a bottom portion of the trench after etching is determined based on various time steps and corresponding etching rates.
[0049] In some embodiments, the etching rate in each time step can be determined based on the initial data and the initial values of the parameters related to the etching rate of the groove. The initial data can indicate the size information of the wafer and the groove to be etched, for example, the distribution and position of the grid points on the wafer; the position of the groove on the wafer, the initial height of the bottom of the groove, and other information. The present disclosure is not limited to this, and the etching rate can also be determined by other methods according to actual process conditions.
[0050] First, let's introduce a basic concept: Etching refers to a process that uses chemical methods to etch the surface of a wafer to form a target pattern. Etching can act on the trench structure, and through chemical methods, the trench structure is continuously etched. It is usually performed before the CMP process as a pre-process step of the CMP process.
[0051] Several key elements in some embodiments of the present disclosure are described below:
[0052] Element 1: Graphic Data System (GDS) features, mainly refers to the three features of density, width, and space. Each position on a whole GDS has different GDS features (different density and width values), and different GDS features will greatly affect the height of the morphology of each position after the etching process. In some embodiments, the density of the graphics, the width of the graphics, and the spacing between the graphics can be called feature size information.
[0053] In GDS, there are many graphics (patterns), which can be microscopic structures such as circuits. In an area of fixed size, the total area of the graphics divided by the area of the area, the ratio of the two is the density. So the density is a number between 0 and 1. Width is a descriptive statistical indicator to measure the width of the graphics itself in this area. The graphics are usually rectangles or combinations of rectangles. Usually, all the graphics in the area are scanned to obtain their width values, and finally the mean or median is taken as the width value of this area). The interval describes the interval between the graphics in this area, because the graphics themselves are arranged at a certain interval.
[0054] Element 2: Prediction target / simulation object. The simulation is the trench height of each point of GDS after the etching process, that is, the value of the bottom of the trench, recorded as TB.
[0055] Element 3: Process information table (recipe), which records the etching process information. Different manufacturers have different process settings, including the duration of the etching process, etching start time, end time, unit time step and other etching-related information; as well as various materials and thicknesses obtained by the deposition process before the etching process, and the target height (target thickness) after etching, etc.
[0056] In some embodiments, the size information includes at least the following characteristic size information: the density of patterns in the grid points on the wafer; the width of the patterns; the spacing between the patterns; and the initial height of the bottom of the groove. In some embodiments, the grid points can be segmented based on these characteristics.
[0057] In some embodiments, determining the etching rate in each time step based on the initial data and the initial values of the parameters related to the etching rate of the groove may include: determining the etching rate in each time step based on the initial values of the parameters, the characteristic size information and the height of the bottom of the groove in each time step. Given the initial values of the numbers, the characteristic size and the height of the bottom of the groove in each time step are used as variables in the rate calculation formula. Substituting the variable values into the calculation formula can determine the etching rate. It should be pointed out that the embodiments herein are only exemplary and are not intended to limit the scope of the present invention. It should be understood that determining the etching rate is not limited to the methods shown in the above embodiments, but can vary according to actual conditions. For example, in some cases, while meeting certain accuracy requirements, the influence of the height of the bottom of the groove changing as the etching proceeds on the etching rate is ignored.
[0058] In some embodiments, the parameters may be randomly assigned at the beginning, for example, randomly assigned within a predetermined range. The predetermined range may be related to the process conditions, or may be related to the initial size information of the wafer and the groove to be etched, and the etching process information.
[0059] Refer to the following Figure 3 . Figure 3 A schematic cross-sectional view of a trench according to some embodiments of the present disclosure is shown.
[0060] As mentioned earlier, Dishing is the difference between the height of the trench structure and the height of the non-trench structure, and the specific formula is SThickNT – SthickT. Figure 3 As shown in the figure, D stands for Dishing, SThickNT stands for the height of the non-groove structure, and SthickT stands for the height of the groove structure. In this figure, Dishing is actually the depth of the groove. Figure 3As shown, the region shown in the wafer includes multiple grooves, that is, an array of grooves. The control region shown on the left has no graphic structure and is a blank test control region specifically used to compare with the region with graphics. However, all the grid points in the model in the embodiment of the present disclosure represent regions with graphics, such as Figure 3 Shown in the middle right part.
[0061] Erosion refers to the difference between the NonTrench structure height at each grid point and the reference thickness. The specific formula is field reference thickness. Figure 3 The reference height is shown in Figure 1) - SThickNT (non-trench structure thickness), where the reference value height can be given by the user and is related to the user's respective process settings. Both Dishing and Erosion are important indicators in the CMP model for evaluating process results.
[0062] Back to Figure 2 Continue the description. It is mentioned above that the initial data indicates the size information of the wafer and the groove to be etched. In some embodiments, the initial data may also include etching process information. In addition, the size information may include any size information of the wafer and the groove. For example, it may include the location information of the etched groove, the target depth, and other size information.
[0063] In some embodiments, the initial data may include measurement values of a plurality of measurement points (recording the position of each point in the GDS, its corresponding GDS feature, and the height of the trench after etching).
[0064] In the use scenario of the entire model, the so-called point refers to a grid. By extracting the information in a grid point, a data point can be obtained. The so-called measurement point is also this grid point. Strictly speaking, a grid point can be said to be a rectangular area based on a specific size (the size is usually )between.
[0065] In some embodiments, the data may be initialized, for example, the density, width, and interval of the measured data points are taken as basic data to generate a data matrix X. The data matrix X may help improve the efficiency of subsequent optimization processing of the data.
[0066] The measurement data points can be selected according to actual needs. For example, there are 100 measurement data points, each of which is a small area on a GDS (which can be called a grid point). The size of this small area is predetermined. In this small area, its density, width, interval and other indicators can be extracted. Because for this measurement data point, the grid point it represents (for example, a There are 100 such grid points or measurement data points, that is, there are 100 points for the density index, and 100 points for the width and interval. The 100 points of density can form an anchor vector (length 100). The same is true for width and interval. Then these three vectors can be combined in another direction, and a matrix is obtained. The shape of the matrix is (100,3), that is, 100 rows and 3 columns. That is to say, the three columns are density, width, and interval respectively; 100 rows represent 100 points. It should be understood that the present disclosure is not limited to this. In some embodiments, the data matrix X may not be generated, but each data may be processed as an element.
[0067] The results after etching are usually available to users during modeling, because in the semiconductor manufacturing process, scanning (such as optical scanning or probe light) is performed after some steps to obtain the current morphology. Therefore, the data of the groove height after etching is usually available, but considering the cost of measurement, appropriate measurement points can be selected on the wafer for measurement to obtain the corresponding measurement data.
[0068] Based on the deposition information before etching in the process information table, we can know which materials are deposited and their thickness. Usually, the first material (usually oxide) is deposited first, followed by the second material (usually barrier), which is then etched, and then the third material (usually copper or other metal materials) is deposited, followed by CMP.
[0069] The wafer is the largest unit in semiconductor manufacturing. A wafer usually contains many chips (a chip can be represented by a gds file, that is, a gds file is an abstract representation of a chip. Of course, this gds file may also represent a large area where many chips are located). A GDS can be divided into many grid points, and each grid point has a non-groove structure and a groove structure. For a GDS layout, it can be divided into several grid points. Each grid point is a data point. Each grid point has a non-groove structure and a groove structure. Scanning can be performed on a chip (using gds to abstract a chip). The minimum unit of scanning is a grid point. Usually in the CMP process, the grid point size is a value between . The actual number depends on the process and manufacturer.
[0070] As mentioned earlier, two depositions are performed before etching. Therefore, for a model that wants to predict the height of the trench structure after etching, it is necessary to first determine the height of the trench structure before etching, that is, the height of the oxide and barrier layer deposition. This height is called pre_trench_height.
[0071] pre_trench_height = oxide_dep_thickness + barrier_dep_thickness (1);
[0072] Then the bottom of the trench at time t=0 is equal to pre_trench_height, and the height of the NonTrench structure is also equal to this value. The pre_trench_height and the height of the NonTrench structure can be added to the data matrix X as basic data.
[0073] During the etching process, it is impossible to completely grind away the oxide (process requirement), so for each point, the difference between them is only the remaining thickness of the material. For the substrate, each point is the same, and the height difference between points depends entirely on the remaining height of the material.
[0074] The moment t=0 marks the beginning of the etching process. For example, if the duration of the etching process is set to 100s, then for an etching model, its T=100, t = 0 marks the beginning of the etching process, and t=100 marks the end of the etching process.
[0075] In some embodiments, the simulated value of the final height may be obtained based on the product of the etching rate in each time step and the corresponding time step.
[0076] In some embodiments, the etching rate in the first time step and the etching depth in the first time step can be determined based on the initial value of the parameter and the initial height of the bottom of the groove; the etching rate in the corresponding time step and the etching depth in the corresponding time step can be determined in turn based on the initial value of the parameter and the etching depth in the corresponding time step; and the simulation value of the final height of the bottom of the groove can be determined based on the initial height of the bottom of the groove and the sum of the etching depths in each time step. As mentioned above, the calculation method of the rate can be changed according to the actual situation. Therefore, the method of determining the simulation value of the final height of the bottom of the groove after etching based on each time step and the corresponding etching rate in the present disclosure is not limited to the above embodiment.
[0077] In some embodiments, the grid points on the wafer may be segmented based on the density of patterns, the width of patterns, and the intervals between patterns; and the etching rates of the grid points within the same segmentation interval may be adjusted using the same etching rate adjustment factor.
[0078] To construct an etching model, it is usually necessary to first construct a physical formula for etching, and then determine the undetermined parameters in the physical formula. In some embodiments of the present disclosure, the physical engineering of etching is refined, summarized and abstracted to obtain a physical formula containing undetermined parameters. Determining the undetermined parameters in the physical formula requires the use of measurement data to solve the parameters.
[0079] In some embodiments, the parameters include at least one of the following: a nominal etching rate of the material; an influencing factor of density; an etching solution concentration; an etching solution concentration adjustment factor; and an influencing factor of spacing.
[0080] The physical formulas in some embodiments of the present disclosure are introduced below.
[0081] In some embodiments, assuming that the etching time is specified as T seconds in the process information table, and dt (unit time step) is set to 0.1s, R_bottom is calculated once every dt. R_bottom represents the etching rate of the trench structure in the etching process.
[0082] The groove height at the next time point can be updated according to R_bottom. The update formula is: (2);
[0083] The simulation value of the current height of the bottom of the groove is determined based on the formula. Where TB_t represents the simulation value of the height of the bottom of the groove at the current moment, TB_t-1 represents the simulation value of the height of the bottom of the groove at the previous moment, and dt represents the time step.
[0084] That is, the TB height at the current moment is the TB height at the previous moment minus R_bottom multiplied by the unit time step.
[0085] So the core of the model becomes the generation and calculation of R_bottom. Specifically, R_bottom is equal to: (3);
[0086] in:
[0087] Where R_bottom_cal is an intermediate variable; R_material represents the nominal etching rate of the material. , modify_factor represents the segmentation factor (or segmentation adjustment factor, which has no mandatory range and is theoretically a real number space). Therefore, R_bottom_cal represents an intermediate variable in the entire model, which can be understood as the unmodified R_bottom; H is the trench depth at the current moment, and the trench depth is defined as the NonTrench structure height at the current moment minus the trench structure height at the current moment (the trench bottom value at the current moment), alpha and beta are density influencing factors, b is related to the chemical method of etching and refers to the concentration of the etching solution, scale factor represents the etching solution concentration adjustment factor, which is used to adjust the influence of the etching solution concentration, C is the influence factor of the width variable, F is the influence factor of the space variable, and R_material represents the nominal etching rate of the material, which depends on the etching rate of each material given in the process setting and can be specified by the user. Different materials and different etching processes have different R_materials. F is the influence factor of the interval, alpha ranges from 0 to positive infinity, beta ranges from negative infinity to positive infinity, b ranges from 0 to 100, scale_factor ranges from 0 to positive infinity, and C and F range from positive infinity to negative infinity; density represents the density of the graphics in the grid area, ranging from 0 to 1, width represents the average width of the graphics in the grid area, and space represents the average interval between the graphics in the grid area. The specific expression of density can be the sum of the areas of several graphics (patterns) in the grid area divided by the area of the grid area.
[0088] The influencing factors alpha, beta, b, c, F, and Modify_factor can be defined by the user according to the actual process conditions. The influence on the etching speed is on the one hand the GDS layout characteristics, such as density, width, spacing, etc., which will affect the actual etching rate; on the other hand, some process factors, such as the concentration of the etching chemical liquid, these influences can be considered to be reflected in the form of multipliers after the analysis of the original data and based on the inventor's understanding of the etching process, that is, Finally, a composite impact result is obtained. The ranges of the above-mentioned impact factors are theoretically allowed ranges, and extreme cases such as positive infinity and negative infinity are not set in the actual process.
[0089] It should be noted that R_material is closely related to the material, but also to the current process settings. For example, the rotation speed of the grinding head, the pressure of the grinding head, etc. will all have an impact. The same material ground under different process settings will have different rates. Therefore, R_material can be optimized and solved like other parameters. The R_material solved here is actually the real grinding rate, which is an unknown value combining the material characteristics and the current process settings.
[0090] As can be seen from formula (4), the etching rate is related to each parameter respectively, where density, width, space, and H are variables. Since the density and other conditions of each point are different, the actual etching rate of each trench is different.
[0091] It can be considered that within the dt time, the etching rate is constant. When the values of each parameter are determined, the etching rate within the dt time varies with different variables.
[0092] In some embodiments, the grid points can be segmented, that is, segmented using the sub-segment Modify_factor. Assume that currently the model is to be segmented into P segments based on density / width / space, and the specific formula is:
[0093]
[0094] where tune_factor is the segmentation adjustment coefficient, and the recommended value range of the segmentation adjustment coefficient is (-1, 1), an open interval. Regarding the definition of segmentation, assume that the setting of the M-th segment among P segments is 0 <= density <= 0.5, 0 < width <= 0.1, 0 < space < 0.5. Then, in the data matrix X, all grid points whose density, width, and interval simultaneously meet the above conditions will be classified into this segmentation interval, and their corresponding interval_M = 1. For other points not in this segmentation interval, during the calculation, interval_M = 0. That is to say, each segment in the segmentation is adjusted using formula (5). For all grid points whose density, width, and interval simultaneously meet the conditions of the M-th segment, the corresponding interval_M = 1, and for other grid points that do not meet the conditions of the M-th segment, interval_M = 0 during the calculation. That is to say, at this time, the interval_M of the M-th segment does not affect other segments. In other words, each term in the parentheses of formula (5) represents whether a point belongs to this interval. If it belongs, the control term is 1, meaning that the adjustment coefficient of this interval will take effect; otherwise, it is 0 and does not take effect. It should be noted that the values of density, width, and interval in different segments cannot overlap.
[0095] tune_factor_M refers to the adjustment factor that needs to be adjusted for this section, which is usually between positive and negative 1. If it is set to a, it is considered that the R_bottom of all points in the segment interval M will be adjusted based on R_bottom_cal, and the adjusted result will become 1+a times the original value, thus affecting the calculated groove bottom value.
[0096] Through segmentation, the actual etching rate can be adjusted in segments. The specific process is to divide the segment intervals by the characteristics of density, width, and interval. Each point has a density, width, and interval. Each point will be assigned to a certain interval (provided that the intervals are not repeated). The points in this interval will have a segment adjustment coefficient, which will correct and adjust the calculated etching rate.
[0097] The inventors noticed that different combinations of density, width, and spacing would produce some different disturbances (for the actual etching rate calculation), and the disturbances in each interval were different, so this method was needed to introduce this disturbance so that the model's fitting ability would be stronger and more accurate. Specifically, through the analysis of real data, the inventors found that different densities, widths, and intervals would affect the etching rate. As the density, width, and interval changed, the etching rate would also change, and the amplitude of the change was not completely uniform and linear, and there were many sudden jumps. Therefore, it is impossible to fully describe it using the current physical formula. As for segmentation, for example, the difference in etching rate between the points in the interval with higher density and the points in the interval with lower density, in addition to the part brought by the density and etching rate calculation formula (when other variables are known, the difference in density is known, and the difference in etching rate can be calculated by entering the formula). However, there is still an error between this difference and the actual situation, such as being too large or too small, so this is an unknown disturbance, so it is corrected by segmentation. For example, the difference in etching rate between the point with density = 0.8 and the point with density = 0.5 is x. However, by observing the results of grinding these two points, it is found that their height difference cannot be explained by x, and x+y is needed to fully fit. And this y can be adjusted in segments, so the two points can be divided into different intervals and given a different adjustment coefficient so that the difference in their etching rates reaches x+y.
[0098] In addition, for example, if it is divided into 5 segments and 5 adjustment coefficients are generated, when using optimization algorithms, such as particle swarm optimization (PSO), it is not necessary to solve them one by one, but as a whole. The PSO algorithm will solve the coefficients of each segment when the overall error is minimized. When calculating the fitness value, the average error with each measured data point is used to measure, rather than just looking at one segment. The adjustment coefficient of this segment can be regarded as the undetermined coefficient in a certain model. In general, when using the PSO algorithm to solve, there is no need to care about the specific situation inside the model, but only to know that the model has several undetermined parameters, and the solution of each parameter can be obtained through PSO. The best set of solutions makes the simulation results have the lowest average error with the measurement results. As for which parameter in the model parameters does what and which parameter belongs to which aspect, there is no need to know it at all. For the behavior of finding a set of optimal parameters, you only need to call a black box optimization algorithm and a written black box function.
[0099] Therefore, several groups of different segment intervals can be set according to the actual situation, and each segment interval can be observed and adjusted independently, so as to greatly improve the upper limit of the model's fitting and cope with various possible situations. Improving the upper limit of the model's fitting means being able to fit more situations. In actual process problems, there are situations where different GDS layout feature combinations will have obvious interval effects. For example, there are obvious differences when the density is large, the width is small, and the interval is small, and when the density is small, the width is large, and the interval is large, and this difference is difficult to be fully explained 100% by other variables except the segment adjustment factor, so the segment factor is needed to explain these phenomena.
[0100] It should be pointed out that the segmentation scheme is not necessary. For example, if the process is relatively simple and can be well fitted without segmentation, then segmentation is not necessary.
[0101] Generally speaking, the metal thickness after CMP is equal to max(trench height after CMP – trench_bottom, 0). Where max means taking the maximum value in the brackets. If the user enters some wrong parameters and the range of unknown parameters to be optimized, the etching rate will become extremely large, grinding through the material and making the height of the material become negative, which is not allowed. There will be a similar mechanism in the process. If there is a problem with some parameter settings of the base, it will not continue to grind (which may cause damage) but will stop when it is detected to be polished.
[0102] It can be seen that if one wants to adjust the value of the metal layer thickness while keeping the CMP model as unchanged as possible (to ensure the accuracy of the CMP model's prediction of its own key indicators), a good option is to adjust the bottom of the groove, so that the metal layer thickness can be calibrated.
[0103] Repeat the above process. When time t = T (the total time set in the process table), the calculation and update can be stopped, and the final groove bottom simulation value can be output.
[0104] Before the etching process is performed, the heights of the groove structure and the non-groove structure are almost the same, but etching will etch the groove structure to form a groove, thus generating a groove bottom. One of the purposes of the present invention is to establish a physical simulation model for this process, so as to clearly know what the height of the groove structure in each grid area on the GDS layout will be after the etching process under a given GDS layout. The significance of knowing these is to better control the etching process, to know the morphological changes brought about by the process, whether there is a situation where the etching is too deep or too shallow, and for the subsequent CMP process, an indicator that needs to be predicted is the thickness value of the metal. For the thickness value of the metal layer, it comes from the grinding in the CMP process on the one hand, and on the other hand, it also depends on the etching result of the etching process. Therefore, if you want to grasp the change in the thickness of the metal layer, it is essential to grasp how etching produces groove bottoms of different heights.
[0105] During the optimization process, the etching rate is calculated at each time step. The etching rate changes all the time. As for R_material, it can be understood that the etching rate of a point in the real etching process within the time step dt is constant but unknown, and needs to be calculated. This etching rate is related to many factors, such as various process settings, materials, density, width, spacing, etc. When optimizing, you only need to find the part that is fixed at each time step, and the rest can be calculated according to the formula. In other words, R_material is fixed at every moment, including these scale factors, beta, alpha and other parameters. The so-called undetermined coefficient refers to something that is unknown but constant. In the entire model, there is no variable or parameter that is both unknown and constantly changing. For parameters, it may be unknown, but it must be fixed. For variables, it may change at every moment, but it can be calculated under given parameters. It can be said that this is the most basic assumption for any model. Because the model itself is an abstraction and simplification of the real process. This is an assumption that must exist in a physical process to summarize a model. Otherwise, this model cannot be solved and has no meaning.
[0106] At block 204 , an updated value of a parameter related to an etch rate of the trench is determined based on a comparison of the simulation value with the target value, such that a difference between the simulation value corresponding to the updated value of the parameter and the target value becomes smaller.
[0107] In some embodiments, the updated value of the parameter may be determined based on the initial data using a particle swarm algorithm, wherein a group of values corresponding to each parameter to be determined is regarded as a particle.
[0108] In some embodiments, the updated value of the parameter determined by the particle swarm algorithm based on the initial data includes: randomizing the initial position and speed of each particle; iteratively determining the individual historical optimal fitness value of each particle and the historical optimal fitness value of the group composed of each particle based on the initial position and speed, wherein the fitness value represents the degree of proximity between the groove bottom height value obtained under different parameter combinations and the groove bottom height measurement value included in the size information. In some embodiments, the fitness value represents the inverse of the mean square error between the groove bottom height value obtained under different parameter combinations and the groove bottom height measurement value included in the size information; and the group historical optimal fitness value determined in each iteration is used as the updated value of the parameter. It should be understood that the present disclosure is not limited to this, and other intelligent optimization algorithms can also be used to determine the updated value of the parameter related to the etching rate of the groove. By continuously iterating in this process, the parameter value is inferred based on the comparison between the simulation value and the target value. The closer the simulation value is to the target value, the closer the corresponding parameter value is to the true parameter value.
[0109] The following describes how to use the particle swarm algorithm to solve the optimal value.
[0110] There are many model parameters in the etching model. When building a model, it is often faced with the situation that some of these parameters are known, and some of them are known in approximate range but without clear values. In the embodiments of the present disclosure, the etching formula is clear and there will be measured data points. Therefore, in some embodiments, the PSO algorithm is introduced to solve these undetermined parameters based on the measured data point information. In short, this is a process of solving equations.
[0111] The idea of particle swarm algorithm comes from the study of foraging behavior of bird flocks. Bird flocks share collective information to find the best destination. Imagine a scene like this: Bird flocks randomly search for food in the forest, and they want to find the location with the most food. However, all birds do not know where the food is exactly, and can only feel the approximate direction of the food. Each bird searches in the direction it determines, and records the location where it has found the most food in the process of searching. At the same time, all birds share the location and amount of food they have found each time, so that the flock knows where the current amount of food is the most. During the search process, each bird will adjust the direction of its next search based on the location with the most food in its memory and the location with the most food recorded by the current flock. After a period of searching, the flock can find the location in the forest with the most food (global optimal solution).
[0112] A particle in the PSO algorithm refers to a set of parameter combinations. Assuming that the etching model has four undetermined parameters a, b, c, and d, then a particle refers to a combination of parameters a, b, c, and d with clear values, such as a = 1, b = 2, c = 3, d = 4, which is a particle. However, the true optimal values of a, b, c, and d cannot be confirmed so simply. The above is only the result of a certain test in the iterative process. As for whether it is the best, it needs to be compared with other combinations to know. Specifically, it can be known based on measurement data. For measurement data, the actual bottom height value of the groove after the etching process of the measurement data point can be known. In some embodiments, a = 1, b = 2, c = 3, d = 4 can be randomly assigned at the beginning of the optimization process. Of course, the random assignment will also be within a certain range, rather than unconditionally random. In some embodiments, the initial values of these undetermined parameters can be manually specified according to actual conditions.
[0113] In some embodiments of the present disclosure, the formula of the etching model is known, but some parameters are to be determined. Now there is a particle whose parameter values are known, which means that there is a definite model with completely known parameters. This model can obtain the simulation results of the bottom of the groove of these measurement data points, and there are real results. Then the error of each point can be calculated and averaged, and this error value is used to represent the quality of the solution of this particle (that is, the fitness value). Similarly, for a group of particles, the quality of the solution of this group of particles can be obtained. It is only necessary to simply sort the error values to confirm which particle is the best particle (so the optimal value can be recorded). But this is a one-iteration situation. In fact, the position of the particle can be changed (the position of the particle can be understood as the value of the parameter combination of the particle, because all possible solutions of the parameters to be determined will constitute a solution space, and the combination theory of this solution space is infinite, so for each particle with a determined parameter combination value, a position can be found in this solution space.
[0114] The solution space can be understood as a higher-dimensional number axis, because there are usually many undetermined parameters, so the dimension of this solution space may be very high, not just two-dimensional or three-dimensional. Because PSO is essentially a random algorithm with an iterative mechanism, the iteration here is reflected in the fact that before the maximum number of iterations is reached, new combinations and new attempts will continue. In each of the several attempts, there will definitely be the optimal particle of the attempt and its corresponding optimal parameter combination and error value. Then, the best can be selected from the optimal values of several times, thus obtaining the historical optimal of the group.
[0115] Speed can be understood as the amount of change a particle has made in this iteration. As mentioned earlier, a particle is actually a set of known solutions to the undetermined parameters, and the position is the position of the solution in the entire solution space. Speed is actually the amount of change. For example, for the undetermined parameters a, b, c, d, in the current iteration, the position of a particle is a = 1, b = 2, c = 3, d = 4. For the next iteration, the position of the particle can be changed. The position can be derived based on a very simple physical formula. The position at the next moment is equal to the position at this moment plus the speed. So assuming the speed is 1, then in the next iteration, the particle (a = 1, b = 2, c = 3, d = 4) will move to (a = 2, b = 3, c = 4, d = 5). The position of this particle in the solution space is different from that in the previous iteration, so it will have a new fitness value, which may be better or worse. If it is better than the historical best of the group, it means that a better solution has been found in this iteration. Of course, in actual iteration, it is not so simple to complete the position update. We can see that there are also inertia weight, learning factor, iteration step, etc. Therefore, for the movement of a particle, the actual operation process is to randomly select a moving step based on the iteration step range and consider the inertia weight, and then multiply it by the learning factor to get the actual moving speed of the particle.
[0116] The particle swarm algorithm has the advantages of fast convergence speed, few parameters, and simple and easy algorithm implementation (for high-dimensional optimization problems, it converges to the optimal solution faster than the genetic algorithm), but it also has the problem of falling into the local optimal solution, so it depends on good initialization.
[0117] Assuming that there are N particles in the N-dimensional search space, each particle represents a solution, then:
[0118] 1) The position of the i-th particle is:
[0119]
[0120] 2) The velocity of the ith particle (the distance and direction the particle moves) is:
[0121]
[0122] 3) The optimal position (individual optimal solution) searched by the i-th particle is:
[0123]
[0124] 4) The optimal position (group optimal solution) searched by the group is:
[0125]
[0126] 5) The fitness value (the value of the optimization objective function) of the optimal position searched by the i-th particle is:
[0127] fp——Individual historical optimal fitness value
[0128] 6) The fitness value of the optimal position searched by the group is:
[0129] fg —— historical optimal fitness value of the group
[0130] The speed update formula is introduced below:
[0131] The speed of the particle was mentioned earlier. It is called velocity in expression, but it is actually the distance and direction of the particle's next iterative movement, that is, a position vector.
[0132] .
[0133] 1) Explanation of the velocity update formula
[0134] Item 1: Inertia
[0135] It is composed of the inertia weight and the particle's own velocity, and represents the particle's trust in its previous state of motion.
[0136] Item 2: Cognitive part
[0137] It represents the particle's own thinking, that is, the part of the particle's own experience, which can be understood as the distance and direction between the particle's current position and its own optimal historical position.
[0138] Item 3: Social Part
[0139] It represents the information sharing and cooperation between particles, which comes from the experience of other excellent particles in the group. It can be understood as the distance and direction between the current position of the particle and the historical optimal position of the group.
[0140] (2) Parameter definition of speed update formula
[0141] N——particle group size; i——particle number, i=1,2,…,N;
[0142] D——particle dimension; d——particle dimension number, i=1,2,…,N;
[0143] k——number of iterations; w——inertia weight; c1——individual learning factor; c2——group learning factor;
[0144] r1, r2 — random numbers in the interval [0,1] to increase the randomness of the search;
[0145] ——the velocity vector of particle i in the kth iteration with dimension d;
[0146] ——the position vector of particle i in the dth dimension at the kth iteration;
[0147] ——The historical optimal position of particle i in the dth dimension in the kth iteration, that is, the optimal solution searched by the i-th particle (individual) after the kth iteration;
[0148] ——The historical optimal position of the swarm in the dth dimension in the kth iteration, that is, the optimal solution in the entire particle swarm after the kth iteration.
[0149] (3) Direction of speed
[0150] The moving direction of the particle in the next iteration = inertia direction + individual optimal direction + group optimal direction.
[0151] The following introduces the position update formula: the position of the previous step + the speed of the next step;
[0152]
[0153] Detailed explanation of the algorithm parameters:
[0154] (1) Particle swarm size: N
[0155] N is a positive integer, and the recommended value range is [20,1000]. For simple problems, it is generally 20~40, and for more difficult or specific problems, it can be 100~200. A smaller population size is prone to falling into a local optimum; a larger population size can improve convergence and find the global optimal solution faster, but the amount of calculation for each iteration will also increase accordingly; when the population size increases to a certain level, further increase will no longer have a significant effect.
[0156] (2) Particle dimension: D
[0157] The spatial dimension of the particle search is the number of independent variables.
[0158] (3) Number of iterations: K
[0159] Recommended value range: [50,100], typical values: 60, 70, 100; this needs to be adjusted according to the actual situation during the optimization process. If the number of iterations is too small, the solution will be unstable, and if it is too large, it will be very time-consuming and unnecessary.
[0160] (4) Inertia weight: w
[0161] In 1998, Yuhui Shi and Russell Eberhart introduced the inertia weight w to the basic particle swarm algorithm, and proposed to dynamically adjust the inertia weight to balance the globality and convergence speed of convergence. This algorithm is called the standard PSO algorithm.
[0162] The inertia weight represents the influence of the speed of the previous generation of particles on the speed of the current generation of particles, or the degree of trust that the particles have in their current state of motion. The particles move inertially according to their own speed. The inertia weight enables the particles to maintain the inertia of motion and the tendency to search for expansion space. The larger the value of the inertia weight, the stronger the ability to explore new areas, the stronger the global optimization ability, but the weaker the local optimization ability. Conversely, the weaker the global optimization ability, the stronger the local optimization ability. A larger inertia weight is conducive to global search, jumping out of local extreme values, and not falling into local optimality; while a smaller inertia weight is conducive to local search, allowing the algorithm to converge quickly to the optimal solution. When the space problem is large, in order to achieve a balance between search speed and search accuracy, it is usually practiced to make the algorithm have a higher global search ability in the early stage to obtain suitable seeds, and a higher local search ability in the later stage to improve convergence accuracy, so the inertia weight should not be a fixed constant.
[0163] When the inertia weight w=1, it degenerates into the basic particle swarm algorithm. When the inertia weight w=0, it loses the consideration of the particle's own experience. Recommended value range: [0.4,2], typical values: 0.9, 1.2, 1.5, 1.8.
[0164] (5) Learning factors: c1, c2
[0165] Also called acceleration coefficient or acceleration factor (these two names more vividly express the role of these two coefficients).
[0166] c1 indicates the weight of the particle's next action coming from its own experience, pushing the particle to the individual optimal position The acceleration weight of
[0167] c2 indicates that the next action of the particle is derived from the weight of the experience of other particles, pushing the particle to the optimal position of the group The acceleration weight of
[0168] c1=0: Selfless particle swarm algorithm, "only society, no self", quickly loses group diversity, and is prone to fall into local optimality and cannot jump out;
[0169] c2=0: Self-aware particle swarm algorithm, "only self, no society", no social sharing of information at all, resulting in slow convergence of the algorithm;
[0170] c1, c2 are not 0: The complete particle swarm algorithm is easier to maintain the balance between convergence speed and search effect, and is a better choice.
[0171] In some embodiments of the present disclosure, all parameters (including R_material, etc.) and various adjustment factors in the formulas for calculating etching rate, etc., can be optimized and solved using the PSO particle swarm algorithm. All of the above undetermined parameters together constitute a particle. When they take different specific values and produce different combinations, several different particles are generated, that is, each particle represents a set of solutions. The next step is to use the process of the particle swarm algorithm, first randomize the initial position and speed of each particle, calculate the historical optimal fitness value of the individual and the historical optimal fitness value of the group, and in the embodiment of the present disclosure, the fitness value is defined as the inverse of the mean square error (MSE) of the groove bottom height value obtained under different parameter combinations and the measured groove bottom height value, that is, the smaller the error value, the higher the fitness value, thereby updating the output of the historical optimal position of the individual and the optimal position of the group, and continuously iterating until the set maximum number of iterations is reached to output the result.
[0172] Refer to the following Figure 4 Give a description. Figure 4 A flow chart of a PSO algorithm according to some embodiments of the present disclosure is shown.
[0173] like Figure 4 As shown:
[0174] At block 402, the particle swarm parameters are initialized. At this point, the model input may include: particle swarm size; particle dimension; number of iterations; inertia weight; learning factor; iteration step range, etc. As mentioned above, the particle swarm parameters may be initialized randomly; or they may be manually specified as needed. The present disclosure does not limit this.
[0175] At block 404, the position and velocity of each particle are randomly initialized. In each round of iteration, the particle will move, and a certain amount of randomness is usually added when moving. It should be noted that this randomness is not completely random. If a particle is in position A after the end of this round of iteration, then the position of the next round is the current position and a certain amount of randomness is introduced to obtain the position of the next round. This ensures that the solution space can be searched as much as possible without falling into a local optimum. Figure 4 As shown, the individual historical optimal position; the group historical optimal position; the individual historical optimal fitness value; the group historical optimal fitness value can be output.
[0176] In some embodiments of the present disclosure, each round of iteration in PSO is to calculate a complete etching cycle. For example, the process from 0 to 100s. Then the height of each point at the end of these 100s is obtained, and then the error is calculated by comparing with the measurement point, so as to calculate the fitness of each particle in this round of iteration. For the case where the maximum number of iterations is 100, the etching process is set to last for 100s, and then 100 calculations are required. That is, the process from 0 to 100s is repeated 100 times, and it is observed whether the final result of this round of etching process from 0 to 100 fits the true value under the current given set of parameter solutions.
[0177] At block 406, it is determined whether the termination condition is satisfied. The input for determination at this time is: reaching the maximum number of iterations or the minimum difference in fitness values between two iterations.
[0178] If the maximum number of iterations is reached or the minimum difference between the fitness values of two iterations is less than a predetermined threshold, the end condition is met. Go to block 406. Otherwise, go to block 408.
[0179] At block 406, the optimal solution is output, a graph is drawn, and the result is saved.
[0180] At block 408, the velocity and position of each particle are updated for the next iteration.
[0181] At block 412, the fitness value of each particle is calculated, wherein the fitness value represents the inverse of the mean square error between the groove bottom height values obtained under different parameter combinations and the groove bottom height measurement values included in the size information.
[0182] At block 414, the individual historical best fitness value and position of each particle are updated;
[0183] At block 416, the historical best fitness value and position of the group are updated;
[0184] At block 418, other parameters are updated, such as inertia weight, number of iterations, etc. Then, the process may proceed to block 406 to determine whether the end condition is met for the next time.
[0185] Reference Figure 5 , Figure 5 A schematic diagram of updating the velocity direction of particles according to some embodiments of the present disclosure is shown. Figure 5 The left side of the figure shows the inertial direction of the particle, the individual optimal direction and the group optimal direction. The right side shows the new direction of the particle, which is the sum vector of the inertial direction of the particle, the individual optimal direction and the group optimal direction.
[0186] In the above embodiment, the PSO algorithm is used as an example to illustrate the process of optimizing and solving the parameters. Of course, the embodiments of the present disclosure are not limited to this, but can have various changes. For example, in addition to the particle swarm algorithm, there are also GA algorithms (genetic algorithms) and DE algorithms (differential algorithms). Whether it is PSO or GA, DE is essentially an intelligent optimization algorithm. It is just a process for solving the undetermined parameters in this application. There is no difference between the advantages and disadvantages of each other. When the number of iterations is sufficient, a good parameter solution can be found.
[0187] In some embodiments, an updated value of the parameter is continuously generated through iteration. A simulation value is determined based on the updated value of the parameter, and the simulation value is compared with the target value to determine the difference between the two. In response to the difference satisfying a predetermined condition, the parameter with the updated value is determined as a model parameter of the etching rate of the model to generate a simulation model.
[0188] In some embodiments, it can be determined that the difference satisfies a predetermined condition based on any one of the following: the difference in the historical optimal fitness value of the group between two iterations is less than a first predetermined threshold; the ratio of the simulation values of the groove bottom height of two iterations is less than a second predetermined threshold; or the number of iterations or the iteration time reaches a third predetermined threshold.
[0189] From the above description, we can know that in a complete etching process, the parameters are unchanged. The undetermined parameters are just uncertain about their values, but it does not mean that they will change. The PSO algorithm has many rounds of iterations, and each round of iteration has many particles. Each particle needs to calculate a complete etching process in one round of iteration. A particle represents a solution to a set of determined parameter values. For a model with undetermined coefficients, if the undetermined coefficients are determined, the model is quite clear. After the model is clear, a corresponding result can be calculated for a given variable. Therefore, each particle needs to calculate a complete etching process in each round of iteration to obtain the quality of the parameter solution represented by this particle. When a set of parameters is determined, the model is determined, and the density, width, and interval values of each data point can be brought in to obtain the simulation results of the data point. Moreover, the actual measurement results of each data point are known, so the error of each data point under the current model can be calculated, so the particle in this round of iteration can be "scored" in turn. Similarly, each particle can be scored in this way in each round of iteration, so that it can be evaluated which particle represents the best parameter solution.
[0190] It can be seen that the solution using the particle swarm optimization algorithm is actually to infer the parameter value from the comparison result between the simulation value and the target value.
[0191] In the above embodiments, the process of solving the optimal solution does not involve matrix transformation, but is just a normal matrix element-level operation. In some embodiments, the matrix X is used because the computer is faster when processing such operations and can be parallelized. The present disclosure is not limited to this. In fact, from the perspective of computational logic, each data is also calculated separately and then compared, but the efficiency is relatively low). Each particle can calculate a fitness value, and the definition of this fitness value in the model is the error with the actual measured data, for example, through the MSE indicator, the lower the MSE value, the better. Therefore, an optimal solution can be determined by the lowest MSE.
[0192] In addition, regarding the relationship between the etching model and the CMP model: etching is a process before CMP, and the results of etching will affect the results of CMP. Therefore, if you want to clearly understand and explain the results after the CMP process is completed, you must be able to grasp and explain the changes brought about by the etching process.
[0193] The etching simulation model of the disclosed embodiment can be used together with the CMP model, but it is not necessary. The etching model can be used alone. If you want to know the result after etching, you can use etching alone, but if you want to know the result after CMP, the etching model can also provide some explanation and help for the CMP result.
[0194] In some embodiments of the present disclosure, the etching process is abstracted using the concept of time step, and the physical process of etching is simulated using the concept of time step, and a physical model of etching is established; and after the abstraction, a black box optimization algorithm (such as PSO algorithm, etc.) is used to solve the optimal parameters. The core point of the time step is to abstract and simplify a physical process that is constantly changing and unpredictable, and establish a core assumption, that is, in a very short period of time, the core physical variable (etching rate) is constant, and the height of the next step only needs to be equal to the height of this step minus That is, where rate represents the etching rate. In the complete etching process of a particle calculation, the calculation formula is fixed, and the difference in calculating rate for each dt is caused by H.
[0195] It should be noted that the above embodiments are described using an etching model, and the embodiments of the present disclosure are not limited thereto, that is, not limited to an etching model. The principle can be extended to multiple process steps in semiconductor technology and multiple semiconductor device structures.
[0196] In some embodiments of the present disclosure, an etching model with actual physical meaning is created based on the physical mechanism of etching, the prediction of etching conforms to the real physical process, and the obtained simulation results have a theoretical basis.
[0197] In some embodiments of the present disclosure, a segmentation mechanism is introduced to enable the model to have great adjustment capabilities, so that the model established in the embodiments of the present disclosure can well assist the CMP model to fit the final metal layer thickness value, protecting the accuracy of the CMP model from loss. The particle swarm algorithm is an efficient intelligent optimization algorithm that can quickly and well solve the optimal parameter value in the model.
[0198] In some embodiments of the present disclosure, a segmentation mechanism is introduced into the formula to greatly improve the upper limit and adjustability of the model; in some embodiments of the present disclosure, an intelligent optimization algorithm is used to solve the optimal parameters, avoiding the difficulty of solving the parameters of complex models that cannot be optimized using pure mathematical methods.
[0199] Some embodiments of the present disclosure provide methods for generating simulation models for semiconductor process devices, methods for simulating using the above simulation models, and simulation models. It should be noted that the examples given in the above embodiments are only for illustrating the solutions of the embodiments of the present disclosure and are not intended to limit the solutions of the present disclosure.
[0200] It should be understood that the embodiments shown in the drawings are only for schematically illustrating the solutions of some embodiments of the present disclosure and are not intended to limit the present disclosure. The embodiments of the present disclosure may also have various other forms.
[0201] An electronic device is also disclosed in an embodiment of the present disclosure. The electronic device includes: a processor; and a memory coupled to the processor, the memory having instructions stored therein, and when the instructions are executed by the processor, the device performs actions, the actions including: determining a simulation value of a final height of the bottom of the groove after etching based on each time step and a corresponding etching rate; determining an updated value of a parameter based on a comparison between the simulation value and a target value, so that the difference between the simulation value corresponding to the updated value of the parameter and the target value becomes smaller.
[0202] The embodiments of the present disclosure further disclose a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the method according to the embodiments of the present disclosure is implemented.
[0203] Figure 6 A schematic block diagram of an electronic device according to some exemplary embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0204] like Figure 6 As shown, the device 600 includes a CPU 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The CPU 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0205] Multiple components in the device 600 are connected to the I / O interface 605, including: an input unit 606, such as a keyboard, a mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a disk, an optical disk, etc.; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0206] The various processes and processing described above, such as method 200, can be executed by CPU 601. For example, in some embodiments, method 200 can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program can be loaded and / or installed on device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by CPU 601, one or more steps in method 200 described above can be performed.
[0207] The scheme according to the embodiment of the present disclosure may be a method, an apparatus, a system and / or a computer program product. The computer program product may include a computer-readable storage medium on which computer-readable program instructions for executing various aspects of the present disclosure are loaded. The computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. The computer-readable program instructions may be downloaded from the computer-readable storage medium to various computing / processing devices, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network and / or a wireless network.
[0208] Various embodiments of the present disclosure have been described above, and the above descriptions are exemplary and are only optional embodiments of the present disclosure, not exhaustive, and are not intended to limit the present disclosure. Although the claims in this application have been formulated for specific combinations of features, it should be understood that the scope of the present disclosure also includes any novel features or any novel combination of features disclosed herein, whether or not it relates to the same scheme in any claim currently claimed for protection. The applicant hereby informs that new claims may be formulated into these features and / or combinations of these features during the examination of this application or in any further application derived therefrom.
[0209] The terms used in this article are selected to best explain the principles of each embodiment, practical application or technical improvement in the market, or to enable other ordinary technicians in the field to understand the embodiments disclosed herein. For those skilled in the art, the present disclosure may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present disclosure shall be included in the scope of protection of the present disclosure.
Claims
1. A method for updating parameters of a simulation model, comprising: Determining a simulated value of a final height of a bottom of the trench after etching based on each time step and a corresponding etching rate, wherein the etching rate is determined based on initial data and initial values of parameters related to the etching rate of the trench, wherein the initial data indicates dimensional information of the wafer and the trench to be etched; as well as determining an updated value of a parameter related to an etching rate of the trench based on a comparison between the simulation value and the target value so that a difference between the simulation value corresponding to the updated value of the parameter and the target value becomes smaller; The size information at least includes the following characteristic size information: The density of the pattern within the grid on the wafer; the width of the graphic; The spacing between the graphics; and The initial height of the bottom of the trench; The parameters include at least one of the following: The nominal etch rate of the material; An influencing factor of the density; Etching solution concentration; Width influence factor; Etching solution concentration adjustment factor; and The influence factor of the interval.
2. The method of claim 1 , wherein determining the etching rate based on initial data and an initial value of a parameter related to the etching rate of the trench comprises: The etching rate in each time step is determined based on the initial value, the feature size information and the height of the bottom of the trench in each time step.
3. The method according to claim 2, wherein determining a simulated value of a final height of the bottom of the etched trench based on the respective time steps and the corresponding etching rates comprises: Determining an etching rate in a first time step and an etching depth in the first time step based on an initial value of the parameter and an initial height of a bottom of the trench; Determining the etching rate in the corresponding time step and the etching depth in the corresponding time step based on the initial value of the parameter and the etching depth in the corresponding time step in sequence; and A simulated value of a final height of the bottom of the trench is determined based on the initial height of the bottom of the trench and the sum of the etching depths in each time step.
4. The method according to claim 1, wherein the etching rate is determined based on the following formula: ,in, Wherein R_bottom represents the etching rate, R_bottom_cal represents the uncorrected etching rate, modify_factor represents the segmentation factor for segmenting the grid points on the wafer, R_material represents the nominal etching rate of the material, alpha and beta both represent the influencing factors of the density, b represents the etching solution concentration, scale_factor represents the etching solution concentration adjustment factor, F is the influencing factor of the interval, density represents the density of the graphics in the grid area, and its range is between 0-1, width represents the average width of the graphics in the grid area, space represents the average interval between the graphics in the grid area, alpha ranges from 0 to positive infinity, beta ranges from negative infinity to positive infinity, b ranges from 0 to 100, scale_factor ranges from 0 to positive infinity, C is the influencing factor of the width, H is the groove depth at the current moment, and the ranges of C and F are both positive infinity to negative infinity.
5. The method according to claim 4, wherein the simulated value of the current height of the bottom of the trench is determined based on the following formula: ; Wherein TB_t represents the simulation value of the height of the bottom of the groove at the current moment, TB_t-1 represents the simulation value of the height of the bottom of the groove at the previous moment, and dt represents the time step.
6. The method according to claim 3, wherein the method further comprises: Segmenting the grid points on the wafer based on the density of the patterns, the width of the patterns, and the spacing between the patterns; as well as The etching rates of the grid points within the same segment interval are adjusted using the same etching rate adjustment factor.
7. The method of claim 1 , wherein determining an updated value of the parameter based on the comparison of the simulated value with a target value comprises: Based on the initial data, the updated value of the parameter is determined using a particle swarm algorithm, wherein a group of values corresponding to each parameter to be determined is regarded as a particle.
8. The method according to claim 7, wherein determining the updated value of the parameter based on the initial data using a particle swarm algorithm comprises: Randomize the initial position and velocity of each particle; The individual historical optimal fitness value of each particle and the group historical optimal fitness value of each particle are iteratively determined based on the initial position and speed, wherein the fitness value represents the degree of closeness between the simulated value of the bottom height of the groove obtained under different parameter combinations and the measured value of the bottom height of the groove, and The historical optimal fitness value of the group determined in each iteration is used as the updated value of the parameter. 9 . The method according to claim 8 , wherein the adaptation value represents the inverse of the mean square error between the simulation value of the bottom height of the groove obtained under different parameter combinations and the measured value of the bottom height of the groove included in the size information.
10. The method according to any one of claims 7 to 9, further comprising: In response to the difference satisfying a predetermined condition, the parameter having the updated value is determined as a model parameter of the etch rate of the model.
11. The method according to claim 8, wherein the difference satisfies a predetermined condition comprises: The difference between the historical optimal fitness values of the group between two iterations is less than a first predetermined threshold; A ratio of simulation values of bottom heights of the grooves in two iterations is less than a second predetermined threshold; or The number of iterations or the iteration time reaches a third predetermined threshold.
12. A simulation model generated by the method according to any one of claims 1 to 10.
13. A method for simulation using the simulation model according to claim 12.
14. An electronic device comprising: processor; as well as A memory coupled to the processor, the memory having instructions stored therein, the instructions causing the device to perform actions when executed by the processor, the actions comprising: Determining a simulated value of a final height of the bottom of the trench after etching based on each time step and a corresponding etching rate, wherein the etching rate is determined based on initial data and an initial value of a parameter related to the etching rate of the trench, wherein the initial data indicates dimensional information of the wafer and the trench to be etched; and determining an updated value of a parameter related to an etching rate of the trench based on a comparison between the simulation value and the target value so that a difference between the simulation value corresponding to the updated value of the parameter and the target value becomes smaller; The size information at least includes the following characteristic size information: The density of the pattern within the grid on the wafer; the width of the graphic; The spacing between the graphics; and The initial height of the bottom of the trench; The parameters include at least one of the following: The nominal etch rate of the material; An influencing factor of the density; Etching solution concentration; Width influence factor; Etching solution concentration adjustment factor; and The influence factor of the interval.
15. A computer-readable storage medium having machine-executable instructions stored thereon, which, when executed by a processor, enables the processor to implement the method according to any one of claims 1-11 and 13.
Citation Information
Patent Citations
Flexible PCB structure design method based on wet chemical etching joint simulation
CN112966467A
Simulation method and device of groove etching process, storage medium and terminal
CN115688489A