Method, medium, and system for identifying an adjustable domain for ion beam shaping
The method employs a regression model to identify stable and sensitive clusters of adjustable parameters, addressing the inefficiencies in configuring ion beam shapes by enabling rapid and precise adjustments in ion beam generators.
Patent Information
- Application Number
- JP2024501925
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-07-14
- Filing Date
- 2022-06-23
- Publication Date
- 2025-06-25
- Estimated Expiration
- 2042-06-23
AI Technical Summary
Existing ion beam generators struggle to efficiently replicate or adjust ion beam shapes due to the vast number of adjustable parameters, leading to slow and often suboptimal configuration processes.
A computer-implemented method using a regression model to identify stable and sensitive clusters of adjustable parameters within a search space, allowing for rapid interpolation and adjustment of ion beam shapes through selective measurements and machine learning techniques.
Enables quick and precise configuration of ion beam shapes by identifying clusters with predictable and linear adjustments, reducing the time required to achieve desired beam configurations while minimizing unnecessary measurements.
Smart Images

Figure 0007698783000001 
Figure 0007698783000002 
Figure 0007698783000003
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications This application claims priority to U.S. Non - Provisional Patent Application No. 17 / 375,488, filed on July 14, 2021, entitled "METHODS, MEDIUMS, AND SYSTEMS FOR IDENTIFYING TUNABLE DOMAINS FOR ION BEAM SHAPE MATCHING", the entire disclosure of which is incorporated herein by reference.
Background Art
[0002] An ion beam is a beam of charged particles generated by an ion beam generator. Ion beams are used to alter the surface in many fields, and are often used, for example, in the manufacture of electronic devices. Ion beams can be used for implanting ions into materials (referred to as "ion implantation"), etching materials, cleaning etched surfaces, and the like.
Summary of the Invention
[0003] In one aspect, a computer - implemented method includes receiving one or more desired beam shape parameters for an ion beam and one or more adjustable parameters for an ion beam generator configured to generate the ion beam; selecting a set of investigation points in a search space, where each point in the search space represents a combination of values for the adjustable parameters; for each investigation point, receiving measured beam shape parameters based on the combination of values for the adjustable parameters defined by the respective investigation point; training a regression model configured to provide predicted beam shape parameters for interpolation points in the vicinity of the investigation points; defining a plurality of clusters in the search space based on the predicted beam shape parameters and the measured beam shape parameters; and the stability of the adjustable parameters within each cluster evaluating a plurality of clusters with respect to at least one of the sensitivity; selecting one of the plurality of clusters based on the evaluation; and outputting an adjustment setting for a combination of adjustable parameters corresponding to the selected cluster
[0004] The regression model may be configured to provide a confidence value for each of the interpolation points, and further identifying that one of the plurality of clusters is associated with a low-confidence interpolation point having a confidence value above or below a predetermined threshold; and receiving a measurement value of the shape of the ion beam using a combination of values of adjustable parameters defined by the low-confidence interpolation points
[0005] Evaluating a plurality of clusters may include selecting a cluster, identifying a combination of values of adjustable parameters for the selected cluster, adjusting a value of a first parameter among the adjustable parameters, and identifying the effect of the adjustment on the value of the shape of the ion beam
[0006] Selecting one of the plurality of clusters based on the evaluation may include selecting the cluster having the largest number of adjustable parameters having values fixed at appropriate positions
[0007] Selecting one of the plurality of clusters based on the evaluation may include identifying that a first adjustable parameter of the cluster to be evaluated has a substantially linear effect on a first parameter among the beam shape parameters and a substantially neutral effect on a second parameter among the beam shape parameters; identifying that a second adjustable parameter of the cluster to be evaluated has a substantially neutral effect on the first parameter among the beam shape parameters and a substantially linear effect on the second parameter among the beam shape parameters; and selecting the cluster to be evaluated. Other technical features may be readily apparent to those skilled in the art from the following drawings, description, and claims
[0008] By adjusting a first one of the adjustable parameters, a value for the shape of the ion beam may be moved in a substantially non-linear manner, and the computer-implemented method may further include excluding a selected cluster from consideration.
[0009] By adjusting a first one of the adjustable parameters, a value for the shape of the ion beam may be moved by an amount less than a predetermined threshold amount, or the value for the shape of the ion beam may be moved in a substantially parabolic manner, and the computer-implemented method may further include selecting a value for a first one of the adjustable parameters and fixing a first one of the adjustable parameters at the selected value.
[0010] These techniques may be embodied as a computer-implemented method, as well as a non-transitory computer-readable medium storing instructions for implementing the method, an apparatus configured to implement the method, and the like. Other technical features may be readily apparent to those skilled in the art from the following drawings, description, and claims.
[0011] To readily identify any particular element or act, the most significant digit or digits of a reference number refer to the number of the drawing in which the element first appears.
Brief Description of the Drawings
[0012]
Figure 1A
Figure 1B
Figure 1C
Figure 2
Figure 3
Figure 4A
Figure 4B
Figure 4C
Figure 5
Figure 6A
Figure 6B
Figure 7
DETAILED DESCRIPTION OF THE INVENTION
[0013] Different ion beam generators generate and shape ion beams in different ways. As a result, beams generated by different ion beam generators tend to have different shapes. A user of a particular ion beam generator may want to replicate the shapes generated by different ion beam generators (e.g., because that user has experience with different ion beam shapes for process integration purposes). In other cases, a user may want to experiment with new ion beam shapes to improve process performance.
[0014] The beam shape can be described in a number of ways. Measurement criteria that can be used to define the beam shape include, but are not limited to, the following. Beam envelope (width and height that contain a specific percentage of the beam, such as 95%) Vertical and horizontal beam intensity distributions (which may be measured at a fixed spot and / or on a net beam where the spot is scanned horizontally) - Examples include the full width at half maximum (FHHM) value, the beam average plus the standard deviation, etc. Vertical and horizontal beam angle distributions (which may be measured at a fixed spot and / or on a net beam where the spot is scanned horizontally) - Examples include the vertical within-device angle (vWIDA), the horizontal within-device angle (hWIDA), the average vWIDA or hWIDA (vWIDAM or hWIDAM), the standard deviation with respect to vWIDA or hWIDA (vWIDAS or hWIDAS), etc. Overall shape variations in the intensity or smoothness of the beam, which may be measured as the beam quality (how closely the spot beam follows the vertical and horizontal Gaussian surfaces), by identification and positioning of hot spots (e.g., by the nearest neighbor (MNN) method).
[0015] Other measurements may not directly affect the beam shape, but may be adjusted using the techniques described herein. For example, the vertical / horizontal beam angle average (BAM) and the beam angle standard deviation (BAS) may represent criteria for beam asymmetry that are likely to be undesirable. Exemplary techniques can be used to manipulate vBAM, vBAS, hBAM, and hBAS to minimize or correct their values to create a more symmetric beam.
[0016] Ideally, a user should be able to select a desired ion beam shape from a wide variety of possibilities and modify the ion beam shape to suit a particular task being performed. Among other possibilities, the user may, for example, want to configure a particular spot beam shape in order to match the net process result of a particular piece of equipment, to manipulate how a three-dimensional structure is implanted or etched, and / or to match complex thermal (or other effects) that impact overall device performance, throughput, or yield. For example, a user may desire a wide but short beam, which can be useful when the user is attempting to impart a particular pattern onto a wafer and requires finer "points", and the short height allows for significant variation in the direction of implantation while implanting a large number of ions. On the other hand, a narrow and short beam allows the user to control variations in both the horizontal and vertical directions of the beam.
[0017] Another consideration may be the current distribution within the spot beam. For example, a tall and narrow shape may be desirable to provide vertical overlap (statistical smoothing) and enable more rapid reversal of the beam sweep direction. In some cases, a non-uniform current distribution may be desirable. For example, concentric rings or other non-uniform implantations can be created using exemplary techniques, which may be useful for invalidating (e.g., polishing) semiconductor processes that impart anti-uniformity.
[0018] In some embodiments, this may involve configuring the shape of the spot beam (e.g., horizontal and vertical intensity distributions, horizontal and vertical angle distributions, overall width, height, current, etc.). The principles described herein can also be applied to modify the configuration of other types of beams (different from spot beams). For example, the techniques described herein can be used to adjust the height of a ribbon beam.
[0019] Furthermore, complex interactions can occur when the beam intensity is too concentrated or too diffused. The beam may impart heat to the underlying silicon matrix and cause damage. This effect can be either desirable or undesirable depending on the application.
[0020] To achieve these effects, a controller that adjusts the beam shaping mechanism of the generator needs to be programmed with an understanding of how to adjust the beam shaping mechanism to affect the beam shape. However, the ion beam shape can be changed by adjusting any of a wide variety of different beam shape parameters (e.g., the current used by the quad 3 magnet, post-scan suppression, degree of focusing, etc.). Each of these parameters can take on a wide range of values, meaning there are a vast number of possible configurations of the ion beam generator. Only a small subset of these configurations can achieve the desired shape while also allowing the beam shape to be adjusted. In some configurations, adjusting one of the parameters may cause the beam shape to change unpredictably, and in other configurations, adjusting the parameters may have no effect on the beam shape at all.
[0021] Any given configuration can be tested, the ion beam generator can be set up in that configuration, and the resulting beam shape can be measured. However, measuring the configuration takes time. Given the very large number of possible configurations, it is unrealistic to measure all of them. As a conclusion, existing solutions for configuring an ion beam generator to achieve a desired ion beam shape tend to be relatively slow and may identify suboptimal configurations.
[0022] The exemplary embodiments described herein are stable (only a relatively small subset of the adjustable parameters available need to be changed to adjust the beam shape), yet still sensitive to changes (adjusting one of the adjustable parameters causes the beam shape to change predictably and preferably linearly, neither too fast nor too slow). The present disclosure relates to a technique for identifying a configuration of adjustable parameters for an ion beam generator.
[0023] In one embodiment, the system may receive parameters that describe a desired shape for the ion beam. The beam shape parameters may define the shape of the beam in terms of, for example, angle, angular spread, width, height, intensity, intensity falloff, etc.
[0024] The system may further receive adjustable parameters for an ion beam generator configured to generate the ion beam. The adjustable parameters may represent settings in the ion beam generator that can be adjusted to change the shape of the ion beam. The adjustable parameters may be settings for specific sub-components of a beam shaping subsystem in the ion beam generator (e.g., current applied to a quadrupole magnet, position of a mechanical component that moves an aperture or extraction manipulator, strength of an electrostatic or electromagnetic field through which the ion beam passes, focus voltage, scanner offset voltage, post-scan suppression voltage, etc.).
[0025] By setting these adjustable parameters to specific values, an ion beam of a specific shape is generated. The goal of the exemplary embodiments is to identify a combination of values of the adjustable parameters that can create the desired beam shape.
[0026] It should be noted that it may not be ideal to identify a single combination of values of adjustable parameters that achieve a particular beam shape. When the beam shape has been achieved, the user may still wish to adjust aspects of the beam shape (e.g., change the height, width, or angle of the beam while maintaining the shape otherwise). The configuration may be unstable in any case even when the desired shape has been achieved, and changing one of the adjustable parameters may cause the beam shape to change irregularly. Therefore, the remaining (unfixed) adjustable parameters should be adjustable and, when adjusted, should change the shape of the ion beam in a predictable, preferably linear manner. For example, by adjusting one of the unfixed parameters, the ion beam should change in width, and in that case, the increase or decrease in width should vary linearly with the adjustment to the unfixed parameter.
[0027] Therefore, it may be insufficient to identify only one particular point within the search space that is stable and sensitive, and it may be important to also consider the stability and sensitivity of the region within the search space around the designated point (representing the adjustable parameter values that would be achieved by changes to the value of the designated point). These neighboring combinations are called clusters. If the cluster is stable and sensitive, then adjusting the value for the unfixed parameter will cause the beam shape to change in a predictable manner.
[0028] Another goal is to fix values for as many of the available adjustable parameters as possible. These fixed values should not be changed when the beam shape is adjusted. This simplifies the adjustment process and allows the beam shape to be adjusted more quickly since only a relatively small number of the adjustable parameters need to be changed to achieve the desired effect.
[0029] To find a combination of values of adjustable parameters that achieve these goals, it is necessary to search the available combinations to find an implementable solution. This needs to be done in a reasonable amount of time, and generally, measuring all possible combinations is excluded. In an exemplary embodiment, this search is performed by (1) performing selective measurements on a relatively small survey subsample of combinations within the search space, (2) identifying regions of the search space for further consideration based on the measurements, (3) using a machine learning (ML) regression model to interpolate the beam shape for unmeasured combinations within the identified regions, (4) removing the uncertainty around these interpolations by measuring the beam shape for interpolations with relatively low confidence, (5) evaluating the expected clusters of adjustable parameter values, and (6) selecting a cluster that meets the goals outlined above, which can be performed quickly.
[0030] The exemplary embodiment can achieve good results relatively quickly because only a small subset of possible combinations (the original survey subsample and the interpolation points with the lowest confidence level in the regression model) are measured. The remaining points in the search space are interpolated in a fast process, making it possible to investigate many points with high confidence. For example, in one test, the adjustable parameters were selected by measuring 625 survey points, which were then extended with over 1,000,000 interpolation points (simulated points).
[0031] For this purpose, the exemplary embodiment may select a set of survey points within the search space. The search space may be an n-dimensional search space (n is an integer corresponding to the number of adjustable parameters). Each point within the search space may represent a possible combination of values for the adjustable parameters.
[0032] For each survey point, the measured beam shape parameters may be received. The measured beam shape parameters may be generated based on a combination of values for adjustable parameters defined by each survey point, and may represent measured values of the beam shape parameters using the combination of values for adjustable parameters defined by the survey point.
[0033] Exemplary embodiments may train a regression model configured to provide predicted beam shape parameters for interpolation points near a survey point. Any suitable regression model can be used, for example, a Gaussian process, gradient boosting, or any other suitable regressor may be used.
[0034] In some embodiments, the regression model provides a confidence value for each of the interpolation points. For example, the regression model may identify multiple possible solutions for a given point and create a confidence interval (e.g., a 95% confidence interval that includes 95% of the predictions). The wider the confidence interval, the lower the confidence that the regression model can be in the selected solution. For example, if the confidence interval is ±0.05 (e.g., includes values from 0.95 to 1.05), the confidence of the regression model in this solution is higher than if the confidence interval is ±0.20 (which would include values from 0.8 to 1.2 in the above example). Alternatively or in addition, the regression model may provide a confidence score (e.g., 7.8 or 96%).
[0035] Exemplary embodiments may identify that one of a plurality of clusters is associated with a low-confidence interpolation point having a confidence value above or below a predetermined threshold (e.g., a relatively wide 95% confidence interval, or a relatively low confidence score).
[0036] In response to a determination that the regression model is not highly reliable with respect to interpolation, an exemplary embodiment may measure beam shape parameters at the interpolated data points. By measuring the values, the uncertainty around the interpolation points is reduced to zero. The measured values may be fed back to the regression model and used to retrain it, thereby improving the performance of the regression model. The retrained regression model can then be reapplied to other low-confidence interpolation points, and in some cases, the associated confidence values are improved. Interpolation points that are still of low confidence can be measured, and the process can be repeated.
[0037] An exemplary embodiment may define a plurality of clusters within the search space based on the predicted beam shape parameters and the measured beam shape parameters. These clusters may represent a grouping of values for adjustable parameters, such as areas of the search space within a predetermined range of the selected points. In some embodiments, an objective function may be defined that describes how closely the beam shape obtained by a combination of parameters at any given point matches the originally supplied beam shape parameters. The objective function may map an input that includes one or more measurements of the beam shape to a score or value that increases as the measured values are closer to the original beam shape parameters. The beam shape parameters may be weighted such that some parameters are treated as being more important than others, and the parameters with larger weights may contribute more to the value output by the objective function than the parameters with smaller weights. The clusters may represent areas around the maxima of the objective function within the search space.
[0038] Exemplary embodiments may evaluate a plurality of clusters with respect to at least one of the stability or sensitivity of adjustable parameters within each cluster. In some embodiments, a cluster may be selected, and a combination of values of adjustable parameters within the selected cluster may be identified. For example, the center point within a cluster may be selected for evaluation, or a point at the center of a relatively stable region may be selected. A particular point selected within a cluster may be adjusted with the intention of better achieving one of the effects on the shape of the ion beam described below.
[0039] The value for a first parameter among the adjustable parameters may be adjusted, and the effect of this adjustment on the shape of the ion beam may be determined. The effect on the shape of the ion beam may be measured in several different ways. In some embodiments, the change in the value of the objective function described above may be used to determine the effect. In some embodiments, the changes in the individual beam shape parameters may be considered independently, and the value for each beam shape parameter may be used as a value representing the effect on the beam shape.
[0040] Adjusting a first parameter among the adjustable parameters may have several possible effects on the shape of the ion beam. In some cases, even when the adjustable parameter is changed relatively significantly, the beam shape does not change significantly. In this case, this particular adjustable parameter is known to have no effect on the beam shape and thus does not provide the ability to adjust the beam shape. Therefore, this adjustable parameter can be safely fixed at a particular value within a stable region.
[0041] In some cases, the beam shape may vary parabolically around the selected point. For example, the beam shape may increase as the value of the adjustable parameter approaches the value of the selected point, and may decrease after the value exceeds the selected point. In this case, it may be possible to fix the adjustable parameter to the value achieved at the minimum / maximum of the parabola, which may represent a relatively stable region.
[0042] In some cases, by changing the value of the adjustable parameter, the measured value of the beam shape may be changed irregularly, including noise, or in another non-linear form. In this case, the current cluster may not be a good candidate for selection. Even if the desired beam shape can be achieved within the cluster, the beam shape may not be adjustable in a predictable manner, and changing the value of the adjustable parameter may result in a large change in the beam shape or no change at all. Therefore, the cluster may be removed from consideration.
[0043] Furthermore, in some cases, the value of the beam shape may be changed in a substantially linear manner by adjusting the value of the first adjustable parameter. In other words, the value of the beam shape may be changed proportionally by adjusting the value of the adjustable parameter. This result means that the beam shape is stable and highly sensitive to the first adjustable parameter. Therefore, it may be said that the adjustable parameter is freely adjustable. The clusters may be scored based on how stable the clusters are (e.g., represented by how many adjustable parameters are fixed within a cluster having a higher stability score with more fixed parameters). The clusters may also be scored based on how sensitive the beam shape is to the adjustment of the unfixed parameters within the cluster. The sensitivity score may increase as the response of the beam shape becomes more linear. Additionally, it may be desirable that the linear response is not too steep or too shallow. If the response is represented by a line with a steep slope, a small adjustment to the adjustable parameter may result in a relatively large adjustment to the beam shape that is linear. Similarly, if the slope is too shallow, it may be necessary to significantly adjust the adjustable parameter before the beam shape responds in the desired manner. Therefore, a target slope for the linear response may be defined, and the sensitivity score may increase as the response of the beam shape approaches the target slope.
[0044] Furthermore, it may be possible for two or more adjustable parameters to affect the beam shape in an orthogonal manner. In other words, a first parameter among the adjustable parameters may affect a first aspect of the beam shape (by linearly changing the first parameter among the beam shape parameters), but may be neutral with respect to a second aspect of the beam shape (in which case, when the first adjustable parameter is adjusted, the second parameter of the beam shape parameter remains stable). The second adjustable parameter may behave in the opposite manner, and adjusting the second adjustable parameter may not result in a change to the first beam shape parameter, but may linearly change the second beam shape parameter. As an example, one of the adjustable parameters may affect the horizontal angle of the ion beam but not the vertical angle, while the second adjustable parameter may affect the vertical angle but not the horizontal angle.
[0045] In this situation, the value for the first adjustable parameter is optimized (e.g., by searching for a value around which the ion beam measurement has good sensitivity to changes in the first adjustable parameter), and the second adjustable parameter may be fixed at its value. Next, the value for the first adjustable parameter may be fixed, and the second adjustable parameter may not be fixed. Next, the value of the second adjustable parameter may be optimized. By adding degrees of freedom in such a setup, when clusters are evaluated, clusters having orthogonal adjustable parameters may be preferred over other clusters.
[0046] An exemplary embodiment may select one of a plurality of clusters based on an evaluation. A cluster having the highest score with respect to stability, sensitivity, and / or a weighted combination of both may be selected.
[0047] The exemplary embodiments may output an adjustment setting for a combination of adjustable parameters corresponding to a selected cluster. The adjustment setting may identify, for example, which of the adjustable parameters should be fixed (and the value at which the parameter should be fixed), the starting values for the non-fixed adjustable parameters to achieve a desired beam shape, and which of the parameters are not fixed and are thus adjustable. Optionally, the adjustment setting may provide a range of acceptable values for the non-fixed parameters (e.g., if the ion beam shape response becomes unstable or insensitive to an adjustable parameter beyond a certain value, that certain value may be identified and the adjustable parameter may be constrained not to exceed that certain value).
[0048] The ion beam generator may be automatically configured by the adjustment setting. In some embodiments, the adjustment setting may be stored in a library, and if the user later desires to use a specified ion beam shape, the adjustment setting for the ion beam shape may be retrieved from the library and applied to the ion beam generator.
[0049] To aid understanding, a series of examples will first be presented before a detailed description of the underlying implementation examples. Note that these examples are for illustration only and the present invention is not limited to the illustrated embodiments.
[0050] Reference will now be made to the drawings, in which like reference numerals are used throughout to refer to like elements. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding. However, the novel embodiments may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form for simplicity of explanation. It is intended to embrace all modifications, equivalents, and alternatives consistent with the claimed subject matter.
[0051] In the drawings and the accompanying description, the designations "a", "b", and "c" (and similar designators) shall be variables representing any positive integer. Thus, for example, when setting a value of a = 5 in an implementation example, the complete set of components 122 shown as components 122-1 to 122-a may include components 122-1, 122-2, 122-3, 122-4, and 122-5. The embodiments are not limited to this context.
[0052] Figure 1A shows a high-level overview of an ion beam generation apparatus 102 suitable for generating a shaped ion beam 112 according to an exemplary embodiment. Examples of the ion beam generation apparatus 102 include the VIISta® family of ion implantation apparatuses by Applied Materials, Inc. (Santa Clara, California). The ion beam generation apparatus may be used for ion implantation, etching, surface cleaning, etc.
[0053] The ion beam generation apparatus 102 may include an ion source 104. The ion source 104 may generate ions for the ion beam. The ion source 104 may generate ions using any suitable technique (e.g., electron ionization, chemical ionization, plasma, discharge, etc.).
[0054] The ion source 104 may generate various different types of ions, but only some of them are desirable for use in the shaped ion beam 112. Thus, an ion selection element 106 may be used to allow the desired ions to pass through and become an ion beam while removing the undesirable ions. For example, a mass separation magnet may select the desired ions based on the mass number and valence, or an energy separation magnet may select the desired ions based on the energy of the ions.
[0055] The ion beam 116 may then be provided to the beam shaping subsystem 114. The beam shaping subsystem 114 may include one or more components for adjusting the ion beam 116 into a desired shape. The resulting shaped ion beam 112 may have a number of characteristics that define the shape of the beam. Examples of such characteristics include vertical or horizontal beam angle distribution, vertical or horizontal intensity distribution, and horizontal or vertical beam range (envelope if current is included).
[0056] The initial shape of the beam may be defined by the aperture 108 through which the beam passes. The size, shape, and position of the aperture 108 may be controlled by mechanical elements. After passing through the aperture 108, the ion beam may be adjusted by a beam shape extraction device 110, which may include several components as illustrated in FIG. 1B.
[0057] For example, the beam shaping subsystem 114 may include a scan offset controller 118 that varies the scan origin of the beam. For example, the scan offset controller may be able to move the beam center inward or outward. The effect of varying the scan offset on the beam is shown, for example, in FIG. 1C, where a more negative scan offset is associated with a wider and shorter beam with the center shifted to the right (in the figure).
[0058] The beam shaping subsystem 114 may further include an optical element 120 configured to adjust the beam through, for example, a magnetic field or an electric field. Examples of the optical element 120 include quad 2 and quad 3 magnets. The quad 3 magnet can be set, for example, to a quad mode or a dipole mode. The effect of changing the mode of the magnet is shown in FIG. 1C. The quad mode is used to control the beam height and shape. The beam is associated with red-green-blue (RGB) components that overlap with each other in a shape that gradually becomes higher but thinner in this example. The dipole mode is generally used to direct the beam up and down. In FIG. 1C, the dipole mode is associated with RGB components of a similar size and shape that are more spread out. The optical element 120 is often used to adjust various aspects of the beam height and shape, various aspects of the vertical angle of the beam (intra-device vertical angle "vWIDA", vertical beam angle average "VBAM", vertical beam angle spread "VBAS"), and beam transmission characteristics such as downstream clipping.
[0059] The terms "vWIDA" and "hWIDA" generally refer to the spread of vertical and horizontal angles, which are often used to inject into the sides of a three-dimensional wafer structure. As an example, consider a cube extending from the surface of a wafer. The cube has a top surface and four side surfaces. The wafer surface may be relatively flat and may extend in the same plane as the top surface of the cube. If the injection device beam extends straight down (without vWIDA or hWIDA), only the top surface of the cube and the wafer surface may be injected, and the side surfaces of the cube may receive no ions. However, if a vertical angle distribution (vWIDA) is imparted to the beam, one or two (depending on the direction of the vertical distribution) of the side surfaces of the cube may receive ions. By also adjusting hWIDA, the other side surfaces of the cube may also receive ions.
[0060] The beam shaping subsystem 114 may further include a focus 122. The focus 122 may be used to adjust the tightness of the beam. For example, the focus 122 is often used to adjust the width and height of the beam, as well as the beam transmission characteristics. The effect of changing the focus 122 is shown in FIG. 1C.
[0061] The beam shaping subsystem 114 may further include an axis manipulator 124 configured to change the X-axis, Y-axis, and / or Z-axis aspects of the beam. The effect of changing these aspects is shown in FIG. 1C. For example, the X-axis manipulator may change the center position and the horizontal beam angle average of the beam. The Y-axis manipulator may change the vertical position, beam transmission, and vertical angle of the beam. The Z-axis manipulator may change the half-width, beam focus, scan origin, center position, and beam angle average of the beam.
[0062] Note that the specific components shown in FIG. 1B and the effects shown in FIG. 1C are provided for illustrative purposes only. The ion beam generator 102 may include a greater number, a lesser number, or different shaping elements in different orders and different combinations. A given shaping element may have an effect different from that shown in FIG. 1C on the ion beam. The elements used and their effects are determined according to the specific ion beam generator 102 and the intended application.
[0063] Returning to FIG. 1A, any or all of the elements of the beam shaping subsystem 114 may be adjustable by changing one or more settings of the components of the beam shaping subsystem 114. These settings may also serve as adjustable parameters as described below, and include (but are not limited to) the aperture 108, the amount of focus, the magnet current, the amount of force applied to an optically actuated element driven by force, the electrostatic optical element current, the post-scan suppression, the scanner offset, the source lifetime, or the positioning of mechanical elements controlling cell suppression, etc. These settings may be adjusted by a control device 126, which may be a computing system interfaced with the ion beam generator 102 or the controller of the ion beam generator 102 itself.
[0064] As can be seen from the above discussion, each of the elements of the beam shaping subsystem 114 may be associated with one or more adjustable parameters that can be changed to affect the shape of the beam, and the shape of the beam itself may be measured using a plurality of different beam shape parameters. Identifying which combination of adjustable parameters affects the beam shape parameters in what way is a very difficult task.
[0065] Currently, this task is achieved by limiting the number of adjustable parameters under consideration (e.g., to two at a time), actually measuring the effect of changes in these adjustable parameters on the beam shape, and visualizing the results so that the user can manually identify the solution. However, this approach has several problems. First, by limiting the number of adjustable parameters under consideration, some parameters may not be examined, so these solutions may miss solutions that may be better or more adjustable. Further, since generally only two parameters are examined at a time, these solutions may miss interactions between some of the parameters that are not examined in combination with each other. Furthermore, it takes time to perform the measurements, and it takes even more time to visualize the measurements and wait for manual input. Due to the amount of time required, only a relatively small number of options can be examined.
[0066] As suggested above, the exemplary embodiments address these problems with an efficient search strategy that can quickly search a high-dimensional search space. This enables more adjustable parameters to be examined in combination, resulting in better solutions while reaching those solutions in a reasonable amount of time.
[0067] FIG. 2 shows a simplified example of a search space 202. For simplicity of illustration, the search space 202 of FIG. 2 is a two-dimensional search space, but in reality, the search space 202 may be an n-dimensional search space (n is an integer corresponding to the number of available adjustable parameters). Each axis of the search space 202 may correspond to different values for one of the adjustable parameters. For example, the search space 202 includes a first axis of a first parameter value 204 and a second axis of a second parameter value 206.
[0068] Each point in the search space corresponds to a particular combination of values for adjustable parameters. For example, FIG. 2 highlights a first potential solution 208 where the first parameter value 204 is relatively large (e.g., "19") and the second parameter value 206 is also relatively large (e.g., "15"). This may correspond to the point specified by the tuple (19, 15). At a second point in the search space corresponding to a second potential solution 210, the first parameter value 204 is relatively large (e.g., "19") while the second parameter value 206 is relatively small (e.g., "1"). This may correspond to the point specified by the tuple (19, 1). A higher-dimensional space may be defined by points with higher dimensionality, and an example of values for a point in a 5-dimensional space may be (19, 15, 6, 22, 5). Clearly, as more dimensions are added, the number of possible combinations, and thus the size of the search space 202, increases exponentially.
[0069] At each point within the search space 202, the combination of values for the adjustable parameters corresponds to settings of an ion beam generator that will produce a particular beam shape. The beam shape may or may not be close to the desired beam shape sought by the user. An objective function may be defined to evaluate how well the beam shape at a particular point matches the desired beam shape. The objective function may be, for example, a figure of merit ("FOM").
[0070] The objective function may accept, as input, a set of beam shape parameters measured after the ion beam generating device is configured based on adjustable parameters at a specific point. The objective function may map the measured beam shape parameters to a value representing how closely the beam shape defined by the measured beam shape parameters matches a desired beam shape. As the measured beam shape approaches the desired beam shape, the output of the objective function may increase. Each of the beam shape parameters may be associated with a weight in the mapping to allow some beam shape parameters to take precedence over other parameters.
[0071] For example, if the beam shape parameters under consideration are the vertical within-device angle mean (“vWIDAM”) and the vertical within-device angle spread (“vWIDAS”), the objective function can be the following. Figure of Merit (FOM) = f(vWIDAM, vWIDAS) Equation 1
[0072] The objective function can be calculated for any point in the search space by configuring the ion beam generating device based on a combination of values for adjustable parameters defined at a point in the search space, generating a shaped ion beam, and then measuring the characteristics of the shaped ion beam using a metrology device. For example, the beam may be provided to a multi-pixel profiler to measure the beam dose, beam height (Y-extent, Y-sigma, and full height at half maximum “FHHM”), beam shape (vertical intensity), beam hot spot (MNN), and shadow H angle. The beam may be provided to a 7-cup XPVPS to measure the vertical angles of the beam (VBAS, VBAM), the standard deviation of each vertical angle (vWIDA), the mean of vWIDA (vWIDA Mean), and the standard deviation of vWIDA (vWIDA Sigma).
[0073] The results of the measurement are provided to the objective function, which compares the measured beam shape to the desired beam shape (using a weighted mapping based on weights assigned to each beam shape parameter) and outputs a value. The larger the value, the more closely the generated beam matches the desired beam shape.
[0074] Figure 3 shows an example of values for the objective function (along the Z-axis) mapped to points in the search space (along the X and Y axes). As can be seen from the figure, there are valleys 302 in some areas where the objective function outputs a low value (the measured beam shape does not match the target beam shape very well). There are peaks in areas where the objective function outputs a high value (the measured beam shape closely matches the target beam shape). The output of the objective function is shown in this figure as a three-dimensional mapping colored based on the value of the objective function at each point. The output of the objective function can also be projected onto a two-dimensional heat map 304 for further consideration.
[0075] Figure 3 shows a three-dimensional representation of the objective function measured in a two-dimensional search space for simplicity of illustration. In practice, the exemplary embodiment can be used in a two-dimensional search space, but can also operate in higher dimensionality.
[0076] As described above, one goal of identifying a combination of adjustable parameters is to match the beam shape as closely as possible to the desired beam shape. Thus, one goal is to search the search space for points where the objective function is at a maximum (e.g., the peaks in Figure 3).
[0077] However, not all peaks are equally desirable from an adjustment perspective. A given peak may generate the desired beam shape but may have drawbacks that are not suitable for the purpose of adjustment.
[0078] For example, FIG. 3 includes a highly stable solution 306 where the region surrounding the peak is a relatively flat plateau. Such a solution creates the desired beam shape, but the fact that the value output by the objective function remains large in the area surrounding the highly stable solution 306 means that the highly stable solution 306 cannot be adjusted to change the beam shape. Thus, if a user wishes to widen the beam (for example), changing the adjustment parameters using the highly stable solution 306 as a starting point will not cause a significant change in the beam width.
[0079] FIG. 3 also shows a highly unstable solution 308. In the region around the highly unstable solution 308, the output of the objective function varies non-linearly with changes in the values of the adjustable parameters (as indicated by the highly volatile nature of the three-dimensional representation in this region). Thus, if a user sets the ion beam generator to the highly unstable solution 308 and then attempts to adjust one of the adjustable parameters, the resulting ion beam shape will be unpredictable and may vary significantly as the parameter is changed.
[0080] A more desirable solution is the ideal solution 310. In the region around the ideal solution 310, the output of the objective function varies, that is, the beam shape changes in response to changes in the values of the adjustable parameters. Furthermore, the changes are smooth and linear, and by changing the values of the parameters, the beam shape changes in a predictable and proportional manner.
[0081] In this example, only two adjustable parameters were used, but it is relatively easy to identify the dependent solutions by looking at the graph of the objective function. In practice, when more adjustable parameters can be adjusted, the parameters may interact with each other, making it more difficult to identify the dependent solutions. Therefore, another consideration is the stability of the solution. In this regard, it is desirable that some (but not all) of the parameters be very stable and that changes in those parameters do not affect the beam shape. These parameters can be fixed at stable values, and the remaining parameters can be evaluated for sensitivity. This effectively reduces the dimensionality of the problem and allows the user to change the beam shape by adjusting a relatively small number of the adjustable parameters.
[0082] Therefore, when evaluating potential solutions, the sensitivity and stability of the solutions may be considered. Highly unstable solutions may be excluded from consideration as being inappropriate, and overly stable solutions may also be excluded.
[0083] The output from the objective function can be obtained by measuring the beam shape parameters at various points within the search space. However, in practice, the number of possible combinations is simply too large to perform these measurements in a timely manner. Therefore, the exemplary embodiments estimate the value of the objective function at non-measured points in order to gain a better insight into the behavior of the objective function across the search space. FIGS. 4A-4C show an example of how this is done.
[0084] Similar to the above, this example includes a simplified search space 402 having a first axis 404 defined by a first parameter value and a second axis 406 defined by a second parameter value. Within the search space 402, a number of investigation points are defined and measured, and these points become measured solutions 408a, 408b,... 408y.
[0085] As described above, it takes a certain amount of time to perform the measurement. The number of measurement solutions 408a, 408b, … 408y used may be selected based on the time budget available to find the solution. As another method or in addition, the number of points to be explored may be selected to well cover the possible values for the adjustable parameters.
[0086] For example, the number of investigation points n may be expressed as the value n = a num_params , where num_params is an integer representing the number of adjustable parameters to be inspected, and a is the number of points sampled for each parameter. The value of Num_paramn is generally provided as part of the problem definition, and a may be selected based on the available time budget. For example, given the available time budget, it may be determined that fewer than 800 points may be measured (therefore, the maximum allowable value for n is 800). Therefore, the value of a may be calculated as floor(n 1 / num_params ), which is 5 in this example. Therefore, it may be known that in this example, 5 points can be sampled for each adjustable parameter within the time budget (resulting in 625 measurements). Preferably, the number of measurements for the investigation points is less than the maximum number of measurements that can be performed within the time budget to leave time for measuring the low-confidence interpolation points, as described later.
[0087] Once the number of measurable values for adjustable parameters is determined, the system determines which parameter values to measure. This may be accomplished by sweeping the parameters of the ion beam generator to find an acceptable investigation area. For example, different components of the beam shaping subsystem may only be adjustable within a specific range of values (e.g., the aperture can be moved between a first point representing a minimum value and a final point representing a maximum value). The number of measurements available for a parameter may be distributed across this entire range to cover it well (e.g., measurements near the minimum, near the maximum, near the center, between the minimum and the center, between the center and the maximum). This process may be repeated for each of the available adjustable parameters, and these values may be combined with each other to yield n combinations of values for the adjustable parameters. These n combinations may then be measured, yielding measurement solutions 408a, 408b, … 408y.
[0088] As described above, an objective function may be defined that maps measurement solutions 408a, 408b, … 408y to a value or score. Each investigation point may be assigned to this value or score based on the output of the objective function. Many investigation points can be generated in this way, but they only represent a small sample of the points within the search space 402.
[0089] To supplement the investigation points, the exemplary embodiment performs an interpolation process as shown in FIG. 4B. In this example, the squares represent interpolation points. At each interpolation point, a machine learning regression model estimates the value of the objective function. The regression model may be trained using the investigation points to identify the relationship between the adjustable parameter values at those investigation points and the corresponding output of the objective function. Examples of regression models include Gaussian processes, boosted trees, and the like.
[0090] The regression model may provide a predetermined number of interpolations spaced around the survey points. For example, in one test, over 1,000,000 interpolation points were generated from 625 measured survey points. Once trained, the regression model can perform a simple lookup using a set of values for adjustable parameters and determine an estimate for the objective function. This can be performed much faster than actual measurements and enables the generation of many interpolation points.
[0091] Optionally, the regression model provides a measure of confidence as to how good the estimates are that the regressor believes the interpolations to be. For example, the regression model may provide a numerical value representing a score or percentage of confidence, or it may provide a confidence interval (a range of values within which a predefined percentage of the regressor's estimates for the value fall). As an example, a Gaussian process calculates a probability distribution over all admissible functions that fit the data. Thus, a Gaussian process acts as a data fitter where multiple different possible solutions pass through each measurement data point. At the measurement data points, the uncertainty of the Gaussian process is zero, but outside the measurement data points, different possible solutions are spread based on a statistical distribution. The range of values for the possible solutions may define the uncertainty at non-measured points.
[0092] As an example, FIG. 4B shows a first interpolation point 410 that is estimated to have a value within ±0.05. This may mean, for example, that the regression model calculated an interpolation value IV for the first interpolation point 410 and defined a range of values for the possible solutions. A certain amount (e.g., 95%) of the solutions were found to fit within the confidence interval (e.g., 95% of the possible solutions fit between IV - 0.05 and IV + 0.05).
[0093] The regression model is more reliable at this value than at the value at the second interpolation point 412 where the range of uncertainty was ±0.2. Since the second interpolation point 412 is associated with a relatively low confidence value, it is considered a low-confidence interpolation point. As can be seen in Figure 4B, the confidence is also relatively low (±0.17 and ±0.22) in the region around the second interpolation point 412. This indicates that this region is a good candidate for measurement and will reduce the uncertainty of the region as shown in Figure 4C.
[0094] In this example, the second interpolation point 412 is sent to the ion beam generator for measurement. As a result, the second interpolation point 412 is converted to the measurement solution 408z. Optionally, the regression model may be retrained using this new information, which can be particularly beneficial as it improves the prediction ability of the regression model at exactly that location where the prediction of the regression model was very uncertain. The retrained regression model may be reapplied to re-interpolate some or all of the interpolation points. In some embodiments, the retrained regression model may re-interpolate only the points previously associated with a relatively low confidence score (e.g., below a predetermined minimum threshold or the estimated range exceeds a particular size).
[0095] As can be seen in Figure 4C, the uncertainty at the measurement solution 408z has been reduced to zero, and the uncertainty in the surrounding region has also been reduced (i.e., the surrounding interpolation points are associated with a range of ±0.03 to ±0.06 here).
[0096] As described above, the exemplary embodiments may utilize artificial intelligence / machine learning (AI / ML) in the form of a regression model. Figure 5 shows an AI / ML environment 500 suitable for use in the exemplary embodiments.
[0097] First, Figure 5 shows a particular AI / ML environment 500, and it is noted that it is considered in relation to a particular type of regression model. However, other AI / ML systems also exist, and those skilled in the art will recognize that AI / ML environments other than those shown may be implemented using any suitable technology.
[0098] The AI / ML environment 500 may include an AI / ML system 502, such as a computing device that applies an AI / ML model 522 to learn the relationship between a combination of values for adjustable parameters and the output of an objective function that compares the combination and an associated beam shape to a desired or target beam shape. The AI / ML system 502 may include a processor circuit 506.
[0099] The AI / ML system 502 may utilize training data 508. The training data 508 may be used to learn the above-described relationship by a regression model. According to an exemplary embodiment, the training data 508 may be measurement data from survey points and / or any low-confidence interpolation points to be measured. The training data 508 may include, for example, data values 514 representing a combination of adjustable parameter values and objective function outputs 516 representing values output by an objective function based on the data values 514.
[0100] The AI / ML system 502 may include storage 510, which may include a hard drive, solid-state storage, and / or random access memory. In some cases, the training data 508 may be stored remotely from the AI / ML system 502 in a database, library, repository, etc. and may also be accessed via a network interface 504. The training data 508 may alternatively or additionally be training data 512 associated with the AI / ML system 502 (e.g., stored in the storage 510 of the AI / ML system 502), or a combination of local and remote data.
[0101] The training data 512 may be applied to train the model 522. Depending on the specific application, different types of models 522 may be suitable for use. For example, a Gaussian process may be particularly well-suited for learning the relationship between the data values 514 and the objective function output 516. A particular benefit of the Gaussian process is generating a confidence interval as part of the prediction process, and thus enabling the system to easily re-evaluate low-confidence interpolation points as described herein.
[0102] Other types of models 522, i.e., non-model-based systems, may also be well-suited for the tasks described herein depending on the designer's goals, available resources, the amount of input data available, etc.
[0103] Any suitable training algorithm 518 may be used to train the model 522. In any case, the example shown in FIG. 5 may be particularly well-suited for supervised training algorithms. In the case of a supervised training algorithm, the AI / ML system 502 may apply the data values 514 as input data, and the resulting objective function output 516 may be mapped to learn the relationship between the input and the label for the data values. In this case, the objective function output 516 may be used as the label for the data values 514.
[0104] The training algorithm 518 may be applied using a processor circuit 506 that may include suitable hardware processing resources that operate on the logic and structure of the storage 510. The development of the training algorithm 518, and / or the trained model 522, may depend at least in part on the model hyperparameters 520. For example, a Gaussian process may utilize a Gaussian kernel function that estimates the similarity between two points. The kernel function is associated with a plurality of parameters that can be adjusted to affect how well and how quickly the model 522 learns the relationship.
[0105] In an exemplary embodiment, the model hyperparameters 520 may be automatically selected based on hyperparameter optimization logic 528, which may include any known hyperparameter optimization technique suitable for the selected model 522 and the training algorithm 518 to be used. For example, an exemplary embodiment that employs a Gaussian process may utilize cross-validation, Bayesian, gradient descent, quasi-Newton, or Monte Carlo methods.
[0106] Optionally, the model 522 may be retrained over time. For example, as new measurement data values are collected (e.g., when low-confidence interpolation points are measured), the new measurements may be provided to the training algorithm 518 to update the model 522.
[0107] In some embodiments, a portion of the training data 512 may be used to initially train the model 522, and a portion may be set aside as a validation subset. The portion of the training data 512 that does not include the validation subset may be used to train the model 522, and the validation subset may be set aside and used to test the trained model 522 to verify whether the model 522 can generalize its predictions to new data.
[0108] Once trained, the model 522 may be applied to new input data (by the processor circuit 506). The new input data may include combinations of values for adjustable parameters that have not yet been measured. This input to the model 522 may be formatted in accordance with a predefined input structure 524, mirroring the manner in which the training data 512 was provided to the model 522. The model 522 may generate an output structure 526, which may be, for example, a prediction of the objective function output 516 to be applied to the unlabeled input.
[0109] The above description relates to a particular type of AI / ML system 502 that applies supervised learning techniques given available training data having input / result pairs. However, the present invention is not limited to use in a particular AI / ML paradigm, and other types of AI / ML techniques may be used.
[0110] Figures 6A and 6B are flowcharts showing an exemplary adjustable parameter identification logic 600 for identifying a configuration of adjustable parameters that is stable (only a relatively small subset of adjustable parameters available need to be changed to adjust the beam shape) yet still sensitive to changes (changing one of the adjustable parameters results in a predictable and linear change in the beam shape). The adjustable parameter identification logic 600 may be embodied as a computer-implemented method and / or as instructions stored in a computer-readable medium configured to be executed by a processor. The logic may be implemented by a suitable computing system configured to perform the operations described below.
[0111] The process may begin at start block 602. Start block 602 may be initiated when the system receives instructions to identify a configuration for a given ion beam generator that achieves a specified beam shape as measured by beam shape parameters. The beam shape parameters may be specified explicitly (e.g., the user may define the problem based on target values for specified beam shape parameters) or implicitly (e.g., the user may define the desired shape and general characteristics of the ion beam, and the system may automatically determine which combination of beam shape parameters is required to achieve the desired shape or characteristics).
[0112] The command may identify adjustable parameters that are available for adjustment and that may include all or a subset of the adjustable parameters available in the ion beam generator. In some embodiments, the adjustable parameters may be automatically identified based on the type of ion beam generator under consideration.
[0113] In block 604, the system may identify a search region for an adjustable parameter. The search region may represent a range of values that the adjustable parameter can take. In some embodiments, the search region may be predefined and stored in a database. Alternatively, the system may query the ion beam generator regarding the search region. Still alternatively, the system may command a subcomponent associated with the adjustable parameter to be adjusted and determine the search region by determining when the adjustable parameter reaches a minimum or maximum value based on the output of the ion beam generator.
[0114] In block 606, the system may divide the search region to select the number of values for each adjustable parameter. Preferably, the search region may be divided to well cover the entire range of available values for the adjustable parameter associated with the search region. As described above, the division of the search region may be performed based on the time budget and the number of adjustable parameters under consideration. The values for each adjustable parameter may be combined with each other to create a number of combinations representing search points within the search space.
[0115] At block 608, the system may assign weights to the desired shape characteristics (i.e., the beam shape parameters received at start block 602). The weights may be user-specified or automatically generated based on which characteristics of the beam shape are most important to the user. For example, a specified beam shape can be achieved in a number of different ways, but even if certain beam shape parameters are required (or used more than other parameters to achieve the desired beam shape), the system may automatically assign weights that increase the importance of the more important parameters.
[0116] After weighting the beam shape parameters, an objective function may be defined that maps the beam shape to a score or value representing how well the beam shape conforms to the weighted beam shape parameters. An example of an objective function is the figure of merit (FOM).
[0117] At block 610, the system may determine the measurement requirements for measuring the beam shape. As described above, the limiting factor in determining how extensively the search space can be investigated is the amount of time required to perform the measurements. However, it may not be necessary to measure all the characteristics of the beam. If the desired beam shape parameters provided at start block 602 make it possible to exclude certain measurements (e.g., if the desired beam shape depends almost entirely on horizontal angle measurements rather than vertical angle measurements), it may be possible to avoid performing some of the vertical angle measurements, thereby reducing the amount of time required for each measurement and making it possible to perform more measurements.
[0118] The interrogation points defined in block 606 may be sampled in block 612. For example, the system may access a particular interrogation point, read the relevant values for the adjustable parameters, and configure the ion beam generator based on the values. The ion beam generator may then use the configuration to generate a shaped ion beam, and one or more metrology devices may measure the characteristics of the shaped ion beam. These measurements may be applied to an objective function to determine the value of the objective function at the interrogation point.
[0119] After each interrogation point has been sampled, in block 614, a regressor may be trained. For example, the system may use the output of the objective function based on the measurements as training data to train a Gaussian process (or other regression model). The regression model may be applied to generate a predetermined number of interpolation points as described above.
[0120] In block 616, the system may evaluate the interpolation points based on the weights received in block 608. For example, the estimated output of the objective function may be recalculated based on the expected contribution of the adjustable parameters as defined by the interpolation points for the beam shape parameters.
[0121] In block 618, the system may sort the evaluated points based on the weighted objective function values for each point. In block 620, the top-ranked points may be sorted into clusters. Each cluster may represent a different local optimum that may achieve the desired beam shape. The system may identify the clusters based on image processing or similar techniques that identify similar groupings or patterns.
[0122] At block 622, the system may select for consideration the next (or first) cluster as defined at block 620. At block 624, the cluster may be evaluated with respect to uncertainty. For example, a local optimum associated with the cluster may be selected, and the uncertainty of the local optimum may be identified. If the local optimum represents a measured point, the uncertainty may be zero or nearly zero. However, given that there are more interpolation points than measured points, the local optimum is likely to be located at an interpolation point. The regression model may output an uncertainty value when calculating the interpolation points, as described above. This uncertainty value may be used as an estimate of the uncertainty for the cluster. In some embodiments, the uncertainty of the cluster may be determined by combining (e.g., averaging) multiple uncertainty measurements from points within the cluster.
[0123] At decision block 626, the system determines whether the uncertainty regarding the cluster exceeds a predetermined threshold. For example, the predetermined threshold may be a minimum confidence score or ratio, or the size of a range of values for a confidence interval. If the determination at decision block 626 is "yes" (the uncertainty is relatively high), the process may proceed to block 630, and the beam shape for the interpolation points may be measured in the same manner as the surveyed points described above.
[0124] In some embodiments, the system sorts the clusters based on the uncertainty of the clusters and selects a predetermined number of the lowest-confidence clusters for measurement.
[0125] The measured points may be used to retrain the regression model. In some embodiments, the system may wait to batch process multiple different measurements and use the batch of measurements to retrain the model. The process may then proceed to decision block 632.
[0126] If the decision in decision block 626 is "no" (the uncertainty is relatively low), in block 626, the system may decide to use the predicted value for the cluster. The process may then proceed to decision block 632.
[0127] In decision block 632, the system determines whether there are still clusters remaining for evaluation. If there are, the process returns to block 622 and the next cluster is selected for consideration. If there are not, the process proceeds to block 634.
[0128] From block 634 (Figure 6B), the process proceeds to block 638 where the clusters are considered one by one again. At this stage, all clusters should be relatively high-confidence clusters.
[0129] In block 640, the system selects one of the adjustable parameters associated with the cluster (e.g., the parameter value assigned to the local optimum of the cluster). In block 642, the parameter may be adjusted to observe the effect of the parameter on the beam shape.
[0130] For this purpose, the system may utilize the regression model again. A system trained to predict the output of the objective function based on the adjustable parameter values may change the value of the selected cluster point and predict how the output of the objective function changes as a result. For example, if the cluster point specifies a value of x kV for the focus voltage, the system may query the regression model to know how the objective function changes at focus voltages of x + 0.2 kV, x + 5 kV, x + 10 kV, etc.
[0131] After adjusting the selected parameter, the system may determine the predicted change in the resulting objective function. If the objective function output does not change (is stable) or changes parabolically, at block 644, the parameter value may be fixed at a value within the stable region or at the maximum or minimum of the parabola. If the objective function output varies substantially linearly, at block 646, the parameter may be flagged as an adjustable parameter and may remain unfixed. If the objective function output varies but is non-linear, at block 650, the cluster may be removed from consideration (because the cluster cannot be used for predictable adjustment).
[0132] If the cluster is not removed from consideration (the process passes through block 644 or block 646), at block 648, the system may determine whether there are any additional parameters left to evaluate. If there are, the process returns to block 640 and the next parameter of the cluster to be evaluated is selected.
[0133] If there are no parameters left to evaluate or if the cluster is excluded from consideration at block 650, the process proceeds to block 652 and the system determines whether there are any additional clusters left to evaluate. If there are, the process returns to block 638 and the next cluster is selected. If there are not, the process proceeds to block 654.
[0134] In block 654, the sensitivity and stability of the clusters that were not excluded from consideration are evaluated. As a criterion for stability, the system may consider how many parameters within the cluster are fixed (block 644), and having more parameters fixed may represent a more stable configuration, but for adjustment, at least some parameters need to remain unfixed. As a criterion for sensitivity, the system may consider how many beam shape parameters could be manipulated using the adjustable parameters that remain unfixed and to what extent those parameters could be changed. The system may consider how close the adjustable parameters were to a perfect linear fit, and whether the linear fit had a relatively steep slope (a small adjustment to the adjustable parameter results in a proportionally large change in the beam shape, making it difficult to achieve fine adjustment), a relatively shallow slope (a large adjustment is required to affect the beam shape, making it difficult to significantly change the beam shape), or a slope close to a predefined value (indicating the desired adjustability that allows both fine adjustment and a reasonable amount of change per adjustment).
[0135] Clusters may be scored based on measurement criteria for sensitivity and stability. Further, clusters having orthogonal adjustable parameters (described above) may receive a higher score than clusters that do not have orthogonal adjustable parameters.
[0136] In block 656, the cluster with the highest evaluation (e.g., highest score) from block 654 may be selected as the most adjustable configuration. Any fixed parameters may be flagged, the values at which the parameters are fixed may be identified, and any adjustable parameters may be set to default values (e.g., values relative to the local optimum defining the cluster) to achieve the desired beam shape. These values may be stored in a setting file and applied to the ion beam generator. In some embodiments, so that the beam shape can be reused, the setting file may be stored in a library and the user may select the setting file from the library and configure the ion beam generator with the beam shape defined by the setting file.
[0137] The process may then proceed to completion block 636 and end.
[0138] FIG. 7 shows an example of a system architecture and data processing device that may be used to implement one or more of the exemplary aspects described herein in a stand-alone and / or networked environment. Various network nodes, such as data server 710, web server 706, computer 704, and laptop 702, may be interconnected via a wide area network 708 (WAN) such as the Internet. Additionally or alternatively, other networks may be used, including a private intranet, corporate network, LAN, metropolitan area network (MAN), wireless network, personal area network (PAN), etc. Network 708 is for illustrative purposes and may be replaced with fewer or additional computer networks. The local area network (LAN) may have one or more of any known LAN topology and may use one or more of various different protocols, such as Ethernet. Device data server 710, web server 706, computer 704, laptop 702, and other devices (not shown) may be connected to one or more of the networks via twisted pair, coaxial cable, fiber optic, radio wave, or other communication media.
[0139] Computer software, hardware, and networks may be utilized in a variety of different system environments, including, among other things, stand-alone, networked, remote access (known as remote desktop), virtual, and / or cloud-based environments.
[0140] As used herein and when illustrated in the drawings, the term "network" refers not only to a system in which remote storage devices are coupled to each other via one or more communication channels, but also to stand-alone devices that may sometimes be coupled to a system having storage capabilities. As a result, the term "network" includes not only "physical networks" but also "content networks" composed of data that resides (is attributable to a single entity) across all physical networks.
[0141] The components may include a data server 710, a web server 706, and client computers 704, laptops 702. The data server 710 provides overall access, control, and management of databases and control software to implement one or more of the exemplary aspects described herein. The data server 710 may be connected to the web server 706 for use by a user to interact and obtain data as needed. Alternatively, the data server 710 may act as the web server itself and be directly connected to the Internet. The data server 710 may be connected to the web server 706 through a network 708 (e.g., the Internet), directly or through an indirect connection, or through some other network. A user may interact with the data server 710 using a web browser on a remote computer 704, laptop 702 to connect to the data server 710 via, for example, one or more externally exposed websites hosted by the web server 706. The client computers 704, laptops 702 may be used in cooperation with the data server 710 to access stored data or for other purposes. For example, a user may access the web server 706 from the client computer 704 by using an Internet browser as known in the art or by executing a software application that communicates with the web server 706 and / or the data server 710 through a computer network (such as the Internet).
[0142] The server and the application may be combined on the same physical machine, may hold separate virtual or logical addresses, or may reside on separate physical machines. FIG. 7 shows only one example of a network architecture that may be used, and those skilled in the art will recognize that the specific network architecture and data processing devices used may vary and will be associated with the functionality provided, as further described herein. For example, the services provided by web server 706 and data server 710 may be combined on a single server.
[0143] Each component such as data server 710, web server 706, computer 704, and laptop 702 may be any type of known computer, server, or data processing device. The data server 710 may include, for example, a processor 712 that controls the overall operation of the data server 710. The data server 710 may further include a RAM 716, a ROM 718, a network interface 714, an input / output interface 720 (e.g., keyboard, mouse, display, printer, etc.), and a memory 722. The input / output interface 720 may include various interface units and drives for reading, writing, displaying, and / or printing data or files. The memory 722 may further store an operating system software 724 that controls the overall operation of the data server 710, a control logic 726 that instructs the data server 710 to implement the aspects described herein, and other application software 728 that provides auxiliary, support, and / or other functionality that may or may not be used in conjunction with the aspects described herein. The control logic may also be referred to herein as data server software control logic 726. The functionality of the data server software may refer to operations or decisions that are automatically performed based on rules encoded in the control logic, manually performed by a user providing input to the system, and / or a combination of automated processing based on user input (e.g., queries, data updates, etc.).
[0144] Memory 1122 may also store data used in the implementation of one or more aspects described herein, including a first database 732 and a second database 730. In some embodiments, the first database may include the second database (e.g., as separate tables, reports, etc.). That is, information can be stored in a single database or separated into different logical, virtual, or physical databases, depending on the system design. Web server 706, computer 704, and laptop 702 may have similar or different architectures as described for data server 710. One of ordinary skill in the art will recognize that the functionality of data server 710 (or web server 706, computer 704, laptop 702) as described herein may be spread across multiple data processing devices, for example, to distribute the processing load among multiple computers, to separate transactions based on geographical location, user access level, quality of service (QoS), etc.
[0145] One or more aspects may be embodied in the form of computer-usable or readable data and / or computer-executable instructions, such as one or more program modules, executed by one or more computers or other devices as described herein. Generally, a program module includes routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types when executed by a processor of a computer or other device. The modules may be written in a source code programming language that is compiled later for execution, or in a script language such as, but not limited to, HTML or XML. The computer-executable instructions may be stored on a computer-readable medium such as a non-volatile memory device. Any suitable computer-readable storage medium may be utilized, including a hard disk, CD-ROM, optical storage device, magnetic storage device, and / or combinations thereof. Additionally, various transmission (non-storage) media representing data or events as described herein may be transferred between a source and a destination in the form of electromagnetic waves traveling through a signal-conducting medium such as metal wires, optical fibers, and / or wireless transmission media (e.g., air and / or space). The various aspects described herein may be embodied as a method, data processing system, or computer program product. Accordingly, various functionality may be embodied in whole or in part in software, firmware, and / or hardware, or an equivalent of hardware such as integrated circuits, field programmable gate arrays (FPGA), etc. To more effectively implement one or more aspects described herein, particular data structures may be used, and such data structures are considered to be within the scope of the computer-executable instructions and computer-usable data described herein.
[0146] The components and features of the above-described device may be implemented using any combination of discrete circuits, application-specific integrated circuits (ASICs), logic gates, and / or single-chip architectures. Further, the features of the device may be implemented using a microcontroller, programmable logic array, and / or microprocessor, or any combination of the above if suitable. Note that elements of hardware, firmware, and / or software may be collectively or individually referred to herein as "logic" or "circuit."
[0147] It will be understood that the exemplary devices shown in the block diagrams above may represent a functional description of one of many potential implementations. Accordingly, the division, omission, or inclusion of the block functions shown in the accompanying drawings does not necessarily imply that the hardware components, circuits, software, and / or elements that implement these functions are divided, omitted, or included in the embodiments.
[0148] At least one computer-readable storage medium may include instructions that, when executed, cause a system to implement any of the computer-implemented methods described herein.
[0149] Some embodiments may be described using the phrase "in one embodiment" or "an embodiment" along with derivatives. These terms mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" in various places in this specification are not necessarily all referring to the same embodiment. Further, unless otherwise noted, it is recognized that the features described above may be used in any combination. Accordingly, any features considered separately may be used in combination with each other as long as it is not noted that the features are not compatible with each other.
[0150] Generally referring to the notations and nomenclatures used in this specification, the detailed description of this specification may be presented with respect to program procedures executed on a computer or a network of computers. The description and representation of these procedures are used by those skilled in the art to effectively communicate the essence of their work to other persons skilled in the art.
[0151] Here, a procedure is also generally conceived of as a sequence of consistent operations leading to a desired result. These operations are operations that require physical manipulation of physical quantities. Usually, although not necessarily, these quantities take the form of electrical, magnetic, or optical signals that can be stored, transmitted, combined, compared, or otherwise manipulated. It has been found that, mainly for reasons of common usage, it may be convenient to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, and so on. However, it should be noted that all of these and similar terms should be associated with appropriate physical quantities and are merely convenient labels applied to those physical quantities.
[0152] Furthermore, the operations performed are often referred to in terms such as addition or comparison, which are generally associated with intellectual activities performed by a human operator. Such capabilities of a human operator are not essential and, in most cases, not desirable in any of the operations described in this specification that form part of one or more embodiments. Rather, the operations are machine operations. Useful machines for performing the operations of the various embodiments include general-purpose digital computers or similar devices.
[0153] Some embodiments may be described using the terms "coupled" and "connected" along with derivatives thereof. These terms are not necessarily intended to be synonymous with each other. For example, some embodiments may describe using the terms "connected" and / or "coupled" to indicate that two or more elements are in direct physical or electrical contact with each other. However, the term "coupled" may also mean that two or more elements are not in direct contact with each other but still cooperate or interact with each other.
[0154] Various embodiments also relate to an apparatus or system for performing these operations. This apparatus may be specially constructed for the required purpose or may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. The procedures presented herein are not inherently related to a particular computer or other apparatus. Various general-purpose machines may be used with programs written in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for various of these machines will become apparent from the given description.
[0155] It is emphasized that the abstract of this disclosure is provided to enable the reader to quickly understand the nature of the technical disclosure. It is submitted with the understanding that it is not to be used to interpret or limit the scope or meaning of the claims. Additionally, in the forms for carrying out the above-described invention, it can be seen that various features are grouped in a single embodiment for the purpose of rationalizing this disclosure. This method of disclosure should not be construed as reflecting an intention that the claimed embodiments require more features than those explicitly recited in each claim. Rather, as reflected in the following claims, the subject matter of the invention lies in fewer features than all the features of the single embodiment disclosed. Accordingly, the following claims are hereby incorporated into the forms for carrying out the invention, and each claim stands on its own as a separate embodiment. In the appended claims, the terms "comprising" and "in" are used as the plain English equivalents of the terms "including" and "wherein", respectively. Further, terms such as "first", "second", "third", etc. are used merely as labels and are not intended to impose numerical requirements on the objects.
[0156] What has been described above includes examples of the disclosed architecture. Of course, it is not possible to describe all possible combinations of components and / or methodologies, but those skilled in the art may recognize that many additional combinations and permutations are possible. Accordingly, the novel architecture is intended to embrace all such modifications, corrections, and variations that are within the spirit and scope of the appended claims.
Claims
1. Receiving one or more desired beam shape parameters for an ion beam and one or more adjustable parameters for an ion beam generating device configured to generate the ion beam; Selecting a set of investigation points in the search space, where each point in the search space represents a combination of values for the adjustable parameters; For each of the investigation points, receiving measured beam shape parameters based on the combination of values for the adjustable parameters defined by each investigation point; For each of the investigation points, inputting the measured beam shape parameters into an objective function and obtaining, from the objective function, an output value indicating how closely the beam shape defined by the measured beam shape parameters matches a desired beam shape; Determining an estimated value of the objective function for interpolation points in the vicinity of the investigation points using a regression model; Defining a plurality of clusters in the search space based on the output value of the objective function and the estimated value of the objective function; Evaluating the plurality of clusters with respect to at least one of the stability or sensitivity of the adjustable parameters within each cluster; Selecting one of the plurality of clusters based on the evaluation; Outputting an adjustment setting for the combination of adjustable parameters corresponding to the selected cluster A computer-implemented method comprising.
2. The regression model is further configured to provide a confidence value for each of the interpolation points, Identifying that one of the plurality of clusters is associated with low-confidence interpolation points having a confidence value above or below a predetermined threshold; Receiving a measurement of the shape of the ion beam using the combination of values of the adjustable parameters defined by the low-confidence interpolation points The computer-implemented method according to claim 1, further comprising.
3. Evaluating the plurality of clusters comprises Selecting a cluster and identifying the combination of values of the adjustable parameters for the selected cluster; Adjusting the value of a first parameter among the adjustable parameters; Identifying the effect of the adjustment on the value of the objective function The computer-implemented method according to claim 1, comprising
4. The computer-implemented method according to claim 3, further comprising excluding the selected cluster from consideration when the value of the objective function varies non-linearly with the adjustment of the first parameter among the adjustable parameters.
5. The computer-implemented method according to claim 3, further comprising fixing the value of the first parameter among the adjustable parameters when the value of the objective function does not change beyond a predetermined threshold amount or changes in a parabolic shape with the adjustment of the first parameter among the adjustable parameters.
6. The computer-implemented method according to claim 5, wherein selecting one of the plurality of clusters based on the evaluation includes selecting a cluster in which the value of the first parameter among the adjustable parameters is fixed.
7. Selecting one of the plurality of clusters based on the evaluation is identifying that a first adjustable parameter among the adjustable parameters of the cluster to be evaluated has a substantially linear effect on the first parameter among the beam shape parameters and a substantially neutral effect on the second parameter among the beam shape parameters, identifying that a second adjustable parameter among the adjustable parameters of the cluster to be evaluated has a substantially neutral effect on the first parameter among the beam shape parameters and a substantially linear effect on the second parameter among the beam shape parameters, selecting the cluster to be evaluated and the computer-implemented method according to claim 1.
8. A non-transitory computer-readable storage medium including instructions, which when executed by a computer, cause the computer to receive one or more desired beam shape parameters for an ion beam and one or more adjustable parameters for an ion beam generating device configured to generate the ion beam, select a set of investigation points in the search space, where each point in the search space represents a combination of values for the adjustable parameters For each of the investigation points, receive the measured beam shape parameter based on the combination of values for the adjustable parameter defined by each of the investigation points. For each of the investigation points, input the measured beam shape parameter into an objective function, and obtain from the objective function an output value indicating how closely the beam shape defined by the measured beam shape parameter matches a desired beam shape. For interpolation points in the vicinity of the investigation points, use a regression model to determine an estimated value of the objective function. Based on the output value of the objective function and the estimated value of the objective function, define a plurality of clusters within the search space. Evaluate the plurality of clusters with respect to at least one of the stability or sensitivity of the adjustable parameter within each cluster. Select one of the plurality of clusters based on the evaluation. Output an adjustment setting for the combination of adjustable parameters corresponding to the selected cluster. Non-transitory computer-readable storage medium.
9. The regression model is further configured to provide a confidence value for each of the interpolation points, and the instructions cause the computer to Identify that one of the plurality of clusters is associated with a low-confidence interpolation point having a confidence value above or below a predetermined threshold. Receive a measurement of the shape of the ion beam using the combination of values of the adjustable parameter defined by the low-confidence interpolation point. The computer-readable storage medium according to claim 8, further configured as described above.
10. Evaluating the plurality of clusters includes Selecting a cluster and identifying the combination of values of the adjustable parameter for the selected cluster; Adjusting the value of a first parameter among the adjustable parameters; Identifying the effect of the adjustment on the value of the objective function. The computer-readable storage medium according to claim 8, including the above.
11. When the value of the objective function varies non-linearly as the value of the first parameter among the adjustable parameters is adjusted, the instructions further configure the computer to exclude the selected cluster from consideration. The computer-readable storage medium according to claim 10.
12. If, by adjusting the first parameter among the adjustable parameters, the value of the objective function does not change beyond a predetermined threshold amount, or if the value of the objective function changes in a parabolic shape, the computer-readable storage medium according to claim 10 further configures the computer to fix the value of the first parameter among the adjustable parameters so that the instruction is executed.
13. Selecting one of the plurality of clusters based on the evaluation includes selecting a cluster in which the value of the first parameter among the adjustable parameters is fixed, according to the computer-readable storage medium of claim 12.
14. Selecting one of the plurality of clusters based on the evaluation is identifying that a first adjustable parameter among the clusters to be evaluated has a substantially linear effect on the first parameter among the beam shape parameters and a substantially neutral effect on the second parameter among the beam shape parameters; identifying that a second adjustable parameter among the clusters to be evaluated has a substantially neutral effect on the first parameter among the beam shape parameters and a substantially linear effect on the second parameter among the beam shape parameters; selecting the cluster to be evaluated and includes the computer-readable storage medium according to claim 8.
15. A processor and a memory for storing instructions, and when the instructions are executed by the processor, receive one or more desired beam shape parameters for the ion beam and one or more adjustable parameters for an ion beam generating device configured to generate the ion beam, select a set of investigation points in the search space, where each point in the search space represents a combination of values for the adjustable parameters, for each of the investigation points, receive measured beam shape parameters based on the combination of values for the adjustable parameters defined by each of the investigation points, For each of the investigation points, the measured beam shape parameters are input into an objective function, and from the objective function, an output value indicating how closely the beam shape defined by the measured beam shape parameters matches a desired beam shape is obtained. For interpolation points in the vicinity of the investigation points, an estimated value of the objective function is determined using a regression model. Based on the output value of the objective function and the estimated value of the objective function, a plurality of clusters within the search space are defined. The plurality of clusters are evaluated with respect to at least one of the stability or sensitivity of the adjustable parameters within each cluster. Based on the evaluation, one of the plurality of clusters is selected. An adjustment setting for the combination of adjustable parameters corresponding to the selected cluster is output. A computing device configured as described above.
16. The regression model is further configured to provide a confidence value for each of the interpolation points, and the instructions Identify that one of the plurality of clusters is associated with low-confidence interpolation points having a confidence value above or below a predetermined threshold. Receive a measurement of the shape of the ion beam using the combination of values of the adjustable parameters defined by the low-confidence interpolation points. The computing device according to claim 15, further configured as described above.
17. Evaluating the plurality of clusters includes Selecting a cluster and identifying the combination of values of the adjustable parameters for the selected cluster. Adjusting the value of a first parameter among the adjustable parameters. Identifying the effect of the adjustment on the value of the objective function. The computing device according to claim 15, including the above.
18. When, in connection with adjusting the first parameter among the adjustable parameters, the value of the objective function varies non-linearly, the instructions further configure the device to exclude the selected cluster from consideration. The computing device according to claim 17.
19. When the value of the objective function does not change beyond a predetermined threshold amount or changes in a parabolic shape by adjusting the first parameter among the adjustable parameters, the instruction further configures the apparatus to fix the value of the first parameter among the adjustable parameters. Selecting one of the plurality of clusters based on the evaluation includes selecting a cluster in which the value of the first parameter among the adjustable parameters is fixed. The computing device according to claim 17.
20. Selecting one of the plurality of clusters based on the evaluation is identifying that a first adjustable parameter among the clusters to be evaluated has a substantially linear effect on the first parameter among the beam shape parameters and a substantially neutral effect on the second parameter among the beam shape parameters; identifying that a second adjustable parameter among the clusters to be evaluated has a substantially neutral effect on the first parameter among the beam shape parameters and a substantially linear effect on the second parameter among the beam shape parameters; selecting the cluster to be evaluated The computing device according to claim 15, comprising:
Citation Information
Patent Citations
Defect detection and control method for ion implantation process and its execution system
JP2007538383A
Ion beam irradiation device and program therefor
JP2020161470A