410 likes | 424 Views
This study explores the optimization of dispatching strategies in semiconductor manufacturing processes under uncertainty. It investigates the calculation of robust nominal plans and their implementation in dispatching. The goal is to minimize cycle times while ensuring fair treatment of customers and reacting smoothly to machine breakdowns.
E N D
GOR AG "Optimization under Uncertainty" Physikalisches Institut, Bad Honnef October 2005 Robust Nominal Plans for Dispatching in Semiconductor Manufacturing Infineon • Causes for stochasticity in semiconductor manufacturing processes • Calculation of robust nominal plans • Dispatching strategy using nominal plan • Outlook
Physical World: A Front End Manufacturing Facility Mathematical Model: Open queueing network with external arrivals Multiple products and associated routes Job class changes along routes Service times dependent on job class and machine; deterministic and random component Single service and batch service stations Processing activities require a single machineresource Routing is in general of 'Pull' type Purpose of mathematical model: Find optimal parameters for routing policy Wafer fabrication logistic model
Discrete event simulation model application of a continuous review policy to realize optimal routing performance analysis for system characteristics which cannot be captured exactly by mathematical analysis, such as the influence of overtaking in the network on cycle time distributions Minimize cycle times and treatcustomers fairly with respect toholding costs Model and goals
Perform solid capacity check for medium and long term (typically stationary case) for short term (transient case or stationary case) Evaluate whether target cycle times per product(under given holding costs) can be achieved Balance cycle time through robust and efficientRouting policies Robust routing means Remove avoidable idleness in a non-scheduled environment under common loading conditions (uptime utilization < 100%) React smoothly to machine breakdowns varying from long interruptions to short minor stops Breaking down the goals
Service times depend on age of media engaged(e.g. etching rates, duration of photolithgraphic step) Randomly distributed machine breakdowns Lot release depends on network state and short term management decisions Certain process steps are prown to rework Complex logistics imposed by Batch service processes Setup requirements Machine internal buffer limitations Time bound sequences of process steps Randomness brought upon by basic production data
Stochasticity imposed by engineering and test Reservoir Preparation of test wafers Cleaning NCC • Random variables: • Success probabilityof test • Recycling successful Maximum of N wafers In progress Deposition Nitrid 790/400 nm Test with prepared wafer Recycling
There is no common understanding about a mathematical functional description of the importance of due date delivery versus throughput maximization Yield, goodness of chips and customer demand are not exactly predictable and cause short-term changes in mix and volume of lot release Stochastic influences of SCM
Dispatching for loops • Some resource pools are more involved in the BEOL,e.g. Metallization, Polishing, Protection • WIP-State at FEOL at time n less than target value FEOL production for feedback loop increases • WIP-State at FEOL at time n larger than target value FEOL production for BEOL increases BEOL FEOL
System dynamics Priority = Relative earliness or lateness / remaining cycle time N, FEOL - + + + RCT, FEOL cum. lateness, FEOL - + Prio of lots for FEOL Prio of lots for BEOL Balancing Feedback Loop (+)(-)(+) 1= (+) (+) (-) 1 = (-) 1
Balancing feedback loop has chaotic effect on individual priorities and state development( similar to quadratic iterator in logistic equation; Peitgen/Jürgens/Saupe 1992, Scholz-Reiter, Freitag, Middelberg, Industrie Management 20, 2004) At microscopic level of consideration a minor characteristics such as computational accuracy (number of relevant digits) can have a significant impact on a production scenario A principle insight Stochasticity is inherent to cyclic production even if all demand and service processes were deterministic
Build fab graph with Machines = Vertices Edge between any pair of machines with a common process qualification Closed Machine Sets CMS = Connected Components of fab graph Build service time matrices (job class i, machine j) and arrival rate vectors for each CMS Aggregate job classes to Routing Job Class Sets where job classes belonging to one particular set have pairwise linear dependant row vectors in service time matrix Decomposition method
M M M M M M M M 1 2 3 4 5 6 7 8 2 J 0 0 0 20 20 0 0 0 1 J 8 8 8 0 0 0 0 0 2 3 J 0 7 7 0 0 0 0 0 1 3 J 0 7 7 0 0 0 0 0 4 J 7 7 7 0 0 0 0 0 5 6 J 0 0 13 13 0 0 13 0 6 J 0 0 0 0 0 0 9 9 7 4 8 J 0 0 0 9 9 9 0 0 8 J 8 8 8 0 0 0 0 0 7, 13 9 J 0 9 9 0 0 0 0 0 10 J 6 6 6 0 0 0 0 0 11 J 0 9 9 0 0 0 0 0 12 5 7 J 0 0 0 0 0 0 9 9 13 J 0 0 0 12 12 12 0 0 14 6 Closed machine sets (CMS) Example RTP Oxid and BPSG: Dedication Graph Representation Edge between vertice i and vertice j: load can be balanced between machine i and j, also transitive
CMS picture in the whole fab CMS 1 CMS 6 CMS 4 Route 1 Route 2 CMS 2 CMS 7 Route 3 CMS 5 CMS 3
Queueing system M/G/∞ features M M property(N.M. Mirasol, OR, 1962) Resource pool super server with a large amount of discretionary traffic approaches M M property ./M/1 ./M/1 . . . ./M/1 has Poisson departure at then-th station, for large n (T. Mountford, B. Prabharkar, Ann. Appl. Prob. 1995) Approximation of point processes by renewal processes Interarrival processes: Markov and Markov Modulated Poisson Processes (MMPP) for environments with Batch service or extensive setup Two-moment matching for service times Limits for and assumptions on interarrival processes
Interarrival Processes Typical departure stochastic process Departure Process at furnace Departure process At implant
Service Time Processes • Small Disturbances or Handling: Deterministic + Triangular • Setup systems: Deterministic + LogNormal LogNormal: LN(2.214,0.837)
Dedicated and discretionary traffic Dedicated Traffic Discretionary Traffic Preferred mode for stochastic systems Mixture • Principal Job-to-Machine Qualifications are given • How to guide discretionary traffic such that a CMS acts like a heavy traffic resource pool?
Original CMS is split into CMS 1 and CMS 2 when job class Js is taken away from it CMS fulfills resource pooling condition if discretionary traffic contributed by Js has higher absolute value in work load than difference of dedicated work loads for CMS 1 and CMS 2 Resource pooling CMS 1 Minimum Cut Js CMS 2
Nominal plan for a CMS: Routing matrix P For a given CMS let a Vector of arrivals per job class, B Service time matrix, F Indicator function matrix for job class machine qualification, P Branching probability matrixBasic equation system for utilization vector I Index set for job classes I = {1,...,m} J Index set for machines J = {1,...,n}
Minimize u Average Utilization + v Variance of Utilizationinside each resource pool;Operational costs (chemicals, test wafers, energy, labour);Holding costs, penalties for delays;Distribute the load of each job class broadly upon the machines qualified to process it Constraints: Every job has to be processed: Sum p(i,.) = 1, for all i Utilization of machine j < 1, for all j Choose v >> u Determination of nominal plan is based on rates of stochastic processes only Quadratic optimization problem
1 0.8 0.6 Minimum 2 1 1 0.4 0.75 0 0 0.5 0.2 0.25 0.25 0.5 0 0.75 0 0 0.2 0.4 0.6 0.8 1 1 1 Resource pool optimization B = a = Contours Function to be minimized Surface Optimum: put 47% of job class 1 and 59% of job class 2 on machine 2
A Heavy Traffic Example Service time matrix Arrival vector left side limit Load balancing possible with either LP and QP, such that U 1-for all machines Linear versus quadratic optimization
Minimize the maximum utilization in resource pool Variables to be determined: Branching probability matrix Linear problem
Multiple solutions: LP Solver gives a solution which is an extreme point of the constraint set Number of nonzero branching probabilities is at most m + n -1 (Harrison, López, QS 33 (1999);from above example: 3 + 3 - 1 = 5 Resulting branching probability matrix: M3 is now single equipment for job class J2! Linear problem
Linear solutions and robustness Any point on red line minimizes maximum utilization Most robust solution Robust solution LP solutions LP solutions LP optimization provides a solution with least robustness
Distribute Job Classes amongst machines such General load level is minimal Variance of machine utilization vector is minimal Distribution of individual job class on different machines is as homogeneous as possible Resulting branching probability matrix: QP solution does not contain any single equipments Dispatching is robust against random interference such as machine breakdowns, machine specific processing problems Significantly improved normalized waiting time Quadratic programming solution
Resource Pooling effect is approximately described by the factorΣiλiּ number of basic activities for class i / Σλi := knormalized waiting time:1/kU/(1-U) Resource pooling effect Using QP factor k is approximately 3.25 times higher than with LP solution when applied applied in typical semiconductor front end resource pools
Calculation of optimal branching probabilities which allow the highest possible degree of resource pooling for each CMS Avoids aggressive job to machine allocations where a flexible machine takes too many jobs from a flexible job class Each job class is guaranteed an appropriate portion of the whole capacity of resource pool RPO: Summary Benefit: maximum utilization in a CMS is up to 30% less as compared to the case where popular distribution mechanisms are used such as 'least flexible job / least flexible machine' or a Speed Ranking Rule
How to approach ideal system behaviour? Implementation of Multiple job multiple machine polling with a cycle stealing mechanism for starvation avoidance A continuous review policy
Polling is used to put optimum branching probabilities into practice Perspective of job classes: Each job class has an associated polling cycle, which is the ordered set of machines to be polled by the job class; the frequency of appearance of a particular machine in a particular polling cycle is in accordance with the (job class, machine) - branching probability Perspective of machines: analog Example: Machine 1: (7,1,3,1,1,7,1,3,1) Machine 2: (3,7)machine 1 polls at the very first time job class 7, then 1, 3, again 1 and so forth; a pointer memorizes the last poll;the last element of a polling cycle is connected to its first element Polling principles
The Polling Table for job classes is used when a dispatch event is triggered by an arriving job, because one or more machines are idling (prevalent under low utilization) The Polling Table for machines is used when a dispatch event is triggered by a machine finishing service (prevalent under high utilization) LiteratureBoxma, Levy, Westrate, QS 9 (1991), Perf. Eval. 18 (1993) Polling principles
509-601 BVT 103 thr11 thr21 BVT104 thr22 BVT105 thr32 509-619 Special issues on CMS with batch servers Example Configuration
Since dispatching is non-anticipative a threshold policy is used for deciding when to build a batch for a given job class on a given machine of some CMS Calculation of utilization according to u = a b/K under full batch policy u = a b/(jps K) under threshold policywith K the maximum batch size, jps the average number of jobs per machine start (server efficiency) Special issues on batch servers
Queueing modelling of batch servers with many job classes • M/D/1 with batch service and threshold server starting strategy • Infinitely many job classes • Equal mix of single arrivals and batch arrivals • First arrival (respectively departure) of eachservice cycle is single • Different Batch-ID for each job class Service discipline Round Robin: Closed formula for jps
Choose thresholds with respect to target cycle times for job classes Calculate jps for each job machine combination using the queuing Model M/D /1-S with one job class Calculate jpsfor each job machine combination using a new result for queuing Model M/D /1 with infinitely many job classes Interpolate results of the two analyzes using entropy of job for a given machine Trade-Off between holding costs and operative costs Use an iterative scheme to determine cost optimum Server efficiencies and threshold tables [r,K ] [r,K ]
Probabilities of appearances of Job Classes:(0.5, 0.25, 0.125, 0.125) Overall utilization under full batch policy: 0.25 Entropy of Job Class 1.75 Maximum entropy with four Job Classes given: 2(each job class appears with equal probability) Optimum thresholds: (2,1,1,1) Example: One machine, four job classes, K = 8
Server efficiency: Gain over lower bound r/KEstimated and simulated Threshold = 1 Threshold = 2 0.4 0.5 0.3 0.4 0.3 0.2 Class 1 Class 2 Class 3 Class 4 0.2 Class 1 Class 2 Class 3 Class 4 0.1 0.1 r/K 0 0 Threshold = 3 Threshold = 4 0.7 0.8 0.6 0.6 0.5 Class 1 Class 2 Class 3 Class 4 0.4 0.4 Class 1 Class 2 Class 3 Class 4 0.3 0.2 0.2 0.1 0 0
Server efficiency: Gain over lower bound r/KEstimated and simulated Threshold = 5 Threshold = 6 0.8 0.8 Class 1 Class 2 Class 3 Class 4 0.6 Class 1 Class 2 Class 3 Class 4 0.6 0.4 0.4 0.2 0.2 0 0 Threshold = 7 Threshold = 8 Class 1 Class 2 Class 3 Class 4 Class 1 Class 2 Class 3 Class 4 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0
Robustness of optimal nominal plan is achieved by selecting a solution for routing problem which is robust against higher-order data, like variance of interarrival times, service times, interdependances of stochastic processes etc. QP Programming on decomposition model allows routing optimization for a real fab with hundreds of machines, fifty and more different product routes, and up to 400 steps per route in reasonable computational time Review policy is effective, efficient and robust Methods from Quadratic Optimization and Queueing Theory have been combined in the treatment of the important batch service environments Future enhancements: Processing activities which require more than one resource Parameterization of non-anticipative set up strategies Outlook