Package Imaging for Die Position Correction in Digital Lithography

The camera system addresses die placement errors in digital lithography by capturing images to determine actual die locations and adjusting lithography instructions, thereby improving accuracy and yield in semiconductor processing.

JP2025509372AInactive Publication Date: 2025-04-11APPLIED MATERIALS INC
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
JP2024553644
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-12
Filing Date
2023-03-06
Publication Date
2025-04-11
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Conventional digital lithography systems face challenges in accurately correcting die placement errors on substrates, which can lead to misalignment and reduced yield in semiconductor processing.

Method used

A camera system is used to capture images of dies on a substrate, determining the actual location of dies based on the images, and calculating the difference between the expected and actual positions. This information is then used to adjust the instructions for the digital lithography system to compensate for die placement errors.

Benefits of technology

The system efficiently corrects die placement errors, improving the accuracy of digital lithography processes and enhancing the yield of semiconductor manufacturing by minimizing misalignment issues.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025509372000001_ABST
    Figure 2025509372000001_ABST
Patent Text Reader

Abstract

The actual physical location of the die on the substrate package may be determined without using a full metrology scan of the substrate. Instead, one or more cameras may be used to efficiently determine the approximate location of any alignment features based on their expected placement in the package or substrate design file. The camera may then be moved to where the alignment features should be, an image may be captured, and the actual locations of the alignment features may be determined. These actual locations of the alignment features may then be used to determine the coordinates of the die and identify any variations in the rotation or height of the die on the package. The difference between the expected location from the design file and the actual physical location may be used to adjust the instructions for the digital lithography system to compensate for the die misalignment.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of and claims priority to U.S. Application No. 17 / 693,356, filed March 12, 2022, and entitled "PACKAGE IMAGING FOR DIE LOCATION CORRECTION IN DIGITAL LITHOGRAPHY," the contents of which are incorporated herein by reference in their entirety for all purposes.

[0002]

[0002] The present disclosure relates generally to lithography systems. More particularly, the present disclosure describes a camera system used to correct die placement in a package prior to depositing traces with digital lithography. [Background technology]

[0003]

[0003] Digital lithography is widely used in the manufacture of semiconductor devices, such as the back-end processing of semiconductor devices, liquid crystal displays (LCDs), and light-emitting diode (LED) displays. For example, large area substrates are often utilized in the manufacture of LCDs and flat panel displays, which are widely used in active matrix displays such as computers, touch panel devices, personal digital assistants (PDAs), mobile phones, and television monitors. Generally, flat panel displays include a layer of liquid crystal material as a phase change material sandwiched between two plates at each pixel. When power from a power source is applied across or through the liquid crystal material, the amount of light passing through the liquid crystal material is controlled, i.e., selectively modulated, to generate an image on the display at that pixel location.

[0004]

[0004] A conventional digital lithography system may utilize one or more image projection systems. Each image projection system is configured to project one or more writing beams onto a photoresist layer on a surface of a substrate. Each image projection system projects one or more writing beams onto the surface of the substrate. A pattern (also called a mask pattern) is written into the photoresist layer on the surface of the substrate by the writing beams projected by a projection lens system. Microlithography techniques are employed to form electrical features that are incorporated as part of a liquid crystal material layer that forms pixels. According to these techniques, a light-sensitive photoresist is applied to at least one surface of the substrate. A pattern generator then exposes selected areas of the light-sensitive photoresist to light as part of the pattern, causing chemical changes in the photoresist in the selected areas and preparing these selected areas for subsequent material removal and / or material addition processes to form the electrical features. Summary of the Invention

[0005] In some embodiments, the system may include a first semiconductor processing station including one or more cameras and a first controller configured to perform a first operation including receiving first positions of the die on the substrate from a design file of the substrate, causing the one or more cameras to capture images of the die at the first positions, determining second positions of the die associated with actual positions of the die on the substrate based on the images of the die at the first positions, and determining a difference between the first and second positions. The system may also include a second semiconductor processing station configured to receive the substrate after the images are captured by the first semiconductor processing station. The second semiconductor processing station may include a digital lithography system and a second controller configured to perform a second operation including generating or adjusting instructions for the digital lithography system to compensate for the difference between the first and second positions, and causing the digital lithography system to perform a digital lithography process on the substrate using the instructions.

[0006]

[0006] In some embodiments, one or more non-transitory computer readable media may contain instructions that, when executed by one or more processors, cause the one or more processors to perform operations including receiving first positions of a plurality of dies on a substrate from a design file for the substrate; causing one or more cameras to capture images of the plurality of dies at the first positions; determining second positions of the plurality of dies associated with actual positions of the plurality of dies on the substrate based on the images of the dies at the first positions; determining a difference between the first positions and the second positions; and causing instructions for a digital lithography station to be generated or adjusted to compensate for the difference between the first positions and the second positions.

[0007]

[0007] In some embodiments, a method for adjusting digital lithography to compensate for die placement error may include receiving first positions of multiple dies on a substrate from a design file of the substrate, causing one or more cameras to capture images of the multiple dies at the first positions, determining second positions of the multiple dies associated with actual positions of the multiple dies on the substrate based on the images of the dies at the first positions, determining a difference between the first positions and the second positions, and causing instructions for a digital lithography station to be generated or adjusted to compensate for the difference between the first positions and the second positions.

[0008]

[0008] In any embodiment, any and all of the following features may be implemented in any combination without limitation. The one or more cameras may include multiple cameras. The first operation may further include receiving a number of dies in a row on the substrate and spacing the multiple cameras such that the multiple cameras are arranged in a row and spaced based on the number of dies in the row on the substrate. The first operation may further include receiving a number of dies in a column on the substrate and spacing the multiple cameras such that the multiple cameras are also arranged in a column and spaced based on the number of dies in the column on the substrate. The system may further include a robot arm that moves the substrate between the first semiconductor processing station and the second semiconductor processing station. The system may further include one or more displacement sensors disposed with the one or more cameras that may be configured to measure a distance between the one or more cameras and the substrate at a position where the one or more cameras capture an image of the multiple dies at the first position. The first operation may further include determining a distance between the one or more cameras and the substrate and adjusting a focus of the one or more cameras based on the distance. The difference between the first position and the second position of the plurality of dies may be due to misalignment when the plurality of dies are attached to the substrate. The first position may include an expected position of an alignment feature on the plurality of dies. The second position may include an actual position of the alignment feature on the plurality of dies after being attached to the substrate. The one or more cameras may include one or more line scan cameras configured to perform a line scan capture of an image of the die. The image of the die may include a line scan along a line where the first position indicates a position of the alignment feature on the plurality of dies. The method / operation may also include causing the one or more cameras to capture an image of one or more global alignment features on the substrate to align the substrate. The first position may indicate a bevel edge or a die corner of one of the plurality of dies.The method / operation may also include updating the universal metrology file with X / Y coordinates of actual locations of the multiple die on the substrate. The image in the image of the multiple die may include a field of view that captures the multiple first locations in the image. The method / operation may also include maximizing a field of view of the one or more cameras such that a resolution of the one or more cameras can still accurately identify the second locations. The one or more cameras may include multiple cameras spaced apart based on the field of view of the multiple cameras.

[0009] A further understanding of the nature and advantages of the various embodiments may be realized by reference to the remaining portions of the specification and the drawings, in which like reference numerals are used throughout the several views to refer to similar components. In some cases, a sub-label is associated with a reference numeral to indicate one of several similar components. When reference is made to a reference numeral without specifying an existing sub-label, it is intended to refer to all such several similar components. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a perspective view of a lithography system in accordance with some embodiments. [Figure 2A] 1 illustrates a substrate according to some embodiments. [Figure 2B] 1 illustrates a cross-sectional view of a package according to some embodiments. [Figure 3A] 1 illustrates a top view of a package with a properly aligned die according to some embodiments. [Figure 3B] 1 illustrates a top view of a package having an improperly aligned die according to some embodiments. [Figure 4] 13 illustrates how the actual location of a die can be determined using ideal locations from a design file, according to some embodiments. [Diagram 5]1 illustrates an arrangement of one or more cameras for capturing images of expected positions of alignment features on a substrate, according to some embodiments. [Figure 6A] 1 illustrates a semiconductor processing station equipped with a camera for efficiently capturing the actual positions of alignment features, according to some embodiments. [Figure 6B] 1 illustrates a system including multiple semiconductor processing stations, according to some embodiments. [Figure 7] 1 illustrates a flowchart of a method for determining a difference between an expected position and an actual position of a die, according to some embodiments. [Figure 8] 1 illustrates a flowchart of a method for adjusting a digital lithography process to compensate for differences between expected and actual positions of a die on a substrate, according to some embodiments. [Figure 9] 1 illustrates a flowchart of a method for adjusting digital lithography to compensate for die placement errors, according to some embodiments. [Figure 10] 1 illustrates an exemplary computer system upon which various embodiments may be implemented. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011]

[0023] FIG. 1 is a perspective view of a lithography system 100 according to some embodiments. The system 100 includes a base frame 110, a slab 120, a stage 130, and a processing device 160. The base frame 110 rests on the floor of a fabrication facility and supports the slab 120. A pneumatic passive isolator 112 is disposed between the base frame 110 and the slab 120. In some embodiments, the slab 120 is a single slab of granite, and the stage 130 is disposed on the slab 120. A substrate 140 is supported by the stage 130. A number of holes (not shown) are formed in the stage 130 through which a number of lift pins (not shown) can extend. In some embodiments, the lift pins rise to an extended position to receive the substrate 140 from one or more transfer robots (not shown), or the like. The one or more transfer robots are used to load and unload the substrate 140 onto and from the stage 130.

[0012]

[0024] The substrate 140 is made of any suitable material, such as, for example, quartz, which is used as part of a flat panel display. In other embodiments, the substrate 140 is made of other materials. In some embodiments, the substrate 140 has a photoresist layer formed thereon. The photoresist is highly sensitive to radiation. A positive photoresist includes portions of the photoresist that, when exposed to radiation, become soluble in a photoresist developer that is applied to the photoresist after a pattern is written into the photoresist, respectively. A negative photoresist includes portions of the photoresist that, when exposed to radiation, become insoluble in a photoresist developer that is applied to the photoresist after a pattern is written into the photoresist, respectively. The chemical composition of the photoresist determines whether the photoresist is a positive or negative photoresist. Examples of photoresists include, but are not limited to, at least one of diazonaphthoquinone, phenol formaldehyde resin, poly(methyl methacrylate), poly(methyl glutarimide), and SU-8. In this manner, a pattern is formed on the surface of the substrate 140 to form an electronic circuit.

[0013]

[0025] The system 100 includes a pair of supports 122 and a pair of tracks 124. The pair of supports 122 is disposed on a slab 120, where the slab 120 and the pair of supports 122 are a single piece of material. The pair of tracks 124 are supported by the pair of supports 122, and the stage 130 moves along the tracks 124 in an X-direction. In one embodiment, the pair of tracks 124 are a pair of parallel magnetic channels. As shown, each track 124 in the pair of tracks 124 is linear. In other embodiments, one or more of the tracks 124 are non-linear. An encoder 126 is coupled to the stage 130 to provide position information to a controller (not shown).

[0014]

[0026] The processing device 160 includes a support 162 and a processing unit 164. The support 162 is disposed on the slab 120 and includes an opening 166 for the stage 130 to pass under the processing unit 164. The processing unit 164 is supported by the support 162. In some embodiments, the processing unit 164 is a pattern generator configured to expose a photoresist in a lithography process. In some embodiments, the pattern generator is configured to perform a maskless lithography process. The processing unit 164 includes a plurality of image projection devices (shown in FIGS. 2A and 2B). In some embodiments, the processing unit 164 includes as many as 84 image projection devices. Each image projection device is disposed within a case 165. The processing device 160 is useful for performing maskless direct patterning.

[0015]

[0027] In operation, the stage 130 moves in the X direction from a loading position as shown in FIG. 1 to a processing position. The processing position is one or more positions of the stage 130 as it passes under the processing unit 164. In operation, the stage 130 is lifted by a number of air bearings (not shown) and moves along the pair of tracks 124 from the loading position to the processing position. A number of vertical guide air bearings (not shown) are coupled to the stage 130 and positioned adjacent the inner wall 128 of each support 122 to stabilize the movement of the stage 130. The stage 130 also moves in the Y direction by moving along the track 150 to process and / or index the substrate 140. The stage 130 is capable of independent movement and can scan the substrate 140 in one direction and step in the other direction.

[0016]

[0028] A metrology system measures the X and Y lateral position coordinates of each of the stages 130 in real time so that each of the multiple image projection devices can accurately identify the location of the pattern being written on the photoresist covered substrate. The metrology system also provides real time measurements of the angular position of each of the stages 130 about the vertical or Z axis. The angular position measurements can be used to hold the angular position constant during a scan by a servo mechanism or can be used to apply corrections to the positions of the patterns being written on the substrate 140 by the image projection devices.

[0017]

[0029] FIG. 2A illustrates a substrate 202 according to some embodiments. The substrate 202 may be made of any type of material, including those materials described above for the substrate 140. This particular substrate 202 may include a number of different packages 204 formed on the surface of the substrate 202. Each package 204 may include one or more individual dies 222 manufactured from other semiconductor processes. For example, a single package 204-1 may include multiple dies 222 representing individual integrated circuits and / or systems-on-chips, such as processors, memories, digital signal processors (DSPs), memory controllers, crypto chips, and / or any other type of integrated circuit. Each package may also include other features, such as metal pillars 220 that can be used as mounting connections for later mounting the package 204 to a printed circuit board (PCB). After the fabrication of the substrate 202 is complete, the substrate 202 may be cut apart to separate the individual packages 204. This allows multiple packages to be simultaneously fabricated on the substrate 202.

[0018]

[0030] In addition to the die 222, pillars 220, and other package or integrated circuit features, the substrate 202 may include alignment features that may be used by various semiconductor processing stations to orient the substrate 202 and identify specific locations on the substrate 202. For example, the substrate 202 itself may include global alignment features 206 that may be used to orient the substrate 202 as a whole. As used herein, an "alignment feature" may include any visual or physical characteristic on any portion of the substrate 202 that may be identified by a sensor, such as a camera. For example, the global alignment features 206 may include marks that are visually identifiable by a camera. These global alignment features may be used to orient or rotate the substrate 202 in a semiconductor processing station, such as the digital lithography system 100 described above. As a further example, the substrate 202 may also include global alignment features 208 that may be used to position or locate rows and columns of the packages 204. Additionally, the “alignment features” may include corners of the package, corners of the die, and / or bevel edges of the component or substrate 202 .

[0019]

[0031] Each of the individual packages 204 and / or each of the individual dies 222 on the package 204 may also include various alignment features. Although not explicitly shown, the package 204 may include visual fiducials or marks similar to the global alignment features 206 that are specifically designed to be identified by a camera or other sensor. Additionally, the pillars 220 or other functional portions of the semiconductor circuitry on the package 204 may be used as alignment features. For example, the pillars 220 may be used to facilitate connection to a printed circuit board in another system, and the pillars 220 may also be used to identify the location or orientation of the package 204. Similarly, each of the individual dies 222 on the package 204 may also include alignment features 222. For example, exposed vias, pads, or other metal connections on the die 222 may be used as alignment features 224 for the die 222. Visual marks or symbols may also be specifically designed on the die 222 to serve as alignment features that are visually identifiable by a camera or other sensor.

[0020]

[0032] FIG. 2B illustrates a cross-sectional view of a package 204-1 according to some embodiments. The package may be formed on a substrate 202, sometimes referred to as a carrier when the substrate 202 is separated into individual packages. The pillars 222 may be formed by standard semiconductor manufacturing processes. For example, a mask layer may be formed with voids where the pillars 220 are to be located, and then a deposition process may be used to deposit a metal layer into these voids to form the pillars 220. The mask layer may then be removed, leaving the pillars 220 exposed. Because the manufacturing process for the pillars 220 may use existing deposition and etching processes that are very accurate, the position of the pillars 220 may often be assumed to be correctly placed. Thus, as described above, the pillars 220 may be used as an alignment feature for the package 204-1 in some embodiments.

[0021]

[0033] The die 222 is not typically fabricated directly on the substrate 222 as the pillars 220 are. Instead, the die 222 can be fabricated using other semiconductor processes and later attached to the substrate 202. For example, in some embodiments, a layer of epoxy or other adhesive can be deposited on the substrate 202 first, and the die 222 can be placed in the epoxy at a predetermined location based on the design of the package 204-1. In contrast to the very precise placement of the pillars 220 using deposition and etching processes in a semiconductor manufacturing chamber, the physical placement of the die 222 can be subject to large variations in its final location after the epoxy has cured. For example, a pick-and-place machine can place the die 222 at a location on the package 204-1. However, physical tolerances of both the machine and the substrate 202 can result in errors in the location where the die 222 is physically placed. Even if the die 222 is precisely placed in the correct location on the package 204-1, the relatively high viscosity of the epoxy can cause the die 222 to move after placement.

[0022]

[0034] Differences between the expected location of the die 222 from the design and the actual physical location of the die 222 after physical placement during manufacturing can adversely affect the accuracy with which the die 222 is interconnected on the package 204-1. For example, in some embodiments, any voids on the package 204-1 can be filled with a conformal coating or epoxy to protect the individual components. This coating may be polished to expose the surfaces of the pillars 220, the input / output (I / O) pads on the die 222, and / or other connection surfaces that are part of the package 204-1. In some embodiments, the substrate 202 can be placed in the digital lithography system 100 and the digital lithography techniques described above can be used to deposit metal traces 230 and other features on the surfaces of the package 204-1 to form the interconnects of the package 204-1. If die 222 is not in the expected location, this very precise routing of traces 230 formed by digital lithography techniques may miss intended I / O pads on die 222, which may render package 204-1 inoperable, thereby reducing the effective yield of the semiconductor process.

[0023]

[0035] FIG. 3A illustrates a top view 300 of a package 204-1 with a properly aligned die 222, according to some embodiments. In this example, a first die 222-1 and a second die 222-2 can be placed on the package 204-1. The design file of the package 204-1 can include connections between I / O pads 308 on the first die 222-1 and I / O pads 310 on the second die 222-2. Traditionally, software receives a design file (e.g., a GDS file) of a substrate and converts the coordinates of the connections into the routes of traces 302 represented in a program file of a digital lithography system. As described above, the digital lithography system can be configured to identify alignment features on the substrate so that the substrate is properly aligned in a lithography station. It was then assumed that the actual positions of the package 204 and the die 222 on the substrate can be identified based on the relative coordinates from the global alignment features on the substrate. As long as die 222 is in the expected position, trace 302 formed between I / O pad 308 and I / O pad 310 will make the proper connection.

[0024]

[0036] Note that trace 302 may be routed so as not to cross other I / O pads on die 222, although for simplicity this example uses a straight line route for trace 302. Furthermore, many other dies may be present on package 204-1, with many additional traces omitted for clarity when illustrating the alignment of trace 302.

[0025]

[0037] FIG. 3B illustrates a top view 301 of a package 204-1 with an improperly aligned die 222, according to some embodiments. As previously discussed, the die 222 may be misaligned, shifted, rotated, or otherwise positioned such that it is not exactly in the position specified in the design file for the substrate or package 204-1. This may be due to epoxy movement, tolerances in the physical placement process, and / or other process variations. Regardless of how the misalignment occurs, this example illustrates how the routing between I / O pads 308 and 310 may need to be adjusted to properly connect these I / O pads. For example, it is clear that trace 302 in FIG. 3A will not properly connect these I / O pads if die 222 is not in place. To create a proper route for trace 320, the misalignment of die 222 may be identified, a new position may be determined, and trace 302 may be rerouted as trace 320 to properly make this connection.

[0026]

[0038] The embodiments described herein provide an efficient way to determine the actual physical location of the die 222 on the substrate without using a full metrology scan of the substrate. Instead, one or more cameras can be used to efficiently determine the approximate location of any alignment features based on their ideal placement in the package or substrate design file. The camera can then be moved to where the alignment features should be, an image can be captured, and the image can be analyzed to determine the actual physical locations of the alignment features. These actual physical locations of the alignment features can then be used to determine the X / Y coordinates of the die and identify any variations in the rotation or height of the die on the package. The difference between the expected location from the design file and the actual physical location can be used to adjust the instructions for the digital lithography system to compensate for the die misalignment.

[0027]

[0039] FIG. 4 illustrates how the actual location of a die may be identified using ideal locations from a design file, according to some embodiments. This simplified example shows a close-up view of alignment features on die 222-1 that are misaligned when placed on a corresponding package. The process may first determine the location of the camera based on the expected location of the alignment features from the design. For example, the system may receive a design file for a package or substrate and analyze the design file to extract the coordinates (e.g., X / Y coordinates) of the center location of the alignment features 422. The controller may then move the field of view 402 of the camera so that the camera captures a view of the expected location 416 where the alignment features should be.

[0028]

[0040] As described below, the system may include a semiconductor processing station having one or more cameras on a movable mount such that the camera can be freely repositioned during this process of determining the actual physical locations of the alignment features. It is noted that this is a significant technological improvement over existing methods. For example, a complete metrology scan of a substrate can take as long as 20-30 minutes. Taking an image of the entire substrate and locating the alignment features using image processing algorithms also requires significant processing power and time. In contrast, by using the expected or ideal positions of the alignment features from the design file, the camera can be initially moved to a starting position that is very close to the actual physical locations of the alignment features. Instead of taking 20 minutes or more to locate the alignment features on the substrate, this process can be performed in less than 60 seconds by optimizing the image capture positions of the cameras using the expected positions from the design.

[0029]

[0041] 4, the camera's field of view 402 may be positioned to encompass the expected location 416 of the alignment feature 422 and a sufficient amount of surrounding area such that the actual location 414 of the alignment feature 422 is likely to be within the field of view 402 if the die 222-1 were to move out of alignment. For example, the die 222-1 may be shifted upward in the Y direction in FIG. 4 and / or rotated slightly in a counterclockwise direction such that the actual location 414 of the alignment feature 422 is captured within the field of view 402. Instead of processing multiple images using computer vision techniques to identify a field of view that includes the alignment feature 422, the process may analyze a single image of the field of view 402 to identify the actual location 414 of the alignment feature 422.

[0030]

[0042] In some cases, the camera may be positioned at a height and / or position such that the field of view 402 may encompass multiple alignment features. In this example, the field of view 402 may include another alignment feature 412. Instead of being centered on the expected position 416 of the alignment feature 422, the field of view 402 may be centered, for example, on a midpoint between the expected position 416 of the alignment feature 422 and the expected position 415 of the alignment feature 412. This further reduces the processing time for determining the actual positions of the alignment features, since a single image frame may be analyzed to determine the actual positions of multiple alignment features.

[0031]

[0043] In some embodiments, the camera may be positioned to capture at least two alignment features for each die. For example, the camera may be positioned to capture a first alignment feature and then move to capture a second alignment feature. Alternatively, the camera may be positioned to capture two alignment features simultaneously. In other embodiments, the camera may be positioned to capture more than two alignment features (e.g., five alignment features). Using the actual positions of the at least two alignment features, the system may determine a new position of the die. The system may calculate a difference between the actual position of the alignment feature and the expected position of the alignment feature. For example, the difference 442 between the expected position 415 and the actual position 414 of the alignment feature 412 may be calculated. Similarly, the difference 440 between the expected position 416 and the actual position 414 of the alignment feature 422 may be calculated. These differences can be calculated by first identifying the centers of the actual locations of the alignment features, as depicted in FIG. 4, and then calculating the distance between the actual center location and the expected center location.

[0032]

[0044] Alternatively, the difference may be determined and represented by a new position of the die 222-1. For example, the actual positions of at least two alignment features may be used to calculate a new position (e.g., position, rotation, and / or height) of the die 222-1. The actual position of the die 222-1 may then be compared to the expected position of the die 222-1 to adjust instructions for the digital lithography system so that traces are correctly routed to I / O pads on the die 222-1. The new position of the die 222-1 may also update the positions of other alignment features on the die 222-1 that were not specifically identified in the image captured by the camera.

[0033]

[0045] 5 illustrates an arrangement of one or more cameras for capturing images of expected locations of alignment features on a substrate, according to some embodiments. In this example, a semiconductor processing station can include multiple cameras 502. The multiple cameras 502 can be mounted on moveable mounts, tracks, or other hardware that allows the cameras to move, rotate, pan, and / or tilt to capture the substrate 202 at various positions and / or angles. For example, the cameras 502 can be mounted on a fixture with guide bearings and / or motors that allow the cameras 502 to be precisely moved above various positions on the substrate 202.

[0034]

[0046] In addition to the increased throughput that may be achieved by placing the cameras above the expected locations of the alignment features on the die, in some embodiments, system performance may be further improved by optimally spacing or positioning the multiple cameras 502 based on the spacing of the expected locations of the individual dies. For example, packages on the substrate 202 may typically be organized into a series of rows and / or columns on the substrate. The spacing and initial positions of the cameras 502 may be determined based on the number of cameras and the number of packages or dies in each row or column.

[0035]

[0047] In FIG. 5, the semiconductor processing station can determine or receive from a package or substrate design file the number of rows and / or columns of dies or packages on the substrate 202. The cameras 502 can then be spaced such that the cameras are also arranged in rows and / or columns and spaced based on the number of dies or packages in those rows and / or columns. For example, each row in FIG. 5 includes eight packages and each column includes five packages. For a configuration having four cameras 502, the cameras 502 can be arranged in two rows and two columns. The rows of cameras 502 can be evenly spaced along corresponding rows of packages. For example, the number of packages between the cameras in a row can be a multiple of the number of cameras in a row (e.g., eight packages in a row divided by two cameras in a row results in a spacing between the cameras in a row of four packages). Similarly, the columns of cameras 502 can be evenly spaced along corresponding columns of packages. For example, the number of packages between cameras in a row may be a multiple of the number of cameras in the row (e.g., 5 packages in a row divided by 2 cameras in a row will result in a spacing between the cameras of 2 or 3 packages, depending on how each embodiment rounds the result).

[0036]

[0048] Note that while package spacing is used in this example, other embodiments may use die spacing rather than package spacing. The above method can work with spacing between any type of components on a substrate, including, without limitation, packages, dies, and other components with alignment features.

[0037]

[0049] Spacing the cameras 502 in this manner minimizes camera movement and the number of images captured. In some embodiments, the cameras 502 may be mounted together on a rack, as shown in FIG. 5, so that all the cameras 502 can be moved together, rather than just moved individually on the rack. Thus, between each image capture, all the cameras 502 can be moved together to the next package in the row / column to capture the subsequent image. For example, if the rack on which the cameras 502 are mounted in FIG. 5 is moved together, and assuming that each image capture can cover the entire package within the camera's field of view, all the dies on the entire substrate 202 can be captured in nine moves (e.g., three for each column and three for each row). This number can be increased or decreased based on the number of packages that can be captured with sufficient accuracy within the field of view of the camera 502. This number can also be increased by a smaller field of view that captures alignment features on the individual dies rather than the packages.

[0038]

[0050] Instead of placing the cameras at equal intervals between the dies, in some embodiments the cameras may be placed based on the effective field of view. The field of view of each camera may be adjusted based on the accuracy required to accurately detect the alignment features so that the field of view is maximized. For example, the distance between the camera and the substrate and / or the focus setting of each camera may be adjusted to increase the field of view, so long as the alignment features can still be accurately detected when analyzing the resulting images. Thus, the cameras 502 may be spaced vertically and / or horizontally such that their fields of view are adjacent or overlapping, and the field of view may be increased to simultaneously capture images of multiple alignment features in each image. The camera rack may move all the cameras together horizontally or vertically by increments of the size of the cameras' combined field of view.

[0039]

[0051] In some embodiments, the camera 502 can be implemented using a line scan camera rather than a field of view camera. Operation using a line scan camera can be similar, except that the initial position of the camera can be determined to scan each row over the expected location of the alignment feature. Instead of scanning every increment or set of pixels in each row, the camera movement can be optimized to skip to the line where the alignment feature is expected to be located.

[0040]

[0052] 5, some embodiments may be implemented using only a single camera, in which the single camera can scan or move across each row of packages or dies to capture an image of each alignment feature.

[0041]

[0053] 6A illustrates a semiconductor processing station 600 with a camera for efficiently capturing the actual position of alignment features, according to some embodiments. The processing station may include one or more chucks 605, 675 configured to load and secure one or more substrates 604, 674 to the semiconductor processing station 600. The semiconductor processing station 600 having two chucks 605, 675 for holding corresponding substrates 604, 674 is illustrated for illustrative purposes only and is not meant to be limiting. Some embodiments may include more than two chucks / substrates, while other embodiments may include only a single chuck / substrate.

[0042]

[0054] As discussed above, the semiconductor processing station 600 may include multiple cameras 620 that are optimally positioned above the substrate 604, 674 based on the expected location of the die or alignment features. The camera 620 may include an image sensor 606 and a mount 608 that may allow the camera 620 to move, pan, and / or tilt as discussed above. Additionally, in some embodiments, the camera 620 may include a displacement sensor 610. The displacement sensor 610 may actually be referred to as a distance sensor or height sensor. The displacement sensor 610 may be configured to measure the distance between the camera and the corresponding surface of the substrate. For example, the displacement sensor 610 may be implemented using an optical sensor that projects a spot on the surface of the substrate and reflects the spot back to the optical sensor to determine the corresponding displacement distance. The displacement sensor 610 may improve the measurement process by identifying locations on the substrate 604 where there is warping, bending, or other distortion.

[0043]

[0055] As the camera is moved to a new position to capture an image or scan a line along the substrate 604, a new displacement measurement may be captured by the displacement sensor 610. This displacement may be used to adjust the focus element 612 of the camera so that each image can be properly focused to compensate for irregularities in the height of the substrate 604. By capturing a displacement measurement at each position where an image is captured, a displacement map may also be generated for the substrate 604. The displacement map may later be used to adjust how the substrate 604 is secured to a chuck of a digital lithography station. For example, an upwardly bowed portion of the substrate 604 may be more firmly attached or held to the chuck to flatten the substrate 604 during the lithography process so that the bowing does not affect the focus and accuracy of the lithography.

[0044]

[0056] The semiconductor processing station 600 may include a controller 622. The controller 622 may be programmed using stored instructions (e.g., stored in one or more non-transitory computer-readable media), which may cause one or more processors of the controller 602 to perform various operations. For example, these operations may include obtaining or receiving a design file for a package or substrate, and analyzing the design file to identify an expected location of an alignment feature or die on the substrate. The controller 622 may also be programmed to control the movement of the camera 620. For example, based on the expected location of a particular alignment feature, the controller 622 may move the camera such that the camera 620 is positioned in a row / column as described above, and progress the camera through a scan line or row / column to capture an image of the expected location of the alignment feature as described above. In some embodiments, the controller 622 may also determine a difference between the expected location and the actual location of the alignment feature and / or die in the package. The controller 622 can also adjust or generate instructions for the digital lithography station to compensate for differences between expected and actual positions of alignment features or die within a package.

[0045]

[0057] 6B illustrates a system 601 including multiple semiconductor processing stations, according to some embodiments. The system can include a first semiconductor processing station 600 including one or more cameras 620 and a controller 622, as described above. The first semiconductor processing station 600 can be configured to load a substrate 604 and efficiently capture images of expected positions of alignment features or dies, as described above.

[0046]

[0058] The system 601 may also include a second semiconductor processing system 621 configured to receive the substrate 604 after an image has been captured by the first semiconductor processing station 600. For example, the second semiconductor processing system 621 may include a digital lithography system 662, such as the digital lithography system 100 described above. The second semiconductor processing system 621 may also include a controller 660, which may include similar components (e.g., memory devices, instructions, processors, etc.) as the controller 622 described above. Exemplary hardware that may be used to implement the controllers 622, 660 is described below in conjunction with FIG. 10. The controller 660 may be configured to receive differences between expected and actual positions of components on the substrate 604, such as a modified file including new positions of the die with position, rotation, and height displacements, as described above. This information may be received from the controller 622 of the first semiconductor processing station 600 and used to adjust or generate instructions for the digital lithography system to compensate for the differences between the expected and actual positions of the die. The controller 660 can then cause the digital lithography system 662 to perform a digital lithography process using the adjusted or generated instructions.

[0047]

[0059] As shown in FIG. 6B, two separate semiconductor processing stations 600, 621 may be used. The first semiconductor processing station 600 may be specifically designed to efficiently capture images of the expected positions of the alignment features using the camera configuration described above. This allows the camera process performed at the first semiconductor processing station 600 to be distinct from the scanning or metrology process performed at the second semiconductor processing station 621 with the digital lithography system 662. The substrate 604 may then be removed from the first semiconductor processing station 600 and transferred to the second semiconductor processing station 621. For example, the substrate 604 may be removed using a robotic arm or other automated techniques that do not require human intervention. The semiconductor processing stations 600, 621 may be part of a multi-station machine that sequentially performs semiconductor processes such as deposition, etching, polishing, cleaning, metrology, lithography, etc. on the substrate 604.

[0048]

[0060] FIG. 7 shows a flowchart 700 of a method for determining the difference between the expected and actual positions of a die, according to some embodiments. The method may be performed by the first semiconductor processing station 600 described above in FIG. 6B. The method may include retrieving a design file from a database (702) that may store the design file or other customer data. A file parser (704) may be executed to identify and extract position information for various components and / or alignment features in the design. This information is stored in a database (706) and may include expected positions of global alignment marks, die alignment marks, package alignment marks, and other features on the substrate, such as edge bevel positions, package corners, die corners, etc.

[0049]

[0061] In some embodiments, the calibration substrate may also be used to calibrate the system (708). For example, a substrate with alignment features in the correct locations may be used to calibrate the camera positions, camera focus settings, etc. This calibration process may be performed initially when a new substrate design is processed and may be performed periodically between batches of substrates being processed. After removing the calibration substrate, the substrate may be loaded (710) onto a chuck or other substrate holding device and placed into the first semiconductor processing station.

[0050]

[0062] By capturing (712) the global substrate alignment features, the substrate can be properly aligned at the first semiconductor processing station. As described above, these global alignment features on the substrate can be used to properly align or calibrate the cameras relative to the substrate. Because the global alignment features are formed on the substrate rather than physically located on the substrate, in some embodiments they can be assumed to be at expected positions from a design file for the substrate. As described above, the expected positions from the design file can be used to set the initial positions and spacing of multiple cameras when more than one camera is used at the first semiconductor processing station.

[0051]

[0063] An image capture process (720) may be performed at each camera position to capture an image of the expected position. For example, at each position, a displacement sensor in the camera may measure the height or displacement between the camera and the corresponding surface of the substrate (714). This displacement measurement may then be used to adjust the focus setting of the camera (716), and an image may be acquired using the camera that captures at least one of the alignment features within its field of view (718). As discussed above, in some embodiments, multiple alignment features may be captured within the field of view of each camera.

[0052]

[0064] The image capture process (720) can be used for embodiments that include a field of view camera. However, this process is also compatible with scan line cameras. In these embodiments, the image capture process (720) shown in Figure 7 may be replaced with a step that performs on-the-fly displacement measurements between the camera and the substrate by scanning a line across the rows of the substrate, rather than stepping over columns as a function of the width of the field of view of the camera.

[0053]

[0065] Once images of the expected positions of the alignment features are acquired, each of the images may be processed to identify a center position for each of the alignment features (720). For example, a center position may be identified for each of the alignment features, and the center position may be compared to the expected position from the design file and considered to be the actual position of the alignment feature. In some embodiments, the alignment feature processing (720) may use the actual positions to determine a difference between the actual position and the expected position. This difference may be represented as a new position of the die on which the alignment feature is located. A location (e.g., X / Y coordinates, rotation, scaling, displacement, etc.) for the actual position of the die may be determined and stored (724), for example, in a universal metrology file (UMF) along with a corresponding identifier of the substrate. The substrate may then be unloaded (726) from the first semiconductor processing station and transported to a second semiconductor processing station for digital lithography.

[0054]

[0066] FIG. 8 illustrates a flowchart 800 of a method for adjusting a digital lithography process to compensate for differences between expected and actual positions of a die on a substrate, according to some embodiments. The method may be performed by a controller of a second semiconductor processing station as described above in FIG. 6B. A substrate may be received from a first semiconductor processing station and placed at a second semiconductor processing station (802). The controller may receive actual positions of the die on the substrate (804), for example, from a UMF file as described above. The controller may also receive original design data for the substrate or package (806). The controller may then determine differences between the actual positions of the die and the expected positions of the die and generate digital corrections or adjustments to the virtual mask layout (808). For example, the controller may adjust or generate instructions for the lithography process that compensate for differences between the actual and expected positions of the die. Traces routed by the lithography process may have corresponding start and end positions adjusted to match the actual positions on the die. The controller may then generate new routes between the end points using existing routing techniques.

[0055]

[0067] To perform a digital lithography process, the second semiconductor processing station can capture the positions of global alignment features on the substrate to properly align or identify the position of the substrate within the station (810). The metrology file is then converted (812) into alignment coordinates used by the lithography process, which can then print a corrected or adjusted layer (e.g., routed traces) onto the substrate as described above in connection with FIG.

[0056]

[0068] 9 shows a flowchart 900 of a method for adjusting digital lithography to compensate for die placement errors, according to some embodiments. The method may be performed by one or more controllers. For example, these operations may be divided among controllers of multiple semiconductor processing stations, as described above in FIG. 6B. Alternatively, a central server or controller may perform each of these operations and operate the semiconductor processing chambers accordingly.

[0057]

[0069] The method can include receiving first locations of a plurality of dies on a substrate from a design file for the substrate (902). The first locations of the dies can include expected locations of the dies from the design file. The first locations can also include alignment features located on the dies, such as visual fiducials, die corners, I / O pads, or other features that can be visually identified and differentiated in a camera image. The first locations can include image coordinates (X,Y,θ) from the GDS file of expected center locations of the alignment features or the dies themselves.

[0058]

[0070] The method may further include causing one or more cameras to capture images of the plurality of dies at the first position (904). A controller may move the single camera or the plurality of cameras to an initial position based on the first position. For example, the camera may be moved to an expected position of an alignment feature on the die such that the field of view of the camera captures the expected position of the alignment feature. As discussed above in FIGS. 4-5, this step may also include moving the camera to a row and / or column based on the number of dies or packages in each row and / or column on the substrate.

[0059]

[0071] The method may further include determining second positions of the plurality of dies associated with actual positions of the plurality of dies on the substrate (906). For example, the second positions may be actual positions of alignment features on the dies. The captured images may have a field of view that encompasses a view of these actual positions such that the second positions may be identified by processing the images.

[0060]

[0072] The method may also include determining a difference between the first position and the second position (908). The difference may be determined by identifying the actual position of the die in terms of X / Y coordinates, rotation, scale, etc., compared to the original position. These differences may be determined by storing new positions of the die in the UMF file, or these differences may be stored as displacements from expected positions.

[0061]

[0073] The method may further include causing instructions for the digital lithography station to be generated or adjusted to compensate for the difference between the first and second positions (910). For example, the first semiconductor processing station with a camera may cause instructions to be generated or adjusted by sending a UMF file or other indication of the actual positions of the die or alignment features to a controller of the lithography station. The adjusted or generated instructions may perform new wiring between the actual positions of the endpoints of the traces or other lithography features.

[0062]

[0074] It should be appreciated that the specific steps illustrated in FIG. 9 provide a particular method of adjusting digital lithography when compensating for die placement errors according to various embodiments. Other sequences of steps may be performed according to alternative embodiments. For example, in alternative embodiments, the steps outlined above may be performed in a different order. Additionally, individual steps illustrated in FIG. 9 may include multiple sub-steps that may be performed in various orders appropriate to the individual step. Additionally, additional steps may be added or removed depending on the particular application. Many variations, modifications, and alternatives are also within the scope of the present disclosure.

[0063]

[0075] Each method described herein may be implemented by a computer system. Each step of these methods may be performed automatically by the computer system or may be provided by user-involved input / output. For example, a user may provide inputs to each step of the method, each of which may be in response to a particular output generated by the computer system requesting such input. Each input may be received in response to a corresponding requesting output. Furthermore, the inputs may be received from a user, received as a data stream from another computer system, retrieved from a memory location, retrieved over a network, requested from a web service, etc. Similarly, the outputs may be provided to a user, provided as a data stream to another computer system, stored in a memory location, transmitted over a network, provided to a web service, etc. In short, each step of the methods described herein may be performed by a computer system and may involve any number of inputs, outputs, and / or requests to and from the computer system, which may or may not involve a user. Steps that do not involve a user may be said to be performed automatically by the computer system without human intervention. Thus, in light of this disclosure, it will be understood that each step of each method described herein may be modified to include input and output to and from a user, or may be performed automatically by a computer system without human intervention, where all decisions are made by a processor. Additionally, some embodiments of each method described herein may be implemented as a set of instructions stored on a tangible, non-transitory storage medium to form a tangible software product.

[0064]

[0076] 10 illustrates an exemplary computer system 1000 upon which various embodiments may be implemented. System 1000 may be used to implement any of the computer systems described above. As shown, computer system 1000 includes a processing unit 1004 that communicates with a number of peripheral subsystems via a bus subsystem 1002. These peripheral subsystems may include a processing acceleration unit 1006, an I / O subsystem 1008, a storage subsystem 1018, and a communication subsystem 1024. The storage subsystem 1018 includes a tangible computer readable storage medium 1022 and a system memory 1010.

[0065]

[0077] Bus subsystem 1002 provides a mechanism for allowing the various components and subsystems of computer system 1000 to communicate with one another as intended. Although bus subsystem 1002 is shown diagrammatically as a single bus, alternative embodiments of the bus subsystem may utilize multiple buses. Bus subsystem 1002 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. For example, such architectures include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, a Peripheral Component Interconnect (PCI) bus, etc., which may be implemented as a mezzanine bus manufactured in accordance with the IEEE P1386.1 standard.

[0066]

[0078] The processing unit 1004 may be implemented as one or more integrated circuits (e.g., conventional microprocessors or microcontrollers) and controls the operation of the computer system 1000. One or more processors may be included in the processing unit 1004. These processors may include single-core or multi-core processors. In particular embodiments, the processing unit 1004 may be implemented as one or more independent processing units 1032 and / or 1034, with each processing unit including a single-core or multi-core processor. In other embodiments, the processing unit 1004 may be implemented as a quad-core processing unit formed by integrating two dual-core processors into a single chip.

[0067]

[0079] In various embodiments, the processing unit 1004 may execute various programs in response to program code and may maintain multiple simultaneously executing programs or processes. At any given time, some or all of the program code being executed may reside in the processor 1004 and / or the storage subsystem 1018. With appropriate programming, the processor 1004 may provide various functions as discussed above. The computer system 1000 may further include a processing acceleration unit 1006, which may include a digital signal processor (DSP), a special purpose processor, or the like.

[0068]

[0080] The I / O subsystem 1008 may include user interface input devices and user interface output devices. User interface input devices include keyboards, pointing devices such as mice and trackballs, touch pads and touch screens integrated into displays, scroll wheels, click wheels, dials, buttons, switches, keypads, voice input devices with voice command recognition systems, microphones, and other types of input devices. User interface input devices include motion sensing and / or gesture recognition devices such as the Microsoft Kinect® motion sensor that allows a user to control and interact with an input device such as a Microsoft Xbox® 360 game controller through a natural user interface using gestures and voice commands. User interface input devices also include eye gesture recognition devices such as the Google Glass® blink detector that detects a user's eye movements (e.g., "blinking" when taking a picture or selecting a menu) and translates the eye gesture as input to an input device (e.g., Google Glass®). Additionally, the user interface input devices include a voice recognition sensing device that allows a user to interact with a voice recognition system (e.g., the Siri® navigator) through voice commands.

[0069]

[0081] User interface input devices also include, but are not limited to, three-dimensional (3D) mice, joysticks or pointing sticks, game pads and graphic tablets, as well as audio / visual devices such as speakers, digital cameras, digital video cameras, portable media players, webcams, image scanners, fingerprint scanners, barcode readers 3D scanners, 3D printers, laser range finders, and eye-tracking devices. Additionally, user interface input devices include medical image input devices such as, for example, computed tomography, magnetic resonance imaging, positron emission tomography, and medical ultrasound. User interface input devices also include audio input devices such as, for example, MIDI keyboards, digital musical instruments, and the like.

[0070]

[0082] User interface output devices may include non-visual displays such as a display subsystem, indicator lights, or audio output devices. The display subsystem may be a flat panel device such as one using a cathode ray tube (CRT), a liquid crystal display (LCD) or a plasma display, a projection device, a touch screen, etc. In general, use of the term "output device" is intended to include all possible types of devices and mechanisms for outputting information from computer system 1000 to a user or to another computer. For example, user interface output devices include various display devices that visually convey text, graphics, audio / video information, such as, but not limited to, monitors, printers, speakers, headphones, car navigation systems, plotters, audio output devices, modems, etc.

[0071]

[0083] Computer system 1000 can include a storage subsystem 1018 that includes software elements presently shown as located in system memory 1010. The system memory 1010 can store program instructions loadable into and executable by the processing unit 1004, as well as data generated during the execution of these programs.

[0072]

[0084] Depending on the configuration and type of computer system 1000, the system memory 1010 may be volatile (such as random access memory (RAM)) and / or non-volatile (such as read only memory (ROM), flash memory, etc.). RAM typically contains data and / or program modules that are immediately accessible to and / or currently being operated on and executed by the processing unit 1004. In some implementations, the system memory 1010 may include a number of different types of memory, such as static random access memory (SRAM) or dynamic random access memory (DRAM). In some implementations, a basic input / output system (BIOS), containing the basic routines that help to transfer information between elements within the computer system 1000, such as during start-up, may typically be stored in a ROM. By way of example and not limitation, the system memory 1010 also illustrates application programs 1012, program data 1014, and an operating system 1016, which may include client applications, a web browser, a mid-tier application, a relational database management system (RDBMS), and the like. By way of example, operating system 1016 may include various versions of Microsoft Windows®, Apple Macintosh®, and / or Linux operating systems, various commercially available UNIX® or UNIX-like operating systems (including, but not limited to, various GNU / Linux operating systems, Google Chrome® OS, etc.), and / or mobile operating systems such as iOS, Windows® Phone, Android® OS, BlackBerry® 10 OS, and Palm® OS operating systems.

[0073]

[0085] The storage subsystem 1018 may also provide a tangible, computer-readable storage medium for storing the basic programming and data constructs that provide the functionality of some embodiments. Software (programs, code modules, instructions) that, when executed by a processor, provide the functionality described above may be stored in the storage subsystem 1018. These software modules or instructions may be executed by the processing unit 1004. The storage subsystem 1018 may also provide a repository for storing data used in accordance with some embodiments.

[0074]

[0086] Storage subsystem 1000 may also include a computer-readable storage medium reader 1020 that may be further connected to a computer-readable storage medium 1022. Overall, and optionally in combination with system memory 1010, computer-readable storage medium 1022 may comprehensively represent remote, local, fixed, and / or removable storage devices, as well as storage media for temporarily and / or more permanently storing, preserving, transmitting, and retrieving computer-readable information.

[0075]

[0087] The computer readable storage medium 1022 containing the code, or portions of the code, may include any suitable medium including storage media and communication media, such as, but not limited to, volatile and non-volatile, removable and non-removable media, implemented in any manner or technology for storage and / or transmission of information. This may include tangible computer readable storage media, such as RAM, ROM, Electronically Erasable Programmable ROM (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disk (DVD), or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage, or other tangible computer readable medium. This may also include non-tangible computer readable media, such as a data signal, data transmission, or any other medium that can be used to transmit the desired information and that can be accessed by the computing system 1000.

[0076]

[0088] By way of example, the computer readable storage medium 1022 may include hard disk drives that read from or write to non-removable non-volatile magnetic media, magnetic disk drives that read from or write to removable non-volatile magnetic disks, and optical disk drives that read from or write to removable non-volatile optical disks, such as CD ROMs, DVDs, Blu-Ray® disks, or other optical media. The computer readable storage medium 1022 may include, but is not limited to, Zip® drives, flash memory cards, Universal Serial Bus (USB) flash drives, Secure Digital (SD) cards, DVD disks, digital video tapes, and the like. The computer readable storage medium 1022 may also include solid state drives (SSDs) based on non-volatile memory, such as flash memory-based SSDs, enterprise flash drives, solid state ROMs, SSDs based on volatile memory, such as solid state RAM, dynamic RAM, static RAM, DRAM-based SSDs, magnetoresistive RAM (MRAM) SSDs, and hybrid SSDs that use a combination of DRAM and flash memory-based SSDs. The disk drives and associated computer-readable media may provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data for the computer system 1000.

[0077]

[0089] The communication subsystem 1024 provides an interface to other computer systems and networks. The communication subsystem 1024 serves as an interface for receiving data from other systems and transmitting data from the computer system 1000 to other systems. For example, the communication subsystem 1024 may enable the computer system 1000 to connect to one or more devices via the Internet. In some embodiments, the communication subsystem 1024 may include a radio frequency (RF) transceiver component, a global positioning system (GPS) receiver component, and / or other components for accessing wireless voice and / or data networks (e.g., using cellular technology, advanced data network technologies such as 3G, 4G, or EDGE (enhanced data rates for global evolution), WiFi (IEEE 802.11 family of standards), or other mobile communication technologies, or any combination thereof). In some embodiments, the communication subsystem 1024 may provide a wired network connection (e.g., Ethernet) in addition to or instead of a wireless interface.

[0078]

[0090] In some embodiments, the communications subsystem 1024 may also receive incoming communications in the form of structured and / or unstructured data feeds 1026, event streams 1028, event updates 1030, etc., for one or more users who may be using the computer system 1000.

[0079]

[0091] By way of example, the communications subsystem 1024 may be configured to receive data feeds 1026 in real time from users of social networks and / or other communications services, such as web feeds, such as Twitter® feeds, Facebook® updates, Rich Site Summary (RSS) feeds, and / or real-time updates from one or more third party sources.

[0080]

[0092] Additionally, the communications subsystem 1024 may be configured to receive data in the form of a continuous data stream, which may include an event stream 1028 of real-time events and / or event updates 1030, which may be continuous or essentially unlimited with no explicit end. Examples of applications that generate continuous data include, for example, sensor data applications, financial tickers, network performance measurement tools (such as network monitoring and traffic management applications), clickstream analysis tools, automobile traffic monitoring, and the like.

[0081]

[0093] The communications subsystem 1024 may also be configured to output structured and / or unstructured data feeds 1026, event streams 1028, event updates 1030, etc. to one or more databases in communication with one or more streaming data source computers coupled to the computer system 1000.

[0082]

[0094] The computer system 1000 can be one of a variety of types, including a handheld portable device (e.g., an iPhone® mobile phone, an iPad® computing tablet, a PDA), a wearable device (e.g., a Google Glass® head mounted display), a PC, a workstation, a mainframe, a kiosk, a server rack, or any other data processing system.

[0083]

[0095] Because the nature of computers and networks is constantly changing, the description of the computer system 1000 depicted in the figures is intended as a specific example only. Many other configurations are possible, having more or fewer components than the system depicted in the figures. For example, customized hardware may be used, or particular elements may be implemented in hardware, firmware, software (including applets), or a combination thereof. Additionally, connections to other computing devices, such as network input / output devices, may be employed. Based on the disclosure and teachings provided herein, other ways and / or methods for implementing the various embodiments should become apparent.

[0084]

[0096] In the preceding description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of various embodiments. It will be apparent, however, that some embodiments may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form.

[0085]

[0097] The foregoing description provides exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the foregoing description of various embodiments provides an enabling disclosure for practicing at least one embodiment. It should be understood that various changes can be made in the function and arrangement of elements without departing from the spirit and scope of the several embodiments as set forth in the appended claims.

[0086]

[0098] In the foregoing description, specific details are given to provide a thorough understanding of the embodiments. However, it will be understood that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form so as not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail so as not to obscure the embodiments.

[0087]

[0099] It should also be noted that the particular embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. While a flowchart may describe operations as a sequential process, many operations may be performed in parallel or concurrently. Additionally, the order of operations may be rearranged. A process ends when its operations are completed, although there may be additional steps not included in the diagram. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or to the main function.

[0088]

[0100] The term "computer-readable medium" includes, but is not limited to, portable or non-removable storage devices, optical storage devices, wireless channels, and various other media that can store, store, or convey instructions and / or data. A code segment or machine-executable instructions can represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, program statements. A code segment can be coupled to another code segment or a hardware circuit by passing information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.

[0089]

[0101] Furthermore, the embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented by software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine-readable medium. A processor may perform the necessary tasks.

[0090]

[0102] In the foregoing specification, features have been described with reference to specific embodiments thereof, but it should be recognized that not all embodiments are limited thereto. Various features and aspects of the several embodiments can be used individually or jointly. Moreover, the embodiments can be utilized in many environments and applications other than those described herein without departing from the broader spirit and scope of the specification. Accordingly, the specification and drawings should be regarded as illustrative rather than restrictive.

[0091]

[0103] Furthermore, for purposes of explanation, the methods have been described in a particular order. It should be understood that in alternative embodiments, the methods may be performed in an order different from that described. It should also be understood that the methods described above may be performed by hardware components or embodied in a sequence of machine-executable instructions that may be used to cause a machine, such as a general-purpose or special-purpose processor, or a logic circuit programmed with the instructions, to perform the method. These machine-executable instructions may be stored on one or more machine-readable media, such as a CD-ROM or other type of optical disk, floppy disk, ROM, RAM, EPROM, EEPROM, magnetic or optical card, flash memory, or other type of machine-readable medium suitable for storing electronic instructions. Alternatively, the methods may be performed by a combination of hardware and software.

Claims

1. a first semiconductor processing station, One or more cameras; a first controller configured to perform a first operation; wherein the first operation comprises: receiving first locations of a plurality of dies on a substrate from a design file of the substrate; causing the one or more cameras to capture images of the plurality of dies at the first position; determining second positions of the die associated with actual positions of the die on the substrate based on the images of the die at the first positions; determining a difference between the first position and the second position; a first semiconductor processing station including: a second semiconductor processing station configured to receive the substrate after an image has been captured by the first semiconductor processing station, A digital lithography system; a second controller configured to perform a second operation; and the second operation comprises: generating or adjusting instructions for the digital lithography system to compensate for the difference between the first position and the second position; causing the digital lithography system to perform a digital lithography process on the substrate using the instructions; a second semiconductor processing station including: A system comprising:

2. The system of claim 1 , wherein the one or more cameras comprise a plurality of cameras.

3. The first operation includes: receiving a number of die in a row on the substrate; spacing the plurality of cameras such that the plurality of cameras are arranged in rows and spaced apart based on the number of dies in the row on the substrate; The system of claim 2 further comprising:

4. The first operation includes: receiving a number of dies in an array on the substrate; spacing the plurality of cameras such that the plurality of cameras are also arranged in rows and spaced apart based on the number of dies in the rows on the substrate; The system of claim 3 further comprising:

5. The system of claim 1 , further comprising a robotic arm that moves the substrate between the first and second semiconductor processing stations.

6. 2. The system of claim 1, further comprising one or more displacement sensors disposed with the one or more cameras, the one or more displacement sensors configured to measure a distance between the one or more cameras and the substrate at a position where the one or more cameras capture the images of the plurality of dies at the first position.

7. The first operation includes: determining the distance between the one or more cameras and the substrate; adjusting a focus of the one or more cameras based on the distance; and The system of claim 6 further comprising:

8. The system of claim 1 , wherein the difference between the first and second positions of the plurality of dies results from misalignment of the plurality of dies when they are attached to the substrate.

9. When executed by one or more processors, the one or more processors receiving first locations of a plurality of dies on a substrate from a design file of the substrate; causing one or more cameras to capture images of the plurality of dies at the first position; determining second positions of the die associated with actual positions of the die on the substrate based on the images of the die at the first positions; determining a difference between the first position and the second position; causing instructions for a digital lithography station to be generated or adjusted to compensate for the difference between the first position and the second position; One or more non-transitory computer-readable media comprising instructions for performing operations including:

10. The one or more non-transitory computer-readable media of claim 9 , wherein the first locations comprise expected locations of alignment features on the multiple dies.

11. The one or more non-transitory computer-readable media of claim 10 , wherein the second locations comprise actual locations of the alignment features on the plurality of dies after they are attached to a substrate.

12. 10. The one or more non-transitory computer-readable media of claim 9, wherein the one or more cameras comprise one or more line scan cameras configured to perform a line scan capture of the image of the die.

13. 13. The one or more non-transitory computer-readable media of claim 12, wherein the image of the die comprises a line scan along a line in which the first location indicates a location of an alignment feature on the plurality of dies.

14. 10. The one or more non-transitory computer-readable media of claim 9, wherein the operations further include causing the one or more cameras to capture images of one or more global alignment features on the substrate to align the substrate.

15. 1. A method for adjusting digital lithography to compensate for die placement errors, comprising: receiving first locations of a plurality of dies on a substrate from a design file of the substrate; causing one or more cameras to capture images of the plurality of dies at the first position; determining second positions of the die associated with actual positions of the die on the substrate based on the images of the die at the first positions; determining a difference between the first position and the second position; causing instructions for a digital lithography station to be generated or adjusted to compensate for the difference between the first position and the second position; The method includes:

16. The method of claim 15 , wherein the first location represents a bevel edge or a die corner of one of the plurality of dies.

17. The method of claim 15 , further comprising: updating a universal metrology file with the X / Y coordinates of the actual positions of the plurality of dies on the substrate.

18. The method of claim 15 , wherein the image in the image of the plurality of dies comprises a field of view that captures a plurality of the first locations in the image.

19. The method of claim 15 , further comprising maximizing the field of view of the one or more cameras such that a resolution of the one or more cameras can still accurately identify the second location.

20. The method of claim 15 , wherein the one or more cameras include a plurality of cameras spaced apart based on a field of view of the plurality of cameras.

Citation Information

Patent Citations

  • Apparatus and method for optically evaluating position

    JP2006128693A

  • Exposure device and exposure method

    JP2006337878A

  • Drawing device and alignment method

    JP2008065034A

  • Exposure device

    JP2010114347A

  • Drawing apparatus and drawing method

    JP2010231062A