US6495791B2 - Method and subsystem for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site - Google Patents

Method and subsystem for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site Download PDF

Info

Publication number
US6495791B2
US6495791B2 US09/858,784 US85878401A US6495791B2 US 6495791 B2 US6495791 B2 US 6495791B2 US 85878401 A US85878401 A US 85878401A US 6495791 B2 US6495791 B2 US 6495791B2
Authority
US
United States
Prior art keywords
stage
trajectory
possible trajectories
laser
microstructures
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime, expires
Application number
US09/858,784
Other versions
US20010052512A1 (en
Inventor
Bradley L. Hunter
Christopher P. Cullen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Barclays Bank PLC
Original Assignee
General Scanning Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/572,925 external-priority patent/US6483071B1/en
Application filed by General Scanning Inc filed Critical General Scanning Inc
Priority to US09/858,784 priority Critical patent/US6495791B2/en
Assigned to GENERAL SCANNING, INC. reassignment GENERAL SCANNING, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CULLEN, CHRISTOPHER P., HUNTER, BRADLEY L.
Publication of US20010052512A1 publication Critical patent/US20010052512A1/en
Application granted granted Critical
Publication of US6495791B2 publication Critical patent/US6495791B2/en
Assigned to GSI LUMONICS CORPORATION reassignment GSI LUMONICS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GENERAL SCANNING, INC.
Assigned to THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT reassignment THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT SECURITY AGREEMENT Assignors: CAMBRIDGE TECHNOLOGY, INC., CONTINUUM ELECTRO-OPTICS, INC., CONTROL LASER CORPORATION (D/B/A BAUBLYS CONTROL LASER), EXCEL TECHNOLOGY, INC., GSI GROUP CORPORATION, GSI GROUP INC., MES INTERNATIONAL INC., MICROE SYSTEMS CORP., PHOTO RESEARCH, INC., QUANTRONIX CORPORATION, SYNRAD, INC., THE OPTICAL CORPORATION
Assigned to GSI GROUP CORPORATION reassignment GSI GROUP CORPORATION CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: GSI LUMONICS CORPORATION
Assigned to BANK OF AMERICA, N.A. reassignment BANK OF AMERICA, N.A. SECURITY AGREEMENT Assignors: GSI GROUP CORPORATION, GSI GROUP INC.
Assigned to GSI GROUP CORPORATION, MICROE SYSTEMS CORP., QUANTRONIX CORPORATION, MES INTERNATIONAL INC., CAMBRIDGE TECHNOLOGY INC., GSI GROUP INC., CONTROL LASER CORPORATION (D/B/A BAUBLYS CONTROL LASER), THE OPTICAL CORPORATION, CONTINUUM ELECTRO-OPTICS INC., EXCEL TECHNOLOGY INC., PHOTO RESEARCH INC., SYNRAD INC. reassignment GSI GROUP CORPORATION RELEASE Assignors: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Assigned to GSI GROUP CORPORATION reassignment GSI GROUP CORPORATION RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 027128/0763 Assignors: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Assigned to ELECTRO SCIENTIFIC INDUSTRIES, INC. reassignment ELECTRO SCIENTIFIC INDUSTRIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GSI GROUP CORPORATION, GSI GROUP INC
Assigned to BARCLAYS BANK PLC, AS COLLATERAL AGENT reassignment BARCLAYS BANK PLC, AS COLLATERAL AGENT PATENT SECURITY AGREEMENT (ABL) Assignors: ELECTRO SCIENTIFIC INDUSTRIES, INC., MKS INSTRUMENTS, INC., NEWPORT CORPORATION
Assigned to BARCLAYS BANK PLC, AS COLLATERAL AGENT reassignment BARCLAYS BANK PLC, AS COLLATERAL AGENT PATENT SECURITY AGREEMENT (TERM LOAN) Assignors: ELECTRO SCIENTIFIC INDUSTRIES, INC., MKS INSTRUMENTS, INC., NEWPORT CORPORATION
Adjusted expiration legal-status Critical
Assigned to ELECTRO SCIENTIFIC INDUSTRIES, INC. reassignment ELECTRO SCIENTIFIC INDUSTRIES, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION SERIAL NUMBER 11776904 PREVIOUSLY RECORDED ON REEL 030582 FRAME 0160. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: GSI GROUP CORPORATION, GSI GROUP INC.
Assigned to BARCLAYS BANK PLC, AS COLLATERAL AGENT reassignment BARCLAYS BANK PLC, AS COLLATERAL AGENT CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE U.S. PATENT NO. 7,919,646 PREVIOUSLY RECORDED ON REEL 048211 FRAME 0227. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT (TERM LOAN). Assignors: ELECTRO SCIENTIFIC INDUSTRIES, INC., MKS INSTRUMENTS, INC., NEWPORT CORPORATION
Assigned to BARCLAYS BANK PLC, AS COLLATERAL AGENT reassignment BARCLAYS BANK PLC, AS COLLATERAL AGENT CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE U.S. PATENT NO.7,919,646 PREVIOUSLY RECORDED ON REEL 048211 FRAME 0312. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT (ABL). Assignors: ELECTRO SCIENTIFIC INDUSTRIES, INC., MKS INSTRUMENTS, INC., NEWPORT CORPORATION
Assigned to ELECTRO SCIENTIFIC INDUSTRIES, INC., NEWPORT CORPORATION, MKS INSTRUMENTS, INC. reassignment ELECTRO SCIENTIFIC INDUSTRIES, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: BARCLAYS BANK PLC
Assigned to MKS INSTRUMENTS, INC., NEWPORT CORPORATION, ELECTRO SCIENTIFIC INDUSTRIES, INC. reassignment MKS INSTRUMENTS, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: BARCLAYS BANK PLC
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K26/00Working by laser beam, e.g. welding, cutting or boring
    • B23K26/02Positioning or observing the workpiece, e.g. with respect to the point of impact; Aligning, aiming or focusing the laser beam
    • B23K26/04Automatically aligning, aiming or focusing the laser beam, e.g. using the back-scattered light
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K26/00Working by laser beam, e.g. welding, cutting or boring
    • B23K26/08Devices involving relative movement between laser beam and workpiece
    • B23K26/083Devices involving movement of the workpiece in at least one axial direction
    • B23K26/0853Devices involving movement of the workpiece in at least in two axial directions, e.g. in a plane
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/70Manufacture or treatment of devices consisting of a plurality of solid state components formed in or on a common substrate or of parts thereof; Manufacture of integrated circuit devices or of parts thereof
    • H01L21/71Manufacture of specific parts of devices defined in group H01L21/70
    • H01L21/768Applying interconnections to be used for carrying current between separate components within a device comprising conductors and dielectrics
    • H01L21/76838Applying interconnections to be used for carrying current between separate components within a device comprising conductors and dielectrics characterised by the formation and the after-treatment of the conductors
    • H01L21/76886Modifying permanently or temporarily the pattern or the conductivity of conductive members, e.g. formation of alloys, reduction of contact resistances
    • H01L21/76892Modifying permanently or temporarily the pattern or the conductivity of conductive members, e.g. formation of alloys, reduction of contact resistances modifying the pattern
    • H01L21/76894Modifying permanently or temporarily the pattern or the conductivity of conductive members, e.g. formation of alloys, reduction of contact resistances modifying the pattern using a laser, e.g. laser cutting, laser direct writing, laser repair
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K2101/00Articles made by soldering, welding or cutting
    • B23K2101/36Electric or electronic devices
    • B23K2101/40Semiconductor devices

Definitions

  • This invention relates to methods and subsystems for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site.
  • Memory repair is a process used in the manufacture of memory integrated circuits (DRAM or SRAM) to improve the manufacturing yield.
  • Memory chips are manufactured with extra rows and columns of memory cells.
  • any defects found are noted in a database. Wafers that have defective die can be repaired by severing links with a pulsed laser.
  • Systems generally utilize wafer-handling equipment that transports semiconductor wafers to the laser process machine, and obtain the information in the form of an associated database specifying where the links should be cut and perform the requisite link ablation for each wafer.
  • Links are arranged in small groups on a common pitch.
  • Typical groups might consist of 20-50 links that are about 0.8 ⁇ M wide, 6 ⁇ M long and spaced on a 3 ⁇ M pitch.
  • the groups can be arranged with the pitch vector parallel to either the x or y axis. Frequently, multiple groups will be found to be co-linear with as little as 2 or 3 “pitches” between the end of one group and the start of the next. At other times, the co-linear groups may be spaced many hundreds of microns apart.
  • a typical DRAM die might have a few hundred groups of links distributed across the extend of the die.
  • the above-noted utility patent application discloses a high-performance x-y stage that is used to position a semiconductor wafer underneath a stationary laser beam.
  • the x-y stage is required to make many high-speed motions in the course of processing a region of the wafer.
  • Typical x-y stages are limited by position, velocity, acceleration and voltage constraints.
  • the position constraints are the limits of travel of the stage.
  • the velocity constraints may be due to limits on the positioning sensing devices used in the stage and/or limits imposed by the type of bearings used.
  • Acceleration constraints are usually due to limits on the current available to drive the stage due to motor, amplifier or power supply considerations.
  • Voltage constraints are encountered less frequently. Movements that require excess voltage must be avoided in order to avoid amplifier saturation. Voltage constraints are typically encountered during brief high-acceleration moves.
  • the stage is able to execute a motion using a relatively large value of acceleration (as high as 3 G's) and to stop rapidly at the end of the motion.
  • the stage also must operation with extremely high precision (nanometer level of precision).
  • the combination of very high performance and extreme accuracy requirements places additional constraints of the stage.
  • the stage is sensitive to the level of power dissipated in the motor windings. If the power dissipated causes the winding temperature to rise more than 2° C., then the precision of the stage will be compromised. Also, if the spectral content of the forces applied to the stage contains an excessive level of energy at frequencies above the first mechanical mode of the system, then resonances in the mechanical elements of the stage will be excited. These resonances will either compromise accuracy or require extra settling time at the end of a motion before the requisite level of precision will be achieved.
  • An object of the present invention is to provide an improved method and subsystem for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site.
  • a method for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site includes receiving reference data which represent locations of microstructures to be processed at the site, and determining a plurality of possible trajectories based on the data.
  • a change of temperature is estimated of at least one motor caused when the at least one motor drives the stage based on each of the possible trajectories.
  • the method further includes determining a substantially optimum trajectory from the possible trajectories wherein positioning accuracy of the stage is maximized by following the substantially optimum trajectory.
  • the at least one motor may include at least one coil and wherein the step of estimating is based on an estimated amount of energy dissipated in the at least one coil for each of the possible trajectories.
  • the step of estimating may further include the step of predicting temperature rise which results from energy dissipation in the at least one coil for each of the possible trajectories based on a model of thermal response for the at least one coil.
  • Each of the possible trajectories may include a plurality of motion segments and wherein the step of estimating includes the step of estimating energy dissipation in the at least one coil for each of the motion segments.
  • the stage may be an x-y stage.
  • the step of estimating may estimate changes of temperature of a plurality of motors caused when the motors drive the x-y stage based on each of the possible trajectories.
  • the microstructures may be located on a plurality of spaced-apart dice of a semiconductor wafer supported on the stage.
  • the microstructures may be conductive lines of the dice.
  • the dice may be semiconductor memory devices and wherein the conductive lines are to be ablated at the site to repair defective memory cells of the device.
  • At least one of the possible trajectories may have an acceleration/deceleration profile.
  • a subsystem for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site includes means for receiving reference data which represent locations of microstructures to be processed at the site, and means for determining a plurality of possible trajectories based on the data.
  • the subsystem also includes means for estimating a change of temperature of at least one motor caused when the at least one motor drives the stage based on each of the possible trajectories.
  • the subsystem further includes means for determining a substantially optimum trajectory from the possible trajectories wherein positioning accuracy of the stage is maximized by following the substantially optimum trajectory.
  • the at least one motor may include at least one coil and wherein the means for estimating estimates an amount of energy dissipated in the at least one coil for each of the possible trajectories.
  • the means for estimating may include a model of thermal response for the at least one coil to predict temperature rise which results from energy dissipation in the at least one coil for each of the possible trajectories.
  • Each of the possible trajectories may include a plurality of motion segments and wherein the means for estimating estimates energy dissipation in the at least one coil for each of the motion segments.
  • the means for estimating may estimate changes of temperature of a plurality of motors caused when the motors drive the x-y stage based on each of the possible trajectories.
  • FIG. 1 is a detailed schematic block diagram of a memory repair system in accordance with the present invention showing the major subsystems
  • FIG. 2 is a diagram of system architecture with trajectory data flow
  • FIG. 3 is an exemplary illustration showing a wafer processing site comprising several die, die sites, groups of links and associated regions where reference regions are located to define a reference surface;
  • FIG. 4 is a schematic view of rows of links of side-by-side dice to be processed within a die site
  • FIG. 5 is a schematic view of various motion segment types
  • FIG. 6 shows graphs of amplitude versus time and illustrating a pulse/cruise profile of a motion segment
  • FIG. 7 is a graph of amplitude versus time and illustrating a pulse/pulse profile of a motion segment.
  • FIG. 8 is a graph of amplitude versus time and illustrating a stop/hop/start profile of a motion segment.
  • a laser processing system generally indicated at 110 , is shown in FIG. 1.
  • a wafer 4 is positioned within the laser processing system 110 and database information from a user interface 11 is provided to identify links ( 33 in FIG. 3) on the wafer 4 which are to be ablated to repair defective memory cells.
  • the database information is used by a trajectory planner 12 and a DSP-based controller 15 , 16 in conjunction with motion stage 6 , 7 , calibration to define motion segments for the trajectory generator which are executed and coordinated with a laser, focusing optics, and x-y stage 6 , 7 operation to ablate links, as shown in the above-noted utility application.
  • This operation includes control of x-y motion with preferred high-speed precision stages 6 , 7 and simultaneous positioning of optical elements to position the beam waist of the processing laser to coincide with a coordinate of the link 33 when the laser is pulsed.
  • All memory repair systems include some dynamic mechanism to provide relative motion between the wafer surface and the focal plane. In some cases, this may involve controlling the height of the wafer 4 relative to a fixed height optical path by movement along the z-axis. Alternatively, the motion may utilize movement of a focusing lens in a “stepwise” manner to coincide with a location in depth derived from focus data from a die of site.
  • the overall height of the wafer remains constant and the final objective lens height is controlled by a linear servo mechanism and controller 14 , 17 for an optics box 18 .
  • the positioning of the lens or optical element with a preferred arrangement using a precision positioning system for z-axis movement provides z-axis resolution of about 0.1 um or finer with a 3DB “small signal” bandwidth of about 150 Hz, over a typical maximum range of movement of about 3 mm.
  • the “trajectory planner” 12 is utilized to plan the path of the wafer 4 and beam waist position 5 with a motion system 6 , 7 , 17 and associated DSP based controller 16 .
  • the trajectory planner integrates information from the user interface and alignment system 11 that is used to define the position of the laser relative to the targets (the latter typically mounted on a precision stage, for instance, a wafer stage) in a coordinate system. From the database the information is derived, resulting in a “link map”, die selection, and other pertinent data regarding the memory repair operation.
  • a system for link blowing will generally require processing (i.e. laser ablation) of a subset 33 of a large number of links 34 on the wafer 4 .
  • the information which defines the links to be processed is provided to a control program.
  • the program in turn will define a set of reference locations 32 surrounding a number of die 35 to be processed—i.e. a die site.
  • the locations will generally include a sufficient number of points to accurately define a trajectory to be followed by the wafer and lens system based upon commands generated for motion system control as described in the above-noted utility application.
  • the laser-processing beam is typically provided by a Q-switched YAG laser having a pre-determined pulse width, repetition rate, and wavelength as disclosed in U.S. Pat. No. 5,998,759.
  • a control signal 20 is supplied to the laser which generates a pulse in coordination with the continuous positioning of the wafer and lens.
  • a programmable firing delay is included that adjusts the previously “scheduled” laser pulses to compensate for such position errors.
  • the time resolution of such correction is preferably 25 nanoseconds or less.
  • the complete error correction is defined by a “tracking vector” which converts the total position error into a delay. This tracking vector can be included with transformation matrices which are operatively connected to the controller for dynamically relating coordinate systems.
  • trajectory generation is the process of specifying, representing, and realizing continuous motion paths. For the system described here, there is a need to synchronize the moving stage and laser firing so that each link is blasted on center.
  • the trajectory generation architecture is illustrated in FIG. 2 .
  • Beam motion is accomplished by computing segments from application data; setpoints from segments; and servo commands from setpoints.
  • the planner constructs the path for the stage by analyzing domain-specific data, e.g. link map and repair data.
  • the output of this module is a trajectory: a list of motion segments each optionally paired with a control segment.
  • a motion control program utilizes the trajectory planner or generator 12 of FIG. 1 to efficiently process the target structures.
  • acceleration and velocity profiles are associated with the following “motion segment” types:
  • PVT Part/Velocity/Time
  • segment 110 It is used to accelerate to a desired position and velocity. The time required to traverse this segment is optional; if not specified, the minimum time is computed.
  • CVD Constant-Velocity/Distance segment 111 .
  • This type has only a single scalar specification: path length of the segment. The beam is to move at constant velocity for the specified distance. The velocity is that specified by the endpoint of the previous segment. Process control is typically executed during a CVD segment.
  • CVT Constant-Velocity/Time
  • Stop Segment 113 This segment takes no specifications—it stops the stage as quickly as possible.
  • “Blast” refers to firing of the laser pulse to sever the links 114 . Furthermore, a “stop” segment terminates motion, preferably as fast as possible. Process control and link blowing are most often associated with the constant velocity segment.
  • acceleration and velocity profiles are used to generate the x-y motion in cooperation with the DSP-based servo controller 16 .
  • the lens translations along the optical axis are coordinated with the x, y motion so that the beam waist will be positioned at the target location when the laser is pulsed.
  • the z coordinate of the beam waist may be dynamically adjusted between any two structures on the wafer, including adjacent structures arranged in a row (along x or y direction) on a single die.
  • the incremental z-axis resolution (smallest height difference) for link blowing is preferably about 0.1 um, for example, with about 0.05 um at the limit.
  • path planning within the system is as follows: Given initial and final position and velocity (vector) specifications, find the “optimum” trajectory that satisfies the end-point conditions as well as the constraints on position envelope, maximum velocity, maximum acceleration and maximum voltage.
  • the optimum trajectory minimizes the “cost” of the trajectory.
  • the “cost” for a given trajectory is the weighted sum of the trajectory time and the energy dissipated in the motor coils.
  • the weighting factor for time is always unit (1.0).
  • the weighting factor for energy is variable.
  • the algorithm of the present invention finds the optimum (lowest “cost”) and uses that trajectory to execute a motion.
  • a trajectory specification frequently encountered in performing memory repair is called a “merge.”
  • Laser processing is required along two short line segments that are nearby.
  • the segments are co-linear and the segments are processed at the same constant velocity.
  • a gap exists between the co-linear segments.
  • a “CV” segment might be used to traverse the gap (i.e., a constant velocity segment using the same velocity as the preceding segment).
  • the gap might be traversed in slightly less time by a brief acceleration/deceleration profile.
  • the cost of the CV solution is simply the time required to cross the gap (distance/velocity), since a CV segment involves no energy dissipation.
  • an accel/decel profile will require less time but at a greater expenditure of energy. The optimum selection in this case depends upon the relative weighting of energy dissipation versus time in the cost function.
  • a trajectory segments consists of one or more intervals.
  • An interval is defined as a subset of the trajectory during which the acceleration is constrained to be a predetermined function of two variables: APK (peak acceleration amplitude) and Tint (duration of the interval).
  • APK peak acceleration amplitude
  • Tint duration of the interval.
  • the form of the acceleration profile is either cycloidal or harmonic. Since the form is predetermined, only the amplitude and duration are needed to completely specify the motion during a trajectory interval.
  • the system of FIG. 1 performs a sequence of trajectories as a single motion profile.
  • a single motion profile may last many seconds and consist of hundreds of trajectory segments. Multiple intervals are typically required to satisfy the end-point specifications for a trajectory segment. Intervals can be generically described as either “C” or “P” corresponding to “cruise” or “pulse.”
  • a P-segment has non-zero APK.
  • the cruise solution consists of a single “C” interval, whereas the accel/decel solution is a “P—P” solution.
  • Other segment combinations are required to handle the variety of trajectory specifications required for the system of FIG. 1 : (C, CP, PC, PP, PCP, PPPP, PPCPP).
  • trajectory segment that contains different initial and final velocities (Vi ⁇ >Vf) cannot be satisfied with a C interval.
  • CVT or CVD segments are trivial (zero acceleration for the specified time or distance). Since time is specified and energy dissipation is zero, there is no optimization to be performed. The CV segment will not be discussed further.
  • the solution for a PVT trajectory segment is more complicated.
  • the solution involves the following steps:
  • the minimum cost solution for a single axis involves the following steps:
  • Kp The relative cost of energy is controlled by a variable (Kp). Kp is used in the cost formulation as follows:
  • Kp has dimensionality of power. This gives an intuitive basis for selecting Kp. If Kp is set to be large, then the cost of dissipated energy is made small. The resulting solutions will be minimum time. Conversely, setting Kp to be small makes energy “expensive” and hence solutions will tend to minimize power at the expense of time.
  • Kp is a variable, it can be set dynamically.
  • the system of FIG. 1 exploits this capability to provide a further level of control over power dissipation (and hence improve accuracy).
  • the path planning algorithm is provided with a sequence of trajectory segments that must be followed. The path planning algorithm determines the energy that will be dissipated during each motion segment. Using a simple first-order model of the thermal response of the windings, the path planning algorithm predicts the temperature rise that will result from the energy dissipation history of the trajectory.
  • the estimated temperature may rise more than desired.
  • the path planning algorithm will then reduce the value of Kp in order to bias the motion optimization solution toward lower power intervals. Conversely, the path planning algorithm will increase Kp when the estimated temperature rise is very small.
  • Simulations performed with real memory repair data reveal that this dynamic adjustment of the relative cost of time versus energy reduces the variation in motor temperature.
  • the accuracy of the system of FIG. 1 is sensitive to the rate of change of temperature (but not particularly sensitive to any particular temperature).
  • the primary source of variation in stage temperature is due to variation in motor dissipation as a result of trajectories.
  • the dynamic adjustment of Kp as a function of estimated temperature significantly reduces the variation and leads to higher precision.
  • the level of power dissipation in the motors is strongly influenced by Kp.
  • the overall throughput of the system is a weak function of Kp.
  • the component of stage error due to motor dissipation can be effectively controlled with a minor impact on overall throughput. Since the x-y stage is significantly faster than competitive offerings, this form of precision control can be achieved with insignificant impact on market acceptance.
  • the optimized multi-pulse solution provides the following benefits:
  • the path planning algorithm allows continuous motions in an x-y plane with a minimum of stops.
  • the motion profiles are free of any discontinuities in position and all higher derivatives through jerk (derivative of acceleration). This implicitly limits the spectral content of the forces applied to the stage, thereby reducing the excitation of mechanical resonances in the stage and supporting structure.
  • the trajectories are optimum (based on the relative importance of time versus power dissipation).
  • the order in which the links to be cut are specified is seldom the optimum order in which to conduct the link cutting process.
  • the algorithm described here re-orders the links and thereby achieves: 1) a reduction in the execution time; 2) motor power dissipation; and 3) spectral content of forces applied to the system.
  • Reduced execution time leads to higher productivity for the system.
  • Reduced motor power dissipation improves the accuracy of the system.
  • Reduced spectral content of forces improves accuracy and throughput by avoiding the excitation of structural resonances that would otherwise cause positioning errors.
  • the algorithm is modeled after the well known “traveling salesman” problem. In this case, however, we are interested in minimizing the cost to visit each link group as opposed to simply the time to visit each group.
  • the sorting algorithm also conveniently handles some special cases and conditions that have limited the performance of previous generation memory repair systems.
  • the system of FIG. 1 typically processes multiple die with a single “site.”
  • the field size of the system may allow as many as six or eight 64M DRAM die to be processed at one time. This process is called multi-die align (MDA).
  • MDA multi-die align
  • the use of MDA affords a significant throughput improvement by reducing the number of alignment operations required to process the wafer from 1-per die to 1-per site.
  • the alignment operation may require roughly the same amount of time to perform as link cutting for a single die.
  • Link groups in adjacent die may be co-linear. Processing co-linear groups without an intervening PVT motion segment (i.e., accel/decel segment) is often the best solution.
  • the link sorting algorithm considers all groups within a site in order to find the optimum sequence.
  • Coalesce adjacent groups While reading the list of link groups to cut, “coalesce” adjacent groups into “clusters.” Adjacent groups are coalesced if they are co-linear, the groups can be processed at the same velocity and the gap between the end of one group and the start of the next is greater than a minimum dimension and less than a maximum dimension.
  • the cluster is cut into two clusters by assigning all links that are “close” to the edge to a new cluster with the balance remaining in the original cluster. A new, lower velocity is assigned to the edge cluster such that the stage does have sufficient room to reach the new cutting velocity within the distance between the last link of the new group and the physical limits of the stage travel.
  • Sort the clusters The input to the sort is the (arbitrarily) ordered list of clusters with an (arbitrary) direction assigned to each cluster. (Direction refers to the direction, forward or reverse, in which the links in the cluster will be traversed).
  • the output of the sort process is a new order of the same link groups with a new direction assigned to each. The re-ordered list is optimum.
  • the ordered list of groups is supplied as input to the path planning algorithm.
  • the groups are processed in the prescribed order using a single continuous-motion trajectory that traverses the entire set of links.
  • a challenge for any memory repair system is to process groups that occur near to the travel limits.
  • the distance required to come to a stop is a function of the square of the velocity and the reciprocal of acceleration.
  • a compromise was made during the design of the x-y stage to restrict the amount of “overtravel” available between the extreme of the user travel range and the physical limits of travel. The restriction was selected as part of the optimization of the motor design for the x-y stage.
  • the limited distance between the edge of the user envelope and the physical limits of travel (about 200 ⁇ M) is insufficient for the stage to come to a stop if it is traveling at the maximum cutting velocity (150 mm/sec) at the edge of the user envelope.
  • One solution would be to reduce the maximum cutting velocity to ensure that the stage could always stop. This is undesirable since it unnecessarily increases processing time for interior link groups.
  • Another solution would be to apply a lower velocity to the entire cluster. This also entails unnecessarily increasing processing time.
  • the solution adopted herein is to subject the minimum number of links to the lower velocity constraint.
  • the original cluster is split at the first link not subject to the reduced speed constraint regardless of where the original group boundary occurs.
  • the velocity assigned to the “edge” links is selected to be an integral fraction (1/n) of the nominal velocity.
  • the original group has a link pitch of 4 ⁇ M.
  • the maximum Q-rate allowed for the particular laser in use is 20,000 pulses per sec.
  • the maximum velocity during processing will be 80 mm/sec.
  • the stage will require ⁇ 200 ⁇ M to come to a stop (same to go from stop to cutting velocity).
  • some of the links in the group are sufficiently close to the edge of the user envelope that they will require a lower cutting velocity.
  • the actual velocity selected for the fragment of the original cluster will be selected based on the minimum value for n such that the new velocity will equal the original velocity divided by n.
  • the value for n is found interactively starting with 2 and increasing until the resulting velocity is sufficiently small that the last link in the cluster fragment (nearest the edge) can be processed and sufficient stopping distance remains for the stage.
  • the link sorting algorithm includes a parameter (T_settle) that specifies how long the stage should persist at cutting velocity before the first link in a group.
  • T_settle a parameter that specifies how long the stage should persist at cutting velocity before the first link in a group.
  • a PVT segment i.e., a segment in which accel/decl of the stage occurs
  • CV segment i.e., a segment where the stage velocity is constant and laser cutting occurs.
  • T_settle is set to zero, then the first link to be cut will occur at precisely the end of the PVT segment and the start of the CV segment.
  • the stage may not have fully settled to the required level of precision in the absence of any settle time. This could lead to misplacement of the laser with respect to the first few links in a group.
  • the T-settle parameter can be used to pre-extend the nominal CV segment for a distance equal to V*T_settle. This gives the stage some time to settle and improves system accuracy at a slight cost to throughput.
  • the parameter is typically a few milliseconds.
  • a non-zero value for T_settle affects the handling of “edge” links.
  • the extension of the CV segment to accommodate T_settle is only applied at the start of a segment.
  • the algorithm is free to choose the preferred direction in which to cut a group of links. If an edge group is processed starting from the edge and moving toward the interior of the envelope, then the distance (D_settle) needed to accommodate T_settle will further reduce the distance needed to accelerate from 0 to V/n. Since the first link location is fixed, this implies that an even lower velocity will need to be applied to the group if it is processed “inward.”
  • the D_settle distance will extend the link toward the interior of the stage envelope without forcing a further reduction on link cutting velocity for the fragment.
  • the sorting algorithm begins at a starting location (P i ). This location corresponds to the final location reached at the end of the site alignment operation (usually near a corner of the site).
  • the starting velocity (V i ) is assumed to be zero.
  • the sorting algorithm determines the cost of processing all “available” clusters in each of two possible directions.
  • the cost is calculated as follows:
  • T pvt is the time to move from (P i ; V i ) to the start of the group;
  • E pvt is the energy expended in the motor coils during the move
  • Kp is the weighting factor (units of power) applied to motor energy
  • T cvt is the time required to complete the CV segment.
  • the move is assumed to start at (P i ; V i ).
  • Two values of cost are calculated for each cluster—one for each direction. The cost for different directions may be substantially different.
  • N_level A parameter called N_level is used to control the sorting algorithm. If N_level is set to 1, then the cluster/direction combination that exhibits the lowest cost is selected as the first cluster to process. It is removed from the list of “available” clusters and placed at the head of the “process list.” The starting locations (P i ; V i ) are updated to reflect the position and (non-zero) velocity that occur at the end of processing the first cluster.
  • the sorting algorithm re-computes the cost for all available clusters/directions. Note that the costs determined in the second step bear no relationship at all to those found in the first step due to substantially different starting conditions. The impact of non-zero starting and ending velocity on cost may not be obvious. The process of selecting the lowest cost cluster/direction combination from the set of available proceeds until no clusters are available.
  • the parameter N_level controls the extent of the search for the best cluster order.
  • N_level set to 1
  • the consequence of selecting the best cluster/direction to process is not considered. It is quite possible that selecting the best cluster may lead to a less efficient ordering of subsequent clusters.
  • N_level 1
  • the search will be conducted for 3-levels.
  • N_level While large values of N_level make little improvement, sorting with N_level in the range of 1 to 3 can have a dramatic impact on energy dissipation and spectral content.
  • the sorting algorithm finds opportunity to conserve momentum (since no energy is dissipated if momentum is conserved). Stage momentum is conserved, for instance, when two clusters in adjacent die can be processed without an intervening PVT segment. Adjacent groups of links are a frequent occurrence.
  • the sorting algorithm will find a smooth motion profile that transitions from the end of the link groups in one row to the start of link groups in the other. This smooth profile is generally faster, dissipates less energy and has much lower spectral content than traditional profiles that perform the transition in three steps: stop, hop, start.
  • the fragment cannot be processed at the same velocity as the preceding cluster. There is often insufficient distance after the end of the preceding cluster (the original cluster, now cut) and the fragment to allow the stage to decelerate to the +X fragment velocity.
  • the cost associated with trying to process the fragment in the +X direction following the +X traversal of the original cluster results in a rapid decel (from the original cluster) to a ⁇ X velocity, then an accel to a lower +X velocity to traverse the site.
  • the cost to traverse the fragment in the ⁇ X direction is often less since the stage is able to make a smoother transition (i.e., lower energy expenditure) coming to a stop near the extreme of the envelope and then accelerate to a lower velocity ( ⁇ X direction) just in time to reach the outermost link in the cluster fragment.
  • the weighted energy savings (E/Kp) often is more significant than the increased Tcv time.
  • the cluster sorting algorithm exhibits the following benefits over prior practice:
  • the algorithm considers links across the entire site. This leads to optimizations (chances to conserve momentum) that would not be realized if the sorting were performed on a die-by-die basis.
  • the algorithm explicitly considers groups near the edge of the envelope and processes them in the most efficient manner subject only to the actuator limits.
  • the algorithm considers the initial and final velocities as well as distance between the end of one group and the start of the next. This makes explicit the merging of nearby groups. Prior algorithms would merge nearby groups depending only upon preset distance criteria. Selecting the proper distance threshold to merge became very important. In the algorithm, the only motivation to merge any nearby groups is to reduce the number of clusters that need to be analyzed. This leads to a choice of merge distance much shorter (that is, do not merge groups that are greater than x apart) than prior algorithms.
  • the sorting will place the “un-merged” clusters in succession, with possibly a PVT segment in contrast to a CV segment, between the groups. That is, if the initial “clustering” step does not merge the clusters, they can still be merged by the sorting step.
  • the algorithm implicitly reduces the spectral content and energy dissipation associated with processing the site. Since power dissipation is included in the cost formulation, optimizing cost leads to lower energy dissipation. Less obvious perhaps is that the same optimization leads to fewer acceleration pulses of longer duration.
  • the multi-pulse profile is overconstrained—there are more parameters of the profile than there are boundary conditions. In many cases, one can fit the boundary conditions using more than one combination of pulses and cruises; for a single combination, there may be an infinite number of solutions as well.
  • pulse As P, and cruise as C; e.g., a pulse/cruise/pulse segment will be called a PCP.
  • M minimum time is to be computed
  • T time is specified
  • Pulse/Cruise of FIG. 6 This generates C, P, CP, and PC segments.
  • Pulse/Pulse of FIG. 7 This generates PP and PCP segments.
  • the pulses have the same acceleration magnitude but opposite sign; the pulse times are independent. If the velocity at the end of the first pulse exceeds the maximum, a cruise interval at maximum velocity is used, forming a PCP segment.
  • Stop/Hop/Start of FIG. 8 This is also called a Z move. This generates a PPCPP segment, and the -T solution can also generate a PPCPCP segment. This is a last-ditch solution if no other solutions are feasible. It involves an immediate stop, a PCP point-to-point move and stop to a “staging point,” and then a final pulse to accelerate to the final position and velocity.
  • This segment type typically takes more time and more energy than other types. However, observing position constraints may make it essential for a few, hopefully infrequent, set of boundary conditions.
  • Feasibility checking includes both numerical checks, e.g. that the interval time is non-negative, and physical checks, e.g., that voltage, velocity, and position constraints are not violated.

Abstract

Method and subsystem are provided for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site utilizing an estimated change in temperature of motors caused when the motors drive the stage according to a number of possible trajectories. The method includes receiving reference data which represent locations of microstructures to be processed at the site, determining a plurality of possible trajectories based on the data, and estimating a change of temperature of motors caused when the motors drive the stage based on each of the possible trajectories. The method also includes determining a substantially optimum trajectory from the possible trajectories wherein positioning accuracy of the stage is maximized by following the substantially optimum trajectory.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of U.S. provisional application Ser. No. 60/204,275, filed May 16, 2000, entitled “Trajectory Generation and Link Optimization.” This application is a continuation-in-part of U.S. patent application Ser. No. 09/572,925, also filed May 16, 2000, entitled “Method and System for Precisely Positioning a Waist of a Material-Processing Laser Beam to Process Microstructures Within a Laser-Processing Site.”
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to methods and subsystems for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site.
2. Background Art
Memory repair is a process used in the manufacture of memory integrated circuits (DRAM or SRAM) to improve the manufacturing yield. Memory chips are manufactured with extra rows and columns of memory cells. During testing of the memory chips (while still in the wafer form), any defects found are noted in a database. Wafers that have defective die can be repaired by severing links with a pulsed laser. Systems generally utilize wafer-handling equipment that transports semiconductor wafers to the laser process machine, and obtain the information in the form of an associated database specifying where the links should be cut and perform the requisite link ablation for each wafer.
Successive generations of DRAM exploit finer device geometry in order to pack more memory into smaller die. This manufacture of smaller devices affects the geometry of the links allocated for laser redundancy. As the devices get smaller, the links get smaller and the pitch (link-to-link spacing) shrinks as well. Smaller link geometry requires a smaller spot size from the laser in order to successfully remove selected links without affecting adjacent links, preferably with little if any compromise in throughput.
Links are arranged in small groups on a common pitch. Typical groups might consist of 20-50 links that are about 0.8 μM wide, 6 μM long and spaced on a 3 μM pitch. The groups can be arranged with the pitch vector parallel to either the x or y axis. Frequently, multiple groups will be found to be co-linear with as little as 2 or 3 “pitches” between the end of one group and the start of the next. At other times, the co-linear groups may be spaced many hundreds of microns apart. A typical DRAM die might have a few hundred groups of links distributed across the extend of the die.
The above-noted utility patent application discloses a high-performance x-y stage that is used to position a semiconductor wafer underneath a stationary laser beam. The x-y stage is required to make many high-speed motions in the course of processing a region of the wafer.
Typical x-y stages are limited by position, velocity, acceleration and voltage constraints. The position constraints are the limits of travel of the stage. The velocity constraints may be due to limits on the positioning sensing devices used in the stage and/or limits imposed by the type of bearings used. Acceleration constraints are usually due to limits on the current available to drive the stage due to motor, amplifier or power supply considerations. Voltage constraints are encountered less frequently. Movements that require excess voltage must be avoided in order to avoid amplifier saturation. Voltage constraints are typically encountered during brief high-acceleration moves.
The stage is able to execute a motion using a relatively large value of acceleration (as high as 3 G's) and to stop rapidly at the end of the motion. The stage also must operation with extremely high precision (nanometer level of precision). The combination of very high performance and extreme accuracy requirements places additional constraints of the stage. The stage is sensitive to the level of power dissipated in the motor windings. If the power dissipated causes the winding temperature to rise more than 2° C., then the precision of the stage will be compromised. Also, if the spectral content of the forces applied to the stage contains an excessive level of energy at frequencies above the first mechanical mode of the system, then resonances in the mechanical elements of the stage will be excited. These resonances will either compromise accuracy or require extra settling time at the end of a motion before the requisite level of precision will be achieved.
SUMMARY OF THE INVENTION
An object of the present invention is to provide an improved method and subsystem for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site.
In carrying out the above object and other objects of the present invention, a method for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site is provided. The method includes receiving reference data which represent locations of microstructures to be processed at the site, and determining a plurality of possible trajectories based on the data. A change of temperature is estimated of at least one motor caused when the at least one motor drives the stage based on each of the possible trajectories. The method further includes determining a substantially optimum trajectory from the possible trajectories wherein positioning accuracy of the stage is maximized by following the substantially optimum trajectory.
The at least one motor may include at least one coil and wherein the step of estimating is based on an estimated amount of energy dissipated in the at least one coil for each of the possible trajectories.
The step of estimating may further include the step of predicting temperature rise which results from energy dissipation in the at least one coil for each of the possible trajectories based on a model of thermal response for the at least one coil.
Each of the possible trajectories may include a plurality of motion segments and wherein the step of estimating includes the step of estimating energy dissipation in the at least one coil for each of the motion segments.
The stage may be an x-y stage.
The step of estimating may estimate changes of temperature of a plurality of motors caused when the motors drive the x-y stage based on each of the possible trajectories.
The microstructures may be located on a plurality of spaced-apart dice of a semiconductor wafer supported on the stage.
The microstructures may be conductive lines of the dice.
The dice may be semiconductor memory devices and wherein the conductive lines are to be ablated at the site to repair defective memory cells of the device.
At least one of the possible trajectories may have an acceleration/deceleration profile.
Further in carrying out the above objects and other objects of the present invention, a subsystem for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site is provided. The subsystem includes means for receiving reference data which represent locations of microstructures to be processed at the site, and means for determining a plurality of possible trajectories based on the data. The subsystem also includes means for estimating a change of temperature of at least one motor caused when the at least one motor drives the stage based on each of the possible trajectories. The subsystem further includes means for determining a substantially optimum trajectory from the possible trajectories wherein positioning accuracy of the stage is maximized by following the substantially optimum trajectory.
The at least one motor may include at least one coil and wherein the means for estimating estimates an amount of energy dissipated in the at least one coil for each of the possible trajectories.
The means for estimating may include a model of thermal response for the at least one coil to predict temperature rise which results from energy dissipation in the at least one coil for each of the possible trajectories.
Each of the possible trajectories may include a plurality of motion segments and wherein the means for estimating estimates energy dissipation in the at least one coil for each of the motion segments.
The means for estimating may estimate changes of temperature of a plurality of motors caused when the motors drive the x-y stage based on each of the possible trajectories.
The above object and other objects, features, and advantages of the present invention are readily apparent from the following detailed description of the best mode for carrying out the invention when taken in connection with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a detailed schematic block diagram of a memory repair system in accordance with the present invention showing the major subsystems;
FIG. 2 is a diagram of system architecture with trajectory data flow;
FIG. 3 is an exemplary illustration showing a wafer processing site comprising several die, die sites, groups of links and associated regions where reference regions are located to define a reference surface;
FIG. 4 is a schematic view of rows of links of side-by-side dice to be processed within a die site;
FIG. 5 is a schematic view of various motion segment types;
FIG. 6 shows graphs of amplitude versus time and illustrating a pulse/cruise profile of a motion segment;
FIG. 7 is a graph of amplitude versus time and illustrating a pulse/pulse profile of a motion segment; and
FIG. 8 is a graph of amplitude versus time and illustrating a stop/hop/start profile of a motion segment.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
A laser processing system, generally indicated at 110, is shown in FIG. 1. A wafer 4 is positioned within the laser processing system 110 and database information from a user interface 11 is provided to identify links (33 in FIG. 3) on the wafer 4 which are to be ablated to repair defective memory cells.
The database information is used by a trajectory planner 12 and a DSP-based controller 15,16 in conjunction with motion stage 6, 7, calibration to define motion segments for the trajectory generator which are executed and coordinated with a laser, focusing optics, and x-y stage 6, 7 operation to ablate links, as shown in the above-noted utility application. This operation includes control of x-y motion with preferred high-speed precision stages 6, 7 and simultaneous positioning of optical elements to position the beam waist of the processing laser to coincide with a coordinate of the link 33 when the laser is pulsed.
All memory repair systems include some dynamic mechanism to provide relative motion between the wafer surface and the focal plane. In some cases, this may involve controlling the height of the wafer 4 relative to a fixed height optical path by movement along the z-axis. Alternatively, the motion may utilize movement of a focusing lens in a “stepwise” manner to coincide with a location in depth derived from focus data from a die of site.
With the present system, the overall height of the wafer remains constant and the final objective lens height is controlled by a linear servo mechanism and controller 14,17 for an optics box 18. The positioning of the lens or optical element with a preferred arrangement using a precision positioning system for z-axis movement provides z-axis resolution of about 0.1 um or finer with a 3DB “small signal” bandwidth of about 150 Hz, over a typical maximum range of movement of about 3 mm.
The “trajectory planner” 12 is utilized to plan the path of the wafer 4 and beam waist position 5 with a motion system 6, 7, 17 and associated DSP based controller 16. The trajectory planner integrates information from the user interface and alignment system 11 that is used to define the position of the laser relative to the targets (the latter typically mounted on a precision stage, for instance, a wafer stage) in a coordinate system. From the database the information is derived, resulting in a “link map”, die selection, and other pertinent data regarding the memory repair operation.
Those skilled in the art of motion control and estimation will appreciate the tolerance budget requirement for accurate three-dimensional positioning in a high-speed memory repair processing system. A fraction of a micron, over a maximum range of travel of about 300 mm or more, corresponds to the entire area of a modern wafer. Processing or “cutting speeds” exceeding 50 mm/sec. are advantageous. Also, U.S. Pat. No. 6,144,118, hereby incorporated by reference, describes details of a preferred wafer positioning system.
Referring now to FIG. 3, a system for link blowing will generally require processing (i.e. laser ablation) of a subset 33 of a large number of links 34 on the wafer 4. The information which defines the links to be processed is provided to a control program. The program in turn will define a set of reference locations 32 surrounding a number of die 35 to be processed—i.e. a die site. The locations will generally include a sufficient number of points to accurately define a trajectory to be followed by the wafer and lens system based upon commands generated for motion system control as described in the above-noted utility application.
Generating the Laser Pulse
The laser-processing beam is typically provided by a Q-switched YAG laser having a pre-determined pulse width, repetition rate, and wavelength as disclosed in U.S. Pat. No. 5,998,759. A control signal 20 is supplied to the laser which generates a pulse in coordination with the continuous positioning of the wafer and lens. Those skilled in the art will recognize the coordination of the laser and motion will most likely be compounded by instantaneous or cumulative position error. In a preferred embodiment a programmable firing delay is included that adjusts the previously “scheduled” laser pulses to compensate for such position errors. The time resolution of such correction is preferably 25 nanoseconds or less. Preferably, the complete error correction is defined by a “tracking vector” which converts the total position error into a delay. This tracking vector can be included with transformation matrices which are operatively connected to the controller for dynamically relating coordinate systems.
Referring now to FIG. 2, trajectory generation is the process of specifying, representing, and realizing continuous motion paths. For the system described here, there is a need to synchronize the moving stage and laser firing so that each link is blasted on center. The trajectory generation architecture is illustrated in FIG. 2. Beam motion is accomplished by computing segments from application data; setpoints from segments; and servo commands from setpoints.
The most significant functional entities in this scheme are the planner, generator, and interpolator. The planner constructs the path for the stage by analyzing domain-specific data, e.g. link map and repair data. The output of this module is a trajectory: a list of motion segments each optionally paired with a control segment.
When the three-dimensional coordinates of the laser beam and links to be processed are determined, a motion control program utilizes the trajectory planner or generator 12 of FIG. 1 to efficiently process the target structures.
Referring now to FIGS. 4 and 5, in a preferred system the acceleration and velocity profiles are associated with the following “motion segment” types:
1. PVT (Position/Velocity/Time) segment 110. It is used to accelerate to a desired position and velocity. The time required to traverse this segment is optional; if not specified, the minimum time is computed.
2. CVD (Constant-Velocity/Distance) segment 111. This type has only a single scalar specification: path length of the segment. The beam is to move at constant velocity for the specified distance. The velocity is that specified by the endpoint of the previous segment. Process control is typically executed during a CVD segment.
3. CVT (Constant-Velocity/Time) segment. This is the same as the CVD segment, but he segment's duration is specified rather than its length.
4. Stop Segment 113. This segment takes no specifications—it stops the stage as quickly as possible.
“Blast” refers to firing of the laser pulse to sever the links 114. Furthermore, a “stop” segment terminates motion, preferably as fast as possible. Process control and link blowing are most often associated with the constant velocity segment.
In a preferred system acceleration and velocity profiles are used to generate the x-y motion in cooperation with the DSP-based servo controller 16. The lens translations along the optical axis are coordinated with the x, y motion so that the beam waist will be positioned at the target location when the laser is pulsed. The z coordinate of the beam waist may be dynamically adjusted between any two structures on the wafer, including adjacent structures arranged in a row (along x or y direction) on a single die. The incremental z-axis resolution (smallest height difference) for link blowing is preferably about 0.1 um, for example, with about 0.05 um at the limit.
The problem addressed by path planning within the system is as follows: Given initial and final position and velocity (vector) specifications, find the “optimum” trajectory that satisfies the end-point conditions as well as the constraints on position envelope, maximum velocity, maximum acceleration and maximum voltage.
The optimum trajectory minimizes the “cost” of the trajectory. The “cost” for a given trajectory is the weighted sum of the trajectory time and the energy dissipated in the motor coils. The weighting factor for time is always unit (1.0). The weighting factor for energy is variable.
Many trajectories may satisfy the required end-point conditions as well as satisfy the system constraints. However, there may be a large variation in the cost associated with the multiple solutions. The algorithm of the present invention finds the optimum (lowest “cost”) and uses that trajectory to execute a motion.
Consider a simple example. A trajectory specification frequently encountered in performing memory repair is called a “merge.” Laser processing is required along two short line segments that are nearby. The segments are co-linear and the segments are processed at the same constant velocity. A gap exists between the co-linear segments. A “CV” segment might be used to traverse the gap (i.e., a constant velocity segment using the same velocity as the preceding segment). Alternatively, the gap might be traversed in slightly less time by a brief acceleration/deceleration profile. The cost of the CV solution is simply the time required to cross the gap (distance/velocity), since a CV segment involves no energy dissipation. However, an accel/decel profile will require less time but at a greater expenditure of energy. The optimum selection in this case depends upon the relative weighting of energy dissipation versus time in the cost function.
Motion Profiles
A trajectory segments consists of one or more intervals. An interval is defined as a subset of the trajectory during which the acceleration is constrained to be a predetermined function of two variables: APK (peak acceleration amplitude) and Tint (duration of the interval). The form of the acceleration profile is either cycloidal or harmonic. Since the form is predetermined, only the amplitude and duration are needed to completely specify the motion during a trajectory interval.
A trajectory is composed of a sequence of contiguous (in time, position, velocity, acceleration and jerk) intervals with each interval having variable duration and acceleration amplitude (possibly zero). Note that a CV (constant velocity) trajectory segment is a single interval with APK=0.
The system of FIG. 1 performs a sequence of trajectories as a single motion profile. A single motion profile may last many seconds and consist of hundreds of trajectory segments. Multiple intervals are typically required to satisfy the end-point specifications for a trajectory segment. Intervals can be generically described as either “C” or “P” corresponding to “cruise” or “pulse.” A C-segment is characterized by APK=0. A P-segment has non-zero APK.
In the merge example given earlier, the cruise solution consists of a single “C” interval, whereas the accel/decel solution is a “P—P” solution. Other segment combinations are required to handle the variety of trajectory specifications required for the system of FIG. 1: (C, CP, PC, PP, PCP, PPPP, PPCPP).
Not all solution forms can be applied to a given trajectory segment. For example, a trajectory segment that contains different initial and final velocities (Vi<>Vf) cannot be satisfied with a C interval.
Solution Strategy
The solution for CVT or CVD segments is trivial (zero acceleration for the specified time or distance). Since time is specified and energy dissipation is zero, there is no optimization to be performed. The CV segment will not be discussed further.
The solution for a PVT trajectory segment is more complicated. The solution involves the following steps:
1. Decompose the vector specification into x and y axis specifications.
2. Find the minimum cost solution independently for each axis.
3. Take the time for the slowest axis and find a solution for the “fast” axis that is minimum cost subject to the same “slow” elapsed time.
The minimum cost solution for a single axis involves the following steps:
1. Find the optimum solution for each relevant solution form (i.e., C, P, PC, CP, etc.).
2. Choose the best solution from amongst the multiple forms (if multiple solutions exist).
The relative cost of energy is controlled by a variable (Kp). Kp is used in the cost formulation as follows:
Cost=T+E/Kp
Note that Kp has dimensionality of power. This gives an intuitive basis for selecting Kp. If Kp is set to be large, then the cost of dissipated energy is made small. The resulting solutions will be minimum time. Conversely, setting Kp to be small makes energy “expensive” and hence solutions will tend to minimize power at the expense of time.
Since Kp is a variable, it can be set dynamically. The system of FIG. 1 exploits this capability to provide a further level of control over power dissipation (and hence improve accuracy). During production operations, the path planning algorithm is provided with a sequence of trajectory segments that must be followed. The path planning algorithm determines the energy that will be dissipated during each motion segment. Using a simple first-order model of the thermal response of the windings, the path planning algorithm predicts the temperature rise that will result from the energy dissipation history of the trajectory.
During trajectory segments that involve many short acceleration segments, the estimated temperature may rise more than desired. The path planning algorithm will then reduce the value of Kp in order to bias the motion optimization solution toward lower power intervals. Conversely, the path planning algorithm will increase Kp when the estimated temperature rise is very small.
Simulations performed with real memory repair data reveal that this dynamic adjustment of the relative cost of time versus energy reduces the variation in motor temperature. The accuracy of the system of FIG. 1 is sensitive to the rate of change of temperature (but not particularly sensitive to any particular temperature). The primary source of variation in stage temperature is due to variation in motor dissipation as a result of trajectories. The dynamic adjustment of Kp as a function of estimated temperature significantly reduces the variation and leads to higher precision.
When executing typical memory repair trajectories, the level of power dissipation in the motors is strongly influenced by Kp. However, the overall throughput of the system is a weak function of Kp. Thus, the component of stage error due to motor dissipation can be effectively controlled with a minor impact on overall throughput. Since the x-y stage is significantly faster than competitive offerings, this form of precision control can be achieved with insignificant impact on market acceptance.
Solution Benefits
The optimized multi-pulse solution provides the following benefits:
Continuous Smooth Motion
The path planning algorithm allows continuous motions in an x-y plane with a minimum of stops. The motion profiles are free of any discontinuities in position and all higher derivatives through jerk (derivative of acceleration). This implicitly limits the spectral content of the forces applied to the stage, thereby reducing the excitation of mechanical resonances in the stage and supporting structure.
Reduced Power Dissipation
The trajectories are optimum (based on the relative importance of time versus power dissipation).
Minimum Variation in Dissipation
By controlling Kp as a function of predicted motor temperature, a simple means of reducing temperature variation and thereby increasing precision is achieved.
Link Optimization
As previously mentioned, the order in which the links to be cut are specified is seldom the optimum order in which to conduct the link cutting process. The algorithm described here re-orders the links and thereby achieves: 1) a reduction in the execution time; 2) motor power dissipation; and 3) spectral content of forces applied to the system. Reduced execution time leads to higher productivity for the system. Reduced motor power dissipation improves the accuracy of the system. Reduced spectral content of forces improves accuracy and throughput by avoiding the excitation of structural resonances that would otherwise cause positioning errors.
The algorithm is modeled after the well known “traveling salesman” problem. In this case, however, we are interested in minimizing the cost to visit each link group as opposed to simply the time to visit each group. The sorting algorithm also conveniently handles some special cases and conditions that have limited the performance of previous generation memory repair systems.
The system of FIG. 1 typically processes multiple die with a single “site.” The field size of the system may allow as many as six or eight 64M DRAM die to be processed at one time. This process is called multi-die align (MDA). The use of MDA affords a significant throughput improvement by reducing the number of alignment operations required to process the wafer from 1-per die to 1-per site. The alignment operation may require roughly the same amount of time to perform as link cutting for a single die.
MDA introduces another opportunity to exploit link re-ordering to improve throughput. Link groups in adjacent die may be co-linear. Processing co-linear groups without an intervening PVT motion segment (i.e., accel/decel segment) is often the best solution. The link sorting algorithm considers all groups within a site in order to find the optimum sequence.
Algorithm
The algorithm is as follows:
1. Gather all link groups within the site that need to be processed. This often involves reading a “repair file” having repair data as shown in FIG. 2 and possibly performing a transformation of the customer data format to an internal representation of the links to be cut.
2. Coalesce adjacent groups. While reading the list of link groups to cut, “coalesce” adjacent groups into “clusters.” Adjacent groups are coalesced if they are co-linear, the groups can be processed at the same velocity and the gap between the end of one group and the start of the next is greater than a minimum dimension and less than a maximum dimension.
3. Identify “edge” groups. If the end of a cluster comes too close to the physical limits of the stage envelope, the stage may not have sufficient acceleration to process the group at full speed and stop before “crashing” into the stage travel limits. The cluster is cut into two clusters by assigning all links that are “close” to the edge to a new cluster with the balance remaining in the original cluster. A new, lower velocity is assigned to the edge cluster such that the stage does have sufficient room to reach the new cutting velocity within the distance between the last link of the new group and the physical limits of the stage travel.
4. Sort the clusters. The input to the sort is the (arbitrarily) ordered list of clusters with an (arbitrary) direction assigned to each cluster. (Direction refers to the direction, forward or reverse, in which the links in the cluster will be traversed). The output of the sort process is a new order of the same link groups with a new direction assigned to each. The re-ordered list is optimum.
5. Process the groups. The ordered list of groups is supplied as input to the path planning algorithm. The groups are processed in the prescribed order using a single continuous-motion trajectory that traverses the entire set of links.
Edge Clusters
A challenge for any memory repair system is to process groups that occur near to the travel limits. The distance required to come to a stop is a function of the square of the velocity and the reciprocal of acceleration. In the system of FIG. 1, a compromise was made during the design of the x-y stage to restrict the amount of “overtravel” available between the extreme of the user travel range and the physical limits of travel. The restriction was selected as part of the optimization of the motor design for the x-y stage.
The limited distance between the edge of the user envelope and the physical limits of travel (about 200 μM) is insufficient for the stage to come to a stop if it is traveling at the maximum cutting velocity (150 mm/sec) at the edge of the user envelope. One solution would be to reduce the maximum cutting velocity to ensure that the stage could always stop. This is undesirable since it unnecessarily increases processing time for interior link groups. Another solution would be to apply a lower velocity to the entire cluster. This also entails unnecessarily increasing processing time.
The solution adopted herein is to subject the minimum number of links to the lower velocity constraint. The original cluster is split at the first link not subject to the reduced speed constraint regardless of where the original group boundary occurs. Furthermore, the velocity assigned to the “edge” links is selected to be an integral fraction (1/n) of the nominal velocity. An example will help to explain the benefit of this scheme.
Assume the original group has a link pitch of 4 μM. Furthermore, assume the maximum Q-rate allowed for the particular laser in use is 20,000 pulses per sec. The maximum velocity during processing will be 80 mm/sec. For a harmonic acceleration profile subject to a maximum of 30 M/sec2, the stage will require ˜200 μM to come to a stop (same to go from stop to cutting velocity). Let's assume that some of the links in the group are sufficiently close to the edge of the user envelope that they will require a lower cutting velocity. The actual velocity selected for the fragment of the original cluster will be selected based on the minimum value for n such that the new velocity will equal the original velocity divided by n. The value for n is found interactively starting with 2 and increasing until the resulting velocity is sufficiently small that the last link in the cluster fragment (nearest the edge) can be processed and sufficient stopping distance remains for the stage.
Simply processing this cluster fragment at V/n will result in the laser firing rate being reduced to Q/n (Q=20,000 in this example). This may produce undesirable variations in the quality of link cutting for those links in the fragment subjected to a different laser Q-rate. This variation is eliminated in the algorithm by introducing the concept of “blast-per-pitch” (bpp). Normally, bpp=1 and the laser is fired once for each pitch of motion of the stage. When a fragment is to be processed at V/n, the bpp is set to n. The system of FIG. 1 recognizes this parameter and fires the laser at a constant rate equal to n*(V/n)/p =V/p=Q. The system “pretends” that there are n−1 “phantom” links equally distributed between each physical link. This forces the laser Q-rate to be identical to the Q-rate used for all other links and ensures consistent cut quality across all links.
There is one further optimization performed by the algorithm that affects links near the edge of the user envelope. The link sorting algorithm includes a parameter (T_settle) that specifies how long the stage should persist at cutting velocity before the first link in a group. Typically, a PVT segment (i.e., a segment in which accel/decl of the stage occurs) will precede a CV segment (i.e., a segment where the stage velocity is constant and laser cutting occurs). If T_settle is set to zero, then the first link to be cut will occur at precisely the end of the PVT segment and the start of the CV segment. In some cases, the stage may not have fully settled to the required level of precision in the absence of any settle time. This could lead to misplacement of the laser with respect to the first few links in a group.
The T-settle parameter can be used to pre-extend the nominal CV segment for a distance equal to V*T_settle. This gives the stage some time to settle and improves system accuracy at a slight cost to throughput. The parameter is typically a few milliseconds.
A non-zero value for T_settle affects the handling of “edge” links. The extension of the CV segment to accommodate T_settle is only applied at the start of a segment. The algorithm is free to choose the preferred direction in which to cut a group of links. If an edge group is processed starting from the edge and moving toward the interior of the envelope, then the distance (D_settle) needed to accommodate T_settle will further reduce the distance needed to accelerate from 0 to V/n. Since the first link location is fixed, this implies that an even lower velocity will need to be applied to the group if it is processed “inward.”
If the group is processed “outward” (stage coming to a stop just before the physical limits of travel), the D_settle distance will extend the link toward the interior of the stage envelope without forcing a further reduction on link cutting velocity for the fragment.
It would seem obvious to process edge cluster fragments in the “outward” direction in order to maximize cutting velocity. That is not always the case. It is the function of the sorting algorithm to find the best direction.
Sorting Clusters
The sorting algorithm begins at a starting location (Pi). This location corresponds to the final location reached at the end of the site alignment operation (usually near a corner of the site). The starting velocity (Vi) is assumed to be zero.
The sorting algorithm determines the cost of processing all “available” clusters in each of two possible directions. The cost is calculated as follows:
Cost=T pvt +E pvt /Kp+T cvt
where:
Tpvt is the time to move from (Pi; Vi) to the start of the group;
Epvt is the energy expended in the motor coils during the move;
Kp is the weighting factor (units of power) applied to motor energy; and
Tcvt is the time required to complete the CV segment.
For each cluster, the move is assumed to start at (Pi; Vi). Two values of cost are calculated for each cluster—one for each direction. The cost for different directions may be substantially different.
A parameter called N_level is used to control the sorting algorithm. If N_level is set to 1, then the cluster/direction combination that exhibits the lowest cost is selected as the first cluster to process. It is removed from the list of “available” clusters and placed at the head of the “process list.” The starting locations (Pi; Vi) are updated to reflect the position and (non-zero) velocity that occur at the end of processing the first cluster.
The sorting algorithm re-computes the cost for all available clusters/directions. Note that the costs determined in the second step bear no relationship at all to those found in the first step due to substantially different starting conditions. The impact of non-zero starting and ending velocity on cost may not be obvious. The process of selecting the lowest cost cluster/direction combination from the set of available proceeds until no clusters are available.
The parameter N_level controls the extent of the search for the best cluster order. In the example given above with N_level set to 1, the consequence of selecting the best cluster/direction to process is not considered. It is quite possible that selecting the best cluster may lead to a less efficient ordering of subsequent clusters.
The truly optimum selection can be made if, in addition to finding the best solution, all consequences of that selection can be explored. Then, in consideration of all consequences, the best solution is selected.
For example, suppose one starts with ten (10) clusters that require sorting. One considers the cost of twenty (20) initial combinations of clusters/directions. We can select the best five (for example) from this list of twenty. Then, this list of five is further examined. For each of the five, the eighteen (18=2*9) clusters that remained to be processed are considered. From this list, one selects the top five and considers the sixteen (16=2*8) clusters for each of the five. Then, the top five is selected from this list and the remaining clusters are considered. This process is continued until no clusters remain to be sorted. One then calculates the total cost for each of the first five clusters considered. The total cost is found by summing the cost for the best solution selected from all the underlying cluster selections. After all that, one cluster is selected and can repeat the whole process again for the remaining set.
Clearly, this exhaustive search to find the best cluster is computationally very expensive for a large number of clusters. Typical repair data for a site with multiple die may range from a few tens of clusters to hundreds of clusters. The exhaustive search would be prohibitively time-consuming for sites with many clusters.
Fortunately, experience with real repair data indicates that the benefits of an exhaustive search over a 1-level deep (N_level=1) search are small. If N_level is set to 3 (for instance), then the search will be conducted for 3-levels.
Note that the successive levels of search are only performed for the best M clusters (M=5, above) after the first level. While this does leave the chance that a sub-optimal ordering may be selected, it is felt that the extra cost associated with a “bad” first choice cannot be overcome by beneficial consequences (found at subsequent levels of search).
There is a qualitative argument that can be made to support the experimental observation that the sorting algorithm does not benefit from a large value of either M or N_level. For typical repair data, the stage will spend between 80 and 90% fo the total time in CV segments firing the laser. Re-ordering the data does not affect the CV processing time. Re-ordering optimizes the PVT time (slight) and can have a dramatic impact on the energy dissipated. However, once a “reasonable” path through the available clusters is found (N_level=1), setting N_level to 2 or 3 results in a further time savings of only a few percent. Carrying the sorting to the maximum level results in vanishingly small improvements over N_level=3.
While large values of N_level make little improvement, sorting with N_level in the range of 1 to 3 can have a dramatic impact on energy dissipation and spectral content. The sorting algorithm finds opportunity to conserve momentum (since no energy is dissipated if momentum is conserved). Stage momentum is conserved, for instance, when two clusters in adjacent die can be processed without an intervening PVT segment. Adjacent groups of links are a frequent occurrence. The sorting algorithm will find a smooth motion profile that transitions from the end of the link groups in one row to the start of link groups in the other. This smooth profile is generally faster, dissipates less energy and has much lower spectral content than traditional profiles that perform the transition in three steps: stop, hop, start.
Finally, an example will illustrate why the choice of direction to process edge link groups may not always be intuitive. Consider a cluster at the extreme +X edge of a site. Assume the original cluster must be broken into two resulting in a cluster fragment. If the fragment cluster were traversed in the +X direction, it could be processed at a higher velocity than if it is processed in the −X direction due to the impact of T_settle. During cluster sorting (assume N_level=1), suppose one has just selected the original cluster processed in the +X direction. During the next pass of the sorting algorithm, the cost for processing the fragment is determined assuming +X processing and −X processing. The cost will consider the time difference during the CV segment based on the different achievable velocities as a function of direction. However, recall that the fragment cannot be processed at the same velocity as the preceding cluster. There is often insufficient distance after the end of the preceding cluster (the original cluster, now cut) and the fragment to allow the stage to decelerate to the +X fragment velocity. The cost associated with trying to process the fragment in the +X direction following the +X traversal of the original cluster results in a rapid decel (from the original cluster) to a −X velocity, then an accel to a lower +X velocity to traverse the site.
The cost to traverse the fragment in the −X direction is often less since the stage is able to make a smoother transition (i.e., lower energy expenditure) coming to a stop near the extreme of the envelope and then accelerate to a lower velocity (−X direction) just in time to reach the outermost link in the cluster fragment. The weighted energy savings (E/Kp) often is more significant than the increased Tcv time.
Solution Benefits
The cluster sorting algorithm exhibits the following benefits over prior practice:
1. The algorithm considers links across the entire site. This leads to optimizations (chances to conserve momentum) that would not be realized if the sorting were performed on a die-by-die basis.
2. The algorithm explicitly considers groups near the edge of the envelope and processes them in the most efficient manner subject only to the actuator limits.
3. The algorithm considers the initial and final velocities as well as distance between the end of one group and the start of the next. This makes explicit the merging of nearby groups. Prior algorithms would merge nearby groups depending only upon preset distance criteria. Selecting the proper distance threshold to merge became very important. In the algorithm, the only motivation to merge any nearby groups is to reduce the number of clusters that need to be analyzed. This leads to a choice of merge distance much shorter (that is, do not merge groups that are greater than x apart) than prior algorithms. The sorting will place the “un-merged” clusters in succession, with possibly a PVT segment in contrast to a CV segment, between the groups. That is, if the initial “clustering” step does not merge the clusters, they can still be merged by the sorting step.
4. Conversely, the “un-merged” clusters may be better processed out of sequence. This becomes evident when examining the trajectories resulting from sorting the same data set starting with four different starting locations corresponding to the four corners of the site.
5. The algorithm implicitly reduces the spectral content and energy dissipation associated with processing the site. Since power dissipation is included in the cost formulation, optimizing cost leads to lower energy dissipation. Less obvious perhaps is that the same optimization leads to fewer acceleration pulses of longer duration.
Segment Planning
The multi-pulse profile is overconstrained—there are more parameters of the profile than there are boundary conditions. In many cases, one can fit the boundary conditions using more than one combination of pulses and cruises; for a single combination, there may be an infinite number of solutions as well.
To refer to a particular combination of intervals with brevity, one would abbreviate pulse as P, and cruise as C; e.g., a pulse/cruise/pulse segment will be called a PCP. When relevant, one would also distinguish between situations where minimum time is to be computed (“M”), and where time is specified (“T”). For example, one would have the PCP-M and PCP-T solutions, which are, in fact, quite different.
Several different interval combinations, or structure types, will be implemented. If one does not have a general solution, even still, some sets of boundary conditions have infinitely many solutions. Sometimes, more than one type solves the boundary condition. In that case, one would choose the minimum-cost solution. For each type, both -M and -T solutions have been implemented. The types currently solved are:
Pulse/Cruise of FIG. 6: This generates C, P, CP, and PC segments.
Pulse/Pulse of FIG. 7: This generates PP and PCP segments. The pulses have the same acceleration magnitude but opposite sign; the pulse times are independent. If the velocity at the end of the first pulse exceeds the maximum, a cruise interval at maximum velocity is used, forming a PCP segment.
Stop/Hop/Start of FIG. 8: This is also called a Z move. This generates a PPCPP segment, and the -T solution can also generate a PPCPCP segment. This is a last-ditch solution if no other solutions are feasible. It involves an immediate stop, a PCP point-to-point move and stop to a “staging point,” and then a final pulse to accelerate to the final position and velocity.
This segment type typically takes more time and more energy than other types. However, observing position constraints may make it essential for a few, hopefully infrequent, set of boundary conditions.
The strategy for solving a given multi-axis PVT segment is as follows:
1. Obtain the minimum time motion for each axis (i.e., solve the axis-M problem). Pick the largest of these times. Solve for the other axes using the time-specified (axis-T) solution.
The following sequence is used to solve both the minimum-time and time-specified problems:
1. Attempt to plan a PC and PP segment. Keep a list of the best feasible solution of each type.
2. If there is a feasible solution, pick the one with the lowest cost.
3. If nothing so far is feasible, plan a Stop/Hop/Start move.
Feasibility checking includes both numerical checks, e.g. that the interval time is non-negative, and physical checks, e.g., that voltage, velocity, and position constraints are not violated.
The following is a table that summarizes formulas derived for cycloidal and harmonic multi-pulse acceleration.
Table Summary of Multi-pulse Formulas
Item Cycloid Harmonic
Acceleration a ( t ) = A sin π T t
Figure US06495791-20021217-M00001
a ( t ) = A 2 ( 1 - cos 2 π T t )
Figure US06495791-20021217-M00002
Velocity v ( t ) = v i + AT π - AT π cos πt T
Figure US06495791-20021217-M00003
v ( t ) = v i + A 2 t - AT 4 π sin 2 πt T
Figure US06495791-20021217-M00004
Position p ( t ) = p i + ( v i + AT π ) t - AT 2 π 2 sin πt T
Figure US06495791-20021217-M00005
p ( t ) = p i + v i t + A 4 t 2 + AT 2 8 π 2 ( cos 2 πt T - 1 )
Figure US06495791-20021217-M00006
Jerk j ( t ) = T cos πt T
Figure US06495791-20021217-M00007
j ( t ) = πA T sin 2 πt T
Figure US06495791-20021217-M00008
Single Pulse Δ v = 2 AT π Δ p = Tv i + AT 2 π = Tv f - AT 2 π
Figure US06495791-20021217-M00009
Δ v = AT 2 Δ p = Tv i + AT 2 4 = Tv f - AT 2 4
Figure US06495791-20021217-M00010
Start or Stop Δ p = πΔ v 2 4 A
Figure US06495791-20021217-M00011
Δ p = Δ v 2 A
Figure US06495791-20021217-M00012
Point-to-Point Motion Δ p = 2 AT 2 π
Figure US06495791-20021217-M00013
Δ p = AT 2 2
Figure US06495791-20021217-M00014
Pulse Energy E = 1 2 ( A 2 T K s )
Figure US06495791-20021217-M00015
E = 3 8 ( A 2 T K s )
Figure US06495791-20021217-M00016
Minimum-Cost Pulse A = 2 K p K s
Figure US06495791-20021217-M00017
A = 8 3 K p K s
Figure US06495791-20021217-M00018
Pulse-Only Solution A = πΔ v 4 Δ p ( 2 v i + Δ v )
Figure US06495791-20021217-M00019
A = Δ v Δ p ( 2 v i + Δ v )
Figure US06495791-20021217-M00020
Pulse/Cruise, Time Specified A = { πΔ v 2 4 ( Δ p - Tv i ) , Cruise/Pulse πΔ v 2 4 ( Tv f - Δ p ) , Pulse/Cruise
Figure US06495791-20021217-M00021
A = { Δ v 2 Δ p - Tv i , Cruise/Pulse Δ v 2 Tv f - Δ p , Pulse/Cruise
Figure US06495791-20021217-M00022
Pulse/Cruise, Minimum Cost A = { - K p K s Δ v v i , Cruise/Pulse K p K s Δ v v f , Pulse/Cruise
Figure US06495791-20021217-M00023
A = { - 4 3 K p K s Δv v i , Cruise/Pulse 4 3 K p K s Δv v f , Pulse/Cruise
Figure US06495791-20021217-M00024
Pulse/Pulse, Time Specified Solve for A : T 2 π A 2 + ( T ( v i + v f ) - 2 Δ p ) A - πΔ v 2 4 = 0
Figure US06495791-20021217-M00025
Solve for A : T 2 4 A 2 + ( T ( v i + v f ) - 2 Δ p ) A - Δ v 2 = 0
Figure US06495791-20021217-M00026
Pulse/Pulse, Acceleration Specified Solve for T : 1 2 T 2 + π ( v i + v f ) 2 A T - π A ( π A Δv 2 8 + Δ p ) = 0
Figure US06495791-20021217-M00027
Solve for T : 1 2 T 2 + 2 ( v i + v f ) A T - 2 A ( Δ v 2 A + 2 Δ p ) = 0
Figure US06495791-20021217-M00028
While the best mode for carrying out the invention has been described in detail, those familiar with the art to which this invention relates will recognize various alternative designs and embodiments for practicing the invention as defined by the following claims.

Claims (10)

What is claimed is:
1. A method for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site, the method comprising:
receiving reference data which represent locations of microstructures to be processed at the site;
determining a plurality of possible trajectories based on the data;
estimating a change of temperature of at least one motor caused when the at least one motor drives the stage based on each of the possible trajectories; and
determining a substantially optimum trajectory from the possible trajectories wherein positioning accuracy of the stage is maximized by following the substantially optimum trajectory.
2. The method as claimed in claim 1 wherein the at least one motor includes at least one coil and wherein the step of estimating is based on an estimated amount of energy dissipated in the at least one coil for each of the possible trajectories.
3. The method as claimed in claim 2 wherein the step of estimating includes the step of predicting temperature rise which results from energy dissipation in the at least one coil for each of the possible trajectories based on a model of thermal response for the at least one coil.
4. The method as claimed in claim 3 wherein each of the possible trajectories includes a plurality of motion segments and wherein the step of estimating includes the step of estimating energy dissipation in the at least one coil for each of the motion segments.
5. The method as claimed in claim 1 wherein the stage is an x-y stage.
6. The method as claimed in claim 5 wherein the step of estimating estimates changes of temperature of a plurality of motors caused when the motors drive the x-y stage based on each of the possible trajectories.
7. The method as claimed in claim 1 wherein the microstructures are located on a plurality of spaced-apart dice of a semiconductor wafer supported on the stage.
8. The method as claimed in claim 7 wherein the microstructures are conductive lines of the dice.
9. The method as claimed in claim 8 wherein the dice are semiconductor memory devices and wherein the conductive lines are to be ablated at the site to repair defective memory cells of the device.
10. The method as claimed in claim 1 wherein at least one of the possible trajectories has an acceleration/deceleration profile.
US09/858,784 2000-05-16 2001-05-16 Method and subsystem for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site Expired - Lifetime US6495791B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/858,784 US6495791B2 (en) 2000-05-16 2001-05-16 Method and subsystem for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US20427500P 2000-05-16 2000-05-16
US09/572,925 US6483071B1 (en) 2000-05-16 2000-05-16 Method and system for precisely positioning a waist of a material-processing laser beam to process microstructures within a laser-processing site
US09/858,784 US6495791B2 (en) 2000-05-16 2001-05-16 Method and subsystem for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/572,925 Continuation-In-Part US6483071B1 (en) 2000-05-16 2000-05-16 Method and system for precisely positioning a waist of a material-processing laser beam to process microstructures within a laser-processing site

Publications (2)

Publication Number Publication Date
US20010052512A1 US20010052512A1 (en) 2001-12-20
US6495791B2 true US6495791B2 (en) 2002-12-17

Family

ID=46257748

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/858,784 Expired - Lifetime US6495791B2 (en) 2000-05-16 2001-05-16 Method and subsystem for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site

Country Status (1)

Country Link
US (1) US6495791B2 (en)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020004687A1 (en) * 2000-05-16 2002-01-10 General Scanning, Inc, Method and subsystem for determining a sequence in which microstructures are to be processed at a laser-processing site
US20030101611A1 (en) * 2001-11-05 2003-06-05 Bueno Chrispatrick A. Siding installation tool, kit and method
US20050161444A1 (en) * 2003-10-17 2005-07-28 Gsi Lumonics Corporation Flexible scan field
US20050199598A1 (en) * 2000-05-16 2005-09-15 Gsi Lumonics Corporation Method and system for precisely positioning a waist of a material-processing laser beam to process microstructures within a laser-processing site
US6984803B1 (en) 2004-09-09 2006-01-10 Epilog Corporation Low profile laser assembly
US20060108337A1 (en) * 2004-11-11 2006-05-25 Bo Gu Method and system for laser soft marking
US20060189091A1 (en) * 2004-11-11 2006-08-24 Bo Gu Method and system for laser hard marking
US20060205121A1 (en) * 2002-03-27 2006-09-14 Gsi Lumonics Corporation Method and system for high-speed, precise micromachining an array of devices
US20060207975A1 (en) * 2001-03-29 2006-09-21 Gsi Lumonics Corporation High-speed, precision, laser-based method and system for processing material of one or more targets within a field
US20060256181A1 (en) * 2005-05-11 2006-11-16 Ehrmann Jonathan S Optical scanning method and system and method for correcting optical aberrations introduced into the system by a beam deflector
US20070106416A1 (en) * 2006-06-05 2007-05-10 Griffiths Joseph J Method and system for adaptively controlling a laser-based material processing process and method and system for qualifying same
US20070117227A1 (en) * 2005-11-23 2007-05-24 Gsi Group Corporation Method And System for Iteratively, Selectively Tuning A Parameter Of A Doped Workpiece Using A Pulsed Laser
US20070178714A1 (en) * 2002-03-27 2007-08-02 Bo Gu Method and system for high-speed precise laser trimming and scan lens for use therein
US20080029491A1 (en) * 2006-07-20 2008-02-07 Gsi Group Corporation System and method for laser processing at non-constant velocities
US20080067155A1 (en) * 2006-09-15 2008-03-20 Bo Gu Method and system for laser processing targets of different types on a workpiece
US20080073438A1 (en) * 2004-06-30 2008-03-27 Gsi Group Corporation Laser-based method and system for processing targeted surface material and article produced thereby
US7437201B2 (en) 2003-01-14 2008-10-14 Cullen Christopher P Electric motor controller
US20080299783A1 (en) * 2007-06-01 2008-12-04 Electro Scientific Industries, Inc. Systems and methods for processing semiconductor structures using laser pulses laterally distributed in a scanning window
US20080303474A1 (en) * 2007-06-08 2008-12-11 Gsi Group Corporation Systems and methods for controlling limited rotation motor systems
US20080314879A1 (en) * 2007-06-25 2008-12-25 Electro Scientific Industries, Inc. Systems and methods for adapting parameters to increase throughput during laser-based wafer processing
US20090095722A1 (en) * 2007-09-19 2009-04-16 Gsi Group Corporation Link processing with high speed beam deflection
USRE41924E1 (en) 2002-05-17 2010-11-16 Gsi Group Corporation Method and system for machine vision-based feature detection and mark verification in a workpiece or wafer marking system
US7838794B2 (en) 1999-12-28 2010-11-23 Gsi Group Corporation Laser-based method and system for removing one or more target link structures
US20120024605A1 (en) * 2009-04-17 2012-02-02 Elinas Pantelis Drill hole planning
US20120103598A1 (en) * 2010-11-02 2012-05-03 Caterpillar Inc. Sequencing algorithm for planned drill holes
US20130197882A1 (en) * 2012-01-31 2013-08-01 Eth Zurich Evaluating and optimizing a trajectory function
WO2013158849A2 (en) * 2012-04-20 2013-10-24 Linestream Technologies Method for automatically estimating inertia in a mechanical system and for generating a motion profile
US8710777B2 (en) 2012-04-20 2014-04-29 Linestream Technologies Method for automatically estimating inertia in a mechanical system
US20160224018A1 (en) * 2015-01-29 2016-08-04 National Taiwan University Trajectory Planning System For Integrated Computer Numerical control (CNC) Machine, Trajectory Planning Device, Trajectory Planning method, And Computer Program Thereof
US10061275B2 (en) 2014-07-29 2018-08-28 Linestream Technologies Optimized parameterization of active disturbance rejection control
US10126202B2 (en) 2015-09-11 2018-11-13 Linestream Technologies Method for automatically estimating inertia, coulomb friction, and viscous friction in a mechanical system

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146242B2 (en) 2003-09-30 2006-12-05 Rockwell Automation Technologies, Inc. Method and system for generating multi-dimensional motion profiles
US7180253B2 (en) 2003-09-30 2007-02-20 Rockwell Automation Technologies, Inc. Method and system for generating multi-dimensional motion profiles
US20220260933A1 (en) * 2019-07-30 2022-08-18 Asml Netherlands B.V. Method of determining a mark measurement sequence, stage apparatus and lithographic apparatus

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710908A (en) 1983-09-20 1987-12-01 Olympus Optical Company Limited Servo apparatus for compensating for warp and deflection deviations on optical discs
US5594235A (en) 1993-06-17 1997-01-14 Ultrapointe Corporation Automated surface acquisition for a confocal microscope
US5690785A (en) 1995-03-13 1997-11-25 Yamaha Corporation Lithography control on uneven surface
US5783814A (en) 1994-01-18 1998-07-21 Ultrapointe Corporation Method and apparatus for automatically focusing a microscope
EP0862089A2 (en) 1997-02-28 1998-09-02 Nikon Corporation Method of determining movement sequence and apparatus for realizing it
US5808887A (en) 1987-11-20 1998-09-15 Philips Electronics North America Corporation Animation of path planning
EP0864929A2 (en) 1997-03-11 1998-09-16 Nikon Corporation Determining method of movement sequence and alignment apparatus for executing the same
US5871805A (en) 1996-04-08 1999-02-16 Lemelson; Jerome Computer controlled vapor deposition processes
WO1999028798A2 (en) 1997-12-02 1999-06-10 Lacent Technologies Inc. Gantry-mounted laser nozzle and method for controlling laser positioning
US5978148A (en) * 1994-11-25 1999-11-02 Asahi Kogaku Kogyo Kabushiki Kaisha Beam projecting device
WO2000017724A1 (en) 1998-09-18 2000-03-30 General Scanning, Inc. High-speed precision positioning apparatus
US6177998B1 (en) 1998-03-05 2001-01-23 General Scanning, Inc. Method and system for high speed measuring of microscopic targets
US6239406B1 (en) 1998-04-01 2001-05-29 Nec Corporation Laser beam machining apparatus
US6353203B1 (en) * 1997-12-26 2002-03-05 Mitsubishi Denki Kabushiki Kaisha Laser machining device

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710908A (en) 1983-09-20 1987-12-01 Olympus Optical Company Limited Servo apparatus for compensating for warp and deflection deviations on optical discs
US5808887A (en) 1987-11-20 1998-09-15 Philips Electronics North America Corporation Animation of path planning
US5594235A (en) 1993-06-17 1997-01-14 Ultrapointe Corporation Automated surface acquisition for a confocal microscope
US5783814A (en) 1994-01-18 1998-07-21 Ultrapointe Corporation Method and apparatus for automatically focusing a microscope
US5978148A (en) * 1994-11-25 1999-11-02 Asahi Kogaku Kogyo Kabushiki Kaisha Beam projecting device
US5690785A (en) 1995-03-13 1997-11-25 Yamaha Corporation Lithography control on uneven surface
US5871805A (en) 1996-04-08 1999-02-16 Lemelson; Jerome Computer controlled vapor deposition processes
EP0862089A2 (en) 1997-02-28 1998-09-02 Nikon Corporation Method of determining movement sequence and apparatus for realizing it
EP0864929A2 (en) 1997-03-11 1998-09-16 Nikon Corporation Determining method of movement sequence and alignment apparatus for executing the same
WO1999028798A2 (en) 1997-12-02 1999-06-10 Lacent Technologies Inc. Gantry-mounted laser nozzle and method for controlling laser positioning
US6353203B1 (en) * 1997-12-26 2002-03-05 Mitsubishi Denki Kabushiki Kaisha Laser machining device
US6177998B1 (en) 1998-03-05 2001-01-23 General Scanning, Inc. Method and system for high speed measuring of microscopic targets
US6239406B1 (en) 1998-04-01 2001-05-29 Nec Corporation Laser beam machining apparatus
WO2000017724A1 (en) 1998-09-18 2000-03-30 General Scanning, Inc. High-speed precision positioning apparatus

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
General Scanning, Inc., Laser Link Fusing, Somerville, MA, Jan. 1997.
Kohno, Yoshiaki, Path Planning In Wafer Transfer System With Mobile Robot, Proceedings of the International Conference on Industrial Electronics, Control and Instrumentation, Sep. 29-Oct. 3, 1986, New York,, IEEE, vol. 2, pp. 811-816, XP000044825.
Marcel Dekker, Inc., Laser Beam Scanning, Opto-Mechanical Devices, Systems, and Data Storage Optics, Chapter 7, Optics for Data Storage, pp. 303-305, 384-387. 1985.

Cited By (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7838794B2 (en) 1999-12-28 2010-11-23 Gsi Group Corporation Laser-based method and system for removing one or more target link structures
US8253066B2 (en) 1999-12-28 2012-08-28 Gsi Group Corporation Laser-based method and system for removing one or more target link structures
US6662063B2 (en) * 2000-05-16 2003-12-09 Gsi Lumonics Corporation Method and subsystem for determining a sequence in which microstructures are to be processed at a laser-processing site
US20020004687A1 (en) * 2000-05-16 2002-01-10 General Scanning, Inc, Method and subsystem for determining a sequence in which microstructures are to be processed at a laser-processing site
US20050199598A1 (en) * 2000-05-16 2005-09-15 Gsi Lumonics Corporation Method and system for precisely positioning a waist of a material-processing laser beam to process microstructures within a laser-processing site
US20060207975A1 (en) * 2001-03-29 2006-09-21 Gsi Lumonics Corporation High-speed, precision, laser-based method and system for processing material of one or more targets within a field
US20030101611A1 (en) * 2001-11-05 2003-06-05 Bueno Chrispatrick A. Siding installation tool, kit and method
US20060205121A1 (en) * 2002-03-27 2006-09-14 Gsi Lumonics Corporation Method and system for high-speed, precise micromachining an array of devices
US7871903B2 (en) 2002-03-27 2011-01-18 Gsi Group Corporation Method and system for high-speed, precise micromachining an array of devices
US7666759B2 (en) 2002-03-27 2010-02-23 Gsi Lumonics Corporation Method and system for high-speed, precise micromachining an array of devices
US20090321396A1 (en) * 2002-03-27 2009-12-31 Gsi Group Corporation Method And System For High-Speed Precise Laser Trimming And Scan Lens For Use Therein
US20070178714A1 (en) * 2002-03-27 2007-08-02 Bo Gu Method and system for high-speed precise laser trimming and scan lens for use therein
US8329600B2 (en) 2002-03-27 2012-12-11 Gsi Group Corporation Method and system for high-speed precise laser trimming and scan lens for use therein
US7563695B2 (en) 2002-03-27 2009-07-21 Gsi Group Corporation Method and system for high-speed precise laser trimming and scan lens for use therein
USRE41924E1 (en) 2002-05-17 2010-11-16 Gsi Group Corporation Method and system for machine vision-based feature detection and mark verification in a workpiece or wafer marking system
US7437201B2 (en) 2003-01-14 2008-10-14 Cullen Christopher P Electric motor controller
US20100036510A1 (en) * 2003-01-14 2010-02-11 Christopher Cullen Electronic motor controller
US7606624B2 (en) 2003-01-14 2009-10-20 Cullen Christopher P Self-commissioning electronic motor controller determination
US20090021205A1 (en) * 2003-01-14 2009-01-22 Cullen Christopher P Electronic motor controller
US20070181546A1 (en) * 2003-10-17 2007-08-09 Gsi Lumonics Corporation Flexible scan field
US20070205186A1 (en) * 2003-10-17 2007-09-06 Gsi Lumonics Corporation Flexible scan field
US7402774B2 (en) 2003-10-17 2008-07-22 Gsi Group Corporation Flexible scan field
US7238913B2 (en) 2003-10-17 2007-07-03 Gsi Group Corporation Flexible scan field
US20050161444A1 (en) * 2003-10-17 2005-07-28 Gsi Lumonics Corporation Flexible scan field
US20080073438A1 (en) * 2004-06-30 2008-03-27 Gsi Group Corporation Laser-based method and system for processing targeted surface material and article produced thereby
US7469831B2 (en) 2004-06-30 2008-12-30 Gsi Group Corporation Laser-based method and system for processing targeted surface material and article produced thereby
US6984803B1 (en) 2004-09-09 2006-01-10 Epilog Corporation Low profile laser assembly
US20060108337A1 (en) * 2004-11-11 2006-05-25 Bo Gu Method and system for laser soft marking
US20060189091A1 (en) * 2004-11-11 2006-08-24 Bo Gu Method and system for laser hard marking
US7705268B2 (en) 2004-11-11 2010-04-27 Gsi Group Corporation Method and system for laser soft marking
US7466466B2 (en) 2005-05-11 2008-12-16 Gsi Group Corporation Optical scanning method and system and method for correcting optical aberrations introduced into the system by a beam deflector
US20060256181A1 (en) * 2005-05-11 2006-11-16 Ehrmann Jonathan S Optical scanning method and system and method for correcting optical aberrations introduced into the system by a beam deflector
US20070117227A1 (en) * 2005-11-23 2007-05-24 Gsi Group Corporation Method And System for Iteratively, Selectively Tuning A Parameter Of A Doped Workpiece Using A Pulsed Laser
US20070106416A1 (en) * 2006-06-05 2007-05-10 Griffiths Joseph J Method and system for adaptively controlling a laser-based material processing process and method and system for qualifying same
US9383732B2 (en) 2006-06-05 2016-07-05 Electro Scientific Industries, Inc. Method and system for adaptively controlling a laser-based material processing process and method and system for qualifying same
US8084706B2 (en) 2006-07-20 2011-12-27 Gsi Group Corporation System and method for laser processing at non-constant velocities
US20080029491A1 (en) * 2006-07-20 2008-02-07 Gsi Group Corporation System and method for laser processing at non-constant velocities
US7732731B2 (en) 2006-09-15 2010-06-08 Gsi Group Corporation Method and system for laser processing targets of different types on a workpiece
US20100237051A1 (en) * 2006-09-15 2010-09-23 Gsi Group Corporation Method and system for laser processing targets of different types on a workpiece
US20080067155A1 (en) * 2006-09-15 2008-03-20 Bo Gu Method and system for laser processing targets of different types on a workpiece
US8541714B2 (en) 2006-09-15 2013-09-24 Electro Scientific Industries, Inc. Method and system for laser processing targets of different types on a workpiece
US8026158B2 (en) 2007-06-01 2011-09-27 Electro Scientific Industries, Inc. Systems and methods for processing semiconductor structures using laser pulses laterally distributed in a scanning window
US20080299783A1 (en) * 2007-06-01 2008-12-04 Electro Scientific Industries, Inc. Systems and methods for processing semiconductor structures using laser pulses laterally distributed in a scanning window
US20080303474A1 (en) * 2007-06-08 2008-12-11 Gsi Group Corporation Systems and methods for controlling limited rotation motor systems
US20080314879A1 (en) * 2007-06-25 2008-12-25 Electro Scientific Industries, Inc. Systems and methods for adapting parameters to increase throughput during laser-based wafer processing
US8076605B2 (en) 2007-06-25 2011-12-13 Electro Scientific Industries, Inc. Systems and methods for adapting parameters to increase throughput during laser-based wafer processing
US20090095722A1 (en) * 2007-09-19 2009-04-16 Gsi Group Corporation Link processing with high speed beam deflection
US8269137B2 (en) * 2007-09-19 2012-09-18 Gsi Group Corporation Link processing with high speed beam deflection
US9129236B2 (en) * 2009-04-17 2015-09-08 The University Of Sydney Drill hole planning
US20120024605A1 (en) * 2009-04-17 2012-02-02 Elinas Pantelis Drill hole planning
US20120103598A1 (en) * 2010-11-02 2012-05-03 Caterpillar Inc. Sequencing algorithm for planned drill holes
US8733473B2 (en) * 2010-11-02 2014-05-27 Caterpillar Inc. Sequencing algorithm for planned drill holes
US20130197882A1 (en) * 2012-01-31 2013-08-01 Eth Zurich Evaluating and optimizing a trajectory function
US9606963B2 (en) * 2012-01-31 2017-03-28 International Business Machines Corporation Evaluating and optimizing a trajectory function
US8710777B2 (en) 2012-04-20 2014-04-29 Linestream Technologies Method for automatically estimating inertia in a mechanical system
US9268316B2 (en) 2012-04-20 2016-02-23 Linestream Technologies Method for automatically estimating a friction coefficient in a mechanical system
WO2013158849A3 (en) * 2012-04-20 2013-12-12 Linestream Technologies Method for automatically estimating inertia
WO2013158849A2 (en) * 2012-04-20 2013-10-24 Linestream Technologies Method for automatically estimating inertia in a mechanical system and for generating a motion profile
US10061275B2 (en) 2014-07-29 2018-08-28 Linestream Technologies Optimized parameterization of active disturbance rejection control
US20160224018A1 (en) * 2015-01-29 2016-08-04 National Taiwan University Trajectory Planning System For Integrated Computer Numerical control (CNC) Machine, Trajectory Planning Device, Trajectory Planning method, And Computer Program Thereof
US10289100B2 (en) * 2015-01-29 2019-05-14 National Taiwan University Trajectory planning system for integrated computer numerical control (CNC) machine, trajectory planning device, trajectory planning method, and computer program thereof
US10126202B2 (en) 2015-09-11 2018-11-13 Linestream Technologies Method for automatically estimating inertia, coulomb friction, and viscous friction in a mechanical system

Also Published As

Publication number Publication date
US20010052512A1 (en) 2001-12-20

Similar Documents

Publication Publication Date Title
US6495791B2 (en) Method and subsystem for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site
US6662063B2 (en) Method and subsystem for determining a sequence in which microstructures are to be processed at a laser-processing site
CN101689405B (en) Systems and methods for adapting parameters to increase throughput during laser-based wafer processing
US20050199598A1 (en) Method and system for precisely positioning a waist of a material-processing laser beam to process microstructures within a laser-processing site
US6239406B1 (en) Laser beam machining apparatus
TWI538761B (en) Method for controlling machines according to pattern of contours and laser cutting machine
JP4281292B2 (en) Three-dimensional laser machining data creation method, data creation program, medium recording the data creation program, and machining method and apparatus
JPH1069311A (en) Tool point array generating method
WO2001088639A2 (en) Method and subsystem for generating a trajectory to be followed by a motor-driven stage
US9269058B2 (en) Laser machining method, laser machining apparatus, and laser machining program
JP5889606B2 (en) Laser processing method, apparatus and program
US20040111174A1 (en) Method and subsystem for determining a sequence in which microstructures are to be processed at a laser-processing site
JP2012187620A (en) Laser processing method and laser processing planning method
CN113210843B (en) Part machining control method, controller, system and equipment
JP5628935B2 (en) Adaptive processing constraints for memory modification
US20070067060A1 (en) Bending process estimation apparatus, bending process estimation program, and bending process estimation method
US20010021009A1 (en) Method and apparatus for controlling trajectory in a scan and step wafer stepper
JP2003211273A (en) Machining plan method and system
JPH11135726A (en) Laser trimming method and its device
CN114939737A (en) Laser processing device, method, storage medium and electronic equipment
CN117086500A (en) Electrical control system of laser etching equipment
CN102324385A (en) Light beam scanning and controlling method with high line overlapping rate in semiconductor laser machining

Legal Events

Date Code Title Description
AS Assignment

Owner name: GENERAL SCANNING, INC., MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HUNTER, BRADLEY L.;CULLEN, CHRISTOPHER P.;REEL/FRAME:011817/0356

Effective date: 20010511

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: GSI LUMONICS CORPORATION, MICHIGAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GENERAL SCANNING, INC.;REEL/FRAME:013751/0518

Effective date: 20030623

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

SULP Surcharge for late payment

Year of fee payment: 7

AS Assignment

Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., A

Free format text: SECURITY AGREEMENT;ASSIGNORS:GSI GROUP INC.;GSI GROUP CORPORATION;MES INTERNATIONAL INC.;AND OTHERS;REEL/FRAME:024755/0537

Effective date: 20100723

AS Assignment

Owner name: GSI GROUP CORPORATION, MASSACHUSETTS

Free format text: CHANGE OF NAME;ASSIGNOR:GSI LUMONICS CORPORATION;REEL/FRAME:027067/0952

Effective date: 20050627

AS Assignment

Owner name: EXCEL TECHNOLOGY INC., MASSACHUSETTS

Free format text: RELEASE;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:027127/0368

Effective date: 20111019

Owner name: SYNRAD INC., MASSACHUSETTS

Free format text: RELEASE;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:027127/0368

Effective date: 20111019

Owner name: THE OPTICAL CORPORATION, MASSACHUSETTS

Free format text: RELEASE;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:027127/0368

Effective date: 20111019

Owner name: MICROE SYSTEMS CORP., MASSACHUSETTS

Free format text: RELEASE;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:027127/0368

Effective date: 20111019

Owner name: GSI GROUP INC., MASSACHUSETTS

Free format text: RELEASE;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:027127/0368

Effective date: 20111019

Owner name: CAMBRIDGE TECHNOLOGY INC., MASSACHUSETTS

Free format text: RELEASE;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:027127/0368

Effective date: 20111019

Owner name: GSI GROUP CORPORATION, MASSACHUSETTS

Free format text: RELEASE;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:027127/0368

Effective date: 20111019

Owner name: MES INTERNATIONAL INC., MASSACHUSETTS

Free format text: RELEASE;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:027127/0368

Effective date: 20111019

Owner name: PHOTO RESEARCH INC., MASSACHUSETTS

Free format text: RELEASE;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:027127/0368

Effective date: 20111019

Owner name: BANK OF AMERICA, N.A., MASSACHUSETTS

Free format text: SECURITY AGREEMENT;ASSIGNORS:GSI GROUP INC.;GSI GROUP CORPORATION;REEL/FRAME:027128/0763

Effective date: 20111019

Owner name: CONTINUUM ELECTRO-OPTICS INC., MASSACHUSETTS

Free format text: RELEASE;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:027127/0368

Effective date: 20111019

Owner name: CONTROL LASER CORPORATION (D/B/A BAUBLYS CONTROL L

Free format text: RELEASE;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:027127/0368

Effective date: 20111019

Owner name: QUANTRONIX CORPORATION, MASSACHUSETTS

Free format text: RELEASE;ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.;REEL/FRAME:027127/0368

Effective date: 20111019

AS Assignment

Owner name: GSI GROUP CORPORATION, MASSACHUSETTS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 027128/0763;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:030341/0956

Effective date: 20130503

AS Assignment

Owner name: ELECTRO SCIENTIFIC INDUSTRIES, INC., OREGON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GSI GROUP CORPORATION;GSI GROUP INC;REEL/FRAME:030582/0160

Effective date: 20130503

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: BARCLAYS BANK PLC, AS COLLATERAL AGENT, NEW YORK

Free format text: PATENT SECURITY AGREEMENT (TERM LOAN);ASSIGNORS:ELECTRO SCIENTIFIC INDUSTRIES, INC.;MKS INSTRUMENTS, INC.;NEWPORT CORPORATION;REEL/FRAME:048211/0227

Effective date: 20190201

Owner name: BARCLAYS BANK PLC, AS COLLATERAL AGENT, NEW YORK

Free format text: PATENT SECURITY AGREEMENT (ABL);ASSIGNORS:ELECTRO SCIENTIFIC INDUSTRIES, INC.;MKS INSTRUMENTS, INC.;NEWPORT CORPORATION;REEL/FRAME:048211/0312

Effective date: 20190201

AS Assignment

Owner name: ELECTRO SCIENTIFIC INDUSTRIES, INC., OREGON

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION SERIAL NUMBER 11776904 PREVIOUSLY RECORDED ON REEL 030582 FRAME 0160. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNORS:GSI GROUP CORPORATION;GSI GROUP INC.;REEL/FRAME:056424/0287

Effective date: 20130503

AS Assignment

Owner name: BARCLAYS BANK PLC, AS COLLATERAL AGENT, NEW YORK

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE U.S. PATENT NO. 7,919,646 PREVIOUSLY RECORDED ON REEL 048211 FRAME 0227. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT (TERM LOAN);ASSIGNORS:ELECTRO SCIENTIFIC INDUSTRIES, INC.;MKS INSTRUMENTS, INC.;NEWPORT CORPORATION;REEL/FRAME:055006/0492

Effective date: 20190201

Owner name: BARCLAYS BANK PLC, AS COLLATERAL AGENT, NEW YORK

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE U.S. PATENT NO.7,919,646 PREVIOUSLY RECORDED ON REEL 048211 FRAME 0312. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT (ABL);ASSIGNORS:ELECTRO SCIENTIFIC INDUSTRIES, INC.;MKS INSTRUMENTS, INC.;NEWPORT CORPORATION;REEL/FRAME:055668/0687

Effective date: 20190201

AS Assignment

Owner name: ELECTRO SCIENTIFIC INDUSTRIES, INC., OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:063009/0001

Effective date: 20220817

Owner name: NEWPORT CORPORATION, MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:063009/0001

Effective date: 20220817

Owner name: MKS INSTRUMENTS, INC., MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:063009/0001

Effective date: 20220817

Owner name: ELECTRO SCIENTIFIC INDUSTRIES, INC., OREGON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:062739/0001

Effective date: 20220817

Owner name: NEWPORT CORPORATION, MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:062739/0001

Effective date: 20220817

Owner name: MKS INSTRUMENTS, INC., MASSACHUSETTS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:062739/0001

Effective date: 20220817