Simulation model building method and wafer scratch simulation method
By constructing static and dynamic models and fitting the scratches in the chemical mechanical polishing process using polishing parameters, the problem of low scratch fitting accuracy in the existing technology is solved, achieving higher fitting accuracy and a wider range of applications, and effectively analyzing scratches on the wafer surface.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SHANGHAI INTEGRATED CIRCUIT RESEARCH & DEVELOPMENT CENTER CO LTD
- Filing Date
- 2025-11-12
- Publication Date
- 2026-05-21
AI Technical Summary
The accuracy of scratch fitting in the existing chemical mechanical polishing process is low, the fitting effect is poor, the applicability is limited, and it is difficult to effectively analyze scratch defects on the wafer surface.
By constructing static and dynamic models based on grinding parameters, we fit the scratches in the chemical mechanical polishing process. We establish a simulation method for scratches using the motion parameters of the polishing pad and wafer, thereby improving the fitting accuracy and applicability.
It improves the accuracy of scratch fitting during chemical mechanical polishing, expands the applicable range of scratch fitting, improves the scratch fitting effect, and enables more accurate analysis of scratch defects on the wafer surface.
Smart Images

Figure CN2025134465_21052026_PF_FP_ABST
Abstract
Description
Simulation model construction method and wafer scribing simulation method
[0001] This application claims priority to Chinese Patent Application No. 202411611741.3, filed on November 12, 2024, entitled “Simulation Model Construction Method, Wafer Scratch Simulation Method, Simulation Model Construction Apparatus, Wafer Scratch Simulation Apparatus, Electronic Device, Computer-readable Medium and Computer Program Product”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of wafer defect assessment technology, and in particular to a simulation model construction method and a simulation method for wafer scratches. Background Technology
[0003] Chemical mechanical polishing (CMP) is an indispensable planarization step in advanced manufacturing processes, achieving wafer surface planarization through a combination of chemical etching and mechanical removal. However, the polishing process may cause scratches on the wafer surface, necessitating the analysis of these scratch defects.
[0004] In related technologies, the analysis of defects in the chemical mechanical grinding process either relies on manual adjustment, which is complicated, or adopts a fully automatic fitting method. However, the analysis model of the fully automatic fitting method is not good, and it often uses a rough approximation, which has limited applicability and poor fitting effect. Summary of the Invention
[0005] This application provides a simulation model construction method and a wafer scratch simulation method to improve the accuracy of scratch fitting during chemical mechanical polishing (CMP) and expand the applicable range of scratch fitting, thereby improving the fitting effect of scratch fitting during CMP.
[0006] In a first aspect, embodiments of this application provide a method for constructing a simulation model, the method comprising:
[0007] The grinding parameters of the chemical mechanical polishing process that causes scratches are obtained. The grinding parameters include a first motion parameter and a second motion parameter. The first motion parameter is used to characterize the motion trajectory of the polishing pad, and the second motion parameter is used to characterize the motion trajectory of the wafer.
[0008] Static and dynamic models for fitting scratches are established based on grinding parameters. The static model is constructed to fit scratches caused by abrasive particles whose positions on the grinding pad are considered constant. The dynamic model is constructed to fit scratches caused by abrasive particles whose positions on the grinding pad are considered to change with grinding time.
[0009] In one possible implementation, a polishing head is provided on the wafer, and the polishing head moves synchronously with the wafer. The step of establishing static and dynamic models of the scratches based on polishing parameters includes:
[0010] Based on the first particle coordinate information of the grinding particles and the first polishing head coordinate information of the polishing head at the grinding time, the fitted first scratch position information is obtained;
[0011] Based on the functional relationship between the first scratch location information, the first particle coordinate information, and the first polishing head coordinate information, a static model for fitting the scratch is established.
[0012] Based on the static model, the coordinate information of the first particle and the coordinate information of the first polishing head are continuously iterated to obtain the fitted second scratch position information;
[0013] Based on the functional relationship between the second scratch location information and the target particle coordinate information of the grinding particles and the target polishing head coordinate information at the target time, a dynamic model for fitting the scratch is established.
[0014] In one possible implementation, the fitted first scratch position information is obtained based on the first particle coordinate information of the grinding particles at the grinding moment and the first polishing head coordinate information of the polishing head, including:
[0015] Obtain the initial particle coordinate information of the grinding particles in the first coordinate system and the position information of the first origin in the second coordinate system at the initial moment;
[0016] Based on the initial particle coordinate information, the position information of the first origin of the second coordinate system, and the first motion parameters, the first particle coordinate information of the grinding particles in the third coordinate system at the grinding moment is obtained;
[0017] Based on the coordinate information of the first particle in the third coordinate system at the grinding moment, the fitted first scratch position information is obtained.
[0018] In one possible implementation, the fitted first scratch position information is obtained based on the first particle coordinate information of the grinding particle in the third coordinate system at the grinding moment, including:
[0019] Based on the second motion parameters, the motion speed of the polishing head along one of the axes of the first coordinate system is obtained;
[0020] Based on the movement speed of the polishing head, the coordinate information of the first polishing head in the second coordinate system at the moment of grinding is obtained;
[0021] Based on the first polishing head coordinate information in the second coordinate system at the time of grinding and the first particle coordinate information in the third coordinate system at the time of grinding, the fitted first scratch position information is obtained.
[0022] In one possible implementation, the fitted first scratch position information is obtained based on the first polishing head coordinate information in the second coordinate system at the time of grinding and the first particle coordinate information in the third coordinate system at the time of grinding, including:
[0023] Based on the second motion parameters, the first particle coordinate information of the grinding particles in the third coordinate system at the grinding time, and the first polishing head coordinate information of the polishing head in the second coordinate system at the grinding time, the static scratch intermediate information of the fitted scratch in the fourth coordinate system is obtained.
[0024] The intermediate information of the static scratch is transformed from the fourth coordinate system to the third coordinate system to obtain the position information of the first scratch in the third coordinate system.
[0025] In one possible implementation, the coordinate information of the first particle and the coordinate information of the first polishing head are iteratively analyzed based on a static model to obtain the fitted second scratch location information, including:
[0026] The coordinate information of the first particle and the coordinate information of the first polishing head are iterated to obtain the coordinate information of the second particle in the third coordinate system and the coordinate information of the second polishing head in the second coordinate system at the next grinding moment;
[0027] Based on the coordinate information of the second particle and the coordinate information of the second polishing head, the intermediate information of the first dynamic scratch in the fourth coordinate system at the next grinding moment is obtained;
[0028] Based on the intermediate information of dynamic scratches, the second intermediate information of dynamic scratches in the third coordinate system is obtained for the next grinding moment after fitting the grinding moment.
[0029] The intermediate information of the second dynamic scratch is iterated to obtain the fitted position information of the second scratch.
[0030] In one possible implementation, the intermediate information of the second dynamic scratch is iterated to obtain the fitted second scratch position information, including:
[0031] The coordinate information of the second particle and the coordinate information of the second polishing head are iterated, and the iteration process is repeated to update the intermediate information of the second dynamic scratch, so as to obtain the target particle coordinate information of the grinding particle and the target polishing head coordinate information of the polishing head at the target time.
[0032] Based on the target particle coordinate information of the grinding particles and the target polishing head coordinate information of the polishing head at the target time, the fitted second scratch position information is obtained.
[0033] Secondly, embodiments of this application provide a method for simulating wafer scratches, including:
[0034] To obtain the number of scratches and the curvature of each scratch during chemical mechanical polishing;
[0035] Based on the number of scratches and the curvature of each scratch, one of the static model and the dynamic model is selected to simulate each scratch, so as to obtain scratch simulation data that matches the number of scratches and the curvature of each scratch; the static model and the dynamic model are constructed using the method described in any of the first aspects.
[0036] In one possible implementation, obtaining the number of scratches and the curvature of each scratch during chemical mechanical polishing includes:
[0037] Acquire image information of the wafer and determine the location information of scratches on the wafer based on the image information;
[0038] The number of scratches and the curvature of each scratch are determined based on the location information of the scratches on the wafer.
[0039] In one possible implementation, determining the location information of the scratches on the wafer based on the image information includes:
[0040] Identify the center coordinates and radius of the wafer in the image based on the image information of the wafer;
[0041] Based on the actual radius of the wafer, the center coordinates and radius of the wafer in the image are linearly mapped to obtain the stretched image information;
[0042] The location information of the scratch is identified based on the stretched image information, which includes the coordinates of each pixel at the scratch location.
[0043] In one possible implementation, identifying the center coordinates and radius of the wafer on the image based on the wafer's image information includes:
[0044] Obtain the coordinate values of each pixel point of the wafer boundary in both row and column directions in the image information of the wafer;
[0045] The center coordinates and radius of the wafer on the image are determined based on the coordinate values of each pixel point in both row and column directions of the wafer boundary.
[0046] In one possible implementation, based on the number of scratches and the curvature of each scratch, either a static model or a dynamic model is selected to simulate each scratch, resulting in scratch simulation data that matches the number of scratches and the curvature of each scratch, including:
[0047] When the number of scratches is less than the first number threshold and the curvature of each scratch is within the first curvature range, a static model is selected to automatically simulate each scratch to obtain the first scratch simulation data.
[0048] When the number of scratches is greater than or equal to the first number threshold and the curvature of each scratch is within the second curvature range, a static model is selected to perform semi-automatic simulation on each of the sequentially selected scratches to obtain the second scratch simulation data.
[0049] When the curvature of each scratch is within the third curvature range, a dynamic model is selected to perform semi-automatic simulation on each of the sequentially selected scratches to obtain the simulation data of the third scratch.
[0050] In one possible implementation, the method also includes:
[0051] The scratch simulation data is compared with the location information of the scratches on the wafer to obtain the scratch comparison results;
[0052] The accuracy of the scratch fitting is determined based on the scratch comparison results.
[0053] In one possible implementation, the scratch simulation data includes the location information of multiple fitted scratch points, and the method further includes:
[0054] The shortest distance between each scratch point in the scratch simulation data and the scratch on the wafer is calculated one by one to obtain multiple fitting distances. The fitting distance is used to characterize the degree of fitting between the multiple fitted scratch points and the scratch on the wafer.
[0055] Determine whether the fitting distance is less than the preset fitting threshold;
[0056] If the fitting distance is less than the preset fitting threshold, the scratch point corresponding to the fitting distance is determined as the source of the scratch on the wafer; if the fitting distance is greater than or equal to the preset fitting threshold, the scratch point corresponding to the fitting distance is filtered out.
[0057] Thirdly, embodiments of this application provide a simulation model construction apparatus, the apparatus comprising:
[0058] The first acquisition module is used to acquire the grinding parameters of the chemical mechanical polishing process that causes the scratches. The grinding parameters include a first motion parameter and a second motion parameter. The first motion parameter is used to characterize the motion trajectory of the polishing pad, and the second motion parameter is used to characterize the motion trajectory of the wafer.
[0059] The fitting module is used to build static and dynamic models for fitting scratches based on grinding parameters. The static model is constructed to fit scratches caused by abrasive particles whose position on the grinding pad is considered constant. The dynamic model is constructed to fit scratches caused by abrasive particles whose position on the grinding pad is considered to change with grinding time.
[0060] Fourthly, embodiments of this application provide a wafer scratch simulation device, comprising:
[0061] The second acquisition module is used to acquire the number of scratches and the curvature of each scratch during the chemical mechanical polishing process;
[0062] The selection module is used to select either a static model or a dynamic model to simulate each scratch based on the number of scratches and the curvature of each scratch, so as to obtain scratch simulation data that matches the number of scratches and the curvature of each scratch; the static model and the dynamic model are constructed by any of the methods in the first aspect.
[0063] Fifthly, embodiments of this application provide an electronic device, including: a memory and a processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, causing the processor to perform the method of either the first aspect or the second aspect.
[0064] In a sixth aspect, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method of either the first aspect or the second aspect.
[0065] In a seventh aspect, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the method of either the first aspect or the second aspect.
[0066] The simulation model construction method and wafer scratch simulation method provided in this application can improve the accuracy of scratch fitting during chemical mechanical polishing by using polishing parameters to establish static and dynamic models for fitting scratches, expand the applicable range of scratch fitting, and thus improve the fitting effect of scratch fitting during chemical mechanical polishing. Attached Figure Description
[0067] Figure 1 is a schematic diagram of the chemical mechanical grinding scenario provided in this application;
[0068] Figure 2 is a flowchart illustrating the simulation method for wafer scrubbing provided in this application.
[0069] Figure 3 is a schematic flowchart of the simulation method for wafer scrubbing provided in this application.
[0070] Figure 4 is a flowchart illustrating the simulation method for wafer scrubbing provided in this application.
[0071] Figure 5 is a flowchart illustrating the simulation method for wafer scrubbing provided in this application.
[0072] Figure 6 is a flowchart illustrating the simulation method for wafer scrubbing provided in this application.
[0073] Figure 7 is a schematic diagram of the automated fitting based on a static model provided in this application;
[0074] Figure 8 is a schematic diagram of the semi-automatic fitting based on a static model provided in this application;
[0075] Figure 9 is a schematic diagram of the semi-automatic fitting based on a dynamic model provided in this application;
[0076] Figure 10 is a flowchart illustrating the simulation method for wafer scrubbing provided in this application.
[0077] Figure 11 is a flowchart illustrating the simulation model construction method provided in this application;
[0078] Figure 12 is a schematic diagram of the chemical mechanical grinding process of the static model provided in this application;
[0079] Figure 13 is a schematic diagram of the chemical mechanical grinding process of the dynamic model provided in this application;
[0080] Figure 14 is a schematic diagram of the simulation model construction device provided in this application;
[0081] Figure 15 is a schematic diagram of the structure of the simulation device for wafer scrubbing provided in this application;
[0082] Figure 16 is a schematic diagram of the structure of the electronic device provided in this application. Detailed Implementation
[0083] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0084] Chemical mechanical polishing is one of the important processes in semiconductor manufacturing. It achieves global planarization of the wafer surface by polishing and removing semiconductor, insulating and metal materials on the patterned wafer surface.
[0085] Figure 1 is a schematic diagram of a chemical mechanical polishing (CMP) scenario provided in this application. As shown in Figure 1, in the specific application scenario of this application, the polishing pad, also known as the grinding pad, is located on the grinding platform. The wafer is fixed on the wafer carrier, and the polishing head and the wafer carrier are integrally formed. The dresser is located on the grinding pad and can dress the grinding pad.
[0086] During the polishing process, the wafer to be polished is fixed on a wafer carrier. A polishing slurry containing abrasive particles and a chemical solution is applied to the polishing pad. The chemical substances in the polishing slurry oxidize the material on the wafer surface to form a softer oxide layer. Then, through the contact friction between the polishing pad, the abrasive particles in the polishing slurry, and the wafer, the previously formed oxide layer is removed, exposing the new surface. All the protrusions on the wafer surface are removed, thereby achieving the effect of surface planarization.
[0087] During the planarization of wafer surfaces using chemical mechanical polishing (CMP), various types of defects may occur. As a typical type of defect, CMP scratches originate from a variety of particles, such as polishing pads, polishing fluids, dressers, and wafer boundaries, and their physical mechanisms are complex, including friction and Stokes forces. Therefore, tracing the source of defects generated by CMP is extremely difficult.
[0088] One approach in related technologies is to perform forward simulation based on grinding parameters. By comparing scratch patterns, the coordinates of the particles causing the scratches are manually adjusted to find particle coordinate values that are similar to the simulated and measured results, which can then be used as the defect tracing result. However, this method relies on manual adjustment and is cumbersome.
[0089] Another approach is to use a fully automated fitting method. However, the resulting patterns of scratch defects are disordered, making it difficult to perform point-to-point numerical calculations and fitting for complex scratches. Therefore, the applicability of purely automated fitting is limited. Moreover, since the analysis models of existing solutions mostly use coarse approximations, only considering the static case where the coordinates of the particles on the abrasive pad remain unchanged, the applicability is further limited, and the fitting effect is poor.
[0090] In view of this, this application proposes a simulation model construction method, which includes: obtaining grinding parameters of the chemical mechanical polishing process that causes scratches, the grinding parameters including a first motion parameter and a second motion parameter, the first motion parameter being used to characterize the motion trajectory of the polishing pad, and the second motion parameter being used to characterize the motion trajectory of the wafer; establishing a static model and a dynamic model for fitting the scratches based on the grinding parameters, wherein the static model is constructed to fit the scratches caused by polishing particles whose positions on the polishing pad are considered to be constant; and the dynamic model is constructed to fit the scratches caused by polishing particles whose positions on the polishing pad are considered to change with polishing time.
[0091] By utilizing grinding parameters to establish static and dynamic models for fitting scratches, this application can improve the accuracy of scratch fitting during chemical mechanical grinding, expand the applicable range of scratch fitting, and thus improve the fitting effect of scratch fitting during chemical mechanical grinding.
[0092] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0093] Figure 2 is a flowchart illustrating the simulation method for wafer scrubbing provided in this application. As shown in Figure 2, the method includes:
[0094] S201. Obtain the number of scratches and the curvature of each scratch during chemical mechanical polishing;
[0095] S202. Based on the number of scratches and the curvature of each scratch, select one of the static model and the dynamic model to simulate each scratch, and obtain scratch simulation data that matches the number of scratches and the curvature of each scratch.
[0096] In the chemical mechanical polishing process, there can be one or more scratches on the wafer. The shape of the scratch can be arc-shaped, and the curvature of each scratch can be different.
[0097] Figure 3 is a schematic flowchart of the simulation method for wafer scratches provided in this application. As shown in Figure 3, this embodiment is described in detail based on the embodiment in Figure 2. The method for obtaining the number of scratches and the curvature of each scratch during chemical mechanical polishing includes:
[0098] S301. Obtain image information of the wafer and determine the location information of the scratches on the wafer based on the image information;
[0099] S302. Based on the location information of the scratches on the wafer, determine the number of scratches and the curvature of each scratch.
[0100] Before acquiring image information of the scratched wafer, it is necessary to first obtain an image of the scratched wafer. The image of the scratched wafer can be manually entered by the user or automatically captured by a camera. When manually entered, the user selects the scratch points on the wafer image through image interaction. Then, an image processing algorithm is called to process the image and obtain the image information of the scratched wafer. The image information is a combination of pixel data, including the pixel coordinates and color information of each pixel in the image. When using a camera to capture an image of the wafer, the execution unit is electrically connected to the camera to acquire the image of the scratched wafer captured by the camera.
[0101] Pixel coordinate information includes the row and column number of each pixel, thus determining the pixel's specific coordinates. Color information includes the display color of each pixel, such as red, green, and blue.
[0102] Image processing algorithms can be implemented using Matplotlib's mpimg library. Matplotlib is a 2D plotting library based on the Python language, capable of generating the required graphics. mpimg is an image processing library within Matplotlib that can perform various processing operations on images, such as loading and saving.
[0103] Image processing algorithms can also be implemented based on the Image module of the Python Imaging Library (PIL). The Python Imaging Library (PIL) is an image processing library in the Python programming language. The Image module is an image processing module in the Python Imaging Library that can perform various forms of processing on images, such as loading and modifying them.
[0104] Image processing algorithms can also be performed using OpenCV's `imread()` function. OpenCV is an open-source computer vision library that includes many functions for image processing and computer vision tasks. The `imread()` function, in particular, can read images from a specified file.
[0105] As an example, the following uses the data structure obtained from the recognition by mpimg based on Matplotlib to organize the image information of the scratched wafer. It is understood that image processing algorithms have various implementations, and this application does not limit the specific implementation mechanism of the image processing algorithm.
[0106] In one possible implementation, the number of scratches and the curvature of each scratch can be calculated based on the location information of the scratches on the wafer. It is understood that this application does not limit the method for calculating the number of scratches or the method for calculating the curvature.
[0107] Figure 4 is a schematic flowchart of the simulation method for wafer scratching provided in this application. As shown in Figure 4, this embodiment is described in detail based on the embodiment in Figure 3. Determining the location information of the scratches on the wafer based on the image information includes:
[0108] S401. Identify the center coordinates and radius of the wafer in the image based on the wafer image information;
[0109] S402. Based on the actual radius of the wafer, perform a linear mapping between the center coordinates and radius of the wafer in the image to obtain the stretched image information;
[0110] S403. Identify the location information of the scratch based on the stretched image information. The location information of the scratch includes the coordinates of each pixel at the scratch location.
[0111] The center coordinates of the wafer can be in the Cartesian coordinate system of the wafer on the image. For the image, the Cartesian coordinate system of the wafer can be set as needed, and this application does not limit it.
[0112] Figure 5 is a flowchart illustrating the simulation method for wafer scratching provided in this application. As shown in Figure 5, this embodiment is described in detail based on the embodiment in Figure 4. Identifying the center coordinates and radius of the wafer on the image based on the wafer image information includes:
[0113] S501. Obtain the coordinate values of each pixel point of the wafer boundary in both row and column directions in the image information of the wafer;
[0114] S502. Determine the center coordinates and radius of the wafer in the image based on the coordinate values of each pixel in both row and column directions of the wafer boundary.
[0115] Because the edge of the wafer differs in color from the surrounding pixels, pixels with brightness within a preset range can be selected first. These pixels exhibit color changes relative to their surroundings and are called color-changing pixels. When acquiring the coordinates of pixels along the wafer boundary in both row and column directions within the wafer's image information, the coordinates of the color-changing pixels can be obtained.
[0116] In one possible implementation, the ordinate values of each pixel along the column direction of the wafer boundary in the wafer image information can first be obtained. Specifically, for pixels in the same column, the ordinate values of the first and last colored pixels are extracted. The average of these two ordinate values is then used to obtain the column's ordinate value. Half the absolute value of the difference between the ordinate values of the first and last colored pixels is then used as the radius feature value of the column. Next, the ordinate values of the ordinate values of each obtained column of pixels are summed and averaged to obtain the ordinate value of the wafer center, denoted as y0.
[0117] The process of obtaining row coordinates is similar to that of obtaining x-coordinates. Specifically, for pixels in the same row, the x-coordinates of the first and last pixel to change color are extracted. The average of these two x-coordinates is then used to obtain the row's x-coordinate. Half the absolute value of the difference between the x-coordinates of the first and last pixel is then used as the radius feature value for that row. Next, the x-coordinates of the obtained x-coordinates for each row of pixels are summed and averaged to obtain the x-coordinate of the wafer center, denoted as x0.
[0118] To obtain the radius of the wafer, the average of multiple radius feature values obtained in the horizontal and vertical directions can be calculated to obtain the radius r of the wafer to be stretched on the image. img The method described above for identifying the center coordinates and radius of a circle demonstrates superior accuracy and stability compared to the Hough transform circle detection algorithm.
[0119] The actual radius of a wafer can be the radius of the wafer entity. By linearly mapping the center coordinates and radius of the wafer in the image according to its actual radius, stretched image information adapted to the wafer entity can be obtained.
[0120] As an example, shift the wafer image left by x0 and down by y0 in the current coordinate system, and then multiply the horizontal and vertical coordinates of all pixels by a scaling factor r. wafer / r img This yields the stretched image information. img Let r be the radius of the wafer to be stretched. wafer The radius of the known wafer is given.
[0121] Since the stretched image information is adapted to the wafer entity, the location information of the scratches identified based on the stretched image information reflects the scratches in the actual chemical mechanical polishing process and can be used to compare with simulated scratches.
[0122] As an example, the scratch trajectory is red. Pixel traversal can be used to identify and filter out the set of points (x_dots, y_dots) where the pixel color R channel is greater than the set R threshold and the G and B channels are less than the set G and B thresholds.
[0123] Considering that the color preferences of wafer images to be analyzed within semiconductor factories are generally relatively stable, the threshold can be a constant value. If the input image quality is poor, preprocessing such as enhancement, denoising, and normalization can be performed, as well as color space conversion such as RGB to HSV or YUV space conversion.
[0124] By employing a color gradient-based adaptive circular wafer boundary detection algorithm to identify the center coordinates and radius of the wafer in the image to be analyzed, this embodiment can improve the accuracy and stability of wafer identification.
[0125] Figure 6 is a flowchart illustrating the simulation method for wafer scratches provided in this application. Fifthly, based on the number of scratches and the curvature of each scratch, one of a static model or a dynamic model is selected to simulate each scratch, obtaining scratch simulation data that matches the number of scratches and the curvature of each scratch, including:
[0126] S601. When the number of scratches is less than the number threshold and the curvature of each scratch is within the first curvature range, select the static model to automatically simulate each scratch and obtain the simulation data of the first scratch.
[0127] S602. When the number of scratches is greater than or equal to the number threshold and the curvature of each scratch is within the second curvature range, select the static model to perform semi-automatic simulation on each scratch selected in sequence to obtain the second scratch simulation data.
[0128] S603. When the curvature of each scratch is within the third curvature range, select the dynamic model to perform semi-automatic simulation on each scratch selected in sequence to obtain the simulation data of the third scratch.
[0129] The number of scratches determines whether to use automated or semi-automated simulation. When there are many scratches, multiple scratches may correspond to complex situations such as long scratching time or a large number of scratching particles. Different scratches may overlap, and there is a certain error in obtaining the position information of each scratch from the image. In this case, manual intervention and annotation are usually required. The threshold for determining the number and size of scratches can be determined based on the upper limit that image recognition can identify.
[0130] The curvature of the scratch determines whether a static or dynamic model is used. The first and second curvature ranges represent scratch curvatures that are close to a perfect circle, while the third curvature range represents scratch curvatures that are less than a perfect circle. Therefore, the first, second, and third curvature ranges can be defined by the magnitude of the perfect circle's curvature. The first and second curvature ranges can be the same or different, while the third curvature range is completely different from both the first and second curvature ranges.
[0131] In this application, there are three modes for selecting a specific model: automated fitting based on a static model, semi-automatic fitting based on a static model, and semi-automatic fitting based on a dynamic model.
[0132] Given the particle coordinates and grinding parameters, both static and dynamic models can determine the trajectory of the scratches caused by the particles. In the actual grinding process, after selecting an appropriate fitting model based on the number of scratches on the wafer and the curvature of each scratch, multiple scratches can be fitted to match the scratches on the wafer. For each fitted scratch, after determining the matching scratch on the wafer, the scratch simulation data for that scratch on the wafer is determined based on the fitted scratch. Since a scratch consists of multiple scratch points, the scratch simulation data includes the positional information of these multiple scratch points obtained through fitting.
[0133] Figure 7 is a schematic diagram of the automated fitting based on the static model provided in this application. As shown in Figure 7, there is one fitted scratch, and the curvature of the fitted scratch is close to the scratch pattern with the curvature feature of a perfect circle.
[0134] Figure 8 is a schematic diagram of the semi-automatic fitting based on the static model provided in this application. As shown in Figure 8, there are multiple scratches that are fitted, and these scratches are distributed in a ring along the boundary of the wafer.
[0135] Figure 9 is a schematic diagram of the semi-automatic fitting based on the dynamic model provided in this application. As shown in Figure 9, there are multiple scratches that are fitted, and the positions of the multiple scratches are close to each other.
[0136] As an example, in the semi-automated fitting process based on dynamic models, fitting methods such as grid search or differential evolution can be used to output the coordinates of the abrasive particles at the initial moment and the time step between adjacent abrasive moments in the dynamic model, so as to obtain the optimal fitting result for the current scratch condition.
[0137] Figure 10 is a flowchart illustrating the simulation method for wafer scratches provided in this application. As shown in Figure 10, this embodiment is described in detail based on the embodiment in Figure 6. The simulation method for wafer scratches further includes:
[0138] S1001. Compare the scratch simulation data with the scratch location information on the wafer to obtain the scratch comparison result;
[0139] S1002. Determine the accuracy of the scratch fitting based on the scratch comparison results.
[0140] After acquiring the scratch simulation data, it can be compared with the location information of scratches on the wafer to obtain the scratch comparison result. The scratch comparison result can include, for example, the similarity between the actual scratch and the simulated scratch. In one possible implementation, based on the scratch comparison result, scratches can also be predicted; that is, the scratch simulation data includes the location information of multiple predicted scratch points that will be generated.
[0141] In one possible implementation, a high similarity between the actual scratch and the simulated scratch indicates high accuracy in scratch fitting; conversely, a low similarity indicates low accuracy. It is understood that the quality of the scratch simulation data fitting the actual scratch on the wafer can be evaluated in various ways, and this application does not limit this approach.
[0142] In one possible implementation, the method also includes:
[0143] S1003: Calculate the shortest distance between each scratch point in the scratch simulation data and the scratch on the wafer to obtain multiple fitting distances. The fitting distance is used to characterize the degree of fitting between the multiple fitted scratch points and the scratch on the wafer.
[0144] S1004: Determine whether the fitting distance is less than the preset fitting threshold;
[0145] S1005: If the fitting distance is less than the preset fitting threshold, the scratch point corresponding to the fitting distance is determined as the source of the scratch on the wafer; if the fitting distance is greater than or equal to the preset fitting threshold, the scratch point corresponding to the fitting distance is filtered out.
[0146] In one possible implementation, the scratches on the wafer are actual scratches. By calculating the shortest distance between each scratch point in the scratch simulation data and the scratch on the wafer, the degree of fit between the multiple fitted scratch points and the scratch on the wafer can be determined.
[0147] In one possible implementation, the preset fitting threshold can be set according to actual needs, for example, it can be 1 μm (micrometer). When the fitting distance is zero, it indicates that each scratch point in the scratch simulation data completely coincides with the actual scratch on the wafer.
[0148] In one possible implementation, if the fitting distance is less than a preset fitting threshold, it indicates that the scratch points in the scratch simulation data can match the actual scratches on the wafer. In this case, the scratch points corresponding to the fitting distance are identified as the sources of scratches on the wafer, accurately reflecting which particles at which scratch points caused the scratches. If the fitting distance is greater than or equal to the preset fitting threshold, it indicates that the scratch points in the scratch simulation data cannot match the actual scratches on the wafer. In this case, the scratch points corresponding to the fitting distance can be filtered out and discarded.
[0149] Figure 11 is a flowchart illustrating the simulation model construction method provided in this application. As shown in Figure 11, this application also provides a simulation model construction method, which includes:
[0150] S1101. Obtain the grinding parameters of the chemical mechanical polishing process that causes the scratches. The grinding parameters include a first motion parameter and a second motion parameter. The first motion parameter is used to characterize the motion trajectory of the polishing pad, and the second motion parameter is used to characterize the motion trajectory of the wafer.
[0151] S1102. Based on the grinding parameters, establish a static model and a dynamic model for fitting the scratches. The static model is constructed to fit the scratches caused by abrasive particles whose positions on the grinding pad are considered constant. The dynamic model is constructed to fit the scratches caused by abrasive particles whose positions on the grinding pad are considered to change with grinding time.
[0152] Among them, grinding parameters refer to parameters describing the operating state of the grinding process. These parameters are the inputs to the simulation model and directly determine how the model calculates the relative motion trajectory between the grinding pad, the wafer, and the particles causing the scratches. Grinding parameters include the first motion parameter, the second motion parameter, and the grinding time t. d .
[0153] The first motion parameter describes the motion of the polishing pad and characterizes its trajectory and velocity relative to a fixed reference frame (usually the equipment). This first motion parameter includes the spin angular velocity ω3. The second motion parameter describes the motion of the wafer (i.e., the polishing head, on which the wafer is fixed) and characterizes the combined motion trajectory of the wafer carrier (i.e., the polishing head) relative to the fixed reference frame and the polishing pad. This second motion parameter includes the wafer's spin angular velocity ω2, the polishing head's reciprocating scanning speed ω1, and the starting coordinate X of the polishing head's reciprocating scanning. head,start And the coordinate x of the end point of the reciprocating scan of the polishing head head,end Grinding time t d It refers to the time from the start of grinding to the end of grinding, that is, the time it takes for a complete scratch to form.
[0154] Referring to Figure 1, the polishing platform of this application can rotate counterclockwise. The rotation process of the polishing pad can be the same as that of the polishing platform, i.e., the polishing platform and the polishing pad move synchronously. The polishing head can rotate and translate simultaneously with the wafer carrier. Since the wafer is fixed on the wafer carrier, the wafer and the polishing head can move synchronously, and their rotational angular velocity, translational motion, etc., are the same. During translational motion, the polishing head can repeat multiple times according to a predetermined starting point and ending point.
[0155] This application establishes two models: a static model and a dynamic model. The static model, assuming the abrasive particles remain stationary, simulates the relative motion between the abrasive pad and the wafer, fitting the scratch trajectory caused by the abrasive particles. The static model is constructed by establishing a functional relationship F between the scratch position and particle coordinates, abrasive parameters, and time. The dynamic model, building upon the static model, adds particle motion, piecing together small segments of scratches generated by all time steps to form a complex, predicted scratch trajectory. The dynamic model is constructed by establishing a functional relationship G between the scratch position and the initial particle coordinates, particle motion patterns, abrasive parameters, and time.
[0156] Therefore, a dynamic model can be built upon a static model, so a static model can be established first. When establishing the static model, the position of the particles causing the scratches on the polishing pad remains unchanged during the polishing process. In this case, the rotation coordinate system of the polishing pad and the rotation coordinate system of the wafer are considered during the polishing process. The rotation coordinate system of the polishing pad is a coordinate system fixed on the rotating polishing pad and rotating with it, with the origin usually located on the rotation axis of the polishing pad. The rotation coordinate system of the wafer is a coordinate system fixed on the rotating wafer and rotating with it.
[0157] Furthermore, a polishing head is provided on the wafer, and the polishing head moves synchronously with the wafer. Based on the polishing parameters, a static model and a dynamic model of the fitted scratches are established, including:
[0158] S1201. Based on the first particle coordinate information of the grinding particles and the first polishing head coordinate information of the polishing head at the grinding time, the fitted first scratch position information is obtained.
[0159] S1202. Based on the functional relationship between the first scratch location information, the first particle coordinate information, and the first polishing head coordinate information, a static model for fitting the scratch is established.
[0160] S1203. Based on the static model, the coordinate information of the first particle and the coordinate information of the first polishing head are continuously iterated to obtain the fitted second scratch position information.
[0161] S1204. Based on the functional relationship between the second scratch position information and the target particle coordinate information of the grinding particles and the target polishing head coordinate information of the polishing head at the target time, a dynamic model for fitting the scratch is established.
[0162] The grinding moment refers to any point in the grinding process, determined by sampling during the grinding process and based on a set sampling frequency or sampling period. There can be multiple grinding moments, the number of which depends on the desired acquisition accuracy of the model being constructed. In other words, the sampling frequency is determined based on the desired acquisition accuracy of the model, and multiple grinding moments are determined during the grinding process based on this sampling frequency.
[0163] The first particle coordinate information includes the coordinate information of the abrasive particle that caused the scratch during the grinding process. Although the position of the abrasive particle that caused the scratch remains unchanged on the grinding pad under the static model setting, the first particle coordinate information needs to be recalculated during the grinding process because the grinding pad is rotating.
[0164] The first polishing head coordinate information includes the coordinate information of the polishing head at different polishing moments. During the polishing process, the polishing head, like the wafer, not only rotates but can also translate along a straight line. Different calculation methods may be used to calculate the first polishing head coordinate information at different polishing moments; therefore, the first polishing head coordinate information can be calculated in segments according to different polishing moments.
[0165] The first scratch location information includes the coordinate information of the scratch point at the time of grinding, such as the horizontal and vertical coordinates of the scratch point at the time of grinding. There can be multiple scratch points, and multiple scratch points can form a simulated scratch at the time of grinding.
[0166] Furthermore, based on the first particle coordinate information of the grinding particles and the first polishing head coordinate information of the polishing head at the grinding moment, the fitted first scratch position information is obtained, including:
[0167] S1301. Obtain the initial particle coordinate information of the grinding particles in the first coordinate system and the position information of the first origin of the second coordinate system at the initial moment.
[0168] S1302. Based on the initial particle coordinate information, the position information of the first origin of the second coordinate system, and the first motion parameters, obtain the first particle coordinate information of the grinding particles in the third coordinate system at the grinding moment;
[0169] S1303. Based on the first particle coordinate information of the grinding particles in the third coordinate system at the grinding time, the fitted first scratch position information is obtained.
[0170] In one possible implementation, the first coordinate system is the polar coordinate system of the polishing pad, the second coordinate system is the Cartesian coordinate system of the polishing pad, and the third coordinate system is the Cartesian coordinate system of the wafer. The origin of the polar coordinate system of the polishing pad is the center of rotation of the polishing pad, and the radial axis direction refers to the radial direction from the origin to the edge of the polishing pad. The origin of the Cartesian coordinate system of the polishing pad is also the center of rotation of the polishing pad. The X-axis usually points to a fixed reference direction of the polishing machine, such as the wafer loading / unloading position, or directly in front of the machine. The Y-axis direction is perpendicular to the X-axis according to the right-hand rule. For example, if the X-axis is horizontal to the right, then the Y-axis is vertically upward. The Cartesian coordinate system and the polar coordinate system of the polishing pad can be converted to each other. The origin of both the Cartesian and polar coordinate systems of the wafer is the center of the wafer. The X and Y axes of the Cartesian coordinate system are also pre-defined, and the radial axis direction of the polar coordinate system is defined similarly. In this embodiment of the application, only scratches in a two-dimensional plane are considered. Therefore, the first coordinate system, the second coordinate system, and the third coordinate system are all two-dimensional coordinate systems.
[0171] The initial particle coordinate information in the first coordinate system at the initial moment includes the polar coordinates of the grinding particle in the polar coordinate system of the grinding pad at the initial moment, which can be expressed as (r partical ,θ partical ), where r partical Let θ be the polar radius of the abrasive particle in the polar coordinate system of the abrasive pad at the initial moment. partical The polar angle of the grinding particle in the polar coordinate system of the grinding pad at the initial moment.
[0172] Figure 12 is a schematic diagram of the chemical mechanical polishing process of the static model provided in this application, and Figure 13 is a schematic diagram of the chemical mechanical polishing process of the dynamic model provided in this application. The difference between Figure 13 and Figure 12 is that the position of the abrasive particles causing the scratches on the polishing pad changes with polishing time. As shown in Figure 12, 51 is the boundary of the polishing pad, 52 is the boundary of the wafer, and 53 is the abrasive particle. x1 is the horizontal axis of the Cartesian coordinate system of the polishing pad at the initial moment, y1 is the vertical axis of the Cartesian coordinate system of the polishing pad at the initial moment, and o1 is the origin of the Cartesian coordinate system of the polishing pad. During the polishing process, the polishing pad can rotate counterclockwise. When it reaches the polishing moment, the horizontal axis of the Cartesian coordinate system of the polishing pad is x2, and the vertical axis is y2.
[0173] x3 is the horizontal axis of the wafer's Cartesian coordinate system at the initial moment, y3 is the vertical axis of the wafer's Cartesian coordinate system at the initial moment, and o2 is the origin of the wafer's Cartesian coordinate system. The wafer can rotate counterclockwise. When it reaches the grinding moment, the horizontal axis of the wafer's Cartesian coordinate system is x4, and the vertical axis is y4. It should be noted that the schematic diagram in Figure 12 does not consider the movement of the wafer along the x1 direction. In practical applications, the wafer can move linearly along the x1 direction while simultaneously moving counterclockwise.
[0174] The first origin position information of the second coordinate system refers to the origin coordinates of the Cartesian coordinate system of the grinding pad, that is, the horizontal and vertical coordinates of o1 in Figures 12 and 13.
[0175] Since step S1202 involves establishing a static model, the position of the grinding particles relative to the grinding pad is set to remain constant. The polar coordinates of the grinding particles in the first coordinate system (the polar coordinate system of the grinding pad) can always be represented as the initial particle coordinate information (r) regardless of whether it is at the initial moment or during the grinding process. partical ,θ partical ).
[0176] When the grinding time is t, the abscissa of the first particle coordinate information in the third coordinate system can be expressed as:
[0177] Where, r partical (t)=r partical θ partical (t)=θ partical r partical (t) represents the polar diameter of the grinding particle in the first coordinate system at grinding time t, and θ partical (t) represents the polar angle of the grinding particle in the first coordinate system at grinding time t, and α(t) represents the rotation angle of the grinding pad at time t. α(t) can be obtained from the rotational angular velocity ω3 of the grinding pad. x 0,platenLet x be the abscissa of the origin of the Cartesian coordinate system of the grinding pad at the initial moment, i.e., the abscissa of o1 in Figure 12.
[0178] When the grinding time is t, the ordinate of the first particle coordinate information in the third coordinate system can be expressed as:
[0179] Among them, y 0,platen The ordinate of the origin of the Cartesian coordinate system of the grinding pad at the initial moment is the ordinate of o1 in Figure 12.
[0180] Furthermore, based on the coordinate information of the first particle in the third coordinate system at the grinding moment, the fitted first scratch position information is obtained, including:
[0181] S1401. Based on the second motion parameters, obtain the motion speed of the polishing head along one of the axes of the first coordinate system;
[0182] S1402. Based on the movement speed of the polishing head, obtain the first polishing head coordinate information in the second coordinate system at the moment of grinding;
[0183] S1403. Based on the first polishing head coordinate information in the second coordinate system at the time of grinding and the first particle coordinate information in the third coordinate system at the time of grinding, the fitted first scratch position information is obtained.
[0184] The second motion parameters include the reciprocating scanning speed ω1 of the polishing head, the starting coordinate xhead,start of the reciprocating scanning of the polishing head, and the ending coordinate x of the reciprocating scanning of the polishing head. head,end In one possible implementation, the polishing head moves along one of the axes of the second coordinate system. For example, in Figure 12, the polishing head can initially move in a straight line along the horizontal axis x1 of the second coordinate system. Given the reciprocating scanning speed ω1 of the polishing head, the speed of the polishing head can be expressed as:
[0185] v head =2|xhead,start-x head,end |ω1;
[0186] Among them, v head The xhead and start coordinates represent the speed of the polishing head's movement, respectively. The xhead and start coordinates represent the starting points of the polishing head's reciprocating motion in the second coordinate system. head,end The coordinates of the endpoint of the reciprocating motion of the polishing head in the second coordinate system are given.
[0187] In one possible implementation, to accurately describe the reciprocating scanning motion of the polishing head (wafer) during the polishing process, the position of the polishing head at time t in the second coordinate system can be calculated using a piecewise function. The position of the polishing head at time t in the second coordinate system, i.e., the Cartesian coordinate system of the polishing pad, can be expressed as:
[0188] Where N is a natural number, and t is less than the grinding time t d ω1 is the reciprocating scanning speed of the polishing head. head (t) represents the abscissa of the polishing head at time t in the second coordinate system. Since the polishing head reciprocates along the abscissa x1 of the second coordinate system at the initial time, the abscissa of the polishing head can be calculated first.
[0189] Furthermore, based on the first polishing head coordinate information in the second coordinate system at the time of grinding and the first particle coordinate information in the third coordinate system at the time of grinding, the fitted first scratch position information is obtained, including:
[0190] S1501. Based on the second motion parameters, the first particle coordinate information of the grinding particles in the third coordinate system at the grinding time, and the first polishing head coordinate information of the polishing head in the second coordinate system at the grinding time, the fitted scratch intermediate information of the static scratch in the fourth coordinate system is obtained.
[0191] S1502. Transform the intermediate information of the static scratch from the fourth coordinate system to the third coordinate system to obtain the position information of the first scratch in the third coordinate system.
[0192] In one possible implementation, the second motion parameter includes the wafer's rotational angular velocity ω2. The fitted scratch intermediate information in the fourth coordinate system includes the polar radius and polar angle of the static scratch in the fourth coordinate system at time t.
[0193] The polar radius of the fitted scratch in the fourth coordinate system can be expressed as:
[0194] Where: x head (t) is the x-coordinate of the polishing head at time t in the second coordinate system, y head (t) represents the ordinate of the polishing head at time t in the second coordinate system. In some embodiments, y head (t) is zero.
[0195] The polar angle of the fitted scratch in the fourth coordinate system can be expressed as:
[0196] Wherein, β(t) can be obtained from ω2. r scratch <r wafer rwafer Given the known wafer radius, this means that the scratches obtained from static simulation fitting are always within the wafer boundary.
[0197] In one possible implementation, the first scratch information includes the coordinates of the fitted static scratch in the third coordinate system. Therefore, it is necessary to transform the polar radius and polar angle of the static scratch at time t in the fourth coordinate system from the fourth coordinate system to the third coordinate system, that is, to the Cartesian coordinate system of the wafer.
[0198] The above analysis process constitutes the construction of a static model. By analyzing and establishing the functional relationship F between the scratch location, particle coordinates, grinding parameters, and time, this is the static model. In the actual grinding process, assuming the location of the grinding particles, the static model is used to fit the scratch, and then compared with the actual scratch to achieve functions such as scratch prediction and grinding particle tracing. The construction and use of dynamic models are similar.
[0199] Step S1203 pertains to the process of establishing a dynamic model. In the dynamic model, the changing positions of the abrasive particles causing scratches on the abrasive pad during the grinding process are considered. This situation falls under the category of a piecewise multivariate nonlinear problem with non-constant periodicity, and the dynamic model can be established using methods such as multibody dynamics (e.g., Runge-Kutta integral) or discrete element methods (e.g., Verlet integral). In this application, as an example, the Newton-Euler recursive method is used to model the dynamic model, that is, iterating the parameter conditions of the next grinding time t+δt based on the motion state at the previous grinding time, and recursively solving for the solution.
[0200] Furthermore, based on the static model, the coordinate information of the first particle and the coordinate information of the first polishing head are iteratively analyzed to obtain the fitted second scratch location information, including:
[0201] S1601. Iterate the first particle coordinate information and the first polishing head coordinate information to obtain the second particle coordinate information of the grinding particle in the third coordinate system and the second polishing head coordinate information of the polishing head in the second coordinate system at the next grinding moment.
[0202] S1602. Based on the coordinate information of the second particle and the coordinate information of the second polishing head, obtain the intermediate information of the first dynamic scratch in the fourth coordinate system at the next grinding moment;
[0203] S1603. Based on the intermediate information of the dynamic scratch, obtain the second intermediate information of the dynamic scratch in the third coordinate system after fitting the next grinding moment;
[0204] S1604. Iterate through the intermediate information of the second dynamic scratch to obtain the fitted position information of the second scratch.
[0205] In one possible implementation, the next grinding time is t+δt. In the dynamic model, the functional expression for calculating the second particle coordinate information of the grinding particle in the third coordinate system at time t+δt is consistent with the function expression for calculating the first particle coordinate information of the grinding particle in the third coordinate system in the static model.
[0206] In the second particle coordinate information of the grinding particle in the third coordinate system at the next grinding moment, when the grinding moment is t+δt, the abscissa of the second particle coordinate information of the grinding particle in the third coordinate system can be expressed as:
[0207] Where, r partical (t)=r partical θ partical (t)=θ partical α(t) can be obtained from the rotational angular velocity ω3 of the grinding pad. 0,platen Let x be the x-coordinate of the origin of the Cartesian coordinate system of the grinding pad at the initial moment.
[0208] In the second particle coordinate information of the grinding particle in the third coordinate system at the next grinding moment, when the grinding moment is t+δt, the ordinate of the second particle coordinate information of the grinding particle in the third coordinate system can be expressed as:
[0209] Among them, y 0,platen The ordinate is the ordinate of the origin of the Cartesian coordinate system of the grinding pad at the initial moment.
[0210] In one possible implementation, the process of iteratively obtaining the second polishing head coordinate information of the polishing head at the next polishing moment by the coordinate information of the first polishing head is consistent with the functional expression for calculating the position of the polishing head at time t in the second coordinate system. That is, by replacing 't' with 't+δt' in the functional expression for calculating the position of the polishing head at time t in the second coordinate system, the second polishing head coordinate information of the polishing head at the next polishing moment can be obtained. The second polishing head coordinate information at the next polishing moment includes the coordinates of the polishing head in the second coordinate system at the next polishing moment.
[0211] In one possible implementation, the intermediate information of the first dynamic scratch includes the coordinates of the scratch in the fourth coordinate system at the next grinding moment during the iteration process. The polar radius of the scratch in the fourth coordinate system at the next grinding moment during the iteration process can be expressed as:
[0212] Where, x head (t+δt) is the abscissa of the polishing head at time t+δt in the second coordinate system, y head(t+δt) is the ordinate of the polishing head at time t+δt in the second coordinate system; xpartical,v(t) is the abscissa of the abrasive particle at time t in the third coordinate system; ypartical,v(t) is the ordinate of the abrasive particle at time t in the third coordinate system.
[0213] During the iteration process, the polar angle of the scratch in the fourth coordinate system at the next grinding moment can be expressed as:
[0214] Where xpartical,v(t+δt) is the abscissa of the grinding particle at time t+δt in the third coordinate system, and ypartical,v(t+δt) is the ordinate of the grinding particle at time t+δt in the third coordinate system.
[0215] β(t+δt) can be obtained from the second motion parameter, including the wafer's spin angular velocity ω2:
[0216] In one possible implementation, the intermediate information of the second dynamic scratch includes the coordinates of the scratch in the second coordinate system at the next grinding time. Specifically, the abscissa of the scratch in the second coordinate system at the next grinding time, i.e., time t+δt, can be expressed as:
[0217] X scratch,v (t)=X head (t+δt)+r scratch,v (t)cos(θ scratch,v (t)-β(t));
[0218] Where, x head (t+δt) is the abscissa of the polishing head at time t+δt in the second coordinate system.
[0219] The ordinate of the scratch in the second coordinate system at the next grinding time, i.e., time t+δt, can be expressed as:
[0220] y scratch,v (t)y head (t+δt)+r scratch,v (t)sin(θ scratch,v (t)-β(t));
[0221] In one possible implementation, the process of establishing the dynamic model can involve multiple iterations, with the coordinates of the scratch in the second coordinate system at the next grinding moment serving as intermediate data from one of the iterations. After multiple iterations, the fitted second scratch position information can be obtained. Then, based on the functional relationship between the second scratch position information and the target particle coordinates of the grinding particles and the target polishing head coordinates at the target moment, a dynamic model of the fitted scratch is established. The second scratch position information includes the coordinates of the fitted dynamic scratch in the third coordinate system.
[0222] Furthermore, the intermediate information of the second dynamic scratch is iterated to obtain the fitted second scratch position information, including:
[0223] S1701. Iterate the second particle coordinate information and the second polishing head coordinate information, and continuously repeat the iteration process to update the intermediate information of the second dynamic scratch, so as to obtain the target particle coordinate information of the grinding particles and the target polishing head coordinate information of the polishing head at the target time.
[0224] S1702. Based on the target particle coordinate information of the grinding particles at the target time and the target polishing head coordinate information of the polishing head, the fitted second scratch position information is obtained.
[0225] In one possible implementation, the polar diameter of the abrasive particle at time t+δt is:
[0226] Where, x scratch,v (t) represents the x-coordinate of the scratch in the second coordinate system at the next grinding time, i.e., time t+δt. scratch,v (t) is the ordinate of the scratch in the second coordinate system at the next grinding time, i.e., time t+δt.
[0227] The polar angle of the grinding particles at time t+δt is:
[0228] Wherein, α(t) can be obtained from the rotational angular velocity ω3 of the grinding pad, where,
[0229] Step S1701 repeats the iterative process continuously until the iteration termination condition is met, obtaining the target particle coordinate information of the grinding particles and the target polishing head coordinate information at the target time. The iteration termination condition can be set as needed.
[0230] The process of obtaining the fitted second scratch position information based on the target particle coordinate information of the grinding particles and the target polishing head coordinate information of the polishing head at the target time can refer to the process in step 1602, and will not be repeated here.
[0231] It should be noted that the four coordinate systems in this application can also be other types of coordinate systems. For example, in some embodiments, the first coordinate system can also be a Cartesian coordinate system. It is understood that this application does not limit the type of each coordinate system.
[0232] In summary, the simulation model construction method and wafer scratch simulation method provided in this application do not require manual adjustment of particle coordinates or manual comparison of scratch patterns. Based on the analysis mode selected by the user, the embedded static and dynamic particle simulation models are invoked to calculate and output the traceability results of the particles corresponding to the current measured scratch pattern.
[0233] Furthermore, Figure 14 is a structural schematic diagram of the simulation model building device provided in this application. As shown in Figure 14, the device includes:
[0234] The first acquisition module 1301 is used to acquire the grinding parameters of the chemical mechanical polishing process that causes the scratches. The grinding parameters include a first motion parameter and a second motion parameter. The first motion parameter is used to characterize the motion trajectory of the polishing pad, and the second motion parameter is used to characterize the motion trajectory of the wafer.
[0235] The fitting module 1302 is used to establish a static model and a dynamic model for fitting scratches based on the grinding parameters. The static model is constructed to fit scratches caused by abrasive particles whose positions on the grinding pad are considered constant. The dynamic model is constructed to fit scratches caused by abrasive particles whose positions on the grinding pad are considered to change with grinding time.
[0236] In one possible implementation, a polishing head is provided on the wafer, and the polishing head moves synchronously with the wafer. The fitting module includes: a first scratch position calculation module, used to obtain the fitted first scratch position information based on the first particle coordinate information of the grinding particles at the grinding time and the first polishing head coordinate information of the polishing head; a static fitting module, used to establish a static model of the fitted scratch based on the functional relationship between the first scratch position information, the first particle coordinate information, and the first polishing head coordinate information of the polishing head; a second scratch position calculation module, used to continuously iterate the first particle coordinate information and the first polishing head coordinate information based on the static model to obtain the fitted second scratch position information; and a dynamic fitting module, used to establish a dynamic model of the fitted scratch based on the functional relationship between the second scratch position information, the target particle coordinate information of the grinding particles at the target time, and the target polishing head coordinate information of the polishing head.
[0237] In one possible implementation, the first scratch position calculation module includes: a first origin position acquisition module, used to acquire the initial particle coordinate information of the grinding particle in a first coordinate system and the first origin position information of a second coordinate system at the initial moment, wherein the first coordinate system is the polar coordinate system of the grinding pad and the second coordinate system is the Cartesian coordinate system of the grinding pad; a first particle coordinate calculation module, used to obtain the first particle coordinate information of the grinding particle in a third coordinate system at the grinding moment based on the initial particle coordinate information, the first origin position information of the second coordinate system and the first motion parameter, wherein the third coordinate system is the Cartesian coordinate system of the wafer; and a first scratch fitting module, used to obtain the fitted first scratch position information based on the first particle coordinate information of the grinding particle in the third coordinate system at the grinding moment.
[0238] In one possible implementation, the first scratch fitting module includes: a speed calculation module, used to obtain the motion speed of the polishing head along one axis of the first coordinate system based on the second motion parameters; a first polishing head coordinate calculation module, used to obtain the first polishing head coordinate information in the second coordinate system at the time of grinding based on the motion speed of the polishing head; and a first scratch fitting submodule, used to obtain the fitted first scratch position information based on the first polishing head coordinate information in the second coordinate system at the time of grinding and the first particle coordinate information of the grinding particles in the third coordinate system.
[0239] In one possible implementation, the first scratch fitting submodule includes: a static scratch intermediate calculation module, used to obtain the fitted scratch intermediate information in a fourth coordinate system based on the second motion parameters, the first particle coordinate information of the grinding particles in the third coordinate system at the grinding time, and the first polishing head coordinate information of the polishing head in the second coordinate system at the grinding time, wherein the fourth coordinate system is the polar coordinate system of the wafer; and a first transformation module, used to transform the static scratch intermediate information from the fourth coordinate system to the third coordinate system to obtain the first scratch position information in the third coordinate system.
[0240] In one possible implementation, the second scratch position calculation module includes: a first iteration module, used to iterate the first particle coordinate information and the first polishing head coordinate information to obtain the second particle coordinate information of the grinding particle in the third coordinate system and the second polishing head coordinate information of the polishing head in the second coordinate system at the next grinding moment; a first dynamic scratch intermediate calculation module, used to obtain the first dynamic scratch intermediate information of the scratch in the fourth coordinate system at the next grinding moment based on the second particle coordinate information and the second polishing head coordinate information; a second dynamic scratch intermediate calculation module, used to obtain the fitted second dynamic scratch intermediate information in the second coordinate system at the next grinding moment based on the dynamic scratch intermediate information; and a second scratch fitting module, used to iterate the second dynamic scratch intermediate information to obtain the fitted second scratch position information.
[0241] In one possible implementation, the second scratch fitting module includes: a second iteration module, used to iterate the second particle coordinate information and the second polishing head coordinate information, and continuously repeat the iteration process to update the intermediate information of the second dynamic scratch, so as to obtain the target particle coordinate information of the grinding particle and the target polishing head coordinate information of the polishing head at the target time; and a second scratch fitting submodule, used to obtain the fitted second scratch position information based on the target particle coordinate information of the grinding particle and the target polishing head coordinate information of the polishing head at the target time.
[0242] Figure 15 is a schematic diagram of the wafer scratch simulation device provided in this application. As shown in Figure 15, the device includes: a second acquisition module 1401, used to acquire the number of scratches and the curvature of each scratch during chemical mechanical polishing; and a selection module 1402, used to select one of a static model and a dynamic model based on the number of scratches and the curvature of each scratch to simulate each scratch, thereby obtaining scratch simulation data that matches the number of scratches and the curvature of each scratch; the static model and the dynamic model are constructed using the method described above.
[0243] In one possible implementation, the second acquisition module includes: an image acquisition module for acquiring image information of the wafer and determining the location information of scratches on the wafer based on the image information; and a scratch calculation module for determining the number of scratches and the curvature of each scratch based on the location information of scratches on the wafer.
[0244] In one possible implementation, the image acquisition module includes: a recognition module for recognizing the center coordinates and radius of the wafer in the image based on the wafer's image information; a mapping module for linearly mapping the center coordinates and radius of the wafer in the image based on the actual radius of the wafer to obtain stretched image information; and a scratch location determination module for recognizing the location information of the scratch based on the stretched image information, wherein the scratch location information includes the coordinates of each pixel at the scratch location.
[0245] In one possible implementation, the recognition module includes: a coordinate acquisition module, used to acquire the coordinate values of each pixel point of the wafer boundary in both row and column directions in the wafer image information; and a wafer determination module, used to determine the center coordinates and radius of the wafer on the image based on the coordinate values of each pixel point of the wafer boundary in both row and column directions.
[0246] In one possible implementation, the selection module includes: a first simulation module, used to automatically simulate each scratch using a static model when the number of scratches is less than a first quantity threshold and the curvature of each scratch is within a first curvature range, to obtain first scratch simulation data; a second simulation module, used to semi-automatically simulate each sequentially selected scratch using a static model when the number of scratches is greater than or equal to the first quantity threshold and the curvature of each scratch is within a second curvature range, to obtain second scratch simulation data; and a third simulation module, used to semi-automatically simulate each sequentially selected scratch using a dynamic model when the curvature of each scratch is within a third curvature range, to obtain third scratch simulation data.
[0247] In one possible implementation, the wafer scratch simulation device further includes: a comparison module for comparing the scratch simulation data with the position information of the scratches on the wafer to obtain the scratch comparison result; and an accuracy determination module for determining the accuracy of the scratch fitting based on the scratch comparison result.
[0248] In one possible implementation, the scratch simulation data includes the position information of multiple fitted scratch points. The wafer scratch simulation device further includes: a distance calculation module, used to calculate the shortest distance between each scratch point in the scratch simulation data and the scratch on the wafer, obtaining multiple fitted distances, which are used to characterize the degree of fitting between the multiple fitted scratch points and the scratch on the wafer; a distance judgment module, used to determine whether the fitted distance is less than a preset fitting threshold; and a scratch source determination module, used to determine the scratch point corresponding to the fitted distance as the source of the scratch on the wafer if the fitted distance is less than the preset fitting threshold; and to filter the scratch points corresponding to the fitted distance if the fitted distance is greater than or equal to the preset fitting threshold.
[0249] The electronic device provided in this application includes: a memory and a processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, causing the processor to perform a method.
[0250] Figure 16 is a schematic diagram of the structure of the electronic device provided in this application. As shown in Figure 16, the electronic device 100 provided in this embodiment includes at least one processor 1001 and a memory 1002. Optionally, the device 100 further includes a communication component 1003. The processor 1001, the memory 1002, and the communication component 1003 are connected via a bus 1004.
[0251] In a specific implementation, at least one processor 1001 executes computer execution instructions stored in memory 1002, causing at least one processor 1001 to perform the above-described method.
[0252] The specific implementation process of processor 1001 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0253] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.
[0254] The memory may include random access memory (RAM) or non-volatile memory (NVM).
[0255] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0256] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method. Specifically, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the method.
[0257] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the aforementioned method. Specifically, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method.
[0258] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), and flash memory. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0259] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.
[0260] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0261] The units described as dividing components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0262] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0263] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), or a random access memory (RAM).
[0264] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM or RAM.
[0265] Finally, it should be noted that other embodiments of this application will readily conceive of by those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and alterations may be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A simulation model construction method characterized by comprising: The method includes: The grinding parameters of the chemical mechanical polishing process that causes scratches are obtained. The grinding parameters include a first motion parameter and a second motion parameter. The first motion parameter is used to characterize the motion trajectory of the polishing pad, and the second motion parameter is used to characterize the motion trajectory of the wafer. Based on the grinding parameters, a static model and a dynamic model are established to fit the scratches. The static model is constructed to fit the scratches caused by abrasive particles whose positions on the grinding pad are considered constant. The dynamic model is constructed to fit the scratches caused by abrasive particles whose positions on the grinding pad are considered to change with grinding time.
2. The method of claim 1, wherein, The wafer is equipped with a polishing head, which moves synchronously with the wafer. The step of establishing static and dynamic models to fit the scratches based on the polishing parameters includes: Based on the first particle coordinate information of the grinding particles and the first polishing head coordinate information of the polishing head at the grinding time, the fitted first scratch position information is obtained; Based on the functional relationship between the first scratch location information, the first particle coordinate information, and the first polishing head coordinate information, a static model fitting the scratch is established. Based on the static model, the coordinate information of the first particle and the coordinate information of the first polishing head are continuously iterated to obtain the fitted second scratch position information; Based on the functional relationship between the second scratch location information and the target particle coordinate information of the grinding particles and the target polishing head coordinate information of the polishing head at the target time, a dynamic model fitting the scratch is established.
3. The method of claim 2, wherein, The process of obtaining the fitted first scratch position information based on the first particle coordinate information of the grinding particles and the first polishing head coordinate information of the polishing head at the grinding time includes: Obtain the initial particle coordinate information of the grinding particles in the first coordinate system and the position information of the first origin in the second coordinate system at the initial moment; Based on the initial particle coordinate information, the first origin position information of the second coordinate system, and the first motion parameters, the first particle coordinate information of the grinding particles in the third coordinate system at the grinding moment is obtained; Based on the first particle coordinate information of the grinding particles in the third coordinate system at the grinding time, the fitted first scratch position information is obtained.
4. The method of claim 3, wherein, The first scratch position information obtained by fitting the first particle coordinate information in the third coordinate system based on the first particle coordinate information of the grinding particle at the grinding time includes: Based on the second motion parameters, the motion speed of the polishing head along one of the axes of the first coordinate system is obtained; Based on the movement speed of the polishing head, the coordinate information of the first polishing head in the second coordinate system at the moment of grinding is obtained; Based on the first polishing head coordinate information in the second coordinate system at the time of grinding and the first particle coordinate information in the third coordinate system at the time of grinding, the fitted first scratch position information is obtained.
5. The method of claim 4, wherein, The first scratch position information obtained by fitting the first polishing head coordinate information in the second coordinate system based on the first polishing head coordinate information in the third coordinate system at the grinding time includes: Based on the second motion parameters, the first particle coordinate information of the grinding particles in the third coordinate system at the grinding moment, and the first polishing head coordinate information of the polishing head in the second coordinate system at the grinding moment, the static scratch intermediate information of the fitted scratch in the fourth coordinate system is obtained. The intermediate information of the static scratch is transformed from the fourth coordinate system to the third coordinate system to obtain the position information of the first scratch in the third coordinate system.
6. The method of claim 5, wherein, The process of iterating through the coordinates of the first particle and the first polishing head based on the static model to obtain the fitted second scratch location information includes: The coordinate information of the first particle and the coordinate information of the first polishing head are iterated to obtain the coordinate information of the second particle in the third coordinate system and the coordinate information of the second polishing head in the second coordinate system at the next grinding moment; Based on the second particle coordinate information and the second polishing head coordinate information, the first dynamic scratch intermediate information of the scratch in the fourth coordinate system at the next grinding moment is obtained; Based on the intermediate information of the dynamic scratch, the fitted second intermediate information of the dynamic scratch in the third coordinate system for the next grinding moment is obtained; The intermediate information of the second dynamic scratch is iterated to obtain the fitted second scratch position information.
7. The method of claim 6, wherein, The step of iterating through the intermediate information of the second dynamic scratch to obtain the fitted second scratch position information includes: The second particle coordinate information and the second polishing head coordinate information are iterated, and the iteration process is repeated to update the second dynamic scratch intermediate information to obtain the target particle coordinate information of the grinding particles and the target polishing head coordinate information of the polishing head at the target time. Based on the target particle coordinate information of the grinding particles and the target polishing head coordinate information of the polishing head at the target time, the fitted second scratch position information is obtained.
8. A method of simulating scribe of a wafer, the method comprising: include: The number of scratches and the curvature of each scratch are obtained during the chemical mechanical polishing process; Based on the number of scratches and the curvature of each scratch, one of a static model and a dynamic model is selected to simulate each scratch, thereby obtaining scratch simulation data that matches the number of scratches and the curvature of each scratch; the static model and the dynamic model are constructed using the method described in any one of claims 1-7.
9. The method of claim 8, wherein, The acquisition of the number of scratches and the curvature of each scratch during the chemical mechanical polishing process includes: Acquire image information of the wafer and determine the location information of scratches on the wafer based on the image information; The number of scratches and the curvature of each scratch are determined based on the location information of the scratches on the wafer.
10. The method of claim 9, wherein, The step of determining the location information of the scratches on the wafer based on the image information includes: Identify the center coordinates and radius of the wafer in the image based on the image information of the wafer; Based on the actual radius of the wafer, the center coordinates and radius of the wafer in the image are linearly mapped to obtain the stretched image information; The location information of the scratch is identified based on the stretched image information, and the location information of the scratch includes the coordinates of each pixel at the scratch location.
11. The method of claim 10, wherein, The step of identifying the center coordinates and radius of the wafer on the image based on the image information of the wafer includes: Obtain the coordinate values of each pixel point of the wafer boundary in both row and column directions in the image information of the wafer; The center coordinates and radius of the wafer on the image are determined based on the coordinate values of each pixel point in both row and column directions of the wafer boundary.
12. The method of claim 8, wherein, The step of selecting either a static model or a dynamic model based on the number of scratches and the curvature of each scratch to perform automated or semi-automated simulation of each scratch, and obtaining scratch simulation data adapted to the number of scratches and the curvature of each scratch, includes: When the number of scratches is less than a first number threshold and the curvature of each scratch is within a first curvature range, the static model is selected to perform automated simulation of each scratch to obtain the first scratch simulation data. When the number of scratches is greater than or equal to a first number threshold and the curvature of each scratch is within a second curvature range, the static model is selected to perform semi-automatic simulation on each of the sequentially selected scratches to obtain second scratch simulation data. When the curvature of each scratch is within the third curvature range, the dynamic model is selected to perform semi-automatic simulation on each of the sequentially selected scratches to obtain the third scratch simulation data.
13. The method of claim 8, wherein, The method further includes: The scratch simulation data is compared with the location information of the scratches on the wafer to obtain the scratch comparison result; The accuracy of the scratch fitting is determined based on the scratch comparison results.
14. The method of claim 8, wherein, The scratch simulation data includes the position information of multiple fitted scratch points, and the method further includes: The shortest distance between each scratch point in the scratch simulation data and the scratch on the wafer is calculated one by one to obtain multiple fitting distances. The fitting distance is used to characterize the degree of fitting between the multiple fitted scratch points and the scratch on the wafer. Determine whether the fitting distance is less than a preset fitting threshold; If the fitting distance is less than a preset fitting threshold, the scratch point corresponding to the fitting distance is determined as the source of the scratch on the wafer; if the fitting distance is greater than or equal to the preset fitting threshold, the scratch point corresponding to the fitting distance is filtered out.
15. An emulation model building apparatus characterized by comprising: The device includes: The first acquisition module is used to acquire the grinding parameters of the chemical mechanical polishing process that causes the scratches. The grinding parameters include a first motion parameter and a second motion parameter. The first motion parameter is used to characterize the motion trajectory of the polishing pad, and the second motion parameter is used to characterize the motion trajectory of the wafer. The fitting module is used to establish a static model and a dynamic model for fitting the scratches based on the grinding parameters. The static model is configured to fit the scratches caused by abrasive particles whose positions on the grinding pad are considered constant. The dynamic model is configured to fit the scratches caused by abrasive particles whose positions on the grinding pad are considered to change with grinding time.
16. A device for simulating scribe of a wafer, characterized by, include: The second acquisition module is used to acquire the number of scratches and the curvature of each scratch during the chemical mechanical polishing process; The selection module is used to select one of a static model and a dynamic model to simulate each scratch based on the number of scratches and the curvature of each scratch, so as to obtain scratch simulation data that matches the number of scratches and the curvature of each scratch; the static model and the dynamic model are constructed using the method described in any one of claims 1-7.
17. An electronic device, comprising: include: Memory, processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the method as described in any one of claims 1-14.
18. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-14.
19. A computer program product, characterised in that, Includes a computer program that, when executed by a processor, implements the method as described in any one of claims 1-14.