Disturbance compensation for substrate processing recipes - Patents.com
By determining and compensating for external turbulence in substrate treatment processes, the method enhances substrate quality and consistency by adjusting operational values for processing chamber components, addressing the inconsistencies caused by unmodeled disturbances.
Patent Information
- Application Number
- JP2024504776
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-22
- Filing Date
- 2022-12-16
- Publication Date
- 2025-02-05
- Estimated Expiration
- 2042-12-16
AI Technical Summary
Conventional systems fail to effectively compensate for external disturbances during substrate treatment recipes, leading to inconsistent and lower-quality substrate production due to unmodeled turbulence, which affects internal conditions like pressure and temperature fluctuations in processing chambers.
A method and system that determine external turbulence data by comparing sensor data with configuration data, and adjust operational values for components in the processing chamber to compensate for these disturbances, ensuring consistent and high-quality substrate production.
The solution improves substrate quality and consistency by reducing the impact of external disturbances, achieving more accurate and precise substrate treatment processes.
Smart Images

Figure 2025503803000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to disturbance compensation, and more particularly, to disturbance compensation for substrate processing recipes. [Background technology]
[0002] A manufacturing equipment produces a product by performing operations of a product recipe. For example, a substrate processing equipment produces a substrate by performing recipe operations of a substrate processing recipe. A substrate processing recipe has multiple recipe operations. Some of the recipe operations are repeated in a substrate processing recipe. Summary of the Invention
[0003] The following is a simplified summary of the disclosure to provide a basic understanding of some aspects of the disclosure. This summary is not an extensive overview of the disclosure. It is not intended to identify key or critical elements of the disclosure, nor to delineate the scope or claims of particular implementations of the disclosure. Its sole purpose is to present some concepts of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.
[0004] In one aspect of the disclosure, a method includes receiving first sensor data associated with a first iteration of a first recipe operation of a substrate processing recipe. The method further includes determining disturbance data, where the disturbance data is a difference between the first sensor data and a first setpoint data of the first recipe operation. The method further includes determining a first operating value associated with one or more components of a processing chamber based at least in part on the disturbance data. Operation of the one or more components according to the first operating value compensates for the disturbance data. The method further includes causing operation of the one or more components based on the first operating value during a subsequent iteration of the first recipe operation of the substrate processing recipe to compensate for the disturbance data.
[0005] In another aspect of the disclosure, a non-transitory machine-readable storage medium storing instructions that, when executed, cause a processing device to receive first sensor data associated with a first iteration of a first recipe operation of a substrate processing recipe. The processing device is further for determining disturbance data, the disturbance data being a difference between the first sensor data and a first setpoint data of the first recipe operation. The processing device is further for determining a first operating value associated with one or more components of a processing chamber based at least in part on the disturbance data. Operation of the one or more components according to the first operating value compensates for the disturbance data. The processing device is further for causing operation of the one or more components based on the first operating value during a subsequent iteration of the first recipe operation of the substrate processing recipe to compensate for the disturbance data.
[0006] In another aspect of the disclosure, a system includes a memory and a processing device coupled to the memory. The processing device is for receiving first sensor data associated with a first iteration of a first recipe operation of a substrate processing recipe. The processing device is further for determining disturbance data, the disturbance data being a difference between the first sensor data and a first setpoint data of the first recipe operation. The processing device is further for determining a first operating value associated with one or more components of a processing chamber based at least in part on the disturbance data. Operation of the one or more components according to the first operating value compensates for the disturbance data. The processing device is further for causing operation of the one or more components based on the first operating value during a subsequent iteration of the first recipe operation of the substrate processing recipe to compensate for the disturbance data.
[0007] The present disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a block diagram illustrating an example system architecture, according to some embodiments. [Figure 2A] 1 is a flow diagram of a method associated with disturbance compensation for a substrate processing recipe, in accordance with some embodiments. [Figure 2B] 1 is a flow diagram of a method associated with disturbance compensation for a substrate processing recipe, in accordance with some embodiments. [Figure 3A] 4 is a sequence chart associated with disturbance compensation for a substrate processing recipe, according to some embodiments. [Figure 3B] 4 is a sequence chart associated with disturbance compensation for a substrate processing recipe, according to some embodiments. [Figure 4] FIG. 1 is a block diagram illustrating a computer system according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Described herein are techniques directed to disturbance compensation for substrate processing recipes (e.g., a selective disturbance compensator for improved tracking performance that removes unmodeled disturbances in a volume using performance-based selective active learning to improve tracking performance).
[0010] Manufacturing equipment produces products by performing operations of a product recipe. For example, substrate processing equipment processes substrates (e.g., wafers, semiconductors, displays, etc.) by performing recipe operations of a substrate processing recipe. A substrate processing recipe includes multiple recipe operations, such as one or more of a transfer operation (e.g., a robot transporting a substrate to a different location), a processing operation (e.g., processing a substrate in a processing chamber), a cleaning operation (e.g., cleaning a processing chamber after a processing operation), etc. In some examples, multi-layer features are fabricated on a substrate using a substrate processing recipe that includes a specific sequence of repeated recipe operations.
[0011] Different recipe operations will be performed at specific recipe set points (e.g., pressure, temperature, etc.). For example, a recipe operation for deposition of a material on a substrate will be performed at a specific pressure and / or temperature. The difference between the recipe set point and the actual conditions is called a disturbance (e.g., a pressure disturbance is the difference between a set point pressure value and an actual pressure value), which causes the production of defective substrates.
[0012] In some examples, a recipe operation includes providing a fluid in a gaseous state to a processing chamber and applying radio frequency (RF) energy to the fluid to change the fluid from the gaseous state to a plasma state (e.g., referred to as striking the plasma). When the fluid changes from the gaseous state to the plasma state, there is dissociation of the fluid's molecules, which increases the pressure in the processing chamber. The transition of the fluid from the gaseous state to the plasma state is not instantaneous and takes time to stabilize (e.g., there are pockets of fluid in a partially changed state). Disturbances (e.g., actual pressure and temperature values that do not meet the recipe setpoint values) can cause the fluid to take longer to stabilize in the plasma state, resulting in the production of defective substrates (e.g., variations in the thickness of layers of the substrate).
[0013] Conventional systems determine the difference (e.g., disturbances) between the recipe setpoint and the actual conditions during each recipe run and take reactive actions during each recipe run to attempt to match the actual conditions to the recipe setpoint. Some disturbances are fast changing and are not modeled. Conventional systems' reactive actions do not take effect until the disturbances start to adversely affect forming features on the substrate. Uncompensated disturbances can reduce the quality of the substrate being processed and reduce substrate-to-substrate consistency. For example, the process of changing a fluid from a gas state to a plasma state by applying RF energy causes a change in pressure in the processing chamber. Conventional systems attempt to react to the change in pressure after part of the substrate processing has been performed, which causes the substrate to be processed in a non-uniform manner and have inconsistent features (e.g., thickness variations).
[0014] The methods and systems disclosed herein provide disturbance compensation for a substrate processing recipe (eg, a selective disturbance compensator for improved tracking performance during recipe operation of a substrate processing recipe).
[0015] A processing device receives first sensor data associated with a first iteration of a first recipe operation of a substrate processing recipe. The first iteration is a first execution of the first recipe operation. The substrate processing recipe includes multiple recipe operations, some of which are repeated. For example, a substrate processing recipe can have multiple nitride deposition operations, multiple oxide deposition operations, multiple transition operations, etc. In some embodiments, each recipe operation includes actuation of one or more components associated with the processing chamber. In some embodiments, the first recipe operation results in a change in an internal condition of the processing chamber. For example, the first recipe operation includes actuation of a component to adjust RF energy provided to the processing chamber, causing a plasma or gas in the chamber to react in a different manner. In some embodiments, the first recipe operation includes actuation of a valve to adjust a flow rate of gas to the processing chamber. In some embodiments, the first recipe operation includes actuation of a heater to heat one or more components associated with the processing chamber. In some embodiments, the first recipe operation results in a change in an internal pressure and / or temperature of the processing chamber. For example, an increase in RF energy provided to a processing chamber can increase the pressure within the processing chamber as fluids in the chamber change from a gaseous state to a plasma state.
[0016] In some embodiments, the first sensor data includes one or more of pressure data, temperature data, or other data associated with the processing chamber. The first sensor data tracks or indicates one or more conditions inside the processing chamber during the first recipe operation. In some embodiments, the processing device receives the sensor data from one or more sensors disposed in the processing chamber and sensing one or more conditions inside the processing chamber.
[0017] After receiving the first sensor data, the processing device determines disturbance data. The disturbance data is a difference between the first sensor data and a first setpoint data of the first recipe operation. In some embodiments, the first setpoint data is an ideal condition that should exist in the processing chamber during the first recipe operation, and the first sensor data is an actual condition that exists in the processing chamber during the first recipe operation. For example, the first setpoint data may indicate that the internal pressure of the processing chamber should be at a predetermined pressure value for the duration of the first recipe operation, or in another example, the first setpoint data may indicate that the internal pressure of the processing chamber should change from a first predetermined pressure value to a second predetermined pressure value during the first recipe operation. In some embodiments, the first setpoint data is a first pressure setpoint data. In some embodiments, the first setpoint data is a first temperature setpoint data. In another example, the first setpoint data may indicate that the internal temperature of the processing chamber should be at a predetermined temperature value, or may indicate that the internal temperature should change from a first predetermined temperature value to a second predetermined temperature value during a first recipe operation.
[0018] The processing device determines a first operating value associated with one or more components of the processing chamber. In some embodiments, the components of the processing chamber include one or more of a heater (e.g., to heat the substrate, to heat a susceptor on which the substrate is disposed, etc.), a cooling component (e.g., a heat transfer fluid flowing through a susceptor on which the substrate is disposed), a throttle valve (e.g., to allow a fluid to exit the processing chamber), a mass flow control valve (e.g., to allow a fluid to enter the processing chamber), or an RF generator (e.g., to apply RF energy to the processing chamber to change a fluid from a gaseous state to a fluid state). In some embodiments, the first recipe operation includes an operating value that actuates a throttle valve, actuates a heater, or actuates an RF generator, etc. The first operating value can be an adjustment value to the operating value of the first recipe operation. The first operating value is one or more inputs for one or more of the components that, when actuated, at least partially reduces a disturbance in the processing chamber, the disturbance being indicated by the disturbance data. In some embodiments, the first operating value is associated with an input of a heater of the process chamber. In some embodiments, the first operating value is associated with a position of a throttle valve of the process chamber. In some embodiments, the first operating value is associated with an input of a mass flow controller of the process chamber. In some embodiments, the first operating value is associated with an input of an RF generator of the process chamber. For example, the processing device determines an operating value (e.g., input) for a heater of the process chamber to compensate for a temperature disturbance. In another example, the processing device determines an operating value (e.g., input) for a throttle valve of the process chamber to compensate for a pressure disturbance. In some embodiments, the processing device determines a position of the throttle valve to adjust the flow rate of gas from the process chamber. In some embodiments, the processing device determines one or more positions (e.g., values) of the throttle valve to compensate for a pressure disturbance in the process chamber indicated by the disturbance data.For example, after an increase in RF input to a plasma in a processing chamber, the pressure in the chamber may be disturbed and the processing device determines one or more positions (e.g., actuation values) of a throttle valve to stabilize the disturbance. Stabilizing the disturbance causes the first sensor data to track the first setpoint data.
[0019] Based on the first operating value, the processing device causes operation of one or more components of the processing chamber during a subsequent iteration of a first recipe operation of the substrate processing recipe. In some embodiments, the processing device sends a signal to one or more of the components based on the first operating value. In some embodiments, the processing device causes the recipe to be updated based on the first operating value. In some embodiments, the first operating value is associated with the first recipe operation by an identifier, the identifier being unique to the first recipe operation. In some embodiments, the first operating value is retrieved by the identifier for use with a subsequent iteration of the first recipe operation. In some embodiments, the processing device causes a throttle valve of the processing chamber to be adjusted (e.g., opened or closed) by an amount based on the first operating value. In some embodiments, the processing device causes a heater of the processing chamber to be adjusted by a specified amount based on the first operating value. In some embodiments, the processing device causes power provided to the heater to be activated based on the first operating value. By causing actuation of one or more components during subsequent iterations of the first process recipe, the disturbance data (eg, the difference between the sensor data and the setpoint data) is reduced.
[0020] Aspects of the present disclosure provide technical advantages. The present disclosure preemptively compensates for disturbances in a processing chamber for subsequent recipe operations compared to conventional solutions that attempt to reactively compensate for the disturbances. By preemptively compensating for disturbances, the present disclosure has less adverse effect on recipe operations compared to conventional solutions. The present disclosure produces substrates of higher quality and more consistent compared to substrates produced by conventional systems. Furthermore, the present disclosure provides more accurate and precise substrate processing recipe operations by compensating for disturbances associated with the processing chamber, which leads to more consistent layer deposition on the substrate and also allows for more consistent and higher quality finished substrates compared to conventional systems. With improved accuracy and precision, stacking defects and stacking roughness of the substrate are reduced by the present disclosure.
[0021] Although some embodiments of the present disclosure describe compensating for processing chamber disturbances in substrate processing systems, in some embodiments the present disclosure applies to other systems, such as manufacturing systems, that perform operations over time.
[0022] 1 is a block diagram illustrating a system 100 (e.g., an example system architecture, computing environment) according to some embodiments. The system 100 includes a client device 192, manufacturing equipment 184 (e.g., substrate processing equipment), a sensor 186, a controller device 190 (e.g., a controller, server), and a data store 140.
[0023] The client devices 192, the manufacturing equipment 184, the sensors 186, the controller device 190, and the data store 140 are coupled to one another via a network 180. In some embodiments, the network 180 is a public network that provides the client devices 192 with access to the controller device 190, the data store 140, and other publicly available computing devices. In some embodiments, the network 180 is a private network that provides the client devices 192 with access to the manufacturing equipment 184, the sensors 186, the data store 140, and other privately available computing devices. The network 180 includes one or more wide area networks (WANs), local area networks (LANs), wired networks (e.g., Ethernet networks), wireless networks (e.g., 802.11 networks or Wi-Fi networks), cellular networks (e.g., Long Term Evolution (LTE) networks), routers, hubs, switches, server computers, cloud computing networks, and / or combinations thereof.
[0024] The controller device 190 (e.g., controller, server) includes one or more computing devices, such as a rack mount server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a desktop computer, a graphics processing unit (GPU), an accelerator application specific integrated circuit (ASIC) (e.g., a tensor processing unit (TPU)), etc. In some embodiments, the controller device 190 includes a disturbance compensation component 194 for causing the substrate to be processed based on the actuation values 176. In some embodiments, the disturbance compensation component 194 is used to implement one or more operations of the methods 200A-200B of FIGS. 2A-2B or the methods of the sequences 300A-300B of FIGS. 3A-3B. In some embodiments, the disturbance compensation component 194 includes a model-based controller. In some embodiments, the model of the model-based controller is a physics-based model. In some embodiments, the controller device 190 is a controller of a semiconductor processing system and is used to control the manufacturing equipment 184. In some embodiments, the controller device 190 includes a software bridge.
[0025] The client device 192 includes a computing device such as a personal computer (PC), a laptop, a mobile phone, a smartphone, a tablet computer, a netbook computer, a network-connected television ("smart TV"), a network-connected media player (e.g., Blu-ray player), a set-top box, an over-the-top (OTT) streaming device, an operator box, and the like. In some embodiments, the client device 192 displays a graphical user interface (GUI) for receiving input and displaying output. In some embodiments, the client device 192 includes a disturbance compensation component 194 for causing the substrate to be processed based on the actuation value 176. In some embodiments, the disturbance compensation component 194 is used to implement one or more operations of the methods 200A-200B of FIGS. 2A-2B or the methods of the sequences 300A-300B of FIGS. 3A-3B. In some embodiments, the client device 192 includes a software bridge.
[0026] In some embodiments, the disturbance compensation component 194 is a disturbance control component. The disturbance compensation component 194 receives (e.g., from the sensor 186, from the data store 140) sensor data 170 associated with a recipe operation 154 of the recipe 150 (e.g., a substrate processing recipe), determines disturbance data 174 (e.g., a difference between the sensor data 170 and the setpoint data 172 of the recipe operation 154), determines an actuation value 176 (e.g., associated with one or more components of the manufacturing equipment 184 to compensate for the disturbance data), and causes actuation of one or more components of the manufacturing equipment 184 during a subsequent iteration of the first recipe operation. In some embodiments, the disturbance compensation component 194 causes actuation of the one or more components by transmitting the actuation value 176 (e.g., to the data store 140, to the controller device 190, to the client device 192). In some embodiments, the controller device 190 causes the substrate to be processed by the manufacturing equipment 184 based on the actuation value 176.
[0027] In some embodiments, the manufacturing equipment 184 (e.g., a cluster tool) is part of a substrate processing system (e.g., an integrated processing system). The manufacturing equipment 184 includes one or more of an enclosure system (e.g., a substrate carrier, a front opening unified pod (FOUP), an autoteach FOUP, a process kit enclosure system, a substrate enclosure system, a cassette, etc.), a side storage pod (SSP), an aligner device (e.g., an aligner chamber), a factory interface (e.g., an equipment front end module (EFEM)), a load lock, a transfer chamber, one or more processing chambers, a robot arm (e.g., disposed in the transfer chamber, disposed in the front interface, etc.), etc. The enclosure system, the SSP, and the load lock are attached to the factory interface, and the robot arm disposed in the factory interface is for transferring contents (e.g., substrates, process kit rings, carriers, validation wafers, etc.) between the enclosure system, the SSP, the load lock, and the factory interface. The aligner device is disposed in the factory interface to align the contents. The load locks and processing chambers are mounted in a transfer chamber, and a robot arm disposed in the transfer chamber is for transferring contents (e.g., substrates, process kit rings, carriers, validation wafers, etc.) between the load locks, processing chambers, and the transfer chamber.
[0028] The manufacturing equipment 184 includes one or more processing chambers for producing substrates based on a recipe 150 and operating values. The recipe 150 includes a set of recipe operations 154 for producing features on a substrate (e.g., depositing a layer, creating a multi-layer feature).
[0029] The sensors 186 provide sensor data 170 (e.g., sensor values, trace data) associated with the manufacturing equipment 184 (e.g., associated with producing a substrate by the manufacturing equipment 184). The manufacturing equipment 184 produces the substrate according to the recipe 150. The sensor data 170 is received from different sensors 186 over a period of time (e.g., corresponding to at least a portion of the recipe 150 or recipe operations 154).
[0030] Data store 140 is a memory (e.g., random access memory), a drive (e.g., hard drive, flash drive), a database system, or another type of component or device capable of storing data. Data store 140 includes multiple storage components (e.g., multiple drives or multiple databases) across multiple computing devices (e.g., multiple server computers). Data store 140 stores recipes 150, sensor data 170, set point data 172, disturbance data 174, and operating values 176.
[0031] Recipe 150 includes recipe operations 154. Recipe operations 154 include processing operations (e.g., chamber operations) and cleaning operations. Recipe 150 includes a set of instructions to be performed by components of manufacturing equipment 184 to process or manufacture a product. Recipe operations 154 are a subset of instructions for recipe 150. In some embodiments, recipe 150 includes multiple identical recipe operations 154. In some embodiments, recipe operation 154 is one of another manufacturing or processing operation, including a nitride deposition operation, an oxide deposition operation, a transient operation (e.g., a set point in a chamber is changed), or a cleaning operation. In some embodiments, recipe 150 is provided to client device 192 (e.g., via user input). Recipe 150 describes what recipe operations a substrate will undergo at different stages and the processes to be run in each chamber.
[0032] Sensor data 170 (e.g., sensor values, trace data) is received from sensors 186 associated with manufacturing equipment 184 (e.g., associated with producing substrates by manufacturing equipment 184). The sensor data 170 may be received from sensors 186 during execution of recipe operations 154.
[0033] The setpoint data 172 includes process chamber setpoints for recipe operations 154 associated with the substrate processing system. The setpoint data 172 are predetermined desired conditions for a process in a process chamber, such as an ideal pressure value or an ideal temperature value during a recipe operation. For example, a recipe operation 154 may specify that the recipe operation should be performed at a predetermined pressure or temperature. The setpoint data 172 indicates the predetermined desired conditions under which the recipe operation 154 should be performed. In some embodiments, the setpoint data 172 includes pressure setpoint data. In some embodiments, the setpoint data 172 includes temperature setpoint data. Similarly, the sensor data 170 indicates the actual conditions in the process chamber during the recipe operation 154, such as an actual pressure value or an actual temperature value.
[0034] The disturbance data 174 includes the difference between the setpoint data 172 associated with the recipe operation 154 and the sensor data 170 received during execution of the recipe operation 154. In some embodiments, the disturbance data 174 includes multiple values reflecting the difference between the setpoint data 172 and the sensor data 170 over time. In some embodiments, the disturbance data 174 is a curve reflecting a comparison of a curve fit to the setpoint data 172 and a curve fit to the sensor data 170.
[0035] The operating values 176 are values determined by the disturbance compensation component 194 to compensate for the disturbances indicated by the disturbance data 174 during the recipe operation 154. The client device 192 generates the operating values 176 for disturbance compensation (e.g., based on the setpoint data 172 and the disturbance data 174) so that substrates may be processed by the manufacturing equipment 184 in a consistent manner with improved throughput. The operating values 176 may be associated with several components of the manufacturing equipment 184 and may be used during subsequent iterations of the same recipe operation 154 by the manufacturing equipment 184. Use of the operating values 176 during subsequent iterations of the same recipe operation 154 reduces the difference between the setpoint data 172 and the sensor data 170.
[0036] In some embodiments, the data store 140 stores sensor data 170 from the sensors 186. The sensor data 170 includes one or more values of temperature (e.g., heater temperature), spacing (SP), pressure, high frequency radio frequency (HFRF), low frequency radio frequency (LFRF), radio frequency (RF) power, electrostatic chuck (ESC) voltage, current, flow, power, voltage, etc. In some embodiments, the sensor data 170 is associated with or indicative of manufacturing parameters, such as manufacturing equipment hardware parameters (e.g., settings or components (e.g., size, type, etc.) of the manufacturing equipment 184) or process parameters. The sensor data is provided while the manufacturing equipment 184 is performing a manufacturing process (e.g., recipe operations 154, equipment readings while processing a product). In some embodiments, the sensor data 170 is different for each substrate and / or layer.
[0037] In some embodiments, the sensor data 170 and / or the disturbance data 174 are used to determine whether the recipe 150 should be updated (e.g., to improve substrate quality, the health of the manufacturing equipment 184, energy usage, etc.).
[0038] In some embodiments, the functionality of client device 192 and controller device 190 is provided by fewer machines. In some embodiments, client device 192 and controller device 190 are integrated into a single machine.
[0039] In some embodiments, one or more functions described as being performed by client device 192 may also be performed on controller device 190, where appropriate. In some embodiments, one or more functions described as being performed by controller device 190 may also be performed on client device 192, where appropriate. Further, functions attributed to a particular component may be performed by different or multiple components operating together. For example, in some embodiments, controller device 190 determines actuation values 176 and in some embodiments, client device 192 determines actuation values 176.
[0040] Additionally, the functionality of a particular component may be performed by different or multiple components working together. In some embodiments, the controller device 190 is accessed as a service offered to other systems or devices through an appropriate application programming interface (API).
[0041] In some embodiments, a "user" is represented as a single individual. However, other embodiments of the present disclosure encompass a "user" being an entity controlled by multiple users and / or automated sources. For example, a set of individual users federated as a group of administrators is considered a "user."
[0042] Although portions of this disclosure refer to causing a substrate to be processed based on setpoint data 172 and disturbance data 174 (e.g., based on operating values 176) via substrate processing in a substrate chamber of a substrate processing system, in some embodiments this disclosure applies generally to performing other processes (e.g., via a manufacturing system) based on setpoint data and / or disturbance data.
[0043] 2A-2B are flow diagrams of methods 200A-200B associated with disturbance compensation for a substrate processing recipe, according to some embodiments. The methods 200A-200B are implemented by processing logic, including hardware (e.g., circuits, dedicated logic, programmable logic, microcode, processing device, etc.), software (e.g., instructions running on a processing device, a general-purpose computer system, or a dedicated machine), firmware, microcode, or combinations thereof. In some embodiments, the methods 200A-200B are implemented in part by the controller device 190 (e.g., the disturbance compensation component 194). In some embodiments, the methods 200A-200B are implemented in part by the client device 192 (e.g., the disturbance compensation component 194). In some embodiments, a non-transitory computer-readable storage medium stores instructions that, when executed by a processing device (e.g., the controller device 190, the client device 192, etc.), cause the processing device to implement one or more of the methods 200A-200B.
[0044] For ease of explanation, methods 200A-200B are shown and described as a series of operations. However, operations in accordance with the present disclosure may occur in various orders and / or simultaneously, as well as with other operations not presented and described herein. Moreover, in some embodiments, not all illustrated operations are performed to implement methods 200A-200B in accordance with the disclosed subject matter. Furthermore, those skilled in the art will understand and appreciate that methods 200A-200B may alternatively be represented as a series of interrelated states via a state diagram or events.
[0045] FIG. 2A is a flow diagram of a method 200A (eg, a process sequence for determining and compensating for disturbances in a substrate processing recipe) for a substrate processing equipment (eg, a processing chamber, manufacturing equipment 184 of FIG. 1) in accordance with some embodiments.
[0046] At block 202 of method 200A, processing logic receives first sensor data (e.g., sensor data 170 of FIG. 1 ) associated with a first iteration of a first recipe operation (e.g., recipe operation 154 of FIG. 1 ). The first recipe operation is one of a plurality of recipe operations of a substrate processing recipe. The first recipe operation will be repeated multiple times during the substrate processing recipe. In some embodiments, at block 202, the first iteration of the first recipe operation is a first run (e.g., iteration) of the first recipe operation, followed at a later time by a subsequent iteration of the first recipe operation. In some embodiments, the processing logic is for receiving, during the subsequent iteration, second sensor data associated with the subsequent iteration. In some embodiments, at block 202, the first sensor data includes one or more of pressure data, temperature data, or flow data.
[0047] In some embodiments, the first recipe operation is an oxide layer deposition operation, a nitride layer deposition operation, a transitional operation (eg, between deposition operations), a purge operation, or the like.
[0048] In some embodiments, the first sensor data includes one or more of pressure data, RF data, flow data, temperature data, fluid conductance data, and the like.
[0049] In block 204, the processing logic determines disturbance data (e.g., disturbance data 174 of FIG. 1). The disturbance data is the difference between the first sensor data of block 202 and the setpoint data associated with the recipe operation 154 of block 202 (e.g., setpoint data 172 of FIG. 1). In some embodiments, the setpoint data is the same type of data as the sensor data (e.g., temperature data or pressure data). The first sensor data is associated with one or more actual conditions in the process chamber. The setpoint data includes one or more ideal conditions of the process chamber associated with the first recipe operation. In some embodiments, the setpoint data adjusts (e.g., is transient) from the beginning of the recipe operation to the end of the recipe operation. The disturbance data may result from sensor data in the process chamber that indicates an unbalanced change in conditions (e.g., a disturbance) in the chamber.
[0050] In block 206, the processing logic determines a first operating value associated with one or more components of the processing chamber based on the disturbance data (e.g., disturbance data 174 of FIG. 1 ). Operation of the one or more components according to the first operating value compensates for the disturbance data. In some embodiments, the processing logic determines the first operating value by using a model of the processing chamber, an iterative learning control, or a look-up table. In some embodiments, the model of the processing chamber is a physics-based model. In some embodiments, the first operating value is associated with the first recipe operation by an identifier. The first operating value is based on the disturbance data. In some embodiments, the first operating value is a value at which the sensor data is closer to the set point data when the one or more components of the processing chamber are operated according to the first operating value. In some embodiments, the first operating value is associated with a throttle valve of the processing chamber, a heater of the processing chamber, or a mass flow controller of the processing chamber. In some embodiments, the operating value is a series of values (e.g., transient data) corresponding to a series of component operation. In some embodiments, the actuation value indicates that the throttle valve of the processing chamber should open and / or close in a particular manner to compensate for the pressure disturbance in the processing chamber. For example, a model of the processing chamber calculates an equivalent flow corresponding to the pressure disturbance in the processing chamber, and the throttle valve of the processing chamber is opened an amount corresponding to the equivalent flow. In some embodiments, the throttle valve is opened to adjust the flow rate of gas from the processing chamber approximately equal to the equivalent flow rate.
[0051] In block 208, the processing logic causes operation of one or more components of the processing chamber based on the first operating value during a subsequent iteration of the first recipe operation to compensate for the disturbance data. In some embodiments, the first operating value is retrieved for the subsequent iteration of the first recipe operation by the identifier. The subsequent iteration of the first recipe operation occurs during a subsequent run of the first recipe operation (e.g., during processing of the same substrate, during processing of a subsequent substrate). In some embodiments, the processing logic receives second sensor data associated with the subsequent iteration. In some embodiments, the difference between the sensor data and the setpoint data is reduced, which allows for improved substrate-to-substrate consistency and faster stabilization of transient conditions, leading to increased throughput. For example, after a change in the setpoint data in the processing chamber, the reduction in the difference between the sensor data and the setpoint data causes the sensor data to reach the new setpoint data sooner.
[0052] In some embodiments, during a subsequent iteration of the first recipe operation, the processing logic receives second sensor data associated with the subsequent iteration. In some embodiments, the processing logic then determines second disturbance data based on a difference between the first setpoint value and the second sensor data. In some embodiments, the first operating value is updated by the processing logic based on the second disturbance data for use for a further iteration of the first recipe operation (e.g., a second operating value is determined based on the second disturbance data for use for a further iteration of the first recipe operation). For example, if the second disturbance data meets a predetermined threshold, the first operating value is not updated, but if the second disturbance data does not meet the predetermined threshold, the first operating value is updated.
[0053] In some examples, in block 202, the first recipe operation includes applying RF energy to a fluid in a processing chamber to cause the fluid to change from a gas state to a plasma state (e.g., an RF strike), and the first sensor data is pressure data inside the processing chamber (e.g., provided by a pressure sensor disposed in the processing chamber) associated with the RF strike. The first recipe operation may be associated with (e.g., includes) first setpoint data including a pressure setpoint (e.g., one or more ideal pressure values for performance of the first recipe operation). In block 204, the disturbance data (e.g., a difference in pressure data) may be a difference between the first sensor data and the pressure setpoint. In block 206, the first operating value may be an operating value for a throttle valve of the processing chamber to allow more or less fluid flow from the processing chamber (e.g., to increase or decrease a pressure value inside the processing chamber). The first operating value is determined based on the disturbance data.
[0054] In some embodiments, a model (e.g., physics-based model, dynamic pressure model) describes a relationship between a manufacturing parameter and an actuation of a component of a processing chamber. In some examples, a model (e.g., physics-based model) describes a relationship between a pressure value in a processing chamber (e.g., during a recipe operation) and an actuation of a throttle valve. A processing device may provide disturbance data (e.g., pressure data difference) as an input to the model (e.g., physics-based model) and receive an output of a first actuation value (e.g., indicating how the throttle valve should be actuated to match the pressure value to a pressure setpoint).
[0055] In some embodiments, a lookup table indicates a relationship between a manufacturing parameter (e.g., a pressure value) and an operation of a component of the processing chamber (e.g., an operation of a throttle valve). The processing device may use the lookup table to determine that a first operation value corresponds to the disturbance data.
[0056] In some embodiments, iterative learning control is used to determine the first operating value. Sensor data of a sensor associated with the process chamber (e.g., during the execution of a recipe operation) at different operating values of components of the process chamber may be determined. For example, pressure values at different positions of the throttle valve (e.g., closed, 25% open, 50% open, 75% open, 100% open) may be determined. In some embodiments, changes in pressure values may be determined for different changes in the position of the throttle valve (e.g., a 10% decrease in pressure with an additional 25% opening of the throttle valve). The relationship between the difference in sensor data and the operating valve may be determined iteratively through test runs or actual recipe operations. In some embodiments, one or more operations of FIG. 2A are performed until the disturbance data falls below a threshold value.
[0057] In some embodiments, the disturbance data is a difference in pressure data and the actuation value is a valve actuation value (e.g., of a throttle valve for adjusting the amount of fluid leaving the processing chamber, or of a mass flow control valve for adjusting the amount of fluid entering the processing chamber).
[0058] In some embodiments, the disturbance data is a difference in temperature data and the actuation value is power provided to a heater, hi some embodiments, the disturbance data is a difference in temperature data and the actuation value is cooling or heating of a heat transfer fluid flowing through a susceptor on which the substrate is disposed.
[0059] In some embodiments, the disturbance data is a difference in temperature data and the actuation value is a cooling or heating of a heat transfer fluid flowing through a susceptor on which the substrate is disposed.
[0060] In some embodiments, the disturbance data is associated with RF energy applied to the fluid in the processing chamber (e.g., pressure data, chemical composition data, energy data, temperature data), and the actuation value adjusts the amount of RF energy applied to the processing chamber (e.g., via a variable capacitor to match system impedance, an RF emitter, etc.).
[0061] At block 206, the processing device may determine a plurality of actuation values associated with the different components, and at block 208, the processing device may cause actuation of the plurality of components each based on the different actuation values.
[0062] In some embodiments, the disturbance data is a difference in chemical composition data (e.g., data about actual plasma conditions in a processing chamber) from an optical emission spectroscopy (OES) sensor. The processing device may operate one or more of a throttle valve, a mass flow control valve, a heater, an RF emitter, etc. based on corresponding actuation values based on the chemical composition data.
[0063] In some embodiments, the sensor data, set point data, and disturbance data are each a set of values from a first time point (e.g., the beginning of a recipe operation) to a second time point (e.g., the end of the recipe operation). The operating values may be a set of operating values (e.g., different positions for a throttle valve) to be used between the first and second time points in a subsequent iteration of the recipe operation. Causing operation of one or more components based on the set operating values may cause the components to be actuated over time (e.g., gradually adjusting the throttle valve, etc.).
[0064] In some embodiments, the processing device associates an identifier with a first recipe operation to be associated with a first operating value, and the processing device causes a subsequent iteration of the first recipe operation to be performed based on the first operating value by using the identifier to retrieve both the recipe operation and the first operating value.
[0065] In some embodiments, the processing device updates the first recipe operation based on the first operating value.
[0066] In some embodiments, method 200A is performed separately for every processing chamber (e.g., to account for differences between chambers). In some embodiments, method 200A is performed separately for every recipe of a recipe operation. In some embodiments, method 200A is periodically re-run for the same processing chamber (e.g., to account for changes in processing chambers over time). In some embodiments, operating values determined via method 200A for a recipe performed in a processing chamber are used as a starting point for one or more of other recipes, other processing chambers, or other time points. Method 200A can be re-run to update operating values and / or recipe operations.
[0067] In some embodiments, method 200A is performed to determine operating values for recipe operations of a recipe. In reperforming method 200A, the processing device may determine that one or more operating values should be adjusted by a value or percentage, or may adjust all of the operating values by the same value or percentage.
[0068] 2B is a flow diagram of a method 200B associated with disturbance compensation for a substrate processing recipe, in accordance with some embodiments. In some embodiments, the method 200B is used to determine disturbance data (e.g., block 204 of FIG. 2A) and to determine a first operating value associated with one or more components of a processing chamber (e.g., block 206 of FIG. 2A).
[0069] At block 220, processing logic identifies data (e.g., sensor data, disturbance data). In some embodiments, the data is sensor data associated with the iteration of the recipe operation (e.g., block 202 of FIG. 2A). In some embodiments, the data is disturbance data associated with the iteration of the recipe operation (e.g., block 204 of FIG. 2A). The disturbance data is the difference between setpoint data of the recipe operation (e.g., ideal data) and sensor data associated with the iteration of the recipe operation (e.g., actual data).
[0070] In some embodiments, the processing logic performs one or more post-processing operations on the identified data. At block 222, the processing logic performs moving average filtering of the data. In some embodiments, the moving average filtering of the data includes creating a series of averages of different subsets of the complete data set. Performing moving average filtering of the data smoothes or reduces noise in the data. In some embodiments, the moving average filtering is performed by one or more of a simple moving average filter, a cumulative moving average filter, or a weighted moving average filter.
[0071] In block 224, the processing logic performs a time shift compensation of the data. If the nature of the moving average filter causes the output to be shifted backward in time, a time shift compensation of the data should be performed to make the data output from the moving average filter correspond to the real-time data. In some embodiments, the data output from the moving average filter is shifted forward in time so that the data corresponds to the original data.
[0072] At block 226, processing logic performs an update of the compensator parameters of the data. In some embodiments, the compensator parameters include time (e.g., duration) and amplitude of the data (e.g., sensor data, disturbance data).
[0073] In some embodiments, an actuation value (e.g., actuation value 176 of FIG. 1) is determined based at least in part on data (e.g., sensor data, disturbance data) updated by method 200B. The actuation value may be used to cause actuation of one or more components of the processing chamber during a subsequent iteration of the recipe operation (e.g., such that a disturbance is reduced by the processing chamber component during the subsequent iteration of the recipe operation).
[0074] 3A-3B illustrate a sequence flow chart associated with disturbance compensation for a substrate processing recipe, according to some embodiments.
[0075] FIG. 3A illustrates a flow 300A for disturbance compensation associated with a substrate processing recipe, according to some embodiments.
[0076] As part of the learning run 350, blocks 310-338 may be performed.
[0077] A first iteration of a first recipe operation is performed in the processing chamber at block 310. In some embodiments, the first recipe operation is one of a nitride deposition operation, an oxide deposition operation, a transient operation, etc.
[0078] At block 322, sensor data is received by a model-based controller 320 (e.g., executing on a real-time server, controller device 190 of FIG. 1 , client device 192 of FIG. 1 ) from one or more sensors associated with the process chamber during the first recipe operation. In some embodiments, the model-based controller 320 utilizes a physics-based model of the process chamber. In some embodiments, the sensor data includes one or more of pressure data, temperature data, or flow data.
[0079] In some embodiments, the model-based controller is part of a disturbance compensator component (e.g., disturbance compensation component 194 of FIG. 1 ) of a client device (e.g., client device 192 of FIG. 1 ) or a controller device (e.g., controller device 190 of FIG. 1 ). At block 322, the sensor data may be recorded in a memory (e.g., data store 140 of FIG. 1 ).
[0080] At block 324, processing logic determines disturbance data (eg, block 204 of FIG. 2A). The disturbance data is the difference between the sensor data and the setpoint data of the first recipe operation.
[0081] In some embodiments, the disturbance data then undergoes post-processing 330 (e.g., blocks 332-338). Post-processing is performed as part of the learning run 350. In some embodiments, post-processing includes multiple operations. In block 332 (e.g., block 222 of FIG. 2B), the disturbance data is passed through a moving average filter. The moving average filter creates a series of averages of different subsets of data corresponding to the complete data set. The moving average filter reduces noise in the disturbance data. As an inherent result of the moving average filter, the data is shifted in time. In block 334 (e.g., block 224 of FIG. 2B), a time shift operation is performed on the data to shift the data in time to correlate with the sensor data from the first recipe operation (e.g., to correlate with the real-time data). In block 336, the processing logic performs updates to the compensator parameters (e.g., the compensator parameters of block 226 of FIG. 2B).
[0082] In block 338, the processing logic determines an operating value (e.g., operating value 176 in FIG. 1) based on the disturbance data that has passed through post-processing 330. The operating value is a value that, when the components of the process chamber are operated based on the operating value, reduces the difference between the sensor data and the setpoint data for the recipe operation. The data is then provided to a controller (e.g., a compensation controller) in block 340. In some embodiments, the controller in block 340 is a model-based controller (e.g., a compensation controller) that utilizes the compensation value. The compensation controller utilizes the operating value in conjunction with data from the first recipe operation to perform real-time compensation 360 during a subsequent iteration of the first recipe operation. The disturbances sensed and learned during the learning run 350 are compensated for during real-time compensation 360 (e.g., a subsequent iteration of the first recipe operation). Any further runs of the recipe operation are compensated using the compensation controller.
[0083] FIG. 3B illustrates a flow 300B for updating disturbance compensation associated with a recipe operation of a substrate processing recipe, according to some embodiments. Sensor data 321 is provided to a model-based controller 320. In some embodiments, the model-based controller 320 is a disturbance compensation component (e.g., disturbance compensation component 194 of FIG. 1 ) of a client device (e.g., client device 192 of FIG. 1 ) or a controller device (e.g., controller device 190 of FIG. 1 ). The sensor data correlates to a first recipe operation of block 310. In some embodiments, the recipe operation of block 310 is a change in RF input to the process chamber. In performing the recipe operation of block 310, a software bridge 370 (e.g., executing on a front-end server) applies the stored actuation value in block 371. In some embodiments, the software bridge is a component of a disturbance compensation component of a client device (e.g., client device 192 of FIG. 1 ) or a controller device (e.g., controller device 190 of FIG. 1 ). In some embodiments, the stored actuation values are actuation values 176 of FIG. 1 stored in data store 140 of FIG.
[0084] In block 323, the model-based controller 320 receives sensor data 321 associated with the execution of the recipe operation and the operation of one or more components based on the operating values of block 310 (e.g., simultaneous execution of the recipe operation and the operation of the components based on the operating values).
[0085] In block 325, the model-based controller determines whether the sensor data (e.g., associated with performing a recipe operation and operating a component based on an operating value) satisfies the setpoint data of the recipe operation. If the setpoint data is met, flow continues to block 327 and there are no updates to the operating values. If the setpoint data is not met, flow continues to block 329 and the model-based controller 320 performs updates to the operating values. In some embodiments, to update the operating values, method 200A of FIG. 2A is performed.
[0086] In some embodiments, the sensor data and / or disturbance data (e.g., the difference between the sensor data and the setpoint data) are compared to a threshold value to determine if an update is not required (e.g., block 327 or block 329). In some embodiments, the threshold value is a predetermined tolerance of the setpoint data or the disturbance data. In some embodiments, a sum squared error is performed (e.g., on the disturbance data) and the sum squared error is compared to a threshold value. In some embodiments, errors are calculated (e.g., the difference between the disturbance data, the sensor data and the setpoint data) at different points in time (e.g., sample measurement points). The errors may be squared, summed, and then compared to a threshold error value.
[0087] The updated operating values are sent to the software bridge for use in block 371 for the subsequent iteration of the recipe run.
[0088] 4 is a block diagram illustrating a computer system 400, according to some embodiments. In some embodiments, the computer system 400 is a client device 192. In some embodiments, the computer system 400 is a controller device 190 (e.g., a server).
[0089] In some embodiments, computer system 400 is connected to other computer systems (e.g., via a network, such as a local area network (LAN), an intranet, an extranet, or the Internet). Computer system 400 operates in the capacity of a server computer or a client computer in a client-server environment, or as a peer computer in a peer-to-peer or distributed network environment. In some embodiments, computer system 400 is provided by a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular phone, a web appliance, a server, a network router, switch or bridge, or any device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that device. Furthermore, the term "computer" is intended to include any collection of computers that individually or together execute a set (or sets) of instructions to perform any one or more of the methods described herein.
[0090] In some embodiments, computer system 400 includes a processing device 402, a volatile memory 404 (e.g., random access memory (RAM)), a non-volatile memory 406 (e.g., read only memory (ROM) or electrically erasable programmable ROM (EEPROM)), and a data storage device 416, which communicate with each other via a bus 408.
[0091] In some embodiments, processing device 402 is provided by one or more processors, such as a general-purpose processor (e.g., a Complex Instruction Set Computing (CISC) microprocessor, a Reduced Instruction Set Computing (RISC) microprocessor, a Very Long Instruction Word (VLIW) microprocessor, a microprocessor implementing other types of instruction sets or a combination of types of instruction sets), or a special-purpose processor (e.g., an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), or a network processor). In some embodiments, processing device 402 is provided by one or more of a single processor, multiple processors, a single processor with multiple processing cores, etc.
[0092] In some embodiments, computer system 400 further includes a network interface device 422 (e.g., coupled to network 474). In some embodiments, computer system 400 includes one or more input / output (I / O) devices. In some embodiments, computer system 400 also includes a video display unit 410 (e.g., a liquid crystal display (LCD)), an alphanumeric input device 412 (e.g., a keyboard), a cursor control device 414 (e.g., a mouse), and / or a signal generating device 420.
[0093] In some implementations, the data storage device 418 (e.g., disk drive storage, fixed and / or removable storage devices, fixed disk drives, removable memory cards, optical storage, network attached storage (NAS), and / or storage area networks (SAN)) includes a non-transitory computer-readable storage medium 424 that stores instructions 426 encoding any one or more of the methods or functions described herein, including instructions encoding the components of FIG. 1 (e.g., disturbance compensation component 194, etc.), and for implementing the methods described herein.
[0094] In some embodiments, the instructions 426 also reside, completely or partially, within the volatile memory 404 and / or within the processing device 402 during execution thereof by the computer system 400, and thus, in some embodiments, the volatile memory 404 and the processing device 402 also constitute machine-readable storage media.
[0095] Although computer-readable storage medium 424 is shown as a single medium in the illustrative example, the term "computer-readable storage medium" is intended to include a single medium or multiple media (e.g., centralized or distributed databases and / or associated caches and servers) that store one or more sets of executable instructions. The term "computer-readable storage medium" is intended to include any tangible medium that is capable of storing or encoding a set of instructions for a computer to execute, causing the computer to perform any one or more of the methodologies described herein. The term "computer-readable storage medium" is intended to include, but is not limited to, solid-state memories, optical media, and magnetic media.
[0096] In some embodiments, the methods, components, and features described herein are implemented by discrete hardware components or are integrated into the functionality of other hardware components, such as ASICs, FPGAs, DSPs, or similar devices. In some embodiments, the methods, components, and features are implemented by firmware modules or functional circuits within a hardware device. Furthermore, the methods, components, and features are implemented in any combination of hardware devices and computer program components, or are implemented in a computer program.
[0097] Unless otherwise specified, terms such as "identifying," "determining," "causing," "receiving," "generating," "performing," "updating," and the like refer to actions and processes performed or implemented by a computer system that manipulate data represented as physical (electronic) quantities in computer system registers and memory and transform that data into other data similarly represented as physical quantities in the computer system memory or registers, or other such information storage, transmission, or display device. Also, as used herein, terms such as "first," "second," "third," "fourth," and the like, are meant as labels to distinguish between different elements and do not have any ordering meaning due to their numerical designation.
[0098] The examples described herein also relate to an apparatus for carrying out the methods described herein. In some embodiments, the apparatus is specially constructed for carrying out the methods described herein, or the apparatus comprises a general-purpose computer system that is selectively programmed by a computer program stored in the computer system. Such a computer program is stored in a computer-readable tangible storage medium.
[0099] The methods and illustrative examples described herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used in accordance with the teachings described herein, or, in some embodiments, it may prove convenient to construct more specialized apparatus to perform the methods described herein and / or each of their individual functions, routines, subroutines, or operations. Example structures for a variety of these systems are set forth in the description above.
[0100] The above description is illustrative and not restrictive. Although the present disclosure has been described with reference to certain illustrative examples and implementations, it will be recognized that the present disclosure is not limited to the described examples and implementations. The scope of the present disclosure should be determined with reference to the following claims, along with the full scope of equivalents to which such claims are entitled.
Claims
1. receiving first sensor data associated with a first iteration of a first recipe operation of a substrate processing recipe; determining disturbance data, the disturbance data being a difference between the first sensor data and a first setpoint data of the first recipe operation; determining a first operating value associated with one or more components of a processing chamber based at least in part on the disturbance data, wherein operation of the one or more components in accordance with the first operating value compensates for the disturbance data; causing the operation of the one or more components based on the first operation value during a subsequent iteration of the first recipe operation of the substrate processing recipe to compensate for the disturbance data; A method comprising:
2. 2. The method of claim 1 , wherein the first iteration of the first recipe operation is associated with processing a substrate in the processing chamber, and the subsequent iteration of the first recipe operation is associated with further processing the substrate in the processing chamber.
3. 2. The method of claim 1 , wherein the first sensor data comprises pressure data, the first setpoint data comprises first pressure setpoint data, and the actuation of the one or more components comprises actuating a throttle valve of the processing chamber to adjust a flow rate from the processing chamber based on the first actuation value to cause the processing chamber to meet the first pressure setpoint data.
4. 2. The method of claim 1, wherein the first sensor data comprises temperature data, the first setpoint data comprises first temperature setpoint data, and the operation of the one or more components comprises operating power provided to a heater of the processing chamber to adjust a temperature in the processing chamber based on the first operating value to cause the processing chamber to meet the first temperature setpoint data.
5. receiving second sensor data associated with the subsequent iteration of the first recipe operation; determining second disturbance data, the second disturbance data being a difference between the second sensor data and the first setpoint data; determining a second operating value for use with further iterations of the first recipe operation based on the second disturbance data in response to the second disturbance data satisfying a threshold value; The method of claim 1 further comprising:
6. moving average filtering of the first sensor data or the disturbance data; a time shift compensation of the first sensor data or the disturbance data; or Updating a compensator parameter for the first sensor data or the disturbance data The method of claim 1 , further comprising performing one or more of:
7. 2. The method of claim 1 , wherein the determining the first operating value comprises providing the disturbance data to a physics-based model and receiving an output from the physics-based model indicative of the first operating value.
8. 2. The method of claim 1 , wherein the causing the operation of the one or more components includes associating the first operating value with an identifier of the first recipe operation, the first operating value being retrieved for use with the subsequent iteration of the first recipe operation.
9. A non-transitory machine-readable storage medium storing instructions that, when executed, cause a processing device to: receiving first sensor data associated with a first iteration of a first recipe operation of a substrate processing recipe; determining disturbance data, the disturbance data being a difference between the first sensor data and a first setpoint data of the first recipe operation; determining a first operating value associated with one or more components of a processing chamber based at least in part on the disturbance data, wherein operation of the one or more components in accordance with the first operating value compensates for the disturbance data; causing the operation of the one or more components based on the first operation value during a subsequent iteration of the first recipe operation of the substrate processing recipe to compensate for the disturbance data; A non-transitory machine-readable storage medium that causes
10. 10. The non-transitory machine-readable storage medium of claim 9, wherein the first iteration of the first recipe operation is associated with processing a substrate in the processing chamber, and the subsequent iteration of the first recipe operation is associated with further processing the substrate in the processing chamber.
11. The processing device comprises: receiving second sensor data associated with the subsequent iteration of the first recipe operation; determining second disturbance data, the second disturbance data being a difference between the second sensor data and the first setpoint data; determining a second operating value for use with further iterations of the first recipe operation based on the second disturbance data in response to the second disturbance data satisfying a threshold value; 10. The non-transitory machine-readable storage medium of claim 9, further for:
12. the processing device comprising: moving average filtering of the first sensor data or the disturbance data; a time shift compensation of the first sensor data or the disturbance data; or Updating a compensator parameter for the first sensor data or the disturbance data 10. The non-transitory machine-readable storage medium of claim 9, further for performing one or more of:
13. 10. The non-transitory machine-readable storage medium of claim 9, wherein the processing device is for providing the disturbance data to a physics-based model to determine the first actuation value, and receiving an output from the physics-based model indicative of the first actuation value.
14. 10. The non-transitory machine-readable storage medium of claim 9, wherein the processing device is for associating the first operating value with an identifier of the first recipe operation to cause the operation of the one or more components, and the first operating value is retrieved for use with the subsequent iteration of the first recipe operation.
15. Memory, a processing device coupled to the memory; The system includes: receiving first sensor data associated with a first iteration of a first recipe operation of a substrate processing recipe; determining disturbance data, the disturbance data being a difference between the first sensor data and a first setpoint data of the first recipe operation; determining a first operating value associated with one or more components of a processing chamber based at least in part on the disturbance data, wherein operation of the one or more components in accordance with the first operating value compensates for the disturbance data; causing the operation of the one or more components based on the first operation value during a subsequent iteration of the first recipe operation of the substrate processing recipe to compensate for the disturbance data; The system is for performing the above steps.
16. 16. The system of claim 15, wherein the first iteration of the first recipe operation is associated with processing a substrate in the processing chamber, and the subsequent iteration of the first recipe operation is associated with further processing the substrate in the processing chamber.
17. The processing device comprises: receiving second sensor data associated with the subsequent iteration of the first recipe operation; determining second disturbance data, the second disturbance data being a difference between the second sensor data and the first setpoint data; determining a second operating value for use with further iterations of the first recipe operation based on the second disturbance data in response to the second disturbance data satisfying a threshold value; The system of claim 15 further comprising:
18. the processing device comprising: moving average filtering of the first sensor data or the disturbance data; a time shift compensation of the first sensor data or the disturbance data; or Updating the first sensor data or the difference compensator parameters 20. The system of claim 15, further for performing one or more of:
19. 16. The system of claim 15, wherein the processing device is for providing the disturbance data to a physics-based model and receiving an output from the physics-based model indicative of the first operating value to determine the first operating value.
20. 16. The system of claim 15, wherein the processing device is for associating the first operating value with an identifier of the first recipe operation to cause the operation of the one or more components, and the first operating value is retrieved for use with the subsequent iteration of the first recipe operation.
Citation Information
Patent Citations
Process control device and method
JP2009295700A
Method and apparatus for processing substrates using model-based control
JP2014527286A
Azimuthically adjustable multi-zone electrostatic chuck
JP2018522393A
Substrate processing apparatus, semiconductor device manufacturing method and program
JP2019114783A
Substrate processing system and method for finding feed rate of gas
JP2019176054A