Вы находитесь на странице: 1из 19

This article was downloaded by: [Universit de Neuchtel] On: 22 March 2011 Access details: Access Details: [subscription

number 918014282] Publisher Taylor & Francis Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 3741 Mortimer Street, London W1T 3JH, UK

International Journal of Production Research

Publication details, including instructions for authors and subscription information: http://www.informaworld.com/smpp/title~content=t713696255

Optimal batching in a wafer fabrication facility using a multiproduct G/G/c model with batch processing
J. W. Fowler; N. Phojanamongkolkij; J. K. Cochran; D. C. Montgomery Online publication date: 14 November 2010

To cite this Article Fowler, J. W. , Phojanamongkolkij, N. , Cochran, J. K. and Montgomery, D. C.(2002) 'Optimal batching

in a wafer fabrication facility using a multiproduct G/G/c model with batch processing', International Journal of Production Research, 40: 2, 275 292 To link to this Article: DOI: 10.1080/00207540110081489 URL: http://dx.doi.org/10.1080/00207540110081489

PLEASE SCROLL DOWN FOR ARTICLE


Full terms and conditions of use: http://www.informaworld.com/terms-and-conditions-of-access.pdf This article may be used for research, teaching and private study purposes. Any substantial or systematic reproduction, re-distribution, re-selling, loan or sub-licensing, systematic supply or distribution in any form to anyone is expressly forbidden. The publisher does not give any warranty express or implied or make any representation that the contents will be complete or accurate or up to date. The accuracy of any instructions, formulae and drug doses should be independently verified with primary sources. The publisher shall not be liable for any loss, actions, claims, proceedings, demand or costs or damages whatsoever or howsoever caused arising directly or indirectly in connection with or arising out of the use of this material.

int. j. prod. res., 2002, vol. 40, no. 2, 275 292

Optimal batching in a wafer fabrication facility using a multiproduct G/G/c model with batch processing
J. W. FOWLERy*, N. PHOJANAMONGKOLKIJz, J. K. COCHRANy and D. C. MONTGOMERYy
Wafer fabrication, the rst portion of semiconductor manufacturing, typically involves numerous batch-processing operations. These operations play an important role in determining how the system performs in terms of throughput, WIP and cycle time. In this paper, batch sizes that minimize the expected cycle time of batch-processing operations for a real-world semiconductor manufacturer are determined by a new approximated analytical model. This model, denoted by G=Gbp , represents multiple products, multiple servers, batch-processing, incompatible products and unequal batch service size queues. Incompatible products mean that di erent products are not allowed to be in the same batch. Unequal batch service size means that batch service sizes depend upon products. Steadystate approximation formulas for cycle time and WIP of this queuing system are derived. These approximate performance measures are compared with those of discrete-event simulation. The results are reasonable and the approximation formulas much more computationally e cient than conducting the corresponding simulation studies. Finally, a batch-processing system with the goal of minimizing the total expected cycle times of items by determining the `optimal batch sizes is presented. Solutions are obtained using genetic algorithms.

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

1.

Introduction All wafer fabs involve batch-processing operations, e.g. di usion, deposition and oxidation. These operations play an important role in determining how the system performs in terms of throughput, WIP and cycle time. They generally add variability into a system because items wait to form a batch and upon service completion multiple items are released to downstream operations. This variability is reected in the coe cient of variation of downstream arrivals. Figure 1 shows a typical semiconductor batch-processing system. There are P di erent products. Each arrives to the system according to a given distribution, but the distribution is not necessary the same for all products. Items of each product need to be processed at a workstation in batches of time-independent, but productdependent sizes (e.g. product 1 with batch size of b1 , product 2 with batch size of b2 , and so on). This implies that items of di erent products cannot be in the same batch and it is therefore called a batch-processing system with incompatible products. After being grouped according to product dependent batch sizes, batches are pro-

Revision received May 2001. { Department of Industrial Engineering, Arizona State University, Tempe, AZ 852875906, USA. { Department of Industrial Engineering, Northern Illinois University, DeKalb, IL 60115, USA. * To whom correspondence should be addressed. e-mail: john.fowler@asu.edu
International Journal of Production Research ISSN 00207543 print/ISSN 1366588X online # 2002 Taylor & Francis Ltd http://www.tandf.co.uk/journals DOI: 10.1080/00207540110081489

276
Product 1 Product 2 b1 b2

J. W. Fowler et al.
Product 1 Furnace 1 Product 2

...
Product P bP

...

Furnace 2

...
Product P

Furnace c

Batch : Item : Batch

Workstation Batch : Grouping items into batches Unbatch : Splitting batches into items

Unbatch

Figure 1.
Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

Multiproduct G/G/c model with batch-processing, incompatible products and unequal batch service size.

cessed at a workstation having c furnaces. The service time distributions may di er from one product to another. Thus, this system can be represented by a G/G/c model with batch-processing , incompatible products, and unequal batch service size, which is denoted by G=Gbp =c here. Upon nishing service at the workstation, batches are split into individual items before they leave the system or go to the next workstation. Since these batch-processing systems play an important role in system performance, semiconductor manufacturers have to make a decision on batch sizes of items. This paper studies a batch-processing system with the goal of minimizing the total expected cycle times of items by determining the `optimal batch sizes. The motivating system for this research is a semiconductor batch-processing system (e.g. di usion). In these systems, the service times of products are usually constant. However, the present approach is appropriate for more general systems and the results can be applied to any manufacturin g system with batch processing.

2.

Literature review Several papers focusing on batch-processing systems in manufacturing applications have appeared in the literature, including Glassey and Weng (1991), Fowler et al. (1992, 2000), Gurnani et al. (1992), Jayaraman et al. (1994), Cheng et al. (1996), Ching et al. (1997), He and Jewkes (1997) and Hochbaum and Landy (1997). Glassey and Weng presented a heuristic control strategy for a single product in a single batch-processing queue in a semiconductor manufacturing process. Fowler et al. (1992) proposed a heuristic control strategy in a single batch-processing queue with a single server and multiple products in semiconductor manufacturing . They extended the heuristic for multiple servers and multiple products in Fowler et al. (2000). Gurnani et al. (1992) attempted to nd an optimal batch size to start batch processing in a two-stage serial-batch system of semiconductor manufacturing . A batch-processing queue with server breakdown is investigated by Jayaraman et al. (1994). A deterministic scheduling approach to batching and scheduling on multiple machines was considered by Cheng et al. (1996). He and Jewkes (1997) studied the relationship between optimum batch size and the mean and variance of a ow time distribution. Hochbaum and Landy (1997) employed heuristics to solve a problem of (deterministically) scheduling two products with di erent weights to minimize total

Optimal batching in a wafer fabrication facility

277

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

weighted completion time. Ching et al. (1997) determined a service sequence of two part types and optimum batch sizes to reduce total production time. In addition to the research described above, there are works on batch-processing systems focusing mainly on performance evaluation. The published works include models for M/Mb /1 (Gelenbe and Pujolle 1998, Gross and Harris 1998), M/Gb /1 (Chaudhry and Templeton 1983, Briere and Chaudhry 1989), M/Mb /c, E/Gb /1 and G/Mb /c (Chaudhry and Templeton 1983) and G/Gb /1 (Bitran and Tirupati 1989) systems. No model for a system with multiple products, multiple servers, batch-processing , incompatible products and unequal batch service size queue was found in the literature. To determine the `optimal batch sizes that minimize the total expected cycle times of items, an approximating G=Gbp =c model is required. The present paper mathematicall y derives the model in Section 3. Section 4 demonstrates the accuracy of the results compared with DES for both equal and unequal batch service sizes. Section 5 applies the model to solve an optimization problem of batch-processing systems for a semiconductor manufacturer. Section 6 gives conclusions. Mathematical model of the G=G bp =c queue The G=Gbp =c queue is modelled as a system consisting of three nodes connected in series (gure 2). The rst node, called the batch node, performs the grouping of items into batches of time-independent, but product-dependent , size bp , where p 1; 2; 3; . . . ; P, and has no service time. The second node, called the queue node, processes the batches departing from the batch node. The actual service of items takes place at this queue node. Essentially, the second node is a G/G/c queue with arrivals of full batches. The last node, called the unbatch node, splits the batches into items before items leave the system. Thus, there is no service time at the unbatch node. 3.

W q(Q),Lq(Q)

W(B) 1,L(B) 1

l 1,outB,c2 a1,outB b1

l1

,c2

a1

,m 1

,c2

s1

W(B) 2,L(B) 2

r
l 2,outB,c2a2,outB b2 l(Q),c2a (Q) Server 1 Server 2

l 2 ,c2 a2 ,m 2 ,c2 s2

...

...

W(B) P,L(B) P

l P,outB,c2aP,outB bP

Server c

l P,c2 aP,m P,c2sP

Queue Node : Item : Batch

Unbatch Node

Batch Node

Batch Node: Grouping items into batches Queue Node: Performing the actual service Unbatch Node: Splitting batches into items

Figure 2.

Parameters and performance measures of the G=Gbp =c queue.

...

278

J. W. Fowler et al.

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

The total cycle time of the G=Gbp =c queue is the summation of the time to form a batch and the cycle time of the queue node. The parameters used in the calculations are: c number of servers, P number of products, bp batch service size of product p, for p 1; 2; . . . ; P, p arrival rate (item/time-unit) of product p, for p 1; 2; . . . ; P, p;OUTB departure rate (batch/time-unit) from the batch node of product p, for p 1; 2; . . . ; P, Q total arrival rate (batch/time-unit) of all products to the queue node, total arrival rate (item/time-unit) of all products to the batch node, that is 1 2 p , p interarrival time per item of product p, for p 1; 2; . . . ; P, where Ep 1=p , p;OUTB interarrival time per batch (or the interdeparture time of batches from the batch node) of product p, for p 1; 2; . . . ; P, where Ep;OUTB 1=p;OUTB , c2 squared coe cient of variation of the interarrival time per item for ap product p, for p 1; 2; . . . ; P, where c2 Varp =Ep 2 , ap c2 ap;OUTB squared coe cient of variation of the interdeparture time of batches from the batch node for product p, for p 1; 2; . . . ; P, c2 Q squared coe cient of variation of the interarrival time per batch of a a single aggregate product to the queue node, p service rate (batch/time-unit) of product p, for p 1; 2; . . . ; P, expected service rate (batch/time-unit) of all products, c2 squared coe cient of variation of service time per batch of product p, sp for p 1; 2; . . . ; P, c2 squared coe cient of variation of the expected overall service time per s batch, tra c intensity of the G=Gbp =c queue. We used tra c intensity to refer to the arrival rate divided by the service rate. The service rate is determined by the number of servers and assumes only batches of the specic size (e.g. three lots) are processed. An unfeasible system happens if batch service sizes are extremely small, while arrival and batch service rates remain the same. In this situation, the servers at the queue node have to serve more batches and this results in an unstable system (i.e. tra c intensity>1.) The performance measures to be estimated are: W W B W Bp Wq Q W Q total expected cycle time of the G=Gbp =c queue for any item, expected waiting time of any item to form a batch at the batch node, expected waiting time of items of product p to form a batch at the batch node, expected waiting time of any item for service at the queue node, expected cycle time of any item at the queue node.

The WIP-related performance measures are dened in a similar manner as the cycle time-related performance measures. Let us rst nd the cycle time numbers. By denition:

Optimal batching in a wafer fabrication facility W W B W Q:

279 1

For product p at the batch node, the rst item in the batch has to wait for an additional bp 1) items to arrive, the second item has to wait for bp 2) items to arrive, and so on. The last item in the batch does not have to wait for any other items. Therefore, the average waiting time of an item to form a batch of product p, W Bp , is 1 1 1 1 1 W Bp bp 1 bp 2 bp fbp 1g bp bp : bp p o p p After some algebraic manipulations: W Bp
Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

bp 1 : 2p

The total time to form a batch of any item, W B, is simply the weighted average of time to form a batch of all products: W B p 1 W B1 2 W B2 W Bp : 2

At the queue node, arrivals are now in batches. The arrival rate and squared coe cient of variation of the interarrival time to the queue node have to be modied. For product p, referring to gure 2, the interdeparture time from the batch node is the summation of all interarrival times of bp items, that is: p;OUTB p p : |{z}
bp times

Thus, the expected interdeparture time of batches from the batch node is: Ep;OUTB Ep Ep bp Ep ; |{z}
bp times

3a

which is

1 p;OUTB or

bp p

p;OUTB

p : bp

3b

Assuming independent interarrival times of items, from equation (3): Varp;OUTB Varp Varp bp Varp : |{z}
bp times

Thus, from equations (3a) and (4), the squared coe cient of variation of the interdeparture time of batches from the batch node for product p is: c2 ap;OUTB Varp;OUTB Ep;OUTB2 bp Ep 2 bp Varp c2 ap : bp

280

J. W. Fowler et al.

Now, all p products can be aggregated into one single product so that the closedform approximation formulas of the regular G/G/c queue can be used to calculate the performanc e measures. To aggregate all products, Whitt (1983) provided approximation equations to calculate the superposition of arrival processes. After modication to account for batch arrivals, these equations are: Q 1;OUTB 2;OUTB p;OUTB ( ) p X c2 ai;OUTB i;OUTB 2 ca Q 1 w w ; Q i1 where w 1 41 2 11 v " #1 p X i;OUTB2 v Q i1 Q : c 7 8 9 5 6

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

Equation (7) is directly from Whitt, while equations (5), (6), (8) and (9) have been modied to account for batch arrivals (e.g. by using p;OUTB and Q). Note that the tra c intensity of the G=Gbp =c model is actually the tra c intensity of the queue node. The expected service rate, , and the squared coe cient of variation of the service time, c2 , at the queue node are obtained from p and c2 : s sp p X i;OUTB i 1 i1 Q !1 0 p X i;OUTB c2 1 si B C 2 B i1 C 2 i 2 B C 1: cs B C Q @ A

Now using equations (6) and (9) with the approximation formulas of the G/G/c model (Hopp and Spearman 1996) to obtain Wq Q and W Q: ! p ! c2 Q c2 2c11 a s Wq Q 2 c1 and W Q Wq Q Therefore W Q
2 Ca Q c2 s 2

1 : !

2 c11 c1

1 :

10

Optimal batching in a wafer fabrication facility

281

Then, W, the total expected cycle time of the G=Gbp =c model of any item, is found by substituting equations (2) and (10) into equation (1). Note that for a given arrival rate and batch service rate that making smaller batches (to the point of unfeasibility) reduces the time required to form a batch (W B) and it also increases the time spent at the queue node (W Q). The WIP-related performanc e measures of the G=Gbp =c model can be determined via Littles law. 4. Model validation A computer program (Phojanamongkolki j 2000) was written in Matlab (1999) to calculate the performance measures of the G=Gbp =c model obtained above. The results obtained from Matlab are compared with those from a simulation model. An equal batch service size for single and multiple products is studied below to focus on the incompatible product behaviour. Unequal batch service sizes for four products with equal percentages of mix are considered below to exercise all the features of the model. 4.1. Equal batch service size To validate the behaviour of a batch-processing queue with equal batch service size, we perform a designed experiment as shown in table 1. A service rate of 10 batches per hour per machine for all products is used in all cases in this experiment. The total arrival rate depends on the desired tra c intensity, number of servers and an equal batch service size, e.g. for 0.9 tra c intensity, seven servers and the equal batch service size of seven items, the total arrival rate is 441 items per hour. The levels of the factors are selected based upon practical values found in semiconductor manufacturing and are consistent with the motivating example presented above. The response of interest is the absolute value of the percentage di erence in the total expected cycle time between analytical and simulation models (with respect to analytical models). Di erences in the total expected WIP are similar to those of the total expected cycle time, as expected according to Littles law, and therefore are not reported herein. A 27- 1 fractional factorial design with single replicate and single centre point (a VII total of 27- 1 1 65 runs) is used here (Montgomery 1997). Product mix distribution (table 1, factor B) is dened as the underlying distribution of proportions (or percentages) of products in the model. Percentages of seven products in the Uniform
Actual level (coded level) Factor A B C D E F G Denition tra c intensity product mix distribution interarrival time distribution service time distribution equal batch service size number of srvers number of products Table 1. Low 0.5 (1) uniform (1) constant (1) constant (1) 3 (1) 1 (1) 1 (1) Medium 0.7 (0) normal-2 (0) erlang-2 (0) erlang-2 (0) 5 (0) 4 (0) 4 (0) High 0.9 (1) exponential (1) exponential (1) exponential (1) 7 (1) 7 (1) 7 (1)

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

Factor denitions and their levels.

282

J. W. Fowler et al.

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

mix distribution are represented by a vector with all seven elements equal to 14.28% (100/7). For the Exponential mix, the percentage mix vector is (22.22, 20.63, 14.29, 14.28, 12.70, 9.53, 6.35). For the Normal mix, percentages of four products are represented by (20, 30, 30, 20). The design table and corresponding results are given in appendix B of Phojanamongkolki j (2000). For the simulation model, each level setting is simulated three times and the three simulated results are averaged to represent a result of that setting from the simulation model. Each simulation run is terminated when 300 000 entities have departed the system, which is long enough that the e ect of initialization bias is not signicant and the sampling process variation in simulation is minimal. The execution times of all simulation runs are similar since they depend primarily on the number of arrival and service events (the rst-in-rst-out queue discipline means no additional time is used to sort the queue) not on the tra c intensity of the system. The execution time of a simulation run is 24 s per one run, while that of the analytical model is 0:01 s based on the same computer system. The designed experiment is analysed in Design Expert (1997) and the detailed analysis is given in Phojanamongkolki j (2000). Service time distribution, interaction between tra c intensity and number of servers, and the interaction between the tra c intensity and the number of products have an impact on the per cent di erence. Figure 3 shows a scatter plot of the percentage di erences of each design point, and the overall mean and SD of the absolute percentage di erences. We observe that the mean and SD of the absolute percentage di erences are small (4.73 and 3.76%, respectively). Very few cases give an absolute percentage di erence >12%, but there is one case that gives absolute percentage di erences of 18%. The setting of this case is low tra c intensity, exponential mix, constant interarrival and service times, low batch size, single server and single product. Obviously, this case does not occur
20 15 % Difference 10 5 0 0 -5 -10 Run
Figure 3. Scatter plot showing all (actual) percentage di erences in the total expected cycle time, and the overall mean and SD of absolute percentage di erences for an equal batch size case.

Mean Abs. %Diff = 4.73% Stadev. of Abs. %Diff = 3.76%

10

20

30

40

50

60

70

Optimal batching in a wafer fabrication facility


Tra c intensity Batch service size for each product 0.5 and 0.9 5, 5, 5, 5 (case 1) 4, 4, 4, 8 (case 2) 3, 3, 3, 11 (case 3) 1, 1, 9, 9, (case 4) 3, 3, 7, 7 (case 5) 1, 5, 5, 9 (case 6) 3, 5, 5, 7 (case 7) 1, 3, 7, 9 (case 8)

283

Table 2.

Combinations of tra c intensities and batch service sizes.

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

often in most manufacturing systems. Therefore, one can conclude that the present analytical model provides reasonable approximations while using 1/2400th the execution time of the corresponding simulation run. We also observe that there is no general indication of when the model underestimates (negative values) or overestimates (positive values) compared to the corresponding simulation. 4.2. Unequal batch service size We now select a subset of the above experiment to study further the e ect of unequal batch service sizes. We use a Uniform mix distribution, Erlang-2 interarrival times, Erlang-2 service times, four servers and four products. All products have a service rate of 10 batches per hour. The combinations of tra c intensities and batch service size studied are given in table 2. Note that the batch service sizes for all cases have an average of ve items. The total arrival rate depends on the desired tra c intensity and the batch service sizes, e.g. for 0.9 tra c intensity, batch service sizes of 1, 1, 9 and 9, the total arrival rate is calculated as follows. From equations (3b), (5) and (9): 1 2 3 4 Q 1;OUTB 2;OUTB 3;OUTB 4;OUTB b1 b2 b3 b4 : c c c Substituting the tra c intensity, batch sizes, server, service rate and 25% of each product into the previous equation, one gets: 0:25 0:25 0:25 0:25 1 1 9 9 0:9 : 410 Therefore, 64:8 items per hour. The levels of factors are selected to cover a variety of batch service sizes that might occur in our motivating example. The response of interest is the absolute percentage di erence in the total expected cycle time between analytical and simulation models compared with analytical models. The experimentation is performed in a similar manner to the experimentation above. The execution times of a simulation run is 26 s per run, while that of the analytical model is 0.01 s based on the same computer system. Figure 4 shows a scatter plot of the percentage di erences in the total expected cycle time, and the overall mean and SD. We observe that the maximum absolute

284
12 10 8 %Difference 6 4 2 0 -2 0 -4 -6 -8
Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

J. W. Fowler et al.

Mean Abs. %Diff = 3.56% Stdev. of Abs %Diff = 2.87%

10

15

20

Run
Figure 4. Scatter plot showing all (actual) percentage di erences in the total expected cycle time, and the overall mean and SD of absolute percentage di erences for an unequal batch size case.

percentage di erences are <12% in all cases, and the mean and SD are small (3.56 and 2.87%, respectively). We therefore conclude that when batch size is unequal, the present analytical model gives good approximation results compared with simulation, while it only takes 1/2600th of the execution time of the corresponding simulation run. Again, we also observe that there is no general indication of when the model underestimates or overestimates compared to the corresponding simulation. We now apply the model to solve an optimization problem of a major semiconductor manufacturer . With its shorter execution times, the model is chosen as the analysis tool for this problem rather than simulation.

5. Case study 5.1. Introduction We worked with LSI Logic, a major semiconductor manufacturer, to generate this case study. The company has a diverse market focusing on ICs for networking, storage components, telecommunications/wireless, consumer, computer and storage systems. Processes of the company involve a number of batch-processing operations, e.g. di usion, deposition and oxidation. As expected in semiconductor processing, the company has to make a decision on batch sizes of items. In this study, the goal is to minimize the total expected cycle times of the batchprocessing tools. Product in gure 1 is herein referred to as a recipe. There are seven di erent batch-processing tool sets considered here. Data for these tool sets are given in table 3 and have been sanitized for condentiality. The names of the tool sets and process descriptions are presented in the rst column. The number of machines available and the service capacities (in items) of each tool set are given in the second column. The recipes that can be processed by a given tool set are given in the third column.

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

Table 3.

Tool set descriptions, service time (hours/batch), arrival rates (items/month), and ratio of arrival to service rate for Jan-00, Apr-00, Aug-00 and Dec-00. Arrival rate (items/month) {ratio of arrival to srvice rates} Jan-00 16 330 16 16 16 16 16 330 330 162 330 0 0 0 8 162 168 16 322 8 24 0 {0.133} {3.259} {0.077} {0.204} {0} 16 370 32 48 0 {0.619} {0.642} 104 298 {0.398} {1.137} {0.133} {3.742} {0.309} {0.407} {0} 91.36 404 16 451 44 48 12 {0.135} {0.133} {0.255} {0.123} {0.162} {2.055} {1.588} {1.130} {3.348} {0} {0} {0} {0.105} 16 16 16 16 16 402 402 104 402 0 0 0 32 {0.135} {0.133} {0.255} {0.123} {0.162} {2.501} {1.933} {0.726} {4.075} {0} {0} {0} {0.418} 16 16 16 16 16 483 495 91 495 12 12 12 32 {0.135} {0.133} {0.255} {0.123} {0.162} {3.009} {2.383} {0.637} {5.025} {0.058} {0.058} {0058} {0.418} {0.349} {1.544} {0.133} {4.567} {0.426} {0.407} {0.102} {0.081} {1.752} 16 402 {0.081} {2.132} 16 495 {0.081} {2.629} Apr-00 Aug-00 20 564 20 20 20 20 20 516 516 124 564 48 48 48 32 124 440 20 484 0 52 48 Dec-00 {0.101} {2.996} {0.169} {0.166} {0.318} {0.154} {0.203} {3.215} {2.716} {0.868} {5.726} }0.231} {0.231} {0.231} {0.418} {0.476} {1.682} {0.167} {4.902} {0.774} {0.441} {0.407} (continued)

Tool set (process)

# Machine (min, max) batch size (in items)

Recipe

Service time (hours/batch) (including load/unload)*

SET1 di usion

1 (1, 6)

RECIPE_A RECIPE_B

3.38 3.57

SET2 di usion

4 (1, 6)

RECIPE_C RECIPE_D RECIPE_E RECIPE_F RECIPE_G RECIPE_H RECIPE_I RECIPE_J RECIPE_K RECIPE_L RECIPE_M RECIPE_M RECIPE_N

5.67 5.57 10.70 5.18 6.82 4.18 3.23 4.68 6.82 3.23 3.23 3.23 8.78

Optimal batching in a wafer fabrication facility

SET3 di usion

1 {1, 6)

RECIPE_O RECIPE_P

2.57 2.57

SET4 deposition

2 (1, 6)

RECIPE_Q RECIPE_R RECIPE_S RECIPE_T RECIPE_U

5.60 6.80 6.50 5.70 5.70

285

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

286

Arrival rate (items/month) {ratio of arrival to srvice rates} Jan-00 16 330 16 16 160 162 322 8 8 0 16 16 162 322 8 8 0 160 16 {0.338} {0.157} {0.989} {1.965} {0.049} {0.049} {0} {0.976} {0.093} 16 16 104 370 32 32 0 266 16 {0.338} {0.157} {0.636} {2.256} {0.195} {0.195} {0} {1.620} {0.093} 16 16 91 451 32 44 12 360 16 {0.338} {0.157} {0.557} {2.754} {0.195} {0.268} {0.073} {2.196} {0.093} {0.274} {0.093} {1.524} {1.544} {1.821} {0.076} {0.045} {0} 16 16 266 104 370 32 32 0 {0.274} {0.93} {2.530} {0.092} {2.091} {0.305} {0.181} {0} 16 16 360 91 451 44 32 12 {0.274} {0.093} {3.429} {0.870} {2.552} {0.419} {0.181} {0.068} {0.234} {2.472} 16 402 {0.234} {3.009} 16 495 {0.234} {3.710} Apr-00 Aug-00 20 564 20 20 360 124 484 80 32 48 20 20 124 484 32 80 48 360 20 Dec-00 {0.292} {4.228} {0.342} {0.116} {3.429} {1.186} {2.740} {0.762} {0.181} {0.271} {0.423} {0.196} {0.759} {2.956} {0.195} {0.488} {0.293} {2.196} {0.116}

Tool set (process)

# Machine (min, max) batch size (in items)

Recipe

Service time (hours/batch) (including load/unload)*

SET5 deposition

2 (1, 6)

RECIPE_V RECIPE_W

9.82 5.03

SET6 oxidation

4 (1, 6)

RECIPE_X RECIPE_Y RECIPE_Z RECIPE_AA RECIPE_BB RECIPE_CC RECIPE_DD RECIPE_EE

11.5 3.9 6.4 6.4 3.8 6.4 3.8 3.8

J. W. Fowler et al.

SET7 oxidation

2 (1, 6)

RECIPE_FF RECIPE_GG RECIPE_HH RECIPE_II RECIPE_JJ RECIPE_KK RECIPE_LL RECIPE_MM RECIPE_Y

14.20 6.60 4.10 4.10 4.10 4.10 4.10 4.10 3.90

* Load/unload times are averages and, thus, are independent of batch sizes.

Table 3concluded.

Optimal batching in a wafer fabrication facility

287

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

5.2. Model and analysis Table 3 also shows the service time (hours/batch) for each tool set, arrival rates (items/month), and the ratio of arrival to service rates of Jan-00, Apr-00, Aug-00, and Dec-00 for all recipes. Although the arrival rates at the company are assumed constant in a given month, interarrival times (or time between item arrivals) may not be constant since these arrivals come from other upstream steps in the ows. Thus, Poisson arrivals seem to be reasonable. Service times are essentially constant but are assumed to be exponentially distributed in this analysis to account for unpredictable events, such as operator and tool availability, which may cause the service time to vary greatly. It is assumed that there is no yield loss during the process. We run our model with all combinations of batch sizes for most tool sets in table 3. For example, in SET1 all batch size combinations of RECIPE_A and RECIPE_B include (1, 1), (1, 2) ; . . . ; (6, 5) and (6, 6). Then, we determine the batch size that provides the minimum total expected cycle time. This method is called here as the Full Search (FS). According to table 3, there are up to 12 recipes for SET2 (only 10 recipes in Jan00) and up to nine recipes for SET7. With this many recipes, the Full Search approach (total evaluations of 612 and 69 batch size combinations for SET2 and SET7, respectively) is impractical to execute. As an example, for SET2 it would take up to 6000 hours to nd the optimum batch sizes using the analytical model. Therefore, a Genetic Algorithm (GA) is introduced to this optimization problem. Each chromosome represents a batch size combination and the number of genes in a chromosome is the number of recipes. For example, chromosome (1, 3, 3, 4, 1, 1, 4, 4, 1, 2, 3, 4) implies that recipe 1 has batch size of 1, recipe 2 has batch size of 3, and so on. The population size and total generations are 1000 and 200, respectively. These two numbers were obtained from trial and error. We experimented with di erent population sizes and number of generations for a given scenario, and ran the same setting multiple times to make sure that the batch size solutions do not vary much from one another. The following are steps for the GA method. Step 1. Create the rst generation of 1000 chromosomes using a random number generator. Step 2. Evaluate the objective function (described below) of each chromosome. Step 3. Reorder the chromosomes according to the best objective value. Step 4. If number of generations is <200, then go to Step 5. Otherwise, go to Step 6. Step 5. Create the next generation of 1000 chromosomes from: Step 5.1. Cloning (30%): use the best 300 chromosomes of the current generation as chromosomes in the next generation. Step 5.2. Breeding (60%): from the best 300 chromosomes, perform pairwise-crossover to reproduce 600 chromosomes for the next generation. Step 5.3. Mutation (10%): from the best 100 chromosomes, swap two (random) genes in each chromosome to create 100 new chromosomes for the next generation. Step 6. The GA solution is the best chromosome in the 200th generation.

288

J. W. Fowler et al.

The best chromosome in this study is the chromosome that gives the lowest value of the objective function. Cloning allows the best chromosomes to survive to the next generation. Breeding and mutation allow (optimistically) the creation of even better chromosomes from the current best chromosomes. We include the unfeasibility of a solution in the objective function. The objective function is, therefore, the summation of the total expected cycle time (W) and the sum of squares of unfeasibility. The unfeasibility takes place when the tra c intensity of the tool set >100%. We use a penalty method to generate feasible solutions. The model formulation is: minimize W unfeasibility2 ; where W
Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

W B W Q from Eq: 1; 1000 000; 0;

if %traffic intensity < 100% otherwise if %traffic intensity < 100% otherwise:

unfeasibility

%traffic intensity 100%

If the tra c intensity of the tool set > 100%, then W is automatically set to a very large value in Matlab code and the (unfeasibility)2 term is also very large. Thus, the chromosomes with an unfeasible solution are unlikely to survive to the next generation. Table 4 provides the optimum batch size, the corresponding optimum total expected cycle time for each recipe for each month and the methods used (FS and GA). Note that when using the FS method, we discovered that there is only one global optimum solution for these instances of this problem. The optimum batch sizes for SET1, SET3, SET4, SET5 and SET6 are obtained from both the FS and the GA methods. In all cases, both methods provide the same solution. For Aug-00 and Dec-00 of SET7, there are nine recipes and the FS method is no longer practical to execute. Therefore, we use only the GA for these last two months. Since there are up to 12 recipes for SET2, only the GA method is used to nd the optimum batch sizes. We observed the following. (1) Lower arrival rates for a product intuitively suggest smaller batch sizes, as shown in the cases of SET1 (Jan-00, Apr-00), SET5 (Jan-00, Apr-00), etc. However, this is not always true. As an example, for SET3 it is still optimal to use the same batch sizes in Apr-00 as those in Jan-00, although arrival rate of RECIPE_O is lower and arrival rate of RECIPE_P is higher in Apr00. (2) The ratio of arrival and service rates is a good predictor for optimal batch sizes. Higher arrival rates with longer service times (high ratio of arrival to service rates) suggest larger batch sizes. On the other hand, lower arrival rates with shorter service times suggest smaller batch sizes. This logical concept is obviously shown in the cases of SET1 (Jan-00, Apr-00), SET4 (Jan-00, Apr-00), etc. Again, it is not always true; for example, the cases of SET3 (Jan-00, Apr-00). (3) Execution times for the FS and the GA methods are given in gure 5. Owing to the capability of the computer system and the acceptable execution time, the FS method is reasonable for only up to eight recipes. The execution times

Optimal batching in a wafer fabrication facility


Optimum batch size Tool set SET1 Recipe Jan-00 Apr-00 1 5 9.581 1 1 1 1 1 5 5 3 5 2 10.238 2 3 7.920 1 6 2 2 14.787 1 4 8.825 1 1 3 2 4 1 1 8.974 2 2 4 6 2 2 5 2 14.068 Aug-00 2 6 9.695 2 1 1 1 1 6 6 3 6 1 1 2 10.639 2 4 7.860 2 6 3 3 1 16.087 1 4 8.882 1 1 4 2 5 2 1 1 9.387 2 2 4 6 3 3 2 6 2 14.674 Dec-00 2 6 9.887 2 2 2 2 2 6 7 4 6 3 3 2 11.710 3 5 8.122 2 6 4 4 3 18.035 1 5 9.068 1 1 5 3 5 2 1 2 10.272 2 2 6 6 3 5 4 6 2 16.717

289

Method FSy

RECIPE_A 1 RECIPE_B 4 Total expected cycle time (hours) 9.442 RECIPE_C RECIPE_D RECIPE_E RECIPE_F RECIPE_G RECIPE_H RECIPE_I RECIPE_J RECIPE_K RECIPE_L RECIPE_M RECIPE_N Total expected cycle time (hours) RECIPE_O RECIPE_P Total expected cycle time (hours) 1 1 1 1 1 4 5 3 4 1 9.818 2 3 8.011

SET2

GA

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

SET3

FSy

SET4

RECIPE_Q 1 RECIPE_R 5 RECIPE_S 1 RECIPE_T 1 RECIPE_U Total expected cycle time (hours) 13.203 RECIPE__V RECIPE_W Total expected cycle time (hours) RECIPE_X RECIPE_Y RECIPE_Z RECIPE_AA RECIPE_BB RECIPE_CC RECIPE_DD RECIPE_EE Total expected cycle time (hours) 1 3 9.700 1 1 2 2 3 1 1 8.349

FSy

SET5

FSy

SET6

FSy

SET7

RECIPE_FF 1 RECIPE_GG 1 RECIPE_HH 4 RECIPE_II 6 RECIPE_JJ 1 RECIPE_KK 1 RECIPE_LL RECIPE_MM 4 RECIPE_Y 1 Total expected cycle time (hours) 13.023

FS/GA

y Same solution obtained by GA.

Table 4.

Optimum solutions of recipes for Jan-00, Apr-00, Aug-00 and Dec-00.

290

J. W. Fowler et al.

FS v s. GA Execution Times
Execution Time (seconds) in Logarithm Scale

100000000 FS GA 100 FS Estim ated

100000

0.1

10

12

Number of Recipes

Figure 5. Comparison between FS and GA execution times on a logarithmic scale. Execution times of the FS method with more than eight recipes are estimations.
Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

of the FS for more than eight recipes are estimated and shown as a dashed line in gure 5. For tool sets with seven or fewer recipes, it is recommended to use the FS method, since its execution time is shorter than the GA and the solution is guaranteed to be a global optimum. When the number of recipes is eight or more, the FS method seems to be impractical to execute and, thus, it is necessary to use the GA method. (4) We simulate tool set SET5 for arrival rate of Jan-00 by using the FS method. There are two purposes of this experiment. First, we would like to conrm the optimal solutions obtained from our analytical model. Second, we would like to record the execution time of the simulation. The reason for selecting SET5 in our experiment is that the simulation study is still practical for all batch size combinations (i.e. in this case, there are two recipes and maximum batch size is six, therefore the total number of combinations is 36). As in section 4, simulation runs are terminated when 300 000 entities have left the system. A single replicate is performed for each batch size combination (a total of 36 simulation runs). The simulation suggests the same optimum batch size as our model (table 5) and each simulation run takes 16 s.
Optimum batch size for Jan-00 1 3 8.700 1 3 8.540

Method FS and GA by analytical model

Tool set SET5

Recipe RECIPE_V RECIPE_W Total expected cycle time (hours)

FS by simulation

SET5

RECIPE_V RECIPE_W Total expected cycle time (hours)

Table 5.

Comparison results between analytical and simulaiton models.

Optimal batching in a wafer fabrication facility


Execution time (min) Method Full Search with eight recipes Genetic algorithm with 12 recipes Analytical model 66.7 19.2 Simulation model{

291

447 898 (or 311 days) 53 333 (or 37 days)

y Estimated based on 16 s for one simulation run.

Table 6.

Execution time of analytical versus simulation models for Full Search and Genetic Algorithm approaches.

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011

(5) Table 6 compares the execution times of our model with those of a simulation model. Our analytical model only takes approximatel y 1/6715th (i.e. 66.7/447 898) the execution time of the simulation for the FS with eight recipes. Similarly, our model only takes 1/2778th (i.e. 19.2/53 333) the execution time of the simulation for the GA with 12 recipes. 6. Conclusions and future work We studied a queuing system having multiple products, multiple servers, batchprocessing with incompatible product and unequal batch service size, denoting it as G=Gbp =c. We derived the closed-form formulas to approximate the steady-state performance measures (cycle time and WIP) of this queue type. We then validated our formulas by comparing the results with those of discrete-event simulation. The comparison results are reasonable. In the equal batch size cases, the mean and SD of absolute percentage di erence between our model and simulation are 4.73 and 3.76%, respectively. One observed maximum absolute percentage di erence was 18%, but this happened in an impractical case for most manufacturing processes. In our unequal batch size experimentation, the mean and SD of absolute percentage di erences are 3.56 and 2.87%, respectively. Therefore, our analytical model provides acceptable approximation results for both equal and unequal batch sizes when compared with simulation. We then applied our model to solve an optimization problem of a major semiconductor manufacturer. There are seven di erent batch-processing tool sets and each set has a di erent number of products (or recipes) ranging from two to 12. The objective of this problem was to nd an optimum batch size for all recipes such that the total expected cycle time of any item is minimized. These optimum batch sizes can be used as the guideline in operating the tools. For tool sets with more than eight recipes, a Full Search (FS) is impractical to execute. Consequently, a Genetic Algorithm (GA) is implemented. By either the FS or the GA method, the execution time is still thousands of times faster than generating the corresponding simulation study. We suggest one possibility for future work. The e ects of changes in batch service sizes on the variance of the total cycle time need to be further investigated. This means we approximate not only the expected total cycle time, but also its variance. Model validation of this variance approximation is also needed in the future work. Acknowledgement John Fowler was partially supported by National Science Foundation Grant DMI-971375 0 and Semiconductor Research Corporation Grant 97-FJ-492. The

292

Optimal batching in a wafer fabrication facility

authors would like to thank Larry Farey and his company, LSI Logic, for supporting this research and providing the data used in the case study.

References
Bitran, G. R. and Tirupati, D., 1989, Approximations for product departures from a single-server station with batch processing in multi-product queues. Management Science, 35, 851878. Briere, G. and Chaudhry, M. L., 1989, Computational analysis of single-server bulk service queues, M/G(y)/1. Advanced Applied Probability, 21, 207225. Chaudhry, M. L. and Templeton, J. G. C., 1983, A First Course in Bulk Queues (New York: Wiley). Cheng, T. C. E., Chen, z. L., Kovalyov, M. Y. and Lin, B. M. T., 1996, Parallel-machine batching and scheduling to minimize total completion time. IIE Transactions on Scheduling and Logistics, 28, 953956. Ching, C. Y., Liao, C. J. and Wu, C. J., 1997, Batching to minimize total production time for two part types. International Journal of Production Economics, 48, 6372. Design Expert, 1997, Version 5 (Stat-Ease Corporation). Fowler, J. W., Hogg, G. L. and Phillips, D. T., 2000, Control of multiproduct bulk server di usion/oxidation processes part two: multiple servers. IIE Transactions on Scheduling and Logistics, 32, 167176. Fowler, J. W., Phillips, D. T. and Hogg, G. L., 1992, Real-time control of multiproduct bulk-service semiconductor manufacturing processes. IIE Transactions on Scheduling and Logistics, 5, 158163. Gelenbe, E. and Pjolle, G., 1998, Introduction to Queuing Networks, 2nd edn (New York: Wiley). Glassey, R. C. and Weng, W. W., 1991, Dynamic batching heuristic for simultaneous processing. IEEE Transactions on Semiconductor Manufacturing, 4, 7782. Gross, D. and Harris, C. M., 1998, Fundamentals of Queuing Theory, 2nd edn (New York: Wiley). Gurnani, H., Anupindi, R. and Akella, R., 1992, Control of batch processing systems in semiconductor wafer fabrication facilities. IEEE Transactions on Semiconductor Manufacturing, 5, 319328. He, Q. M. and Jewkes, E., 1997, Flow time distributions in queues with customer batching and setup times. Infor, 35, 7691. Hochbaum, D. S. and Landy, D., 1997, Scheduling with batching: two job types. Discrete Applied Mathematics, 72, 99114. Hopp, W. J. and Spearman, M. L., 1996, Factory Physics, Foundations of Manufacturing Management (Irwin). Jayaraman, D., Nadarajan, R. and Sitrarasu, M. R., 1994, A general bulk service queue with arrival rate dependent on server breakdown. Applied Mathematical Modeling, 18, 156160. Matlab, 1999, Verson 5.3.0 (MathWorks, Inc.). Montgomery, D. C., 1997, Design and Analysis of Experiments, 4th edn (New York: Wiley). Phojanamongkolkij, N., 2000, Analytical models of batch processing for optimal design of semiconductor manufacturing. PhD dissertation, Arizona State University, Tempe. Whitt, W., 1983, The queuing network analyzer. Bell System Technical Journal, 62, 2779 2815.

Downloaded By: [Universit de Neuchtel] At: 21:35 22 March 2011