Ethercat liquid flow controller communications for substrate processing systems
The EtherCAT bus system automates the configuration of liquid flow controllers in chemical mechanical polishing systems, addressing setup time and error issues, enhancing operational efficiency and reducing downtime.
Patent Information
- Application Number
- JP2022544746
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-06-25
- Filing Date
- 2021-06-24
- Publication Date
- 2025-10-16
- Estimated Expiration
- 2041-06-24
AI Technical Summary
The manual setup process of liquid flow controllers in chemical mechanical polishing systems is time-consuming and prone to human or machine errors, leading to costly downtime and operational inefficiencies.
Implementing an EtherCAT bus to connect a plurality of individually controllable liquid flow controllers, enabling automatic configuration and data integrity verification, thereby reducing setup time and minimizing errors.
Improves efficiency in setting up liquid flow controllers, reduces downtime due to human error, and lowers operational costs by ensuring accurate and rapid configuration of multiple controllers.
Smart Images

Figure 0007755587000001 
Figure 0007755587000002 
Figure 0007755587000003
Abstract
Description
[Technical Field]
[0001] FIELD OF THE DISCLOSURE The present disclosure relates to liquid flow controllers, and more particularly to managing liquid flow controllers for substrate processing systems, such as chemical mechanical polishing systems. [Background technology]
[0002] Flow controllers can be used to deliver process gases or liquids to provide various processes. For example, in the semiconductor industry, liquid flow controllers are used to deliver liquid chemicals to wafer fabrication tools. In particular, during chemical mechanical polishing (CMP), a polishing liquid, such as a slurry containing abrasive particles, is delivered to the surface of a rotating polishing pad. A substrate is mounted on a carrier head so that the exposed surface of the substrate is pressed against the polishing pad. Hit it The combination of relative motion and abrasive particles board A planarized surface is obtained.
[0003] Each liquid flow controller must be configured before or while it is being used to deliver liquid. For example, the configuration may include the controller's firmware. As another example, the configuration may include commands specifying the liquid type, flow rate, and / or set point. different A liquid flow controller different Conventionally, liquid flow controllers are manually set. Summary of the Invention
[0004] In one aspect, a chemical mechanical polishing apparatus includes a plurality of polishing stations, a plurality of carrier heads, an EtherCAT (Ethernet for Control Automation Technology) bus, a liquid flow controller array, and a control system. Each polishing station includes a platen supporting a polishing pad and a polishing liquid dispenser that delivers polishing liquid from a polishing liquid supply to a port onto the polishing pad. The plurality of carrier heads are movable between the polishing stations and hold a substrate against a selected polishing pad. The liquid flow controller array includes a plurality of individually controllable liquid flow controllers (LFCs) connected to the EtherCAT bus, the plurality of LFCs including a first plurality of LFCs, each corresponding LFC of the first plurality of LFCs controlling the flow rate of polishing liquid from the polishing liquid supply to a corresponding port. The control system controls a flow rate of polishing liquid for the plurality of LFCs. Latest Obtaining controller setting data and automatically transmitting commands to each of the plurality of LFCs in sequence via the EtherCAT bus, Latest A copy of the controller configuration data is configured to be downloaded via the EtherCat bus.
[0005] In another aspect, a computer program product includes instructions that cause one or more processors to perform a plurality of liquid flow controllers of a substrate processing system. Latest The controller receives the setting data and automatically transmits commands to each of a plurality of liquid flow controllers (LFCs) in sequence via EtherCAT (Ethernet for Control Automation Technology), and sequentially controls each of the LFCs. Latestdownloading a copy of the controller configuration data over an EtherCAT bus; and causing the substrate processing system to process a substrate, wherein a flow rate of a fluid through each of a plurality of fluid lines in the substrate processing system is: Latest and processing the substrate controlled by the corresponding LFC having the controller configuration data.
[0006] Certain implementations may include one or more of the following advantages: Efficiency in setting up liquid flow controllers may be improved, for example, in terms of manufacturing equipment operator time. Expensive downtime due to controller failures caused by human error during input or information loss during data transmission may be reduced, thus reducing operational costs.
[0007] The details of one or more embodiments are set forth in the accompanying drawings and the specification below. Other aspects, features, and advantages will become apparent from the description and drawings, and from the claims. [Brief explanation of the drawings]
[0008] [Figure 1A] 1 is a schematic side view, partially in cross section, of a chemical mechanical polishing station including a polishing fluid distribution system. [Figure 1B] 1B is a schematic top view of the chemical mechanical polishing station of FIG. 1A. [Figure 2] FIG. 1B is a block diagram illustrating the liquid delivery system of FIG. 1A. [Figure 3] FIG. 1B is a flow diagram of an exemplary process for operating the chemical mechanical polishing station of FIG. 1A. DETAILED DESCRIPTION OF THE INVENTION
[0009] Like reference symbols in the various drawings indicate like elements.
[0010] A chemical mechanical polishing system may require individually controlled liquid flow rates through one to two dozen liquid supply lines, including polishing liquid supply lines (e.g., one or more per polishing station), polishing pad rinsing fluid supply lines (e.g., also one per polishing station), substrate cleaning fluid supply lines for spraying substrates at transfer stations, buffing solution supply lines for pre-clean buffing stations, substrate cleaning fluid supply lines (e.g., one per cleaning device, such as a brush cleaner and / or megasonic cleaner), and drying liquid supply lines (e.g., for a Marangoni dryer).
[0011] A liquid delivery system for a chemical mechanical polishing system requires a separate liquid flow controller for each line, e.g., one to two dozen or more liquid flow controllers. One problem with operating liquid flow controllers is the time-consuming nature of the manual setup process. Manually setting the corresponding parameter values for each of the multiple, e.g., dozens or hundreds, of liquid flow controllers that collectively determine the operation of the liquid delivery system is often too slow in terms of operator time. Another problem with operating liquid flow controllers is their sensitivity to human or machine error, e.g., inadvertent mistakes made by a human operator when entering commands to set each liquid flow controller, or errors that occur during data storage or data transmission.
[0012] By enabling each of multiple liquid flow controllers to automatically download a copy of the configuration data from a server and then use cryptographic hashing techniques to ensure the data integrity of the downloaded copy, it is possible to improve efficiency in configuring liquid flow controllers and further reduce costly downtime due to controller failure caused by human error during input or loss of information during data storage or data transmission, thus reducing operational costs.
[0013] 1A-1B show an example of a polishing station 20 of a chemical mechanical polishing apparatus. The polishing station 20 includes a rotatable, disk-shaped platen 24 on which a polishing pad 30 is placed. The platen 24 is operable to rotate about an axis 25. For example, a motor 22 can rotate a drive shaft 28 to rotate the platen 24. For example, as shown in FIG. 1B, the platen 24 can rotate counterclockwise, as indicated by arrow A. The polishing pad 30 can be a two-layer polishing pad having a polishing layer 32 and a softer backing layer 34.
[0014] The polishing station 20 may include a pad conditioner 40 (see FIG. 1B) with a conditioning disk 42 to maintain the condition of the polishing pad 30. The conditioning disk 42 may be located at the end of an arm 44 that can move the disk 42 radially across the polishing pad 30.
[0015] The carrier head 70 is operable to hold the substrate 10 against the polishing pad 30. The carrier head 70 is suspended from a support structure 72, such as a carousel or track, and is connected by a drive shaft 74 to a carrier head rotation motor 76 so that the carrier head can rotate about an axis 71. Optionally, the carrier head 70 can oscillate laterally (e.g., along a slider on the carousel or track 72) or by rotational oscillation of the carousel itself. In operation, the platen rotates about its central axis 25, and the carrier head rotates about its central axis 71 and translates laterally across the top surface of the polishing pad 30. When multiple carrier heads are present, each carrier head 70 can independently control its own polishing parameters, e.g., each carrier head can independently control the pressure applied to each corresponding substrate.
[0016] Carrier head 70 may include a flexible membrane 80 having a substrate mounting surface that contacts the backside of substrate 10, and a plurality of pressurizable chambers 82 for applying different pressures to different zones (e.g., different radial zones) on substrate 10. The carrier head may also include a retaining ring 84 for holding the substrate.
[0017] The polishing system also includes a liquid delivery system 102 for controlling various liquids to the polishing stations 20 (and cleaning elements or other components, not shown) of the polishing system. The liquid delivery system 102 includes a liquid flow controller (LFC) array 112, which includes an individually controllable LFC for each of a plurality of liquid delivery lines. As described in detail below with reference to FIGS. 2-3 , some or all of the individual LFCs in the LFC array 112 are EtherCat LFCs, each capable of automatically downloading LFC configuration data from a control server.
[0018] As part of the liquid delivery system 102, a polishing fluid distribution system 100 delivers and spreads a polishing fluid 105, such as a polishing slurry, over the surface of the polishing pad 30. The polishing fluid distribution system 100 includes a dispenser 110 and a liquid flow controller (LFC) array 132.
[0019] The dispenser 110 includes one or more passages (i.e., fluid lines) 114 with one or more ports 116 disposed above the polishing pad 30. For example, the dispenser 110 can include a rigid body through which the passages 114 extend, or the dispenser 110 can include a flexible tube supported by an arm. In either case, one or more holes or nozzles connected to the passages 114 can provide the ports 116 (see FIG. 1B).
[0020] The LFC array 132 itself includes one or more liquid flow controllers (LFCs). For example, the polishing fluid dispensing system 100 may include one LFC for each passageway 114 of the dispenser 100. However, the LFCs need not have a one-to-one correspondence with the passageways. Each LFC is capable of receiving an input flow of polishing fluid from a polishing fluid source 134 and producing an output flow of polishing fluid directed into a passageway 114.
[0021] Optionally, the liquid supply system 102 of the polishing station 20 also includes a cleaning liquid distribution system 130 that delivers and spreads a cleaning liquid, e.g., water, onto the polishing pad 30 at high intensity to clean the pad 30 and remove used slurry, polishing debris, etc.
[0022] To supply cleaning liquid 115 from the cleaning liquid source 144 to the polishing pad 30, the cleaning liquid distribution system 130 similarly includes a dispenser 120 including one or more passages 124 having one or more ports 126 positioned on the polishing pad 30, and a liquid flow controller (LFC) array 142 including one or more liquid flow controllers (LFCs), each configurable to receive an input flow of cleaning liquid from the cleaning liquid source 144 and generate an output flow of cleaning liquid directed to the passages 124.
[0023] Specifically, LFC array 112 is managed by control system 90, which sends control signals to (and optionally receives data from) the individual LFCs. In particular, control system 90 can store and execute recipes that control the flow rate through each LFC as a function of time. Optionally, measurements from a flow monitoring system, including, for example, voltage measurements indicative of the corresponding flow rate and valve position of each individual LFC, are provided to control system 90 for feedback control of the flow rate through the LFCs. Control system 90 can thus execute control algorithms and provide control signals to implement any changes to the flow rate of liquid through each individual LFC in LFC array 112.
[0024] In this manner, the control system 90 can control the flow rate of the polishing fluid 105 from the polishing fluid source 134 and the flow rate of the cleaning fluid 115 from the cleaning fluid source 144. Similarly, the control system 90 can also control the composition of the polishing fluid supplied to the polishing pad 30 and the composition of the cleaning fluid supplied to the polishing pad 30.
[0025] Although not shown, the LFC array 112 may include one or more LFCs connected to the control system 90 to control the flow rate of a substrate cleaning fluid supply line for spraying the substrate at the transfer station, a buffing solution supply line for conveying buffing solution to a pre-clean buffing station, one or more substrate cleaning fluid supply lines for supplying cleaning fluid to one or more cleaning devices such as a brush cleaner and / or a megasonic cleaner, and / or a drying liquid supply line, for example for a Marangoni dryer.
[0026] The control system 90 also includes a pressure mechanism for controlling the pressure applied by the carrier head 70, a carrier head rotation motor 76 for controlling the rotational speed of the carrier head, and a platen rotation motor for controlling the rotational speed of the platen. 22 and may be connected to.
[0027] 2 is a block diagram illustrating the liquid delivery system 102 of FIG. 1A. The liquid delivery system 102 includes a control system 90 and an LFC array 112. The control system 90 itself may include a control server 160 and a user interface 162. The LFC array 112 may include an LFC array 132 connecting a polishing liquid source 134 and a dispenser 110. If the liquid delivery system 102 also includes a cleaning liquid distribution system, the LFC array 112 may include an LFC array 142 connecting a cleaning liquid source 144 and a dispenser 120, i.e., instead of or in addition to the LFC array 132.
[0028] LFC array 112 is a multi-channel liquid flow controller that includes an array of one or more individual LFCs, e.g., LFCs 112A-112N, where N represents the total number of individual liquid flow controllers for the polishing system. N can be 2 or more, e.g., 12 or more, e.g., 20-50. Each of liquid flow controllers 112A-112N in LFC array 112 is capable of receiving an input stream of liquid, e.g., input stream 135 from polishing liquid source 134, and generating an output stream, e.g., output stream 133A, that is directed to a corresponding passageway, e.g., passageway 114A of dispenser 110.
[0029] Each of the LFCs in the LFC array 112 includes processing logic, which may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions executing on a processor), or a combination thereof, capable of performing processing involving measuring the flow rate readings, valve position, or both, of the LFC. For example, the processing logic may receive a valve voltage reading indicative of the total flow rate of the LFC, e.g., from a flow rate reading module of the LFC, and then use the total flow rate reading in a real-time valve voltage control algorithm. The term "valve voltage control algorithm" is intended to refer to the portion of the processing logic responsible for maintaining a predetermined valve voltage "recipe." As another example, the processing logic may receive a voltage reading indicative of the valve position of the LFC, e.g., from a valve position module of the LFC, and then use the valve position reading in a real-time valve position control algorithm. The term "valve position control algorithm" is intended to refer to the portion of the processing logic responsible for maintaining a predetermined valve position "recipe."
[0030] Some or all of the individual LFCs 112A-112N are EtherCAT LFCs. In particular, the LFCs are EtherCAT LFCs that enable automatic LFC configuration. In other words, the LFC array 132 is connected to the control server 160 via an EtherCAT (Ethernet for Control Automation Technology) bus. The LFC array 112 is programmed and / or has circuitry that automatically downloads controller configuration data during operation via the EtherCAT bus, i.e., instead of being manually configured, and then controls the applicable LFCs in the LFC array 112 in accordance with the automatically downloaded controller configuration data.
[0031] Control server 160 may perform processing related to making flow adjustments to LFC array 112. Control server 160 may implement algorithms to monitor information received from LFC array 112 to detect flow conditions present in LFC array 112 that require adjustments. For example, control server 160 may detect and correct flow instabilities in LFC array 112. As another example, control server 160 may make flow adjustments to LFC array 112 based on commands entered into user interface 162.
[0032] In some implementations, control server 160 can send setpoint commands directly to applicable LFCs in LFC array 112 over the EtherCAT bus. For example, before the start of a process, control server 160 can send an initial setting command over the EtherCAT bus to LFC array 112. As another example, if it is determined that a change in flow rate is needed, control server 160 can send a Latest A flow setpoint command may be sent to the LFC array 112. As yet another example, if it is determined that a valve position change is required, the control server 160 may send a Latest Valve position setpoint commands can be sent to the LFC array 112 .
[0033] In some implementations, the control server 160 may send new firmware directly to the LFC array 112, for example as part of a service routine, which may be used to update and / or replace existing firmware currently resident in individual LFCs within the LFC array 112.
[0034] User interface 162 may be variously configured with different functions that allow a user to provide input to control server 160. Additionally, user interface 162 may be configured to provide the user with information regarding the status of control server 162. In one embodiment, user interface 162 may display the desired total flow rate recipe, the current total flow rate reading, individual errors for any LFC, all errors for LFC array 112, or any combination thereof. In other embodiments, user interface 162 may be used to terminate a flow rate operation through LFC array 112.
[0035] Control server 160 and user interface 162 may be individually hosted by any type of computing device, including a server computer, gateway computer, desktop computer, laptop computer, tablet computer, notebook computer, handheld computer, or similar computing device. Alternatively, any combination of control server 160 and user interface 162 may be hosted on a single computing device, including a server computer, gateway computer, desktop computer, laptop computer, mobile communication device, mobile phone, smartphone, handheld computer, or similar computing device.
[0036] 3 is a flow diagram of an exemplary process 300 for operating the chemical mechanical polishing station of FIG. 1A. Method 300 may be performed by processing logic, which may include hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions executing on a processing device), or a combination thereof. In one embodiment, method 300 is performed by control system 90 of FIG. 1A.
[0037] Process 300 may be repeated as frequently as necessary to obtain the latest LFC settings from control server 160. For example, process 300 may be repeated once a day, once a week, or once a month. Process 300 may be triggered by the receipt of a new update in the control system, such that the process is repeated each time there is a new update to the settings of the LFC array.
[0038] The process 300 includes a control server for multiple liquid flow controllers in a substrate processing system. Latest The control system may obtain controller configuration data from another system or from an operator of the control system. Latest The control setting data may be obtained, for example, as commands entered into a user interface. Alternatively, the control system may derive the control setting data from existing data maintained by the system. Latest It is possible to generate the control setting data automatically.
[0039] Controller configuration data generally refers to any information related to the operation of an LFC array. For example, controller configuration data includes at least one value for at least one controller parameter, such as a flow rate, a maximum valve opening, or a control loop coefficient (e.g., one or more coefficients for a proportional-integral-derivative controller). As another example, controller configuration data includes controller firmware, such as version updates for the controller firmware.
[0040] The process 300 includes a control server transmitting a command to each of a plurality of liquid flow controllers (LFCs) connected to an EtherCAT (Ethernet for Control Automation Technology) bus. Latestand automatically downloading a copy of the controller configuration data via the EtherCAT bus (304). In other words, each of the plurality of LFCs can automatically download the copy of the controller configuration data via the EtherCAT bus without requiring manual configuration. Latest Configuration data can be received.
[0041] Typically, each of the multiple LFCs controls the fluid flow rate of a separate passageway (i.e., fluid line) from the multiple passageways within the polishing station 20 of Figure 1A. For example, as shown in Figure 1A, each LFC can be an individual LFC within the LFC array 132 connecting the polishing fluid source 134 and the passageway 114 within the dispenser 110, or an individual LFC within the LFC array 142 connecting the cleaning fluid source 144 and the passageway 124 within the dispenser 120.
[0042] Optionally, process 300 also includes authenticating (306) each of the plurality of LFCs. Authentication may include exchanging encrypted authentication information. A sample of hardware authentication includes the control system verifying the LFC's reported switch ID, product code, and supplier ID. If any one of these responses from the LFC does not match the expected value, the LFC cannot be operated. Additionally, a sample of software authentication includes passing seeds and keys between the control system and the LFC for enabling and verifying specific features to verify the authenticity of the LFC.
[0043] Process 300 is Latest and controlling (308) the flow of fluid through the plurality of fluid lines using the plurality of liquid flow controllers having the controller configuration data. Latest If the controller setting data specifies a new flow rate for each of the one or more LFCs, the electronic circuitry can send a control signal to adjust the valve position of each of the one or more LFCs so that each of the one or more LFCs can produce an output flow at the new flow rate.
[0044] In some embodiments, before doing so, the control system first: Latest The control system verifies that each LFC has been updated to use the controller configuration data. For various reasons, files may become corrupted during data transfer over the EtherCAT bus, such as missing bits. To ensure that a complete, unaltered version of the controller configuration data is downloaded to each of the LFCs, the control system can verify the integrity of each downloaded copy of the controller configuration data by calculating a checksum value for that copy and then comparing it to a pre-calculated checksum value for the configuration data stored on the control server to determine whether the two values are identical. For example, the checksum value may be an MD5 or SHA-1 checksum value. In response to a positive determination, the control system can verify the integrity of the downloaded copy. Conversely, in response to a negative determination, the control system can: Latest Refrain from controlling the fluid flow rate in accordance with the downloaded copy of the controller configuration data, and instead repeat step 304 Latest It is possible to re-download a new copy of the configuration data.
[0045] The term "configured" is used herein with respect to systems and computer program components. One or more computer systems configured to perform a particular operation or action means that the system has installed thereon software, firmware, hardware, or a combination thereof that, when running, causes the system to perform that operation or action. One or more computer programs configured to perform a particular operation or action means that one or more programs contain instructions that, when executed by a data processing device, cause the device to perform that operation or action.
[0046] Embodiments and functional operations of the inventive subject matter described herein may be implemented in digital electronic circuitry, in tangibly embodied computer software or firmware, or in computer hardware, including the structures disclosed herein and their structural equivalents, or one or more combinations thereof. Embodiments of the inventive subject matter described herein may also be implemented as one or more computer programs, i.e., as one or more modules of computer program instructions encoded on a tangible, non-transitory storage medium for execution by or controlling the operation of a data processing apparatus. The computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or one or more combinations thereof. Alternatively or additionally, the program instructions may be encoded in an artificially generated propagated signal, such as a machine-generated electrical, optical, or electromagnetic signal, generated to encode information for transmission to a suitable receiving device for execution by the data processing apparatus.
[0047] The term "data processing apparatus" refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. An apparatus can also be or include special purpose logic circuitry, such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). An apparatus may optionally include, in addition to hardware, code that creates an execution environment for a computer program, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or one or more combinations of these.
[0048] A computer program, which may also be referred to or described as a program, software, software application, app, module, software module, script, or code, can be written in any form of programming language, including compiled or interpreted languages, and can be implemented in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in part of a file that holds other programs or data, such as one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple cooperative files, such as files that store one or more modules, subprograms, or portions of code. A computer program can be implemented to be executed on one computer located at one site or on multiple computers distributed across multiple sites and interconnected by a data communications network.
[0049] The processes and logic flows described herein may be performed by one or more programmable computers executing one or more computer programs to perform functions by processing input data and generating output. The processes and logic flows may also be performed by special purpose logic circuitry, such as an FPGA or an ASIC, or by a combination of special purpose logic circuitry and one or more programmed computers.
[0050] A computer suitable for running a computer program may be based on a general-purpose microprocessor or a special-purpose microprocessor, or both, or on any other type of central processing unit. Typically, the central processing unit receives instructions and data from a read-only memory or a random-access memory, or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. The central processing unit and the memory may be supplemented by, or incorporated in, special-purpose logic circuitry. Typically, a computer also includes one or more mass storage devices, such as magnetic, magneto-optical, or optical disks, for storing data, or is operatively connected to receive data from, transmit data to, or both. However, a computer need not have such devices. Additionally, a computer may be incorporated into other devices, such as a mobile phone, a personal digital assistant (PDA), a portable audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, such as a universal serial bus (USB) flash drive, to name a few.
[0051] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, by way of example, semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto-optical disks, and CD-ROM and DVD-ROM disks.
[0052] Embodiments of the inventive subject matter described herein may be implemented in a computing system including back-end components, e.g., a data server, or middleware components, e.g., an application server, or front-end components, e.g., a client computer having a graphical user interface, a web browser, or an app through which a user can interact with an embodiment of the inventive subject matter described herein, or in a computing system including any combination of one or more such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication, e.g., by a communications network. Examples of communications networks include local area networks (LANs) and wide area networks (WANs), e.g., the Internet.
[0053] The computing system includes clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the corresponding computers and having a client-server relationship to each other. In some embodiments, a server transmits data, e.g., HTML pages, to a user device, e.g., to display data to and receive user input from a user interacting with a device functioning as a client. Data generated at a user device, e.g., a result of a user interaction, may be received from the device at the server.
[0054] While this specification contains many details of particular implementations, these should not be construed as limiting the scope of any invention or what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of a particular invention. Certain features described herein in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of one embodiment may also be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, while features may be described above as functioning in a particular combination and may initially be claimed as such, one or more features from a claimed combination may, in some cases, be deleted from that combination, and the claimed combination may be directed to a subcombination or variations of the subcombination.
[0055] Similarly, while steps may be shown in a particular order in the figures or described in the claims in a particular order, it should not be understood that such steps need to be performed in the particular order or sequence shown, or that all of the steps shown need to be performed, to achieve desirable results. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation into various system modules and components in the embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the program components and systems described may generally be integrated together into a single software product or packaged into multiple software products.
[0056] Specific embodiments of the inventive subject matter have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. By way of example, the processes depicted in the accompanying figures do not necessarily require the particular order or sequence shown to achieve desirable results. In some cases, multitasking and parallel processing may be advantageous.
Claims
1. 1. A chemical mechanical polishing apparatus, comprising: a plurality of polishing stations, each polishing station comprising: a platen supporting the polishing pad; a polishing fluid dispenser that delivers polishing fluid from a polishing fluid supply through a port onto the polishing pad; a plurality of carrier heads movable between said polishing stations for holding substrates against selected polishing pads; an EtherCAT (Ethernet for Control Automation Technology) bus; a liquid flow controller array including a plurality of individually controllable liquid flow controllers (LFCs) connected to an EtherCAT bus, the plurality of LFCs including a first plurality of LFCs, each LFC of the first plurality of LFCs being disposed between the polishing liquid supply and a corresponding port, and controlling a flow rate of polishing liquid from the polishing liquid supply to the corresponding port; 1. A control system comprising: obtaining latest controller configuration data for each of the plurality of LFCs, the latest controller configuration data for at least one LFC of the plurality of LFCs being different from the latest controller configuration data for another LFC of the plurality of LFCs; and automatically transmitting a command to each of the plurality of LFCs in turn via the EtherCAT bus to download a copy of the latest controller setting data to each of the LFCs in turn via the EtherCAT bus; a control system configured to: A chemical mechanical polishing apparatus comprising:
2. A chemical mechanical polishing apparatus, comprising: a plurality of polishing stations, each polishing station comprising: a platen supporting the polishing pad; a polishing fluid dispenser that delivers polishing fluid from a polishing fluid supply through a port onto the polishing pad; a plurality of carrier heads movable between said polishing stations for holding substrates against selected polishing pads; an EtherCAT (Ethernet for Control Automation Technology) bus; a liquid flow controller array including a plurality of individually controllable liquid flow controllers (LFCs) connected to an EtherCAT bus, the plurality of LFCs including a first plurality of LFCs, each LFC of the first plurality of LFCs being disposed between the polishing liquid supply and a corresponding port, and controlling a flow rate of polishing liquid from the polishing liquid supply to the corresponding port; 1. A control system comprising: obtaining current controller configuration data for the plurality of LFCs; automatically transmitting a command to each of the plurality of LFCs in turn via the EtherCAT bus to cause each of the LFCs in turn to download a copy of the latest controller configuration data via the EtherCAT bus; and exchanging authentication information with the plurality of LFCs, wherein the plurality of LFCs are enabled for operation only if the authentication information reported by the plurality of LFCs is appropriate; a control system configured to: A chemical mechanical polishing apparatus comprising:
3. 3. The apparatus of claim 1, wherein each polishing station includes a cleaning liquid dispenser that delivers cleaning liquid through a corresponding port to clean the polishing pad, the plurality of LFCs includes a second plurality of LFCs, and each corresponding LFC of the second plurality of LFCs controls a flow rate of the cleaning liquid from a rinse liquid supply to the corresponding port.
4. 3. The apparatus of claim 1, wherein each polishing station includes a temperature-controlled liquid dispenser that delivers and controls heated or cooled liquid to the polishing pad through a corresponding port, and wherein the plurality of LFCs includes a second plurality of LFCs, each corresponding LFC of the second plurality of LFCs controlling the flow rate of the heated or cooled liquid to the corresponding port.
5. a transfer station; a cleaning fluid dispenser configured to deliver cleaning fluid to the substrate disposed on the transfer station through a corresponding port; 3. The apparatus of claim 1, wherein the plurality of LFCs includes a second LFC for controlling the flow rate of the cleaning fluid to the corresponding port.
6. one or more cleaning and / or drying stations for cleaning and / or drying the substrate after it has been polished at one or more of the polishing stations; 3. The apparatus of claim 1 or 2, wherein the cleaning and / or drying stations are selected from the group comprising a pre-clean buffing station, a brush cleaner, a megasonic cleaner, and a Marangoni dryer, and the plurality of LFCs include one or more second LFCs for controlling flow rates of cleaning and / or drying liquids to corresponding ports in corresponding cleaning and / or drying stations.
7. The apparatus of claim 1 or 2, wherein the plurality of LFCs comprises 10 to 50 LFCs.
8. 3. The apparatus of claim 1, wherein the controller configuration data includes at least one value representing at least one controller parameter.
9. The apparatus of claim 8 , wherein the controller parameters include a flow rate.
10. The apparatus of claim 1 or 2, wherein the controller configuration data includes controller firmware.
11. The apparatus of claim 10 , wherein the controller firmware is new firmware for updating and / or replacing existing firmware in each of the plurality of LFCs.
12. 1. A method of operating a substrate processing system, comprising: obtaining current controller setting data for a plurality of liquid flow controllers of the substrate processing system; automatically downloading a copy of the latest controller configuration data via an EtherCAT (Ethernet for Control Automation Technology) bus by each of a plurality of liquid flow controllers (LFCs) connected to the EtherCAT bus, wherein each of the plurality of liquid flow controllers is disposed on a separate fluid line from a plurality of fluid lines in the substrate processing system and controls a flow rate of a fluid in the separate fluid line; controlling fluid flow rates through the plurality of fluid lines using the plurality of liquid flow controllers having the most recent controller setting data, wherein the most recent controller setting data for at least one LFC of the plurality of LFCs differs from the most recent controller setting data for another LFC of the plurality of LFCs; A method of operating a substrate processing system, comprising:
13. A method of operating a substrate processing system, comprising: obtaining current controller setting data for a plurality of liquid flow controllers of the substrate processing system; automatically downloading a copy of the latest controller configuration data via an EtherCAT (Ethernet for Control Automation Technology) bus by each of a plurality of liquid flow controllers (LFCs) connected to the EtherCAT bus, wherein each of the plurality of liquid flow controllers is disposed on a separate fluid line from a plurality of fluid lines in the substrate processing system and controls a flow rate of a fluid in the separate fluid line; exchanging authentication information with the plurality of LFCs, wherein the plurality of LFCs are enabled for operation only if the authentication information reported by the plurality of LFCs is correct; controlling the flow of fluid through the plurality of fluid lines using the plurality of liquid flow controllers having the most recent controller setting data; A method of operating a substrate processing system, comprising:
14. 14. A method according to claim 12 or 13, wherein the controller configuration data comprises at least one value for at least one controller parameter.
15. The method of claim 14 , wherein the controller parameters include a flow rate.
16. The method of claim 12 or 13, wherein the controller configuration data includes controller firmware.
17. 17. The method of claim 16, wherein the controller firmware is new firmware for updating and / or replacing existing firmware in each of the plurality of LFCs.
18. A computer program product tangibly embodied in a non-transitory computer-readable medium, the computer program product comprising instructions: The instructions may be for causing one or more processors to: receiving updated controller setting data for each of a plurality of liquid flow controllers of a substrate processing system; automatically transmitting commands in sequence via an EtherCAT (Ethernet for Control Automation Technology) bus to each of a plurality of liquid flow controllers (LFCs) to cause each of the LFCs in sequence to download a copy of the latest controller configuration data via the EtherCAT bus; processing a substrate with the substrate processing system, wherein a flow rate of a fluid through each of a plurality of fluid lines in the substrate processing system is controlled by a corresponding LFC, the corresponding LFC having the latest controller setting data and disposed in each of the plurality of fluid lines; Let them do this, the latest controller configuration data for at least one LFC of the plurality of LFCs is different from the latest controller configuration data for another LFC of the plurality of LFCs; Computer program products.
19. A computer program product tangibly embodied in a non-transitory computer-readable medium, comprising instructions: The instructions may be for causing one or more processors to: receiving updated controller setting data for a plurality of liquid flow controllers of a substrate processing system; automatically transmitting commands in sequence via an EtherCAT (Ethernet for Control Automation Technology) bus to each of a plurality of liquid flow controllers (LFCs) to cause each of the LFCs in sequence to download a copy of the latest controller configuration data via the EtherCAT bus; exchanging authentication information with the plurality of LFCs, wherein the plurality of LFCs are enabled for operation only if the authentication information reported by the plurality of LFCs is correct; processing a substrate through the substrate processing system, wherein a flow rate of a fluid through each of a plurality of fluid lines in the substrate processing system is controlled by a corresponding LFC, the corresponding LFC having the latest controller setting data and disposed on each of the plurality of fluid lines; A computer program product that causes
20. 20. A computer program product according to claim 18 or 19, comprising instructions for ensuring that each LFC is updated to use the latest controller configuration data.
21. 21. The computer program product of claim 20, wherein the instructions for verifying include instructions for receiving a checksum from each LFC via the EtherCAT bus and comparing the checksum to a stored checksum value.
22. 21. The computer program product of claim 20, comprising instructions for generating a notification to a user confirming that each LFC has been updated to use the latest controller configuration data.
23. 20. The computer program product of claim 18, comprising instructions for authenticating each of the plurality of LFCs.
Citation Information
Patent Citations
Adjusting device for adjusting a plurality of processing units in substrate processing device, and substrate processing device comprising adjusting device
JP2015138786A
Device for and method of adjusting surface temperature of polishing pad
JP2017148933A
Substrate processing method and substrate processing device operating method
WO2018198707A1