Moving device along multiple axes

By determining and selecting optimized candidate paths, the problem of equipment being affected by heat in semiconductor device manufacturing is solved, and the positioning and measurement accuracy is improved.

CN119422053APending Publication Date: 2025-02-11NOVALTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280097518.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-26
Filing Date
2022-12-29
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

In semiconductor device manufacturing, the equipment used for measurement is affected by heat and other conditions, resulting in a decrease in positioning and measurement accuracy.

Method used

Optimize the movement path of the device by determining multiple candidate paths and selecting the shortest candidate path that requires a predefined percentage of the total movement along some axes to be less than the total movement of other axes, or substantially reaching a predefined ratio, , reduce the negative impact of heat on operation.

Benefits of technology

By optimizing the moving path of the device, the negative impact of heat on positioning and measurement is reduced, and the positioning and measurement accuracy in semiconductor device manufacturing is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119422053A_ABST
    Figure CN119422053A_ABST
Patent Text Reader

Abstract

Locating a device by determining a plurality of candidate paths for locating the device at a plurality of locations, where the locating requires moving the device in a series of movements along a plurality of axes; selecting a shortest one of the candidate paths that requires a total amount of movement of the devices along a selected one of the axes less than a total amount of movement of the devices required along a specified other one of the axes; and causing the device to pass through the selected path.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] The manufacture of semiconductor devices relies heavily on metrology to ensure that the semiconductor devices meet design specifications. Unfortunately, as semiconductor devices become more complex, and as their structural elements become smaller, the equipment used to perform measurements on semiconductor devices is increasingly affected by heat and other conditions that negatively impact their operation. Summary of the invention

[0002] In one aspect of the present invention, a method for positioning a device is provided, the method comprising: determining multiple candidate paths for positioning the device at multiple locations, wherein the positioning requires moving the device in a series of movements along multiple axes; selecting a shortest candidate path among the candidate paths, the shortest candidate path requiring a total movement of the device along a selected axis among the multiple axes that is less than a total movement of the device required along specified other axes among the multiple axes; and causing the device to traverse the selected path.

[0003] In another aspect of the invention, selecting includes selecting wherein the selected candidate path requires less than a predefined percentage of total movement of the device along the selected axis than total movement of the device along specified other axes.

[0004] In another aspect of the invention, selecting includes selecting wherein the selected candidate path substantially achieves a predefined ratio of movement of the device along the selected axis relative to specified other axes.

[0005] In another aspect of the invention, determining, selecting, and causing are performed in support of manufacturing a semiconductor device.

[0006] In another aspect of the invention, determining includes determining a candidate path for a positioning device positioned proximate each of a plurality of dies on a semiconductor wafer.

[0007] In another aspect of the invention, the device is mounted on a carriage that is movable along multiple axes.

[0008] In another aspect of the invention, movement of the device is achieved by a plurality of motors, wherein each of the plurality of motors controls movement of the device along a different one of the axes.

[0009] In another aspect of the invention, causing includes causing the device to move along at least one selected axis using a lower acceleration than for any other axis.

[0010] In another aspect of the invention, causing includes causing the device to move along at least one selected axis using kinematics that are slower than kinematics used for any other axis.

[0011] In another aspect of the present invention, the plurality of axes includes an X-axis and a Y-axis.

[0012] In another aspect of the present invention, movement of the device is achieved by multiple motors, the multiple motors move the device along multiple axes, each of the multiple motors controls the movement of the device along a different one of the axes, and the heat flux from one of the multiple motors that moves the device along at least one selected axis has a greater negative impact on the operation of the device than any other motor when moving the device an equal amount along any other axis.

[0013] In another aspect of the invention, an apparatus includes an optical metrology device.

[0014] In another aspect of the invention, an apparatus includes a metrology apparatus configured for use between two processing steps of a semiconductor manufacturing process.

[0015] In another aspect of the present invention, a system for positioning a device is provided, the system comprising: a path manager configured to determine multiple candidate paths for positioning the device at multiple locations, wherein the positioning requires moving the device in a series of movements along multiple axes, and select a shortest candidate path among the candidate paths that requires a total movement of the device along a selected axis of the multiple axes that is less than a total movement of the device required along specified other axes of the multiple axes; and a controller configured to cause the device to traverse the selected path.

[0016] In another aspect of the invention, the selected candidate path requires a total movement of the device along the selected axis that is less than a predefined percentage of a total movement of the device along the specified other axes.

[0017] In another aspect of the invention, the selected candidate path substantially achieves a predefined ratio of movement of the device along the selected axis relative to specified other axes.

[0018] In another aspect of the invention, a path manager is configured to determine candidate paths for a positioning device positioned proximate each of a plurality of dies on a semiconductor wafer.

[0019] In another aspect of the invention, the controller is configured to cause the device to move along at least one selected axis using a lower acceleration than used for any other axis.

[0020] In another aspect of the invention, the controller is configured to cause the device to move along at least one selected axis using kinematics that are slower than kinematics for any other axis. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] A more complete understanding and appreciation of various aspects of the present invention will be obtained through the following detailed description in conjunction with the accompanying drawings, in which:

[0022] Figure 1is a simplified conceptual diagram of a system for moving a device along multiple axes, constructed and operative in accordance with an embodiment of the present invention;

[0023] Figure 2 is operated in accordance with an embodiment of the present invention Figure 1 A simplified flow chart of an exemplary method of operation of a system of

[0024] Figure 3A and Figure 3B It is shown in Figure 1 a histogram of experimental data collected during operation of the system; and

[0025] Figure 4 is a simplified block diagram of an exemplary computing system for implementing one or more aspects of the present invention. DETAILED DESCRIPTION

[0026] Reference now Figure 1 , Figure 1 is a simplified conceptual diagram of a system for moving a device along multiple axes, constructed and operative in accordance with an embodiment of the present invention. Figure 1 In the system of FIG. 1 , the device 100 is suspended from a gantry 102, which preferably includes a motor 102' integrated into the body of the gantry 102. According to conventional techniques, the gantry 102 is configured to move the device 100 along an axis (such as an X-axis defined along the length of the gantry 102). The gantry 102 itself is suspended by rails 104 and 106 attached to a base 108. According to conventional techniques, the motor 110 is configured to move the device 100 along an axis (such as a Y-axis defined along the length of the rails 104 and 106) by moving the gantry 102 along the rails 104 and 106. As described above, the movement of the device 100 along the X-axis and the Y-axis is preferably controlled by a controller 112, which actuates the motor 102' and the motor 110 to move the device 100. In one embodiment, the device 100 is carried by a carriage 114 , wherein movement of the device 100 as described herein is accomplished by movement of the carriage 114 , and references herein to movement of the device 100 thus interchangeably refer to movement of the carriage 114 .

[0027] In one embodiment, Figure 1A system for manufacturing semiconductor devices, wherein the apparatus 100 includes a conventional metrology device (such as an optical metrology device) for measuring a plurality of dies 116 of a semiconductor wafer 118, such as may be mounted on a platform 120. In this case, the apparatus 100 moves along a predefined path through the plurality of dies 116 of the semiconductor wafer 118, and preferably, wherein the apparatus 100 only visits each die 116 once, wherein the apparatus 100 moves to one or more predefined positions relative to each die 116 as needed to perform measurements on each die 116. In one embodiment, the apparatus 100 is configured to be used between various processing steps of a semiconductor manufacturing process, such as between an etching step and a chemical mechanical polishing (CMP) step.

[0028] exist Figure 1 During operation of the system, it was found that the heat flux from the motor that moves the device 100 along the Y-axis had a greater negative impact on the operation of the device 100 than the heat flux from the motor that moves the device 100 along the X-axis. In the case where the device 100 includes an optical metrology device, this heat flux was determined to deform the carriage 114, cause navigation alignment errors when positioning the device 100 to the position necessary to perform measurements on each die 116, and change the optical path of the device 100 and thereby cause measurement errors. It was found that these errors could be reduced or eliminated by minimizing the movement of the device 100 along the Y-axis relative to the movement of the device 100 along the X-axis.

[0029] Therefore, according to an embodiment of the present invention, Figure 1The system includes a path manager 122 configured to calculate one or more candidate paths for any given configuration of die 116 on a semiconductor wafer 118, such as by employing a known algorithm for solving a traveling salesman problem, wherein each candidate path is configured as described above by moving the device 100 in a series of movements along a plurality of axes to position the device 100 at a plurality of locations corresponding to the locations of the respective die 116, preferably such that the device 100 visits each die 116 only once. Additionally or alternatively, the path manager 122 is configured to receive one or more candidate paths manually defined by an operator. The path manager 122 is further configured to select the shortest candidate path among the candidate paths that requires a total movement of the device 100 along the selected axis to be less than a predefined percentage of the total movement required by the device 100 along the specified other axes. Thus, for example, where it is known that the heat flux from the motor that moves the device 100 along the Y axis has a greater negative impact on the operation of the device 100 than the heat flux from the motor that moves the device 100 along the X axis, the path manager 122 may be configured to select the shortest candidate path that requires a total movement of the device 100 along the Y axis that is less than 60% of the total movement required of the device 100 along the X axis. Alternatively, the path manager 122 is further configured to select the shortest candidate path among the candidate paths that substantially achieves a predefined ratio of movement of the device along the selected axis relative to the specified other axes. Thus, for example, where it is known that the heat flux from the motor that moves the device 100 along the Y axis has a greater negative impact on the operation of the device 100 than the heat flux from the motor that moves the device 100 along the X axis, the path manager 122 may be configured to select the shortest candidate path that substantially achieves a 2:1 ratio of movement of the device along the X axis relative to the Y axis. The predefined percentage or ratio can be determined experimentally by observing actual movement of the device 100 along various paths, wherein different percentages or ratios result in different navigation alignment error values ​​and measurement error values, and wherein a given percentage or ratio is selected to achieve a desired maximum error value. The path manager 122 then instructs the controller 112 to cause the device 100 to traverse the selected path.

[0030] Reference now Figure 2 , Figure 2 is operated in accordance with an embodiment of the present invention Figure 1 A simplified flow chart of an exemplary method of operation of a system of FIG. Figure 2In a method of, a plurality of candidate paths are determined for positioning a device at a plurality of locations by moving the device in a series of movements along a plurality of axes (step 200). The shortest of the candidate paths is selected, wherein the selected path requires a total movement of the device along the selected axis that is less than a predefined percentage of the total movement of the device required along specified other axes, or wherein the selected path substantially achieves a predefined ratio of movement of the device along the selected axis relative to the specified other axes (step 202). The device is then caused to traverse the selected path (step 204). Optionally, the device is moved along the selected axis using a lower acceleration than that used for any other axis (step 206). Optionally, the device is moved along the selected axis using a kinematic characteristic that is slower than that used for any other axis (step 208).

[0031] It should be understood that Figure 1 systems and Figure 2 The method can be implemented by various metering systems, such as the Nova 1000 commercially available from Nova Ltd. of Rehovot, Israel. Nova and Nova It is further to understand that Figure 1 systems and Figure 2 The method can be applied to Figure 1 The components are except Figure 1 Other configurations than those shown by way of example.

[0032] The invention may be implemented according to conventional techniques in computer hardware and / or in computer software embodied in a non-transitory computer-readable medium. Figure 1 systems and Figure 2 aspects of the method.

[0033] Reference now Figure 3A and Figure 3B , Figure 3A and Figure 3B is based on Figure 1 A bar graph of experimental data collected during operation of the system is used to illustrate various types of measurements that may be considered when determining a desired ratio of movement of device 100 along the X-axis relative to movement of device 100 along the Y-axis. Figure 3A The effect of different ratios of X-axis to Y-axis movement on the average time required for the device 100 to move between predefined positions is shown, where a maximum time of 0.4 seconds is set, such as by a system operator, to achieve a desired throughput. Figure 3A It is shown that the ratios 1:1 and 1:2 are below the maximum value, while the ratio 1:4 is above the maximum value. Figure 3BThe effect of different X-axis to Y-axis movement ratios on the AC current root mean square (RMS) values ​​required to move the device 100 along the Y-axis over different time intervals is shown, where a maximum RMS of 4.2 amps is set by a system operator to implement known device operating limitations, where the RMS constraint is known to limit the heat flux from the motor that moves the device 100 along the Y-axis to not exceed a predetermined acceptable operating temperature. Figure 3B It is shown that ratios 1:2 and 1:4 are below the maximum, while ratio 1:1 is at or above the maximum. Therefore, when considering both histograms, ratio 2:1 may be selected because it is below both maximums.

[0034] Various aspects of the present invention are described herein with reference to the flowchart and / or block diagram of the method, device (system) and computer program product (CPP) according to an embodiment of the present invention. It should be understood that each frame of the flowchart and / or block diagram and the combination of frames in the flowchart and / or block diagram can be implemented by computer-readable program instructions. These computer-readable program instructions can be provided to the processor of a computer or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device create a means for implementing the function / action specified in one or more frames of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, which can guide computers, programmable data processing devices, and / or other devices to operate in a specific manner, so that the computer-readable storage medium storing instructions includes a manufactured product containing instructions for implementing the function / action specified in one or more frames in the flowchart and / or block diagram.

[0035] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other devices to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other devices implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0036] The flow chart and block diagram in the accompanying drawings show the architecture, function and operation of the possible implementation of the system, method and computer program product according to various embodiments of the present invention.In this regard, each frame in the flow chart or block diagram can represent a module, a fragment or a part of an instruction, which includes one or more executable instructions for implementing a specified logical function.In some alternative embodiments, the function shown in the frame may not occur in the order shown in the accompanying drawings.For example, the two frames shown in succession can actually be completed as a step, in parallel, substantially in parallel, or in a partially or completely overlapping manner in time, or the frame can sometimes be performed in reverse order, depending on the function involved.It should also be noted that each frame in the block diagram and / or flow chart, and the combination of frames in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or action or realizes a combination of special hardware and computer instructions.

[0037] A computer program product embodiment ("CPP embodiment" or "CPP") is a term used in this disclosure to describe any group of one or more storage media (also referred to as "media") collectively included in a group of one or more storage devices that collectively include machine-readable code corresponding to instructions and / or data for performing the computer operations specified in a given CPP claim. A "storage device" is any tangible device that can retain and store instructions for use by a computer processor. A computer-readable storage medium may be, but is not limited to, an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Some known types of storage devices that include these media include: a magnetic disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a mechanical encoding device (such as a punch card or pits / land formed in a major surface of an optical disc), or any suitable combination of the foregoing. As the term is used in this disclosure, computer-readable storage media should not be interpreted as storing in the form of transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides, light pulses transmitted through fiber optic cables, electrical signals transmitted through wires, and / or other transmission media. As will be understood by those skilled in the art, data is usually moved at some specific point in time during normal operation of the storage device (such as during access, defragmentation, or garbage collection), but this does not make the storage device transient because the data is not transient when it is stored.

[0038] Figure 4An exemplary computing environment 400 for executing any computer code 450 configured to implement any aspect of the present invention described herein is shown. The computing environment 400 includes, for example, a computer 401, a wide area network (WAN) 402, an end-user device (EUD) 403, a remote server 404, a public cloud 405, and a private cloud 406. In this embodiment, the computer 401 includes a processor group 410 (including a processing circuit system 420 and a cache 421), a communication architecture 411, a volatile memory 412, a persistent storage device 413 (including an operating system 422 and computer code 450 as identified above), a peripheral device group 414 (including a user interface (UI) device group 423, a storage device 424, and an Internet of Things (IoT) sensor group 425), and a network module 415. The remote server 404 includes a remote database 430. The public cloud 405 includes a gateway 440, a cloud orchestration module 441, a host physical machine group 442, a virtual machine group 443, and a container group 444.

[0039] Computer 401 may take the form of a desktop computer, a laptop computer, a tablet computer, a smart phone, a smart watch or other wearable computer, a mainframe computer, a quantum computer, or any other form of computer or mobile device now known or developed in the future that is capable of running programs, accessing a network, or querying a database (such as remote database 430). As is well understood in the field of computer technology, and depending on the technology, the execution of the computer-implemented method may be distributed among multiple computers and / or among multiple locations. On the other hand, in this presentation of computing environment 400, the detailed discussion focuses on a single computer (specifically, computer 401) to keep the presentation as simple as possible. Computer 401 may be located in the cloud, even if computer 401 is not in the cloud. Figure 4 On the other hand, unless otherwise expressly indicated to any extent, computer 401 need not be in the cloud.

[0040] Processor group 410 includes one or more computer processors of any type known now or developed in the future. Processing circuit system 420 may be distributed over multiple packages, for example, multiple coordinated integrated circuit chips. Processing circuit system 420 may implement multiple processor threads and / or multiple processor cores. Cache 421 is a memory located in the processor chip package and typically used for data or code, which should be available for fast access by threads or cores running on processor group 410. Cache memory is typically organized into multiple levels depending on the relative proximity to the processing circuit system. Alternatively, some or all caches for the processor group may be located "off chip". In some computing environments, processor group 410 may be designed to work with quantum bits and perform quantum computing.

[0041] Computer readable program instructions are typically loaded onto computer 401 to cause a series of operating steps to be performed by processor group 410 of computer 401 and thereby implement a computer-implemented method, such that the instructions so executed will instantiate the method specified in the flowchart and / or narrative description of the computer-implemented method (collectively referred to as "the method of the present invention") included in this document. These computer readable program instructions are stored in different types of computer readable storage media, such as cache 421 and other storage media discussed below. The program instructions and related data are accessed by processor group 410 to control and direct the execution of the method of the present invention. In computing environment 400, at least some of the instructions for performing the method of the present invention may be stored in computer code 450 in persistent storage device 413.

[0042] The communication fabric 411 is the signaling paths that allow the various components of the computer 401 to communicate with each other. Typically, the fabric is made of switches and conductive paths, such as those that make up a bus, a bridge, physical input / output ports, etc. Other types of signal communication paths may be used, such as fiber optic communication paths and / or wireless communication paths.

[0043] The volatile memory 412 is any type of volatile memory now known or developed in the future. Examples include dynamic random access memory (RAM) or static RAM. Typically, the volatile memory 412 is characterized by random access, but this is not required unless explicitly stated. In the computer 401, the volatile memory 412 is located in a single package and is located internal to the computer 401, but, alternatively or additionally, the volatile memory may be distributed over multiple packages and / or located externally relative to the computer 401.

[0044] Persistent storage 413 is any form of non-volatile storage for a computer known now or developed in the future. The non-volatility of the storage means that the stored data is maintained regardless of whether power is supplied to the computer 401 and / or directly to the persistent storage 413. Persistent storage 413 may be a read-only memory (ROM), but typically at least a portion of the persistent storage allows data to be written, deleted, and rewritten. Some familiar forms of persistent storage include disks and solid-state storage devices. Operating system 422 may take several forms, such as various known proprietary operating systems or open source portable operating system interface type operating systems that employ a kernel. The code included in computer code 450 typically includes at least some of the computer code involved in executing the method of the present invention.

[0045] The peripheral device group 414 includes a group of peripheral devices of the computer 401. The data communication connection between the peripheral devices of the computer 401 and other components can be implemented in various ways, such as a Bluetooth connection, a near field communication (NFC) connection, a connection by a cable (such as a universal serial bus (USB) type cable), a plug-in type connection (e.g., a secure digital (SD) card), a connection via a local area communication network, and even a connection via a wide area network (such as the Internet). In various embodiments, the UI device group 423 may include components such as a display screen, a speaker, a microphone, a wearable device (such as goggles and a smart watch), a keyboard, a mouse, a printer, a touchpad, a game controller, and a tactile device. The storage device 424 is an external storage device such as an external hard drive or a pluggable storage device such as an SD card. The storage device 424 can be persistent and / or volatile. In some embodiments, the storage device 424 can take the form of a quantum computing storage device for storing data in the form of quantum bits. In embodiments where it is necessary for computer 401 to have a large amount of storage (e.g., where computer 401 locally stores and manages a large database), the storage may be provided by a peripheral storage device designed to store very large amounts of data, such as a storage area network (SAN) shared by multiple geographically distributed computers. IoT sensor group 425 consists of sensors that can be used in IoT applications. For example, one sensor may be a thermometer and another sensor may be a motion detector.

[0046] The network module 415 is a collection of computer software, hardware, and firmware that allows the computer 401 to communicate with other computers via the WAN 402. The network module 415 may include hardware (such as a modem or a Wi-Fi signal transceiver), software for packetizing and / or depacketizing data for communication network transmission, and / or a network browser software for transmitting data on the Internet. In some embodiments, the network control function and the network forwarding function of the network module 415 are performed on the same physical hardware device. In other embodiments (e.g., embodiments utilizing software defined networks (SDN)), the control function and the forwarding function of the network module 415 are performed on physically separated devices, so that the control function manages several different network hardware devices. Computer-readable program instructions for performing the method of the present invention can generally be downloaded to the computer 401 from an external computer or an external storage device via a network adapter card or a network interface included in the network module 415.

[0047] WAN 402 is any wide area network (e.g., the Internet) capable of transmitting computer data over non-local distances by any technology for transmitting computer data now known or developed in the future. In some embodiments, WAN 402 may be replaced and / or supplemented by a local area network (LAN) designed to transmit data between devices located in a local area (such as a Wi-Fi network). WANs and / or LANs typically include computer hardware such as copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and edge servers.

[0048] End-user device (EUD) 403 is any computer system used and controlled by an end-user (e.g., a customer of an enterprise operating computer 401), and may take any of the forms discussed above in connection with computer 401. EUD 403 typically receives helpful and useful data from the operation of computer 401. For example, in the hypothetical case where computer 401 is designed to provide recommendations to an end-user, the recommendations are typically transmitted from network module 415 of computer 401 to EUD 403 via WAN 402. In this manner, EUD 403 may display or otherwise present the recommendations to the end-user. In some embodiments, EUD 403 may be a client device, such as a thin client, a heavy client, a mainframe computer, a desktop computer, etc.

[0049] Remote server 404 is any computer system that provides at least some data and / or functionality to computer 401. Remote server 404 may be controlled and used by the same entity that operates computer 401. Remote server 404 represents a machine that collects and stores helpful and useful data for use by other computers, such as computer 401. For example, in the hypothetical case where computer 401 is designed and programmed to provide recommendations based on historical data, then that historical data may be provided to computer 401 from remote database 430 of remote server 404.

[0050] Public cloud 405 is any computer system available to multiple entities that provides on-demand availability of computer system resources and / or other computer capabilities, especially data storage (cloud storage) and computing capabilities, without the need for direct active management by users. Cloud computing typically uses the sharing of resources to achieve consistency and economies of scale. The direct and active management of the computing resources of public cloud 405 is performed by computer hardware and / or software of cloud orchestration module 441. The computing resources provided by public cloud 405 are typically implemented by a virtual computing environment that runs on individual computers that make up the host physical machine group 442, which is the entirety of physical computers in and / or available for public cloud 405. A virtual computing environment (VCE) typically takes the form of a virtual machine from a virtual machine group 443 and / or a container from a container group 444. It should be understood that these VCEs can be stored as images and can be transferred in and between individual physical machine hosts as images or after instantiation of the VCE. Cloud orchestration module 441 manages the delivery and storage of images, deploys new instances of VCEs, and manages active instantiations of VCE deployments. Gateway 440 is a collection of computer software, hardware, and firmware that allows public cloud 405 to communicate over WAN 402 .

[0051] Some further explanation of virtual computing environments (VCEs) will now be provided. A VCE can be stored as an "image". A new active instance of a VCE can be instantiated from an image. Two familiar types of VCEs are virtual machines and containers. Containers are VCEs that use operating system-level virtualization. This refers to an operating system feature in which the kernel allows the existence of multiple isolated user space instances (called containers). These isolated user space instances typically appear as real computers from the perspective of the programs running in them. Computer programs running on ordinary operating systems can utilize all the resources of the computer, such as connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, programs running inside a container can only use the contents of the container and the devices assigned to the container, a feature called containerization.

[0052] Private cloud 406 is similar to public cloud 405, except that the computing resources are only available to a single enterprise. Although private cloud 406 is depicted as communicating with WAN 402, in other embodiments, the private cloud may be completely disconnected from the Internet and accessible only via a local / private network. A hybrid cloud is a combination of multiple clouds of different types (e.g., private, community, or public cloud types), often implemented by different vendors. Each of the multiple clouds remains an independent and discrete entity, but the larger hybrid cloud architecture is tied together by standardized or proprietary technologies that enable orchestration, management, and / or data / application portability between the multiple component clouds. In this embodiment, public cloud 405 and private cloud 406 are both parts of a larger hybrid cloud.

[0053] The description of the various embodiments of the present invention has been presented for illustrative purposes and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements over existing technologies on the market, or to enable those skilled in the art to understand the embodiments disclosed herein.

Claims

1. A method for positioning a device, the method comprising: determining a plurality of candidate paths for positioning a device at a plurality of locations, wherein the positioning requires moving the device in a series of movements along a plurality of axes; selecting a shortest candidate path among the candidate paths that requires less total movement of the device along the selected one of the plurality of axes than total movement of the device along specified other ones of the plurality of axes; and The device is urged to traverse the selected path.

2. The method according to claim 1, wherein: The selecting includes selecting wherein the total movement of the device required along the selected axis by the selected candidate path is less than a predefined percentage of the total movement of the device required along the specified other axis.

3. The method according to claim 1, wherein: The selecting includes selecting wherein the selected candidate path substantially achieves a predefined ratio of movement of the device along the selected axis relative to the specified other axis.

4. The method according to claim 1, wherein: The determining, selecting, and causing are performed in support of manufacturing a semiconductor device.

5. The method according to claim 6, wherein: The determining includes determining the candidate path for positioning the device positioned proximate each of a plurality of dies on a semiconductor wafer.

6. The method according to claim 1, wherein: The device is mounted on a carriage movable along the plurality of axes.

7. The method according to claim 1, wherein: The movement of the device is achieved by a plurality of motors, wherein each of the plurality of motors controls the movement of the device along a different one of the axes.

8. The method according to claim 1, wherein: The causing includes causing the device to move along at least one selected axis using a lower acceleration than for any other axis.

9. The method according to claim 1, wherein: The causing includes causing the device to move along at least one selected axis using kinematics that are slower than kinematics used for any other axis.

10. The method according to claim 1, wherein: The plurality of axes include an X-axis and a Y-axis.

11. The method according to claim 1, wherein: The movement of the device is achieved by a plurality of motors, which move the device along the plurality of axes, Each of the plurality of motors controls movement of the device along a different one of the axes, and Heat flux from one of the plurality of motors moving the device along at least one selected axis negatively affects operation of the device more than any other motor moving the device an equal amount along any other axis.

12. The method according to claim 1, wherein: The device includes an optical metrology device.

13. The method according to claim 1, wherein: The apparatus comprises a metrology apparatus configured for use between two processing steps in a semiconductor manufacturing process.

14. A system for locating a device, the system comprising: The path manager is configured to: determining a plurality of candidate paths for positioning the device at a plurality of locations, wherein the positioning requires moving the device in a series of movements along a plurality of axes; and selecting a shortest candidate path among the candidate paths that requires less total movement of the device along the selected one of the plurality of axes than total movement of the device along specified other ones of the plurality of axes; and A controller is configured to cause the device to traverse the selected path.

15. The system of claim 1, wherein: The selected candidate path requires a total movement of the device along the selected axis that is less than a predefined percentage of a total movement of the device along the specified other axis.

16. The system of claim 1, wherein: The selected candidate path substantially achieves a predefined ratio of movement of the device along the selected axis relative to the specified other axis.

17. The system of claim 14, wherein: The path manager is configured to determine the candidate paths for positioning the device that are positioned proximate each of a plurality of dies on a semiconductor wafer.

18. The system of claim 14, wherein: The device is mounted on a carriage movable along the plurality of axes.

19. The system of claim 14, wherein: The movement of the device is achieved by a plurality of motors, wherein each of the plurality of motors controls the movement of the device along a different one of the axes.

20. The system of claim 14, wherein: The controller is configured to cause the device to move along at least one selected axis using a lower acceleration than for any other axis.

21. The system of claim 14, wherein: The controller is configured to cause the device to move along at least one selected axis using kinematic characteristics that are slower than the kinematic characteristics used for any other axis.

22. The system of claim 14, wherein: The plurality of axes include an X-axis and a Y-axis.

23. The system of claim 14, wherein: The movement of the device is achieved by a plurality of motors, which move the device along the plurality of axes, Each of the plurality of motors controls movement of the device along a different one of the axes, and Heat flux from one of the plurality of motors moving the device along at least one selected axis negatively affects operation of the device more than any other motor moving the device an equal amount along any other axis.

24. The system of claim 14, wherein: The device includes an optical metrology device.

25. The system of claim 14, wherein: The apparatus comprises a metrology apparatus configured for use between two processing steps in a semiconductor manufacturing process.