(1) Field of the Invention
This invention relates to a method and a system for reticle scheduling in semiconductor manufacturing. In particular, a method that takes into consideration level priority and photolithographic scanner utilization for all photolithographic scanners as a whole.
(2) Description of the Prior Art
In semiconductor manufacturing, cycle-time is a most critical factor. It is well known that the escalating costs of photolithography, comprising the most expensive equipment of a semiconductor manufacturing line, are a dominant factor of total manufacturing costs. Being one of the processes that is repeated the most during fabrication, any reduction in photolithography cycle-time will reduce overall manufacturing cycle time significantly. Idle photolithographic scanners, waiting for a reticle required to continue a photolithographic process are generating most expensive cycle time.
The commonly used method for reticle dispatch for photolithographic scanners is to allocate a reticle to the highest priority device/level/scanner. Such known method does not take into consideration the impact to the other scanners which in turn causes the highest priority scanner to have a very good schedule whereas the lower priority scanners can end up with a bad utilization hence resulting in poor overall quality of reticle schedule. In addition, this known method does not provide an easy way to change emphasis on complying with real-time dispatching (RTD) priority versus avoiding scanners idling. In view of this, there is a need for a reticle scheduling method that takes into consideration of both level priority and scanner utilization for all scanners as a whole.
Patent application publication US 2004/0093251 to Heskin et al. and Patent application publication US 2006/0052889 to Burda et al. relate to reticle dispatching. US2004/0093251 to Heskin et al. discloses a system and method for scheduling photolithography in a wafer fab. The approach of reticle scheduling in this prior art involves heuristic based scheduling. US2006/0052889 to Burda et al. relates to a method for modeling manufacturing system through intelligent automated reticle management. In this prior art, reticles are scheduled based on two prioritized list of reticles, reticle load list and reticle remove list.
Furthermore there are patents in the field of dispatching of reticles for photolithographic scanners:
U.S. Patent (U.S. Pat. No. 6,594,817 to Federico et al.) proposes a method for employing a plurality of reusable reticles in an integrated circuit manufacturing process employing lithographic exposure of a semiconductor wafer. Initially there is provided a matrix of a plurality of reticles, each matrix comprising a plurality of tuples of reticles, each reticle tuple comprising one or more reticles. The method then includes defining at least one set of valid groups of reticles in the matrix for use in a desired lithographic exposure process, defining a set of conditions for determining availability of all reticles in the valid groups in the lithographic exposure process, and comparing the availability conditions to the reticles in the set of valid groups and eliminating valid groups which do not meet the availability conditions, leaving non-eliminated valid groups. The method also includes defining a set of conditions for determining priority of all reticles in the non-eliminated valid groups in the lithographic exposure process, comparing the priority conditions to the reticles in the set of valid groups and ranking non-eliminated valid groups according to the priority conditions, and selecting for use in the lithographic exposure process reticles from the non-eliminated valid groups according to ranking by the priority conditions.
U.S. Patent (U.S. Pat. No. 6,403,905 to Conboy et al.) discloses a system and method for stocking and sorting reticles used in a semiconductor fabrication facility, the facility having a material handling system that presents a reticle to a photolithography process area. In an example embodiment of the reticle management system, a reticle storage system and a reticle sorting apparatus are coupled to a host system that is adapted to track and control the movement of reticles in the material handling system. The host system is capable of interfacing with a management input module that integrates management directives into the reticle flow plan in the manufacturing process. The result is a reticle management system that is flexible enough to manage a finite number of reticles and pods in minimizing the delivery time of a reticle to the desired location while responding to changing conditions external to the manufacturing process.
U.S. Patent (U.S. Pat. No. 7,058,627 to Wiesler et al.) discloses a reticle management system that provides data storage and retrieval of data associated with each reticle, reticle carrier, and certain system attributes and also for the efficient movement and storage of reticles and reticle carriers. The reticle management system includes a reticle management controller, a central reticle database, and one or more reticle stockers that include a stocker controller, a stocker database, and a stocker unit. The reticle management controller is coupled to the central reticle database and each of the stocker controllers. Each stocker controller collects data on the reticles, reticle carriers, or both, that are stored within the associated stocker unit and stores this data in the stocker database. The reticle management controller retrieves the data in each stocker database via the associated stocker controller and stores this data in central reticle database. In addition, data attributes for the system, and the reticle carriers within the system may also be stored in the central reticle database.
A principal object of the present invention is a method to schedule reticles required for photolithographic processes of a semiconductor manufacturing line.
Another principal object of the present invention is a system to schedule reticles required for photolithographic processes of a semiconductor manufacturing line.
A further object of the present invention is taking into consideration photolithographic level priority and utilization of all photolithographic tools as a whole for reticle scheduling.
Another object of the present invention is providing a user-defined trade-off between photolithographic level priorities and tool utilization as a whole for reticle scheduling.
In accordance with the objects of this invention a method to schedule reticles required for photolithographic processes of a semiconductor manufacturing line, enabling a trade-off between complying with level priority and maximizing utilization of photolithographic tools as a whole has been achieved. The method comprises, first, the initialization steps of (1) providing more than one photolithographic tool, reticles and a computing system to process said scheduling, (2) segmenting planning horizon into time buckets, (3) reading relevant data describing said semiconductor manufacturing line comprising a factor w indicating the trade-off between complying with level priority and maximizing utilization of said photolithographic tools, and (4) determining maximum number m of time buckets required to move reticles between said photolithographic tools. The following steps forming the engine controlling the schedule generation, building a network for optimization and running the optimization comprise (5) determining time buckets to run optimization of reticle dispatching for, (6) building a network for optimization based on inputs from actual line, level priorities and user settings, and (7) running optimization for said optimization network built. The last steps comprise (8) updating semiconductor wafer work-in-process and reticle information based on optimization results and feed results into a reticle delivery system and a wafer lot assignment system, and (9) go back to step (5).
In accordance with the objects of this invention a system to schedule reticles required for photolithographic processes of a semiconductor manufacturing line, enabling a trade-off between complying with level priority and maximizing utilization of photolithographic tools as a whole, has been achieved. The system invented comprises more than one photolithographic tool to process semiconductor wafers, more than one reticle required each for a lithographic level, and a scheduler to schedule said reticles, wherein a user-defined trade off decides between complying with level priority and maximizing scanner utilization for the scanners as a whole.
In the accompanying drawings forming a material part of this description, there is shown:
The preferred embodiments disclose methods and systems for scheduling of reticles for photolithographic tools of semiconductor manufacturing lines. The methods invented provide a good trade-off between complying with level priority and maximizing utilization of photolithographic tools as a whole. The extent of the trade-off is user-specified depending on excess capacity of photolithographic tools. In a preferred embodiment of the present invention photolithographic scanners are deployed. It has to be noted that the present invention is not limited to scanners only; the invention can be used for other photolithographic tools as e.g. steppers as well.
The system of
In order to generate a basis for reticle scheduling important manufacturing line data are read in step 22 from e.g. a manufacturing planning system. In a preferred embodiment of the present invention the following data elements are read in as basis for reticle scheduling. The following list of data elements is a non-limiting example only:
In this description a device refers to a product or design identification (ID). Every product has its own set of photolithographic levels.
Additionally to the line data shown above data in regard of user configuration are read in step 22. An important element of the user configuration is the weight w, describing a user-defined trade-off between maximizing scanner utilization and complying with manufacturing line priorities. This weight w has a value from 0 to 1.
When w=1, complete emphasis will be put on complying with level priorities even if it means increased utilization loss for the photolithographic tool due to frequent change of reticles. When w=0, complete emphasis will be put on increasing utilization by minimizing reticle changes, independent of its impact to level priority compliance.
Other elements in the category user configuration include the following:
Since the time to transfer a reticle from one tool to another can vary depending on the tool location, the maximum transition time is used to consider all reticles that can potentially be moved to the destination tool. This maximum transition time is determined to be m time buckets and is determined in step 23. During these m time buckets the reticle will not be available for use anywhere.
In step 24 the time buckets to optimize the reticle schedule is determined. The following step 25 comprises building a network for optimization based on inputs from actual line (as e.g. WIP, and reticle locations), level priorities, and user configurations (as e.g. the weight w). The next step 26 describes running optimization for the optimization network built during step 25. Step 27 illustrates updating wafer WIP and reticle information based on optimization results and feed results into a reticle delivery system and a lot dispatching system. The delivery system will deliver the reticles to the scanners at the scheduled time. In the case of manual delivery, the operator will be responsible to move the reticles according to the reticle schedule generated. Step 28 is a check if planning horizon is exceeded or no unscheduled WIP exists. If the result of this check is negative the process flow goes back to step 24 to determine time buckets to run the next optimization, otherwise the process flow goes to exit.
Steps 30-32 of
To ensure linearity when running optimization for the network built, separate optimization runs are done to decide which reticle should become active on a scanner based on the result from the previous optimization run. Each optimization run covers m+1+n time buckets. This ensures that all possible reticles, which can be used for reticle changes taking place in the n time buckets, have been considered in the optimization network. Since reticle change decisions might be required for consecutive time buckets, the optimization runs can overlap as shown in
When the reticle transition time reduces to zero and n equals 0, the optimization runs will not overlap anymore. The engine continues iterating as long as there are unscheduled time buckets in the planning horizon and there is unscheduled sitting WIP available.
Returning to
This earliest time bucket t is affected by e.g. WIP running out, need to do preventive maintenance (PM) of reticle, scanner going into PM and need to run test wafer for a device level. Step 32 checks the condition if the current reticle configuration needs to be changed, i.e. if the current time bucket variable t is equal or greater than t−m−1. In this case the engine will invoke building a network for optimization in step 33.
Step 33 illustrates the building of a network for optimization. As shown above, this is only performed when the engine invokes it. The network for optimization is built from t−m to t+n. The factor n is user defined and is greater than or equal to 0. When n equals 0, it implies that the optimization is run for reticle changes taking place at current time bucket variable t. If n>0, it implies that optimization is run for reticle changes taking place between t and t+n.
Details about the inputs to building a network for optimization will be described later during the discussion of
The following cost elements are defined in the sample network of
Reticle RI is in scanner SI and at time bucket 0 is in production mode whereas reticle R2 is in scanner S2 and is waiting. The WIP for R1 on S1 is assumed to run out by end of time bucket 1 and one time bucket is required to move a reticle from scanner S1 to another (m=1). This information affects the network built. Links created force R1 out of the scanner S1 by end of time bucket 1, because WIP is running out at this point of time. The cost for moving reticles or keeping them in the same scanner, or changing their state from waiting to processing or vice versa are predefined by the user and are indicated by c1 . . . c6. The cost takes into account both the scanner idling time and the impact to line priority. A weight w strikes a trade-off between these two. The weight is defined in the user configurations, which are read in the initialization block in step 22. The cost of a reticle schedule is defined by:
ci=(1−w)×Scanner Idling Time/WIP+w×(Priority),
wherein priority refers to the level priority (element number 4 read from the manufacturing line) and priority=1 indicates highest priority and w represents a user defined weight as described above.
The above cost function will apply to any reticle schedule. The equation for cost element ci covers cost elements c1 . . . c6.
In order to ensure that the scanners are constantly running reticles the cost is offset by a large negative number (e.g. 1000). Thus these active states with low cost are preferred over the inactive states. The equation can be changed to include the offset as follows
ci=(1−w)×Scanner Idling Time/WIP+w×(Priority)−1000,
Returning again to
In a preferred embodiment of the invention the network optimization is formulated as an integer program and is solved using the “Branch and Bound” technique. Heuristic solution techniques did not provide as good results as the “Branch and Bound” algorithm which ensures optimality.
Alternatively, the network optimization can be formulated as a Mixed Integer Program and can be solved using algorithms such as “Branch and Cut” and “Branch and Price. Using different formulations and solving techniques will affect the time required for optimization and may affect the quality of the solution.
Steps 35-38 are part of a post-processing block, which updates all the relevant parameters before the next optimization run is executed. If the current time bucket is smaller than t−m−1, the current bucket is adjusted in step 35 to equal t−m−1. This is because the current reticle configuration continues till time bucket t−m−1. If the current time bucket larger than or equal to t−m−1, the reticle locations are updated based on the optimization results from step 34 and the current bucket is incremented by one in step 36.
The reticle schedule is updated in step 37 and the sitting WIP and reticle PM counts are updated in step 38 to reflect the processing of material. Sitting WIP and reticle PM counts are also updated for the next time bucket planning. After step 38 the process flow is going back to step 30.
The LPRO Table 604 identifies, which device/level cannot be run on a scanner because it is temporarily facing a problem (e.g. needs qualification). For these device/levels no material is scheduled to run on the photolithographic tool.
The Reticle Matrix 605 defines which reticle is used for which device/level and is released on which scanner to run.
The Scanner Mix & Match table 606 identifies alternate scanners on which WIP for a particular device/step can be run
The data elements 600-604 are extracted from the Manufacturing Execution and Equipment Tracking Systems via extractors 620-624 during initialization phase.
It has to be noted that the number of inputs can be increased or decreased. For example different types of preventive maintenance can be factored in for the reticles. Such variations will affect the network creation of step 33 of
Furthermore
The number of scanner slots determines the number of reticles that can be physically kept in the scanner at any point of time and is setup by the user based on the photolithography tool. This serves as a constraint in the optimization.
Details about optimization have been discussed earlier in regard of the discussion of step 34 of
There are two key advantages of the system. First, that it is not biased to an individual scanner when allocating a reticle to it. Such bias can adversely affect the quality of the reticle schedule for the remaining scanners. This is important because the optimum needs to be ensured for the scanner workstation as a whole instead of individual tools.
The second key advantage is that scanner utilization loss depends on the emphasis given to complying with line priority versus avoiding scanner idling. These can be conflicting objectives. The traditional heuristic based approaches do not allow easy control on the objective of the system. Depending on the excess capacity available at the scanner the present invention emphasizes complying with line priority versus maximizing scanner utilization.
Furthermore it has to be noted that the present invention can be distinguished from the prior art known because the present invention discloses system and methods comprising building a network model that takes into account starting location of reticles, time to set-up reticle and cost of assigning reticle for optimization of reticle schedule on all scanners.
While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the spirit and scope of the invention.