Method to maximize capacity in IC fabrication5950170Abstract A method to maximize throughput of a group of multi-process machines whereby the number of each kind machine is determined. Then, the machine assignment of each machine is assigned a variable. Next, the throughput definition for each machine is calculated from a database of past production runs. Next, the capacity of each process is calculated. Then, the constraints of the machine assignment variables are determined. A linear programming model is then derived for the system. The linear programming model is then executed under the constraints to determine optimal machine assignments to maximize the capacity of the minimum capacity process. Claims The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows: Description FIELD OF THE INVENTION
TABLE 1
______________________________________
machine machine machine machine
type 1 type 2 type 3 . . .
type m
______________________________________
process 1
M.sub.11 M.sub.21
M.sub.31
. . .
M.sub.m1
process 2
M.sub.12 M.sub.22
M.sub.32
. . .
M.sub.m2
. . . . . . . . . . . . . . .
. . .
process p
M.sub.1p M.sub.2p
M.sub.3p
. . .
M.sub.mp
______________________________________
Those skilled in the art will appreciate that the variable Mij is constrained to be greater than or equal to zero. In a next step 104, the throughput definition Tij of each machine type for each process is determined, where Tij represents the throughput of the ith machine type performing the jth process. The throughput definition Tij is determined from the past throughput performance of each machine type for each process. In this embodiment, a database 106 that stores the throughput of past production runs of each machine for each process is accessed during the step 104 to determine the throughput definition of each machine type for each process. Of course, if the ith machine type is not capable of performing the jth process, the throughput definition Tij is equal to zero. The throughput definition of the m machine types and p processes is listed in TABLE 2.
TABLE 2
______________________________________
machine machine machine machine
type 1 type 2 type 3 . . .
type m
______________________________________
process 1
T.sub.11 T.sub.21
T.sub.31
. . .
T.sub.m1
process 2
T.sub.12 T.sub.22
T.sub.32
. . .
T.sub.m2
. . . . . . . . . . . . . . .
. . .
process p
T.sub.1p T.sub.2p
T.sub.3p
. . .
T.sub.mp
______________________________________
Next, in step 108, the capacity of each machine type performing each process is calculated by using Mij*Tij. Thus, the capacity Ej of jth process is calculated by equation 1 below. ##EQU3## The smallest or minimum value of Ej represents the "bottleneck" that limits the capacity or throughput of the group of machines. Next, the constraints of the modeling method are determined in a step 110. Because a single machine has a total throughput percentage of 100% or 1, the sum of the throughput percentages of the ith machine type for all j processes must be equal to the number of machines of the ith machine type. This constraint is listed below in mathematical form as equation 2. ##EQU4## In addition, the throughput percentage of the ith machine type performing the jth process must be non-negative. That is, the machine(s) of the ith machine type either perform the process (so the throughput percentage will be a positive value) or does not perform the process (so the throughput percentage is zero). This constraint is listed below in mathematical form as equation 3. ##EQU5## Once the constraints are determined, standard linear programming techniques are used in a step 112 to build a linear programming model for the throughput of the group of machines. For example, the linear programming technique disclosed in "Linear programming in single and multiple-objective system", Prentice Hall press, 1982, is used in this embodiment, although any suitable linear programming technique can be used in other embodiments. The objective of the linear programming model is to maximize the smallest or minimum value of Ej (see equation 1) of the j processes under the constraints of equations 2 and 3. In light of this disclosure, those skilled in the art can program a workstation or standard personal computer to perform the linear programming technique without undue experimentation. In this embodiment, a 486-66 based computer is used to perform the linear programming technique. Then in a step 114, the linear programming technique is executed to find an optimal machine assignment for maximizing the throughput or capacity of the group of machines. FIG. 2 is a block diagram of the group of machines 400 illustrating the application of the modeling and assignment method described above in conjunction with FIG. 1. Machine(s) 402.sub.1 are a group of one or more machines (i.e., N.sub.1) of a first type. For example, the first type of machine may be model Etcher machines available from etching process. Similarly, machines 402.sub.2 -402.sub.m are groups of one or more machines of the second through mth machine types, respectively. In this example, wafers are provided to the group of machines 400 for undergoing processes one through p. Wafers 404.sub.1 are wafers to undergo the first process. Similarly, wafers 404.sub.2 through 402.sub.p are to undergo the second through pth process. As shown in FIG. 2, the wafers 404.sub.2 -404.sub.p, in general, are distributed to the machines 402.sub.1 -402.sub.m, in which the wafers undergo the desired processes. Each machine of the ith machine type then performs the jth process on the appropriately received wafers according to the throughput percentage Mij as determined in accordance with this embodiment of the present invention. For example, the machines 402.sub.1 perform those of the first through pth processes according to the capacity percentage M.sub.11 -M.sub.1p. Of course, those of the p processes that the machines 402.sub.1 cannot perform will have an assignment of zero. The throughput of the ith machine type for the jth is then Mij*Tij. Accordingly, the jth process has a total throughput Ej from the group of machines 400 equal to the sum of the throughputs of the machines 402.sub.1 -402.sub.m for the jth process. The value of Ej is calculated using equation 1. As described above in conjunction with FIG. 1, this embodiment of the present invention determines optimal values of the assignments M.sub.11 -M.sub.1p to maximize the minimum value of Ej (i.e., the "bottleneck" process). Of course, maximizing the bottleneck process tends to maximize the throughput of the group of machines 400. An example of this embodiment of the present invention is described below in conjunction with FIG. 1. In this example, there are three etching to be performed by a group of four machines of different types. Thus, in the step 101, the number Ni of each type of machine is equal to one (i.e., N.sub.1 =N.sub.2 =N.sub.3 =N.sub.4 =1). Next, the step 102 is performed to assign variables Mij for the throughput percentage for each machine. In this example, the first process is for SiN etching. The second process is for tetraethylorthosilicate (TEOS) etching. The third process is for spacer etching. Further, in this example, the first machine (i.e., etcher A) can perform the SiN and spacer etching processes but not the TEOS etching process. The second machine (i.e., etcher B) can perform the SiN and TEOS etching processes but not the spacer etching process. The third and fourth machines (i.e., etchers C and D) can perform the TEOS and spacer etching processes but not the SiN process. The assignment is listed below in TABLE 3.
TABLE 3
______________________________________
etcher A
etcher B etcher C
etcher D
______________________________________
SiN etching
M.sub.11 M.sub.21 M.sub.31
M.sub.41
TEOS etching
M.sub.12 M.sub.22 M.sub.32
M.sub.42
spacer etching
M.sub.13 M.sub.23 M.sub.33
M.sub.43
______________________________________
However, due to the limitations of the various machines, the values of some of M.sub.12, M.sub.23, M.sub.31 and M.sub.41 are set to zero (i.e., M.sub.12 =M.sub.23 =M.sub.31 =M.sub.41 =0). Then, in the step 104, the throughput definition Tij of each etcher for these etching processes are determined using the information provided by the database 106. In this example, the Tij for each process and machine is listed in TABLE 4. The values shown in the TABLE 4 are wafers/hour.
TABLE 4
______________________________________
etcher A
etcher B etcher C
etcher D
______________________________________
SiN etching
100 100 0 0
TEOS etching
0 150 150 150
spacer etching
200 0 200 200
______________________________________
Next, in the step 108, the capacity of each etching process is calculated by using equation 1. The capacity of each etching process is listed below in TABLE 5.
TABLE 5
______________________________________
Process Capacity or throughput
______________________________________
SiN etching E.sub.1 = M.sub.11 *100 + M.sub.21 *100
TEOS etching E.sub.2 = M.sub.22 *150 + M.sub.32 *150 + M.sub.42 *200
Spacer etching
E.sub.3 = M.sub.13 *200 + M.sub.33 *200 + M.sub.43 *200
______________________________________
Next, the step 110 is performed to determine the constraints on the model. Using equation 2, one set of constraints is listed in TABLE 6.
TABLE 6
______________________________________
Machine Type Equation 2 Constraints
______________________________________
Etcher A M.sub.11 + M.sub.12 + M.sub.13 = 1
Etcher B M.sub.21 + M.sub.22 + M.sub.23 = 1
Etcher C M.sub.31 + M.sub.32 + M.sub.33 = 1
Etcher D M.sub.41 + M.sub.42 + M.sub.43 = 1
______________________________________
Using equation 3, the constraints are M.sub.12 =M.sub.23 =M.sub.31 =M.sub.41 =0, with the remaining percentage throughput variables being greater than or equal to zero. In the step 112, the linear programming model is built up. The constraints, throughput definitions, and equations for Ej are programmed in to the aforementioned 486-66 computer, along with the linear programming technique. Then in the step 114, the linear programming technique is executed to determine optimal machine assignments to maximize the capacity of the machines. The calculated values of Mij are listed below in TABLE 7. Using this machine assignment, the total capacity of the machines could reach about 185 wafers.
TABLE 7
______________________________________
M.sub.11 = 0.938
M.sub.21 = 0.908
M.sub.31 = 0
M.sub.41 = 0
M.sub.12 = 0
M.sub.22 = 0.092
M.sub.32 = 0.569
M.sub.42 = 0.569
M.sub.13 = 0.062
M.sub.23 = 0
M.sub.33 = 0.431
M.sub.43 = 0.431
______________________________________
As is understood by a person skilled in the art, the foregoing described embodiments of the present invention are illustrative of the present invention rather than limiting. Instead, the present invention is intended to cover various modifications and similar arrangements. Accordingly, while the preferred embodiment of the invention has been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the present invention.
|
Same subclass Same class |
||||||||||
