GOR AG "Optimization under Uncertainty"
Physikalisches Institut, Bad Honnef
October 2005
Robust Nominal Plans for Dispatching in Semiconductor
Manufacturing
Bonn IFX_0705_AIM/PD
Page 1
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.
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 machine
resource
- Routing is in general of 'Pull' type
Bonn IFX_0705_AIM/PD
Page 2
Purpose of mathematical model:
Find optimal parameters for routing policy
Copyright © Infineon Technologies 2005. All rights reserved.
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
Bonn IFX_0705_AIM/PD
Page 3
Minimize cycle times and treat
customers fairly with respect to
holding costs
Copyright © Infineon Technologies 2005. All rights reserved.
Breaking down the goals
Perform solid capacity check
- for medium and long term (typically stationary case)
- for short term (transient case or stationary case)
Bonn IFX_0705_AIM/PD
Page 4
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.
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
Bonn IFX_0705_AIM/PD
Page 5
Copyright © Infineon Technologies 2005. All rights reserved.
Stochasticity imposed by engineering and test
Reservoir
Preparation of test wafers
Cleaning NCC
Random variables:
1. Success probability
of test
2. Recycling successful
Deposition
Nitrid 790/400 nm
Maximum of N wafers
In progress
Test with prepared wafer
Recycling
Bonn IFX_0705_AIM/PD
Page 6
Copyright © Infineon Technologies 2005. All rights reserved.
Stochastic influences of SCM
Bonn IFX_0705_AIM/PD
Page 7
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.
Dispatching for loops
Some resource pools are more involved in the BEOL,
e.g. Metallization, Polishing, Protection
FEOL
Bonn IFX_0705_AIM/PD
Page 8
BEOL
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
Copyright © Infineon Technologies 2005. All rights reserved.
System dynamics
Priority = Relative earliness or lateness / remaining cycle time
N, FEOL
-
+
+
RCT, FEOL
-
Prio of lots for FEOL
+
cum. lateness, FEOL
+
Prio of lots for BEOL
Balancing Feedback Loop
(+)(-)(+) 1= (+) (+) (-) 1 = (-) 1
Bonn IFX_0705_AIM/PD
Page 9
Copyright © Infineon Technologies 2005. All rights reserved.
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
Stochasticity is inherent to cyclic production
even if all demand and service processes were deterministic
Bonn IFX_0705_AIM/PD
Page 10
Copyright © Infineon Technologies 2005. All rights reserved.
Decomposition method
Build fab graph with
- Machines = Vertices
- Edge between any pair of machines with a common process
qualification
Bonn IFX_0705_AIM/PD
Page 11
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.
Closed machine sets (CMS)
Example RTP Oxid and BPSG:
Dedication
M1
J1 0
J2 8
J3 0
J4 0
J5 7
J6 0
J7 0
J8 0
J9 8
J10 0
J11 6
J12 0
J13 0
J14 0
M2
0
8
7
7
7
0
0
0
8
9
6
9
0
0
M3
0
8
7
7
7
13
0
0
8
9
6
9
0
0
M4
20
0
0
0
0
13
0
9
0
0
0
0
0
12
M5
20
0
0
0
0
0
0
9
0
0
0
0
0
12
M6
0
0
0
0
0
0
0
9
0
0
0
0
0
12
M7
0
0
0
0
0
13
9
0
0
0
0
0
9
0
M8
0
0
0
0
0
0
9
0
0
0
0
0
9
0
Graph Representation
2
3
1
6
4
8
7, 13
5
7
6
Edge between vertice i and vertice j: load can be balanced
between machine i and j, also transitive
Bonn IFX_0705_AIM/PD
Page 12
Copyright © Infineon Technologies 2005. All rights reserved.
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
Bonn IFX_0705_AIM/PD
Page 13
Copyright © Infineon Technologies 2005. All rights reserved.
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 the
n-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
Bonn IFX_0705_AIM/PD
Page 14
Copyright © Infineon Technologies 2005. All rights reserved.
Interarrival Processes
Typical departure
stochastic process
Departure Process
at furnace
Departure process
At implant
Bonn IFX_0705_AIM/PD
Page 15
Copyright © Infineon Technologies 2005. All rights reserved.
Service Time Processes
Small Disturbances or Handling: Deterministic + Triangular
Setup systems: Deterministic + LogNormal
LogNormal: LN(2.214,0.837)
Bonn IFX_0705_AIM/PD
Page 16
Copyright © Infineon Technologies 2005. All rights reserved.
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?
Bonn IFX_0705_AIM/PD
Page 17
Copyright © Infineon Technologies 2005. All rights reserved.
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
Minimum Cut
Js
CMS 2
Bonn IFX_0705_AIM/PD
Page 18
Copyright © Infineon Technologies 2005. All rights reserved.
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}
Bonn IFX_0705_AIM/PD
Page 19
Copyright © Infineon Technologies 2005. All rights reserved.
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
Bonn IFX_0705_AIM/PD
Page 20
Choose v >> u
Determination of nominal plan is based on rates of
stochastic processes only
Copyright © Infineon Technologies 2005. All rights reserved.
Resource pool optimization
B=
a=
Contours
Function to be minimized
1
0.8
Surface
0.6
2
Minimum
1
1
0.75
0
0
0.5
0.25
0.4
0.2
0.25
0.5
0
0.75
10
0
0.2
0.4
0.6
0.8
1
Optimum:
put 47% of job class 1 and 59% of job class 2 on machine 2
Bonn IFX_0705_AIM/PD
Page 21
Copyright © Infineon Technologies 2005. All rights reserved.
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 1for all machines
Bonn IFX_0705_AIM/PD
Page 22
Copyright © Infineon Technologies 2005. All rights reserved.
Linear problem
Bonn IFX_0705_AIM/PD
Page 23
Minimize the maximum utilization in resource pool
Variables to be determined: Branching probability matrix
Copyright © Infineon Technologies 2005. All rights reserved.
Linear problem
Bonn IFX_0705_AIM/PD
Page 24
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!
Copyright © Infineon Technologies 2005. All rights reserved.
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
Bonn IFX_0705_AIM/PD
Page 25
Copyright © Infineon Technologies 2005. All rights reserved.
Quadratic programming solution
Bonn IFX_0705_AIM/PD
Page 26
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
Copyright © Infineon Technologies 2005. All rights reserved.
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
Bonn IFX_0705_AIM/PD
Page 27
Copyright © Infineon Technologies 2005. All rights reserved.
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
Bonn IFX_0705_AIM/PD
Page 28
Copyright © Infineon Technologies 2005. All rights reserved.
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
Bonn IFX_0705_AIM/PD
Page 29
Copyright © Infineon Technologies 2005. All rights reserved.
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:
Machine 2:
(7,1,3,1,1,7,1,3,1)
(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
Bonn IFX_0705_AIM/PD
Page 30
Copyright © Infineon Technologies 2005. All rights reserved.
Polling principles
Bonn IFX_0705_AIM/PD
Page 31
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.
Special issues on CMS with batch servers
Example Configuration
509-601
BVT 103
thr11
thr21
BVT104
BVT105
thr22
thr32
509-619
Bonn IFX_0705_AIM/PD
Page 32
Copyright © Infineon Technologies 2005. All rights reserved.
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)
Bonn IFX_0705_AIM/PD
Page 33
Copyright © Infineon Technologies 2005. All rights reserved.
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
Bonn IFX_0705_AIM/PD
Page 34
Copyright © Infineon Technologies 2005. All rights reserved.
Server efficiencies and threshold tables
Bonn IFX_0705_AIM/PD
Page 35
Choose thresholds with respect to target cycle times for job
classes
Calculate jps for each job machine combination using the
queuing Model M/D [r,K ] /1-S with one job class
Calculate jps for each job machine combination using a new
result for queuing Model M/D [r,K ] /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
Copyright © Infineon Technologies 2005. All rights reserved.
Example: One machine, four job classes, K = 8
Bonn IFX_0705_AIM/PD
Page 36
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.
Server efficiency: Gain over lower bound r/K
Estimated and simulated
Threshold = 1
Threshold = 2
0.4
0.5
0.3
0.4
0.3
0.2
0.2
0.1
Class1
Class2
Class3
Class1
Class2
Class3
Class4
Class4
0.1
r/K
0
0
Threshold = 3
Threshold = 4
0.7
0.8
0.6
0.6
0.5
Class1
0.4
Class1
Class2
Class3
Class4
Class2
Class3
Class4
0.4
0.3
0.2
0.2
0.1
0
Bonn IFX_0705_AIM/PD
Page 37
0
Copyright © Infineon Technologies 2005. All rights reserved.
Server efficiency: Gain over lower bound r/K
Estimated and simulated
Threshold = 5
Threshold = 6
0.8
0.8
Class1
0.6
Class1
Class2
Class3
Class4
0.4
0.2
0.2
0
0
Threshold = 7
0.8
Bonn IFX_0705_AIM/PD
Page 38
Class3
Class4
Threshold = 8
Class1
Class2
Class3
0.6
0.4
Class1
Class2
Class2
Class3
Class4
Class4
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
Copyright © Infineon Technologies 2005. All rights reserved.
Optimal Threshold Values (2,1,1,1)
Bonn IFX_0705_AIM/PD
Page 39
Copyright © Infineon Technologies 2005. All rights reserved.
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
Bonn IFX_0705_AIM/PD
Page 40
- Parameterization of non-anticipative set up strategies
Copyright © Infineon Technologies 2005. All rights reserved.
Never stop thinking.
Bonn IFX_0705_AIM/PD
Page 41
Copyright © Infineon Technologies 2005. All rights reserved.
© Copyright 2026 Paperzz