Window logic for controlling polishing process
By introducing an in-situ monitoring system and controller in the CMP system, real-time analysis is performed using time-varying signals, the problem of difficulty in accurately determining the polishing end point is solved, and the uniformity of substrate layer planarization and the accuracy of material removal are achieved.
Patent Information
- Application Number
- CN202380046813.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-22
- Filing Date
- 2023-03-27
- Publication Date
- 2025-02-18
AI Technical Summary
During the chemical mechanical polishing (CMP), it is difficult to accurately determine the polishing end point, resulting in difficult control of the degree of planarization of the substrate layer and the amount of material removal.
In-situ monitoring system is adopted to move between the substrate and the polishing pad by rotating the platform and the bearing head, and time-varying signals are generated using acoustic, motor torque, eddy current or optical monitoring systems. The controller performs real-time analysis based on these signals, displays the test signals through the user interface, and allows the operator to select a boundary crossing logic function to determine the polishing end point.
Accurate detection of polishing end points is achieved, uniformity of substrate layer planarization and accuracy of material removal are improved, equipment setting time and user errors are reduced, and production efficiency and product quality are improved.
Smart Images

Figure CN119486839A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to in-situ monitoring of chemical mechanical polishing, and more particularly to detecting polishing endpoint. Background Art
[0002] Integrated circuits are typically formed on a substrate by sequential deposition of conductive layers, semiconductor layers, or insulating layers on a silicon wafer. One manufacturing step involves depositing a filler layer onto a non-planar surface and planarizing the filler layer until the non-planar surface is exposed. For some applications, the filler layer is planarized until the top surface of the patterned layer is exposed. For example, a conductive filler layer may be deposited on a patterned insulating layer to fill grooves or holes in the insulating layer. After planarization, portions of the conductive layer remaining between the protruding patterns of the insulating layer form through-holes, plugs, and lines that provide conductive paths between thin-film circuits on the substrate. For other applications (such as oxide polishing), the filler layer is planarized, for example by polishing for a predetermined period of time, to leave a portion of the filler layer on the non-planar surface. In addition, photolithography typically requires planarizing the substrate surface.
[0003] Chemical mechanical polishing (CMP) is an accepted planarization method. This planarization method generally requires mounting the substrate on a carrier head or polishing head. The exposed surface of the substrate is generally placed against a rotating polishing pad. The carrier head provides a controllable load on the substrate to push the substrate against the polishing pad. An abrasive polishing slurry is generally supplied to the surface of the polishing pad.
[0004] One problem in CMP is determining whether the polishing process is complete, i.e., whether the substrate layer has been planarized to a desired flatness or thickness, or when a desired amount of material has been removed. Variations in slurry profile, polishing pad conditions, relative speed between the polishing pad and the substrate, and load on the substrate result in variations in the material removal rate. These variations, as well as variations in the initial thickness of the substrate layer, result in variations in the time required to reach the polishing endpoint. Therefore, the polishing endpoint cannot usually be determined solely as a function of the polishing time. In some systems, the substrate is monitored in situ during polishing, for example, using an optical or eddy current monitoring system. Summary of the invention
[0005] A method of controlling a CMP apparatus including an in-situ monitoring system is disclosed herein, which can be used as an endpoint detection system. During a polishing operation, the chemical mechanical polishing apparatus causes motion between a substrate and a polishing pad on top of the platform by rotating the platform (and in some cases, the carrier head). For example, the monitoring system can be an acoustic monitoring system, a motor torque monitoring system, an eddy current monitoring system, or an optical monitoring system. Depending on the stage of the polishing process, the material exposed on the substrate surface, and the remaining thickness of the polished layer, the signal from the monitoring system varies with time.
[0006] The controller provides a user interface to an operator that displays test signals received from the in-situ monitoring system during polishing of a plurality of test substrates. In some embodiments, the user interface allows the operator to select a boundary crossing window logic function for an endpoint algorithm. In some embodiments, the controller executes an algorithm to determine a recommended boundary crossing window logic function for the selected logic window based on the test signals.
[0007] In one aspect, a method of controlling a chemical mechanical polishing system includes: for each corresponding test substrate in a plurality of test substrates, receiving a corresponding time-varying test signal from an endpoint detection system during chemical mechanical polishing of the corresponding test substrate, thereby providing a plurality of time-varying test signals; visually displaying the plurality of time-varying test signals from the plurality of test substrates on a display simultaneously, wherein the plurality of time-varying test signals overlap each other in a graph; receiving user input selecting a box having a defined time range and a defined signal value range; receiving, via a visual user interface element, a selection of a boundary crossing logic function from a preset set of boundary crossing logic functions to provide the selected boundary crossing logic function; during chemical mechanical polishing of the device substrate, monitoring the device substrate using the endpoint detection system to generate the time-varying signal; evaluating whether the time-varying signal within the defined time range satisfies the selected boundary crossing logic function; and performing an endpoint determination based on whether the time-varying signal satisfies the selected boundary crossing logic function.
[0008] In another aspect, a method of controlling a chemical mechanical polishing system includes: for each corresponding test substrate in a plurality of test substrates, receiving a corresponding time-varying test signal from an endpoint detection system during chemical mechanical polishing of the corresponding test substrate, thereby providing a plurality of time-varying test signals; visually displaying the plurality of time-varying test signals from the plurality of test substrates on a display simultaneously, wherein the plurality of time-varying test signals overlap each other in a graph; receiving user input selecting a box providing a defined time range and a defined signal value range; providing the plurality of time-varying test signals and the time range and the signal value range to an algorithm, and the algorithm identifying a boundary crossing logic function within the defined time range and the defined 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 defined time range satisfies the identified boundary crossing logic function; and performing an endpoint determination based on whether the time-varying signal satisfies the identified boundary crossing logic function.
[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 stores instructions that, when executed by one or more processors of a computing device, cause the one or more processors to perform operations as described above.
[0010] The endpoint determination method is performed after detecting a first endpoint criterion within a first time window and detecting the second endpoint criterion within a second time window for a plurality of consecutive substrates.
[0011] Particular implementations of the subject matter described in this specification can be implemented so as to realize one or more of the following technical advantages.
[0012] Wafer-to-wafer (WTW) and within-wafer (WIW) polishing uniformity can be improved. Yield can be increased by improving the setting of endpoint detection criteria. The user interface can intuitively and visually display the information required for the user to select the signal area and the window logic function that will correctly detect the polishing endpoint, thereby reducing the setup time for equipment substrate polishing. Window logic functions and optimized window boundaries can be automatically recommended, reducing the time required for analysis and reducing user errors. Quality analysis can be performed on the selected endpoint window logic function. The software of an existing CMP system can be updated to include the functionality without changing the machine hardware, which can improve cost-effectiveness.
[0013] The details of one or more specific 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 A schematic cross-sectional side view of an example of a polishing apparatus is illustrated.
[0015] Figure 2 is a graph depicting an exemplary test signal and three associated logic windows surrounding portions of the signal.
[0016] Figure 3 is a graph depicting overlapping exemplary test signals and three associated user-defined logic windows surrounding portions of the signals.
[0017] Figure 4 A set of example boundary crossing window logic functions are illustrated.
[0018] Figure 5 and Figure 5A is a flow chart illustrating the steps of a method of controlling a chemical mechanical polishing system.
[0019] Figure 6 A schematic diagram of an example of a computing device is illustrated.
[0020] In the drawings, like reference numerals denote like elements. DETAILED DESCRIPTION
[0021] In some semiconductor chip manufacturing processes, an in-situ monitoring system is used to monitor the polishing of the substrate in real time. The monitoring system can be based on one or more of a variety of technologies, such as acoustics, motor current, torque, eddy current, or optics. But generally speaking, 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 parameters meet a predetermined criterion, the CMP device ends the polishing process. Typically, the user determines the endpoint criteria through trial and error experiments.
[0022] A CMP system including an in-situ monitoring system operating as an endpoint detection system monitors in real time a time-varying signal received from the monitoring system. The CMP system evaluates the signal to detect when the signal crosses the boundaries of a "logical window." A "logical window" is a selection of two corresponding ranges along two corresponding axes: an axis representing time and an axis of a monitored parameter, such as signal strength of a signal from the in-situ monitoring system. A logical window may also be referred to as a "box" because the area defined by the two ranges may be graphically displayed as a rectangle.
[0023] The combination of the signal entering and exiting the boundaries of the logic window through which it passes indicates a change during the polishing process that is correlated with the change in the monitored signal. Therefore, 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 a selection of two boundaries of the logic window, i.e., two sides of the rectangular box: one side for the signal to enter and one side for the signal to leave. Examples of boundary crossing functions include: (i) entering through the top boundary and exiting through the right boundary; (ii) entering through the left boundary and exiting through the top boundary; (iii) entering through the left boundary and exiting through the bottom boundary; (iv) entering through the left boundary and exiting through the right boundary; and (iv) entering through the bottom boundary and exiting through the right boundary.
[0024] To determine a set of logic windows and associated boundary crossing logic functions, the CMP system simultaneously displays a plurality of test signals to a user. From the displayed information, the user provides user-defined time and signal value ranges that determine the boundaries of the logic windows for subsequent substrate polishing processes. For each of the logic windows, the user provides a boundary crossing logic function. In some cases, the logic window size is optimized by an algorithm stored on the controller to detect polishing activities of interest, including determining an endpoint. In some cases, the controller is configured to determine a suggested boundary crossing logic function.
[0025] Figure 1An example of a polishing system 100 is shown. The polishing system 100 includes a rotatable dish-shaped platform 120 on which a polishing pad 110 is positioned. The polishing pad 110 may be a dual-layer polishing pad having an outer polishing layer 112 and a softer backing layer 114. The platform is operable to rotate about an axis 125. For example, a motor 121 may rotate a drive shaft 124 to rotate the platform 120.
[0026] The polishing system 100 may include a port 130 to dispense a polishing liquid 132, such as an abrasive slurry, onto the polishing pad 110. The polishing apparatus may also include a polishing pad conditioner for grinding the polishing pad 110 to maintain the polishing pad 110 in a consistent polishing state.
[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 to hold the substrate 10 below the flexible membrane 144. The carrier head 140 also includes one or more independently controllable pressure chambers defined by the membrane, for example, three chambers 146a-146c, which can apply independently controllable pressures to associated zones on the flexible membrane 144 (and therefore on the substrate 10). Although for ease of illustration, Figure 1 Only three chambers are shown, but there may be one or two chambers, or four or more chambers, for example five chambers.
[0028] The carrier heads 140 are suspended from a support structure 150 (e.g., a turntable or track) and are connected by a drive shaft 152 to a carrier head rotation motor 154 so that the carrier heads can rotate about an axis 155. Optionally, each carrier head 140 can be vibrated laterally, for example on a slider on the support structure 150; either by rotational vibration of the turntable itself, or by sliding along a track. In typical operation, the platform rotates about the central axis 125 of the platform, and each carrier head 140 rotates about the central axis 155 of the carrier head and is laterally displaced across the top surface of the polishing pad.
[0029] A controller 190, such as a programmable computer, is connected to the motors 121, 154 to control the rotational speed of the platform 120 and the carrier head 140. For example, each motor can include an encoder that measures the rotational speed of the associated drive shaft. Feedback control circuitry, which can be in the motor itself, part of the controller, or a separate circuit, receives the measured rotational speed from the encoder and adjusts the current provided to the motor to ensure that the rotational speed of the drive shaft matches the rotational speed received from the controller.
[0030] The polishing system 100 includes an in-situ monitoring system 160. For example, Figure 1The 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 a combination of sensors. Figure 1 In the example of the in-situ acoustic monitoring system 160, one or more acoustic signal sensors 162 are included. Each acoustic signal sensor can be installed at one or more locations on the upper platform 120. Figure 1 In a specific example of , the in-situ acoustic monitoring system is configured to detect acoustic emissions caused by exposure of features of an underlying layer when an overlying layer of material of the substrate 10 is removed.
[0031] exist Figure 1 In the illustrated embodiment, the acoustic monitoring system 160 includes an acoustic sensor 162 supported by the platform 120 to receive acoustic signals from the substrate 10 through the polishing pad 110. The acoustic sensor 162 may be partially or completely located in a recess 164 in the top surface of the platform 120. The portion of the polishing pad directly above the acoustic sensor 162 may include an acoustic window 119.
[0032] exist Figure 1 In the example of the embodiment of the present invention, the acoustic sensor 162 is a contact acoustic sensor whose surface is connected to a portion of the polishing layer 112 and / or the acoustic window 119. The acoustic sensor 162 can be connected to a power source and / or other signal processing electronics 166 by a circuit system 168 through a rotational coupling (e.g., a mercury slip ring). The acoustic sensor 162 is stationary within a recess 164 of the platform 120 as the platform 120 rotates. This sweeps across the acoustic window 119 and the associated acoustic sensor 162 below the substrate 10 within the retaining ring 142.
[0033] The acoustic sensor 162 receives an acoustic signal based on acoustic information received from an interface between the substrate 10 and the pad 110 . Figure 2 An exemplary acoustic signal 250 generated during a polishing process is depicted. Figure 2 The graph depicted in compares received signal values on the y-axis (eg, total power spectral density (PSD) over a frequency range) to time (in seconds) on the x-axis. Other monitoring systems, such as eddy current sensors, produce different received signal values over time.
[0034] Figure 2 Included are data (points) collected by the acoustic sensor 162 and a smoothed (e.g., denoised) signal (line) generated from the data. Without wishing to be bound by theory, each data point of the acoustic signal 250 corresponds to a different instance of the platform 120 sweeping the acoustic sensor 162 beneath the substrate 10. Between each data point, the platform 120 undergoes a complete rotation during which the acoustic sensor 162 is not beneath the substrate 10.
[0035] Without wishing to be bound by theory, a layer transition occurs when a layer topography has been removed by the system 100, and this transition can be determined from a change in the received signal. Figure 2 Three exemplary logic windows having different sizes (e.g., sizes) and positions (e.g., non-overlapping ranges) are included. Three regions 212, 214, and 216 of the signal 250 are surrounded by three logic windows 200, 210, and 220. The logic windows 200, 210, and 220 each surround separate portions of the regions 212, 214, and 216, which are common in the polishing of the substrate 10 corresponding to different polishing stages. As an example, the logic window 200 surrounds a portion of the region 212 of the signal 250 during which the surface of the substrate 10 is flattened to remove roughness 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.
[0036] In the second region 214 of the signal 250, the acoustic signal 250 is substantially constant (although affected by noise). Polishing of the planar surface and removal of bulk material (e.g., a filler layer) may correspond to the second region 214 of the acoustic signal 250. The second region 214 continues in time until the filler layer extending above the patterned layer has been removed.
[0037] The patterned layer is composed of a different material than the filler layer, such as a dielectric, and interacts with the polishing layer 112 surface and material in a different manner, which is captured here by the third region 216 of the acoustic signal 250. In addition, continued polishing will generate depressions, and this topology may increase the acoustic signal again. The third region 216 is not constant, for example, it can increase or decrease. Determining when the signal enters the third region 216, or alternatively leaves the second region 214, can provide a determination of when the monitored polishing process has reached an end point.
[0038] It should be understood that the above discussion of the correspondence between portions of the signal and the polishing process is exemplary and applies in the context of acoustic monitoring. Different signal forms may be generated, depending on the process, such as metal or dielectric polishing, and on the monitoring technique, such as optical or eddy current monitoring.
[0039] Each of the logic windows 200, 210 and 220 is two-dimensional and has four boundaries (two boundaries are parallel to Figure 2 The y-axis of the Figure 2 The length of the parallel boundary is Figure 2, but other shapes are contemplated. Parallel boundaries define a signal value range and a time range for each corresponding logic window. For example, logic window 200 has a signal value range 202 and a time range 204. Signal value range 202 defines a range along the y-axis within which the signal is monitored to see if it exceeds the boundary of signal value range 202. Time range 204 defines a range along the x-axis within which the signal is monitored to see if it exceeds the boundary of time range 204. The time range may be the time elapsed during the polishing operation, but other measures indicating time may also be used, such as the number of platform rotations, or a value indicating how much of the polishing process is expected to have been completed at a given time (e.g., a percentage of time passed or an amount removed).
[0040] The logic windows 200, 210, and 220 define monitoring parameter ranges within which the signal 250 will be evaluated for entering or leaving the logic windows 200, 210, and 220. When the signal 250 leaves the logic window 200, the signal 250 exceeds or falls below the associated signal value range 202, or exceeds the time range 204. For example, by collecting the signal 250 from 0 seconds to 120 seconds, the directionality of the signal is defined. Therefore, the signal 250 enters the logic window 200 from the left, for example, crosses the left boundary and enters the time range 204. During the flattening of the asperities while the surface roughness is reduced, the signal 250 decreases over time as the asperities are removed. Therefore, the signal 250 leaves the logic window 200 from the bottom boundary and crosses the signal value range 202.
[0041] In the second region 214, the filler layer is removed at a constant rate and the signal 250 remains substantially constant. Thus, the signal 250 enters the logic window 210 from the left boundary and exits the logic window 210 from the right boundary. In the third region 216, the filler layer is removed and the underlying layer is exposed. The signal 250 enters the logic window 210 from the bottom boundary and exits from the right boundary.
[0042] During the polishing operation, the monitoring system (e.g., in-situ acoustic monitoring system 160) of the system 100 generates a signal, such as signal 250, for each substrate 10 being polished. A series of polished substrates generates a series of signals, each signal corresponding 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 device that may be locally connected or networked.
[0043] The system 100 includes a user interface device 192, which may be integrated with the system 100 or operate as a remote device 192 on a network, such as a laptop or personal computer. The controller 190 displays data from the polishing operation to a display of the user interface device 192 for viewing by a user.
[0044] To configure an endpoint detection algorithm executed by controller 190, controller 190 displays one or more test signals from a substrate polishing operation, such as signal 250. For example, the one or more test signals correspond to a substrate manufacturing batch having similar polishing test signals.
[0045] Figure 3 1 is an exemplary graph showing a set of multiple overlapping test signals 300, such as the graph that the controller 190 can display to the user on the user interface device 192. The graph compares the test signals 300 received by the monitoring system with the polishing time. The overlapping test signals 300 presents a user with a summary view of previous test polishing operations so that the user can determine the signal values and time ranges on which to place logical windows. The user reviews the overlapping test signals 300 and determines where to place user-defined logical windows corresponding to at least a portion of one or more regions of the signal, such as regions 212, 214, and 216 of the signal 250.
[0046] For example, in Figure 3 , a user may visually review overlapping test signals 300 and enter a signal value range 304 and a time range 306 that define a logic window 302. Controller 190 receives the user-defined logic window and stores the user-defined window in a data storage device.
[0047] In some embodiments, the controller 190 receives parameters of a user-defined logic window (e.g., a signal value range or a time range), and the controller 190 determines one or more updated parameters based on an endpoint algorithm (such as a minimization or optimization algorithm) stored in the controller 190. Without wishing to be bound by theory, the endpoint algorithm is used to determine the polishing endpoint in the monitored signal based on a series of logic windows and boundary crossing logic functions.
[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 defining a logical window 302. The controller 190 also receives at least one boundary crossing logic function from the user interface device 192 to be associated with the logical window 302. The boundary crossing logic function corresponds to a combination of boundary crossings, which in some examples may correspond to a transition between two signal regions. Figure 4 An exemplary set of boundary crossing logic functions, such as boundary crossing, are shown from which a user may select. Figure 4The seven examples shown in are representative and non-limiting. Each element of this group is composed of any signal 402 across the border of any logic window 404. Examples 1 and 2 are examples of signal 402 entering and leaving the top and bottom borders from the left border, respectively. Example 4 is an example of signal 402 entering and leaving the relative border from the top, and example 4 is an example of signal 402 entering and leaving the relative border from the left. Examples 5 and 6 are examples of signal 402 entering and leaving the right border from the top or bottom border, respectively. Example 7 is an example of signal 402 entering and leaving the top border from the bottom border.
[0049] Reference again Figure 3 , the controller 190 stores the selected boundary crossing logic function corresponding to the selected user-defined logic window 302. In this way, the user defines the parameters of at least one user-defined logic window and the boundary crossing logic function corresponding to each user-defined logic window.
[0050] The product of the signal value range 304 and the time range 306 determines the parameter region enclosed by the logic 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 logic window 302. The controller 190 changes one or both of the parameters of the logic window 302 by an amount to define an updated logic window whose area is smaller than the area enclosed by the logic window 302.
[0051] exist Figure 3 In the example of , the controller 190 changes the time range 306 of the logic window 302 to an updated time range 306' defining an updated logic window 302'. The controller 190 determines the number of test signals 300 that satisfy the boundary crossing logic function associated with the updated logic window 302' and compares the updated number to the original number.
[0052] If the difference in the number of signals of the test signal 300 satisfying the boundary crossing logic function associated with the updated logic window 302' is within a threshold of the original number, the controller 190 updates the logic window 302 with the updated parameters (e.g., the signal value range 304 and the updated time range 302'). In some embodiments, the threshold is zero, e.g., the number of test signals 300 satisfying the boundary crossing logic function of the updated logic window 302' is the same as the number of test signals 300 satisfying the boundary crossing logic function of the original logic window 302. Alternatively, the threshold is a percentage of the number of test signals 300 crossing the original logic window 302, e.g., 99%, 95%, or 90%.
[0053] In some embodiments, the controller 190 determines one or more suggested boundary crossing logic functions for each of the user-defined logic windows 302 or the updated logic windows 302'. For example, the controller 190 receives the user-defined logic window 302 from the user interface device 192. The controller 190 then determines which boundary crossing logic function is satisfied by the greatest number of test signals. For example, the controller 190 may determine that all test signals 300 satisfy the user-defined logic window 302. Figure 4 The controller 190 associates the boundary crossing logic function with the logic window 302 .
[0054] In some embodiments, the controller 190 displays a suggested boundary crossing logic function to the user interface device 192 before associating the boundary crossing logic function with the logic window 302. Alternatively, 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 suggested boundary crossing logic functions and display the corresponding number or percentage of test signals that satisfy the corresponding boundary crossing logic functions. The user reviews the suggested boundary crossing logic function, and the controller 190 receives input from the user approving or rejecting the suggestion. The controller 190 repeats the process for additional user-defined logic windows 308 and 310 corresponding to different portions of the overlapping test signal 300.
[0055] The controller 190 stores the user-defined, updated logic windows and associated boundary crossing logic functions (or both). The controller 190 receives signals from the monitoring system of subsequent polishing processes of subsequent one or more substrates 10. The controller 190 compares the received signals with the logic window sequence and the associated boundary crossing logic functions and determines whether the signals satisfy the conditions of the logic windows and functions.
[0056] When the controller 190 determines that the signal meets the condition and reaches the end point of the polishing process, the controller 190 commands the chemical mechanical polishing system 100 to terminate the polishing process.
[0057] The method 500 for controlling the chemical mechanical polishing system 100 based on windowed logic endpoint determination is described in detail. Figure 5. The method 500 may be executed on a controller of the system 100 (such as the controller 190) or an external device (such as a networked computing device). In step 502, the controller 190 receives substrate polishing test signals from a source, such as a data file, user input, or from historical measurements of polishing processes of substrates 10 performed with the system 100. Each test signal is a series of time-varying data representing a substrate polishing process based on measurements received from an in-situ monitoring system (such as the acoustic monitoring system 160). Each time-varying test signal corresponds to a unique substrate polishing process.
[0058] In step 504, the controller 190 displays a set of test signals to the user. The controller 190 visually displays more than one test signal (e.g., Figure 3 5. In some examples, the user may select one or more test signals for comparison. In some implementations, the controller 190 displays a portion of the test signal received in step 502, or alternatively, the controller 190 displays all of the stored test signals.
[0059] In step 506, the controller 190 receives user input selecting parameter ranges for one or more parameters of one or more logical windows. For example, the controller 190 receives one or more logical window sizes, such as height, width, or both, for one or more logical windows corresponding to a range of time or amplitude signal values. In some embodiments, the logical window corresponds to a region of the test signal, such as regions 212, 214, and 216, or a portion of a region.
[0060] In optional step 507, the controller 190 generates updated time and signal value ranges by algorithmically processing the parameters of the logic window. The controller 190 receives the parameters of the user-defined logic window (e.g., signal value range or time range) and determines the number of test signals (such as test signal 300) having at least a portion of the test signal surrounded by the user-defined logic window. The controller 190 changes one or both of the logic window parameters by a certain amount to define an updated logic window. The controller 190 determines a portion of the test signal that satisfies the associated boundary crossing logic function and compares the updated number with the original number. If the difference in the number of signals passing through the updated logic window is within a threshold, the controller 190 updates the logic window with the updated parameters.
[0061] In step 508, the controller 190 receives a user input selecting one of a set of preset boundary crossing logic functions, each corresponding to a single logic window. For example, in a signal having three user defined logic windows, the controller receives three boundary crossing logic functions, one boundary crossing logic function for each user defined logic window. The logic window corresponds to a combination of entry and exit criteria. In some embodiments, the controller 190 receives a sequence of boundary crossing logic functions to control polishing parameters.
[0062] In optional step 509, the controller 190 identifies the boundary crossing logic functions satisfied by the test signal within the time and signal value range. The controller 190 processes the test signal using an algorithm and determines which of a set of preset boundary crossing logic functions the test signal satisfies. The algorithm returns the boundary crossing logic function satisfied by the largest number of test signals. In some embodiments, the controller 190 associates the determined boundary crossing logic function with a logic window. In some embodiments, the controller 190 displays the suggested boundary crossing logic function to a user interface device for user review.
[0063] In step 510, the controller 190 monitors the polishing process using an endpoint detection system to generate a time-varying signal based on data collected from the substrate 10 being polished on the system 100. Generally, the endpoint detection system is any detection system capable of receiving a signal indicative of the polishing process, and non-limiting examples may include any of the systems described herein.
[0064] In step 512, once the endpoint detection algorithm has been configured and the polishing system is used to polish a substrate (e.g., a device substrate for manufacturing integrated circuits), the in-situ monitoring system generates a polishing signal during polishing. The controller 190 sequentially evaluates whether the polishing signal satisfies the selected boundary crossing logic function for each user-defined logic window. The condition of the logic window is satisfied when the polishing signal is within both the time range and the signal value range. The controller 190 monitors the polishing signal and determines when the condition is no longer satisfied, for example, when the signal value range or the time value range of the logic window is exceeded.
[0065] In step 514, the controller 190 determines an endpoint based on whether the time-varying polishing signal satisfies one or more selected boundary crossing logic functions of the user-defined logic window. The controller 190 determines whether the boundary crossing logic function monitored by the controller 190 matches a corresponding boundary crossing associated with the user-defined logic window and stored in the data store.
[0066] As previously mentioned, the systems and methods disclosed above utilize a data processing device to implement aspects of the method of controlling a chemical mechanical polishing system. Figure 6An example of a computing device 600 is shown that can be used as a data processing apparatus to implement the techniques described herein. Computing device 600 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The components shown herein, their connections and relationships, and their functions are provided only as examples and are not intended to be limiting.
[0067] Computing device 600 includes a processor 602 , a memory 604 , a storage device 606 , a high-speed interface 608 connected to memory 604 and a plurality of high-speed expansion ports 610 , and a low-speed interface 612 connected to a low-speed expansion port 614 and storage device 606 .
[0068] Processor 602 may process instructions for execution within computing device 600, including instructions stored in memory 604 or on storage device 606 to display graphical information in a GUI on an external input / output device such as display 616 coupled to high-speed interface 608. In other implementations, multiple processors and / or multiple buses as well as multiple memories and types of memory may be used as appropriate.
[0069] The memory 604 stores information within the computing device 600. In some implementations, the memory 604 is one or more volatile memory units. In some implementations, the memory 604 is one or more non-volatile memory units. The memory 604 may also be another form of computer-readable medium, such as a magnetic disk or optical disk.
[0070] The storage device 606 can provide mass storage for the computing device 600. In some embodiments, the storage device 606 can be or include a computer-readable medium, 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 a device array, including devices in a storage area network or other configuration. Instructions can be stored in an information carrier. These instructions, when executed by one or more processing devices (e.g., processor 602), perform one or more methods, such as those described above.
[0071] The high-speed interface 608 manages bandwidth-intensive operations of the computing device 600, while the low-speed interface 612 manages less bandwidth-intensive operations. Such a functional allocation is just one example. In some embodiments, the high-speed interface 608 is coupled to the memory 604, the display 616 (e.g., through a graphics processor or accelerator), and the high-speed expansion port 610, which can accept various expansion cards (not shown). In an embodiment, the low-speed interface 612 couples the storage device 606 and the low-speed expansion port 614. The low-speed expansion port 614, which may 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, or a networking device, such as a switch or a router, for example, through a network adapter.
[0072] As shown, computing device 600 can be implemented in a variety of different forms. For example, it can be implemented as a standard server 620, or multiple implementations in a group of such servers. In addition, 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.
[0073] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and may be implemented in high-level procedural and / or object-oriented programming languages and / or assembly / machine languages. As used herein, the terms machine-readable medium and computer-readable medium refer to any computer program product, apparatus, and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term machine-readable signal refers to any signal for providing machine instructions and / or data to a programmable processor.
[0074] To provide 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 pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including sound, voice, or tactile input.
[0075] The systems and techniques described herein can be implemented in a system that includes a back-end component (e.g., as a data server), or includes a middleware component (e.g., an application server), or includes a front-end component (e.g., a client computer with 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 back-end, middleware, or front-end 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") and wide area networks ("WANs"), as well as the Internet.
[0076] Although this specification contains many details, these should not be interpreted as limitations on the scope of what may be claimed, but rather as descriptions of specific features of specific examples. Certain features described in this specification in the background of individual specific embodiments may also be combined. Conversely, various features described in the background of a single embodiment may also be implemented individually in multiple specific embodiments or in any suitable sub-combination.
[0077] Several specific embodiments have been described. However, it will be appreciated that various modifications can be made without departing from the spirit and scope of the invention. Therefore, there are other embodiments within the scope of the following claims.
Claims
1. A method for controlling a chemical mechanical polishing system, comprising: for each respective test substrate of the plurality of test substrates, receiving a respective time-varying test signal from an endpoint detection system during chemical mechanical polishing of the respective test substrate, thereby providing a plurality of time-varying test signals; visually displaying the plurality of time-varying test signals from the plurality of test substrates simultaneously on a display, wherein the plurality of time-varying test signals overlap each other in a graph; receiving user input selecting a box having a defined time range and a defined signal value range; receiving, via a visual user interface element, a selection of a boundary crossing logic function from a preset set of boundary crossing logic functions to provide the 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 defined time range satisfies the selected boundary crossing logic function; as well as An endpoint determination is made based on whether the time-varying signal satisfies the selected boundary crossing logic function.
2. The method of claim 1, wherein the preset set of boundary crossing logic functions comprises: (i) Enter through the left border and exit through the top border; (ii) enter through the top boundary and exit through the bottom boundary; (iii) enter through the top border and exit through the right border; (iv) enter through the left border and exit through the bottom border; (v) enter through the left border and exit through the right border; (vi) enter through the bottom border and exit through the right border; and (vii) enter through the bottom border and exit through the top border.
3. The method of claim 1, comprising: receiving user input selecting a plurality of boxes, each respective box being defined by a respective time range and a respective signal value range; as well as A selection of one boundary crossing logic function from the set of preset boundary crossing logic functions is received for each respective box through the visual user interface element to provide the respective selected boundary crossing logic function for the respective box.
4. The method of claim 3, comprising: for each respective box, evaluating whether the time-varying signal within the respective time range and the respective signal value range satisfies the respective selected boundary crossing logic function for the respective box; as well as An endpoint determination is made based on whether the time-varying signal satisfies the corresponding selected boundary crossing logic function of the corresponding block.
5. 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 of any one of claims 1 to 4.
6. A method for controlling a chemical mechanical polishing system, comprising: for each respective test substrate of the plurality of test substrates, receiving a respective time-varying test signal from an endpoint detection system during chemical mechanical polishing of the respective test substrate, thereby providing a plurality of time-varying test signals; visually displaying the plurality of time-varying test signals from the plurality of test substrates simultaneously on a display, wherein the plurality of time-varying test signals overlap each other in a graph; receiving user input selecting a box providing a defined time range and a defined signal value range; providing the plurality of time-varying test signals and the time range and signal value range to an algorithm, and having the algorithm identify a boundary crossing logic function within the defined time range and the defined 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 defined time range satisfies the identified boundary crossing logic function; as well as An endpoint determination is made based on whether the time-varying signal satisfies the identified boundary crossing logic function.
7. The method of claim 6, wherein the identified boundary crossing logic function is identified from a preset set of boundary crossing logic functions, the preset set of boundary crossing logic functions comprising: (i) Enter through the left border and exit through the top border; (ii) enter through the top boundary and exit through the bottom boundary; (iii) enter through the top border and exit through the right border; (iv) enter through the left border and exit through the bottom border; (v) enter through the left border and exit through the right border; (vi) enter through the bottom border and exit through the right border; and (vii) enter through the bottom border and exit through the top border.
8. The method of claim 6, wherein identifying the boundary crossing logic function by the algorithm comprises: A boundary crossing logic function among the preset set of boundary crossing logic functions is determined, which is satisfied by a maximum number of the plurality of time-varying test signals.
9. The method of claim 6, wherein identifying the boundary crossing logic function by the algorithm comprises: Determine a boundary crossing logic function in the preset set of boundary crossing logic functions that is satisfied by the multiple time-varying test signals.
10. The method of claim 6, comprising: User input is received confirming selection of the boundary crossing logic function identified by the algorithm.
11. The method of claim 6, further comprising: An updated time range and an updated signal value range are generated by the algorithm.
12. The method of claim 6, wherein the endpoint determination is performed after the first endpoint criterion is detected within the first time range and the second endpoint criterion is detected within the second time range for a plurality of consecutive substrates.
13. 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 of any one of claims 6 to 12.
14. A method for controlling a chemical mechanical polishing system, comprising: for each respective test substrate of the plurality of test substrates, receiving a respective time-varying test signal from an endpoint detection system during chemical mechanical polishing of the respective test substrate, thereby providing a plurality of time-varying test signals; visually displaying the plurality of time-varying test signals from the plurality of test substrates simultaneously on a display, wherein the plurality of time-varying test signals overlap each other in a graph; receiving user input selecting an initial box providing a defined time range and a defined signal value range; receiving, via a visual user interface element, a selection of a boundary crossing logic function from a preset set of boundary crossing logic functions to provide the selected boundary crossing logic function; providing the plurality of time-varying test signals and the time ranges and signal value ranges to an algorithm, and having the algorithm identify an updated time range and / or an updated 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 updated time range satisfies the identified boundary crossing logic function; as well as An endpoint determination is made based on whether the time-varying signal satisfies the identified boundary crossing logic function.
15. The method of claim 14, wherein identifying, by the algorithm, the updated time range and / or the updated signal value range comprises: The updated time range and / or the updated signal value range in which the plurality of time-varying test signals all satisfy the boundary crossing logic function are identified.
16. The method of claim 15, wherein identifying, by the algorithm, the updated time range and / or the updated signal value range comprises: A minimum time range and / or a minimum updated signal value range for which all of the plurality of time-varying test signals satisfy the boundary crossing logic function is identified.
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 of any one of claims 14 to 16.