Parameter updating method of simulation model, simulation method, electronic equipment and medium
By updating the etching rate parameters based on the time step and etching rate in the CMP model and combining it with particle swarm optimization, the problem of insufficient simulation of the impact of the trench bottom in the existing CMP model is solved, and the accuracy and adjustability of the metal layer thickness prediction are improved.
Patent Information
- Application Number
- CN202510795772.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-13
- Publication Date
- 2025-09-26
AI Technical Summary
The existing CMP model cannot accurately simulate the influence of the trench bottom when predicting the metal layer thickness, resulting in insufficient accuracy and adjustability in metal layer thickness prediction, and may sacrifice the fitting accuracy of other process indicators.
The final height of the trench bottom after etching is determined based on the time step and etching rate. The parameters related to the etching rate are updated by comparing the simulation value with the target value to reduce the difference between the simulation value and the target value. The particle swarm algorithm is used to optimize the parameter update.
The accuracy and adjustability of metal layer thickness prediction are improved, the fitting accuracy of CMP model is enhanced, and the impact on other process indicators is reduced.
Smart Images

Figure CN120706352A_ABST
Abstract
Description
[0001] This application is a divisional application of the Chinese patent application with the application date of February 13, 2025, the national application number 202510159488.0, and the invention name of "Parameter updating method of simulation model, simulation method, electronic device and medium". Technical Field
[0002] Embodiments of the present disclosure generally relate to integrated circuits, and more particularly, to a method for updating parameters of a simulation model, a simulation method, an electronic device, and a storage medium. Background Art
[0003] Current predictions of metal thickness after the back-end of chemical mechanical polishing (CMP) often rely heavily on CMP models, which typically only simulate the metal topography outside the trench bottom. However, the trench bottom also affects the final metal thickness. This value is often assumed to be a fixed value, or simply generated using empirical values or mathematical formulas to create an etch table, which is then calculated by looking up a limited number of values in the table. This has significant limitations in both accuracy and adjustability. Summary of the Invention
[0004] According to example embodiments of the present disclosure, a simulation solution is provided to at least partially overcome the above or other potential drawbacks.
[0005] According to a first aspect of the present disclosure, a method for updating parameters of a simulation model is provided. The method includes: determining a simulated value of a final height of a bottom of an etched trench based on respective time steps and corresponding etching rates; and determining an updated value of a parameter related to the trench etching rate based on a comparison between the simulated value and a target value, such that the difference between the simulated value corresponding to the updated parameter and the target value is reduced.
[0006] 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.
[0007] In a third aspect of the present disclosure, a method for performing simulation using the simulation model of the first aspect of the present disclosure is provided.
[0008] 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, which, when executed by the processor, cause the device to perform actions, the actions comprising: determining a simulated value of a final height of a bottom of a trench after etching based on respective time steps and corresponding etching rates; and determining an updated value of a parameter related to the etching rate of the trench based on a comparison of the simulated value with a target value, such that a difference between the simulated value corresponding to the updated value of the parameter and the target value is reduced.
[0009] In some embodiments, the etch rate is determined based on initial data and initial values of parameters related to the etch rate of the trench, wherein the initial data indicates dimensional information of the wafer and the trench to be etched.
[0010] In some embodiments, the size information includes at least the following feature size information: density of patterns within a grid on the wafer; width of the patterns; spacing between patterns; and initial height of the bottom of the trench.
[0011] In some embodiments, determining the etching rate in each time step based on the initial data and the initial value of the parameter related to the etching rate of the trench includes: determining the etching rate in each time step based on the initial value, the feature size information, and the height of the bottom of the trench in each time step.
[0012] In some embodiments, determining the simulation value of the final height of the bottom of the trench after etching based on each time step and the corresponding etching rate includes: determining the etching rate in the first time step and the etching depth in the first time step based on the initial value of the parameter and the initial height of the bottom of the trench; determining the etching rate in the 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 the 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.
[0013] 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.
[0014] In some embodiments, the etch rate is determined based on the following formula:
[0015] R_bottom=R_bottom_cal*modify_factor, where
[0016] R_bottom_cal=R_material*e(-alpha*(density^beta)) / 1+(b / scale_factor)*width^C*space^F*(H / width);
[0017] 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 density influencing factors, b represents the etching solution concentration, scale_factor represents the etching solution concentration adjustment factor, F is the spacing influencing factor, 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 spacing 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 width influencing factor, H is the trench depth at the current moment, and both C and F range from positive infinity to negative infinity.
[0018] In some embodiments, the simulation value of the current height of the bottom of the trench is determined based on the following formula: TB_t=TB_t-1–R_bottom*dt; where TB_t represents the simulation value of the height of the bottom of the trench at the current moment, TB_t-1 represents the simulation value of the height of the bottom of the trench at the previous moment, and dt represents the time step.
[0019] In some embodiments, 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; and adjusting the etching rates of the grid points within the same segment using the same etching rate adjustment factor.
[0020] 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.
[0021] 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, where the fitness value represents the degree of closeness between the simulated value of the groove bottom height obtained under different parameter combinations and the target 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.
[0022] 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 target value of the trench bottom height included in the size information.
[0023] 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 etch rate of the model.
[0024] In some embodiments, the difference satisfies the predetermined conditions 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.
[0025] 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.
[0026] 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.
[0027] 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
[0028] Figure 1 A schematic diagram illustrating an example environment in which embodiments of the present disclosure can be implemented;
[0029] 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;
[0030] Figure 3 shows a schematic cross-sectional view of a trench according to some embodiments of the present disclosure;
[0031] Figure 4 A schematic diagram of a PSO algorithm according to some embodiments of the present disclosure is shown;
[0032] Figure 5 shows a schematic diagram of updating the velocity direction of particles according to some embodiments of the present disclosure;
[0033] Figure 6 A block diagram of a computing device according to some embodiments of the present disclosure is shown.
[0034] In the various drawings, the same or corresponding reference numerals denote the same or corresponding parts. DETAILED DESCRIPTION
[0035] 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 can be used in the figures where possible, and similar or identical reference numerals can represent similar or identical functions. Those skilled in the art will readily recognize, from the description below, that alternative embodiments of the structures and methods described herein can be adopted without departing from the principles of the present invention described herein.
[0036] As used herein, the term "including" and its variations represent 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 "one 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 identical objects.
[0037] CMP, a combined chemical and physical material removal process, has become an essential step in the modern IC industry. Specifically, CMP uses chemical etching and mechanical forces to planarize silicon wafers or other substrate materials during processing. CMP can achieve nanometer-scale material removal, resulting in a flat wafer surface.
[0038] As the name suggests, a CMP model is a physical model that simulates the CMP process. This model outputs key physical metrics for each grid point on the wafer after the CMP process, such as trench thickness, non-trench thickness, and post-CMP metal thickness. Simply put, it's a physical model that predicts the surface topography of the wafer after the CMP process. CMP is one of the eight major semiconductor processes, connecting the upstream and downstream processes. Subsequent processes are affected by the CMP process. Therefore, when evaluating and controlling post-CMP process results, understanding the impact of the CMP process is crucial for comprehensive semiconductor manufacturing process control and yield improvement. Furthermore, the CMP process itself is an essential step. A CMP model can be used to better adjust the CMP process. The CMP model's results can be used to infer which process parameters require modification and adjustment, and whether there are any inappropriate GDS design features that could lead to hotspots, or defects.
[0039] The metal layer is deposited at the bottom of the trench. As the name suggests, the trench bottom is the bottom layer of the trench. The process begins with an etch step, which etches the wafer to create grooves, or the bottom of the trench. Then, a deposition process occurs, depositing various materials onto the wafer. Naturally, due to the etching process and different GDS designs, the depth of the grooves varies from region to region, and the height of the material deposited after deposition will also vary. For example, the most common metal deposited in CMP is copper. Typically, in the final deposition step, before CMP, the top layer of the wafer is copper, meaning copper is the first polished layer. As previously described, etching results in grooves of varying depths in different regions, and the thickness of the deposited material also varies. This means that for wafers after CMP, the surface topography must be evaluated, understanding both the changes that occurred during the CMP process and the changes and fluctuations that existed before CMP.
[0040] In the real world, CMP essentially refers to the polishing of the surface of a wafer immersed in a polishing liquid using a grinding head on a base. Simply put, GDS is a data format for the real entity of the 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 type of computer data, namely a GDS file. The GDS file clearly describes the structure and design 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. Semiconductor manufacturing is to carve a wafer into the shape of the layout design through various processes.
[0041] As mentioned earlier, the value at the bottom of the trench is usually directly determined as a fixed value, or simply some empirical values or mathematical formulas are used to create 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, in order to fit the value that meets the measured metal layer thickness, the CMP model is changed, resulting in the CMP model sacrificing the fitting accuracy of the dishing defect (Dishing) corrosion (Erosion) indicator. Here, Dishing refers to the difference between the height of the trench structure and the height of the non-trench structure, and Erosion refers to the difference in the height of the non-trench structure at each grid point relative to the baseline thickness.
[0042] In view of this, the present disclosure provides an improved solution for generating semiconductor process device simulation models.
[0043] Embodiments of the present disclosure provide an improved method for generating a simulation model for a semiconductor process device. The method includes: determining a simulated value for the final height of a trench bottom after etching based on each time step and the corresponding etching rate; and determining an updated value for a parameter related to the trench etching rate based on a comparison between the simulated value and a target value, such that the difference between the simulated value corresponding to the updated parameter and the target value is minimized.
[0044] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0045] Figure 1 1 shows 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 .
[0046] In some embodiments, computing device 110 may interact with client 120. For example, computing device 110 may receive input messages from client 120 and output feedback messages to client 120. In some embodiments, the input messages from client 120 may be design layout data. Computing device 110 may perform corresponding mathematical operations on the design layout data and output the corresponding operation results to client 120.
[0047] In some embodiments, the 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.
[0048] It should be understood that the structure and functionality of the example environment 100 is described for illustrative purposes only and is 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. This environment is merely illustrative and is not intended to limit the application environment of the embodiments of the present disclosure.
[0049] 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.
[0050] 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.
[0051] At block 202 , a simulated value of a final height of the bottom of the trench after etching is determined based on the various time steps and the corresponding etch rates.
[0052] In some embodiments, the etching rate within each time step can be determined based on initial data and initial values of parameters related to the trench etching rate. The initial data can indicate dimensional information of the wafer and the trench to be etched, such as the distribution and location of the grid points on the wafer, the location of the trench on the wafer, the initial height of the trench bottom, and other information. The present disclosure is not limited to this, and the etching rate can also be determined by other methods depending on actual process conditions.
[0053] First, let's introduce a basic concept: Etching is a process that uses chemical methods to etch the wafer surface to form a target pattern. Etching targets the trench structure, chemically etching the trench structure over time. Etching is typically performed as a pre-CMP step, prior to the CMP process.
[0054] Several key elements in some embodiments of the present disclosure are described below:
[0055] Element 1: Graphic Data System (GDS) characteristics, primarily referring to density, width, and spacing. Each location on a GDS sheet has different GDS characteristics (different density and width values), which significantly impact the height of each location after etching. In some embodiments, the density, width, and spacing of the patterns are referred to as feature size information.
[0056] In GDS, there are many graphics (patterns), which can be microstructures 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. Therefore, density is a number between 0 and 1. Width is a descriptive statistical indicator that measures the width of the graphics within the area. Graphics are usually rectangles or combinations of rectangles. Usually, all graphics in the area are scanned to obtain their width values, and finally the mean or median is taken as the width value of the area. Interval describes the interval between graphics in the area, because the graphics themselves are arranged at a certain interval.
[0057] Element 2: Prediction target / simulation object. The simulation is based on the trench height at each point in the GDS after the etching process, which is the value at the bottom of the trench, recorded as TB.
[0058] Element 3: The recipe, which contains the etching process information. Different manufacturers have different process settings, including etching process duration, etching start and end time, unit time step, and other etching-related information; as well as the various materials and thicknesses obtained in the deposition process before etching, and the target height (target thickness) after etching.
[0059] 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 spacing between the patterns; and the initial height of the bottom of the trench. In some embodiments, the grid can be segmented based on these characteristics.
[0060] 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.
[0061] In some embodiments, the parameters may be randomly assigned values initially, for example within a predetermined range. The predetermined range may be related to process conditions, initial dimensions of the wafer and the trench to be etched, and etching process information.
[0062] 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.
[0063] As mentioned above, 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 3 As shown, the region shown in the wafer includes multiple grooves, i.e., an array of grooves. The control region shown on the left has no graphic structure and is a blank test control region specifically used for comparison with the region with graphics. In the embodiment of the present disclosure, all the grid points in the model represent regions with graphics, such as Figure 3 Shown in the middle right part.
[0064] Erosion refers to the difference between the NonTrench structure height of each grid point and the reference thickness. The specific formula is field reference thickness (reference thickness of the control area, Figure 3The reference height (shown as a reference height) is SThickNT (non-trench structure thickness), where the reference height can be specified by the user and is related to their process settings. Both Dishing and Erosion are important metrics in CMP models for evaluating process results.
[0065] Back to Figure 2 Continuing with the description, we previously mentioned that the initial data indicates the dimensions of the wafer and the trench to be etched. In some embodiments, the initial data may also include etching process information. Furthermore, the dimensional information may include any dimensional information of the wafer and the trench. For example, it may include the location of the etched trench, the target depth, and other dimensional information.
[0066] 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).
[0067] It should be pointed out that the target value and the measured value mentioned in this application may be the same. In layman's terms, the constructed model is used to make predictions (also called simulations), and the correct "answer" is the target value (because in the semiconductor manufacturing scenario, these correct answers usually come from measurements of various measurement equipment, so they can also be called measured values). In other words, the simulation value / prediction value refers to the "guess" given by the model, and the target value / measurement value refers to the standard "answer" given by the measurement machine. It should be understood that in some embodiments, the measured value can be used as the target value, but the target value is not necessarily the measured value. In fact, the target value can also be a corrected measured value (a value corrected to take into account insufficient measurement accuracy), or a calculated value, or a value determined by other means.
[0068] In the context of this model, a point refers to a grid. By extracting information from a grid point, a data point is obtained. This grid point is also referred to as a measurement point. Strictly speaking, a grid point is a rectangular area defined by a specific size (typically between 5um*5um and 20um*20um).
[0069] In some embodiments, the data may be initialized, for example, by taking the density, width, and spacing of the measured data points 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.
[0070] Measurement data points can be selected based on actual needs. For example, consider 100 measurement data points. Each measurement data point represents a small area (called a grid point) on a GDS. The dimensions of this small area are predetermined. Within this small area, metrics such as density, width, and spacing can be extracted. This is because the grid point represented by this measurement data point (for example, a 10µm x 10µm area) contains density, width, and spacing data, such as 0.5µm, 0.1µm, and 0.1µm, respectively. There are 100 such grid points, or measurement data points. This means there are 100 points for density, 100 points for width, and 100 points for spacing. These 100 density points can form an anchor vector (length 100). The same applies to width and spacing. These three vectors can then be combined in the other direction, resulting in a matrix with a shape of (100, 3), or 100 rows and 3 columns. Specifically, the three columns represent density, width, and spacing, while the 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.
[0071] Post-etch results are typically available to users during modeling. During the semiconductor manufacturing process, scanning (such as optical scanning or probe light) is performed after certain steps to capture the current topography. Therefore, post-etch trench height data is often available. However, considering the cost of measurement, appropriate measurement points on the wafer can be selected for measurement to obtain the appropriate data.
[0072] The deposition information before etching in the process information table can be used to determine which materials were deposited and their thicknesses. Typically, the first material (usually an oxide) is deposited first, followed by the second material (usually a barrier layer), which is then etched. Finally, the third material (usually copper or other metal) is deposited, followed by CMP.
[0073] 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, and 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 number between 5um*5um and 20um*20um (actually depends on the process and manufacturer).
[0074] 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.
[0075] pre_trench_height=oxide_dep_thickness+barrier_dep_thickness (1);
[0076] Then the trench bottom 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.
[0077] 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.
[0078] The time 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.
[0079] In some embodiments, a 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.
[0080] In some embodiments, the etching rate 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 trench bottom; the etching rate 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 trench bottom can be determined based on the initial height of the trench bottom 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 actual conditions. Therefore, the method of determining the simulation value of the final height of the trench bottom after etching based on each time step and the corresponding etching rate in the present disclosure is not limited to the above embodiment.
[0081] In some embodiments, the grid points on the wafer may be segmented based on pattern density, pattern width, and spacing between patterns; and the etching rates of the grid points within the same segment may be adjusted using the same etching rate adjustment factor.
[0082] Building an etching model typically requires first developing a physical equation for etching, followed by determining the parameters within that equation. In some embodiments of the present disclosure, the physics of etching are abstracted, summarized, and refined to produce a physical equation containing these parameters. Determining these parameters requires using measurement data to solve for these parameters.
[0083] 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.
[0084] The physical formulas in some embodiments of the present disclosure are introduced below.
[0085] 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 during the etching process.
[0086] The groove height at the next time point can be updated based on R_bottom. The update formula is:
[0087] TB_t=TB_t-1–R_bottom*dt (2);
[0088] The simulation value of the current height of the trench bottom is determined based on this formula. Where TB_t represents the simulation value of the height of the trench bottom at the current moment, TB_t-1 represents the simulation value of the height of the trench bottom at the previous moment, and dt represents the time step.
[0089] 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.
[0090] The core of the model then becomes the generation and calculation of R_bottom. Specifically, R_bottom is equal to:
[0091] R_bottom_cal*modify_factor(3);
[0092] in:
[0093] R_bottom_cal=R_material*e(-alpha*(density^beta)) / 1+(b / scale_factor)*width^C*space^F*(H / width)(4);
[0094] R_bottom_cal is an intermediate variable; R_material represents the nominal etch rate of the material. R_bottom is equal to R_bottom_cal * modify_factor. Modify_factor represents the segmentation factor (or segmentation adjustment factor, which has no mandatory range and is theoretically in real number space). Therefore, R_bottom_cal represents an intermediate variable in the entire model and can be understood as the unmodified R_bottom. H is the current trench depth, which is defined as the current non-trench structure height minus the current trench structure height (the current trench bottom value). alpha and beta are density influencing factors. b is related to the etching chemistry and refers to the etching solution concentration. Scalefactor is the etching solution concentration adjustment factor, which is used to adjust the influence of etching solution concentration. C is the influence factor of the width variable, and F is the influence factor of the space variable. R_material represents the nominal etch rate of the material. It depends on the etching rate of each material given in the process settings and can be specified by the user. Different materials and etching processes have different R_materials. F is the spacing factor, 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 both C and F range from positive infinity to negative infinity. Density represents the density of the graphics within the grid area, ranging from 0 to 1. Width represents the average width of the graphics within the grid area, and space represents the average spacing between the graphics within the grid area. Density can be expressed as the sum of the areas of several graphics (patterns) within the grid area divided by the area of the grid area.
[0095] The influencing factors alpha, beta, b, c, F, and Modify_factor can be user-defined based on actual process conditions. Etch speed is influenced by GDS layout characteristics such as density, width, and spacing, which all affect the actual etch rate. Furthermore, process factors, such as the concentration of the etching chemical, influence the etch rate. Based on analysis of raw data and the inventor's understanding of the etching process, these influences can be considered multipliers: influence 1 * influence 2 * influence 3 * ..., ultimately resulting in a composite effect. The ranges for each of the aforementioned influencing factors are theoretically permitted; extreme cases such as positive infinity and negative infinity are not set in practice.
[0096] It's important to note that R_material is closely related to the material, but it's also dependent on the current process settings. For example, factors like the grinding head speed and pressure have an impact. The same material, ground with different process settings, will produce different grinding rates. For this reason, R_material can be optimized and solved like other parameters. The R_material solved here is actually the actual grinding rate, an unknown value that combines the material properties and the current process settings.
[0097] As can be seen from formula (4), the etching rate is related to various parameters, where density, width, space, and H are variables. Because the density and other conditions of each point are different, the actual etching rate of each trench is different.
[0098] The etching rate can be considered constant during the time dt. When the values of various parameters are determined, the etching rate during the time dt varies with different variables.
[0099] In some embodiments, the grid points can be segmented, that is, segmented using sub-segment Modify_factor. Assuming that the model is currently divided into P segments based on density / width / space, the specific formula is:
[0100] Modify_factor=(1+interval_1*tune_factor_1)*....*(1+interval_P*tune_factor_P)(5);
[0101] Among them, the tune_factor is the segmented adjustment coefficient. The recommended value range of the segmented adjustment coefficient is (-1, 1), an open interval. The definition of segmentation is as follows. Assume that for the M-th segment among P segments, the settings are 0 <= density <= 0.5, 0 < width <= 0.1, 0 < space < 0.5. In the data matrix X, all lattice points whose density, width, and spacing simultaneously meet the above conditions will be classified into this segmented interval, and the corresponding interval_M = 1. For other points not in this segmented interval, during the calculation process, interval_M = 0. That is to say, each segment in the segmentation is adjusted using formula (5). For all lattice points whose density, width, and spacing simultaneously meet the conditions of the M-th segment, the corresponding interval_M = 1. For other lattice 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 has no effect on 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 in different segments, the values of density, width, and spacing cannot overlap.
[0102] tune_factor_M refers to the adjustment factor required to adjust this segment, usually between positive and negative 1. If it is set to a, it is considered that the R_bottom of all points within the segmented interval M will be adjusted based on R_bottom_cal, and the adjusted result will become 1 + a times the original, thereby affecting the calculated value of the groove bottom.
[0103] Through segmentation, segmented adjustment of the actual etching rate can be achieved. The specific process is to divide the segmented intervals based on the characteristics of density, width, and spacing. Each point has a density, width, and spacing. Each point will definitely be assigned to a certain interval (provided that the intervals do not overlap). The points within this interval will have a segmented adjustment coefficient, and this coefficient will be used to correct and adjust the calculated etching rate.
[0104] 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 it was necessary to use this method to introduce this disturbance so that the model's fitting ability would be stronger and the accuracy would be higher. 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 a larger density and the points in the interval with a smaller 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 bringing it into 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 equal to 0.5 is x. However, by observing the results of polishing 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.
[0105] Furthermore, for example, if a model is divided into five segments, resulting in five adjustment coefficients, an optimization algorithm like particle swarm optimization (PSO) doesn't need to solve each segment individually; instead, it considers the model as a whole. The PSO algorithm determines the coefficients for each segment that minimize the overall error. When calculating fitness, the average error relative to each measured data point is used, rather than focusing solely on a single segment. These segmented adjustment coefficients can be considered as undetermined coefficients within a model. In general, when using the PSO algorithm, there's no need to consider the specifics of the model. Instead, it simply needs to know that the model has several undetermined parameters. PSO can then find solutions for each parameter. The optimal set of solutions yields the lowest average error between the simulation results and the measured results. It's not necessary to know which parameters within the model are responsible for which functions or which aspects they pertain to. Finding the optimal set of parameters simply requires calling a black-box optimization algorithm and a pre-written black-box function.
[0106] Therefore, it is possible to set several different segmentation intervals based on actual conditions, and independently observe and adjust each segmentation interval, thereby greatly improving the upper limit of the model's fit and addressing a variety of possible situations. Improving the upper limit of the model's fit means being able to fit more situations. In actual process problems, different combinations of GDS layout features may have significant interval effects. For example, there is a clear difference between high density, small width, and small spacing and low density, large width, and large spacing. This difference is difficult to be fully explained 100% by variables other than the segmentation adjustment factor, so the segmentation factor is needed to explain these phenomena.
[0107] It should be pointed out that the segmentation scheme is not necessary. For example, if the process is relatively simple and can be fitted well without segmentation, then there is no need for segmentation.
[0108] Generally speaking, the post-CMP metal thickness is equal to max(post-CMP trench height – trench_bottom, 0). max represents the maximum value between the parentheses. If the user enters incorrect parameters and unknown optimization parameters, the etch rate may become extremely high, grinding through the material and causing the material height to become negative, which is unacceptable. Similar mechanisms exist in the process. If certain parameters of the base are incorrectly set, the platform will not continue grinding (which may cause damage) but will stop when the polishing is detected.
[0109] 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 trench, so that the metal layer thickness can be calibrated.
[0110] Repeat the above process. When time t=T (the total time set in the process table), the calculation and update can be stopped, thereby outputting the final trench bottom simulation value.
[0111] Before the etching process is carried out, the heights of the groove structure and the non-groove structure are almost the same, but etching will etch the groove structure to form grooves, 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, under the condition of a given GDS layout, what the groove structure height will be in each grid area on the GDS layout after the etching process. The significance of knowing these is to better control the etching process, to know the morphological change results brought 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 also depends on the etching result of the etching process on the other hand. 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.
[0112] During the optimization process, the etching rate is calculated at each time step. The etching rate is constantly changing. Regarding R_material, it can be understood as the constant but unknown etching rate at a point in the actual etching process within time step dt, which needs to be calculated. This etching rate depends on many factors, such as process settings, material, density, width, spacing, and so on. During optimization, only the constant components at each time step need to be determined, and the rest can be calculated according to the formula. In other words, R_material is constant at every time step, including parameters such as scale factor, beta, and alpha. The so-called undetermined coefficients refer to unknown but constant variables. Within the entire model, there are no variables or parameters that are both unknown and constantly changing. Parameters may be unknown but are always fixed. Variables, on the other hand, may change at each time step but can be calculated given the parameters. This is a fundamental assumption of any model, as models themselves are abstractions and simplifications of the real process. This assumption is essential when using a model to generalize a physical process. Otherwise, the model is unsolvable and meaningless.
[0113] 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 simulated value and the target value, such that a difference between the simulated value corresponding to the updated value of the parameter and the target value becomes smaller.
[0114] 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.
[0115] In some embodiments, determining the updated value of a parameter using a particle swarm algorithm based on initial data includes: randomizing the initial position and velocity of each particle; iteratively determining the individual historical optimal fitness value of each particle and the historical optimal fitness value of the group of particles based on the initial position and velocity, wherein the fitness value represents the degree of proximity between the trench bottom height values obtained under different parameter combinations and the trench bottom height measurement values included in the dimensional information. In some embodiments, the fitness value represents the inverse of the mean square error between the trench bottom height values obtained under different parameter combinations and the trench bottom height measurement values included in the dimensional information; and using the historical optimal fitness value of the group determined in each iteration 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 may also be used to determine the updated value of a parameter related to the trench etching rate. By continuously iterating through this process, the parameter value is inferred based on the comparison of the simulation value with the target value. The closer the simulation value is to the target value, the closer the corresponding parameter value is to the actual parameter value.
[0116] The following describes how to use the particle swarm algorithm to solve the optimal value.
[0117] 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, while others have a rough range but no clear value. In the embodiments of the present disclosure, the etching formula is clear and has measured data points. Therefore, in some embodiments, the PSO algorithm is introduced to solve these unknown parameters based on the measured data point information. Simply put, this is a process of solving equations.
[0118] The idea behind the particle swarm optimization algorithm (PSO) stems from research on the foraging behavior of bird flocks. Birds collectively share information to find the optimal destination. Imagine a flock of birds randomly searching for food in a forest, aiming to find the location with the most food. However, each bird doesn't know the exact location of the food; it only has a rough idea of its direction. Each bird searches in its own direction, recording where it has found the most food. All birds also share their locations and amounts of food each time they find it. This allows the flock to determine the current location with the most food. During the search, each bird adjusts its search direction based on its own memory of the locations with the most food and the current records of the flock. After a period of searching, the flock will determine the location in the forest with the most food (the global optimal solution).
[0119] In the PSO algorithm, a particle refers to a set of parameter combinations. Assuming the etching model has four undetermined parameters, a, b, c, and d, then a particle is a parameter combination with specific values. For example, a = 1, b = 2, c = 3, and d = 4. This is a particle. However, the true optimal values of a, b, c, and d cannot be determined so easily. The above result is only the result of a single experiment during the iterative process. Whether it is the best or not requires comparison with other combinations. Specifically, this can be determined based on measurement data. For measurement data, the actual trench bottom height value after the etching process can be determined for each measurement point. In some embodiments, the values of a = 1, b = 2, c = 3, and d = 4 can be randomly assigned at the beginning of the optimization process. Of course, the random assignments are within a certain range, rather than being unconditionally random. In some embodiments, the initial values of these undetermined parameters can be manually specified based on actual conditions.
[0120] In some embodiments of the present disclosure, the formula of the etching model is known, but some parameters are yet 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 among them can be recorded). But this is a case of one iteration. 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 unknown parameters will constitute a solution space, and the combination theory of this solution space is infinite. Therefore, for each particle with a determined parameter combination value, a position can be found in this solution space.
[0121] The solution space can be thought of as a higher-dimensional number axis. Because there are often many undetermined parameters, the dimensions of this solution space can be very high, not just two or three dimensions. PSO is essentially an iterative randomized algorithm. This iteration involves continuing to make new combinations and attempts before reaching the maximum number of iterations. Each time through these attempts, the optimal particle, along with its corresponding optimal parameter combination and error value, emerges. From these multiple optimal values, the best can be selected, resulting in the historical optimal for the group.
[0122] Velocity can be understood as the amount of change a particle undergoes during this iteration. As mentioned earlier, a particle is essentially a set of known solutions for the unknown parameters. Position is the position of this solution in the solution space, and velocity is the amount of change. For example, for unknown parameters a, b, c, and d, in the current iteration, the position of a particle is a = 1, b = 2, c = 3, and d = 4. To proceed to the next iteration, the particle's position can be changed. Position can be derived based on a simple physical formula. The position at the next moment is equal to the current position plus the velocity. So, assuming the velocity is 1, 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). This particle's position in the solution space is different from that of the previous iteration, so it will have a new fitness value, which may be better or worse. If it is better than the swarm's historical best, it means that a better solution has been found in this iteration. Of course, the actual iteration is not as simple as simply updating the position. You can see that there are also factors such as inertia weight, learning factor, and iteration step. Therefore, for the movement of a particle, the actual operation process is to randomly select a movement step based on the inertia weight according to the iteration step range, and then multiply it by the learning factor to get the actual movement speed of the particle.
[0123] The particle swarm optimization algorithm has the advantages of fast convergence speed, few parameters, simple and easy 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.
[0124] Assuming that there are N particles in the N-dimensional search space, each particle represents a solution, then:
[0125] 1) The position of the i-th particle is:
[0126] X id =(x i1 ,x i2 ,...,x iD )
[0127] 2) The velocity of the i-th particle (the distance and direction the particle moves) is:
[0128] V id =(v i1 , v i2 ,...,v iD )
[0129] 3) The optimal position (individual optimal solution) searched by the i-th particle is:
[0130] P id,pbest =(p i1 , p i2,...,p iD )
[0131] 4) The optimal position (group optimal solution) searched by the group is:
[0132] P d,gbest =(p 1,gbest ,p 2,gbest ,...,p D,gbest )
[0133] 5) The fitness value (the value of the optimization objective function) of the optimal position searched by the i-th particle is:
[0134] fp——Individual historical optimal fitness value
[0135] 6) The fitness value of the optimal position searched by the group is:
[0136] fg——the historical optimal fitness value of the group
[0137] The following introduces the speed update formula:
[0138] The speed of the particle was mentioned earlier. It is actually the distance and direction of the particle's next iterative movement, that is, a position vector.
[0139]
[0140] (1) Explanation of the velocity update formula
[0141] Item 1: Inertia
[0142] 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.
[0143] Item 2: Cognitive part
[0144] 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.
[0145] Item 3: Social
[0146] 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.
[0147] (2) Parameter definition of speed update formula
[0148] N——particle swarm size; i——particle number, i=1,2,…,N;
[0149] D——particle dimension; d——particle dimension number, i=1,2,…,N;
[0150] k——number of iterations; w——inertia weight; c1——individual learning factor; c2——group learning factor;
[0151] r1, r2 - random numbers in the interval [0, 1] to increase the randomness of the search;
[0152] ——the velocity vector of particle i in the dth dimension at the kth iteration;
[0153] ——the position vector of particle i in the dth dimension at the kth iteration;
[0154] ——The historical optimal position of particle i in the d-th dimension in the k-th iteration, that is, the optimal solution searched by the i-th particle (individual) after the k-th iteration;
[0155] ——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.
[0156] (3) Direction of speed
[0157] The moving direction of the particle in the next iteration = inertia direction + individual optimal direction + group optimal direction.
[0158] The following introduces the position update formula: the position of the previous step + the speed of the next step;
[0159]
[0160] Detailed explanation of the algorithm parameters:
[0161] (1) Particle swarm size: N
[0162] N is a positive integer with a recommended range of [20, 1000]. For simple problems, a value of 20 to 40 is generally recommended, while for more difficult or specialized problems, a value of 100 to 200 is recommended. Smaller population sizes are more likely to fall into local optima. Larger population sizes can improve convergence and find the global optimal solution more quickly, but this also increases the computational effort per iteration. Once the population size reaches a certain level, further increases no longer have a significant effect.
[0163] (2) Particle dimension: D
[0164] The spatial dimension of the particle search is the number of independent variables.
[0165] (3) Number of iterations: K
[0166] 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.
[0167] (4) Inertia weight: w
[0168] In 1998, Yuhui Shi and Russell Eberhart introduced the inertia weight w to the basic particle swarm optimization 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.
[0169] The inertia weight represents the influence of the velocity of the previous generation of particles on the velocity of the current generation, or in other words, the degree of confidence a particle has in its current state of motion. Particles move inertially based on their own velocity. The inertia weight ensures that particles maintain their inertia and tend to expand their search space. A larger inertia weight increases the ability to explore new areas and global optimization, but weakens local optimization. Conversely, a weaker global optimization capability leads to a stronger local optimization capability. A larger inertia weight facilitates global search, helping to escape local extremes and avoid being trapped in local optima; a smaller inertia weight facilitates local search, allowing the algorithm to converge quickly to the optimal solution. When the problem space is large, to strike a balance between search speed and accuracy, the algorithm typically prioritizes higher global search capability in the early stages to obtain suitable seeds, while emphasizing higher local search capability in the later stages to improve convergence accuracy. Therefore, the inertia weight should not be a fixed constant.
[0170] When the inertia weight w = 1, it degenerates into a basic particle swarm optimization algorithm. When the inertia weight w = 0, it loses consideration of the particle's own experience. Recommended value range: [0.4, 2], typical values: 0.9, 1.2, 1.5, 1.8.
[0171] (5) Learning factors: c1, c2
[0172] Also called acceleration coefficient or acceleration factor (these two names more vividly express the role of these two coefficients).
[0173] c1 represents the weight of the particle's next action derived from its own experience, pushing the particle to the individual optimal position P id,pbest The acceleration weight of
[0174] c2 represents the weight of the particle's next action derived from the experience of other particles, pushing the particle to the optimal position of the group. The acceleration weight of
[0175] c1=0: Selfless particle swarm optimization, "only society, no self", quickly loses group diversity, and easily falls into local optimality and cannot escape;
[0176] c2=0: Self-aware particle swarm algorithm, "only self, no society", no social sharing of information, resulting in slow algorithm convergence;
[0177] c1 and c2 are not 0: The complete particle swarm optimization algorithm is easier to maintain a balance between convergence speed and search effect, and is a better choice.
[0178] In some embodiments of the present disclosure, all parameters (including R_material, etc.) and various adjustment factors in formulas such as etching rate can be optimized using the PSO particle swarm algorithm. All of the above undetermined parameters together constitute a particle. When they take different specific numerical 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 individual's historical optimal position and the group's optimal position, continuously iterating, and finally reaching the set maximum number of iterations to output the result.
[0179] Refer to the following Figure 4 Provide a description. Figure 4 A flow chart of a PSO algorithm according to some embodiments of the present disclosure is shown.
[0180] like Figure 4 As shown:
[0181] At block 402, the particle swarm parameters are initialized. The model inputs may include: particle swarm size; particle dimensions; number of iterations; inertia weight; learning factor; and iteration step range. As mentioned above, the particle swarm parameters can be initialized randomly or manually specified as needed. This disclosure is not limited to this.
[0182] At block 404, the position and velocity of each particle are randomly initialized. In each round of iteration, the particles will move, and a certain amount of randomness is usually added during the movement. It should be noted that this randomness is not completely random. If a particle is at position A after the end of this round of iteration, then the position of the next round is the current position with a certain amount of randomness 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; and the group historical optimal fitness value can be output.
[0183] In some embodiments of the present disclosure, each iteration in the PSO is to calculate a complete etching cycle. For example, the process from 0 to 100 seconds. Then the height of each point at the end of these 100 seconds is obtained, and then compared with the measurement point to calculate the error, thereby calculating the fitness of each particle in this round of iteration. For the case of a maximum number of iterations of 100, the etching process is set to last for 100 seconds, and then 100 calculations are required. That is, the process from 0 to 100 seconds is repeated 100 times, and it is observed whether the final result of this etching process from 0 to 100 seconds fits the true value under the current given set of parameter solutions.
[0184] At block 406, it is determined whether the termination condition is satisfied. The input for this determination is: reaching the maximum number of iterations or the minimum difference in fitness values between two iterations.
[0185] If the maximum number of iterations is reached or the minimum difference in fitness values between two iterations is less than a predetermined threshold, the end condition is met. Go to block 410. Otherwise, go to block 408.
[0186] At block 410 , the optimal solution is output, plotted, and saved.
[0187] At block 408 , the velocity and position of each particle are updated and the next iteration is performed.
[0188] At block 412 , a fitness value of each particle is calculated, where 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.
[0189] At block 414 , the individual historical best fitness value and position of each particle are updated;
[0190] At block 416 , the historical best fitness value and position of the group are updated;
[0191] 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.
[0192] 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 particle's inertial direction, individual optimal direction, and group optimal direction. The right side shows the particle's new direction, which is the sum vector of the particle's inertial direction, individual optimal direction, and group optimal direction.
[0193] In the above embodiment, the PSO algorithm is used as an example to illustrate the process of optimizing and solving the parameters. It should be noted that 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 undetermined parameters in this application. There is no distinction between good and bad between them. When the number of iterations is sufficient, a good parameter solution can be found.
[0194] In some embodiments, updated values of the parameters are continuously generated through iteration. A simulation value is determined based on the updated values of the parameters, and the simulation value is compared with a target value to determine a 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 etch rate of the model to generate a simulation model.
[0195] 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 the two iterations is less than a second predetermined threshold; or the number of iterations or the iteration time reaches a third predetermined threshold.
[0196] As can be seen from the above description, parameters remain constant throughout the etching process. Undetermined parameters simply mean their values are uncertain, but they don't necessarily change. The PSO algorithm has multiple iterations, each involving multiple particles. Each particle is required to calculate a complete etching process during each iteration. A particle represents a solution to a set of fixed parameter values. For a model with undetermined coefficients, determining the coefficients effectively defines the model. Once the model is defined, a corresponding result can be calculated for a given variable. Therefore, each particle is required to calculate a complete etching process during each iteration to determine the quality of the parameter solution represented by the particle. Once a set of parameters is determined, the model is defined. The density, width, and spacing values of each data point can be substituted into the model to obtain the simulation results. Furthermore, the actual measurement results for each data point are known, allowing the error of each data point under the current model to be calculated. This allows the particle in that iteration to be "scored." Similarly, each particle can be scored in each iteration to assess which particle represents the best parameter solution.
[0197] It can be seen that the solution using the particle swarm optimization algorithm is actually to infer the parameter value from the comparison results between the simulation value and the target value.
[0198] In the above-described embodiments, the process of finding the optimal solution does not involve matrix transformations, but rather normal element-level matrix operations. Matrix X is used in some embodiments because computers are faster at processing such operations and can be performed in parallel. The present disclosure is not limited to this. In fact, from a computational logic perspective, each data point is also calculated and compared separately, but the efficiency is relatively low. Each particle can calculate a fitness value. This fitness value is defined in the model as the error from the actual measured data, for example, using the MSE indicator; the lower the MSE value, the better. Therefore, the optimal solution can be determined by minimizing the MSE.
[0199] 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.
[0200] The etching simulation model of the disclosed embodiments can be used in conjunction with the CMP model, but this is not mandatory. The etching model can be used independently. If you want to know the results after etching, you can use the etching model alone. However, if you want to know the results after CMP, the etching model can also provide some explanation and assistance for the CMP results.
[0201] In some embodiments of the present disclosure, the etching process is abstracted using the concept of time step, and the concept of time step is used to simulate the physical process of etching, 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 unpredictable at all times, 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 dt*rate, where rate represents the etching rate. In the complete etching process of a particle calculation, the calculation formula is fixed, and the difference in each dt when calculating the rate is caused by H.
[0202] It should be noted that the above embodiments are described using an etching model, but the embodiments of the present disclosure are not limited thereto, that is, not limited to the etching model. The principles thereof can be extended to multiple process steps in semiconductor technology and various semiconductor device structures.
[0203] 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 is consistent with the real physical process, and the obtained simulation results have a theoretical basis.
[0204] In some embodiments of the present disclosure, a segmentation mechanism is introduced to enhance the model's robustness. This allows the model established in these embodiments to effectively assist the CMP model in fitting the final metal layer thickness, protecting the CMP model's accuracy. The particle swarm optimization algorithm is a highly efficient intelligent optimization algorithm that can quickly and effectively determine optimal parameter values within the model.
[0205] 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.
[0206] Some embodiments of the present disclosure provide methods for generating simulation models for semiconductor process devices, methods for performing simulations using the simulation models, and simulation models. It should be noted that the examples given in the above embodiments are only for the purpose of illustrating the solutions of the embodiments of the present disclosure and are not intended to limit the solutions of the present disclosure.
[0207] It should be understood that the embodiments shown in the drawings are only for schematically illustrating 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.
[0208] The present disclosure also discloses an electronic device, comprising: a processor; and a memory coupled to the processor, the memory having instructions stored therein, which, when executed by the processor, cause the device to perform actions, including: determining a simulated value of a final height of a bottom of a trench after etching based on each time step and a corresponding etching rate; and determining an updated value of a parameter based on a comparison between the simulated value and a target value, such that the difference between the simulated value corresponding to the updated parameter and the target value is reduced.
[0209] An embodiment of the present disclosure further discloses a computer-readable storage medium having a computer program stored thereon. When the program is executed by a processor, the method according to the embodiment of the present disclosure is implemented.
[0210] Figure 6 Schematic block diagrams of electronic devices according to some exemplary embodiments of the present disclosure are 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 assistants, cellular phones, smartphones, 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 claimed herein.
[0211] 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. Various programs and data required for the operation of the device 600 can also be stored in the RAM 603. The CPU 601, ROM 602, and 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.
[0212] Multiple components in device 600 are connected to I / O interface 605, including an input unit 606, such as a keyboard and mouse; an output unit 607, such as various types of displays and speakers; a storage unit 608, such as a magnetic disk and optical disk; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows device 600 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0213] 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 that 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.
[0214] The solutions according to the embodiments of the present disclosure may be methods, devices, systems, and / or computer program products. 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.
[0215] Various embodiments of the present disclosure have been described above. The above descriptions are exemplary and are only optional embodiments of the present disclosure. They are 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 feature or any novel combination of features disclosed herein, whether explicitly or implicitly or in any generalization thereof, regardless of whether it relates to the same scheme in any claim currently claimed. The applicant hereby informs that new claims may be formulated to these features and / or combinations of these features during the examination of this application or in any further application derived therefrom.
[0216] The terminology used herein is selected to best explain the principles of the various embodiments, their practical applications, or technological improvements in the marketplace, or to enable others skilled in the art to understand the various embodiments disclosed herein. Various modifications and variations are readily apparent to those skilled in the art. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of this disclosure are intended to be included within the scope of protection of this disclosure.
Claims
1. A method for generating a simulation model, comprising: Determining a simulated 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 a difference between the simulation value corresponding to the updated value of the parameter and the target value becomes smaller; as well as In response to the difference satisfying a predetermined condition, the parameter having the updated value is determined as a model parameter of the etching rate of the model to generate the simulation model. 2 . The method according to claim 1 , 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 size information of the wafer and the trench to be etched.
3. The method according to claim 2, wherein the size information includes at least the following characteristic size information: The density of the pattern within the grid on the wafer; the width of the graphic; The intervals between the graphics; and The initial height of the bottom of the trench.
4. The method of claim 3 , 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.
5. The method according to claim 4 , 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 the bottom of the trench; Determining the etching rate in the corresponding time step and the etching depth in the corresponding time step in sequence based on the initial value of the parameter and the etching depth in the corresponding time step; 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.
6. The method according to claim 3, wherein 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; Etching solution concentration adjustment factor; and The impact factor of the interval.
7. The method according to claim 6, wherein the etching rate is determined based on the following formula: R_bottom=R_bottom_cal*modify_factor, where R_bottom_cal=R_material*e(-alpha*(density^beta)) / 1+(b / scale_factor)*width^C*space^F*(H / width); 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 spacing, 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 spacing 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 both C and F range from positive infinity to negative infinity.
8. The method according to claim 7, wherein: The modify_factor is determined by the following formula: modify_factor=(1+interval_1*tune_factor_1)*....*(1+interval_P*tune_factor_P); Where tune_factor is the segment adjustment coefficient, and its value is an open interval (-1,1), and P represents the number of segments; interval_1 to interval_P respectively represent the coefficients of each segment in the P segments, and their values are 0 or 1. The interval_M corresponding to the grid points whose density, width, and interval simultaneously meet the setting conditions of the Mth segment is 1, and the interval_M corresponding to other grid points that do not meet the conditions of the Mth segment is 0, and M is an integer greater than 0 and less than or equal to P.
9. The method according to claim 7, wherein the simulation value of the current height of the bottom of the trench is determined based on the following formula: TB_t=TB_t-1–R_bottom*dt; 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.
10. The method according to claim 5, further comprising: 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 segmented interval are adjusted using the same etching rate adjustment factor.
11. The method of claim 2, 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.
12. The method according to claim 11, 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; Based on the initial position and velocity, the individual historical optimal fitness value of each particle and the group historical optimal fitness value of each particle are iteratively determined, 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 target value of the bottom height of the groove. The historical optimal fitness value of the group determined in each iteration is used as the updated value of the parameter. 13 . The method according to claim 12 , 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 target value of the bottom height of the groove included in the size information.
14. The method of claim 1 , wherein determining a simulated value of a final height of a bottom portion of the trench after etching based on each time step and the corresponding etching rate comprises: The simulated value of the final height is determined based on the product of the etching rate in each time step and the corresponding time step.
15. The method according to claim 12, 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 two iterations of simulation values of the bottom height of the trench is less than a second predetermined threshold; or The number of iterations or the iteration time reaches a third predetermined threshold.
16. A simulation model generated by the method according to any one of claims 1 to 15.
17. A method for performing simulation using the simulation model according to claim 16.
18. An electronic device comprising: processor; as well as A memory coupled to the processor, the memory having instructions stored therein, which, when executed by the processor, cause the device to perform actions, 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 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 a difference between the simulation value corresponding to the updated value of the parameter and the target value becomes smaller; and In response to the difference satisfying a predetermined condition, the parameter having the updated value is determined as a model parameter of the etching rate of the model to generate the simulation model.
19. A computer-readable storage medium having machine-executable instructions stored thereon, which, when executed by a processor, causes the processor to implement the method according to any one of claims 1 to 15 and 17.