Window Logic for Polishing Process Control
The in-situ monitoring system with boundary crossing logic functions optimizes CMP endpoint detection, enhancing polishing uniformity and yield by analyzing time-varying signals, addressing the challenge of unpredictable endpoint determination in CMP processes.
Patent Information
- Application Number
- JP2024574537
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-06-22
- Filing Date
- 2023-03-27
- Publication Date
- 2025-07-15
AI Technical Summary
Chemical mechanical polishing (CMP) processes face challenges in determining the polishing endpoint due to variations in material removal rates caused by factors like slurry distribution, polishing pad condition, and load variations, making it difficult to predict endpoint based on time alone.
An in-situ monitoring system generates time-varying signals during polishing, which are analyzed using boundary crossing logic functions to determine the polishing endpoint by selecting defined time and signal value ranges, optimizing endpoint detection criteria through user interface visualization and automated recommendation.
Improves uniformity of polishing across and within wafers, enhances yield, reduces user errors, and shortens analysis time while maintaining cost-effectiveness by updating software without hardware changes.
Smart Images

Figure 2025522492000001_ABST
Abstract
Description
Technical Field
[0001]
[0001] This disclosure relates to in-situ monitoring of chemical mechanical polishing, and particularly to the detection of the polishing endpoint.
Background Art
[0002]
[0002] Integrated circuits are typically formed on a substrate by sequentially depositing conductive, semiconductive, or insulating layers on a silicon wafer. A manufacturing step includes depositing a filling layer on an uneven surface and planarizing the filling layer. In certain applications, the filling layer is planarized until the upper surface of the patterned layer is exposed. For example, a conductive filling layer can be deposited on a patterned insulating layer to fill the grooves or holes in the insulating layer. After planarization, the portions of the conductive layer remaining between the raised patterns of the insulating layer form vias, plugs, and lines that serve as conductive paths between thin-film circuits on the substrate. In other applications such as oxide polishing, for example, the filling layer is planarized by polishing for a predetermined time, leaving a portion of the filling layer on the uneven surface. Further, in photolithography, planarization of the substrate surface is typically required.
[0003]
[0003] Chemical mechanical polishing (CMP) is recognized as one method of planarization. In this planarization method, it is usually necessary to attach the substrate to a carrier or a polishing head. The exposed surface of the substrate is typically pressed against a rotating polishing pad. The carrier head applies a controllable load to the substrate and presses the substrate against the polishing pad. A polishing slurry is typically supplied to the surface of the polishing pad.
[0004]
[0004] One problem in CMP is to determine whether the polishing process is complete, i.e., whether the substrate layer has been planarized to a desired flatness or thickness, or whether a desired amount of material has been removed. Variations in slurry distribution, the condition of the polishing pad, the relative speed between the polishing pad and the substrate, and the load on the substrate can cause variations in the material removal rate. These variations, like variations in the initial thickness of the substrate layer, cause variations in the time required to reach the polishing endpoint. Therefore, the polishing endpoint cannot usually be determined simply as a function of the polishing time. Some systems use, for example, optical or eddy current monitoring systems to monitor the substrate in situ during polishing.
Summary of the Invention
[0005]
[0005] Disclosed herein is a method of controlling a CMP apparatus including an in-situ monitoring system that can function as an endpoint detection system. During the polishing process, the chemical mechanical polishing apparatus induces movement between the substrate on the platen and the polishing pad by rotating the platen and, optionally, the carrier head. For example, the monitoring system may be an acoustic monitoring system, a motor torque monitoring system, an eddy current monitoring system, or an optical monitoring system. The signal from the monitoring system changes with time according to the stage of the polishing process, the material exposed on the substrate surface, and the remaining thickness of the layer being polished.
[0006]
[0006] The controller presents to the operator a user interface that displays the test signals received from the in-situ monitoring system over the polishing of a plurality of test substrates. In some implementations, the user interface enables the operator to select a boundary crossing window logic function for the endpoint algorithm. In some implementations, the controller executes an algorithm that determines a recommended boundary crossing window logic function for the selected logic window based on the test signals.
[0007]
[0007] In one aspect, a method of controlling a chemical mechanical polishing system includes, for each of a plurality of test substrates, receiving, during chemical mechanical polishing of each test substrate, a respective time-varying test signal from an endpoint detection system, thereby providing a plurality of time-varying test signals; for each of the plurality of test substrates, receiving, during chemical mechanical polishing of each test substrate, a respective time-varying test signal from the endpoint detection system; visually displaying, on a display, in a graph where the plurality of time-varying test signals from the plurality of test substrates overlap each other, the plurality of time-varying test signals simultaneously; receiving a user input for selecting a box having a defined time range and a defined signal value range; receiving, through a visual user interface element, a selection from a preset group of boundary crossing logic functions to provide a selected boundary crossing logic function; monitoring, with the endpoint detection system, a device substrate during chemical mechanical polishing of the device substrate to generate a time-varying signal; evaluating whether the time-varying signal within the defined time range satisfies the selected boundary crossing logic function; and making an endpoint determination based on whether the time-varying signal satisfies the selected boundary crossing logic function.
[0008]
[0008] In another aspect, a method for controlling a chemical mechanical polishing system includes, for each of a plurality of test substrates, receiving, during chemical mechanical polishing of each test substrate, a respective time-varying test signal from an endpoint detection system, thereby providing a plurality of time-varying test signals; for each of the plurality of test substrates, receiving, during chemical mechanical polishing of each test substrate, a respective time-varying test signal from the endpoint detection system; visually displaying, on a display, the plurality of time-varying test signals from the plurality of test substrates simultaneously in a graph in which the plurality of time-varying test signals overlap each other; receiving a user input for selecting a box providing a defined time range and a defined signal value range; providing the plurality of time-varying test signals, the time range, and the signal value range to an algorithm to identify, by the algorithm, a boundary crossing logic function satisfied by the plurality of time-varying test signals within the defined time range and the defined signal value range; monitoring, by the endpoint detection system, a device substrate during chemical mechanical polishing of the device substrate to generate a time-varying signal; evaluating whether the time-varying signal within the defined time range satisfies the selected boundary crossing logic function; and making an endpoint determination based on whether the time-varying signal satisfies the selected boundary crossing logic function.
[0009]
[0009] The method may further include generating, by an algorithm, an updated time range and an updated signal value range. In another aspect, a computer-readable medium tangibly storing instructions that, when executed by one or more processors of a computing device, cause the computing device to perform the operations of the above aspect is provided.
[0010]
[0010] The endpoint detection method is performed after a first endpoint criterion is detected in a first time window and a second endpoint criterion is detected in a second time window for a plurality of consecutive substrates.
[0011]
[0011] Certain implementations of the subject matter described in this specification may be implemented so as to realize one or more of the following technical advantages.
[0012]
[0012] The uniformity of polishing between wafers (WTW) and within a wafer (WIW) can be improved. By improving the setting of the endpoint detection criteria, the yield can be improved. The user interface is intuitive and can visually display the information necessary for the user to select the signal region and the window logic function for correctly detecting the polishing endpoint, and the setting time for polishing the device substrate is shortened. Since the recommendation of the window logic function and the optimization of the window boundary can be automated, the time required for analysis is shortened and user errors are reduced. Quality analysis can be performed on the selected endpoint window logic function. Since the software of an existing CMP system can be updated to add functions without changing the hardware of the device, cost effectiveness can be enhanced.
[0013]
[0013] Details of one or more embodiments are set forth in the accompanying drawings and the description below. Other aspects, features, and advantages will be apparent from the description and drawings, and from the claims.
Brief Description of the Drawings
[0014]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 5A
Figure 6
Modes for Carrying Out the Invention
[0015]
[0020] In the figures, like references indicate like elements.
[0016]
[0021] In some semiconductor chip manufacturing processes, the polishing of the substrate is monitored in real time using an in-situ monitoring system. The monitoring system may be based on one or more of various techniques such as acoustic, motor current, torque, eddy current, or optical. However, generally the monitoring system generates a time-varying signal having one or more signal parameters such as amplitude or frequency. When the controller determines that the signal parameter meets a predetermined criterion, the CMP apparatus terminates the polishing process. Generally, the user determines the endpoint criterion by trial-and-error experiments.
[0017]
[0022] A CMP system including an in-situ monitoring system operating as an endpoint detection system monitors in real time the time-varying signal received from the monitoring system. The CMP system evaluates the signal and detects that the signal has crossed the boundary of a "logic window". A "logic window" is to select two respective ranges along two respective axes (an axis representing time and an axis representing the monitored parameter (e.g., the signal strength of the signal from the in-situ monitoring system)). Since the logic window can graphically display the region defined by the two ranges as a rectangle, it can alternatively be referred to as a "box".
[0018]
[0023] The combination of the boundaries where the signal enters and exits the logic window indicates a change in the polishing process that correlates with a change in the monitored signal. Thus, as part of endpoint detection, the CMP system can be configured to detect whether the signal from the in-situ monitoring system satisfies a "boundary crossing logic function". The "boundary crossing logic function" is to select one of the two boundaries of the logic window, i.e., the two sides of the rectangular box, for each entry and exit of the signal. Examples of boundary crossing functions include: i) entering from the upper boundary and exiting from the right boundary, ii) entering from the left boundary and exiting from the upper boundary, iii) entering from the left boundary and exiting from the lower boundary, iv) entering from the left boundary and exiting from the right boundary, iv) entering from the lower boundary and exiting from the right boundary.
[0019]
[0024] To determine the set of logic windows and the associated boundary crossing logic functions, the CMP system simultaneously displays multiple test signals to the user. From the displayed information, the user provides user-defined time and signal value ranges for determining the boundaries of the logic window for subsequent substrate polishing processes. For each of the logic windows, the user provides a boundary crossing logic function. In one embodiment, the dimensions of the logic window are optimized by an algorithm stored in the controller to detect a polishing operation on the object, including determining the endpoint. In one embodiment, the controller is configured to determine the proposed boundary crossing logic function.
[0020]
[0025] FIG. 1 shows an example of a polishing system 100. The polishing system 100 includes a rotatable disk-shaped platen 120 on which a polishing pad 110 is located. The polishing pad 110 may be a two-layer polishing pad having an outer polishing layer 112 and a softer backing layer 114. The platen is operable to rotate about an axis 125. For example, a motor 121 can rotate a drive shaft 124 to rotate the platen 120.
[0021]
[0026] The polishing system 100 may include a port 130 for dispensing a polishing liquid 132, such as a polishing slurry, onto the polishing pad 110. The polishing apparatus may also include a polishing pad conditioner for polishing the polishing pad 110 to maintain a consistent polishing state of the polishing pad 110.
[0022]
[0027] The polishing system 100 includes a carrier head 140. The carrier head 140 is operable to hold the substrate 10 against the polishing pad 110. The carrier head 140 may include a retaining ring 142 for holding the substrate 10 below the flexible membrane 144. The carrier head 140 may also include one or more independently controllable pressurizable chambers, such as three chambers 146a - 146c, defined by the membrane, and these chambers can apply independently controllable pressures to associated zones on the flexible membrane 144 and thus on the substrate 10. Only three chambers are illustrated in FIG. 1 for ease of illustration, but there may be one or two chambers, or four or more chambers, such as five chambers.
[0023]
[0028] The carrier head 140 is suspended from a support structure 150, such as a carousel or track, and is connected by a drive shaft 152 to a carrier head rotation motor 154 so that the carrier head can rotate about an axis 155. Optionally, each carrier head 140 can vibrate laterally, for example, on a slider on the support structure 150, or by the rotational vibration of the carousel itself, or by sliding along the track. In a typical operation, the platen rotates about its central axis 125, each carrier head rotates about its central axis 155, and translates laterally across the upper surface of the polishing pad.
[0024]
[0029] A controller 190, such as a programmable computer, is connected to motors 121 and 154 to control the rotational speeds of the platen 120 and the carrier head 140. For example, each motor may include an encoder that measures the rotational speed of the associated drive shaft. A feedback control circuit, which may be the motor itself, a part of the controller, or a separate circuit, receives the rotational speed measured from the encoder and adjusts the current supplied to the motor so that the rotational speed of the drive shaft matches the rotational speed received from the controller.
[0025]
[0030] The polishing system 100 includes an in-situ monitoring system 160. For example, the system 100 shown in FIG. 1 includes an in-situ acoustic monitoring system 160. Alternative sensors for monitoring include eddy current detectors, optical sensors such as spectrometers, motor current or torque sensors, or combinations of sensors. Continuing with the example of FIG. 1, the in-situ acoustic monitoring system 160 includes one or more acoustic signal sensors 162. Each acoustic signal sensor can be installed at one or more positions on the upper platen 120. In a particular example of FIG. 1, the in-situ acoustic monitoring system is configured to detect acoustic emissions caused by the exposure of features in the lower layer when the upper layer of the material of the substrate 10 is removed.
[0026]
[0031] In the implementation shown in FIG. 1, the acoustic monitoring system 160 includes an acoustic sensor 162 supported by the platen 120 for receiving acoustic signals from the substrate 10 through the polishing pad 110. The acoustic sensor 162 can be provided, in part or in whole, in the recess 164 on the upper surface of the platen 120. The portion of the polishing pad directly above the acoustic sensor 162 may include an acoustic window 119.
[0027]
[0032] In the example of FIG. 1, the acoustic sensor 162 is a contact acoustic sensor having a surface connected to a part of the polishing layer 112 and / or the acoustic window 119. The acoustic sensor 162 may be connected to a power source and / or other signal processing electronics 166 by a circuit 168 through a rotary connection, such as a mercury slip ring. The acoustic sensor 162 remains stationary within the recess 164 of the platen 120 while the platen 120 rotates. Thereby, the acoustic sensor 162 associated with the acoustic window 119 is swept within the retaining ring 142 below the substrate 10.
[0028]
[0033] The acoustic sensor 162 receives an acoustic signal based on acoustic information received from the interface between the substrate 10 and the pad 110. FIG. 2 shows an exemplary acoustic signal 250 generated during the polishing process. The graph shown in FIG. 2 compares the received signal values, such as the total power spectral density (PSD), over the frequency range on the Y-axis with respect to time in seconds on the X-axis. Other monitoring systems, such as eddy current sensors, generate different received signal values over time.
[0029]
[0034] FIG. 2 includes data (dots) collected by the acoustic sensor 162 and a smoothed (e.g., noise removed) signal (line) generated from that data. Without wishing to be bound by theory, each data point of the acoustic signal 250 corresponds to a different instance where the platen 120 sweeps the acoustic sensor 162 below the substrate 10. Between each data point, the platen 120 makes one revolution while the acoustic sensor 162 is not below the substrate 10.
[0030]
[0035] While not wishing to be bound by theory, the layer transition occurs when the layer topography is removed by the system 100, and this transition can be determined from the change in the received signal. FIG. 2 includes three exemplary logical windows having different dimensions (e.g., sizes) and positions (e.g., non-overlapping ranges). Three regions 212, 214, and 216 of the signal 250 are surrounded by three logical windows 200, 210, and 220. The logical windows 200, 210, and 220 each surround a separate portion of the regions 212, 214, and 216 commonly seen in the polishing of the substrate 10 corresponding to different polishing stages. As an example, the logical window 200 surrounds a portion of the region 212 of the signal 250 while the surface of the substrate 10 is being planarized to remove irregularities and reduce surface roughness. As the surface roughness decreases, the acoustic energy generated by the interaction between the substrate 10 and the outer polishing layer 112 decreases, and the signal received by the acoustic sensor 162 decreases.
[0031]
[0036] In a second region 214 of the signal 250, the acoustic signal 250 is substantially constant (although affected by noise). The polishing of the flat surface and the removal of bulk materials, such as a fill layer, may correspond to the second region 214 of the acoustic signal 250. The second region 214 continues until the fill layer extending above the patterned layer is removed.
[0032]
[0037] The patterned layer is composed of a different material than the fill layer, such as a dielectric, and the interaction with the surface and material of the polishing layer 112 is different, and the process is represented by a third region 216 of the acoustic signal 250. Further, dishing may occur as polishing continues, and this topography may increase the acoustic signal again. The third region 216 is not constant and can, for example, increase or decrease. By determining when the signal enters the third region 216 or alternatively exits the second region 214, it is possible to determine when the monitored polishing process has reached its end point.
[0033]
[0038] It should be understood that the above description regarding the correspondence between the signal portion and the polishing process is exemplary and applicable in the context of acoustic monitoring. Different signal patterns can be generated depending on the process, such as metal polishing or dielectric polishing, and also depending on the monitoring technique, such as optical or eddy current monitoring.
[0034]
[0039] Each of the logical windows 200, 210, and 220 is two-dimensional and has four boundaries, two boundaries parallel to the y-axis and two boundaries parallel to the x-axis in FIG. 2, and is, for example, rectangular. The lengths of the parallel boundaries are the same in the example of FIG. 2, but other shapes can also be considered. The parallel boundaries define the signal value range and the time range of each logical window. For example, the logical window 200 has a signal value range 202 and a time range 204. The signal value range 202 defines a range along the y-axis that monitors whether the signal exceeds the boundaries of the signal value range 202. The time range 204 defines a range along the x-axis that monitors whether the signal exceeds the boundaries of the time range 204. The time range may be the elapsed time during the polishing process, but other scales indicating time, such as the number of platen rotations, or a value indicating to what extent (e.g., by rate of time or removal amount) the polishing process is expected to be completed at a given time, can also be used.
[0035]
[0040] The logical windows 200, 210, and 220 define a monitoring parameter range for evaluating whether the signal 250 enters or exits the logical windows 200, 210, and 220. When the signal 250 exits the logical window 200, the signal 250 exceeds or falls below the associated signal value range 202 or exceeds the time range 204. For example, the signal 250 is collected over a time from 0 seconds to 120 seconds that defines the directionality of the signal. In this way, the signal 250 enters the logical window 200 from the left, for example, crossing the left boundary and entering the time range 204. While the surface roughness is decreasing during the flattening of the unevenness, the signal 250 decreases with time as the unevenness is removed. Therefore, the signal 250 exits the logical window 200 from the lower boundary and deviates from the signal value range 202.
[0036]
[0041] In the second region 214, the filling layer is removed at a constant rate, and the signal 250 remains substantially constant. Thus, the signal 250 enters the logical window 210 from the left boundary and exits the logical window 210 from the right. In the third region 216, the filling layer is removed and the underlying layer is exposed. The signal 250 enters the logical window 210 from the lower boundary and exits from the right boundary.
[0037]
[0042] During the polishing process, the monitoring system of the system 100, such as the in-situ acoustic monitoring system 160, generates a signal such as the signal 250 for each substrate 10 being polished. A series of polished substrates generates a series of signals, and each signal corresponds to a single polishing process of a single substrate monitored by the monitoring system of the system 100. The system 100 stores the signals in a data storage that can be locally connected or network-connected.
[0038]
[0043] The system 100 includes a user interface device 192 that can be integrated with the system 100 or operated as a remote device 192 via a network, such as a laptop or a personal computer. The controller 190 displays the data from the polishing process on the display of the user interface device 192 for the user to view.
[0039]
[0044] For the configuration of the endpoint detection algorithm executed by the controller 190, the controller 190 displays one or more test signals such as the signal 250 from the polishing process of the substrate. For example, the one or more test signals correspond to a manufacturing batch of substrates having similar polishing test signals.
[0040]
[0045] FIG. 3 is an exemplary graph showing a group of overlapping test signals 300, e.g., a graph that a controller 190 may display to a user on a user interface device 192. The graph compares the test signals 300 received by the monitoring system against the polishing time. By overlaying the test signals 300, a summary diagram of a previous test polishing process is presented to the user so that the user can determine the signal value range and time range within which to place a logic window. The user examines the overlapping test signals 300 and determines where to place a user-defined logic window that corresponds to at least a portion of one or more regions of the signal (e.g., regions 212, 214, and 216 of signal 250).
[0041]
[0046] For example, in FIG. 3, the user can visually examine the overlapping test signals 300 and enter a signal value range 304 and a time range 306 that define a logic window 302. The controller 190 receives the logic window defined by the user and stores the window defined by the user in a data storage.
[0042]
[0047] In some implementations, the controller 190 receives parameters of a logic window (e.g., a signal value range or a time range) defined by the user, and the controller 190 determines one or more update parameters based on an end-point algorithm stored in the controller 190, such as a minimization algorithm or an optimization algorithm. Without wishing to be bound by theory, the end-point algorithm functions to determine a polishing end point of a monitoring signal based on a sequence of logic windows and boundary crossing logic functions.
[0043]
[0048] In an example of optimizing one or more logical windows, the controller 190 receives a signal value range 304 and a time range 306 that define the logical window 302. The controller 190 also receives from the user interface device 192 at least one boundary crossing logic function associated with the logical window 302. The boundary crossing logic function may, in some examples, correspond to a combination of boundary crossings that can correspond to transitions between two signal regions. FIG. 4 shows an exemplary group of boundary crossing logic functions that a user can select, for example, showing boundary crossings. The seven examples shown in FIG. 4 are representative and non-limiting. Each element of the group is established by any signal 402 crossing the boundary of any logical window 404. Example 1 and Example 2 are examples where the signal 402 enters from the left boundary and exits from the upper and lower boundaries, respectively. Example 3 is an example where the signal 402 enters from above and exits from the opposite boundary, and Example 4 is an example where the signal 402 enters from the left and exits from the opposite boundary. Example 5 and Example 6 are examples where the signal 402 enters from the upper or lower boundary, respectively, and exits from the right boundary. Example 7 is an example where the signal 402 enters from the lower boundary and exits from the upper boundary.
[0044]
[0049] Referring again to FIG. 3, the controller 190 stores the selected boundary crossing logic function corresponding to the selected user-defined logical window 302. In this way, the user defines at least one parameter of the user-defined logical window and the boundary crossing logic function corresponding to each user-defined logical window.
[0045]
[0050] The product of the signal value range 304 and the time range 306 determines the parameter region enclosed by the logical window 302. The controller 190 processes the test signal 300 and determines the number of test signals 300 that satisfy the boundary crossing logic function associated with the logical window 302. The controller 190 changes one or both of the parameters of the logical window 302 by an amount and defines an updated logical window having a region smaller than the region enclosed by the logical window 302.
[0046]
[0051] In the example of FIG. 3, the controller 190 changes the time range 306 of the logical window 302 to an updated time range 306' that defines the updated logical window 302'. The controller 190 determines the number of test signals 300 that satisfy the boundary crossing logic function associated with the updated logical window 302' and compares the updated number with the original number.
[0047]
[0052] If the difference in the number of signal of the test signal 300 that satisfies the boundary crossing logic function associated with the updated logical window 302' is within the threshold of the original number, the controller 190 updates the logical window 302 with the updated parameters (e.g., the signal value range 304 and the updated time range 302'). In some implementations, the threshold is zero, e.g., the same number of test signals 300 satisfy the boundary crossing logic function of the updated logical window 302' as satisfy the boundary crossing logic function of the original logical window 302. Alternatively, the threshold is a percentage of the number of test signals 300 that cross the original logical window 302, e.g., 99%, 95%, or 90%.
[0048]
[0053] In some implementations, the controller 190 determines one or more proposed boundary crossing logic functions for each of the user-specified logical window 302 or the updated logical window 302'. For example, the controller 190 receives a user-specified logical window 302 from the user interface device 192. Next, the controller 190 determines the boundary crossing logic function that is satisfied by the maximum number of test signals. For example, the controller 190 may determine that all of the test signals 300 satisfy the boundary crossing logic function (e.g., the left inlet and the lower outlet) shown in Example 2 of FIG. 4 of the user-specified logical window 302. The controller 190 associates the boundary crossing logic function with the logical window 302.
[0049]
[0054] In some implementations, the controller 190 displays the proposed boundary crossing logic function on the user interface device 192 before associating the boundary crossing logic function with the logic window 302. Optionally, the controller 190 can display the number or percentage of test signals that satisfy the boundary crossing logic function, or the controller can display multiple proposed boundary crossing logic functions and display the respective number or percentage of test signals that satisfy each boundary crossing logic function. The user reviews the proposed boundary crossing logic function, and the controller 190 receives an input from the user approving or rejecting the proposal. The controller 190 repeats this process for additional user-defined logic windows 308 and 310 corresponding to different portions of the overlapping test signals 300.
[0050]
[0055] The controller 190 stores the user-defined, updated, or both, logic windows and associated boundary crossing logic functions. The controller 190 receives from the monitoring system signals for a subsequent polishing process of one or more subsequent substrates 10. The controller 190 compares the received signals with a sequence of logic windows and associated boundary crossing logic functions and determines whether the signals meet the conditions of the logic windows and functions.
[0051]
[0056] When the controller 190 determines that the signal meets the conditions and the end point of the polishing process has been achieved, the controller 190 instructs the chemical mechanical polishing system 100 to end the polishing process.
[0052]
[0057] A method 500 for controlling a chemical mechanical polishing system 100 based on endpoint determination of window logic is shown in FIG. 5. The steps of method 500 can be executed on a controller of system 100 such as controller 190, or on an external device such as a networked computing device. In step 502, controller 190 receives a substrate polishing test signal from a source such as a data file, user input, etc., or from historical measurement values of the polishing process of substrate 10 executed in system 100. Each test signal is a time-varying series of data representing the polishing process of the substrate based on measurement values received from an in-situ monitoring system such as acoustic monitor system 160. Each time-varying test signal corresponds to a unique substrate polishing process.
[0053]
[0058] In step 504, controller 190 displays a group of test signals to the user. Controller 190 visually displays, to the user (as shown in FIG. 3), a plurality of test signals superimposed on a display. In some embodiments, the user can select one or more test signals for comparison. In some implementations, controller 190 displays a portion of the test signals received in step 502, or alternatively, controller 190 displays the entire set of stored test signals.
[0054]
[0059] In step 506, controller 190 receives user input selecting a parameter range for one or more parameters of one or more logical windows. For example, controller 190 receives the dimensions, e.g., height, width, or both, of one or more logical windows for a range of time signal values or amplitude signal values. In some implementations, the logical windows correspond to regions of the test signal, such as regions 212, 214, and 216, or a portion of the regions.
[0055]
[0060] In optional step 507, the controller 190 generates an updated time range and signal value range by processing the parameters of the logical window through an algorithm. The controller 190 receives user-specified parameters of the logical window (e.g., a signal value range or a time range) and determines the number of test signals, such as test signal 300, having at least a portion of the test signal enclosed by the user-specified logical window. The controller 190 changes one or both of the logical window parameters by an amount to define an updated logical window. The controller 190 determines a portion of the test signals that satisfy the relevant boundary crossing logic function and compares the updated number with the original number. If the difference in the number of signals across the updated logical window is within a threshold, the controller 190 updates the logical window with the updated parameters.
[0056]
[0061] In step 508, the controller 190 receives a user input that selects one from a preset group of boundary crossing logic functions, and each user input corresponds to one logical window. For example, for a signal having three user-specified logical windows, the controller receives three boundary crossing logic functions, one for each of the user-specified logical windows. The logical window corresponds to a combination of an entry criterion and an exit criterion. In some implementations, the controller 190 receives a sequence of boundary crossing logic functions for controlling polishing parameters.
[0057]
[0062] In optional step 509, the controller 190 identifies the boundary crossing logic function satisfied by the test signals within the time and signal value ranges. The controller 190 processes the test signals with an algorithm to determine which of the preset group of boundary crossing logic functions the test signals satisfy. The algorithm returns the boundary crossing logic function satisfied by the maximum number of test signals. In some implementations, the controller 190 associates the determined boundary crossing logic function with the logical window. In some implementations, the controller 190 displays the proposed boundary crossing logic function on the user interface device for user confirmation.
[0058]
[0063] In step 510, the controller 190 monitors the polishing process with an endpoint detection system to generate a time-varying signal based on data collected about the substrate 10 being polished on the system 100. In general, the endpoint detection system can be any detection system capable of receiving a signal indicative of the polishing process, and non-limiting examples can include any of those described herein.
[0059]
[0064] In step 512, an endpoint detection algorithm is configured, and when the polishing system is used for polishing a substrate, such as a device substrate used in the manufacture of an integrated circuit, the in-situ monitoring system generates a polishing signal during polishing. The controller 190 sequentially evaluates whether the polishing signal satisfies a selected boundary crossing logic function for each of the user-specified logic windows. The conditions of the logic window are satisfied when the polishing signal is within both a time range and a signal value range. The controller 190 monitors the polishing signal and determines when the conditions are no longer satisfied, e.g., when it exceeds the signal value range or the time value range of the logic window.
[0060]
[0065] In step 514, the controller 190 makes an endpoint determination based on whether the time-varying polishing signal satisfies one or more of the selected boundary crossing logic functions for the user-specified logic window. The controller 190 determines whether the boundary crossing logic function being monitored by the controller 190 correlates with the user-specified logic window and matches the corresponding boundary crossing stored in the data storage.
[0061]
[0066] As described above, the systems and methods disclosed above use a data processing apparatus to implement aspects of the described method for controlling a chemical mechanical polishing system. FIG. 6 shows an example of a computing device 600 that can be used as a data processing apparatus for implementing the techniques described herein. Computing device 600 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The components shown herein, their connections and relationships, and their functions are intended to be illustrative only and not limiting.
[0062]
[0067] Computing device 600 includes a processor 602, a memory 604, a storage device 606, a high-speed interface 608 that connects to memory 604 and a plurality of high-speed expansion ports 610, and a low-speed interface 612 that connects to a low-speed expansion port 614 and storage device 606.
[0063]
[0068] Processor 602 can process instructions for execution within computing device 600, including instructions stored in memory 604 or storage device 606, to display graphical information of a GUI on an external input / output device such as a display 616 coupled to high-speed interface 608. In other implementations, multiple processors and / or multiple buses can be used, as appropriate, along with multiple memories and memory types.
[0064]
[0069] Memory 604 stores information within computing device 600. In some implementations, memory 604 is one or more volatile memory units. In some implementations, memory 604 is one or more non-volatile memory units. Memory 604 may also be another form of computer-readable medium, such as a magnetic disk or optical disk.
[0065]
[0070] Storage device 606 can provide a large-capacity storage device for computing device 600. In some implementations, storage device 606 can be a computer-readable medium, or include a device such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid-state memory device, or an array of devices including a storage area network or other configured devices. Instructions can be stored on an information carrier. When executed by one or more processing devices (e.g., processor 602), the instructions perform one or more methods as described above.
[0066]
[0071] High-speed interface 608 manages the bandwidth-consuming processing of computing device 600, and low-speed interface 612 manages the low-bandwidth-consuming processing. Such an assignment of functions is an example. In some implementations, high-speed interface 608 is coupled to a high-speed expansion port 610 that can receive memory 604, display 616 (e.g., via a graphics processor or accelerator), and various expansion cards (not shown). In an implementation, low-speed interface 612 is coupled to storage device 606 and low-speed expansion port 614. Low-speed expansion port 614, which can include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), can be coupled to one or more input / output devices such as a keyboard, a pointing device, a scanner, etc., or a network device such as a switch or router, for example, through a network adapter.
[0067]
[0072] Computing device 600 can be implemented in many different forms as shown. For example, it can be implemented as a standard server 620, or multiple implementations can be made in such a server group. Further, it can be implemented in a personal computer such as a laptop computer 622. It can also be implemented as part of a rack server system 624.
[0068]
[0073] These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor and can be implemented in high-level procedural and / or object-oriented programming languages, and / or assembly / machine language. As used herein, the terms machine-readable medium and computer-readable medium refer to any computer program product, apparatus and / or device (e.g., magnetic disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives the machine instructions as a machine-readable signal. The term machine-readable signal refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0069]
[0074] To provide for interaction with a user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., an OLED (organic light emitting diode) display or an LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback), and input received from the user can be in any form including acoustic input, speech input, or tactile input.
[0070]
[0075] The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet, and the like.
[0071]
[0076] Although many details are set forth herein, these should not be construed as limiting the claims, but rather as descriptions of features specific to particular embodiments. The specific features described herein in the context of separate implementations can also be combined. Conversely, the various features described in the context of a single implementation can also be implemented separately in multiple implementations or in any suitable subcombination.
[0072]
[0077] Although many implementations have been described, it will be understood that various changes can be made without departing from the spirit and scope of the invention. Accordingly, other implementations are also within the scope of the following claims.
Claims
1. A method for controlling a chemical mechanical polishing system, comprising: for each of a plurality of test substrates, receiving, during chemical mechanical polishing of each respective test substrate, a respective time-varying test signal from an endpoint detection system, thereby providing a plurality of time-varying test signals; visually displaying, on a display, the plurality of time-varying test signals from the plurality of test substrates simultaneously in a graph where the plurality of time-varying test signals overlap each other; receiving a user input for selecting a box having a specified time range and a specified signal value range; receiving, through a visual user interface element, one selection from a preset group of boundary crossing logic functions for providing a selected boundary crossing logic function; monitoring the device substrate with the endpoint detection system during chemical mechanical polishing of the device substrate to generate a time-varying signal; evaluating whether the time-varying signal within the specified time range satisfies the selected boundary crossing logic function; making an endpoint determination based on whether the time-varying signal satisfies the selected boundary crossing logic function. A method comprising the above steps.
2. The method according to claim 1, wherein the preset group of boundary crossing logic functions includes: i) entering from the left boundary and exiting from the upper boundary; ii) entering from the upper boundary and exiting from the lower boundary; iii) entering from the upper boundary and exiting from the right boundary; iv) entering from the left boundary and exiting from the lower boundary; v) entering from the left boundary and exiting from the right boundary; vi) entering from the lower boundary and exiting from the right boundary; and vii) entering from the lower boundary and exiting from the upper boundary.
3. receiving a user input for selecting a plurality of boxes, each box being defined by a respective time range and a respective signal value range; receiving, through a visual user interface element, for each respective box, one selection from the preset group of boundary crossing logic functions for providing a respective selected boundary crossing logic function for each respective box. The method according to claim 1, comprising the above steps.
4. For each of the respective boxes, evaluating whether a time-varying signal within each time range and each signal value range satisfies the respective selected boundary crossing logic function for the respective box; Performing endpoint determination based on whether the time-varying signal satisfies the respective selected boundary crossing logic function for the respective box; The method according to claim 3, comprising:
5. A computer-readable medium that, when executed by one or more processors of a computing device, tangibly stores instructions that cause the one or more processors to perform the operations of any one of claims 1 to 4.
6. A method for controlling a chemical mechanical polishing system, comprising: For each of a plurality of test substrates, receiving, during chemical mechanical polishing of each test substrate, a respective time-varying test signal from an endpoint detection system, thereby providing a plurality of time-varying test signals; Visually displaying, on a display, in a graph where the plurality of time-varying test signals from the plurality of test substrates overlap each other; Receiving a user input for selecting a box that provides a specified time range and a specified signal value range; Providing the plurality of time-varying test signals, the time range, and the signal value range to an algorithm to identify, by the algorithm, a boundary crossing logic function within the specified time range and the specified signal value range; Monitoring the device substrate with the endpoint detection system during chemical mechanical polishing of the device substrate to generate a time-varying signal; Evaluating whether the time-varying signal within the specified time range satisfies the identified boundary crossing logic function; Performing endpoint determination based on whether the time-varying signal satisfies the identified boundary crossing logic function; A method comprising:
7. The specified boundary crossing logic function is specified from a preset group of boundary crossing logic functions including: i) entering from the left boundary and exiting from the upper boundary; ii) entering from the upper boundary and exiting from the lower boundary; iii) entering from the upper boundary and exiting from the right boundary; iv) entering from the left boundary and exiting from the lower boundary; v) entering from the left boundary and exiting from the right boundary; vi) entering from the lower boundary and exiting from the right boundary; and vii) entering from the lower boundary and exiting from the upper boundary. The method according to claim 6.
8. Identifying the boundary crossing logic function by the algorithm includes determining which boundary crossing logic function from the preset group of boundary crossing logic functions is satisfied by the maximum number of the plurality of time-varying test signals. The method according to claim 6.
9. Identifying the boundary crossing logic function by the algorithm includes determining which boundary crossing logic function from the preset group of boundary crossing logic functions is satisfied by the plurality of time-varying test signals. The method according to claim 6.
10. The method according to claim 6, including receiving user input to confirm the selection of the boundary crossing logic function identified by the algorithm.
11. The method according to claim 6, further including generating an updated time range and an updated signal value range by the algorithm.
12. The end point determination is performed after a first end point criterion is detected in a first time range and a second end point criterion is detected in a second time range for a plurality of consecutive substrates. The method according to claim 6.
13. A computer-readable medium that, when executed by one or more processors of a computing device, tangibly stores instructions that cause the one or more processors to perform the operations according to any one of claims 6 to 12.
14. A method for controlling a chemical mechanical polishing system, For each of a plurality of test substrates, during chemical mechanical polishing of each of the plurality of test substrates, receiving a respective time-varying test signal from an end point detection system, thereby providing a plurality of time-varying test signals. For each of the plurality of test substrates, during chemical mechanical polishing of each of the plurality of test substrates, receiving a respective time-varying test signal from an end point detection system. visually displaying, on a display, the plurality of time-varying test signals from the plurality of test substrates in a graph where the plurality of time-varying test signals overlap each other; receiving user input to select a first box providing a specified time range and a specified signal value range; receiving, through a visual user interface element, a selection from a preset group of boundary crossing logic functions to provide the selected boundary crossing logic function; providing the plurality of time-varying test signals, the time range, and the signal value range to an algorithm to specify an updated time range and an updated signal value range by the algorithm; monitoring the device substrate with the endpoint detection system during chemical mechanical polishing of the device substrate to generate a time-varying signal; evaluating whether the time-varying signal in the updated time range satisfies the specified boundary crossing logic function; making an endpoint determination based on whether the time-varying signal satisfies the specified boundary crossing logic function A method comprising.
15. The method according to claim 14, wherein specifying the updated time range and / or the updated signal value range by the algorithm includes specifying an updated time range and / or an updated signal value range in which all of the plurality of time-varying test signals satisfy the boundary crossing logic function.
16. The method according to claim 15, wherein specifying the updated time range and / or the updated signal value range by the algorithm includes specifying a minimum time range and / or a minimum updated signal value range in which all of the plurality of time-varying test signals satisfy the boundary crossing logic function.
17. A computer-readable medium tangibly storing instructions that, when executed by one or more processors of a computing device, cause the one or more processors to perform the operations according to any one of claims 14 to 16.
Citation Information
Patent Citations
Adaptive endpoint detection for chemical mechanical polishing
JP2001257187A
Process control of electrochemical mechanical polishing
JP2005516383A
Device and method for polishing
JP2008108940A
Determining the polishing endpoint using spectroscopy
JP2010519771A
Determining an endpoint in a polishing process
US20030082996A1