Patent ID: 12191176

DETAILED DESCRIPTION OF EMBODIMENTS

Implementations described herein provide an integrated substrate measurement system to improve manufacturing process performance. Various components of the integrated substrate measurement system can be operatively coupled to a system controller configured to control a process for a substrate at a manufacturing system. The system controller can be configured to receive data from various portions of a manufacturing system and store data at a data store dedicated to store data collected at the integrated substrate measurement system. The system controller can receive data from one or more portions of the manufacturing system (e.g., a processing chamber, a load lock, etc.) before, during, or after processing of a substrate. The system controller can also receive data from a substrate measurement subsystem included within the integrated substrate measurement system. The substrate measurement subsystem may be integrated within one or more portions of the manufacturing system (e.g., at a factory interface). The substrate measurement subsystem may be configured to generate data associated with substrate before or after processing of the substrate at another portion of the system.

The substrate measurement subsystem may be configured to generate one or more types of data for the substrate, including spectral data, positional data, substrate property data, etc. The substrate measurement subsystem can generate the data for the substrate in response to a request to obtain one or more measurements for the substrate before or after the substrate is processed at the manufacturing system. The substrate measurement subsystem may include one or more components that facilitate the generation of data for the substrate. For example, the substrate measurement subsystem can include a spectra sensing component for sensing spectra or spectrum from a portion of the substrate and generating spectral data for the substrate. In some embodiments, the spectra sensing component can be an interchangeable component that can be configurable based on a type of process performed at the manufacturing system or a target type of measurements to be obtained at the substrate measurement subsystem. For example, one or more components of the spectra sensing component can be interchanged at the substrate measurement subsystem to enable the collection of reflectometry spectral data, ellipsometry spectral data, hyperspectral imaging data, chemical imaging (e.g., x-ray photoelectron spectroscopy (XPS), energy-dispersive x-ray spectroscopy (EDX), (x-ray fluorescence (XRF), etc.) data, and so forth. The substrate measurement subsystem can also include positional components configured to modify a position and/or orientation of the substrate within the substrate measurement subsystem. The positional components can also generate positional data associated with the substrate. The substrate measurement subsystem can correlate positional data and spectral data generated for a portion of the substrate. The substrate measurement subsystem may transmit the generated data (e.g., spectral data, positional data, etc.), to the system controller of the manufacturing system.

Responsive to the system controller receiving data from the substrate measurement subsystem and a portion of the manufacturing system, the system controller can determine whether to modify a process recipe for the substrate. The system controller can generate a mapping between a first set of data received from the substrate measurement component and a second set of data received from a portion of the manufacturing system. Responsive to generating the mapping between the first set of data and the second set of data, the system controller may determine whether to modify the process recipe for the substrate based on the mapping. In some embodiments, responsive to determining to modify the process recipe for the substrate, the system controller can transmit a notification to a user of the manufacturing system recommending that a modification should be made to the process recipe. The system controller may modify the process recipe responsive to receiving a notification from the user of the manufacturing system that the process recipe is to be modified in accordance with the recommendation. In other or similar embodiments, the system controller may modify the process recipe without providing an indication to the user of the manufacturing system.

Implementations of the present disclosure address the above noted deficiencies conventional technology by providing a system for determining whether a modification is to be made for the process recipe for a substrate. By generating measurements for the substrate before during, or after the substrate is processed at the manufacturing system, a system controller can determine if any changes have occurred within the manufacturing system that may affect the process for the substrate. Responsive to determining that a change has occurred within the manufacturing system, the system controller can determine a modification to be made to the process recipe to prevent an error from occurring during the substrate process as a result of the change to the manufacturing system. By modifying the process recipe for the substrate, the system controller decreases the likelihood that a processed substrate will be defective, therefore increasing overall throughput of the manufacturing system. Further, by integrating the substrate measurement subsystem within the manufacturing system, an overall sampling rate of each substrate within the manufacturing system increases.

FIG.1is a top schematic view of an example manufacturing system100, according to aspects of the present disclosure. Manufacturing system100may perform one or more processes on a substrate102. Substrate102may be any suitably rigid, fixed-dimension, planar article, such as, e.g., a silicon-containing disc or wafer, a patterned wafer, a glass plate, or the like, suitable for fabricating electronic devices or circuit components thereon.

Manufacturing system100may include a process tool104and a factory interface106coupled to process tool104. Process tool104may include a housing108having a transfer chamber110therein. Transfer chamber110may include one or more processing chambers (also referred to as process chambers)114,116,118disposed therearound and coupled thereto. Processing chambers114,116,118may be coupled to transfer chamber110through respective ports, such as slit valves or the like.

Processing chambers114,116,118may be adapted to carry out any number of processes on substrates102. A same or different substrate process may take place in each processing chamber114,116,118. A substrate process may include atomic layer deposition (ALD), physical vapor deposition (PVD), chemical vapor deposition (CVD), etching, annealing, curing, pre-cleaning, metal or metal oxide removal, or the like. In some embodiments, a substrate process may include a combination of two or more of atomic layer deposition (ALD), physical vapor deposition (PVD), chemical vapor deposition (CVD), etching, annealing, curing, pre-cleaning, metal or metal oxide removal, or the like. In one example, a PVD process may be performed in one or both of process chambers114, an etching process may be performed in one or both of process chambers116, and an annealing process may be performed in one or both of process chambers118. Other processes may be carried out on substrates therein. Processing chambers114,116,118may each include one or more sensors configured to capture data for substrate102and/or an environment within processing chamber114,116,118, before, after, or during a substrate process. In some embodiments, the one or more sensors may be configured to capture data including a value of one or more of: spectra or spectrum (e.g., light spectra), temperature (e.g., heater temperature), spacing (SP), pressure, high frequency radio frequency (HFRF), voltage of an electrostatic chuck (ESC), electrical current, flow, power, voltage, capacitance and so forth. Further details with respect to processing chamber114,116,118are provided with respect toFIG.3.

Transfer chamber110may also include a transfer chamber robot112. Transfer chamber robot112may include one or multiple arms where each arm includes one or more end effectors at the end of each arm. The end effector may be configured to handle particular objects, such as wafers. Alternatively, or additionally, the end effector may be configured to handle objects such as process kit rings. In some embodiments, transfer chamber robot112may be a selective compliance assembly robot arm (SCARA) robot, such as a2link SCARA robot, a3link SCARA robot, a4link SCARA robot, and so on.

A load lock120may also be coupled to housing108and transfer chamber110. Load lock120may be configured to interface with, and be coupled to, transfer chamber110on one side and factory interface106. Load lock120may have an environmentally controlled atmosphere that may be changed from a vacuum environment (wherein substrates may be transferred to and from transfer chamber110) to an inert-gas environment at or near atmospheric-pressure (wherein substrates may be transferred to and from factory interface106) in some embodiments. In some embodiments, load lock120may be a stacked load lock having a pair of upper interior chambers and a pair of lower interior chambers that are located at different vertical levels (e.g., one above another). In some embodiments, the pair of upper interior chambers may be configured to receive processed substrates from transfer chamber110for removal from process tool104, while the pair of lower interior chambers may be configured to receive substrates from factory interface106for processing in process tool104. In some embodiments, load lock120may be configured to perform a substrate process (e.g., an etch or a pre-clean) on one or more substrates102received therein.

Factory interface106may be any suitable enclosure, such as, e.g., an Equipment Front End Module (EFEM). Factory interface106may be configured to receive substrates102from substrate carriers122(e.g., Front Opening Unified Pods (FOUPs)) docked at various load ports124of factory interface106. A factory interface robot126(shown dotted) may be configured to transfer substrates102between substrate carriers (also referred to as containers)122and load lock120. In other and/or similar embodiments, factory interface106may be configured to receive replacement parts from replacement parts storage containers123. Factory interface robot126may include one or more robot arms and may be or include a SCARA robot. In some embodiments, factory interface robot126may have more links and/or more degrees of freedom than transfer chamber robot112. Factory interface robot126may include an end effector on an end of each robot arm. The end effector may be configured to pick up and handle specific objects, such as wafers. Alternatively, or additionally, the end effector may be configured to handle objects such as process kit rings.

Any conventional robot type may be used for factory interface robot126. Transfers may be carried out in any order or direction. Factory interface106may be maintained in, e.g., a slightly positive pressure non-reactive gas environment (using, e.g., nitrogen as the non-reactive gas) in some embodiments.

In some embodiments, transfer chamber110, process chambers114,116, and118, and load lock120may be maintained at a vacuum level. Manufacturing system100may include one or more vacuum ports that are coupled to one or more stations of manufacturing system100. For example, first vacuum ports130amay couple factory interface106to load locks120. Second vacuum ports130bmay be coupled to load locks120and disposed between load locks120and transfer chamber110. In other or similar embodiments, transfer chamber110, process chambers114,116, and118, and/or load lock120may not be maintained at a vacuum level.

Manufacturing system100may also be connected to a client device (not shown) that is configured to provide information regarding manufacturing system100to a user (e.g., an operator). A client device may include a computing device such as a personal computer (PC), laptop, mobile phone, smart phone, tablet computer, netbook computer, network-connected television, etc. In some embodiments, the client device may provide information to a user of manufacturing system100via one or more graphical user interfaces (GUIs). For example, the client device may provide information regarding one or more modifications to be made to a process recipe for a substrate102via a GUI.

Manufacturing system100may also include a system controller128. System controller128may be and/or include a computing device such as a personal computer, a server computer, a programmable logic controller (PLC), a microcontroller, and so on. System controller132may include one or more processing devices, which may be general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processing device may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination 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), network processor, or the like. System controller128may 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. System controller128may execute instructions to perform any one or more of the methodologies and/or embodiments described herein. In some embodiments, system controller128may execute instructions to perform one or more operations at manufacturing system100in accordance with a process recipe. A process recipe include a series of operations to be performed at the manufacturing system100in a specific order. The instructions may be stored on a computer readable storage medium, which may include the main memory, static memory, secondary storage and/or processing device (during execution of the instructions).

System controller128may receive data from sensors included on or within various portions of manufacturing system100(e.g., processing chambers114,116,118, transfer chamber110, load lock120, etc.). Data received by the system controller128may include data associated with substrate102and/or an environment surrounding substrate102within a portion of manufacturing system100. For purposes of the present description, system controller128is described as receiving data from sensors included within processing chambers114,116,118. However, system controller128may receive data from any portion of manufacturing system100and may use data received from the portion in accordance with embodiments described herein. In an illustrative example, system controller128may receive data from one or more sensors for processing chamber114,116,118before, after, or during a substrate process at the processing chamber114,116,118. In such example, the data received from processing chamber114,116,118may be associated with substrate102, including temperature data, a positional data (e.g., a position and/or an orientation of the substrate102within processing chamber114,116,118), and so forth. Data received by system controller128may also be associated with an environment of processing chamber114,116,118, including data indicating a temperature or internal pressure of processing chamber114,116,118, an amount of radiation within the processing chamber114,116,118, and so forth. Data received from sensors of the various portions of manufacturing system100may be stored in a data store150. Data store150may be included as a component within system controller128or may be a separate component from system controller128. Further details regarding data store150are provided with respect toFIG.4.

Manufacturing system100may include a substrate measurement subsystem140. Substrate measurement subsystem140may obtain measurements for one or more portions of a substrate102before or after the substrate102is processed at manufacturing system100. In some embodiments, substrate measurement subsystem140may obtain measurements for one or more portions of substrate102in response to receiving a request for the measurements from system controller128. Substrate measurement subsystem140may be integrated within a portion of manufacturing system100. In some embodiments, substrate measurement subsystem140may be integrated within factory interface106. In such embodiments, factory interface robot126may be configured to transfer substrates102between substrate carriers122and substrate measurement subsystem140and/or substrate measurement subsystem140and load lock120. In other or similar embodiments, substrate measurement subsystem140may not be integrated with any portion of manufacturing system100and instead may be a stand-alone component. In such embodiments, a substrate102measured at substrate measurement subsystem140may be transferred to and from a portion of manufacturing system100prior to or after the substrate102is processed at manufacturing system100.

Substrate measurement subsystem140may obtain measurements for a portion of substrate102by generating data associated with the portion of substrate102. In some embodiments, substrate measurement subsystem140is configured to generate spectral data, positional data, and other substrate property data for substrate102. In some embodiments, substrate measurement subsystem140may include one or more reflectometry sensors (i.e., reflectometer). In such embodiments, spectral data generated by substrate measurement subsystem140may refer to a reflected optical intensity of each wavelength of a wave reflected from a portion of substrate102. In other or similar embodiments, substrate measurement subsystem140may include one or more ellipsometry sensors (i.e., ellipsometer). In such embodiments, spectral data generated by substrate measurement subsystem140may refer to a reflected optical intensity of a wavelength of a polarized light wave reflected from a portion of substrate102. In other or similar embodiments, spectral data may refer to spectral data collected from, thermal spectra sensors, and so forth. As mentioned above, substrate measurement subsystem140can generate other substrate property data for substrate102(i.e., non-spectral data). For example, substrate measurement subsystem140can generate data based on signals collected from eddy current (i.e., inductive) sensors, capacitive sensors, and so forth.

After generating data for substrate102, substrate measurement subsystem140may transmit the generated data to system controller128. Responsive to receiving data from substrate measurement subsystem140, system controller128may store the data at data store150.

In some embodiments, data received by the system controller128from substrate measurement subsystem140may be associated with data received from one or more sensors of processing chamber114,116,118. For example, a first set of data for substrate102may be generated at substrate measurement system140. In response system controller128receiving the first set of data, substrate102may be transferred to processing chamber114,116,118for processing. At processing chamber114,116,118, a second set of data may be generated for substrate102and transferred to system controller128. Responsive to determining the first set of data is associated with the second set of data, system controller128may generate a mapping between the first set of data and the second set of data and store the generated mapping to data store150. Based on the mapping between the first set of data and the second set of data, the system controller128may determine whether to modify the process recipe for the substrate102. Further details regarding system controller128determining whether to modify the process recipe for substrate102are provided with respect toFIG.4.

In some embodiments, responsive to determining to modify the process recipe, system controller128may provide a notification to an operator of manufacturing system100indicating the process recipe should be modified. In some examples, the notification may be provided via a GUI displayed via the client device, such as GUI500ofFIG.5. The notification may provide a recommendation to modify one or more operations of the process recipe along with a GUI element that enables the operator to accept or reject the modification to the process recipe. In other or similar embodiments, the notification may provide multiple alternative recommendations for modifications to one or more operations of the process recipe along with one or more GUI elements that enable the operator to select a recommendation over other alternative recommendations. In some embodiments, system controller128may not provide a notification to the operator of the manufacturing system100and instead may modify the processing recipe based on an identification of the best modification to the process recipe.

FIG.2is a cross-sectional schematic side view of a substrate measurement subsystem200, according to aspects of the present disclosure. Substrate measurement subsystem200may be configured to obtain measurements for one or more portions of a substrate, such as substrate102ofFIG.1, prior to or after processing of substrate102at a processing chamber. Substrate measurement subsystem200may obtain measurements for a portion of substrate102by generating data associated with the portion of substrate102. In some embodiments, substrate measurement subsystem200may be configured to generate spectral data, positional data, and/or other property data associated with substrate102. Substrate measurement subsystem200may include a controller230configured to execute one or more instructions for generating data associated with a portion of substrate102.

Substrate measurement subsystem200may include a substrate sensing component214configured to detect when substrate102is transferred to substrate measurement subsystem200. Substrate sensing component214may include any component configured to detect when substrate102is transferred to substrate measurement subsystem200. For example, substrate sensing component214may include an optical sensing component that transmits an optical beam across an entrance to substrate measurement subsystem200. Substrate sensing component214may detect that a substrate102has been transferred to substrate measurement subsystem200responsive to substrate102breaking the optical beam transmitted across the entrance to substrate measurement subsystem200as substrate102is placed within substrate measurement subsystem200. Responsive to detecting that substrate102has been transferred to substrate measurement subsystem200, substrate sensing component214may transmit an indication to controller230indicating that substrate102has been transferred to substrate measurement subsystem200.

In some embodiments, substrate sensing component214may be further configured to detect identifying information associated with substrate102. In some embodiments, substrate102may be embedded within a substrate carrier (not shown) when transferred to substrate measurement subsystem200. The substrate carrier may include one or more registration features that enable identification of substrate102. For example, an optical sensing component of substrate sensing component214may detect that substrate102, embedded within the substrate carrier, has broken the optical beam transmitted across the entrance to substrate measurement subsystem200. The optical sensing component may further detect one or more registration features included on the substrate carrier. Responsive to detecting the one or more registration features, the optical sensing component may generate an optical signature associated with the one or more registration features. Substrate sensing component214may transmit the optical signature generated by the optical sensing component to controller230along with the indication that the substrate has been placed within substrate measurement subsystem200. Responsive to receiving the optical signature from sensing component214, controller230may analyze the optical signature to determine the identifying information associated with substrate102. The identifying information associated with substrate102may include an identifier for substrate102, an identifier for a process for substrate102(e.g., a batch number or a process run number), an identifier of a type for substrate102(e.g., a wafer, etc.), and so forth.

Substrate measurement subsystem200may include one or more components configured to determine a position and/or an orientation of substrate102within substrate measurement subsystem200. The position and/or orientation of substrate102may be determined based on an identification of a reference location of substrate102. A reference location may be a portion of substrate102that includes an identifying feature that is associated with a specific portion of substrate102. For example, substrate102may have a reference tag embedded in a center portion of substrate102. In another example, substrate102may have one or more structural features included on the surface of the substrate102at a center portion of substrate102. Controller230may determine an identifying feature associated with a specific portion of substrate102based on determined identifying information for substrate102. For example, responsive to determining that substrate102is a wafer, controller230may determine one or more identifying features that are generally included at a portion of a wafer.

Controller230may identify the reference location for substrate102using one or more camera components250configured to capture image data for substrate102. Camera components250may generate image data for with one or more portions of the substrate102and transmit the image data to controller230. Controller230may analyze the image data to identify an identifying feature associated with a reference location for substrate102. Controller230may further determine a position and/or orientation of substrate102as depicted in the image data based on the identified identifying feature of substrate102. Controller230may determine a position and/or orientation of substrate102based on the identified identifying feature of substrate102and the determined position and/or orientation of substrate102as depicted in the image data.

Responsive to determining the position and/or orientation of substrate102, controller230may generate positional data associated with one or more portions of substrate102. In some embodiments, the positional data may include one or more coordinates (e.g., Cartesian coordinates, polar coordinates etc.) each associated with a portion of substrate102, where each coordinate is determined based on a distance from the reference location for substrate102. For example, responsive to determining the position and/or orientation of substrate102, controller230may generate first positional data associated with a portion of substrate102that includes the reference location, where the first positional data includes a Cartesian coordinate of (0,0). Controller230may generate second positional data associated with a second portion of substrate102that is relative to the reference location. For example, a portion of substrate102that is located approximately 2 nanometers (nm) due east of the reference location may be assigned a Cartesian coordinate of (0,1). In another example, a portion of substrate102that is located 5 nms due north of the reference location may be assigned a Cartesian coordinate of (1,0).

Controller230may determine one or more portions of substrate102to measure based on positional data determined for substrate102. In some embodiments, controller230may receive one or more operations of a process recipe associated with substrate102. In such embodiments, controller230may further determine the one or more portions of substrate102to measure based on one or more operations of the process recipe. For example, controller230may receive an indication that an etch process was performed for substrate102where several structural features were etched onto the surface of substrate102. As a result, controller230may determine one or more structural features to measure and the expected locations of the features at various portions of substrate102.

Substrate measurement subsystem200may include one or more measurement components for measuring substrate102. In some embodiments, substrate measurement subsystem200may include one or more spectra sensing components220configured to generate spectral data for one or more portions of substrate102. As discussed previously, spectral data may correspond to an intensity (i.e., a strength or amount of energy) of a detected wave of energy for each wavelength of the detected wave. Further details regarding the collected spectral data is provided with respect toFIG.6. The measurement components for measuring substrate102can also include non-spectral sensing components (not shown) configured to collect and generate non-spectral data. For example, the measurement components can include an eddy current sensor or a capacitive sensor. Although some embodiments of the present description may refer to collecting and using spectral data for substrate102, embodiments of the present description can be applicable to non-spectral data collected for substrate102.

A spectra sensing component220may be configured to detect waves of energy reflected from a portion of substrate102and generate spectral data associated with the detected waves. Spectra sensing component220may include a wave generator222and a reflected wave receiver224. In some embodiments, wave generator222may be a light wave generator configured to generate a beam of light towards a portion of substrate102. In such embodiments, reflected wave receiver224may be configured to receive a reflected light beam from the portion of substrate102. Wave generator222may be configured to generate an energy stream226(e.g., a light beam) and transmit energy stream226to a portion of substrate102. A reflected energy wave228may be reflected from the portion of substrate102and received by reflected wave receiver224. AlthoughFIG.3Aillustrates a single energy wave reflected off the surface of substrate102, multiple energy waves may be reflected off the surface of substrate102and received by reflected wave receiver224.

Responsive to reflected wave receiver224receiving reflected energy wave228from the portion of substrate102, spectra sensing component220may measure a wavelength of each wave included in reflected energy wave228. Spectra sensing component220may further measure an intensity of each measured wavelength. Responsive to measuring each wavelength and each wavelength intensity, spectra sensing component220may generate spectral data for the portion of substrate102. Spectra sensing component220may transmit the generated spectral data to controller230. Controller230may, responsive to receiving the generated spectral data, generate a mapping between the received spectral data and positional data for the measured portion of substrate102.

Substrate measurement subsystem200may be configured to generate a specific type of spectral data based on a type of measurement to be obtained at substrate measurement subsystem200. In some embodiments, spectra sensing component220may be a first spectra sensing component that is configured to generate one type of spectral data. For example, spectra sensing component220may be configured to generate reflectometry spectral data, ellipsometry spectral data, hyperspectral imaging data, chemical imaging data, thermal spectral data, or conductive spectral data. In such embodiments, the first spectra sensing component may be removed from substrate measurement subsystem200and replaced with a second spectra sensing component configured to generate a different type of spectral data (e.g., reflectometry spectral data, ellipsometry spectral data, hyperspectral imaging data, or chemical imaging data).

Controller230may determine a type of data (i.e., spectral data, non-spectral data) to be generated for substrate102based on a type of measurement to be obtained for one or more portions of substrate102. In some embodiments, controller230may determine the one or more types of measurements based on a notification received from system controller128. In other or similar embodiments, controller230may determine the one or more types of measurements based on an instruction to generate a measurement for a portion of substrate102. Responsive to determining the one or more types of measurements to be obtained, controller230may determine the type of data to be generated for substrate102. For Example, controller230can determine that spectral data is to be generated for substrate102and that the second spectra sensing component is an optimal sensing component for obtaining the determined type of measurements for the one or more portions of substrate102. Responsive to determining the second sensing component is the optimal sensing component, controller230may transmit a notification to the system controller indicating that the first spectra sensing component should be replaced with the second spectra sensing component and the second spectra sensing component should be used to obtain the one or more types of measurements for the one or more portions of substrate102. System controller128may transmit the notification to a client device connected to the manufacturing system where the client device may provide the notification to a user of the manufacturing system (e.g., an operator) via a GUI.

In other or similar embodiments, spectra sensing component220may be configured to a generate multiple types of spectral data. In such embodiments, controller230may cause spectra sensing component220to generate a specific type of spectral data based on the type of measurements to be obtained for one or more portions of substrate102, in accordance with previously described embodiments. Responsive to determining the type of measurements to be obtained, controller230may determine that a first type of spectral data is to be generated by spectra sensing component220. Based on the determination that the first type of spectral data is to be generated by spectra sensing component220, controller230may cause spectra sensing component220to generate the first type of spectral data for the one or more portions of substrate102.

As described previously, controller230may determine one or more portions of substrate102to measure at substrate measurement subsystem200. In some embodiments, one or more measurement components, such as spectra sensing component220, may be stationary components within substrate measurement subsystem200. In such embodiments, substrate measurement subsystem200may include one or more positional components240configured to modify a position and/or an orientation of substrate102with respect to spectra sensing component220. In some embodiments, positional components240may be configured to translate substrate102along a first axis and or a second axis, relative to spectra sensing component220. In other or similar embodiments, positional components240may be configured to rotate substrate102around a third axis relative to spectra sensing component220.

As spectra sensing component220generates spectral data for one or more portions of substrate102, positional components240may modify the position and/or orientation of substrate102in accordance with the one or more determined portions to be measured for substrate102. For example, prior to spectra sensing component220generating spectral data for substrate102, positional components240may position substrate102at Cartesian coordinate (0,0) and spectra sensing component220may generate first spectral data for substrate102at Cartesian coordinate (0,0). Responsive to spectra sensing component220generating first spectral data for substrate102at Cartesian coordinate (0,0), positioning components240may translate substrate102along a first axis so that spectra sensing component220is configured to generate second spectral data for substrate102at Cartesian coordinate (0,1). Responsive to spectra sensing component220generating second spectral data for substrate102at Cartesian coordinate (0,1), controller230may rotate substrate102along a second axis so that spectra sensing component220is configured to generate third spectral data for substrate102at Cartesian coordinate (1,1). This process may occur multiple times until spectral data is generated for each determined portion of substrate102.

In some embodiments, one or more layers212of material may be included on a surface of substrate102. The one or more layers212may include etch material, photoresist material, mask material, deposited material, etc. In some embodiments, the one or more layers212may include an etch material to be etched according to an etch processed performed at a processing chamber. In such embodiments, spectral data may be collected for one or more portions of the un-etched etch material of the layer212deposited on substrate102, in accordance with previously disclosed embodiments. In other or similar embodiments, the one or more layers212may include an etch material that has already been etched according an etch process at the processing chamber. In such embodiments, one or more structural features (e.g., lines, columns, openings, etc.) may be etched into the one or more layers212of substrate102. In such embodiments, spectral data may be collected for one or more structural features etched into the one or more layers212of substrate102.

In some embodiments, substrate measurement subsystem200may include one or more additional sensors configured to capture additional data for substrate102. For example, substrate measurement subsystem200may include additional sensors configured to determine a thickness of substrate102, a thickness of a film deposited on the surface of substrate102, etc. Each sensor may be configured to transmit captured data to controller230.

Responsive to receiving at least one of the spectral data, the positional data, or the property data for the substrate102, controller230may transmit the received data to system controller128for processing and analysis, in accordance with embodiment described herein.

FIG.3depicts a cross-sectional schematic side view of a processing chamber300, according to aspects of the present disclosure. The processing chamber300may be used for processes in which a corrosive plasma environment is provided. For example, the processing chamber300may be a chamber for a plasma etcher or plasma etch reactor, a plasma cleaner, and so forth. In alternative embodiments other processing chambers may be used, which may or may not be exposed to a corrosive plasma environment. Some examples of chamber components include a chemical vapor deposition (CVD) chamber, a physical vapor deposition (PVD) chamber, an atomic layer deposition (ALD) chamber, an ion assisted deposition (IAD) chamber, an etch chamber, and other types of processing chambers.

In one embodiment, the processing chamber300includes a chamber body302and a showerhead330that encloses an interior volume306. The chamber body302generally includes sidewalls308and a bottom310. The showerhead330may include a showerhead base and a showerhead gas distribution plate332. Alternatively, the showerhead330may be replaced by a lid and a nozzle in some embodiments, or by multiple pie shaped showerhead compartments and plasma generation units in other embodiments. An exhaust port326may be defined in the chamber body302, and may couple the interior volume306to a pump system328. The pump system328may include one or more pumps and throttle valves utilized to evacuate and regulate the pressure of the interior volume306of the processing chamber300.

The showerhead330may be supported on the sidewall308of the chamber body302. The showerhead330(or lid) may be opened to allow access to the interior volume306of the processing chamber300, and may provide a seal for the processing chamber300while closed. A gas panel (not shown) may be coupled to the processing chamber300to provide process and/or cleaning gases to the interior volume306through the showerhead330or lid and nozzle (e.g., through apertures of the showerhead or lid and nozzle).

A substrate support assembly348is disposed in the interior volume306of the processing chamber300below the showerhead330. The substrate support assembly348holds a substrate, such as substrate102ofFIG.1, during processing. In one embodiment, the substrate support assembly348includes a pedestal352that supports an electrostatic chuck350. The electrostatic chuck350further includes a thermally conductive base and an electrostatic puck bonded to the thermally conductive base. The thermally conductive base and/or electrostatic puck of the electrostatic chuck350may include one or more optional embedded heating elements, embedded thermal isolators and/or conduits to control a lateral temperature profile of the substrate support assembly348. The electrostatic chuck350may include at least one clamping electrode controlled by a chucking power source.

Processing chamber300may include one or more sensors360configured to generate data for a substrate102and/or an environment surrounding substrate102before, after, or during processing of substrate102. Each sensor360may be configured to transmit data to a controller, such as system controller128. In some embodiments, one or more sensors360may be embedded within a component of processing chamber300and may be configured to capture data associated with a function of the component. For example, sensors360A may be embedded within substrate support assembly348and/or electrostatic chuck350. During operation of processing chamber300, sensors360A may generate data associated with a temperature of one or more heating elements embedded within the electrostatic chuck350, a lateral temperature profile of substrate support assembly348, an amount of power supplied by the chucking power source, etc. In another example, sensors360B may be embedded within the gas panel and/or showerhead330. In such example, sensors360B may be configured to generate data associated with a composition, flow rate and temperature of process and/or cleaning gases provided to the interior volume306through showerhead330. In other or similar embodiments, one or more sensors360may be embedded within the interior volume306of processing chamber300to capture data associated with the environment surrounding substrate102during a process. For example, sensors360C may be embedded on a surface of the chamber body302(e.g., sidewall308). In such example, sensors360C may be configured to generate data associated with a pressure of interior volume306, a temperature of interior volume306, an amount of radiation within interior volume306, etc.

In some embodiments, one or more sensors360outside of processing chamber300may be configured to generate data for substrate102and/or the environment surrounding substrate102before, after, or during processing of substrate344. For example, sensor360D may be configured to generate data associated with one or more portions of a surface of substrate102. A transparent window370may be embedded within at least one of showerhead330or sidewalls308. Sensor360D may be an optical emission device that includes a light source component and a light reflection component. The light source component may be configured to transmit light through transparent window370to a portion of substrate102. Reflected light may be transmitted from the portion of substrate102, through transparent window370, and received by light reflection component of sensor360D. Sensor360D may generate spectral data associated with the reflected light received by the light reflection component and may transmit the generated spectral data to a controller, such as system controller128. In some embodiments sensor360D may be configured to generate spectral data associated with a center portion of substrate102, as illustrated. In other or similar embodiments, sensor360D may be configured to generate spectral data associated with another portion of substrate102(e.g., an outer diameter of substrate102).

FIG.4is a block diagram illustrating a system controller according to aspects of the present disclosure. In some embodiments, the system controller may be system controller128, described with respect toFIG.1. System controller128may include a substrate data collection agent410and a data store420.

As illustrated, substrate data collection agent410may include a substrate measurement subsystem data module412(referred to herein as SMS data module412), a sensor data module414, a data mapping module416, and a process recipe modification module418. Substrate data collection agent410may communicate with data store420that stores SMS data422, sensor data424, data mappings426, process recipe428, and modified process recipe430.

Data store420may be configured to store data that is not accessible by a user of the manufacturing system. In some embodiments, all data stored at data store420may be inaccessible by a user (e.g., an operator) of the manufacturing system. In other or similar embodiments, a portion of data stored at data store420may be inaccessible by the user while another portion of data stored at data store420may be accessible by the user. In some embodiments, one or more portions of data stored at data store420may be encrypted using an encryption mechanism that is unknown to the user (e.g., data is encrypted using a private encryption key). In other or similar embodiments, data store420may include multiple data stores where data that is inaccessible to the user is stored in one or more first data stores and data that is accessible to the user is stored in one or more second data stores.

SMS data module412may be configured to receive data from a substrate measurement subsystem, such as substrate measurement subsystem200ofFIG.2. As described previously, system controller128may generate an instruction to cause a substrate to be transferred to substrate measurement subsystem200to obtain one or more measurements for the substrate before or after processing of the substrate at the manufacturing system. Responsive to system controller128receiving an indication that the substrate has been transferred to substrate measurement subsystem200, SMS data module412may transmit a request to substrate measurement subsystem200to obtain measurements for one or more portions of the substrate.

As described previously, system controller128may control a process for a substrate at a manufacturing system in accordance with a process recipe428. In some embodiments, SMS data module412may determine the one or more portions of the substrate to be measured at substrate measurement subsystem200based on the process recipe. For example, an operation of the process recipe may include etching a layer of material deposited on a surface of the substrate at a processing chamber. Based on the operation of the process recipe, SMS data module412may determine one or more portions of the surface of the substrate to monitor before and after the etch process at the processing chamber. In such embodiments, SMS data module412may include an indication of the determined one or more portions of the substrate to be measured at substrate measurement subsystem200in the request to obtain measurements at substrate measurement subsystem200. In such embodiments, a controller at substrate measurement subsystem200, such as controller230, may determine the one or more portions of the substrate to measure at substrate measurement subsystem200, in accordance with embodiments described herein.

Responsive to transmitting a request to obtain measurements, SMS data module412may receive SMS data422from substrate measurement subsystem200. SMS data422may include spectral data, positional data, property data, and so forth. In some embodiments, SMS data422may further include information associated with the substrate (e.g., an identifier for the substrate) or a process associated with the substrate (e.g., a batch number or a process run number). Responsive to receiving SMS data422from substrate measurement subsystem200, SMS data module412may cause SMS data422to be stored at data store420.

Sensor data module414may be configured to receive data from one or more portions of a manufacturing system, such as processing chamber300before, during, or after a process is performed for the substrate. Responsive to the substrate being transferred to processing chamber300, sensor data module414may transmit a request to processing chamber300to obtain measurements for one or more portions of the substrate before, during, or after a substrate process is performed at processing chamber300. In some embodiments, sensor data module414may receive data generated by one or more sensors at processing chamber300without transmitting a request to obtain measurements at processing chamber300. In some embodiments, the measurements for the substrate obtained at processing chamber300may correspond to the measurements obtained at the substrate measurement subsystem200. In accordance with embodiments described with respect to SMS data module412, sensor data module414may determine one or more measurements to be obtained at processing chamber300. For example, sensor data module414may determine one or more portions of the substrate to be measured at processing chamber300.

Sensor data module414may receive sensor data424from processing chamber300in response to transmitting the request for substrate data to processing chamber300. Sensor data424may include spectral data, temperature data, pressure data, and so forth. In some embodiments, sensor data424may include information associated with the substrate or a process associated with the substrate (e.g., a substrate identifier or a process identifier), in accordance with previously described embodiments. Responsive to receiving sensor data424from processing chamber300, sensor data module414may cause sensor data424to be stored at data store420.

Responsive to system controller128receiving SMS data422and sensor data424, data mapping module416may generate a mapping between SMS data422that is associated with sensor data424. Data mapping module416may determine whether received SMS data422for a given substrate is associated with sensor data424for the given substrate, and vice versa. In some embodiments, data mapping module416may determine SMS data422is associated with sensor data424based on a common sensor identifier or a common lot identifier. Responsive to determining SMS data422for a given substrate is associated with sensor data424for the given substrate, data mapping module416may generate a mapping between SMS data422and sensor data424and store the mapping, identified as data mapping426, in data store420.

It should be noted that, although embodiments of the present disclosure may describe that the system controller128receives SMS data prior to receiving sensor data424, in some embodiments, system controller128can receive sensor data424prior to receiving SMS data422. For example, a first measurement for substrate102can be performed at processing chamber300and sensor data424can be transmitted to system controller128. Substrate can be transferred to substrate measurement subsystem200(e.g., using a transfer robot) after processing at processing chamber300. Substrate measurement subsystem200can perform a second measurement for substrate102and transmit SMS data422to system controller128, in accordance with embodiments described above. Further, it should be noted that multiple measurements can be performed at substrate measurement subsystem200. For example, first SMS data422can be obtained during a first measurement at substrate measurement subsystem200, sensor data424can be obtained during a second measurement at processing chamber300, and second SMS data422can be obtained during a third measurement at substrate measurement subsystem200.

In similar or alternative embodiments, substrate measurement subsystem200can perform a first measurement and a second measurement for substrate102. For example, substrate measurement subsystem200can obtain first SMS data422(e.g., spectral data) for substrate102and can obtain second SMS data422(e.g., non-spectral data) for substrate102. At least one of the first SMS data422or second SMS data422can be obtained before or after substrate102is processed at processing chamber300.

Recipe modification module418may determine whether to modify process recipe428based on a data mapping426generated by data mapping module416. Recipe modification module418may identify SMS data422(e.g., first SMS data, second SMS data, etc.) and/or sensor data424mapped together by data mapping426. In some embodiments, a type of SMS data422corresponds to a type of sensor data424. In such embodiments, recipe modification module418may compare SMS data422to sensor data424to determine a difference between SMS data422and sensor data424. Responsive to determining a difference between SMS data422and sensor data424, recipe modification module418may compare the determined difference to a difference threshold. Responsive to determining the difference exceeds the difference threshold, recipe modification module418may determine to modify the process recipe428.

In some embodiments, recipe modification module418may determine a position of the substrate within the processing chamber300based on a mapping between SMS data422and sensor data424. As described previously, SMS data422can include spectral data generated for one or more portions of the substrate at substrate measurement subsystem200. SMS data422can further include positional data associated with the generated spectral data (e.g., Cartesian coordinates for each portion of the substrate). Also described previously, sensor data424can include spectral data generated at one or more portions of the substrate at processing chamber300. Recipe modification module418may identify first spectral data of SMS data422that corresponds to second spectral data of sensor data424. Recipe modification module418can determine a position of the substrate within processing chamber300based on positional data of SMS data422that is associated with the first spectral data of SMS data422. Recipe modification module can whether to modify the process recipe for the substrate within processing chamber300based on the determined position of the substrate within processing chamber300.

In some embodiments, recipe modification module418may compare SMS data422to target measurement value432. Target measurement value432may include target measurement values for one or more portions of the substrate. Responsive to determining a difference between SMS data422and target measurement value432exceeds a difference threshold, recipe modification module418may determine to modify the process recipe428.

In some embodiments, recipe modification module418may determine a modification to the process recipe428that is expected to account for a difference between SMS data422and sensor data424and/or SMS data422and target measurement value432. In some embodiments, recipe modification module418may determine a modification to the process recipe428by providing the difference between the SMS data422and sensor data424and/or SMS data422and target measurement value432to a modification determination component (not shown). In such embodiments, the modification determination component may provide, to recipe modification module418, a recommended modification to be made to the process recipe428based on the provided difference. In some embodiments, the modification determination component may be a rule database that includes one or more rules associated with process recipe modifications that can be made in view of differences between difference between SMS data422and sensor data424and/or SMS data422and target measurement value432. In other or similar embodiments, modification determination component can include a data structure that associates a difference between SMS data422and sensor data424and/or SMS data422and target measurement value432to a process recipe modification.

In an illustrative example, modification determination component can determine, based on a difference a difference between SMS data422and sensor data424and/or SMS data422and target measurement value432, that a processing chamber used to process the substrate is associated with a non-uniform etch rate. Based on the determination that the processing chamber is associated with a non-uniform etch rate, modification determination component can identify one or more process parameter values to modify in order to achieve a uniform etch rate for future substrates processed at the processing chamber. An example of a process parameter value modification can include a decrease of a temperature at a first zone of a substrate support assembly and an increase of a temperature of a first zone of the substrate support assembly.

In some embodiments, recipe modification module418may transmit a notification to a client device connected to the manufacturing system, where the notification indicates a modification to the process recipe428is recommended. The client device may display the notification to a user of the client device via a GUI, such as GUI500ofFIG.5. Recipe modification module418may receive, from the client device, an instruction to modify the process recipe428. Responsive to receiving the instruction to modify the process recipe428, recipe modification module418may modify the process recipe and store the modified process recipe430at data store420. In some embodiments, recipe modification module418may not transmit a notification to the client device and instead may modify the process recipe.

As described above, a first measurement for substrate102can be performed at processing chamber300and a second measurement for substrate102can be performed at substrate measurement subsystem200. In such embodiments, substrate measurement subsystem200can determine a position of the substrate102at the substrate measurement subsystem200, in accordance with previously described embodiments. Recipe modification module418can determine the position of the substrate within the processing chamber300based on the mapping between SMS data422(i.e., the second measurement) and the sensor data424(i.e., the first measurement). Recipe modification module418can compare the SMS data422to the sensor data424and determine, based on the comparison, whether to modify the process recipe428, in accordance with previously described embodiments.

In some embodiments, external metrology data can be collected for substrate102at an external metrology tool (e.g., before and/or after the substrate102is processed at processing chamber300). System controller128can receive the external metrology data from the external metrology tool and can store the received external metrology data at the data store, in accordance with previously described embodiments. Data mapping module416can update the data mapping for substrate102to include a mapping between the external metrology data and other data (e.g., SMS data422, sensor data424) for substrate102. Recipe modification module418can determine whether to modify process recipe428based on the updated data mapping426for substrate102, in accordance with previously described embodiments.

FIG.5illustrates an example graphical user interface (GUI)500for providing notifications to a user (e.g., an operator) of a manufacturing system, according to aspects of the present disclosure. In some embodiments, GUI500may be presented to the user via a client device connected to the manufacturing system.

GUI500may include one or more GUI elements to provide or receive information from a user of the client device. GUI500may include a substrate ID element512that provides an identifier of a substrate being processed at the manufacturing system. For example, substrate ID element512may provide an indication that substrate “S00-0001” is being processed at the manufacturing system. GUI500may further include a pending process recipe operation element514that provides an indication of an operation of a process recipe that is to be performed for the substrate at a portion of the manufacturing system. As illustrated inFIG.5, element514may provide an indication that an etch operation is to be performed for substrate. In some embodiments, element514may details regarding the operation to be performed for the substrate. For example, element514may provide an indication that the etch operation for the substrate is to be performed at a processing chamber and the etch operation is to be performed for 3 minutes and 0 seconds.

GUI500may further include a recommended process recipe element516that provides an indication of a recommended modification to one or more operations of the process recipe. As illustrated inFIG.5, element516may provide a recommended modification for an etch process for the substrate. The recommended modification may include etching the substrate for 4 minutes and 0 seconds instead of etching the substrate for 3 minutes and 0 seconds, as included in the original process recipe. In some embodiments, GUI500may also include a reason for modification element518which provides a reason that a modification to one or more operations of the process recipe is recommended. As illustrated inFIG.5, element518may indicate that the recommended modification to the process recipe is provided based on a determination that a film deposited on the substrate is thicker than expected.

GUI500may further include one or more interactive elements that enable a user of the client device to accept or reject a modification to the recipe. As illustrated inFIG.5, a user may select an accept modification element520A to accept the recommended modification to the process recipe indicated by element516. Responsive to receiving an indication that a user has selected the accept modification element520A, the client device may generate and transmit a notification to the system controller including an instruction to modify the process recipe in accordance with the recommended modification. A user may also select a reject modification element520B to reject the recommended modification to the process recipe. Responsive to receiving an indication that a user has selected the reject modification element520B, the client device may generate and transmit a notification to the system controller including an instruction to not modify the process recipe in accordance with the recommended modification.

FIG.6illustrates example spectral data600generated from reflected energy received by the substrate measurement subsystem200ofFIG.2or sensor360D ofFIG.3, according to aspects of the present disclosure. As illustrated, multiple wave lengths may be included in reflected energy waves received by substrate measurement subsystem200. Each reflected energy wave may be associated with a different portion of substrate102. In some embodiments, an intensity may be measured for each reflected energy wave received by substrate measurement subsystem200. As seen inFIG.6, each intensity can be measured for each wavelength of reflected energy waves received by substrate measurement subsystem200. The association between each intensity and each wavelength can be the basis for the formation of spectral data600. In some embodiments, one or more wavelengths can be associated with an intensity value that is outside of an expected range of intensity values. For example, line610can be associated with an intensity value that is outside of the expected range of intensity values, as illustrated by lines620. In such embodiments, the intensity value that is outside of the expected range of intensity values can be an indication that a defect exists at a portion of substrate102. A modification may be made to a process recipe for substrate102based on the indication of the defect at the portion of substrate102, in accordance with previously described embodiments.

FIGS.7-10are flow diagrams of various embodiments of methods700-1000for determining whether to modify a process recipe for a substrate. The methods700-1000are performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computer system or a dedicated machine), firmware, or some combination thereof. Some methods700-800may be performed by a computing device, such as system controller128ofFIG.1. Some methods900-1000may be performed by a computing device, such as controller230ofFIG.2.

For simplicity of explanation, the methods are depicted and described as a series of acts. However, acts in accordance with this disclosure may occur in various orders and/or concurrently, and with other acts not presented and described herein. Furthermore, not all illustrated acts may be performed to implement the methods in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that the methods could alternatively be represented as a series of interrelated states via a state diagram or events.

FIG.7is a flow chart of a method700for determining whether to modify a process recipe for a substrate, according to aspects of the present disclosure. At block710, processing logic identifies a substrate to be processed at a manufacturing system according to a process recipe. At block720, processing logic generates an instruction to transfer the substrate to a substrate measurement subsystem to obtain a first set of measurements for the substrate. In some embodiments, the first set of measurements can include spectral or non-spectral data (e.g., eddy current data, capacitance data, etc.) for the substrate. At block730, processing logic receives, from the substrate measurement subsystem, the first set of measurements for the substrate. At block740, processing logic generates an instruction to transfer the substrate from the substrate measurement subsystem to a processing chamber of the manufacturing system. At block750, processing logic receives, from one or more sensors within the processing chamber, a second set of measurements for the substrate. In some embodiments, the second set of measurements for the substrate can include spectral or non-spectral data (e.g., power data, temperature data, pressure data, etc.) for the substrate. At block760, processing logic generates a mapping between the first set of measurements and the second set of measurements of the substrate. At block770, processing logic stores the first set of measurements mapped to the second set of measurements. At block780, processing logic determines, based on the first set of measurements mapped to the second set of measurements, to modify the process recipe for the substrate. At block790, processing logic optionally provides a recommendation to modify the recipe for the substrate via a graphical user interface.

As described above, in some embodiments, the processing logic can generate the instruction to transfer the substrate form the substrate measurement system to the processing chamber of the manufacturing system and receive the second set of measurements for the substrate prior to generating the instruction to transfer the substrate to the substrate measurement sub-system to obtain the first set of measurements for the substrate and receiving, from the substrate measurement subsystem, the first set of measurements for the substrate.

FIG.8is a flow chart of another method800for determining whether to modify a process recipe for a substrate, according to aspects of the present disclosure. At block810, processing logic receives, from one or more sensors within a processing chamber of a manufacturing system, a first set of measurements for a substrate. At block820, processing logic processes the substrate at the processing chamber in accordance with a process recipe. At block830, processing logic optionally receives, from the one or more sensors within the processing chamber, a second set of measurements for the substrate. At block840, processing logic generates an instruction to transfer the substrate from the processing chamber to a substrate measurement subsystem to obtain a third set of measurements. At block850, processing logic receives, form the substrate measurement subsystem, a third set of measurements for the substrate. At block860, processing logic generates a mapping between the first set of measurements, the second set of measurements, and/or the third set of measurements. At block840, processing logic stores the mapping between the first set of measurements, the second set of measurements, and/or the third set of measurements. At block880, processing logic determines, based on the mapping between the first set of measurements, the second set of measurements, and/or the third set of measurements, to modify the recipe for the substrate. At block890, processing logic optionally provides a recommendation to modify the recipe for the substrate via a graphical user interface.

FIG.9is a flow chart of a method900for obtaining data for a substrate at a substrate measurement subsystem, according to aspects of the present disclosure. At block910, processing logic receives an indication that a substrate being processed at a manufacturing system has been loaded into a substrate measurement subsystem. At block920, processing logic determines positional data of the substrate within the substrate measurement subsystem. At block930, processing logic receives a recipe for the substrate. At block940, processing logic determines, based on the positional data and the recipe of the substrate, one or more portions of the substrate to be measured by one or more sensing components of the substrate measurement subsystem. At block950, processing logic obtains measurements for each of the determined portions of the substrate by the one or more sensing components (e.g., spectral sensing components, non-spectral sensing components, etc.) of the substrate measurement subsystem. At block960, processing logic transmits the obtained measurements of each of the determined portions of the substrate to a system controller.

FIG.10is a flow chart of a method1000for determining positional data for a substrate within a substrate measurement subsystem, according to aspects of the present disclosure. At block1010, processing logic determines an identification feature included on the substrate. In some embodiments, the identification feature can correspond to a reference location of the substrate (e.g., a center of the substrate). At block1020, processing logic identifies a portion of the substrate that includes the determined identification feature. At block1030, processing logic generates an instruction to capture one or more images of the identified portion of the substrate. At block1040, processing logic determines, based on the captured one or more images, an orientation and/or a position of the substrate within the substrate measurement subsystem. At block1050, processing logic generates positional data of the substrate based on the determined orientation and/or position of the substrate within the substrate measurement subsystem.

FIG.11illustrates a diagrammatic representation of a machine in the example form of a computing device1100within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. 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 in the capacity of 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 cellular telephone, a web appliance, a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines (e.g., computers) that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. In embodiments, computing device1100may correspond to system controller128ofFIG.1or controller320ofFIG.3.

The example computing device1100includes a processing device1102, a main memory1104(e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM), etc.), a static memory1106(e.g., flash memory, static random access memory (SRAM), etc.), and a secondary memory (e.g., a data storage device1128), which communicate with each other via a bus1108.

Processing device1102may represent one or more general-purpose processors such as a microprocessor, central processing unit, or the like. More particularly, the processing device1102may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processing device1102may 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), network processor, or the like. Processing device1102may also be or include a system on a chip (SoC), programmable logic controller (PLC), or other type of processing device. Processing device1102is configured to execute the processing logic for performing operations and steps discussed herein.

The computing device1100may further include a network interface device1122for communicating with a network1164. The computing device1100also may include a video display unit1110(e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device1112(e.g., a keyboard), a cursor control device1114(e.g., a mouse), and a signal generation device1120(e.g., a speaker).

The data storage device1128may include a machine-readable storage medium (or more specifically a non-transitory computer-readable storage medium)1124on which is stored one or more sets of instructions1126embodying any one or more of the methodologies or functions described herein. Wherein a non-transitory storage medium refers to a storage medium other than a carrier wave. The instructions1126may also reside, completely or at least partially, within the main memory1104and/or within the processing device1102during execution thereof by the computer device1100, the main memory1104and the processing device1102also constituting computer-readable storage media.

While the computer-readable storage medium1124is shown in an example embodiment to be a single medium, the term “computer-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable storage medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The term “computer-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media.

The preceding description sets forth numerous specific details such as examples of specific systems, components, methods, and so forth in order to provide a good understanding of several embodiments of the present disclosure. It will be apparent to one skilled in the art, however, that at least some embodiments of the present disclosure may be practiced without these specific details. In other instances, well-known components or methods are not described in detail or are presented in simple block diagram format in order to avoid unnecessarily obscuring the present disclosure. Thus, the specific details set forth are merely exemplary. Particular implementations may vary from these exemplary details and still be contemplated to be within the scope of the present disclosure.

Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the 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 are not necessarily all referring 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, this is intended to mean that the nominal value presented is precise within ±10%.

Although the operations of the methods herein are shown and described in a particular order, the order of operations of each method may be altered so that certain operations may be performed in an inverse order so that certain operations may be performed, at least in part, concurrently with other operations. In another embodiment, instructions or sub-operations of distinct operations may be in an intermittent and/or alternating manner.

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