Input / output (IO) handling during update process for manufacturing system controller

The IO handling mechanism during manufacturing system controller updates maintains chamber environments, addressing downtime and degradation issues, thus improving efficiency and throughput.

JP2025183217APending Publication Date: 2025-12-16APPLIED MATERIALS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025134798
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-02-23
Filing Date
2025-08-13
Publication Date
2025-12-16

AI Technical Summary

Technical Problem

Software updates for manufacturing system controllers result in significant downtime and environmental degradation of process chambers, leading to reduced productivity and increased latency due to the time required to restore chamber conditions.

Method used

Implementing an IO handling mechanism that redirects IO communications during updates, using a system update module to maintain chamber environments at target states, thereby reducing downtime and environmental degradation.

Benefits of technology

Enhances manufacturing system efficiency and throughput by minimizing the time to restore chamber conditions and preventing environmental deterioration during controller updates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025183217000001_ABST
    Figure 2025183217000001_ABST
Patent Text Reader

Abstract

To provide methods and systems for input / output (IO) handling during an update process for a manufacturing system controller.SOLUTION: In a manufacturing system, first notifications are transmitted by an IO driver of a system controller between one or more chamber components of a process tool and a substrate process IO handler of the system controller. When the substrate process IO handler executes substrate process control instructions corresponding to a process recipe, determination is made that substrate process control instructions are to be updated, and detection is made that the substrate process is terminated, second notifications are transmitted between the chamber components and a system update IO handler. While the substrate process control instructions are updated, the system update IO handler executes system update control instructions including commands for causing the chamber components to maintain an environment of the process tool at a target condition.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD OF THE DISCLOSURE

[0001] Embodiments of the present disclosure relate generally to manufacturing systems, and more particularly to input / output (IO) handling during an update process of a manufacturing system controller. [Background technology]

[0002] A system controller in a manufacturing system can control the chambers of the manufacturing system as they process substrates in the manufacturing system according to a process recipe. The system controller can also maintain the environment of the process chamber at a target state between substrate processes. In some cases, the software of the system controller is updated to integrate new features into the system controller or to fix errors (e.g., software bugs) in the existing system controller software. During the software update, the process chamber is shut down (e.g., the temperature of the process chamber is brought to ambient temperature, vacuum pressure is removed from the process chamber, etc.), and the process chamber is restarted after the software update is complete. While the process chamber is shut down, the conditions of the process chamber environment can deteriorate, and it can take a significant amount of time (e.g., hours, days, weeks, etc.) to restore the process chamber conditions to an acceptable state before the process chamber can be used to process substrates as before the software update. As a result, software updates have a significant negative impact on productivity and the volume of substrates that can be processed by the manufacturing system. Summary of the Invention

[0003] Some described embodiments are directed to a method of input / output (IO) handling during an update process of a manufacturing system controller. The method includes sending, by an input / output (IO) driver of the system controller, a first set of notifications between one or more components of a process chamber and a substrate process IO handler of the system controller. The substrate process IO handler is configured to execute a set of substrate process control instructions corresponding to a process recipe during substrate processing in the process chamber. The first set of notifications corresponds to one or more operations associated with the set of substrate process control instructions. The method further includes determining that the set of substrate process control instructions is to be updated. The method further includes detecting that substrate processing has completed in the process chamber. The method further includes sending a second set of notifications between the one or more components of the process chamber and a system update IO handler of the system controller. The system update IO handler is configured to execute a set of system update control instructions including commands configured to cause one or more components of the process chamber to maintain an environment of the process chamber at a target state while the set of substrate process control instructions is updated. The second set of notifications corresponds to one or more operations associated with the set of system update control instructions.

[0004] Some embodiments of the present disclosure are directed to a system including a memory and a processing device. The processing device is configured to perform an operation, via an input / output (IO) driver of a system controller, including sending a first set of notifications between one or more components of a process chamber and a substrate process IO handler of the system controller. The substrate process IO handler is configured to execute a set of substrate process control instructions corresponding to a process recipe during substrate processing in the process chamber. The first set of notifications corresponds to one or more operations associated with the set of substrate process control instructions. The operation further includes determining that the set of substrate process control instructions is to be updated. The operation further includes detecting that substrate processing has terminated in the process chamber. The operation further includes sending a second set of notifications between the one or more components of the process chamber and a system update IO handler of the system controller. The system update IO handler is configured to execute a set of system update control instructions including commands configured to cause one or more components of the process chamber to maintain an environment of the process chamber at a target state while the set of substrate process control instructions is updated. The second set of notifications corresponds to one or more operations associated with the set of system update control instructions.

[0005] In some embodiments, a non-transitory computer-readable storage medium includes instructions that, when executed by a processing device, cause the processing device to perform an operation including sending, via an input / output (IO) driver of a system controller, a first set of notifications between one or more components of a process chamber and a substrate process IO handler of the system controller. The substrate process IO handler is configured to execute a set of substrate process control instructions corresponding to a process recipe during substrate processing in the process chamber. The first set of notifications corresponds to one or more operations associated with the set of substrate process control instructions. The operation further includes determining that the set of substrate process control instructions is to be updated. The operation further includes detecting that substrate processing has terminated in the process chamber. The operation further includes sending a second set of notifications between the one or more components of the process chamber and a system update IO handler of the system controller. The system update IO handler is configured to execute a set of system update control instructions including commands configured to cause one or more components of the process chamber to maintain an environment of the process chamber at a target state while the set of substrate process control instructions is updated. The second set of notifications corresponds to one or more operations associated with the set of system update control instructions.

[0006]

[0006] The present disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals indicate like elements. It should be noted that different references to "an" or "one" embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one. [Brief explanation of the drawings]

[0007] [Figure 1] FIG. 1 is a top schematic view of an exemplary manufacturing system according to aspects of the present disclosure. [Figure 2] 1 is a cross-sectional schematic side view of an exemplary process chamber of an exemplary manufacturing system, in accordance with aspects of the present disclosure. [Figure 3] 1 illustrates a system controller for a manufacturing system according to an aspect of the present disclosure. [Figure 4] 1 is a flowchart of a method of input / output (IO) handling during an update process of a manufacturing system controller, according to an aspect of the present disclosure. [Figure 5] FIG. 1 illustrates a block diagram of an exemplary computer system that operates in accordance with one or more aspects of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0008]

[0012] Embodiments described herein provide systems and methods for input / output (IO) handling during an update process of a manufacturing system controller. The system controller of the manufacturing system can execute instructions to cause one or more components of a process chamber to perform a substrate process. In some embodiments, the instructions can correspond to operations of a process recipe for the substrate process. In other or similar embodiments, the instructions can correspond to operations to maintain an environment of the process chamber at a target state (e.g., between substrate processes performed in the process chamber).

[0009]

[0013] In some cases, the instructions executed by the system controller may be updated to add functionality to the system controller and / or to remove faulty instructions (i.e., software bugs). During the instruction update process, the system controller is unable to execute instructions for the manufacturing system. Therefore, before the system controller update process begins, the stations of the manufacturing system are traditionally shut down. For example, the temperature of the process chambers of the manufacturing system may be brought to the ambient temperature of the factory floor. In another example, the pumping system for the process chambers may be turned off to remove vacuum pressure from the process chambers. After the system controller update process is complete, the stations of the manufacturing system are restarted. For example, the temperature of the process chambers may be returned to the temperature before the process chambers were shut down. In another example, the pumping system for the process chambers may be turned on to introduce vacuum pressure into the process chambers.

[0010]

[0014] In some cases, it may take a significant amount of time to restore the manufacturing system environment to the same state it was in before the system controller update process. For example, the temperature of the process chamber may be significantly higher before the update process, and it may take a significant amount of time (e.g., minutes, hours, etc.) for the process chamber temperature to rise from the ambient factory floor temperature to that elevated temperature. In other cases, the conditions of the manufacturing system environment may deteriorate significantly during the system controller update process. For example, foreign matter may be introduced into the process chamber during the system controller update process. If the foreign matter is not removed before the process chamber is returned to production, significant damage may occur to the process chamber and / or the substrates processed in the process chamber. It may take a significant amount of time (e.g., hours, days, weeks, etc.) for the process chamber's pumping system to remove the foreign matter introduced into the process chamber during the system controller update process. Because it may take a significant amount of time to restore the manufacturing system environment to the same state it was in before the controller update and to remedy any deteriorated conditions that occurred during the controller update, a system controller update may have a significant impact on the overall performance of the manufacturing system. For example, the time spent performing system controller updates can significantly reduce the overall efficiency and throughput of a manufacturing system and increase overall system latency.

[0011]

[0015] Aspects of the present disclosure address the above-mentioned deficiencies by providing a system and method for input / output (IO) handling during an update process of a manufacturing system controller. An IO module of the system controller can be configured to process IO communications received from components of the manufacturing system. The IO module can include an IO driver configured to send notifications between the manufacturing system components and the system controller via an IO device of the system controller. During operation of the manufacturing system, the IO device can send notifications between the manufacturing system components and a substrate process control module of the system controller. The substrate process control module can be configured to execute substrate process control instructions including operations corresponding to a process recipe for a substrate process in the manufacturing system. In some embodiments, the substrate process control instructions can also include operations that cause the manufacturing system components to maintain an environment of the manufacturing system at a target state (e.g., between substrate processes).

[0012]

[0016] In some embodiments, the IO module can determine that the substrate process control instructions are to be updated (e.g., to add system controller functionality, to remove defective instructions from the substrate process control instructions, etc.). In response to determining that a current substrate process running on the manufacturing system has finished, the IO module can cause the IO driver to redirect IO communications received at the IO device from the substrate process control module to the system update module of the IO module. The system update module can be configured to execute a set of system update instructions that include operations to cause components of the manufacturing system to maintain an environment of the manufacturing system at a target state during the system controller update. For example, the system update instructions can include an operation to cause a heating element of a process chamber of the manufacturing system to maintain the temperature of the process chamber at a target temperature during the system controller update. In another example, the system update instructions can include an operation to cause a pumping system of the process chamber to maintain a vacuum pressure in the process chamber to prevent the introduction of foreign matter into the process chamber during the system controller update process. In response to determining that the system controller update process is complete, the IO module can cause the IO driver to direct IO communications received at the IO device back to the substrate process control module, which can execute substrate processes in the manufacturing system in accordance with the updated set of substrate process control instructions, as described above.

[0013]

[0017] Aspects of the present disclosure address deficiencies in the prior art by providing a system and method for handling IO communications at a system controller during a system controller update process and preventing station shutdowns in a manufacturing system. A system update module in the system controller can execute instructions to maintain the manufacturing system's environment in a target state, thereby reducing the time spent returning the manufacturing system's environment to the target state after the system controller update process is complete. This further reduces the likelihood of the manufacturing system environment becoming degraded during the system controller update process, further reducing the time spent returning the manufacturing system environment to the target state. As a result, the overall efficiency and throughput of the manufacturing system is improved and the overall latency of the manufacturing system is reduced.

[0014]

[0018] 1 is a top-view schematic diagram of an exemplary manufacturing system 100 according to an embodiment of the present disclosure. The manufacturing system 100 is capable of performing one or more processes on a substrate 102. The substrate 102 may be any suitably rigid, planar article of fixed dimensions, such as, for example, a silicon-containing disk or wafer, a patterned wafer, a glass plate, or the like, suitable for fabricating electronic devices or circuit components thereon.

[0015]

[0019] The manufacturing system 100 may include a process tool 104 and a factory interface 106 coupled to the process tool 104. The process tool 104 may include a housing 108 having a transfer chamber 110 therein. The transfer chamber 110 may include one or more process chambers (also referred to as process chambers) 114, 116, 118 arranged around and coupled to it. The process chambers 114, 116, 118 may be coupled to the transfer chamber 110 through respective ports, such as slit valves. The transfer chamber 110 may also include a transfer chamber robot 112 configured to transfer the substrate 102 between the process chambers 114, 116, 118, a load lock 120, or the like. The transfer chamber robot 112 may include one or more arms, each including one or more end effectors at the tip of each arm. The end effectors may be configured to handle specific objects, such as wafers.

[0016]

[0020] The process chambers 114, 116, 118 can be adapted to perform any number of processes on the substrate 102. The same or different substrate processes can be performed in each process chamber 114, 116, 118. Substrate processes can include atomic layer deposition (ALD), physical vapor deposition (PVD), chemical vapor deposition (CVD), etching, annealing, curing, pre-cleaning, metal or metal oxide removal, etc. Other processes can also be performed on the substrate therein. The process chambers 114, 116, 118 can each include one or more sensors configured to capture data about the substrate 102 before, after, or during substrate processing. For example, the one or more sensors can be configured to capture spectral and / or non-spectral data of a portion of the substrate 102 during substrate processing. In other or similar embodiments, the one or more sensors can be configured to capture data related to the environment within the process chambers 114, 116, 118 before, after, or during substrate processing. For example, one or more sensors may be configured to capture data related to the temperature, pressure, gas concentrations, etc. of the environment within the process chambers 114, 116, 118 during substrate processing.

[0017]

[0021] A load lock 120 may also be coupled to the housing 108 and the transfer chamber 110. The load lock 120 may be configured to interface with and couple to the transfer chamber 110 on one side and the factory interface 106 on the other. The load lock 120, in some embodiments, may have an environmentally controlled atmosphere that may be changed from a vacuum environment (where substrates may be transferred to and from the transfer chamber 110) to an inert gas environment at or near atmospheric pressure (where substrates may be transferred to and from the factory interface 106). The factory interface 106 may be any suitable enclosure, such as, for example, an Equipment Front End Module (EFEM). The factory interface 306 may be configured to receive substrates 102 from substrate carriers 122 (e.g., front-opening integrated pods (FOUPs)) docked to various load ports 124 of the factory interface 106. A factory interface robot 126 (shown in dotted lines) may be configured to transfer substrates 102 between the carriers (also called containers) 122 and the load lock 120. Carrier 122 may be a substrate storage carrier or a replacement part storage carrier.

[0018]

[0022] The manufacturing system 100 may also be connected to client devices (not shown) configured to provide information to a user (e.g., an operator) regarding the manufacturing system 100. In some embodiments, the client devices may provide information to a user of the manufacturing system 100 via one or more graphical user interfaces (GUIs).

[0019]

[0023] The manufacturing system 100 may also include a system controller 128. The system controller 128 may be and / or include a computing device such as a personal computer, a server computer, a programmable logic controller (PLC), a microcontroller, etc. The system controller 128 may include one or more processing devices, which may be general-purpose processing devices such as a microprocessor, a central processing unit, etc. More specifically, the processing device may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or combinations of instruction sets. The processing device may also be one or more special-purpose processing devices, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), a network processor, etc. The system controller 128 may include a data storage device (e.g., one or more disk drives and / or solid-state drives), a main memory, a static memory, a network interface, and / or other components.

[0020]

[0024] The system controller 128 may execute instructions to perform any one or more of the methods and / or embodiments described herein. In some embodiments, the system controller 128 may execute instructions to perform one or more operations in the manufacturing system 100 according to a process recipe. The instructions may be stored in a computer-readable storage medium, which may include main memory, static memory, secondary storage, and / or a processing device (during execution of the instructions). In some embodiments, the instructions may be stored in a data store 150. The data store 150 may be included as a component within the system controller 128 or may be a component separate from the system controller 128.

[0021]

[0025] In some embodiments, the system controller 128 can receive notifications regarding one or more components of the process tool 104. Input / output (IO) drivers of the system controller 128 can receive notifications from the components of the process tool 104 and forward data included in the notifications to an appropriate IO handler of the system controller 128. Further details regarding the IO drivers of the system controller 128 are provided with respect to FIG.

[0022]

[0026] FIG. 2 is a cross-sectional schematic side view of an exemplary process chamber 200 of an exemplary manufacturing system according to aspects of the present disclosure. In some embodiments, the process chamber 200 may correspond to the process chambers 114, 116, and 118 described with respect to FIG. 1 . The process chamber 200 can be used for processes in which a corrosive plasma environment is provided. For example, the process chamber 200 can be a chamber for a plasma etcher or a plasma etch reactor. In another example, the process chamber can be a chamber for a deposition process, such as those described above. In one embodiment, the process chamber 200 includes a chamber body 202 and a showerhead 230, which enclose an interior space 206. The showerhead 230 can include a showerhead base and a showerhead gas distribution plate. Alternatively, the showerhead 230 can be replaced with a lid and a nozzle in some embodiments and with multiple pie-shaped showerhead sections and plasma generation units in other embodiments. The chamber body 202 can be fabricated from other suitable materials, such as aluminum, stainless steel, or titanium (Ti). The chamber body 202 generally includes a sidewall 208 and a bottom 210. An exhaust port 226 may be defined in the chamber body 202 to couple the interior volume 206 to a pumping system 228. The pumping system 228 may include one or more pumps and a throttle valve utilized to evacuate and regulate the pressure of the interior volume 206 of the process chamber 200. In some embodiments, the pumping system 228 may maintain a vacuum environment within the interior volume 206 of the process chamber 200 and may remove processing by-products or other particles from the process chamber 200.

[0023]

[0027] The showerhead 230 can be supported on the sidewall 208 of the chamber body 202. The showerhead 220 (or lid) can be opened to allow access to the interior space 206 of the process chamber 200 and can provide a seal for the process chamber 200 when closed. A gas panel 258 can be coupled to the process chamber 200 to supply process gases and / or cleaning gases to the interior space 206 through the showerhead 230 or the lid and nozzles (e.g., through openings in the showerhead or lid and nozzles). The showerhead 230 can include a gas distribution plate (GDP) and can have multiple gas supply holes 232 (also called channels) throughout the GDP.

[0024]

[0028] A substrate support assembly 248 is disposed within the interior space 206 of the process chamber 200 below the showerhead 230. The substrate support assembly 248 holds the substrate 102 during processing (e.g., during a deposition process). The substrate support assembly 248 generally includes at least a substrate support (not shown), which may include a vacuum chuck, electrostatic chuck, susceptor, or other workpiece support surface. In some embodiments, the substrate support assembly 248 may also include one or more heating elements 254. The heating elements 254 may be disposed on a surface of the substrate support assembly 248 or embedded in the body of the substrate support assembly 248, as shown in FIG. 2 . The heating elements may be configured to raise the temperature of the substrate support assembly 248 and the supported substrate 102 to a temperature specified in a process recipe during substrate processing in the process chamber 200. In some embodiments, the heating elements may further be configured to raise the temperature of the environment of the interior space 206 of the process chamber (e.g., when the substrate 102 is not disposed on the substrate support assembly 248).

[0025]

[0029] The process chamber 200 may include one or more sensors 256 configured to generate data about the substrate 102 and / or the environment surrounding the substrate 102 before, after, or during processing of the substrate 102. Each sensor 256 may be configured to transmit the data to a controller, such as the system controller 128. In some embodiments, the one or more sensors 256 may be embedded within a component of the process chamber 200 and configured to capture data related to the function of a component or element of the process chamber 200. For example, sensor 256A may be embedded within the substrate support assembly 248 and may generate data related to the temperature of one or more heating elements 254 embedded within the substrate support assembly 248, the lateral temperature profile of the substrate support assembly 248, the amount of power supplied by a chucking power supply to the electrostatic chuck of the substrate support assembly 248, etc. In other or similar embodiments, the sensor 256 may be disposed on or embedded within the chamber body 202 (e.g., the sidewall 208). For example, sensor 256B can be coupled to sidewall 208 and can be configured to generate data related to the pressure in interior space 206, the temperature of interior space 206, the amount of radiation in interior space 206, etc. In other or similar embodiments, sensor 256 can be embedded in the gas panel and / or showerhead 130. In such embodiments, sensor 256 can be configured to generate data related to the composition, flow rate, and / or temperature of process gases and / or cleaning gases supplied to interior space 206 through the showerhead 130.

[0026]

[0030] Some embodiments of the present disclosure refer to one or more components of the process chamber 200. It should be noted that the components of the process chamber 200 can include any element or sensor disposed within or coupled to the process chamber 200, as described in FIG. 2 . In other or similar embodiments, the components of the process chamber 200 can include other elements or sensors not disposed within or coupled to the process chamber 200 but configured to facilitate performing or monitoring a substrate process in the process chamber 200. For example, the components of the process chamber 200 can include one or more sensors not disposed within or coupled to the process chamber 200 but configured to generate data related to the substrate 102 or the environment within the interior space 206 before, during, or after a substrate process performed in the process chamber 200.

[0027]

[0031] FIG. 3 illustrates a system controller 128 of a manufacturing system according to an embodiment of the present disclosure. As described with respect to FIG. 1, the system controller 128 can include one or more processing devices 210. The system controller 128 can also include an IO device 312. The IO device 312 can be coupled to one or more components of the process tool 104 via a network and / or a bus. For example, the IO device 312 can be coupled to one or more components 314 of the process chamber 200. As described above, the chamber component 314 can include a sensor 316 coupled to or disposed within the process chamber 200. The chamber component 314 can also include an element 318 (e.g., heating element 254, etc.) configured to control the environment of the interior space 206 of the process chamber 200. The IO device 312 may also be coupled to one or more components 320 of the process tool 104 that are not located within or coupled to the process chamber 200 (i.e., are external to the process chamber 200), but are configured to facilitate controlling and / or monitoring the environment of the interior space 206 of the process chamber 200 before, during, or after substrate processing. The IO device 312 may be configured to send notifications between the system controller 128 and one or more components of the process tool 104 via a network and / or bus.

[0028]

[0032] The processing device 210 of the system controller may include a substrate process control module 322 and an IO module 326. The substrate process control module 322 may be configured to execute substrate process control instructions 338 before, during, or after substrate processing. The substrate process control instructions 338, in some embodiments, may be stored in the data store 150. In some embodiments, the substrate process control instructions 338 may include instructions corresponding to operations or steps of a process recipe for the substrate 102. For example, the process recipe may include an operation to increase the temperature of a heating element of the substrate support assembly 248 to a target temperature before gases flow into the process chamber through the showerhead 230. The substrate process control instructions 338, when executed by the processing device 310, may include one or more instructions that cause the substrate process control module 322 to generate a command to increase the heating element 254 to a target temperature. In other or similar embodiments, the substrate process control instructions 338 may include instructions related to maintaining the environment within the process chamber 200 between substrate processes. For example, the substrate process control instructions 338 may include one or more instructions that, when executed by the processing device 310, cause the substrate process control module 322 to generate commands to cause one or more components of the process chamber 200 to maintain the process chamber 200 at one or more target states (e.g., maintaining a vacuum in the process chamber 200, maintaining a target temperature in the process chamber 200, etc.) after substrate processing is completed in the process chamber 200.

[0029]

[0033] The IO module 326 may include an IO driver 328 configured to transfer the notifications and / or data included in the notifications between the IO device 312 and an appropriate IO handler (e.g., the substrate process handler 324 or the system update IO handler 332) of the processing device 310. During substrate processing in the process chamber 200, the IO device 312 may receive one or more notifications from components of the process tool 104. For example, the IO device 312 may receive a notification from the sensor 316 that includes data generated during substrate processing. The IO driver 328 may receive the notification from the sensor 316 via the IO device 312 and forward the notification or the data included in the notification to the substrate process IO handler 324 of the substrate process control module 322.

[0030]

[0034] In response to the substrate process IO handler 324 receiving a notification or data from the IO driver 328, the substrate process control module 322 can identify one or more instructions from the substrate process control instructions 338 that correspond to the data in the notification. For example, the data from the notification can indicate the current temperature of a heating element in the substrate support assembly 248 of the process chamber 200. The substrate process control module 322 can identify one or more instructions from the substrate process control instructions 338 that correspond to the temperature data and, in consideration of the instructions, determine whether the current temperature meets the temperature criteria (e.g., corresponds to a target temperature). In response to determining that the current temperature does not meet the temperature criteria, the substrate process control module 322 can execute one or more instructions from the substrate process control instructions 338 to generate commands to cause the heating element to modify the current temperature to meet the temperature criteria (e.g., correspond to a target temperature). The substrate process IO handler 324 can send the generated commands to the IO driver 328, which can forward the commands to components of the process tool 104 via the IO device 312 according to embodiments described herein. In response to the components of the process tool 104 receiving the command, the components can increase or decrease the temperature of the heating elements of the substrate support assembly 248 to correspond to the target temperature.

[0031]

[0035] In some embodiments, the processing device 310 may receive a request to modify or update one or more instructions of the substrate process control instructions 338. For example, the processing device 310 may receive a request to modify one or more instructions of the substrate process control instructions 338 from an external server 346 or a client device 348 coupled to the system controller 128. The processing device 310 may initiate the modification or update of the instructions in response to the request. For example, the processing device 310 may identify a particular instruction of the substrate process control instructions 338 and replace the particular instruction with a new instruction according to the request. In another example, the processing device 310 may identify a particular instruction identified in the request and remove the instruction from the substrate process control instructions 338 (e.g., erase the instruction from the data store 150). In yet another example, the processing device 310 may add the instruction included in the request to the substrate process control instructions 338 (e.g., write the instruction to the data store 150).

[0032]

[0036] In some cases, modifications or updates to the substrate process control instructions 338 may take a significant amount of time (e.g., seconds, minutes, hours, etc.). During the update, the IO driver 328 may redirect IO communication with the process tool 104 from the substrate process control module 322 to the system update module 330 in the IO module 326. The system update module 330 may be configured to execute system update control instructions 340 during the update of the substrate process control instructions 338. The system update control instructions 340, when executed by the processing device 310, may include instructions that cause the system update module 330 to generate one or more commands that cause components of the process chamber 200 to maintain one or more target states in the process chamber during the update. In some embodiments, the system update control instructions 340 may be a subset of the substrate process control instructions 338. In an illustrative example, the system update control instructions 340 may include instructions that cause the system update module 330 to generate commands that cause the pumping system 228 to maintain a vacuum in the interior volume 206 of the process chamber 200 during the update. The system update IO handler 332 can send the generated command to the IO driver 328, which can send the command to the pump system 228 via the IO device 312, as described above. The pump system 228 can follow the command to maintain a vacuum in the interior space 206 to meet the target condition.

[0033]

[0037] One or more sensors (i.e., sensor 316 or sensors of external chamber device 320) may generate data related to the environment of process chamber 200 during an update and may send a notification including the generated data to IO driver 328 via IO device 312, as described above. IO driver 328 may forward the notification, or the data included in the notification, to system update IO handler 332. In response to system update IO handler 332 receiving the notification, or the data included in the notification, system update module 330 may respond to the notification according to system update control instructions 340. For example, the data included in the notification may include temperature data indicating the current temperature of the environment of process chamber 200 being updated. System update control module 330 may identify one or more instructions from system update control instructions 340 that correspond to the current temperature of the environment of process chamber 200, as described above, and execute the one or more instructions.

[0034]

[0038] In some embodiments, in response to determining that the updating of the substrate process control instructions 338 is complete, the IO driver 328 can redirect IO communication with the process tool 104 from the system update module 330 to the substrate process control module 322. In response to the IO driver 328 transferring control over the process tool 104 to the substrate process control module 322, the substrate process control module 322 can execute one or more instructions of the updated substrate process control instructions 338 to perform a substrate process in the process chamber 200, according to the previously described embodiments.

[0035]

[0039] In some embodiments, in response to detecting that the substrate process control instructions 338 are to be updated and before receiving control of the process tool 104, the system update module 330 can generate pre-update state data 342 for the process tool 200. For example, before the processing device 310 modifies or updates the substrate process control instructions 338, the system update module 330 can generate a request to collect current states or measurements of one or more sensors 316 of the process chamber 200. The system update IO handler 332 can send the request to the IO driver 328, which can send a notification including the request to the process tool 104 via the IO device 312, as described above. The sensor 316 can generate data indicative of the current state of the process chamber 200 and can send a notification including the generated data to the IO driver 328 via the IO device 312, as described above. The system update IO handler 332 may receive the notification, or generated data from the notification, from the IO driver 328, and the system update module 330 may store the generated data in the data store 150 as pre-update state data 342. In response to detecting that the update of the substrate process control instructions 338 is complete, the system update module may collect current state data from one or more sensors 316 of the process chamber 200, as described above. The system update module 330 may store the collected current state data in the data store 150 as post-update state data 344. The system update module 330 may compare the post-update state data 344 with the pre-update state data 344 to determine whether the current state of the process chamber 200 satisfies the state criteria. In some embodiments, the system update module 330 may determine that the current state of the process chamber 200 satisfies the state criteria in response to determining that a difference between a measurement (e.g., a temperature measurement) in the post-update state data 344 and a corresponding measurement in the pre-update state data 344 is below a difference threshold.In response to the system update module 330 determining that the status criteria have been met, the IO driver 328 may return control of the process tool 104 to the substrate process control module 322, as described above.

[0036]

[0040] While some embodiments of the present disclosure discuss redirecting IO communications received at IO device 314 from substrate process control module 322 to system update module 330 in response to updating manufacturing process control instructions 338, it should be noted that IO communications at IO device 314 may be redirected to system update module 330 at other times. For example, in response to detecting that manufacturing process control instructions 338 are inaccessible by processing device 310 (e.g., after a software crash has occurred), IO driver 328 may redirect IO communications received at IO device 314 to system update module 330 in accordance with embodiments described herein. In response to detecting that manufacturing process control instructions 338 are accessible by processing device 310 (e.g., after a software crash has been repaired), IO driver 328 may redirect IO communications received at IO device 314 back to system update module 330 in accordance with the aforementioned embodiments.

[0037]

[0041] FIG. 4 is a flowchart of a method 400 of input / output (IO) handling during an update process of a manufacturing system controller according to aspects of the present disclosure. Method 400 is performed by processing logic, which may include hardware (circuitry, dedicated logic, etc.), software (e.g., running on a general-purpose computer system or a dedicated machine), firmware, or some combination thereof. In some embodiments, method 400 may be performed using IO handler 326 of FIG. 3. For example, method 400 may be performed by IO driver 328 of IO handler 326. In other or similar embodiments, one or more blocks of FIG. 4 may be performed by one or more other machines not depicted in FIG. 3.

[0038]

[0042] At block 410, processing logic sends a set of notifications between one or more components of the process chamber and the substrate process IO handler. As described above, the substrate process IO handler can be configured to execute a set of substrate process control instructions (e.g., substrate process control instructions 338) corresponding to a process recipe during substrate processing in the process chamber. The set of notifications can correspond to one or more operations associated with the set of substrate process control instructions. The one or more chamber components can include at least one of a temperature control component, a pressure control component, a humidity control component, a temperature sensor, a pressure sensor, a humidity sensor, an oxygen sensor, a particle detector, a process gas flow sensor, or a cleaning gas flow sensor.

[0039]

[0043] At block 412, processing logic determines that the set of substrate process control instructions for the system controller is to be updated. In some embodiments, an external server or client device may send a request to the system controller to update the substrate process control instructions for the system controller, as described herein. At block 414, processing logic redirects IO communication with the chamber components from the substrate process IO handler to the system update IO handler. In some embodiments, processing logic may redirect IO communication in response to determining that a process for updating the substrate process control instructions has begun and / or that a substrate process in the process chamber has ended. The system update IO handler may be configured to execute a set of system update control instructions (e.g., system update control instructions 340) that include commands configured to cause one or more components of the process chamber to maintain the environment of the process chamber at a target state while the set of substrate process control instructions is updated. In some embodiments, the system update control instructions may be a subset of the substrate process control instructions, as described above.

[0040]

[0044] At block 416, processing logic determines whether updates to the set of substrate process control instructions are complete. In response to determining that updates to the set of process control instructions are complete, processing logic may continue to block 418. At block 418, processing logic may transfer control of IO communications with chamber components to the substrate process IO handler, as described above, to enable the substrate process IO handler to execute the substrate process control instructions.

[0041]

[0045] In response to determining that the updates to the set of process control instructions are not complete, processing logic may continue to block 420. In some embodiments, processing logic may continue to block 420 in response to determining that the current state of the process chamber satisfies the state criteria (i.e., the post-update state data of the process chamber corresponds to the pre-update state data), as described above. At block 420, processing logic may send another set of notifications between the chamber components and the system update IO handler. The another set of notifications may correspond to one or more operations associated with the system update control instructions, as described above. The system update IO handler may maintain control of the IO communications until the system update is complete, as shown in FIG. 4.

[0042]

[0046] FIG. 5 illustrates a block diagram of an exemplary computer system 500 that operates in accordance with one or more aspects of the present disclosure. In alternative embodiments, the machine may be connected (e.g., networked) to other machines in a local area network (LAN), an intranet, an extranet, or the Internet. The machine may operate as a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet computer, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a web appliance, a server, a network router, a switch, or a bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by the machine. Furthermore, while only a single machine is illustrated, the term “machine” is intended to include any collection of machines (e.g., computers) that individually or jointly execute a set (or sets) of instructions to perform any one or more of the methodologies discussed herein. In an embodiment, computing device 500 may correspond to system controller 128 of FIG. 1 or another processing device of manufacturing system 100.

[0043]

[0047] The exemplary computing device 500 includes a processing device 502, a main memory 504 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM), etc.), a static memory 506 (e.g., flash memory, static random access memory (SRAM), etc.), and a secondary memory (e.g., a data storage device 528), which communicate with each other via a bus 508.

[0044]

[0048] The processing device 502 may represent one or more general-purpose processors, such as a microprocessor, a central processing unit, or the like. More specifically, the processing device 502 may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a processor implementing other instruction sets, or a processor implementing a combination of instruction sets. The processing device 502 may also be one or more special-purpose processing devices, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), a network processor, or the like. The processing device 502 may be or include a system-on-chip (SoC), a programmable logic controller (PLC), or other type of processing device. The processing device 502 is configured to execute processing logic for performing the operations and steps described herein.

[0045]

[0049] Computing device 500 may further include a network interface device 522 for communicating with a network 564. Computing device 500 may also include a video display device 510 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 512 (e.g., a keyboard), a cursor control device 514 (e.g., a mouse), and a signal generation device 520 (e.g., a speaker).

[0046]

[0050] The data storage device 528 may include a machine-readable storage medium (or more specifically, a non-transitory computer-readable storage medium) 524 having stored thereon one or more sets of instructions 526 that embody any one or more of the methods or functions described herein. A non-transitory storage medium refers to a storage medium other than a carrier wave. The instructions 526 may also reside, completely or at least partially, within the main memory 504 and / or within the processing device 502 during their execution by the computing device 500, with the main memory 504 and the processing device 502 also constituting computer-readable storage media.

[0047]

[0051] The computer-readable storage medium 524 may also be used to store instructions and data for the IO module 326. The computer-readable storage medium 524 may also store a software library containing methods for invoking the module 326. While the computer-readable storage medium 524 is shown in the exemplary embodiment to be a single medium, the term "computer-readable storage medium" shall be interpreted to include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store one or more sets of instructions. The term "computer-readable storage medium" shall also be interpreted to include any medium that can store or encode a set of instructions that can be executed by a machine to cause the machine to perform any one or more of the methods of the present disclosure. The term "computer-readable storage medium" shall therefore be interpreted to include, but is not limited to, solid-state memory, and optical and magnetic media.

[0048]

[0052] The foregoing description has set forth numerous specific details, such as examples of particular systems, components, methods, etc., to provide a thorough understanding of some embodiments of the present disclosure. However, it will be apparent to those skilled in the art that at least some embodiments of the present disclosure may be practiced without these specific details. In other instances, well-known components and methods have not been described in detail or have been shown in simple block diagram form to avoid unnecessarily obscuring the present disclosure. Thus, the specific details described are for illustrative purposes only. Particular implementations may vary from these illustrative details and still be intended to be within the scope of the present disclosure.

[0049]

[0053] References throughout this specification to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment. Thus, the appearances of the phrase "in one embodiment" or "in an embodiment" in various places throughout this specification do not necessarily all refer to the same embodiment. In addition, the term "or" is intended to mean an inclusive or rather than an exclusive or. When the term "about" or "approximately" is used herein, it is intended to mean that the stated nominal value is accurate to within ±10%.

[0050]

[0054] Although the operations of the methods herein are shown and described in a particular order, the order of the operations of each method may be changed such that certain operations are performed in the reverse order, and certain operations may be performed, at least in part, concurrently with other operations. In alternative embodiments, the instructions or sub-operations of individual operations may be intermittent and / or interleaved.

[0051]

[0055] It is understood that the above description is intended to be illustrative, and not limiting. Many other embodiments will become apparent to those skilled in the art upon reading and understanding the above description. The scope of the present disclosure should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

Claims

1. sending, by an input / output (IO) driver of a system controller, a first set of notifications between one or more components of a process chamber and a substrate process IO handler of the system controller, the substrate process IO handler being configured to execute a set of substrate process control instructions corresponding to a process recipe during substrate processing in the process chamber, the first set of notifications corresponding to one or more operations associated with the set of substrate process control instructions; determining that the set of substrate process control instructions is to be updated; detecting that the substrate process has completed in the process chamber; sending a second set of notifications between the one or more components of the process chamber and a system update IO handler of the system controller, the system update IO handler configured to execute a set of system update control instructions including commands configured to cause the one or more components of the process chamber to maintain an environment of the process chamber at a target state while the set of substrate process control instructions is updated, the second set of notifications corresponding to one or more operations associated with the set of system update control instructions; A method comprising:

2. determining that the updating of the substrate process control instructions is complete; sending a third set of notifications between the one or more components of the process chamber and the substrate process IO handler; The method of claim 1 further comprising:

3. In response to detecting that the substrate process has ended in the process chamber, capturing a first state of the process chamber prior to initiation of the updating of the substrate process control instructions; In response to determining that the updating of the substrate process control instructions is complete, obtaining a second state of the process chamber after the updating of the substrate process control instructions is complete; and further comprising 3. The method of claim 2, wherein the third set of notifications is sent between the one or more components of the process chamber and the substrate process IO handler in response to determining that the second condition of the process chamber meets a condition criterion taking into account the first condition of the process chamber.

4. transmitting the second set of notifications between the one or more components of the process chamber and the system update IO handler; receiving a first notification of the second set of notifications from the system update IO handler, the first notification including a command associated with causing a first component of the one or more components of the process chamber to maintain the environment of the process chamber at the target state; sending the first notification to the first component via an IO device of the system controller; The method of claim 1 , comprising:

5. receiving a second notification in the second set of notifications from a second component of the one or more components of the process chamber via the IO device of the system controller, the second notification including sensor data generated by the second component, the sensor data associated with the environment of the process chamber; sending the sensor data of the second notification to the system update IO handler of the system controller; The method of claim 4 further comprising:

6. The method of claim 1 , wherein the set of system update control instructions is a subset of the set of substrate process control instructions.

7. 10. The method of claim 1, wherein the one or more components of the process chamber include at least one of a temperature control component, a pressure control component, a humidity control component, a temperature sensor, a pressure sensor, a humidity sensor, an oxygen sensor, a particle detector, a process gas flow sensor, or a cleaning gas flow sensor.

8. Memory and a processing device coupled to the memory; the processing device comprising: sending, by an input / output (IO) driver of a system controller, a first set of notifications between one or more components of a process chamber and a substrate process IO handler of the system controller, the substrate process IO handler being configured to execute a set of substrate process control instructions corresponding to a process recipe during substrate processing in the process chamber, the first set of notifications corresponding to one or more operations associated with the set of substrate process control instructions; determining that the set of substrate process control instructions is to be updated; detecting that the substrate process has completed in the process chamber; sending a second set of notifications between the one or more components of the process chamber and a system update IO handler of the system controller, the system update IO handler configured to execute a set of system update control instructions including commands configured to cause the one or more components of the process chamber to maintain an environment of the process chamber at a target state while the set of substrate process control instructions is updated, the second set of notifications corresponding to one or more operations associated with the set of system update control instructions; 2. A system for performing operations including:

9. The operation is determining that the updating of the substrate process control instructions is complete; sending a third set of notifications between the one or more components of the process chamber and the substrate process IO handler; The system of claim 8 further comprising:

10. The operation is In response to detecting that the substrate process has ended in the process chamber, capturing a first state of the process chamber prior to initiation of the updating of the substrate process control instructions; In response to determining that the updating of the substrate process control instructions is complete, obtaining a second state of the process chamber after the updating of the substrate process control instructions is complete; and further comprising 10. The system of claim 9, wherein the third set of notifications is transmitted between the one or more components of the process chamber and the substrate process IO handler in response to determining that the second condition of the process chamber meets a condition criterion taking into account the first condition of the process chamber.

11. to transmit the second set of notifications between the one or more components of the process chamber and the system update IO handler, the processing device receiving a first notification of the second set of notifications from the system update IO handler, the first notification including a command associated with causing a first component of the one or more components of the process chamber to maintain the environment of the process chamber at the target state; sending the first notification to the first component via an IO device of the system controller; 9. The system of claim 8 for performing operations including:

12. The operation is receiving a second notification in the second set of notifications from a second component of the one or more components of the process chamber via the IO device of the system controller, the second notification including sensor data generated by the second component, the sensor data associated with the environment of the process chamber; sending the sensor data of the second notification to the system update IO handler of the system controller; The system of claim 11 further comprising:

13. The system of claim 8 , wherein the set of system update control instructions is a subset of the substrate process control instructions.

14. 1. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to: sending, by an input / output (IO) driver of a system controller, a first set of notifications between one or more components of a process chamber and a substrate process IO handler of the system controller, the substrate process IO handler being configured to execute a set of substrate process control instructions corresponding to a process recipe during substrate processing in the process chamber, the first set of notifications corresponding to one or more operations associated with the set of substrate process control instructions; determining that the set of substrate process control instructions is to be updated; detecting that the substrate process has completed in the process chamber; sending a second set of notifications between the one or more components of the process chamber and a system update IO handler of the system controller, the system update IO handler configured to execute a set of system update control instructions including commands configured to cause the one or more components of the process chamber to maintain an environment of the process chamber at a target state while the set of substrate process control instructions is updated, the second set of notifications corresponding to one or more operations associated with the set of system update control instructions; A non-transitory computer-readable storage medium that causes operations to be performed, including:

15. The operation is determining that the updating of the substrate process control instructions is complete; sending a third set of notifications between the one or more components of the process chamber and the substrate process IO handler; 15. The non-transitory computer-readable storage medium of claim 14, further comprising:

16. The operation is In response to detecting that the substrate process has ended in the process chamber, capturing a first state of the process chamber prior to initiation of the updating of the substrate process control instructions; In response to determining that the updating of the substrate process control instructions is complete, obtaining a second state of the process chamber after the updating of the substrate process control instructions is complete; and further comprising 16. The non-transitory computer-readable storage medium of claim 15, wherein in response to determining that the second condition of the process chamber meets a condition criterion given the first condition of the process chamber, the third set of notifications is transmitted between the one or more components of the process chamber and the substrate process IO handler.

17. to transmit the second set of notifications between the one or more components of the process chamber and the system update IO handler, the processing device receiving a first notification of the second set of notifications from the system update IO handler, the first notification including a command associated with causing a first component of the one or more components of the process chamber to maintain the environment of the process chamber at the target state; sending the first notification to the first component via an IO device of the system controller; 15. The non-transitory computer-readable storage medium of claim 14 for performing operations including:

18. The operation is receiving a second notification in the second set of notifications from a second component of the one or more components of the process chamber via the IO device of the system controller, the second notification including sensor data generated by the second component, the sensor data associated with the environment of the process chamber; sending the sensor data of the second notification to the system update IO handler of the system controller; 20. The non-transitory computer-readable storage medium of claim 17, further comprising:

19. The non-transitory computer-readable storage medium of claim 14 , wherein the set of system update control instructions is a subset of the set of substrate process control instructions.

20. 15. The non-transitory computer-readable storage medium of claim 14, wherein the one or more components of the process chamber include at least one of a temperature control component, a pressure control component, a humidity control component, a temperature sensor, a pressure sensor, a humidity sensor, an oxygen sensor, a particle detector, a process gas flow sensor, or a cleaning gas flow sensor.