copyright © infineon technologies 2005. all rights reserved. bonn ifx_0705_aim/pd page 1 october...
TRANSCRIPT
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 1
October 2005
Infi
neo
nGOR AG "Optimization under Uncertainty"Physikalisches Institut, Bad Honnef
Robust Nominal Plans for Dispatching in SemiconductorManufacturing
Causes for stochasticity in semiconductor manufacturing processes Calculation of robust nominal plans Dispatching strategy using nominal plan Outlook
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 2
Wafer fabrication logistic model
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
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 3
Model and goals
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 treat
customers fairly with respect to
holding costs
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 4
Breaking down the 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 efficient Routing
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
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 5
Randomness brought upon by basic production data
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
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 6
Stochasticity imposed by engineering and test
Preparation of test wafers
Cleaning NCC
DepositionNitrid 790/400 nm
Test with prepared wafer
Recycling
Reservoir
Maximum of N wafersIn progress
Random variables:1. Success probability
of test2. Recycling successful
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 7
Stochastic influences of SCM
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
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 8
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
Dispatching for loops
FEOL BEOL
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 9
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
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 10
Stochasticity is inherent to cyclic productioneven if all demand and service processes were deterministic
Stochasticity is inherent to cyclic productioneven if all demand and service processes were deterministic
A principle insight
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
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 11
Decomposition method
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
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 12
Edge between vertice i and vertice j: load can be balanced between machine i and j, also transitive
Edge between vertice i and vertice j: load can be balanced between machine i and j, also transitive
Example RTP Oxid and BPSG: Dedication
Example RTP Oxid and BPSG: Dedication
Closed machine sets (CMS)
Graph RepresentationGraph Representation
M1 M2 M3 M4 M5 M6 M7 M8J1 0 0 0 20 20 0 0 0J2 8 8 8 0 0 0 0 0J3 0 7 7 0 0 0 0 0J4 0 7 7 0 0 0 0 0J5 7 7 7 0 0 0 0 0J6 0 0 13 13 0 0 13 0J7 0 0 0 0 0 0 9 9J8 0 0 0 9 9 9 0 0J9 8 8 8 0 0 0 0 0J10 0 9 9 0 0 0 0 0J11 6 6 6 0 0 0 0 0J12 0 9 9 0 0 0 0 0J13 0 0 0 0 0 0 9 9J14 0 0 0 12 12 12 0 0
6
7, 13
1
2
3
4
5
6
7
8
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 13
CMS picture in the whole fab
Route 1
Route 2
Route 3
CMS 1
CMS 2
CMS 3
CMS 4
CMS 5
CMS 6
CMS 7
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 14
Limits for and assumptions on interarrival processes
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
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 15
Interarrival Processes
Typical departure stochastic process
Departure Process at furnace
0 2 4 6 8 10 12 14 16
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
Departure processAt implant
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 16
Service Time Processes
Small Disturbances or Handling: Deterministic + Triangular
Setup systems: Deterministic + LogNormal
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100RZmin
100
200
300
400
500
Häufigkeit
LogNormal: LN(2.214,0.837)
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 17
Dedicated and discretionary traffic
M1 M2J1 1 1J2 1 1
M1 M2J1 1 0J2 0 1
Dedicated Traffic Discretionary Traffic
Principal Job-to-Machine Qualifications are given
How to guide discretionary traffic such that a CMS acts like a heavy traffic resource pool?
Preferred mode for stochasticsystems
M1 M2J1 1 1J2 0 1
Mixture
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 18
Resource pooling
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
CMS 1
CMS 2
Minimum Cut Js
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 19
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 matrix
Basic equation system for utilization vector
I Index set for job classes I = {1,...,m}
J Index set for machines J = {1,...,n}
uj i1m aipijfijbij
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 20
Quadratic optimization problem
Minimize u Average Utilization + v Variance of Utilization
inside 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
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 21
Optimum:put 47% of job class 1 and 59% of job class 2 on machine 2
Optimum:put 47% of job class 1 and 59% of job class 2 on machine 2
Resource pool optimization
1.16 0.6 00 1 1
Function to be minimized
Surface
Contours
a = B =1.71.2
0 0.2 0.4 0.6 0.8 1
0
0.2
0.4
0.6
0.8
1
Minimum1.71.2
00.25
0.5
1 0
0.25
0.5
0.75
1
0
1
2
0.75
1
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 22
Linear versus quadratic optimization
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
M1 M2 M3J1 1 2 0J2 0 2 1J3 1 0 1
J1 56
J2 56
J3 56
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 23
Linear problem
Minimize the maximum utilization in resource pool
Variables to be determined: Branching probability matrix
M1 M2 M3J1 1 x x 0J2 0 1 y yJ3 z 0 1 z
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 24
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!
M1 M2 M3J1 2
535
0
J2 0 0 1
J3 45
0 15
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 25
Linear solutions and robustness
Robust solution
LP solutions
0
0.2
0.4
0.6
x
0
0.2
0.4
0.6y
0.2
0.4
0.6
0.8
z
0
0.2
0.4
0.6
x
0
0.2
0.4
0.6y
Most robust solution
LP solutions
LP optimization provides a solution with least robustness
Any point on red line minimizes maximum utilization
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 26
Quadratic programming solution
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
M1 M2 M3J1 7
10310
0
J2 0 310
710
J3 12
0 12
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 27
Resource pooling effect
Resource Pooling effect is approximately described by the factor
Σi λi ּ number of basic activities for class i / Σ λi := k
normalized waiting time: 1/k U/(1-U)
Using QP factor k is approximately 3.25 times higher than with LP solution when applied applied in typical semiconductor front end resource pools
Using QP factor k is approximately 3.25 times higher than with LP solution when applied applied in typical semiconductor front end resource pools
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 28
RPO: Summary
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
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
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 29
A continuous review policy
How to approach ideal system behaviour?
Implementation of
Multiple job multiple machine polling
with a cycle stealing mechanism
for starvation avoidance
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 30
Polling principles
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
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 31
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)
Literature
Boxma, Levy, Westrate, QS 9 (1991), Perf. Eval. 18 (1993)
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 32
Example ConfigurationExample Configuration
Special issues on CMS with batch servers
BVT 103
BVT104
BVT105
thr11
thr21
thr22
thr32
509-601
509-619
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 33
Special issues on batch servers
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 policy
with K the maximum batch size, jps the average number of jobs
per machine start (server efficiency)
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 34
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 each
service cycle is single Different Batch-ID for each job class
Service discipline Round Robin:Closed formula for jps
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 35
Server efficiencies and threshold tables
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 jps for 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
[r,K ]
[r,K ]
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 36
Example: One machine, four job classes, K = 8
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)
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 37
r/K
Server efficiency: Gain over lower bound r/KEstimated and simulated
Class1 Class2 Class3 Class4
0
0.1
0.2
0.3
0.4
Class1 Class2 Class3 Class4
0
0.1
0.2
0.3
0.4
0.5
Class1 Class2 Class3 Class4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Class1 Class2 Class3 Class4
0
0.2
0.4
0.6
0.8
Threshold = 2Threshold = 1
Threshold = 4Threshold = 3
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 38
Server efficiency: Gain over lower bound r/KEstimated and simulated
Class1 Class2 Class3 Class4
0
0.2
0.4
0.6
0.8
Class1 Class2 Class3 Class4
0
0.2
0.4
0.6
0.8
Class1 Class2 Class3 Class4
0
0.2
0.4
0.6
0.8
Class1 Class2 Class3 Class4
0
0.2
0.4
0.6
0.8
Threshold = 6Threshold = 5
Threshold = 8Threshold = 7
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 39
Optimal Threshold Values (2,1,1,1)
Class1 Class2 Class3 Class4
0
0.1
0.2
0.3
0.4
0.5
Thresholds 2,1,1,1
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 40
Outlook
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
Copyright © Infineon Technologies 2005. All rights reserved.
Bonn IFX_0705_AIM/PDPage 41
Never stop thinking.